/*
Theme Name: Parcours Formation
Template: csssh
Theme URI: https://parcoursformation.com/
Author: Vertisoft
Author URI: https://vertisoftpme.com/
Version: 1.0.4
Text Domain: parcoursformation
*/

:root {
	--primary: #4D5761 !important; /* Gris foncé principal Parcours Formation */
	--secondary: #98A1AB !important; /* Gris plus pâle */
    --third: #f5f6f7 !important; /* Gris très pâle */
	--accent: #C42229 !important; /* Rouge */
	--info: #C42229; /* contredire styles CSSSH */
    --vertpale: #98A1AB !important; /* contredire styles CSSSH */
	--rose-champagne: #e0e0e0 !important; /* contredire styles CSSSH */
	--abricot: #e0e0e0; /* contredire styles CSSSH */
    --border-radius: 1.5rem; /* 30px mobile/tablette */
	/* Titres fluides : min (petit écran), préféré (vw + rem), max (grand écran) */
	--fs-h1: clamp(2rem, 1rem + 3.5vw, 5rem);
	--fs-h2: clamp(1.625rem, 0.85rem + 2.65vw, 4rem);
	--fs-h2-liste: clamp(1.375rem, 0.7rem + 2.1vw, 3.25rem);
	--fs-h3: clamp(1.125rem, 0.6rem + 1.5vw, 3rem);
	--fs-h4: clamp(0.9rem, 0.55rem + 1.1vw, 2.25rem);
	--fs-h5: clamp(0.875rem, 0.45rem + 1.05vw, 1.875rem);
}

/* Couleurs de texte */
.primary { color: var(--primary); }
.secondary { color: var(--secondary); }
.third { color: var(--third); }
.accent { color: var(--accent); }
.vertpale { color: var(--vertpale); }

/* Couleurs de fond */
.bg-primary { background-color: var(--primary); }
.bg-secondary { background-color: var(--secondary); }
.bg-third { background-color: var(--third); }
.bg-accent { background-color: var(--accent); }
.bg-vertpale { background-color: var(--vertpale); }

@media (min-width: 62rem) { /* 992px+ */
    :root {
        --border-radius: 3.75rem; /* 60px desktop */
    }
}

/* transitions */
.header-navbar .sous-menu a.lien-sous-menu { transition: opacity ease-in-out 0.15s; }

/* boutons style pills */
.btn-small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.375rem;
    padding: 0.75rem 1.25rem;
    border: 1.71px solid var(--blanc);
    border-radius: 35px;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    color: var(--blanc);
    background: transparent;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

a.btn-small:hover,
a.btn-small:focus-visible {
    color: var(--accent);
    background: var(--blanc);
    border-color: var(--blanc);
    opacity: 1;
}

/* Header */
body { color: var(--primary) !important; }
.piv { border: none !important; display: flex; align-items: center; }
.piv .logo_parcoursformation img { width: 14rem; min-width: 120px; max-width: 14rem; height: auto; object-fit: contain; display: block; }
.piv .identite { margin: 0; display: flex; align-items: center; }
.piv a { font: 16px "bilo", sans-serif; font-weight: 400; }
.header-navbar { background: var(--grispale) !important; }
.entete {
    position: relative;
    padding-right: 0 !important;
    background: var(--blanc);
}
.entete .img-wrapper {
    position: relative;
    width: 100%;
    margin: 0;
    background: transparent;
    padding-bottom: 27%;
}
.entete .img-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: var(--grispale);
    pointer-events: none;
    z-index: 0;
}

@media (max-width: 61.938rem) { /* 991px */
    .entete .img-wrapper::before {
        display: none !important;
    }
}

.entete .fit,
.entete .img-wrapper img {
    display: block;
    width: 100%;
    position: relative;
    z-index: 1;
}
.entete .fit {
    border-radius: var(--border-radius);
    overflow: hidden;
    transform: translateZ(0);
    background: var(--blanc);
}
.entete .fit::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url("/wp-content/themes/parcoursformation/assets/grande_fleche.svg");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 100%;
    opacity: 1;
    pointer-events: none;
    z-index: 2;
}

.entete .img-wrapper img {
    height: auto;
    border-radius: var(--border-radius);
}
.header-sec-nav ul.social {
	margin-top: 0.25rem !important;
}
.header-sec-nav ul.social li:last-child {
	margin-right: 0 !important;
	padding-right: 0 !important;
}
.icon_youtube {
	display: inline-block;
	width: 1em;
	height: 0.97em;
	vertical-align: top;
    margin-top: 0;
	position: relative;
	color: inherit;
	background-color: var(--primary);
	border-radius: 0.14em;
	font-family: initial !important;
	transition: color ease-in-out 0.15s, background-color ease-in-out 0.15s, border-color ease-in-out 0.15s;
}
.icon_youtube:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0.66em;
	height: 0.46em;
	background: var(--blanc);
	border-radius: 0.12em;
	transform: translate(-50%, -50%);
}
.icon_youtube:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-45%, -50%);
	width: 0;
	height: 0;
	border-top: 0.11em solid transparent;
	border-bottom: 0.11em solid transparent;
	border-left: 0.18em solid var(--primary);
	transition: color ease-in-out 0.15s, background-color ease-in-out 0.15s, border-color ease-in-out 0.15s;
}
.icon_youtube.blanc {
	background-color: var(--blanc);
}
.icon_youtube.blanc:before {
	background: var(--primary);
}
.icon_youtube.blanc:after {
	border-left: 0.18em solid var(--blanc);
}

