/* restaurant / modern-fast-casual — tokens from the site DNA (demo palette) */
:root {
  --bg: #fff8e6; --surface: #ffffff; --fg: #161514; --muted: #4a4640; --line: #161514;
  --brand: #ffc933; --accent: #c9330f; --accent-text: #b02d0c; --green: #1d6e3e; --focus: #161514; --kicker: #161514;
  --ph-bg: #ffe9a8; --ph-line: rgb(22 21 20 / .08); --ph-fg: #161514; --ph-tag-bg: #ffffff; --ph-radius: 16px;
  --field-line: #161514; --field-bg: #ffffff; --field-radius: 12px;
  --maxw: 1200px; --sp: clamp(56px, 7vw, 104px);
  --font-display: 'Bricolage Grotesque', system-ui, sans-serif; --font-body: 'Work Sans', system-ui, sans-serif; --font-ui: 'Work Sans', system-ui, sans-serif;
  --fw-display: 800; --lh-display: .95; --fs-h1: clamp(52px, 8.6vw, 128px); --fs-h2: clamp(36px, 5vw, 72px); --fw-card: 800;
  --bd: 3px solid var(--fg); --shadow: 6px 6px 0 var(--fg);
}
:root:lang(ar) {
  --font-display: 'Lalezar', 'Bricolage Grotesque', sans-serif; --font-body: 'Vazirmatn', 'Work Sans', sans-serif; --font-ui: 'Vazirmatn', 'Work Sans', sans-serif;
  --fw-display: 400; --lh-display: 1.2; --fs-h1: clamp(52px, 8vw, 120px); --fs-h2: clamp(36px, 4.6vw, 64px); --fw-card: 400; --lh-body: 1.75;
}
[dir='rtl'] { --shadow: -6px 6px 0 var(--fg); }
.tone--alt { background: #ffe9a8; border-block: var(--bd); }
.tone--accent { background: var(--brand); }
.tone--inverse { background: var(--fg); color: var(--brand); }
em { font-style: normal; color: var(--accent-text); }
.tone--accent em { color: var(--fg); background: #fff; padding-inline: .15em; border: var(--bd); border-radius: 14px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.sh__kicker, .hero__kicker { display: inline-block; padding: 6px 14px; background: var(--fg); color: var(--brand); border-radius: 999px; font-weight: 700; font-size: .85rem; }
.btn { border: var(--bd); border-radius: 14px; font-weight: 800; box-shadow: var(--shadow); min-block-size: 52px; padding-inline: 1.4em; }
.btn:hover { translate: 3px 3px; box-shadow: 3px 3px 0 var(--fg); }
[dir='rtl'] .btn:hover { translate: -3px 3px; box-shadow: -3px 3px 0 var(--fg); }
.btn--primary { background: var(--fg); color: var(--brand); }
.btn--ghost { background: #fff; color: var(--fg); }
.tlink { color: var(--fg); text-decoration: underline; text-decoration-thickness: 2px; }

/* header: floating pill */
.hd { padding: 14px 0 0; }
.hd__in { background: #fff; border: var(--bd); border-radius: 999px; padding-inline: 20px 8px; min-block-size: 68px; box-shadow: var(--shadow); }
[dir='rtl'] .hd__in { padding-inline: 20px 8px; }
.hd__brand { font-family: var(--font-display); font-size: 1.5rem; }
.hd__mark { color: var(--accent); }
.nav-desktop a { font-weight: 700; }
.hd__cta { box-shadow: none; min-block-size: 48px; border-radius: 999px; background: var(--accent); color: #fff; border-color: var(--fg); }
@media (max-width: 599px) { .hd__in { padding-inline: 14px 6px; } }

/* hero: product on a disc */
.s--hero { margin: 20px 16px 0; border: var(--bd); border-radius: 28px; padding-block: clamp(40px, 6vw, 80px); }
@media (min-width: 1240px) { .s--hero { margin-inline: auto; max-inline-size: 1240px; } }
.s--hero .hero__inner { grid-template-columns: 1fr; align-items: center; }
@media (min-width: 720px) { .s--hero .hero__inner { grid-template-columns: 1.1fr 1fr; } }
.hero__lead { color: var(--fg); font-weight: 500; }
.s--hero .hero__media { display: grid; place-items: center; aspect-ratio: 1; inline-size: min(100%, 560px); justify-self: center; }
.s--hero .hero__media::before { content: ''; position: absolute; inset: 4%; border-radius: 50%; background: #fff; border: var(--bd); box-shadow: var(--shadow); }
.s--hero .hero__m1 { position: relative; inline-size: 78%; border-radius: 50%; background-color: #ffe08a; }
.s--hero .hero__m1 .ph__tag { border: 2px solid var(--fg); }
.hero__sticker { position: absolute; inset-block-start: 4%; inset-inline-end: 2%; display: grid; place-items: center; inline-size: 120px; block-size: 120px; padding: 10px; border-radius: 50%; background: var(--accent); color: #fff; border: var(--bd); font-family: var(--font-display); font-size: 1.15rem; line-height: 1.1; text-align: center; transform: rotate(-12deg); }
[dir='rtl'] .hero__sticker { transform: rotate(12deg); }
@media (prefers-reduced-motion: no-preference) { .s--hero .hero__m1 { animation: spin-in .7s cubic-bezier(.2,.9,.3,1.2) both; } }
@keyframes spin-in { from { rotate: -8deg; scale: .92; } to { rotate: 0deg; scale: 1; } }

/* ticker */
.s--marquee { padding-block: 18px; border-block: var(--bd); margin-block-start: 40px; }
.marquee__list { display: flex; align-items: center; gap: var(--marquee-gap); list-style: none; margin: 0; padding: 0; padding-inline-end: var(--marquee-gap); font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 48px); white-space: nowrap; }
.marquee__sep { color: #fff; font-size: .6em; }
.marquee__track { gap: 0; }

/* menu bento */
.s--menu .cards { grid-template-columns: repeat(2, 1fr); gap: 16px; }
.s--menu .card--feature { grid-column: 1 / -1; }
@media (min-width: 760px) { .s--menu .cards { grid-template-columns: repeat(4, 1fr); } .s--menu .card--feature { grid-column: span 2; grid-row: span 2; } }
.s--menu .card { background: #fff; border: var(--bd); border-radius: 20px; padding: 12px; box-shadow: var(--shadow); }
.s--menu .card__body { grid-template-columns: 1fr auto; align-items: center; }
.s--menu .card__tag, .s--menu .card__title, .s--menu .card__text { grid-column: 1 / -1; }
.s--menu .card__tag { justify-self: start; padding: 2px 10px; border-radius: 999px; background: var(--green); color: #fff; font-size: .75rem; }
.s--menu .card__title { font-size: 1.35rem; }
.s--menu .card--feature .card__title { font-size: clamp(1.6rem, 2.6vw, 2.4rem); }
.s--menu .card__price .price-slot { border: 2px solid var(--fg); background: var(--brand); border-radius: 8px; }
.s--menu .card__link { justify-self: end; padding: 6px 12px; border: 2px solid var(--fg); border-radius: 999px; text-decoration: none; background: var(--fg); color: #fff; }
.s--menu .card__link .i { display: none; }
.s--menu .more { text-align: center; }

/* steps */
.steps { gap: 20px; }
.step { position: relative; background: #fff; border: var(--bd); border-radius: 20px; padding: 64px 24px 24px; box-shadow: var(--shadow); margin-block-start: 30px; }
.step__n { position: absolute; inset-block-start: -30px; inset-inline-start: 20px; display: grid; place-items: center; inline-size: 68px; block-size: 68px; border-radius: 50%; background: var(--accent); color: #fff; border: var(--bd); font-size: 1.8rem; transform: rotate(-8deg); }
.step__title { font-size: 1.4rem; }

/* branches */
.s--location .cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.s--location .card { border: var(--bd); border-radius: 20px; padding: 22px; background: #fff; }
.s--location .card__title { font-size: 1.5rem; }
.s--location .hours th, .s--location .hours td { border-color: #e7dcc0; }

/* group order */
.bk { grid-template-columns: 1fr; background: #fff; border: var(--bd); border-radius: 24px; padding: clamp(20px, 3.4vw, 40px); box-shadow: var(--shadow); }
@media (min-width: 1000px) { .bk { grid-template-columns: 4fr 8fr; } .bk__main { display: contents; } .bk__main .sh { align-self: start; } }
.field input, .field select, .field textarea { border-width: 2px; }

/* cta giant */
.s--cta { border-block: var(--bd); }
.cta { justify-items: center; text-align: center; }
.cta__title { font-size: clamp(48px, 9vw, 132px); }

/* footer */
.ft { background: var(--fg); color: #fff8e6; --muted: #d9d2c0; --line: #4a4640; overflow: hidden; }
.ft__word { font-family: var(--font-display); font-weight: var(--fw-display); color: var(--brand); font-size: clamp(64px, 15vw, 220px); line-height: .9; margin-block-end: 40px; white-space: nowrap; }
.ft__name { color: var(--brand); }
main { overflow-x: clip; }
