/*
 * Refonte 2026 — ajustements de style (maquettes Canva client).
 * Chargé après style.css (voir functions.php).
 */

/* Dégradé en haut de chaque page (remplace les anciennes images décoratives).
   Appliqué sur #page (pleine largeur sur tous les templates, y compris ceux
   qui posent .wrap sur <main>). Les sections avec fond explicite le recouvrent. */
#page {
    background: linear-gradient(180deg, rgba(189, 231, 240, 0.55) 0%, rgba(255, 255, 255, 0) 560px);
}

/* Couleur de texte par défaut : violet du site (maquette), à la place
   du gris #6C6C6C du thème. */
body,
button,
input,
select,
optgroup,
textarea {
    color: #666699;
}

/* Listes : petites puces rondes dans la couleur du texte (maquette),
   à la place des pastilles roses du thème. Les variantes .coche et
   .fleche gardent leur style. */
#primary ul li::before {
    background-color: #666699;
    width: 0.45rem;
    height: 0.45rem;
    top: 0.7rem;
    border-radius: 50%;
}

#primary ul.coche li::before {
    background-color: #A3E2AF;
    width: 1rem;
    height: 1rem;
    top: 0.4rem;
}

#primary ul.fleche li::before {
    background-color: #FFB07C;
    width: 1rem;
    height: 1rem;
    top: 0.4rem;
}

/* Dans les cartes colorées (modules, sessions, accordéons), puces blanches. */
#primary .modules .wp-block-group ul li::before,
#primary .has-blue-background-color ul li::before,
#primary .has-dark-blue-background-color ul li::before,
#primary .couleur-blue ul li::before,
#primary .couleur-dark-blue ul li::before,
#primary .couleur-red ul li::before,
#primary .couleur-yellow ul li::before,
#primary .couleur-grey ul li::before {
    background-color: rgba(255, 255, 255, 0.9);
}

/* Harmonisation des titres : le H1 n'était pas défini dans le thème. */
h1 {
    font-size: 56px;
    font-weight: 700;
    line-height: 1.15;
}

@media screen and (max-width: 1200px) {
    h1 {
        font-size: 44px;
    }
}

@media screen and (max-width: 768px) {
    h1 {
        font-size: 32px;
    }
}

/* Titres dans les bandeaux colorés pleine largeur : plus petits que les
   h2 standard (50px), conformément aux maquettes. */
.entry-content .wp-block-group.alignfull.has-background h2 {
    font-size: 38px;
}

/* Bandeaux-accroches des pages activités (phrase d'accroche) : encore
   plus compacts. */
.entry-content .wp-block-group.alignfull.has-background.bandeau-accroche h2 {
    font-size: 28px;
    line-height: 1.5;
}

@media screen and (max-width: 1200px) {
    .entry-content .wp-block-group.alignfull.has-background h2 {
        font-size: 32px;
    }

    .entry-content .wp-block-group.alignfull.has-background.bandeau-accroche h2 {
        font-size: 24px;
    }
}

@media screen and (max-width: 768px) {
    .entry-content .wp-block-group.alignfull.has-background h2 {
        font-size: 26px;
    }

    .entry-content .wp-block-group.alignfull.has-background.bandeau-accroche h2 {
        font-size: 20px;
    }
}

/* Hero de l'accueil */
.hero-accueil h1 {
    margin-bottom: 0.5rem;
}

.hero-accueil p {
    font-size: 20px;
}

