/* ═══════════════════════════════════════════════════════════
   GOÛT D'ORIENT — Feuille de style principale
   Palette : orange vif #f97316 · crème · or #C9A44A · rouge #c8102e
   ═══════════════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
  --blue-950:  #7c2200;
  --blue-900:  #bf4010;
  --blue-800:  #e05010;
  --blue-700:  #f97316;
  --blue-600:  #fb923c;
  --blue-200:  #fed7aa;
  --blue-100:  #ffedd5;
  --blue-50:   #fff7ed;

  --cream:     #fffbf5;
  --white:     #ffffff;
  --gold:      #c9a44a;
  --gold-light:#f0d488;
  --gold-pale: #fdf4dc;

  --red:       #c8102e;
  --red-light: #f87171;
  --green:     #2d6a4f;
  --green-light:#e8f5ee;
  --wood:      #f97316;
  --wood-dark: #bf4010;
  --wood-light:#fff0dc;
  --wood-pale: #fff7ed;

  --text-900:  #1a0800;
  --text-700:  #5c2200;
  --text-500:  #9a3a00;
  --text-300:  #d4804a;

  --shadow-xs: 0 1px 4px rgba(191,64,16,.07);
  --shadow-sm: 0 3px 12px rgba(191,64,16,.11);
  --shadow-md: 0 6px 24px rgba(191,64,16,.15);
  --shadow-lg: 0 16px 48px rgba(191,64,16,.20);
  --shadow-xl: 0 30px 80px rgba(191,64,16,.25);

  --radius:    14px;
  --radius-lg: 22px;
  --radius-xl: 32px;

  --ease:      cubic-bezier(.4,0,.2,1);
  --t-fast:    .2s var(--ease);
  --t-base:    .35s var(--ease);
  --t-slow:    .6s var(--ease);

  /* Wood grain texture patterns — SVG feTurbulence grain */
  --grain-dark:  url('/images/wood-dark.svg');
  --grain-light: url('/images/wood-light.svg');
}

/* ── Reset & base ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }

body {
  font-family: 'Raleway', system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.7;
  color: var(--text-900);
  background: var(--cream);
  overflow-x: hidden;
}

/* ── Cedar tree SVG ── */
.cedar-tree {
  display: block;
  margin: 0 auto .5rem;
  width: 32px; height: 38px;
  color: var(--green);
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}
.cedar-tree-hero {
  display: block;
  margin: 0 auto .6rem;
  width: 40px; height: 48px;
  color: #fff;
  opacity: .85;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.4));
}

/* ── Cuisine Libano-Syrienne label ── */
.cuisine-red {
  font-family: 'Raleway', sans-serif;
  font-size: .72rem; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.82);
}
.cuisine-red-hero {
  font-family: 'Raleway', sans-serif;
  font-size: clamp(.85rem, 2.2vw, 1.1rem); font-weight: 700;
  letter-spacing: .26em; text-transform: uppercase;
  color: rgba(255,255,255,.9);
  display: inline-block; margin-bottom: 1rem;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.22);
  padding: .45rem 1.4rem;
  border-radius: 100px;
}
.cuisine-red-hero::before,
.cuisine-red-hero::after {
  content: '✦';
  margin: 0 .5em;
  font-size: .75em;
  opacity: .7;
}
.lebanon-tree-hero {
  display: block;
  margin: 0 auto 1.6rem;
  height: clamp(60px, 10vw, 100px);
  width: auto;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.5));
}

img { display:block; max-width:100%; height:auto; }
a   { text-decoration:none; color:inherit; }
ul  { list-style:none; }

/* ── Typography ── */
h1,h2,h3,h4 {
  font-family: 'Playfair Display', Georgia, serif;
  line-height: 1.15;
}
h1 { font-size: clamp(3.2rem, 9vw, 7.5rem); font-weight:700; }
h2 { font-size: clamp(2rem,   5vw, 3.2rem);  font-weight:700; }
h3 { font-size: clamp(1.1rem, 2vw, 1.5rem);  font-weight:600; }
h4 { font-size: 1.05rem; font-weight:700; }
em { font-style:italic; color:var(--blue-700); }

/* ── Container ── */
.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* ══════════════════════════════════════════════════
   SILK / LINEN BACKGROUND PATTERN
══════════════════════════════════════════════════ */
/* Wood grain texture */
.silk-bg {
  background-color: var(--blue-50);
  background-image: var(--grain-light);
  background-size: 800px 500px;
  background-blend-mode: multiply;
}
.pattern-bg {
  background-color: var(--blue-50);
  background-image: var(--grain-light);
  background-size: 800px 500px;
  background-blend-mode: multiply;
}
.dot-bg {
  background-color: var(--wood-light);
  background-image: var(--grain-light);
  background-size: 800px 500px;
  background-blend-mode: multiply;
}

/* ══════════════════════════════════════════════════
   ORNAMENTAL DIVIDER
══════════════════════════════════════════════════ */
.ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin: 0 auto 3rem;
  max-width: 440px;
}
.ornament-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--wood), transparent);
}
.ornament-star {
  width: 32px; height: 32px;
  flex-shrink: 0;
  opacity: .75;
}

