/* ZEA Elite Performance — page Tarifs (thème enfant)
   Styles extraits à l'identique du design Claude Design (Tarifs.dc.html).
   S'appuie sur les tokens (--zea-gold, --bg-base, --font-display, etc.)
   déjà chargés par le thème parent. */

/* ---- Conteneurs ---- */
.zea-tarifs-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 48px);
}
.zea-tarifs-container--narrow {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 48px);
}

/* ---- Hero / bannière ---- */
.zea-tarifs-hero {
  position: relative;
  padding: 144px clamp(20px, 5vw, 48px) 76px;
  background: radial-gradient(120% 80% at 80% 0%, #161310 0%, #000 60%);
  overflow: hidden;
}
.zea-tarifs-hero__watermark {
  position: absolute;
  right: -4%;
  top: 42%;
  transform: translateY(-50%);
  width: min(46vw, 520px);
  opacity: 0.06;
  pointer-events: none;\n  animation: zeaFloat 14s var(--ease-in-out) infinite alternate, zeaGlint 6.5s linear infinite;\n}
.zea-tarifs-hero__inner { position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; }
.zea-tarifs-hero__crumb {
  display: flex; gap: 10px; align-items: center;
  font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-muted);
}
.zea-tarifs-hero__crumb a { color: var(--text-muted); text-decoration: none; }
.zea-tarifs-hero__crumb-sep { color: var(--gold-40); }
.zea-tarifs-hero__crumb-current { color: var(--zea-gold); }
.zea-tarifs-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px; margin-top: 26px;
  font-weight: 600; font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--zea-gold);
}
.zea-tarifs-hero__eyebrow-rule { width: 32px; height: 1px; background: var(--zea-gold); }
.zea-tarifs-hero__title {
  font-family: var(--font-display); font-weight: 700; text-transform: uppercase;
  line-height: 0.98; letter-spacing: -0.01em; font-size: clamp(2.8rem, 6vw, 5rem);
  margin: 18px 0 0;\n  animation: zeaRise .9s var(--ease-premium) .08s both;\n}
.zea-tarifs-hero__lead {
  font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.6; color: var(--text-secondary);
  margin: 22px 0 0; max-width: 62ch;
}
.zea-tarifs-hero__bottom-rule {
  position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-40), transparent);
}

/* ---- Intro ---- */
.zea-tarifs-intro { padding: var(--section-y) 0 0; background: var(--bg-base); }
.zea-tarifs-intro__text { font-size: 1.0625rem; line-height: 1.75; color: var(--text-secondary); margin: 0; }
.zea-tarifs-intro__text strong { color: var(--text-primary); }
.zea-tarifs-intro__note {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 14px; line-height: 1.6; color: var(--text-muted); font-style: italic;
  margin: 18px 0 0;
}
.zea-tarifs-intro__note svg { flex-shrink: 0; margin-top: 4px; }

/* ---- Bloc de section (têtes numérotées 1-4) ---- */
.zea-tarifs-section { padding: var(--section-y) 0 0; background: var(--bg-base); }
.zea-tarifs-section__head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.zea-tarifs-section__num {
  display: inline-flex; width: 46px; height: 46px; border-radius: 12px;
  background: var(--gold-08); border: 1px solid var(--gold-24);
  align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 22px; color: var(--zea-gold);
}
.zea-tarifs-section__title {
  font-family: var(--font-display); font-weight: 600; text-transform: uppercase;
  font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.1; margin: 0;
}
.zea-tarifs-section__meta { font-size: 13px; color: var(--text-muted); }
.zea-tarifs-accent { color: var(--zea-gold); }
.zea-tarifs-section__nav { margin-left: auto; display: flex; gap: 10px; }
.zea-tarifs-section__note {
  font-size: 14px; line-height: 1.6; color: var(--text-secondary);
  margin: 18px 0 0; max-width: 60ch;
}
.zea-tarifs-section__footnote {
  display: flex; gap: 10px; align-items: flex-start;
  margin-top: 18px; font-size: 13px; line-height: 1.5; color: var(--text-muted);
}
.zea-tarifs-section__footnote svg { flex-shrink: 0; margin-top: 1px; }
.zea-tarifs-section__footnote--center {
  justify-content: center; align-items: center; text-align: center; margin-top: 32px;
}

