@charset "utf-8";
/* CSS Document */

:root {
    --main-color-bleu: #4b50af;
    --main-color-violet: #a880d4;
    --main-color-rouge: #e9344e;
}

:root :where(.is-layout-flow) > * {margin-block-start: 0 !important;}


* {margin: 0; padding: 0; border: 0;}

html { scroll-behavior: smooth; -webkit-scroll-behavior: smooth;}

body {font-family: "Figtree", sans-serif; line-height: 1.4; color: var(--main-color-bleu);
-webkit-text-size-adjust: none; /* Chrome, Safari, and Opera */
-moz-text-size-adjust: none; /* Firefox */
-ms-text-size-adjust: none; /* Internet Explorer */
text-size-adjust: none; /* Standard */}

#scroll-haut {position: fixed; bottom: 0; left: 1vw; width: 70px; height: 40px; transform: translateY(100%); background-color: #fff; box-shadow: 0 0 30px rgba(0,0,0,0.1); border-radius: 5px 5px 0 0; opacity: 0; z-index: 999;}
#scroll-haut::before {
	border-style: solid;
    border-color: var(--main-color-bleu);
	border-width: 0.20em 0.20em 0 0;
	content: '';
	display: inline-block;
	height: 0.6em;
    width: 0.6em;
	left: 50%;
	top: 50%;
	transform: rotate(-45deg) translate(-50%, -50%);
    position: absolute;
}
#scroll-haut:hover::before {border-color: var(--main-color-rouge);}

#scroll-haut.element-visible {transform: none; opacity: 1;}

.div-inner {padding: 0 10vw;}

#contenu {background-color: #fff; position: relative; overflow: hidden;}

.marge-faible {padding-right: 5vw; padding-left: 5vw;}
.marge-forte {padding-right: 10vw; padding-left: 10vw;}
.marge-blocs {padding-top: 6vw; padding-bottom: 6vw;}

