*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --primary: #1e3a5f;
  --primary-light: rgba(30,58,95,0.6);
  --secondary: #f0a500;
  --secondary-dark: #c98b00;
  --foreground: #1e3a5f;
  --bg: #ffffff;
  --accent-bg: #fdf5e8;
  --card: #ffffff;
  --muted: #6b7a8d;
  --border: #dcdcdc;
  --text-on-primary: #fdfbf4;
}
div#ast-scroll-top {
    display: none;
}
html { scroll-behavior: smooth; }

body {
  font-family: 'Raleway', sans-serif;
  background: var(--bg);
  color: var(--foreground);
  overflow-x: hidden;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: var(--secondary); border-radius: 3px; }

/* ── HEADER ── */
header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  transition: background 0.5s, padding 0.4s, box-shadow 0.4s;
  padding: 1.25rem 2rem;
  background: transparent;
}

/* Home page header - transparent initially */
header.home-page {
  background: transparent;
}

/* Other pages - dark background by default */
header:not(.home-page) {
  background: rgba(30,58,95,0.96);
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  padding: 0.75rem 2rem;
}

header.scrolled {
  background: rgba(30,58,95,0.96);
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  padding: 0.75rem 2rem;
}

.header-inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
}

.logo {
  font-size: 1.4rem; font-weight: 800; color: var(--text-on-primary);
  cursor: pointer; letter-spacing: 0.03em; white-space: nowrap;
  text-decoration: none; user-select: none;
}

nav { display: flex; align-items: center; gap: 2rem; }

nav a {
  font-size: 0.82rem; font-weight: 600; letter-spacing: 0.06em;
  color: rgba(253,251,244,0.8); text-decoration: none;
  transition: color 0.2s; cursor: pointer;
}

nav a:hover, nav a.active { color: var(--secondary); }

.btn-nav {
  background: var(--secondary); color: var(--primary);
  padding: 0.6rem 1.3rem; font-size: 0.78rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer;
  border: none; transition: background 0.2s;
}

.btn-nav:hover { background: var(--secondary-dark); }

/* Mobile */
.mobile-toggle {
  display: none; background: none; border: none;
  color: var(--text-on-primary); cursor: pointer; padding: 0.25rem;
}

.mobile-menu {
  display: none; position: fixed; inset: 0; z-index: 90;
  background: var(--primary); flex-direction: column;
  align-items: center; justify-content: center; gap: 2rem;
}

.mobile-menu.open { display: flex; }

.mobile-menu a {
  font-size: 1.6rem; font-weight: 700; color: var(--text-on-primary);
  text-decoration: none; transition: color 0.2s; cursor: pointer;
}

.mobile-menu a:hover, .mobile-menu a.active { color: var(--secondary); }

.mobile-menu .btn-nav { margin-top: 1rem; padding: 0.9rem 2.5rem; font-size: 1rem; }

/* ── PAGE HERO ── */
.page-hero {
  position: relative; height: 50vh; min-height: 340px;
  display: flex; align-items: center; justify-content: center; text-align: center;
  margin-top: 80px;
}

.page-hero h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); font-weight: 800; color: var(--text-on-primary); }

.page-hero .hero-overlay { background: rgba(30,58,95,0.6); }

.hero-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
}

.hero-overlay {
  position: absolute; inset: 0;
  background: rgba(30,58,95,0.62);
}

/* ── SECTION BASE ── */
section.sec { padding: 5rem 2rem; }

.container { max-width: 1200px; margin: 0 auto; }

.sec-title {
  font-size: clamp(1.7rem, 3.5vw, 2.5rem); font-weight: 800;
  color: var(--primary); margin-bottom: 1rem;
}

.sec-muted { color: var(--muted); font-size: 1.02rem; }

.sec-label {
  display: inline-block;
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--secondary); margin-bottom: 1rem;
  animation: slideDown 0.6s ease;
}

.section { padding: 5rem 2rem; margin-top: 80px; }

.page-intro { text-align: center; margin-bottom: 3rem; max-width: 700px; }

.menu-tab-content {
  display: block;
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* ─── GRID & UTILITIES ─── */
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.5rem; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }

@media (max-width: 900px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr); gap: 1.75rem; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}
@media (max-width: 600px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
}

/* ─── CARDS ─── */
.card {
  background: var(--card); border-radius: 8px;
  padding: 2rem; transition: transform 0.3s, box-shadow 0.3s;
}
.card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0,0,0,0.12); }

.card-img {
  position: relative; overflow: hidden; display: block;
  aspect-ratio: 4/3; border-radius: 6px;
  margin-bottom: 1.25rem;
}
.card-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.4s;
}
.card:hover .card-img img { transform: scale(1.08); }

.team-img {
  position: relative; overflow: hidden; display: block;
  aspect-ratio: 3/4; border-radius: 6px; margin-bottom: 1rem;
}
.team-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.4s;
}
.card:hover .team-img img { transform: scale(1.08); }

