/*
Theme Name: AMF-UMOA Éducation financière
Theme URI: https://amfumoa-edufin.org
Author: Groupement DEFICOM – SDI INC – GMC GROUP
Description: Thème bloc du portail AMF-UMOA, d'après la maquette navigable v2.7 et la charte graphique V4 (bleu #1A5DA6, bleu clair #1D9DD9, vert #7BBB4F, police Jost).
Version: 0.2.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: edufin-amfumoa
*/

/* theme.json porte les réglages de base. Ici : les composants de la maquette. */
:root { --edufin-rayon: 16px; }
a { text-underline-offset: 0.18em; }
:focus-visible { outline: 3px solid var(--wp--preset--color--bleu-clair); outline-offset: 2px; }
.wp-block-button__link { transition: background-color .15s ease, color .15s ease; }
.wp-block-site-title a { text-decoration: none; }
h1 em, h2 em { font-style: normal; color: var(--wp--preset--color--vert-texte); }
.edufin-pad { padding-left: clamp(16px, 4vw, 32px); padding-right: clamp(16px, 4vw, 32px); }
.edufin-muted { color: var(--wp--preset--color--gris); font-size: .8125rem; }

/* ---------- En-tête ---------- */
.edufin-topbar { font-size: .75rem; }
.edufin-topbar p { margin: 0; }
.edufin-topbar a { color: #fff; text-decoration: none; margin-left: 16px; }
.edufin-topbar a:hover { text-decoration: underline; color: #fff; }
.edufin-header { border-bottom: 3px solid var(--wp--preset--color--bleu); }
.edufin-header .wp-block-navigation { font-weight: 700; font-size: .875rem; }
.edufin-header .wp-block-navigation-item__content { padding: 8px 12px; border-radius: 8px; color: var(--wp--preset--color--bleu); text-decoration: none; }
.edufin-header .wp-block-navigation-item__content:hover,
.edufin-header .current-menu-item > .wp-block-navigation-item__content { background: var(--wp--preset--color--vert-fond); color: var(--wp--preset--color--vert-texte); }
.edufin-header .edufin-nav-formation > .wp-block-navigation-item__content { background: var(--wp--preset--color--bleu); color: #fff; }
.edufin-header .edufin-nav-formation > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--vert-texte); color: #fff; }
.edufin-header .wp-block-search__input { border: 1px solid var(--wp--preset--color--ligne); border-radius: 10px; background: #F0F4F9; padding: 8px 12px; font-size: .8125rem; min-height: 40px; }
.edufin-header .wp-block-search__button { background: none; color: var(--wp--preset--color--bleu); border: 0; }
.edufin-header .wp-block-search { min-width: 0; }
.edufin-header .wp-block-site-logo img { height: 46px; width: auto; }
@media (max-width: 900px) { .edufin-topbar-gauche { display: none; } .edufin-header .wp-block-site-logo img { height: 30px; } .edufin-header .wp-block-search { display: none; } }

/* ---------- Boutons ---------- */
.wp-block-button.is-style-edufin-vert .wp-block-button__link { background: var(--wp--preset--color--vert-texte); color: #fff; }
.wp-block-button.is-style-edufin-vert .wp-block-button__link:hover { background: var(--wp--preset--color--bleu); }
.wp-block-button.is-style-edufin-contour .wp-block-button__link { background: transparent; color: var(--wp--preset--color--bleu); border: 1.5px solid var(--wp--preset--color--bleu); }
.wp-block-button.is-style-edufin-contour .wp-block-button__link:hover { background: var(--wp--preset--color--bleu); color: #fff; }
.edufin-encart-bleu .wp-block-button.is-style-edufin-vert .wp-block-button__link,
.is-style-edufin-encart-bleu .wp-block-button.is-style-edufin-vert .wp-block-button__link { background: var(--wp--preset--color--vert-texte); color: #fff; }

/* ---------- Étiquettes et rubriques ---------- */
p.is-style-edufin-etiquette { font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--vert-texte); margin: 0; }
.is-style-edufin-encart-bleu p.is-style-edufin-etiquette { color: var(--wp--preset--color--vert); }
h2.is-style-edufin-rubrique, h3.is-style-edufin-rubrique { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--vert-texte); margin: 22px 0 6px; }

/* ---------- Cartes ---------- */
.is-style-edufin-carte { background: #fff; border: 1px solid var(--wp--preset--color--ligne); border-radius: var(--edufin-rayon); padding: 20px; }
.is-style-edufin-carte.edufin-couverture { padding: 0; overflow: hidden; }
.is-style-edufin-carte .wp-block-post-featured-image, .edufin-couverture figure { margin: 0; }
.edufin-couverture .wp-block-image img { width: 100%; aspect-ratio: 16/7; object-fit: cover; display: block; }
.edufin-couverture-corps { padding: 18px 20px 20px; }
.is-style-edufin-encart-bleu { background: var(--wp--preset--color--bleu); color: #fff; border-radius: 20px; padding: 26px; }
.is-style-edufin-encart-bleu h1, .is-style-edufin-encart-bleu h2, .is-style-edufin-encart-bleu h3 { color: #fff; }
.is-style-edufin-encart-bleu h2 em { color: var(--wp--preset--color--vert); }
.is-style-edufin-encart-bleu a:not(.wp-block-button__link) { color: #fff; }
.edufin-grille-3 { gap: 20px; }
.edufin-carte-lien { text-decoration: none; display: block; }
.edufin-carte-lien:hover { border-color: var(--wp--preset--color--bleu-clair); }

/* ---------- Accueil ---------- */
.edufin-hero h1 { font-size: clamp(1.9rem, 4vw, 2.625rem); line-height: 1.1; margin: 14px 0 16px; }
.edufin-hero .edufin-serie { font-size: .8125rem; font-weight: 600; color: var(--wp--preset--color--bleu); margin: 0; }
.edufin-chapo { font-size: 1.0625rem; color: #3D4654; max-width: 520px; }
.edufin-garanties { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: .8125rem; color: var(--wp--preset--color--gris); margin-top: 18px; padding: 0; list-style: none; }
.edufin-publics { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 4px; padding: 0; list-style: none; }
.edufin-publics li { font-size: .75rem; font-weight: 700; color: var(--wp--preset--color--bleu); background: #fff; border: 1px solid var(--wp--preset--color--ligne); border-radius: 14px; padding: 5px 11px; }
.edufin-publics li.edufin-lead { background: var(--wp--preset--color--vert-texte); color: #fff; border-color: var(--wp--preset--color--vert-texte); }
.edufin-verifier .wp-block-search__inside-wrapper { background: #fff; border-radius: 10px; padding: 4px; margin: 14px 0; }
.edufin-verifier .wp-block-search__input { border: 0; font-size: .9375rem; padding: 10px 12px; }
.edufin-verifier .wp-block-search__button { background: var(--wp--preset--color--vert-texte); color: #fff; border-radius: 8px; border: 0; font-weight: 700; }
.edufin-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.edufin-kpis > div { background: rgba(255,255,255,.1); border-radius: 10px; padding: 10px 12px; }
.edufin-kpis b { display: block; font-size: 1.375rem; color: var(--wp--preset--color--vert); }
.edufin-kpis span { font-size: .6875rem; opacity: .9; }
.edufin-hero-art { margin: 18px 0 6px; border-radius: 20px; overflow: hidden; border: 1px solid var(--wp--preset--color--ligne); aspect-ratio: 16/5; background: #EAF3FB; }
.edufin-hero-art img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; display: block; }
@media (max-width: 900px) { .edufin-hero-art { aspect-ratio: 16/9; } }
.edufin-titre-section { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 32px 0 14px; flex-wrap: wrap; }
.edufin-titre-section h2 { font-size: 1.5rem; margin: 0; }
.edufin-titre-section a { font-weight: 700; font-size: .875rem; }

/* Tuiles de thèmes */
.edufin-themes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.edufin-themes a { background: #fff; border: 1px solid var(--wp--preset--color--ligne); border-radius: 12px; padding: 12px 8px; text-align: center; font-size: .75rem; font-weight: 700; color: var(--wp--preset--color--bleu); line-height: 1.25; text-decoration: none; display: block; }
.edufin-themes a:hover { border-color: var(--wp--preset--color--bleu-clair); }
.edufin-themes svg { display: block; width: 28px; height: 28px; margin: 0 auto 6px; color: var(--wp--preset--color--bleu-clair); }
.edufin-themes i { display: block; font-style: normal; font-weight: 700; font-size: 1rem; color: var(--wp--preset--color--vert-texte); margin-bottom: 4px; }
.edufin-themes a.edufin-passerelle { background: #F3F6FA; border-style: dashed; }
.edufin-themes a.edufin-passerelle i { color: var(--wp--preset--color--gris); }
@media (max-width: 900px) { .edufin-themes { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 901px) and (max-width: 1100px) { .edufin-themes { grid-template-columns: repeat(3, 1fr); } }

/* Audio (maquette) */
.edufin-audio { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--wp--preset--color--ligne); border-radius: 14px; padding: 12px 14px; }
.edufin-audio .edufin-audio-lecteur { flex: 1; min-width: 0; }
.edufin-audio b { font-size: .8125rem; display: block; }
.edufin-audio span.edufin-muted { display: block; }
.edufin-langue { font-size: .65rem; font-weight: 700; border: 1px solid var(--wp--preset--color--vert); color: var(--wp--preset--color--vert-texte); border-radius: 10px; padding: 1px 8px; margin-left: 6px; }
.edufin-audio audio { width: 100%; height: 36px; margin-top: 6px; }

/* ---------- Fiche pratique ---------- */
.edufin-article { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
@media (max-width: 900px) { .edufin-article { grid-template-columns: 1fr; } }
.edufin-fil { font-size: .75rem; color: var(--wp--preset--color--gris); margin-bottom: 14px; }
.edufin-fil a { color: var(--wp--preset--color--gris); }
.edufin-article h1 { font-size: clamp(1.7rem, 3.5vw, 2.125rem); line-height: 1.15; margin: 8px 0 12px; }
.edufin-article .wp-block-post-content > p { margin: 0 0 14px; }
.edufin-article .wp-block-post-content h3 { font-size: 1.25rem; margin: 22px 0 8px; }
.edufin-article .wp-block-post-featured-image img { border-radius: var(--edufin-rayon); width: 100%; aspect-ratio: 21/8; object-fit: cover; }
.is-style-edufin-reflexe { display: inline-flex; flex-direction: column; gap: 2px; background: var(--wp--preset--color--bleu); color: #fff; border-radius: 12px; padding: 12px 18px; margin: 14px 0; max-width: 100%; }
.is-style-edufin-reflexe p { margin: 0; color: #fff; }
.is-style-edufin-reflexe p:first-child { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--wp--preset--color--vert); }
.is-style-edufin-reflexe p:last-child { font-size: 1.125rem; font-weight: 600; }
.is-style-edufin-mention { margin-top: 26px; padding: 14px 16px; border-top: 2px solid var(--wp--preset--color--ligne); font-size: .8125rem; color: var(--wp--preset--color--gris); }
.is-style-edufin-mention b, .is-style-edufin-mention strong { color: var(--wp--preset--color--bleu); }
.is-style-edufin-mention p { margin: 0; }
.is-style-edufin-personnage { display: flex; gap: 12px; align-items: center; background: #F3F6FA; border-radius: 12px; padding: 10px 14px; font-size: .8125rem; }
.is-style-edufin-personnage p { margin: 0; }
.is-style-edufin-alerte { border-left: 5px solid var(--wp--preset--color--rouge); background: #FFF7F5; border-radius: var(--edufin-rayon); padding: 20px; border-top: 1px solid #F2C4C4; border-right: 1px solid #F2C4C4; border-bottom: 1px solid #F2C4C4; }
.is-style-edufin-alerte h2, .is-style-edufin-alerte h3 { color: var(--wp--preset--color--rouge); }
.is-style-edufin-alerte p.is-style-edufin-etiquette { color: var(--wp--preset--color--rouge); }
.edufin-cote .is-style-edufin-carte { margin-bottom: 16px; }
.edufin-hors-ligne { display: flex; gap: 10px; align-items: center; background: var(--wp--preset--color--vert-fond); border-radius: 10px; padding: 10px 12px; font-size: .78rem; color: #1F4D2E; }
.edufin-hors-ligne p { margin: 0; }
.edufin-infographie { border-radius: 12px; background: var(--wp--preset--color--bleu-pale); padding: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; text-align: center; }
.edufin-infographie > div { background: #fff; border-radius: 10px; padding: 14px 8px; }
.edufin-infographie b { display: block; font-size: 1.625rem; color: var(--wp--preset--color--bleu); }
.edufin-infographie span { font-size: .6875rem; color: var(--wp--preset--color--gris); }

/* ---------- Pied de page ---------- */
.edufin-pied { font-size: .75rem; }
.edufin-pied a { color: #F6F3EC; margin-right: 14px; text-decoration: none; }
.edufin-pied a:hover { text-decoration: underline; color: #fff; }
.edufin-pied p { margin: 0 0 8px; }
.edufin-pied .wp-block-search__inside-wrapper { background: #fff; border-radius: 10px; padding: 3px; max-width: 360px; }
.edufin-pied .wp-block-search__input { border: 0; font-size: .8125rem; }
.edufin-pied .wp-block-search__button { background: var(--wp--preset--color--vert-texte); color: #fff; border: 0; border-radius: 8px; font-weight: 700; font-size: .75rem; }

/* ---------- Pages génériques ---------- */
.edufin-page-titre h1 { font-size: clamp(1.8rem, 3.5vw, 2rem); }
.wp-block-post-content a { text-underline-offset: .18em; }

/* ---------- Corrections après rendu ---------- */
.is-style-edufin-etiquette a, p.is-style-edufin-etiquette a { text-decoration: none; color: inherit; }
.edufin-couverture-corps { display: flex; flex-direction: column; gap: 8px; }
.edufin-couverture-corps > * { margin: 0 !important; }
.edufin-couverture > .wp-block-image, .edufin-couverture > .wp-block-post-featured-image { margin: 0 !important; }
.edufin-couverture > .wp-block-image img { display: block; width: 100%; aspect-ratio: 16/7; object-fit: cover; }
.edufin-header .wp-block-search__inside-wrapper { border: 0 !important; padding: 0 !important; }
.edufin-header .wp-block-search__input { border: 1px solid var(--wp--preset--color--ligne) !important; }
.edufin-header .wp-block-search__button { padding: 0 8px; }
.wp-block-post-template.is-layout-grid > li { margin: 0; }
.wp-block-columns.edufin-hero { margin-bottom: 0; }
.edufin-hero h1.wp-block-heading { margin-top: 14px; }
.wp-block-post-terms.is-style-edufin-etiquette, .wp-block-post-terms.is-style-edufin-etiquette a { font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--vert-texte); text-decoration: none; }
.is-style-edufin-encart-bleu .wp-block-post-terms a { color: var(--wp--preset--color--vert); }
