/* === TYPOGRAPHIE KANFURA === */
body { font-family: 'Lora', serif; color: #2a1e12; background-color: #fffdf9; margin: 0; padding: 0; overflow-x: hidden; }

/* === LIGNES PRINCIPALES === */
.kanfura-section-row { display: block; flex-wrap: wrap; gap: 2rem; align-items: center; justify-content: center; max-width: 1200px; margin: 3rem auto; padding: 0 1rem; }

/* === BLOC HERO IMAGE === */
.kanfura-hero-block { flex: 1 1 55%; position: relative; height: 500px; overflow: hidden; border-radius: 0.8rem; }
.kanfura-hero-block img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: zoomOut 15s ease forwards; }
.kanfura-hero-block::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.4); }
.kanfura-hero-text { position: absolute; z-index: 2; color: white; text-align: center; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.kanfura-hero-text h1 { font-family: 'Cormorant Garamond', serif; font-size: 1.9rem; line-height: 1.3; margin-bottom: 1rem; text-shadow: 0 0 10px rgba(0,0,0,0.6); }

/* === ZÉYA BLOCK === */
.zeya-block {
  margin-left: auto;
  margin-right: auto;
  max-width: 520px;
}

.zeya-block img {
  display: block;
  margin: 1rem auto;
}

.zeya-block .btn-kanfura {
  display: inline-block;
  margin-top: 1rem;
  background-color: #a8653d;
  color: white;
  padding: 0.6rem 1.2rem;
  border-radius: 2rem;
  text-decoration: none;
  font-size: 1rem;
  transition: background 0.3s ease;
}
.zeya-block .btn-kanfura:hover { background-color: #8a4d2c; }

/* === DIAGNOSTIC FULL WIDTH === */
.diagnostic-section { position: relative; height: 400px; overflow: hidden; border-radius: 0.8rem; margin: 3rem auto; max-width: 1200px; }
.diagnostic-section img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.diagnostic-section::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.diagnostic-text { position: absolute; z-index: 2; color: white; text-align: center; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.diagnostic-text h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; margin-bottom: 1rem; }

/* === SECTION ENGAGEMENTS + TEMOIGNAGE === */
.kanfura-section-row { display: block; flex-wrap: wrap; gap: 2rem; align-items: flex-start; justify-content: center; max-width: 1200px; margin: 3rem auto; }

.engagements-block { flex: 1 1 48%; background-color: #f7e9d6; padding: 2rem; border-radius: 12px; box-sizing: border-box; text-align: center; }
.engagements-block h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; margin-bottom: 1rem; }
.engagements-block p { font-size: 1rem; margin-bottom: 1rem; }

.valeurs-grid { display: inline-flex; flex-wrap: wrap; gap: 3rem; justify-content: center; margin-top: 1.5rem; }
.valeur { flex: 0 0 120px; text-align: center; }
.valeur img { max-width: 120px; margin-bottom: 0.5rem; justify-content: center; }
.valeur h3 { font-size: 0.9rem; margin: 0.3rem 0; text-align: center; }
.valeur p { font-size: 0.7rem; margin: 0; }

/* === Boutons génériques === */
.btn-kanfura { background-color: #a8653d; color: white; font-weight: 500; border-radius: 2rem; padding: 0.6rem 1.5rem; text-decoration: none; font-size: 1rem; transition: background 0.3s ease; }
.btn-kanfura:hover { background-color: #8a4d2c; }

/* === ANIMATION ZOOM === */
@keyframes zoomOut { 0% { transform: scale(1.2);} 100% { transform: scale(1);} }

/* === MOBILE === */
@media (max-width: 768px) {
  .kanfura-hero-block, .zeya-block, .diagnostic-section, .engagements-block, .temoignage-block { flex: 1 1 100%; }
  .kanfura-hero-text h1 { font-size: 1.6rem; }
}

@media (max-width: 768px) {
  .zeya-block { width: 92%; }
}

/* ===== HERO ZÉYA ===== */
.hero {
  position: relative;
  min-height: 70vh;
  display: grid;
  place-items: center;
  background: var(--hero-img) center/cover no-repeat;
}
.hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.30) 35%, rgba(0,0,0,.05) 60%, rgba(0,0,0,0) 100%);
}
.hero__content { position: relative; z-index: 1; color: #fff; text-align: left; }
.hero__title {
  font-family: 'Cormorant Garamond', serif; font-weight: 700;
  font-size: clamp(28px, 4vw, 44px); line-height: 1.2;
  margin-bottom: 16px; text-shadow: 0 6px 22px rgba(0,0,0,.35);
}
.btn-cta { background:#a8653d; border:none; color:#fff; padding:.75rem 1.25rem; border-radius:999px; font-weight:600; }
.btn-cta:hover { background:#8a4d2c; color:#fff; }

/* Utilitaires */
.section-title { font-family:'Cormorant Garamond', serif; }
.bg-ocre-soft { background:#faf3ea; }
.badge-atelier--tight{
  display: inline-flex;          /* taille sur le contenu */
  align-items: center;
  gap: 6px;
  padding: .28rem .6rem;
  border-radius: 999px;
  width: auto;                   /* <-- empêche toute largeur 100% héritée */
  max-width: 100%;
  font-size: .85rem;
}
.chip { background:#f7e9d6; border-radius:999px; padding:.35rem .65rem; }
.tresor-card img { height:220px; object-fit:cover; }

@media (max-width: 992px){
  .hero__overlay{ background: linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 60%, rgba(0,0,0,0) 100%); }
  .hero__content{ text-align:center; padding:0 14px; }
}

/* --- HERO gauche : texte plus bas + plus féminin --- */
.split-hero__left{
  display:flex;
  align-items:flex-end;        /* place le bloc texte en bas de l'image */
  min-height:420px;
}
/* Fix: texte du héro ancré en bas, sans translate hérité */
.split-hero__text{
  position:absolute;
  top:auto;              /* annule top:50% hérité */
  left:24px;             /* place à gauche */
  right:auto;            /* annule right */
  bottom:32px;           /* remonte au-dessus du bord */
  transform:none;        /* annule translate(-50%,-50%) hérité */
  z-index:1;
  color:#fff;
  max-width:85%;         /* évite que la ligne déborde */
  text-align:left;
}
.split-hero__title{
  font-family:'Playfair Display','Cormorant Garamond',serif;
  font-weight:600;             /* plus fin, plus féminin */
  letter-spacing:.2px;
  font-size:clamp(22px,2.8vw,32px);
  line-height:1.25;
  margin:0 0 .75rem;
  text-shadow:0 6px 22px rgba(0,0,0,.30);
}

/* --- Image héro en fond (si besoin de rappel) --- */
.kanfura-hero-block{ position:relative; overflow:hidden; }
.kanfura-hero-block .hero__img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
}
.kanfura-hero-block::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.30) 35%,
    rgba(0,0,0,.05) 60%,
    rgba(0,0,0,0) 100%);
}

/* --- Colonne droite : titre réduit + badge compact --- */
.zeya__title{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:clamp(20px,2.2vw,28px);
  line-height:1.2;
}
/* Badge compact, largeur = contenu */
.badge-atelier{
  background:#f7e6d7; color:#5a2e1e;
  border-radius:999px; padding:.28rem .6rem;
}
.badge-atelier--tight{
  display:inline-flex; align-items:center; gap:6px;
  width:auto; max-width:100%;
  font-size:.85rem;
}

/* --- Hauteurs égales des 2 colonnes --- */
.split-hero .kanfura-hero-block,
.split-hero .zeya-card{ height:100%; }

/* --- Style bouton premium (utilisé pour les 2 CTA) --- */
.btn-kanfura.explorer.btn{
  background:#a8653d; border:none; color:#fff;
  border-radius:999px; padding:.7rem 1.15rem; font-weight:600;
}
.btn-kanfura.explorer.btn:hover{ background:#8a4d2c; color:#fff; }

/* --- Responsive --- */
@media (max-width: 991.98px){
 .split-hero__text{
    left: 12px; right: 12px; bottom: 16px;
    max-width:100%;

    text-align: center;
  }
  .kanfura-hero-block::before{
  background:linear-gradient(90deg,
    rgba(0,0,0,.62) 0%,
    rgba(0,0,0,.32) 35%,
    rgba(0,0,0,.08) 60%,
    rgba(0,0,0,0) 100%);
 }
      .zeya-card{ text-align:center; align-items:center; }
  .btn-kanfura.explorer.btn{ align-self:center; }
}

/* ---- CENTRAGE PARFAIT DU SLOGAN + BOUTON SUR L'IMAGE (bloc gauche) ---- */
/* On cible très précisément pour écraser les anciennes règles */
.split-hero .kanfura-hero-block .split-hero__text.split-hero__text--center{
  position: absolute;          /* dans l'image */
  top: 80%;                    /* centre vertical */
  left: 50%;                   /* centre horizontal */
  transform: translate(-50%, -44%);
  bottom: auto; right: auto;   /* annule d'éventuels héritages */
  display: flex;               /* centre aussi le bouton */
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  width: min(90%, 620px);      /* limite la largeur pour de belles lignes */
  z-index: 2;
}

/* Titre : élégant et lisible au centre */
.split-hero__title{
  font-family:'Playfair Display','Cormorant Garamond',serif;
  font-weight:600;
  letter-spacing:.2px;
  font-size:clamp(22px,2.8vw,32px);
  line-height:1.25;
  margin:0;
  text-shadow:0 6px 22px rgba(0,0,0,.30);
}

/* Bouton : centre naturellement avec le flex parent */
.split-hero__text--center .btn-kanfura{
  margin: 0;                   /* supprime tout auto/left hérité */
}

/* (Optionnel) renforce légèrement le voile pour la lisibilité au centre */
.kanfura-hero-block::before{
  background: linear-gradient(90deg,
    rgba(0,0,0,.62) 0%,
    rgba(0,0,0,.32) 35%,
    rgba(0,0,0,.08) 60%,
    rgba(0,0,0,0) 100%);
}

/* Mobile */
@media (max-width: 991.98px){
  .split-hero .kanfura-hero-block .split-hero__text.split-hero__text--center{
    top: 78%;
    transform: translate(-50%, -42%);
  }
}

@media (min-width: 992px) and (max-width: 1200px){
  .split-hero__title{ font-size: clamp(20px, 2.2vw, 28px); }
}

/* En-têtes */
.section-title{
  font-family:'Cormorant Garamond',serif; font-weight:700;
  font-size:clamp(22px,2vw,30px);
}
.link-arrow{ color:#5a2e1e; font-weight:600; text-decoration:none; }
.link-arrow:hover{ text-decoration:underline; }
.sep{ color:#b78c6a; }

/* Image lifestyle */
.insp-visual{ min-height: 360px; }
.object-cover{ object-fit:cover; }

/* Carte "Trésor de la semaine" */
.tresor-feature img{
  height: 220px; object-fit: cover;
  border-top-left-radius:.5rem; border-top-right-radius:.5rem;
}
.placeholder-card .placeholder-img{
  height:220px; border-top-left-radius:.5rem; border-top-right-radius:.5rem;
  background: linear-gradient(120deg,#f5ece2 0%,#f9f2ea 60%,#f3e6d7 100%);
}
.placeholder-card .card-body h3{ color:#9b7b62; }

/* Équilibre vertical & responsive */
@media (max-width: 767.98px) {
  #inspirations-rituels .col-lg-5 { order: 2; }   /* image sous les cartes UNIQUEMENT sur mobile */
  #inspirations-rituels .col-lg-7 { order: 1; }
  .insp-visual { min-height: 260px; }
}
/* Cache visuel, conserve la sémantique et l’accessibilité */
.visually-hidden{
  position:absolute!important;
  width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ===== Thème de cohérence (rayons, ombres, couleurs) ===== */
:root{
  --k-radius-xl: 22px;
  --k-shadow-soft: 0 10px 26px rgba(30, 10, 0, .10);
  --k-card-bg: #f4e7d8;            /* beige Kanfura */
  --k-title-font: 'Cormorant Garamond', serif;
}

/* ===== Grille: forcer les colonnes à s'étirer sur la même hauteur ===== */
#inspirations-rituels .row.align-items-stretch > [class*="col"]{
  display: flex;
}
#inspirations-rituels .row.align-items-stretch > [class*="col"] > *{
  width: 100%;
}

/* ===== Cartes (gauche) : look unifié quelle que soit la structure interne ===== */
#inspirations-rituels .col-lg-7 .col-md-6 > *{
  background: var(--k-card-bg);
  border-radius: var(--k-radius-xl);
  box-shadow: var(--k-shadow-soft);
  padding: clamp(18px, 2.2vw, 28px);
  height: 100%;

  /* vertical rhythm pour caler le bouton en bas si présent */
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Titre dans les cartes */
#inspirations-rituels .col-lg-7 .col-md-6 > * h2,
#inspirations-rituels .col-lg-7 .col-md-6 > * h3{
  font-family: var(--k-title-font);
  font-weight: 700;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.15;
  margin: 4px 0 6px;
}

/* Paragraphe dans les cartes */
#inspirations-rituels .col-lg-7 .col-md-6 > * p{
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #3b2a22;
  opacity: .95;
}

/* CTA des cartes : taille et alignement identiques */
#inspirations-rituels .col-lg-7 .col-md-6 > * a.btn,
#inspirations-rituels .col-lg-7 .col-md-6 > * .btn{
  align-self: flex-start;
  min-width: 230px;
  padding: .75rem 1.15rem;
  border-radius: 999px;
  font-weight: 600;
}

/* ===== Image lifestyle (droite) : même rayons/ombre/présence ===== */
.insp-visual{
  border-radius: var(--k-radius-xl);
  box-shadow: var(--k-shadow-soft);
  overflow: hidden;
  min-height: 420px;     /* à 360–440 selon ton goût */
}
.insp-visual img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .5s ease;
}
.insp-visual:hover img{ transform: scale(1.05); }

/* ===== Ajustements responsive ===== */
@media (max-width: 991.98px){
  .insp-visual{ min-height: 260px; }
  #inspirations-rituels .col-lg-7 .col-md-6 > *{
    padding: 18px;
  }
  #inspirations-rituels .col-lg-7 .col-md-6 > * a.btn{ width: 100%; }
}