.prestation-img {
  position: relative; overflow: hidden; display: block;
  aspect-ratio: 4/3; border-radius: 6px;
}

/* ─── ANIMATIONS ─── */
@keyframes slideDown {
  from { transform: translateY(-10px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes fadeUp {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.fade-in { animation: fadeUp 0.8s ease forwards; }

/* ─── REVEAL ON SCROLL ─── */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* ─── BUTTONS ─── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  background: var(--secondary); color: var(--primary); border: none;
  padding: 0.85rem 2rem; font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
  transition: background 0.2s, transform 0.2s; text-decoration: none;
}
.btn:hover { background: var(--secondary-dark); transform: translateY(-2px); }

.btn-outline {
  background: transparent; color: var(--primary);
  border: 1.5px solid var(--secondary);
}
.btn-outline:hover { background: var(--secondary); color: var(--primary); }

/* ── CONTACT FORM ── */
.contact-grid { display: grid; grid-template-columns: 3fr 2fr; gap: 3.5rem; }
@media (max-width: 820px) { .contact-grid { grid-template-columns: 1fr; } }

.form-label { display: block; font-size: 0.82rem; font-weight: 600; color: var(--primary); margin-bottom: 0.4rem; }

.form-input, .form-select, .form-textarea {
  width: 100%; padding: 0.85rem 1rem;
  border: 1.5px solid var(--border); background: var(--bg);
  color: var(--foreground); font-family: 'Raleway', sans-serif;
  font-size: 0.92rem; transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
}

.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color: var(--secondary); box-shadow: 0 0 0 3px rgba(240,165,0,0.15);
}

.form-textarea { resize: vertical; min-height: 130px; }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media (max-width: 520px) { .form-row { grid-template-columns: 1fr; } }

.form-group { margin-bottom: 1.25rem; }

.btn-submit {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: var(--secondary); color: var(--primary); border: none;
  padding: 1rem 2.5rem; font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}

.btn-submit:hover { background: var(--secondary-dark); transform: translateY(-2px); }

.btn-submit svg { width: 1rem; height: 1rem; stroke: var(--primary); fill: none; }

.contact-info-block { display: flex; flex-direction: column; gap: 2rem; }

.contact-section-title { font-weight: 700; color: var(--primary); font-size: 1.05rem; margin-bottom: 1rem; }

.contact-item {
  display: flex; align-items: flex-start; gap: 0.75rem;
  color: var(--muted); font-size: 0.9rem;
  text-decoration: none; transition: color 0.2s;
}

.contact-item:hover { color: var(--secondary); }

.contact-item svg { width: 1.1rem; height: 1.1rem; stroke: var(--secondary); fill: none; flex-shrink: 0; margin-top: 0.1rem; }

.contact-info-list { display: flex; flex-direction: column; gap: 0.85rem; }

.map-wrap { overflow: hidden; border: 1px solid var(--border); margin-top: 1rem; }

.map-wrap iframe { display: block; }

.form-success {
  display: none; background: #d4edda; border: 1px solid #c3e6cb;
  color: #155724; padding: 1rem 1.5rem; margin-bottom: 1.5rem; font-size: 0.92rem;
}

.form-success.show { display: block; }

/* ── FOOTER ── */
footer {
  background: var(--primary); color: var(--text-on-primary); padding: 4rem 2rem 2rem;
}

.footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; max-width: 1200px; margin: 0 auto 3rem; }
@media (max-width: 700px) { .footer-grid { grid-template-columns: 1fr; } }

.footer-brand { font-size: 1.4rem; font-weight: 800; margin-bottom: 0.3rem; }

.footer-tagline { font-family: 'Dancing Script', cursive; font-size: 1.1rem; color: var(--secondary); margin-bottom: 1rem; }

.footer-about { color: rgba(253,251,244,0.65); font-size: 0.85rem; line-height: 1.6; }

.footer-col-title { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--secondary); margin-bottom: 1rem; }

.footer-links { display: flex; flex-direction: column; gap: 0.6rem; }

.footer-links a { color: rgba(253,251,244,0.65); font-size: 0.88rem; text-decoration: none; cursor: pointer; transition: color 0.2s; }

.footer-links a:hover { color: var(--secondary); }

.footer-contact-items { display: flex; flex-direction: column; gap: 0.75rem; }

.footer-contact-item { display: flex; align-items: flex-start; gap: 0.6rem; color: rgba(253,251,244,0.65); font-size: 0.85rem; text-decoration: none; }

.footer-contact-item:hover { color: var(--secondary); }

.footer-contact-item svg { width: 1rem; height: 1rem; stroke: var(--secondary); fill: none; flex-shrink: 0; margin-top: 0.15rem; }

.footer-socials { display: flex; gap: 1rem; margin-top: 1rem; }

.footer-socials a { color: rgba(253,251,244,0.65); transition: color 0.2s; }

.footer-socials a:hover { color: var(--secondary); }

