@font-face {
  font-family: 'Moderna Unicase';
  src: url('../fonts/moderna-unicase-black.woff2') format('woff2'),
       url('../fonts/moderna-unicase-black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: block;
}

:root {
  --gold: #E8A927;
  --gold-light: #F5D77A;
  --gold-dark: #C48E1A;
  --cream: #FBF7EE;
  --cream-dark: #F0E6D3;
  --dark: #1A1A1A;
  --brown: #3D2B1F;
  --brown-light: #6B4226;
  --beige: #F5EFE0;
  --light: #FFFDF5;
  --white: #FFFFFF;
  --shadow: rgba(61,43,31,0.08);
  --shadow-md: rgba(61,43,31,0.12);
  --header-h: 68px;
  --header-h-compact: 50px;
  --cat-nav-h: 46px;
  --radius: 14px;
  --radius-sm: 8px;
  --radius-lg: 20px;
  --tr: 0.3s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--cream);color:var(--dark);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:0;height:0}

#app{opacity:0;transition:opacity .6s ease}
#app.visible{opacity:1}

/* ====== LOADER ====== */
#loader{position:fixed;inset:0;z-index:9999;background:var(--cream);display:flex;align-items:center;justify-content:center;transition:opacity .5s ease}
#loader.fade-out{opacity:0;pointer-events:none}
/* Hide loader content until fonts are ready */
#loader.fonts-loading .loader-content{visibility:hidden}
#loader.fonts-ready .loader-content{visibility:visible}
.loader-content{text-align:center}
.loader-logo{font-family:'Moderna Unicase',sans-serif;font-weight:900;font-size:3.6rem;color:var(--dark);display:inline-flex;overflow:hidden}
.loader-c{display:inline-block;position:relative;z-index:2;opacity:0}
.loader-roff-wrap{display:inline-block;overflow:hidden}
.loader-roff{display:inline-block;opacity:0;transform:translateX(-100%)}
/* Animations only start after fonts are loaded */
#loader.fonts-ready .loader-c{animation:lcAppear .4s ease-out forwards}
#loader.fonts-ready .loader-roff{animation:lrSlide .7s cubic-bezier(.34,1.56,.64,1) .35s forwards}
#loader.fonts-ready .loader-subtitle{animation:lsAppear .5s ease-out 1s forwards}
@keyframes lcAppear{0%{opacity:0;transform:scale(.7)}100%{opacity:1;transform:scale(1)}}
@keyframes lrSlide{0%{opacity:0;transform:translateX(-110%)}40%{opacity:1}100%{opacity:1;transform:translateX(0)}}
.loader-subtitle{font-family:'Nunito',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:3.5px;color:var(--dark);opacity:0;transform:translateY(8px);margin-top:6px}
.loader-subtitle .tilted-e{display:inline;transform:none;transition:transform .4s ease}
.loader-subtitle.tilt-ready .tilted-e{display:inline-block;transform:rotate(-12deg);transform-origin:bottom center}
@keyframes lsAppear{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}

/* ====== HEADER ====== */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--cream);transition:all var(--tr);border-bottom:1px solid transparent}
.header.compact{background:rgba(251,247,238,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--cream-dark)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:var(--header-h);transition:height var(--tr)}
.header.compact .header-inner{height:var(--header-h-compact)}

.header-logo{cursor:pointer;flex-shrink:0}

/* CSS Text Logo */
.logo-block{display:flex;flex-direction:column;align-items:center;line-height:1;transition:transform var(--tr);transform-origin:left center}
.logo-croff{font-family:'Moderna Unicase',sans-serif;font-weight:900;font-size:1.6rem;color:var(--dark);letter-spacing:2px;display:block;line-height:1.1}
.logo-sub{font-family:'Nunito',sans-serif;font-weight:700;font-size:.6rem;color:var(--dark);letter-spacing:2.5px;display:block;margin-top:2px}
.tilted-e{display:inline-block;transform:rotate(-12deg);transform-origin:bottom center}
.header.compact .logo-sub{opacity:0;height:0;margin:0;overflow:hidden;transition:all .25s ease}
.logo-sub{transition:all .25s ease}