/* ===== Grille des 2 cartes (gauche) ===== */
.cards-grid{
  display: grid;
  grid-template-columns: 1fr;     /* mobile = 1 colonne */
  gap: 1.25rem;
}

@media (min-width: 992px){        /* dès lg : 2 colonnes égales, largeur mini confortable */
  .cards-grid{
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    gap: 1.5rem;
  }
}

/* Les wrappers enfants prennent toute la hauteur pour aligner proprement */
.cards-grid > *{ height: 100%; display: flex; }
.cards-grid > * > *{ height: 100%; width: 100%; }

/* ===== Harmonisation des cartes (gauche) ===== */
#inspirations-rituels .cards-grid > * > *{
  background: var(--k-card-bg, #f4e7d8);
  border-radius: var(--k-radius-xl, 22px);
  box-shadow: var(--k-shadow-soft, 0 10px 26px rgba(30,10,0,.10));
  padding: clamp(18px, 2.2vw, 28px);
  display: flex; flex-direction: column; gap: 14px;
}

/* Titres des cartes (laisse Bootstrap/tes styles internes, mais limite la taille) */
#inspirations-rituels .cards-grid h2,
#inspirations-rituels .cards-grid h3{
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(20px, 1.8vw, 26px);   /* un poil plus petit pour éviter les sauts */
  line-height: 1.18;
  margin: 4px 0 6px;
}