.footer-socials svg { width: 1.3rem; height: 1.3rem; stroke: currentColor; fill: none; }

.footer-bottom {
  border-top: 1px solid rgba(253,251,244,0.15); padding-top: 1.5rem;
  text-align: center; font-size: 0.78rem; color: rgba(253,251,244,0.4);
  max-width: 1200px; margin: 0 auto;
}

  /* ── MENUS-SPECIFIC STYLES ── */
    .menu-category { margin-bottom: 3.5rem; }
    .menu-cat-title {
      font-size: 1.5rem; font-weight: 700; color: var(--primary);
      text-align: center; margin-bottom: 1.5rem;
      display: inline-block; border-bottom: 2.5px solid var(--secondary); padding-bottom: 0.4rem;
    }
    .menu-cat-center { text-align: center; }
    .menu-item {
      display: flex; justify-content: space-between; align-items: flex-start;
      gap: 1rem; padding-bottom: 1rem; margin-bottom: 1rem;
      border-bottom: 1px solid rgba(220,220,220,0.5);
    }
    .menu-item-name { font-weight: 600; color: var(--primary); }
    .menu-item-desc { color: var(--muted); font-size: 0.85rem; margin-top: 0.25rem; }
    .menu-price { color: var(--secondary); font-weight: 700; font-size: 1.05rem; white-space: nowrap; }

    .formule-card {
      background: rgba(255,255,255,0.06); border: 1.5px solid rgba(253,251,244,0.2);
      padding: 2.5rem 2rem; text-align: center;
      transition: transform 0.3s, box-shadow 0.3s;
    }
    .formule-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.15); }
    .formule-name { font-weight: 700; color: var(--text-on-primary); font-size: 1.1rem; margin-bottom: 0.75rem; }
    .formule-desc { color: rgba(253,251,244,0.65); font-size: 0.88rem; line-height: 1.6; margin-bottom: 1rem; }
    .formule-price { color: var(--secondary); font-weight: 700; font-size: 1rem; }

.lapetite-cantine-breakfast-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  border: 1px solid var(--border);
  background: var(--card);
  padding: 0.5rem;
  transition: transform 0.3s, box-shadow 0.3s;
}
.lapetite-cantine-breakfast-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.lapetite-cantine-breakfast-image {
  overflow: hidden;
  border-radius: 6px;
  aspect-ratio: 4/3;
}

.lapetite-cantine-breakfast-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}
.lapetite-cantine-breakfast-card:hover .lapetite-cantine-breakfast-image img {
  transform: scale(1.05);
}

.lapetite-cantine-breakfast-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lapetite-cantine-breakfast-title {
 
  font-weight: 800;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}

.lapetite-cantine-breakfast-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.lapetite-cantine-breakfast-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: var(--foreground);
}
.lapetite-cantine-breakfast-item::before {
  content: "•";
  color: var(--secondary);
  font-weight: bold;
}

.lapetite-cantine-breakfast-price {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--secondary);
  padding: 1rem 1.5rem;
  background: rgba(240, 165, 0, 0.1);
  border-left: 3px solid var(--secondary);
  display: inline-block;
}

@media (max-width: 800px) {
  .lapetite-cantine-breakfast-card {
    grid-template-columns: 1fr;
    padding: 1.5rem;
    gap: 2rem;
  }
  .lapetite-cantine-breakfast-title {
    font-size: 1.5rem;
  }
}

.lapetite-cantine-menu-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  border: 1px solid var(--border);
  background: var(--card);
  padding: 2rem;
  transition: transform 0.3s, box-shadow 0.3s;
}
.lapetite-cantine-menu-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.lapetite-cantine-menu-images {
  overflow: hidden;
  border-radius: 6px;
}

.menu-image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 0.5rem;
}

.menu-image-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  transition: transform 0.4s;
}
.lapetite-cantine-menu-card:hover .menu-image-grid img {
  transform: scale(1.05);
}

.lapetite-cantine-menu-details {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lapetite-cantine-menu-title {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}

.lapetite-cantine-menu-category {
  margin-bottom: 2rem;
}

.lapetite-cantine-menu-cat-center {
  text-align: center;
}

.lapetite-cantine-menu-cat-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--primary);
  text-align: center;
  display: inline-block;
  border-bottom: 2.5px solid var(--secondary);
  padding-bottom: 0.4rem;
  margin-bottom: 1rem;
}

.lapetite-cantine-menu-item {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(220,220,220,0.5);
}

