/* ===== BASE ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --black:#0a0602;
  --dark:#110d07;
  --dark2:#1a1208;
  --amber:#E8882A;
  --amber-light:#F5AA5C;
  --amber-pale:#FDE5C0;
  --amber-glow:rgba(232,136,42,0.2);
  --amber-dim:rgba(232,136,42,0.3);
  --cream:#FAF6F0;
  --brown:#8B5C2A;
  --white:#fff;
  --w80:rgba(255,255,255,0.8);
  --w60:rgba(255,255,255,0.6);
  --w30:rgba(255,255,255,0.3);
  --w10:rgba(255,255,255,0.08);
  --glass:rgba(255,255,255,0.06);
  --border:rgba(255,255,255,0.1);
  --serif:'Playfair Display',serif;
  --sans:'Jost',sans-serif;
  --r:16px;
}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--black);color:var(--white);overflow-x:hidden;cursor:none;}
::selection{background:var(--amber);color:#000;}

/* ===== CURSOR ===== */
.cursor{
  width:30px;height:30px;border:1.5px solid var(--amber);border-radius:50%;
  position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);
  transition:transform 0.12s ease,width 0.3s,height 0.3s,background 0.3s;
  mix-blend-mode:difference;
}
body.hov .cursor{width:60px;height:60px;background:rgba(232,136,42,0.1);border-color:var(--amber-light);}

/* ===== LOADER ===== */
.loader{
  position:fixed;inset:0;background:#060400;z-index:10000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
  transition:opacity 0.7s,visibility 0.7s;
}
.loader.out{opacity:0;visibility:hidden;}
.loader-plate{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center;}
.plate-ring{position:absolute;border-radius:50%;border:1px solid var(--amber-dim);}
.r1{width:80px;height:80px;animation:spin 3s linear infinite;}
.r2{width:100px;height:100px;border-style:dashed;animation:spin 5s linear infinite reverse;opacity:0.5;}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.plate-emoji{font-size:2.5rem;animation:plateBob 1.5s ease-in-out infinite;}
@keyframes plateBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.loader-name{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--amber);letter-spacing:0.1em;}
.loader-bar{width:200px;height:2px;background:rgba(232,136,42,0.15);border-radius:100px;overflow:hidden;}
.lb-fill{height:100%;width:0;background:linear-gradient(90deg,var(--amber),var(--amber-light));transition:width 0.05s;}
.loader-text{font-size:0.75rem;color:var(--w30);letter-spacing:0.1em;}

