.c-hero-typo .c-hero-typo__pied .c-lien { font-family: var(--font-body); }
.vl-etapes { counter-reset: etape; }
p, blockquote, li { max-width: 65ch; }
a.ouibel-credit { display: inline-flex; align-items: center; min-height: 44px; }
.vl-lien-demo { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 2.5rem; padding: 1.25rem 1.5rem; border: 1.5px solid currentColor; font-family: var(--font-body); }
.vl-lien-demo span { overflow-wrap: anywhere; flex: 1 1 14rem; }
.vl-contact { padding-block: clamp(4rem, 9vw, 7.5rem); border-top: 1px solid var(--bordure, currentColor); }
.vl-contact form { display: grid; gap: .75rem; max-width: 40rem; }
.vl-contact input, .vl-contact textarea { width: 100%; padding: .85rem 1rem; border: 1px solid var(--bordure, currentColor); background: var(--surface, #fff); font: inherit; }
.vl-contact textarea { min-height: 9rem; }
.vl-contact button { justify-self: start; padding: .9rem 1.6rem; border: 1.5px solid currentColor; background: transparent; font: inherit; cursor: pointer; min-height: 44px; }
.vl-contact button:hover { background: var(--texte, #161312); color: var(--fond, #fff); }
.vl-contact p { max-width: 40rem; }
.vl-partie { min-height: 70svh; }
.vl-partie form { margin-top: 2rem; }
.vl-statut { font-family: var(--font-body); min-height: 1.6em; }
.vl-plateau { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; width: min(100%, 24rem); margin: 1.5rem 0; border: 1.5px solid currentColor; }
.vl-case { aspect-ratio: 1; min-height: 44px; border: 1px solid currentColor; background: var(--surface, #fff); color: inherit; font-family: var(--font-display, inherit); font-size: clamp(3rem, 14vw, 5rem); line-height: 1; cursor: pointer; }
.vl-case:not(:disabled):hover { background: var(--secondaire, #2d1d14); color: #fff; }
.vl-case:disabled { cursor: default; opacity: 1; color: inherit; }
.vl-partage { margin-top: 2rem; max-width: 40rem; }
.vl-partage__ligne { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .5rem; }
.vl-partage input { flex: 1 1 16rem; min-height: 44px; padding: .7rem 1rem; border: 1px solid var(--bordure, currentColor); background: var(--surface, #fff); font: inherit; }
.vl-avis { columns: 3 16rem; column-gap: 1.5rem; }
.vl-avis blockquote { break-inside: avoid; margin: 0 0 1.5rem; padding: 1.5rem; background: var(--secondaire, #2d1d14); color: #fff; }
.vl-avis blockquote:nth-child(2n) { background: var(--primaire, #793a0b); }
.vl-avis cite { display: block; margin-top: 1rem; font-style: normal; opacity: .8; font-size: .9rem; }
