:root{--red:#d83b1f;--red-dark:#9f2417;--orange:#f47a22;--cream:#fff8ee;--paper:#fffdf8;--ink:#2f1712;--muted:#806c65;--line:#eadfd6;--green:#26845c;--shadow:0 18px 50px rgba(80,32,17,.12)}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1e9df;color:var(--ink);font-family:'DM Sans',sans-serif}.app-shell{max-width:1440px;min-height:100vh;margin:auto;background:var(--paper);position:relative;box-shadow:0 0 60px rgba(56,25,12,.08)}button,input{font:inherit}button{cursor:pointer}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,253,248,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px;border:0;background:none;color:var(--ink);padding:0;text-align:left}.logo-mark{width:47px;height:47px;display:grid;place-items:center;background:linear-gradient(145deg,var(--red),var(--orange));border-radius:15px 15px 15px 5px;box-shadow:0 8px 18px rgba(216,59,31,.22)}.logo-mark svg{width:35px;fill:white}.brand strong{font-family:'Fraunces',serif;font-size:25px;display:block;line-height:.9}.brand small{display:block;font-size:9px;letter-spacing:4px;font-weight:800;margin-top:5px;color:var(--red)}.top-actions{display:flex;gap:10px}.table-pill,.icon-button{border:1px solid var(--line);background:white;border-radius:99px;height:46px;padding:0 18px;font-weight:700;color:var(--ink)}.table-pill span{color:var(--red);margin-right:5px}.icon-button{width:48px;padding:0;position:relative}.icon-button b{position:absolute;right:-3px;top:-5px;background:var(--red);color:#fff;min-width:20px;height:20px;border-radius:20px;font-size:11px;display:grid;place-items:center}.hero{min-height:560px;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(216,59,31,.16);border-radius:50%;left:-170px;bottom:-170px}.hero-copy{padding:82px 4vw 70px 8vw;position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:2.4px;font-weight:800;color:var(--red)}h1,h2,h3,p{margin-top:0}.hero h1{font:800 clamp(54px,7vw,96px)/.86 'Fraunces',serif;letter-spacing:-4px;margin:18px 0 28px}.hero h1 em{color:var(--red);font-style:italic}.hero-copy p{font-size:18px;line-height:1.6;max-width:440px;color:var(--muted)}.primary-button{background:var(--ink);color:white;border:0;border-radius:99px;padding:16px 23px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:22px;box-shadow:0 10px 24px rgba(47,23,18,.2);transition:.2s transform,.2s background}.primary-button:hover{transform:translateY(-2px);background:var(--red)}.hero-art{position:relative;background:linear-gradient(145deg,#e94625,#f5842d);clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}.sun{width:310px;height:310px;border-radius:50%;background:#ffd987;position:absolute;top:80px;left:25%;box-shadow:0 0 0 25px rgba(255,255,255,.08)}.glass{position:absolute;width:180px;height:290px;border:13px solid rgba(255,255,255,.96);border-top-width:8px;border-radius:16px 16px 60px 60px;left:38%;top:95px;transform:rotate(8deg);background:linear-gradient(to top,#f6af28 0 68%,transparent 68%);filter:drop-shadow(0 20px 18px rgba(111,27,10,.18))}.glass:before{content:'';position:absolute;width:130px;height:34px;border-radius:50%;background:#ffcd55;left:12px;top:70px;box-shadow:0 -12px 0 #fff1c6}.glass i,.glass b{position:absolute;border-radius:50%;background:white}.glass i{width:13px;height:13px;left:30px;top:110px;box-shadow:55px 25px 0 -2px white,35px 70px 0 -3px white}.glass b{width:70px;height:13px;bottom:-34px;left:46px;opacity:.45}.orange{position:absolute;border-radius:50%;background:#ffb22c;border:9px solid #ffd773;box-shadow:inset -13px -10px 0 rgba(221,80,23,.22)}.orange-one{width:90px;height:90px;right:9%;bottom:13%}.orange-two{width:55px;height:55px;left:13%;top:18%}.sparkle{position:absolute;color:#fff6c9;font-size:48px;right:12%;top:16%;transform:rotate(14deg)}.content-section{padding:78px 6vw 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading h2,.staff-header h1{font:800 48px/1 'Fraunces',serif;margin:10px 0}.search{height:46px;width:240px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:0 16px;background:white}.search input{border:0;outline:0;width:100%;background:transparent}.categories{display:flex;gap:9px;overflow:auto;padding:27px 0 32px;scrollbar-width:none}.categories button{white-space:nowrap;border:1px solid var(--line);border-radius:99px;background:white;padding:11px 17px;color:var(--muted);font-weight:700}.categories button.active{background:var(--red);border-color:var(--red);color:white}.promo-card{background:var(--ink);color:white;border-radius:24px;padding:25px 30px;display:flex;align-items:center;gap:30px;position:relative;overflow:hidden}.promo-card:after{content:'✦';font-size:150px;color:rgba(255,255,255,.035);position:absolute;right:17%;top:-55px}.promo-card h3{font:700 28px 'Fraunces',serif;margin:6px 0}.promo-card p{margin:0;color:#cebeb7}.promo-label{color:#ffb36b;font-size:10px;letter-spacing:2px;font-weight:800}.promo-price{margin-left:auto;text-align:right;display:flex;flex-direction:column}.promo-price s{color:#a9938b;font-size:13px}.promo-price strong{font-size:22px}.promo-card button{z-index:1;border:0;border-radius:99px;background:var(--orange);color:white;padding:13px 18px;font-weight:800}.products-header{display:flex;justify-content:space-between;align-items:center;margin:45px 0 20px}.products-header h3{font:700 27px 'Fraunces',serif;margin:0}.products-header span{color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:.22s transform,.22s box-shadow}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-visual{height:188px;display:grid;place-items:center;position:relative;overflow:hidden}.product-visual:before{content:'';position:absolute;width:115px;height:115px;border-radius:50%;background:rgba(255,255,255,.47)}.product-emoji{font-size:82px;position:relative;filter:drop-shadow(0 13px 8px rgba(70,24,8,.15));transform:rotate(-4deg)}.tag{position:absolute;left:12px;top:12px;background:white;color:var(--red);font-size:9px;letter-spacing:1px;font-weight:800;border-radius:99px;padding:7px 9px}.product-info{padding:17px}.product-info h4{font-size:17px;margin:0 0 4px}.product-info p{font-size:12px;color:var(--muted);margin:0 0 18px}.product-bottom{display:flex;align-items:center;justify-content:space-between}.product-bottom strong{font-size:17px}.add-button{width:38px;height:38px;border:0;border-radius:50%;background:var(--ink);color:white;font-size:19px;transition:.2s}.add-button:hover{background:var(--red);transform:scale(1.06)}.bottom-nav{display:none}.view{display:none}.view.active{display:block}.staff-view{padding:60px 5vw 120px;min-height:calc(100vh - 88px);background:#f8f3ec}.staff-header{display:flex;justify-content:space-between;align-items:end}.staff-header p{color:var(--muted)}.staff-stats{display:flex;gap:12px}.staff-stats div{background:white;border:1px solid var(--line);border-radius:16px;padding:15px 20px;min-width:145px}.staff-stats span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.staff-stats strong{font-size:20px}.order-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.order-column{background:#eee6dc;border-radius:20px;padding:14px;min-height:460px}.column-head{display:flex;justify-content:space-between;align-items:center;padding:7px 5px 16px}.column-head h3{margin:0;font-size:15px}.column-head span{background:white;border-radius:99px;padding:4px 9px;font-size:11px}.order-card{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:11px}.order-card-head{display:flex;justify-content:space-between}.order-card h4{margin:0 0 4px}.order-card time{color:var(--muted);font-size:11px}.order-card ul{padding:13px 0 13px 18px;margin:0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.75}.order-card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:13px}.order-card button{border:0;border-radius:99px;background:var(--ink);color:white;padding:9px 12px;font-size:11px;font-weight:700}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(37,20,15,.43);z-index:50;opacity:0;pointer-events:none;transition:.25s;backdrop-filter:blur(3px)}.drawer-backdrop.open,.modal-backdrop.open{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;z-index:51;right:0;top:0;width:min(440px,100%);height:100vh;background:var(--paper);padding:28px;transform:translateX(105%);transition:.3s;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(40,16,8,.16)}.cart-drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:20px}.drawer-head h2{font:700 35px 'Fraunces',serif;margin:7px 0 0}.close-button{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:white;font-size:23px}.cart-items{overflow:auto;flex:1}.cart-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.cart-thumb{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;font-size:30px}.cart-item h4{margin:0 0 4px;font-size:14px}.cart-item small{color:var(--muted)}.quantity{display:flex;align-items:center;gap:8px;margin-top:7px}.quantity button{border:1px solid var(--line);background:white;border-radius:50%;width:24px;height:24px}.cart-item>strong{font-size:13px}.cart-empty{text-align:center;margin:auto;padding:60px 0}.cart-empty span{font-size:45px}.cart-empty h3{margin:15px 0 6px}.cart-empty p{color:var(--muted);font-size:13px}.cart-footer{border-top:1px solid var(--line);padding-top:17px}.discount-line,.total-line{display:flex;justify-content:space-between;align-items:center}.discount-line{font-size:12px;color:var(--muted);padding-bottom:14px}.discount-line button{border:0;background:none;color:var(--red);font-weight:800}.total-line{font-size:20px}.total-line strong{font-size:25px}.cart-footer>p{font-size:11px;color:var(--muted);margin:12px 0}.full{width:100%}.modal-backdrop{z-index:70;display:grid;place-items:center;padding:15px}.success-modal{width:min(420px,100%);background:white;border-radius:26px;padding:35px;text-align:center;position:relative;transform:translateY(12px) scale(.97);transition:.25s}.modal-backdrop.open .success-modal{transform:none}.success-modal .close-button{position:absolute;right:18px;top:18px}.success-icon{margin:5px auto 22px;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#e7f5ed;color:var(--green);font-size:30px}.success-modal h2{font:700 42px 'Fraunces',serif;margin:8px 0}.success-modal>p{color:var(--muted);line-height:1.5}.order-number{background:var(--cream);border-radius:16px;padding:15px;margin:22px 0}.order-number span{display:block;color:var(--muted);font-size:11px}.order-number strong{font-size:24px}.toast{position:fixed;z-index:90;left:50%;bottom:25px;transform:translate(-50%,30px);background:var(--ink);color:white;padding:12px 18px;border-radius:99px;font-size:13px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:65px 7vw 55px}.hero-art{height:330px;clip-path:polygon(0 12%,100% 0,100% 100%,0 100%)}.sun{width:230px;height:230px;top:55px}.glass{transform:scale(.75) rotate(8deg);transform-origin:top}.product-grid{grid-template-columns:repeat(2,1fr)}.order-columns{grid-template-columns:1fr}.order-column{min-height:100px}.staff-header{align-items:start;gap:20px}.staff-stats{flex-direction:column}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:18;background:rgba(255,255,255,.96);border-top:1px solid var(--line);height:70px;justify-content:center;backdrop-filter:blur(12px)}.bottom-nav button{flex:1;max-width:260px;border:0;background:none;color:var(--muted);font-size:10px;font-weight:700}.bottom-nav span{display:block;font-size:21px;margin-bottom:3px}.bottom-nav button.active{color:var(--red)}}
@media(max-width:560px){.topbar{height:71px;padding:0 16px}.logo-mark{width:39px;height:39px;border-radius:12px 12px 12px 4px}.logo-mark svg{width:29px}.brand strong{font-size:21px}.brand small{font-size:7px}.table-pill{height:39px;padding:0 12px;font-size:11px}.icon-button{height:40px;width:40px}.hero-copy{padding:50px 22px 42px}.hero h1{font-size:57px;letter-spacing:-3px}.hero-copy p{font-size:15px}.hero-art{height:260px}.sun{width:190px;height:190px;left:22%;top:42px}.glass{left:31%;top:52px;transform:scale(.58) rotate(8deg)}.orange-one{width:64px;height:64px}.content-section{padding:60px 16px 100px}.section-heading{align-items:start;flex-direction:column}.section-heading h2,.staff-header h1{font-size:39px}.search{width:100%}.categories{padding:20px 0}.promo-card{padding:22px;display:grid;grid-template-columns:1fr auto;gap:10px}.promo-card button{grid-column:1/-1}.promo-price{align-self:end}.products-header{margin-top:35px}.product-grid{gap:11px}.product-visual{height:145px}.product-emoji{font-size:62px}.product-info{padding:13px}.product-info h4{font-size:14px}.product-info p{font-size:10px;min-height:14px}.product-bottom strong{font-size:14px}.add-button{width:34px;height:34px}.staff-view{padding:40px 14px 100px}.staff-header{display:block}.staff-stats{flex-direction:row;margin-top:25px}.staff-stats div{min-width:0;flex:1;padding:12px}.staff-stats strong{font-size:15px}.cart-drawer{padding:21px}.drawer-head h2{font-size:31px}}

.admin-link,.staff-switch,.account-button{border:0;background:var(--ink);color:white;border-radius:99px;height:46px;padding:0 17px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center}.admin-link{background:white;color:var(--ink);border:1px solid var(--line)}.admin-link span,.staff-switch span,.account-button span{color:var(--orange);margin-right:5px}.account-button{background:var(--red)}.account-button.signed-in{background:#e9f5ee;color:var(--green)}.account-button b{font-weight:700;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-pill b{font-weight:700}.table-modal-card{width:min(510px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:26px;padding:34px;position:relative;box-shadow:var(--shadow)}.table-modal-card>.close-button{position:absolute;right:18px;top:18px}.table-modal-card h2{font:700 36px/1.1 'Fraunces',serif;margin:9px 45px 10px 0}.table-modal-card>p{color:var(--muted);line-height:1.5;font-size:14px;margin-bottom:24px}.table-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.table-option{aspect-ratio:1;border:1px solid var(--line);border-radius:13px;background:var(--cream);color:var(--ink);font-weight:800;transition:.18s}.table-option:hover{border-color:var(--orange);transform:translateY(-2px)}.table-option.active{background:var(--red);border-color:var(--red);color:white;box-shadow:0 7px 16px rgba(216,59,31,.24)}
@media(max-width:560px){.table-modal-card{padding:28px 20px}.table-modal-card h2{font-size:30px}.table-grid{grid-template-columns:repeat(5,1fr);gap:8px}.table-option{border-radius:11px}}
  @media(max-width:900px){.staff-switch,.admin-link{display:none}}

.previous-orders{margin-top:24px;background:white;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 12px 30px rgba(80,32,17,.06)}
.previous-orders-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.previous-orders-head h2{font:700 28px/1 'Fraunces',serif;margin:5px 0 0}
.previous-orders-head button{border:1px solid var(--line);background:var(--cream);border-radius:99px;padding:10px 14px;font-weight:800;color:var(--ink)}
.previous-order-list{max-height:360px;overflow:auto;display:grid;gap:10px;padding-right:4px}
.previous-order-entry{border:1px solid var(--line);border-radius:14px;background:#fffdf8;overflow:hidden}
.previous-order-entry summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px}
.previous-order-entry summary::-webkit-details-marker{display:none}
.previous-order-entry summary>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.previous-order-entry summary strong{font-size:15px}
.previous-order-entry summary span,.previous-order-meta span{font-size:12px;color:var(--muted)}
.previous-order-entry summary b{font-size:11px;color:white;background:var(--green);border-radius:99px;padding:5px 8px}
.previous-order-body{border-top:1px solid var(--line);padding:12px 15px 15px}
.previous-order-body ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.previous-order-body li{display:flex;justify-content:space-between;gap:14px;font-size:13px}
.order-card li.promotion-order-item,.previous-order-body li.promotion-order-item{display:block;background:#fff8ee;border:1px solid #f2d7c6;border-radius:12px;padding:8px 10px;margin:5px 0;list-style-position:inside}.order-card li.promotion-order-item>span,.previous-order-body li.promotion-order-item>span{font-weight:900}.order-item-meta{display:block;color:#8b563d;font-size:11px;line-height:1.4;margin-top:4px}.previous-order-body .order-item-meta{max-width:100%;color:#8b563d}
.previous-customer{margin:0 0 10px;color:var(--red);font-weight:800;font-size:12px}
.previous-order-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.previous-order-meta span{background:white;border:1px solid var(--line);border-radius:99px;padding:5px 8px}
@media(max-width:560px){.previous-orders{padding:14px}.previous-orders-head{align-items:flex-start}.previous-order-entry summary{align-items:flex-start;display:grid}.previous-order-entry summary>div{justify-content:space-between}}

.secondary-button{border:1px solid var(--line);background:white;color:var(--red);border-radius:99px;padding:14px 20px;font-weight:800;margin-bottom:10px}.secondary-button:hover{background:var(--cream)}.registration-card{width:min(480px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:26px;padding:34px;position:relative;box-shadow:var(--shadow);text-align:left}.registration-card>.close-button{position:absolute;right:18px;top:18px}.registration-card h2{font:700 36px/1.08 'Fraunces',serif;margin:9px 45px 10px 0}.registration-card>p{color:var(--muted);line-height:1.45;font-size:14px}.registration-card>label{display:block;margin:14px 0}.registration-card>label span{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.registration-card>label small{color:var(--muted);font-weight:500}.registration-card>label input{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 13px;outline:none}.registration-card>label input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,122,34,.12)}.consent-box{background:var(--cream);border-radius:15px;padding:14px;margin:17px 0 10px}.consent-box label{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.4;margin:9px 0}.consent-box input{accent-color:var(--red);margin-top:2px}.privacy-note{display:block;color:var(--muted);line-height:1.4;margin-bottom:18px}.table-pill:disabled{cursor:default;opacity:1}.table-pill.locked{border-color:#efd0c5;background:#fff4ee;color:var(--red)}
.history-card{width:min(540px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:26px;padding:34px;position:relative;box-shadow:var(--shadow)}.history-card>.close-button{position:absolute;right:18px;top:18px}.history-card h2{font:700 36px 'Fraunces',serif;margin:8px 45px 22px 0}.history-entry{border:1px solid var(--line);border-radius:16px;padding:16px;margin:10px 0}.history-entry header{display:flex;justify-content:space-between;gap:10px}.history-entry header strong{color:var(--red)}.history-entry header time{font-size:11px;color:var(--muted)}.history-entry p{font-size:12px;color:var(--muted);margin:9px 0 0}.history-empty{text-align:center;color:var(--muted);padding:35px}
.product-photo{width:100%;height:100%;object-fit:cover;position:relative}.cart-thumb{overflow:hidden}.cart-thumb img{width:100%;height:100%;object-fit:cover}.account-card{width:min(450px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:26px;padding:34px;position:relative;box-shadow:var(--shadow);text-align:left}.account-card>.close-button{position:absolute;right:18px;top:18px}.account-card h2{font:700 38px/1.1 'Fraunces',serif;margin:9px 45px 10px 0}.account-card p{color:var(--muted);font-size:14px;line-height:1.5}.account-card form label{display:block;margin:14px 0}.account-card form label span{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.account-card form input{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 13px;outline:none}.account-card form .primary-button{margin:8px 0 12px}.account-avatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--red),var(--orange));color:white;font:800 32px 'Fraunces',serif;margin:10px 0 20px}.danger-button{border:0;background:#fff0ed;color:var(--red-dark);border-radius:99px;padding:14px 20px;font-weight:800}.account-card .secondary-button{margin-top:10px}
.password-setup{background:var(--cream);border:1px solid #f1d5c5;border-radius:15px;padding:15px;margin:16px 0}.password-setup>strong{font-size:13px}.password-setup>p{font-size:11px;margin:5px 0!important}.danger-button:disabled{opacity:.5;cursor:not-allowed}
.account-action-button{display:flex!important;align-items:center;justify-content:center;gap:10px}.account-action-button[hidden]{display:none!important}.account-action-button>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.account-badge{min-width:28px;height:28px;border-radius:999px;background:var(--red);color:white;display:inline-grid;place-items:center;padding:0 9px;font-size:12px;font-weight:900;line-height:1;box-shadow:0 8px 16px rgba(216,59,31,.18);flex:0 0 auto}.account-badge.soft{background:#e4f4eb;color:var(--green);box-shadow:none}.account-badge[hidden]{display:none!important}
.account-button{position:relative}.top-account-badge{position:absolute;right:-6px;top:-8px;min-width:24px;height:24px;border-radius:999px;background:var(--red);color:white;display:grid;place-items:center;padding:0 7px;font-style:normal;font-size:12px;font-weight:900;line-height:1;box-shadow:0 8px 18px rgba(216,59,31,.28);border:2px solid white}.top-account-badge[hidden]{display:none!important}
.personal-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.personal-totals div{background:var(--cream);border-radius:14px;padding:14px}.personal-totals span{display:block;color:var(--muted);font-size:10px}.personal-totals strong{display:block;font-size:20px;margin-top:4px}.personal-stat-row{position:relative;border-bottom:1px solid var(--line);padding:12px 0;overflow:hidden}.personal-stat-row div{display:flex;justify-content:space-between;position:relative;z-index:1}.personal-stat-row strong{font-size:13px}.personal-stat-row span{font-size:10px;color:var(--muted)}.personal-stat-row i{display:block;height:4px;background:linear-gradient(90deg,var(--red),var(--orange));border-radius:9px;margin-top:8px}
.staff-login-link{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:14px;text-decoration:none}.staff-login-link:hover{color:var(--red)}
.checkout-card{width:min(620px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:26px;padding:32px;position:relative;box-shadow:var(--shadow)}.checkout-card>.close-button{position:absolute;right:18px;top:18px}.checkout-card h2{font:700 39px/1.1 'Fraunces',serif;margin:8px 45px 24px 0}.checkout-card fieldset{border:0;padding:0;margin:0 0 22px}.checkout-card legend{font-size:13px;font-weight:800;margin-bottom:10px}.checkout-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-options label{cursor:pointer}.checkout-options input{position:absolute;opacity:0;pointer-events:none}.checkout-options label>span{height:100%;display:grid;grid-template-columns:auto 1fr;column-gap:10px;border:1px solid var(--line);border-radius:15px;padding:14px;transition:.18s;background:white}.checkout-options label>span>b{font-size:23px;grid-row:1/3}.checkout-options strong,.checkout-options small{display:block}.checkout-options strong{font-size:12px}.checkout-options small{color:var(--muted);font-size:9px;line-height:1.4;margin-top:3px}.checkout-options input:checked+span{border-color:var(--red);background:#fff4ef;box-shadow:0 0 0 2px rgba(216,59,31,.1)}.checkout-options input:checked+span:after{content:'✓';position:absolute;color:var(--red);font-weight:900}.checkout-summary{display:flex;justify-content:space-between;background:var(--cream);border-radius:14px;padding:14px 16px;margin:4px 0 16px}.checkout-summary span{color:var(--muted);font-size:12px}.order-methods{display:grid;gap:7px;margin:14px 0 4px}.order-methods span{display:block;font-size:12px;line-height:1.25;font-weight:900;background:#f1ece7;color:var(--ink);border:1px solid #e2d6ca;border-radius:12px;padding:10px 12px}.order-methods span:before{content:'• ';color:var(--orange);font-size:16px;vertical-align:-1px}.order-methods .table-method{background:#fff0e7;color:var(--red-dark);border-color:#f4c7b7;box-shadow:0 4px 14px rgba(216,59,31,.08)}@media(max-width:560px){.checkout-card{padding:27px 18px}.checkout-card h2{font-size:33px}.checkout-options{grid-template-columns:1fr}}
.hero.custom-hero{background-image:linear-gradient(105deg,rgba(47,23,18,.86),rgba(216,59,31,.46)),var(--hero-bg-image);background-size:cover;background-position:center;color:white}.hero.custom-hero[data-overlay="dark"]{background-image:linear-gradient(105deg,rgba(20,10,7,.9),rgba(20,10,7,.25)),var(--hero-bg-image)}.hero.custom-hero[data-overlay="none"]{background-image:var(--hero-bg-image)}.hero.custom-hero .hero-copy p{color:rgba(255,255,255,.86)}.hero.custom-hero .eyebrow{color:#ffd29b}.hero.custom-hero .hero-art{background:rgba(216,59,31,.16);backdrop-filter:blur(2px)}.target-table-wrap{display:block;margin-top:10px}.target-table-wrap span{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.target-table-wrap select{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;background:white;padding:0 12px}.gift-order{border-color:#f6c796;box-shadow:0 0 0 2px rgba(244,122,34,.1)}.gift-note{background:#fff4e7;color:#9a4c13;border:1px solid #f6d0a0;border-radius:12px;padding:10px 12px;margin:12px 0 0;font-size:13px;line-height:1.3;font-weight:900}
.order-status-strip{position:sticky;top:88px;z-index:17;background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);padding:12px 5vw;display:flex;align-items:center;gap:16px;box-shadow:0 12px 28px rgba(80,32,17,.06);backdrop-filter:blur(12px)}.order-status-title{min-width:150px}.order-status-title span{display:block;font-size:9px;letter-spacing:1.7px;font-weight:900;color:var(--red);text-transform:uppercase}.order-status-title strong{display:block;font-size:15px}.order-status-list{display:flex;gap:10px;overflow:auto;flex:1}.order-status-pill{min-width:230px;border:1px solid var(--line);border-radius:16px;background:white;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.order-status-pill strong{display:block;font-size:15px}.order-status-pill small{display:block;color:var(--muted);font-size:11px;line-height:1.3;margin-top:2px}.order-status-pill>span{border-radius:99px;padding:7px 9px;background:var(--cream);color:var(--red);font-size:10px;font-weight:900;white-space:nowrap}.order-status-pill.status-making{border-color:#ffd39d;background:#fff8ef}.order-status-pill.status-ready{border-color:#bfe4cc;background:#effaf3}.order-status-pill.status-ready>span{background:#daf3e4;color:var(--green)}.order-status-pill.status-done{opacity:.75}
.redeem-points-field{display:block;background:var(--cream);border:1px solid #f1d5c5;border-radius:15px;padding:13px 14px;margin:0 0 16px}.redeem-points-field span{display:block;font-size:12px;font-weight:900;margin-bottom:6px}.redeem-points-field input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px}.redeem-points-field small{display:block;color:var(--muted);font-size:10px;margin-top:6px}
.promotion-popup-card{width:min(520px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:26px;position:relative;box-shadow:0 30px 90px rgba(47,23,18,.28);transform:translateY(14px) scale(.97);transition:.25s}.modal-backdrop.open .promotion-popup-card{transform:none}.promotion-popup-card>.close-button{position:absolute;right:16px;top:16px;z-index:2;background:rgba(255,255,255,.92)}.promotion-popup-image{height:220px;background:linear-gradient(145deg,var(--red),var(--orange));background-size:cover;background-position:center}.promotion-popup-image[hidden]{display:none}.promotion-popup-body{padding:30px}.promotion-popup-body h2{font:800 40px/1.05 'Fraunces',serif;margin:8px 45px 12px 0}.promotion-popup-body p{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 22px}.birthday-order{border-color:#f0b84d!important;box-shadow:0 0 0 2px rgba(240,184,77,.2)}.birthday-order-note{background:#fff0c2;color:#7a3f00;border:1px solid #f0c05d;border-radius:12px;padding:10px 12px;margin:12px 0 0;font-size:12px;line-height:1.35;font-weight:900}
@media(max-width:560px){.promotion-popup-image{height:170px}.promotion-popup-body{padding:25px 20px}.promotion-popup-body h2{font-size:32px}}
.variant-select{width:100%;height:38px;border:1px solid var(--line);border-radius:11px;background:white;padding:0 10px;margin:-5px 0 12px;color:var(--ink);font-weight:700;font-size:12px}
@media(max-width:900px){.order-status-strip{top:71px;display:block;padding:10px 16px}.order-status-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.order-status-list{padding-bottom:2px}.order-status-pill{min-width:82vw}}
.checkout-options label>span{position:relative}.checkout-options input:checked+span:after{right:10px;top:9px}
@media(max-width:620px){.account-button{width:42px;padding:0;justify-content:center}.account-button span{margin:0}.account-button b{display:none}.top-actions{gap:6px}}
@media(max-width:900px){.admin-link:not([hidden]){display:inline-flex;width:42px;padding:0;justify-content:center;font-size:0}.admin-link span{margin:0;font-size:15px}}
.category-picker{position:relative;margin:27px 0 32px}.category-trigger{width:100%;min-height:72px;border:1px solid var(--line);border-radius:24px;background:white;color:var(--ink);display:flex;align-items:center;gap:14px;padding:13px 18px;text-align:left;box-shadow:0 10px 26px rgba(80,32,17,.06)}.category-trigger-icon{width:46px;height:46px;border-radius:16px;background:linear-gradient(145deg,var(--red),var(--orange));display:grid;place-items:center;color:white;font-size:23px;flex:none}.category-trigger small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.category-trigger strong{display:block;font-size:21px;margin-top:3px}.category-trigger b{margin-left:auto;font-size:22px;color:var(--red);transition:.2s transform}.category-picker.open .category-trigger b{transform:rotate(180deg)}.category-panel{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:16;background:white;border:1px solid var(--line);border-radius:24px;padding:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(-6px);pointer-events:none;transition:.18s}.category-picker.open .category-panel{opacity:1;transform:none;pointer-events:auto}.category-panel button{border:1px solid var(--line);border-radius:18px;background:#fffaf4;color:var(--ink);padding:14px 12px;text-align:left;min-height:104px;display:flex;flex-direction:column;gap:6px}.category-panel button span{width:36px;height:36px;border-radius:13px;background:white;display:grid;place-items:center;font-size:20px}.category-panel button strong{font-size:14px}.category-panel button small{margin-top:auto;color:var(--muted);font-size:10px}.category-panel button.active{background:linear-gradient(145deg,var(--red),var(--orange));border-color:transparent;color:white}.category-panel button.active small{color:#ffe5d4}.category-panel button.active span{background:rgba(255,255,255,.2)}.category-trigger-icon.has-menu-image{background:white;padding:0;overflow:hidden}.category-trigger-icon img,.category-panel button span.has-menu-image img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.category-panel button span.has-menu-image{width:100%;height:58px;border-radius:14px;background:white;overflow:hidden;font-size:0}.category-panel button.active span.has-menu-image{background:rgba(255,255,255,.22)}
@media(max-width:900px){.category-panel{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.category-panel button span.has-menu-image{height:52px}}@media(max-width:560px){.category-picker{margin:20px 0 24px}.category-trigger{min-height:66px;border-radius:20px}.category-trigger strong{font-size:18px}.category-panel{position:fixed;left:12px;right:12px;top:auto;bottom:82px;grid-template-columns:repeat(2,1fr);max-height:62vh;overflow:auto}.category-panel button{min-height:92px}}
.product-visual.has-photo{background:linear-gradient(180deg,#fff,#fff9f1)!important}.product-visual.has-photo:before{width:150px;height:150px;background:radial-gradient(circle,rgba(244,122,34,.12),rgba(244,122,34,0) 68%);box-shadow:inset 0 0 0 1px rgba(234,223,214,.45)}.product-visual.has-photo .tag{box-shadow:0 8px 18px rgba(47,23,18,.08)}.product-photo{width:auto!important;height:auto!important;max-width:82%!important;max-height:172px!important;object-fit:contain!important;object-position:center!important;position:relative;z-index:1;filter:drop-shadow(0 12px 10px rgba(70,24,8,.14));border-radius:0}.cart-thumb img{width:auto!important;height:auto!important;max-width:48px!important;max-height:48px!important;object-fit:contain!important;object-position:center!important;padding:5px;background:white}
@media(max-width:560px){.product-photo{max-height:132px!important}.cart-thumb img{max-width:46px!important;max-height:46px!important}}
@supports(height:100dvh){.cart-drawer{height:100dvh;max-height:100dvh}}
@media(max-width:560px){.cart-drawer{height:100dvh;max-height:100dvh;padding:21px 21px max(18px,calc(env(safe-area-inset-bottom) + 14px));overflow:hidden}.cart-items{min-height:0;overscroll-behavior:contain}.cart-footer{flex:0 0 auto;padding-bottom:2px}.cart-footer .primary-button{min-height:52px}}
.qr-scan-button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--red);font-weight:900}.guest-qr-card{border:1px solid var(--line);border-radius:18px;background:var(--cream);padding:14px;margin:14px 0;text-align:center}.guest-qr-card span,.guest-qr-card small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:8px}.guest-qr-card img{width:min(190px,70vw);height:auto;background:white;border-radius:12px;padding:10px}.account-qr-card{margin-bottom:12px}.qr-video{width:100%;max-height:48vh;border-radius:18px;background:#140c09;object-fit:cover;margin:14px 0}.qr-reader-card>p{color:var(--muted);font-size:13px;line-height:1.45}
.category-panel button.promo-category{border-color:#f0b84d;background:#fff4d4}.category-panel button.promo-category.active{border-color:var(--red);background:#fff0e9}.product-grid{grid-template-columns:repeat(3,1fr)}.product-card{display:grid;grid-template-columns:104px minmax(0,1fr);min-height:142px}.product-card:hover{transform:none}.product-visual{height:auto;min-height:142px}.product-visual:before{width:74px;height:74px}.product-emoji{font-size:50px}.product-info{display:flex;flex-direction:column;min-width:0}.product-info h4{font-size:16px;line-height:1.15}.product-info p{min-height:0;margin-bottom:10px}.product-info .variant-select{width:100%;min-width:0}.product-bottom{margin-top:auto}.product-empty{grid-column:1/-1;background:white;border:1px solid var(--line);border-radius:18px;padding:24px;text-align:center;color:var(--muted)}@media(max-width:900px){.product-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.product-grid{grid-template-columns:1fr}.product-card{grid-template-columns:88px minmax(0,1fr);min-height:126px}.product-visual{min-height:126px}.product-photo{max-height:104px!important}.product-info h4{font-size:15px}.product-info p{font-size:11px}.promo-card{margin-bottom:4px}}
.qr-steps{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:10px}.qr-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:11px;color:var(--muted);font-size:13px;line-height:1.35}.qr-steps li:before{counter-increment:qrstep;content:counter(qrstep);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--red);font-weight:900}.qr-steps{counter-reset:qrstep}.qr-reader-card .primary-button{margin-top:12px}
.counter-qr-card>p{color:var(--muted);font-size:13px;line-height:1.45}.counter-qr-details{border:1px solid var(--line);border-radius:14px;background:#fffaf4;padding:10px 12px;margin:10px 0 12px}.counter-qr-details:empty{display:none}.counter-qr-details ul{list-style:none;margin:0;padding:0}.counter-qr-details li,.counter-qr-details p{display:flex;justify-content:space-between;gap:10px;margin:0;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.counter-qr-details li:last-child{border-bottom:0}.counter-qr-details .deposit span{color:#9b4b2f;font-weight:800}.counter-qr-details strong{white-space:nowrap}.counter-qr-details .total{border-top:2px solid var(--ink);border-bottom:0;margin-top:6px;padding-top:10px;font-size:13px}.counter-qr-help{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:12px;margin:12px 0 0}
@media(max-width:620px){.qr-scan-button{width:42px;height:42px}.qr-scan-button span{font-size:16px}}
.order-alert-toggle{border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);padding:13px 18px;text-align:left;min-width:155px}.order-alert-toggle span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.order-alert-toggle strong{font-size:15px}.order-alert-toggle.active{border-color:#bfe4cc;background:#effaf3;color:var(--green)}.new-order-alert{margin:22px 0 0;border:1px solid #f0c05d;background:#fff0c2;color:#6d3a00;border-radius:18px;padding:15px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 12px 28px rgba(80,32,17,.08)}.new-order-alert strong{font-size:16px}.new-order-alert span{flex:1;font-size:13px}.new-order-alert button{border:0;border-radius:99px;background:#6d3a00;color:white;padding:9px 14px;font-weight:900}.staff-message-alert{border-color:#bfe4cc;background:#effaf3;color:#185b3f}.staff-message-alert button{background:var(--green)}.staff-message-alert button+button{background:white;color:var(--green);border:1px solid #bfe4cc}@media(max-width:560px){.order-alert-toggle{min-width:0;flex:1;padding:12px}.new-order-alert{display:grid;gap:8px}.new-order-alert button{width:100%}}
.promo-offers{display:grid;gap:14px;margin-bottom:4px}.promo-offers[hidden]{display:none}.search-results-panel{margin:22px 0 30px}.search-results-panel[hidden]{display:none}.search-results-panel .products-header{margin:0 0 16px}.search-product-grid{scroll-margin-top:100px}.category-picker.open{margin-bottom:18px}.category-panel{display:none;opacity:1;transform:none;pointer-events:auto}.category-picker.open .category-panel{display:grid}@media(max-width:560px){.search-results-panel{margin:16px 0 24px}.search-results-panel .products-header{margin-bottom:12px}.category-panel{position:fixed;left:12px;right:12px;top:auto;bottom:82px;display:none;grid-template-columns:repeat(2,1fr);max-height:62vh;overflow:auto;opacity:1;transform:none;pointer-events:auto}.category-picker.open .category-panel{display:grid}}
.cart-summary-line{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding:0 0 10px}.cart-summary-line strong{color:var(--ink)}.drs-pill{display:inline-flex;align-items:center;border:1px solid #f0c05d;background:#fff0c2;color:#6d3a00;border-radius:99px;padding:4px 8px;font-size:10px;font-weight:900;margin:2px 0 8px}.cart-item .drs-note{display:block;color:#9b4b2f;font-weight:800;margin-top:3px}
.category-intro{border:1px solid #efd6c7;background:linear-gradient(135deg,#fffaf4,#fff4ec);border-radius:20px;padding:16px 18px;margin:-8px 0 18px;display:grid;gap:5px;box-shadow:0 10px 24px rgba(80,32,17,.05)}
.category-intro[hidden]{display:none}.category-intro span{color:var(--red);font-size:10px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}.category-intro p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.product-card--drink{grid-template-columns:132px minmax(0,1fr);min-height:178px;border-radius:20px;background:#fffdf9;box-shadow:0 10px 26px rgba(80,32,17,.045)}
.product-card--drink .product-visual{min-height:178px}.product-card--drink .product-visual:before{width:104px;height:104px}.product-card--drink .product-photo{max-height:150px!important}.product-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:6px}.product-title-row h4{margin:0;min-width:0}.product-title-row strong{white-space:nowrap;color:var(--red);font-size:15px}
.product-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.product-meta span{border:1px solid var(--line);background:#fff8ee;border-radius:99px;padding:5px 8px;color:#7f4a35;font-size:10px;font-weight:900}
.product-action-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:10px;align-items:end;margin-top:auto}.variant-field{display:block;min-width:0}.variant-field span{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}.variant-field select{width:100%;height:42px;border:1px solid var(--line);border-radius:13px;background:var(--cream);color:var(--ink);font-weight:800;padding:0 10px;outline:none}.variant-field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,122,34,.13)}.product-action-row .add-button{width:42px;height:42px}
@media(max-width:900px){.product-card--drink{grid-template-columns:116px minmax(0,1fr)}}@media(max-width:560px){.category-intro{margin:-4px 0 14px;padding:13px 14px}.product-card--drink{grid-template-columns:98px minmax(0,1fr);min-height:142px;border-radius:18px}.product-card--drink .product-visual{min-height:142px}.product-card--drink .product-visual:before{width:72px;height:72px}.product-card--drink .product-photo{max-height:112px!important}.product-title-row{display:grid;gap:3px}.product-title-row strong{font-size:14px}.product-meta{gap:4px;margin-bottom:8px}.product-meta span{font-size:9px;padding:4px 7px}.product-action-row{grid-template-columns:minmax(0,1fr) 38px;gap:8px}.variant-field select{height:38px;font-size:12px}.product-action-row .add-button{width:38px;height:38px}}
.variant-pills{display:flex;gap:6px;flex-wrap:wrap;align-content:end}.variant-pills button{border:1px solid var(--line);border-radius:13px;background:var(--cream);color:var(--ink);padding:7px 9px;text-align:left;min-height:42px;display:grid;gap:2px;line-height:1.05}.variant-pills button span{font-size:11px;font-weight:900}.variant-pills button strong{font-size:10px;color:var(--muted)}.variant-pills button.active{border-color:var(--red);background:#fff0e9;box-shadow:0 0 0 2px rgba(216,59,31,.08)}.variant-pills button.active strong{color:var(--red)}
@media(max-width:560px){.variant-pills{gap:5px}.variant-pills button{min-height:38px;padding:6px 8px}.variant-pills button span{font-size:10px}.variant-pills button strong{font-size:9px}}
.subcategory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 24px}.subcategory-grid[hidden]{display:none}.subcategory-card{border:1px solid var(--line);border-radius:18px;background:#fffdf9;color:var(--ink);padding:0;display:grid;grid-template-rows:128px 1fr auto;text-align:left;overflow:hidden;box-shadow:0 10px 24px rgba(80,32,17,.045);transition:.18s transform,.18s border,.18s box-shadow}.subcategory-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.subcategory-card.active{border-color:var(--red);box-shadow:0 0 0 2px rgba(216,59,31,.12)}.subcategory-media{display:grid;place-items:center;position:relative;font-size:54px;overflow:hidden}.subcategory-media:before{content:'';position:absolute;width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.48)}.subcategory-media img{position:relative;z-index:1;width:auto;height:auto;max-width:82%;max-height:108px;object-fit:contain;filter:drop-shadow(0 12px 10px rgba(70,24,8,.12))}.subcategory-media.has-menu-image:before{display:none}.subcategory-media.has-menu-image img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none}.subcategory-media:not(:has(img)){position:relative;z-index:0}.subcategory-body{display:grid;gap:4px;padding:13px 14px 8px}.subcategory-body strong{font-size:15px}.subcategory-body small,.subcategory-body em{font-style:normal;color:var(--muted);font-size:11px;font-weight:800}.subcategory-body em{color:#9b4b2f}.subcategory-card>b{padding:0 14px 14px;color:var(--red);font-size:14px}.subcategory-back{margin:-6px 0 14px}.subcategory-back[hidden]{display:none}.subcategory-back button{border:1px solid var(--line);border-radius:99px;background:white;color:var(--red);padding:10px 14px;font-weight:900}.product-card--variant .single-action{grid-template-columns:1fr 42px}.variant-origin{align-self:center;color:var(--muted);font-size:11px;font-weight:900}
@media(max-width:900px){.subcategory-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.subcategory-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.subcategory-card{grid-template-rows:92px 1fr auto;border-radius:16px}.subcategory-media{font-size:42px}.subcategory-media:before{width:68px;height:68px}.subcategory-media img{max-height:78px}.subcategory-body{padding:10px 11px 6px}.subcategory-body strong{font-size:13px}.subcategory-body small,.subcategory-body em{font-size:10px}.subcategory-card>b{padding:0 11px 11px;font-size:12px}}


.product-card--variant.has-photo-card .product-visual{
  background:#fff7ec!important;
  padding:12px;
}
.product-card--variant.has-photo-card .product-visual:before{
  display:none;
}
.product-card--variant.has-photo-card .product-photo{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:16px;
  background:white;
  padding:8px;
  filter:drop-shadow(0 10px 16px rgba(70,24,8,.1));
  box-shadow:0 12px 22px rgba(70,24,8,.12);
}
@media(max-width:560px){
  .product-card--variant.has-photo-card .product-visual{
    padding:8px;
  }
  .product-card--variant.has-photo-card .product-photo{
    border-radius:13px;
    padding:6px;
  }
}

.promo-card-image{width:96px;height:96px;border-radius:18px;object-fit:cover;position:relative;z-index:1;box-shadow:0 12px 28px rgba(0,0,0,.18);background:white;flex:none}
.promo-card.has-promo-image{padding-left:20px}
@media(max-width:560px){.promo-card{display:grid;grid-template-columns:76px minmax(0,1fr) 66px;grid-template-areas:'image body price' 'image body action';align-items:center;gap:8px 12px;padding:14px;border-radius:20px;min-height:112px}.promo-card.has-promo-image{grid-template-columns:76px minmax(0,1fr) 66px;padding-left:14px}.promo-card:not(.has-promo-image){grid-template-columns:minmax(0,1fr) 66px;grid-template-areas:'body price' 'body action'}.promo-card-image{grid-area:image;width:76px;height:76px;border-radius:16px;object-fit:cover}.promo-card>div:first-of-type{grid-area:body;min-width:0}.promo-card:after{font-size:90px;right:-8px;top:-28px}.promo-card h3{font-size:21px;line-height:1.02;margin:4px 0}.promo-card p{font-size:12px;line-height:1.3;max-height:34px;overflow:hidden}.promo-price{grid-area:price;margin-left:0;text-align:right;align-self:end}.promo-price s,.promo-price strong{white-space:nowrap}.promo-price strong{font-size:17px}.promo-card button{grid-area:action;justify-self:end;align-self:start;width:42px;height:42px;padding:0;border-radius:50%;display:grid;place-items:center}.promo-card button span:first-child{display:none}.promo-card button span:last-child{font-size:20px;line-height:1}}
.promo-product-grid{grid-template-columns:1fr!important;gap:14px}.promo-product-card{display:grid;grid-template-columns:128px minmax(0,1fr) auto 46px;align-items:center;gap:18px;min-height:134px;padding:14px 16px;background:#351711;color:white;border:0;border-radius:24px;box-shadow:0 16px 34px rgba(80,32,17,.14);position:relative;overflow:hidden}.promo-product-card:hover{transform:none;box-shadow:0 16px 34px rgba(80,32,17,.14)}.promo-product-card:after{content:'✦';position:absolute;right:18%;top:-48px;font-size:130px;color:rgba(255,255,255,.035);pointer-events:none}.promo-product-visual{height:104px;border-radius:18px;display:grid;place-items:center;background:#4b1d14!important;position:relative;z-index:1;overflow:hidden}.promo-product-visual:before{content:'';position:absolute;width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.16)}.promo-product-image{width:auto!important;height:auto!important;max-width:92%!important;max-height:96px!important;object-fit:contain!important;position:relative;z-index:1;filter:drop-shadow(0 10px 12px rgba(0,0,0,.22))}.promo-product-emoji{position:relative;z-index:1;font-size:42px}.promo-product-body{position:relative;z-index:1;min-width:0}.promo-product-body h4{font:700 28px/1.04 'Fraunces',serif;margin:5px 0 6px;color:white}.promo-product-body p{margin:0;color:#d8c6bd;font-size:13px;line-height:1.35}.promo-product-card .promo-price{position:relative;z-index:1;margin-left:0;text-align:right}.promo-product-card .promo-price strong{color:white;font-size:22px}.promo-product-card .add-button{position:relative;z-index:1;background:#f47a22;color:white;width:46px;height:46px}
@media(max-width:560px){.promo-product-grid{gap:12px}.promo-product-card{grid-template-columns:82px minmax(0,1fr) 66px;grid-template-areas:'visual body price' 'visual body add';gap:8px 12px;min-height:116px;padding:14px;border-radius:20px}.promo-product-visual{grid-area:visual;height:82px;border-radius:16px}.promo-product-visual:before{width:62px;height:62px}.promo-product-image{max-height:76px!important}.promo-product-body{grid-area:body;min-width:0}.promo-product-body h4{font-size:21px;line-height:1.02;margin:3px 0}.promo-product-body p{font-size:11px;line-height:1.25;max-height:32px;overflow:hidden}.promo-product-card .promo-label{font-size:9px}.promo-product-card .promo-price{grid-area:price;text-align:right;align-self:end}.promo-product-card .promo-price strong{font-size:17px;white-space:nowrap}.promo-product-card .add-button{grid-area:add;width:42px;height:42px;align-self:start;justify-self:end}.promo-product-card:after{font-size:86px;right:-10px;top:-24px}}

/* Menu image layout v2: keep generated photos readable instead of slicing them into banner strips. */
.category-panel button.has-category-image{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-content:center;
  align-items:center;
  gap:5px 12px;
  min-height:116px;
}
.category-panel button.has-category-image span.has-menu-image{
  grid-row:1/3;
  width:82px;
  height:82px;
  border-radius:16px;
  box-shadow:inset 0 0 0 1px rgba(234,223,214,.7);
}
.category-panel button.has-category-image span.has-menu-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.category-panel button.has-category-image strong,
.category-panel button.has-category-image small{
  min-width:0;
}
.category-panel button.has-category-image small{
  margin-top:0;
}
.subcategory-card{
  grid-template-rows:168px 1fr auto;
}
.subcategory-media.has-menu-image{
  background:#fff7ec!important;
  padding:12px;
}
.subcategory-media.has-menu-image img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
  box-shadow:0 12px 22px rgba(70,24,8,.12);
}
.subcategory-media:not(.has-menu-image):before{
  width:104px;
  height:104px;
}
@media(max-width:900px){
  .category-panel button.has-category-image{
    grid-template-columns:74px minmax(0,1fr);
    min-height:106px;
  }
  .category-panel button.has-category-image span.has-menu-image{
    width:74px;
    height:74px;
  }
  .subcategory-card{
    grid-template-rows:150px 1fr auto;
  }
}
@media(max-width:560px){
  .category-panel button.has-category-image{
    grid-template-columns:64px minmax(0,1fr);
    min-height:92px;
    padding:10px;
  }
  .category-panel button.has-category-image span.has-menu-image{
    width:64px;
    height:64px;
  }
  .category-panel button.has-category-image strong{
    font-size:13px;
  }
  .subcategory-card{
    grid-template-rows:118px 1fr auto;
  }
  .subcategory-media.has-menu-image{
    padding:8px;
  }
  .subcategory-media.has-menu-image img{
    border-radius:13px;
  }
}
.personal-totals-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-stat-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-8px 0 22px}.personal-stat-summary p{background:#fff8ee;border:1px solid var(--line);border-radius:12px;margin:0;padding:10px}.personal-stat-summary span{display:block;color:var(--muted);font-size:10px}.personal-stat-summary strong{display:block;margin-top:3px;font-size:13px}.personal-stat-note{color:var(--muted);font-size:11px;margin-top:14px}@media(max-width:560px){.personal-totals-wide,.personal-stat-summary{grid-template-columns:1fr}}
.checkout-points-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8ee;border:1px solid #f1d5c5;border-radius:14px;padding:12px 14px;margin:-6px 0 16px}.checkout-points-preview[hidden]{display:none}.checkout-points-preview span,.checkout-points-preview small{color:var(--muted);font-size:11px}.checkout-points-preview strong{color:var(--red);font-size:18px;white-space:nowrap}@media(max-width:560px){.checkout-points-preview{align-items:flex-start;flex-direction:column;gap:4px}}

.promo-offers:not([hidden]){
  margin-bottom:24px;
}

.hero-art-photo{background:#38150f;isolation:isolate}
.hero-place-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.hero-art-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(112deg,rgba(233,70,37,.52),rgba(47,23,18,.16) 42%,rgba(47,23,18,.58));pointer-events:none}
.hero-art-photo:after{content:'';position:absolute;inset:0;z-index:2;background:radial-gradient(circle at 64% 24%,rgba(255,217,135,.18),transparent 34%),linear-gradient(to bottom,rgba(255,253,248,.05),rgba(47,23,18,.12));pointer-events:none}
.hero-art-photo .sun,.hero-art-photo .glass,.hero-art-photo .orange,.hero-art-photo .sparkle{display:none}

.app-shell{
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='620' height='760' viewBox='0 0 620 760'%3E%3Cg fill='none' stroke='%23d83b1f' stroke-width='18' stroke-linecap='round' stroke-linejoin='round' opacity='.055'%3E%3Cpath d='M226 88h168c50 0 88 40 88 90v260c0 95-77 172-172 172s-172-77-172-172V178c0-50 38-90 88-90Z'/%3E%3Cpath d='M480 238h40c45 0 74 34 74 78s-29 78-74 78h-40'/%3E%3Cpath d='M180 310c54 24 109 24 164 0s110-24 164 0'/%3E%3Cpath d='M222 640c56 22 120 22 176 0'/%3E%3C/g%3E%3Cpath d='M160 366c78 36 158 36 238 0s156-36 234 0v168c0 114-92 206-206 206h-60c-114 0-206-92-206-206V366Z' fill='%23f47a22' opacity='.035'/%3E%3C/svg%3E");
  background-repeat:repeat-y;
  background-position:right -125px top 560px;
  background-size:clamp(230px,42vw,560px) auto;
}

@media(max-width:900px){
  .hero-art-photo .hero-place-photo{object-position:center 43%}
}

@media(max-width:560px){
  .hero-art-photo{height:280px}
  .hero-art-photo:before{background:linear-gradient(120deg,rgba(233,70,37,.42),rgba(47,23,18,.22) 44%,rgba(47,23,18,.58))}
}
.promo-offers:not([hidden]) + .category-intro{
  margin-top:4px;
}

/* Mobile promo layout repair: keep prices and add buttons out of the text column. */
@media(max-width:560px){
  .promo-card,
  .promo-card.has-promo-image{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    grid-template-rows:auto 44px;
    grid-template-areas:'image body' 'image footer';
    gap:8px 12px;
    min-height:126px;
    padding:14px;
    align-items:center;
  }
  .promo-card:not(.has-promo-image){
    grid-template-columns:1fr;
    grid-template-areas:'body' 'footer';
  }
  .promo-card-image{
    grid-area:image;
    width:82px;
    height:82px;
    border-radius:17px;
  }
  .promo-card>div:first-of-type{
    grid-area:body;
    min-width:0;
  }
  .promo-card h3{
    font-size:22px;
    line-height:1.04;
    margin:3px 0 5px;
  }
  .promo-card p{
    font-size:12px;
    line-height:1.28;
    max-height:32px;
    overflow:hidden;
  }
  .promo-card .promo-price{
    grid-area:footer;
    justify-self:start;
    align-self:center;
    width:100%;
    padding-right:54px;
    text-align:left;
  }
  .promo-card .promo-price s,
  .promo-card .promo-price strong{
    white-space:nowrap;
  }
  .promo-card .promo-price strong{
    font-size:18px;
  }
  .promo-card button{
    grid-area:footer;
    justify-self:end;
    align-self:center;
    width:44px;
    height:44px;
    padding:0;
    border-radius:50%;
  }

  .promo-product-card{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    grid-template-rows:auto 44px;
    grid-template-areas:'visual body' 'visual footer';
    gap:8px 12px;
    min-height:126px;
    padding:14px;
  }
  .promo-product-visual{
    grid-area:visual;
    width:82px;
    height:82px;
  }
  .promo-product-body{
    grid-area:body;
    min-width:0;
  }
  .promo-product-body h4{
    font-size:22px;
    line-height:1.04;
    margin:3px 0 5px;
  }
  .promo-product-body p{
    font-size:12px;
    line-height:1.28;
    max-height:32px;
    overflow:hidden;
  }
  .promo-product-card .promo-price{
    grid-area:footer;
    justify-self:start;
    align-self:center;
    width:100%;
    padding-right:54px;
    text-align:left;
  }
  .promo-product-card .promo-price strong{
    font-size:18px;
    white-space:nowrap;
  }
  .promo-product-card .add-button{
    grid-area:footer;
    justify-self:end;
    align-self:center;
    width:44px;
    height:44px;
  }
}

.admin-qr-scan-link{
  border:0;
  background:var(--ink);
  color:white;
  border-radius:99px;
  height:46px;
  padding:0 17px;
  font-weight:800;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  box-shadow:0 10px 24px rgba(47,23,18,.16);
}
.admin-qr-scan-link span{color:var(--orange)}
@media(max-width:620px){
  .admin-qr-scan-link{height:42px;padding:0 13px;font-size:13px}
  .account-button b{max-width:96px}
}
body.stats-readonly-mode #cartButton,body.stats-readonly-mode #guestQrScanButton,body.stats-readonly-mode #counterQrButton,body.stats-readonly-mode #placeOrder,body.stats-readonly-mode .add-button,body.stats-readonly-mode [data-add],body.stats-readonly-mode .staff-only,body.stats-readonly-mode #adminLink{display:none!important}
.site-footer{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:28px 5vw 40px;background:#fffaf2;border-top:1px solid var(--line)}.site-footer button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:99px;padding:12px 16px;font-weight:900}.site-footer button:hover{border-color:var(--red);color:var(--red)}.guest-message-card,.privacy-card{width:min(520px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:26px;padding:34px;position:relative;box-shadow:var(--shadow);text-align:left}.guest-message-card>.close-button,.privacy-card>.close-button{position:absolute;right:18px;top:18px}.guest-message-card h2,.privacy-card h2{font:800 38px/1.05 'Fraunces',serif;margin:8px 45px 12px 0}.guest-message-card p,.privacy-card p,.privacy-card li{color:var(--muted);font-size:14px;line-height:1.55}.guest-message-card label{display:block;margin:14px 0}.guest-message-card label span{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.guest-message-card input,.guest-message-card textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;outline:none}.guest-message-card input{height:46px}.guest-message-card textarea{min-height:130px;resize:vertical}.guest-message-card input:focus,.guest-message-card textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,122,34,.12)}.privacy-card ul{padding-left:19px;margin:14px 0}.privacy-small{font-size:12px!important;background:var(--cream);border-radius:14px;padding:12px}
.privacy-card h3{font-size:14px;letter-spacing:1.4px;text-transform:uppercase;color:var(--red);margin:22px 0 8px}.privacy-card ul li+li{margin-top:7px}

/* Guest-side visual polish: warmer room-like depth without heavy mobile effects. */
body{
  background-color:#e7dbcd;
  background-image:
    linear-gradient(90deg,rgba(75,38,26,.08),transparent 18%,transparent 82%,rgba(75,38,26,.08)),
    linear-gradient(180deg,#efe6dc 0%,#e4d7c7 100%);
}

.app-shell{
  background-color:#fffdf8;
  background-image:
    linear-gradient(180deg,rgba(255,253,248,.98) 0%,rgba(255,250,243,.94) 42%,rgba(250,242,232,.98) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='620' height='760' viewBox='0 0 620 760'%3E%3Cg fill='none' stroke='%23d83b1f' stroke-width='18' stroke-linecap='round' stroke-linejoin='round' opacity='.055'%3E%3Cpath d='M226 88h168c50 0 88 40 88 90v260c0 95-77 172-172 172s-172-77-172-172V178c0-50 38-90 88-90Z'/%3E%3Cpath d='M480 238h40c45 0 74 34 74 78s-29 78-74 78h-40'/%3E%3Cpath d='M180 310c54 24 109 24 164 0s110-24 164 0'/%3E%3Cpath d='M222 640c56 22 120 22 176 0'/%3E%3C/g%3E%3Cpath d='M160 366c78 36 158 36 238 0s156-36 234 0v168c0 114-92 206-206 206h-60c-114 0-206-92-206-206V366Z' fill='%23f47a22' opacity='.035'/%3E%3C/svg%3E");
  background-repeat:no-repeat,repeat-y;
  background-position:center top,right -125px top 560px;
  background-size:100% 100%,clamp(230px,42vw,560px) auto;
  box-shadow:0 0 80px rgba(56,25,12,.13);
}

.topbar{
  box-shadow:0 10px 28px rgba(56,25,12,.06);
}

.hero{
  background:
    linear-gradient(135deg,rgba(255,253,248,.98),rgba(255,244,231,.92)),
    var(--cream);
  border-bottom:1px solid rgba(80,32,17,.08);
}

.content-section{
  position:relative;
  background:
    linear-gradient(180deg,rgba(255,253,248,.7),rgba(255,248,239,.92) 44%,rgba(250,242,232,.86)),
    linear-gradient(90deg,rgba(216,59,31,.025),transparent 26%,transparent 74%,rgba(47,23,18,.028));
  border-top:1px solid rgba(255,255,255,.78);
}

.content-section:before{
  content:'';
  position:absolute;
  inset:0 5vw auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(216,59,31,.28),transparent);
  pointer-events:none;
}

.section-heading,.category-picker,.promo-offers,.category-intro,.subcategory-grid,.subcategory-back,.products-header,.product-grid{
  position:relative;
  z-index:1;
}

.category-trigger{
  background:linear-gradient(135deg,#fff,#fff8ef);
  box-shadow:0 16px 36px rgba(80,32,17,.08);
}

.product-card,.subcategory-card{
  border-color:#ead8c9;
  box-shadow:0 14px 34px rgba(80,32,17,.055);
}

.site-footer{
  background:linear-gradient(180deg,#fff8ef,#f4e8dc);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

@media(max-width:760px){
  body{
    background-image:linear-gradient(180deg,#efe6dc,#e8ddcf);
  }
  .app-shell{
    background-image:
      linear-gradient(180deg,rgba(255,253,248,.98) 0%,rgba(255,249,241,.96) 46%,rgba(250,242,232,.98) 100%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='620' height='760' viewBox='0 0 620 760'%3E%3Cg fill='none' stroke='%23d83b1f' stroke-width='18' stroke-linecap='round' stroke-linejoin='round' opacity='.042'%3E%3Cpath d='M226 88h168c50 0 88 40 88 90v260c0 95-77 172-172 172s-172-77-172-172V178c0-50 38-90 88-90Z'/%3E%3Cpath d='M480 238h40c45 0 74 34 74 78s-29 78-74 78h-40'/%3E%3Cpath d='M180 310c54 24 109 24 164 0s110-24 164 0'/%3E%3Cpath d='M222 640c56 22 120 22 176 0'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat:no-repeat,repeat-y;
    background-position:center top,right -145px top 520px;
    background-size:100% 100%,330px auto;
  }
  .content-section{
    background:linear-gradient(180deg,rgba(255,253,248,.78),rgba(255,248,239,.96));
  }
  .content-section:before{
    inset:0 16px auto;
  }
  .category-trigger,.product-card,.subcategory-card{
    box-shadow:0 10px 24px rgba(80,32,17,.055);
  }
}

/* Mobile readability pass: keep the menu tappable and legible. */
@media(max-width:560px){
  body{
    font-size:16px;
  }
  .eyebrow{
    font-size:11px;
  }
  .category-trigger small,
  .category-panel button small,
  .subcategory-body small,
  .subcategory-body em,
  .product-info p,
  .promo-label{
    font-size:12px;
    line-height:1.35;
  }
  .category-trigger strong{
    font-size:20px;
  }
  .category-panel button strong,
  .subcategory-body strong{
    font-size:15px;
    line-height:1.18;
  }
  .product-info h4{
    font-size:18px;
    line-height:1.16;
  }
  .product-bottom strong,
  .promo-product-card .promo-price strong,
  .promo-card .promo-price strong{
    font-size:18px;
  }
  .promo-card h3,
  .promo-product-body h4{
    font-size:23px;
    line-height:1.04;
  }
  .promo-card p,
  .promo-product-body p{
    font-size:13px;
    line-height:1.32;
    max-height:38px;
  }
  .add-button{
    font-size:21px;
  }
  .products-header h3{
    font-size:31px;
  }
  .products-header span{
    font-size:13px;
  }
  .site-footer button{
    font-size:15px;
  }
}

/* Sketchy presszo layer: less stock-photo, more own visual language. */
.content-section{
  background:
    linear-gradient(180deg,rgba(255,253,248,.88),rgba(255,248,240,.94) 42%,rgba(246,235,222,.98)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='360' viewBox='0 0 460 360'%3E%3Cg fill='none' stroke='%23361812' stroke-width='7' stroke-linecap='round' stroke-linejoin='round' opacity='.055'%3E%3Cpath d='M68 90h80v62c0 34-26 58-58 58S32 186 32 152V90h36Z'/%3E%3Cpath d='M148 116h28c20 0 31 13 31 30s-11 30-31 30h-26'/%3E%3Cpath d='M54 128c20 10 43 10 65 0s44-10 64 0'/%3E%3Cpath d='M295 70h76l-10 126c-2 28-23 48-53 48s-51-20-53-48L245 70h50Z'/%3E%3Cpath d='M260 112c30 14 64 14 94 0'/%3E%3Cpath d='M304 164h4'/%3E%3Cpath d='M334 148h4'/%3E%3Cpath d='M318 194h4'/%3E%3Cpath d='M105 284c24-17 51-17 75 0'/%3E%3Cpath d='M245 284l18-18 18 18-18 18-18-18Z'/%3E%3Cpath d='M348 284c22-15 48-15 70 0'/%3E%3C/g%3E%3Cg fill='%23d83b1f' opacity='.045'%3E%3Ccircle cx='406' cy='80' r='22'/%3E%3Ccircle cx='224' cy='220' r='12'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 12% 6%,rgba(244,122,34,.10),transparent 25%),
    radial-gradient(circle at 88% 20%,rgba(216,59,31,.08),transparent 30%);
  background-size:auto,460px 360px,auto,auto;
  background-position:center top,right 130px top 170px,center,center;
}

.content-section:after{
  opacity:.15;
}

.category-picker{
  background:rgba(255,253,248,.76);
}

@media(max-width:760px){
  .content-section{
    background:
      linear-gradient(180deg,rgba(255,253,248,.9),rgba(255,248,240,.97)),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='300' viewBox='0 0 360 300'%3E%3Cg fill='none' stroke='%23361812' stroke-width='7' stroke-linecap='round' stroke-linejoin='round' opacity='.045'%3E%3Cpath d='M58 76h64v52c0 27-21 47-46 47s-46-20-46-47V76h28Z'/%3E%3Cpath d='M122 98h23c16 0 25 11 25 24s-9 24-25 24h-21'/%3E%3Cpath d='M228 62h62l-8 100c-2 23-19 39-43 39s-41-16-43-39l-8-100h40Z'/%3E%3Cpath d='M200 96c24 11 51 11 75 0'/%3E%3Cpath d='M208 232l15-15 15 15-15 15-15-15Z'/%3E%3C/g%3E%3C/svg%3E"),
      radial-gradient(circle at 12% 4%,rgba(244,122,34,.08),transparent 34%);
    background-size:auto,330px 275px,auto;
    background-position:center top,right -78px top 210px,center;
  }
  .content-section:after{
    opacity:.10;
  }
}

/* Stronger guest atmosphere layer. */
body{
  background:
    radial-gradient(circle at 12% 8%,rgba(244,122,34,.16),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(47,23,18,.13),transparent 30%),
    linear-gradient(135deg,#eadfD2 0%,#d8c8b8 100%);
}

.app-shell{
  background-image:
    linear-gradient(180deg,rgba(255,253,248,.96) 0%,rgba(255,247,237,.88) 38%,rgba(250,240,228,.94) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='620' height='760' viewBox='0 0 620 760'%3E%3Cg fill='none' stroke='%23d83b1f' stroke-width='18' stroke-linecap='round' stroke-linejoin='round' opacity='.085'%3E%3Cpath d='M226 88h168c50 0 88 40 88 90v260c0 95-77 172-172 172s-172-77-172-172V178c0-50 38-90 88-90Z'/%3E%3Cpath d='M480 238h40c45 0 74 34 74 78s-29 78-74 78h-40'/%3E%3Cpath d='M180 310c54 24 109 24 164 0s110-24 164 0'/%3E%3Cpath d='M222 640c56 22 120 22 176 0'/%3E%3C/g%3E%3Cpath d='M160 366c78 36 158 36 238 0s156-36 234 0v168c0 114-92 206-206 206h-60c-114 0-206-92-206-206V366Z' fill='%23f47a22' opacity='.055'/%3E%3C/svg%3E");
}

.content-section{
  overflow:visible;
  background:
    linear-gradient(180deg,rgba(255,253,248,.84),rgba(255,247,237,.9) 42%,rgba(246,235,222,.96)),
    radial-gradient(circle at 12% 6%,rgba(244,122,34,.13),transparent 25%),
    radial-gradient(circle at 88% 20%,rgba(216,59,31,.10),transparent 30%);
}

.content-section:after{
  content:'';
  position:absolute;
  right:-5vw;
  top:28px;
  width:min(520px,44vw);
  height:260px;
  border-radius:34px 0 0 34px;
  background:
    linear-gradient(115deg,rgba(47,23,18,.42),rgba(216,59,31,.14)),
    url("/data/uploads/piros-cafe-pub-atmosphere.webp");
  background-size:cover;
  background-position:center;
  opacity:.26;
  pointer-events:none;
  z-index:0;
}

.section-heading{
  padding:18px 0 8px;
}

.category-picker{
  position:relative;
  z-index:4;
  padding:10px;
  border:1px solid rgba(234,216,201,.72);
  border-radius:30px;
  background:rgba(255,253,248,.58);
  box-shadow:0 22px 50px rgba(80,32,17,.09);
}

.category-trigger{
  border-color:#ead5c4;
}

.category-intro{
  background:
    linear-gradient(135deg,rgba(255,250,244,.96),rgba(255,238,222,.94));
  box-shadow:0 18px 38px rgba(80,32,17,.08);
}

.products-header{
  padding-top:10px;
}

.product-card,.subcategory-card{
  background:rgba(255,253,249,.96);
}

@media(max-width:760px){
  body{
    background:
      radial-gradient(circle at 14% 0%,rgba(244,122,34,.13),transparent 32%),
      linear-gradient(180deg,#efe4d8,#e3d4c4);
  }
  .app-shell{
    background-image:
      linear-gradient(180deg,rgba(255,253,248,.97) 0%,rgba(255,248,240,.94) 44%,rgba(250,240,228,.98) 100%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='620' height='760' viewBox='0 0 620 760'%3E%3Cg fill='none' stroke='%23d83b1f' stroke-width='18' stroke-linecap='round' stroke-linejoin='round' opacity='.06'%3E%3Cpath d='M226 88h168c50 0 88 40 88 90v260c0 95-77 172-172 172s-172-77-172-172V178c0-50 38-90 88-90Z'/%3E%3Cpath d='M480 238h40c45 0 74 34 74 78s-29 78-74 78h-40'/%3E%3Cpath d='M180 310c54 24 109 24 164 0s110-24 164 0'/%3E%3Cpath d='M222 640c56 22 120 22 176 0'/%3E%3C/g%3E%3C/svg%3E");
  }
  .content-section:after{
    right:-110px;
    top:18px;
    width:280px;
    height:180px;
    opacity:.18;
  }
  .category-picker{
    padding:7px;
    border-radius:25px;
    box-shadow:0 15px 34px rgba(80,32,17,.075);
  }
}

@media(max-width:900px){
  .site-footer{
    padding-bottom:calc(105px + env(safe-area-inset-bottom,0px));
  }
}
.my-messages-card{width:min(620px,100%)}.my-message-list{display:grid;gap:12px;margin-top:16px}.my-message-item{border:1px solid var(--line);border-radius:18px;background:#fffaf4;padding:15px}.my-message-item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.my-message-item header strong{font-size:13px;color:var(--red)}.my-message-item header small{font-size:11px;color:var(--muted);text-align:right}.my-message-item>p{white-space:pre-wrap;color:var(--ink);margin:12px 0}.my-message-reply{border-radius:14px;background:white;border:1px solid var(--line);padding:12px}.my-message-reply span{display:block;color:var(--green);font-size:11px;font-weight:900;margin-bottom:6px}.my-message-reply p{margin:0;color:var(--ink);white-space:pre-wrap}.my-message-reply.pending span{color:var(--muted);margin:0}
.my-message-actions{display:flex;justify-content:flex-end;margin-top:10px}.my-message-actions button{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 12px;color:var(--red);font-size:12px;font-weight:900;cursor:pointer}.my-message-actions button:hover{border-color:var(--red);background:#fff3ee}
.win-claim-box{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:#fffaf4;padding:13px;display:grid;gap:8px}.win-claim-box span{color:var(--red);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.win-claim-box p{margin:0;color:var(--muted);font-size:12px}.win-claim-box img{width:180px;max-width:100%;background:white;border:1px solid var(--line);border-radius:18px;padding:10px;justify-self:center}.win-claim-box.claimed{background:#effaf3;border-color:#bfe4cc}.win-claim-box.claimed span{color:var(--green)}
.wins-section{display:grid;gap:10px}.wins-section+.wins-section{margin-top:18px}.wins-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:16px;background:white;padding:12px 14px}.wins-section-head span{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}.wins-section-head strong{display:block;color:var(--ink);font-size:15px}.wins-section-head b{min-width:32px;height:32px;border-radius:999px;background:var(--red);color:white;display:grid;place-items:center;font-size:13px}.claimed-wins .wins-section-head b{background:var(--green)}.wins-stack{display:grid;gap:12px}.wins-stack.compact{gap:8px}.empty.compact{padding:16px!important;margin:0!important}.win-history-entry{border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden}.win-history-entry summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px}.win-history-entry summary::-webkit-details-marker{display:none}.win-history-entry summary:after{content:'+';width:24px;height:24px;border-radius:50%;background:#fff3e8;color:var(--red);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.win-history-entry[open] summary:after{content:'−';background:#effaf3;color:var(--green)}.win-history-entry summary strong{display:block;color:var(--red);font-size:13px}.win-history-entry summary small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.win-history-entry summary span{color:var(--muted);font-size:11px;text-align:right}.win-history-body{border-top:1px solid var(--line);padding:13px;background:#fffaf4;display:grid;gap:10px}.win-history-body>p{margin:0;color:var(--muted);font-size:12px}.win-history-body .win-claim-box{margin-top:0}.win-history-body .win-claim-box img{display:none}
.order-win-card{margin:18px 0;border:1px solid #ffd0a8;border-radius:18px;background:linear-gradient(145deg,#fff2df,#ffe8dc);padding:17px;text-align:left;box-shadow:0 10px 24px rgba(216,59,31,.1)}.order-win-card[hidden]{display:none}.order-win-card span{display:block;color:var(--red);font-size:10px;letter-spacing:2px;font-weight:900}.order-win-card strong{display:block;font:800 25px 'Fraunces',serif;margin:5px 0;color:var(--ink)}.order-win-card p{margin:0 0 8px;color:var(--red);font-weight:900;font-size:16px}.order-win-card small{display:block;color:var(--muted);line-height:1.4}
.staff-win-card{width:min(560px,100%);background:#fffaf4;border-radius:30px;padding:34px;position:relative;text-align:center;box-shadow:0 35px 90px rgba(47,23,18,.34);border:1px solid #ffd0a8;overflow:hidden}.staff-win-card:before{content:'';position:absolute;inset:0 0 auto;height:140px;background:linear-gradient(135deg,var(--red),var(--orange));opacity:.95}.staff-win-card>*{position:relative}.staff-win-card>.close-button{position:absolute;right:18px;top:18px;z-index:2}.staff-win-badge{width:86px;height:86px;margin:10px auto 20px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--orange);font-size:42px;box-shadow:0 16px 35px rgba(47,23,18,.2)}.staff-win-card .eyebrow{color:#fff1cf;text-shadow:0 1px 1px rgba(47,23,18,.18)}.staff-win-card h2{font:800 48px/1 'Fraunces',serif;margin:12px 0;color:white;text-shadow:0 2px 8px rgba(47,23,18,.24)}.staff-win-card>p{color:var(--muted);line-height:1.45}.staff-win-list{display:grid;gap:10px;margin:24px 0;text-align:left}.staff-win-list article{border:1px solid var(--line);border-radius:18px;background:white;padding:16px}.staff-win-list span{display:block;color:var(--red);font-size:10px;letter-spacing:1.5px;font-weight:900;text-transform:uppercase}.staff-win-list strong{display:block;font:800 25px 'Fraunces',serif;margin:5px 0;color:var(--ink)}.staff-win-list small{display:block;color:var(--muted);font-size:13px}.staff-win-note{background:#fff0e6;border:1px solid #f4ccb8;border-radius:16px;padding:13px;color:var(--ink)!important;font-size:13px}
.guest-win-card{width:min(520px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:30px;padding:32px;position:relative;text-align:center;box-shadow:0 35px 95px rgba(47,23,18,.36);border:1px solid #ffd0a8}.guest-win-card>.close-button{position:absolute;right:18px;top:18px;z-index:2}.guest-win-badge{width:92px;height:92px;margin:8px auto 18px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffd86d,var(--orange));color:white;font-size:46px;box-shadow:0 18px 35px rgba(244,122,34,.3)}.guest-win-card h2{font:900 56px/1 'Fraunces',serif;margin:10px 0;color:var(--red)}.guest-win-card>p{color:var(--muted);line-height:1.45}.guest-win-prize{border:1px solid var(--line);border-radius:20px;background:#fff8ee;padding:17px;margin:18px 0;text-align:left}.guest-win-prize span{display:block;color:var(--red);font-size:10px;letter-spacing:1.6px;font-weight:900;text-transform:uppercase}.guest-win-prize strong{display:block;font:800 28px 'Fraunces',serif;margin:5px 0;color:var(--ink)}.guest-win-prize p{margin:8px 0 0;color:var(--muted)}.guest-win-qr{width:210px;max-width:100%;margin:18px auto;border:1px solid var(--line);border-radius:24px;background:white;padding:15px;box-shadow:0 12px 28px rgba(47,23,18,.1)}.guest-win-qr img{width:100%;display:block}.guest-win-card small{display:block;color:var(--muted);line-height:1.4;margin-bottom:16px}

/* Android Chrome fallback for the top promo strips. Avoid grid-area recalculation on these cards. */
@media(max-width:560px){
  .promo-offers:not([hidden]){
    gap:12px;
    margin-bottom:30px;
  }
  .promo-offers .promo-card,
  .promo-offers .promo-card.has-promo-image,
  .promo-offers .promo-card:not(.has-promo-image){
    display:flex;
    align-items:center;
    gap:12px;
    min-height:126px;
    padding:14px 68px 14px 14px;
    border-radius:20px;
    position:relative;
    overflow:hidden;
  }
  .promo-offers .promo-card:not(.has-promo-image){
    padding-left:16px;
  }
  .promo-offers .promo-card-image{
    flex:0 0 78px;
    width:78px;
    height:78px;
    border-radius:16px;
    object-fit:cover;
    grid-area:auto;
  }
  .promo-offers .promo-card>div:first-of-type{
    flex:1 1 auto;
    min-width:0;
    grid-area:auto;
    padding-right:0;
  }
  .promo-offers .promo-card h3{
    font-size:22px;
    line-height:1.04;
    margin:4px 0 5px;
    max-width:100%;
  }
  .promo-offers .promo-card p{
    font-size:12px;
    line-height:1.28;
    max-height:34px;
    overflow:hidden;
  }
  .promo-offers .promo-card .promo-price{
    position:absolute;
    right:16px;
    top:16px;
    margin:0;
    padding:0;
    width:auto;
    text-align:right;
    grid-area:auto;
    z-index:2;
  }
  .promo-offers .promo-card .promo-price s,
  .promo-offers .promo-card .promo-price strong{
    display:block;
    white-space:nowrap;
  }
  .promo-offers .promo-card .promo-price strong{
    font-size:17px;
  }
  .promo-offers .promo-card button{
    position:absolute;
    right:16px;
    bottom:16px;
    width:44px;
    height:44px;
    padding:0;
    border-radius:50%;
    grid-area:auto;
    z-index:2;
  }
  .promo-offers .promo-card button span:first-child{
    display:none;
  }
  .promo-offers .promo-card button span:last-child{
    display:block;
    font-size:20px;
    line-height:1;
  }
}

/* Android Chrome stability layer: fixed blurred layers and dynamic viewport units can flicker badly.
   Also applied on any touch-primary device regardless of width, so a folded-open large inner
   screen (e.g. Galaxy Z Fold) still gets it even past the 760px breakpoint. */
@media(max-width:760px),(hover:none) and (pointer:coarse){
  html{
    scroll-behavior:auto;
  }
  body{
    overflow-x:hidden;
  }
  .app-shell{
    max-width:100%;
    overflow-x:hidden;
    box-shadow:none;
  }
  .topbar,
  .bottom-nav,
  .order-status-strip,
  .drawer-backdrop,
  .modal-backdrop,
  .hero.custom-hero .hero-art{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .topbar{
    background:#fffdf8;
  }
  .bottom-nav{
    background:#fff;
  }
  .drawer-backdrop,
  .modal-backdrop{
    background:rgba(37,20,15,.32);
    transition:opacity .12s linear;
  }
  .product-card:hover,
  .subcategory-card:hover,
  .primary-button:hover,
  .add-button:hover{
    transform:none;
  }
.product-photo,
  .subcategory-media img,
  .promo-product-image{
    filter:none!important;
  }
}

/* Clean category selector shell: the trigger already has its own card frame. */
.category-picker{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

@media(max-width:760px){
  .category-picker{
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}

/* Visible presszo sketch layer behind the menu content. */
.content-section{
  position:relative!important;
  isolation:isolate;
}

.content-section > *{
  position:relative;
  z-index:2;
}

.content-section:before{
  content:'';
  position:absolute;
  inset:8px 0 auto 0;
  height:min(720px,78%);
  z-index:0;
  pointer-events:none;
  opacity:.42;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='360' viewBox='0 0 560 360'%3E%3Cg fill='none' stroke='%23361712' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' opacity='.13'%3E%3Cpath d='M56 98h72v66c0 31-25 56-56 56S16 195 16 164V98h40Z'/%3E%3Cpath d='M128 124h22c22 0 35 15 35 34s-13 34-35 34h-22'/%3E%3Cpath d='M42 92c25-17 57-17 82 0'/%3E%3Cpath d='M302 58h92l-11 138c-3 40-34 68-81 68s-78-28-81-68L210 58h92Z'/%3E%3Cpath d='M228 106c44 18 93 18 137 0'/%3E%3Cpath d='M430 92h74l-7 100c-3 37-31 62-67 62s-64-25-67-62l-7-100h74Z'/%3E%3Cpath d='M372 130c38 14 77 14 115 0'/%3E%3Cpath d='M56 295c32-17 71-17 104 0s72 17 104 0 72-17 104 0 72 17 104 0'/%3E%3Cpath d='M470 280l18-18 18 18-18 18-18-18Z'/%3E%3Cpath d='M186 48l13-13 13 13-13 13-13-13Z'/%3E%3C/g%3E%3Cg fill='%23f47a22' opacity='.08'%3E%3Ccircle cx='98' cy='228' r='42'/%3E%3Ccircle cx='306' cy='278' r='54'/%3E%3Ccircle cx='470' cy='214' r='34'/%3E%3C/g%3E%3C/svg%3E");
  background-size:560px 360px;
  background-repeat:repeat;
  background-position:24px 12px;
  mix-blend-mode:multiply;
  animation:pirosSketchDrift 34s linear infinite;
}

@keyframes pirosSketchDrift{
  from{background-position:24px 12px}
  to{background-position:584px 372px}
}

@media(prefers-reduced-motion:reduce){
  .content-section:before{
    animation:none;
  }
}

@media(max-width:760px){
  .content-section:before{
    inset:18px 0 auto 0;
    height:620px;
    opacity:.30;
    background-size:390px 250px;
    background-position:-42px 10px;
    animation:none;
  }
}

/* Mobile category menu readability. */
@media(max-width:560px){
  .category-panel{
    gap:11px!important;
    padding:12px!important;
  }
  .category-panel button{
    min-height:106px!important;
    padding:12px!important;
    gap:7px!important;
  }
  .category-panel button.has-category-image{
    grid-template-columns:70px minmax(0,1fr)!important;
    min-height:106px!important;
    padding:12px!important;
    align-content:center;
  }
  .category-panel button.has-category-image span.has-menu-image{
    width:70px!important;
    height:70px!important;
  }
  .category-panel button strong,
  .category-panel button.has-category-image strong{
    font-size:16px!important;
    line-height:1.15!important;
  }
  .category-panel button small,
  .category-panel button.has-category-image small{
    font-size:13px!important;
    line-height:1.25!important;
    color:#7a6258!important;
  }
  .category-panel button.active small{
    color:rgba(255,255,255,.86)!important;
  }
}

/* Mobile-first layer fix: the open selector must float above the menu content. */
.category-picker.open{
  z-index:60!important;
}

.category-picker.open .category-panel{
  z-index:70!important;
}

@media(max-width:760px){
  .content-section:before{
    animation:pirosSketchDriftMobile 46s linear infinite!important;
    will-change:background-position;
  }
  .category-picker.open{
    z-index:80!important;
  }
  .category-picker.open .category-panel{
    z-index:90!important;
  }
}

@keyframes pirosSketchDriftMobile{
  from{background-position:-42px 10px}
  to{background-position:348px 260px}
}

@media(prefers-reduced-motion:reduce){
  .content-section:before{
    animation:none!important;
  }
}

/* A little more life: stronger top sketches and a reverse-moving lower menu layer. */
.content-section:before{
  opacity:.52!important;
  background-size:520px 334px!important;
  animation-duration:26s!important;
}

.product-grid,
.subcategory-grid{
  position:relative;
}

.product-grid:before,
.subcategory-grid:before{
  content:'';
  position:absolute;
  left:-18px;
  right:-18px;
  top:-34px;
  bottom:-54px;
  z-index:-1;
  pointer-events:none;
  opacity:.58;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='300' viewBox='0 0 480 300'%3E%3Cg fill='none' stroke='%23d83b1f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' opacity='.15'%3E%3Cpath d='M58 82h66v58c0 29-22 51-49 51s-49-22-49-51V82h32Z'/%3E%3Cpath d='M124 108h22c18 0 29 13 29 30s-11 30-29 30h-22'/%3E%3Cpath d='M230 56h78l-9 118c-3 34-29 58-69 58s-66-24-69-58l-9-118h78Z'/%3E%3Cpath d='M170 98c38 15 78 15 116 0'/%3E%3Cpath d='M350 88h68l-7 92c-3 32-27 54-61 54s-58-22-61-54l-7-92h68Z'/%3E%3Cpath d='M302 124c33 12 68 12 101 0'/%3E%3Cpath d='M70 250c34-16 70-16 104 0s70 16 104 0 70-16 104 0'/%3E%3Cpath d='M390 242l15-15 15 15-15 15-15-15Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:420px 262px;
  background-repeat:repeat;
  background-position:0 0;
  animation:pirosSketchDriftReverse 30s linear infinite;
}

@keyframes pirosSketchDriftReverse{
  from{background-position:480px 300px}
  to{background-position:0 0}
}

@media(max-width:760px){
  .content-section:before{
    opacity:.42!important;
    background-size:360px 232px!important;
    animation-duration:24s!important;
  }
  .product-grid:before,
  .subcategory-grid:before{
    left:-18px;
    right:-18px;
    top:-34px;
    bottom:-58px;
    opacity:.62;
    background-size:270px 169px;
    animation-duration:22s;
  }
}

@media(max-width:560px){
  .content-section:before{
    animation-duration:20s!important;
  }
  .product-grid:before,
  .subcategory-grid:before{
    opacity:.68;
    background-size:238px 149px;
    animation-duration:18s;
  }
}

@media(prefers-reduced-motion:reduce){
  .product-grid:before,
  .subcategory-grid:before{
    animation:none!important;
  }
}

/* Featured action selector: make Akciók feel like a special offer gateway. */
.category-panel button.promo-category{
  position:relative;
  grid-column:1/-1;
  min-height:112px!important;
  overflow:hidden;
  border:0!important;
  color:white!important;
  background:
    radial-gradient(circle at 86% 16%,rgba(255,214,112,.42),transparent 28%),
    linear-gradient(135deg,#351711 0%,#7c2418 52%,#f47a22 100%)!important;
  box-shadow:0 18px 42px rgba(80,32,17,.24);
}

.category-panel button.promo-category:before{
  content:'';
  position:absolute;
  inset:10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  pointer-events:none;
}

.category-panel button.promo-category:after{
  content:'Itt megtalálod, ami ma igazán jól esik';
  position:relative;
  z-index:1;
  display:block;
  margin-top:2px;
  color:#ffe7c4;
  font-size:13px;
  line-height:1.25;
  font-weight:800;
}

.category-panel button.promo-category span,
.category-panel button.promo-category strong,
.category-panel button.promo-category small{
  position:relative;
  z-index:1;
}

.category-panel button.promo-category span{
  background:rgba(255,255,255,.16)!important;
  color:white;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20);
}

.category-panel button.promo-category strong{
  color:white!important;
  font:800 24px/1.04 'Fraunces',serif!important;
}

.category-panel button.promo-category small{
  margin-top:0!important;
  color:#ffd494!important;
  font-size:11px!important;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.category-panel button.promo-category.active{
  box-shadow:0 22px 52px rgba(216,59,31,.34);
}

@media(max-width:560px){
  .category-panel button.promo-category{
    min-height:132px!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    align-content:center!important;
    gap:6px 12px!important;
    padding:16px!important;
  }
  .category-panel button.promo-category span{
    grid-row:1/4;
    width:76px!important;
    height:76px!important;
    border-radius:22px!important;
    font-size:30px!important;
  }
  .category-panel button.promo-category strong{
    font-size:25px!important;
  }
  .category-panel button.promo-category small{
    font-size:12px!important;
  }
  .category-panel button.promo-category:after{
    font-size:14px;
  }
}

/* Refined promo gateway: centered, readable, no internal item counter. */
.category-panel button.promo-category{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto auto!important;
  place-items:center!important;
  text-align:center!important;
  min-height:128px!important;
  padding:24px 26px!important;
}

.category-panel button.promo-category span{
  width:42px!important;
  height:42px!important;
  border-radius:16px!important;
  margin-bottom:4px;
  font-size:22px!important;
}

.category-panel button.promo-category strong{
  font-size:34px!important;
  line-height:.95!important;
  letter-spacing:0!important;
}

.category-panel button.promo-category small{
  display:none!important;
}

.category-panel button.promo-category:after{
  content:'Mai ajánlatok, kedvencek és gyors választások';
  max-width:520px;
  margin:8px auto 0;
  color:#ffe7c4;
  font-size:17px!important;
  line-height:1.25;
  font-weight:800;
}

@media(max-width:560px){
  .category-panel button.promo-category{
    min-height:142px!important;
    padding:22px 18px!important;
  }
  .category-panel button.promo-category span{
    grid-row:auto!important;
    width:44px!important;
    height:44px!important;
    border-radius:16px!important;
    margin-bottom:2px;
  }
  .category-panel button.promo-category strong{
    font-size:33px!important;
  }
  .category-panel button.promo-category:after{
    font-size:16px!important;
    max-width:260px;
  }
}

/* Category panel readability for desktop and tablets too. */
.category-panel button:not(.promo-category){
  min-height:136px!important;
  padding:18px 20px!important;
  gap:11px!important;
}

.category-panel button.has-category-image:not(.promo-category){
  grid-template-columns:108px minmax(0,1fr)!important;
  min-height:136px!important;
}

.category-panel button.has-category-image:not(.promo-category) span.has-menu-image{
  width:108px!important;
  height:108px!important;
  border-radius:20px!important;
}

.category-panel button:not(.promo-category) strong,
.category-panel button.has-category-image:not(.promo-category) strong{
  font-size:22px!important;
  line-height:1.08!important;
}

.category-panel button:not(.promo-category) small,
.category-panel button.has-category-image:not(.promo-category) small{
  font-size:14px!important;
  line-height:1.25!important;
  color:#5d4640!important;
  font-weight:800!important;
}

@media(max-width:900px){
  .category-panel button.has-category-image:not(.promo-category){
    grid-template-columns:92px minmax(0,1fr)!important;
  }
  .category-panel button.has-category-image:not(.promo-category) span.has-menu-image{
    width:92px!important;
    height:92px!important;
  }
}

@media(max-width:560px){
  .category-panel button:not(.promo-category){
    min-height:118px!important;
    padding:14px!important;
  }
  .category-panel button.has-category-image:not(.promo-category){
    grid-template-columns:76px minmax(0,1fr)!important;
  }
  .category-panel button.has-category-image:not(.promo-category) span.has-menu-image{
    width:76px!important;
    height:76px!important;
  }
  .category-panel button:not(.promo-category) strong,
  .category-panel button.has-category-image:not(.promo-category) strong{
    font-size:18px!important;
  }
  .category-panel button:not(.promo-category) small,
  .category-panel button.has-category-image:not(.promo-category) small{
    font-size:13px!important;
  }
}

/* Natural dropdown behavior for category chooser: no popup-like jump. */
.category-panel{
  display:grid!important;
  opacity:0!important;
  visibility:hidden;
  transform:translateY(-10px) scale(.985)!important;
  transform-origin:top center;
  pointer-events:none!important;
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s!important;
}

.category-picker.open .category-panel{
  opacity:1!important;
  visibility:visible;
  transform:translateY(0) scale(1)!important;
  pointer-events:auto!important;
  transition:opacity .18s ease, transform .18s ease, visibility 0s!important;
}

@media(max-width:560px){
  .category-panel{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 10px)!important;
    bottom:auto!important;
    max-height:68vh!important;
    overflow:auto!important;
    border-radius:22px!important;
    grid-template-columns:1fr!important;
    box-shadow:0 18px 42px rgba(80,32,17,.18)!important;
  }
  .category-picker.open{
    margin-bottom:18px!important;
  }
}

/* Experimental menu gateway: the full itallap is visible instead of hiding behind a tiny dropdown. */
.category-picker{
  margin:28px 0 26px!important;
  padding:14px!important;
  border:1px solid rgba(239,214,199,.95)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 22px 52px rgba(80,32,17,.09)!important;
  backdrop-filter:blur(12px);
}

.category-trigger{
  min-height:98px!important;
  border:0!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#3a130f 0%,#7b2719 52%,#f47a1c 100%)!important;
  color:white!important;
  box-shadow:none!important;
  margin-bottom:12px!important;
}

.category-trigger-icon{
  width:54px!important;
  height:54px!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.15)!important;
  border:1px solid rgba(255,255,255,.2)!important;
  color:white!important;
}

.category-trigger small{
  color:#ffd8b8!important;
  font-size:12px!important;
}

.category-trigger strong{
  color:white!important;
  font-size:30px!important;
  line-height:1.05!important;
}

.category-trigger em{
  display:block;
  margin-top:7px;
  color:#fff0df;
  font-style:normal;
  font-size:15px;
  line-height:1.35;
}

.category-trigger b{
  display:none!important;
}

.category-panel,
.category-picker.open .category-panel{
  position:static!important;
  display:grid!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  max-height:none!important;
  overflow:visible!important;
}

@media(max-width:900px){
  .category-panel,
  .category-picker.open .category-panel{
    grid-template-columns:repeat(2,1fr)!important;
  }
}

@media(max-width:560px){
  .category-picker{
    margin:22px 0 24px!important;
    padding:11px!important;
    border-radius:22px!important;
  }

  .category-trigger{
    min-height:106px!important;
    padding:15px!important;
    margin-bottom:11px!important;
  }

  .category-trigger strong{
    font-size:27px!important;
  }

  .category-trigger em{
    font-size:14px!important;
  }

  .category-panel,
  .category-picker.open .category-panel{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    grid-template-columns:1fr!important;
  }
}

/* Follow-up: make the itallap gateway read as a heading, not as a closed menu. */
.section-heading{
  align-items:center!important;
}

.section-heading .search{
  width:min(390px,42vw)!important;
  height:58px!important;
  padding:0 22px!important;
  border-radius:20px!important;
  box-shadow:0 14px 34px rgba(80,32,17,.1)!important;
}

.section-heading .search input{
  font-size:17px!important;
  font-weight:700!important;
}

.category-trigger{
  cursor:default!important;
  background:linear-gradient(135deg,#421510 0%,#872b1a 55%,#f47a1c 100%)!important;
}

.category-trigger-icon{
  display:none!important;
}

.category-trigger span:last-of-type{
  padding-left:2px!important;
}

.category-trigger small{
  font-size:13px!important;
}

.category-trigger strong{
  font-size:34px!important;
}

.category-trigger em{
  max-width:640px;
  font-size:16px!important;
}

.category-panel button.promo-category{
  display:none!important;
}

@media(max-width:700px){
  .section-heading{
    align-items:stretch!important;
  }

  .section-heading .search{
    width:100%!important;
    height:56px!important;
    order:2;
  }

  .category-trigger{
    min-height:96px!important;
  }

  .category-trigger strong{
    font-size:30px!important;
  }
}

/* Inline category drill-down: opening a main category reveals its groups right there. */
.category-inline-panel{
  grid-column:1/-1;
  border:1px solid rgba(239,214,199,.95);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,250,244,.98),rgba(255,255,255,.96));
  padding:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 16px 32px rgba(80,32,17,.08);
}

.category-inline-head{
  display:flex;
  flex-direction:row-reverse;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.category-inline-head strong{
  font-family:'Fraunces',serif;
  font-size:28px;
  line-height:1;
}

.category-inline-head button{
  border:1px solid var(--line);
  background:white;
  color:var(--ink);
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
}

.category-panel .category-inline-head button{
  min-height:auto!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  gap:0!important;
}

.category-inline-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.category-inline-grid .subcategory-card{
  margin:0;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  grid-template-rows:auto!important;
  align-items:center;
  min-height:128px;
}

.category-picker.drilldown .category-panel > button:not(.active){
  display:none!important;
}

.category-picker.drilldown .category-panel > button.active{
  display:none!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-card>b{
  display:none!important;
}

.category-inline-grid .subcategory-media{
  height:100%;
  min-height:128px;
}

@media(max-width:900px){
  .category-inline-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .category-inline-panel{
    padding:11px;
    border-radius:20px;
  }

  .category-inline-head{
    align-items:flex-start;
    flex-direction:column-reverse;
  }

  .category-inline-head strong{
    font-size:26px;
  }

  .category-inline-head button{
    width:100%;
  }

  .category-inline-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .category-inline-grid .subcategory-card{
    grid-template-columns:84px minmax(0,1fr);
    grid-template-rows:auto!important;
    min-height:106px;
  }

  .category-inline-grid .subcategory-media{
    min-height:106px;
    grid-row:auto;
  }

  .category-inline-grid .subcategory-body{
    grid-column:2;
    grid-row:auto;
    padding:10px 10px;
  }

  .category-inline-grid .subcategory-body strong{
    font-size:16px!important;
    line-height:1.08!important;
  }

  .category-inline-grid .subcategory-body small,
  .category-inline-grid .subcategory-body em{
    font-size:11px!important;
    line-height:1.25!important;
  }
}

.subcategory-back{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.variant-sort{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #ead8c9;
  background:#fffdf9;
  border-radius:999px;
  padding:5px;
  box-shadow:0 8px 20px rgba(80,32,17,.045);
}

.variant-sort span{
  color:#7b5b4d;
  font-size:11px;
  font-weight:900;
  padding:0 8px;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.variant-sort button{
  border:0;
  background:transparent;
  color:#2d0f0a;
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  cursor:pointer;
}

.variant-sort button.active{
  background:#d83b1f;
  color:white;
}

.category-inline-grid .subcategory-card{
  align-items:stretch!important;
}

.category-inline-grid .subcategory-body{
  align-self:center!important;
  justify-self:stretch!important;
  grid-column:2!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  min-width:0;
  max-width:none!important;
  gap:7px!important;
  padding:22px 18px 16px!important;
}

.category-inline-grid .subcategory-body strong{
  display:block;
  max-width:100%;
  font-size:22px!important;
  line-height:1.07!important;
  letter-spacing:0;
}

.category-inline-grid .subcategory-body small,
.category-inline-grid .subcategory-body em{
  display:block;
  width:100%;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:850;
}

.category-inline-grid .subcategory-body em{
  color:#d83b1f;
}

@media(max-width:560px){
  .subcategory-back{
    display:grid;
    gap:10px;
  }

  .subcategory-back > button,
  .variant-sort{
    width:100%;
  }

  .variant-sort{
    justify-content:space-between;
  }

  .variant-sort span{
    display:none;
  }

  .variant-sort button{
    flex:1;
    padding:9px 10px;
  }

  .category-inline-grid .subcategory-body{
    padding:16px 14px 12px!important;
    gap:6px!important;
  }

  .category-inline-grid .subcategory-body strong{
    font-size:18px!important;
    line-height:1.08!important;
  }

  .category-inline-grid .subcategory-body small,
  .category-inline-grid .subcategory-body em{
    font-size:12px!important;
    line-height:1.25!important;
  }
}

/* Drilldown subcategory cards must not inherit the large main-category button rules. */
.category-picker.drilldown .category-inline-grid .subcategory-card{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:18px!important;
  min-height:126px!important;
  padding:14px!important;
  border:1px solid #ead8c9!important;
  border-radius:22px!important;
  background:rgba(255,253,249,.98)!important;
  color:#2d0f0a!important;
  box-shadow:0 12px 28px rgba(80,32,17,.055)!important;
  transform:none!important;
  overflow:hidden!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-card:hover,
.category-picker.drilldown .category-inline-grid .subcategory-card:focus-visible{
  border-color:#d83b1f!important;
  background:#fff8f1!important;
  box-shadow:0 14px 34px rgba(216,59,31,.12)!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-card.active{
  border-color:#d83b1f!important;
  background:#fff8f1!important;
  color:#2d0f0a!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-media{
  flex:0 0 98px!important;
  width:98px!important;
  height:98px!important;
  min-height:0!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  align-self:flex-start!important;
  background:#ffe48b!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-media:before{
  display:none!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  border-radius:16px!important;
  filter:none!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-media:not(.has-menu-image){
  font-size:34px!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-body{
  flex:1 1 auto!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:7px!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  padding:6px 4px 0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-body strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#2d0f0a!important;
  font-size:23px!important;
  line-height:1.05!important;
  letter-spacing:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-body small,
.category-picker.drilldown .category-inline-grid .subcategory-body em{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#6f554c!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:900!important;
  background:transparent!important;
  box-shadow:none!important;
  white-space:normal!important;
}

.category-picker.drilldown .category-inline-grid .subcategory-body em{
  color:#d83b1f!important;
}

@media(max-width:560px){
  .category-picker.drilldown .category-inline-grid .subcategory-card{
    min-height:114px!important;
    gap:14px!important;
    padding:12px!important;
    border-radius:20px!important;
  }

  .category-picker.drilldown .category-inline-grid .subcategory-media{
    flex-basis:78px!important;
    width:78px!important;
    height:78px!important;
    border-radius:16px!important;
  }

  .category-picker.drilldown .category-inline-grid .subcategory-body{
    padding:3px 2px 0!important;
    gap:6px!important;
  }

  .category-picker.drilldown .category-inline-grid .subcategory-body strong{
    font-size:20px!important;
    line-height:1.05!important;
  }

  .category-picker.drilldown .category-inline-grid .subcategory-body small,
  .category-picker.drilldown .category-inline-grid .subcategory-body em{
    font-size:13px!important;
    line-height:1.28!important;
  }
}