/* ===== FLOAT CART ===== */
.float-cart{
  position:fixed;bottom:30px;right:30px;z-index:990;
  background:var(--amber);color:#000;padding:12px 20px;border-radius:100px;
  display:flex;align-items:center;gap:10px;font-weight:700;font-size:0.9rem;
  box-shadow:0 8px 32px var(--amber-glow);cursor:pointer;
  transform:translateY(100px);opacity:0;transition:transform 0.5s cubic-bezier(0.175,0.885,0.32,1.275),opacity 0.5s;
}
.float-cart.visible{transform:translateY(0);opacity:1;}
.float-cart:hover{transform:scale(1.05);box-shadow:0 12px 40px var(--amber-glow);}
.fc-icon{font-size:1.2rem;}
.fc-count{background:#000;color:var(--amber);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.72rem;}

/* ===== NAV ===== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;padding:20px 60px;
  transition:all 0.4s;
}
.nav.scrolled{background:rgba(10,6,2,0.92);backdrop-filter:blur(20px);padding:14px 60px;border-bottom:1px solid rgba(232,136,42,0.15);}
.nav-logo{display:flex;align-items:center;gap:12px;flex:1;}
.nl-icon{font-size:1.6rem;}
.nl-name{font-family:var(--serif);font-size:1.1rem;font-weight:500;color:var(--amber);line-height:1.1;}
.nl-sub{font-size:0.65rem;color:var(--w30);letter-spacing:0.1em;text-transform:uppercase;}
.nav-links{display:flex;gap:2rem;}
.nav-links a{text-decoration:none;color:var(--w60);font-size:0.85rem;font-weight:400;letter-spacing:0.04em;transition:color 0.3s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--amber);transition:width 0.3s;}
.nav-links a:hover{color:var(--amber);}
.nav-links a:hover::after{width:100%;}
.nav-actions{display:flex;align-items:center;gap:16px;margin-left:2rem;}
.nav-time{font-size:0.75rem;color:var(--w30);letter-spacing:0.04em;}

/* ===== BUTTONS ===== */
.btn-amber{
  background:var(--amber);color:#000;border:none;
  padding:12px 28px;border-radius:100px;font-family:var(--sans);font-size:0.85rem;
  font-weight:600;letter-spacing:0.04em;cursor:pointer;
  transition:all 0.3s;position:relative;overflow:hidden;
}
.btn-amber:hover{background:var(--amber-light);transform:translateY(-2px);box-shadow:0 12px 30px var(--amber-glow);}
.btn-amber.full{width:100%;border-radius:12px;padding:16px;font-size:0.95rem;margin-top:8px;}
.btn-outline-amber{
  background:transparent;border:1.5px solid var(--amber-dim);color:var(--amber);
  padding:12px 28px;border-radius:100px;font-family:var(--sans);font-size:0.85rem;
  font-weight:500;cursor:pointer;transition:all 0.3s;
}
.btn-outline-amber:hover{border-color:var(--amber);background:rgba(232,136,42,0.1);}

/* ===== HERO ===== */
.hero{
  min-height:100vh;display:flex;align-items:center;padding:120px 60px 80px;
  position:relative;overflow:hidden;gap:60px;
  background:radial-gradient(ellipse at 20% 30%,rgba(232,136,42,0.08) 0%,transparent 50%),var(--black);
}
.hero-video-bg{position:absolute;inset:0;z-index:0;}
.hvb-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 60%,rgba(232,136,42,0.05),transparent 60%);}
.hero-pattern{
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(232,136,42,0.07) 1px,transparent 1px);
  background-size:40px 40px;
}
.food-float{
  position:absolute;font-size:1.5rem;opacity:0.08;
  animation:foodDrift 8s ease-in-out infinite;
}
.ff1{top:20%;left:10%;animation-delay:0s;}
.ff2{top:60%;right:8%;animation-delay:-2s;font-size:0.8rem;}
.ff3{bottom:20%;left:5%;animation-delay:-4s;}
.ff4{top:30%;right:15%;animation-delay:-6s;font-size:0.8rem;}
@keyframes foodDrift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(10deg)}}

.hero-content{flex:1;max-width:600px;position:relative;z-index:2;}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(232,136,42,0.1);border:1px solid rgba(232,136,42,0.3);
  padding:8px 20px;border-radius:100px;
  font-size:0.78rem;color:var(--amber);letter-spacing:0.06em;margin-bottom:24px;
}
.hero-title{
  font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);
  font-weight:400;line-height:1.1;margin-bottom:20px;letter-spacing:0.01em;
}
.hero-title em{color:var(--amber);font-style:italic;}
.hero-desc{font-size:1rem;color:var(--w60);line-height:1.8;margin-bottom:32px;font-weight:300;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px;}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap;}
.chip{
  background:var(--glass);border:1px solid var(--border);
  padding:7px 16px;border-radius:100px;font-size:0.78rem;color:var(--w60);
  transition:all 0.3s;
}
.chip:hover{border-color:var(--amber-dim);color:var(--amber);}

/* Hero right cards */
.hero-cards{
  display:flex;flex-direction:column;gap:14px;
  position:relative;z-index:2;flex-shrink:0;
}
.hcard{
  background:var(--glass);border:1px solid var(--border);
  border-radius:14px;padding:16px 20px;
  display:flex;align-items:center;gap:14px;
  transition:all 0.4s;cursor:pointer;width:220px;
}
.hcard.active,.hcard:hover{border-color:rgba(232,136,42,0.5);background:rgba(232,136,42,0.08);}
.hc-emoji{font-size:2rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(232,136,42,0.1);border-radius:10px;}
.hc-name{font-size:0.9rem;font-weight:600;margin-bottom:3px;}
.hc-desc{font-size:0.73rem;color:var(--w30);}

.scroll-cue{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;
  color:var(--w30);font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;
}
.sc-arrow{font-size:1.2rem;color:var(--amber);animation:arrowBounce 1.5s ease-in-out infinite;}
@keyframes arrowBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ===== FEATURES STRIP ===== */
.features-strip{
  background:var(--dark);border-top:1px solid rgba(232,136,42,0.1);border-bottom:1px solid rgba(232,136,42,0.1);
  padding:28px 60px;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;
}
.fs-item{display:flex;align-items:center;gap:14px;padding:10px 40px;}
.fsi-icon{font-size:1.8rem;}
.fsi-title{font-size:0.9rem;font-weight:600;margin-bottom:2px;}
.fsi-sub{font-size:0.75rem;color:var(--w30);}
.fs-div{width:1px;height:40px;background:rgba(232,136,42,0.15);}

