@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Open+Sans:wght@400;700&family=Roboto:wght@400;700&display=swap');

/*-------------------------------------
#. Defaults & Global Styles
---------------------------------------*/
body { font-family: 'Roboto', sans-serif; font-size: 18px; line-height: 28px; color: #383f4e; font-weight: 400; height: 100%; vertical-align: baseline; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; background-color: #ffffff; overflow-x: hidden; }

.floatleft { float: left; }
.floatright { float: right; }
.alignleft { float: left; margin-bottom: 15px; margin-right: 25px; margin-top: 10px; }
.alignright { float: right; margin-left: 25px; margin-bottom: 15px; margin-top: 10px; }
.aligncenter { clear: both; display: block; margin: 0 auto 15px; }

a { color: #FF6363; text-decoration: none; }
a:focus { outline: 0px solid; text-decoration: none; outline: 0 none; }
a:active { text-decoration: none; outline: 0 none; }
a:hover { color: #000000; text-decoration: none; outline: 0 none; }

img { max-width: 100%; height: auto; border-radius:15px!important; }
.fix { overflow: hidden; }
p { margin: 0 0 20px 0; }

h1,h2,h3,h4,h5,h6 { font-family: 'Montserrat', sans-serif; margin: 0 0 20px 0; color: #000000; line-height: 1.3; font-weight: 700; }

.clear { clear: both; }
.clear:after { clear: both; content: ""; display: block; }
ul { list-style: disc inside none ; margin: 0 0 20px 0; }
#wrapper { overflow: hidden; transition: all 0.5s ease-out; }
hr, .elementor hr { background-color: #e5e5e5; margin-bottom:20px; }
* { -ms-word-wrap: break-word; word-wrap: break-word; }
button:focus, .submit-btn:focus { outline: none; }

@media (min-width: 992px) and (max-width: 1400px ) { .container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 1320px; } }

/*-------------------------------------
#. Gutenberg Support & WP Basics
---------------------------------------*/
.align-wrap { width: 100vw; margin-left: calc(50% - 50vw); }
@media screen and (min-width: 900px) { .align-wrap { width: auto; margin-left: calc(50% / .62 - 50vw); } }
.align-wrap .alignfull { width: 100%; margin: 0 0 0 auto; }
@media( max-width:480px ) { 
    img.alignleft { float: none; margin-bottom: 13px; margin-right: 0px; padding-top: 5px; display: block; } 
    img.alignright { float: none; margin-left: 0px; margin-bottom: 15px; padding-top: 15px; } 
}

/* Blockquote & WP Blocks */
blockquote { background: #f7f7f7; border-radius: 4px; border: none; font-size: 18px; font-weight: 500; font-style: italic; text-align: left; padding: 35px 50px 35px 50px; margin: 40px 0px 40px; color: #444444; }
@media(max-width: 480px) { blockquote { padding-left: 25px !important; padding-right: 25px !important; } }
blockquote p { position: relative; margin-top: 45px; margin-bottom: 0; z-index: 1; line-height: 1.6; }
blockquote p:before { position: absolute; content: "\f11b"; font-family: flaticon !important; font-size: 38px; color: #e4e4e4; top: -48px; line-height: 1; }
blockquote cite { display: block; font-size: 14px; color: #646464; font-weight: 500; font-style: normal; margin-top: 12px; padding-left: 50px; position: relative; letter-spacing: 2px; z-index: 1; }
blockquote cite::after { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 31px; height: 2px; background-color: #c1c1c1; }
blockquote.wp-block-quote cite { display: block; font-size: 14px; color: #646464; font-weight: 500; font-style: normal; margin-top: 12px; padding-left: 50px; letter-spacing: 2px; z-index: 1; }
blockquote.wp-block-quote[style="text-align:right"] cite:after { left: inherit; right: 0; }
blockquote.wp-block-quote[style="text-align:right"] cite { padding-right: 34px; }

.wp-block-pullquote { border-top: 2px solid #FF6363; border-bottom: 2px solid #FF6363; margin-bottom: 20px; padding: 0; text-align: left; }
blockquote.wp-block-pullquote { background: #f9f9f9; border-radius: 6px; border-left: none; font-size: 18px; font-weight: 500; font-style: italic; padding: 35px 50px 35px 50px; margin: 40px 0px 40px; color: #444444; }
.wp-block-pullquote p { font-size: 22px; }
.wp-block-pullquote cite { font-size: 14px; font-weight: 700; padding-left: 50px; z-index: 1; }
.wp-block-quote { border-left: none; margin: 40px 0px 40px; padding-left: 50px; }
.wp-block-quote.is-large, .wp-block-quote.is-style-large { border: none; padding: 35px 50px 35px 50px; }
.wp-block-quote.is-large cite, .wp-block-quote.is-style-large cite { text-align: left; font-size: 14px; }
.wp-block-quote.is-style-large cite em { font-style: normal; }
.wp-block-quote.has-text-align-right { border-left: none; border-right: none; text-align: right; padding: 35px 50px 35px 50px; }
.wp-block-quote.has-text-align-right cite { text-align: right; padding-right: 50px; padding-left: 0; }
.wp-block-quote.has-text-align-right cite::after { left: inherit; right: 0; }
.wp-block-quote.has-text-align-left { text-align: left; }
.wp-block-quote.is-large p, .wp-block-quote.is-style-large p { font-size: 26px; line-height: 1.3; }
.wp-block-quote.is-style-large cite br { display: none; }

.wp-block { max-width: 720px; }
.wp-block[data-align="wide"] { max-width: 1080px; }
.wp-block[data-align="full"] { max-width: none; }
.wp-caption-text { color: #555; font-size: 13px; }

pre { background: #fff; color: #5b6674; }
code, a code { color: #FF6363; }
pre code { font-size: 15px; color: #5b6674; word-break: normal; line-height: 30px; }
pre cite { font-weight: 400; }
kbd { color: #5b6674; padding: 3px 5px 2px 5px; margin: 0 1px; background: #eaeaea; background: rgba(0,0,0,.07); }
code, kbd, pre, samp, tt, var { font-family: Menlo,Consolas,monaco,monospace; }
.wp-block-code { font-family: Menlo,Consolas,monaco,monospace; font-size: 15px; color: #5b6674; padding: 30px; border: 1px solid #e5e5e5; border-radius: 4px; }
p:last-child img.size-thumbnail.alignright { clear: both; padding-top: 0; }

.wp-block-table td, .wp-block-table th { border: 1px solid #e5e5e5; padding: 5px; }
.wp-block-image .alignleft.is-resized { margin-top: 0; }
.wp-block-latest-posts.is-grid { margin-left: 20px; }
.wp-block-latest-posts.is-grid li { margin: 0 0 10px 0; }
.wp-block-columns { margin-bottom: 0; margin-top: 0; }
.wp-block-columns .wp-block-column { margin-bottom: 15px; margin-top: 15px; }
.wp-block-columns.has-2-columns .wp-block-column { margin-bottom: 0; }
@media only screen and (min-width: 992px) { .wp-block-columns .wp-block-column { width: 100%; } }
@media only screen and (max-width: 991px) { .wp-block-columns .wp-block-column { width: 100%; flex-basis: 100% !important; margin-left: 0; } }
.wp-block-columns.alignwide .wp-block-column:last-child .wp-block-quote { margin-top: 0 !important; padding-left: 50px; padding-right: 50px; }
.wp-block-columns.alignwide .wp-block-column:last-child .wp-block-quote cite { padding-left: 50px; }
.wp-block-image .alignleft { margin-top: 8px; margin-bottom: 8px; margin-right: 25px; }
.wp-block-image .alignright { margin-top: 8px; margin-bottom: 8px; margin-left: 25px; }

.wp-block-cover { margin-top: 20px; margin-bottom: 20px; }
.wp-block-cover a, .wp-block-cover .wp-block-cover-text a, .wp-block-cover .has-text-color a, .wp-block-cover .has-text-align-center a { color: #ffffff; }
.wp-block-cover a:hover, .wp-block-cover .wp-block-cover-text a:hover, .wp-block-cover .has-text-color a:hover, .wp-block-cover .has-text-align-center a:hover { text-decoration: underline; }
.wp-block-cover-image.alignleft, .wp-block-cover-image.alignright, .wp-block-cover.alignleft, .wp-block-cover.alignright, [data-align=left]>.wp-block-cover, [data-align=right]>.wp-block-cover { max-width: 340px; width: 100%; }
.entry-content .wp-block-cover { background-color: #000; margin-top: 0px; padding: 15px 45px; }
.wp-block-cover p:not(.has-text-color) { color: #ffffff; }
.wp-block-cover.alignleft { margin-top: 0; }
.wp-block-cover-image .wp-block-cover-image-text, .wp-block-cover .wp-block-cover-text, section.wp-block-cover-image>h2 { font-size: 36px; line-height: 1.25; z-index: 1; margin-bottom: 0; max-width: 100%; padding: .44em; text-align: center; }
:root .has-pale-pink-background-color { background-color: #000; }
.wp-block-gallery { margin-top: 25px; margin-bottom: 10px; }
.wp-block-gallery.alignleft { display: flex; margin-top: 10px; }
.wp-block-gallery .blocks-gallery-item { border-radius: 4px; overflow: hidden; }
.wp-block-gallery .blocks-gallery-item img { border-radius: 4px; }
.wp-block-gallery.alignleft .blocks-gallery-item { display: inline-block; }
.wp-block-embed-vimeo.alignfull .wp-block-embed__wrapper { margin: 23px 0; }
.wp-block-coblocks-social .wp-block-button__link { border: none; }
.blocks-gallery-grid.alignleft, .blocks-gallery-grid.alignright, .wp-block-gallery.alignleft, .wp-block-gallery.alignright { max-width: 420px; width: 100%; }
p:last-child img.size-full.alignright { clear: both; padding-top: 0; }
.wp-block-spacer { clear: both; }
.gallery .gallery-item { text-align: center; }
.site-content nav.comment-navigation { padding-top: 0; }
.site-content nav.comment-navigation ul { margin-top: 0; margin-bottom: 40px; }
.site-content nav.comment-navigation ul li { margin-right: 0; }
.site-content nav.comment-navigation ul li a { border-radius: 30px; height: inherit; width: inherit; padding: 12px 27px; line-height: 1.6; }
figure.wp-caption.alignnone { margin: 15px auto 15px; }
.wp-block-file .wp-block-file__button { background: #32373c; padding: 10px 20px; }
.has-media-on-the-right.is-stacked-on-mobile { margin-bottom: 20px; }
.blocks-gallery-item figcaption { line-height: 1.4; }
ul.wp-block-rss li.wp-block-rss__item .wp-block-rss__item-title { display: inline-block; }
.wp-block-group.has-background { margin-bottom: 20px; }

/*-------------------------------------
#. AJOUTS VINCENT (Personnalisations)
---------------------------------------*/
.elementor-accordion .elementor-accordion-item{border:0px solid #d5d8dc !important}
.elementor-pagination {padding-top:20px;}
.rtrs-category-text{padding-right:15px;}
.titledot{background:#ff6363!important;}
.rt-section-title .sub-title{background-color:#ff6363;padding:5px;}

body[class*="post-template"] .elementor-widget-text-editor a:not(.elementor-button-link),
body[class*="page-template"] .elementor-widget-text-editor a:not(.elementor-button-link) { color: #383f4e; text-decoration: underline; text-underline-offset: 6px; }
body[class*="post-template"] .elementor-widget-text-editor a:not(.elementor-button-link):hover,
body[class*="page-template"] .elementor-widget-text-editor a:not(.elementor-button-link):hover { color: #ff6363; }

.title-holder a,.rt-section-title .sub-title{color:#fff;}
.rt-icon{background:#ff6363!important;}
.scroll-wrap::after{color:#ff6363;}
.elementor-toggle-title {color:#000 !important;}
.elementor-button-wrapper a{color:#fff;}
.frm_error{color:#ff6363!important;}
.with_frm_style .frm_checkbox input[type="checkbox"]::before {background-color:#ff6363;}
#form_newsletter-home2 .frm_form_fields .frm_fields_container {grid-gap:0!important;}
#form_newsletter-home2 .frm_form_fields .frm_fields_container .frm_submit.frm_flex {display:grid!important;}
#form_sidebar .frm_form_fields .frm_fields_container {grid-gap:0!important;}
#form_sidebar .frm_form_fields .frm_fields_container .frm_submit.frm_flex {display:grid!important;}
.fcomplete-wrap{z-index:1;}
.post-meta-info {border-top:0!important;padding-top:0px!important;margin-top:.1875rem!important;}
.post-content-bottom{padding:15px 0px 0px 0px!important;}
div.pdfemb-viewer { margin: 0px auto !important; }
.frm_quizzes_show_outcome{padding:15px 20px 0px 20px!important;}
@media(max-width: 767px) {.frm_label_button_container{white-space:wrap!important;}}
.homeecoles {color:#000!important;}
.homeecoles:hover {color:#ff6363!important;}
button.wpf-calc-form { visibility: hidden;}
.textwidget a {color:#ff6363;}
.rt-post-slider-default .rt-item .post-terms a {padding-top:5px;}
.post-image {font-size:11px;text-align:right;color:#a5a6aa;padding-bottom:20px;}
.cadre-titre {background-color: #f7f7f7; padding: 5px; border-radius: 4px;}
.e-n-accordion{border: 1px solid #F7F7F7;border-radius:15px;box-shadow:0px 4px 16px rgba(96,97,112,0.08);padding:8px; }
#form_newsletter-home2 .frm_form_fields .frm_fields_container, #form_sidebar .frm_form_fields .frm_fields_container {border : 8px solid #fff1f1;border-radius:38px;background:#fff;}
.frm_combo_inputs_container, .frm_grid_container, .frm_form_fields .frm_section_heading, .frm_form_fields .frm_fields_container {padding:5px;}
@media(max-width: 767px) {.mobileview .row {flex-wrap:nowrap;overflow:auto;scrollbar-width:none;}}
@media(max-width: 767px) {.mobileview .row .col-12 {width:calc(100% - 4.3rem);}}

@media (max-width: 767px) {
    .mobileview2 .elementor-posts-container { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 16px; padding: 0 16px; scrollbar-width: none; -ms-overflow-style: none; width: auto !important; }
    .mobileview2 .elementor-posts-container::-webkit-scrollbar { display: none; }
    .mobileview2 .elementor-post { min-width: 85% !important; scroll-snap-align: start; border-radius: 16px; background: white; overflow: hidden; box-shadow: none; border: none !important; display: flex; flex-direction: column; }
    .mobileview2 .elementor-post__thumbnail { width: 100%; height: 160px; overflow: hidden; border: none !important; }
    .mobileview2 .elementor-post__thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .mobileview2 .elementor-post__text { padding: 12px; font-size: 14px; line-height: 1.4; }
    .mobileview2 .elementor-post__title { font-weight: 600; margin: 0; }
    .mobileview2 .elementor-post__title a { color: #000; text-decoration: none; }
}

/* Bouton demande d'information */
.demandedinformation {border-radius:50rem;border: 2px solid #fff1f1;padding:5px;}
.demandedinformation a { color:#000;padding:20px;font-size:16px;}
.demandedinformation a:hover { color:#FF6363; }
.demandedinformationficheecole {border-radius:50rem;background-color: #FF6363;padding:7px;font-weight:500;}
.demandedinformationficheecole a { color:#fff;padding:20px;}
.demandedinformationficheecole a:hover { font-size:18px; }
.pt-plus-filter-post-category .category-filters.hover-style-4 li a::after {border-radius: 15px;}
.pt-plus-filter-post-category .category-filters.hover-style-4 li a::before {border:0px;}
.pt-plus-filter-post-category .category-filters.hover-style-4 li a span {padding:4px 16px 4px 16px;}
.pt-plus-filter-post-category .category-filters li a {background-color:#F7F7F7;border-radius:15px!important;color:#383f4e;font-size:16px;}
.pt-plus-filter-post-category .category-filters li a:hover {color:#fff;font-size:16px;}

.listeecole .elementor-icon-list-item { background-color: #fff; border-radius: 5px; padding: 8px 16px !important; transition: 0.3s; border: 1px solid rgba(0,0,0,0.1) !important; }
@media (max-width: 767px) {
    .listeecole .elementor-icon-list-items { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; gap: 12px; margin: 0 !important; padding: 5px 5px 5px 5px !important; width: 100% !important; box-sizing: border-box !important; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; }
    .listeecole .elementor-icon-list-items::-webkit-scrollbar { display: none; }
    .listeecole .elementor-icon-list-item { margin: 0 !important; flex-shrink: 0 !important; white-space: nowrap; scroll-snap-align: start; width: auto !important; }
}

.listetags .elementor-icon-list-item {background-color:#F7F7F7;border-radius:15px;padding:2px 16px 2px 16px !important;margin-top:10px!important;}
.listetags .elementor-icon-list-item a{color:#383f4e;}
.listetags .elementor-icon-list-item a:hover{color:#FF6363;}
@media(max-width: 767px) {.listetags .elementor-icon-list-item {margin-top:15px !important;}}

/* Trouver mon école */
.sous-categories-boutons { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 15px; margin-bottom: 15px; }
.bouton-sous-categorie { display: inline-block; background-color: #F7F7F7; color: #383f4e !important; font-weight: 600; border-radius: 999px; padding: 6px 14px; font-size: 16px; line-height: 1.2; text-decoration: none; transition: background-color 0.3s ease; white-space: nowrap; }
.bouton-sous-categorie:hover { background-color: #fff1f1;}

/* loop scrool */
@media (max-width: 767px) {
    .elementor-loop-container.loop-horizontal { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; padding-left: 16px; gap: 16px; scrollbar-width: none; -ms-overflow-style: none; }
    .elementor-loop-container.loop-horizontal::-webkit-scrollbar {display: none; }
    .elementor-loop-container.loop-horizontal .e-loop-item { flex: 0 0 85% !important; scroll-snap-align: start;}
    .elementor-loop-container.loop-horizontal .e-loop-item:last-child {margin-right: 0px !important;}
}

@media (max-width: 600px) {
    .comment-header { flex-direction: column; align-items: flex-start; }
    .comment-meta { flex-wrap: wrap;}
    .comment-date { margin-left: 0; margin-top: 5px; }
}

/* rendre scrollable en mobile le widget onglet */
.e-n-tabs-heading.e-n-tabs-heading.e-n-tabs-heading.e-n-tabs-heading { overflow-x: auto; display: flex; flex-wrap: nowrap; justify-content: center; padding-bottom: 10px; }
@media only screen and (max-width: 760px) { .e-n-tabs-heading.e-n-tabs-heading.e-n-tabs-heading.e-n-tabs-heading { justify-content: left !important; } }
.e-n-tabs-heading > .e-n-tab-title{ white-space: nowrap !important; margin: 0 !important; }
.e-n-tabs-content .e-n-tab-title { display: none; }
@media (min-width:1025px){ .e-n-tabs-heading::-webkit-scrollbar-track { background-color: #dedede; } .e-n-tabs-heading::-webkit-scrollbar { height: 8px; } .e-n-tabs-heading::-webkit-scrollbar-thumb { background-color: #aeaeae; } }
.e-n-tabs-heading { position: sticky; top: 0; z-index: 9; background-color: #fff; }

/*-----------------------------------------------------
#. SITE REVIEWS
------------------------------------------------------*/
.glsr-summary-bar-background { display: block !important; height: 12px !important; background-color: #f1f1f1 !important; border-radius: 10px !important; position: relative !important; overflow: hidden; flex-grow: 1 !important; margin: 0 15px !important; }
.glsr-summary-bar-background::before { content: ""; position: absolute; left: 0; top: 0; height: 100%; width: var(--glsr-bar-percent); background-color: #FF6363 !important; border-radius: 10px; }
.glsr-button.wp-block-button__link:hover { background-color: #FF6363 !important; color: #fff !important; cursor: pointer; }
.glsr-button.wp-block-button__link:focus { outline: none !important; box-shadow: none !important; }
.glsr-review, #avis-globaux .glsr-review { border: 1px solid #dcdcdc; border-radius: 10px; padding: 20px; background-color: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); transition: box-shadow 0.3s ease; }
.glsr-review:hover, #avis-globaux .glsr-review:hover { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08); }
.glsr-review-title h4 { font-size: 1.2em; margin-bottom: 8px; font-weight: 600; color: #333; }
.glsr-review-date, .glsr-review-author { font-size: 0.9em; color: #777; margin-top: 10px; }
.glsr-review-content p { margin: 8px 0; line-height: 1.6; color: #444; }
.glsr-form-wrap { border: 1px solid #e0e0e0 !important; border-radius: 10px !important; padding: 24px !important; background-color: #fff !important; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important; }
.glsr-form .form-group { margin-bottom: 16px !important; }
.glsr-form .glsr-button { background-color: #333 !important; color: #fff !important; border: none !important; padding: 12px 24px !important; border-radius: 6px !important; font-weight: 600; text-transform: uppercase; }
.glsr-form .glsr-button:hover { background-color: #555 !important; }
[data-field="submit-button"] .wp-block-buttons.is-layout-flex { display: flex !important; justify-content: center !important; width: 100% !important; margin-top: 25px !important; }
.glsr-button.btn-primary, .glsr-button.wp-block-button__link { background-color: #f1f2f3 !important; color: #54595F !important; border: none !important; border-radius: 999px !important; padding: 12px 32px !important; font-size: 16px !important; font-weight: 600 !important; text-align: center !important; transition: all 0.3s ease !important; cursor: pointer !important; box-shadow: none !important; display: inline-block !important; }
.glsr-button.btn-primary:hover, .glsr-button.wp-block-button__link:hover { background-color: #FF6363 !important; color: #fff !important; }
.wp-block-button { margin: 0 !important; }
.glsr-review-title-wrap { display: flex; width: 100%; margin-bottom: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.glsr-review-title-left { width: 80%; }
.glsr-review-title-right { width: 20%; text-align: right; }
.glsr-review-title { margin: 0; font-size: 1.2rem; font-weight: bold; }
.glsr-review-date { font-style: italic; color: #999; font-size: 0.9em; white-space: nowrap; }
@media screen and (max-width: 480px) { .glsr-review-title-wrap { flex-direction: column; align-items: flex-start; } .glsr-review-title-left, .glsr-review-title-right { width: 100%; text-align: left; margin-bottom: 4px; } }
.avis-grid-4 { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 20px; margin: 20px 0; }
.avis-item { background-color: #fff; border: 1px solid #e3e3e3; border-radius: 10px; padding: 16px; text-align: center; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); transition: box-shadow 0.3s ease; }
.avis-item:hover { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }
.avis-titre { font-size: 1rem; font-weight: 600; margin-bottom: 8px; color: #333; }
.avis-note { font-size: 1.1rem; color: #000; font-weight: 500; display: flex; flex-direction: column; align-items: center; }
.avis-note .glsr-summary-text { display: none !important; }
.avis-note .glsr-summary-stars { display: flex !important; justify-content: center !important; margin-top: 4px !important; }
.sidebar-reviews-container .glsr-review { display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: center !important; padding: 15px 20px !important; background-color: #ffffff !important; border: 1px solid #eeeeee !important; border-radius: 15px !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important; transition: all 0.3s ease !important; }
.sidebar-reviews-container .glsr-star-rating { display: flex !important; justify-content: flex-start !important; margin: 0 15px 0 0 !important; width: auto !important; font-size: 14px !important; }
.sidebar-reviews-container .glsr-review-assigned_links { font-size: 0 !important; color: transparent !important; line-height: 0 !important; margin: 0 !important; flex: 1 !important; text-align: right !important; }
.sidebar-reviews-container .glsr-review-assigned_links a { display: inline-block !important; font-size: 13px !important; color: #FF6363 !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none !important; line-height: 1.2 !important; }
.sidebar-reviews-footer { display: flex !important; justify-content: center !important; margin-top: 20px !important; width: 100% !important; }
.sidebar-reviews-footer .glsr-button { background-color: #f1f2f3 !important; color: #54595F !important; border-radius: 999px !important; padding: 12px 30px !important; font-size: 14px !important; font-weight: 700 !important; text-decoration: none !important; display: inline-block !important; border: none !important; transition: all 0.3s ease !important; box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important; }
.sidebar-reviews-footer .glsr-button:hover { background-color: #FF6363 !important; color: #ffffff !important; transform: scale(1.05); }
.sidebar-reviews-container .glsr-review-title, .sidebar-reviews-container .glsr-review-author, .sidebar-reviews-container .glsr-review:nth-child(n+4) { display: none !important; }
.sidebar-reviews-container .glsr-review:hover { transform: translateX(5px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important; border-color: #FF6363 !important; }
.sidebar-reviews-title { font-size: 20px !important; font-weight: 800 !important; margin-bottom: 20px !important; color: #000 !important; }
.shortcode-site-reviews-summary .glsr-summary-wrap { background-color: #ffffff !important; border: 1px solid #e3e3e3 !important; border-radius: 15px !important; padding: 40px !important; width: 100% !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important; box-sizing: border-box !important; }
.shortcode-site-reviews-summary .glsr-summary { width: 100% !important; max-width: none !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
.shortcode-site-reviews-summary .glsr-summary-percentages { width: 100% !important; max-width: none !important; margin-top: 30px !important; }
.shortcode-site-reviews-summary .glsr-summary-bar { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 15px !important; }
.shortcode-site-reviews-summary .glsr-summary-bar-background { flex-grow: 1 !important; height: 12px !important; background-color: #f1f1f1 !important; margin: 0 20px !important; border-radius: 10px !important; position: relative !important; }
.shortcode-site-reviews-summary .glsr-summary-bar-label { min-width: 100px !important; text-align: left !important; flex-shrink: 0 !important; }
.shortcode-site-reviews-summary .glsr-summary-bar-percent { min-width: 50px !important; text-align: right !important; font-weight: 700 !important; flex-shrink: 0 !important; }
.shortcode-site-reviews-summary .glsr-summary-bar-background > span { border-radius: 10px !important; height: 100% !important; }
.shortcode-site-reviews-summary .glsr-star-rating { justify-content: center !important; }

/*-----------------------------------------------------
#. Breadcrumbs
------------------------------------------------------*/
.entry-banner { display: none !important; }
#breadcrumbs { font-size: 14px; color: #646464; margin: 0 !important;overflow-y: auto; white-space: nowrap; scrollbar-width: none; line-height: 1.4; }
#breadcrumbs span a { color: #646464; text-decoration: none; transition: all ease 0.31s; }
#breadcrumbs span a:hover { color: #ff6363; }
#breadcrumbs .breadcrumb_last, #breadcrumbs .breadcrumb_last strong { color: #ff6363; font-weight: normal; }
.mon-fil-ariane { background-color: #f7f7f7 !important; padding: 12px 20px !important;}

/*-----------------------------------------------------
#. FACETWP
------------------------------------------------------*/
.ma-barre-filtre { background: #ffffff; padding: 30px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); border: 1px solid #f0f0f0; margin-bottom: 40px; }
.facet-wrap { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.facetwp-facet { flex: 1 1 200px; }
.facetwp-dropdown { background-color: #ffffff !important; border: 1px solid #e5e5e5 !important; border-radius: 8px !important; padding: 12px 20px !important; font-size: 15px !important; color: #383f4e !important; cursor: pointer; box-shadow: 0 4px 6px rgba(0,0,0,0.03); transition: all 0.3s ease; appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important; background-repeat: no-repeat !important; background-position: right 1rem center !important; background-size: 1em !important; width: 100% !important; }
.facetwp-dropdown:hover { border-color: #ff6363 !important; }
.facetwp-autocomplete { background-color: #ffffff !important; border: 1px solid #e5e5e5 !important; border-radius: 8px !important; padding: 12px 20px !important; font-size: 15px !important; width: 100% !important; }
.facetwp-autocomplete-update { display: none !important; }
.elementor-loop-container .e-loop-item { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.elementor-loop-container .e-loop-item:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0,0,0,0.1); }
.facetwp-autocomplete, .facetwp-dropdown { height: 50px !important; padding-top: 0 !important; padding-bottom: 0 !important; display: flex !important; align-items: center !important; box-sizing: border-box !important; margin: 0 !important; }
.facetwp-autocomplete { line-height: 50px !important; }
.facetwp-load-more { display: block !important; margin: 40px auto 0 !important; background-color: #ff6363 !important; color: #ffffff !important; border: none !important; padding: 14px 45px !important; border-radius: 50px !important; font-family: 'Spartan', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; cursor: pointer !important; transition: all 0.4s ease !important; box-shadow: 0 4px 12px rgba(255, 99, 99, 0.2) !important; }
.facetwp-load-more:hover { background-color: #f1f2f3 !important; color: #000 !important; transform: translateY(-3px) !important; box-shadow: 0 8px 20px rgba(0, 52, 194, 0.2) !important; }
.facetwp-load-more:disabled { background-color: #e5e5e5 !important; color: #a5a6aa !important; cursor: not-allowed; box-shadow: none; transform: none; }
@media (max-width: 768px) {
    .facet-wrap { flex-direction: column; align-items: stretch; }
    .ma-barre-filtre { padding: 20px; }
    .facetwp-facet { flex: 1 1 auto; width: 100%; }
}

/*-----------------------------------------------------
#. TABLEAU DESIGN (Forcé Largeur Desktop & Mobile)
------------------------------------------------------*/

/* 1. On force le conteneur à occuper 100% de la largeur disponible */
.wp-block-table, 
.csv-table-wrap, 
.plus-table-wrapper,
.elementor-widget-container { 
    width: 100% !important;
    max-width: 100% !important;
}

/* 2. Le tableau */
table { 
    width: 100% !important; 
    min-width: 600px !important; /* Maintient le swipe sur mobile */
    display: table !important; 
    font-family: 'Inter', 'Montserrat', sans-serif !important; 
    font-size: 15px !important; 
    color: #333 !important; 
    background-color: #fff !important; 
    border-collapse: separate !important; 
    border-spacing: 0 !important; 
    border: 1px solid #eee !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}

/* 3. Pour forcer l'étalement si le parent restreint (Desktop uniquement) */
@media (min-width: 768px) {
    table {
        min-width: 100% !important; /* Sur grand écran, le tableau prend toute la largeur */
    }
}

/* En-têtes (Rose) */
table thead th { 
    background-color: #fdf1ef !important; 
    color: #d94e4e !important; 
    font-weight: 600 !important; 
    padding: 14px 20px !important; 
    text-align: left !important; 
    white-space: nowrap !important;
}

/* Cellules */
table tbody td { 
    padding: 12px 20px !important; 
    border-bottom: 1px solid #f9f9f9 !important;
    background-color: #fff !important;
}

/* Alternance et Survol */
table tbody tr:nth-child(even) td { background-color: #fafafa !important; }
table tbody tr:hover td { background-color: #fcebea !important; cursor: pointer !important; }

/* Wrapper scroll mobile */
.wp-block-table, .csv-table-wrap, .plus-table-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}