.header-actions{display:flex;align-items:center;gap:8px}
.header-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--beige);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--tr);color:var(--brown);text-decoration:none}
.header-btn:active{transform:scale(.92);background:var(--cream-dark)}
.header.compact .header-btn{width:36px;height:36px}

/* Lang */
.lang-selector{position:relative}
.lang-active{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--beige);font-size:.7rem;font-weight:600;color:var(--brown);cursor:pointer;transition:all var(--tr);user-select:none}
.header.compact .lang-active{width:36px;height:36px}
.lang-active:active{transform:scale(.92)}
.lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--white);border-radius:var(--radius-sm);box-shadow:0 4px 20px var(--shadow-md);overflow:hidden;opacity:0;transform:translateY(-8px) scale(.95);pointer-events:none;transition:all .2s ease;z-index:110}
.lang-dropdown.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}
.lang-option{display:block;width:100%;padding:8px 20px;border:none;background:none;font-size:.8rem;font-weight:500;color:var(--dark);cursor:pointer;text-align:center;transition:background .15s}
.lang-option:hover,.lang-option.active{background:var(--beige)}
.lang-option.active{color:var(--gold-dark);font-weight:600}

/* Cart badge */
.cart-btn{position:relative}
.cart-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:var(--dark);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;transition:all var(--tr);transform:scale(0)}
.cart-badge.visible{transform:scale(1)}
.cart-badge.bump{animation:badgeBump .3s ease}
@keyframes badgeBump{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}

/* ====== BANNERS — Editorial Style ====== */
.banners-section{padding-top:var(--header-h);position:relative}
.banners-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding:16px 16px 10px;cursor:grab;overscroll-behavior-x:contain}
.banners-track.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.banners-track::-webkit-scrollbar{display:none}
.banner-slide{flex:0 0 calc(100vw - 48px);min-height:170px;border-radius:var(--radius-lg);scroll-snap-align:center;display:flex;align-items:center;padding:28px 28px 24px;position:relative;overflow:hidden;background:var(--light);border:1px solid rgba(232,169,39,.12);box-shadow:0 2px 20px rgba(61,43,31,.06)}
/* Noise texture overlay */
.banner-slide::before{content:'';position:absolute;inset:0;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");border-radius:inherit;pointer-events:none}
/* Left accent bar */
.banner-accent{position:absolute;left:0;top:20%;bottom:20%;width:4px;border-radius:0 2px 2px 0;background:var(--gold);opacity:.7;transition:opacity .3s ease}
.banner-slide:hover .banner-accent{opacity:1}
/* Content */
.banner-content{position:relative;z-index:1;color:var(--dark);padding-left:6px}
.banner-eyebrow{display:inline-block;font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--gold-dark);margin-bottom:4px}
.banner-rule{width:32px;height:1.5px;background:var(--gold);margin:8px 0 10px;opacity:.6;transition:width .4s ease}
.banner-slide:hover .banner-rule{width:52px}
.banner-headline{font-family:'Bodoni Moda',serif;font-size:1.65rem;font-weight:700;line-height:1.15;color:var(--dark);margin-bottom:6px;letter-spacing:.01em}
.banner-sub{font-family:'Cormorant Garamond',serif;font-size:.85rem;color:var(--brown-light);line-height:1.4;font-style:italic;opacity:.8}
/* Corner decoration — thin L-shaped lines */
.banner-deco-corner{position:absolute;bottom:12px;right:12px;width:28px;height:28px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);opacity:.25;border-radius:0 0 3px 0}
.banner-deco-corner::before{content:'';position:absolute;top:-24px;right:-1.5px;width:1.5px;height:8px;background:var(--gold);opacity:.4}
.banner-deco-corner::after{content:'';position:absolute;bottom:-1.5px;left:-24px;width:8px;height:1.5px;background:var(--gold);opacity:.4}
/* Dots */
.banners-dots{display:flex;justify-content:center;gap:6px;padding:10px 0 4px}
.banners-dots .dot{width:6px;height:6px;border-radius:3px;background:var(--cream-dark);transition:all var(--tr);border:none;padding:0;cursor:pointer}
.banners-dots .dot.active{width:22px;background:var(--gold)}

