/* Food information belongs to the product itself, readable without a dialog or JavaScript. */
.product-sheet{scroll-margin-top:calc(var(--ciardi-header-height,118px) + 24px)}
.product-sheet-link{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;margin-top:24px;text-decoration:underline;text-underline-offset:5px;font-size:1rem;max-width:390px}
.sheet-intro{margin-top:20px;font-size:1.125rem;line-height:1.5}
.sheet-columns{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:start}
.sheet-ingredients,.sheet-nutrition{padding:clamp(24px,3vw,44px);min-width:0;background:var(--color-rose)}
.sheet-nutrition{background:var(--color-taupe)}
.sheet-columns h3{font-size:clamp(1.5rem,2.1vw,2rem);font-weight:500;letter-spacing:-.035em;line-height:1.15;margin-bottom:24px}
.sheet-columns p{font-size:1rem;line-height:1.65;max-width:65ch}
.ingredients-list strong,.ingredients-traces strong{font-weight:700}
.sheet-designation{margin-bottom:24px}.sheet-designation strong,.sheet-designation span{display:block}.sheet-designation strong{font-weight:500;font-size:.875rem;margin-bottom:8px}
.ingredients-traces{margin-top:24px}
.sheet-storage{margin-top:40px}
.sheet-storage h3{margin-bottom:20px}
.sheet-storage dl{margin-top:24px}.sheet-storage dt{font-size:.875rem}.sheet-storage dd{margin:8px 0 0;font-size:1rem;font-weight:500}
.sheet-columns .text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;margin-top:20px;font-size:1rem}
.sheet-nutrition table{width:100%;border-collapse:collapse;font-size:1rem;font-variant-numeric:tabular-nums}
.sheet-nutrition caption{text-align:left;font-size:1rem;line-height:1.5;margin-bottom:24px}
.sheet-nutrition th,.sheet-nutrition td{padding:14px 12px;text-align:left;vertical-align:top;line-height:1.45}
.sheet-nutrition th{font-weight:500;width:58%}.sheet-nutrition td{text-align:right;white-space:nowrap}
.sheet-nutrition tr:nth-child(odd){background:var(--color-ground)}
.sheet-nutrition .nutrition-part th{padding-left:28px;font-weight:400}
.sheet-nutrition .sheet-label-note{margin-top:28px;font-size:.875rem;line-height:1.5}
@media(max-width:800px){.sheet-columns{grid-template-columns:1fr;gap:16px}.sheet-ingredients,.sheet-nutrition{padding:28px}.sheet-columns h3{font-size:1.75rem}}
@media(max-width:560px){.sheet-ingredients,.sheet-nutrition{padding:24px 18px}.sheet-nutrition th,.sheet-nutrition td{padding:12px 8px;font-size:.9375rem}.sheet-nutrition .nutrition-part th{padding-left:18px}.sheet-columns h3{font-size:1.5rem}.sheet-intro{font-size:1rem}.sheet-columns p{font-size:1rem}.product-sheet-link{font-size:.9375rem}.sheet-nutrition td{white-space:normal;min-width:105px}.sheet-nutrition th{width:57%}}

/* Ciardi 2.1: the product page carries the stamp and invites the next step. */
.product-detail{position:relative;isolation:isolate;overflow-x:clip}
.product-watermark{width:min(52%,820px);aspect-ratio:700/314;right:-3%;bottom:-5rem;rotate:-11deg;opacity:.04;z-index:-1}
.product-gallery{perspective:1100px}
.gallery-enhanced .product-main-photo{touch-action:pan-y}

.sheet-ingredients,.sheet-nutrition{position:relative;isolation:isolate;overflow:hidden}
.sheet-stamp{width:300px;aspect-ratio:700/314;right:-40px;bottom:-30px;rotate:-14deg;opacity:.07;z-index:-1}
.sheet-stamp-nutrition{bottom:auto;top:14px;right:-56px;width:240px;opacity:.06}

.allergen-summary{margin-bottom:28px}
.allergen-group>p{font-size:.875rem;font-weight:500;margin-bottom:10px}
.allergen-group+.allergen-group{margin-top:16px}
.allergen-group ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.allergen-chip{min-height:40px;padding:.45rem .9rem;border:1px solid transparent;border-radius:var(--radius-control);background:var(--color-ground);font-size:.9375rem;line-height:1.2;white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
.is-trace .allergen-chip{background:transparent;border-color:var(--color-stamp)}
.allergen-chip:hover{border-color:var(--color-ink)}
.allergen-chip[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-white)}
.allergen-hint{margin-top:12px;font-size:.8125rem!important;color:var(--color-muted)}
.ingredients-list strong,.ingredients-traces strong{display:inline-block;border-radius:2px;transition:background var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast)}
.ingredients-list strong.is-highlighted,.ingredients-traces strong.is-highlighted{background:var(--color-ink);color:var(--color-white);box-shadow:0 0 0 3px var(--color-ink)}

