/*
 * Habillage « Éditoriale » — épuré.
 *
 * Beaucoup de blanc, filets d'un pixel, grande typographie serif.
 * Aucune ombre, aucune carte : les sections sont séparées par des
 * règles et numérotées automatiquement, comme les chapitres d'une revue.
 */

:root[data-theme="editorial"] {
  --primary: #1d5c58;
  --secondary: #c86d51;
  --dark: #1a1a1a;

  --sand-warm: #fdfbf7;
  --sand-card: #fdfbf7;
  --sand-border: #e8e4dc;
  --surface-low: #f6f3ee;
  --surface-container: #f0ece4;
  --on-surface: #1a1a1a;
  --on-surface-variant: #66615b;
  --outline-variant: #d8d3c9;
  --gold: #c86d51;
  --sky: #1d5c58;

  --serif: "Cormorant Garamond", Garamond, Georgia, serif;
  --display: "Cormorant Garamond", Garamond, Georgia, serif;
  --script: "Playfair Display", Georgia, serif;

  --header-bg: rgba(253, 251, 247, 0.92);
  --header-border: 1px solid #e8e4dc;

  --hero-bg: var(--sand-warm);
  --hero-ink: var(--dark);
  --hero-veil: none;
  --hero-accent: var(--secondary);
  --hero-min-height: auto;

  --card-bg: transparent;
  --card-border: 0;
  --card-shadow: none;
  --card-radius: 0;

  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-xl: 0;

  --shadow-1: none;
  --shadow-2: none;
  --shadow-3: none;

  --eyebrow-tracking: 0.18em;
  --title-weight: 400;
  --footer-bg: var(--sand-warm);
}

/* --------------------------------------------- Typographie de revue */

[data-theme="editorial"] .headline-lg { font-size: 38px; line-height: 1.12; letter-spacing: -0.01em; }
[data-theme="editorial"] .headline-md { font-size: 30px; line-height: 1.2; }
[data-theme="editorial"] .headline-sm { font-family: var(--sans); font-size: 15px; font-weight: 600; letter-spacing: 0.02em; }

@media (min-width: 768px) {
  [data-theme="editorial"] .headline-lg { font-size: 54px; }
}

[data-theme="editorial"] .hero__title { font-size: 44px; line-height: 1.08; font-weight: 400; letter-spacing: -0.02em; }

@media (min-width: 768px) {
  [data-theme="editorial"] .hero__title { font-size: 76px; }
}

[data-theme="editorial"] .hero__title em { font-family: var(--display); }
[data-theme="editorial"] .lead,
[data-theme="editorial"] .hero__text { font-family: var(--sans); font-size: 15px; line-height: 26px; font-weight: 300; }
[data-theme="editorial"] .body { font-family: var(--sans); font-size: 15px; line-height: 26px; }
[data-theme="editorial"] .eyebrow { font-size: 11px; font-weight: 600; }

/* -------------------------------------------- Sections numérotées */

/*
 * Le numéro de chapitre est produit par un compteur CSS : aucun gabarit
 * n'a besoin d'être dupliqué pour cet habillage.
 */
[data-theme="editorial"] main { counter-reset: chapitre; }

[data-theme="editorial"] .eyebrow--chapter::before {
  counter-increment: chapitre;
  content: counter(chapitre, decimal-leading-zero) " / ";
  color: var(--on-surface-variant);
}

[data-theme="editorial"] .section {
  border-top: 1px solid var(--sand-border);
  padding-block: var(--space-4xl);
}

[data-theme="editorial"] .section--tinted { background: var(--surface-low); }

/* --------------------------------------------- Bandeau architectural */

/*
 * Le texte occupe d'abord toute la largeur, la photographie vient
 * ensuite en bandeau large : la lecture précède l'image.
 */
[data-theme="editorial"] .hero {
  display: flex;
  flex-direction: column;
  color: var(--dark);
}

[data-theme="editorial"] .hero__veil { display: none; }

/* La lecture précède l'image : le texte d'abord, le bandeau ensuite. */
[data-theme="editorial"] .hero__inner {
  order: 1;
  min-height: 0;
  padding-top: calc(var(--header-height) + var(--space-2xl));
  padding-bottom: var(--space-xl);
  gap: var(--space-xl);
}

[data-theme="editorial"] .hero__bg {
  order: 2;
  position: static;
  transform: none;
  aspect-ratio: 21 / 9;
  width: calc(100% - 2 * var(--gutter));
  max-width: var(--container);
  margin: 0 auto var(--space-2xl);
}

[data-theme="editorial"] .hero__body { max-width: none; margin: 0; gap: var(--space-lg); }

@media (min-width: 1024px) {
  [data-theme="editorial"] .hero__body {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    column-gap: var(--space-2xl);
    row-gap: var(--space-md);
    align-items: start;
  }

  [data-theme="editorial"] .hero__eyebrow { grid-column: 1 / -1; }
  [data-theme="editorial"] .hero__title { grid-column: 1; grid-row: 2 / span 2; margin: 0; }
  [data-theme="editorial"] .hero__text { grid-column: 2; grid-row: 2; max-width: 36ch; }
  [data-theme="editorial"] .hero__actions { grid-column: 2; grid-row: 3; align-self: start; }
}

[data-theme="editorial"] .hero__badge {
  background: none;
  padding: 0;
  color: var(--on-surface-variant);
  backdrop-filter: none;
  font-weight: 600;
  letter-spacing: 0.18em;
}