/* Cartes d'activités de l'accueil */
.cartes-activites .wp-block-group {
    position: relative;
    height: 100%;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* Toute la carte est cliquable : le lien du titre est étendu sur la carte. */
.cartes-activites h3 a::after {
    content: "";
    position: absolute;
    inset: 0;
}

/* Pas d'opacité sur les liens (icônes et titres) de ces cartes. */
.cartes-activites a,
.cartes-activites a:hover {
    opacity: 1;
}

.cartes-activites .wp-block-group:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.cartes-activites h3 {
    font-size: 26px;
    margin: 0.5rem 0 0.3rem;
}

.cartes-activites h3 a {
    color: inherit;
}

.cartes-activites p {
    margin-bottom: 0;
}

/* Formulaire d'inscription : un module = une case, avec le sélecteur de
   volée de dates en retrait sous la case (affiché quand elle est cochée). */
.liste-sessions .inscription-atelier {
    margin-bottom: .75rem;
}
.liste-sessions .atelier-dates {
    margin: .4rem 0 0 1.8rem;
}
.liste-sessions .atelier-dates select {
    width: 100%;
    max-width: 420px;
}

/* Sur les pages, plus d'air entre le header et le contenu que le 1.5em
   du thème parent (les articles gardent 1.5em). */
.page .entry-content {
    margin-top: 3rem;
}

/* Les templates qui posent .wrap sur <main> (Pages Activités…) contraignent
   tout le contenu à 1200px : on fait échapper les blocs alignfull pour que
   les bandes colorées occupent toute la largeur de l'écran. */
.site-main.wrap .entry-content > .alignfull,
.site-main.wrap .entry-content .wp-block-group.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Évite la barre de défilement horizontale due au 100vw (largeur scrollbar). */
body {
    overflow-x: clip;
}

/* Page Association : grille 2x2 des valeurs en cercles violets.
   Sur le front, le thème classique ajoute un __inner-container dans le
   groupe : c'est lui qui porte la grille. */
.wp-block-group.valeurs-grid {
    max-width: 420px;
    margin: 1.5rem auto 0;
}

.wp-block-group.valeurs-grid > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    max-width: none;
}

.wp-block-group.valeurs-grid .valeur-cercle {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #666699;
    color: #ffffff;
    font-size: 19px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem;
    margin: 0;
    /* Césure française avec trait d'union (« Responsa-bilisation » comme la
       maquette) plutôt qu'une coupure brute en fin de ligne. */
    overflow-wrap: normal;
    -webkit-hyphens: auto;
    hyphens: auto;
}

/* Slider photos de la section association (accueil) : flèches blanches
   plus grandes, à l'intérieur de l'image, pas de pagination à points.
   Les !important répondent aux couleurs/tailles injectées par Gutenslider. */
.home .wp-block-eedee-block-gutenslider .wp-block-image img {
    width: 100%;
    height: auto;
}

.home .wp-block-eedee-block-gutenslider .eedee-gutenslider-nav,
.home .wp-block-eedee-block-gutenslider .eedee-gutenslider-nav svg {
    width: 48px !important;
    height: 48px !important;
}

.home .wp-block-eedee-block-gutenslider .eedee-gutenslider-nav svg .arrow {
    fill: #ffffff !important;
}

.home .wp-block-eedee-block-gutenslider .eedee-gutenslider-nav svg .bg {
    fill: rgba(0, 0, 0, 0.25) !important;
}

.home .wp-block-eedee-block-gutenslider .eedee-gutenslider-nav.eedee-gutenslider-prev {
    left: 2rem;
}

.home .wp-block-eedee-block-gutenslider .eedee-gutenslider-nav.eedee-gutenslider-next {
    right: 2rem;
}

.home .wp-block-eedee-block-gutenslider .eedee-gutenslider-pagination {
    display: none !important;
}

/* Bande partenaires sur fond blanc : les logos (PNG blancs) sont
   assombris par filtre pour rester lisibles. */
.home .partners img {
    filter: invert(1) opacity(0.75);
}

/* FAQ de l'accueil : cartes claires, titres violets, tiret violet en
   haut à droite (maquette), à la place du +/- du plugin accordéon. */
.wp-block-pb-accordion-item.faq-item {
    background-color: #EFF4F9;
    border-radius: 1rem;
    padding: 1.5rem 2rem;
    margin-bottom: 1.5rem;
}

.wp-block-pb-accordion-item.faq-item > h3 {
    color: #666699;
    font-size: 22px;
    font-weight: 700;
}

