[hidden]{display:none!important}
/* Shared account indicator and popover; the page layouts keep their own styles. */
.customer-menu .customer-menu-footer button{display:flex;align-items:center;gap:12px;color:#a74221}
.customer-avatar{position:relative;font:600 13px 'Work Sans',sans-serif}
.customer-avatar i{position:absolute;right:0;bottom:0;width:9px;height:9px;background:#a1bb65;border:2px solid #f5f0e5;border-radius:50%}
header.site:has(.customer-menu:not([hidden])){z-index:240;backdrop-filter:none}
.customer-trigger-wrap .customer-menu{top:calc(100% + 10px);right:0;width:340px;min-width:0;max-height:calc(100dvh - 110px);overflow:auto;background:#faf6ec;border:1px solid #ded7c7;border-radius:20px;padding:18px;box-shadow:0 20px 65px #171d2330;color:#23271e}
.customer-menu-identity{display:flex;align-items:center;gap:12px;padding:4px 0 16px}
.customer-menu-avatar{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:#23271e;color:#faf6ec;font:500 18px 'Work Sans',sans-serif}
.customer-menu-identity>div{min-width:0;flex:1}.customer-menu-identity strong{display:block;font:600 15px 'Work Sans',sans-serif;overflow-wrap:anywhere}.customer-menu-identity small{display:block;font:12px 'Work Sans',sans-serif;color:#686a60;overflow-wrap:anywhere;margin-top:4px}.customer-menu-identity p{font:12px 'Work Sans',sans-serif;margin:5px 0 0;color:#a44017}
.customer-menu .customer-menu-close{display:grid;place-items:center;width:34px;height:34px;min-height:34px;flex:0 0 34px;padding:0;border-radius:50%;font-size:24px;color:#52584a}
.customer-menu-summary{display:flex;gap:10px;padding:12px 14px;margin-bottom:12px;border-radius:12px;background:#e9ecda;font:12px 'Work Sans',sans-serif}.customer-menu-summary span{flex:1}.customer-menu-summary strong{font-size:17px;margin-right:4px}
.customer-menu nav{display:grid;gap:3px}.customer-menu nav a,.customer-menu-footer button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:11px 12px;border-radius:11px;font:500 14px 'Work Sans',sans-serif;color:#23271e}
.customer-menu nav a svg{flex:0 0 21px;color:#707563}.customer-row-arrow{margin-left:auto;color:#818374}.customer-menu nav a.is-current{background:#f1e3d1;color:#b74416}.customer-menu nav a.is-current svg{color:#b74416}.customer-menu nav a:hover{background:#ecebdc}.customer-menu-footer{margin-top:12px;padding-top:10px;border-top:1px solid #ddd8c8}.customer-menu-footer button{color:#a74221}.customer-menu-footer p{font-size:13px}.customer-menu :focus-visible,.customer-avatar:focus-visible{outline:2px solid #bd4818;outline-offset:3px}.customer-backdrop{position:fixed;inset:0;background:#17201565;z-index:210}.customer-sheet-open{overflow:hidden}
@media(max-width:760px){.customer-trigger-wrap .customer-menu{position:fixed;top:auto;bottom:12px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 28px);padding:18px;border-radius:22px;z-index:220}.customer-menu-identity{padding-bottom:14px}.customer-menu nav a{min-height:46px}.customer-menu-summary{margin-bottom:8px}}
.customer-trigger{min-height:44px;white-space:nowrap;padding:10px 13px;background:transparent;color:#fff;border:1px solid currentColor;font:500 .85rem 'Work Sans',sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
header.on-light .customer-trigger,header.scrolled .customer-trigger{color:var(--ink)}
.customer-trigger-wrap{position:relative;display:flex;align-items:center}
.customer-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1px solid currentColor;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
header.on-light .customer-avatar,header.scrolled .customer-avatar{color:var(--ink)}
.customer-avatar:hover{background:rgba(255,255,255,.12)}
header.on-light .customer-avatar:hover,header.scrolled .customer-avatar:hover{background:var(--paper-2)}
.customer-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:208px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 32px rgba(20,17,13,.16);z-index:220;padding:8px;color:var(--ink)}
.customer-menu-name{padding:8px 12px 10px;margin:0 0 4px;font-size:.78rem;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line)}
.customer-menu a,.customer-menu button{display:block;width:100%;text-align:left;padding:11px 12px;font:500 .85rem 'Work Sans',sans-serif;color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;border-radius:4px;box-sizing:border-box}
.customer-menu a:hover,.customer-menu button:hover{background:var(--paper-2)}
.customer-menu-divider{height:1px;background:var(--line);margin:6px 2px}
.account-dialog{width:min(640px,calc(100% - 28px));max-height:90dvh;border:0;padding:42px;background:var(--paper);color:var(--ink);margin:auto;box-sizing:border-box}
.account-dialog::backdrop{background:rgba(20,17,13,.64);backdrop-filter:blur(5px)}
.account-close{position:absolute;top:12px;right:14px}
.account-intro{margin-bottom:28px;padding-right:15px}
.account-intro h2{font-size:clamp(2.3rem,6vw,3.4rem);line-height:1.05;margin:12px 0}
.account-intro p{max-width:42ch;color:var(--muted)}
.account-mark{display:block;font:italic 3rem 'Instrument Serif',serif;color:var(--rust)}
.social-login{display:grid;gap:10px}
.social-login button,.account-secondary{font:500 .9rem 'Work Sans',sans-serif;min-height:44px;padding:12px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.social-login button{display:flex;align-items:center;gap:12px;text-align:left}
.social-login button span:nth-child(2){flex:1}
.social-login button:disabled{color:var(--muted);cursor:default}.social-login small{font-weight:400}
.social-btn-icon{display:flex;align-items:center;flex-shrink:0}
.social-btn-google{background:#fff;border:1px solid #DADCE0;color:#3C4043;transition:box-shadow .15s,background .15s}
.social-btn-google:hover:not(:disabled){background:#f7f8f8;box-shadow:0 1px 2px rgba(60,64,67,.3)}
.social-btn-facebook{background:#1877F2;border-color:#1877F2;color:#fff}
.social-btn-facebook:hover:not(:disabled){background:#166FE5}
.social-btn-apple{background:#000;border-color:#000;color:#fff}
.social-btn-apple:hover:not(:disabled){background:#1a1a1a}
.social-btn-facebook:disabled,.social-btn-apple:disabled{background:var(--line);border-color:var(--line);color:var(--muted)}
.social-btn-facebook:disabled .social-btn-icon svg circle,.social-btn-apple:disabled .social-btn-icon svg{opacity:.5}
.local-login{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.local-login summary{cursor:pointer}.local-login p,.local-login small{font-size:.8rem;color:var(--muted)}
.local-login form{display:grid;gap:14px;margin-top:18px}.local-login label{display:grid;gap:5px;font-size:.85rem}.local-login input,.save-meal input{width:100%;padding:12px;background:#fff;border:1px solid var(--line);font:inherit;box-sizing:border-box}
.account-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.account-actions .btn{font-size:.9rem;padding:12px 20px}
.account-menu-link{display:inline-block;margin-top:20px;color:var(--rust-deep)}
.account-section{border-top:1px solid var(--line);padding:24px 0}.account-section h3{font-size:1.7rem;margin-bottom:16px}.account-empty,.account-muted{font-size:.9rem;color:var(--muted);line-height:1.7}
.account-meal{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.account-meal:last-child{border-bottom:0}.account-meal strong{font-weight:500}.account-meal p{font-size:.8rem;color:var(--muted);margin:5px 0}.account-meal button{flex-shrink:0}.account-remove{border:0;background:none;text-decoration:underline;font:inherit;font-size:.8rem;color:var(--muted);cursor:pointer;min-height:44px;padding:8px}
.account-news label{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;line-height:1.6}.account-news input{width:20px;height:20px;flex-shrink:0;accent-color:var(--moss)}
.loyalty-summary{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}.loyalty-points{font:italic 2rem 'Instrument Serif',serif;color:var(--rust-deep)}.loyalty-level{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.loyalty-bar{height:6px;background:var(--line);margin-bottom:8px}.loyalty-bar-fill{height:100%;background:var(--moss)}
.loyalty-history{list-style:none;padding:0;margin:14px 0 0;font-size:.82rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}
#accountError{color:var(--rust-deep);font-size:.9rem;margin-top:16px}#consentStatus{font-size:.85rem;margin-top:10px;color:var(--moss)}
.customer-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:300;background:var(--moss-deep);color:#fff;padding:16px 24px;width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;font-size:.9rem;box-shadow:0 6px 24px #0002}
.for-you{padding:36px 0;background:var(--paper-2);border-bottom:1px solid var(--line)}.for-you-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.for-you-head h2{font-size:2.4rem}.for-you-head p{font-size:.9rem;color:var(--muted);max-width:44ch}.for-you-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.taste-pick{border-left:2px solid var(--moss);padding-left:18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.taste-pick h3{font-size:1.5rem}.taste-pick p{font-size:.8rem;color:var(--muted);flex:1}.taste-pick button{background:none;border:0;border-bottom:1px solid var(--rust);color:var(--rust-deep);font:500 .85rem 'Work Sans';min-height:44px;cursor:pointer}
.save-meal{border-top:1px solid var(--line);padding-top:18px;margin:18px 0;display:grid;gap:10px}.save-meal label{font-size:.8rem}.save-meal button{justify-self:start}.save-meal p{font-size:.8rem;color:var(--moss)}
.cart-pairing{background:var(--paper-2);padding:18px;margin:16px 0}.cart-pairing h4{font:1.5rem 'Instrument Serif';margin-bottom:6px}.cart-pairing p{font-size:.8rem;color:var(--muted);margin-bottom:10px}.cart-pairing button{padding:10px 12px;min-height:44px;border:1px solid var(--moss);color:var(--moss-deep);background:transparent;cursor:pointer;font:500 .85rem 'Work Sans'}
@media(min-width:761px) and (max-width:1100px){.nav-links{gap:15px}.nav .brand img{width:135px}.nav-call{padding:11px 12px}.nav{padding:0 18px}.nav-end{gap:6px}.customer-trigger{padding:10px}}
/* Nav grid/column rules live solely in style.css (.nav, .nav-end, .burger) — this used to redefine
   them here too with different values, and since this file loads after style.css, this copy always
   won, silently fighting style.css's own mobile nav layout (the actual cause of the header breaking
   on narrow screens). Only customer.css-specific concerns stay here. */
@media(max-width:760px){.nav .brand img{width:120px}.nav-call{display:none}.customer-trigger{padding:8px 10px;font-size:.8rem}.customer-menu{right:-8px;min-width:190px}.account-dialog{padding:32px 22px}.account-meal{align-items:flex-start;flex-direction:column}.for-you-head{display:block}.for-you-head p{margin-top:10px}.for-you-list{grid-template-columns:1fr;gap:20px}.taste-pick{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.taste-pick p{grid-column:1}.taste-pick button{grid-column:2;grid-row:1/3;max-width:120px}.account-actions{gap:8px}}