/* ====== CATEGORY NAV ====== */
.category-nav{position:sticky;top:var(--header-h);z-index:90;background:var(--cream);transition:top var(--tr),background var(--tr);display:flex;align-items:center;border-bottom:1px solid var(--cream-dark)}
.category-nav.stuck{top:var(--header-h-compact);background:rgba(251,247,238,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.category-nav-inner{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:4px;padding:6px 8px 6px 4px;flex:1}
.category-nav-inner::-webkit-scrollbar{display:none}
.cat-pill{flex-shrink:0;padding:7px 14px;border-radius:20px;border:none;background:transparent;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:500;color:var(--brown-light);cursor:pointer;transition:all var(--tr);white-space:nowrap;user-select:none}
.cat-pill:active{transform:scale(.95)}
.cat-pill.active{background:var(--gold);color:var(--dark);font-weight:600;box-shadow:0 2px 8px rgba(232,169,39,.3)}
.view-toggle-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:var(--beige);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:12px;color:var(--brown);transition:all var(--tr)}
.view-toggle-btn:active{transform:scale(.92)}

/* ====== MENU ====== */
.menu-content{padding:8px 0 100px;min-height:80vh}

.menu-category{position:relative;padding:24px 18px 16px;overflow:hidden;border-radius:var(--radius-lg);margin:0 10px}
.menu-category:not(:last-child){margin-bottom:14px}
/* Subtle section background with grain texture */
.menu-category::before{content:'';position:absolute;inset:0;background:linear-gradient(165deg,rgba(232,169,39,.03) 0%,rgba(245,239,224,.5) 40%,rgba(232,169,39,.02) 100%);border-radius:inherit;pointer-events:none}
.menu-category::after{content:'';position:absolute;inset:0;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");border-radius:inherit;pointer-events:none}

.category-deco{position:absolute;width:200px;height:200px;opacity:.045;pointer-events:none;color:var(--gold-dark);transition:opacity .6s ease}
.menu-category:hover .category-deco{opacity:.07}
.deco-tr{right:-30px;top:-20px}
.deco-bl{left:-35px;bottom:-30px}
.deco-cm{right:15%;top:35%;transform:rotate(20deg)}
.deco-tl{left:-30px;top:-15px}
.deco-br{right:-25px;bottom:-25px}
.deco-ml{left:3%;top:18%;transform:rotate(-12deg)}
.deco-mr{right:3%;top:55%;transform:rotate(8deg)}
.deco-tc{left:28%;top:-20px;transform:rotate(30deg)}
.deco-bc{left:22%;bottom:-28px;transform:rotate(-18deg)}

.category-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;position:relative}
.category-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 12px rgba(232,169,39,.25),inset 0 1px 0 rgba(255,255,255,.2)}
.category-icon svg{width:20px;height:20px;color:var(--dark)}
.category-icon img{width:22px;height:22px;object-fit:contain}
.category-name{font-family:'Bodoni Moda',serif;font-size:1.4rem;font-weight:700;color:var(--dark);line-height:1.2;letter-spacing:.02em}
.category-divider{height:2px;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 30%,var(--cream-dark) 60%,transparent 100%);margin-bottom:14px;opacity:.4;border-radius:1px}

