@charset "UTF-8";
/* ===== ACADEVIE Themex — habillage inspiré des thèmes éducation ===== */
:root{
	--acv-nuit:#15263B;
	--acv-vert:#0A8660;
	--acv-vert-vif:#0EB582;
	--acv-vert-pale:#E6F6EF;
	--acv-texte:#2A374C;
	--acv-gris:#5F6B7A;
	--acv-fond:#F5F7FA;
	--acv-bord:#E3E8EF;
	--acv-orange:#ED9700;
	--acv-ombre:0 12px 32px rgba(21,38,59,.08);
	--acv-ombre-forte:0 18px 44px rgba(21,38,59,.16);
	--acv-rayon:10px;
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
p{color:var(--acv-texte)}
.has-accent-3-background-color p,.has-accent-3-background-color li,.has-accent-1-background-color p,.has-nuit-vert-gradient-background p,.has-vert-nuit-gradient-background p{color:inherit}

/* ----- Boutons ----- */
.wp-block-button__link{box-shadow:0 6px 16px rgba(10,134,96,.18);transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(21,38,59,.2)}
.wp-block-button.is-style-outline .wp-block-button__link{border:2px solid currentColor;background:transparent;box-shadow:none}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--acv-vert);border-color:var(--acv-vert);color:#fff}
.wp-block-button.is-style-contour-blanc .wp-block-button__link{border:2px solid #fff;background:transparent;color:#fff;box-shadow:none}
.wp-block-button.is-style-contour-blanc .wp-block-button__link:hover{background:#fff;color:var(--acv-nuit)}
@media (max-width:600px){.wp-block-buttons .wp-block-button{width:100%}.wp-block-buttons .wp-block-button__link{display:block;text-align:center}}

/* ----- Barre supérieure ----- */
.acv-topbar{font-size:.875rem}
.acv-topbar p{margin:0;color:#fff}
.acv-topbar a{color:#fff;text-decoration:none}
.acv-topbar a:hover{color:var(--acv-vert-vif)}
.acv-topbar svg{vertical-align:-2px;margin-right:.4em;color:var(--acv-vert-vif)}
.acv-topbar-item{display:inline-block;margin-right:1.4em}
.acv-topbar .acv-sep{margin:0 .7em;opacity:.5}
@media (max-width:781px){.acv-topbar-compte{display:none}.acv-topbar-item:last-child{margin-right:0}}

/* ----- En-tête collant ----- */
.acv-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--acv-bord);transition:box-shadow .2s ease}
.acv-header.est-colle{box-shadow:0 6px 24px rgba(21,38,59,.1)}
.acv-marque{align-items:center}
.acv-marque .wp-block-site-logo img{border-radius:9px;display:block}
.wp-block-site-title a{font-family:var(--wp--preset--font-family--manrope)!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase;text-decoration:none!important;color:var(--acv-nuit)!important}
.wp-block-site-title a:hover{color:var(--acv-vert)!important}
.acv-header .wp-block-navigation a{text-decoration:none;font-weight:500;padding:.3em 0;position:relative}
.acv-header .wp-block-navigation .wp-block-navigation-item a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--acv-vert);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.acv-header .wp-block-navigation .wp-block-navigation-item:not(.acv-espace) a:hover::after,.acv-header .wp-block-navigation .wp-block-navigation-item.current-menu-item:not(.acv-espace) a::after{transform:scaleX(1)}
.acv-header .wp-block-navigation .current-menu-item>a{color:var(--acv-vert)}
.acv-header .acv-espace>a{background:var(--acv-vert);color:#fff!important;padding:.6em 1.25em;border-radius:5px;font-weight:600;box-shadow:0 6px 16px rgba(10,134,96,.22)}
.acv-header .acv-espace>a:hover{background:var(--acv-nuit)}
.wp-block-navigation__responsive-container.is-menu-open .acv-espace>a{display:inline-block;margin-top:.6em}
.wp-block-navigation__responsive-container-open svg,.wp-block-navigation__responsive-container-close svg{width:28px;height:28px}

/* ----- Bannière des pages intérieures ----- */
.acv-banniere{position:relative;overflow:hidden}
.acv-banniere::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(14,181,130,.35),transparent 45%),radial-gradient(circle at 10% 110%,rgba(255,255,255,.08),transparent 40%);pointer-events:none}
.acv-banniere::after{content:"";position:absolute;right:-6%;bottom:-40%;width:38%;aspect-ratio:1;border:28px solid rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.acv-banniere>*{position:relative}
.acv-banniere .wp-block-post-title{color:#fff;margin:0;font-size:clamp(2rem,4vw,3rem)}
.acv-banniere .wp-block-post-title::after{content:"";display:block;width:64px;height:4px;background:var(--acv-vert-vif);border-radius:2px;margin-top:.5em}

/* ----- Héros d'accueil ----- */
.acv-hero{position:relative;overflow:hidden;padding-bottom:calc(var(--wp--preset--spacing--80) + 40px)!important}
.acv-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(14,181,130,.28),transparent 45%),radial-gradient(circle at 0% 100%,rgba(255,255,255,.07),transparent 40%);pointer-events:none}
.acv-hero::after{content:"";position:absolute;left:-10%;top:-30%;width:46%;aspect-ratio:1;border:36px solid rgba(255,255,255,.05);border-radius:50%;pointer-events:none}
.acv-hero>*{position:relative}
.acv-hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.12;margin:.25em 0 .5em;font-weight:700}
.acv-hero h1 em{font-style:normal;color:var(--acv-vert-vif)}
.acv-hero p{color:rgba(255,255,255,.88)}
.acv-hero .acv-eyebrow{color:var(--acv-vert-vif)}
.acv-hero .wp-block-columns{align-items:center}
.acv-hero-image img{width:100%;height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.25))}
@media (max-width:781px){.acv-hero-image{max-width:420px;margin:0 auto}}

