/**
 * Styles personnalisés pour le thème LATELIER FSE
 *
 * Ce fichier contient les styles CSS personnalisés pour les blocs FSE.
 * Pour les styles de blocs, préférez utiliser theme.json.
 */

/* Utility: Card shadow */
.articles {
  box-shadow: 0px 0px 10px rgba(25, 25, 25, 0.15);
}

video{
  border-radius: 12px;
}

/* Empêcher le débordement horizontal */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

/* Header fixed */
.wp-block-template-part:has(.custom-header) {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999999;
  width: 100%;
}

/* Décaler le header quand la barre admin WP est présente */
.admin-bar .wp-block-template-part:has(.custom-header) {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .wp-block-template-part:has(.custom-header) {
    top: 46px;
  }
}

/* Compenser la hauteur du header fixed */
body {
  padding-top: 85px;
}

@media screen and (max-width: 1024px) {
  body {
    padding-top: 82px;
  }
}

.hero-container {
  position: relative;
  overflow: hidden;
  margin-top: 0px!important;
}

 .update-padding-y-mobile {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

.custom-hero-img{position:absolute;left:50%; transform:translateX(-50%); bottom:10%;}
.custom-hero-img-2{position:absolute;left:-8%;top:35%;}
.custom-hero-img-3{position:absolute;right:-10%;top:0%;}

.breadcrumb_last{
  font-weight: 600;
}

.page-numbers.current {
  font-weight: 600;
}

@media (max-width: 1024px) {
	.hero-container h1 {
		font-size:32px!important;
	}

  .wp-block-group h2{
    font-size: 24px!important;
  }

  .wp-block-group h3{
    font-size: 20px!important;
  }

  .custom-key-numbers {
    grid-template-columns: repeat(8, minmax(0, 1fr))!important;
  }

  .grid-6, .grid-8 {
    grid-column: span 3!important;
  }

  .mobile-hidden {
    display: none!important;
  }

  .custom-hero-img {
		display: none !important;
	}
    
}

@media (max-width: 768px) {
  .atom-media-text-2{
    flex-wrap: nowrap!important;
  }
  
  .custom-flex-left {
    justify-content: start!important;
  }

  .custom-key-numbers {
    grid-template-columns: repeat(4, minmax(0, 1fr))!important;
  }
  .grid-7, .grid-8 {
    grid-column: span 4!important;
  }

  .mobile-flex{
    flex-direction: column!important;
    align-items: start!important;
  }

  .mobile-flex .wp-block-buttons {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .mobile-flex .wp-block-button {
    width: 48%;
  }
}

/* ============================================
   STYLES DE BOUTONS PERSONNALISÉS
   ============================================ */

/* Bouton plein rouge */
.wp-block-button.is-style-fill .wp-block-button__link {
  background-color: var(--wp--preset--color--primary);
}

/* Bouton outline rouge */
.wp-block-button.is-style-outline .wp-block-button__link {
  border: 2px solid var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
  background-color: transparent;
}

/* Bouton fond noir */
.wp-block-button.is-style-black-bg .wp-block-button__link {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  border: 2px solid var(--wp--preset--color--contrast);
  transition: all 0.3s ease;
}

.wp-block-button.is-style-black-bg .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--contrast);
  border-color: var(--wp--preset--color--primary);
}

/* Bouton fond jaune/rouge */
.wp-block-button.is-style-yellow-bg .wp-block-button__link {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  border: 2px solid var(--wp--preset--color--primary);
  transition: all 0.3s ease;
}

.wp-block-button.is-style-yellow-bg .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--contrast)!important;
  color: var(--wp--preset--color--base)!important;
  border-color: var(--wp--preset--color--primary)!important;
}

/* Bouton outline noir */
.wp-block-button.is-style-outline-black .wp-block-button__link {
  background-color: transparent;
  border: 2px solid var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--contrast);
  transition: all 0.3s ease;
}