/* Texte */
#inspirations-rituels .cards-grid p{
  margin: 0; line-height: 1.6; color:#3b2a22; opacity:.95;
}

/* CTA : ne plus imposer de min-width trop large */
#inspirations-rituels .cards-grid a.btn,
#inspirations-rituels .cards-grid .btn{
  width: 100%;              /* plein largeur dans la carte = pas de débordement */
  min-width: 0;             /* IMPORTANT : annule l'ancien min-width */
  padding: .78rem 1.05rem;
  border-radius: 999px;
  font-weight: 600;
  margin-top: .25rem;
}

/* Image lifestyle : même gabarit, mais pas plus haute que les cartes */
.insp-visual{
  border-radius: var(--k-radius-xl, 22px);
  box-shadow: var(--k-shadow-soft, 0 10px 26px rgba(30,10,0,.10));
  overflow: hidden;
  min-height: 420px;
}
.insp-visual img{
  width:100%; height:100%; object-fit:cover;
  transform: scale(1.02); transition: transform .5s ease;
}
.insp-visual:hover img{ transform: scale(1.05); }

@media (max-width: 991.98px){
  .insp-visual{ min-height: 260px; }
}

@media (min-width: 1400px){
  #inspirations-rituels .cards-grid a.btn{ width: auto; min-width: 220px; }
}

