/* ═══════════════════════════════════════════════════════════════
   REFONTE 2026-10 — pages d'info (préfixe rf-info-)
   Expériences, destinations, FAQ, contact, confidentialité, 404, disponibilités.
   Chargé APRÈS /css/refonte.css. S'appuie sur ses variables --rf-* et ses composants (.rf-sec, .rf-btn, .rf-cta…).
   ═══════════════════════════════════════════════════════════════ */

/* Les titres à mot en italique : l'or de texte clair sur fond clair (contraste AA), l'or doux sur fond sombre */
.rf-info .rf-h2 em { color: var(--rf-gold-deep); }
.rf-info .rf-dark .rf-h2 em, .rf-info .rf-sec--ink .rf-h2 em { color: var(--rf-gold-soft); }

.rf-info-wrap { max-width: 1180px; margin: 0 auto; }
.rf-info .rf-btn svg, .rf-cta .rf-btn svg { fill: currentColor; }

/* Lien texte (or de texte, souligné : lisible et reconnaissable) */
.rf-info a.rf-info-link, .rf-info-doc a, .rf-info-prose a {
    color: var(--rf-gold-deep); font-weight: 500;
    text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.rf-info a.rf-info-link:hover, .rf-info-doc a:hover, .rf-info-prose a:hover { color: var(--rf-ink); }
.rf-info a.rf-info-link--inline { display: inline-flex; align-items: center; min-height: 44px; }

/* ───────────── En-tête de page ───────────── */
.rf-info-hero {
    background: var(--rf-ink); color: #fff;
    padding: clamp(116px, 12vw, 164px) var(--rf-pad) clamp(44px, 5vw, 80px);
}
.rf-info-hero__in { max-width: 1180px; margin: 0 auto; display: grid; gap: 20px; justify-items: start; }
.rf-info-hero h1 {
    margin: 0; font: 500 clamp(2.5rem, 5.2vw, 4.4rem)/1.04 var(--font-serif);
    letter-spacing: -.01em; text-wrap: balance; color: #fff; max-width: 26ch;
}
.rf-info-hero h1 em { font-style: italic; color: var(--rf-gold-soft); }
.rf-info-hero p { margin: 0; max-width: 62ch; font-size: 1.0625rem; line-height: 1.65; color: var(--rf-mute-d); }
.rf-info-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.rf-info-hero .rf-eyebrow { color: var(--rf-gold); }
@media (max-width: 699px) { .rf-info-hero__btns .rf-btn { flex: 1 1 100%; } }

.rf-info-hero--compact { padding-bottom: clamp(32px, 4vw, 56px); }
.rf-info-hero--compact h1 { font-size: clamp(2.2rem, 4.4vw, 3.4rem); max-width: 26ch; }

/* ───────────── Cartes (expériences, lieux, bateaux) ───────────── */
.rf-info-grid {
    display: grid; gap: clamp(18px, 2vw, 28px);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr));
    align-items: stretch;
}
.rf-info-card {
    display: flex; flex-direction: column; min-width: 0;
    background: var(--rf-paper); border: 1px solid var(--rf-line); border-radius: 6px; overflow: hidden;
    transition: box-shadow .25s, transform .25s;
}
.rf-info-card:hover { box-shadow: 0 14px 36px rgba(11, 27, 43, .1); }
.rf-info-card__media { display: block; position: relative; aspect-ratio: 3 / 2; background: var(--rf-sand); overflow: hidden; }
.rf-info-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.rf-info-card:hover .rf-info-card__media img { transform: scale(1.03); }
.rf-info-card__tag {
    position: absolute; left: 12px; top: 12px; z-index: 1;
    padding: 6px 10px; border-radius: 3px; background: rgba(11, 27, 43, .88); color: #fff;
    font: 500 .75rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase;
}
.rf-info-card__body { display: flex; flex-direction: column; gap: 12px; padding: 22px 22px 22px; flex: 1; }
.rf-info-card--text { border-top: 3px solid var(--rf-gold); }
.rf-info-card--text .rf-info-card__tag-inline {
    align-self: flex-start; padding: 6px 10px; border-radius: 3px; background: var(--rf-ink); color: #fff;
    font: 500 .75rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase;
}
.rf-info-card h3 { margin: 0; font: 500 1.65rem/1.15 var(--font-serif); color: var(--rf-ink); letter-spacing: -.005em; }
.rf-info-card h3 a { color: inherit; }
.rf-info-card h3 a:hover { color: var(--rf-gold-deep); }
.rf-info-card p { margin: 0; font-size: 1rem; line-height: 1.65; color: var(--rf-mute); }
.rf-info-card__facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 8px; }
.rf-info-card__facts li {
    padding: 5px 10px; border: 1px solid var(--rf-line); border-radius: 3px;
    font: 500 .8125rem/1.3 var(--font-sans); color: var(--rf-mute); background: transparent;
}
.rf-info-card__facts li.is-time { color: var(--rf-gold-deep); border-color: rgba(125, 95, 31, .35); }
.rf-info-card__part { font-size: .9375rem; color: var(--rf-mute); }
.rf-info-card__part a { margin-left: 4px; }
.rf-info-card__foot {
    margin-top: auto; padding-top: 16px; border-top: 1px solid var(--rf-line);
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px;
}
.rf-info-price { display: grid; gap: 2px; min-width: 0; }
.rf-info-price__l { font: 500 .75rem/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--rf-mute); }
.rf-info-price__v { font: 500 1.9rem/1.1 var(--font-serif); color: var(--rf-ink); }
.rf-info-price:not(.is-live) .rf-info-price__l { display: none; }
.rf-info-price:not(.is-live) .rf-info-price__v { font: 500 .9375rem/1.3 var(--font-sans); color: var(--rf-mute); }
.rf-info-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.rf-info-card__actions .rf-btn { white-space: normal; text-align: center; }