.wp-block-button.is-style-outline-black .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--contrast);
}

/* Focus visible pour accessibilité (boutons toggle liste/map) */
.list-button .wp-block-button__link:focus,
.map-button .wp-block-button__link:focus {
  outline: 3px solid var(--wp--preset--color--primary, #fd4846);
  outline-offset: 2px;
}

/* Icônes dans les boutons */
.wp-block-button__link img {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
}
/* Style hr gradient menu */
.custom-gradient {
  border: 0;
  height: 2px;
  background: linear-gradient(to right, #ffffff 30%, #fd4846 100%);
}

.header-button a{
  padding: 10px 20px!important;
}


/* Styles personnalisés pour le formulaire de contact */
.form-grid {
    display: grid;
    grid-template-columns: 1fr; /* 1 colonne par défaut (petit écran) */
    gap: 20px;
}

.form-grid br {
    display: none;
}

.form-grid .col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media (min-width: 768px) { /* grand écran à partir de 768px */
    .form-grid {
        grid-template-columns: 1fr 1fr; /* 2 colonnes */
        gap: 10%;
    }

}

.form-grid label {
    color: #FFF;
    font-size: 20px;
    font-weight: 600;
}

.form-grid input[type="text"],
.form-grid input[type="email"],
.form-grid textarea {
    width: 100%;
    border: none;
    border-bottom: 2px solid #FFF;
    background: transparent;
    padding: 8px 0;
    font-size: 18px;
    color: #FFF;
}

.form-grid textarea {
    height: 230px;
}

/* Styles personnalisés pour les checkboxes */
.checkbox-wrapper label {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: #FFF;
    font-size: 15px;
    cursor: pointer;
}

.checkbox-wrapper input[type="checkbox"] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    background-color: #FFF;
    border: none;
    border-radius: 4px;
    padding: 4px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    margin-top: 2px;
}

.checkbox-wrapper input[type="checkbox"]:checked {
    background-color: #FFF;
}

.checkbox-wrapper input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M20 6L9 17l-5-5' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.infos {
    margin-top: 20px;
    color: #FFF;
    font-size: 15px;
    line-height: 1.4;
}

.btn-wrapper {
    margin-top: 30px;
    text-align: right;
}

.btn-wrapper input[type="submit"] {
    background: #FFF;
    color: #FD4846;
    border: none;
    padding: 10px 30px;
    border-radius: 999px;
    font-size: 20px;
    font-weight: 500;
    cursor: pointer;
}

.infos-wrapper {
  display: flex;
  gap: 10px;
}

input:focus, textarea:focus {
    outline: none;
}

.nav-desktop ul,
.nav-desktop div {
  display: flex;
}

@media (max-width: 1024px) {
  .nav-desktop ul,
  .nav-desktop div {
    display: none;
  }
}

.menu-mobile {
  display: none !important;
    background: #FD4846;
    position: fixed;
    inset: 0;
    z-index: 1000;
    width: 100%;
    height: fit-content;
}

.nav-mobile .nav-custom-btn {
  display: none !important;
}

@media (max-width: 1024px) {
  .menu-mobile {
    display: block !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  .menu-mobile.active {
    opacity: 1;
    visibility: visible;
  }
}

@media (max-width: 1024px) {
  .subheader,
  .line {
    display: none !important;
  }
}

.burger-btn {
  cursor: pointer;
}

@media (min-width: 1024px) {
  .burger-btn {
    display: none !important;
  }
}

/* Bouton de fermeture du menu mobile */
.menu-close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  transition: background-color 0.2s ease;
}

.menu-close-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: white;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.menu-close-btn:hover::before {
  opacity: 0.2;
}

.menu-close-btn img,
.menu-close-btn svg {
  width: 24px;
  height: 24px;
  display: block;
  position: relative;
  z-index: 1;
}

@media (min-width: 1024px) {
  .menu-close-btn {
    display: none !important;
  }
}