[data-theme="editorial"] .hero__badge .pulse { background: var(--secondary); animation: none; }
[data-theme="editorial"] .hero__note { color: var(--on-surface-variant); }
[data-theme="editorial"] .hero__text { color: var(--on-surface-variant); }

/* Les encarts deviennent trois colonnes séparées par des filets. */
[data-theme="editorial"] .hero__facts { border-top: 1px solid var(--sand-border); padding-top: var(--space-lg); gap: 0; }

[data-theme="editorial"] .fact {
  background: none;
  backdrop-filter: none;
  padding: 0 var(--space-lg);
  align-items: flex-start;
  gap: var(--space-sm);
}

@media (min-width: 768px) {
  [data-theme="editorial"] .fact + .fact { border-left: 1px solid var(--sand-border); }
  [data-theme="editorial"] .fact:first-child { padding-left: 0; }
}

[data-theme="editorial"] .fact__icon { display: none; }
[data-theme="editorial"] .fact__title { color: var(--dark); font-family: var(--sans); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; }
[data-theme="editorial"] .fact__text { color: var(--on-surface-variant); }

/* ------------------------------------------------- Boutons sans fioriture */

[data-theme="editorial"] .btn {
  border-radius: 0;
  box-shadow: none;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 12px;
  height: 44px;
}

[data-theme="editorial"] .btn--primary:hover { transform: none; box-shadow: none; }
[data-theme="editorial"] .btn--glass { background: none; color: var(--dark); box-shadow: inset 0 0 0 1px var(--dark); backdrop-filter: none; }
[data-theme="editorial"] .btn--glass:hover { background: var(--dark); color: var(--sand-warm); }
[data-theme="editorial"] .link-arrow { letter-spacing: 0.08em; text-transform: uppercase; font-size: 12px; }

/* ------------------------------------------- Blocs sans carte ni ombre */

[data-theme="editorial"] .card { border-bottom: 1px solid var(--sand-border); border-radius: 0; }
[data-theme="editorial"] .feature { padding: var(--space-md) 0; }
[data-theme="editorial"] .feature__icon { display: none; }

[data-theme="editorial"] .moment { padding: var(--space-xl) 0; border-bottom: 0; }
[data-theme="editorial"] .moment__blob { display: none; }
[data-theme="editorial"] .badge { background: none; padding: 0; color: var(--on-surface-variant); font-family: var(--sans); letter-spacing: 0.12em; }
[data-theme="editorial"] .moment__points li { align-items: baseline; }
[data-theme="editorial"] .moment__points .material-symbols-outlined { font-size: 6px; }

@media (min-width: 1024px) {
  [data-theme="editorial"] .duo { gap: var(--space-4xl); }
  [data-theme="editorial"] .duo .moment + .moment { border-left: 1px solid var(--sand-border); padding-left: var(--space-4xl); }
}

[data-theme="editorial"] .menu-panel { padding: 0; }
[data-theme="editorial"] .menu-panel__head .material-symbols-outlined { display: none; }
[data-theme="editorial"] .menu-panel__head { border-bottom: 1px solid var(--sand-border); padding-bottom: var(--space-sm); }
[data-theme="editorial"] .dish__leader { border-bottom-style: solid; border-color: var(--sand-border); }
[data-theme="editorial"] .dish__name { font-size: 21px; font-weight: 500; }
[data-theme="editorial"] .tag { background: none; padding: 0; color: var(--secondary); letter-spacing: 0.1em; }
[data-theme="editorial"] .tag--allergen { color: var(--on-surface-variant); }
[data-theme="editorial"] .dish__tags { gap: var(--space-sm); }

[data-theme="editorial"] .menu-cta { border-top: 1px solid var(--sand-border); border-bottom: 0; padding-inline: 0; }
[data-theme="editorial"] .menu-cta__icon { display: none; }

[data-theme="editorial"] .frame { border-radius: 0; }
[data-theme="editorial"] .frame__caption { background: linear-gradient(to top, rgba(26, 26, 26, 0.55), transparent 60%); }

[data-theme="editorial"] .info-card { padding: var(--space-md) 0; }
[data-theme="editorial"] .info-card__icon { display: none; }
[data-theme="editorial"] .hours { padding: var(--space-md) 0; }
[data-theme="editorial"] .map { border-radius: 0; }
[data-theme="editorial"] .map__card { border-radius: 0; box-shadow: none; border: 1px solid var(--sand-border); }

[data-theme="editorial"] .banner { background: var(--dark); padding-block: var(--space-3xl); }
[data-theme="editorial"] .banner__glow { display: none; }
[data-theme="editorial"] .footer { border-top: 1px solid var(--sand-border); box-shadow: none; }
[data-theme="editorial"] .social { background: none; box-shadow: inset 0 0 0 1px var(--sand-border); }

/* La page carte reprend les mêmes filets. */
[data-theme="editorial"] .filters { border-radius: 0; box-shadow: none; border: 1px solid var(--sand-border); }
[data-theme="editorial"] .chip { border-radius: 0; }
[data-theme="editorial"] .search { border-radius: 0; }
[data-theme="editorial"] .switch { border-radius: 0; }
[data-theme="editorial"] .legend { background: var(--surface-low); }
[data-theme="editorial"] .dishes--grid .dish { border-radius: 0; box-shadow: none; }
