/* Accueil site */

@font-face {
    font-family: 'gunny_rewrittenregular';
    src: url('../polices/gnyrwn971-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


/*
@font-face {
    font-family: 'gunny_rewrittenregular';
    src: url('../polices/gnyrwn971-webfont.eot');
    src: url('../polices/gnyrwn971-webfont.eot?#iefix') format('embedded-opentype'),
         url('../polices/gnyrwn971-webfont.woff') format('woff'),
         url('../polices/gnyrwn971-webfont.ttf') format('truetype'),
         url('../polices/gnyrwn971-webfont.svg#gunny_rewrittenregular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
  */

i.icon.fa.fa-check {
    align-items: center;
    border-radius: 50%;
    /* box-shadow: 0 10px;        supprimé car inutule ici, Thierry */
    color: #fff;
    display: flex;
    font-size: 18px;
    height: 40px;
    justify-content: center;
    left: 0;
    position: absolute;
    /* top: 0; */
    transition: all .3s ease;
    width: 40px;        
    opacity: 0.6;
}

.slogan {
	font-family: 'gunny_rewrittenregular', cursive;
	font-size: 1.4em;
    padding-right: 40px;
    text-align: right;
    /*background: #fff;*/
    color: #EA015B;
    font-weight: 600;
	background: transparent;
}


.rose  {
	background-color: #EA015B;
}

.rouge {
	background-color: #ef5c72;
}

.orange {
	background-color: #f89321;
}

.jaune { 
	background-color: #ffff00;
}

.bleu { 
	background-color: #00b9ff;
}

.violet {
	background-color: #7054e6;
}


li.bouton {
    color: #191e24;            
    display: flex;
    flex-direction: column;
    font-size: 20px;
    font-weight: 700;
    justify-content: center;
    letter-spacing: -.01em;
    line-height: 30px;
    margin-bottom: 20px;
    min-height: 50px;
    padding-left: 50px !important;
    padding-right: 20px;
    position: relative;
}

.entry-content {
    margin: 30px;
}

.entry-content h2 {
	margin: 36px 0 12px;
	font-size: 1.8rem;
	color: #004f7c;
	line-height: 1.3;
}

.entry-content h3 {
	margin: 36px 0 12px;
	font-size: 1.6rem;
	color: #004f7c;
}

.entry-content h4 {
	margin: 36px 0 12px;
	font-size: 1.4rem;
	color: #004f7c;
}


.fond-cahier-header {
    background-image: url(../img/fond-cahier.gif);
    background-repeat: repeat;
    background-color: rgb(255 255 255 / 38%);
    background-blend-mode: lighten;
}

.col-12.col-lg-9.order-lg-2.order-1 p,
.col-12.col-lg-9.order-lg-2.order-1 ul {
    background-color: transparent; 
    margin: 0; 
}

/* alignement des images */
.alignleft {
    float: left
}

.alignright {
    float: right
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

blockquote.alignleft,figure.wp-caption.alignleft,img.alignleft {
    margin: 7px 24px 7px 0
}

.wp-caption.alignleft {
    margin: 7px 14px 7px 0
}

blockquote.alignright,figure.wp-caption.alignright,img.alignright {
    margin: 7px 0 7px 24px
}
/* FIN alignement des images */


.entry-content a,.entry-summary a,.page-content a,.comment-content a,.comment-respond a {
	color: #004f7c;
	font-weight: 600;
    text-decoration: underline;
}

.entry-content a:hover,.entry-summary a:hover,.page-content a:hover,.comment-content a:hover,.comment-respond a:hover,.entry-content a.button,.entry-summary a.button,.page-content a.button,.comment-content a.button {
    text-decoration:underline dotted;
}

a.black-link {
    text-decoration: none;
    color: black;
}

embed,iframe,object,video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    max-width: 100%;
    border: 0;
}
/* les liens postnavigation #post-nav*/
#post-nav a, #secondary a, #primary .entry-meta a, #primary .entry-footer a, #comments .comment-meta a {
    color: #212529;
    text-decoration: none; 
    transition: color 0.3s ease;
}

/* Style pour les liens au survol */
#post-nav a:hover, #secondary a:hover, #primary .entry-meta a:hover, #primary .entry-footer a:hover, #comments .comment-meta a:hover {
    color: #e63946; 
}
/* FIN les liens postnavigation #post-nav*/

/* Cacher les puces uniquement pour le contenu  à modifier avec des ID */
#secondary ul, #secondary li, ul .children {
    list-style-type: none;
    padding-left: 0;
}


h1.entry-title {
    margin-bottom: 18px;
    padding: 0.1em 0.4em;
    border-radius: 0.8em 0.3em;
    background: transparent;
    /* background-image: linear-gradient(to right, rgb(2 51 107), #053364 4%, rgb(4 50 100 / 56%));        commenté par Thierry */
    -webkit-box-decoration-break: clone;
    font-size: 2.2rem;
    font-family: franklin gothic;
    color: #EA015B;
	line-height: 1.2;
}


/* Breadcrumb */
.btn-group-xs > .btn, .btn-xs {
  padding: .4rem .4rem;
  font-size: .875rem;
  line-height: .5;
  border-radius: .2rem;
}
/* fin Breadcrumb */
/* Commentaires en bas d'article ou page */
.comments-link a:before {
    content: "\f075";
    font-family: 'FontAwesome';
	padding-right : 2px;
}

.comments-title {
    margin-bottom: 18px;
    padding: 0.3em 0.4em;
    border-radius: 0.8em 0.3em;
    background: transparent;
    background-image: linear-gradient(to right, rgb(2 51 107), #053364 4%, rgb(4 50 100 / 56%));
    -webkit-box-decoration-break: clone;
    font-size: 1.2rem;
    color: white;
}

.comment-reply-title {
    margin-bottom: 18px;
    padding: 0.3em 0.4em;
    border-radius: 0.8em 0.3em;
    background: transparent;
    background-image: linear-gradient(to right, rgb(2 51 107), #053364 4%, rgb(4 50 100 / 56%));
    -webkit-box-decoration-break: clone;
    font-size: 1.4rem;
    color: white;
}

#respond textarea {
    resize: vertical;
    color: #2b2b2b;
    font-family: Lato, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    width: 100%;
	background-color: white;
	border: 1px solid #023564;
}

.comment-list {
    list-style: none;
    margin: 30px;
    padding: 0;
}

.comment-list .children {
    list-style: none;
}

.comment-list .media {
    margin-bottom: 30px;
    padding-bottom: 15px;
}

.comment-list .comment-author {
    font-size: 1.2em;
    font-weight: bold;
    color: #333;
}

.comment-list .comment-date {
    font-size: 0.9em;
    color: #999;
}

.comment-list .comment-content {
    margin-top: 10px;
    font-size: 1em;
    line-height: 1.6;
}

.comment-list .reply {
    margin-top: 10px;
}

.comment-list .reply a {
    color: #004f7c;
    text-decoration: none;
}

.comment-list .reply a:hover {
    text-decoration: underline;
}

.comment-list .avatar {
    float: left;
    margin-right: 10px;
    border-radius: 50%;
}

.testimonial_rotator_prev, .testimonial_rotator_next {
    color: rgb(2 53 100)!important;
}

.recurrence {
    text-align: justify;
    font-weight: 400;
    color: #000;
    background-color: #f2f4f5
}

.testimonial_rotator_author_info {
    color: #EA015B;
    font-size: 1.1em;
}

.testimonial_rotator_slide_title {
    font-style: italic;
    padding-bottom: 10px;
    font-size: 1.1em;
    font-weight:400;
}

div.testimonial_rotator_quote {
    font-style: italic;
}

pre.python {
    background-color: #f2f4f5;
    padding: 20px;

}

code.python {
    color: red;
    font-size: 1.1em;
}


#commentform {
	margin:	30px;
}

