:root{
  --bg:#0e0b08;
  --bg-2:#15110c;
  --surface:#1b1610;
  --surface-2:#241d14;
  --line:#33291b;
  --gold:#d6b25e;
  --gold-hi:#f3dc93;
  --gold-lo:#a87a25;
  --gold-grad:linear-gradient(135deg,#b48a2c 0%,#f3dc93 45%,#c79b3c 100%);
  --cream:#f6ecd4;
  --muted:#b6a988;
  --radius:18px;
  --font:"IBM Plex Sans Arabic",system-ui,sans-serif;
  --display:"Aref Ruqaa","IBM Plex Sans Arabic",serif;
  --gutter:clamp(16px,4vw,48px);
  --max:1180px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{background:var(--bg);color:var(--cream);font-family:var(--font);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.eyebrow{color:var(--gold);font-weight:500;font-size:.95rem;letter-spacing:.02em;display:flex;align-items:center;gap:.5rem}
.dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px #4ade8033;animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px #4ade8000}}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.25}
h2{font-size:clamp(1.9rem,4vw,2.9rem)}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.7rem;border-radius:999px;font-weight:600;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold-grad);color:#1a1206;box-shadow:0 8px 24px -8px #d6b25e88}
.btn-ghost{border-color:var(--gold-lo);color:var(--gold-hi)}
.btn-ghost:hover{background:#d6b25e1a}
.btn-dark{background:#140f08;color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}

/* topbar */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1.5rem;padding:.6rem var(--gutter);background:#0e0b08cc;backdrop-filter:blur(14px);border-bottom:1px solid #d6b25e22}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{height:46px;width:auto}
.brand span{display:flex;flex-direction:column;line-height:1.1}
.brand b{font-family:var(--display);font-size:1.5rem;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand small{color:var(--muted);font-size:.75rem}
.nav{display:flex;gap:1.8rem;margin-inline-start:auto}
.nav a{color:var(--muted);font-weight:500;transition:color .2s;position:relative}
.nav a:hover{color:var(--gold-hi)}
.cart-btn{position:relative;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold-lo);background:transparent;color:var(--gold-hi);display:grid;place-items:center;transition:background .2s}
.cart-btn:hover{background:#d6b25e1a}
.cart-count{position:absolute;top:-4px;inset-inline-start:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--gold-grad);color:#1a1206;font-size:.75rem;font-weight:700;display:grid;place-items:center;padding:0 5px}
.cart-count.bump{animation:bump .35s}
@keyframes bump{40%{transform:scale(1.4)}}

/* hero */
.hero{max-width:var(--max);margin:0 auto;padding:clamp(32px,6vw,80px) var(--gutter) 40px;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,72px);align-items:center;position:relative}
.hero::before{content:"";position:absolute;inset:-10% -20% auto auto;width:70%;height:90%;background:radial-gradient(closest-side,#d6b25e22,transparent);pointer-events:none}
.hero h1{font-size:clamp(2.6rem,6.5vw,5rem);margin:.8rem 0 1rem;letter-spacing:-.01em}
.hero h1 em{font-style:normal;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--muted);font-size:1.12rem;max-width:34em}
.lead b{color:var(--gold-hi)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.8rem 0 2.2rem}
.hero-stats{list-style:none;padding:0;display:flex;gap:clamp(18px,3vw,44px);border-top:1px solid var(--line);padding-top:1.4rem}
.hero-stats b{display:block;font-family:var(--display);font-size:1.9rem;color:var(--gold-hi);line-height:1.2}
.hero-stats span{color:var(--muted);font-size:.85rem}

.hero-art{position:relative;height:clamp(420px,52vw,600px)}
.arch{overflow:hidden;border-radius:999px 999px 20px 20px;border:1px solid #d6b25e55;background:var(--surface)}
.arch img{width:100%;height:100%;object-fit:cover}
.arch-main{position:absolute;inset-block:0;inset-inline-start:10%;width:56%;box-shadow:0 30px 60px -20px #000}
.arch-side{position:absolute;width:32%;box-shadow:0 20px 40px -18px #000}
.a1{inset-inline-end:0;top:6%;height:44%}
.a2{inset-inline-end:2%;bottom:0;height:44%}
.badge-1919{position:absolute;inset-inline-start:0;bottom:8%;width:104px;height:104px;border-radius:50%;background:var(--bg);border:1px solid var(--gold-lo);display:grid;place-items:center;box-shadow:0 0 0 6px #d6b25e14}
.badge-1919 img{width:62px;height:auto}

.ornament{color:var(--gold-lo);max-width:320px;margin:20px auto 0;opacity:.8}

/* section head */
.section-head{text-align:center;margin-bottom:2rem}
.section-head .eyebrow{justify-content:center}
.section-head h2{margin-top:.3rem}

/* menu */
.menu{max-width:var(--max);margin:0 auto;padding:56px var(--gutter) 40px}
.menu-tools{position:sticky;top:66px;z-index:30;background:linear-gradient(var(--bg) 85%,transparent);padding:12px 0 18px;display:flex;flex-direction:column;gap:12px}
.cats{display:flex;gap:.6rem;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.cats::-webkit-scrollbar{display:none}
.cat{flex:none;padding:.55rem 1.3rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:500;transition:all .2s}
.cat:hover{border-color:var(--gold-lo);color:var(--cream)}
.cat[aria-pressed="true"]{background:var(--gold-grad);color:#1a1206;border-color:transparent;font-weight:600}
.search{display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 1.1rem;color:var(--muted);max-width:420px;transition:border-color .2s}
.search:focus-within{border-color:var(--gold-lo)}
.search input{flex:1;background:none;border:0;outline:0;padding:.7rem 0;min-width:0}
.search input::placeholder{color:#7d7259}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:8px}
.card{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s;animation:in .5s both}
@keyframes in{from{opacity:0;transform:translateY(10px)}}
.card:hover{transform:translateY(-4px);border-color:var(--gold-lo)}
.thumb{aspect-ratio:16/10;background:radial-gradient(circle at 50% 120%,#d6b25e22,transparent 70%),var(--surface-2);display:grid;place-items:center;position:relative;color:var(--gold-lo)}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb svg{opacity:.55}
.tag{position:absolute;top:12px;inset-inline-start:12px;background:var(--gold-grad);color:#1a1206;font-size:.75rem;font-weight:700;padding:.15rem .7rem;border-radius:999px;z-index:1}
.card-body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.card h3{font-family:var(--font);font-weight:600;font-size:1.1rem}
.card p{color:var(--muted);font-size:.88rem;flex:1}
.card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.7rem}
.price{font-weight:700;color:var(--gold-hi);font-size:1.05rem;font-variant-numeric:tabular-nums}
.price small{color:var(--muted);font-weight:400;margin-inline-start:.25rem}
.add{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gold-grad);border:0;color:#1a1206;font-size:1.4rem;line-height:1;transition:transform .15s}
.add:hover{transform:scale(1.1)}
.add:active{transform:scale(.92)}
.stepper{display:inline-flex;align-items:center;gap:.6rem;background:var(--surface-2);border-radius:999px;padding:3px}
.stepper button{width:34px;height:34px;border-radius:50%;border:0;background:var(--gold-grad);color:#1a1206;font-size:1.2rem;line-height:1}
.stepper span{min-width:1.2ch;text-align:center;font-weight:600}
.empty{text-align:center;color:var(--muted);padding:3rem 0}

/* story */
.story{max-width:var(--max);margin:0 auto;padding:72px var(--gutter);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,6vw,80px);align-items:center}
.story-art .arch{aspect-ratio:3/4;max-width:380px;margin:auto;box-shadow:0 30px 60px -20px #000}
.story-text h2{margin:.4rem 0 1rem}
.story-text>p{color:var(--muted);font-size:1.05rem}
.values{list-style:none;padding:0;margin-top:1.6rem;display:grid;gap:.9rem}
.values li{padding:.9rem 1.1rem;border-inline-start:3px solid var(--gold);background:var(--surface);border-radius:0 12px 12px 0;color:var(--muted)}
.values b{color:var(--gold-hi);margin-inline-end:.5rem}

/* breakfast */
.breakfast{padding:0 var(--gutter)}
.offer{max-width:var(--max);margin:0 auto;border-radius:28px;padding:clamp(28px,5vw,56px);background:var(--gold-grad);color:#1c1408;display:grid;grid-template-columns:1fr auto auto;gap:clamp(18px,4vw,48px);align-items:center;position:relative;overflow:hidden}
.offer::after{content:"";position:absolute;inset-inline-end:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:2px solid #1c140833;box-shadow:0 0 0 22px #1c14080d}
.offer .eyebrow{color:#5a3d0b}
.offer h2{margin:.3rem 0 .6rem}
.offer p{opacity:.85}
.price-tag{text-align:center;line-height:1.1;position:relative;z-index:1}
.price-tag b{display:block;font-family:var(--display);font-size:clamp(2.2rem,5vw,3.4rem)}
.price-tag small{font-size:.85rem;opacity:.75}
.offer .btn{justify-self:center}

/* visit */
.visit{max-width:var(--max);margin:0 auto;padding:80px var(--gutter) 60px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.info-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:.4rem;color:var(--gold)}
.info-card h3{font-family:var(--font);color:var(--cream);font-size:1.15rem;margin-top:.5rem}
.info-card p{color:var(--muted);flex:1}
.info-card a{color:var(--gold-hi);font-weight:600;margin-top:.5rem}
.info-card a:hover{text-decoration:underline}
.wholesale{text-align:center;color:var(--muted);margin-top:2rem}
.wholesale b{color:var(--gold-hi)}

/* footer */
.footer{border-top:1px solid var(--line);padding:40px var(--gutter) 100px;display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;background:var(--bg-2)}
.f-name{font-family:var(--display);font-size:1.3rem;color:var(--gold-hi)}
.social{display:flex;gap:1.4rem}
.social a{color:var(--muted)}
.social a:hover{color:var(--gold-hi)}
.footer small{color:#7d7259}
.footer small a:hover{color:var(--gold-hi)}

/* cart */
.cartbar{position:fixed;inset-inline:16px;bottom:16px;z-index:35;display:flex;justify-content:space-between;align-items:center;padding:.95rem 1.4rem;border-radius:999px;border:0;background:var(--gold-grad);color:#1a1206;font-weight:600;box-shadow:0 14px 36px -10px #000;max-width:520px;margin-inline:auto}
.cartbar[hidden]{display:none}
.scrim{position:fixed;inset:0;background:#000a;z-index:50;backdrop-filter:blur(2px)}
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(440px,100%);background:var(--bg-2);border-right:1px solid var(--line);visibility:hidden;z-index:60;display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s .35s}
.drawer.open{transform:none;visibility:visible;transition-delay:0s}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.3rem;border-bottom:1px solid var(--line)}
.drawer-head h3{font-size:1.6rem;color:var(--gold-hi)}
.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--muted)}
.drawer-body{flex:1;overflow:auto;padding:.8rem 1.3rem}
.line{display:flex;align-items:center;gap:.8rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.line-info{flex:1;min-width:0}
.line-info b{display:block;font-weight:600}
.line-info small{color:var(--muted)}
.cart-empty{text-align:center;color:var(--muted);padding:3rem 1rem}
.drawer-foot{padding:1rem 1.3rem 1.3rem;border-top:1px solid var(--line);display:grid;gap:.6rem;background:var(--surface)}
.drawer-foot input,.drawer-foot textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:.65rem .9rem;outline:0;resize:none}
.drawer-foot input:focus,.drawer-foot textarea:focus{border-color:var(--gold-lo)}
.drawer-foot .invalid{border-color:#e5654e}
.total{display:flex;justify-content:space-between;font-size:1.1rem}
.total b{color:var(--gold-hi);font-size:1.3rem}
.drawer-foot .btn{justify-content:center}

@media (max-width:860px){
  .nav{display:none}
  .cart-btn{margin-inline-start:auto}
  .hero{grid-template-columns:1fr}
  .hero-art{order:-1;height:380px}
  .story{grid-template-columns:1fr}
  .offer{grid-template-columns:1fr;text-align:center}
  .badge-1919{width:84px;height:84px}
  .badge-1919 img{width:48px}
  .menu-tools{top:64px}
}
@media (max-width:520px){
  .grid{grid-template-columns:1fr 1fr;gap:12px}
  .thumb{aspect-ratio:4/3}
  .card p{display:none}
  .card-body{padding:.8rem}
  .card h3{font-size:.98rem}
  .hero-stats{gap:16px}
  .hero-stats b{font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