/* Scroll animations */
.menu-category{opacity:0;transform:translateY(30px);transition:opacity .5s ease, transform .5s ease}
.menu-category.in-view{opacity:1;transform:translateY(0)}
.menu-item{opacity:0;transform:translateY(16px);transition:opacity .4s ease, transform .4s ease}
.menu-category.in-view .menu-item{opacity:1;transform:translateY(0)}

/* Menu Item */
.menu-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(232,169,39,.08);position:relative}
.menu-item:last-child{border-bottom:none}
.item-info{flex:1;min-width:0}
.item-name{font-family:'Cormorant Garamond',serif;font-size:1.08rem;font-weight:600;color:var(--dark);line-height:1.35}
.item-desc{font-size:.72rem;color:var(--brown-light);opacity:.65;margin-top:2px;font-style:italic}
.item-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.item-price{font-size:.88rem;font-weight:700;color:var(--brown);white-space:nowrap;text-align:right;font-family:'Cormorant Garamond',serif;letter-spacing:.03em}
.item-sizes{font-size:.65rem;color:var(--brown-light);opacity:.55;margin-top:2px;text-align:right;letter-spacing:.5px}

/* Add button — coffee cup */
.add-btn{width:38px;height:38px;border-radius:12px;border:2px solid var(--gold);background:var(--light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--tr);color:var(--gold-dark);flex-shrink:0;box-shadow:0 2px 8px rgba(232,169,39,.1)}
.add-btn:active{transform:scale(.88);background:var(--gold);color:var(--dark);box-shadow:0 2px 12px rgba(232,169,39,.3)}
.add-btn svg{width:20px;height:20px}
.add-btn.added{background:var(--gold);color:var(--dark);border-color:var(--gold);animation:addPulse .4s ease;box-shadow:0 2px 16px rgba(232,169,39,.35)}
@keyframes addPulse{0%{transform:scale(1)}30%{transform:scale(1.15)}100%{transform:scale(1)}}

/* Card view */
.menu-content.card-view .menu-category-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.menu-content.card-view .menu-item{flex-direction:column;border-radius:var(--radius);padding:14px 12px;border-bottom:none;box-shadow:0 2px 16px var(--shadow),0 0 0 1px rgba(232,169,39,.06);gap:6px;border:1px solid rgba(232,169,39,.08);backdrop-filter:blur(4px);position:relative;overflow:hidden}
.menu-content.card-view .menu-item::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));opacity:.4;border-radius:var(--radius) var(--radius) 0 0}
.menu-content.card-view .item-right{width:100%;justify-content:space-between}
.menu-content.card-view .item-name{font-size:.92rem}

/* ====== SIZE MODAL ====== */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(26,26,26,.5);display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .25s ease}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal-sheet{width:100%;background:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:12px 20px 28px;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}
.modal-overlay.open .modal-sheet{transform:translateY(0)}
.modal-handle{width:36px;height:4px;border-radius:2px;background:var(--cream-dark);margin:0 auto 16px}
.modal-title{font-family:'Bodoni Moda',serif;font-size:1.1rem;font-weight:700;margin-bottom:4px}
.modal-item-name{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--brown-light);margin-bottom:16px}
.size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.size-options.size-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.size-option{min-width:0;border:2px solid var(--cream-dark);border-radius:var(--radius);padding:12px 8px 11px;text-align:center;cursor:pointer;transition:all var(--tr);background:var(--light);overflow:hidden}
.size-option:active{transform:scale(.96)}
.size-option.selected{border-color:var(--gold);background:rgba(232,169,39,.08)}
.size-cup{height:52px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:8px}
.size-cup-visual{width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,rgba(232,169,39,.13),rgba(232,169,39,.03));display:flex;align-items:center;justify-content:center;color:var(--brown);transform-origin:50% 82%;transition:transform var(--tr),color var(--tr),background var(--tr),box-shadow var(--tr)}
.size-cup-visual.size-small{transform:scale(.84)}
.size-cup-visual.size-medium,.size-cup-visual.size-same{transform:scale(.98)}
.size-cup-visual.size-large{transform:scale(1.12)}
.size-cup-visual svg{width:34px;height:34px;display:block;overflow:visible}
.size-option.selected .size-cup-visual{color:var(--gold-dark);background:linear-gradient(180deg,rgba(232,169,39,.24),rgba(232,169,39,.09));box-shadow:0 8px 20px rgba(232,169,39,.18)}
.size-label{font-size:.72rem;font-weight:700;color:var(--brown);line-height:1.1;min-height:1.6em;margin-bottom:4px;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}
.size-price{font-size:.85rem;font-weight:700;color:var(--dark)}
.modal-add-btn{width:100%;padding:14px;border:none;border-radius:var(--radius);background:var(--gold);color:var(--dark);font-family:'Inter',sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--tr)}
.modal-add-btn:active{transform:scale(.97);background:var(--gold-dark)}

