/* Compact storefront. Account pages retain their dedicated, shorter header. */
.announcement{min-height:1.875rem;padding:.25rem 1rem;letter-spacing:.08em}
.announcement>span,.announcement a,.announcement a span{font-size:inherit}
.announcement .announcement-divider{width:1px;height:.875rem;background:#ffffff45}
.announcement a{display:inline-flex;align-items:center;gap:.375rem;min-height:1.5rem;text-decoration:none;text-underline-offset:.25rem}
.announcement a svg{width:.9375rem;height:.9375rem;margin-left:.25rem;stroke:currentColor;stroke-width:1.5;fill:none}
.announcement a:hover{text-decoration:underline}
.announcement a:focus-visible{outline:1px solid currentColor;outline-offset:3px}
body:not(.account-page) .header-main{min-height:6rem;padding-block:.75rem;gap:1.5rem}
body:not(.account-page) .wordmark{font-size:3rem}
body:not(.account-page) .wordmark span{margin-top:.25rem}
body .site-header .header-main .wordmark span{font-family:Arial,Helvetica,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.1em;line-height:1.5}
#search-form{position:relative;inset:auto;border-bottom:1px solid #d8c5bc}
#search-form:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--wine);transform:scaleX(0);transform-origin:left center;transition:transform .4s cubic-bezier(.22,.61,.36,1);pointer-events:none}
#search-form:focus-within:after{transform:scaleX(1)}
#search{appearance:none;border:0;border-radius:0;box-shadow:none;background:transparent;caret-color:var(--wine);padding-inline:.125rem .75rem}
#search:focus,#search:focus-visible{outline:none;box-shadow:none}
#search-form button{border-radius:50%;transition:color .2s}
#search-form:focus-within button{color:var(--wine)}
#search-form button:focus-visible{outline:2px solid var(--wine);outline-offset:-5px}
body:not(.account-page) .nav-row{min-height:3.5rem;padding-block:.25rem;gap:1rem}
.shopping-status{padding:.375rem 0;background:var(--paper);border-top:0;font-size:.8125rem}
.shopping-status .wrap{gap:.25rem 1rem}
.shopping-badge svg{display:none}
.shopping-badge strong{font-size:.8125rem}
.shopping-context{gap:.75rem}
.shopping-terms{padding-left:.75rem}
.shopping-access{min-height:1.5rem;font-size:.8125rem}
.hero{min-height:0;grid-template-columns:1fr 1fr}
.hero-copy{padding:2.5rem 3rem 2.5rem max(clamp(1rem,3vw,3.5rem),calc((100vw - 90rem)/2))}
.hero h1{font-size:clamp(2.75rem,4.2vw,4.5rem);line-height:1.08;max-width:10em;margin-bottom:1.25rem}
.hero h1 em{white-space:nowrap}
.hero .eyebrow{margin-bottom:1rem}
.hero p{font-size:.9375rem;line-height:1.65;margin-bottom:1.5rem;max-width:27rem}
.hero-footnote{display:none}
.hero .button{min-height:3rem;font-size:.9375rem}
.hero-seal{width:7.5rem;height:7.5rem;left:-3.75rem;bottom:1.75rem;transform:none;border:0;background:transparent;box-shadow:none}
.hero-seal img{width:100%;height:100%;max-width:none}
.image-caption{font-size:.6875rem;right:5.5rem;bottom:1rem}
.whatsapp-float{left:auto;right:max(24px,env(safe-area-inset-right))}
/* Keep account forms clear of floating controls; contact remains in the help page. */
.account-page .whatsapp-float{display:none}
.purchase-guide{padding:2.5rem 0;background:var(--wine);color:var(--ivory)}
.purchase-guide .guide-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}
.purchase-guide .guide-heading>div{min-width:0}
.purchase-guide .eyebrow{color:#efc9ce;margin-bottom:.5rem}
.purchase-guide h2{font-size:clamp(1.375rem,2.3vw,2rem);font-weight:400;letter-spacing:-.01em;line-height:1.35;text-wrap:balance}
.purchase-guide h2 strong{font-weight:500;white-space:nowrap}
.purchase-guide h2>span{white-space:nowrap}
.purchase-guide .text-link{color:var(--ivory);border-color:#c7959f;align-self:center;min-height:2.75rem;display:inline-flex;align-items:center;flex-shrink:0}
.purchase-guide .text-link:hover{color:#fff}
.purchase-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.purchase-steps li{padding-right:2rem;min-width:0;border-right:1px solid #c99ba64d}
.purchase-steps li:last-child{border:0;padding:0}
.step-marker{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.step-marker svg{width:2rem;height:2rem;color:#efc9ce;stroke-width:1.25}
.step-marker>span:last-child{font:italic 1.375rem var(--serif);color:#e5bac3}
.purchase-steps h3{font-size:1rem;line-height:1.4;font-weight:600;margin-bottom:.625rem;color:var(--ivory)}
.purchase-steps p{font-size:.9375rem;line-height:1.65;color:#f0dfe2;max-width:26rem}
#home-view>.section{padding-block:2.5rem}
#home-view .section h2{font-size:clamp(1.875rem,3vw,2.5rem);max-width:none}
.product-name{min-height:1.5em}
.site-footer{background:var(--paper);border-top:1px solid var(--line);padding-top:2rem}
.site-footer .footer-main{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,3vw,3.5rem);padding-bottom:2rem}
.site-footer .footer-main>*{min-width:0}
.site-footer h3{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--wine);margin-bottom:.875rem;line-height:1.5}
.site-footer h3:after{content:'';display:block;width:1.75rem;height:2px;background:var(--line);margin-top:.75rem}
.site-footer .footer-main nav a{display:flex;align-items:center;min-height:2.5rem;border-bottom:1px solid var(--line);font-size:.9375rem;color:var(--muted);padding:.375rem 0}
.site-footer .footer-main nav a:last-child{border-bottom:0}
.site-footer .footer-main a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:4px}
#footer-contact .contact-row{display:flex;align-items:center;gap:.625rem;min-height:2.25rem;font-size:.875rem;line-height:1.5;color:var(--wine);overflow-wrap:anywhere;padding:.375rem 0}
#footer-contact .contact-row>span{min-width:0}
#footer-contact svg{width:1rem;height:1rem;flex-shrink:0;stroke-width:1.7;color:var(--ink)}
#footer-contact .footer-whatsapp svg{fill:currentColor;stroke:none}
.site-footer .footer-bottom{padding-block:1rem;font-size:.8125rem;flex-wrap:wrap;gap:.5rem 1.5rem}
.help details{scroll-margin-top:1.5rem}
#catalog-view{padding-block:1.5rem 3rem}
#catalog-view .breadcrumbs{margin-bottom:1rem}
#catalog-view .section-heading{margin-bottom:1.5rem}
.product-dialog{width:68rem;border-radius:.75rem;max-height:94dvh;overscroll-behavior:contain}
.product-dialog>.close-dialog{position:sticky;top:.75rem;right:auto;display:block;margin:.75rem .75rem -3.5rem auto;z-index:3}
.product-detail{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:0;align-items:start}
.detail-image{margin:0;min-height:0;position:sticky;top:0;background:#eee6df}
.detail-image img{width:100%;height:clamp(20rem,65vh,37rem);object-fit:contain}
.detail-image figcaption{padding:.75rem 1rem;background:#f2e9e2;font-size:.8125rem;line-height:1.5;color:#594941}
.detail-info{padding:2rem;min-width:0}
.detail-info .eyebrow{margin:0 2rem .5rem 0}
.detail-info h2{font-size:clamp(1.75rem,2.5vw,2.25rem);margin:0 1rem 1rem 0;overflow-wrap:anywhere}
.detail-unit{font-size:.875rem;margin:.75rem 0 1.25rem;color:var(--wine)}
.detail-description{font-size:.9375rem;padding:0 0 1rem;margin-bottom:1.25rem;white-space:pre-line}
.detail-add{margin-top:1rem;gap:.75rem}
.detail-add .button{flex-grow:1}
.detail-note{font-size:.8125rem;margin:1rem 0}
.detail-info .access-required{margin:1rem 0;padding:1rem}
.detail-info .access-required p{font-size:.9375rem;margin-bottom:.75rem}
.detail-info .access-required .button{width:100%}
.product-facts details{border-top:1px solid var(--line);padding:.75rem 0}
.product-facts summary{cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--wine);min-height:1.75rem}
.product-facts p{font-size:.875rem;line-height:1.6;margin-top:.75rem;white-space:pre-line}
#detail-error:not(:empty){margin-top:1rem}
@media(min-width:1500px){.hero-copy{padding-block:3rem}}
@media(min-width:761px) and (max-width:1100px){
  .site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
  body:not(.account-page) .nav-row{flex-wrap:wrap;gap:.25rem;padding-bottom:.5rem}
  body:not(.account-page) .nav-row nav{flex-basis:100%;justify-content:space-between}
  .hero-copy{padding:2rem}
  .hero h1{font-size:3rem}
  .hero-seal,.image-caption{display:none}
}
@media(max-width:760px){
  .site-footer{padding-top:1.5rem}
  .site-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-bottom:1.5rem}
  .site-footer h3{font-size:.8125rem;letter-spacing:.02em;margin-bottom:.5rem}
  #footer-contact .contact-row{min-height:2.75rem}
  .site-footer .footer-main nav a{font-size:.875rem;min-height:2.75rem}
  .site-footer .footer-bottom{flex-direction:row;align-items:center;text-align:left;padding-right:4rem}
  .whatsapp-float{left:auto;right:max(16px,env(safe-area-inset-right))}
  body:not(.account-page) .announcement{display:none}
  body:not(.account-page) .header-main{grid-template-columns:1fr auto;min-height:0;gap:.5rem 1rem;padding-block:.75rem .5rem}
  body:not(.account-page) .header-main .wordmark{font-size:2.5rem}
  body .site-header .header-main .wordmark span{font-size:.75rem;letter-spacing:.08em}
  body:not(.account-page) .search{position:static;grid-row:2;grid-column:1/-1;height:2.75rem}
  body:not(.account-page) .search input{font-size:1rem}
  body:not(.account-page) .nav-row{gap:0;padding-block:0 .375rem}
  body:not(.account-page) .nav-row nav{order:2;margin:0;gap:1.25rem;padding:0;min-height:2.75rem;font-size:.875rem}
  body:not(.account-page) .shopping-controls{width:100%;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}
  .shopping-controls .mode-control{margin:0;padding:2px}
  .mode-control button{min-height:2.5rem;padding:.375rem .875rem;font-size:.8125rem}
  .account-link{font-size:.875rem}
  .shopping-status .wrap{justify-content:space-between}
  .shopping-context{gap:.5rem;flex-direction:row;align-items:center}
  .shopping-badge{display:none}
  .shopping-terms{border:0;padding:0;font-size:.8125rem}
  .shopping-access{font-size:.8125rem}
  .hero{display:grid;grid-template-columns:1fr}
  .hero-copy{padding:1.75rem 1.5rem}
  .hero .eyebrow{font-size:.75rem;margin-bottom:.75rem}
  .hero h1{font-size:clamp(2.5rem,9.7vw,3.25rem);margin-bottom:1rem;max-width:12em}
  .hero h1 em{padding:0}
  .hero p{font-size:.9375rem;line-height:1.6;margin-bottom:1.25rem;max-width:28rem}
  .hero p br{display:none}
  .hero .button{padding:.75rem 1.25rem;font-size:.9375rem}
  .hero-image{height:11rem}
  .hero-image>img{object-position:center 54%}
  .hero-seal,.image-caption{display:none}
  .section-heading .eyebrow{font-size:.6875rem;margin-bottom:.5rem}
  .purchase-guide{padding:1.75rem 0}
  .purchase-guide .guide-heading{align-items:start;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}
  .purchase-guide .text-link{align-self:start;text-align:left;margin:0;min-width:0}
  .purchase-steps{grid-template-columns:1fr;gap:1.25rem}
  .purchase-steps li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;border:0;border-bottom:1px solid #c99ba64d;padding:0 0 1.25rem}
  .purchase-steps li:last-child{padding:0}
  .step-marker{flex-direction:column;gap:.375rem;margin:0}
  .step-marker svg{width:1.75rem;height:1.75rem}
  .step-marker>span:last-child{font-size:1rem}
  .purchase-steps h3{margin-bottom:.375rem}
  .purchase-steps p{font-size:.875rem}
  #home-view>.section{padding-block:1.75rem}
  #home-view .section-heading{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
  #home-view .section-heading .text-link{margin:0;text-align:left;min-width:0}
  #catalog-view .section-heading{margin-bottom:1rem}
  #catalog-view .notice{padding:.75rem;margin-bottom:1rem}
  .filters{gap:.5rem 1rem}
  .filters label{font-size:.8125rem}
  .filters select{margin-top:0;padding:.375rem 0;font-size:.875rem}
  .product-dialog{max-width:calc(100% - 16px);max-height:96dvh}
  .product-detail{grid-template-columns:1fr}
  .detail-image{position:relative;height:auto}
  .detail-image img{height:15rem}
  .detail-image figcaption{font-size:.75rem;padding:.5rem 1rem}
  .detail-info{padding:1.25rem}
  .detail-info .eyebrow{margin-right:0}
  .detail-info h2{font-size:1.75rem}
  .detail-info .button{gap:.75rem;padding:.75rem 1rem}
  .detail-info .variant-fields{gap:.75rem}
}
@media(max-width:359px){.shopping-controls .mode-control button{padding-inline:.625rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#search-form:after,#search-form button{transition:none}}
.order-success .receipt-email{font-size:.875rem;line-height:1.6;background:#f6f5f6;border-radius:6px;padding:16px;overflow-wrap:anywhere}
.order-success .receipt-email strong{font-weight:500;color:var(--ink)}
.order-success #receipt-error{font-size:.875rem;margin-top:12px;color:#a52534}