.media-body {
    background-color: #fff;
    border: 1px solid #28303d29;
    font-weight: 400;
    border-radius: .25rem;
    padding: 5px;
}

@media screen and (min-width: 846px) {
    .comment-list .children {
        margin-left: 20px;
    }
}

/* widget de gauche */
#gauche {
    border: 1px solid #023564;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #023564;
    /*border-radius: 12px;*/
    background-color: transparent;
    margin-bottom: 0;
    padding: 20px;
    font-size: 16px;
    font-weight: 600;
	margin-bottom: 20px;
	border-radius: .25rem;
}

.widget_categories li {
    margin-bottom: 5px;
}


/* Widget 5 - Bleu */
#gauche .widget div.widget-title {
	margin-bottom: 18px;
    padding: 0.1em 0.4em;
    border-radius: 0.8em 0.3em;
    background: transparent;
    /* background-image: linear-gradient(to right, rgba(33, 150, 243, 0.1), #009fe1 4%, rgb(33, 150, 243, 0.3));*/
	/* background-image: linear-gradient(to right, rgb(2 51 107), #053364 4%, rgb(4 50 100 / 56%));      */
    -webkit-box-decoration-break: clone;
    font-size: 1.8rem;
    font-family: franklin gothic;
	color: #EA015B;
}


input.search-field {
    width: 100%;
}

.widget {
    font-size: 15px;
    hyphens: auto;
    line-height: 1.2857142857;
    margin-bottom: 48px;
    width: 100%;
    word-wrap: break-word;
}

.widget--footer {
    margin-top: 20px;
}

.widget_recent_entries li {
        border-top: 0;
        padding: 0 0 6px;
    }

/* FIN widget de gauche */

	
/* CSS pour les stages scolaires */
#stages-widget {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100%; 
    /*background-color: #ffecb3;*/
    border-radius: 10px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15);
    padding: 10px; /*20px auparavant*/
    box-sizing: border-box;
    position: relative;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

#stages-widget:hover {
    transform: scale(1.02); 
    /* background-color: #fff9c4; */
}


/* Titre du widget */
#stages-widget p {
    font-size: 1.2rem;
    color: #333;
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 10px;
    /*border-bottom: 2px dashed #ddd;*/
    width: 100%;
}

/* Liste des stages */
#stages-widget ul {
    margin-top: revert; /* remet de la marge en haut - Thierry */
    list-style-type: none;
    padding: 0;
    width: 100%;
}

/* Items de la liste */
#stages-widget ul li {
    margin-bottom: 15px;     
    padding: 10px;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    transition: all 0.3s ease;
    /*text-align: center;*/
    position: relative;
}

/* Style des liens */
#stages-widget ul li a {  
    text-decoration: none;
    /*font-size: 1.2rem;*/
    font-size: 1.03rem;
    color: #004f7c; 
    font-weight: bold;
    /* ajouts de 2 lignes ci-dessous pour empêcher la césure des mots - Thierry         */
    hyphens: none;
    word-break: keep-all;       
}


/* Effet souligné pour les liens */
#stages-widget ul li a:after {
    content: '';
    display: block;
    margin: auto;
    height: 2px;
    width: 0;
    background: transparent;
    transition: width .5s ease, background-color .5s ease;
}

#stages-widget ul li a:hover:after {
    width: 90%;
    background: red;
}

/* FIN CSS pour les stages scolaires */

/* header du site */
.lien-interne {
    color: #212529;
	font-weight: bold;
    text-decoration: none;
}
.lien-interne-white {
    color: #fff;
	font-weight: bold;
    text-decoration: none;
}

#page {
	margin: 0 auto;
	max-width: 1600px;
}


.wp-caption-text {
    margin-top: 5px; 
    font-style: italic; 
	margin-bottom: 15px;
}

.site-header {
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    color: var(--body-font-color);
    background-color: var(--white-color);
    padding-right: 0 !important;
    margin-right: 0 !important;
}

nav#site-header {
    background-color: white;
	padding-bottom: 30px;
}
.header--fixed {
    position: fixed!important;
    -webkit-box-shadow: 4px 4px 10px rgb(163 177 198 / 60%), -4px -4px 10px rgb(255 255 255 / 50%);
    box-shadow: 4px 4px 10px rgb(163 177 198 / 60%), -4px -4px 10px rgb(255 255 255 / 50%);
	transition: all .9s ease;
	/*height: 100px;*/
}

.logopetit {
    width: 85px!important;
    height: 100%!important;
    margin: 0;
	transition: all .9s ease;
}

.logo-mobile {
    display: none;
}

.fond-header {
    /* background-image: url('../img/crayons-pinceaux-trait.png');*/
    /* background-image: url('../img/fond-cours-thierry-header-couleurs.jpg');*/
	/* background-image: url('../img/fond-header-couleurs.jpg');           */
    background-size: cover; 
    background-position: right center; 
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

.bg-blanc {
    background-color: white;
}

@media(min-width: 1200px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1340px;
	}
}

@media(min-width: 992px) {
	.navigation-link {
		width: auto;
	}
	.header--fixed {
		height: 100px;
	}
}

@media (max-width: 768px) {
    .header {
        display: none;
    }
	nav#site-header {
    padding-bottom: 0px;
}
}

@media (max-width: 768px) {
    .logo-mobile {
        display: block;
        margin: 1rem !important;
        float: none;
        margin-right: auto;
        margin-left: auto;
    }
}

@media (max-width: 768px) {
    .navbar-top {
        background-color: #fff;
        position: relative;
        top: 100%;
        z-index: 10;
        width: 100%;
    }
}