/* ---- Flèches précédent / suivant du carrousel ---- */
.zea-tarifs-rail-nav {
  width: 42px; height: 42px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; border: 1px solid var(--gold-24); background: transparent;
  color: var(--zea-gold); transition: all 0.2s;
}
.zea-tarifs-rail-nav:hover { background: var(--gold-08); border-color: var(--gold-40); }

/* ---- Carrousel horizontal (rail) ---- */
.zea-tarifs-rail {
  display: flex; gap: 20px; margin-top: 28px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 4px 4px 16px; scrollbar-width: thin;
}
.zea-tarifs-rail--tight { margin-top: 22px; }
.zea-tarifs-rail::-webkit-scrollbar { height: 6px; }
.zea-tarifs-rail::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.04); border-radius: 999px; }
.zea-tarifs-rail::-webkit-scrollbar-thumb { background: var(--gold-24); border-radius: 999px; }
.zea-tarifs-rail::-webkit-scrollbar-thumb:hover { background: var(--gold-40); }

/* ---- Cartes tarifaires ---- */
.zea-tarifs-card {
  flex: 0 0 auto; width: 262px; scroll-snap-align: start;
  display: flex; flex-direction: column;
  border-radius: var(--radius-lg); padding: 30px 26px;
  background: var(--bg-surface); border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm);
  transition: transform 0.24s var(--ease-out), border-color 0.24s;
}
.zea-tarifs-card:hover { transform: translateY(-4px); border-color: var(--gold-40); }
.zea-tarifs-card--preferential { border-color: var(--gold-24); }

.zea-tarifs-card-featured {
  position: relative;
  flex: 0 0 auto; width: 262px; scroll-snap-align: start;
  display: flex; flex-direction: column;
  border-radius: var(--radius-lg); padding: 30px 26px;
  background: var(--grad-surface); border: 1px solid var(--gold-40);
  box-shadow: var(--glow-gold-md);
}
.zea-tarifs-card__badge {
  position: absolute; top: 16px; right: 16px;
  padding: 5px 11px; font-weight: 600; font-size: 9px; letter-spacing: 0.14em;
  text-transform: uppercase; border-radius: var(--radius-pill);
  background: var(--grad-gold); color: var(--text-on-gold);
}
.zea-tarifs-card__name {
  font-family: var(--font-display); font-weight: 600; font-size: 19px;
  text-transform: uppercase; color: var(--text-primary);
}
.zea-tarifs-card__meta { font-size: 13px; color: var(--text-muted); margin-top: 6px; }
.zea-tarifs-card__price { margin-top: 22px; }
.zea-tarifs-card__price--split { display: flex; align-items: flex-end; gap: 6px; margin-top: 22px; }
.zea-tarifs-card__price-value {
  font-family: var(--font-display); font-weight: 700; font-size: 44px; line-height: 1;
  color: var(--zea-gold);
}
.zea-tarifs-card__price-value--sm { font-size: 30px; line-height: 1.35; letter-spacing: 0.04em; }
.zea-tarifs-card__price-unit { font-size: 12px; color: var(--text-muted); margin-bottom: 7px; }
.zea-tarifs-card__unit-price { font-size: 13px; color: var(--text-muted); margin-top: 8px; min-height: 18px; }

/* ---- Boutons de réservation ---- */
.zea-tarifs-btn {
  margin-top: 24px; width: 100%; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-body); font-weight: 600; font-size: 12px;
  letter-spacing: var(--ls-button); text-transform: uppercase;
  border-radius: var(--radius-sm); cursor: pointer; text-decoration: none;
  transition: all 0.24s;
}
.zea-tarifs-btn--outline { border: 1px solid var(--gold-60); background: var(--gold-08); color: var(--zea-gold-light); }
.zea-tarifs-btn--outline:hover { background: var(--zea-gold); color: var(--text-on-gold); transform: translateY(-2px); box-shadow: var(--glow-gold-sm); }
.zea-tarifs-btn--filled {
  border: 1px solid transparent; background: var(--grad-gold); color: var(--text-on-gold);
  box-shadow: var(--glow-gold-cta);
}
.zea-tarifs-btn--filled:hover { box-shadow: 0 16px 44px rgba(200, 170, 127, 0.42); transform: translateY(-1px); }