.wp-element-button, #contenu .wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {background-color: var(--main-color-bleu) !important;}
.btn-carre, .gform_wrapper .gform_button, .wp-element-button {display: inline-block; position: relative; text-transform: uppercase; padding: 20px 25px; border: 1px solid rgba(255,255,255,0.5); letter-spacing: 2px; font-size: 20px; color: #fff; text-decoration: none; margin-top: 40px; overflow: hidden; z-index: 1; border-radius: 5px;}
.btn-carre:hover, .gform_wrapper .gform_button:hover, .wp-element-button:hover {color: var(--main-color-bleu);}
.service-rouge .btn-carre:hover {color: var(--main-color-rouge);}
.btn-carre::after, .gform_wrapper .gform_button::after, .wp-element-button:after {width: 0; height: 0; border-radius: 100%; content: ""; position: absolute; left: 50%; transform: translateX(-50%); top: 155px; z-index: -1; margin-top: -80px; background-color: #fff;}
.btn-carre:hover:after, .gform_wrapper .gform_button:hover::after, .wp-element-button:hover::after {width: 700px; height: 700px; transform: translate(-50%, -50%);}

.btn-carre-bleu, .service-bleu .produit-carte .btn-carre, .gform_wrapper .gform_button {border-color: var(--main-color-bleu); color: var(--main-color-bleu);}
.btn-carre-bleu:hover, .service-bleu .produit-carte .btn-carre:hover {color: #fff;}
.btn-carre-bleu::after, .service-bleu .produit-carte .btn-carre::after {background-color: var(--main-color-bleu);}

.btn-carre-rouge, .service-rouge .produit-carte .btn-carre {border-color: var(--main-color-rouge); color: var(--main-color-rouge);}
.btn-carre-rouge:hover, .service-rouge .produit-carte .btn-carre:hover {color: #fff;}
.btn-carre-rouge::after, .service-rouge .produit-carte .btn-carre::after {background-color: var(--main-color-rouge);}

.btn-carre-violet, .service-violet .produit-carte .btn-carre {border-color: var(--main-color-violet); color: var(--main-color-violet);}
.btn-carre-violet:hover, .service-violet .produit-carte .btn-carre:hover {color: #fff;}
.btn-carre-violet::after, .service-violet .produit-carte .btn-carre::after {background-color: var(--main-color-violet);}

header {padding-top: 2vw; padding-bottom: 2vw; position: absolute; width: calc(100% - 10vw); z-index: 10;}
#header-inner {display: flex;}
#header-logo {width: 450px;}
#header-logo img {width: 100%; height: auto;}
#header-menu {margin-left: auto;}

#menu-secondaire {position: absolute; display: flex; top: 0; right: calc(5vw + 20px);}
#menu-secondaire a {display: block; position: relative; width: 40px; height: 40px; background-color: #fff; border-radius: 0 0 5px 5px; margin-right: 10px; color: var(--main-color-bleu); text-decoration: none; border: 1px solid rgba(0,0,0,0.1);}
#menu-secondaire a:last-child {margin-right: 0;}
#menu-secondaire a:hover {background-color: var(--main-color-violet); color: #fff;}

#header-switcher span, #header-icon-panier img, #header-moncompte img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}

#header-moncompte, #header-icon-panier { text-indent: -9999px;}
#header-icon-panier { --cart-item-count: '0';}
#header-icon-panier img, #header-moncompte img {width: 60%; height: 60%; display: block;}
#header-icon-panier::after {content: var(--cart-item-count); position: absolute; bottom: 0; right: 0; font-size: 10px; color: #fff; background-color: var(--main-color-bleu); width: 15px; height: 15px; border-radius: 50%; line-height: 15px; text-indent: 0; text-align: center; transform: translate(30%, 30%);}
#header-moncompte span {display: none;}




/* === Base Navigation Styles === */

.menu-principal-container  ul, .menu-main-container  ul {list-style: none;}
#primary-menu li > ul > li:nth-child(1) a, #primary-menu li ul li:nth-child(1) ul li a {color: var(--main-color-rouge) !important;}
#primary-menu li > ul > li:nth-child(2) a, #primary-menu li ul li:nth-child(2) ul li a {color: var(--main-color-violet) !important;}
#primary-menu li > ul > li:nth-child(3) a, #primary-menu li ul li:nth-child(3) ul li a {color: var(--main-color-bleu) !important;}


/* === Desktop Menu Styles === */
@media screen and (min-width: 1000px) {
    .menu-toggle {
        display: none;
    }
    
    .menu-principal-container > ul, .menu-main-container > ul {display: flex; margin-top: 1.5vw;}
    .menu-principal-container > ul > li, .menu-main-container > ul > li { margin-right: 4vw; padding-bottom: 10px;}
    .menu-principal-container > ul > li > a, .menu-main-container > ul > li > a {font-size: 22px; text-transform: uppercase; color: var(--main-color-bleu); letter-spacing: 3px; text-decoration: none; padding: 10px 15px;}
    /*.menu-principal-container > ul > li::before {position: absolute; content: ""; width: 1px; height: 0; top: 0; left: 50%; background-color: var(--main-color-bleu); transform: translateY(-110%);}
    .menu-principal-container > ul > li:hover::before {height: 100px;}*/
    .menu-principal-container > ul > li:hover > a, .menu-main-container > ul > li:hover > a { font-weight: bold; letter-spacing: 2.5px;}
    .menu-principal-container li:last-child, .menu-main-container li:last-child {margin-right: 0;}

    #primary-menu > li {
        position: relative;
    }

    #primary-menu li > ul {
        display: none;
        position: absolute;
        top: 100%;
        left: -5px;
        background: #fff;
        min-width: 470px;
        z-index: 999;
        padding: 20px 20px 10px 20px;
        border-radius: 5px;
    }

    #primary-menu li:hover > ul {
        display: block;
    }

    #primary-menu li > ul > li {width: 100%; border-bottom: 1px solid rgba(0,0,0,0.1);}
    #primary-menu li > ul > li a {text-decoration: none; color: var(--main-color-bleu); font-size: 20px; display: block; padding: 10px 0 3px 0; font-weight: 500;}
    #primary-menu li > ul > li a:hover {font-weight: 800;}
    #primary-menu li > ul > li:first-child a {padding-top: 0;}
    #primary-menu li > ul > li:last-child {border: 0;}
    #primary-menu li > ul > li:last-child a { padding-bottom: 0;}
    
    #primary-menu li ul ul {display: block; position: relative; padding: 0 0 10px 5px;}
    #primary-menu li ul ul li {border: 0; display: inline-block; width: auto;}
    #primary-menu li ul ul li a {padding: 3px 15px 3px 0; font-size: 14px; font-weight: normal;}
    #primary-menu li ul ul li:last-child a {padding-right: 0;}
}

/* === Mobile Menu Styles === */
@media screen and (max-width: 999px) {

#menumain {position: absolute; width: 50px; z-index: 2; cursor: pointer;}
#menumain::before {content: "menu"; line-height: 1.1; text-transform: uppercase; top: 0; letter-spacing: 4px; transition: 0.5s; position: relative; z-index: 1; font-size: 14px; color: var(--main-color-bleu);}

#menumain::after,
#menumain #menu-graph {
  background-color: var(--main-color-bleu); z-index: 1; position: relative;
  content: "";
  display: block;
  height: 3px;
  margin: 10px 0;
  transition: 0.5s;
  border-radius: 3px;
}
    
.toggled #menumain::after {transform: translateY(-26px) rotate(135deg); background-color: var(--main-color-bleu) !important;}
.toggled #menumain::before {opacity: 0; color: #000 !important;}
.toggled #menumain #menu-graph {transform: translateY(-13px) rotate(-135deg); background-color: var(--main-color-bleu) !important;}

.menu-toggle {text-indent: -9999px; line-height: 0; width: 60px; height: 60px; border: 0; background: none; position: absolute; z-index: 3; cursor: pointer;}
.menu-toggle, #menumain {top: 20px; right: 30px; position: absolute;}

.header-blanc #menumain::before, #menumain.header-scroll, #menumain.header-scroll::before { color: #fff;}
.header-blanc #menumain::after, .header-blanc #menumain #menu-graph, #menumain.header-scroll::after, #menumain.header-scroll #menu-graph {background-color: #fff;}

.menu-principal-container, .menu-main-container {opacity: 0;  max-height: 0; height: 0; overflow: hidden; width: 100%; background: url("../images/bg-menu-mobile.webp") bottom left no-repeat #e4e5f3; background-size: 100% auto; position: fixed; top: 0; right: 0; overflow-y: auto !important; box-shadow: 0 0 60px rgba(0, 0, 0, 0.2);}
.toggled .menu-principal-container, .toggled .menu-main-container {opacity: 1; overflow: hidden; max-height: 100vh; height: 100vh;}
#primary-menu {padding: 130px 80px 0 80px; list-style: none;}
#primary-menu a {text-decoration: none; color: var(--main-color-bleu); font-size: 28px !important; padding: 5px 0 !important; font-weight: bold;}
#primary-menu ul {list-style: none; padding-left: 30px; border-left: 2px solid rgba(0,0,0,0.05); margin-bottom: 40px; margin-left: 5px;}
#primary-menu ul a { font-size: 24px; font-weight: normal;}
#primary-menu li ul ul {display: none;}
    
#menumain #menu-bg {position: absolute; content: ""; height: 170%; aspect-ratio: 1 / 1; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: rgba(0,0,0,0.4); border-radius: 50%; z-index: 0; opacity: 0;}
#menumain.header-scroll #menu-bg {opacity: 1;}
.toggled #menumain #menu-bg {opacity: 0;}
    
}
    



h1, h2, h3 {line-height: 1.1;}
h1 {font-size: 70px; font-weight: normal;}
h1 + p, #produit-titre + #produit-specs, h1 + .cols {margin-top: 60px;}
h2 {font-size: 60px; padding-bottom: 40px; font-weight: bold;}
h3, .gform_confirmation_message {font-size: 40px; padding-bottom: 30px; font-weight: 500; padding-top: 20px;}
.single h2, .page-id-296 h2, .page-id-405 h2 {font-size: 40px; padding-bottom: 25px;}
.single h3, .page-id-296 h3, .page-id-405 h3 {font-size: 30px; padding-bottom: 20px;}
h2 a, h3 a {text-decoration: none; color: var(--main-color-bleu);}
p, ul, ol {font-size: 22px; font-weight: 200;}
p strong, ul strong, ol strong {font-weight: 600;}
p:last-child, ul:last-child {padding-bottom: 0;}

#contenu p, #contenu ul, #contenu ol { padding-bottom: 30px;}
#contenu p:last-child, #contenu ul:last-child, #contenu ol:last-child {padding-bottom: 0;}
#contenu ul {padding-left: 10px; list-style: none;}
#contenu ol {padding-left: 30px;}
#contenu ul li {position: relative; padding-left: 30px;}
#contenu ul li::before {content: ""; position: absolute; width: 15px; height: 10px; top: 12px; left: 0; background: url("../images/icons/fleche.svg") no-repeat;}
#contenu ul ul {padding-left: 0;}
#contenu ul ul li {position: relative; padding-left: 20px;}
#contenu ul ul li::before {content: ""; position: absolute; top: 13px; left: 0; background: none; width: 10px; height: 1px; background-color: #fff;}

#contenu p a, #contenu ul a, #contenu ol a, .col p a, .col ul a {color: var(--main-color-bleu); text-decoration: underline;}
#contenu p a:hover, #contenu ul a:hover, #contenu ol a:hover, .col p a:hover, .col ul a:hover {background-color: var(--main-color-bleu); color: #fff; text-decoration: none; border-radius: 5px;}



footer.marge-blocs {background: url("../images/bg-footer.webp") top center no-repeat; background-size: cover; color: #fff; position: relative;}
#footer-haiku {width: 50%; margin-left: 50%; position: relative; z-index: 2;}
#footer-haiku-bloc {}
#footer-haiku-texte {font-family: "Homemade Apple", cursive; font-size: 50px; line-height: 1.6; margin-bottom: 30px;}
#footer-haiku-autrice {font-size: 28px; font-weight: 200; padding-left: 100px; position: relative;}
#footer-haiku-autrice span {display: none; opacity: 0.5;}
#footer-haiku-autrice span:first-child {margin-right: 30px;}
#footer-haiku-autrice span:last-child {margin-left: 30px;}
#footer-haiku-autrice::before {width: 80px; height: 1px; content: ""; position: absolute; left: 0; top: 50%; background-color: #fff;}

#footer-infos {display: flex; align-items: flex-end; column-gap: 10%; padding-top: 8vw; position: relative; z-index: 2;}
#footer-infos > div {width: 45%;}

#footer-infos-left {text-align: left;}
#footer-logo {width: 200px; margin-bottom: 100px;}
#footer-logo img {width: 100%; height: auto;}
#footer-infos p { padding-bottom: 100px;}
#footer-infos p a {color: #fff;}
#footer-social {display: flex; column-gap: 20px;}
#footer-social a {display: block; width: 70px; height: 70px; border: 1px solid #fff; position: relative; border-radius: 5px;}
#footer-social a:hover {background-color: #fff;}
#footer-social img {position: absolute; width: 50%; height: auto; top: 50%; left: 50%; transform: translate(-50%, -50%);}

#footer-infos-droit {text-align: right;}
#footer-infos-droit ul {list-style: none; width: 200px; margin-left: auto;}
#footer-infos-droit li {}
#footer-infos-droit a {color: #fff; border-bottom: 1px solid #fff; font-size: 30px; padding: 20px; display: block; text-decoration: none;}
#footer-infos-droit li:last-child a {border-bottom: 0;}
#footer-infos-droit a:hover {background-color: #fff; color: var(--main-color-bleu);}

#footer-soleil {position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;
    
    mask-image: url(../images/footer-mask-soleil.png);
    mask-size: cover;
    mask-repeat: no-repeat;
    mask-position: top center;
    
}
#footer-soleil-forme {top: 6vw; left: 20vw; position: absolute; width: 15vw; height: 15vw; }

#footer-soleil-forme::before {position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; border-radius: 50%; box-shadow: 0 0 50px rgba(255,255,255,1); filter: blur(5px);}

#footer-soleil-forme::after {position: absolute; content: ""; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-120deg); width: 135%; height: 135%;  background-size: cover; filter: blur(0) !important; opacity: 0; background-repeat: no-repeat;}

.footer-soleil-fr #footer-soleil-forme::after { background-image: url("../images/footer-rds-fr.png"); }
.footer-soleil-en #footer-soleil-forme::after { background-image: url("../images/footer-rds-en.png"); }

#footer-soleil-forme:hover::after {transform: translate(-50%, -50%) rotate(0); opacity: 1;}


.infolettre-shop {background-color: var(--main-color-bleu);}
.infolettre-shop #service-aide-droit input[type="text"] {width: 100%; text-align: left;}
.infolettre-shop #service-aide-droit button {margin-bottom: 0; color: #fff; border-color: #fff;}
.infolettre-shop #service-aide-droit button:hover {color: var(--main-color-bleu);}

/* masquer temporairement l'infolettre */

.infolettre-shop, .page-id-22 .gform_wrapper .gfield--type-checkbox, .page-id-395 .gform_wrapper .gfield--type-checkbox {display: none;} 



/***************** FORMULAIRES ******************/

button {cursor: pointer;}


/* Customize the label (the container) */
.choix-checkbox label, .gfield_checkbox label {
  display: block;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  font-size: 18px !important; letter-spacing: 1px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.choix-checkbox input, .gfield_checkbox input {
  opacity: 0;
  cursor: pointer; position: absolute;
}


/* Create a custom checkbox */
.choix-checkbox label:before, .gfield_checkbox label:before {
  content:"";
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #fff;
}

/* On mouse-over, add a grey background color */
.choix-checkbox label:hover:before, .gfield_checkbox label:hover:before {
  background-color: #e9e0f4;
}

/* When the checkbox is checked, add a blue background */
.choix-checkbox input:checked ~ label:before, .gfield_checkbox input:checked ~ label:before {
  background-color: #fff;
}

/* Create the checkmark/indicator (hidden when not checked) */
.choix-checkbox label:after, .gfield_checkbox label:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.choix-checkbox input:checked ~ label:after, .gfield_checkbox input:checked ~ label:after {
  display: block;
}

/* Style the checkmark/indicator */
.choix-checkbox label:after, .gfield_checkbox label:after  {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid var(--main-color-rouge);
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}



/***************** TRANSITIONS ******************/

/* rapide */

a, button, .menu-principal-container > ul > li::before, .menu-main-container > ul > li::before, #echantillon-livre-titre::after {
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
-o-transition: 0.3s;
-ms-transition: 0.3s;
transition: 0.3s;
}

/* lente */

.btn-carre:after, #footer-soleil-forme::after, .menu-principal-container, .gform_wrapper .gform_button::after, .wp-element-button::after, .menu-main-container {
-webkit-transition: 0.8s;
-moz-transition: 0.8s;
-o-transition: 0.8s;
-ms-transition: 0.8s;
transition: 0.8s;
}



/***************** COULEURS FILTRES ******************/

/* blanc */

.accueil-service-infos .accueil-service-sous::after, #footer-social img, .produit #contenu #service-aide li::before, .page-id-22 .cols #footer-social a:hover img, .page-id-395 .cols #footer-social a:hover img, #contenu .seance-full ul li::before, #contenu #activites-menu ul li::before, .wp-block-file a:hover::before, #header-icon-panier:hover img, #header-moncompte:hover img {filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(99deg) brightness(104%) contrast(104%);}


/* bleu */

#footer-social a:hover img, .service-bleu #contenu ul li::before, .page-id-22 .cols #footer-social a img, .page-id-395 .cols #footer-social a img, #header-icon-panier img, #header-moncompte img, #echantillon-livre-titre::after {filter: brightness(0) saturate(100%) invert(28%) sepia(68%) saturate(1271%) hue-rotate(214deg) brightness(88%) contrast(86%);}

/* rouge */

#contenu ul li::before, .service-rouge #contenu ul li::before, .produit-spec::before {filter: brightness(0) saturate(100%) invert(26%) sepia(100%) saturate(3485%) hue-rotate(337deg) brightness(99%) contrast(85%);}

/* violet */

.service-violet #contenu ul li::before, .wp-block-file a::before {filter: brightness(0) saturate(100%) invert(85%) sepia(33%) saturate(7112%) hue-rotate(212deg) brightness(86%) contrast(92%);}



/***************** BLOCS ******************/

#page-top-bg {position: absolute; z-index: -1; width: 100%; height: 100%; bottom: 0; left: 0; overflow: hidden;}
#page-top-bg img {object-fit: cover; object-position: bottom center; width: 100%; height: 110%;}

#page-top {text-align: center; padding-top: 13vw; overflow: hidden; position: relative;}
#page-top .titre-sous {font-weight: bold; font-size: 34px; letter-spacing: 2px;}
#page-top .titre-sous span {font-weight: normal;}
#page-top #titre-type {font-size: 20px; margin-bottom: 30px; display: inline-block; position: relative;}
#page-top #titre-type::before, #page-top #titre-type::after {content: ""; width: 30px; height: 1px; top: 50%; background-color: var(--main-color-bleu); position: absolute; display: block; opacity: 0.4;}
#page-top #titre-type::before {left: -50px;}
#page-top #titre-type::after {right: -50px;}
#page-top p {padding: 0 15vw; margin-bottom: 30px; font-size: 30px;}
#page-top p:last-child {margin-bottom: 0;}


.seance-full {position: relative; overflow: hidden;}
.seance-infos {background-color: var(--main-color-bleu); position: relative; z-index: 1; width: 40%; color: #fff; box-shadow: 30px 30px 50px rgba(0,0,0,0.4); border-radius: 5px;}
.seance-infos-inner {padding: 3vw 4vw;}
.seance-infos h2 {color: #fff !important;}
.seance-infos p {}
.seance-infos .btn-carre {margin-top: 0;}
.seance-full-photo {position: absolute; width: 100%; height: 100%; top: 0; left: 0;}
.seance-full-photo img {width: 100%; height: 100%; object-fit: cover; display: block;}
.seance-full-droit .seance-infos {margin-left: 60%;}


#liste-even {}
#liste-even .div-inner {display: flex; column-gap: 20%;}
#liste-even .div-inner div {width: 40%;}
#liste-even-left {}
#liste-even-left p {font-size: 30px;}
#liste-even-droit {}

.even-element {background-color: var(--main-color-bleu); color: #fff; display: block; text-decoration: none; border: 1px solid #fff; position: relative; padding: 1vw 4vw 1vw 2vw; margin-bottom: 1vw; border-radius: 5px;}
.even-element:last-child {margin-bottom: 0;}
.even-element:before {position: absolute; right: 2.5vw; top: 50%;
    border-style: solid;
	border-width: 2px 2px 0 0;
	content: '';
	display: inline-block;
	height: 30px;
	width: 30px;
	transform: rotate(45deg) translateY(-50%);
	vertical-align: top;}
.even-element:hover {background-color: #fff; border-color: var(--main-color-bleu); color: var(--main-color-bleu);}
.even-element h3 {padding-bottom: 10px;}
.even-element p {}
.even-element span {display: block; border-bottom: solid 1px rgba(0,0,0,0.1); padding-bottom: 10px; border-radius: 5px; font-size: 18px; margin-bottom: 10px;}

.accordion {margin-bottom: 80px;}
.accordion h3 {font-size: 30px; font-weight: 600; padding-bottom: 0; padding-top: 0;}
.accordion h3 span {display: none;}
.accordion h3 a {border-top: 1px solid var(--main-color-bleu); display: block; padding: 30px 0; position: relative;}
.accordion h3:first-child a {border: 0;}
.accordion h3 a::after {content: "+"; position: absolute; right: 0; top: 30px;}
.accordion h3.ui-accordion-header-active a::after {content: "-";}
.ui-accordion-content {padding: 0 0 30px 0; position: relative;}

.cols {display: flex;}
.cols .col {width: 45%;}
.cols .col:first-child {padding-right: 5%;}
.cols .col:last-child {padding-left: 5%;}




/***************** ACCUEIL ******************/

#home-top {overflow: hidden; position: relative;}
#home-top-phrase {text-align: right; font-size: 100px; line-height: 1.1; padding-top: 15vw;}
#home-top-phrase-l1 {font-weight: 200;}
#home-top-phrase-l2 {font-weight: bold;}

#home-top-andree {background-color: rgba(255,255,255,0.5); margin: 10vw 0; padding: 4vw 4vw 4vw 25vw; width: calc(50% - 20vw); border-radius: 0 5px 5px 0;}
#home-top-andree h2 {font-weight: 500;}
#home-top-andree p {}

#home-top-photo {position: absolute; z-index: 1; width: 25vw; height: 100%; top: 9vw; left: -5vw;}
#home-top-photo img {width: 100%; height: auto;}



#accueil-service-1 h2 {padding-bottom: 10px;}
.bloc-service-titre {margin-bottom: 40px; }
.bloc-service-titre h2 { color: #fff !important;}
.accueil-service-infos {padding-top: 5vw;}
.accueil-service-infos .accueil-service-sous {font-size: 30px; font-weight: 200px; display: inline-block; position: relative; line-height: 1.2;}
.home .accueil-service-infos .accueil-service-sous {padding-left: 60px;}
.home .accueil-service-infos .accueil-service-sous::after {position: absolute; content: ""; top: 50%; left: 0; transform: translateY(-50%); width: 40px; height: 40px;
    background: url("../images/icons/maple-leaf.svg") right center no-repeat;}
#accueil-service-2 {}
#accueil-service-3 {}
#accueil-service-3-stack { display: flex; column-gap: 10vw;}
.accueil-service-triptique:nth-child(1), .accueil-service-triptique:nth-child(3) {padding-top: 10vw;}


.bloc-service-contenu, .bloc-service-large {position: relative; z-index: 2; padding-bottom: 65vh;}
.bloc-service-contenu:last-child {padding-bottom: 20vh;}
.bloc-service-contenu {width: 33%;}

.bloc-service-large {width: 100%; opacity: 0; transition: opacity 0.5s ease-in-out;}
.bloc-service-large.visible {opacity: 1;}


#services-ciel {z-index: 0; width: 100%; height: 105vh; top: 0; left: 0; opacity: 0.3; mix-blend-mode: multiply; position: absolute;}
#services-ciel-bg {width: 200%; height: 200%; top: 0; left: 0; background: url("../images/evolupro-nuages.webp") no-repeat;}

#services-ciel.fixed {
    position: fixed;
    top: 0;
    left: 0;
}

#services-ciel.stuck-bottom {
    position: absolute;
    top: auto;
    bottom: 0;
}

#accueil-services {color: #fff; overflow: hidden; position: relative; background-color: var(--main-color-rouge);}

#services-montagne-container {position: absolute; bottom: 0; left: 0; z-index: 1; width: 100vw; height: 100vh;}

#services-montagne {position: absolute; width: 55%; aspect-ratio : 300 / 178; bottom: 0; right: 0;}
#services-montagne-vecto {position: absolute; bottom: -10%; right: -10%; width: 100%; height: 100%; background: url("../images/logo-picto-blanc.svg") no-repeat; background-size: cover; z-index: 2;}

#services-montagne-soleil {position: absolute; width: 15%; aspect-ratio: 1 / 1; bottom: 80%; right: 45%; z-index: 1;}
#services-montagne-soleil::before {position: absolute; content: ""; z-index: 2; background-color: #fff; width: 100%; height: 100%; border-radius: 50%;  top: 50%; left: 50%; filter: blur(10px); transform: translate(-50%, -50%);}
#services-montagne-soleil::after {position: absolute; z-index: 1; content: ""; width: 350%; height: 350%; border-radius: 50%; background-color: var(--child-bg, #ffffff); top: 50%; left: 50%; filter: blur(200px); transform: translate(-50%, -50%); opacity: 0.5;}

.home .seance-infos p {margin-bottom: 40px;}



/***************** SERVICES ******************/

.service h1 {margin-bottom: 20px;}
#service-liens {margin-bottom: 30px; text-align: center;}
#service-liens a {display: inline-block; margin-right: 10px; border-radius: 5px; background-color: #fff; font-weight: bold; padding: 5px 10px; text-decoration: none; margin-bottom: 10px; color: var(--main-color-bleu);}
#service-liens a:hover {color: #fff !important;}
#service-liens a:last-child {margin-right: 0;}


.service-rouge h2, .service-rouge .produit-carte-petit-titre, .service-rouge .produit-type {color: var(--main-color-rouge);}
.service-rouge #service-aide, .service-rouge .seance-infos, .service-rouge #bloc-temoignage::before, .service-rouge #bloc-temoignage-titre::before, .service-rouge #seance-infos-bg::after, .service-rouge #service-liens a:hover {background-color: var(--main-color-rouge);}
.service-rouge #accueil-services {background-color: var(--main-color-bleu);}
.service-rouge .choix-checkbox label:after { border-color: var(--main-color-rouge);}

.service-violet h2, .service-violet .produit-carte-petit-titre, .service-violet .produit-type {color: var(--main-color-violet);}
.service-violet #service-aide, .service-violet .seance-infos, .service-violet #bloc-temoignage::before, .service-violet #bloc-temoignage-titre::before, .service-violet #seance-infos-bg::after, .service-violet #service-liens a:hover {background-color: var(--main-color-violet);}
.service-violet #accueil-services {background-color: var(--main-color-rouge);}
.service-violet .choix-checkbox label:after  { border-color: var(--main-color-violet);}

.service-bleu h2, .service-bleu .produit-carte-petit-titre, .service-bleu .produit-type {color: var(--main-color-bleu);}
.service-bleu #service-aide, .service-bleu .seance-infos, #bloc-temoignage::before, #bloc-temoignage-titre::before, .service-bleu #seance-infos-bg::after, .service-bleu #service-liens a:hover {background-color: var(--main-color-bleu);}
.service-bleu #accueil-services {background-color: var(--main-color-violet);}
.service-bleu .choix-checkbox label:after  { border-color: var(--main-color-bleu);}


#service-aide {color: #fff; position: relative; overflow: hidden;}
#service-aide .div-inner {position: relative; z-index: 2; display: flex; align-items: center; gap: 20%;}
#service-aide::after {position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-image: url("../images/evolupro-nuages.webp"); background-repeat: no-repeat; background-attachment: fixed; z-index: 0; mix-blend-mode: multiply; opacity: 0.5;}
#service-aide .div-inner > div {width: 40%;}
#service-aide-left {}
#service-aide-left .accent {font-size: 34px; font-weight: 200; padding-bottom: 30px; line-height: 1.2;}
#service-aide-left p {}

#service-aide-droit {}
#service-aide-droit form {width: 400px;}
#service-aide-droit input[type=text] {display: block; font-size: 24px; font-family: "Figtree", sans-serif; padding: 20px 30px; width: calc(100% - 60px); text-align: center;}
#service-aide-droit button {width: 100%; background-color: transparent; margin-bottom: 30px;}

#service-aide-fleche {position: absolute; width: 53%; height: 100%; top: 0; left: 0; background: url("../images/services/aide-fleche.png") no-repeat; background-size: cover; background-position: right center; z-index: 1;}

#service-aide-feuille {position: absolute; width: 1000px; height: 1000px; top: -100px; left: -100px; background: url("../images/icons/maple-leaf.svg") no-repeat; background-size: contain; background-position: top left; z-index: 1; opacity: 0.1;}

#liste-produits {}
#liste-produits .div-inner {display: flex; gap: 20%; position: relative; justify-content: center;}
#liste-produits .div-inner:has(> .produit-carte:only-child)::after {display: none;}
#liste-produits .div-inner::after {position: absolute; content: ""; top: 0; left: 50%; width: 1px; height: 100%; background-color: var(--main-color-bleu); opacity: 0.2;}
.produit-carte {width: 40%;}
.produit-carte-inner {}
.produit-carte h2 {padding-bottom: 20px;}
.produit-type { display: block; margin-bottom: 40px; position: relative;}
.produit-type span {display: inline-block; background-color: #fff; padding: 0 20px 0 0; position: relative; z-index: 1; font-size: 18px; letter-spacing: 1px;}
.produit-type::after {position: absolute; content: ""; top: 50%; left: 0; height: 1px; width: 100%; background-color: rgba(0,0,0,0.1); z-index: 0;}
#contenu .produit-carte ul { padding-bottom: 0;}
.produit-carte-petit-titre {font-size: 30px; font-weight: bold;}


.service .bloc-service-contenu {height: auto; padding-bottom: 0;}
.service .accueil-service-infos {padding-top: 0;}

.service #services-montagne {width: 45%;}
.service #services-montagne-container {height: auto;}

#service-aide-droit form {width: auto;}
#service-aide-droit button, #service-aide-droit .btn-carre {margin-top: 0; font-weight: bold; font-size: 26px; margin-bottom: 50px; display: block; text-align: center;}
.service #service-aide-droit .btn-carre {margin-bottom: 0;}
#service-aide-droit button:hover::after, #service-aide-droit .btn-carre:hover::after {width: 1000px; height: 1000px;}


/***************** PRODUIT ******************/

#page-top .produit-type {font-size: 22px; text-transform: uppercase; letter-spacing: 2px;}

#produit-titre {margin-bottom: 2vw;}
#produit-specs { padding: 15px 30px; display: flex; align-items: center; background-color: rgba(255,255,255,1); border-radius: 50px; line-height: 1;}
.produit-spec {position: relative; padding-left: 50px; font-weight: bold; font-size: 19px; margin-left: 80px;}
.produit-spec::before {position: absolute; content: ""; left: 0; top: 50%; transform: translateY(-50%); width: 35px; height: 35px; background-position: center center; background-repeat: no-repeat; background-size: contain;}
.produit-spec:first-child {margin-left: 0;}

#produit-image-rond {width: 200px; height: 200px; background-color: #fff; border-radius: 50%; overflow: hidden; position: relative; display: inline-block; margin-bottom: -30px;}
#produit-image-rond img {position: absolute; top: 50%; left: 50%; width: 55%; height: auto; transform: translate(-50%, -50%);}

.produit-spec-virtuel::before {background-image: url("../images/icons/produits/virtuel.svg");}
.produit-spec-personne::before {background-image: url("../images/icons/produits/personne.svg");}
.produit-spec-duree::before {background-image: url("../images/icons/produits/duree.svg");}
.produit-spec-langue::before {background-image: url("../images/icons/produits/langue.svg");}
.produit-spec-sync::before {background-image: url("../images/icons/produits/synchro.svg");}
.produit-spec-prix {font-size: 34px; margin-left: auto !important; padding-left: 0 !important;}
.produit-spec-prix span {font-size: 16px; font-weight: normal;}

.produit #service-aide .div-inner {align-items: flex-start;}
.produit #service-aide li::after {}

.produit #service-aide-droit .accordion {margin-bottom: 0;}
.produit #service-aide-droit .accordion a {color: #fff;}
.produit #service-aide-droit .woocommerce-error {display: none;}
.accordion h3 a {border-top-color: rgba(255,255,255,0.5); color: #fff;}

#bloc-temoignage {position: relative;}
#bloc-temoignage::before, #bloc-temoignage::after {position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 100%;}
#bloc-temoignage::before {z-index: 0; opacity: 0.15;}
#bloc-temoignage::after {z-index: 1; background: url("../images/services/bg-oiseaux.webp") bottom left no-repeat; mix-blend-mode: screen;}
#bloc-temoignage .div-inner {display: flex; position: relative; align-items: center; z-index: 2;}
#bloc-temoignage .div-inner > div {width: 50%;}
#bloc-temoignage-left {}
#bloc-temoignage-left-inner {padding-right: 15vw;}
#bloc-temoignage-titre {padding-bottom: 30px; margin-bottom: 30px; position: relative; letter-spacing: 2px; opacity: 0.8; font-size: 20px;}
#bloc-temoignage-titre::before {width: 100px; height: 1px; content: ""; position: absolute; bottom: 0; left: 0; opacity: 0.3;}
#bloc-temoignage-poste {font-weight: bold; font-size: 30px; line-height: 1.2; margin-bottom: 40px;}
#bloc-temoignage-fonction {font-size: 30px; font-weight: 200;}
#bloc-temoignage-droit {}
#bloc-temoignage-droit p {font-style: italic; line-height: 1.6;}
#bloc-temoignage-droit p:last-child {padding-bottom: 0;}
#bloc-temoignage-droit .wp-block-video {margin-bottom: 0;}

#produit-cross {}
#produit-cross .div-inner {display: flex; gap: 10%; padding-right: 0;}
#produit-cross .produit-carte {width: 35%;}

#seance-half {width: 55%; position: relative;}

#seance-half .seance-infos {width: 70%; z-index: 1;}
#seance-half .seance-infos-inner {padding-right: 8vw;}
#seance-infos-bg {background-color: #000; width: calc(100% - 4vw); padding: 4vw; position: relative; }
#seance-infos-bg::after, #seance-infos-bg::before {position: absolute; content: ""; width: 100%; height: 100%; top: 0; left: 0;}
#seance-infos-bg::after { mix-blend-mode: overlay;}
#seance-infos-bg::before {background: url("../images/bilan/bg-bilan-min.jpg") center center no-repeat; background-size: cover;}

#seance-half-photo {position: absolute; z-index: 2; bottom: -6vw; right: -5vw; width: 70%;}
#seance-half-photo img {width: 100%; height: auto;}

#echantillon-livre {background-color: #fff; border-radius: 10px; box-shadow: 0 0 20px rgba(0,0,0,0.3); display: flex; text-decoration: none; padding: 20px; gap: 40px; align-items: center; margin-top: 40px;}
#echantillon-livre-img {width: 25%;}
#echantillon-livre-img img {width: 100%; height: auto;}
#echantillon-livre-titre {width: calc(75% - 70px); padding-right: 70px; position: relative;}
#echantillon-livre-titre::after { background: url("../images/icons/download.svg") right center no-repeat; position: absolute; content: ""; right: 20px; top: 50%; transform: translateY(-50%); opacity: 0.2; width: 40px; height: 40px;}
#echantillon-livre-titre-l1 {font-size: 28px; color: var(--main-color-bleu); font-weight: bold;}
#echantillon-livre-titre-l2 {font-size: 18px; text-transform: uppercase; letter-spacing: 2px; color: var(--main-color-rouge);}
#echantillon-livre:hover #echantillon-livre-titre::after {opacity: 1;}




/***************** À PROPOS *******************/

#services-apropos { padding-right: 50%; position: relative; z-index: 2;}
#services-apropos p {font-size: 30px; line-height: 1.2;}
#accueil-services p a {color: #fff;}

.page-id-20 #bloc-temoignage #bloc-temoignage-titre {opacity: 1;}
.page-id-20 #bloc-temoignage #bloc-temoignage-titre h2 {padding-bottom: 0; letter-spacing: 0;}
.page-id-20 #bloc-temoignage-droit p {font-style: normal;}

.page-id-20 .seance-full:nth-child(2) .seance-infos {background-color: var(--main-color-violet);}



/********** BLOGUE *************/

#bloc-nouvelles {}
.nouvelles-element {display: flex; text-align: left; align-items: center; margin-bottom: 2vw; padding-bottom: 2vw; position: relative;}
.nouvelles-element::after {position: absolute; content: ""; width: 100%; height: 1px; background-color: rgba(0,0,0,0.05); bottom: 0; left: 0;}
.nouvelles-element:last-child {margin-bottom: 0; padding-bottom: 0;}
.nouvelles-element:last-child::after {display: none;}

.nouvelles-element .accueil-nouvelle-image {width: 20%;}
.nouvelles-element .accueil-nouvelle-contenu {width: 80%}
.accueil-nouvelle-titre-lien {text-decoration: none; color: #000;}
.nouvelles-element .accueil-nouvelle-sous {font-size: 16px; margin-bottom: 20px; padding-bottom: 20px; position: relative; display: block;}
.nouvelles-element .accueil-nouvelle-sous::after {content: ""; position: absolute; bottom: 0; left: 0; width: 50px; height: 1px; background-color: var(--main-color-bleu); opacity: 0.3;}
.accueil-nouvelle-image img {border-radius: 5px; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center center;}
.accueil-nouvelle-contenu-inner { padding: 0 3vw;}
.accueil-nouvelle-contenu-inner p {padding-bottom: 0 !important;}
.accueil-nouvelle-contenu-inner h3 {color: var(--main-color-bleu);}

#page #contenu .accueil-nouvelle-contenu p {margin-bottom: 30px; padding-bottom: 0; color: #555250;}

#comments {padding-top: 3vw; margin-top: 3vw; background-color: #dcddf4; padding: 40px; border-radius: 5px;}
.comment-form-url {display: none;}
#comments .comment-metadata {display: none;}
#comments .comment-author {font-size: 16px;}
#comments .reply a {text-decoration: none; font-size: 16px; display: inline-block; padding: 2px 5px; border-radius: 5px; border: 1px solid var(--main-color-bleu); margin-top: 15px;}
#comments .children {margin-top: 20px;}
#comments p {font-size: 19px;}
#comments ol {list-style: none;}
#comments > ol > li {margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(0,0,0,0.1);}
#comments > ol > li:last-child {border: 0; margin: 0; padding: 0;}

#comments input, #comments textarea {font-family: "Figtree", sans-serif; font-size: 19px; color: var(--main-color-bleu); padding: 10px; border-radius: 5px;}
#comments .form-submit {clear: both; padding-bottom: 0;}
#comments .form-submit input {background-color: var(--main-color-bleu); color: #fff; cursor: pointer;}

#respond {padding-top: 20px; margin-top: 20px; border-top: 3px solid rgba(0,0,0,0.1);}
#respond .comment-form-author, #respond .comment-form-email {width: 45%; float: left;}
#respond .comment-form-author {margin-right: 5%;}
#respond .comment-form-email {margin-left: 5%}
#respond .comment-form-author input, #respond .comment-form-email input {width: calc(100% - 20px);}
#respond .comment-form-comment label {display: block;}
#respond .comment-form-comment textarea {width: calc(100% - 20px);}
#respond .comment-reply-title {font-size: 20px; font-weight: bold;}
#respond .comment-reply-title small {font-size: 16px; font-weight: normal; margin-left: 20px;}



/* singulière */

.single-post h2 {font-size: 45px; padding-bottom: 30px;}
.single-post h3 {font-size: 35px;}

#bloc-contenu-nouvelle .div-inner {display: flex; column-gap: 6vw;}
#bloc-contenu-nouvelle-photo, #bloc-contenu-nouvelle-texte {width: calc(50% - 3vw);}
#bloc-contenu-nouvelle-photo {position: relative;}
.bloc-contenu-nouvelle-photo-img {width: 32vw;}
#bloc-contenu-nouvelle-photo img {border-radius: 5px; display: block;  width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center center;}
#bloc-contenu-nouvelle-text {}
#bloc-contenu-nouvelle-date, #bloc-publication-cat {border-bottom: 1px solid var(--main-color-bleu); padding-bottom: 2vw; margin-bottom: 2vw; display: inline-block; font-size: 18px; letter-spacing: 2px;}

.nouvelle-suggestion-image {text-align: center; width: 15vw; position: absolute; bottom: -20px; right: 2vw;}

.nouvelle-suggestion .naturat-croissance {width: 30vw; margin-left: 15vw;}



/***************** CONTACT ******************/

.page-id-22 .cols h3, .page-id-395 .cols h3 { padding-bottom: 5px;}
#contact-sous-titre {font-size: 22px; margin-bottom: 30px; display: inline-block;}
.page-id-22 .cols p, .page-id-395 .cols p {padding: 0 !important;}
.page-id-22 .cols #footer-social, .page-id-395 .cols #footer-social {justify-content: center;}
.page-id-22 .cols #footer-social a, .page-id-395 .cols #footer-social a {border-color: var(--main-color-bleu);}
.page-id-22 .cols #footer-social a:hover, .page-id-395 .cols #footer-social a:hover {background-color: var(--main-color-bleu);}


/* formulaires */

#page-top .gform_wrapper {text-align: left;}

.gform_heading .gform_required_legend {display: none;}
.gform_heading h2 {display: block;}

.gform_wrapper.gravity-theme .gfield_label {font-weight: normal; font-size: 20px; margin-bottom: 5px;}
.gform_wrapper.gravity-theme .gfield_required {color: var(--main-color-bleu);}

.ginput_container input, .ginput_container textarea {border: 1px solid #fff; border-radius: 5px; padding: 15px 20px !important; font-family: "Figtree"; font-size: 22px !important; color: var(--main-color-bleu);}
.ginput_container *:focus {outline: 0; border-color: var(--main-color-bleu);}
.ginput_container *::placeholder {font-family: "Figtree", sans-serif; font-size: 20px;}
.ginput_container *:focus::placeholder {color: var(--main-color-bleu); opacity: 0.3;}

.gform_wrapper .gform_button {padding-right: 30px; background-image: none; background-color: transparent; margin-top: 0;}

.gform_wrapper.gravity-theme .gfield_checkbox label {}
.gform_wrapper.gravity-theme .gfield_checkbox .gchoice {margin-bottom: 10px;}

.gform_wrapper .gform-field-label--type-sub {color: #A1A1A1;}

.gform_wrapper .gform_description {color: #000; font-weight: normal; background-color: #faf4f1; padding: 10px 15px; border-radius: 5px; margin-bottom: 30px;}
.gform_wrapper .gform_description:empty {display: none;}



/***************** MENTIONS LÉGALES ******************/

:root :where(.is-layout-constrained) > * {margin-block-start: 0 !important;}

.page-id-296 #contenu .div-inner, .page-id-405 #contenu .div-inner {display: flex; gap: 4vw}
.page-id-296 #contenu .wp-block-group__inner-container, .page-id-405 #contenu .wp-block-group__inner-container {padding-bottom: 5vw;}
#contenu-menu {width: calc(65%);}

#activites-menu {width: calc(35% - 4vw);}
#activites-menu ul {background-color: var(--main-color-bleu); border-radius: 5px; color: #fff; padding: 2vw !important;}
#activites-menu ul a {text-decoration: none; color: #fff; padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,0.2); display: block; opacity: 0.6;}
#activites-menu ul li {padding-left: 0;}
#activites-menu ul li:last-child a {border: 0; margin-bottom: 0; padding-bottom: 0;}
#activites-menu ul li::before {display: none;}


#activites-menu {
  position: relative;
}

#activites-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  transition: all 0.2s ease;
}

#activites-menu ul.fixed {
  position: fixed;
  top: var(--menu-top-offset, 0px);
  width: inherit;
}

#activites-menu ul.stopped {
  position: absolute;
  bottom: 0;
  top: auto;
}

#activites-menu a.active {
  opacity: 1;
}



/***************** PAGE FORMATIONS ******************/

.single-formation #contenu .div-inner {display: flex; gap: 6vw;}

#formation-gauche { width: 30%;}
#formation-gauche-inner {padding: 2vw; background-color: var(--main-color-bleu); color: #fff; border-radius: 5px;}
#formation-gauche-inner a {color: #fff !important;}
#formation-droit {width: 64%;}

.wp-block-video { margin-bottom: 60px;}
.wp-block-file a { display: block; padding: 10px 20px 10px 60px; position: relative; font-size: 20px; color: var(--main-color-bleu); text-decoration: none; border-bottom: 1px solid rgba(0,0,0,0.2);}
.wp-block-file a::before {position: absolute; content: ""; left: 10px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; background: url("../images/icons/download.svg") no-repeat; background-size: cover;}
.wp-block-file a:hover {background-color: var(--main-color-bleu); color: #fff;}

.presto-block-playlist {margin-top: 50px;}
.single-formation .wp-block-playlist { margin-bottom: 60px;}
.single-formation .playlist__item-is--active {background: var(--main-color-bleu) !important;}

.wp-block-file .wp-block-file__button {display: none !important;}


/* Styles pour les formations hiérarchiques */

/* Breadcrumbs de navigation */
.formation-breadcrumb {
    margin-bottom: 2rem;
    padding: 1rem;
    background-color: #f8f9fa;
    border-radius: 5px;
    font-size: 0.9rem;
}

.formation-breadcrumb a {
    color: #0073aa;
    text-decoration: none;
}

.formation-breadcrumb a:hover {
    text-decoration: underline;
}

/* Liste des sous-formations */
.sous-formations {
    margin-top: 2rem;
    padding: 1.5rem;
    background-color: rgba(0,0,0,0.3);
    border-radius: 5px;
    color: #fff;
}

.sous-formations h3 {
    padding-top: 0;
}

.sous-formations-liste, .sous-formations-liste ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
    font-size: 18px !important;
}

.sous-formations-liste li, .sous-formations-liste li li {
    padding-left: 0 !important;
    position: relative;
}

.sous-formations-liste li::before {display: none;}

.sous-formations-liste a, .sous-formations-liste ul a, .sous-formations-liste .current-page {
    text-decoration: none !important; display: block; color: #fff;
    padding: 5px;
    border-bottom: 1px solid rgba(255,255,255,0.3);
}

.sous-formations-liste li:last-child a, .sous-formations-liste ul li:last-child a {
    border-bottom: 0;
}

.sous-formations-liste a:hover {
    
}

/* Style pour la formation parente */
.formation-parente {
    text-transform: uppercase;
}

.formation-parente a {border-bottom-width: 3px;}

.formation-parente:before {
}

/* Style pour la formation actuelle */
.current-formation {
    padding-left: 2rem !important;
}

.sous-formations-liste .current-page {
    font-weight: bold; background-color: rgba(0,0,0,0.3);
}

.current-formation:before {
    content: "✓";
    margin-right: 0.5rem;
    color: #28a745;
    font-weight: bold;
}

/* Indentation pour les sous-formations */
.sous-formation {
    padding-left: 2rem !important;
}

/* Navigation entre formations */
.formation-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3rem;
    padding: 1.5rem;
    background-color: #f8f9fa;
    border-radius: 8px;
    flex-wrap: wrap;
    gap: 1rem;
}

.nav-link {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    text-decoration: none;
    color: var(--main-color-bleu);
    font-weight: 500;
    transition: all 0.2s ease;
    min-width: 120px;
    justify-content: center;
}

.nav-link:hover {
    background-color: var(--main-color-bleu);
    color: #fff;
    border-color: #0073aa;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 115, 170, 0.2);
}

.nav-prev {
    flex: 1;
    text-align: left;
}

.nav-next {
    flex: 1;
    text-align: right;
}

.nav-first-child {
    flex: 1;
    text-align: right;
}

.nav-arrow {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0 0.5rem;
}

.nav-prev .nav-arrow {
    margin-right: 0.5rem;
    margin-left: 0;
}

.nav-next .nav-arrow,
.nav-first-child .nav-arrow {
    margin-left: 0.5rem;
    margin-right: 0;
}

.nav-title {
    flex: 1;
    font-size: 22px;
}

/* Message d'accès refusé */
.access-denied-message {
    border-radius: 5px;
    max-width: 600px;
}

.access-denied-message a {
    color: #0073aa;
    text-decoration: none;
    font-weight: 500;
}

.access-denied-message a:hover {
    text-decoration: underline;
}

/* Indentation hiérarchique pour les sous-formations */
.sous-formations-liste {
    padding-left: 0;
}

.sous-formations-liste .formation-parente {
}

.sous-formations-liste .formation-parente:before {
    content: "↑";
    margin-right: 0.5rem;
    color: #0073aa;
    font-weight: bold;
}

.sous-formations-liste .sous-formation {
    position: relative;
}

.sous-formations-liste .sous-formation:before {
    content: "├─";
    position: absolute;
    left: 0.5rem;
    color: #0073aa;
    font-weight: bold;
}

.sous-formations-liste .sous-formation:last-child:before {
    content: "└─";
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .formation-navigation {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .nav-prev,
    .nav-next,
    .nav-first-child {
        flex: none;
        width: 100%;
        text-align: center;
    }
    
    .nav-link {
        width: 100%;
    }
}





/*************** BOUTIQUE *****************/

#contenu .woocommerce-error:focus, #contenu .woocommerce-message {outline: 0;}
#contenu .woocommerce-error::before {left: 25px;}
#contenu .woocommerce-message { border-top: 0 !important;}
#contenu .woocommerce-message::before {color: var(--main-color-bleu);}
#contenu .woocommerce-error {border-radius: 5px; padding-bottom: 20px !important;}
#contenu .woocommerce-error li {padding-left: 50px !important;}
#contenu .woocommerce-error li::before {display: none !important;}
#contenu .woocommerce-error li a {display: block !important; text-decoration: none; margin-top: 30px;}
.wp-element-button { display: inline-block !important;}

#contenu .wc-block-cart {font-size: 20px;}
#contenu .wc-block-cart a:not(.wp-element-button) {color: var(--main-color-bleu); }

.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {width: auto !important; background-color: transparent!important;}
.wc-block-components-validation-error p {font-size: 16px !important;}

.wp-block-woocommerce-cart.is-loading, .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {display: none !important;}

.woocommerce-MyAccount-navigation li {padding: 0}
.woocommerce-MyAccount-navigation li::before {display: none;}
.woocommerce-MyAccount-navigation li a {text-decoration: none !important; padding: 5px 10px; border: 1px solid var(--main-color-bleu); display: block; margin-bottom: 10px; border-radius: 5px;}
.woocommerce-MyAccount-navigation li.is-active a {background-color: var(--main-color-bleu); color: #fff !important;}
.woocommerce-info::before {color: var(--main-color-bleu);}
.woocommerce-info {border-top-color: var(--main-color-bleu);}
.woocommerce-info .wc-forward {display: none !important;}
.woocommerce-Address h2 {font-size: 30px !important;}

.ppcp-messages {display: none !important;}

.woocommerce-Address header {position: relative; width: auto;}
.woocommerce-account .addresses .title .edit {float: none; color: var(--main-color-bleu);}
.woocommerce-Button {margin-top: 20px !important; font-size: 16px;}

#contenu .wp-block-woocommerce-cart-order-summary-block span, #contenu .wc-block-cart-items span, .wc-block-cart-item__wrap, .wc-block-cart-item__wrap a, .wp-block-woocommerce-cart-order-summary-block h2, .wc-block-components-panel__button, .wc-block-components-text-input label, .wc-block-components-text-input input, #contenu .wc-block-components-address-card, .wc-block-components-checkbox, .wc-block-components-checkbox span, .wc-block-components-checkout-return-to-cart-button, .wp-block-woocommerce-checkout-order-summary-block, .woocommerce-order {font-size: 20px !important;}

.wc-block-components-text-input {transform: none !important;}

.wp-block-woocommerce-checkout-terms-block span, .wc-block-components-address-card__edit {font-size: 16px !important; }

#contenu .wp-block-woocommerce-cart-order-summary-block span, #contenu .wc-block-cart-items span {font-weight: bold !important;}
.wc-block-components-title.wc-block-components-title, .wc-block-components-totals-wrapper:last-child .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item-tax-value, .woocommerce-order section h2 {font-weight: bold; font-size: 24px; padding-bottom: 20px;}

.woocommerce-customer-details--phone {margin-top: 30px;}
.woocommerce-customer-details--phone, .woocommerce-customer-details--email {padding: 0 !important;}
.woocommerce-customer-details--phone::before, .woocommerce-customer-details--email::before {display: none;}

.wc-block-components-textarea {color: var(--main-color-bleu) !important; font-size: 20px;}

.wc-block-checkout__terms a {color: var(--main-color-bleu);}


/* masquer temporairement les mentions paypal facultatives */

.wc-block-components-checkout-step__heading, #radio-control-wc-payment-method-options-ppcp-gateway__content {display: none !important;}



/*************** COOKIES ******************/

#klaro #id-cookie-notice {font-size: 16px; margin-top: 0; margin-bottom: 20px; color: var(--main-color-bleu);}
.klaro .cookie-modal a, .klaro .context-notice a, .klaro .cookie-notice a {color: var(--main-color-bleu);}
.klaro .cookie-modal .cm-btn.cm-btn-success, .klaro .context-notice .cm-btn.cm-btn-success, .klaro .cookie-notice .cm-btn.cm-btn-success {background-color: var(--main-color-bleu);}
#klaro .cn-body {padding: 20px;}
.klaro .cookie-modal .cm-list-input.required:checked + .cm-list-label .slider, .klaro .context-notice .cm-list-input.required:checked + .cm-list-label .slider, .klaro .cookie-notice .cm-list-input.required:checked + .cm-list-label .slider, .klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider, .klaro .context-notice .cm-list-input.half-checked:checked + .cm-list-label .slider, .klaro .cookie-notice .cm-list-input.half-checked:checked + .cm-list-label .slider, .klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider, .klaro .context-notice .cm-list-input:checked + .cm-list-label .slider, .klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider {background-color: var(--main-color-violet) !important;}

.klaro .cookie-notice .cn-decline {background-color:#AFAFAF;}

#klaro .cm-header p {font-size: 19px;}
#klaro .cm-list-description {font-size: 14px !important; margin: 10px 0 !important;}


@media (min-width: 1024px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) {
    border-radius: 5px;
    max-width: 350px;
  }
}