/* ============================================
   STYLES FORMINATOR
   ============================================ */

.forminator-field label, .forminator-field .forminator-label {
  font-size: 17px!important;
}

.forminator-field input {
  padding: 10px 15px!important;
  border-radius: 40px!important;
  background: #EFF1E3!important;
  border:0px!important;
  color: black!important;
}

/* Select2 (utilisé par Forminator pour les selects) */
.forminator-field .select2-container .select2-selection--single {
  padding: 10px 15px!important;
  border-radius: 40px!important;
  background: #EFF1E3!important;
  border:0px!important;
  height: auto!important;
  min-height: 40px!important;
}

.forminator-field .select2-selection__rendered {
  color: black!important;
  line-height: normal!important;
  padding: 0!important;
}

.forminator-field .select2-selection__placeholder {
  color: #666!important;
}

.forminator-field .select2-selection__arrow {
  height: 100%!important;
  right: 10px!important;
}

/* Dropdown des résultats Select2 */
.forminator-select-dropdown {
  border-radius: 20px!important;
  background: #EFF1E3!important;
  border: 0px!important;
  padding: 5px!important;
  margin-top: 5px!important;
}

.forminator-select-dropdown .select2-results__options {
  max-height: 250px!important;
}

.forminator-select-dropdown .select2-results__option {
  padding: 10px 15px!important;
  border-radius: 15px!important;
  color: black!important;
  cursor: pointer!important;
  transition: background 0.2s ease!important;
}

.forminator-select-dropdown .select2-results__option--highlighted,
.forminator-select-dropdown .select2-results__option:hover {
  background: rgba(0, 0, 0, 0.05)!important;
  color: black!important;
}

.forminator-select-dropdown .select2-results__option--selected {
  background: rgba(0, 0, 0, 0.08)!important;
}

.forminator-field textarea {
  padding: 10px 15px!important;
  border-radius: 20px!important;
  background: #EFF1E3!important;
  border:0px!important;
  color: black!important;
}

/* Messages de validation Forminator */
.forminator-error-message {
  font-size: 14px!important;
  color: #d32f2f!important;
  margin-top: 5px!important;
}

.forminator-success-message,
.forminator-response-message {
  padding: 10px 15px!important;
  border-radius: 40px!important;
  background: #EFF1E3!important;
  border:0px!important;
  font-size: 15px!important;
  margin-top: 10px!important;
}

/* Checkbox Forminator */
.forminator-checkbox input[type="checkbox"],
.forminator-field input[type="checkbox"] {
  width: 20px!important;
  height: 20px!important;
  min-width: 20px!important;
  background: #EFF1E3!important;
  border: 0px!important;
  border-radius: 5px!important;
  padding: 0!important;
  cursor: pointer!important;
  appearance: none!important;
  -webkit-appearance: none!important;
  -moz-appearance: none!important;
  position: relative!important;
}

.forminator-checkbox input[type="checkbox"]:checked,
.forminator-field input[type="checkbox"]:checked {
  background: #EFF1E3!important;
}

.forminator-checkbox input[type="checkbox"]:checked::after,
.forminator-field input[type="checkbox"]:checked::after {
  content: ''!important;
  position: absolute!important;
  left: 50%!important;
  top: 50%!important;
  transform: translate(-50%, -50%)!important;
  width: 12px!important;
  height: 12px!important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M20 6L9 17l-5-5' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/></svg>")!important;
  background-size: contain!important;
  background-repeat: no-repeat!important;
  background-position: center!important;
}

.forminator-checkbox label,
.forminator-field-checkbox label {
  display: flex!important;
  align-items: center!important;
  gap: 10px!important;
  cursor: pointer!important;
}

.forminator-checkbox-box {
  background-color: white!important;
  border-radius: 5px!important;
  border-color: black!important;
}