/* ---- Services sur devis ---- */
.zea-tarifs-devis {
  padding: var(--section-y) 0; background: linear-gradient(180deg, #0a0a0a 0%, #000 100%);
  margin-top: var(--section-y);
}
.zea-tarifs-devis__intro { max-width: 720px; }
.zea-tarifs-devis__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-weight: 600; font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--text-gold);
}
.zea-tarifs-devis__eyebrow-rule { width: 28px; height: 1px; background: var(--zea-gold); }
.zea-tarifs-devis__title {
  font-family: var(--font-display); font-weight: 600; text-transform: uppercase;
  font-size: clamp(1.6rem, 2.8vw, 2.3rem); line-height: 1.1; margin: 16px 0 0;
}
.zea-tarifs-devis__text { font-size: 1rem; line-height: 1.7; color: var(--text-secondary); margin: 18px 0 0; }
.zea-tarifs-devis__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 36px;
}
.zea-tarifs-devis__item {
  padding: 30px 28px; border-radius: var(--radius-lg);
  background: var(--bg-surface); border: 1px solid var(--border-subtle);
  display: flex; flex-direction: column; gap: 14px;
}
.zea-tarifs-devis__icon {
  display: inline-flex; width: 48px; height: 48px; border-radius: 12px;
  background: var(--gold-08); border: 1px solid var(--gold-24);
  align-items: center; justify-content: center; color: var(--zea-gold);
}
.zea-tarifs-devis__item-title {
  font-family: var(--font-display); font-weight: 600; font-size: 18px;
  text-transform: uppercase; color: var(--text-primary);
}
.zea-tarifs-devis__item-text { font-size: 14px; line-height: 1.6; color: var(--text-secondary); margin: 0; flex: 1; }
.zea-tarifs-devis__item-price {
  font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--zea-gold);
}
.zea-tarifs-devis__cta-wrap { margin-top: 32px; }
.zea-tarifs-devis__cta {
  display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 16px 30px;
  font-family: var(--font-body); font-weight: 600; font-size: 13px;
  letter-spacing: var(--ls-button); text-transform: uppercase;
  border-radius: var(--radius-sm); border: 1px solid var(--gold-60); cursor: pointer;
  background: var(--gold-08); color: var(--zea-gold-light); text-decoration: none; transition: all 0.24s;
}
.zea-tarifs-devis__cta:hover { background: var(--zea-gold); color: var(--text-on-gold); border-color: var(--zea-gold); transform: translateY(-2px); box-shadow: var(--glow-gold-sm); }

/* ---- Abonnements bientôt disponibles ---- */
.zea-tarifs-subs { padding: 0 0 var(--section-y); background: var(--bg-base); }
.zea-tarifs-subs__card {
  border-radius: var(--radius-xl); border: 1px solid var(--border-subtle);
  background: var(--grad-surface); padding: clamp(36px, 5vw, 56px);
}
.zea-tarifs-subs__head { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.zea-tarifs-subs__head-text { max-width: 560px; }
.zea-tarifs-subs__badge {
  display: inline-flex; align-items: center; gap: 10px; padding: 6px 14px;
  border-radius: var(--radius-pill); border: 1px solid var(--gold-40); background: var(--gold-08);
  font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--zea-gold);
}
.zea-tarifs-subs__title {
  font-family: var(--font-display); font-weight: 600; text-transform: uppercase;
  font-size: clamp(1.6rem, 2.8vw, 2.3rem); line-height: 1.1; margin: 16px 0 0;
}
.zea-tarifs-subs__text { font-size: 1rem; line-height: 1.7; color: var(--text-secondary); margin: 16px 0 0; }
.zea-tarifs-subs__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-top: 36px;
}
.zea-tarifs-subs__item {
  padding: 28px 26px; border-radius: var(--radius-lg);
  background: var(--bg-elevated); border: 1px solid var(--border-subtle); opacity: 0.92;
}
.zea-tarifs-subs__item-title {
  font-family: var(--font-display); font-weight: 700; font-size: 19px;
  text-transform: uppercase; color: var(--zea-gold);
}
.zea-tarifs-subs__item-text { font-size: 14px; line-height: 1.6; color: var(--text-secondary); margin: 12px 0 0; }
.zea-tarifs-subs__footnote {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 14px; line-height: 1.6; color: var(--text-muted); margin: 28px 0 0;
}
.zea-tarifs-subs__footnote svg { flex-shrink: 0; margin-top: 4px; }