/* ══════════════════════════════════════════════════
   NAVIGATION
══════════════════════════════════════════════════ */
#navbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 900;
  padding: 1.4rem 0;
  transition: background var(--t-base), padding var(--t-base), box-shadow var(--t-base);
}
#navbar.scrolled {
  background-color: var(--blue-900);
  background-image: var(--grain-dark);
  background-size: 800px 500px;
  background-blend-mode: multiply;
  padding: .7rem 0;
  box-shadow: var(--shadow-lg);
}
#navbar.scrolled .nav-links a { color: rgba(255,255,255,.85); }
#navbar.scrolled .nav-links a:hover { color: #fff; }
#navbar.scrolled .nav-links a::after { background: var(--gold); }
#navbar.scrolled .nav-links a.nav-cta { color: #fff; }
#navbar.scrolled .nav-toggle span { background: #fff; }
.nav-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

/* Logo */
.nav-logo { display:flex; flex-direction:row; align-items:center; gap:.8rem; flex-shrink:0; }
.nav-logo-img {
  width:42px; height:42px; border-radius:50%;
  object-fit:cover; border:2px solid rgba(255,255,255,.25);
  flex-shrink:0;
}
.nav-logo-text-wrap { display:flex; flex-direction:column; gap:.1rem; }
.nav-title-img {
  height: 28px; width: auto;
  max-width: 180px;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.40));
}
.logo-text { display:none; }         /* hidden — title image replaces it */
.logo-text {
  font-family: 'Playfair Display', serif;
  font-size: 1.55rem; font-weight:700;
  color: #fff; letter-spacing:-.02em;
}
.logo-sub {
  font-size:.58rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.logo-sub.cuisine-red {
  color: rgba(255,255,255,.82);
}
#navbar.scrolled .logo-sub { color: var(--text-500); }
#navbar.scrolled .logo-sub.cuisine-red { color: rgba(255,255,255,.75); text-shadow: none; }
#navbar.scrolled .nav-logo-img { border-color: rgba(191,64,16,.22); }

/* Links */
.nav-links { display:flex; align-items:center; gap:1.6rem; }
.nav-links a {
  font-size:.78rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.85);
  position:relative;
  transition:color var(--t-fast);
  padding-bottom:3px;
}
.nav-links a::after {
  content:'';
  position:absolute; left:0; bottom:0;
  width:0; height:2px;
  background:var(--gold);
  transition:width var(--t-base);
}
.nav-links a:hover { color:#fff; }
.nav-links a:hover::after, .nav-links a.active-link::after { width:100%; }

/* CTA button in nav */
.nav-links a.nav-cta {
  background:var(--gold); color:#fff;
  padding:.45rem 1.1rem;
  border-radius:100px; font-size:.75rem;
}
.nav-links a.nav-cta::after { display:none; }
.nav-links a.nav-cta:hover { background:var(--gold-light); color:var(--text-900); }

/* Hamburger */
.nav-toggle {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px; z-index:1001;
}
.nav-toggle span {
  display:block; width:26px; height:2px;
  background:#fff; border-radius:2px;
  transition:all var(--t-base);
}
.nav-toggle.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-toggle.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ══════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════ */
.hero {
  position:relative; height:100vh; min-height:680px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.hero-bg {
  position:absolute; inset:-10%;
  background-size:cover; background-position:center;
  will-change:transform;
}
.hero-overlay {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 75% 65% at 50% 42%, rgba(124,34,0,.40) 0%, rgba(124,34,0,.86) 100%);
}

/* Decorative corner shapes on hero */
.hero::before {
  content:'';
  position:absolute; top:0; left:0;
  width:320px; height:320px;
  background:rgba(255,255,255,.04);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index:1; pointer-events:none;
}
.hero::after {
  content:'';
  position:absolute; bottom:0; right:0;
  width:280px; height:280px;
  background:rgba(255,255,255,.04);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  z-index:1; pointer-events:none;
}

.hero-content {
  position:relative; z-index:2;
  text-align:center; color:#fff;
  padding:2rem; max-width:900px;
}
.hero-badge {
  display:inline-block;
  font-size:.7rem; font-weight:700;
  letter-spacing:.28em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.45);
  padding:.5rem 1.6rem; border-radius:100px;
  margin-bottom:1.8rem;
  backdrop-filter:blur(6px);
  background:rgba(255,255,255,.06);
}
.hero-title {
  display:flex; flex-direction:column; align-items:center;
  margin-bottom:.6rem;
}
.hero-title-img {
  display: block;
  margin: 0 auto .4rem;
}
.hero-title-img img {
  height: clamp(90px, 22vw, 220px);
  width: auto;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,.45));
}
/* keep spans for fallback but hide */
.hero-gout, .hero-dorient { display:none; }
.hero-subtitle {
  font-size:1.1rem; font-weight:300;
  letter-spacing:.04em; opacity:.88; margin-bottom:2.8rem; line-height:1.8;
}
.hero-cta { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* Buttons */
.btn {
  display:inline-block; padding:.9rem 2.4rem; border-radius:100px;
  font-family:'Raleway',sans-serif; font-size:.78rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  transition:all var(--t-base); cursor:pointer; border:2px solid transparent;
}
.btn-primary { background:#fff; color:var(--text-900); border-color:#fff; }
.btn-primary:hover {
  background:var(--gold); border-color:var(--gold); color:#fff;
  transform:translateY(-3px); box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.btn-outline { background:transparent; border-color:rgba(255,255,255,.7); color:#fff; }
.btn-outline:hover {
  background:#fff; border-color:#fff; color:var(--text-900); transform:translateY(-3px);
}

/* Scroll hint */
.hero-scroll-hint {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  z-index:2; display:flex; flex-direction:column; align-items:center; gap:.6rem;
  color:rgba(255,255,255,.5); font-size:.65rem; font-weight:600;
  letter-spacing:.15em; text-transform:uppercase;
}
.scroll-line {
  width:1px; height:50px;
  background:linear-gradient(to bottom, rgba(255,255,255,.6), transparent);
  animation:scrollPulse 2.2s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%,100% { opacity:0; transform:scaleY(0); transform-origin:top; }
  50%      { opacity:1; transform:scaleY(1); transform-origin:top; }
}

/* ══════════════════════════════════════════════════
   INFO BAR
══════════════════════════════════════════════════ */
.info-bar {
  background-color: var(--blue-900);
  background-image: var(--grain-dark);
  background-size: 800px 500px;
  background-blend-mode: multiply;
  color:rgba(255,255,255,.82);
  padding:.85rem 2rem; overflow:hidden;
}
.info-bar-inner {
  display:flex; align-items:center; justify-content:center;
  gap:1rem; flex-wrap:wrap; font-size:.83rem; font-weight:500;
}
.info-bar-inner strong { color:#fff; font-weight:700; }
.info-bar .separator { color:rgba(255,255,255,.3); font-size:1.2rem; }

/* ══════════════════════════════════════════════════
   SECTION BADGES & HEADERS
══════════════════════════════════════════════════ */
.section-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.68rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--blue-900); background:var(--blue-100);
  padding:.4rem 1.2rem; border-radius:100px; margin-bottom:1rem;
}
.section-badge.light {
  color:rgba(255,255,255,.9); background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
}
.section-header { text-align:center; margin-bottom:3.5rem; }
.section-header h2 { color:var(--blue-950); margin-bottom:.5rem; }
.section-header.light h2 { color:#fff; }
.section-desc { color:var(--text-500); font-size:1rem; font-style:italic; }
.section-desc.light { color:rgba(255,255,255,.7); }

/* Gold underline accent on h2 */
.section-header h2::after {
  content:'';
  display:block;
  width:60px; height:3px;
  background:var(--gold);
  margin:.6rem auto 0;
  border-radius:2px;
}

/* ══════════════════════════════════════════════════
   ABOUT
══════════════════════════════════════════════════ */
.about {
  padding:8rem 0 7rem;
  background-color: var(--wood-pale);
  background-image: var(--grain-light);
  background-size: 800px 500px;
  background-blend-mode: multiply;
  position:relative;
  overflow:hidden;
}

/* Decorative organic blobs */
.about::before {
  content:'';
  position:absolute; top:-120px; right:-80px;
  width:580px; height:580px;
  border-radius:73% 27% 38% 62% / 65% 25% 75% 35%;
  background:rgba(191,64,16,.07);
  pointer-events:none;
}
.about::after {
  content:'';
  position:absolute; bottom:-100px; left:-60px;
  width:380px; height:380px;
  border-radius:35% 65% 70% 30% / 50% 40% 60% 50%;
  background:rgba(107,34,24,.04);
  pointer-events:none;
}

.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:6rem; align-items:center; position:relative; z-index:1;
}

/* Image side */
.about-image { position:relative; }
.about-img-wrapper {
  position:relative; border-radius:var(--radius-xl);
  overflow:hidden; box-shadow:var(--shadow-xl);
}
.about-img-wrapper img {
  width:100%; height:480px; object-fit:cover;
  object-position:center;
  transform:scale(1.05);
  transition:transform var(--t-slow);
}
.about-img-wrapper:hover img { transform:scale(1.1); }
.about-img-deco {
  position:absolute; inset:0; border-radius:var(--radius-xl);
  border:3px solid rgba(255,255,255,.18); pointer-events:none;
}
.about-badge {
  position:absolute; bottom:-1.4rem; right:2rem;
  background:var(--blue-900); color:#fff;
  padding:.75rem 1.6rem; border-radius:100px;
  display:flex; align-items:center; gap:.6rem;
  font-size:.82rem; font-weight:700; box-shadow:var(--shadow-md); white-space:nowrap;
}

/* Text side */
.about-text .section-badge { margin-bottom:1rem; }
.about-text h2 { margin-bottom:1.6rem; color:var(--blue-950); }
.about-text p { color:var(--text-700); font-size:1rem; margin-bottom:1.1rem; line-height:1.85; }
.about-text p strong { color:var(--blue-900); }
.about-quote {
  font-style:italic; font-size:.95rem;
  color:var(--blue-700); line-height:1.7;
  border-left:3px solid var(--gold);
  padding-left:1rem; margin:1.4rem 0 1rem;
}
.about-quote span {
  display:block; font-style:normal;
  font-size:.78rem; font-weight:700;
  color:var(--text-500); margin-top:.3rem; letter-spacing:.04em;
}
.about-pills { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.pill {
  font-size:.8rem; font-weight:600; color:var(--blue-900);
  background:#fff; border:1.5px solid var(--blue-200);
  padding:.45rem 1rem; border-radius:100px; box-shadow:var(--shadow-xs);
}

/* ══════════════════════════════════════════════════
   WAVE DIVIDERS
══════════════════════════════════════════════════ */
.wave-top, .wave-bottom { line-height:0; overflow:hidden; }
.wave-top  svg { display:block; width:100%; }
.wave-bottom svg { display:block; width:100%; }

/* ══════════════════════════════════════════════════
   MENU SECTIONS (shared)
══════════════════════════════════════════════════ */
.menu-section { padding:7rem 0; position:relative; overflow:hidden; }
.bg-blue-light { }   /* pattern applied inline */
.bg-white { background:var(--white); }

/* Decorative blob for bg-blue-light sections */
.menu-section.bg-blue-light::after {
  content:'';
  position:absolute; top:-60px; right:-80px;
  width:450px; height:450px;
  border-radius:60% 40% 30% 70% / 40% 60% 70% 30%;
  background:rgba(107,34,24,.06);
  pointer-events:none; z-index:0;
}
.menu-section.bg-blue-light > .container { position:relative; z-index:1; }

/* Corner decoration for white section */
.menu-section.bg-white::before {
  content:'';
  position:absolute; bottom:-50px; left:-60px;
  width:350px; height:350px;
  border-radius:40% 60% 55% 45% / 50% 40% 60% 50%;
  background:rgba(107,34,24,.04);
  pointer-events:none;
}
.menu-section.bg-white > .container { position:relative; z-index:1; }

/* Subsection */
.subsection { margin-bottom:4rem; }
.subsection:last-child { margin-bottom:0; }
.subsection-title {
  display:flex; align-items:center; gap:.75rem;
  font-family:'Raleway',sans-serif; font-size:.78rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--blue-900);
  padding-bottom:.85rem;
  border-bottom:2px solid var(--blue-100);
  margin-bottom:2rem; flex-wrap:wrap;
}

/* Tags */
.tag {
  font-size:.65rem; font-weight:700;
  background:var(--blue-900); color:#fff;
  padding:.2rem .8rem; border-radius:100px;
  letter-spacing:.05em; text-transform:none;
}
.sub-tag {
  font-family:'Raleway',sans-serif; font-size:.65rem; font-weight:600;
  background:var(--blue-100); color:var(--blue-900);
  padding:.15rem .6rem; border-radius:100px;
  vertical-align:middle; letter-spacing:.04em;
}
.vege-tag { font-size:.85rem; vertical-align:middle; }

/* ══════════════════════════════════════════════════
   CARDS GRIDS
══════════════════════════════════════════════════ */
.cards-grid { display:grid; gap:1.4rem; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
.grid-5 { grid-template-columns:repeat(5,1fr); }

/* ── Menu Card ── */
.menu-card {
  background:#fff; border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow-xs);
  border:1.5px solid rgba(191,64,16,.08);
  transition:transform var(--t-base), box-shadow var(--t-base);
  display:flex; flex-direction:column;
}
.menu-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.menu-card-feat { border:2px solid var(--blue-700); }

/* Card image */
.card-img {
  position:relative; height:220px; overflow:hidden; flex-shrink:0;
}
.card-img-sm { height:180px; }
.card-img img {
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.18);          /* zoom in to fill more */
  transform-origin:center center;
  transition:transform .55s var(--ease);
}
.menu-card:hover .card-img img { transform:scale(1.28); }

/* Price pill */
.card-price {
  position:absolute; bottom:.7rem; right:.7rem;
  background:var(--blue-900); color:#fff;
  font-weight:700; font-size:.88rem; font-family:'Raleway',sans-serif;
  padding:.3rem .9rem; border-radius:100px;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}

/* Chips */
.card-chip {
  position:absolute; top:.7rem; left:.7rem;
  font-size:.65rem; font-weight:700;
  padding:.25rem .8rem; border-radius:100px; backdrop-filter:blur(6px);
}
.chip-info    { background:rgba(255,255,255,.88); color:var(--blue-900); }
.chip-gold    { background:var(--gold); color:#fff; }
.chip-vege    { background:rgba(255,255,255,.88); color:#1a6b2e; }
.chip-spicy   { background:rgba(255,255,255,.88); color:#b91c1c; }

/* Card body */
.card-body { padding:1.2rem 1.4rem 1.5rem; flex:1; }
.card-body h4 { color:var(--blue-950); margin-bottom:.35rem; font-size:1rem; }
.card-body p  { color:var(--text-500); font-size:.83rem; line-height:1.55; }

/* ── List items (mezzés froids) ── */
.list-grid { display:flex; flex-direction:column; gap:.9rem; }
.list-item {
  display:grid; grid-template-columns:78px 1fr auto;
  align-items:center; gap:1.2rem;
  background:#fff; border-radius:var(--radius);
  padding:.7rem 1.2rem .7rem .7rem;
  box-shadow:var(--shadow-xs); border:1.5px solid rgba(107,34,24,.10);
  transition:transform var(--t-fast), box-shadow var(--t-fast);
}
.list-item:hover { transform:translateX(5px); box-shadow:var(--shadow-md); }
.list-img { width:78px; height:78px; border-radius:10px; overflow:hidden; flex-shrink:0; }
.list-img img {
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.2);
  transition:transform .5s var(--ease);
}
.list-item:hover .list-img img { transform:scale(1.3); }
.list-info h4 { font-size:.95rem; color:var(--blue-950); margin-bottom:.15rem; }
.list-info p  { font-size:.82rem; color:var(--text-500); }
.list-price { font-weight:700; font-size:.95rem; color:var(--blue-900); white-space:nowrap; }
.list-price small { font-size:.68rem; font-weight:500; }

/* ══════════════════════════════════════════════════
   TABLE ORIENTALE
══════════════════════════════════════════════════ */
.table-orientale {
  background-color: var(--blue-950);
  background-image: var(--grain-dark);
  background-size: 800px 500px;
  background-blend-mode: multiply;
  padding:8rem 0; position:relative; overflow:hidden;
}

/* Decorative circles */
.deco-circle {
  position:absolute; border-radius:50%;
  border:2px solid rgba(255,255,255,.05); pointer-events:none;
}
.deco-circle-1 {
  width:700px; height:700px; top:-250px; right:-200px;
  background:rgba(255,255,255,.02);
}
.deco-circle-2 {
  width:450px; height:450px; bottom:-120px; left:-120px;
  background:rgba(255,255,255,.025);
}
.deco-circle-3 {
  width:280px; height:280px; top:50%; right:6%;
  border-color:rgba(255,255,255,.08); background:transparent;
}
/* Extra arabesques in corners */
.deco-circle-4 {
  width:200px; height:200px; bottom:8%; left:8%;
  border:3px solid rgba(201,164,74,.12); background:transparent;
}
.deco-circle-5 {
  width:120px; height:120px; top:10%; left:50%;
  border:2px solid rgba(255,255,255,.06); background:transparent;
}

/* Content layout */
.table-content {
  display:grid; grid-template-columns:1fr 1fr;
  gap:5rem; position:relative; z-index:2;
}

/* Block titles */
.table-block-header {
  display:flex; align-items:center; gap:.8rem;
  margin-bottom:2rem; padding-bottom:.85rem;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.table-block-header h3 {
  font-family:'Raleway',sans-serif; font-size:.8rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:#fff;
}
.table-block-sub {
  font-size:.7rem; font-weight:600; color:var(--gold); white-space:nowrap;
}

/* Accompaniments grid */
.accomp-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5rem; margin-bottom:2rem;
}
.accomp-item { text-align:center; }
.accomp-img {
  width:130px; height:130px;
  border-radius:50%; overflow:hidden;
  margin:0 auto .65rem;
  border:3px solid rgba(255,255,255,.2);
  transition:border-color var(--t-base), transform var(--t-base);
  box-shadow:0 4px 18px rgba(0,0,0,.3);
}
.accomp-item:hover .accomp-img {
  border-color:var(--gold);
  transform:scale(1.06);
}
.accomp-img img {
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.0);
  transition:transform .4s var(--ease);
}
.accomp-item:hover .accomp-img img { transform:scale(1.08); }
/* Itch — same as default */
.accomp-img.less-zoom img { transform:scale(1.0); }
.accomp-item:hover .accomp-img.less-zoom img { transform:scale(1.08); }
/* Center-top framing for top-down Houmous photo */
.accomp-img.center-top img { object-position: center 40%; }
.accomp-item span  { display:block; font-size:.82rem; font-weight:600; color:#fff; line-height:1.3; }
.accomp-item small { display:block; font-size:.7rem; color:rgba(255,255,255,.5); margin-top:.15rem; }

/* Extras list */
.extras-list { border-top:1px dashed rgba(255,255,255,.15); padding-top:1.1rem; }
.extra-item {
  display:flex; justify-content:space-between; align-items:center;
  gap:.5rem; padding:.55rem 0;
  border-bottom:1px solid rgba(255,255,255,.06);
  font-size:.85rem; color:rgba(255,255,255,.75);
}
.extra-item span:last-child { font-weight:700; color:var(--gold); white-space:nowrap; }

/* Viandes */
.viandes-list { display:flex; flex-direction:column; gap:0; }
.viande-row {
  display:grid; grid-template-columns:80px 1fr auto;
  align-items:center; gap:1.1rem;
  padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.08);
  transition:padding-left var(--t-fast);
}
.viande-row:hover { padding-left:.5rem; }
.viande-img-sm {
  width:80px; height:80px;
  border-radius:12px; overflow:hidden; flex-shrink:0;
  box-shadow:0 3px 12px rgba(0,0,0,.35);
}
.viande-img-sm img {
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.2);
  transition:transform .4s var(--ease);
}
.viande-row:hover .viande-img-sm img { transform:scale(1.3); }
.viande-info strong { display:block; font-size:.9rem; color:#fff; margin-bottom:.2rem; }
.viande-info p { font-size:.77rem; color:rgba(255,255,255,.55); line-height:1.35; }
.viande-price { font-weight:700; color:var(--gold); font-size:.95rem; white-space:nowrap; }

/* ══════════════════════════════════════════════════
   DESSERTS & BOISSONS
══════════════════════════════════════════════════ */
.desserts-section { padding:8rem 0; position:relative; overflow:hidden; }
.desserts-section::before {
  content:'';
  position:absolute; top:-50px; right:-80px;
  width:420px; height:420px;
  border-radius:55% 45% 30% 70% / 50% 65% 35% 50%;
  background:rgba(107,34,24,.04);
  pointer-events:none;
}
.desserts-section > .container { position:relative; z-index:1; }

.db-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }

/* Image banner */
.db-image {
  position:relative; height:260px;
  border-radius:var(--radius-lg); overflow:hidden;
  margin-bottom:2rem; box-shadow:var(--shadow-md);
}
.db-image img {
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.15);
  transition:transform var(--t-slow);
}
.db-image:hover img { transform:scale(1.22); }
.db-image-label {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(124,34,0,.78) 0%, transparent 100%);
  color:#fff; font-family:'Playfair Display',serif;
  font-size:1.6rem; font-weight:700; font-style:italic;
  padding:1.5rem 1.5rem .9rem;
}

/* Items */
.db-items { display:flex; flex-direction:column; }

.db-item {
  display:flex; align-items:center;
  gap:.9rem; padding:.8rem 0;
  border-bottom:1px dashed var(--blue-100);
  transition:background var(--t-fast);
}
.db-item-highlight {
  background:var(--blue-50); border-radius:8px;
  padding:.8rem .75rem; margin:-0 -.75rem;
  border-bottom:1px dashed var(--blue-100);
}

/* Dessert thumbnail */
.db-thumb {
  width:62px; height:62px; flex-shrink:0;
  border-radius:10px; overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.db-thumb img {
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.2);
  transition:transform .4s var(--ease);
}
.db-item:hover .db-thumb img { transform:scale(1.3); }
.db-text { flex:1; min-width:0; }

.db-name { display:block; font-size:.92rem; color:var(--text-700); font-weight:500; }
.db-sub  { display:block; font-size:.75rem; color:var(--text-300); font-style:italic; margin-top:.12rem; }
.db-price { font-weight:700; color:var(--blue-900); white-space:nowrap; font-size:.9rem; flex-shrink:0; }

.db-cat-title {
  font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--blue-700); padding:1.2rem 0 .6rem;
  border-top:2px solid var(--blue-100); margin-top:.4rem;
}
.db-cat-title:first-child { border-top:none; margin-top:0; padding-top:.4rem; }
.db-note {
  font-weight:400; font-size:.65rem; letter-spacing:.05em;
  text-transform:none; color:var(--text-300);
}

