/*
Theme Name: Hello Elementor Child
Theme URI: https://studionumerik.fr/
Description: Hello Elementor Child Theme
Author: Studio Numerik
Author URL: https://studionumerik.fr/
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v2 or later
License URL: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hello-elementorchild
*/
/* Placer votre CSS ci-dessous */

:root {
  --mcea-color-bg: #eef2f8;
  --mcea-color-surface: #ffffff;
  --mcea-color-header: #4f74ad;
  --mcea-color-header-route: #325383;
  --mcea-color-header-cyber: #3E649F;
  --mcea-color-header-climat: #4976BA;
  --mcea-color-header-sante: #274168;
  --mcea-color-text: #122430;
  --mcea-color-text-muted: #4a5a66;
  --mcea-color-border: #d7dde5;
  --mcea-color-cta: #0f6d78;
  --mcea-color-cta-hover: #0c5962;
  --mcea-color-pagination: #8fa4be;
  --mcea-color-pagination-active: #122430;
}

body {
  background: var(--mcea-color-bg);
  color: var(--mcea-color-text);
}

@font-face {
  font-family: "Publico Headline Web";
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/publicoheadline-bold-webfont.woff2") format("woff2");
}

h2 {
  font-family: "Publico Headline Web" !important;
}
h2.elementor-heading-title {
  padding-bottom: 20px;
}

.e-con > .e-con-inner {
  max-width: 1368px !important;
}

.focus-bloc {
  margin-bottom: 0 !important;
}
.focus-bloc .swiper-slide .e-child,
.aller-plus-loin-bloc, .sinspirer-grille .e-parent {
  background: white;
}

/* Harmonisation des boutons Gutenberg avec les boutons Elementor */
.wp-block-buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wp-block-button {
  text-align: center;
}

.wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link:visited {
  display: inline-block;
  background-color: var(--mcea-color-surface);
  font-size: 15px;
  padding: 12px 24px;
  border-radius: 0;
  color: var(--mcea-color-text);
  fill: #fff;
  text-align: center;
  transition: all 0.3s;
  border: 1px solid var(--mcea-color-text);
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus {
  color: var(--mcea-color-surface);
  background-color: var(--mcea-color-text);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: inherit;
  border: 1px solid currentColor;
}

#mix-container .e-con-inner .elementor-button,
.focus-bloc .swiper-slide .e-child .elementor-widget-button,
.aller-plus-loin-bloc .elementor-widget-button, .sinspirer-grille .e-parent .elementor-widget-button {
  margin-top: auto;
}

#mix-container .e-con-inner .elementor-widget-button .elementor-button-link,
.focus-bloc .swiper-slide .e-child .elementor-widget-button .elementor-button-link,
.aller-plus-loin-bloc .elementor-widget-button .elementor-button-link, .sinspirer-grille .e-parent .elementor-widget-button .elementor-button-link {
  border: 1px solid black;
}

.aller_plus_loin, .guide {
  padding-bottom: 20px;
  min-height: 450px !important;
  background: white;
  margin-bottom: 15px;
}
.aller-plus-loin {
  min-height: 450px !important;
  background: white;
  margin-bottom: 15px;
  padding-bottom: 0 !important;
}
.aller_plus_loin .elementor-widget:not(.elementor-widget-image), .aller-plus-loin .elementor-widget:not(.elementor-widget-image), .sinspirer-grille .e-parent .elementor-widget:not(.elementor-widget-image) {
  margin: 0 20px;
}

.aller-plus-loin-bloc, .sinspirer-grille .e-parent, .guide {
  display: flex;
  flex-direction: column;
  min-height: 450px !important;
  padding-bottom: 20px !important;
}
.aller-plus-loin-bloc {
  padding-bottom: 0 !important;
}
.aller-plus-loin-bloc .elementor-widget-button, .sinspirer-grille .e-parent .elementor-widget-button, .guide .elementor-widget-button {
  margin-top: auto !important;
  text-align: center;
}
.aller-plus-loin-bloc .elementor-widget-image img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}
.elementor-2647 .aller-plus-loin-bloc .elementor-button {
  margin-bottom: 20px;
}

@media (min-width: 1025px) {
  #trois-focus .swiper-slide > .elementor-element .elementor-element {
    height: 100%;
  }
}

.pcs-auth__form-group input {
  background: #F0F0F1 !important;
  border: 1px solid #B5B5B5 !important;
  border-radius: 20px !important;
}

