/* Version 2 : compléments issus de l’audit de novembre 2026. */

/* Accueil : deux boutons et bandeau de réassurance sous l’accroche */
.hx__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
[data-home-page] .home-intro__aside .btn--ghost { display: inline-flex; min-height: 48px; font-size: 1rem; font-weight: 550; }
.hx__lead strong { color: var(--c-text); font-weight: 650; white-space: nowrap; }
.hx__reassure { list-style: none; display: flex; flex-wrap: wrap; gap: 0.45rem 1.1rem; margin: 0; padding: 0; font-size: 0.9rem; font-weight: 550; color: var(--c-text-2); }
.hx__reassure li { position: relative; padding-left: 1.05rem; }
.hx__reassure li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 0.45rem; height: 0.45rem; background: var(--c-cobalt); }
@media (max-width: 600px) {
  [data-home-page] .home-intro__aside > .hx__actions { display: none; }
  .hx__reassure { font-size: 0.85rem; }
}

/* « Vous en êtes peut-être là » : lien vers l’offre correspondante */
.conversation__link { display: inline-block; margin-top: 0.85rem; font-weight: 600; font-size: 1rem; color: inherit; text-underline-offset: 0.2em; }
.conversation__link:hover { text-decoration-thickness: 2px; }

/* Forfaits : frais en plus et prix ferme */
.offer__cost { margin-top: 1.1rem; padding-top: 0.9rem; border-top: 1px solid currentColor; border-top-color: color-mix(in srgb, currentColor 25%, transparent); font-size: var(--fs-small); line-height: 1.45; color: var(--card-fg, var(--c-text-2)); }
.terms--single { grid-template-columns: 1fr !important; max-width: 62ch; }
.terms--single .terms__item { font-size: var(--fs-lead); line-height: 1.5; }

/* Trois apparences au lieu du carrousel */
.styles-trio { margin-top: clamp(3.5rem, 2rem + 5vw, 6rem); }
.styles-trio__head { display: grid; gap: 0.75rem; max-width: 46rem; }
.styles-trio__title { font-size: var(--fs-h3); font-weight: 650; letter-spacing: -0.015em; line-height: 1.2; }
.styles-trio__title .it { font-family: var(--font-it); font-style: italic; font-weight: 400; font-size: 1.12em; }
.styles-trio__head p { color: var(--c-text-2); }
.styles-trio__list { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.styles-trio__item figure { margin: 0; }
.styles-trio__item .style-pair { cursor: default; }
.styles-trio__item figcaption { margin-top: 0.6rem; font-size: var(--fs-small); font-weight: 600; color: var(--c-text-2); }
@media (max-width: 760px) { .styles-trio__list { grid-template-columns: 1fr; gap: 2.5rem; } }

/* Page application : la meilleure phrase du site en titre */
.ohero__kicker { margin-top: 0.75rem; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-on-cobalt-2); }
.ohero__title--long { margin-top: 0.4rem; font-size: min(clamp(2.1rem, 1.5rem + 2.4vw, 3.4rem), 10vw); line-height: 1.04; }
.ohero__title--long .it { font-family: var(--font-it); font-style: italic; font-weight: 400; font-stretch: 100%; letter-spacing: -0.01em; }

/* Pages d’offre : un seul bloc de précisions */
.prose-grid--single { grid-template-columns: minmax(0, 46rem) !important; }

.demos--single .demo__launch { position: absolute; left: 50%; top: 50%; translate: -50% -50%; z-index: 1; display: inline-flex; align-items: center; justify-content: center; gap: .8rem; width: max-content; max-width: calc(100% - 32px); min-height: 48px; padding: .85rem 1.25rem; border-radius: 100px; background: var(--c-cobalt); color: #fff; font-size: .95rem; line-height: 1.4; font-weight: 550; text-decoration: none; text-align: center; box-shadow: 0 8px 24px -10px rgba(10,12,40,.5); transition: background-color .2s; }
.demos--single .demo__launch:hover { background: var(--c-action-hover); }
.demos--single .demo__launch:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.demos--single .demo__launch svg { flex-shrink: 0; width: 20px; height: 20px; }
#demo-application .demo__launch { top: 44%; }
@media (max-width: 600px) { .demos--single .demo__launch { font-size: .85rem; min-height: 44px; padding: .75rem 1rem; } }