/* ══════════════════════════════════════════════════
   CONTACT & HORAIRES
══════════════════════════════════════════════════ */
.infos-section {
  position:relative; padding:8rem 0; overflow:hidden;
}
.infos-bg { position:absolute; inset:0; z-index:0; }
.infos-bg img { width:100%; height:100%; object-fit:cover; }
.infos-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(124,34,0,.92) 0%, rgba(191,64,16,.88) 100%);
}
/* Decorative grid overlay */
.infos-overlay::after {
  content:'';
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:60px 60px;
}

.infos-section .container { position:relative; z-index:1; }
.infos-section .section-header { margin-bottom:3rem; }
.infos-section .section-header h2::after { background:var(--gold); }

.infos-cards {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem;
}
.info-card {
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius); padding:2.4rem 1.6rem;
  text-align:center; backdrop-filter:blur(6px);
  transition:background var(--t-base), transform var(--t-base);
}
.info-card:hover { background:rgba(255,255,255,.13); transform:translateY(-4px); }
.info-icon { font-size:2.4rem; margin-bottom:1rem; }
.info-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.15rem; color:#fff; margin-bottom:.7rem;
}
.info-card p { color:rgba(255,255,255,.72); font-size:.88rem; line-height:1.7; }
.info-card strong { color:#fff; }
.info-note { color:var(--gold) !important; font-style:italic; font-size:.78rem !important; margin-top:.5rem; }

.phone-number {
  display:block;
  font-size:1.05rem; font-weight:700;
  color:#fff; letter-spacing:.05em;
  margin-top:.6rem;
  font-family:'Raleway',sans-serif;
}
.info-email {
  display:block;
  font-size:.78rem; color:var(--gold-light);
  margin-top:.35rem; word-break:break-all;
  transition:color var(--t-fast);
}
.info-email:hover { color:#fff; }

/* ══════════════════════════════════════════════════
   SUIVEZ-NOUS — SOCIAL FOLLOW SECTION
══════════════════════════════════════════════════ */
.social-section {
  background-color: var(--blue-950);
  background-image: var(--grain-dark);
  background-size: 800px 500px;
  background-blend-mode: multiply;
  padding: 6rem 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
/* Decorative concentric rings */
.social-section::before {
  content: '';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 700px; height: 700px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.04);
  pointer-events: none;
}
.social-section::after {
  content: '';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 400px; height: 400px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.06);
  pointer-events: none;
}
.social-section .container { position: relative; z-index: 1; }

.social-eyebrow {
  font-size: .68rem; font-weight: 700; letter-spacing: .28em;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 1rem; display: block;
}
.social-section h2 {
  color: #fff; margin-bottom: .75rem;
}
.social-section h2::after { background: var(--gold); }
.social-tagline {
  color: rgba(255,255,255,.55); font-size: .95rem;
  font-style: italic; margin-bottom: 3.5rem;
}

.social-btns {
  display: flex; gap: 1.4rem;
  justify-content: center; flex-wrap: wrap;
}
.social-big-btn {
  display: flex; align-items: center; gap: 1rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius); padding: 1.3rem 2.2rem;
  color: #fff; transition: all var(--t-base); min-width: 240px;
  text-decoration: none; cursor: pointer;
}
.social-big-btn:hover {
  background: rgba(255,255,255,.13);
  border-color: rgba(255,255,255,.3);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.3);
}
.social-big-btn.btn-insta:hover {
  background: linear-gradient(135deg, rgba(193,53,132,.35), rgba(88,81,219,.35));
  border-color: rgba(193,53,132,.5);
}
.social-big-btn.btn-fb:hover {
  background: rgba(24,119,242,.35);
  border-color: rgba(24,119,242,.5);
}
.social-big-icon { flex-shrink: 0; }
.social-big-icon svg { width: 30px; height: 30px; display: block; }
.social-big-text { text-align: left; }
.social-big-text strong { display: block; font-size: 1rem; font-weight: 700; margin-bottom: .15rem; }
.social-big-text span { font-size: .78rem; color: rgba(255,255,255,.55); }