/* ===== MENU SECTION ===== */
.menu-section{padding:100px 0;background:var(--black);}
.container{max-width:1200px;margin:0 auto;padding:0 60px;}
.menu-header{text-align:center;margin-bottom:50px;}
.section-tag{display:inline-block;background:rgba(232,136,42,0.1);border:1px solid rgba(232,136,42,0.3);padding:6px 18px;border-radius:100px;font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--amber);margin-bottom:14px;}
.section-title{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:400;line-height:1.15;margin-bottom:10px;}
.section-title em{color:var(--amber);font-style:italic;}
.section-sub{font-size:0.95rem;color:var(--w60);font-weight:300;}

/* Filter Pills */
.filter-pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:50px;}
.pill{
  background:var(--glass);border:1px solid var(--border);color:var(--w60);
  padding:10px 22px;border-radius:100px;font-family:var(--sans);font-size:0.83rem;font-weight:400;
  cursor:pointer;transition:all 0.3s;
}
.pill:hover{color:var(--amber);border-color:var(--amber-dim);}
.pill.active{background:rgba(232,136,42,0.18);border-color:var(--amber);color:var(--amber);font-weight:600;box-shadow:0 0 20px rgba(232,136,42,0.15);}

/* Menu Grid */
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.menu-card{
  background:var(--dark);border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);cursor:pointer;
  position:relative;
}
.menu-card:hover{transform:translateY(-8px);border-color:rgba(232,136,42,0.4);box-shadow:0 24px 50px rgba(0,0,0,0.4),0 0 30px rgba(232,136,42,0.08);}
.menu-card.hide{opacity:0;transform:scale(0.85);pointer-events:none;display:none;}
.menu-card.show{opacity:1;transform:scale(1);}

.mc-image{
  height:160px;display:flex;align-items:center;justify-content:center;position:relative;
  background:linear-gradient(135deg,var(--dark2),var(--dark));overflow:hidden;
}
.mc-emoji{font-size:4rem;transition:transform 0.4s;filter:drop-shadow(0 8px 16px rgba(0,0,0,0.5));}
.menu-card:hover .mc-emoji{transform:scale(1.15) rotate(-5deg);}
.mc-badge{
  position:absolute;top:12px;left:12px;background:var(--amber);color:#000;
  font-size:0.65rem;font-weight:700;padding:4px 10px;border-radius:100px;letter-spacing:0.05em;
}
.mc-badge.popular{background:linear-gradient(90deg,#E8882A,#F5AA5C);}
.mc-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,0.6);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity 0.3s;backdrop-filter:blur(4px);
}
.menu-card:hover .mc-overlay{opacity:1;}
.mc-quick-add{
  background:var(--amber);color:#000;border:none;padding:10px 24px;border-radius:100px;
  font-family:var(--sans);font-size:0.85rem;font-weight:700;cursor:pointer;
  transform:translateY(10px);transition:transform 0.3s;
}
.menu-card:hover .mc-quick-add{transform:translateY(0);}
.mc-quick-add:hover{background:var(--amber-light);}

.mc-info{padding:18px 18px 16px;}
.mc-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.mc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.mc-dot.veg{border:1.5px solid #22c55e;background:transparent;box-shadow:inset 0 0 0 2px #22c55e;}
.mc-dot.non-veg{border:1.5px solid #ef4444;background:transparent;box-shadow:inset 0 0 0 2px #ef4444;}
.mc-tag{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--w30);}
.mc-name{font-family:var(--serif);font-size:1.05rem;font-weight:500;margin-bottom:8px;line-height:1.3;}
.mc-desc{font-size:0.78rem;color:var(--w30);line-height:1.7;margin-bottom:14px;font-weight:300;}
.mc-footer{display:flex;align-items:center;gap:10px;}
.mc-price{font-size:1.05rem;font-weight:700;color:var(--amber);flex:1;}
.mc-rating{font-size:0.75rem;color:#f59e0b;font-weight:600;}
.mc-add{
  background:transparent;border:1px solid rgba(232,136,42,0.4);color:var(--amber);
  padding:6px 16px;border-radius:100px;font-family:var(--sans);font-size:0.75rem;font-weight:600;
  cursor:pointer;transition:all 0.3s;
}
.mc-add:hover{background:var(--amber);color:#000;}

/* ===== CHEF'S SPECIAL ===== */
.specials{padding:100px 0;position:relative;overflow:hidden;}
.sp-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 50%,rgba(232,136,42,0.07),transparent 60%),var(--dark2);}
.sp-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.sp-dish{display:flex;align-items:center;gap:20px;margin:24px 0;}
.spd-emoji{font-size:3.5rem;animation:plateBob 2s ease-in-out infinite;}
.spd-name{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--amber);}
.sp-desc{font-size:0.95rem;color:var(--w60);line-height:1.85;margin-bottom:28px;font-weight:300;}
.sp-meta{display:flex;gap:32px;margin-bottom:36px;}
.spm{display:flex;flex-direction:column;gap:4px;}
.spm-label{font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--w30);}
.spm-val{font-size:1rem;font-weight:600;}
.spm-val.amber{color:var(--amber);}