.pcs-auth__form .btn.btn-border,
.pcs-auth__cta .btn.btn-border {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #000 !important;
}

.pcs-auth__form .btn.btn-border:hover,
.pcs-auth__form .btn.btn-border:focus,
.pcs-auth__cta .btn.btn-border:hover,
.pcs-auth__cta .btn.btn-border:focus,
.pcs-auth__cta .btn.btn-border:hover *,
.pcs-auth__cta .btn.btn-border:focus * {
  background: #fff !important;
  color: #000 !important;
  border-color: #000 !important;
}

.elementor-shortcode #shortcode-pcs-auth-form .btn-border:hover {color: black !important;}

#hp-informer .swiper-wrapper,
#hp-informer .swiper-slide {
  display: flex;
  height: auto !important;
}

#hp-informer .e-n-carousel {
  position: relative;
  padding-bottom: 40px;
}

#hp-informer .swiper-slide > .elementor-element {
  display: flex;
  flex-direction: column;
  width: 100%;
}

#hp-informer .swiper-slide > .elementor-element .e-con-inner,
#hp-informer .swiper-slide .mix {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#hp-informer .swiper-slide .elementor-widget-button {
  margin-top: auto;
  margin-bottom: 20px;
}

#hp-informer .elementor-swiper-button {
  top: auto;
  bottom: -36px;
  transform: none;
}

#hp-informer .elementor-swiper-button-prev {
  left: -20px;
  transform: none;
}

#hp-informer .elementor-swiper-button-next {
  right: -20px;
  transform: none;
}

#hp-informer .swiper-pagination {
  position: absolute;
  left: 50%;
  bottom: -36px;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

#hp-informer .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0;
}

#hp-informer .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--mcea-color-pagination-active);
}

.elementor-shortcode .loop-pagination {
  display: none;
}

.elementor-shortcode .loop-pagination span {
  display: block;
  cursor: pointer;
}
.elementor-nav-menu--dropdown{background-color: var(--mcea-color-header) !important;}
.category-route #header-menu, .category-route #header-article, .category-route #page-header, .category-route .elementor-nav-menu--dropdown, .page-route #header-menu, .page-route #header-article, .page-route #page-header, .page-route .elementor-nav-menu--dropdown{background-color: var(--mcea-color-header-route) !important;}
.category-cyber #header-menu, .category-cyber #header-article, .category-cyber #page-header, .category-cyber .elementor-nav-menu--dropdown, .page-cyber #header-menu, .page-cyber #header-article, .page-cyber #page-header, .page-cyber .elementor-nav-menu--dropdown{background-color: var(--mcea-color-header-cyber) !important;}
.category-climat #header-menu, .category-climat #header-article, .category-climat #page-header, .category-climat .elementor-nav-menu--dropdown, .page-climat #header-menu, .page-climat #header-article, .page-climat #page-header, .page-climat .elementor-nav-menu--dropdown{background-color: var(--mcea-color-header-climat) !important;}
.category-sante #header-menu, .category-sante #header-article, .category-sante #page-header, .category-sante .elementor-nav-menu--dropdown, .page-sante #header-menu, .page-sante #header-article, .page-sante #page-header, .page-sante .elementor-nav-menu--dropdown{background-color: var(--mcea-color-header-sante) !important;}

/* DUERP page */
.page-duerp #header-menu, .page-duerp #header-article, .page-duerp #page-header, .page-duerp .elementor-nav-menu--dropdown{background-color: var(--mcea-color-header) !important;}

/* Bouton fixe "Mes obligations pro" */
#btn-obligations-pro {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;
  background-color: #d2c9b1;
  color: #1d2b3f;
  text-decoration: none;
  padding: 14px 18px;
  border-radius: 8px 0 0 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  writing-mode: horizontal-tb;
  box-shadow: -2px 2px 8px rgba(0,0,0,0.15);
  transition: background-color 0.2s, transform 0.2s, color 0.2s;
}
#btn-obligations-pro:hover {
  background-color: #c4b89a;
  color: #1d2b3f;
  transform: translateY(-50%) translateX(-4px);
}
#btn-obligations-pro svg {
  flex-shrink: 0;
}
@media (max-width: 767px) {
  #btn-obligations-pro {
    top: auto;
    bottom: 0;
    right: 0;
    left: 0;
    transform: none;
    border-radius: 0;
    justify-content: center;
    padding: 12px 16px;
    font-size: 13px;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.15);
  }
  #btn-obligations-pro:hover {
    transform: none;
  }
}