/* ══════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════ */
.footer {
  background-color: var(--blue-950);
  background-image: var(--grain-dark);
  background-size: 800px 500px;
  background-blend-mode: multiply;
  padding:4rem 0 2.5rem;
  border-top:1px solid rgba(255,255,255,.06);
  position:relative; overflow:hidden;
}
/* Lebanese flag color stripe */
.footer::before {
  content:'';
  position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--red), var(--wood), var(--green), var(--wood), var(--red));
}
.footer-top {
  display:grid; grid-template-columns:1fr auto;
  gap:4rem; padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:2rem;
  align-items:start;
}
.footer-logo-img {
  width:64px; height:64px; border-radius:50%;
  object-fit:cover; border:2px solid rgba(255,255,255,.15);
  margin-bottom:.8rem; display:block;
}
.footer-title-img {
  width: 100%; max-width: 240px;
  height: auto;
  display: block;
  margin-bottom: .4rem;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.35));
}
.footer-logo-sub {
  font-size:.65rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color: rgba(255,255,255,.6); margin-bottom:1.2rem;
}
.footer-tagline { color:rgba(255,255,255,.45); font-size:.85rem; line-height:1.7; margin-bottom:1.5rem; }

/* Social links */
.social-links { display:flex; gap:.75rem; margin-top:.5rem; }
.social-link {
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.7);
  transition:all var(--t-base);
}
.social-link:hover {
  background:var(--gold); border-color:var(--gold); color:#fff;
  transform:translateY(-3px); box-shadow:0 6px 18px rgba(201,164,74,.35);
}
.social-link svg { width:18px; height:18px; }