.lapetite-cantine-menu-item-name {
  font-weight: 600;
  color: var(--primary);
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

.lapetite-cantine-menu-item-desc {
  color: var(--muted);
  font-size: 0.85rem;
  line-height: 1.5;
}

@media (max-width: 800px) {
  .lapetite-cantine-menu-card {
    grid-template-columns: 1fr;
    padding: 1.5rem;
    gap: 2rem;
  }
  .menu-image-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
  .lapetite-cantine-menu-title {
    font-size: 1.5rem;
  }
}

      /* ── INDEX-SPECIFIC STYLES ── */
    
    /* ── HERO ── */
    .hero {
      position: relative; height: 100vh;
      display: flex; align-items: center; justify-content: center;
      overflow: hidden; text-align: center;
    }
    .hero-bg {
      position: absolute; inset: 0;
      background-size: cover; background-position: center;
    }
    .hero-overlay {
      position: absolute; inset: 0;
      background: rgba(30,58,95,0.62);
    }
    .hero-content {
      position: relative; z-index: 2;
      padding: 6rem; max-width: 860px;
    }
    .hero-tagline {
      font-family: 'Dancing Script', cursive;
      font-size: clamp(1.4rem, 3vw, 2rem);
      color: var(--secondary); margin-bottom: 1rem;
      animation: fadeUp 0.8s ease both;
    }
    .hero-title {
      font-size: clamp(2.8rem, 7vw, 5.5rem); font-weight: 800;
      color: var(--text-on-primary); line-height: 1.1;
      margin-bottom: 1.25rem;
      animation: fadeUp 0.8s 0.2s ease both;
    }
    .hero-desc {
      color: rgba(253,251,244,0.82); font-size: clamp(1rem, 2vw, 1.18rem);
      max-width: 620px; margin: 0 auto 2.5rem;
      animation: fadeUp 0.8s 0.5s ease both;
    }
    .hero-btns {
      display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;
      animation: fadeUp 0.6s 0.8s ease both;
    }
    .btn-primary {
      background: var(--secondary); color: var(--primary);
      padding: 1rem 2.2rem; font-size: 0.8rem; font-weight: 700;
      letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
      border: none; transition: background 0.2s, transform 0.2s;
      text-decoration: none; display: inline-block;
    }
    .btn-primary:hover { background: var(--secondary-dark); transform: translateY(-2px); }
    .btn-outline {
      border: 1.5px solid rgba(253,251,244,0.45); color: var(--text-on-primary);
      padding: 1rem 2.2rem; font-size: 0.8rem; font-weight: 700;
      letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
      background: none; transition: background 0.2s; text-decoration: none;
    }
    .btn-outline:hover { background: rgba(253,251,244,0.1); }

    /* ── SECTION BASE ── */
    .container-sm { max-width: 860px; margin: 0 auto; }
    .container-xs { max-width: 680px; margin: 0 auto; }
    .sec-center { text-align: center; }
    .section-bg-accent { background: var(--accent-bg); }
    .section-bg-primary { background: var(--primary); }
    .section-bg-primary .sec-title,
    .section-bg-primary .sec-label-on-dark { color: var(--text-on-primary); }

    /* ── ANIMATION ── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(28px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
    .reveal.visible { opacity: 1; transform: none; }
    .reveal-d1 { transition-delay: 0.1s; }
    .reveal-d2 { transition-delay: 0.2s; }
    .reveal-d3 { transition-delay: 0.3s; }
    .reveal-d4 { transition-delay: 0.4s; }
    .reveal-d5 { transition-delay: 0.5s; }

    /* ── GRID ── */
    .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
    .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem; align-items: center; }
    @media (max-width: 900px) {
      .grid-3 { grid-template-columns: 1fr; }
    }
    @media (max-width: 700px) {
      .grid-2 { grid-template-columns: 1fr; }
    }

    /* ── PHILOSOPHY ICONS ── */
    .icon-circle {
      width: 4rem; height: 4rem; border-radius: 50%;
      background: rgba(30,58,95,0.1);
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 0.75rem;
    }
    .icon-circle svg { width: 1.8rem; height: 1.8rem; stroke: var(--primary); fill: none; }
    .icon-label { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--primary); }

    /* ── CARDS ── */
    .card {
      background: var(--card); border: 1px solid var(--border);
      overflow: hidden; transition: transform 0.3s, box-shadow 0.3s;
      cursor: pointer;
    }
    .card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.1); }
    .card-img { aspect-ratio: 4/3; overflow: hidden; }
    .card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
    .card:hover .card-img img { transform: scale(1.06); }
    .card-body { padding: 1.5rem; }
    .card-icon-row { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; }
    .card-icon-row svg { width: 1.2rem; height: 1.2rem; stroke: var(--secondary); fill: none; }
    .card-title { font-size: 1.15rem; font-weight: 700; color: var(--primary); }
    .card-desc { color: var(--muted); font-size: 0.88rem; line-height: 1.6; margin-bottom: 1rem; }
    .card-link {
      display: inline-flex; align-items: center; gap: 0.3rem;
      font-size: 0.82rem; font-weight: 700; color: var(--secondary);
      transition: gap 0.2s;
    }
    .card:hover .card-link { gap: 0.55rem; }
    .card-link svg { width: 1rem; height: 1rem; stroke: var(--secondary); fill: none; }

    /* ── STATS ── */
    .stat-num {
      font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 800;
      color: var(--secondary); margin-bottom: 0.3rem;
    }
    .stat-label {
      font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em;
      color: rgba(253,251,244,0.65);
    }
    .stat-item { text-align: center; }

    /* ── TESTIMONIALS ── */
    .testi-card {
      background: var(--card); border: 1px solid var(--border);
      padding: 2rem; position: relative;
    }
    .testi-quote {
      position: absolute; top: 1rem; right: 1rem;
      opacity: 0.12; width: 2.2rem; height: 2.2rem;
    }
    .testi-text { color: var(--muted); font-size: 0.9rem; line-height: 1.7; font-style: italic; margin-bottom: 1.2rem; }
    .testi-author { font-weight: 700; color: var(--primary); font-size: 0.88rem; }
    .testi-event { color: var(--muted); font-size: 0.75rem; }

    /* ── CTA SECTION ── */
    .cta-section {
      position: relative; padding: 6rem 2rem; text-align: center;
    }
    .cta-bg {
      position: absolute; inset: 0;
      background-size: cover; background-position: center; background-attachment: fixed;
    }
    .cta-overlay { position: absolute; inset: 0; background: rgba(30,58,95,0.72); }
    .cta-content { position: relative; z-index: 2; max-width: 700px; margin: 0 auto; }
    .cta-tag { font-family: 'Dancing Script', cursive; font-size: 1.5rem; color: var(--secondary); margin-bottom: 1rem; }
    .cta-title { font-size: clamp(1.7rem, 4vw, 2.5rem); font-weight: 800; color: var(--text-on-primary); margin-bottom: 1rem; }
    .cta-desc { color: rgba(253,251,244,0.72); margin-bottom: 2rem; }

    @media (max-width: 900px) {
      .grid-4 { grid-template-columns: repeat(2, 1fr); }
    }

     /* ── GALERIE-SPECIFIC STYLES ── */
    .filter-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-bottom: 3rem; }
    .filter-btn {
      padding: 0.5rem 1.3rem; font-size: 0.82rem; font-weight: 600;
      letter-spacing: 0.04em; cursor: pointer; border: none;
      background: var(--border); color: var(--muted); transition: all 0.2s;
    }
    .filter-btn.active, .filter-btn:hover { background: var(--secondary); color: var(--primary); }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-auto-rows: 200px;
      gap: 0.75rem;
    }
    @media (max-width: 900px) {
      .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
    }
    @media (max-width: 500px) {
      .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; }
    }

    .gallery-item {
      overflow: hidden; cursor: pointer; position: relative;
      transition: opacity 0.4s, transform 0.4s;
    }
    .gallery-item.span2c { grid-column: span 2; }
    .gallery-item.span2r { grid-row: span 2; }
    .gallery-item img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 0.6s;
    }
    .gallery-item:hover img { transform: scale(1.08); }
    .gallery-item .cat-badge {
      position: absolute; bottom: 0.6rem; left: 0.6rem;
      background: rgba(30,58,95,0.7); color: var(--secondary);
      font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.6rem;
      letter-spacing: 0.06em; opacity: 0; transition: opacity 0.3s;
    }
    .gallery-item:hover .cat-badge { opacity: 1; }

    /* lightbox */
    .lightbox {
      display: none; position: fixed; inset: 0; z-index: 200;
      background: rgba(30,58,95,0.94);
      align-items: center; justify-content: center;
    }
    .lightbox.open { display: flex; }
    .lightbox img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 2px; }
    .lightbox-close {
      position: absolute; top: 1.5rem; right: 1.5rem;
      background: none; border: none; color: var(--text-on-primary);
      cursor: pointer; padding: 0.25rem;
      transition: color 0.2s;
    }
    .lightbox-close:hover { color: var(--secondary); }
    .lightbox-close svg { width: 2.2rem; height: 2.2rem; stroke: currentColor; fill: none; }

     /* ── CONTACT-SPECIFIC STYLES ── */
    .contact-grid { display: grid; grid-template-columns: 3fr 2fr; gap: 3.5rem; }
    @media (max-width: 820px) { .contact-grid { grid-template-columns: 1fr; } }

    .form-label { display: block; font-size: 0.82rem; font-weight: 600; color: var(--primary); margin-bottom: 0.4rem; }
    .form-input, .form-select, .form-textarea {
      width: 100%; padding: 0.85rem 1rem;
      border: 1.5px solid var(--border); background: var(--bg);
      color: var(--foreground); font-family: 'Raleway', sans-serif;
      font-size: 0.92rem; transition: border-color 0.2s, box-shadow 0.2s;
      outline: none;
    }
    .form-input:focus, .form-select:focus, .form-textarea:focus {
      border-color: var(--secondary); box-shadow: 0 0 0 3px rgba(240,165,0,0.15);
    }
    .form-textarea { resize: vertical; min-height: 130px; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
    @media (max-width: 520px) { .form-row { grid-template-columns: 1fr; } }
    .form-group { margin-bottom: 1.25rem; }

    .btn-submit {
      display: inline-flex; align-items: center; gap: 0.5rem;
      background: var(--secondary); color: var(--primary); border: none;
      padding: 1rem 2.5rem; font-size: 0.82rem; font-weight: 700;
      letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
      transition: background 0.2s, transform 0.2s;
    }
    .btn-submit:hover { background: var(--secondary-dark); transform: translateY(-2px); }
    .btn-submit svg { width: 1rem; height: 1rem; stroke: var(--primary); fill: none; }

    .contact-info-block { display: flex; flex-direction: column; gap: 2rem; }
    .contact-section-title { font-weight: 700; color: var(--primary); font-size: 1.05rem; margin-bottom: 1rem; }
    .contact-item {
      display: flex; align-items: flex-start; gap: 0.75rem;
      color: var(--muted); font-size: 0.9rem;
      text-decoration: none; transition: color 0.2s;
    }
    .contact-item:hover { color: var(--secondary); }
    .contact-item svg { width: 1.1rem; height: 1.1rem; stroke: var(--secondary); fill: none; flex-shrink: 0; margin-top: 0.1rem; }
    .contact-info-list { display: flex; flex-direction: column; gap: 0.85rem; }

    .map-wrap { overflow: hidden; border: 1px solid var(--border); margin-top: 1rem; }
    .map-wrap iframe { display: block; }

    /* success message */
    .form-success {
      display: none; background: #d4edda; border: 1px solid #c3e6cb;
      color: #155724; padding: 1rem 1.5rem; margin-bottom: 1.5rem; font-size: 0.92rem;
    }
    .form-success.show { display: block; }

      /* ── MAISON-SPECIFIC STYLES ── */
    .story-badge {
      display: inline-block; background: var(--secondary); color: var(--primary);
      padding: 1rem 1.5rem; font-family: 'Dancing Script', cursive;
      font-size: 1.5rem; margin-top: 1.5rem;
    }
    .values-card {
      display: flex; gap: 1.25rem;
      background: var(--card); border: 1px solid var(--border); padding: 1.5rem;
      transition: transform 0.3s, box-shadow 0.3s;
    }
    .values-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,0.08); }
    .val-icon {
      width: 3.5rem; height: 3.5rem; border-radius: 50%;
      background: rgba(30,58,95,0.08); display: flex; align-items: center;
      justify-content: center; flex-shrink: 0;
    }
    .val-icon svg { width: 1.4rem; height: 1.4rem; stroke: var(--primary); fill: none; }
    .val-title { font-weight: 700; color: var(--primary); margin-bottom: 0.3rem; }
    .val-text { color: var(--muted); font-size: 0.88rem; line-height: 1.6; }
    .values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
    @media (max-width: 600px) { .values-grid { grid-template-columns: 1fr; } }

    .team-card { text-align: center; cursor: default; }
    .team-img { aspect-ratio: 3/4; overflow: hidden; margin-bottom: 1rem; }
    .team-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
    .team-card:hover .team-img img { transform: scale(1.05); }
    .team-name { font-weight: 700; color: var(--primary); font-size: 1.05rem; }
    .team-role { color: var(--muted); font-size: 0.85rem; }

    .savoir-list { list-style: none; display: flex; flex-direction: column; gap: 1.5rem; }
    .savoir-item { display: flex; align-items: flex-start; gap: 1rem; }
    .savoir-item svg { width: 1.4rem; height: 1.4rem; stroke: var(--secondary); fill: none; flex-shrink: 0; margin-top: 0.15rem; }
    .savoir-item p { color: rgba(253,251,244,0.8); line-height: 1.65; }
     /* ── PRESTATIONS-SPECIFIC STYLES ── */
    .prestation-block { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; margin-bottom: 6rem; }
    .prestation-block:last-child { margin-bottom: 0; }
    .prestation-block.reverse .prestation-img { order: 2; }
    .prestation-block.reverse .prestation-text { order: 1; }
    @media (max-width: 800px) {
      .prestation-block { grid-template-columns: 1fr; }
      .prestation-block.reverse .prestation-img { order: 0; }
      .prestation-block.reverse .prestation-text { order: 0; }
    }
    .prestation-img { overflow: hidden; }
    .prestation-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform 0.7s; }
    .prestation-img:hover img { transform: scale(1.05); }
    .prestation-icon-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; }
    .prestation-icon-row svg { width: 1.6rem; height: 1.6rem; stroke: var(--secondary); fill: none; }
    .prestation-title { font-size: 1.7rem; font-weight: 800; color: var(--primary); }
    .prestation-subtitle { font-family: 'Dancing Script', cursive; font-size: 1.2rem; color: var(--secondary); margin-bottom: 1rem; }
    .prestation-desc { color: var(--muted); line-height: 1.7; margin-bottom: 1.5rem; }
    .check-list { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 2rem; }
    .check-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.88rem; color: var(--foreground); }
    .check-item svg { width: 1rem; height: 1rem; stroke: var(--secondary); fill: none; flex-shrink: 0; }

    .btn-primary {
      background: var(--secondary); color: var(--primary);
      padding: 1rem 2.2rem; font-size: 0.8rem; font-weight: 700;
      letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
      border: none; transition: background 0.2s, transform 0.2s;
      text-decoration: none; display: inline-block;
    }
    .btn-primary:hover { background: var(--secondary-dark); transform: translateY(-2px); }
    
    
    /* ── CLIENTS/LOGOS ── */
    .clients-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 3rem; margin-top: 3rem;
      align-items: center; justify-items: center;
    }
    .client-logo {
      width: 100%; max-width: 180px;
      padding: 1.5rem; background: var(--card);
      border: 1px solid var(--border);
      display: flex; align-items: center; justify-content: center;
      transition: transform 0.3s, box-shadow 0.3s, filter 0.3s;
    }
    .client-logo img {
      width: 100%; height: auto; max-height: 60px;
      object-fit: contain; filter: grayscale(100%) opacity(0.7);
      transition: filter 0.3s;
    }
    .client-logo:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    }
    .client-logo:hover img {
      filter: grayscale(0%) opacity(1);
    }
    @media (max-width: 900px) {
      .clients-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
    }
    @media (max-width: 600px) {
      .clients-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }
    
    /* ── BLOG-SPECIFIC STYLES ── */