/* Fermé : un « + » violet ; ouvert : un tiret violet (haut à droite). */
.faq-item .c-accordion__title:after {
    content: "";
    width: 22px;
    height: 22px;
    background:
        linear-gradient(#666699, #666699) center / 22px 6px no-repeat,
        linear-gradient(#666699, #666699) center / 6px 22px no-repeat;
    top: 0.3rem;
    transform: none;
}

.faq-item.is-open > .c-accordion__title:after {
    content: "";
    background: linear-gradient(#666699, #666699) center / 22px 6px no-repeat;
}

.wp-block-pb-accordion-item.faq-item .c-accordion__content {
    color: #666699;
    opacity: 0.85;
    font-size: 16px;
    margin-top: 0.5rem;
}

/* Blocs fichiers sur bande cyan (page Association) : le thème force un
   gris via #primary, on le repasse en blanc (icône comprise). */
#primary .has-blue-background-color .wp-block-file a:first-of-type {
    color: #ffffff;
    opacity: 1;
}

#primary .has-blue-background-color .wp-block-file .wp-block-file__button::before {
    background-color: rgba(255, 255, 255, 0.4);
}

/* Liens dans le corps de texte (paragraphes et listes) : soulignés,
   couleur du texte — comme la maquette. Les boutons ne sont pas concernés. */
.entry-content p a:not(.wp-block-button__link),
.entry-content .wp-block-list a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Accordéons sur cartes colorées (modules AGAP/ASGAI) : même indicateur
   que la FAQ mais en blanc — tiret ouvert, + fermé. */
.wp-block-pb-accordion-item:not(.faq-item) .c-accordion__title:after {
    content: "";
    width: 22px;
    height: 22px;
    background:
        linear-gradient(#ffffff, #ffffff) center / 22px 6px no-repeat,
        linear-gradient(#ffffff, #ffffff) center / 6px 22px no-repeat;
    top: 0.3rem;
    transform: none;
}

.wp-block-pb-accordion-item:not(.faq-item).is-open > .c-accordion__title:after {
    background: linear-gradient(#ffffff, #ffffff) center / 22px 6px no-repeat;
}

/* Page Ateliers : listes de modules dans les cartes colorées */
.modules .wp-block-group .wp-block-list a {
    color: #ffffff;
    text-decoration: none;
}

.modules .wp-block-group .wp-block-list li::marker {
    color: #ffffff;
}

/* ==========================================================================
   Retours client 19.08.2026 : menus de navigation + socials reviennent à
   l'existant (styles du thème + CSS additionnel Customizer, comme en prod).
   ========================================================================== */

/* Boutons : plus de transparence au repos (le thème met opacity .8 sur
   tous les liens). */
.entry-content a.wp-block-button__link {
    opacity: 1;
}

/* Accueil « Nos prochains ateliers » : cartes opaques (le thème met
   opacity .8 sur tous les liens) + ombre portée pour qu'elles ressortent
   sur le bandeau bleu. */
.block-prochains-ateliers .carte-session,
.block-prochains-ateliers a.carte-session:hover {
    opacity: 1;
}

.block-prochains-ateliers .carte-session {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

/* Titre de section aligné sur la taille du H1 (bandeau ASGAI de la page
   Ateliers : même taille que le titre AGAP au-dessus, sur 2 lignes). */
.entry-content .wp-block-group.alignfull.has-background h2.titre-h1 {
    font-size: 56px;
}

@media screen and (max-width: 1200px) {
    .entry-content .wp-block-group.alignfull.has-background h2.titre-h1 {
        font-size: 44px;
    }
}

@media screen and (max-width: 768px) {
    .entry-content .wp-block-group.alignfull.has-background h2.titre-h1 {
        font-size: 32px;
    }
}

/* Contenu contraint à la largeur standard dans les bandes pleine largeur
   (blocs ASGAI page Ateliers, documents page Association…). */
.entry-content .contenu-limite {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* Bulle entièrement cliquable (Module de base ASGAI, page Ateliers) :
   le lien du paragraphe .lien-bulle est étendu sur toute la bulle. */
.bulle-cliquable {
    position: relative;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.bulle-cliquable:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.bulle-cliquable .lien-bulle {
    margin: 0;
}

.bulle-cliquable .lien-bulle a {
    position: absolute;
    inset: 0;
    font-size: 0;
    opacity: 1;
}

/* Listes sans puces (contenu de la bulle Module de base). */
#primary ul.sans-puces li {
    padding-left: 0;
}

#primary ul.sans-puces li::before {
    content: none;
    display: none;
}

/* Comité (page Qui sommes-nous ?) : bureau à gauche, membres à droite,
   3 personnes par ligne dans chaque colonne, y compris en mobile où les
   deux colonnes s'empilent (le bureau reste au-dessus des membres). */
#primary .comite-colonnes .flexbox {
    max-width: 30rem;
    margin-left: auto;
    margin-right: auto;
}

#primary .comite-colonnes .flexbox > * {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
}

/* Entre 782 et 1000px les deux colonnes côte à côte rétrécissent trop les
   photos : on empile déjà (WordPress n'empile qu'en dessous de 782px). */
@media screen and (max-width: 1000px) {
    #primary .comite-colonnes {
        flex-wrap: wrap !important;
    }

    #primary .comite-colonnes > .wp-block-column {
        flex-basis: 100% !important;
    }
}

/* Ancre « Devenir membre » : dégagée du header fixe. */
#devenir-membre {
    scroll-margin-top: 9rem;
}