/* ---- Comment réserver (3 étapes) ---- */
.zea-tarifs-steps { padding: 0 0 var(--section-y); background: var(--bg-base); }
.zea-tarifs-steps__card {
  border-radius: var(--radius-xl); border: 1px solid var(--gold-24);
  background: radial-gradient(120% 120% at 85% 10%, #1b1813 0%, #0a0a0a 60%);
  padding: clamp(36px, 5vw, 56px); text-align: center;
}
.zea-tarifs-steps__title {
  font-family: var(--font-display); font-weight: 600; text-transform: uppercase;
  font-size: clamp(1.5rem, 2.6vw, 2.2rem); margin: 0 0 36px;
}
.zea-tarifs-steps__grid {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 24px;
  text-align: left; max-width: 840px; margin: 0 auto;
}
.zea-tarifs-steps__item { flex: 0 1 232px; display: flex; flex-direction: column; gap: 10px; }
.zea-tarifs-steps__num {
  font-family: var(--font-display); font-weight: 700; font-size: 38px; line-height: 1; color: var(--gold-40);
}
.zea-tarifs-steps__item-title {
  font-family: var(--font-display); font-weight: 600; font-size: 16px; text-transform: uppercase; margin: 0;
}
.zea-tarifs-steps__item-text { font-size: 13px; line-height: 1.6; color: var(--text-muted); margin: 0; }
.zea-tarifs-steps__cta-wrap { margin-top: 40px; display: flex; justify-content: center; }
.zea-tarifs-steps__cta {
  display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 18px 34px;
  font-family: var(--font-body); font-weight: 600; font-size: 14px;
  letter-spacing: var(--ls-button); text-transform: uppercase;
  border-radius: var(--radius-sm); border: 1px solid transparent; cursor: pointer;
  background: var(--grad-gold); color: var(--text-on-gold); box-shadow: var(--glow-gold-cta);
  text-decoration: none; transition: box-shadow 0.24s, transform 0.14s;
}
.zea-tarifs-steps__cta:hover { box-shadow: 0 16px 44px rgba(200, 170, 127, 0.42); transform: translateY(-1px); }

/* ---- Zone de réservation WordPress ---- */
.zea-tarifs-reserve { padding: var(--section-y) 0; background: var(--bg-base); scroll-margin-top: 88px; }
.zea-tarifs-reserve__eyebrow {
  display: flex; gap: 12px; align-items: center; justify-content: center;
  font-weight: 600; font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--zea-gold);
}
.zea-tarifs-reserve__eyebrow-rule { width: 32px; height: 1px; background: var(--zea-gold); }
.zea-tarifs-reserve__title {
  font-family: var(--font-display); font-weight: 700; text-transform: uppercase; text-align: center;
  font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; margin: 18px 0 10px;
}
.zea-tarifs-reserve__lead {
  text-align: center; color: var(--text-secondary); max-width: 60ch; margin: 0 auto 40px; line-height: 1.6;
}
.zea-tarifs-reserve__frame {
  max-width: 880px; margin: 0 auto; padding: 14px;
  border-radius: var(--radius-lg); border: 1px solid var(--border-default);
  background: var(--bg-surface);
  transition: box-shadow 0.4s ease;
}
.zea-tarifs-reserve__frame.is-highlighted { box-shadow: 0 0 0 3px var(--gold-40); }