@media (max-width: 61.938rem) { /* 991px */
    #header-navbar .icon_youtube.primary {
        background-color: var(--blanc);
        margin-top: -1px;
    }
    #header-navbar .icon_youtube.primary:before {
        background: var(--primary);
    }
    #header-navbar .icon_youtube.primary:after {
        border-left: 0.18em solid var(--blanc);
    }
}


/* Navigation */
ul#menu-principal > li { flex: 0 0 auto; width: auto; }
.header-navbar a, .modal a, nav#menu label { color: var(--primary) !important; }
ul#menu-principal > li > a:before { border-left: 2px solid var(--primary) !important; }

ul#menu-principal > li.current-menu-item > a, ul#menu-principal > li.current-menu-parent > a, 
ul#menu-principal > li.current-menu-ancestor > a, body.single-formation ul#menu-principal > li.formations > a, 
body.tax-categorie-formation ul#menu-principal > li.formations > a, 
ul#menu-secondaire > li.current-menu-item > a, ul#menu-secondaire > li.current-menu-parent > a, 
ul#menu-secondaire > li.current-menu-ancestor > a { color: var(--accent) !important; }

@media (min-width: 62rem) { /* 992px */
    .header-navbar .sous-menu > ul li a {
        padding: 0.5rem 0;
    }
}

@media (max-width: 61.938rem) { /* 991px */
    ul#menu-principal > li.current-menu-item > a, ul#menu-principal > li.current-menu-parent > a, 
ul#menu-principal > li.current-menu-ancestor > a, body.single-formation ul#menu-principal > li.formations > a, 
body.tax-categorie-formation ul#menu-principal > li.formations > a, 
ul#menu-secondaire > li.current-menu-item > a, ul#menu-secondaire > li.current-menu-parent > a, 
ul#menu-secondaire > li.current-menu-ancestor > a { color: var(--secondary) !important; }
}

#menu-secondaire li a { font-weight: 400 !important; }
#menu-secondaire li:not(:last-child) { position: relative; margin-right: 0.5rem; padding-right: 0.5rem; }
#menu-secondaire li:not(:last-child) > a:before {
    content: "";
    position: absolute;
    width: 0;
    right: 0;
    top: calc(50% - 0.5rem);
    height: 1.375rem;
    border-left: 1px solid var(--primary);
}

.header-navbar .sous-menu a, nav#menu .sous-menu label { color: var(--blanc) !important; }

.header-navbar a:hover, .header-navbar .sous-menu a:hover, .modal a:hover, nav#menu label:hover, .header-sec-nav li a:hover { color: var(--accent) !important; }
.header-navbar .sous-menu a.lien-sous-menu:hover { color: var(--blanc) !important; opacity: 0.7; }
.header-sec-nav li a:hover .icon_youtube {
	background-color: var(--accent) !important;
	color: var(--accent) !important;
}
.header-sec-nav li a:hover .icon_youtube:after {
	border-left-color: var(--accent) !important;
}

.header-sec-nav ul#menu-secondaire > li.inscription { display: inline-block; padding-left: 1rem; }
.header-sec-nav ul#menu-secondaire > li.inscription a { background: var(--primary); color: var(--blanc) !important; border-radius: 2rem; padding: 0.1rem 1.25rem 0.3rem; margin-left: 0; display: inline-block; }
.header-sec-nav ul#menu-secondaire > li.inscription a:hover { background: var(--accent); }

/* Contenu */
body #contenu {
	padding-bottom: 6rem;
}

@media (max-width: 61.938rem) { /* 991px */
    body #contenu {
        padding-bottom: 3rem;
    }
}
h1, .h1 { 
    color: var(--primary) !important;
    font-size: var(--fs-h1);
    margin-top: 3.75rem;
	margin-bottom: 1rem;
	line-height: 1.1;
}
h2, .h2 {
    font-size: var(--fs-h2);
	color: var(--accent);
    line-height: 1.1;
    margin: 2rem 0 1rem;
}
@media (min-width: 75rem) { /* 1200px */
	h2, .h2 {
		margin: 4rem 0 1rem;
	}
}

h3, .h3 {
    font-size: var(--fs-h3);
    line-height: 1.2;
    margin: 2.5rem 0 1rem;
}

.equipe h3, .equipe .h3 {
    margin-top: 0;
}

h4, .h4 {
    font-size: var(--fs-h4);
    line-height: 1.3;
    margin: 2.5rem 0 1rem;
}

h5, .h5 {
    font-size: var(--fs-h5);
    line-height: 1.3;
    margin: 2.5rem 0 1rem;
}

h6, .h6 {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: normal;
}
body h2.liste-group-title {
    font-size: var(--fs-h2-liste);
}
@media (max-width: 47.938rem) { /* 767px/16 - MD */
    h1, .h1 {
        margin-top: 2.5rem;
		margin-bottom: 1rem;
    }
	body #contenu {
        padding-bottom: 2rem;
    }
}

strong { font-weight: 700; }

.row.large, .vc_row.large, .vc_column_container.large, .vc_column-inner.large {
    padding-left: 12rem;
    padding-right: 12rem;  
}

