.kpdl{--kpdl-green:var(--e-global-color-accent,#4a812b);--kpdl-ink:#303730;--kpdl-surface:#fff;--kpdl-muted:#667066;--kpdl-line:#e9eee6;--kpdl-city:#47752f;--kpdl-tag:#f0f5ed;--kpdl-sale:#a60000;--kpdl-sold:#737373;--kpdl-disabled:#e4e7e2;--kpdl-disabled-ink:#626962;color-scheme:light;font-family:"Montserrat",Arial,sans-serif;color:var(--kpdl-ink);width:100%}
.kpdl *{box-sizing:border-box}
.kpdl-grid{--kpdl-columns:3;--kpdl-gap:28px;position:relative;display:flex;gap:var(--kpdl-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:8px;overscroll-behavior-x:contain;padding:8px;margin:-8px;scrollbar-width:thin}
.kpdl--grid .kpdl-grid{display:grid;grid-template-columns:repeat(var(--kpdl-columns),minmax(0,1fr));overflow:visible;scroll-snap-type:none;row-gap:32px}
.kpdl-has-carousel .kpdl-grid{scrollbar-width:none}
.kpdl-has-carousel .kpdl-grid::-webkit-scrollbar{display:none}
.kpdl-grid:focus-visible{outline:2px solid var(--kpdl-green);outline-offset:4px;border-radius:20px}
.kpdl-card{flex:0 0 calc((100% - (var(--kpdl-columns) - 1)*var(--kpdl-gap))/var(--kpdl-columns));scroll-snap-align:start;min-width:0;overflow:hidden;border-radius:22px;background:var(--kpdl-surface);box-shadow:0 4px 18px #0002;display:flex;flex-direction:column}
.kpdl-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:20px}
.kpdl .kpdl-controls[hidden]{display:none}
.kpdl .kpdl-controls button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;margin:0;padding:0;border:1px solid var(--kpdl-green);border-radius:50%;background:var(--kpdl-surface);color:var(--kpdl-green);font-family:inherit;font-size:25px;line-height:1;cursor:pointer;box-shadow:none;transition:background .15s ease,color .15s ease}
.kpdl .kpdl-controls button:hover:not(:disabled){background:var(--kpdl-green);color:#fff}
.kpdl .kpdl-controls button:disabled{opacity:.35;cursor:default}
.kpdl .kpdl-controls button:focus-visible{outline:3px solid #253d18;outline-offset:3px}
.kpdl-counter{min-width:72px;text-align:center;font-size:12px;font-weight:600;color:var(--kpdl-muted);font-variant-numeric:tabular-nums}
.kpdl-photo{position:relative;aspect-ratio:4/3;background:#f4f4ef;overflow:hidden}
.kpdl .kpdl-photo img{display:block;width:100%;height:100%;object-fit:contain;margin:0;border:0;border-radius:0}
.kpdl-no-photo{height:100%;display:grid;place-content:center;text-align:center;color:#438f3c;font-size:22px;font-weight:700;padding:24px}
.kpdl .kpdl-date{position:absolute;right:12px;top:16px;width:86px;padding:0 0 5px;background:#fff;border-radius:7px;color:#303730;line-height:1.2;font-weight:700;text-align:center;box-shadow:0 3px 8px #0003}
.kpdl .kpdl-date::before,.kpdl .kpdl-date::after{content:"";position:absolute;top:-4px;width:4px;height:10px;background:#626262;border-radius:3px;box-shadow:1px 0 0 #fff6}
.kpdl .kpdl-date::before{left:17px}.kpdl .kpdl-date::after{right:17px}
.kpdl .kpdl-month{display:block;padding:7px 2px 4px;border-radius:7px 7px 0 0;background:#a60000;color:#fff;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none}
.kpdl .kpdl-day{display:block;padding-top:3px;font-size:30px;font-weight:800;line-height:1.05}
.kpdl .kpdl-year{display:block;font-size:11px;font-weight:500;color:#646464;line-height:1.3;margin-top:2px}
.kpdl-body{display:flex;flex-direction:column;flex:1;padding:24px 22px 22px}
.kpdl-context{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}
.kpdl .kpdl-city{display:flex;align-items:center;gap:6px;margin:0;padding:0;color:var(--kpdl-city);font-family:inherit;font-size:12px;font-weight:700;line-height:1.4}
.kpdl .kpdl-icon{display:inline-block;flex:0 0 16px;width:16px;height:16px;vertical-align:middle}
.kpdl .kpdl-weekday{padding:5px 9px;border-radius:8px;background:var(--kpdl-tag);color:var(--kpdl-city);font-family:inherit;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}
.kpdl .kpdl-date-unavailable{margin:0 0 16px;padding:0;color:var(--kpdl-muted);font-size:12px;line-height:1.4}
.kpdl .kpdl-title{font-family:inherit;font-size:22px;line-height:1.3;font-weight:700;text-transform:none;color:var(--kpdl-ink);margin:0 0 24px;padding:0;overflow-wrap:anywhere}
.kpdl .kpdl-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:auto 0 18px;padding:0 0 20px;border-bottom:1px solid var(--kpdl-line)}
.kpdl-meta>div{min-width:0}
.kpdl .kpdl-meta dt{display:flex;align-items:center;gap:6px;font-family:inherit;color:var(--kpdl-muted);font-size:12px;font-weight:500;line-height:1.3;margin:0 0 6px;padding:0}
.kpdl .kpdl-meta dd{font-family:inherit;color:var(--kpdl-ink);font-size:18px;font-weight:700;line-height:1.35;margin:0;padding:0 0 0 22px;overflow-wrap:anywhere}
.kpdl .kpdl-meta>div:nth-child(-n+2) dd{font-weight:700}
.kpdl .kpdl-meta>div:last-child{text-align:left}
.kpdl .kpdl-meta>div:last-child dd{font-weight:700}
.kpdl .kpdl-low-stock{align-self:flex-start;margin:-4px 0 16px;padding:7px 10px;border-radius:9px;background:#fff1ee;color:#a60000;font-size:12px;font-weight:700;line-height:1.35}
.kpdl-footer{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}
.kpdl-price{flex:1 1 116px;min-width:max-content}
.kpdl .kpdl-promotion-label,.kpdl .kpdl-price-label{display:block;margin:0 0 4px;color:var(--kpdl-sale);font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.35px;text-transform:uppercase}
.kpdl .kpdl-price-label{color:var(--kpdl-muted)}
.kpdl-price-line{display:flex;align-items:baseline;flex-wrap:nowrap;gap:8px;white-space:nowrap}
.kpdl .kpdl-price-regular{color:var(--kpdl-muted);font-size:13px;font-weight:500;line-height:1.4;text-decoration:line-through;overflow-wrap:anywhere}
.kpdl .kpdl-price-sale,.kpdl .kpdl-price-amount{display:block;margin:0;color:var(--kpdl-sale);font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.5px;overflow-wrap:anywhere}
.kpdl .kpdl-price-amount{color:var(--kpdl-ink);font-size:27px}
.kpdl .kpdl-price-unit{font-size:18px;font-weight:700;letter-spacing:0;white-space:nowrap}
.kpdl a.kpdl-buy,.kpdl button.kpdl-buy{display:flex;justify-content:center;align-items:center;gap:10px;min-height:46px;margin:0;padding:12px 14px;border-radius:13px;background:var(--kpdl-green);color:white;text-decoration:none;font-family:inherit;text-transform:uppercase;font-size:13px;font-weight:700;line-height:1.3;border:0;box-shadow:none;transition:filter .15s ease}
.kpdl .kpdl-footer .kpdl-buy{flex:1 0 138px;min-width:138px;width:auto}
.kpdl a.kpdl-buy:hover{filter:brightness(.88);color:white}
.kpdl a.kpdl-buy:focus-visible{outline:3px solid #253d18;outline-offset:4px}
.kpdl a.kpdl-buy span{font-size:22px;line-height:1}
.kpdl-card--sold-out .kpdl-photo::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(224,224,224,.58);pointer-events:none}
.kpdl-card--sold-out .kpdl-photo img{filter:grayscale(1)}
.kpdl .kpdl-sold-out-ribbon{position:absolute;left:-52px;top:34px;z-index:2;display:block;width:208px;padding:9px 0;transform:rotate(-38deg);background:#ba1717;color:#fff;text-align:center;font-family:inherit;font-size:13px;font-weight:800;line-height:1.3;letter-spacing:.7px;white-space:nowrap;box-shadow:0 2px 5px #0003;pointer-events:none}
.kpdl-card--sold-out .kpdl-date{z-index:3}
.kpdl .kpdl-card--sold-out .kpdl-price-amount,.kpdl .kpdl-card--sold-out .kpdl-price-regular,.kpdl .kpdl-card--sold-out .kpdl-price-sale,.kpdl .kpdl-card--sold-out .kpdl-promotion-label{color:var(--kpdl-sold)}
.kpdl .kpdl-card--sold-out button.kpdl-buy:disabled{background:var(--kpdl-disabled);color:var(--kpdl-disabled-ink);opacity:1;cursor:not-allowed;filter:none;white-space:normal}
.kpdl-empty{padding:24px;border-radius:20px;background:var(--kpdl-surface);text-align:center}
.kpdl-empty p{margin:0 0 16px}.kpdl-empty .kpdl-buy{max-width:280px;margin:auto}
@media(max-width:1024px){.kpdl-grid{--kpdl-columns:2;--kpdl-gap:22px}}
@media(max-width:767px){.kpdl-grid{--kpdl-columns:1;--kpdl-gap:24px}.kpdl-body{padding:22px 20px 20px}.kpdl .kpdl-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){.kpdl a.kpdl-buy,.kpdl .kpdl-controls button{transition:none}}