/* Special visual */
.special-visual{position:relative;width:380px;height:380px;display:flex;align-items:center;justify-content:center;}
.sv-ring{position:absolute;border-radius:50%;}
.sr1{width:280px;height:280px;border:1px solid rgba(232,136,42,0.2);animation:spin 15s linear infinite;}
.sr2{width:360px;height:360px;border:1px dashed rgba(232,136,42,0.1);animation:spin 25s linear infinite reverse;}
.sv-plate{
  width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,136,42,0.15),rgba(232,136,42,0.05));
  border:1px solid rgba(232,136,42,0.3);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 60px rgba(232,136,42,0.15);
}
.svp-inner{font-size:5rem;animation:plateBob 2s ease-in-out infinite;}
.sv-tag-1,.sv-tag-2,.sv-tag-3{
  position:absolute;background:var(--dark2);border:1px solid rgba(232,136,42,0.3);
  padding:6px 14px;border-radius:100px;font-size:0.72rem;color:var(--amber);
  font-weight:500;letter-spacing:0.04em;animation:tagFloat 3s ease-in-out infinite;
}
.sv-tag-1{top:20px;left:10px;animation-delay:0s;}
.sv-tag-2{top:20px;right:10px;animation-delay:-1s;}
.sv-tag-3{bottom:40px;left:50%;transform:translateX(-50%);animation-delay:-2s;}
@keyframes tagFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.sv-tag-3{animation:tagFloat3 3s ease-in-out infinite -2s;}
@keyframes tagFloat3{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}

/* ===== RESERVATION ===== */
.reserve-section{padding:100px 0;background:var(--black);}
.reserve-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.reserve-desc{font-size:0.95rem;color:var(--w60);line-height:1.8;margin:16px 0 36px;font-weight:300;}
.reserve-info{display:flex;flex-direction:column;gap:20px;}
.ri-item{display:flex;align-items:flex-start;gap:14px;}
.ri-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px;}
.ri-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--w30);margin-bottom:4px;}
.ri-val{font-size:0.9rem;font-weight:400;}

.reserve-form{
  background:var(--dark);border:1px solid var(--border);border-radius:20px;padding:36px;
}
.reserve-form h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;margin-bottom:28px;color:var(--amber);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.form-group label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--w30);}
.form-group input,.form-group select{
  background:var(--dark2);border:1px solid var(--border);color:white;
  padding:12px 16px;border-radius:10px;font-family:var(--sans);font-size:0.9rem;
  outline:none;transition:border-color 0.3s;
}
.form-group input:focus,.form-group select:focus{border-color:var(--amber);}
.form-group input::placeholder{color:var(--w30);}
.form-group select option{background:var(--dark2);}
.guests-selector{display:flex;align-items:center;gap:14px;background:var(--dark2);border:1px solid var(--border);padding:10px 16px;border-radius:10px;}
.gs-btn{background:var(--amber-dim);border:none;color:var(--amber);width:28px;height:28px;border-radius:50%;font-size:1rem;cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center;}
.gs-btn:hover{background:var(--amber);color:#000;}
#guestCount{font-size:1.1rem;font-weight:700;min-width:20px;text-align:center;}
.form-note{text-align:center;font-size:0.75rem;color:var(--w30);margin-top:12px;}

/* ===== FOOTER ===== */
.footer{padding:60px 0 30px;border-top:1px solid rgba(232,136,42,0.1);}
.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:50px;}
.fb-logo{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--amber);margin-bottom:12px;}
.footer-brand p{font-size:0.88rem;color:var(--w30);line-height:1.7;max-width:280px;margin-bottom:20px;}
.fb-social{display:flex;gap:10px;}
.fb-social a{width:36px;height:36px;border-radius:8px;background:var(--glass);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.7rem;font-weight:700;color:var(--w60);text-decoration:none;transition:all 0.3s;}
.fb-social a:hover{color:var(--amber);border-color:var(--amber-dim);}
.footer-links-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.flg-col h4{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--amber);margin-bottom:14px;font-weight:500;}
.flg-col a{display:block;color:var(--w30);text-decoration:none;font-size:0.85rem;margin-bottom:10px;transition:color 0.3s;}
.flg-col a:hover{color:var(--amber);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(232,136,42,0.08);font-size:0.75rem;color:var(--w30);}

