/* ══════════════════════════════════
   PAGES SERVICES — ze-coach
   Styles partagés pour les pages :
   coaching-seo, redaction-web-seo,
   optimiser-fiche-google-business, a-propos
   Chargé sur toutes les pages sauf homepage
══════════════════════════════════ */

/* ── Nos grilles spécifiques en grid (priorité sur le flex de base.css) ── */
.ze-coach-page-hero__grid {
  display: grid !important;
}
.ze-coach-two-col {
  display: grid !important;
}

/* ── Reset marges navigateur, espacement contrôlé par nos classes ── */
.ze-coach-page-section p,
.ze-coach-page-section h1,
.ze-coach-page-section h2,
.ze-coach-page-section h3,
.ze-coach-page-section h4,
.ze-coach-page-hero p,
.ze-coach-page-hero h1,
.ze-coach-page-hero h2,
.ze-coach-page-cta p,
.ze-coach-page-cta h2 {
  margin: 0;
}
/* Espacement sous les paragraphes sans classe spécifique */
.ze-coach-page-section p:not([class]) {
  margin-bottom: 1.2rem;
}

/* Paragraphes de description sur les pages */
.ze-coach-page-section .ze-coach-sdesc,
.ze-coach-page-hero .ze-coach-sdesc {
  max-width: 700px;
  margin-bottom: 1.2rem;
}
/* Centrer les sdesc uniquement dans les sections avec text-align:center */
[style*="text-align:center"] .ze-coach-sdesc,
[style*="text-align: center"] .ze-coach-sdesc {
  margin-left: auto;
  margin-right: auto;
}
/* Espacement sous les titres (aligné avec base.css .ze-coach-stitle) */
.ze-coach-page-section .ze-coach-stitle,
.ze-coach-page-hero .ze-coach-stitle {
  margin-bottom: 1rem;
}
.ze-coach-page-section h3 {
  margin-bottom: .8rem;
}
/* Espacement sous les labels */
.ze-coach-page-section .ze-coach-slabel,
.ze-coach-page-hero .ze-coach-slabel {
  margin-bottom: .3rem;
}

/* ── Page Hero (2 colonnes : texte + image) ── */
.ze-coach-page-hero {
  padding: calc(80px + 4rem) 2rem 4rem;
}
.ze-coach-page-hero .ze-coach-stitle {
  font-size: clamp(2rem, 4vw, 2.8rem);
  margin-bottom: 1rem;
}
.ze-coach-page-hero .ze-coach-sdesc {
  max-width: 500px;
  margin-bottom: 2rem;
  font-size: 1.1rem;
}
.ze-coach-page-hero__grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 3rem;
  align-items: center;
}
.ze-coach-page-hero__img {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--ze-shadow-offset);
  aspect-ratio: 4/3;
}
.ze-coach-page-hero__img img,
.ze-coach-page-hero__img figure.wp-block-image,
.ze-coach-page-hero__img figure.wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
}

/* ── Section standard ── */
.ze-coach-page-section {
  padding: 5rem 2rem;
}

/* ── Sections centrées (programme, qualification, tarif) ── */
.ze-coach-programme .ze-coach-si,
.ze-coach-section-center .ze-coach-si {
  text-align: center;
}
.ze-coach-programme .ze-coach-sdesc,
.ze-coach-section-center .ze-coach-sdesc {
  margin-left: auto;
  margin-right: auto;
}

/* ── Two-col (image + texte) ── */
.ze-coach-two-col {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 4rem;
  align-items: center;
}
.ze-coach-two-col--reverse {
  grid-template-columns: 1.2fr .8fr;
}
.ze-coach-two-col__img {
  width: 100%;
  aspect-ratio: 4/5;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--ze-shadow-offset);
  background: var(--ze-lime-bg);
}
.ze-coach-two-col__img img,
.ze-coach-two-col__img figure.wp-block-image,
.ze-coach-two-col__img figure.wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
}

/* ── Steps cards ── */
.ze-coach-page-steps {
  display: flex;
  gap: 1.5rem;
  flex-wrap: nowrap;
}
.ze-coach-page-steps .ze-coach-step {
  flex: 1;
}
/* ── Benefit list (✦ devant chaque item) ── */
.ze-coach-benefit-list {
  list-style: none;
  padding: 0;
  max-width: 600px;
}
.ze-coach-benefit-list li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin: 0 0 1.2rem;
  font-size: .95rem;
}
.ze-coach-benefit-list li::before {
  content: '\2726';
  color: var(--ze-lime);
  font-size: .9rem;
  margin-top: 3px;
  flex-shrink: 0;
}
.ze-coach-section--lime-bg .ze-coach-benefit-list li::before {
  color: var(--ze-navy);
}
/* Centrer les listes dans les sections centrées */
.ze-coach-page-section .ze-coach-benefit-list {
  display: inline-block;
  text-align: left;
  margin-bottom: 1.5rem;
}

