/* Accueil : bande vidéo de presse en pleine largeur, et vidéo verticale des avis à côté du texte. */
.accueil-presse__video { position: relative; margin: 0; border-radius: 1.5rem; overflow: hidden; background: var(--lavis-1, #EFECFC); }
.accueil-presse__video video { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.accueil-presse__figcap { margin-top: .9rem; font-size: .875rem; font-style: italic; color: var(--r-ink-mute); }
@media (max-width: 47.99rem) { .accueil-presse__video video { aspect-ratio: 4 / 5; } }

.accueil-son {
  position: absolute; right: 1rem; bottom: 1rem; z-index: 2; padding: .5rem 1rem; border: 0; border-radius: 999px;
  background: rgba(20, 19, 18, .72); color: #fff; font: inherit; font-size: .875rem; cursor: pointer;
}
.accueil-son:focus-visible { outline: 3px solid var(--arc-2, #58E8BF); outline-offset: 3px; }

.accueil-avis__grille { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 56rem) { .accueil-avis__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 22rem); } }
.accueil-avis__video { position: relative; margin: 0; justify-self: center; width: min(100%, 20rem); aspect-ratio: 9 / 16; border-radius: 1.5rem; overflow: hidden; box-shadow: .6rem .6rem 0 var(--arc-2, #58E8BF); background: var(--lavis-1, #EFECFC); }
.accueil-avis__video video { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 56rem) { .accueil-avis__video { justify-self: end; width: 22rem; } }

/* Teaser : sceau Avis Garantis à gauche, vidéo au centre, texte à droite. */
.accueil-avis__badge { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.accueil-avis__badge iframe { display: block; max-width: 100%; }
#avis .r-avis-grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 56rem) { .accueil-avis__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 22rem) minmax(0, 1fr); } }

/* Chiffres animés au-dessus du sceau Avis Garantis. */
.accueil-chiffres { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem 1.75rem; margin-bottom: .5rem; }
.accueil-chiffre { display: flex; flex-direction: column; align-items: center; min-width: 6rem; text-align: center; }
.accueil-chiffre__val { font-family: var(--rf-display); font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1; color: var(--r-ink); font-variant-numeric: tabular-nums; }
.accueil-chiffre__lib { margin-top: .4rem; font-size: .8rem; color: var(--r-ink-soft); }
.accueil-avis__badge .r-avis-sceau { display: flex; flex-direction: column; align-items: center; gap: .9rem; }
.accueil-avis__badge .r-avis-sceau__widget { display: block; max-width: 100%; }

/* Presse : vidéo de l'émission en lecture au clic, à taille raisonnable. */
.accueil-presse__video { max-width: 56rem; margin: 0 auto; background: #000; }
.accueil-presse__video video { aspect-ratio: 16 / 9; object-fit: contain; background: #000; }
@media (max-width: 47.99rem) { .accueil-presse__video video { aspect-ratio: 16 / 9; } }

/* Teaser des avis : un seul titre de niveau 2, celui du teaser ; le titre des avis devient un sous-titre. */
.r-avis-sous-titre { font-family: var(--rf-display); font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.25; margin: 0 0 .6rem; font-weight: 400; }

/* Teaser et avis : l'espace entre les deux bandes est réduit, les blocs s'emboîtent. */
section[aria-labelledby="accueil-avis-titre"] { padding-bottom: clamp(1.25rem, 2.5vw, 2rem); }
#avis { padding-top: clamp(1rem, 2vw, 1.5rem); }

/* Trois sigles de confiance : mis en avant, en colonne, plus grands. */
section[aria-label="Nos cautions et garanties"] { padding-block: clamp(3rem, 6vw, 5rem); }
section[aria-label="Nos cautions et garanties"] .r-proof { gap: clamp(2.5rem, 5vw, 4rem); }
section[aria-label="Nos cautions et garanties"] .r-proof__item { flex-direction: column; text-align: center; gap: 1.5rem; }
section[aria-label="Nos cautions et garanties"] .r-proof__mark { width: 150px; }
section[aria-label="Nos cautions et garanties"] .r-proof__mark--wide { width: min(100%, 270px); }
section[aria-label="Nos cautions et garanties"] .r-proof__title { font-family: var(--rf-display); font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.2; margin-bottom: .6rem; font-weight: 400; }
section[aria-label="Nos cautions et garanties"] .r-proof__desc { font-size: 1rem; max-width: 22rem; margin-inline: auto; }

/* Presse : liens en cartes sous la vidéo. */
.accueil-presse__cartes { list-style: none; margin: 2.5rem auto 0; padding: 0; max-width: 56rem; display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 48rem) { .accueil-presse__cartes { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.accueil-presse__cartes a { display: flex; flex-direction: column; justify-content: space-between; gap: 1.25rem; min-height: 9rem; padding: 1.25rem; border-radius: 1.25rem; background: var(--lavis-1, #EFECFC); border-top: 3px solid var(--arc-1, #6128FF); text-decoration: none; color: var(--r-ink); transition: transform .35s cubic-bezier(.25, .8, .35, 1); }
.accueil-presse__cartes li:nth-child(2) a { background: var(--lavis-2, #E4F9F1); border-top-color: var(--arc-2, #58E8BF); }
.accueil-presse__cartes li:nth-child(3) a { background: var(--lavis-3, #FCEBE8); border-top-color: var(--arc-3, #FF5F45); }
.accueil-presse__cartes li:nth-child(4) a { background: var(--lavis-4, #FCF6E3); border-top-color: var(--arc-4, #FFC615); }
.accueil-presse__cartes a:hover, .accueil-presse__cartes a:focus-visible { transform: translateY(-.2rem); }
.accueil-presse__nom { font-family: var(--rf-display); font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.25; }
.accueil-presse__voir { font-size: .85rem; color: var(--r-ink-soft); }

/* Sigles de confiance : chacun dans un petit encart de la palette, qui apparaît en décalé à l'arrivée. */
section[aria-label="Nos cautions et garanties"] .r-proof__item {
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 2.5vw, 2rem);
  border-radius: 1.5rem;
  background: var(--lavis-1, #EFECFC);
  border-top: 3px solid var(--arc-1, #6128FF);
  transition: transform .45s cubic-bezier(.25, .8, .35, 1), opacity .6s ease;
}
section[aria-label="Nos cautions et garanties"] .r-proof__item:nth-child(2) { background: var(--lavis-2, #E4F9F1); border-top-color: var(--arc-2, #58E8BF); }
section[aria-label="Nos cautions et garanties"] .r-proof__item:nth-child(3) { background: var(--lavis-4, #FCF6E3); border-top-color: var(--arc-4, #FFC615); }
section[aria-label="Nos cautions et garanties"] .r-proof__item:hover { transform: translateY(-.25rem); }
section[aria-label="Nos cautions et garanties"] .r-proof__item:nth-child(2) { transition-delay: .12s; }
section[aria-label="Nos cautions et garanties"] .r-proof__item:nth-child(3) { transition-delay: .24s; }

/* Les trois encarts ont la même taille : même hauteur de logo, même hauteur de titre. */
section[aria-label="Nos cautions et garanties"] .r-proof { align-items: stretch; }
section[aria-label="Nos cautions et garanties"] .r-proof__item { height: 100%; justify-content: flex-start; box-sizing: border-box; min-height: 22rem; }
section[aria-label="Nos cautions et garanties"] .r-proof__item > div { display: flex; flex-direction: column; align-items: center; flex: 1; }
section[aria-label="Nos cautions et garanties"] .r-proof__mark,
section[aria-label="Nos cautions et garanties"] .r-proof__mark--wide { width: auto; height: 9rem; max-width: 100%; object-fit: contain; margin-inline: auto; }
section[aria-label="Nos cautions et garanties"] .r-proof__title { min-height: 2.5em; display: flex; align-items: center; justify-content: center; }