.pairing-section{position:relative;overflow-x:clip;padding-top:clamp(2.5rem,5vw,4.5rem)}
.pairing-label{font-size:.875rem;font-weight:500;color:var(--color-muted);margin-bottom:10px}
.pairing-drink{font-size:clamp(1.75rem,2.6vw,2.625rem);font-weight:500;line-height:1.15;letter-spacing:-.03em;color:var(--color-wine);max-width:22ch}
.pairing-pat{margin-top:1.25rem;max-width:52ch}
.pairing-moments{margin-top:2rem}
.pairing-moments ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.pairing-moments a{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;padding:.55rem 1rem;background:var(--color-taupe);border-radius:var(--radius-control);font-size:.9375rem;white-space:nowrap;transition:background var(--dur-fast)}
.pairing-moments a:hover{background:var(--color-rose)}
.pairing-moments svg{width:16px;height:16px;rotate:-45deg}

.product-siblings{margin-block:calc(var(--space-section) * -.45)}
.product-siblings-label{font-size:.875rem;margin-bottom:12px}
.product-siblings-label strong{font-weight:500}
.product-siblings ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.product-siblings .is-successivo{grid-column:2}
.product-siblings a{display:flex;align-items:center;gap:1.25rem;min-height:96px;padding:12px 20px 12px 12px;background:var(--color-sky);transition:background var(--dur-fast)}
.product-siblings .is-precedente a{flex-direction:row-reverse;padding:12px 12px 12px 20px;text-align:right}
.product-siblings a:hover{background:var(--color-sky-deep)}
.sibling-thumb{flex:none;width:72px;height:72px;transition:transform var(--dur-bar) var(--ease-out)}
.sibling-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.sibling-text{flex:1;min-width:0;font-size:1.125rem;font-weight:500;line-height:1.25}
.sibling-text small{display:block;font-size:.8125rem;font-weight:400;color:var(--color-muted);margin-bottom:4px}
.sibling-arrow{flex:none;display:flex;transition:transform var(--dur-fast) var(--ease-out)}
.is-precedente .sibling-arrow svg{rotate:180deg}
.product-siblings a:hover .sibling-thumb{transform:rotate(-8deg) scale(1.06)}
.is-successivo a:hover .sibling-arrow{transform:translateX(4px)}
.is-precedente a:hover .sibling-arrow{transform:translateX(-4px)}

.buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--color-ground);border-top:1px solid var(--color-taupe);box-shadow:var(--shadow-bar);padding-bottom:env(safe-area-inset-bottom);transform:translateY(105%);visibility:hidden;transition:transform calc(var(--dur-bar) * .7) var(--ease-in),visibility 0s calc(var(--dur-bar) * .7)}
.buy-bar.is-visible{transform:none;visibility:visible;transition:transform var(--dur-bar) var(--ease-out)}
.buy-bar-inner{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:1rem 1.25rem;padding-block:10px}
.buy-bar-thumb{width:56px;height:56px;background:var(--color-sky);border-radius:var(--radius-control);overflow:hidden}
.buy-bar-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.buy-bar-name{min-width:0;line-height:1.25}
.buy-bar-name strong{display:block;font-weight:500;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.buy-bar-name span{display:block;font-size:.875rem;color:var(--color-muted)}
.buy-bar-price{font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.buy-bar-price del{font-weight:400;color:var(--color-muted);margin-right:6px}.buy-bar-price ins{text-decoration:none}
.buy-bar-add{min-height:48px;padding:.75rem 1.25rem;gap:1rem;white-space:nowrap}
.buy-bar-add[aria-busy=true]{opacity:.7;cursor:wait}
.motion-paused .buy-bar,.motion-paused .sibling-thumb,.motion-paused .sibling-arrow{transition:none}

@media(max-width:800px){
 .product-watermark{width:92%;right:-12%;bottom:-3rem}
 .product-siblings ul{grid-template-columns:1fr}.product-siblings .is-successivo{grid-column:auto}
}
@media(max-width:560px){
 .sheet-stamp{width:220px}.sheet-stamp-nutrition{width:180px}
 .product-siblings a{min-height:80px;gap:1rem}.sibling-thumb{width:56px;height:56px}.sibling-text{font-size:1rem}
 .buy-bar-inner{grid-template-columns:44px minmax(0,1fr) auto;gap:2px 12px;padding-block:8px}
 .buy-bar-thumb{width:44px;height:44px;grid-row:span 2}
 .buy-bar-price{grid-column:2;grid-row:2;font-size:.9375rem}
 .buy-bar-name span{display:none}
 .buy-bar-add{grid-column:3;grid-row:1/span 2;min-height:48px;padding:.7rem 1rem}
 .buy-bar-long{display:none}
}
@media(prefers-reduced-motion:reduce){.buy-bar,.buy-bar.is-visible{transition:visibility 0s}.sibling-thumb,.sibling-arrow{transition:none}.product-siblings a:hover .sibling-thumb{transform:none}}

/* Product ground: one texture at a time, chosen in the Customizer (Ciardi: testi e contatti). */
.trama-grana{--trama-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .22 0 0 0 0 .15 0 0 0 0 .09 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}
.trama-grana,.trama-grana .site-header,.trama-grana .buy-bar{background-image:var(--trama-img)}
.trama-ciambelline{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' fill='none' stroke='%23382516' stroke-opacity='.03'%3E%3Ccircle cx='70' cy='80' r='26' stroke-width='16'/%3E%3Ccircle cx='250' cy='60' r='18' stroke-width='11'/%3E%3Ccircle cx='210' cy='240' r='30' stroke-width='18'/%3E%3Ccircle cx='50' cy='300' r='15' stroke-width='9'/%3E%3C/svg%3E")}
.trama-bande .product-detail,.trama-bande .pairing-section{box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax);background:var(--band)}
.trama-bande .product-detail{--band:var(--color-sky);padding-block:clamp(2rem,4vw,4rem)}
.trama-bande .breadcrumbs{margin-bottom:0;padding-bottom:1.5rem}
/* The pairing closes the page on wine, like the family story on the home page. */
.trama-bande .pairing-section{--band:var(--color-wine);color:var(--color-sugar);isolation:isolate;padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.trama-bande .pairing-label{color:color-mix(in oklab,var(--color-sugar) 72%,transparent)}
.trama-bande .pairing-drink{color:var(--color-rose)}
.trama-bande .pairing-moments a{background:color-mix(in oklab,var(--color-sugar) 14%,transparent);color:var(--color-sugar)}
.trama-bande .pairing-moments a:hover{background:var(--color-rose);color:var(--color-ink)}
.trama-bande .pairing-section a:focus-visible{outline-color:var(--color-sugar)}
.pairing-watermark{display:none}
.trama-bande .pairing-watermark{display:block;width:min(46%,620px);aspect-ratio:700/314;left:-2%;bottom:-18%;rotate:-10deg;opacity:.07;color:var(--color-sugar);z-index:-1}
.trama-bande .product-main-photo{background:transparent}
@media(max-width:800px){.trama-bande .pairing-watermark{width:90%;left:auto;right:-20%;bottom:-8%}}

/* Ciardi 2.5: the product column is read in areas, not as a loose stack.
   Story (title, line, description), facts, the buying card, then where to go next. */
.product-info .prose{padding-bottom:1.75rem;border-bottom:1px solid color-mix(in oklab,var(--color-ink) 12%,transparent);max-width:58ch}
.product-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,max-content));gap:10px;margin-block:1.5rem}
.product-facts>div{padding:12px 16px;background:color-mix(in oklab,var(--color-white) 72%,transparent);border-radius:6px}
.product-facts dt{font-size:.8125rem;margin-bottom:4px}
.product-facts dd span{display:block;line-height:1.45}
.buy-card{background:var(--color-white);border-radius:10px;padding:clamp(20px,2.4vw,32px);box-shadow:var(--shadow-card)}
.buy-card .ciardi-buy{margin-top:0}
.buy-card .ciardi-live-price{font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.buy-card .purchase-unit{margin-top:6px!important}
.buy-card .ciardi-buy form.cart{margin-top:20px;padding-top:20px;border-top:1px solid color-mix(in oklab,var(--color-ink) 10%,transparent)}
.buy-card .reset_variations{display:none!important}
.buy-card .shop-demo-note{margin-top:14px}
.buy-card>.favorites-add{width:100%;max-width:none;margin-top:12px}
.explorer-ready .buy-card>.favorites-add{display:flex!important}
.product-links{margin-top:1.5rem;border-top:1px solid color-mix(in oklab,var(--color-ink) 12%,transparent)}
.product-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;border-bottom:1px solid color-mix(in oklab,var(--color-ink) 12%,transparent);font-size:1rem;font-weight:500;transition:color var(--dur-fast)}
.product-links a:hover{color:var(--color-wine)}
.product-links svg{flex:none;transition:transform var(--dur-fast) var(--ease-out)}
.product-links a:hover svg{transform:translateX(4px)}
@media(max-width:560px){.product-facts{grid-template-columns:1fr 1fr}.buy-card{padding:18px}.product-links a{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.product-links svg{transition:none}.product-links a:hover svg{transform:none}}
