/*
Theme Name:   Jeunes Médecins Child
Theme URI:    https://jeunesmedecins.fr
Description:  Child theme Kadence — Jeunes Médecins. Contient les rôles custom,
              les Custom Post Types, et les block patterns. Ne pas modifier manuellement
              via l'interface WP (les changements seraient perdus au prochain déploiement).
Author:       Frédéric Bernard — EI Pixlab
Author URI:   https://fredpixlab.com
Template:     kadence
Version:      1.0.1
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  jm-child
*/

/*
 * Ce fichier est volontairement minimal.
 * Tous les styles sont gérés via Kadence Customizer et les block patterns.
 * Importer la config via : Apparence > Kadence > Importer/Exporter > config/kadence-config.json
 */

/* ── DESIGN TOKENS — Palette Jeunes Médecins 2026 ───────────────────────────
   Source : mockups/adhesion-avantages-2026-palette.html
   Typo   : Manrope (Google Fonts) — 400/500/600/700/800
   ──────────────────────────────────────────────────────────────────────────── */
:root {
  
/* ── Palette JM 2026 — Style Stitch/logo ───────────────────────────────── */

  /* Source de vérité : logo-jm.svg + maquette Stitch (mars 2026)           */

  /* Bleus — extraits du logo SVG */
  --jm-blue:        #08598E;   /* Primaire — cercle 4 + texte MÉDECINS */
  --jm-blue-hover:  #064d7a;   /* Hover boutons */
  --jm-blue-text:   #0D7CB1;   /* Texte JEUNES dans le logo */
  --jm-blue-mid:    #1077AD;   /* Cercle 3 (gradient) */
  --jm-blue-bright: #11B1DF;   /* Cercle 2 (gradient) */
  --jm-badge:       #A3DDF1;   /* Cercle 1 clair — badge hero */
  --jm-badge-text:  #064d7a;   /* Texte sur badge clair */
  --jm-blue-pastel: #d1dcf9;   /* Bleu pastel — fond doux / accent secondaire */

  /* Feedback (succès, erreur) */
  --jm-blue-cta:    #003c81;   /* Bleu CTA nuit — sections sombres, boutons */
  --jm-green:       #16a34a;   /* Succès / étape complétée */
  --jm-green-soft:  #e6f7ef;   /* Fond succès (= mint) */
  --jm-red:         #ef4444;   /* Erreur / validation */
  --jm-red-soft:    #fff5f5;   /* Fond erreur */

  /* Neutres */
  --jm-night:       #10294f;   /* Bleu nuit — sections sombres */
  --jm-ink:         #0e1c2f;   /* Texte principal */
  --jm-muted:       #5c6678;   /* Texte secondaire */
  --jm-line:        #dfe5ef;   /* Bordures, séparateurs */
  --jm-bg:          #edf2f8;   /* Fond hero — gris-bleu clair (Stitch) */
  --jm-bg-page:     #f3f4f8;   /* Fond page global */
  --jm-surface:     #ffffff;   /* Cartes, surfaces principales */
  --jm-surface-soft:#fbfcff;   /* Surfaces légères */

  /* Accents */
  --jm-violet: #7358b3;   /* Accent éditorial — blocs / repères secondaires */
  --jm-cyan:  #dff4ff;   /* Bénéfices */
  --jm-mint:  #e6f7ef;   /* Réassurance */
  --jm-sand:  #f8f0de;   /* Services */
  --jm-rose:  #f8e4ea;   /* Réseau / humain */

  /* Rythme des blocs Gutenberg stylés */
  --jm-block-margin-y: clamp(24px, 4vw, 48px);

  /* Rayons */
  --jm-radius-xl: 24px;
  --jm-radius-lg: 16px;
  --jm-radius-md: 12px;
  --jm-radius-sm: 8px;
  --jm-radius-pill: 999px;

  /* Ombres */
  --jm-shadow:    0 8px 32px rgba(8, 89, 142, 0.10);
  --jm-shadow-sm: 0 2px 10px rgba(8, 89, 142, 0.07);
  --jm-shadow-card: 0 4px 24px rgba(14, 28, 47, 0.08);

  /* Gradient hero / fond page */
  --jm-grad-hero:   linear-gradient(155deg, #eaf5ff 0%, #ffffff 42%, #edf3fb 100%);
  /* Gradient CTA nuit */
  --jm-grad-cta:    linear-gradient(135deg, #002d6b 0%, #003c81 60%, #1a5fa8 100%);
  /* Gradient bouton primaire */
  --jm-grad-button: linear-gradient(135deg, #08598E 0%, #1E7EC8 100%);
}

/* ── TYPOGRAPHIE — Force Manrope sur tout le site ───────────────────────────
   Kadence peut générer du CSS inline qui écrase la font-family.
   Ces règles !important garantissent Manrope sur tous les environnements,
   même si le Customizer Kadence est mal configuré ou réinitialisé.
   ──────────────────────────────────────────────────────────────────────────── */
body,
p, li, td, th, label, input, select, textarea, button,
code, kbd, tt, var {
  font-family: 'Manrope', sans-serif !important;
  font-size: 1em;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-title {
  font-family: 'Manrope', sans-serif !important;
}

/* ── Rythme global — écart header > main ──────────────────────────────────
   On fixe ici une respiration plus courte et plus régulière que le défaut
   Kadence pour éviter l'effet "grand trou" sous le menu principal.
   Desktop : 24px · Tablette : 20px · Mobile : 16px
   ----------------------------------------------------------------------- */
.content-area {
  margin-top: 24px !important;
}

body.transparent-header .content-area,
body.mobile-transparent-header .content-area {
  margin-top: 0 !important;
}

@media (max-width: 1024px) {
  .content-area {
    margin-top: 20px !important;
  }

  body.transparent-header .content-area,
  body.mobile-transparent-header .content-area {
    margin-top: 0 !important;
  }
}

@media (max-width: 767px) {
  .content-area {
    margin-top: 16px !important;
  }

  body.transparent-header .content-area,
  body.mobile-transparent-header .content-area {
    margin-top: 0 !important;
  }
}

/* ── Style de bloc Kadence / Gutenberg : Bloc bleu ─────────────────────────
   Usage :
   - Sélectionner un bloc Group, Cover, Columns ou Row Layout Kadence
   - Panneau de droite > Styles > "Bloc bleu"
   - En secours, on peut aussi ajouter la classe "jm-bloc-bleu"
   ------------------------------------------------------------------------ */
.is-style-bloc-bleu:not(.wp-block-kadence-rowlayout),
.jm-bloc-bleu:not(.wp-block-kadence-rowlayout),
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 500px;
  background: #003c81;
  border-radius: 32px;
  box-shadow: 0 20px 60px rgba(0, 60, 129, 0.18);
}

.is-style-bloc-bleu:not(.wp-block-kadence-rowlayout),
.jm-bloc-bleu:not(.wp-block-kadence-rowlayout) {
  padding: clamp(32px, 3vw, 48px);
}

.is-style-bloc-bleu:not(.wp-block-kadence-rowlayout)::after,
.jm-bloc-bleu:not(.wp-block-kadence-rowlayout)::after,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap::after,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap::after {
  content: "";
  position: absolute;
  width: 384px;
  height: 384px;
  right: -80px;
  bottom: -80px;
  background: rgba(136, 195, 255, 0.2);
  filter: blur(50px);
  border-radius: 9999px;
  z-index: 0;
  pointer-events: none;
}

.is-style-bloc-bleu:not(.wp-block-kadence-rowlayout) > *,
.jm-bloc-bleu:not(.wp-block-kadence-rowlayout) > *,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap > *,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap > * {
  position: relative;
  z-index: 1;
}

.is-style-bloc-bleu :where(h1, h2, h3, h4, h5, h6),
.jm-bloc-bleu :where(h1, h2, h3, h4, h5, h6),
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap :where(h1, h2, h3, h4, h5, h6),
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap :where(h1, h2, h3, h4, h5, h6) {
  color: #ffffff !important;
}

.is-style-bloc-bleu :where(p, li),
.jm-bloc-bleu :where(p, li),
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap :where(p, li),
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap :where(p, li) {
  color: rgba(255, 255, 255, 0.9) !important;
}

.is-style-bloc-bleu .jm-bloc-bleu__eyebrow,
.jm-bloc-bleu .jm-bloc-bleu__eyebrow,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap .jm-bloc-bleu__eyebrow,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap .jm-bloc-bleu__eyebrow {
  font-size: 12px;
  line-height: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8) !important;
}

.is-style-bloc-bleu .jm-bloc-bleu__titre,
.jm-bloc-bleu .jm-bloc-bleu__titre,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap .jm-bloc-bleu__titre,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap .jm-bloc-bleu__titre {
  max-width: 512px;
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.25;
  font-weight: 800;
  color: #ffffff !important;
}

.is-style-bloc-bleu .jm-bloc-bleu__texte,
.jm-bloc-bleu .jm-bloc-bleu__texte,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap .jm-bloc-bleu__texte,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap .jm-bloc-bleu__texte {
  align-self: flex-start;
  margin-left: 0 !important;
  padding-left: 0 !important;
  max-width: 560px;
  font-size: clamp(18px, 2vw, 20px);
  line-height: 1.6;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.9) !important;
}

.is-style-bloc-bleu .jm-bloc-bleu__buttons,
.jm-bloc-bleu .jm-bloc-bleu__buttons,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap .jm-bloc-bleu__buttons,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap .jm-bloc-bleu__buttons {
  margin-top: 40px;
}

/* Variante : bloc bleu centré, en colonne unique */
.is-style-bloc-bleu.jm-bloc-bleu--centre:not(.wp-block-kadence-rowlayout),
.jm-bloc-bleu.jm-bloc-bleu--centre:not(.wp-block-kadence-rowlayout),
.wp-block-kadence-rowlayout.is-style-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap,
.wp-block-kadence-rowlayout.jm-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap {
  justify-content: center;
  align-items: center;
  text-align: center;
}

.is-style-bloc-bleu.jm-bloc-bleu--centre .jm-bloc-bleu__eyebrow,
.jm-bloc-bleu.jm-bloc-bleu--centre .jm-bloc-bleu__eyebrow,
.wp-block-kadence-rowlayout.is-style-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap .jm-bloc-bleu__eyebrow,
.wp-block-kadence-rowlayout.jm-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap .jm-bloc-bleu__eyebrow {
  margin-bottom: 20px;
  text-align: center;
}

.is-style-bloc-bleu.jm-bloc-bleu--centre .jm-bloc-bleu__titre,
.jm-bloc-bleu.jm-bloc-bleu--centre .jm-bloc-bleu__titre,
.wp-block-kadence-rowlayout.is-style-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap .jm-bloc-bleu__titre,
.wp-block-kadence-rowlayout.jm-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap .jm-bloc-bleu__titre {
  max-width: 900px;
  margin: 0 auto 24px;
  text-align: center;
}

.is-style-bloc-bleu.jm-bloc-bleu--centre .jm-bloc-bleu__texte,
.jm-bloc-bleu.jm-bloc-bleu--centre .jm-bloc-bleu__texte,
.wp-block-kadence-rowlayout.is-style-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap .jm-bloc-bleu__texte,
.wp-block-kadence-rowlayout.jm-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap .jm-bloc-bleu__texte {
  align-self: center;
  margin: 0 auto;
  max-width: 720px;
  text-align: center;
}

.is-style-bloc-bleu.jm-bloc-bleu--centre .jm-bloc-bleu__buttons,
.jm-bloc-bleu.jm-bloc-bleu--centre .jm-bloc-bleu__buttons,
.wp-block-kadence-rowlayout.is-style-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap .jm-bloc-bleu__buttons,
.wp-block-kadence-rowlayout.jm-bloc-bleu.jm-bloc-bleu--centre > .kt-row-layout-inner-wrap .jm-bloc-bleu__buttons {
  justify-content: center;
  margin-top: 32px;
}

.is-style-bloc-bleu .wp-block-button__link,
.is-style-bloc-bleu .jm-btn,
.jm-bloc-bleu .wp-block-button__link,
.jm-bloc-bleu .jm-btn,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap .wp-block-button__link,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap .jm-btn,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap .wp-block-button__link,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap .jm-btn {
  background: #ffffff !important;
  color: #003c81 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 16px 32px !important;
  box-shadow: none !important;
}

.is-style-bloc-bleu .wp-block-button__link:hover,
.is-style-bloc-bleu .jm-btn:hover,
.jm-bloc-bleu .wp-block-button__link:hover,
.jm-bloc-bleu .jm-btn:hover,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap .wp-block-button__link:hover,
.wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap .jm-btn:hover,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap .wp-block-button__link:hover,
.wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap .jm-btn:hover {
  background: #edf4ff !important;
  color: #003c81 !important;
}

@media (max-width: 767px) {
  .is-style-bloc-bleu:not(.wp-block-kadence-rowlayout),
  .jm-bloc-bleu:not(.wp-block-kadence-rowlayout),
  .wp-block-kadence-rowlayout.is-style-bloc-bleu > .kt-row-layout-inner-wrap,
  .wp-block-kadence-rowlayout.jm-bloc-bleu > .kt-row-layout-inner-wrap {
    min-height: auto;
    border-radius: 24px;
  }
}


/* ── Bouton primaire — solid, style Stitch ──────────────────────────────── */

.wp-block-button__link,
.jm-btn,
.jm-btn--principal {
  background: white !important;
  color: var(--jm-blue) !important;
  border-radius: var(--jm-radius-pill) !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  padding: 14px 28px !important;
  box-shadow: var(--jm-shadow-sm) !important;
  border: 1px solid transparent !important;
  transition: background 0.15s ease, transform 0.15s ease !important;
  text-decoration: none !important;
}
.wp-block-button__link:hover,
.jm-btn:hover {
  background: white !important;
  color: var(--jm-blue) !important;
  transform: translateY(-1px) !important;
}