.card-illust{
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}
.card-illust img{
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.02); transition: transform .5s ease;
}
.card-illust:hover img{ transform: scale(1.06); }

/* ===== Bannière immersive Trésors ===== */
.tresors-hero{
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  min-height: 420px;
  margin: 32px 0;
  box-shadow: 0 16px 44px rgba(30,10,0,.16);
}

/* Image de fond + voile dégradé pour lisibilité */
.tresors-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.28) 48%, rgba(0,0,0,0) 100%),
    var(--tresors-bg) center/cover no-repeat;
  will-change: transform;
}

/* Bloc texte */
.tresors-hero__content{
  position: relative; z-index: 1;
  color: #fff;
  padding: clamp(32px, 6vw, 68px) 0;
  max-width: 640px;
}
.tresors-hero__title{
  font-family:'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.15;
  margin: 4px 0 10px;
  text-shadow: 0 10px 28px rgba(0,0,0,.35);
}
.tresors-hero__lead{
  font-family:'Lora', serif;
  font-size: clamp(15px, 1.3vw, 18px);
  margin: 0;
  opacity:.95;
  text-shadow: 0 8px 22px rgba(0,0,0,.30);
}

/* CTA principal */
.btn-cta{
  background:#a8653d;
  color:#fff;
  border:none;
  border-radius: 999px;
  padding:.85rem 1.25rem;
  font-weight:700;
}
.btn-cta:hover{ background:#8a4d2c; color:#fff; }

/* Mini-carte épinglée (desktop) */
.tresors-hero__card{
  position:absolute;
  right: clamp(16px, 3vw, 40px);
  bottom: clamp(16px, 2.6vw, 36px);
  width: clamp(260px, 28vw, 360px);
  background:#fff;
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(30,10,0,.18);
  overflow:hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.tresors-hero__card:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 46px rgba(30,10,0,.22);
}
.tresors-hero__card img{
  width:100%; height:190px; object-fit:cover;
}
.tresors-hero__card .body{ padding: 14px 16px 16px; }

/* Responsive */
@media (max-width: 991.98px){
  .tresors-hero{
    min-height: 320px;
  }
  .tresors-hero::before{
    background:
      linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.10) 60%, rgba(0,0,0,0) 100%),
      var(--tresors-bg) center/cover no-repeat;
  }
  .tresors-hero__content{
    max-width: 100%;
    text-align:center;
  }
  .tresors-hero__card{ display:none; } /* pour garder un visuel sobre en mobile */
}