.row.large > .vc_column_container > .vc_column-inner, .vc_row.large > .vc_column_container > .vc_column-inner, .container-fluid.large > .row > .vc_column_container > .vc_column-inner {
    padding-left: 25px;
    padding-right: 25px;
}

@media (max-width: 74.938rem) { /* 1199px/16 - XL- */
    .row.large, .vc_row.large, .vc_column_container.large, .vc_column-inner.large {
        padding-left: 4rem;
        padding-right: 4rem;
    }
}

@media (max-width: 47.938rem) { /* 767px/16 - MD */
    .row.large, .vc_row.large, .vc_column_container.large, .vc_column-inner.large, .large .vc_column-inner {
        padding-left: 0;
        padding-right: 0;
        padding-top: 0 !important;
    }
}

/* Cible toute rangée qui contient plus d'une colonne dans wpbakery pour augmenter le padding intérieur, en conservant le 15px extérieur */
.sandbox .vc_row:not(:has(> .vc_column_container:only-child)) {
    margin-left: -30px;
    margin-right: -30px;
}
/* Ajuste le padding des colonnes internes */
.sandbox .vc_row:not(:has(> .vc_column_container:only-child)) > .vc_column_container > .vc_column-inner {
    padding-left: 30px;
    padding-right: 30px;
}

@media (max-width: 47.938rem) { /* 767px/16 - MD */
    .vc_row:has(> .vc_column_container:nth-child(2):last-child) > .vc_column_container:nth-child(2), .vc_row > .vc_column_container:nth-child(n+2) {
        margin-top: 1rem;
    }
}

.modal-info-alertes h2.h1.accent {
    color: var(--accent) !important;
}

.sandbox .wpb_single_image .vc_figure-caption {
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    margin-top: 0;
    padding: 1rem 1.5rem;
    background-color: transparent !important;
}

.social .vc_icon_element {
    display: inline-block !important;
}

.social .vc_icon_element.vc_icon_element-outer .vc_icon_element-inner {
    text-align: left;
    display: inline-block;
    border: 0 !important;
    width: 3.5em;
    height: 3.5em;
}

/* =============================================
   Vidéo YouTube dans éditeur WPBakery
   ============================================= */
   .video-wrapper, .wpb_video_widget {
	max-width: 1200px;
	margin: 0 auto;
}

.sandbox .vc_color-info.vc_message_box {
    border-color: var(--grispale);
    background: var(--grispale);
}

.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab.vc_active>a, .sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab>a:hover, .sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-title>a, .sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title>a:hover, .sandbox .vc_general.vc_cta3.vc_cta3-style-classic, .sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body, .sandbox .vc_tta-color-grey.vc_tta-style-classic.vc_tta-tabs .vc_tta-panels {
    border-color: var(--grispale);
    background: var(--grispale);
}

