/* Product-only layout. Existing CMS keys and bottle cutouts stay intact. */
.product-body .product-page{column-gap:clamp(30px,5vw,68px);padding-bottom:48px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:min-content 1fr;row-gap:16px}
.product-body .product-heading{padding-top:18px}
.product-body .product-visual{aspect-ratio:auto;height:560px;max-height:72vh;top:100px}
.product-body .product-info{padding-bottom:0}
.product-body .product-price-row{margin:0;padding:18px 0;border-top:0}
.product-body .big-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;margin-top:5px;line-height:1.2}
.product-old-price{font-size:16px;font-weight:400;color:var(--muted)}
.product-availability{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;margin:10px 0 0;line-height:1.5;color:#35523b}
.product-availability:before{content:'';width:7px;height:7px;background:currentColor;border-radius:50%;flex:none}
.product-availability[data-state="soldout"],.product-availability[data-state="pending"]{color:#796044}
.product-availability:empty{display:none}
.product-body .buyrow{margin-top:18px;grid-template-columns:96px minmax(0,1fr)}
.product-body .buyrow .stock-notice{grid-column:1/-1;margin:0}
.product-body .product-trust{padding:12px 0 18px}
.product-body .taste-pills{gap:7px;margin:0 0 14px}
.product-body .taste-pills:empty{display:none}
.product-body .product-pairing{margin:0 0 20px;padding:13px 16px;background:#eee5db;border-radius:12px}
.product-description-title{font-size:16px;line-height:1.4;margin:20px 0 9px;font-weight:700}
.product-body .product-summary{font-size:15px;line-height:1.7;margin:0;max-width:none;overflow-wrap:anywhere}
.product-body .product-details{padding:32px 0;grid-template-columns:1fr;gap:22px}
.product-body .detail-intro{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 20px}
.product-body .detail-intro .eyebrow{margin:0}
.product-body .detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.product-body .detail-grid>div{min-width:0;padding-top:12px}
.product-body .detail-grid b{font-size:14px;overflow-wrap:anywhere}
.product-body [hidden]{display:none!important}
.product-body .mobile-buybar[hidden]{display:none!important}
@media(max-width:1050px) and (min-width:761px){
 .product-body .product-page{column-gap:28px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
 .product-body .product-visual{height:450px}
 .product-heading .product-topline{gap:10px}
}
@media(max-width:760px){
 .product-body .product-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:14px;padding:14px 0 30px}
 .product-body .product-heading{padding-top:0}
 .product-body .product-heading .product-topline{margin-bottom:8px}
 .product-body .product-visual{height:200px;max-height:none;top:auto;border-radius:0}
 .product-body .product-price-row{padding:4px 0 14px}
 .product-body .big-price{font-size:29px}
 .product-body .product-availability{margin-top:7px}
 .product-body .buyrow{margin-top:13px;gap:10px;grid-template-columns:88px minmax(0,1fr)}
 .product-body .buyrow .btn{min-height:48px;font-size:13px;padding:12px}
 .product-body .product-quantity select{min-height:48px;font-size:16px}
 .product-body .product-trust{padding:12px 0 16px;font-size:10px}
 .product-body .taste-pills span{font-size:11px;padding:7px 10px}
 .product-body .product-summary{font-size:14px;line-height:1.7}
 .product-body .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
 .product-body .detail-grid b{font-size:13px}
 .product-body .product-details{padding:26px 0;gap:18px}
 .product-body .mobile-buybar{box-shadow:0 6px 24px rgba(0,0,0,.09)}
}
@media(max-width:380px){
 .product-body .product-visual{height:180px}
 .product-body .buyrow{grid-template-columns:80px minmax(0,1fr)}
}

/* Product pages: short advice first, full wine texts in accessible disclosures. */
.product-body .product-page{grid-template-rows:auto auto;row-gap:24px;padding-top:12px;padding-bottom:32px;align-items:start}
.product-body .product-heading{grid-column:1/-1;grid-row:1;padding-top:0}
.product-body .product-heading h1{font-size:clamp(24px,3vw,34px);max-width:850px}
.product-body .product-heading .product-topline{margin-bottom:10px}
.product-body .product-quick-summary{max-width:760px;font-size:15px;line-height:1.65;color:var(--muted);margin:12px 0 0;overflow-wrap:anywhere}
.product-body .product-visual{grid-column:1;grid-row:2;position:static;height:420px;max-height:none;align-self:center}
.product-body .product-info{grid-column:2;grid-row:2;align-self:start}
.product-body .product-quick-taste{border-top:2px solid var(--orange);padding-top:16px;margin-bottom:22px}
.product-body .product-quick-taste>.eyebrow{color:#96390f;margin-bottom:10px}
.product-body .product-quick-taste h2{font-size:19px;line-height:1.4;margin:0 0 14px}
.product-body .product-quick-taste .taste-pills{margin:0;gap:8px}
.product-body .product-pairing{margin:0 0 8px}
.product-body .product-price-row{border-bottom:0;padding-bottom:12px}
.product-body .product-request-note{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 6px;max-width:540px}
.store-prelaunch .product-body .product-availability[data-state="available"]{color:#796044}
.product-body .product-accordions{border-top:1px solid var(--line);margin:0 0 28px}
.product-body .product-accordion{border-bottom:1px solid var(--line);min-width:0}
.product-body .product-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;font-size:16px;font-weight:700;line-height:1.5;list-style:none;cursor:pointer;min-height:60px;overflow-wrap:anywhere}
.product-body .product-accordion>summary::-webkit-details-marker{display:none}
.product-body .product-accordion>summary:after{content:'+';font-size:22px;color:#96390f;flex:none;font-weight:400}
.product-body .product-accordion[open]>summary:after{content:'−'}
.product-body .product-accordion-content{padding:0 0 24px;min-width:0}
.product-body .product-accordion .product-summary{max-width:920px;font-size:15px;line-height:1.8;white-space:pre-line;margin:0}
.product-body .product-accordion .fit-panel{margin:24px 0 0;padding:20px 0 0;background:transparent;color:var(--ink);border-radius:0;border-top:1px solid var(--line);gap:26px}
.product-body .product-accordion .fit-panel .fit-list p{color:var(--muted)}
.product-body .product-accordion .fit-panel h2{font-size:16px}
.product-body .product-accordion .product-details{display:block;border:0;padding:0}
.product-body .product-accordion .detail-grid{gap:18px 24px}
.product-body .product-accordion .detail-grid>div{border:0;padding:0}
.product-body .product-accordion .related{padding:0}
.product-body .product-accordion .related .section-head{margin-bottom:16px}
.product-body .product-accordion .related .section-head h2{font-size:18px}
.product-body .product-accordion .related .card-image{height:280px;aspect-ratio:auto}
.product-body .product-accordion .related .card-image img.wine-photo{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain}
.product-body #relatedSection{scroll-margin-top:120px}
.cms-on .product-accordion>summary{pointer-events:auto}
@media(max-width:760px){
 .product-body .product-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:18px;padding:8px 0 26px}
 .product-body .product-heading{grid-column:1;grid-row:1}
 .product-body .product-heading h1{font-size:26px}
 .product-body .product-quick-summary{font-size:14px;line-height:1.65}
 .product-body .product-visual{grid-column:1;grid-row:2;height:210px}
 .product-body .product-info{grid-column:1;grid-row:3}
 .product-body .product-quick-taste{padding-top:14px;margin-bottom:18px}
 .product-body .product-quick-taste h2{font-size:18px}
 .product-body .product-price-row{padding-top:12px}
 .product-body .product-request-note{font-size:12px}
 .product-body .product-accordion>summary{font-size:15px;padding:18px 0;min-height:60px}
 .product-body .product-accordion .product-summary{font-size:14px;line-height:1.8}
 .product-body .product-accordion .fit-panel{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:20px}
 .product-body .product-accordion .related .section-head{align-items:start;flex-direction:column;gap:12px}
 .product-body .product-accordion .related .products{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;gap:24px}
 .product-body .product-accordion .related .card{width:auto;min-width:0}
 .product-body .product-accordion .related .card-image{height:230px}
}

.stock-next-step{grid-column:1/-1;width:100%;min-width:0}.product-body .stock-next-step .btn{white-space:normal;line-height:1.5;text-align:center;min-height:48px}.stock-next-step p{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 0}

/* Mobile: show the price and request action before the extended taste advice. */
@media(max-width:760px){
 .product-body .product-page{gap:12px}
 .product-body .product-heading h1{font-size:23px;line-height:1.25;text-transform:none}
 .product-body .product-quick-summary{font-size:13px;line-height:1.5;margin-top:8px}
 .product-body .product-visual{height:160px}
 .product-body .product-info{display:flex;flex-direction:column;min-width:0}
 .product-body .product-info>.product-price-row{order:-3;padding:0 0 10px}
 .product-body .product-info>.product-request-note{order:-2}
 .product-body .product-info>.product-trust{order:-1;padding:8px 0 14px}
 .product-body .product-info>.product-quick-taste{margin-top:6px}
 .product-body .buyrow .btn{font-size:14px;white-space:normal;line-height:1.4}
}