.forminator-button {
  background-color: var(--wp--preset--color--primary)!important;
  color:black!important;
  border-radius: 20px!important;
  border:0px!important;
  padding: 21px 40px!important;
  font-size: 17px!important;
}

/* Bouton Upload Forminator */
.forminator-button-upload {
  display: inline-flex!important;
  align-items: center!important;
  justify-content: space-between!important;
  gap: 15px!important;
  padding: 12px 20px!important;
  border-radius: 40px!important;
  background: #EFF1E3!important;
  border: 0px!important;
  color: black!important;
  font-size: 15px!important;
  font-weight: 400!important;
  cursor: pointer!important;
  transition: background 0.2s ease!important;
  min-width: 200px!important;
}

.forminator-button-upload:hover {
  background: #e5e7d9!important;
  box-shadow: none!important;
}

/* Retirer le shadow au hover pour tous les boutons Forminator */
.forminator-button:hover,
.forminator-button-upload:hover,
.forminator-button-submit:hover {
  box-shadow: none!important;
}

.forminator-button-upload::after {
  content: ''!important;
  display: inline-block!important;
  width: 20px!important;
  height: 18px!important;
  background-image: url('../imgs/download.svg')!important;
  background-size: contain!important;
  background-repeat: no-repeat!important;
  background-position: center!important;
  flex-shrink: 0!important;
}

/* Container du champ upload */
.forminator-field-upload .forminator-upload-button,
.forminator-upload .forminator-button-upload {
  width: 100%!important;
}

/* Fichier sélectionné */
.forminator-uploaded-file {
  display: flex!important;
  align-items: center!important;
  gap: 10px!important;
  padding: 10px 15px!important;
  background: #EFF1E3!important;
  border-radius: 40px!important;
  margin-top: 10px!important;
}

.forminator-uploaded-file .forminator-uploaded-file--title {
  flex: 1!important;
  font-size: 14px!important;
  color: black!important;
}

.forminator-uploaded-file .forminator-uploaded-file--delete {
  background: transparent!important;
  border: none!important;
  cursor: pointer!important;
  padding: 5px!important;
}

/* Au-dessus de 1024px : menu desktop visible, burger caché */
@media (min-width: 1025px) {
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  
  .wp-block-navigation .wp-block-navigation__container {
    display: flex !important;
  }
}