/* ===== TOAST ===== */
.toast{
  position:fixed;bottom:100px;right:30px;z-index:9999;
  background:var(--dark);border:1px solid rgba(34,197,94,0.4);border-radius:14px;
  padding:16px 20px;display:flex;align-items:center;gap:14px;
  box-shadow:0 16px 40px rgba(0,0,0,0.5);
  transform:translateX(120%);transition:transform 0.5s cubic-bezier(0.175,0.885,0.32,1.275);
  min-width:260px;
}
.toast.show{transform:translateX(0);}
.toast-icon{font-size:1.5rem;}
.toast-title{font-size:0.9rem;font-weight:600;margin-bottom:2px;}
.toast-sub{font-size:0.75rem;color:var(--w30);}

/* ===== CART MODAL ===== */
.cart-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:1998;opacity:0;pointer-events:none;transition:opacity 0.3s;backdrop-filter:blur(4px);}
.cart-modal-overlay.act{opacity:1;pointer-events:all;}
.cart-modal{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-60%);z-index:1999;
  width:440px;background:var(--dark);border:1px solid var(--border);border-radius:20px;
  overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,0.6);
  opacity:0;transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);pointer-events:none;
}
.cart-modal.open{opacity:1;transform:translate(-50%,-50%);pointer-events:all;}
.cm-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.cm-header h3{font-family:var(--serif);font-size:1.2rem;}
.cm-close{background:var(--glass);border:none;color:var(--w60);width:30px;height:30px;border-radius:8px;cursor:pointer;transition:all 0.3s;}
.cm-close:hover{color:white;background:rgba(255,255,255,0.1);}
.cm-items{max-height:320px;overflow-y:auto;padding:16px;}
.cm-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--dark2);border-radius:10px;margin-bottom:10px;}
.cmi-emoji{font-size:1.6rem;width:44px;height:44px;background:rgba(232,136,42,0.08);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cmi-info{flex:1;}
.cmi-name{font-size:0.85rem;font-weight:600;margin-bottom:3px;}
.cmi-price{font-size:0.8rem;color:var(--amber);}
.cmi-qty{display:flex;align-items:center;gap:8px;}
.cmi-q-btn{background:var(--amber-dim);border:none;color:var(--amber);width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:0.85rem;transition:all 0.2s;}
.cmi-q-btn:hover{background:var(--amber);color:#000;}
.cmi-count{font-size:0.85rem;font-weight:700;min-width:16px;text-align:center;}
.cm-footer{padding:16px 24px;border-top:1px solid var(--border);}
.cm-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:0.9rem;color:var(--w60);}
.cmt-num{font-size:1.2rem;font-weight:700;color:var(--amber);}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.vis{opacity:1;transform:translateY(0);}
[data-delay="100"]{transition-delay:0.1s;}[data-delay="200"]{transition-delay:0.2s;}[data-delay="300"]{transition-delay:0.3s;}

/* ===== MAGNETIC ===== */
.magnetic{transition:transform 0.3s cubic-bezier(0.175,0.885,0.32,1.275);}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .hero{flex-direction:column;padding:120px 40px 80px;text-align:center;}
  .hero-btns,.hero-chips{justify-content:center;}
  .hero-cards{flex-direction:row;width:100%;}
  .hcard{flex:1;}
  .menu-grid{grid-template-columns:repeat(2,1fr);}
  .sp-inner{grid-template-columns:1fr;}
  .special-visual{display:none;}
  .reserve-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .nav{padding:14px 24px;}
  .nav-links,.nav-actions .nav-time{display:none;}
  .container{padding:0 24px;}
  .menu-grid{grid-template-columns:1fr;}
  .hero-cards{display:none;}
  .features-strip{flex-direction:column;gap:16px;padding:24px;}
  .fs-div{width:80%;height:1px;}
  .form-row{grid-template-columns:1fr;}
  .footer-links-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:6px;text-align:center;}
  .cart-modal{width:calc(100vw-40px);}
}