/* CookieYes */
body .cky-notice button.cky-btn, body .cky-modal button.cky-btn { border-width: 2px !important; display: inline-block !important; border-radius: 0 !important; color:#0079bd !important; border-color: #0079bd !important; }
body button.cky-btn:hover, body button.cky-btn:active, body button.cky-btn:focus { color:#FFFFFF !important; background: #abb8c3 !important; border-color: #abb8c3 !important; border-width: 2px !important; }
body button.cky-show-desc-btn:not(:hover):not(:active) { color: #0079bd !important; background: transparent !important; }
body button.cky-show-desc-btn:hover, body button.cky-show-desc-btn:active, body button.cky-show-desc-btn:focus { color: #abb8c3 !important; background: transparent !important; }
body .cky-audit-table .cky-cookie-des-table, body .cky-audit-table .cky-cookie-des-table p { font-size: 12px !important; line-height: 20px !important; }
body .video-placeholder-text-youtube { font-size: 16px !important; line-height: 23px !important; }
body .cky-notice, body .cky-preference-content-wrapper, body .cky-gpc-wrapper .cky-gpc-desc, body .cky-accordion-header-des, body .cky-audit-table .cky-cookie-des-table, body .cky-consent-bar .cky-notice-des p, 
body .cky-accordion-header-wrapper .cky-accordion-header-des p, .cky-preference-body-wrapper .cky-preference-content-wrapper p { line-height: 20px !important; }
body .cky-notice .cky-title { display:none !important; }
body .cky-consent-bar .cky-banner-btn-close { right: 10px !important; top: 7px !important; }
body .cky-notice, body .cky-modal { font-family: Arial,Helvetica,sans-serif !important; }

body .cky-notice button.cky-btn.cky-btn-accept, body .cky-modal button.cky-btn.cky-btn-accept { color:#FFFFFF !important; background-color: #0079bd !important; }
body button.cky-btn.cky-btn-accept:hover, body button.cky-btn.cky-btn-accept:active, body button.cky-btn.cky-btn-accept:focus { background: #abb8c3 !important; border-color: #abb8c3 !important; }
body .cky-notice-des a.cky-policy, body .cky-notice-des button.cky-policy, body .cky-dma-content-wrapper a.cky-policy, body .cky-dma-content-wrapper button.cky-policy { color: #0079bd !important; }
body .cky-notice-des a.cky-policy:hover, body .cky-notice-des button.cky-policy:hover, body .cky-dma-content-wrapper a.cky-policy:hover, body .cky-dma-content-wrapper button.cky-policy:hover { color: #abb8c3 !important; }

/* videos youtube ouvrant dans fenêtre modal sans cookies */
.modal-toggle-video.cky-banner-element .icon-play_video:before { 
    background-image:none !important;
	width:365px;
    max-width:100%;
	height:inherit;
	margin: 0 auto; 
	display: block;
    border: none;
    background: var(--noir);
    border: 1px solid var(--noir);
	content: "Veuillez accepter les cookies pour voir ce contenu";
    font: 16px "bilo", sans-serif;
    line-height:23px;
    text-align: center;
    padding: 10px 16px;
    color: var(--blanc);
    border-radius: 2px;
    cursor: pointer;
}
.modal-toggle-video.cky-banner-element .icon-play_video:hover:before { 
    color: var(--blanc);
	background: var(--noir);
}

/* Plan du site */
#sitemap { max-width: 51rem !important; }

ul.sitemap-formations-list {
	margin-bottom: 0 !important;
}

#sitemap ul ul.children {
	margin-left: 0 !important;
	margin-bottom: 0 !important;
}


/* -----------------------------------------
Liste des formations (template)
----------------------------------------- */
.grid {
    display: grid;
    gap: 20px;
}
.grid-auto-3 { grid-template-columns: 1fr; }

@media (min-width: 576px) {
	.grid-auto-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 992px) {
	.grid-auto-3 { grid-template-columns: repeat(3, 1fr); }
}
body .btn, body button {
    font-weight: 700;
}
.btn, body .sandbox .vc_general.btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	max-width: 100%;
	border: 1.71px solid var(--primary) !important;
	border-radius: var(--border-radius) !important;
	padding: 0.75rem 2.75rem !important;
	background: var(--blanc);
	color: var(--primary);
	font-size: 1.25rem;
	line-height: 1;
	text-decoration: none !important;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.btn:hover,
.btn:focus-visible, 
body .sandbox .vc_general.btn:hover, body .sandbox .vc_general.btn:focus-visible {
	background: var(--accent);
	color: var(--blanc);
	border-color: var(--accent) !important;
	outline: none;
}

.btn-icon {
	flex-shrink: 0;
	font-size: 1rem;
	line-height: 1;
}

.btn-label {
	text-align: left;
}

.btn i.icon-fleche_menu_gauche {
    transform: rotate(0deg) !important;
	padding-right: 0 !important;
}

.icon-fleche_menu_droite:before, .vc_cta3-container .vc_general.btn:after {
    content: "\e904";
}

.header-nav .icon-fleche_menu_droite:before {
    content: "\e903" !important;
}

.btn i.icon-fleche_menu_droite, .gform_wrapper .gform_button i.icon-fleche_menu_droite, .vc_cta3-container .vc_general.btn:after {
	display: inline-block;
    font-family: 'icomoon' !important;
	transform: rotate(180deg) !important;
	padding-left: 0 !important;
}

@media (max-width: 61.938rem) { /* 991px */
    .btn, button, .vc_cta3-container .vc_do_cta3 .vc_general.btn, body .sandbox .vc_general.btn {
        padding: 1.25rem 2.25rem;
        font-size: 1rem;
		min-height: 60px;
    }
}

@media (max-width: 35.938rem) { /* 575px */
    .btn, button, .vc_cta3-container .vc_do_cta3 .vc_general.btn, body .sandbox .vc_general.btn  {
        padding: 0.8rem 1.5rem;
        font-size: 0.813rem;
		line-height: 1;
		min-height: 50px;
    }
}

.liste {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

.liste-top {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	position: relative;
	z-index: 3;
	pointer-events: none;
	margin-bottom: 2rem;
}

@media (max-width: 61.938rem) { /* 991px */
	.liste {
		margin-top: 1.5rem;
		margin-bottom: 1.5rem;
	}

	.liste-top {
		margin-bottom: 0;
	}
}



.liste-filter-wrap,
.ui-filter-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: 100%;
	pointer-events: none;
}

.liste-filter-selects {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	width: 100%;
	min-width: 0;
	pointer-events: auto;
}

.liste-filter-search {
	position: relative;
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	pointer-events: auto;
}

.liste-filter-search-input {
	position: relative;
	flex: 1;
	min-width: 0;
	height: 75px;
	padding: 0 67px 0 20px;
	border: 1px solid var(--primary);
	border-radius: 0;
	background-color: var(--third);
	color: var(--primary);
	font-family: inherit;
	font-size: 18px;
	line-height: 1;
	font-weight: 600;
	text-transform: uppercase;
}

.liste-filter-search-input::placeholder {
	color: var(--primary);
	opacity: 1;
	text-transform: uppercase;
}

.liste-filter-search-input:focus, .liste-filter-search-input:focus-visible {
	border: 1px solid var(--accent);
	outline: none;
}

.liste-filter-search-submit {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	min-width: 30px;
	max-width: 30px;
	height: 30px;
	min-height: 30px;
	max-height: 30px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background-color: var(--primary);
	color: var(--blanc);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.liste-filter-search-submit:hover,
.liste-filter-search-submit:focus-visible {
	background-color: var(--accent);
	border-color: var(--accent);
	color: var(--blanc);
	outline: none;
}

.liste-filter-search-icon {
	display: block;
}

.liste-card.is-search-hidden {
	display: none !important;
}

.liste-subgroup.is-search-empty {
	display: none !important;
}

.liste-group.is-search-group-empty {
	display: none !important;
}

.liste-filter-label,
.ui-filter-label {
	color: var(--primary);
	font-size: 1.5rem;
	line-height: 1;
	font-weight: 600;
	padding-right: 15px;
}

/* Select universel (custom) réutilisable */
.ui-select {
	position: relative;
	width: min(640px, 100%);
	flex: 0 1 640px;
	z-index: 3;
	pointer-events: auto;
	margin-left: auto;
	margin-right: auto;
}

.liste-filter-wrap .liste-filter-selects .ui-select {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: none;
	min-width: 0;
}

.ui-select.is-hidden-by-default {
	display: none;
}

.liste-filter-label,
.ui-filter-label {
	pointer-events: auto;
}

.ui-select.is-open {
	z-index: 50;
}

.liste-filter-select,
.ui-select-native {
	width: 100%;
	height: 75px;
	padding: 0 44px 0 16px;
	border: none;
	border-radius: 0;
	background-color: var(--third);
	color: var(--primary);
	font-size: 18px;
	line-height: 1;
}

.ui-select-trigger {
	display: none;
	width: 100%;
	height: 75px;
	padding: 0 50px 0 24px;
	border: 1px solid var(--primary);
	background-color: var(--third);
	color: var(--primary);
	font-family: inherit;
	font-size: 18px;
	line-height: 1;
	text-align: left;
	cursor: pointer;
	align-items: center;
	justify-content: space-between;
	position: relative;
}

.ui-select.is-open .ui-select-trigger,
.ui-select.is-open .ui-select-trigger:focus {
	border: 1px solid var(--accent) !important;
	outline: none;
	outline-offset: 0;
}

.ui-select-icon-wrap {
	position: absolute;
	right: 1rem;
    margin: 0;
    padding: 0;
	height: 30px;
	max-height: 30px;
	min-width: 30px;
	min-height: 30px;
	max-width: 30px;
	max-height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--primary);
	pointer-events: none;
}

.ui-select-value {
	display: inline-flex;
	align-items: center;
	min-height: 100%;
	font-size: 18px;
	text-transform: uppercase;
}

.ui-select-icon {
	width: 14px;
	height: 14px;
	border-right: 2px solid var(--blanc);
	border-bottom: 2px solid var(--blanc);
	transform: rotate(45deg);
	transform-origin: center;
	transition: transform 0.2s ease;
	pointer-events: none;
    margin-bottom: 5px;
}

.ui-select.is-open .ui-select-icon {
	transform: rotate(-135deg);
    margin-bottom: 0;
    margin-top: 5px;
}

.ui-select-menu {
	display: none;
	position: absolute;
	top: calc(100% + 0);
	left: 0;
	right: 0;
	z-index: 51;
	background-color: var(--third);
	border: 1px solid rgba(86, 69, 70, 0.2);
	border-radius: 0;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
	padding: 0;
	max-height: min(380px, 50vh);
	overflow-y: auto;
}

.liste-groups {
	position: relative;
	z-index: 1;
}

.liste-groups.is-empty-term-initial .liste-group,
.liste-groups.is-empty-term-initial .liste-group-separator {
	display: none;
}

.liste-groups.is-empty-term-initial .js-empty-term-message {
	display: block;
}

.ui-select.is-open .ui-select-menu {
	display: block;
}

.ui-select-option {
	display: block;
	width: 100%;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--primary);
	text-align: left;
	min-height: 3.4rem;
	padding: 5px 21px 3px;
	line-height: 1.25;
	margin-top: 0 !important;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.ui-select-option:hover,
.ui-select-option:focus-visible {
	background-color: rgba(86, 69, 70, 0.08);
	outline: none;
}

.ui-select-option.is-selected {
	background-color: rgba(86, 69, 70, 0.12);
}

.ui-select.is-enhanced .ui-select-native {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 1px;
	height: 1px;
	height: 75px;
}

.ui-select.is-enhanced .ui-select-trigger {
	display: flex;
}

.ui-select-label {
	font-size: 16px;
	padding-top: 5px;
}

@media (max-width: 1599px) {
	.ui-select-value, .ui-select-option, .ui-select-label {
		font-size: 16px;
	}
	.ui-select.is-enhanced .ui-select-native, .ui-select.is-enhanced .ui-select-trigger {
		height: 60px;
		min-height: 60px;
	}
	.liste-filter-label,
	.ui-filter-label {
		font-size: 1.25rem;
	}
	.liste-filter-search-input {
		height: 60px;
		font-size: 16px;
	}
	.ui-select-icon {
		width: 12px;
		height: 12px;
	}
}

@media (max-width: 61.938rem) { /* 991px */
	.liste-filter-wrap.ui-filter-row {
		display: flex !important;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected .liste-filter-label {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		clip-path: none;
		border: 0;
		padding-right: 15px;
		white-space: normal;
		text-align: center;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected .liste-filter-selects {
		display: grid;
		width: 100%;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected:not(.is-dual-select-row) .liste-filter-selects {
		max-width: 640px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected.is-dual-select-row .liste-filter-selects {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* La recherche suit la largeur du select : pleine largeur quand le select remplit
	   la rangée (aucune catégorie sélectionnée, ou mode double avec sous-catégorie). */
	.liste-filter-wrap.ui-filter-row:not(.is-parent-category-selected) .liste-filter-search,
	.liste-filter-wrap.ui-filter-row.is-parent-category-selected.is-dual-select-row .liste-filter-search {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}

	.liste-filter-wrap,
	.ui-filter-row {
		justify-content: flex-start;
	}
	.ui-select-value, .ui-select-option, .ui-select-label {
		font-size: 14px;
		margin-top: 3px;
	}
	.ui-select.is-enhanced .ui-select-native, .ui-select.is-enhanced .ui-select-trigger {
		height: 50px;
		min-height: 50px;
	}
	.liste-filter-search-input {
		height: 50px;
		font-size: 14px;
	}
	.ui-select-icon {
		width: 11px;
		height: 11px;
	}
}

@media (min-width: 62rem) { /* 992px */
	/* Par défaut : libellé (1fr, absorbe l’espace) | select catégorie (640px) | recherche (640px) */
	.liste-filter-wrap.ui-filter-row:not(.is-parent-category-selected) {
		display: grid;
		grid-template-columns: minmax(max-content, 1fr) minmax(0, 640px) minmax(0, 640px);
		align-items: stretch;
		gap: 15px;
	}

	.liste-filter-wrap.ui-filter-row:not(.is-parent-category-selected) .liste-filter-label.ui-filter-label {
		display: flex;
		align-items: center;
		min-width: 0;
		padding-right: 0;
		max-width: 14rem;
	}

	.liste-filter-wrap.ui-filter-row:not(.is-parent-category-selected) .liste-filter-selects {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 15px;
		width: min(100%, 640px);
		max-width: 640px;
		min-width: 0;
		justify-self: end;
	}

	/* Catégorie choisie : select parent à la place du libellé + sous-catégorie + recherche */
	.liste-filter-wrap.ui-filter-row.is-parent-category-selected.is-dual-select-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(11rem, 22rem);
		align-items: stretch;
		gap: 15px;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected.is-dual-select-row .liste-filter-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected.is-dual-select-row .liste-filter-selects {
		display: contents;
	}

	/* Catégorie sans sous-filtre : même rythme que l’état initial (libellé + select plafonné + recherche) */
	.liste-filter-wrap.ui-filter-row.is-parent-category-selected:not(.is-dual-select-row) {
		display: grid;
		grid-template-columns: minmax(max-content, 1fr) auto auto;
		align-items: stretch;
		gap: 15px;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected:not(.is-dual-select-row) .liste-filter-label.ui-filter-label {
		display: flex;
		align-items: center;
		min-width: 0;
		padding-right: 0;
		max-width: 14rem;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected:not(.is-dual-select-row) .liste-filter-selects {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 15px;
		width: min(100%, 640px);
		max-width: 640px;
		min-width: 350px;
		justify-self: end;
	}

	.liste-filter-wrap .liste-filter-selects .ui-select {
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	.liste-filter-search {
		width: 100%;
		max-width: 640px;
		margin-left: 0;
		margin-right: 0;
		min-width: 350px;
		align-self: stretch;
	}
}

@media (max-width: 47.938rem) { /* 767px */
	.liste-filter-wrap,
	.ui-filter-row {
		align-items: center;
		gap: 0;
	}

	.liste-filter-wrap .liste-filter-selects {
		margin-top: 15px;
	}

	.liste-filter-search {
		margin-top: 12px;
	}

	.liste-filter-wrap.ui-filter-row.is-parent-category-selected.is-dual-select-row .liste-filter-selects {
		grid-template-columns: minmax(0, 1fr);
	}

	.liste-filter-label,
	.ui-filter-label {
		align-self: center;
	}

	.ui-select {
		width: 100%;
		flex-basis: auto;
	}
}

.liste-group-title {
	color: var(--primary);
	width: 100%;
}

.liste-group-title-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.liste-group-title-link:hover,
.liste-group-title-link:focus-visible {
	color: var(--accent);
}

.liste-subgroup {
	margin-bottom: 2.5rem;
}

.liste-subgroup-title {
	color: var(--accent);
	margin-top: 1.5rem;
}

.liste-subgroup-title-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.liste-subgroup-title-link:hover,
.liste-subgroup-title-link:focus-visible, 
.card-image-link:hover p, 
.sandbox .vc_row .vc_figure a:hover img, 
.social .vc_icon_element-inner:hover {
	opacity: 0.7 !important;
	transition: opacity 0.2s ease;
}

.liste-subgroup.is-filter-hidden {
	display: none;
}

/* Séparateur visuel entre groupes (masqué quand un filtre de catégorie est actif, voir scripts.js) */
.liste-group-separator {
	display: block;
	width: 100%;
	margin: 2.5rem 0;
	padding: 0;
	height: 0;
	border: 0;
	border-top: 1px solid #b8bcc0;
}

.liste-groups.is-filtre-select-actif .liste-group-separator,
.liste-groups.is-liste-sans-resultat .liste-group-separator,
.liste-group-separator.is-suppressed {
	display: none;
}

.liste-group {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.liste-group.is-filter-hiding {
	opacity: 0;
	transform: translateY(6px);
	pointer-events: none;
}

.liste-group.is-filter-hidden {
	display: none;
}

.liste-group.is-filter-showing {
	animation: listeFadeIn 0.22s ease;
}

.liste-group:last-child {
	margin-bottom: 0 !important;
}

.liste-group:last-child .liste-grid {
	margin-bottom: 0 !important;
}

.liste-empty-message {
	margin-top: var(--gap-lg);
}

.aucun {
	display: none;
	margin: 0 0 1.5rem;
	padding: 1rem;
	text-align: center;
	color: var(--primary);
	background-color: transparent !important;
	font-size: 1.5rem;
	line-height: 1.2;
}

.aucun.is-visible {
	display: block;
}

@keyframes listeFadeIn {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.liste-grid {
	grid-template-columns: 1fr;
}

.liste-card-link {
	display: block;
	text-decoration: none;
}

/* Utilitaires universels pour les cartes avec image */
.card-image-link {
	display: block;
}

.card-image-frame, .equipe .membre {
	position: relative;
	overflow: hidden;
    border-radius: var(--border-radius);
}

.card-image-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

.card-image-media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.card-image-link:hover .card-image-media,
.card-image-link:focus-visible .card-image-media {
	transform: scale(1.1);
}

.liste-card-image {
	aspect-ratio: 1/1;
    background-color: var(--third);
}

.liste-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width: 48rem) { /* 768px */
	.liste-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 75rem) { /* 1200px */
	.liste-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Placeholder image centrée */
img.placeholder {
	display: block;
	margin: auto;
	width: 45% !important;
	height: 45% !important;
	object-fit: contain !important;
	opacity: 0.5;
	transform-origin: center center;
	transition: transform 0.3s ease;
	border-radius: 0 !important;
}

.liste-card-title {
	font-size: 1.5rem;
	line-height: 1.1;
	font-weight: 600;
	text-align: center;
	margin-bottom: 0;
	padding: 1.25rem;
	text-transform: uppercase;
	font-family: inherit;
}

@media (max-width: 61.938rem) { /* 991px */
	.liste-card-title {
		font-size: 1.25rem;
		line-height: 1.1;
		padding: 0.75rem 1rem 1rem;
	}
}

/* call to action - fiche et wpbakery */

.formation-fiche-cta, .vc_cta3-container {
	position: relative !important;
	overflow: hidden;
	background-color: var(--primary);
	color: var(--blanc);
	padding: clamp(3rem, 5vw + 1rem, 5.5rem) clamp(1.25rem, 4vw, 3rem);
	margin-top: 2rem;
}

.formation-fiche-cta::before, .vc_cta3-container::before {
	display: block !important;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	inset: 0;
	background-image: url("/wp-content/uploads/sites/3/2026/05/cta_interesse.jpg") !important;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.25 !important;
	pointer-events: none;
}

.formation-fiche-cta .container-inner, body .sandbox .vc_cta3-container .vc_do_cta3 {
	position: relative;
	z-index: 1;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 52rem;
	margin-inline: auto;
	gap: clamp(1rem, 2vw, 2rem);
}

body .sandbox .vc_cta3-container .vc_do_cta3 {
	border: none !important;
    border-radius: 0 !important;
    background: none !important;
    color: var(--blanc) !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}

.formation-fiche-cta h3,
.formation-fiche-cta h4, 
.vc_cta3-container h2, .vc_cta3-container h3, .vc_cta3-container h4 {
	margin: 0;
	color: var(--blanc);
	text-transform: uppercase;
}

.vc_cta3-container h2 {
	font-size: var(--fs-h2) !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	margin-top: 0 !important;
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.vc_cta3-container h4 {
	margin-top: 0 !important;
	margin-bottom: clamp(1rem, 2vw, 2rem);;
}

.formation-fiche-cta h4, .vc_cta3-container h4 {
	font-weight: 500;
}

.formation-fiche-cta .btn, .vc_cta3-container .vc_do_cta3 .vc_general.btn, body .sandbox .vc_general.btn.bg-secondary {
	background-color: var(--accent) !important;
	color: var(--blanc) !important;
	border: 0 !important;
}

.formation-fiche-cta .btn:hover,
.formation-fiche-cta .btn:focus-visible, .vc_cta3-container .vc_general .btn:hover, .vc_cta3-container .vc_general.btn:focus-visible, body .sandbox .vc_general.btn.bg-secondary:hover, body .sandbox .vc_general.btn.bg-secondary:focus-visible {
	background-color: var(--blanc) !important;
	color: var(--accent) !important;
}

body .sandbox .vc_general.btn.bg-secondary, body .sandbox .vc_general.btn.bg-secondary {
	border: 1px solid var(--accent) !important;
}

body .sandbox .vc_general.btn.bg-secondary:hover, body .sandbox .vc_general.btn.bg-secondary:focus-visible {
	border: 1px solid var(--accent) !important;
}

@media (max-width: 47.938rem) {
	.formation-fiche-cta h3, .vc_cta3-container h3 {
		font-size: clamp(1.375rem, 4.5vw, 1.75rem);
	}
}

/* Footer */
footer.site-footer p.titre {
	font-size: 1.875rem !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	text-align: center;
}

@media (max-width: 47.938rem) { /* 767px/16 - MD */
	footer.site-footer p.titre {
		font-size: 1.5rem !important;
	}
}

footer.site-footer .container-fluid > .row:first-child { background-image: none !important; }
footer.site-footer .infos { width: 100% !important; }
footer.site-footer .infos a { display: block !important; margin-left: auto; margin-right: auto; text-align: center; max-width: 250px; transition: opacity ease-in-out 0.15s; }
footer.site-footer .infos .csssh-footer img { display: block; max-height:63px; margin-left: auto; margin-right: auto; }
footer.site-footer .infos ul.social,
footer.site-footer .infos ul.logos {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
footer.site-footer .infos ul.social {
    gap: 1rem;
}
footer.site-footer .infos ul.social li {
    padding-right: 0 !important;
    padding-left: 0 !important;
}
footer.site-footer .infos ul.social li,
footer.site-footer .infos ul.logos li {
    display: flex;
    justify-content: center;
    align-items: center;
}

footer.site-footer .infos ul.logos {
    row-gap: 1rem;
}
footer.site-footer .infos ul.logos a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    max-width: none;
    transition: opacity ease-in-out 0.15s;
}
footer.site-footer .infos ul.logos img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 64px;
    height: auto;
}
footer.site-footer .infos ul.logos img#pivImage { width:175px; margin-right: 0.5rem; }

footer.site-footer .icon_youtube.blanc {
	width: 1em;
	height: 1em;
    margin-top: 3px;
	border-radius: 0.14em;
}
footer.site-footer .icon_youtube.blanc:before {
	width: 0.66em;
	height: 0.46em;
	border-radius: 0.12em;
}
footer.site-footer .icon_youtube.blanc:after {
	border-top: 0.11em solid transparent;
	border-bottom: 0.11em solid transparent;
}

footer.site-footer .infos a:hover, footer.site-footer .infos ul.logos a:hover, footer.site-footer a:not(.btn):hover {
    opacity: 0.7;
}
footer.site-footer .infos ul.social li a:hover:before, footer.site-footer .infos ul.social li a:hover:after {
    background-color: var(--blanc) !important;
    color: var(--blanc) !important;
}

footer.site-footer .social li a:hover i, footer.site-footer .social li a:hover, footer.site-footer a:not(.btn):hover  { 
    color: var(--blanc) !important;
}

footer.site-footer .copyright {
    border-top: 1px solid #b8bcc0;
}

@media (max-width: 74.938rem) { /* 1199px/16 - XL- */
    .piv .logo_parcoursformation img { width: 11rem; }
}

@media (max-width: 61.938rem) { /* 991px/16 - LG- */
    header.header, .piv {
        height: 5rem;
    }
    .piv .logo_parcoursformation {
        padding-top: 0;
        flex-wrap: wrap;
        align-content: center;
    }
    .piv .logo_parcoursformation img { width: 10rem; }
    .menu-principal li {
        display: block;
        width: 100%;
        text-align: left;
    }    
    ul#menu-principal {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-left: 0;
    }    
    .header-main-nav ul.menu-principal {
        flex-direction: column;
        justify-content: flex-start;
    }    
    .menu-item {
        width: 100%;
        padding: 0;
    }
    .menu-item a, .menu-item span {
        justify-content: flex-start;
        padding-left: 0;
    }
    .header-navbar {
        background: var(--primary) !important;
    }
    .header-navbar a, .modal a, nav#menu label, .header-navbar .secondary, .header-navbar .primary, .header-sec-nav li .icon-instagram:before {
        color: #FFF !important;
    }
    .header-navbar.show:after, .sous-menu.show:after {
        display: none !important;
    }
	.header-navbar .btn.toggle-fermer {
        border: none !important;
    }

    .header-sec-nav ul#menu-secondaire {
        display: block !important;
        width: 100%;
        padding: 0;
    }
    .header-sec-nav ul#menu-secondaire > li.inscription {
        padding-left: 0;
        width: 100%;
        display: flex;
        justify-content: flex-start;
        margin-bottom: 1rem;
    }
    .header-sec-nav ul#menu-secondaire > li.inscription a {
        background: var(--blanc);
        color: var(--primary) !important;
        display: inline-block;
        width: auto;
        margin: 0 auto 0 0;
        padding: 0.5rem 1.25rem 0.5rem;
        text-align: center;
    }
    .header-sec-nav ul#menu-secondaire > li.inscription a:hover {
        color: var(--blanc) !important;
    }
    .header-sec-nav ul.social {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center;
        padding: 0;
        margin-left: 0;
        gap: 0;
    }
    .header-sec-nav ul.social li {
        display: flex !important;
        justify-content: flex-start !important;
    }
	footer.site-footer .container-fluid > .row:first-child .col-12.infos {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    footer.site-footer .container-fluid p:not(.smaller):not(.titre) {
        font-size: 1.25rem;
        line-height: 1.2;
        margin-top: 1rem;
    }
}

@media (max-width: 47.938rem) { /* 767px/16 - MD */
	.piv .logo_parcoursformation img { width: 9rem; }
	h3, .h3, .liste-wrapper .liste-item h3 {
        font-size: 1.75rem;
        line-height: 1.15;
    }
    .piv .logo_parcoursformation {
        width: 75%;
    }
    .piv .identite {
        max-width: 200px !important;
    }
    .piv div.droite {
        width: 25%;
    }
    footer.site-footer .infos ul.social {
        gap: 1rem;
    }
    footer.site-footer .infos ul.logos {
        row-gap: 0.75rem;
    }
    footer.site-footer .infos ul.logos img {
        max-height: 52px;
    }
}