.navigation-body-close-button {
border-radius: 50%;
}
/* menu accueil ajout mobile 30 octobre */
/* Alignement de base et style du hamburger */
.navigation-button-toggler {
    font-size: 24px; 
    cursor: pointer;
}

@media (max-width: 992px) {
    /* Alignement pour mobile */
    .container-fluid.d-flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .navigation-body.collapse {
        display: none; 
    }
    .navigation-body.collapse.show {
        display: block; 
    }
	.navigation-header {
		width: auto;
	}
	.bouton-mobile{
		min-width: 200px;
        max-width: 200px;
	}
}
/* FIN menu accueil ajout mobile 30 octobre */


/* formulaire de contact */
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]), textarea {
    border: 1px solid #222222;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #222222;
    border-radius: 12px;
    background-color: transparent;
    margin-bottom: 0;
    padding: 0 20px;
    width: 100%;
    /*height: 50px;*/
    font-size: 16px;
    font-weight: 400;
    -webkit-transition: all .3s linear;
}


input[type="submit"] {
    font-weight: 400;
    text-transform: uppercase;
    background: #28303d;
    color: #fff;
    padding: 8px 15px;
    margin: 0;
    position: relative;
    font-size: 15px;
    letter-spacing: 3px;
}
.wpcf7 .screen-reader-response ul {
    display: none;
}

.wpcf7-not-valid-tip {
color: red;
}
.wpcf7-response-output {
    /*display: none;*/
	border-color: #4d4d4d;
    color: black;
    padding-top: 50px;
    font-weight: bold;
    font-size: 18px;
}

.wpcf7 {
    padding: 0 20px;
}

.accept-message span.wpcf7-list-item * {
    display: inline;
    text-align: left;
}

.wpcf7-form span.your-consent { float: left; margin-right: 20px;}
.wpcf7-form span.your-consent input[type=checkbox] { margin: 0; }
.wpcf7-form span.your-consent input[type=checkbox] { width: 10px; height: 10px; margin: 0; }

.wpcf7-submit {  
margin-top: 20px;
max-width: 120px 
}

.wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Espacement entre les cases */
    align-items: center;
}

.wpcf7-form-control input[type="checkbox"] {
    margin-right: 5px; /* Espacement entre la case et le texte */
}

.wpcf7-form-control-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 15px; /* Espacement entre chaque élément */
    align-items: center;
}

@media only screen and (min-width : 240px) {
   .wpcf7-textarea,
   .wpcf7-text {
     max-width: 100%;
     padding: 3px 10px !important;
   }
}

.displayInline-block .wpcf7-form-control-wrap {
    float: none !important;
    display: inline-block !important;
}
/*.wpcf7-form input {width:100% !important;}*/
.wpcf7-form input[type="text"], input[type="email"], input[type="tel"] {
	width:100% !important;
	color: #4e4e4e;
    padding: 12px 16px;
	height: 40px;
	}
	
.wpcf7-form textarea {
	width:100% !important;
	color: #4e4e4e;
	}
	
em.black {
    color: black;
    font-weight: 400;
}

span.wpcf7-list-item {
	display: table-row;
} 
span.wpcf7-list-item * {
	/*display: table-cell;*/ 
	text-align: left;
}
span.wpcf7-list-item-label {
	/*padding-left: 0.5em;*/
}
.accept-message span.wpcf7-list-item * {
    display: inline;
    text-align: left;
}

.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors {
    color: #D8000C;
    background-color: #FFBABA;
    border: 0;
    padding: 10px;
}
.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok {
    color: #4F8A10;
    background-color: #DFF2BF;
    border: 0;
    padding: 10px;
}
div.wpcf7-mail-sent-ok:before,div.wpcf7-validation-errors:before {
    font: 26px/30px dashicons;
    margin-right: 16px;
    vertical-align: middle;
}
div.wpcf7-mail-sent-ok:before {
    content: "\f147";
}
div.wpcf7-validation-errors:before {
    content: "\f158";
}

.wpcf7 form.sent div.container {
	display: none;
}
label {
	padding-top: 20px;
	width: 95%;
}

/* FIN Contact Forme 7 */

/* ================= actualite du site ======================*/
.entry-meta {
    clear: both;
    text-transform: uppercase;
	margin:	30px;
}

.entry-title {
    font-size: 25px;
    line-height: 24px;
    margin-top: 20px;
    margin-bottom: 5px;
    padding-top: 0;
}

.entry-date {
    color: #212529;
    display: block;
    line-height: 24px;
    right: 0px;
	/*margin-left: 5px;*/
}

.comments-link {
    margin-left: 5px;
    display: block;
    line-height: 24px;
    right: 0px;
}

.entry-detail {
    border: solid 2px hsl(0deg 0% 0%);
    display: inline-block;
    margin: 5% auto;
    border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
    padding: 1em;
    line-height: 1.5em;
}

.attachment-post-thumbnail { /* voir celui qui marche attachment-post-thumbnail size-post-thumbnail wp-post-image */
    max-width: 100%;
    height: auto;
}

.block_auteur {
    display: block;
    padding: 10px 10px 10px;
    background-color: #1b2024;
    background: rgba(27,32,36,0.9);
}

.block_auteur p {
    color: #fff;
}

.bordure_news { 
    border: solid 3px hsl(0deg 0% 0%);
    display: inline-block;
    width: 20%;
    margin: 1% auto;
    border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
    padding: 1em;
    line-height: 1.5em;
    /* background: hsla(67, 95%, 95%, 1); */
}

.entry-meta {
    display: flex;
}


span.byline {
    margin-left: 5px;
}

/* Styles spécifiques pour les mobiles */
@media (max-width: 768px) {
    .entry-meta {
        display: block; 
        text-align: left; 
		border: 1px solid #ddd; 
		border-radius: 5px; 
		padding: 10px; 
		margin: 10px;
    }

    .entry-meta > span {
        display: block; 
        margin-left: 0; 
        margin-top: 5px; 
    }

    .entry-meta > span:first-child {
        margin-top: 0; 
    }
	.entry-date {
    margin-left: 0px;
}
}

#post-nav{clear: both; margin: 0 0 10px;}
#post-nav .nav-box{border: 1px solid #313539; padding: 10px;}
#post-nav img{float: left; margin: 0 10px 0 0;}
#post-nav p{margin: 0 10px; vertical-align: middle;}
#post-nav .previous{float: left; vertical-align: middle;}
#post-nav .next{float: right; vertical-align: middle; }

/* Problème image responsive eurowebpage.com/blog/displays-images-with-inappropriate-size*/
.img-logo {
		object-fit: contain;
	}

.img-fluid {
		object-fit: contain;
	}
	
/* https://web.dev/content-visibility/ mise en place page actualité à tester si trop d'articles */

.article_visibility {
	content-visibility: auto;
	/*contain-intrinsic-size: 600px;*/
	}
	
.eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.row-accroche {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.block_auteur { /* pour le svg */
    fill: #ffffff;
}

/* Opacité des images */

.opacity-img img {
	opacity: 1;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.opacity-img img:hover {
	opacity: .5;
}

.round-inner { 
border-radius: 5px; 
}

/* contact form envoi du message */
div.wpcf7-mail-sent-ok:before,div.wpcf7-validation-errors:before {
    font: 26px/30px dashicons;
    margin-right: 16px;
    vertical-align: middle;
}
div.wpcf7-mail-sent-ok:before {
    content: "\f147";
}
div.wpcf7-validation-errors:before {
    content: "\f158";
}

.wpcf7 form.sent div.container {
	display: none;
}

.text-line-height-16 {
	line-height: 1.6;
}

.text-penche-titre {
	/*font-family: 'Bebas Neue','Helvetica',Arial,sans-serif;*/
    line-height: 1;
    padding: 10px 15px 5px;
    color: #fff;
    display: inline-block;
    background: #013f46;
    font-size: 2.1875rem;
    font-weight: 400;
    float: left;
    clear: both;
    margin: 30px 0;
    transform: rotate(-3deg);
}

/* footer de la page */
@media (min-width: 1200px){
	footer .footer-showroom {
		padding-top: 60px;
		/*padding-bottom: 60px;
		margin-bottom: 80px;*/
	}
}

@media (min-width: 992px) {
	footer .footer-showroom {
		padding-top: 60px;
		/*padding-bottom: 60px;
		margin-bottom: 60px;*/
	}
}

@media (min-width: 768px) {
	footer .footer-showroom {
		padding-top: 40px;
		/*padding-bottom: 40px;
		margin-bottom: 40px;*/
	}
}

footer .footer-showroom {
    padding-top: 30px;
    /*padding-bottom: 30px;
    margin-bottom: 15px;*/
    border-bottom: 1px solid #073465;
	background-color: #073465;
}

footer#site-footer {
    background-color: #073465;
    color: white;
}

.call-us-footer {
    color: white;
    text-decoration: none;
}

.call-us-footer:hover, .call-us-footer:active {
    color: white;
    font-weight: 600;
	letter-spacing: 1px;
    transition: all .3s ease;
}

.btn.btn-clean {
    background-color: transparent;
    border-color: #fff;
    color: #fff !important;
}

.btn-clean:hover,.btn-clean:active {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #28303d !important;
}

.btn.btn-clean-inverse {
    background-color: white;
    border-color: #28303d;
    color: #28303d !important;
	font-weight: 600;
}

.btn-clean-inverse:hover,.btn-clean-inverse:active {
    background-color: #28303d;
    border-color: #28303d;
    color: #fff !important;	
}

.bouton-reserver {
    color: #fff !important;
    background-color: #608019;
    border-color: #608019;
    position: relative;
    overflow: hidden;
    display: inline-block;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.25;
    /*border: 2px solid;*/
    border-radius: .25rem;
    font-family: poppins, sans-serif;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
    user-select: none;
    transition: .25s;
}

.bouton-reserver:hover, .bouton-reserver:active{
    color: #608019!important;
    background-color: #fff;
    border-color: #608019;
}

a#book-button, a#book-button-droit {
    min-width: 200px;
    max-width: 200px;
}

hr.separation {
    margin-top: 20px;
    margin-bottom: 10px;
    border-top: 1px solid #eee;
}

.widget_links ul a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 15px;
	text-decoration: none;
	color: white
}

.widget_links .menu-item {
    margin-bottom: 10px;
    font-size: 16px;
}

.widget_links ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
	padding-top: 20px;
}

.widget_links ul a {
    position: relative;
    color: inherit;
    transition: all .3s ease;
    padding-left: 15px; 
}

.widget_links ul a:hover {
    color: white;
}

.widget_links ul a::before {
    content: "•"; 
    position: absolute;
    left: 0;
    opacity: 0;
    color: #ffffff; 
    font-size: 1.2em;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transform: translateX(-5px); 
}

.widget_links ul a:hover::before {
    opacity: 1;
    transform: translateX(0); 
}

.widget--footer {
    margin-top: 20px;
}

.copyright-footer {
    font-size: 12px;
}

.copyright-footer a {
    color: white;
    text-decoration: none;
}
/* FIN footer page */

/* page accueil */
#container {
    width: 100%;
    max-width: 1600px;
}

.ratio-image {
    object-fit: cover;
    width: 100%;
    height: 100%!important;
}

.text-bloc-h2 {
    /*margin: -86px 20px 0 40px;*/
	margin: -96px 20px 40px 40px;
	font-size: 38px;
	color: black;
}

.blanc {
	color : white;
}

.text-bloc {
	/*margin: 16px 20px 20px 40px;*/
	margin: 40px;
}

.text-justify {
    text-align: justify!important;
}

.short-div {
    height: 50%;
	/*height: 50vh;*/
}

.short-div p {
    margin-top: 0; 
    margin-bottom: 0;
}

/* FIN page accueil */

/* Mentions Légales */
.bordure_bloc {
    border: solid 5px hsl(0deg 0% 31%);
    display: inline-block;
    margin: 5% auto;
    border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
    padding: 1em;
    line-height: 1.5em;
}
/* FIN Mentions Légales */

/* menu et soulignement des liens du menu */
.navigation-body {
    border: #043168 solid 1px;
	border-radius: .25rem;
}

.navigation.sticky-top {
    z-index: 1800!important;
    }

.navigation-menu > li > a.navigation-link:after {
    content: '';
    display: block;
    position: absolute;
    bottom: 10px;
    height: 2px;
    width: 0;
    background: transparent;
    transition: width 0.5s ease, background-color 0.5s ease;
}

.navigation-menu > li > a.navigation-link:hover:after {
    width: 80%; /* Largeur du soulignement sur hover */
    background: #4e4e4e; /* Couleur du soulignement */
}

/* Désactiver le soulignement pour les sous-menus */
.navigation-menu .sub-menu a.navigation-link:after {
    content: none; 
}

/* Masquer les sous-menus par défaut */
.navigation-menu .sub-menu {
    display: none; 
}


/* Afficher les sous-menus au survol du parent */
.navigation-menu li:hover > .sub-menu {
    display: block; 
}

/* Optionnel : ajouter une animation */
.navigation-menu .sub-menu {
    transition: all 0.3s ease;
}

a.navigation-link {
    color: #4e4e4e;
    font-weight: 600;
    font-size: 16px;
}

@media (min-width: 992px) {
    .navigation-link {
      padding: 20px 10px;
      } 
}

/* Ajuster la taille des liens dans le sous-menu */
.navigation-menu .sub-menu a {
    display: block; 
    padding: 10px 15px; 
    font-size: 14px; 
    text-align: left; 
}

