/* ===================== مندي صنعاء اليمن — style.css ===================== */
:root{
  --black:#0A0A0A; --card:#171512; --card2:#1e1b16;
  --gold:#D4AF37; --gold-light:#F0D27A; --gold-dim:#8a6e28;
  --green:#4CAF50; --green-dim:#357a38;
  --cream:#F5EFE1; --muted:#a89f8c; --line:rgba(212,175,55,.18);
  --radius:20px; --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ background:var(--black); color:var(--cream); font-family:'Tajawal',sans-serif; line-height:1.7; overflow-x:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input,textarea{ font-family:inherit; }
.hidden{ display:none !important; }
.container{ max-width:1100px; margin:0 auto; padding:0 20px; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* أزرار */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 28px; border-radius:999px; font-weight:800; font-size:14.5px; transition:all .3s var(--ease); }
.btn:active{ transform:scale(.96); }
.btn.full{ width:100%; }
.btn-gold{ background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-dim)); color:#161208; box-shadow:0 10px 26px rgba(212,175,55,.3); }
.btn-gold:hover{ filter:brightness(1.08); transform:translateY(-2px); }
.btn-ghost{ border:1.5px solid rgba(245,239,225,.3); color:var(--cream); }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-light); }
.btn-outline{ border:1px solid rgba(245,239,225,.15); color:var(--muted); margin-top:8px; }
.btn-outline:hover{ border-color:var(--gold-dim); color:var(--gold-light); }
.btn-whatsapp{ background:linear-gradient(135deg,var(--green),var(--green-dim)); color:#fff; box-shadow:0 10px 24px rgba(76,175,80,.3); margin-top:10px; }
.btn-whatsapp:hover{ filter:brightness(1.08); }
.btn-whatsapp:disabled{ opacity:.4; pointer-events:none; }

/* شاشة التحميل */
.loader{ position:fixed; inset:0; z-index:999; background:var(--black); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; transition:opacity .6s var(--ease), visibility .6s var(--ease); }
.loader.done{ opacity:0; visibility:hidden; pointer-events:none; }
.loader-gate{ width:80px; height:100px; }
.gate-svg{ width:100%; height:100%; }
.gate-arch{ fill:none; stroke:var(--gold); stroke-width:5; stroke-dasharray:520; stroke-dashoffset:520; animation:drawGate 1.5s var(--ease) forwards; }
@keyframes drawGate{ to{ stroke-dashoffset:0; } }
.loader-text{ font-family:'Amiri',serif; color:var(--muted); font-size:15px; opacity:0; animation:fadeIn .6s ease .8s forwards; }
@keyframes fadeIn{ to{ opacity:1; } }

/* الهيدر */
.navbar{ position:sticky; top:0; z-index:150; background:rgba(10,10,10,.88); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.nav-inner{ max-width:1100px; margin:0 auto; padding:0 20px; height:60px; display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:9px; }
.brand-badge{ width:32px; height:32px; border-radius:50%; background:rgba(212,175,55,.1); border:1px solid var(--gold-dim); color:var(--gold-light); display:flex; align-items:center; justify-content:center; font-family:'Amiri',serif; font-weight:700; }
.brand-text{ display:flex; flex-direction:column; line-height:1.2; }
.brand-text strong{ font-size:14px; color:var(--gold-light); }
.brand-text small{ font-size:10px; color:var(--muted); }
.nav-actions{ display:flex; gap:8px; }
.icon-btn{ position:relative; width:38px; height:38px; border-radius:50%; background:rgba(245,239,225,.06); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:15px; }
.cart-count{ position:absolute; top:-4px; left:-4px; min-width:17px; height:17px; padding:0 3px; border-radius:999px; background:var(--green); color:#fff; font-size:10px; font-weight:800; display:none; align-items:center; justify-content:center; }
.cart-count.show{ display:flex; }

/* Hero */
.hero{ position:relative; min-height:90svh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-media img{ width:100%; height:100%; object-fit:cover; }
.hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,10,.6) 0%, rgba(10,10,10,.8) 55%, var(--black) 96%), radial-gradient(ellipse at 50% 30%, rgba(212,175,55,.16), transparent 60%); }
.hero-content{ position:relative; z-index:2; text-align:center; padding:100px 20px 70px; max-width:520px; }
.hero-eyebrow{ font-size:12px; letter-spacing:.3em; color:var(--gold); font-weight:700; margin-bottom:14px; }
.hero-title{ font-family:'Amiri',serif; font-weight:700; font-size:clamp(34px,8vw,56px); line-height:1.15; }
.hero-title span{ display:block; background:linear-gradient(135deg,var(--gold-light),var(--gold) 50%,var(--gold-dim)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-tagline{ margin-top:14px; color:var(--muted); font-size:15px; }
.hero-actions{ margin-top:30px; display:flex; flex-direction:column; gap:12px; align-items:center; }
.gate-divider{ position:absolute; bottom:-1px; inset-inline:0; line-height:0; }
.gate-divider svg{ width:100%; height:60px; display:block; }
.gate-divider path{ fill:var(--black); }

/* أقسام عامة */
.section-eyebrow{ display:block; font-size:12px; letter-spacing:.25em; color:var(--gold); font-weight:700; margin-bottom:8px; text-align:center; }
.section-title{ font-family:'Amiri',serif; font-size:clamp(24px,4vw,32px); text-align:center; margin-bottom:24px; }

/* المنيو */
.menu-section{ padding:70px 0; }
.search-box{ display:flex; align-items:center; gap:8px; background:var(--card); border:1px solid var(--line); border-radius:999px; padding:12px 18px; max-width:400px; margin:0 auto 20px; }
.search-box input{ flex:1; background:none; border:none; outline:none; color:var(--cream); font-size:14px; }
.cat-filters{ display:flex; gap:8px; overflow-x:auto; padding:4px 2px 26px; scrollbar-width:none; }
.cat-filters::-webkit-scrollbar{ display:none; }
.chip{ flex-shrink:0; padding:10px 20px; border-radius:999px; font-size:13.5px; font-weight:700; background:var(--card); border:1px solid var(--line); color:var(--muted); transition:.3s; }
.chip.active{ background:var(--gold); color:#161208; border-color:var(--gold); }
.cat-block{ margin-bottom:32px; }
.cat-heading{ font-family:'Amiri',serif; font-size:18px; color:var(--gold-light); margin-bottom:12px; }
.items-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media(min-width:640px){ .items-grid{ grid-template-columns:repeat(3,1fr); } }
.item-card{ background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.item-media{ aspect-ratio:4/3; background:var(--card2); position:relative; }
.item-media.placeholder{ display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg, rgba(212,175,55,.14), rgba(212,175,55,.03)); }
.placeholder-icon{ font-size:34px; opacity:.85; filter:drop-shadow(0 2px 6px rgba(0,0,0,.4)); }
.item-media img{ width:100%; height:100%; object-fit:cover; }
.badge{ position:absolute; top:8px; right:8px; font-size:9.5px; font-weight:800; padding:4px 9px; border-radius:999px; background:var(--gold); color:#161208; }
.item-body{ padding:12px; }
.item-name{ font-size:13.5px; font-weight:700; }
.item-desc{ font-size:11px; color:var(--muted); margin-top:3px; min-height:28px; }
.item-footer{ display:flex; align-items:center; justify-content:space-between; margin-top:8px; }
.item-price{ font-size:13px; font-weight:800; color:var(--gold-light); }
.qty-btn{ width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,var(--gold-light),var(--gold)); color:#161208; font-weight:800; font-size:16px; display:flex; align-items:center; justify-content:center; }
.qty-control{ display:flex; align-items:center; gap:6px; background:rgba(245,239,225,.06); border-radius:999px; padding:3px; }
.qty-control button{ width:22px; height:22px; border-radius:50%; background:rgba(245,239,225,.1); font-size:13px; font-weight:800; }
.qty-control span{ font-size:12px; font-weight:700; width:14px; text-align:center; }
.no-results{ text-align:center; color:var(--muted); padding:40px 0; }

/* عن المطعم */
.about{ padding:20px 0 70px; }
.about-grid{ display:grid; gap:24px; }
.about-media{ border-radius:var(--radius); overflow:hidden; aspect-ratio:16/10; }
.about-media img{ width:100%; height:100%; object-fit:cover; }
.about-content p{ color:var(--muted); margin-top:10px; font-size:14px; }
@media(min-width:760px){ .about-grid{ grid-template-columns:1fr 1fr; align-items:center; } }

/* فوتر */
.footer{ background:var(--card); padding:44px 0 20px; border-top:1px solid var(--line); }
.footer-grid{ display:grid; gap:20px; text-align:center; }
.footer-brand{ font-family:'Amiri',serif; color:var(--gold-light); font-size:17px; }
.footer p{ color:var(--muted); font-size:13px; margin-top:4px; }
.footer h4{ color:var(--gold); font-size:13px; margin-bottom:4px; }
.footer-bottom{ text-align:center; color:var(--muted); font-size:11px; margin-top:28px; }
@media(min-width:640px){ .footer-grid{ grid-template-columns:repeat(3,1fr); text-align:right; } }

/* زر العودة للأعلى + السلة العائمة */
.back-to-top{ position:fixed; bottom:22px; left:20px; z-index:120; width:42px; height:42px; border-radius:50%; background:var(--card); border:1px solid var(--line); color:var(--gold); opacity:0; visibility:hidden; transform:translateY(10px); transition:.3s var(--ease); }
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.floating-cart{ position:fixed; bottom:20px; right:20px; z-index:120; width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,var(--gold-light),var(--gold)); color:#161208; font-size:22px; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 28px rgba(212,175,55,.4); }
.floating-cart .cart-count{ background:var(--green); }

/* نوافذ عامة (overlay) */
.overlay{ position:fixed; inset:0; z-index:400; visibility:hidden; pointer-events:none; }
.overlay.open{ visibility:visible; pointer-events:auto; }
.backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.7); backdrop-filter:blur(4px); opacity:0; transition:opacity .35s var(--ease); }
.overlay.open .backdrop{ opacity:1; }

/* السلة (Drawer) */
.drawer{ position:absolute; top:0; bottom:0; right:0; width:min(400px,100%); background:var(--card); border-left:1px solid var(--line); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .4s var(--ease); }
.overlay.open .drawer{ transform:translateX(0); }
.drawer-header{ display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); }
.drawer-header h3{ font-family:'Amiri',serif; color:var(--gold-light); font-size:18px; }
.drawer-body{ flex:1; overflow-y:auto; padding:14px 20px; display:flex; flex-direction:column; gap:10px; }
.empty-msg{ text-align:center; color:var(--muted); padding:50px 10px; font-size:13.5px; }
.cart-row{ display:flex; align-items:center; gap:10px; background:rgba(245,239,225,.05); border:1px solid var(--line); border-radius:12px; padding:10px; }
.cart-row-info{ flex:1; min-width:0; }
.cart-row-info h5{ font-size:13px; }
.cart-row-info span{ font-size:11.5px; color:var(--gold-light); font-weight:700; }
.cart-row-info a{ display:block; font-size:10.5px; color:var(--muted); text-decoration:underline; margin-top:3px; }
.drawer-footer{ padding:16px 20px 20px; border-top:1px solid var(--line); }
.total-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; font-size:14px; }
.total-row strong{ font-size:19px; color:var(--gold-light); }
.warning{ color:#e0837a; font-size:12px; text-align:center; margin-bottom:8px; }

/* نافذة مركزية (طاولة / حجز) */
.center-modal{ position:absolute; bottom:0; inset-inline:0; max-height:92vh; overflow-y:auto; background:var(--card); border-radius:24px 24px 0 0; border-top:1px solid var(--line); padding:26px 22px 30px; transform:translateY(100%); transition:transform .4s var(--ease); }
.overlay.open .center-modal{ transform:translateY(0); }
@media(min-width:640px){
  .center-modal{ bottom:auto; top:50%; right:50%; transform:translate(50%,-40%); width:100%; max-width:420px; border-radius:22px; }
  .overlay.open .center-modal{ transform:translate(50%,-50%); }
}
.center-modal h2{ font-family:'Amiri',serif; color:var(--gold-light); font-size:20px; margin-bottom:6px; }
.center-modal h2.center{ text-align:center; }
.muted{ color:var(--muted); font-size:13px; }
.muted.center{ text-align:center; margin-bottom:16px; }
.modal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }

.toggle-group{ display:flex; gap:6px; background:rgba(245,239,225,.05); border-radius:999px; padding:4px; margin:14px 0; }
.toggle-btn{ flex:1; padding:9px; border-radius:999px; font-size:12.5px; font-weight:700; color:var(--muted); }
.toggle-btn.active{ background:var(--gold); color:#161208; }

.input{ width:100%; height:44px; padding:0 14px; border-radius:12px; background:rgba(245,239,225,.05); border:1px solid var(--line); color:var(--cream); font-size:13.5px; outline:none; }
.input:focus{ border-color:var(--gold-dim); }
.textarea{ height:70px; padding:10px 14px; resize:none; }
.field{ display:block; margin-bottom:12px; }
.field span{ display:block; font-size:11.5px; color:var(--muted); margin-bottom:5px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.error{ color:#e0837a; font-size:12px; margin:-4px 0 10px; }

.confirm-check{ width:56px; height:56px; margin:0 auto 14px; border-radius:50%; background:rgba(212,175,55,.1); border:1px solid var(--gold-dim); color:var(--gold-light); font-size:26px; display:flex; align-items:center; justify-content:center; }
.code-box{ text-align:center; border:1px dashed var(--gold-dim); background:rgba(212,175,55,.05); border-radius:16px; padding:14px; margin:16px 0; }
.code-box span{ font-size:10.5px; color:var(--muted); letter-spacing:.15em; }
.code-box strong{ display:block; font-size:26px; color:var(--gold-light); font-family:'Amiri',serif; margin-top:4px; letter-spacing:.05em; }
.summary-box{ background:rgba(245,239,225,.04); border-radius:14px; padding:12px 14px; font-size:12.5px; margin-bottom:14px; }
.summary-box .row{ display:flex; justify-content:space-between; padding:3px 0; }
.summary-box .row span:first-child{ color:var(--muted); }

/* Toast */
.toast{ position:fixed; bottom:90px; right:50%; transform:translateX(50%) translateY(16px); background:var(--card); border:1px solid var(--gold-dim); padding:12px 22px; border-radius:999px; font-size:13px; z-index:500; opacity:0; visibility:hidden; transition:.35s var(--ease); white-space:nowrap; }
.toast.show{ opacity:1; visibility:visible; transform:translateX(50%) translateY(0); }
.toast::before{ content:'✓ '; color:var(--green); font-weight:800; }