/* Home palette enforcement */
.home #header-menu,
.home #page-header,
.home #header-home,
.home .elementor-nav-menu--dropdown {
  background-color: var(--mcea-color-header-route) !important;
}

.home #header-menu a,
.home #header-home a,
.home #page-header a {
  color: var(--mcea-color-surface) !important;
}

.home #hp-informer .swiper-pagination-bullet {
  background: var(--mcea-color-pagination);
}

.home #hp-informer .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--mcea-color-pagination-active);
}

.home #hp-informer .elementor-button-link,
.home #mix-container .elementor-button-link {
  border-color: var(--mcea-color-text) !important;
  color: var(--mcea-color-text) !important;
  background: var(--mcea-color-surface) !important;
}

.home #hp-informer .elementor-button-link:hover,
.home #mix-container .elementor-button-link:hover {
  background: var(--mcea-color-header) !important;
  border-color: var(--mcea-color-header) !important;
  color: var(--mcea-color-surface) !important;
}

.elementor-element-7686d6bf {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 767px) {
  .elementor-2647 .elementor-loop-container {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding-bottom: 6px;
    scroll-padding: 0 20px;
  }

  .elementor-2647 .elementor-loop-container::-webkit-scrollbar {
    display: none;
  }

  .elementor-2647 .elementor-loop-container .e-loop-item {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }


  .elementor-shortcode .elementor-loop-container.elementor-grid {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding: 6px 0;
  }

  .elementor-shortcode .elementor-loop-container.elementor-grid::-webkit-scrollbar {
    display: none;
  }

  .elementor-shortcode .elementor-loop-container.elementor-grid .e-loop-item {
    flex: 0 0 100%;
    scroll-snap-align: start;
  }

  .elementor-shortcode .loop-pagination {
    margin: 20px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
  }

  .elementor-shortcode .loop-pagination span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mcea-color-pagination);
    transition: background 0.2s ease;
  }

  .elementor-shortcode .loop-pagination span.is-active {
    background: var(--mcea-color-pagination-active);
  }
}



/* Force l'organisation verticale dans chaque slide */
#hp-informer .e-child .e-con-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 450px; /* hauteur minimale */

}

/* Aligne le bouton "Je consulte" en bas */
#hp-informer .e-child .elementor-widget-button {
    margin-top: auto;
}

/* Uniformise la hauteur globale des slides */
#hp-informer .swiper-slide {
    display: flex;
    height: 100%;
}

/* Médiathèque : garder la grille intacte */
#mix-container .e-grid.mediatheque {
  /* on ne touche pas display ici */
}

/* Cartes de la grille : colonne + hauteur mini */
#mix-container .e-grid.mediatheque > .e-child .e-con-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 450px; /* ta contrainte */
	background:white;
}

/* Cartes de la grille : colonne + hauteur mini */
#mix-container .e-grid.mediatheque > .e-child {
	background:white;
}

/* Bouton en bas des cartes */
#mix-container .e-grid.mediatheque > .e-child .elementor-widget-button {
  margin-top: auto;
	padding-bottom:20px !important;
}

/* (Optionnel) éviter que des images s’étirent bizarrement */
#mix-container .e-grid.mediatheque img {
  height: auto;
  max-width: 100%;
}

/* (Optionnel) responsive pour mobile */
@media (max-width: 767px) {
  #mix-container .e-grid.mediatheque > .e-child .e-con-inner
}

.elementor-swiper-button-prev {
  top: 99.5% !important;
  position: absolute;
  margin-left: 43%;
}
.elementor-swiper-button-next {
  top: 99.5% !important;
  position: absolute;
  margin-right: 43%;
}

#mix-container > .e-con-inner {
}

.texte-listes ol {
  counter-reset: item;
  list-style: none;
  padding-left: 0;
}
.texte-listes ol li {
  counter-increment: item;
  position: relative;
  padding-left: 50px;
  margin-bottom: 16px;
}
.texte-listes ol li::before {
  content: counter(item);
  position: absolute;
  left: 0;
  top: -3px;
  width: 33px;
  height: 33px;
  line-height: 30px;
  text-align: center;
  border: 1px solid var(--mcea-color-border);
  border-radius: 50%;
  font-weight: bold;
  font-size: 14px;
  color: var(--mcea-color-text);
  background: var(--mcea-color-surface);
}