/* Ajuster la taille des items de sous-menu */
.navigation-menu .sub-menu li {
    padding: 5px 0; 
}

/* Style général du sous-menu */
.navigation-menu .sub-menu {
    background-color: #fff; 
    border: 1px solid #ddd; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.1); 
    border-radius: 5px; 
    max-width: 400px; 
    top: 100%; /* Juste en dessous du parent */
    z-index: 1000; 
	transition: max-height 0.3s ease, opacity 0.3s ease; 
}

/* Style du chevron pour les liens ayant des sous-menus */
.submenu-fleche {    
	font-weight: 900;
    font-size: 20px;
    margin-left: 5px;
    color: inherit;
    display: inline-block; 
    transition: transform .3s ease; 
}

/* Option : faire pivoter le chevron au survol */
.menu-item-has-children > a:hover .submenu-fleche {
    transform: rotate(90deg); 
}

@media (min-width: 992px) {
    .navigation-body {
		height: 60px;
    }
	.navigation-menu .sub-menu {
        position: absolute;
	}
	a.navigation-link {
		font-size: 20px;
		margin-right: 10px;
    }
	}
	ul .sub-menu li a.navigation-link {
    color: #4e4e4e;
    font-weight: 600;
    font-size: 16px;
	}
} 
/* FIN menu et soulignement des liens du menu */

/* lozange sur les images  https://bennettfeely.com/clippy/ */
@media(min-width: 992px) {
	.img_trapeze_gauche{
		clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
		}
	.img_trapeze_droit{
		clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
		}
}


/* FIN lozange sur les images */


/**** si ecran 1600px large *******/
@media only screen and (min-width : 1600px) {
	.img-fluid {
		max-width: 100%;
		height: auto;
		width: 100%;
	}
	
}

/* Article */
.text-right {
    text-align: right !important;
}

.temoignages {
    padding-top: 10px;              
    border: 2px outset #EA015B;
    border-radius: 32px 0 32px 0;
    font-size: 1.2em;
    color:#212529;
    font-style: normal;
    background-color: #fff;
    margin: 2rem 0;
}
@media (min-width: 992px) {
	.temoignages {
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}

.promo {
    margin-top:40px;
    margin-bottom:40px;
    color: #EA015B;
    font-size: 1.2em;
    padding: 20px 10px;
    border: 2px solid;
    border-color: #EA015B;
    border-radius: 10px;
    text-align: center;
}
@media (min-width: 992px) {
	.promo {
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}


/* Fin Article */

/* Page 404 */ 
@media (max-width: 991px) {
	.category-title-50 {
		margin: 10% 0;
	}
}

@media (min-width: 992px) {
	.category-title-50 {
		margin-top: 10%;
		margin-left: 10px;
		color: white;
	}
}
.color-vert-fonce {
    background: #1b4918;
}
/* FIN Page 404 */ 


/* woocommerce product */
.woocommerce-breadcrumb a, a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
    color: #023564;
    text-decoration: none;
}

.product_list_widget li {
    padding-bottom: 20px;
}

.widget span.woocommerce-Price-amount.amount {
    display: none;
}

img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    width: 100%;
	height: auto;
    padding: 10px;
}

span.product-title {
    display: inline-block;
    max-width: 100%;
    padding: 10px;
    margin: 0 auto; 
    box-sizing: border-box; 
    overflow-wrap: break-word; 
    text-align: center; 
}

ul.tabs.wc-tabs {
    display: none;
}

@media (max-width: 768px) {
	h1.product_title.entry-title {
		font-size: 16px!important;
		margin-top: 20px!important;
	}
    .single-product div.product .woocommerce-product-gallery {
        float: none;
        display: flex;
        justify-content: center;
        margin: 0 auto;
		width: 100%;
    }	
	.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    top: 2em!important;
    right: 3em!important;
	}
}

.single_add_to_cart_button.button.alt, .woocommerce-cart-form__contents button.button {
    background-color: white !important;
    border-color: #023564 !important;
    color: #023564 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    padding: 10px 20px;
    border-radius: 5px;
}

.single_add_to_cart_button.button.alt:hover,
.single_add_to_cart_button.button.alt:focus,
.single_add_to_cart_button.button.alt:active, .woocommerce-cart-form__contents button.button:hover,
.woocommerce-cart-form__contents button.button:focus,
.woocommerce-cart-form__contents button.button:active {
    background-color: #023564 !important; 
    border-color: #023564 !important; 
    color: #fff !important; 
    text-decoration: none; 
    transition: all 0.3s ease; 
}

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
    margin-bottom: 20px;
}

.cart.woocommerce-cart-form__contents, .cart_totals {
    background-color: #fff;
}

.product-remove .remove {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    color: #287efd;
    background-color: transparent;
    border: 2px solid #287efd;
    border-radius: 50%;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}

.product-remove .remove:hover {
    background-color: #287efd;
    color: #fff;
    text-decoration: none;
    transform: scale(1.1);
    box-shadow: 0 4px 8px rgba(40, 126, 253, 0.4);
}

.woocommerce table.my_account_orders th, .woocommerce table.shop_table.cart th {
    font-size: 14px;
    padding: 0!important;
}

.woocommerce-product-gallery {
    max-width: 100%;
    margin-bottom: 20px; /* Pour éviter que l'image touche le texte */
}

.woocommerce-product-gallery img {
    width: 100%;
    height: auto;
}

.woocommerce-tabs.wc-tabs-wrapper {
    border: 1px solid #023564!important;
    color: #000;
    border-radius: 0.3em;
    padding: 10px;
}

.summary.entry-summary {
    text-align: left;
}

@media (max-width: 768px) {
    .woocommerce-product-gallery {
        margin-bottom: 30px;
    }

    .summary.entry-summary {
        text-align: center;
    }

    /*.single_add_to_cart_button {
        display: inline-block;
        margin: 10px auto;
    }*/
}
/* FIN woocommerce product */

/* Menu de recherche modal avec une icône */
.menu-search-icon a {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 992px) {
	.menu-search-icon a {
		display: flex;
		align-items: center;
		justify-content: normal;
	}
}

.menu-search-icon a::before {
    content: "\f002"; /* Unicode Font Awesome pour la loupe */
    font-family: "FontAwesome";
    font-size: 18px;
    color: inherit;
	padding-right: 5px;
}

.search-form {
    display: flex;
    align-items: center; 
    justify-content: flex-start; 
}

.search-field {
    margin-right: 10px; 
    border: 1px solid #ccc;
    border-radius: 5px;
	margin-bottom: 20px;
}

