/* Catalog: packshot-to-content reveal, following the supplied Partake reference. */
#products{background:#fff7e9;padding:74px 5% 80px;overflow:visible}
#products .section-heading{align-items:center;margin-bottom:26px}
#products .section-heading h2{font-size:clamp(46px,6vw,82px);line-height:.94}
.catalog-offer{transform:rotate(-3deg);background:#f5d76c;border:2px solid #351623;border-radius:15px;box-shadow:4px 4px 0 #351623;padding:18px 22px;max-width:310px;color:#351623}
.catalog-offer strong{display:block;font-size:21px;font-weight:850;letter-spacing:-.035em}.catalog-offer>span{display:block;font-size:12px;line-height:1.5;margin-top:7px}
.catalog-reveal-hint{font-size:11px;margin:28px 0 22px;opacity:.7}.touch-hint{display:none}
#products .product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,40px);align-items:start;padding:10px 0 16px}
#products .product-card{--card-bg:#f3bfd4;--card-ink:#84294f;display:flex;flex-direction:column;border:0;border-radius:22px;background:var(--card-bg);overflow:hidden;transform-origin:center;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;box-shadow:none}
#products .chicken-card{--card-bg:#f8df78;--card-ink:#854618}#products .thigh-card{--card-bg:#ed965e;--card-ink:#6c2919}
#products .product-card.is-revealed{transform:translateY(-8px) rotate(3deg);box-shadow:6px 6px 0 var(--card-ink)}
#products .catalog-media{position:relative;display:block;aspect-ratio:1/1.12;width:100%;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden;cursor:pointer;color:var(--card-ink)}
#products .catalog-packshot{position:absolute;inset:0;width:100%;max-width:none;height:100%;margin:0;background-size:contain;background-position:center;background-repeat:no-repeat;transform:scale(.78);transition:opacity .23s ease,transform .4s ease;filter:drop-shadow(0 7px 4px #35162310)}
.catalog-inside{position:absolute;inset:0;display:block;opacity:0;transition:opacity .23s ease;pointer-events:none}
.catalog-inside-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center 57%}
#products .is-revealed .catalog-packshot{opacity:0;transform:scale(.83)}#products .is-revealed .catalog-inside{opacity:1}
.catalog-photo-note{position:absolute;bottom:12px;left:12px;background:#fff7e9ed;color:#351623;font-size:9px;border-radius:20px;padding:6px 9px}
.catalog-tap-label{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:20px;background:#fff7e9d9;font-size:10px;color:#351623;z-index:2}
.catalog-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:13px;background:#fff7e975;color:var(--card-ink);padding:20px;box-sizing:border-box}
.catalog-photo-placeholder strong{font-size:21px;line-height:1.1}.catalog-photo-placeholder>span:last-child{font-size:12px;line-height:1.5;text-align:center}
.photo-can-outline{display:block;width:84px;height:84px;border:3px solid currentColor;outline:1px solid currentColor;outline-offset:6px;border-radius:50%;opacity:.4;margin-bottom:10px}
#products .product-info{padding:28px 22px 24px;display:flex;flex-direction:column;flex:1;color:var(--card-ink);text-align:center}
#products .product-info h3{font-size:clamp(26px,2.9vw,44px);font-weight:850;line-height:.98;margin:0 0 15px;min-height:2em;letter-spacing:-.055em;display:flex;align-items:center;justify-content:center}
#products .product-description{font-size:12px;line-height:1.6;min-height:40px;margin:0 0 23px;color:#351623}
#products .product-bottom{margin-top:auto;padding:0;display:flex;flex-direction:column;gap:15px;align-items:stretch}
.catalog-price{display:flex;align-items:center;justify-content:center;gap:10px;color:#351623}.catalog-price strong{font-size:19px!important}.catalog-price small{font-size:11px;opacity:.7}
#products .product-bottom .button{min-height:47px;padding:12px 15px;font-size:13px;background:var(--card-ink);color:#fff7e9;width:100%;box-shadow:none;display:flex;align-items:center;justify-content:center;gap:13px}
.catalog-composition{margin-top:15px;font-size:11px;line-height:1.6;color:#351623}.catalog-composition summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:5px 0}.catalog-composition p{padding-top:10px;font-size:11px;line-height:1.6;text-align:left}
#products button:focus-visible{outline:3px solid #351623;outline-offset:-5px}
@media(max-width:900px){#products .product-grid{gap:18px}#products .product-info{padding:23px 15px}#products .product-info h3{font-size:28px}#products .product-description{min-height:58px}.catalog-offer{padding:15px 18px;max-width:255px}.catalog-offer strong{font-size:19px}.catalog-photo-note{bottom:44px}}
@media(max-width:700px){#products{padding:50px 6% 60px}#products .section-heading{display:block}#products .section-heading h2{font-size:55px}.catalog-offer{margin:28px 0 0;max-width:300px;display:inline-block;transform:rotate(-2deg)}.catalog-reveal-hint{margin-top:30px;font-size:10px}#products .product-grid{grid-template-columns:1fr;gap:30px;max-width:430px;margin:0 auto}#products .catalog-media{aspect-ratio:1.12}#products .product-info{padding:24px}#products .product-info h3{font-size:35px;min-height:0;margin-bottom:12px}#products .product-description{min-height:0;margin-bottom:19px}#products .product-bottom{flex-direction:row;align-items:center;gap:15px}.catalog-price{align-items:flex-start;flex-direction:column;gap:4px;flex-shrink:0}#products .product-bottom .button{flex:1;width:auto}.catalog-composition{text-align:left}.catalog-photo-note{bottom:12px}#products .product-card.is-revealed{transform:rotate(1.5deg);box-shadow:4px 4px 0 var(--card-ink)}}
@media(hover:none){.pointer-hint{display:none}.touch-hint{display:inline}}
.cart-discounts{background:#f9eedc;border:1px solid #35162320;border-radius:16px;padding:18px;margin:24px 0}
.cart-discount-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}.cart-discount-heading>span{font-size:11px}
.cart-discount-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:20px}
.cart-discount-steps>div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;background:#fff9ee;border:1px solid #35162322;border-radius:10px}
.cart-discount-steps b{font-size:18px}.cart-discount-steps span{font-size:10px}.cart-discount-steps .is-reached{background:#351623;color:#fff4df}
.cart-discount-track{height:6px;border-radius:6px;overflow:hidden;background:#35162317;margin-top:12px}.cart-discount-track i{display:block;height:100%;background:#ce5927;transition:width .25s}
#cart-next-tier{font-size:12px;line-height:1.5;margin:12px 0 0}.cart-savings{font-size:12px;line-height:1.6;color:#6e344b}.cart-empty{font-size:14px;padding:12px 0;line-height:1.6}
.dialog-lines>div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.cart-line-controls{display:flex;gap:7px;grid-column:1/-1;justify-content:flex-end}.cart-line-controls button{background:#351623;color:#fff4df;border-radius:8px;width:38px;height:36px;font-size:20px}.cart-line-controls button:disabled{opacity:.3}
#copy-order:disabled{opacity:.4;cursor:default}.order-status[hidden],.message-label[hidden],#order-message[hidden]{display:none}

@media(max-width:700px){.cart-discounts{padding:14px}.cart-discount-heading{font-size:12px}.cart-discount-steps{gap:5px}.cart-discount-steps b{font-size:16px}.cart-discount-steps span{font-size:9px}.dialog-lines>div>strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){#products .product-card,#products .catalog-packshot,.catalog-inside,.cart-discount-track i{transition:none}#products .product-card.is-revealed{transform:none}}
#products .catalog-packshot.pork{background-image:url('assets/pork-front-v4.lossless.webp')}
#products .catalog-packshot.chicken{background-image:url('assets/chicken-front-v4.lossless.webp')}
#products .catalog-packshot.thigh{background-image:url('assets/thigh-front-original.svg')}
#products .product-info{background:var(--card-bg)}