/* Bannière immersive */
.tresors-banner {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 360px;
  box-shadow: 0 24px 60px rgba(0,0,0,.12);
  margin: 0;
  min-height: 360px;            /* garde une bonne présence sans être massive */

}
.tresors-banner__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: none;
}
.tresors-banner::after {
  /* voile pour lisibilité du texte */
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(70% 85% at 45% 50%, rgba(0,0,0,.25) 0%, rgba(0,0,0,.38) 60%, rgba(0,0,0,.48) 100%);
}
.tresors-banner__content {
  position: absolute; inset: 0;
  display: grid; place-content: center;
  text-align: center;
  padding: clamp(16px, 4vw, 48px);
  color: #fff;
  z-index: 1;
}
.tresors-banner__title {
  font-size: clamp(22px, 2.6vw, 38px);   /* avant ~48px */
  line-height: 1.18;
  text-shadow: 0 6px 18px rgba(0,0,0,.32);
  max-width: 42ch;                       /* réduit la longueur de ligne */
  margin-inline: auto;
}
/* Contenu : un peu moins de marge intérieure */
.tresors-banner__content {
  padding: clamp(16px, 3vw, 32px);
}

/* Bouton : largeur auto + padding plus fin */
.tresors-banner .btn-cta {
  font-size: 1rem;
  padding: .7rem 1.2rem;        /* plus compact */
  border-radius: 999px;
  width: fit-content;           /* stop “plein large” */
  max-width: 100%;
  margin-inline: auto;          /* centre le bouton */
}

/* === TRESORS (bannière immersive) === */
.tresors-explore .kanfura-hero-block {
  position: relative;
  min-height: 420px;              /* un peu plus haute pour respirer */
  background: #000;
}