/* ───────────── Frise horaire (journée type) ───────────── */
.rf-info-timeline { list-style: none; margin: 0; padding: 0; max-width: 820px; border-top: 1px solid var(--rf-line); }
.rf-info-timeline li {
    display: grid; grid-template-columns: 96px 1fr; gap: 8px 24px; align-items: baseline;
    padding: 18px 0; border-bottom: 1px solid var(--rf-line);
}
.rf-info-timeline time { font: 500 1.0625rem/1.3 var(--font-sans); color: var(--rf-gold-deep); white-space: nowrap; }
.rf-info-timeline p { margin: 0; font-size: 1.0625rem; line-height: 1.6; color: var(--rf-mute); }
@media (max-width: 520px) { .rf-info-timeline li { grid-template-columns: 1fr; gap: 4px; } }

/* ───────────── Bateaux ───────────── */
.rf-info-fleet { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.rf-info-boat {
    display: flex; flex-direction: column; gap: 10px; padding: 24px; background: var(--rf-paper);
    border: 1px solid var(--rf-line); border-radius: 6px;
}
.rf-info-boat h3 { margin: 0; font: 500 1.75rem/1.1 var(--font-serif); color: var(--rf-ink); }
.rf-info-boat h3 a { color: inherit; }
.rf-info-boat h3 a:hover { color: var(--rf-gold-deep); }
.rf-info-boat__cap { font: 500 .75rem/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--rf-gold-deep); }
.rf-info-boat p { margin: 0; font-size: 1rem; line-height: 1.65; color: var(--rf-mute); }
.rf-info-boat .rf-info-card__foot { padding-top: 14px; }

