.swiffy-slide {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
}

.swiffy-slide-content {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    height: 100%;
    width: 75%;
    margin: auto;
}

.swiffy-slide-text {
    flex: 1 1 50%;
    padding: 1rem;
}

.swiffy-slide-image {
    flex: 1 1 50%;
}

.swiffy-slide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 8px;
    max-width: 500px;
    margin-left: auto;
}

.swiffy-lead {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: .5rem;
}

.swiffy-title {
    font-size: 2rem;
    margin-bottom: 1rem;
}

/* Conteneur slide */
.swiffy-item {
    height: 100%;
}

/* Layout sans Bootstrap */
.swiffy-row {
    display: flex;
    flex-direction: column;
    /* mobile: empilé */
    height: 100%;
}

/* Desktop: 2 colonnes (image 7/12, texte 5/12) */
@media (min-width: 768px) {
    .swiffy-row {
        flex-direction: row;
    }

    .swiffy-col-img {
        flex: 0 0 58.333%;
    }

    .swiffy-col-text {
        flex: 0 0 41.667%;
    }
}

@media (max-width: 1442px) {
    .swiffy-row {
        flex-direction: column;
    }
}

.swiffy-col-img {
    flex: 0 0 auto;
    /* ne pas étirer */
    display: flex;
    /* pour centrer l’image si besoin */
    align-items: flex-start;
    justify-content: flex-start;
}

.swiffy-col-img img {
    width: auto;
    /* ta limite */
    height: 100%;
    max-height: 600px;
    /* conserve le ratio */
    object-fit: cover;
    /* reste esthétique */
    display: block;
}

/* Texte à droite */
.swiffy-col-text {
    display: flex;
    padding: 0 0 1rem 1rem;
}

@media (min-width: 1200px) {
    .swiffy-col-text {
        padding: 2rem 2.5rem;
    }
}

/* Wrapper interne pour garder ta structure existante */
.swiffy-col-text-inner {
    width: 100%;
    min-width: 500px;
}

/* Titres (optionnel) */
.swiffy-title {
    margin: 0 0 .5rem;
    line-height: 1.2;
}

@media only screen and (min-width: 768px) {
    .swiffy-col-text iframe#haWidget {
        width: 100% !important;
        /* prend toute la largeur du parent */
        max-width: 100% !important;
        /* jamais plus que le parent */
        display: block;
        /* évite les marges inline */
        margin-right: 20px;
        height: 100%;
    }

    .swiffy-col-text {
        flex: 1 1 100%;
        /* s’étend au max */
        min-width: 0;
        /* important pour flexbox */
    }
}

@media only screen and (max-width: 768px) {

    .swiffy-slider,
    .swiffy-item,
    .swiffy-slide,
    .swiffy-slide-content {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      min-width: 0;
    }
  
    .swiffy-row {
      flex-direction: column;
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }
  
    .swiffy-col-img,
    .swiffy-col-text {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      flex: 0 0 auto;
    }
  
    /* IMAGE RESPONSIVE – conserve ratio et affiche tout */
    .swiffy-col-img {
      display: flex;
      justify-content: center;  /* centre l'image horizontalement */
      align-items: center;      /* centre verticalement si tu imposes une hauteur */
      overflow: hidden;
    }
  
    .swiffy-col-img img {
      max-width: 100%;     /* ne dépasse pas la largeur du parent */
      height: auto;        /* garde le ratio */
      display: block;
      object-fit: contain; /* <-- clé : toujours montrer toute l'image */
    }
  
    /* Texte qui reste dans la carte */
    .swiffy-col-text {
      overflow-wrap: break-word;
      word-break: break-word;
      hyphens: auto;
    }

    .swiffy-col-text-inner {
        width: 100%;
        min-width: 0;
    }

}
  
iframe {
    border: none;
    width: 100%;
}