/* ----- Petites étiquettes ----- */
.acv-eyebrow{font-size:.82rem!important;letter-spacing:.14em;font-weight:700;text-transform:uppercase;margin:0 0 .5em;color:var(--acv-vert)}
.acv-centre{text-align:center}
.acv-centre .acv-eyebrow{margin-left:auto;margin-right:auto}
.acv-centre h2{max-width:22em;margin-left:auto;margin-right:auto}
.acv-intro{max-width:40em;color:var(--acv-gris)}
.acv-centre .acv-intro{margin-left:auto;margin-right:auto}
h2+.acv-intro{margin-top:.6em}

/* ----- Cartes ----- */
.acv-carte,.wp-block-group.is-style-carte{background:#fff;border:1px solid var(--acv-bord);border-radius:var(--acv-rayon);padding:2rem 1.75rem;box-shadow:var(--acv-ombre);height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.acv-carte:hover,.wp-block-group.is-style-carte:hover{transform:translateY(-6px);box-shadow:var(--acv-ombre-forte);border-color:rgba(14,181,130,.5)}
.acv-carte h3{margin:.4em 0 .35em;font-size:1.2rem}
.acv-carte p{margin:0;color:var(--acv-gris);font-size:.97rem}
.acv-carte .wp-block-buttons{margin-top:1.2rem}
.acv-icone{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--acv-vert-pale);border-radius:16px;margin:0 0 .6em}
.acv-icone img{width:36px;height:36px;display:block}
.acv-centre .acv-icone{margin-left:auto;margin-right:auto}
.wp-block-columns.acv-cartes .wp-block-column{display:flex}
.wp-block-columns.acv-cartes .wp-block-column>.acv-carte{width:100%}

/* cartes flottantes sous le héros */
.acv-flottantes{margin-top:-90px!important;position:relative;z-index:2}
.acv-flottantes .acv-carte{border-top:4px solid var(--acv-vert-vif)}
@media (max-width:781px){.acv-flottantes{margin-top:-50px!important}.acv-hero{padding-bottom:calc(var(--wp--preset--spacing--70) + 30px)!important}}