input.search-field {
    height: 48px;
    line-height: 46px;
    color: rgb(0, 0, 0);
    max-width: 100%;
    background-color: rgb(245, 245, 245);
    border-width: 1px;
    border-style: solid;
    border-color: rgb(245, 245, 245);
    border-image: initial;
    padding: 0px 20px;
    border-radius: 3px;
}

.search-submit {
    background-color: #333; 
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 5px;
}

.search-submit i {
    font-size: 16px; 
}

/* Style de base du modal */
.custom-search-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); 
    z-index: 2000; 
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.3s ease, visibility 0.3s ease; 
}

/* Contenu du modal */
.custom-search-modal-content {
    background: #fff;
    padding: 20px;
    width: 80%;
    max-width: 600px;
    border-radius: 8px;
    position: relative;
    text-align: center;
}

.media-search {
    background-color: #fff;
    border: 1px solid #28303d29;
    font-weight: 400;
    border-radius: .25rem;
    padding: 5px;
	margin-bottom: 20px;
}
/* FIN Menu de recherche modal avec une icône */

/* problème taille image mobile et autres */
.wp-caption.alignnone img,
.wp-caption.alignleft img,
.wp-caption.aligncenter img {
    max-width: 100%; 
    height: auto; 
    display: block;
}

.wp-caption.alignnone,
.wp-caption.alignleft,
.wp-caption.aligncenter {
    max-width: 100%; 
    overflow: hidden; 
}
/* FIN problème taille image mobile et autres */

/* Pagination */
.paging-navigation {
    border-top: 5px solid #000;
    margin: 48px 0
}

.paging-navigation .loop-pagination {
    margin-top: -5px;
    text-align: center
}

.paging-navigation .page-numbers {
    border-top: 5px solid transparent;
    display: inline-block;
    font-size: 14px;
    font-weight: 900;
    margin-right: 1px;
    padding: 7px 16px;
    text-transform: uppercase
}

.paging-navigation a {
    color: #2b2b2b
}

.paging-navigation .page-numbers.current {
    border-top: 5px solid #24890d
}

.paging-navigation a: hover {
    border-top:5px solid #96f5f3;
    color: #2b2b2b
}
/* Pagination */

/* effet stabilo sur les mots avec class stabilo*/
.stabilovert, .stabilobluebleu, .stabilorouge {
    display: inline-block;
    position: relative;
    z-index: 100;
}

.stabilovert:before {
    content: '';
    display: block;
    background: #2dd04b;
    position: absolute;
    top: 5%;
    left: 0;
    right: 0;
    bottom: 10%;
    transform: rotate(-4deg);
    z-index: -1;
    border-radius: 100% 100% 10% 10% / 100% 100% 100% 100%;
}

.stabilobleu:before {
	content: '';
    display: block;
    background: rgba(0, 137, 255, 0.3);
    position: absolute;
    top: 5%;
    left: 0;
    right: 0;
    bottom: 10%;
    transform: rotate(-4deg);
    z-index: -1;
    border-radius: 100% 100% 10% 10%/100% 100% 100% 100%;
}	
.stabilorouge:before {
	content: '';
    display: block;
    background:#d0302d69;
    position: absolute;
    top: 5%;
    left: 0;
    right: 0;
    bottom: 10%;
    transform: rotate(-4deg);
    z-index: -1;
    border-radius: 100% 100% 10% 10%/100% 100% 100% 100%;
}	
/* FIN effet stabilo sur les mots avec class stabilo*/

/* popup du site */
#popmake-2544 {
    padding: 10px 20px 0;
    background: 
        url('../img/punaise.png') 50% 0 no-repeat, /* Image de la punaise */
        linear-gradient(to bottom, rgb(246, 187, 6), rgb(255, 229, 149)); /* Dégradé */
    background-color: rgb(246, 187, 6); /* Couleur de secours */
    border-bottom-left-radius: 10px;
}

#popmake-2544 .pum-content.popmake-content {
    font-weight: 500;
}

#idcheckbox {
    font-size: 85%;
}

#pum_popup_title_2544 {
    color: #EA015B;
    font-weight: 700;
    padding: 20px 14px 10px;
}

#popmake-2544 .wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]), textarea {
    background-color: white;
	margin: 10px 0;
}

#popmake-2544 input[type="submit"] {
    margin-top: 20px;
    border-radius: 10px;
}

#popmake-2544 .pum-close {
    background-color: grey;
    color: white;
}
			
/* popup du site */
/* recapcha invisible */
.grecaptcha-badge { 
    visibility: hidden !important;
}
/* FIN recapcha invisible */


/* --- Correction CLS pour la bannière "Réserver un cours !" --- */
.col-auto.text-center.d-none.d-lg-block {
  position: sticky;
  top: 0;
  z-index: 1000;
}


/* Bloquote */
blockquote.outilsdanalyse {
    text-align: justify;
    color: inherit;
    font-size: inherit;
}
blockquote {
    color: #767676;
    font-size: 19px;
    font-style: italic;
    font-weight: 300;
    line-height: 1.2631578947;
    margin-bottom: 24px;
}
/* Bloquote */

/*target des ID # */
h2:target, h3:target, h4:target, div:target, section:target {
    padding-top: 150px;
    margin-top: -150px;
}
/*target des ID # */

/* testimonial zindex */
.testimonial_rotator_prev, .testimonial_rotator_next {
    z-index: 300;
}
/* testimonial zindex */



/* Conteneur principal */
.avis-google-container {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

/* Partie "Derniers avis"   ne semble pas utile alors commenté - Thierry
.avis-google-text {
    font-family: inherit; 
}
*/

/* Partie "Google" */
.avis-google-logo {
    font-family: 'Google Sans', Arial, sans-serif;
    font-weight: bold;
}

/* Avis */
.avis-google-item {
    background: #ffffff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    text-align: justify;
    color: #212529;
    font-weight: normal;
    margin-bottom: 15px;
}

/* Étoiles de notation */
.avis-google-stars {
    font-size: 20px;
    margin-bottom: 10px;
}

/* Lien "Voir les avis" */
#view-all-reviews {
    display: block;
    font-size: 1rem;
    text-align: center; /* Centre le texte */
    text-decoration: none;
    margin-top: 10px;
}

/* Responsive */
@media (max-width: 768px) {
    .avis-google-widget-title {
        font-size: 1.1rem;
    }
}

/* Style du sommaire */     
div.sommaire, nav.sommaire {
  background-color: #f7f9fc;
  border: 1px solid #e0e6ef;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 1.5rem;
}

div.sommaire h4 {
	margin: 12px 0 12px;
	font-size: 1.2rem;
	color: #004f7c;
}

@media (min-width: 992px) {
	div.sommaire, nav.sommaire {
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}


ul.sommaire {
  list-style: none;
  font-size: 1.05rem;
}

ul.sommaire ul {
    margin-top: 0.5em; /* tous les ul imbriqués */
    list-style-type: none; 
}


ul.sommaire li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 24px;
}