/* ====== CART ====== */
.cart-overlay{position:fixed;inset:0;z-index:200;background:rgba(26,26,26,.5);display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .25s ease}
.cart-overlay.open{opacity:1;pointer-events:all}
.cart-sheet{width:100%;max-height:85vh;background:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}
.cart-overlay.open .cart-sheet{transform:translateY(0)}
.cart-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--cream-dark)}
.cart-header h3{font-family:'Bodoni Moda',serif;font-size:1.15rem;font-weight:700}
.cart-close{width:32px;height:32px;border:none;background:var(--beige);border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--brown);transition:all var(--tr)}
.cart-close:active{transform:scale(.9)}
.cart-items{flex:1;overflow-y:auto;padding:12px 20px}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;gap:12px;color:var(--brown-light);opacity:.5}
.cart-empty p{font-size:.9rem}
.cart-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--cream-dark)}
.cart-item:last-child{border-bottom:none}
.cart-item-info{flex:1;min-width:0}
.cart-item-name{font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:600}
.cart-item-size{font-size:.7rem;color:var(--brown-light)}
.cart-item-price{font-size:.85rem;font-weight:600;color:var(--brown);white-space:nowrap}
.cart-item-qty{display:flex;align-items:center;gap:8px}
.qty-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--cream-dark);background:var(--light);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--brown);transition:all var(--tr)}
.qty-btn:active{transform:scale(.9);background:var(--cream-dark)}
.qty-num{font-size:.85rem;font-weight:600;min-width:18px;text-align:center}
.cart-footer{padding:12px 20px 20px;border-top:1px solid var(--cream-dark)}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-family:'Bodoni Moda',serif;font-size:1.1rem;font-weight:700}
.cart-show-btn{width:100%;padding:14px;border:none;border-radius:var(--radius);background:var(--gold);color:var(--dark);font-family:'Inter',sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--tr)}
.cart-show-btn:active{transform:scale(.97);background:var(--gold-dark)}

/* ====== WAITER VIEW ====== */
.waiter-overlay{position:fixed;inset:0;z-index:300;background:var(--cream);opacity:0;pointer-events:none;transition:opacity .3s ease;overflow-y:auto}
.waiter-overlay.open{opacity:1;pointer-events:all}
.waiter-sheet{max-width:400px;margin:0 auto;padding:24px 20px 40px}
.waiter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
/* waiter logo uses .logo-block */
.waiter-title{font-family:'Bodoni Moda',serif;font-size:1.4rem;font-weight:700;text-align:center;margin-bottom:20px}
.waiter-items{margin-bottom:20px}
.waiter-item{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--cream-dark)}
.waiter-item-left{flex:1}
.waiter-item-name{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600}
.waiter-item-details{font-size:.72rem;color:var(--brown-light)}
.waiter-item-price{font-weight:600;font-size:.9rem;white-space:nowrap;margin-left:12px}
.waiter-total{display:flex;justify-content:space-between;font-family:'Bodoni Moda',serif;font-size:1.3rem;font-weight:700;padding:16px 0;border-top:2px solid var(--dark);margin-bottom:24px}
.waiter-back-btn{width:100%;padding:14px;border:2px solid var(--dark);border-radius:var(--radius);background:transparent;color:var(--dark);font-family:'Inter',sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--tr)}
.waiter-back-btn:active{background:var(--dark);color:var(--cream)}