/* ── About list (dans section navy) ── */
.ze-coach-page-about-list {
  list-style: none;
  padding: 0;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.ze-coach-page-about-list li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin-bottom: .7rem;
  font-size: .9rem;
  color: rgba(255, 255, 255, .6);
}
.ze-coach-page-about-list li::before {
  content: '\2726';
  color: var(--ze-lime);
  font-size: .8rem;
  margin-top: 2px;
  flex-shrink: 0;
}

/* ── Process numbered (1. 2. 3.) ── */
.ze-coach-process-steps {
  max-width: 600px;
}
.ze-coach-process-step {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  align-items: flex-start;
}
.ze-coach-process-step__num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ze-lime);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ze-font-display);
  font-weight: 800;
  font-size: .9rem;
  color: var(--ze-navy);
  flex-shrink: 0;
}
.ze-coach-process-step p {
  font-size: .95rem;
  line-height: 1.6;
}

/* ── Testimonials carousel (même design que homepage) ── */
.ze-coach-testi__header {
  text-align: center;
  margin-bottom: 3rem;
}
.ze-coach-testi__grid {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 1rem;
  scrollbar-width: none;
}
.ze-coach-testi__grid::-webkit-scrollbar { display: none; }

/* ── Pricing card ── */
.ze-coach-pricing {
  max-width: 550px;
  margin: 2rem auto 0;
  background: var(--ze-white);
  border-radius: 24px;
  padding: 3rem;
  border: var(--ze-border-subtle);
  text-align: center;
  box-shadow: var(--ze-shadow-float);
}
.ze-coach-pricing__price {
  font-family: var(--ze-font-display);
  font-size: 3rem;
  font-weight: 800;
  color: var(--ze-navy);
  margin-bottom: .3rem;
}
.ze-coach-pricing__duration {
  font-size: .9rem;
  color: var(--ze-navy-muted);
  margin-bottom: 2.5rem;
}
.ze-coach-pricing__includes {
  list-style: none;
  padding: 0;
  text-align: left;
  margin-bottom: 2rem;
}
.ze-coach-pricing__includes li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin: 0 0 1.2rem;
  font-size: .9rem;
}
.ze-coach-pricing__includes li::before {
  content: '\2713';
  color: var(--ze-lime);
  font-weight: 700;
  flex-shrink: 0;
}
.ze-coach-pricing .wp-block-buttons {
  margin-bottom: 1.5rem;
}
.ze-coach-pricing__note {
  font-size: .85rem;
  color: var(--ze-navy-muted);
}

/* ── Highlight box (encadré fond blanc + border-left lime) ── */
.ze-coach-highlight {
  background: var(--ze-white);
  border-left: 4px solid var(--ze-lime);
  border-radius: 0 16px 16px 0;
  padding: 1.5rem 2rem;
  font-size: .92rem;
  line-height: 1.7;
}

/* ── Liens sociaux (wp:social-links, page à propos) ── */
.ze-coach-social-links {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: .75rem;
  margin-top: 1.25rem;
  padding: 0;
  list-style: none;
}

.ze-coach-social-links .wp-block-social-link {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: none;
  margin: 0;
}

.ze-coach-social-links .wp-block-social-link-anchor {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ze-offwhite);
  border: 2px solid rgba(27, 27, 58, .08);
  transition: background var(--ze-transition), border-color var(--ze-transition);
  padding: 0;
}

.ze-coach-social-links .wp-block-social-link-anchor:hover {
  background: var(--ze-lime);
  border-color: var(--ze-lime);
}

.ze-coach-social-links .wp-block-social-link-anchor svg {
  width: 18px;
  height: 18px;
  fill: var(--ze-navy);
}

/* ── ze-coach-hb sur fond lime (CTA) ── */
.ze-coach-page-cta .ze-coach-hb {
  background: var(--ze-navy);
  color: var(--ze-lime);
}

/* Section navy overrides pour pages */
.ze-coach-section--navy .ze-coach-slabel { color: var(--ze-lime-soft); }
.ze-coach-section--navy .ze-coach-stitle { color: var(--ze-white); }
.ze-coach-section--navy p { color: rgba(255, 255, 255, .6); }
.ze-coach-section--navy strong { color: rgba(255, 255, 255, .85); }