.questions-titre .elementor-heading-title {
  padding: 0px 0px 18px 0px;
  border-bottom: 1px solid var(--mcea-color-border);
}

.swiper-pagination {
  margin-top: 20px;
}
.elementor-swiper-button {
  padding-top: 40px;
}

#hp-informer .elementor-swiper-button
{ padding-top: 18px !important; }


.e-n-accordion-item-title,
.e-n-accordion .elementor-element {
  border: 0 !important;
}
.e-n-accordion-item-title {
  padding-left: 0 !important;
}
.e-n-accordion-item-title-icon {
  margin: 0 0 0 auto;
}

#breadcrumbs {
  padding-bottom: 20px;
  color: var(--mcea-color-surface);
}
	#breadcrumbs a {
		color:var(--mcea-color-surface) !important;
	}
	
.breadcrumb_last strong {
  color: var(--mcea-color-surface) !important;
}

#trois-focus .elementor-widget-button {
  margin-top: auto;
  margin-bottom: 0;
}

.mediatheque .elementor-widget-image .elementor-widget-container {
  position: relative;
  width: 100%;
  padding-top: 60%;
  overflow: hidden;
}
.mediatheque .elementor-widget-image .elementor-widget-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  object-fit: cover;
}

#breadcrumbs span a {color:var(--mcea-color-surface); text-decoration:none !important;}

@media only screen and (max-width: 768px) {
  #mix-container .e-con-inner {
    width: 100%;
  }
  .focus-bloc .swiper {
    margin: 5%;
  }
  #mix-container .e-con-full {
    min-height: 350px;
  }
  .mediatheque .elementor-widget-image .elementor-widget-container {
    padding-top: 0;
  }
  .mediatheque .elementor-widget-image .elementor-widget-container img {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.et_header_style_left #et-top-navigation nav>ul>li>a {font-size:18px;font-weight:500;}
.et_pb_button_module_wrapper .et_pb_button.bouton-actif {padding-right:50px !important;}
.et_pb_button_module_wrapper .et_pb_button.bouton-actif:hover {padding-right:50px !important;background-color:#E58D78 !important;}

.geo-input-example > label{
            font-weight: bold;
		color:white;
        }
        .geo-input-example .autocomplete__menu {
            position: relative;
            right: 20px;
            left: 2px;
            z-index: 2;
            width: auto;
            max-height: 240px;
            margin-top: 0;
            overflow: auto;
            color:black;
            font-size: 16px;
            line-height: 1;
            background: white;
			padding:0;
            border-top-left-radius: 0;
            border-top-right-radius: 0;
			max-width:396px;
        }
        .geo-input-example .autocomplete__menu > * {
            padding: 10px;
            font-size: 0.9em;
            background: inherit !important;
            border: none !important;
        }

        .geo-input-example .autocomplete__menu > li:hover,
        .geo-input-example .autocomplete__menu > li:focus,  
        .geo-input-example .autocomplete__menu > li.autocomplete__option--focused {
            color: black !important;
            background: white !important;
        }
        
        .geo-input-example .autocomplete__input {
            padding: 10px 20px;
            font-weight: bold;
            font-size: 16px;
            line-height: 1;
            background: white;
            outline: 0;
			max-width:400px;
        }


.invisible , .autocomplete__menu--hidden {display:none !important;}

.questions-titre a {text-decoration:none !important;}
.questions-titre a:hover {text-decoration:underline !important;}

#shortcode-pcs-auth-form .pcs-auth__form-group input, #shortcode-pcs-auth-form .pcs-auth__form-group textarea {border-width:1px !important;}
.is-provider-youtube iframe {width:revert-layer !important;text-align:center;width:100%;    height: 52vh !important;
    width: 90vh !important;}

.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before {padding-top:20% !important;}
@media (max-width: 767px) {
  .mixitup-pager--disabled {
    display: none !important;
  }
{left: 0;right: 0;}
  #hp-informer .elementor-swiper-button-next{right: calc(var(--e-n-carousel-arrow-next-right-align) + var(--e-n-carousel-arrow-next-right-position) - 20px);}
  #hp-informer .elementor-swiper-button-prev {left: calc(var(--e-n-carousel-arrow-prev-left-align) + var(--e-n-carousel-arrow-prev-left-position) - 20px);}
	.is-provider-youtube iframe {width:revert-layer !important;text-align:center;width:100%;    height: auto !important;
    width: auto !important;}
	.wp-block-embed-spotify {margin:0;}
	.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before {padding-top:30% !important;}
	#page-header, #header-article {padding-top:40px;}
	.elementor-widget-loop-carousel {max-width:95% !important;}

}

.wp-block-embed__wrapper {text-align:center;}
.wp-block-video {margin:0;padding:0;}

.wp-block-audio audio {width:100%;}

#page-header img, #header-article img { aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block; }

#contain-aller-plus-loin-article .elementor-grid {gap:10px !important;}

.dls-filter-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 20px;
}

.dls-filter-btn {
  border: 1px solid var(--mcea-color-border);
  background: var(--mcea-color-surface);
  color: var(--mcea-color-text);
  padding: 10px 16px;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
}

.dls-filter-btn:hover,
.dls-filter-btn.is-active {
  background: var(--mcea-color-header);
  border-color: var(--mcea-color-header);
  color: var(--mcea-color-surface);
}

.dls-modal-open {
  overflow: hidden;
}

.dls-download-open,
.dls-download-submit {
  border: 1px solid var(--mcea-color-cta);
  background: var(--mcea-color-cta);
  color: var(--mcea-color-surface);
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 18px;
  cursor: pointer;
}

.dls-download-open:hover,
.dls-download-submit:hover {
  background: var(--mcea-color-cta-hover);
  border-color: var(--mcea-color-cta-hover);
}

.dls-download-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 27, 41, 0.5);
  z-index: 9998;
}