.tresors-explore .kanfura-hero-block img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}

/* voile plus doux pour mieux voir l'image */
.tresors-explore .kanfura-hero-block::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(
    70% 85% at 45% 50%,
    rgba(0,0,0,.16) 0%,
    rgba(0,0,0,.25) 60%,
    rgba(0,0,0,.32) 100%
  );
}

.tresors-explore .kanfura-hero-text {
  position: relative;
  z-index: 1;
  color: #fff;
  display: grid;
  grid-template-rows: auto 1fr auto; /* titre / espace / bouton */
  justify-items: center;
  text-align: center;
  gap: 12px;
  padding: clamp(16px, 3vw, 40px);
  height: 100%;
}

.tresors-explore .kanfura-hero-title {
  font-family:'Playfair Display','Cormorant Garamond',serif;
  font-weight: 800;
  font-size: clamp(15px, 2.0vw, 25px); /* ↓ texte plus petit */
  line-height: 1.18;
  margin: 0;
  text-shadow: 0 6px 18px rgba(0,0,0,.32);
  max-width: 44ch;                 /* colonne de lecture confortable */
}

/* bouton plus bas et plus compact */
.tresors-explore .hero-cta {
  font-size: 0.98rem;
  padding: .65rem 1.1rem;
  border-radius: 999px;
  margin-top: clamp(12px, 6vh, 56px);  /* ↓ pousse le bouton vers le bas */
}