/* ── Section and Container Styles ── */
.section {
  padding: 5rem 2rem;
  margin-top: 80px;
}

/* ── Breadcrumb Navigation ── */
.breadcrumb {
  padding: 1.5rem 2rem;
  background: var(--accent-bg);
  margin-top: 80px;
}

.breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li:not(:last-child)::after {
  content: '/';
  color: var(--muted);
  margin-left: 0.5rem;
}

.breadcrumb a {
  color: var(--muted);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.2s;
}

.breadcrumb a:hover {
  color: var(--secondary);
}

.breadcrumb span {
  color: var(--primary);
  font-weight: 600;
  font-size: 0.85rem;
}

/* ── Page Intro Section ── */
.page-intro {
  text-align: center;
  margin-bottom: 3rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.page-intro h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  color: var(--primary);
  margin-bottom: 1rem;
}

.page-intro p {
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.6;
}

/* ── Blog Grid Layout ── */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}

/* ── Blog Card Components ── */
.blog-card {
  background: var(--card);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}

.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.blog-card-img {
  aspect-ratio: 16/9;
  overflow: hidden;
}

.blog-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}

.blog-card:hover .blog-card-img img {
  transform: scale(1.08);
}

.blog-card-body {
  padding: 1.75rem;
}

.blog-card-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--muted);
  font-size: 0.8rem;
  margin-bottom: 0.75rem;
}

