/* Home uses the Permis voiture visual language and keeps its own original photo. */
.public-page.public-home-surface {
    --public-ink: #fff;
    --public-muted: #dedede;
    --public-line: #737373;
    position: relative;
    isolation: isolate;
    background: #151515;
    color: var(--public-ink);
    color-scheme: dark;
}
.public-home-surface > .public-home-photo { position: fixed; inset: 0; z-index: -2; pointer-events: none; }
.public-home-surface > .public-home-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.public-home-surface::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgb(10 10 10 / 95%), rgb(10 10 10 / 82%) 60%, rgb(10 10 10 / 78%)); }
.public-home-surface .public-header { padding-block: .75rem; background: transparent; border-color: var(--public-line); box-shadow: none; }
.public-home-surface :is(.brand, .public-nav a, .public-mobile-menu, .public-mobile-menu summary) { color: #fff; }
.public-home-surface .brand span { background: #fff; }
.public-home-surface .public-nav a:hover { color: #fff; background: rgb(255 255 255 / 12%); }
.public-home-surface .public-mobile-menu summary { background: transparent; border-color: var(--public-line); }
.public-home-surface .public-mobile-links { background: #171717; border-color: var(--public-line); }
.public-home-surface .public-mobile-links a { color: #fff; }
.public-home-surface .public-home-one-page,
.public-home-surface > main,
.public-home-surface > main > section,
.public-home-surface .public-home-panel,
.public-home-surface .public-home-slide-hero .public-hero,
.public-home-surface .public-home-slide-hero .public-hero-shade { background: transparent; }
.public-home-surface .public-home-slide { place-items: start center; padding: 1.5rem 1.25rem; }
.public-home-surface .public-home-panel { width: min(100%, 70rem); align-content: start; gap: 1rem; padding: 0; border: 0; border-radius: 0; box-shadow: none; color: #fff; }
.public-home-surface .public-home-slide-hero { padding: 0; }
.public-home-surface .public-home-slide-hero .public-home-panel { width: 100%; }
.public-home-surface .next-date-home { justify-content: flex-start; padding: 1.5rem max(1.25rem, calc((100vw - 70rem) / 2)) 1.5rem; }
.public-home-surface .next-date-focus { width: min(100%, 42rem); }
.public-home-surface .next-date-focus h1 { max-width: 28ch; margin: 0 0 .75rem; font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.18; letter-spacing: -.025em; }
.public-home-surface .service-kicker { margin: 0 0 .4rem; color: var(--public-muted); font-size: .8rem; font-weight: 500; letter-spacing: 0; }
.public-home-surface .next-date-card { padding: 1rem 0; border: 0; border-top: 1px solid var(--public-line); border-radius: 0; background: transparent; color: #fff; box-shadow: none; }
.public-home-surface .next-date-label { color: var(--public-muted); font-size: .8rem; font-weight: 500; letter-spacing: 0; }
.public-home-surface .next-date-card time { margin: .75rem 0; }
.public-home-surface .next-date-card time strong { font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.18; }
.public-home-surface .next-date-empty { margin: .75rem 0; font-size: clamp(1.3rem, 2.4vw, 1.8rem); line-height: 1.25; letter-spacing: -.025em; }
.public-home-surface .next-date-card :is(p, small, time span) { color: var(--public-muted); font-size: .9375rem; line-height: 1.5; }
.public-home-surface .next-date-card small { font-size: .8125rem; }
.public-home-surface .next-date-action { display: inline-flex !important; justify-content: space-between; gap: 2rem; width: fit-content; min-height: 44px; margin: 1rem 0 .75rem; padding: .55rem .9rem; border: 1px solid #fff; border-radius: 4px; background: #fff; color: #111; font-size: .9375rem; font-weight: 600; line-height: 1.3; box-shadow: none; }
.public-home-surface .next-date-action:hover { color: #111; background: #e5e5e5; border-color: #e5e5e5; }
.public-home-surface :is(.service-availability a, .next-date-pagination a) { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: .9375rem; text-underline-offset: .22em; }
.public-home-surface .service-availability { margin: 0; }
.public-home-surface .next-date-pagination { font-size: .9375rem; }
.public-home-surface .next-date-pagination [aria-disabled="true"] { color: #b4b4b4; }
.public-home-surface :is(h2, h3, strong, dt, label, legend) { color: #fff; }
.public-home-surface :is(p, small, dd, .eyebrow, .public-offer-eligibility, .public-offer-price small) { color: var(--public-muted); }
.public-home-surface .public-home-panel :is(h2, h3, dt) { font-size: clamp(1.3rem, 2.4vw, 1.8rem); line-height: 1.25; letter-spacing: -.025em; }
.public-home-surface .public-home-panel p { font-size: .9375rem; line-height: 1.5; }
.public-home-surface .public-home-panel .eyebrow { font-size: .8rem; font-weight: 500; }
.public-home-surface .public-home-panel :is(.public-proof-strip, .public-spaces, .public-final-cta, .booking-accompaniment) { background: transparent; color: #fff; }
.public-home-surface .public-home-panel :is(.booking-accompaniment, .public-spaces) { padding: .75rem 0; border-radius: 0; box-shadow: none; }
.public-home-surface .public-home-panel :is(.public-proof-strip > div, .booking-accompaniment, .public-home-summary-link, .public-space-grid > a, .public-offer-card, .public-journey-card) { border: 0; border-bottom: 1px solid var(--public-line); border-radius: 0; box-shadow: none; background: transparent; }
.public-home-surface .public-home-panel :is(.public-proof-strip strong, .public-offer-price) { color: #fff; }
.public-home-surface .public-home-panel :is(.public-proof-strip span, .public-home-summary-link small, .booking-accompaniment__detail, .public-home-faq-list dd, .public-footer-identity, .public-footer-brand small) { color: var(--public-muted); }
.public-home-surface .public-home-panel :is(.public-home-summary-link, .public-space-grid > a) { padding: .75rem 0; color: #fff; }
.public-home-surface .public-home-panel .public-home-summary-link > span,
.public-home-surface .public-home-panel .public-space-grid > a::after { color: #fff; }
.public-home-surface .public-home-panel .public-space-grid > a:hover { border-color: #fff; background: rgb(255 255 255 / 8%); }
.public-home-surface .public-home-panel .public-primary,
.public-home-surface .public-home-panel .rdv-help-agent-input button,
.public-home-surface .public-availability-list .public-text-link { min-height: 44px; padding: .55rem .9rem; border: 1px solid #fff; border-radius: 4px; color: #111; background: #fff; box-shadow: none; font-size: .9375rem; font-weight: 600; }
.public-home-surface .public-home-panel .public-primary:hover,
.public-home-surface .public-home-panel .rdv-help-agent-input button:hover { color: #111; background: #e5e5e5; border-color: #e5e5e5; }
.public-home-surface .public-home-panel :is(.public-secondary, .public-text-link, .public-journey-card a, .public-offer-card a, .public-footer a) { min-height: 44px; border-radius: 0; color: #fff; background: transparent; font-size: .9375rem; text-underline-offset: .22em; }
.public-home-surface .public-home-panel .public-secondary { border: 0; text-decoration: underline; }
.public-home-surface .public-home-panel .public-availability-list .public-text-link { color: #111; background: #fff; text-decoration: none; }
.public-home-surface .public-availability-list time span,
.public-home-surface .public-availability-list li > div span { color: var(--public-muted); }
.public-home-surface .public-coverage.is-confirmed { color: #9ee3b4; }
.public-home-surface .public-coverage.is-searching { color: #ffdb8b; }
.public-home-surface .public-home-slide-help .rdv-help-agent > div:first-child > p:not(.eyebrow) { color: var(--public-muted); }
.public-home-surface .rdv-help-agent-turn,
.public-home-surface .rdv-help-agent-turn.is-user { border-color: var(--public-line); background: #202020; color: #fff; }
.public-home-surface .rdv-help-agent-turn.is-user { background: #333; }
.public-home-surface .rdv-help-agent-author,
.public-home-surface .rdv-help-agent-turn.is-user .rdv-help-agent-author { color: var(--public-muted); }
.public-home-surface .rdv-help-agent-result { border-color: var(--public-line); }
.public-home-surface .public-home-panel .rdv-help-agent-input input { background: #151515; color: #fff; border-color: #999; }
.public-home-surface .public-home-panel .rdv-help-agent-input input::placeholder { color: #c4c4c4; opacity: 1; }
.public-home-surface .context-help { color: #fff; }
.public-home-surface .context-help > summary,
.public-home-surface .context-help__content { background: #202020; color: #fff; border-color: var(--public-line); }
.public-home-surface .public-home-controls { border-color: var(--public-line); background: rgb(21 21 21 / 96%); color: #fff; }
.public-home-surface .public-home-controls > button { width: 44px; min-height: 44px; border-radius: 4px; color: #111; background: #fff; }
.public-home-surface .public-home-controls > button:disabled { color: #b4b4b4; background: #333; }
.public-home-surface .public-home-picker select { min-height: 44px; border-color: #999; border-radius: 4px; color: #fff; background: #151515; font-size: .875rem; font-weight: 500; }
.public-home-surface .public-home-counter { color: var(--public-muted); }
.public-home-surface .public-home-progress { background: #333; }
.public-home-surface .public-home-progress::after { background: var(--apple-accent, #0066cc); }
.public-home-surface :is(a, button, summary, input, select, textarea):focus-visible { outline-color: var(--apple-focus, #007aff); }
.public-home-surface > .public-footer { background: transparent; color: #fff; }
/* Keep the source document readable while the deck loads, or if JavaScript is unavailable. */
html:not(.public-home-one-page-active) .public-home-surface :is(.public-offer-card, .public-journey-card, .booking-accompaniment, .public-proof-strip > div) { border-color: var(--public-line); border-radius: 0; background: transparent; color: #fff; box-shadow: none; }
html:not(.public-home-one-page-active) .public-home-surface .public-primary { border-color: #fff; border-radius: 4px; background: #fff; color: #111; }
html:not(.public-home-one-page-active) .public-home-surface :is(.public-secondary, .public-text-link, .public-offer-card a, .public-journey-card a, .public-footer a) { color: #fff; }
html:not(.public-home-one-page-active) .public-home-surface .public-journey-card li { color: var(--public-muted); }
@media (max-width: 600px) {
    .public-home-surface .public-home-slide { padding: 1rem .75rem; }
    .public-home-surface .public-home-slide-hero { padding: 0; }
    .public-home-surface .next-date-home { padding: 1rem .75rem; }
    .public-home-surface > .public-home-photo img { object-position: center; }
    .public-home-surface .public-home-panel .public-home-summary-link { grid-template-columns: minmax(0, 1fr) auto; }
    .public-home-surface .public-home-summary-link small { grid-column: 1; grid-row: 2; white-space: normal; }
    .public-home-surface .public-home-summary-link > span { grid-column: 2; grid-row: 1 / 3; }
}