/* image de la carte vedette : cadrage propre */
.tresors-explore .card-img-top.object-cover {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* Bouton pill “propre” */
.btn-cta{
  display:inline-flex; align-items:center; justify-content:center;
  background:#a8653d; color:#fff; border:0; border-radius:999px;
  padding:.68rem 1.1rem; font-weight:600; letter-spacing:.2px;
  box-shadow:0 6px 16px rgba(0,0,0,.16);
  transition:transform .15s ease, background-color .15s ease;
}
.btn-cta:hover{ background:#8a4d2c; color:#fff; transform:translateY(1px); }

/* Dans la bannière : le bouton reste en bas du bloc texte */
.tresors-explore .kanfura-hero-text{
  display:grid; grid-template-rows:auto 1fr auto;
}
.tresors-explore .hero-cta{ margin-top:auto; }

/* === HÉRO Trésors sur HOME : taille du titre + placement + bouton === */
.tresors-explore .tresors-hero .tresors-hero__title{
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  line-height: 1.25;
  /* titre un peu plus petit que ta version actuelle */
  font-size: clamp(22px, 2.2vw, 34px);
  text-wrap: balance;
  margin: 0;
}

/* Descendre le contenu vers le bas à gauche (sans toucher aux autres héros) */
.tresors-explore .tresors-hero .kanfura-hero-text{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;     /* pousse le bloc vers le bas */
  gap: .85rem;
  padding: 2rem;
}

/* Bouton plus compact */
.tresors-explore .hero-cta{
  font-size: 1rem;
  padding: .8rem 1.2rem;
  border-radius: 999px;
}

/* Décalage latéral de la bannière à gauche + légère largeur supplémentaire */
@media (min-width: 992px){
  .tresors-explore .tresors-hero.tresors-hero--shift{
    /* “mord” un peu sur la marge gauche du container */
    margin-left: -28px;                 /* ajuste +/- selon ton goût (16–48px) */
    width: calc(100% + 28px);
  }
}

/* Un peu plus de “mordant” sur les très grands écrans */
@media (min-width: 1200px){
  .tresors-explore .tresors-hero.tresors-hero--shift{
    margin-left: -40px;
    width: calc(100% + 40px);
  }
}

/* Légende élégante, version peaufinée */
.insp-visual { position: relative; }

.insp-visual__caption{
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  max-width: 60%;
  padding: .85rem 1rem;
  color: #fff;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: .2px;
  line-height: 1.35;
  font-size: clamp(15px, 1.05vw + 12px, 18px);
  border-radius: .75rem;

  /* fond assombri un peu plus doux */
  background: rgba(0,0,0,.22);
  backdrop-filter: blur(1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  text-shadow: 0 2px 10px rgba(0,0,0,.3);
}

/* option : style sur la signature */
.insp-visual__caption cite{
  font-style: normal;
  font-weight: 700;
}

/* === 🔧 OPTIMISATION SLOGAN VISUEL LIFESTYLE (TABLETTE & MOBILE) === */

/* TABLETTE (jusqu’à 991px) */
@media (max-width: 991px) {
  .insp-visual {
    position: relative;
    min-height: 340px; /* légèrement plus haut pour bien cadrer */
  }

  .insp-visual__caption {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    max-width: 85%;
    color: #fff;
    background: rgba(0, 0, 0, 0.45);
    padding: 0.8rem 1.2rem;
    border-radius: 12px;
    text-align: center;
    font-size: 1.05rem;
    line-height: 1.45;
    text-shadow: 0 3px 12px rgba(0, 0, 0, 0.5);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  }
}

/* MOBILE (jusqu’à 576px) */
@media (max-width: 576px) {
  .insp-visual {
    min-height: 300px;
  }

  .insp-visual__caption {
    position: absolute;
    bottom: 1.2rem;
    left: 50%;
    transform: translateX(-50%);
    max-width: 90%;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    padding: 0.6rem 1rem;
    border-radius: 10px;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.4;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  }
}



/* --- Icônes d'engagement : style Kanfura --- */
.eng-icon {
  width: 85px;
  height: 80px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(180deg,#f8efe6,#f3e3d6);
  color: #7a4b34;                /* brun Kanfura (adapte si tu as une var de marque) */
  box-shadow: 0 8px 22px rgba(0,0,0,.07);
}

.eng-icon svg {
  width: 44px;
  height: 44px;
  stroke: currentColor;
  stroke-width: 1.8;
  fill: none;
  vector-effect: non-scaling-stroke;
}

.eng-icon svg .fill {
  fill: currentColor;    /* permet des aplats discrets (soleil, sol…) */
  opacity: .08;
}

/* Hover très léger */
.card:hover .eng-icon {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
  transition: all .25s ease;
}

/* Cible uniquement l’icône Afrique via la classe sur l'image */
.engage-icon--africa {
  width: 38px;       /* Ajuste la taille (ex: 44–56px) */
  height: 38px;
  object-fit: contain;
  display: block;
}

/* === Bloc Article Vedette Premium === */
.article-vedette-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  background: #fff;
}

/* Image : occupe le haut, coupée proprement */
.article-vedette-card img {
  width: 100%;
  max-height: 320px;      /* limite la hauteur */
  object-fit: cover;
  object-position: center;
  flex-shrink: 0;
}

/* Contenu texte */
.article-vedette-card .p-4 {
  flex: 1;                /* pousse le bouton en bas */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.5rem;
}

/* Titre */
.article-vedette-card h2 {
  font-family: 'Playfair Display','Cormorant Garamond',serif;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.3;
  margin-bottom: 1rem;
  color: #2a1e12;
}

/* Chapo */
.article-vedette-card p {
  font-family: 'Lora', serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #3a2c1a;
  opacity: .9;
  margin-bottom: 1.5rem;
}

/* Bouton */
.article-vedette-card .btn-kanfura {
  align-self: center;    /* centre le bouton */
  margin-top: auto;      /* toujours en bas */
  min-width: 200px;
  text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
  .article-vedette-card img {
    max-height: 220px;   /* réduit un peu en mobile */
  }
  .article-vedette-card h2 {
    font-size: 1.2rem;
  }
  .article-vedette-card .btn-kanfura {
    width: 100%;         /* bouton plein largeur sur mobile */
  }
}

/* 🔧 Ajustement de l’espacement entre les sections gauche/droite sur la home */
#inspirations-rituels .row.align-items-stretch {
  gap: 0rem !important; /* espace plus large (par défaut g-5 = 3rem) */
}

@media (max-width: 992px) {
  #inspirations-rituels .row.align-items-stretch {
    gap: 2rem !important; /* réduit un peu sur mobile pour garder l’harmonie */
  }
}
/* --- Ordre des colonnes pour la section Inspirations & Rituels --- */
@media (max-width: 767.98px) {
  #inspirations-rituels .col-lg-5 { order: 2; }   /* image sous les cartes UNIQUEMENT sur mobile */
  #inspirations-rituels .col-lg-7 { order: 1; }
  .insp-visual { min-height: 260px; }
}