.blog-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.blog-card-excerpt {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.blog-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--secondary);
  text-decoration: none;
  transition: gap 0.2s;
}

.blog-card:hover .blog-card-link {
  gap: 0.55rem;
}

/* ── Category Badge Styling ── */
.category-badge {
  display: inline-block;
  padding: 0.35rem 0.85rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 3px;
  margin-bottom: 0.75rem;
}

.category-badge.petit-dejeuner {
  background: rgba(255, 193, 7, 0.15);
  color: #f57c00;
}

.category-badge.plateaux-repas {
  background: rgba(76, 175, 80, 0.15);
  color: #388e3c;
}

.category-badge.traiteur {
  background: rgba(156, 39, 176, 0.15);
  color: #7b1fa2;
}

.category-badge.cuisine {
  background: rgba(244, 67, 54, 0.15);
  color: #c62828;
}

.category-badge.organisation {
  background: rgba(33, 150, 243, 0.15);
  color: #1565c0;
}

.category-badge.guides {
  background: rgba(255, 152, 0, 0.15);
  color: #e65100;
}

.category-badge.seo-local {
  background: rgba(240, 165, 0, 0.15);
  color: var(--secondary-dark);
}

/* ── Blog Article Layout ── */
.blog-article {
  max-width: 820px;
  margin: 0 auto;
}