/* ── Pages légales (CGV, mentions légales) ── */
.ze-coach-legal {
  max-width: var(--ze-container-md);
}
.ze-coach-legal h2 {
  font-family: var(--ze-font-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ze-navy);
  margin: 2.5rem 0 .8rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(27,27,58,.06);
}
.ze-coach-legal h2:first-child { margin-top: 0; border-top: none; padding-top: 0; }
.ze-coach-legal h3 {
  font-family: var(--ze-font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ze-navy);
  margin: 1.5rem 0 .5rem;
}
.ze-coach-legal p {
  font-size: .95rem;
  line-height: 1.75;
  color: var(--ze-navy-light);
  margin-bottom: 1rem;
}
.ze-coach-legal ul {
  list-style: none;
  padding: 0;
  margin: .5rem 0 1rem;
}
.ze-coach-legal ul li {
  padding-left: 1.4rem;
  position: relative;
  font-size: .95rem;
  line-height: 1.75;
  color: var(--ze-navy-light);
  margin-bottom: .4rem;
}
.ze-coach-legal ul li::before {
  content: '–';
  position: absolute;
  left: 0;
  color: var(--ze-navy-muted);
}
.ze-coach-legal a {
  color: var(--ze-navy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── À propos — 3 cartes engagements ── */
.ze-coach-about-vals {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.ze-coach-about-val {
  background: var(--ze-white);
  border-radius: 20px;
  padding: 2rem;
  border: var(--ze-border-subtle);
  box-shadow: var(--ze-shadow-float);
}
.ze-coach-about-val__icon {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.ze-coach-about-val h3 {
  font-family: var(--ze-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ze-navy);
  margin-bottom: .7rem;
}
.ze-coach-about-val p {
  font-size: .92rem;
  color: var(--ze-navy-muted);
  line-height: 1.6;
  margin: 0;
}

/* ── FAQ accordion (wp:details) — pages intérieures ── */
.ze-coach-page-faq {
  max-width: var(--ze-container-sm);
  margin: 0 auto;
}

/* ── Prix mis en valeur ── */
.ze-coach-price-amount {
  font-family: var(--ze-font-display);
  font-size: 3.5rem;
  font-weight: 800;
  color: var(--ze-navy) !important;
  line-height: 1.1;
  margin: .5rem 0 !important;
}

/* ── Contact — espacement bouton/social dans les cartes about-val ── */
.ze-coach-about-val .wp-block-buttons {
  margin-top: 1.25rem;
}

/* ── Portfolio — grille de cartes clients ── */
.ze-coach-portfolio-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem;
  margin-top: 3rem;
}
.ze-coach-portfolio-card {
  background: var(--ze-white);
  border-radius: 20px;
  padding: 2rem;
  border: var(--ze-border-subtle);
  box-shadow: var(--ze-shadow-float);
}
.ze-coach-portfolio-logo {
  height: 64px;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
}
.ze-coach-portfolio-logo figure.wp-block-image,
.ze-coach-portfolio-logo figure.wp-block-image img {
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 0;
}
.ze-coach-portfolio-card .ze-coach-badge {
  margin-bottom: .75rem;
}
.ze-coach-portfolio-card h3 {
  font-size: 1.05rem;
  margin-bottom: .5rem;
}
.ze-coach-portfolio-card p:not(.ze-coach-badge) {
  font-size: .92rem;
  color: var(--ze-navy-muted);
  line-height: 1.6;
  margin: 0;
}

/* ══════════════════════════════════
   RESPONSIVE
══════════════════════════════════ */
@media (max-width: 900px) {
  .ze-coach-page-hero__grid,
  .ze-coach-two-col,
  .ze-coach-two-col--reverse {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .ze-coach-page-hero__img,
  .ze-coach-two-col__img {
    max-width: 300px;
    margin: 0 auto;
  }
  .ze-coach-page-hero .ze-coach-sdesc,
  .ze-coach-sdesc {
    margin-left: auto;
    margin-right: auto;
  }
  .ze-coach-page-steps {
    flex-direction: column;
  }
  .ze-coach-process-steps {
    margin: 0 auto;
  }
  .ze-coach-benefit-list {
    margin: 0 auto;
  }
  .ze-coach-about-vals,
  .ze-coach-portfolio-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .ze-coach-page-section,
  .ze-coach-page-cta {
    padding: 4rem 1.5rem;
  }

  /* Carousel testi mobile */
  .ze-coach-testi__grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
  }
  .ze-coach-testi__grid > .wp-block-column {
    flex-basis: auto !important;
    width: auto;
  }
  .ze-coach-testi__carousel { padding-bottom: 3.5rem; }
  .ze-coach-testi__arrow { top: auto; bottom: 0; transform: none; }
  .ze-coach-testi__arrow--prev { left: calc(50% - 52px); }
  .ze-coach-testi__arrow--next { right: calc(50% - 52px); }

  /* Columns standard en 1 col */
  .wp-block-columns:not(.ze-coach-testi__grid) { flex-wrap: wrap !important; }
  .wp-block-columns:not(.ze-coach-testi__grid) > .wp-block-column { flex-basis: 100% !important; }
}
