/* Brandbook 1.31: shared visual layer, no authentication/data changes. */
@font-face{font-family:VF Inter;src:url('fonts/inter.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:VF Lora;src:url('fonts/lora.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:VF Lora;src:url('fonts/lora-italic.ttf') format('truetype');font-weight:400 700;font-style:italic;font-display:swap}
:root{--wine:#6d123f;--wine-dark:#2b1022;--berry:#9b245e;--blush:#f6e7ed;--paper:#fffaf6;--white:#fff;--ink:#271821;--muted:#75666e;--line:#eadde2;--shadow:0 12px 36px #2b10220b;--brand-header-height:144px;--radius:22px}
html{scroll-padding-top:calc(var(--brand-header-height) + 20px)}
body{font-family:'VF Inter',sans-serif;color:var(--ink);background:var(--paper);line-height:1.55;overflow-wrap:break-word}
body::before{display:none!important}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
button,input,select,textarea{font-family:inherit}
h1,h2,.product-info h3,.service-card h3,.brand-story h3{font-family:'VF Lora',Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:1.16}
h1{font-size:clamp(36px,5.4vw,72px)}h2{font-size:clamp(28px,3.6vw,44px)}h3{line-height:1.3}
h1 em,h2 em{color:var(--wine);font-style:normal}
p{line-height:1.6}.lead{font-size:18px;line-height:1.65}.muted,.product-meta{color:var(--muted)}
.wrap{width:min(1180px,calc(100% - 48px))}.section{padding-block:72px}.page-hero{padding-block:44px;background:var(--paper);border-bottom:1px solid var(--line)}
.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:600;color:var(--wine)}
.header,body>header:not(.header){position:sticky;top:0;z-index:20;background:#fffaf6f5;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);box-shadow:0 3px 16px #2b102208}
.header .brand,body>header .brand{color:var(--wine);font-family:'VF Inter',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:24px;gap:12px}
.header .brand img,body>header .brand img{width:64px;height:60px;object-fit:contain;flex-shrink:0}
.header-row{gap:20px;min-height:88px}.header .nav{gap:22px;font-size:15px}.header .nav a[aria-current]{color:var(--wine)}
.button,button,.button-link{min-height:48px;border-radius:14px;padding:12px 20px;font-weight:600;line-height:1.35;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.button,button.primary{background:var(--wine);border:1px solid var(--wine);color:white}
.button.ghost,button:not(.primary),.button-link{background:white;color:var(--wine);border:1px solid var(--line)}
.button.light{background:white;color:var(--wine);border-color:white}
button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--berry);outline-offset:3px}
@media(hover:hover){.button:hover,button.primary:hover{background:var(--berry);border-color:var(--berry)}button:not(.primary):hover,.button.ghost:hover,.button-link:hover{background:var(--blush);color:var(--wine)}}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-size:16px;max-width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--wine)}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--wine)}label{font-weight:600;font-size:14px}
.product-card,.service-card,.info-card,.panel,.order-card,.checkout-order,.brand-card{border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:none;overflow:hidden}
.product-card:hover{transform:none}.product-media{background:var(--paper)}.product-media img{object-fit:cover;aspect-ratio:4/3;width:100%;height:auto}.product-info{padding:24px}.product-info h3{font-size:26px}.product-price{font-size:24px;font-weight:500;color:var(--wine)}
.product-info .product-meta{font-size:14px}.product-info .button{width:100%}.brand-product-label,.brand-signature{display:inline-block;background:var(--blush);color:var(--wine);border-radius:12px;padding:6px 12px;font-size:14px;margin:0 0 12px}.brand-signature{display:block;margin:16px 0 0;text-align:center}
.stepper{background:var(--blush);border:1px solid var(--line);border-radius:14px;min-height:48px;overflow:hidden;max-width:100%;display:flex;align-items:center}.stepper button{border:0;background:transparent;color:var(--wine);padding:8px;min-width:44px;min-height:48px}.stepper input{padding:6px!important;width:60px;min-width:0;text-align:center;border:0!important;background:transparent!important;border-radius:0;font-weight:600}
.hero{padding-block:56px 72px}.hero-grid{gap:56px}.hero h1{line-height:1.1;letter-spacing:-.04em}.hero-media>img{border-radius:28px;aspect-ratio:4/5;object-fit:cover}.hero-note{box-shadow:var(--shadow);border:1px solid var(--line);border-radius:20px;padding:22px}.hero-proof{gap:24px;font-size:14px}.hero-proof strong{color:var(--wine)}
.section.alt{background:var(--blush)}.section.dark{background:var(--wine-dark)}.cta{background:var(--wine);border-radius:24px;padding:36px;color:white}.cta h2,.cta p{color:white}.section-head{gap:20px}.service-card{padding:28px}.service-card h3{font-size:28px}.service-card .button{margin-top:auto}
.brand-benefits{display:flex;gap:32px;justify-content:center;text-align:center}.brand-benefits>div{flex:1;max-width:230px;display:grid;justify-items:center;gap:8px;color:var(--wine)}.brand-benefits img{width:44px;height:44px}.brand-promise{text-align:center}
.catalog-sidebar h2{font-family:'VF Inter',sans-serif;font-size:22px}.catalog-sidebar a{min-height:48px;border-radius:14px}.catalog-sidebar a[aria-current]{background:var(--blush);border-color:var(--blush);color:var(--wine);font-weight:600}
.footer{background:var(--wine-dark);color:#eadde2;padding:52px 0 24px}.footer .brand,.footer a,.footer h3{color:white}.footer .brand img{width:56px;height:56px}.footer a{display:flex;align-items:center;min-height:44px}.footer-grid{gap:32px}.footer-grid>div{min-width:0}.footer-grid>div:not(.footer-contact)>a{margin:0;padding-block:8px;line-height:1.5;overflow-wrap:anywhere}.footer-grid h3{margin:0 0 12px}.footer-bottom{border-color:#ffffff25;gap:16px;align-items:center}.footer-socials{flex-wrap:wrap}
.drawer{z-index:60}.drawer-panel{border-radius:24px 0 0 24px;padding:28px;width:min(520px,100%);max-width:100%;overflow-y:auto;max-height:100dvh}.drawer-head{gap:12px}.drawer h2{font-size:30px}.drawer-close,.custom-close,#close-detail{min-width:44px;min-height:44px;padding:8px}.cart-line{gap:12px}.cart-line strong{overflow-wrap:anywhere}.cart-remove{min-height:44px!important}
dialog{border:1px solid var(--line);border-radius:24px;max-height:90dvh;max-width:calc(100% - 24px);padding:28px;box-shadow:0 24px 80px #2b102233}dialog::backdrop{background:#2b102270}dialog h2{font-size:30px}.custom-form{gap:16px}.custom-consent{font-weight:400;font-size:14px;line-height:1.5}.dialog-heading{top:-28px;padding:16px 0;background:white}
body[data-brand-page=account]>header{max-width:none;padding:16px max(24px,calc((100% - 1180px)/2));min-height:88px}
body[data-brand-page=account] main,body[data-brand-page=account]>footer{max-width:1228px;padding-inline:24px}.panel{padding:28px;margin-block:24px}.narrow{max-width:560px}.auth-tabs button.active,.manager-summary button.active{background:var(--wine);color:white;border-color:var(--wine)}.auth-tabs{gap:8px}.auth-tabs button{flex:1}
.order-meta{gap:12px;flex-wrap:wrap}.order-meta h3{font-family:'VF Inter',sans-serif;font-size:16px;letter-spacing:0;overflow-wrap:anywhere}.badge{background:var(--blush);color:var(--wine);border-radius:100px;padding:6px 12px;font-size:13px}.amount{color:var(--wine);font-size:26px}.order-card{padding:24px}.order-card>button{width:100%}.profile-contact{border-radius:14px;background:var(--paper);padding:16px}.order-change-note,.form-feedback:not(:empty){background:var(--blush);border-radius:14px}
.filters{display:grid;grid-template-columns:2fr repeat(5,minmax(0,1fr)) auto;gap:12px;align-items:end}.filters label{min-width:0}.filters :is(input,select,button){width:100%;height:48px}.filters .search-filter{min-width:0}.manager-summary{gap:8px}.manager-summary button{min-height:52px}.detail-line{padding-block:12px;border-bottom:1px solid var(--line)}
.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:56px!important}.password-toggle{position:absolute!important;right:2px;top:50%;transform:translateY(-50%);width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border:0!important;background:transparent!important;border-radius:10px!important}
.brand-story{display:grid;gap:32px;max-width:920px;margin:auto}.brand-story>img{width:100%;max-height:560px;object-fit:cover;border-radius:24px}.brand-story blockquote{margin:0;padding:28px;border-radius:4px 24px 24px 4px;border-left:4px solid var(--blush);background:white}.brand-story blockquote p:last-child{margin-bottom:0}.brand-name{display:inline-block;align-self:start;border-radius:100px;background:var(--blush);color:var(--wine);padding:10px 18px;font-family:'VF Lora',serif;font-size:22px}.brand-story .brand-portrait{max-height:680px;object-position:center 35%}.brand-two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.brand-card{padding:28px}.brand-card h3{color:var(--wine);font-size:24px}.brand-photo{width:100%;aspect-ratio:7/5;object-fit:cover;border-radius:22px}
.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}
.brand-cart-open{overflow:hidden}.mobile-navigation{max-height:100dvh!important;height:100dvh;border-radius:0 24px 24px 0!important;margin:0!important;left:0;top:0;width:min(360px,88vw)!important;padding:24px!important}.mobile-navigation-heading{gap:12px}.mobile-navigation-heading button{min-width:44px;min-height:44px}.mobile-navigation-links a{min-height:48px;display:flex;align-items:center;font-size:18px}.brand-photo.brand-portrait{height:100%;aspect-ratio:3/4;object-position:center 35%}.service-article{max-width:920px}.service-article h2{margin-top:36px}.service-article details{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.service-article summary{min-height:44px;color:var(--wine)}
.checkout-page select,.checkout-page input:not([type=checkbox]),.checkout-page textarea{min-height:48px;font-size:16px}.checkout-page .checkout-order h2{font-family:'VF Lora',serif;font-weight:400}.checkout-page .contact-panel h2{font-family:'VF Inter',sans-serif}.brand-story>div>h1{margin-bottom:22px}.brand-cart-open>main,.brand-cart-open>header{pointer-events:none}
.checkout-page .form select,.checkout-page .form input:not([type=checkbox]),.checkout-page .form textarea{min-height:48px;padding:12px 14px;border-radius:12px}.product-media img{object-fit:contain}.product-card .product-media{padding:12px;background:var(--paper)}
.cart-line .stepper,.product-card .stepper{background:var(--blush);color:var(--wine)}.cart-line .stepper :is(button,input),.product-card .stepper :is(button,input){background:transparent;color:var(--wine);font-weight:600}.cart-line .cart-remove{padding:8px 0;background:transparent;border:0;border-radius:0;text-align:left}.notice{background:var(--blush);color:var(--wine);border:1px solid var(--line);border-radius:14px;padding:16px}.mobile-navigation-heading button,.drawer-close,.custom-close,#close-detail{display:grid;place-items:center;line-height:1;font-size:28px;padding:0}
/* Sticky header already contains the basket; remove the duplicate covering totals. */
.mobile-cart{display:none!important}
/* This original is portrait-oriented: fill the shared card frame without distortion. */
body:is([data-brand-page=index],[data-brand-page=catalog]) .product-card[data-product=salads] .product-media img{object-fit:cover;object-position:50% 48%;border-radius:14px}
.brand-story-intro{display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:12px 8px;gap:20px}
.brand-story-intro .brand-signature{display:flex;align-items:center;justify-content:center;gap:16px;width:min(100%,440px);margin:0;padding:0;background:none;border-radius:0;font-size:13px;line-height:1.5;letter-spacing:.035em}
.brand-story-intro .brand-signature::before,.brand-story-intro .brand-signature::after{content:"";height:1px;flex:1;min-width:20px;background:var(--line)}
.brand-story-intro .brand-name{align-self:center;max-width:100%;margin:0;padding:12px 24px;line-height:1.4;border:1px solid var(--line);text-wrap:balance}
.brand-story-intro h2{margin:4px 0 0;text-wrap:balance}
.brand-card>.brand-signature{width:100%;margin:0 0 16px;padding:10px 16px;text-align:center;line-height:1.5;text-wrap:balance}.brand-card>p:last-child{margin-bottom:0}
.checkout-page .form>:is(label,button,small){min-width:0}.checkout-page .form :is(input,select,textarea){box-sizing:border-box;max-width:100%}.checkout-page .form>label:has(input[type=checkbox]){grid-column:1/-1;font-size:14px!important;font-weight:400;line-height:1.6}.checkout-page .form input[type=checkbox]{vertical-align:middle}
@media(max-width:760px){.checkout-page .form{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px}.checkout-page .form>label{grid-column:1/-1}.checkout-page .form input:not([type=checkbox]),.checkout-page .form select,.checkout-page .form textarea{display:block;width:100%;min-width:0}.checkout-page .form input[type=date]{appearance:none;-webkit-appearance:none;min-height:50px}.checkout-page .form input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:24px}.footer .footer-grid{grid-template-columns:minmax(0,1fr);gap:28px}.footer-grid>div:not(.footer-contact){padding-top:24px;border-top:1px solid #ffffff25}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.footer-bottom>a{margin:0}}
.order-success .brand-receipt-close{display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0 0 0 auto;padding:0;background:var(--blush);color:var(--wine);border:1px solid var(--line);border-radius:50%;font-size:28px;line-height:1}
@media(min-width:390px) and (max-width:700px){body[data-brand-page=catalog] .product-card{display:grid;grid-template-columns:40% minmax(0,1fr);padding:12px;gap:12px}body[data-brand-page=catalog] .product-media{padding:0;border-radius:16px;display:flex;align-items:center}body[data-brand-page=catalog] .product-media img{height:100%;aspect-ratio:auto;object-fit:contain}body[data-brand-page=catalog] .product-info{padding:4px 0;min-width:0}body[data-brand-page=catalog] .product-info h3{font-size:24px}body[data-brand-page=catalog] .product-info .button{font-size:14px;padding:10px}body[data-brand-page=catalog] .product-meta{font-size:14px}body[data-brand-page=catalog] .brand-product-label{font-size:12px;padding:5px 9px}}
@media(max-width:700px){.profile-fields{grid-template-columns:1fr}.brand-story .brand-photo.brand-portrait{max-height:none;height:auto;aspect-ratio:4/5}.brand-story>img{height:auto;aspect-ratio:7/5}.footer-grid>div{min-width:0}}
@media(max-width:1100px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters .search-filter{grid-column:span 2}.header .nav{gap:12px}.header .brand{font-size:21px}}
@media(max-width:980px){.header-row{display:flex;flex-wrap:wrap;min-height:0;padding-block:10px;gap:8px}.header .brand{flex:1 1 0;min-width:0;font-size:21px;gap:8px}.header .brand img{width:56px;height:52px}.header .brand span{font-size:21px!important;line-height:1.15;max-width:140px!important}.header-actions{gap:8px;margin-left:auto}.header .account-button{min-height:44px;font-size:13px;padding:8px 10px;white-space:nowrap}.header .cart-button{min-height:44px;min-width:52px;padding:8px 10px}.header .mobile-menu-button{flex-basis:100%;min-height:44px;padding:8px 12px;background:var(--blush);color:var(--wine);border:1px solid var(--line);font-size:17px;justify-content:flex-start;gap:10px}.mobile-nav-panel{border-radius:0 24px 24px 0}.mobile-nav-overlay{z-index:70}.catalog-sidebar{position:static!important}.hero-grid{gap:32px}.hero-proof{gap:16px}.hero h1{font-size:clamp(36px,6vw,60px)}body[data-brand-page=account]>header{padding:12px 20px;flex-wrap:wrap;gap:10px}body[data-brand-page=account]>header nav{gap:8px;flex-wrap:wrap}body[data-brand-page=account]>header nav a{min-height:44px;display:inline-flex;align-items:center}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.section{padding-block:40px}.page-hero{padding-block:28px}.page-hero h1{font-size:36px}.hero{padding-block:32px 40px}.hero-grid{display:grid;grid-template-columns:1fr}.hero h1{font-size:40px;margin-top:12px}.lead{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);font-size:12px;gap:10px}.hero-proof strong{font-size:17px}.hero-media>img{aspect-ratio:5/4;border-radius:22px}.hero-note{position:static;display:grid;grid-template-columns:1fr auto;margin:12px 0 0;padding:16px;gap:4px 12px;transform:none;width:auto}.hero-note strong{font-size:26px;grid-column:2;grid-row:1}.hero-note small{grid-column:1/-1}.hero-note span{font-size:14px}.product-grid{grid-template-columns:1fr;gap:20px}.product-info{padding:20px}.product-info h3{font-size:26px}.section-head{display:flex;align-items:flex-start;flex-direction:column;gap:12px}.section-head .button{width:100%}.catalog-layout{display:block}.catalog-sidebar{padding:0;margin-bottom:24px;background:none}.catalog-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible}.catalog-sidebar a{display:flex;align-items:center;white-space:normal;padding:10px 12px;font-size:14px}.catalog-sidebar h2{font-size:18px}.service-grid,.services-grid,.info-cards,.story-grid,.footer-grid,.brand-two-col{grid-template-columns:1fr}.service-card{padding:24px}.cta{padding:24px}.footer{padding-top:32px}.footer-grid{gap:24px}.brand-benefits{gap:16px}.brand-benefits img{width:36px;height:36px}.brand-benefits span{font-size:14px}.brand-story{gap:24px}.brand-story h2{font-size:30px}.brand-story blockquote,.brand-card{padding:22px}.brand-story>img{max-height:420px}.brand-name{font-size:20px}
body[data-brand-page=account] main,body[data-brand-page=account]>footer{padding:28px 16px}body[data-brand-page=account]>header{padding:10px 16px}.panel{padding:20px;margin-block:20px}.profile-grid,.field-pair{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr;gap:12px}.filters .search-filter{grid-column:1/-1}.filters button{grid-column:1/-1}.manager-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.order-card{padding:20px}.order-card .amount{font-size:26px}.order-meta .badge{max-width:100%}.detail-line{grid-template-columns:1fr;gap:4px}.dialog-heading{top:-20px;gap:10px}.dialog-heading h2{font-family:'VF Inter',sans-serif;font-size:17px;overflow-wrap:anywhere}dialog{padding:20px;border-radius:20px;max-height:90dvh;width:calc(100% - 24px)}.drawer-panel{padding:20px;border-radius:20px 0 0 20px}.cart-line{display:flex;flex-wrap:wrap}.cart-line>div:first-child{flex:1 1 100%}.cart-line .stepper{width:160px}.checkout-layout{display:grid;grid-template-columns:1fr}.checkout-page .checkout-form{padding:20px}.checkout-page .form-grid{grid-template-columns:1fr}}
@media(max-width:380px){.header .brand span{font-size:18px!important;max-width:102px!important}.header .brand img{width:48px;height:48px}.header-actions{gap:5px}.header .account-button{padding:8px;gap:4px}.header .account-button svg{display:none}.header .cart-button{min-width:48px;padding:8px}.hero h1{font-size:35px}.hero-proof{grid-template-columns:1fr}.hero-proof>span{display:flex;gap:8px;align-items:baseline}.hero-proof strong{min-width:95px}.auth-tabs button{padding-inline:10px;font-size:14px}.filters{grid-template-columns:1fr}.filters .search-filter{grid-column:auto}.brand-benefits{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Symmetric 44px tap targets; only the number area grows with digit count. */
body .stepper,body .cart-line .stepper,body.checkout-page .cart-line .stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:0;padding:4px;width:calc(122px + var(--quantity-digits,1) * 1ch);max-width:100%;min-height:54px;font-size:16px;font-variant-numeric:tabular-nums;justify-content:initial}
body .stepper button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;line-height:1}
body .stepper input,body .stepper output{width:100%;min-width:0;margin:0;padding:6px 0!important;text-align:center;font-size:16px;font-variant-numeric:tabular-nums;line-height:1.5}
/* Center authentication, without narrowing the signed-in order workspace. */
body[data-brand-page=account] :is(#login-panel,#manager-login){width:100%;margin-inline:auto;text-align:left}
body[data-brand-page=account] main:has(> :is(#login-panel,#manager-login):not([hidden])) > :is(.eyebrow,#page-title,.intro,#status,.help){max-width:720px;margin-inline:auto;text-align:center;text-wrap:balance}