@media (max-width: 1024px) {

/* Forcer le menu burger à apparaître et cacher le menu desktop dès 1024px */
.wp-block-navigation__responsive-container-open {
  display: flex !important;
}

.wp-block-navigation.header-menu-nav {
  flex-wrap:nowrap !important;
}

/* Cacher UNIQUEMENT le menu desktop (pas celui dans le panneau responsive) */
.wp-block-navigation.header-menu-nav > .wp-block-navigation__container {
  display: none !important;
}

.wp-block-navigation__responsive-container-open button {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* ========================================
   MENU RESPONSIVE / MOBILE
   ======================================== */

/* Conteneur principal du menu responsive */
.wp-block-navigation__responsive-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* État ouvert du menu */
.wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation__responsive-container.has-modal-open {
  opacity: 1;
  visibility: visible;
}

/* Zone de fermeture (overlay jaune) */
.wp-block-navigation__responsive-close {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color:#eff1e3;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Boîte de dialogue du menu */
.wp-block-navigation__responsive-dialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 400px;
  background: var(--wp--preset--color--base, #ffffff);
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

/* Menu ouvert - slide in */
.is-menu-open .wp-block-navigation__responsive-dialog,
.has-modal-open .wp-block-navigation__responsive-dialog {
  transform: translateX(0);
}

/* Bouton de fermeture (X) */
.wp-block-navigation__responsive-container-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, transform 0.2s ease;
  z-index: 10;
}

.wp-block-navigation__responsive-container-close:hover {
  background-color: rgba(0, 0, 0, 0.05);
  transform: rotate(90deg);
}

.wp-block-navigation__responsive-container-close:active {
  transform: rotate(90deg) scale(0.95);
}

.wp-block-navigation__responsive-container-close svg {
  width: 24px;
  height: 24px;
  fill: var(--wp--preset--color--contrast, #000);
}

/* Contenu du menu */
.wp-block-navigation__responsive-container-content {
  flex: 1;
  padding: 80px 30px 30px;
  overflow-y: auto;
}

/* Liste des liens du menu */
.wp-block-navigation__responsive-container .wp-block-navigation__container {
  display: flex;
  flex-direction: column;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 20px;
}

/* Items du menu */
.wp-block-navigation__responsive-container .wp-block-navigation-item {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.wp-block-navigation__responsive-container .wp-block-navigation-item:last-child {
  border-bottom: none;
}

/* Liens du menu */
.wp-block-navigation__responsive-container .wp-block-navigation-item__content {
  display: flex;
  align-items: center;
  padding: 18px 0;
  color: var(--wp--preset--color--contrast, #000);
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
  transition: all 0.2s ease;
  position: relative;
}

.wp-block-navigation__responsive-container .wp-block-navigation-item__content::before {
  content: '';
  position: absolute;
  left: -30px;
  width: 0;
  height: 2px;
  background-color: var(--wp--preset--color--primary, #fd4846);
  transition: width 0.3s ease;
}

.wp-block-navigation__responsive-container .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--primary, #fd4846);
  padding-left: 10px;
}

.wp-block-navigation__responsive-container .wp-block-navigation-item__content:hover::before {
  width: 20px;
}

/* Label du lien */
.wp-block-navigation__responsive-container .wp-block-navigation-item__label {
  flex: 1;
}

/* Boutons dans le menu responsive */
.wp-block-navigation__responsive-container .wp-block-buttons {
  margin-top: 0px;
  padding-top: 20px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.wp-block-navigation__responsive-container .wp-block-button {
  width: 100%;
}

.wp-block-navigation__responsive-container .wp-block-button__link {
  width: 100%;
  justify-content: center;
  text-align: center;
}

/* Animation d'entrée des items */
.is-menu-open .wp-block-navigation-item,
.has-modal-open .wp-block-navigation-item {
  animation: slideInMenuItem 0.3s ease forwards;
  opacity: 0;
}

.is-menu-open .wp-block-navigation-item:nth-child(1),
.has-modal-open .wp-block-navigation-item:nth-child(1) {
  animation-delay: 0.05s;
}

.is-menu-open .wp-block-navigation-item:nth-child(2),
.has-modal-open .wp-block-navigation-item:nth-child(2) {
  animation-delay: 0.1s;
}

.is-menu-open .wp-block-navigation-item:nth-child(3),
.has-modal-open .wp-block-navigation-item:nth-child(3) {
  animation-delay: 0.15s;
}

.is-menu-open .wp-block-navigation-item:nth-child(4),
.has-modal-open .wp-block-navigation-item:nth-child(4) {
  animation-delay: 0.2s;
}

.is-menu-open .wp-block-navigation-item:nth-child(5),
.has-modal-open .wp-block-navigation-item:nth-child(5) {
  animation-delay: 0.25s;
}

.is-menu-open .wp-block-navigation-item:nth-child(n+6),
.has-modal-open .wp-block-navigation-item:nth-child(n+6) {
  animation-delay: 0.3s;
}
}


.legal-menu a span{
  font-size: 0.875rem!important;
}

@keyframes slideInMenuItem {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Responsive - petit écran */
@media (max-width: 480px) {
  .wp-block-navigation__responsive-dialog {
    max-width: 100%;
  }
  
  .wp-block-navigation__responsive-container-content {
    padding: 70px 20px 20px;
  }
  
  .wp-block-navigation__responsive-container .wp-block-navigation-item__content {
    font-size: 16px;
    padding: 16px 0;
  }
}

/* Désactiver le scroll du body quand le menu est ouvert */
body.has-modal-open,
html.has-modal-open {
  overflow: hidden;
}

/* ========================================
   PLUGIN RECHERCHE - RESPONSIVE
   ======================================== */

/* En responsive, masquer le texte et garder seulement l'icône */
@media (max-width: 768px) {
  .no-padding-mobile {
      padding:0px!important;
  }

  .header-search__trigger span {
    display: none;
  }
  
  .header-search__trigger {
    padding: 8px !important;
    min-width: 40px;
    justify-content: center;
  }
  
  .header-search__trigger svg {
    margin: 0;
  }

  .hidden-mobile{
    display: none!important;
  }
  .mobile-center{
    text-align: center!important;
    justify-content: center!important;
    align-items: center!important;
  }

  .uich-e4f58fb9{
    margin: 30px 0px!important;
  }
  .uich-ed5239dc {
    padding-right: 0!important;
  }

  .uich-e4f58fb9 .testimonials-columns {
    gap: 20px!important;
  }
}

/* ========================================
   SLIDER TÉMOIGNAGES - SWIPER.JS
   ======================================== */

/* Styles de base pour le conteneur (avant initialisation Swiper) */
.uich-879094f4 {
  position: relative;
  width: 100%;
  padding-bottom: 60px;
}

/* Wrapper initial pour les cartes */
.uich-879094f4 > .wp-block-columns {
  margin-bottom: 20px;
}

/* Fix layout parent sur mobile - forcer l'empilement des colonnes */
@media (max-width: 1023px) {
  .uich-e4f58fb9 {
    flex-direction: column !important;
    min-height: auto !important;
  }
  
  .uich-e4f58fb9 .testimonials-columns {
    width: 100% !important;
    flex-basis: 100% !important;
  }
  
  .uich-2854ed06,
  .uich-879094f4 {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.overflow-hidden {
  overflow: hidden!important;
}

.w-full{
  width: 100%!important;
}

/* Styles pour les articles - Catégories en chipset */
.articles {
  position: relative;
}

/* Supprimer les marges gauche et droite par défaut des éléments WordPress */
.articles .wp-block-post-featured-image,
.articles .wp-block-post-terms,
.articles .wp-block-post-date,
.articles .wp-block-post-title,
.articles .wp-block-post-excerpt {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Positionnement des catégories en haut à gauche de l'image */
.articles .taxonomy-category, .articles .image-tags {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

/* Style chipset pour chaque catégorie */
.articles .taxonomy-category a, .articles .image-tags a {
  display: inline-block;
  padding: 6px 14px;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  color: black;
  text-decoration: none;
  transition: all 0.3s ease;
}

.taxonomy-category a,
.image-tags a,
.post-tags-emploi a {
  pointer-events: none;
  cursor: default;
}

/* Masquer les séparateurs entre catégories */
.articles .taxonomy-category .wp-block-post-terms__separator {
  display: none;
}

/* Masquer les préfixes et suffixes éditables */
.articles .taxonomy-category .wp-block-post-terms__prefix,
.articles .taxonomy-category .wp-block-post-terms__suffix {
  display: none;
}

/* Style chipset pour les étiquettes (tags) */
.articles .post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.articles .post-tags-emploi {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.articles .article-cta {
  margin-left:0px!important;
  margin-right:0px!important;
  position: absolute;
  bottom: 20px;
  left: 20px;
  text-decoration: underline!important;
}

.articles .post-tags a {
  display: inline-block;
  padding: 6px 14px;
  background-color: rgba(255, 255, 255, 0.95);
  border:1px solid black;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  color: black;
  text-decoration: none;
  transition: all 0.3s ease;
}

.articles .post-tags-emploi a {
  display: inline-block;
  padding: 6px 14px;
  background-color: #ffed00;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  color: black;
  text-decoration: none;
  transition: all 0.3s ease;
}

.articles .post-tags a {
  pointer-events: none;
  cursor: default;
}

/* Masquer les séparateurs entre étiquettes */
.articles .post-tags .wp-block-post-terms__separator {
  display: none;
}

.articles .post-tags-emploi .wp-block-post-terms__separator {
  display: none;
}

/* ========================================
   ANIMATIONS HOVER POUR CARDS .anim-actu
   ======================================== */

.anim-actu {
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease;
}

/* Animation pour l'image */
.anim-actu .wp-block-post-featured-image {
  overflow: hidden;
}

.anim-actu .wp-block-post-featured-image img {
  transition: transform 0.3s ease;
  transform: scale(1);
}

/* Déclencher uniquement quand on hover le titre ou le lien "Lire la suite" */
.anim-actu:has(.wp-block-post-title a:hover) .wp-block-post-featured-image img,
.anim-actu:has(.article-cta:hover) .wp-block-post-featured-image img,
.anim-actu:focus-within .wp-block-post-featured-image img {
  transform: scale(1.05);
}

.anim-actu:has(.wp-block-post-title a:hover),
.anim-actu:has(.article-cta:hover),
.anim-actu:focus-within {
  border-color: #eff1e3!important;
}

/* Effet de brillance subtil */
.anim-actu::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
  z-index: 1;
  pointer-events: none;
}

.anim-actu:has(.wp-block-post-title a:hover)::before,
.anim-actu:has(.article-cta:hover)::before,
.anim-actu:focus-within::before {
  left: 100%;
}

/* ========================================
   ANIMATIONS HOVER POUR CARDS .anim-etab
   ======================================== */

.anim-etab {
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.anim-etab .wp-block-post-featured-image {
  overflow: hidden;
}

.anim-etab .wp-block-post-featured-image img {
  transition: transform 0.3s ease;
  transform: scale(1);
}

.anim-etab:has(.wp-block-post-title a:hover),
.anim-etab:has(.article-cta:hover),
.anim-etab:focus-within {
  border-color: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.anim-etab:has(.wp-block-post-title a:hover) .wp-block-post-featured-image img,
.anim-etab:has(.article-cta:hover) .wp-block-post-featured-image img,
.anim-etab:focus-within .wp-block-post-featured-image img {
  transform: scale(1.05);
}

.anim-etab::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
  z-index: 1;
  pointer-events: none;
}

.anim-etab:has(.wp-block-post-title a:hover)::before,
.anim-etab:has(.article-cta:hover)::before,
.anim-etab:focus-within::before {
  left: 100%;
}

/* ========================================
   ANIMATIONS HOVER POUR CARDS .anim-empl
   ======================================== */

.anim-empl {
  position: relative;
  overflow: hidden;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.anim-empl:has(.wp-block-post-title a:hover),
.anim-empl:has(.article-cta:hover),
.anim-empl:focus-within {
  background-color: #ffed00;
  border-color: #ffed00;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.anim-empl::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
  transition: left 0.5s ease;
  z-index: 1;
  pointer-events: none;
}

.anim-empl:has(.wp-block-post-title a:hover)::before,
.anim-empl:has(.article-cta:hover)::before,
.anim-empl:focus-within::before {
  left: 100%;
}

.anim-empl:has(.wp-block-post-title a:hover) .post-tags-emploi a,
.anim-empl:has(.article-cta:hover) .post-tags-emploi a,
.anim-empl:focus-within .post-tags-emploi a {
  background-color: #fff;
}


.pages-card {
  position: relative;
}

.page-card-content{
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
}

/* Tarteaucitron: 75x75 clickable area, image stays at native size */
#tarteaucitronIcon {
  width: 75px !important;
  height: 75px !important;
}

#tarteaucitronIcon #tarteaucitronManager {
  width: 75px !important;
  height: 75px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#tarteaucitronIcon #tarteaucitronManager img {
  width: 50px !important;
  height: 50px !important;
}