/* ───────────── FAQ (accordéon <details>) ───────────── */
.rf-info-faq { display: grid; gap: clamp(40px, 5vw, 72px); max-width: 1180px; margin: 0 auto; }
.rf-info-faq__group { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 16px clamp(24px, 4vw, 64px); align-items: start; }
.rf-info-faq__group > h2 { margin: 0; font: 500 clamp(1.75rem, 2.4vw, 2.25rem)/1.15 var(--font-serif); color: var(--rf-ink); position: sticky; top: 96px; }
.rf-info-faq__group > h2 span { display: block; margin-bottom: 10px; font: 500 .75rem/1 var(--font-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--rf-gold-deep); }
.rf-info-faq__list { border-top: 1px solid var(--rf-line); }
.rf-info-faq details { border-bottom: 1px solid var(--rf-line); }
.rf-info-faq summary {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    min-height: 64px; padding: 14px 4px; cursor: pointer; list-style: none;
    font: 500 1.0625rem/1.4 var(--font-sans); color: var(--rf-ink);
}
.rf-info-faq summary::-webkit-details-marker { display: none; }
.rf-info-faq summary::after {
    content: ""; flex: none; width: 12px; height: 12px; margin-right: 4px;
    border-right: 2px solid var(--rf-gold-deep); border-bottom: 2px solid var(--rf-gold-deep);
    transform: rotate(45deg) translateY(-3px); transition: transform .25s;
}
.rf-info-faq details[open] > summary::after { transform: rotate(225deg) translateY(-3px); }
.rf-info-faq summary:hover { color: var(--rf-gold-deep); }
.rf-info-faq__a { padding: 0 4px 22px; max-width: 68ch; }
.rf-info-faq__a p { margin: 0 0 12px; font-size: 1.0625rem; line-height: 1.7; color: var(--rf-mute); }
.rf-info-faq__a p:last-child { margin-bottom: 0; }
@media (max-width: 899px) {
    .rf-info-faq__group { grid-template-columns: 1fr; }
    .rf-info-faq__group > h2 { position: static; }
}

