/* ==========================================================================
   Ronde Hero — carrousel de l’accueil
   Écrans : ordinateur ≥ 1024 px · tablette 768 à 1023 px · mobile < 768 px (mêmes seuils que le thème).
   Les positions, largeurs, cadrages, voiles et colonnes de chaque diapositive sont ajoutés à la suite (styles calculés).
   ========================================================================== */

.rh{position:relative;display:grid;grid-template-columns:minmax(0,1fr);--k:1}
.rh[hidden],.rh-s[hidden],.rh__dots button[hidden]{display:none!important}
.rh__track{grid-area:1/1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}
.rh__track.is-sizing{transition:height .6s cubic-bezier(.22,1,.36,1)}
/* Chaque diapositive garde sa hauteur : celles qui ne sont pas affichées sortent du flux (sauf « hauteur commune »). */
.rh:not(.rh--equal) .rh-s:not(.is-active){position:absolute;top:0;left:0;right:0}

/* ---------- Diapositive ---------- */
.rh-s{grid-area:1/1;display:flex;flex-direction:column;min-width:0;opacity:0;transition:opacity .9s ease;pointer-events:none;z-index:0}
.rh-s.is-active{opacity:1;pointer-events:auto;z-index:1}
.rh-s--boxed{width:100%;max-width:1360px;margin:0 auto;padding:28px clamp(16px,4vw,40px) 0;box-sizing:border-box}
.rh-s__box{position:relative;flex:1 1 auto;overflow:hidden;background:var(--rh-bg,#4A1236);isolation:isolate}
.rh-s--boxed .rh-s__box{border-radius:28px}

/* Médias */
.rh-s__media{position:absolute;inset:0;overflow:hidden;z-index:0}
.rh-s__media picture,.rh-s__media img,.rh-s__media video{position:absolute;inset:0;width:100%;height:100%;display:block}
.rh-s__media img,.rh-s__media video{object-fit:cover;object-position:center;border:0;max-width:none}
.rh-s.is-active .rh-motion img{animation:rhKen 7s ease-out both}
@keyframes rhKen{from{transform:scale(1.06)}to{transform:scale(1)}}
.rh-s__veil{position:absolute;inset:0;pointer-events:none;z-index:1}

/* Calques : texte, boutons détachés, pastille, vignette produit */
.rh-s__lay{position:absolute;inset:0;display:flex;flex-direction:column;box-sizing:border-box;pointer-events:none;z-index:3}
.rh-s__lay--badge,.rh-s__lay--prod{padding:28px;z-index:2}
.rh-s__lay--prod>*{pointer-events:auto}
.rh-s__lay--cta .rh-btns{pointer-events:auto}

/* ---------- Texte ---------- */
.rh-s__txt{display:flex;flex-direction:column;justify-content:flex-end;gap:18px;max-width:100%;box-sizing:border-box;pointer-events:none}
.rh-s__txt a,.rh-btns{pointer-events:auto}
.rh-kick,.rh-title,.rh-p{overflow-wrap:break-word}
.rh-title{margin:0;font-weight:400}
.rh-t1,.rh-t2{display:inline}
.rh-scr{display:block;text-transform:none;letter-spacing:0}
.rh-p{margin:0}
.rh-btns{display:flex;gap:14px;flex-wrap:wrap}
.rh-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:19px 34px;font-size:17px;font-weight:800;line-height:1.5;text-decoration:none;text-align:center;border:0;transition:background .2s,color .2s,border-color .2s,transform .2s;box-sizing:border-box}
.rh-btn:hover{transform:translateY(-1px)}
.rh-btn--primary{background:#D6336C;color:#fff}
.rh-btn--primary:hover{background:#B0265A;color:#fff}
.rh-btn--ghost{background:rgba(74,18,54,.15);color:#FFF7F7;border:2px solid #FFF7F7;padding:17px 30px;font-weight:700}
.rh-btn--ghost:hover{background:#FFF7F7;color:#4A1236}
.rh-btn--outline{background:transparent;color:#4A1236;border:2px solid #4A1236;padding:17px 30px;font-weight:700}
.rh-btn--outline:hover{background:#4A1236;color:#FFF7F7}
.rh-btn--light{background:#FFF7F7;color:#4A1236}
.rh-btn--light:hover{background:#fff;color:#4A1236}
.rh-btn--plum{background:#4A1236;color:#fff}
.rh-btn--plum:hover{background:#2E0A21;color:#fff}
.rh-tone-dark .rh-btn--ghost{background:transparent;color:#4A1236;border-color:#4A1236}
.rh-tone-dark .rh-btn--ghost:hover{background:#4A1236;color:#FFF7F7}

.rh-rate{display:flex;align-items:center;gap:14px;padding-top:8px}
.rh-rate__stars{color:#E39B12;font-size:20px;letter-spacing:2px;line-height:1.5;flex:0 0 auto}
.rh-rate__txt{font-size:16px;color:var(--rh-pc,#5E3A50)}
.rh-rate__txt strong{color:var(--rh-ink,#4A1236)}
.rh-tone-light .rh-rate__txt{color:var(--rh-pc,#F1DEE7)}
.rh-tone-light .rh-rate__txt strong{color:var(--rh-ink,#fff)}

/* Titres en Figtree */
.rh-tf-sans .rh-title{font-family:var(--rc-sans,'Figtree',system-ui,sans-serif)!important;font-weight:800;letter-spacing:-.02em}
.rh-tf-sans.rh-upper .rh-title{letter-spacing:.01em}

/* ---------- A. Affiche (grande image, texte sur la photo) — reprise exacte du carrousel du thème ---------- */
.rh-ty-a .rh-s__txt{color:var(--rh-pc,#FFF7F7)}
.rh-ty-a .rh-kick--script{font-family:var(--rc-script,'Parisienne',cursive);font-size:calc(clamp(30px,2.8vw,40px)*var(--k));line-height:1;color:var(--rh-kc,#FFF7F7);text-shadow:0 2px 14px rgba(74,18,54,.7)}
.rh-ty-a .rh-kick--eyebrow{font-size:calc(14px*var(--k));font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;color:var(--rh-kc,#FFF7F7);text-shadow:0 2px 12px rgba(74,18,54,.6)}
.rh-ty-a .rh-title{font-family:var(--rc-serif,'DM Serif Display',serif);line-height:.92;letter-spacing:.01em;color:var(--rh-ink,inherit);text-shadow:0 4px 30px rgba(74,18,54,.35)}
.rh-ty-a.rh-upper .rh-title{text-transform:uppercase}
.rh-ty-a .rh-t1,.rh-ty-a .rh-t2{font-size:calc(clamp(52px,6vw,92px)*var(--k))}
.rh-ty-a .rh-t1{margin-right:.25em}
.rh-ty-a .rh-scr{font-family:var(--rc-script,'Parisienne',cursive);font-weight:400;font-size:calc(clamp(56px,6.4vw,96px)*var(--k));line-height:1;color:var(--rh-acc,#F7B2C8);margin-top:4px}
.rh-ty-a .rh-p{font-size:calc(20px*var(--k));line-height:1.5;max-width:460px;text-shadow:0 2px 12px rgba(74,18,54,.5)}
.rh-ty-a .rh-btn--primary{box-shadow:0 10px 24px rgba(74,18,54,.3)}
.rh-ty-a .rh-btns{justify-content:center}
/* Contraste foncé (photo claire ou carte crème) */
.rh-ty-a.rh-tone-dark .rh-s__txt{color:var(--rh-pc,#5E3A50)}
.rh-ty-a.rh-tone-dark .rh-title{color:var(--rh-ink,#4A1236);text-shadow:none}
.rh-ty-a.rh-tone-dark .rh-kick{color:var(--rh-kc,#B0265A);text-shadow:none}
.rh-ty-a.rh-tone-dark .rh-kick--script{color:var(--rh-kc,#D6336C)}
.rh-ty-a.rh-tone-dark .rh-scr{color:var(--rh-acc,#D6336C)}
.rh-ty-a.rh-tone-dark .rh-p{text-shadow:none}
.rh-ty-a.rh-tone-dark .rh-rate__txt{color:var(--rh-pc,#5E3A50)}
.rh-ty-a.rh-tone-dark .rh-rate__txt strong{color:var(--rh-ink,#4A1236)}
.rh-s--card .rh-s__lay--txt .rh-s__txt{background:#FFF7F7;border-radius:24px;padding:clamp(24px,3.2vw,44px);box-shadow:0 18px 44px rgba(74,18,54,.22);pointer-events:auto}

/* ---------- B. Colonnes (texte sur fond uni + photo / vidéo) — reprise de la maquette « Split » ---------- */
.rh-s--columns .rh-s__box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--rh-panel,#FBE1E9)}
.rh-s__cell{position:relative;min-width:0;box-sizing:border-box}
.rh-s__cell--t{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,5vw,72px) clamp(20px,5vw,64px);background:var(--rh-panel,#FBE1E9);z-index:1}
.rh-s__cell--m{min-height:160px;overflow:hidden}
.rh-ty-b .rh-s__txt{gap:28px;color:var(--rh-pc,#5E3A50);pointer-events:auto}
.rh-ty-b .rh-kick--eyebrow{font-size:calc(14px*var(--k));font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;color:var(--rh-kc,#B0265A)}
.rh-ty-b .rh-kick--script{font-family:var(--rc-script,'Parisienne',cursive);font-size:calc(34px*var(--k));line-height:1;color:var(--rh-kc,#D6336C)}
.rh-ty-b .rh-title{font-family:var(--rc-serif,'DM Serif Display',serif);font-size:calc(clamp(44px,6.6vw,80px)*var(--k));line-height:1;letter-spacing:-.015em;color:var(--rh-ink,#4A1236);text-wrap:balance}
.rh-ty-b.rh-upper .rh-title{text-transform:uppercase;letter-spacing:0}
.rh-ty-b .rh-scr{font-family:var(--rc-script,'Parisienne',cursive);font-weight:400;font-size:calc(clamp(52px,7.6vw,96px)*var(--k));line-height:.9;color:var(--rh-acc,#D6336C);margin-top:6px}
.rh-ty-b .rh-p{font-size:calc(20px*var(--k));line-height:1.55;color:var(--rh-pc,#5E3A50);max-width:500px;text-wrap:pretty}
.rh-ty-b.rh-tone-light .rh-s__txt,.rh-ty-b.rh-tone-light .rh-p{color:var(--rh-pc,#F1DEE7)}
.rh-ty-b.rh-tone-light .rh-title{color:var(--rh-ink,#FFF7F7)}
.rh-ty-b.rh-tone-light .rh-kick{color:var(--rh-kc,#F7B2C8)}
.rh-ty-b.rh-tone-light .rh-scr{color:var(--rh-acc,#F7B2C8)}
.rh-ty-b.rh-tone-light .rh-btn--outline{color:#FFF7F7;border-color:#FFF7F7}
.rh-ty-b.rh-tone-light .rh-btn--outline:hover{background:#FFF7F7;color:#4A1236}


/* ---------- Affiche : l’image de chaque écran telle quelle, et les boutons posés dessus ---------- */
.rh-aff{position:relative;width:100%;container-type:inline-size;overflow:hidden;z-index:0;background:var(--rh-panel,#FBE1E9)}
.rh-aff__pic{position:absolute;inset:0;display:block}
.rh-aff__img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.rh-aff__b{position:absolute;z-index:3;margin:0;transform:translate(-50%,-50%);font-size:calc(clamp(13px,1.15cqw,18px)*var(--bs,1));padding:1.05em 1.9em;white-space:nowrap;box-shadow:0 10px 24px rgba(74,18,54,.22)}
.rh-aff__b.rh-btn--ghost,.rh-aff__b.rh-btn--outline{padding:.93em 1.78em;box-shadow:none}
/* Sur une affiche, le fond change d’un endroit à l’autre : les boutons secondaires gardent un fond pour rester lisibles. */
.rh-s--poster .rh-aff__b.rh-btn--outline{background:rgba(255,247,247,.92);color:#4A1236;border-color:#4A1236;box-shadow:0 8px 20px rgba(74,18,54,.16)}
.rh-s--poster .rh-aff__b.rh-btn--outline:hover{background:#4A1236;color:#FFF7F7}
.rh-s--poster .rh-aff__b.rh-btn--ghost{background:rgba(74,18,54,.58);color:#FFF7F7;border-color:#FFF7F7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 20px rgba(74,18,54,.2)}
.rh-s--poster .rh-aff__b.rh-btn--ghost:hover{background:#FFF7F7;color:#4A1236}
.rh-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Pastille ronde ---------- */
.rh-badge{width:calc(140px*var(--k));height:calc(140px*var(--k));border-radius:50%;background:var(--bb,#D6336C);color:var(--bf,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(var(--br,8deg));box-shadow:0 10px 24px rgba(74,18,54,.25);box-sizing:border-box;pointer-events:none}
.rh-badge__l1{font-family:var(--rc-script,'Parisienne',cursive);font-size:calc(26px*var(--k));line-height:1}
.rh-badge__l2{font-family:var(--rc-serif,'DM Serif Display',serif);font-size:calc(40px*var(--k));line-height:1}
.rh-badge__l2.is-long{font-size:calc(30px*var(--k))}
.rh-badge__l3{font-size:calc(12px*var(--k));font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;margin-top:5px;max-width:92%}

/* ---------- Vignette produit ---------- */
.rh-prod{display:flex;align-items:center;gap:14px;background:#FFF7F7;border-radius:18px;padding:16px 20px;box-shadow:0 12px 30px rgba(74,18,54,.18);color:#4A1236;text-decoration:none;line-height:1.5;max-width:100%;box-sizing:border-box;transition:transform .2s}
.rh-prod:hover{color:#4A1236;transform:translateY(-2px)}
.rh-prod__img{width:52px;height:68px;border-radius:10px;overflow:hidden;background:#F6E4EA;flex:0 0 auto}
.rh-prod__img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.rh-prod__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.rh-prod__lbl{font-size:13px;font-weight:700;color:#7A5468}
.rh-prod__name{font-size:16px;font-weight:700}
.rh-prod__price{font-size:16px;font-weight:800;color:#D6336C}
.rh-prod__price span{font-weight:600;color:#7A5468;font-size:14px}

/* ---------- Flèches et points ---------- */
.rh__ctrl{grid-area:1/1;position:relative;z-index:4;pointer-events:none;min-width:0}
.rh.is-boxed .rh__ctrl{width:100%;max-width:1360px;margin:0 auto;padding:28px clamp(16px,4vw,40px) 0;box-sizing:border-box}
.rh__ctrlbox{position:relative;height:100%}
.rh:not(.rh--multi) .rh__ctrl{display:none}
.rh__arrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:0;background:rgba(255,247,247,.85);color:#4A1236;font-size:24px;line-height:1;cursor:pointer;padding:0;transition:background .2s;pointer-events:auto;font-family:inherit}
.rh__arrow:hover{background:#fff}
.rh__arrow--prev{left:24px}
.rh__arrow--next{right:24px}
.rh__dots{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:center;gap:10px}
.rh__dots button{width:10px;height:10px;border-radius:5px;border:0;padding:0;background:rgba(255,247,247,.5);cursor:pointer;transition:width .3s,background .3s;pointer-events:auto}
.rh__dots button.is-active{width:34px;background:#FFF7F7}
.rh.ui-dark .rh__dots button{background:rgba(74,18,54,.28)}
.rh.ui-dark .rh__dots button.is-active{background:#4A1236}
.rh.ui-pill .rh__dots{left:50%;right:auto;transform:translateX(-50%);bottom:20px;padding:10px 14px;border-radius:999px;background:rgba(255,247,247,.94);box-shadow:0 6px 18px rgba(74,18,54,.14)}
.rh.ui-pill .rh__dots button{background:rgba(74,18,54,.25)}
.rh.ui-pill .rh__dots button.is-active{background:#D6336C}

/* ---------- Mobile (< 768 px) — maquette « Accueil Mobile » ---------- */
@media (max-width:767.98px){
	.rh-p--d{display:none!important}
	.rh-s__lay--badge,.rh-s__lay--prod{padding:20px}
	.rh-s--columns .rh-s__lay--badge,.rh-s--columns .rh-s__lay--prod{padding:28px}
	.rh-ty-a .rh-s__txt{gap:14px}
	.rh-ty-a .rh-kick--script{font-size:calc(30px*var(--k))}
	.rh-ty-a .rh-title{text-shadow:none}
	.rh-ty-a .rh-t1{display:block;font-size:calc(26px*var(--k));letter-spacing:.08em;margin:0}
	.rh-ty-a .rh-t2{display:block;font-size:calc(62px*var(--k))}
	.rh-ty-a .rh-t2.is-long{font-size:calc(54px*var(--k))}
	.rh-ty-a.rh-nolead .rh-t1{font-size:calc(62px*var(--k));letter-spacing:.01em}
	.rh-ty-a .rh-scr{font-size:calc(58px*var(--k));margin-top:0}
	.rh-ty-a .rh-p{font-size:calc(16px*var(--k));text-shadow:none;max-width:none}
	.rh-ty-a .rh-btns{align-self:stretch}
	.rh-ty-a .rh-btn,.rh-s__lay--cta .rh-btn{flex:1;padding:17px;text-align:center;box-shadow:none}
	.rh-s__lay--cta .rh-btns{align-self:stretch}
	.rh__arrow{display:none}
	.rh__dots{bottom:22px;gap:8px}
	.rh__dots button{width:8px;height:8px;border-radius:4px}
	.rh__dots button.is-active{width:28px}
	.rh.ui-pill .rh__dots{bottom:16px;padding:9px 12px}
}
@media (min-width:768px){
	.rh-p--m{display:none!important}
}


@media (prefers-reduced-motion:reduce){
	.rh__track.is-sizing{transition:none}
	.rh-s,.rh-btn,.rh-prod,.rh__dots button{transition:none}
	.rh-s.is-active .rh-motion img{animation:none}
	.rh-btn:hover,.rh-prod:hover{transform:none}
}