.footer-nav { display:flex; gap:3rem; }
.footer-nav-col { display:flex; flex-direction:column; gap:.65rem; }
.footer-nav-col strong {
  color:rgba(255,255,255,.55); font-size:.65rem;
  letter-spacing:.18em; text-transform:uppercase;
  margin-bottom:.3rem; display:block;
}
.footer-nav-col a { color:rgba(255,255,255,.5); font-size:.82rem; transition:color var(--t-fast); }
.footer-nav-col a:hover { color:#fff; }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:.5rem;
  color:rgba(255,255,255,.25); font-size:.76rem;
}

/* ══════════════════════════════════════════════════
   ANIMATIONS
══════════════════════════════════════════════════ */
.fade-in {
  opacity:0;
  transform:translateY(28px);
  transition:opacity .65s var(--ease), transform .65s var(--ease);
}
.fade-in.visible { opacity:1; transform:translateY(0); }

/* Stagger in grids */
.cards-grid .fade-in:nth-child(2) { transition-delay:.08s; }
.cards-grid .fade-in:nth-child(3) { transition-delay:.16s; }
.cards-grid .fade-in:nth-child(4) { transition-delay:.24s; }
.cards-grid .fade-in:nth-child(5) { transition-delay:.32s; }
.cards-grid .fade-in:nth-child(6) { transition-delay:.40s; }
.cards-grid .fade-in:nth-child(7) { transition-delay:.48s; }
.cards-grid .fade-in:nth-child(8) { transition-delay:.56s; }
.infos-cards .fade-in:nth-child(2) { transition-delay:.1s; }
.infos-cards .fade-in:nth-child(3) { transition-delay:.2s; }
.infos-cards .fade-in:nth-child(4) { transition-delay:.3s; }