ul.sommaire li::before {
  content: "➤";
  position: absolute;
  left: 0;
  color: #004f7c;
  font-size: 1rem;
  transition: transform 0.2s ease;
}

ul.sommaire li a {
  text-decoration: none;
  color: #004f7c;
  transition: color 0.2s ease;
}

ul.sommaire li a:hover {
  color: #002f4e;
  text-decoration: underline;
}

ul.sommaire li:hover::before {
  transform: translateX(4px);
}

/* h3 page d'accueil */
h2.accueil,
h3.accueil {
  position: relative;
  padding-left: 60px; /* Espace à gauche pour la puce */
  margin-top: 2rem;
  margin-bottom: 1rem;
  line-height: 1.4;
  background-color: transparent; /* bien s'assurer que le h3 reste blanc */
  z-index: 1;
}

/* Style commun de la puce "check" */
h2.accueil::before,
h3.accueil::before {
  content: "\f00c"; /* Font Awesome check */
  font-family: "FontAwesome";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.95rem;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  /* opacity: 0.6;         */
  z-index: 0;
}

/* Couleurs du rond de puce */
h2.accueil.rouge::before,
h3.accueil.rouge::before {
  background-color: #ef5c72;
}

h2.accueil.orange::before,
h3.accueil.orange::before {
  background-color: #f89321;
}

h2.accueil.bleu::before,
h3.accueil.bleu::before {
  background-color: #00b9ff;
}

h2.accueil.rose::before,
h3.accueil.rose::before  {
	background-color: #EA015B;
}

h2.franceinter,
h4.franceinter {
  position: relative;
  padding-left: 40px;
  color: #004f7c;
  background-color: transparent;
  line-height: 1.4;
}

