.elementor-34132 .elementor-element.elementor-element-4539d08f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:40px;--margin-bottom:90px;--margin-left:0px;--margin-right:0px;}@media(max-width:767px){.elementor-34132 .elementor-element.elementor-element-4539d08f{--padding-top:0px;--padding-bottom:0px;--padding-left:5px;--padding-right:5px;}}@media(min-width:768px){.elementor-34132 .elementor-element.elementor-element-4539d08f{--content-width:1105px;}}/* Start custom CSS for shortcode, class: .elementor-element-7ce04d35 *//*******************************
 * CAROUSEL & SLIDES (commun)
 *******************************/
.glsr-carousel{ position:relative; overflow:hidden; }  /* masque tout débordement */
.glsr-carousel .swiper{ overflow:hidden; }
.glsr-carousel .swiper-slide{ height:auto; }

/*******************************
 * CARTE — MOBILE FIRST
 * 1 colonne : image (170px) + contenu, carte 450px
 *******************************/
.glsr-carousel .grr-card{
  display:grid;
  grid-template-columns: 1fr;
  grid-template-rows: 170px 1fr;     /* ligne image = 170px */
  background:#FDF2C4;                /* fond beige sur mobile */
  overflow:hidden;
  height:450px;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  align-items:stretch;
}

/* Image (verrou hauteur géré dans la MQ mobile) */
.glsr-carousel .grr-figure{ margin:0; }
.glsr-carousel .grr-img{
  display:block;
  width:100%;
  object-fit:cover;
}

/* Contenu (texte collé en haut) */
.glsr-carousel .grr-content{
  padding:18px 16px 20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  height:100%;
  overflow:hidden;
}

/*******************************
 * TYPO & IMAGE — MOBILE (≤1023px)
 * Hauteur image STRICTE = 170px
 *******************************/
@media (max-width:1023px){
  /* Verrou STRICT 170px (ni plus ni moins) */
  .glsr-carousel .grr-figure,
  .glsr-carousel .grr-figure picture,
  .glsr-carousel .grr-figure img{
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    width:100%;
    object-fit:cover;
    display:block;
  }

  .glsr-carousel .grr-title{
    font-family:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
    font-weight:600; font-size:18px; line-height:20px;
    letter-spacing:-0.18px;
    margin:0 0 10px;
    color:#0f0f0f;
    text-decoration:none;
    text-align:left;
  }
  .glsr-carousel .grr-excerpt{
    font-family:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
    font-weight:400; font-size:16px; line-height:21px;
    margin:0 0 14px; color:#0f0f0f;
  }
  .glsr-carousel .grr-author{
    font-family:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
    font-weight:700;
  }
  .glsr-carousel .grr-nav .grr-prev{ left:6px; }
  .glsr-carousel .grr-nav .grr-next{ right:6px; }
}

/*******************************
 * ÉLÉMENTS COMMUNS TEXTE
 *******************************/
.glsr-carousel .grr-excerpt::before{ content:"« "; }
.glsr-carousel .grr-excerpt::after{ content:" »"; }
.glsr-carousel .grr-meta{ display:flex; gap:12px; align-items:center; font-weight:700; }
.glsr-carousel .grr-stars{ letter-spacing:2px; }
.glsr-carousel .grr-pag{ display:none !important; }

/*******************************
 * DESKTOP (≥1024px)
 * 2 colonnes, image = hauteur contenu,
 * fond beige uniquement sous la colonne texte
 * Titre : Jost SemiBold, 18/20, -0.18px
 *******************************/
@media (min-width:1024px){
  .glsr-carousel .grr-card{
    grid-template-columns: 1.05fr 1fr;
    grid-template-rows: 1fr;
    height:100%;
    background:transparent;          /* on retire le beige global en desktop */
  }

  .glsr-carousel .grr-content{
    padding:22px 24px 20px;
    background:#FDF2C4;              /* beige seulement sur la colonne droite */
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }

  .glsr-carousel .grr-title{
    font-family:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
    font-weight:600; font-size:18px; line-height:20px;
    letter-spacing:-0.18px;
    margin:0 0 10px;
    color:#0f0f0f;
    text-decoration:none;
    text-align:left;
  }

  /* Image prend toute la hauteur disponible du slide en desktop */
  .glsr-carousel .grr-figure{ height:100%; }
  .glsr-carousel .grr-img{ height:100%; object-fit:cover; }

  /* Fix Elementor + <picture> UNIQUEMENT en desktop */
  .elementor .glsr-carousel .grr-figure,
  .elementor .glsr-carousel .grr-figure picture,
  .elementor .glsr-carousel .grr-figure img{
    height:100% !important;
    object-fit:cover !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* 📌 Applique uniquement au formulaire avec l'ID newsletter_home */
#newsletter_home {
    color: white !important;
    font-family: 'Jost' !important;
    font-size: 13px !important;
}

/* 📌 Champ Email - Contour blanc avec fond semi-transparent */
#newsletter_home .sib-email-area {
    position: relative;
}

#newsletter_home .sib-email-input {
    width: 100%;
    padding: 10px;
    border: 2px solid white !important; /* Bordure blanche */
    background: rgba(255, 255, 255, 0.15) !important; /* Fond semi-transparent */
    backdrop-filter: blur(8px); /* Flou plus net pour se fondre avec l’image */
    color: white !important;
    font-size: 20px !important;
    font-family: 'Jost' !important;
    border-radius: 8px;
    
    transition: all 0.3s ease-in-out;
}

#newsletter_home .sib-email-input::placeholder {
    color: rgba(255, 255, 255, 0.8) !important; /* Placeholder plus visible */
    font-family: 'Jost' !important;
    font-size: 20px !important;
}

#newsletter_home .sib-email-input:focus {
    border-color: white !important;
    background: rgba(255, 255, 255, 0.25) !important; /* Augmente l'opacité au focus */
}

/* 📌 Checkbox et Texte */
#newsletter_home .sib-terms-label {
    display: flex;
    align-items: center;
    font-size: 13px !important;
    font-family: 'Jost' !important;
    color: white !important;
    line-height:24px;
}

#newsletter_home .sib-terms-label input[type="checkbox"] {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 2px solid white !important; /* Contour blanc */
    border-radius: 3px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
    cursor: pointer;
}

#newsletter_home .sib-terms-label input[type="checkbox"]:checked::before {
    content: '✔';
    font-size: 14px;
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


/* 📌 Bouton d'Abonnement */
#newsletter_home .sib-submit-area {
    margin-top: 10px;
}

#newsletter_home .sib-default-btn {
    width: 100%;
    background: white;
    color: black !important;
    padding: 14px;
    font-size: 13px !important;
    border: 2px solid white !important;
    border-radius: 8px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between; /* Texte à gauche et flèche à droite */
    transition: background 0.3s ease-in-out;
    padding-left: 20px;
    padding-right: 20px;
}

/* 📌 Texte du bouton aligné à gauche */
#newsletter_home .sib-default-btn .text {
    flex: 1;
    text-align: left;
}

/* 📌 Flèche alignée à droite */
#newsletter_home .sib-default-btn .arrow {
    font-size: 18px;
    text-align: right;
}

#newsletter_home .sib-submit-area .sib-default-btn,
#newsletter_home .sib-submit-area .sib-default-btn * {
    font-family: 'Jost', sans-serif !important;
}/* End custom CSS */