/* ══════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════ */

/* ── Tablet large ── */
@media (max-width:1100px) {
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .grid-5 { grid-template-columns:repeat(3,1fr); }
  .infos-cards { grid-template-columns:repeat(2,1fr); }
  .about-grid { gap:3.5rem; }
  .accomp-img { width:110px; height:110px; }
}

/* ── Tablet ── */
@media (max-width:900px) {
  .grid-3 { grid-template-columns:repeat(2,1fr); }
  .table-content { grid-template-columns:1fr; gap:3rem; }
  .db-grid { grid-template-columns:1fr; gap:3rem; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }

  /* Reduce section vertical padding */
  .about          { padding:5rem 0 4rem; }
  .menu-section   { padding:5rem 0; }
  .table-orientale{ padding:5rem 0; }
  .desserts-section{ padding:5rem 0; }
  .infos-section  { padding:5rem 0; }
  .social-section { padding:4.5rem 0; }
}

/* ── Mobile ── */
@media (max-width:768px) {
  /* Nav burger */
  .nav-toggle { display:flex; }
  .nav-container { padding: 0 1.2rem; gap: .6rem; }
  .nav-logo { min-width:0; flex-shrink:1; overflow:hidden; }
  .nav-logo-img { width:36px; height:36px; flex-shrink:0; }
  .nav-logo-text-wrap { display:flex; min-width:0; }
  .nav-title-img { height: 18px; max-width: 120px; }
  .logo-sub.cuisine-red { font-size:.48rem; letter-spacing:.14em; }
  .cedar-tree-hero { width:32px; height:38px; }
  .hero-content { padding-top: 5rem; }
  .hero-title-img img {
    height: auto;
    width: min(80vw, 320px);
    max-width: 80vw;
  }
  .nav-links {
    display:none; position:fixed; inset:0;
    background:var(--blue-950);
    flex-direction:column; align-items:center; justify-content:center;
    gap:1.2rem; z-index:999;
  }
  .nav-links.open { display:flex; }
  .nav-links a {
    font-size:.95rem; letter-spacing:.1em;
    padding:.55rem 1.8rem; border-radius:100px;
    width:220px; text-align:center;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
  }
  .nav-links a:hover { background:rgba(255,255,255,.12); }
  .nav-links a.nav-cta {
    font-size:.9rem; padding:.6rem 1.8rem;
    background:var(--gold); border-color:var(--gold);
    margin-top:.5rem;
  }

  /* Hero — stack CTA buttons vertically */
  .hero-cta { flex-direction:column; flex-wrap:nowrap; align-items:center; gap:1.2rem; }
  .hero-cta .btn { width:100%; max-width:300px; text-align:center; }
  .hero-subtitle { font-size:.9rem; }

  /* Hide scroll hint — overlaps with stacked buttons on mobile */
  .hero-scroll-hint { display:none; }

  /* Info bar — compact */
  .info-bar-inner { font-size:.8rem; gap:.6rem; }
  .info-bar .separator { display:none; }

  /* About */
  .about-grid { grid-template-columns:1fr; gap:2.5rem; }
  .about-img-wrapper img { height:260px; }
  .about-badge { right:50%; transform:translateX(50%); bottom:-1rem; }

  /* Section headers */
  .section-header { margin-bottom:2.5rem; }

  /* Cards */
  .grid-3, .grid-4, .grid-5 { grid-template-columns:1fr; }
  .cards-grid.grid-5 { grid-template-columns:repeat(2,1fr); }
  .card-img { height:200px; }
  .card-img-sm { height:160px; }

  /* List items (mezzés froids) */
  .list-item { grid-template-columns:60px 1fr auto; gap:.8rem; }
  .list-img { width:60px; height:60px; }

  /* Table Orientale — accompagnements 2 col */
  .accomp-grid { grid-template-columns:repeat(2,1fr); gap:1.2rem; }
  .accomp-img { width:110px; height:110px; }

  /* Table Orientale — viande rows: image + text on left, price below text */
  .viande-row {
    grid-template-columns: 58px 1fr;
    grid-template-areas: "img info" ". price";
    gap:.5rem .9rem;
  }
  .viande-img-sm { grid-area:img; width:58px; height:58px; }
  .viande-info   { grid-area:info; }
  .viande-price  { grid-area:price; padding-bottom:.3rem; }

  /* Desserts thumbnail */
  .db-image { height:200px; }
  .db-thumb { width:52px; height:52px; }

  /* Contact cards */
  .infos-cards { grid-template-columns:1fr 1fr; }

  /* Footer */
  .footer-nav { gap:2rem; }
  .footer-bottom { flex-direction:column; text-align:center; }

  /* Social */
  .social-btns { flex-direction:column; align-items:center; }
  .social-big-btn { min-width:0; width:100%; max-width:340px; }
}

/* ── Mobile small ── */
@media (max-width:480px) {
  .container { padding:0 1.1rem; }

  /* Hero */
  .hero-cta .btn { max-width:100%; }

  /* Mezzés chauds — single col on smallest screens */
  .cards-grid.grid-5 { grid-template-columns:1fr; }

  /* Accompagnements — 3 small circles */
  .accomp-grid { grid-template-columns:repeat(3,1fr); gap:.8rem; }
  .accomp-img { width:86px; height:86px; }
  .accomp-item span { font-size:.76rem; }
  .accomp-item small { font-size:.65rem; }

  /* Viande rows — tighter on small screen */
  .viande-row { grid-template-columns:48px 1fr; }
  .viande-img-sm { width:48px; height:48px; }
  .viande-info strong { font-size:.85rem; }
  .viande-info p { font-size:.73rem; }

  /* Contact cards — single col */
  .infos-cards { grid-template-columns:1fr; }

  /* Footer nav */
  .footer-nav { flex-direction:column; gap:1.5rem; }

  /* Desserts */
  .db-grid { gap:2.5rem; }

  /* Social */
  .social-section { padding:3.5rem 0; }
}