h2.franceinter::before,
h4.franceinter::before {
  content: "\f130"; /* fa-headphones (Font Awesome) */
  font-family: "FontAwesome";
  position: absolute;
  left: 0;
  top: 56%;
  transform: translateY(-50%);
  font-size: 1.1rem;
  color: #004f7c;
  background-color: transparent;
  width: 1.1rem;
  height: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

h2.video-section {
  position: relative;
  padding-left: 40px;
  color: #004f7c;
  background-color: transparent;
  line-height: 1.4;
}

h2.video-section::before {
  content: "\f03d"; /* fa-video (Font Awesome video camera icon) */
  font-family: "FontAwesome";
  position: absolute;
  left: 0;
  top: 56%;
  transform: translateY(-50%);
  font-size: 1.1rem;
  color: #004f7c;
  background-color: transparent;
  width: 1.1rem;
  height: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
/*
h3.styleh5 {
  font-size: 1.2rem;
  color: #004f7c;
  font-weight: 500;
  position: relative;
  padding-left: 40px;
}
*/

@media (max-width: 768px) {
  .entry-content {
    margin: 5px;
  }
  
  div.sommaire h4 {
	font-size: 1rem;
}

  h1.entry-title {
    font-size: 1.3rem;
  }
  
  #gauche .widget div.widget-title {
    font-size: 1.3rem;
  }

  .entry-content h2,
  h2.accueil {
    margin: 12px 0 12px;
    font-size: 1.1rem;
    line-height: 1.4;
  }

  .entry-content h3,
  h3.accueil {
    font-size: 1rem;
  }

  .entry-content, h2.franceinter, h4,
  h4.franceinter {
    font-size: 1rem;
  }

  /* Ajustement de la taille et position des icônes */
  h2.accueil::before,
  h3.accueil::before,
  h2.franceinter::before,
  h4.franceinter::before {
    font-size: 0.9rem;       /* taille du pictogramme */
    width: 28px;
    height: 28px;
    left: 10px;              /* rapprocher l'icône du texte */
  }

  /* Ajustement du padding du texte pour coller à la nouvelle taille de l'icône */
  h2.franceinter,
  h2.accueil,
  h3.accueil,
  h4.franceinter {
    padding-left: 46px;      /* un peu moins que les 60px de bureau */
  }
    h2.video-section::before {
    font-size: 0.9rem;
    width: 28px;
    height: 28px;
    left: 10px;
  }
  h2.video-section {
    padding-left: 46px;
  }
  /*
  h3.styleh5 {
    font-size: 1rem;
    padding-left: 46px;
  }
  */

}

/*petit ajout à cause des formulaires sur iOS*/
form select {
  max-width: 100%;
}

ol li ul {
  list-style-type: disc;
}


.bloc-maths {
  border-left: 4px solid #ef5c72; /* à adapter par matière */
  padding-left: 1rem;
  margin-bottom: 2rem;
}
.bloc-francais {
  border-left: 4px solid #00b9ff; /* à adapter par matière */
  padding-left: 1rem;
  margin-bottom: 2rem;
}
.bloc-physique {
  border-left: 4px solid #f89321; /* à adapter par matière */
  padding-left: 1rem;
  margin-bottom: 2rem;
}
.bloc-offres {
  border-left: 4px solid #EA015B; /* à adapter par matière */
  padding-left: 1rem;
  margin-bottom: 2rem;
}

.bloc-pourquoi {
  border-left: 4px solid #EA015B; 
  border-right: 4px solid #EA015B;   
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top:0.5rem;
  padding-bottom:0.5rem;
  margin-bottom: 2rem;
}


h4.styleh5, span.styleh5, h3.styleh5 {
    font-size:1rem; 
    color:#004f7c;
    font-weight:500;
}
h3.styleh5 {
  margin-top: 0;  /* supprime l’espace au-dessus */
  margin-bottom: 12px; /* tu gardes un petit espace sous le titre */
}

p.soustitre {
text-align: left; margin-bottom: 0; font-weight: 500;
}


/* === FAQ Styling (HTML5 <details>) === */
section.faq {
  background-color: #f7f9fc;
  border: 1px solid #e0e6ef;
  border-radius: 8px;
  padding: 16px 32px;
  margin: 2rem auto;
  max-width: 800px;
  line-height: 1.6;
}

@media (min-width: 992px) {
	section.faq {
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}

section.faq h2 {
  font-size: 1.5rem;
  color: #004f7c; /* harmonisé avec les autres h2 */
  margin-bottom: 1.2rem;
  text-align: left; /* plutôt que centré */
}


/* Blocs FAQ */
section.faq details {
  border-top: 1px solid #dbe2ea;
  padding: 1rem 0;
}

section.faq details:first-of-type {
  border-top: none;
}

/* Résumé cliquable */
section.faq summary {
  font-size: 1.1rem;
  font-weight: 600;
  color: #004f7c;
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-left: 1.5rem;
}

/* Triangle sobre */
section.faq summary::before {
  content: "▸";
  position: absolute;
  left: 0;
  color: #004f7c;
  transition: transform 0.2s ease;
}

/* Rotation triangle quand ouvert */
section.faq details[open] summary::before {
  transform: rotate(90deg);
}

/* Texte intérieur + espace resserré */
section.faq p,
section.faq ul {
  font-size: 1rem;
  color: #333;
  margin-bottom: 0.8rem;
  margin-top: 0.3rem;
  text-align: justify;
}

/* Liste avec retrait des points */
section.faq ul {
  padding-left: 2.0rem; /* recul pour les points */
  list-style: disc;
}

section.faq ul li {
  margin-bottom: 0.0rem;
}

section.faq ul li::marker {
  color: #004f7c;
  font-size: 0.9rem;
}

.essentiel {
font-size: 1.2em; 
width: 85%; 
margin: 20px auto; 
border: 2px solid #EA015B; 
padding: 15px; 
border-radius: 8px; 
background: #FFE6EF;
}


/* Responsive */
@media (max-width: 768px) {
  section.faq {
    padding: 16px 18px;
  }

  section.faq h2 {
    font-size: 1.3rem;
  }
  

  section.faq summary {
    font-size: 1rem;
  }
 
 /*ci-dessous à vérifier*/ 
.essentiel {
    font-size: 1em; /* taille texte adaptée */
    width: 100%;     /* prend plus de place */
    padding: 12px;  /* marges un peu réduites */
  }
}

.math-table {
  border-collapse: collapse;
  text-align: center;
  margin: 1rem auto;
}

.math-table td, .math-table th {
  border: 1px solid #000; /* bordures fines */
  padding: 0.4rem 0.7rem; /* espace autour du contenu */
}


/* Style réservé aux tableaux de la page des lycées */
.table-lycees table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  font-size: 15px;
  table-layout: fixed; /* colonnes fixes */
}

/* Largeurs de colonnes */
.table-lycees th:first-child,
.table-lycees td:first-child {
  width: 22%;
  text-align: left; /* Lycée aligné à gauche */
}
.table-lycees th:nth-child(2),
.table-lycees td:nth-child(2) { width: 8%; text-align:right;}
.table-lycees th:nth-child(3),
.table-lycees td:nth-child(3),
.table-lycees th:nth-child(4),
.table-lycees td:nth-child(4),
.table-lycees th:nth-child(5),
.table-lycees td:nth-child(5),
.table-lycees th:nth-child(6),
.table-lycees td:nth-child(6),
.table-lycees th:nth-child(7),
.table-lycees td:nth-child(7),
.table-lycees th:nth-child(8),
.table-lycees td:nth-child(8) {
  width: 11%;
  text-align: right;
}

/* En-têtes */
.table-lycees th {
  background: #f2f5fa;
  color: #333;
  font-weight: 600;
  padding: 10px 8px;
  border-bottom: 2px solid #ddd;
  vertical-align: bottom;
}

/* Correction d’alignement vertical des en-têtes sur deux lignes */
.table-lycees th[rowspan] {
  vertical-align: middle !important; /* "Lycée" et "IPS" centrés verticalement */
}

.table-lycees thead tr:first-child th {
  text-align: center !important;
}

/* Alignement à gauche et à droite spécifiques aux deux premières colonnes */
.table-lycees thead tr:first-child th:first-child {
  text-align: left !important; /* "Lycée" */
}
.table-lycees thead tr:first-child th:nth-child(2) {
  text-align: right !important; /* "IPS" */
}

/* Alignement à droite des sous-en-têtes ("Taux", "VA") */
.table-lycees thead tr:nth-child(2) th {
  text-align: right !important;
}

/* Cellules */
.table-lycees td {
  padding: 8px;
  border-bottom: 1px solid #eee;
}

/* Bordure verticale après IPS (colonne 2) */

.table-lycees td:nth-child(2) {
  border-right: 2px solid #ccc;
}

/* Bordure verticale après Réussite (colonne 4) */

.table-lycees td:nth-child(4) {
  border-right: 2px solid #ccc;
}

/* Bordure verticale après Mentions (colonne 6) */

.table-lycees td:nth-child(6) {
  border-right: 2px solid #ccc;
}

/* Alternance de lignes */
.table-lycees tbody tr:nth-child(even) {
  background: #fafbfc;
}

/* Couleurs VA */
.table-lycees .va-pos { color: #c0392b; font-weight: 500; } /* rouge positif */
.table-lycees .va-neg { color: #2a7ade; font-weight: 500; } /* bleu négatif */

/* Hover */
.table-lycees tbody tr:hover {
  background: #f0f6ff;
  transition: background 0.2s;
}

/* Limite de largeur */
.table-lycees {
  max-width: 800px;
}

/* Responsive */
@media (max-width: 600px) {
  .table-lycees table {
    font-size: 13px;
    table-layout: auto;
  }
  .table-lycees th,
  .table-lycees td {
    padding: 6px;
    white-space: normal;
  }
}

li.va-pos { color:#c0392b; font-weight:500; }
li.va-neg { color:#2a7ade; font-weight:500; }



/* Style du tableau pour le Bac */
.bac-table-container {
    overflow-x: auto; /* Permet le scroll horizontal sur mobile */
    margin-bottom: 35px; /* Espace après le tableau */
}

.bac-table {
    width: 90%; /* Largeur confortable */
    margin: 0 auto; /* Centrage horizontal du tableau */
    border-collapse: collapse;
    font-family: sans-serif;
    background-color: #fff;
}

.bac-table th {
    background-color: #f4f4f4;
    padding: 12px;
    border-bottom: 2px solid #aaa;
    text-transform: uppercase;
    font-size: 0.9em;
    letter-spacing: 0.05em;
}

.bac-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #eee; /* Traits légers entre les matières */
    vertical-align: middle; /* Centrage vertical */
}

/* Colonne Catégorie (gauche) */
.bac-cat {
    font-weight: bold;
    color: #2c3e50;
    text-align: left;
    border-right: 1px solid #ddd;
    background-color: #fafafa;
    width: 25%;
}

/* Colonne Matière */
.bac-matiere {
    text-align: left;
}

/* Colonne Coefficient individuel */
.bac-coeff {
    text-align: center;
    color: #666;
}

/* Colonne Total (droite) */
.bac-total {
    font-weight: bold;
    font-size: 1.3em;
    text-align: center;
    color: #d63031; /* Couleur rouge pour le total */
    border-left: 1px solid #333; /* Le trait vertical épais demandé */
    background-color: #fff;
}

/* Séparateur de fin de section */
.section-end {
    border-bottom: 3px solid #aaa !important; /* Trait de séparation entre catégories */
}

 /* FIN Style du tableau pour le Bac */