/* ----- Section « à propos » ----- */
.acv-apropos .wp-block-columns{align-items:center}
.acv-apropos-image img{width:100%;height:auto}
.acv-cite{border-left:4px solid var(--acv-vert-vif);padding-left:1.1em;color:var(--acv-gris)}
.acv-coches{list-style:none;padding:0;margin:1.2em 0 1.6em}
.acv-coches li{position:relative;padding-left:2em;margin:.55em 0;color:var(--acv-texte)}
.acv-coches li::before{content:"";position:absolute;left:0;top:.2em;width:1.3em;height:1.3em;border-radius:50%;background:var(--acv-vert-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%230A8660' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/60% no-repeat}

/* ----- Boucles de requête (formations, accompagnements) ----- */
.wp-block-query .wp-block-post-template{gap:1.5rem}
.wp-block-query .wp-block-post-template>li{display:flex}
.wp-block-query .wp-block-post-template>li>.wp-block-group{background:#fff;border:1px solid var(--acv-bord);border-radius:var(--acv-rayon);box-shadow:var(--acv-ombre);width:100%;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}
.wp-block-query .wp-block-post-template>li>.wp-block-group::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--acv-vert-vif),var(--acv-vert));margin:calc(-1 * var(--wp--preset--spacing--40,30px)) calc(-1 * var(--wp--preset--spacing--40,30px)) 1.2rem}
.wp-block-query .wp-block-post-template>li>.wp-block-group:hover{transform:translateY(-6px);box-shadow:var(--acv-ombre-forte);border-color:rgba(14,181,130,.5)}
.wp-block-query .wp-block-post-title{font-size:1.2rem;margin:0 0 .5em}
.wp-block-query .wp-block-post-title a{text-decoration:none;color:var(--acv-nuit)}
.wp-block-query .wp-block-post-title a:hover{color:var(--acv-vert)}
.wp-block-query .wp-block-post-excerpt{color:var(--acv-gris);font-size:.97rem;flex:1}
.wp-block-query .wp-block-post-excerpt p{color:inherit;margin:0}
.wp-block-query .wp-block-read-more{display:inline-block;margin-top:1.2rem;border:2px solid var(--acv-vert);color:var(--acv-vert);border-radius:5px;padding:.55em 1.2em;font-weight:600;text-decoration:none;font-size:.95rem;align-self:flex-start;transition:background .18s ease,color .18s ease}
.wp-block-query .wp-block-read-more:hover{background:var(--acv-vert);color:#fff}
.wp-block-query .wp-block-read-more::after{content:" \2192 "}
.acv-offres .wp-block-query{margin-top:1.5rem}

/* ----- Fond de sections ----- */
.acv-section{padding-top:var(--wp--preset--spacing--70);padding-bottom:var(--wp--preset--spacing--70)}
.acv-vague{position:relative}
.acv-vague::before{content:"";position:absolute;left:0;right:0;top:0;height:60px;background:radial-gradient(ellipse at 50% -40px,#fff 0,#fff 60%,transparent 60.5%)}

/* ----- Bandeau CTA ----- */
.acv-cta{position:relative;overflow:hidden}
.acv-cta::before{content:"";position:absolute;right:-5%;top:-60%;width:40%;aspect-ratio:1;border:30px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.acv-cta>*{position:relative}
.acv-cta h2{color:#fff}
.acv-cta-cartes .wp-block-column{display:flex}
.acv-cta-carte{width:100%;background:#fff;border:1px solid rgba(14,181,130,.45);border-radius:var(--acv-rayon);padding:1.75rem;box-shadow:var(--acv-ombre);display:flex;gap:1.5rem;align-items:center}
.acv-cta-carte img{width:120px;height:120px;flex:none}
.acv-cta-carte h3{margin:.2em 0 .4em}
.acv-cta-carte p{color:var(--acv-gris);margin:0 0 1em}
.acv-cta-carte .wp-block-buttons{margin:0}
@media (max-width:600px){.acv-cta-carte{flex-direction:column;align-items:flex-start}}

/* ----- Pied de page ----- */
.acv-footer{position:relative}
.acv-footer p,.acv-footer li{color:rgba(255,255,255,.82)}
.acv-footer a{color:#fff;text-decoration:none}
.acv-footer a:hover{color:var(--acv-vert-vif)}
.acv-footer ul{list-style:none;padding-left:0;margin:0}
.acv-footer li{margin:.45em 0;padding-left:1.1em;position:relative}
.acv-footer li::before{content:"\203A ";position:absolute;left:0;color:var(--acv-vert-vif)}
.acv-footer .wp-block-site-title a{color:#fff!important}
.acv-footer .wp-block-site-title a:hover{color:var(--acv-vert-vif)!important}
.acv-footer-titre{color:#fff;font-size:1.05rem;margin:.3em 0 1em;padding-bottom:.6em;position:relative}
.acv-footer-titre::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:var(--acv-vert-vif);border-radius:2px}
.acv-footer-contact svg{vertical-align:-3px;margin-right:.5em;color:var(--acv-vert-vif)}
.acv-footer-contact{line-height:1.9}
.acv-footer-colonnes{margin-bottom:var(--wp--preset--spacing--60)}
.acv-footer .acv-btn-footer .wp-block-button__link{box-shadow:none;font-weight:700}
.acv-footer .acv-btn-footer .wp-block-button__link:hover{background:#fff!important;color:var(--acv-nuit)!important}
.acv-footer-bas{background:rgba(0,0,0,.25);border-top:1px solid rgba(255,255,255,.08)}
.acv-footer-bas p{margin:0;font-size:.85rem;color:rgba(255,255,255,.7)}
.acv-footer-bas a{text-decoration:underline;text-underline-offset:3px}
.wp-site-blocks>footer{margin-top:0}
.wp-site-blocks>main{margin-bottom:0}

/* ----- Revenir en haut ----- */
.acv-haut{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:8px;background:var(--acv-vert-vif);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(14,181,130,.4);opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease;z-index:60}
.acv-haut.est-visible{opacity:1;visibility:visible;transform:none}
.acv-haut:hover{background:var(--acv-nuit)}

/* ----- Contenu des pages ----- */
main .wp-block-post-content>h2{margin-top:1.8em}
main .wp-block-post-content>h2:first-child{margin-top:0}
.wp-block-details{border:1px solid var(--acv-bord);border-radius:var(--acv-rayon);background:#fff;padding:1em 1.3em;margin:.7em 0;box-shadow:var(--acv-ombre)}
.wp-block-details summary{font-weight:600;cursor:pointer;color:var(--acv-nuit)}
.wp-block-details[open] summary{color:var(--acv-vert);margin-bottom:.5em}
.wp-block-table.acv-fiche th{color:var(--acv-nuit)}
.wp-block-table.acv-fiche tr:first-child th,.wp-block-table.acv-fiche tr:first-child td{border-top:2px solid var(--acv-vert)}
.wp-block-shortcode{margin-top:1em}
a:focus-visible,button:focus-visible{outline:3px solid var(--acv-vert-vif);outline-offset:2px}

/* ----- Tutor LMS ----- */
.tutor-course-card,.tutor-card{border-radius:var(--acv-rayon)!important;border:1px solid var(--acv-bord)!important;box-shadow:var(--acv-ombre)!important;transition:transform .2s ease,box-shadow .2s ease}
.tutor-course-card:hover{transform:translateY(-6px);box-shadow:var(--acv-ombre-forte)!important}
.tutor-course-name a{color:var(--acv-nuit)}
.tutor-btn-primary,.tutor-btn.tutor-btn-primary{background:var(--acv-vert)!important;border-color:var(--acv-vert)!important;border-radius:5px!important}
.tutor-btn-primary:hover{background:var(--acv-nuit)!important;border-color:var(--acv-nuit)!important}
.tutor-btn-outline-primary{border-color:var(--acv-vert)!important;color:var(--acv-vert)!important;border-radius:5px!important}
.tutor-course-archive-filters-wrapper,.tutor-course-filter-container{border-radius:var(--acv-rayon)}
/* leçons : un tableau large défile dans son cadre au lieu d'élargir la page (sinon « Suivant » et le sommaire sortent de l'écran sur mobile) */
.tutor-learning-page .wp-block-table,.tutor-learning-page :has(> table){max-width:100%;overflow-x:auto}

/* ----- compléments ----- */
.acv-icone figure,.acv-cta-carte figure{margin:0}
.acv-flottantes .wp-block-columns{gap:1.5rem}
.acv-hero .acv-eyebrow{color:#7FE3C3}
.acv-apropos h2{margin-top:.2em}

/* ----- navigation : pas de retour à la ligne, menu replié sous 1100px ----- */
.acv-header .wp-block-navigation .wp-block-navigation-item__label,.acv-header .wp-block-navigation-item__content{white-space:nowrap}
.acv-header .wp-block-navigation{flex-shrink:0}
@media (max-width:1100px){
	.acv-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
	.acv-header .wp-block-navigation__responsive-container-open{display:flex}
	.acv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:1rem}
	.acv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1.15rem;padding:.4em 0}
	.acv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a::after{display:none}
}
.acv-header .wp-block-navigation__responsive-container-open{color:var(--acv-nuit)}

/* ----- petits écrans ----- */
@media (max-width:480px){
	.acv-hero h1{font-size:1.9rem}
	.acv-eyebrow{font-size:.72rem!important;letter-spacing:.1em}
	.acv-banniere .wp-block-post-title{font-size:1.7rem}
	.acv-topbar-item{display:block;margin:0}
}