/* ====== TOAST ====== */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--dark);color:var(--cream);padding:10px 20px;border-radius:30px;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:8px;z-index:500;opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 20px rgba(0,0,0,.2)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ====== FOOTER ====== */
.site-footer{text-align:center;padding:32px 16px 24px;border-top:1px solid var(--cream-dark)}
.footer-logo{margin-bottom:12px}
.footer-logo .logo-croff{font-size:1.3rem}
.footer-logo .logo-sub{font-size:.5rem}
.footer-copy{font-size:.7rem;color:var(--brown-light);opacity:.5}

/* ====== DARK THEME ====== */
body.dark{--cream:#1A1A1A;--cream-dark:#2A2A2A;--dark:#F0EAE0;--brown:#C4A882;--brown-light:#A08868;--beige:#252525;--light:#222;--white:#1E1E1E;--shadow:rgba(0,0,0,.2);--shadow-md:rgba(0,0,0,.3);--gold:#E8A927;--gold-dark:#C48E1A;--gold-light:#F5D77A;background:var(--cream);color:var(--dark)}
body.dark .header{background:#1A1A1A}
body.dark .header.compact{background:rgba(26,26,26,.95)}
body.dark .category-nav{background:#1A1A1A}
body.dark .category-nav.stuck{background:rgba(26,26,26,.95)}
body.dark #loader{background:#1A1A1A}
body.dark .loader-logo,.dark .logo-croff{color:#F0EAE0}
body.dark .modal-sheet,.dark .cart-sheet{background:#222}
body.dark .waiter-overlay{background:#1A1A1A}
body.dark .toast{background:#F0EAE0;color:#1A1A1A}
body.dark .menu-content.card-view .menu-item{border-color:rgba(232,169,39,.15);background:linear-gradient(145deg,#252525 0%,#2A2A2A 100%) !important}
body.dark .menu-content.card-view .menu-item::before{opacity:.3}
body.dark .banner-slide{background:var(--light);border-color:rgba(232,169,39,.1);box-shadow:0 2px 20px rgba(0,0,0,.15)}
body.dark .banner-slide::before{opacity:.04}
body.dark .banner-deco-corner{opacity:.15}
body.dark .category-deco{color:var(--gold)}
body.dark .menu-category::before{background:linear-gradient(165deg,rgba(232,169,39,.04) 0%,rgba(42,42,42,.6) 40%,rgba(232,169,39,.02) 100%)}
body.dark .menu-category::after{opacity:.03}
body.dark .menu-item{border-bottom-color:rgba(232,169,39,.06)}

/* ====== RESPONSIVE ====== */
@media(max-width:360px){.modal-sheet{padding-left:14px;padding-right:14px}.size-options{gap:8px}.size-option{padding:10px 5px}.size-cup{height:48px}.size-cup-visual{width:42px;height:42px}.size-cup-visual svg{width:31px;height:31px}.size-label{font-size:.68rem}.size-price{font-size:.8rem}}
@media(min-width:480px){.banner-slide{flex:0 0 340px}.banner-headline{font-size:1.8rem}}
@media(min-width:768px){.menu-content{max-width:600px;margin:0 auto}.banners-track{padding-left:clamp(24px,8vw,120px);padding-right:clamp(24px,8vw,120px)}.banner-slide{flex-basis:clamp(620px,62vw,860px);min-height:200px}.banner-headline{font-size:2rem}.banner-sub{font-size:.95rem}}
