/* Portable menu cards and product template. Brand tokens inherited from da-tv.css. */
.carte-product{position:relative}
.carte-product figcaption{position:static}
.product-detail-link{color:inherit;text-decoration:none}
.product-detail-link::after{content:"";position:absolute;inset:0;z-index:1}
.carte-product:focus-within{outline:3px solid var(--brand-orange);outline-offset:4px}
.product-discover{display:inline-block;margin-top:14px;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:#ffb668;border-bottom:1px solid currentColor;padding-bottom:3px}
.carte-drink-row a{text-underline-offset:5px;text-decoration-thickness:1px}
.product-page{background:var(--brand-ink);color:var(--ivory);padding-top:122px;padding-bottom:80px}
.product-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:14px;line-height:1.5;color:#b9c8b9;padding:24px 0 34px}
.product-breadcrumb a{text-decoration:none;color:#e1e9db}
.product-breadcrumb a:hover{text-decoration:underline;text-underline-offset:5px}
.product-breadcrumb [aria-current]{color:#ffb668}
.product-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.product-photo{background:#173f25;border:1px solid #31583d;overflow:hidden}
.product-photo img{display:block;width:100%;height:auto;object-fit:contain}
.product-copy{padding-block:16px;min-width:0}
.product-copy .eyebrow{color:#f1bb71;margin:0 0 24px}
.da-tv .product-copy h1{font-size:clamp(40px,4.7vw,76px);line-height:1.05;letter-spacing:0;text-transform:uppercase;color:var(--ivory);margin:0 0 25px;overflow-wrap:anywhere}
.product-description{font-size:18px;line-height:1.75;color:#dbe1d6;margin:0 0 28px;max-width:54ch}
.product-offer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;border-top:1px solid #35513b;border-bottom:1px solid #35513b;padding:18px 0;margin-bottom:28px}
.product-offer strong{font:700 36px/1.1 var(--serif);color:#ffb668;text-transform:uppercase}
.product-offer span{font-size:14px;color:#dbe1d6}
.product-actions{display:flex;gap:12px;flex-wrap:wrap}
.product-actions .button{min-height:54px;padding:18px 27px}
.product-formulas{display:inline-block;color:#f1bb71;text-underline-offset:6px;margin-top:22px;font-size:15px}
.product-service{font-size:14px;line-height:1.7;color:#b9c8b9;margin-top:25px;max-width:53ch}
.product-page a:focus-visible{outline:3px solid #ffb668;outline-offset:5px}
.product-type-panel{min-height:440px;background:var(--forest) url('/assets/o3-brand-texture.webp') center/cover;padding:42px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;border:1px solid #35513b}
.product-type-panel p{font:700 clamp(42px,5vw,74px)/1.05 var(--serif);text-transform:uppercase;margin:0}
.product-type-panel em{color:#ffb668}
.product-type-panel>span{font-size:14px;color:#f1bb71}
.product-delivery-terms{font-size:14px;line-height:1.6;color:#dbe1d6}
@media(max-width:950px){.product-layout{gap:30px}.product-description{font-size:16px}.product-details{gap:30px}.product-type-panel{padding:28px;min-height:350px}}
@media(max-width:650px){.product-page{padding-top:86px;padding-bottom:50px}.product-breadcrumb{padding:18px 0 24px;font-size:13px;gap:8px}.product-layout{grid-template-columns:1fr;gap:22px}.product-photo img{height:auto}.product-copy{padding:0}.product-copy .eyebrow{margin-bottom:18px}.da-tv .product-copy h1{font-size:42px;margin-bottom:18px}.product-description{margin-bottom:22px}.product-offer{margin-bottom:22px}.product-actions .button{width:100%;justify-content:center}.product-details{grid-template-columns:1fr;gap:28px;margin-top:32px;padding:28px 0}.product-related{grid-template-columns:1fr}.product-related a{padding:22px}.product-more{padding-top:34px}.product-type-panel{min-height:270px}.product-type-panel p{font-size:42px}.product-service{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.product-related a{transition:none}.product-related a:hover{transform:none}}

.da-tv .product-actions .product-reserve{background:var(--brand-orange);color:#17190e;border-color:var(--brand-orange)}
.da-tv .product-actions .product-reserve:hover{background:#ffb052;color:#17190e}
.product-layout{align-items:start}
.product-photo{margin-top:18px}
.product-origin{display:flex;flex-wrap:wrap;gap:6px 15px;color:#f1bb71;font-size:15px;line-height:1.6;margin:0 0 22px}
.product-origin span{color:#b9c8b9}
.product-copy h1{margin-bottom:18px!important}
.product-description{font-size:17px;line-height:1.8;margin-bottom:24px}
.product-ingredients{margin-bottom:26px}
.da-tv .product-ingredients h2{font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;text-transform:none;color:#b9c8b9;margin:0 0 10px}
.product-ingredients ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.product-ingredients li{font-size:14px;line-height:1.5;padding:7px 11px;background:#183323;border:1px solid #35513b;color:#eee7d8}
.product-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.da-tv .product-actions .button{width:100%;height:100%;min-height:64px;padding:16px 14px;text-align:center;justify-content:center;font-size:13px;letter-spacing:.02em;line-height:1.5}
.da-tv .product-actions .product-delivery{background:transparent;color:#fff1d9;border:1px solid #e69d50}
.da-tv .product-actions .product-delivery:hover{background:#21482d}
.product-delivery-note{color:#b9c8b9;font-size:13px;line-height:1.7;margin:15px 0 0}
@media(max-width:650px){.product-photo{margin-top:0}.product-description{font-size:16px}.product-origin{font-size:14px;margin-bottom:18px}.product-page{padding-bottom:42px}.product-actions{gap:10px}.da-tv .product-actions .button{font-size:12px;padding:14px 9px;min-height:74px}}

.carte-extra-heading{margin:clamp(2.4rem,5vw,4rem) 0 1.4rem;padding-top:1.5rem;border-top:1px solid currentColor}
.carte-extra-heading h4{margin:0 0 .4rem;font:600 clamp(1.5rem,2.6vw,2rem) var(--serif)}
.carte-extra-heading p{max-width:55ch;margin:0;line-height:1.55;opacity:.78}
.carte-product-price{white-space:normal;text-align:right}
@media(max-width:600px){.carte-extra-heading{margin-top:2rem}.carte-product-price{font-size:.95rem;line-height:1.2}}