.dls-download-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 520px);
  background: var(--mcea-color-surface);
  border: 1px solid var(--mcea-color-border);
  padding: 24px;
  z-index: 9999;
}

.dls-download-close {
  position: absolute;
  top: 8px;
  right: 10px;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: var(--mcea-color-text-muted);
}

.dls-download-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 18px 0;
}

.dls-download-option {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dls-download-feedback {
  margin-top: 12px;
  color: var(--mcea-color-text-muted);
}

.dls-download-feedback ul {
  margin: 8px 0 0;
}

.meem-pdf-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 28px 24px;
  margin: 0 0 24px;
  background: var(--mcea-color-surface);
  border: 1px solid rgba(18, 36, 48, 0.06);
  box-shadow: 0 10px 26px rgba(18, 36, 48, 0.06);
}

.meem-pdf-box__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.meem-pdf-box__version {
  margin: 0;
  color: var(--mcea-color-header-route);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.meem-pdf-box__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.35;
  color: var(--mcea-color-text);
}

.meem-pdf-box__tags-preview {
  margin: 0;
  color: var(--mcea-color-text-muted);
  font-size: 13px;
}

.meem-pdf-box__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  padding: 14px 18px;
  border: 1px solid var(--mcea-color-border);
  background: var(--mcea-color-surface);
  color: var(--mcea-color-text);
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.meem-pdf-box__link:hover,
.meem-pdf-box__link:focus {
  border-color: var(--mcea-color-header);
  background: var(--mcea-color-header);
  color: var(--mcea-color-surface);
}

.meem-pdf-box__link--disabled {
  opacity: 0.6;
  cursor: default;
}

.meem-pdf-box--placeholder {
  color: var(--mcea-color-text-muted);
}

.meem-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin: 0 0 20px;
}

.meem-filter-row__label-wrap {
  min-width: 160px;
}

.meem-filter-row__label {
  margin: 0;
  font-weight: 700;
  color: var(--mcea-color-text);
}

.meem-filter-row__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.meem-filter-row__button {
  border: 1px solid #122430 !important;
  background: #ffffff;
  color: #122430;
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.meem-filter-row__button:hover,
.meem-filter-row__button.is-active {
  background: #4f74ad !important;
  border-color: #4f74ad !important;
  color: #ffffff !important;
}

.meem-filter-row-editor__item {
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e0e0e0;
}

.meem-pdf-download {
  margin: 24px 0 32px;
}

.meem-pdf-download__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  border: 1px solid #122430 !important;
  background: #4f74ad;
  color: #ffffff;
  padding: 14px 20px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}

.meem-pdf-download__button:hover,
.meem-pdf-download__button:focus {
  background: #2c4367;
  border-color: #2c4367 !important;
}

.meem-pdf-download__button:disabled {
  opacity: 0.6;
  cursor: wait;
}