.blog-article header {
  margin-bottom: 3rem;
}

.blog-title {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--primary);
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

.blog-featured-img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 8px;
  margin-top: 1.5rem;
}

/* ── Blog Meta Information ── */
.blog-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}

.blog-meta-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--muted);
  font-size: 0.85rem;
}

.blog-meta-item svg {
  width: 1rem;
  height: 1rem;
  stroke: var(--secondary);
  fill: none;
}

.share-buttons {
  display: flex;
  gap: 0.5rem;
  margin-left: auto;
}

.share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--accent-bg);
  transition: background 0.2s, transform 0.2s;
}

.share-btn:hover {
  background: var(--secondary);
  transform: translateY(-2px);
}

.share-btn svg {
  width: 1rem;
  height: 1rem;
  stroke: var(--primary);
  fill: none;
}

/* ── Blog Content Styling ── */
.blog-content {
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--foreground);
}

.blog-content p {
  margin-bottom: 1.5rem;
}

.blog-content h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--primary);
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
}

.blog-content h3 {
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--primary);
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.blog-content a {
  color: var(--secondary);
  text-decoration: underline;
  transition: color 0.2s;
}

.blog-content a:hover {
  color: var(--secondary-dark);
}

.blog-content img {
  width: 100%;
  border-radius: 6px;
  margin: 2rem 0;
}