/* ───────────── Contact ───────────── */
.rf-info-contact { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.rf-info-ccard {
    display: flex; flex-direction: column; gap: 10px; padding: 26px; background: var(--rf-paper);
    border: 1px solid var(--rf-line); border-radius: 6px; min-width: 0;
}
.rf-info-ccard h3 { margin: 0; font: 500 .75rem/1 var(--font-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--rf-gold-deep); }
.rf-info-ccard__big {
    font: 500 1.6rem/1.2 var(--font-serif); color: var(--rf-ink); overflow-wrap: anywhere;
}
a.rf-info-ccard__big { text-decoration: none !important; display: inline-flex; align-items: center; min-height: 44px; }
a.rf-info-ccard__big:hover { color: var(--rf-gold-deep); }
.rf-info-ccard p { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--rf-mute); }
.rf-info-ccard p.rf-info-ccard__big { font: 500 1.6rem/1.2 var(--font-serif); color: var(--rf-ink); }
.rf-info-ccard .rf-btn { margin-top: auto; align-self: flex-start; }
.rf-info-ccard--wa { background: var(--rf-ink); border-color: var(--rf-ink); }
.rf-info-ccard--wa h3 { color: var(--rf-gold); }
.rf-info-ccard--wa .rf-info-ccard__big { color: #fff; }
.rf-info-ccard--wa p { color: var(--rf-mute-d); }
.rf-info-hours {
    display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 28px 0 0; padding: 20px 24px;
    background: var(--rf-paper); border: 1px solid var(--rf-line); border-left: 3px solid var(--rf-gold); border-radius: 4px;
    font-size: 1rem; line-height: 1.6; color: var(--rf-mute);
}
.rf-info-hours strong { color: var(--rf-ink); font-weight: 500; }
.rf-info-prose { max-width: 68ch; }
.rf-info-prose p { margin: 0 0 14px; font-size: 1.0625rem; line-height: 1.7; color: var(--rf-mute); }

/* ───────────── Itinéraire (lien d'étape) ───────────── */
.rf-info-steps { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.rf-info-step { padding: 22px; background: var(--rf-paper); border: 1px solid var(--rf-line); border-radius: 6px; display: grid; gap: 10px; align-content: start; }
.rf-info-step h3 { margin: 0; font: 500 1.4rem/1.2 var(--font-serif); color: var(--rf-ink); }
.rf-info-step p { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--rf-mute); }

/* ───────────── Documents (confidentialité) ───────────── */
.rf-info-doc { max-width: 780px; margin: 0 auto; padding: clamp(36px, 5vw, 64px) var(--rf-pad) clamp(56px, 7vw, 96px); }
.rf-info-doc--wide { max-width: 860px; }
.rf-info-doc h2 { margin: 40px 0 10px; font: 500 1.75rem/1.2 var(--font-serif); color: var(--rf-ink); }
.rf-info-doc h3 { margin: 24px 0 6px; font: 500 1.0625rem/1.4 var(--font-sans); color: var(--rf-ink); }
.rf-info-doc p, .rf-info-doc li { font-size: 1.0625rem; line-height: 1.7; color: var(--rf-mute); max-width: 68ch; }
.rf-info-doc p { margin: 0 0 14px; }
.rf-info-doc ul { margin: 0 0 14px; padding-left: 22px; }
.rf-info-doc li { margin-bottom: 8px; }
.rf-info-doc strong { color: var(--rf-ink); font-weight: 500; }
.rf-info-doc .rf-info-updated { font-size: .9375rem; color: var(--rf-mute); margin-bottom: 22px; }
.rf-info-doc button.rf-info-link {
    background: none; border: 0; padding: 0; min-height: 44px; font: inherit; font-weight: 500; cursor: pointer;
    color: var(--rf-gold-deep); text-decoration: underline; text-underline-offset: 3px;
}
.rf-info-doc button.rf-info-link:hover { color: var(--rf-ink); }
.rf-info-doc--card section { background: var(--rf-paper); border: 1px solid var(--rf-line); border-radius: 6px; padding: clamp(22px, 3.5vw, 36px); margin-top: 24px; }
.rf-info-doc--card section h2 { margin-top: 0; }
.rf-info-badge {
    display: inline-block; margin-bottom: 14px; padding: 6px 12px; border-radius: 3px; background: var(--rf-ink); color: #fff;
    font: 500 .75rem/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase;
}

/* ───────────── 404 ───────────── */
.rf-info-404 { background: var(--rf-ink); color: #fff; padding: clamp(120px, 14vw, 176px) var(--rf-pad) clamp(56px, 7vw, 104px); }
.rf-info-404__in { max-width: 1080px; margin: 0 auto; display: grid; gap: 28px; }
.rf-info-404 p.rf-info-404__code { font: 500 clamp(5rem, 14vw, 9rem)/1 var(--font-serif); color: var(--rf-gold); margin: 0; }
.rf-info-404 h1 { margin: 0; font: 500 clamp(2rem, 4vw, 3.2rem)/1.1 var(--font-serif); color: #fff; }
.rf-info-404 p { margin: 0; color: var(--rf-mute-d); font-size: 1.0625rem; line-height: 1.6; max-width: 58ch; }
.rf-info-404__cols { display: grid; gap: 32px clamp(24px, 5vw, 72px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); margin-top: 8px; }
.rf-info-404__col { display: grid; gap: 12px; align-content: start; }
.rf-info-404__col h2 { margin: 0 0 4px; font: 500 .75rem/1 var(--font-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--rf-gold); }
.rf-info-404__col .rf-btn { justify-content: flex-start; }
.rf-info-404__links { display: grid; gap: 4px; }
.rf-info-404__links a {
    display: flex; align-items: center; min-height: 48px; padding: 0 2px;
    color: #fff; font-size: 1.0625rem; border-bottom: 1px solid var(--rf-line-d); text-decoration: none !important;
}
.rf-info-404__links a:hover { color: var(--rf-gold-soft); }
.rf-info-404__links a::after { content: "→"; margin-left: auto; color: var(--rf-gold); }

/* ═══════════════ Page de disponibilités (hero maison conservé) ═══════════════ */
.rf.availability-page { background: var(--rf-sand); color: var(--rf-ink); }
.rf .availability-hero { min-height: 0; }
.rf .availability-hero-inner { padding: clamp(112px, 12vw, 148px) 0 clamp(32px, 4vw, 52px); }
.rf .availability-eyebrow { color: var(--rf-gold); font-size: .75rem; letter-spacing: .2em; font-weight: 500; }
.rf .availability-status .availability-eyebrow { color: var(--rf-gold-deep); margin-bottom: .6rem; }
.rf .availability-title { font-weight: 500; font-size: clamp(2.3rem, 5.6vw, 4.2rem); text-wrap: balance; }
.rf .availability-intro { font-weight: 400; font-size: 1.0625rem; color: rgba(255, 255, 255, .88); }

.rf .availability-search-panel {
    width: min(920px, 100%); margin-top: 1.75rem;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .8fr) minmax(0, 1.35fr) auto;
    background: #fff; border: 0; border-radius: 6px;
}
.rf .availability-search-panel label { padding: .7rem 1rem; align-content: center; gap: .3rem; border-right: 1px solid var(--rf-line); min-width: 0; }
.rf .availability-search-panel label > span {
    font-size: .75rem; font-weight: 500; letter-spacing: .14em; color: var(--rf-mute);
}
.rf .availability-search-panel input,
.rf .availability-search-panel select {
    width: 100%; min-height: 36px; border: 0; outline: none; background: transparent; border-radius: 0;
    color: var(--rf-ink); font: 400 1rem/1.3 var(--font-sans); letter-spacing: 0;
}
.rf .availability-search-panel select { appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237d5f1f' stroke-width='1.8'/%3E%3C/svg%3E") right 2px center / 12px 8px no-repeat; }
.rf .availability-search-panel label:focus-within { box-shadow: inset 0 0 0 2px var(--rf-gold-deep); border-radius: 4px; }
.rf .availability-search-panel button {
    min-height: 64px; padding: 0 1.75rem; border-radius: 0 5px 5px 0; background: var(--rf-gold); color: var(--rf-ink);
    font: 500 .8125rem/1 var(--font-sans); letter-spacing: .12em; transition: background .25s;
}
.rf .availability-search-panel button:hover { background: var(--rf-gold-soft); }
.rf .availability-search-panel button:focus-visible { outline: 2px solid var(--rf-ink); outline-offset: -4px; }

.rf .availability-results { padding: clamp(32px, 4vw, 52px) 0 clamp(56px, 6vw, 88px); }
.rf .availability-status { display: block; }
.rf .availability-status h2 { font-weight: 500; color: var(--rf-ink); }
.rf .availability-status p { color: var(--rf-mute); font-size: 1rem; }
.rf .availability-status .availability-status-side { display: flex; flex-wrap: wrap; align-items: center; gap: 0 18px; margin-top: .5rem; text-align: left; }
.rf .availability-status .availability-status-side p { margin: 0; }
.rf .availability-status-side a { display: inline-flex; align-items: center; min-height: 44px; }
.rf .availability-filter-note[hidden] { display: none; }
.rf .availability-filter-note a {
    display: inline-flex; align-items: center; min-height: 44px; color: var(--rf-gold-deep); font-weight: 500;
    text-decoration: underline !important; text-underline-offset: 3px;
}
.rf .availability-filter-note strong { color: var(--rf-ink); font-weight: 500; }

.rf .availability-card { border-color: var(--rf-line); box-shadow: 0 10px 30px rgba(11, 27, 43, .07); }
.rf .availability-card.is-unavailable { background: #eeebe4; }
.rf .availability-card.is-unavailable .availability-card-media img { opacity: .55; }
.rf .availability-badge { font-size: .75rem; font-weight: 500; letter-spacing: .12em; background: rgba(11, 27, 43, .9); }
.rf .availability-card-body { padding: 1.5rem; }
.rf .availability-card h3 { font-weight: 500; color: var(--rf-ink); }
.rf .availability-meta { color: var(--rf-mute); font-size: .8125rem; font-weight: 500; }
.rf .availability-price { color: var(--rf-mute); font-size: .875rem; }
.rf .availability-price strong { color: var(--rf-ink); font-size: 1.5rem; font-family: var(--font-serif); font-weight: 500; }
.rf .availability-desc { color: var(--rf-mute); font-size: 1rem; font-weight: 400; }
.rf .availability-slots { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: .75rem; }
.rf .availability-slot {
    min-height: 92px; padding: .9rem 1rem; gap: .35rem; background: #fff; border: 1px solid rgba(11, 27, 43, .22); border-radius: 6px;
    position: relative;
}
.rf .availability-slot:not(.is-unavailable):hover { border-color: var(--rf-gold-deep); box-shadow: 0 8px 22px rgba(11, 27, 43, .12); transform: none; }
.rf .availability-slot:not(.is-unavailable):focus-visible { outline: 2px solid var(--rf-gold-deep); outline-offset: 2px; }
.rf .availability-slot-name { font-size: 1rem; font-weight: 500; color: var(--rf-ink); }
.rf .availability-slot-time, .rf .availability-slot-status { color: var(--rf-mute); font-size: .875rem; }
.rf .availability-slot-price { font: 500 1.25rem/1.2 var(--font-serif); color: var(--rf-ink); }
.rf .availability-slot-cta {
    font: 500 .75rem/1.2 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--rf-gold-deep);
}
.rf .availability-slot.is-unavailable { filter: none; background: transparent; border-style: dashed; border-color: rgba(11, 27, 43, .25); color: var(--rf-mute); pointer-events: none; }
.rf .availability-slot.is-unavailable .availability-slot-name { color: var(--rf-mute); font-weight: 400; }
.rf .availability-slot.is-unavailable .availability-slot-status { font-weight: 500; }

/* États : chargement, vide, erreur */
.rf .availability-empty, .rf .availability-loading { padding: 2rem; font-size: 1.0625rem; color: var(--rf-mute); border-color: var(--rf-line); }
.rf .availability-state { display: grid; gap: 14px; justify-items: start; }
.rf .availability-state strong { font: 500 1.5rem/1.2 var(--font-serif); color: var(--rf-ink); }
.rf .availability-state p { margin: 0; color: var(--rf-mute); max-width: 56ch; }
.rf .availability-state__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.rf .availability-state--error { border-left: 3px solid #9c2f2f; }
.rf .availability-skeleton { display: grid; gap: 1rem; }
.rf .availability-skeleton i {
    display: block; height: 220px; border-radius: 8px; border: 1px solid var(--rf-line);
    background: linear-gradient(100deg, #fff 30%, #f1ede5 50%, #fff 70%) 0 0 / 200% 100%;
    animation: rf-info-shimmer 1.4s linear infinite;
}
@keyframes rf-info-shimmer { to { background-position: -200% 0; } }

@media (max-width: 960px) {
    .rf .availability-search-panel { grid-template-columns: 1fr 1fr; }
    .rf .availability-search-panel label:nth-child(2) { border-right: 0; }
    .rf .availability-search-panel label:nth-child(1), .rf .availability-search-panel label:nth-child(2) { border-bottom: 1px solid var(--rf-line); }
    .rf .availability-search-panel label:nth-child(3) { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--rf-line); }
    .rf .availability-search-panel button { grid-column: 1 / -1; min-height: 56px; border-radius: 0 0 5px 5px; }
}
@media (max-width: 520px) {
    .rf .availability-search-panel { grid-template-columns: 1fr; }
    .rf .availability-search-panel label { border-right: 0; border-bottom: 1px solid var(--rf-line); }
    .rf .availability-search-panel label:nth-child(3) { grid-column: auto; }
}

/* Chiffres alignés (téléphone, prix) dans les titres en Cormorant */
.rf-info-ccard__big, .rf-info-price__v, .rf .availability-slot-price, .rf .availability-price strong { font-variant-numeric: lining-nums; }
.rf-info-hero h1, .rf-info .rf-h2, .rf .availability-status h2, .rf .availability-title, .rf-info-card h3 { font-variant-numeric: lining-nums; }