.meem-pdf-download__feedback {
  margin-top: 10px;
  color: var(--mcea-color-text-muted);
}

@media (max-width: 767px) {
  .meem-pdf-box {
    flex-direction: column;
    align-items: flex-start;
  }

  .meem-pdf-box__link {
    width: 100%;
  }

  .meem-filter-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .meem-filter-row__label-wrap,
  .meem-filter-row__buttons {
    width: 100%;
  }

  .meem-pdf-download__button {
    width: 100%;
  }
}

/* Bouton roll bleu */
.bouton-roll-bleu .elementor-button {
  background: transparent !important;
  border: 1px solid #fff !important;
  color: #fff !important;
  transition: all 0.3s ease !important;
}
.bouton-roll-bleu .elementor-button .elementor-button-text,
.bouton-roll-bleu .elementor-button .elementor-button-content-wrapper {
  transition: all 0.3s ease !important;
  color: inherit !important;
}
.bouton-roll-bleu .elementor-button:hover,
.bouton-roll-bleu .elementor-button:focus {
  background: #fff !important;
  border-color: #fff !important;
  color: #2C4367 !important;
}
.bouton-roll-bleu .elementor-button:hover .elementor-button-text,
.bouton-roll-bleu .elementor-button:focus .elementor-button-text,
.bouton-roll-bleu .elementor-button:hover .elementor-button-content-wrapper,
.bouton-roll-bleu .elementor-button:focus .elementor-button-content-wrapper {
  color: #2C4367 !important;
}

/* ==========================================================================
   Accessibilite WCAG 2.1 AA
   ========================================================================== */

/* 1. Focus visible — restore les indicateurs de focus sur tous les elements interactifs */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #0f6d78 !important;
  outline-offset: 2px !important;
}

/* Focus visible sur fond sombre (header, hero) */
header a:focus-visible,
header button:focus-visible,
nav a:focus-visible,
#header-menu a:focus-visible,
#header-home a:focus-visible,
#page-header a:focus-visible,
#header-article a:focus-visible {
  outline-color: #ffffff !important;
}

/* Homepage : cartes thématiques (carousel) – texte en haut, bouton en bas */
.elementor-element-0fb3a5b .e-con.e-child .e-con.e-child {
  min-height: 250px !important;
  justify-content: flex-start !important;
}
.elementor-element-0fb3a5b .e-con.e-child .e-con.e-child > .elementor-widget-heading {
  margin-bottom: 20px !important;
}
.elementor-element-0fb3a5b .e-con.e-child .e-con.e-child > .elementor-widget-text-editor {
  flex-grow: 1 !important;
}

/* ───────────────────────────────────────────────────────
   Formulaire "Être soutenu" – CF7 file upload
   ─────────────────────────────────────────────────────── */
.postid-3785 .wpcf7-form {
  max-width: 680px;
}

/* File row wrapper (built by meem-file-upload.js) */
.meem-file-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

/* Hide native file input visually */
.meem-file-row input[type="file"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Visible button */
.meem-file-row__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  padding: 10px 18px;
  border: 1px solid #122430;
  background: #ffffff;
  color: #122430;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.meem-file-row__btn:hover,
.meem-file-row__btn:focus-visible {
  background: #2c4367;
  border-color: #2c4367;
  color: #ffffff;
}

/* Filename label */
.meem-file-row__name {
  font-size: 14px;
  color: #8fa4be;
}

.meem-file-row__name.has-file {
  color: #122430;
}

/* Submit button */
.postid-3785 .wpcf7-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  margin-top: 20px;
  padding: 14px 32px;
  border: none;
  background: #2c4367;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.postid-3785 .wpcf7-form input[type="submit"]:hover {
  background: #1e2f49;
}

/* CF7 validation messages */
.postid-3785 .wpcf7-not-valid-tip {
  color: #c0392b;
  font-size: 13px;
  margin-top: 4px;
}

.postid-3785 .wpcf7-response-output {
  margin-top: 16px;
  padding: 12px 16px;
  border: 1px solid #2c4367;
  font-size: 14px;
}

/* Responsive */
@media (max-width: 600px) {
  .meem-file-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .meem-file-row__btn {
    width: 100%;
  }

  .postid-3785 .wpcf7-form input[type="submit"] {
    width: 100%;
  }
}

/* Classe utilitaire screen-reader-only pour le JS a11y */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