.blog-content blockquote {
  border-left: 4px solid var(--secondary);
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: var(--muted);
  font-size: 1.1rem;
}

.blog-content ul,
.blog-content ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.blog-content li {
  margin-bottom: 0.5rem;
}

.blog-content .check-list {
  list-style: none;
  padding-left: 0;
}

.blog-content .check-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.blog-content .check-item svg {
  width: 1.2rem;
  height: 1.2rem;
  stroke: var(--secondary);
  fill: none;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.blog-content strong {
  font-weight: 700;
  color: var(--primary);
}

/* ── Internal Links Section ── */
.internal-links-section {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 2px solid var(--border);
}

.internal-links-section h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--primary);
  text-align: center;
  margin-bottom: 2rem;
}

.internal-links-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.internal-link-card {
  background: var(--accent-bg);
  padding: 2rem;
  text-align: center;
  border-radius: 8px;
  transition: transform 0.3s, box-shadow 0.3s;
}

.internal-link-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.internal-link-card svg {
  width: 2.5rem;
  height: 2.5rem;
  stroke: var(--secondary);
  fill: none;
  margin: 0 auto 1rem;
}

.internal-link-card h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 0.75rem;
}

.internal-link-card p {
  color: var(--muted);
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.internal-link-card a {
  color: var(--secondary);
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.2s;
}

.internal-link-card a:hover {
  color: var(--secondary-dark);
}

/* ── Related Posts Section ── */
.related-posts-section {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 2px solid var(--border);
}

.related-posts-section h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--primary);
  text-align: center;
  margin-bottom: 2rem;
}

.related-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* ── Pagination Controls ── */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 4rem;
}

.pagination-btn {
  padding: 0.75rem 1.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  background: var(--secondary);
  color: var(--primary);
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}

.pagination-btn:hover:not(:disabled) {
  background: var(--secondary-dark);
  transform: translateY(-2px);
}

.pagination-btn:disabled {
  background: var(--border);
  color: var(--muted);
  cursor: not-allowed;
  opacity: 0.6;
}

.pagination-info {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

/* ── Responsive Design ── */
@media (max-width: 900px) {
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem;
  }

  .related-posts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem;
  }
}

@media (max-width: 768px) {
  .section {
    padding: 3rem 1.5rem;
  }

  .breadcrumb {
    padding: 1rem 1.5rem;
  }

  .breadcrumb a,
  .breadcrumb span {
    font-size: 0.75rem;
  }

  .internal-links-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }

  .blog-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 600px) {
  .blog-grid,
  .related-posts-grid {
    grid-template-columns: 1fr;
  }

  .blog-card-title {
    font-size: 1.1rem;
  }
}

@media (max-width: 500px) {
  .section {
    padding: 2rem 1rem;
  }

  .internal-links-grid {
    grid-template-columns: 1fr;
  }
}

.order-info-section {
  background: var(--accent-bg);
  padding: 3rem 2.5rem;
  border-radius: 8px;
  margin-top: 3rem;
  border: 1px solid var(--border);
  text-align: center;
}

.order-info-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
  text-align: center;
}

.order-info-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
  margin-top: 1rem;
}

.order-info-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 1rem;
  color: var(--foreground);
  background: var(--accent-bg);
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: background 0.3s, box-shadow 0.3s, transform 0.3s;
}

.order-info-list li:hover {
  background: rgba(255,255,255,0.9);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transform: translateY(-2px);
}

.order-info-list li::before {
  content: "✓";
  color: white;
  font-weight: bold;
  font-size: 1.2rem;
  background: var(--secondary);
  border-radius: 50%;
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.order-info-item-desc {
  font-size: 0.85rem;
  color: var(--muted);
  font-style: italic;
  font-weight: 400;
  display: block;
  margin-top: 0.5rem;
}

.order-info-pricing {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.pricing-item {
  background: rgba(240, 165, 0, 0.15);
  padding: 1rem 1.5rem;
  border-left: 3px solid var(--secondary);
  font-weight: 600;
  color: var(--primary);
  font-size: 1rem;
}

.order-info-delivery {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--secondary);
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}

.order-info-timing {
  text-align: center;
  font-size: 0.9rem;
  color: var(--muted);
  margin-bottom: 2rem;
  font-style: italic;
}

.order-info-cta {
  display: inline-block;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .order-info-list {
    grid-template-columns: 1fr;
  }
  .order-info-section {
    padding: 2rem 1.5rem;
  }
  .order-info-title {
    font-size: 1.3rem;
  }
  .order-info-pricing {
    flex-direction: column;
    align-items: center;
  }
}