/* Secondary public journeys share the photo application surface; legal documents stay separate. */
.public-page.public-compact {
    --public-ink: #fff;
    --public-muted: #dedede;
    --public-line: #737373;
    position: relative;
    isolation: isolate;
    min-height: 100svh;
    background: #151515;
    color: var(--public-ink);
    color-scheme: dark;
}
.public-compact-photo { position: fixed; inset: 0; z-index: -2; pointer-events: none; }
.public-compact-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.public-compact::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-compact .public-header { padding-block: .75rem; background: transparent; border-color: var(--public-line); }
.public-compact :is(.brand, .public-nav a, .public-mobile-menu, .public-mobile-menu summary) { color: #fff; }
.public-compact .brand span { background: #fff; }
.public-compact .public-nav a[aria-current="page"] { color: #fff; box-shadow: inset 0 -2px #fff; }
.public-compact .public-mobile-menu summary { background: transparent; border-color: var(--public-line); }
.public-compact .public-mobile-links { background: #171717; }
.public-compact .public-mobile-links a { color: #fff; }
.public-compact .public-mobile-links a[aria-current="page"] { background: #333; }
.public-page.public-compact > main { width: min(calc(100% - 2.5rem), 70rem); margin: 0 auto; padding: 1.5rem 0 2rem; background: transparent; color: #fff; }
.public-compact :is(h1, h2, h3, strong, dt, label, legend) { color: #fff; }
.public-compact :is(p, small, dd, .eyebrow, address, .public-offer-eligibility, .public-offer-price small) { color: var(--public-muted); }
.public-compact h1 { max-width: 28ch; margin: 0 0 .75rem; font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.18; letter-spacing: -.025em; }
.public-compact :is(h2, h3) { margin: 0 0 .35rem; font-size: 1.05rem; line-height: 1.4; }
.public-compact p { max-width: 68ch; margin: .45rem 0; font-size: .9375rem; line-height: 1.5; }
.public-compact .eyebrow { margin: 0 0 .4rem; font-size: .8rem; font-weight: 500; }
.public-compact a { color: #fff; text-underline-offset: .22em; }
.public-compact :is(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.public-compact :is(.public-page-heading, .public-sales-hero, .teaching-hero, .rdv-help-heading) { display: block; width: 100%; min-height: 0; margin: 0 0 1rem; padding: 0 0 1rem; border: 0; border-bottom: 1px solid var(--public-line); background: transparent; color: #fff; }
.public-compact :is(.public-page-heading, .public-sales-hero, .teaching-hero, .rdv-help-heading) h1 { max-width: 28ch; font-size: clamp(1.65rem, 3vw, 2.5rem); }
.public-compact :is(.public-sales-actions, .public-offer-actions, .teaching-actions, .rdv-help-actions) { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin-top: .75rem; }
.public-compact :is(.public-primary, .rdv-help-agent-input button) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; 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-compact :is(.public-primary, .rdv-help-agent-input button):hover { color: #111; background: #e5e5e5; border-color: #e5e5e5; }
.public-compact :is(.public-secondary, .public-text-link, .public-back-link) { display: inline-flex; align-items: center; min-height: 44px; padding: .35rem 0; border: 0; border-radius: 0; background: transparent; color: #fff; font-size: .9375rem; box-shadow: none; }
.public-compact :is(.public-catalog, .public-sales-section, .public-experience-grid, .public-offer-detail, .public-location-search, .public-location-results, .teaching-steps, .teaching-product-map, .rdv-help-agent, .rdv-help-states, .rdv-help-answers) { width: 100%; max-width: none; margin: 0; padding: .85rem 0; border: 0; background: transparent; box-shadow: none; }
.public-compact :is(.public-catalog-grid, .public-experience-grid, .public-offer-detail-grid, .public-location-grid, .teaching-steps ol) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; padding: 0; }
.public-compact :is(.public-catalog-grid > article, .public-experience-grid > article, .public-offer-detail-grid > section, .public-location-card, .teaching-steps li) { min-width: 0; display: block; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--public-line); border-radius: 0; background: transparent; box-shadow: none; color: #fff; }
.public-compact .public-catalog-grid > article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem 1rem; }
.public-compact .public-catalog-grid > article > :is(p, a, details) { grid-column: 1 / -1; }
.public-compact .public-offer-price { color: #fff; font-size: 1.1rem; white-space: nowrap; }
.public-compact :is(.public-experience-grid > article > span, .teaching-steps li > span) { display: none; }
.public-compact .public-offer-detail > header { margin: 0 0 .75rem; padding: 0; }
.public-compact .public-offer-more summary { width: fit-content; }
.public-compact summary { min-height: 44px; padding: .55rem 0; color: #fff; cursor: pointer; font-size: .9375rem; font-weight: 500; }
.public-compact :is(.public-sales-note, .teaching-steps header, .teaching-product-map > div) { margin: .75rem 0; padding: 0; }
.public-compact :is(.teaching-steps, .teaching-product-map) { display: block; }
.public-compact .teaching-product-map nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.public-compact .teaching-product-map nav a { min-height: 44px; padding: .5rem 0; border: 0; background: transparent; color: #fff; }
.public-compact .teaching-product-map nav span { display: block; color: var(--public-muted); }
.public-compact .booking-accompaniment { margin: .5rem 0; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--public-line); border-radius: 0; background: transparent; box-shadow: none; }
.public-compact .booking-accompaniment__promise { font-size: 1.05rem; }
.public-compact .public-location-search { display: block; }
.public-compact .public-location-search > div { display: none; }
.public-compact .public-location-search-fields { display: flex; flex-wrap: wrap; gap: .5rem; }
.public-compact .public-location-search-fields input:not([type="hidden"]) { flex: 1 1 16rem; }
.public-compact :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { min-width: 0; min-height: 44px; border: 1px solid #999; border-radius: 4px; padding: .55rem .7rem; background: #151515; color: #fff; font: inherit; }
.public-compact input::placeholder, .public-compact textarea::placeholder { color: #c4c4c4; opacity: 1; }
.public-compact .public-location-types { width: 100%; margin: 0; padding: 0; border-block: 1px solid var(--public-line); background: transparent; }
.public-compact .public-location-types > div { padding: .5rem 0; }
.public-compact .public-location-card :is(address, dd, dt) { color: var(--public-muted); }
.public-compact .public-location-card dl { margin: .5rem 0; }
.public-compact .public-location-card dl > div { padding: .3rem 0; }
.public-compact .public-location-actions { margin: .35rem 0 0; }
.public-compact .public-location-results > header { margin-bottom: .5rem; }
.public-compact .public-location-empty { padding: .75rem 0; background: transparent; color: #fff; }
.public-compact .rdv-help-heading h1 { max-width: none; }
.public-compact .rdv-help-agent { display: block; }
.public-compact .rdv-help-agent-input { margin: .5rem 0 1rem; }
.public-compact .rdv-help-agent-input > div { display: flex; gap: .5rem; }
.public-compact .rdv-help-agent-input input { flex: 1; width: 100%; }
.public-compact .rdv-help-agent-turn { padding: .75rem; border-color: var(--public-line); border-radius: 4px; background: #202020; color: #fff; }
.public-compact .rdv-help-agent-turn.is-user { background: #333; }
.public-compact .rdv-help-agent-author { color: var(--public-muted); }
.public-compact :is(.rdv-help-states, .rdv-help-answers) { padding: 0; border-bottom: 1px solid var(--public-line); }
.public-compact .rdv-help-states ol { display: block; }
.public-compact .rdv-help-states li { display: block; padding: .45rem 0; border: 0; }
.public-compact .rdv-help-states li > span { display: none; }
.public-compact .rdv-help-answers dl > div { display: block; padding: .75rem 0; }
.public-compact .rdv-help-answers dd { margin: .3rem 0 0; }
.public-compact .public-contact-page { max-width: 42rem; }
.public-compact .public-contact-copy h1 { margin-bottom: .5rem; font-size: clamp(1.65rem, 3vw, 2.5rem); }
.public-compact .public-contact-form { margin-top: .75rem; }
.public-compact .public-prospect-form :is(.form-help, .help-text, .public-contact-subject) { color: var(--public-muted); }
.public-compact .public-prospect-form textarea { min-height: 5rem; }
.public-compact .public-prospect-form input[type="checkbox"] { accent-color: #fff; }
.public-compact .public-contact-success { color: #fff; background: transparent; }
.public-compact .public-footer { margin-top: 0; padding-block: 1rem; border-top: 1px solid var(--public-line); background: transparent; color: var(--public-muted); }
.public-compact .public-footer :is(a, strong) { color: #fff; }
.public-compact .context-help { color: #fff; }
.public-compact .context-help > summary { border-color: var(--public-line); background: #202020; color: #fff; }
.public-compact .context-help__content { background: #202020; color: #fff; border-color: var(--public-line); }
@media (max-width: 600px) {
    .public-page.public-compact > main { width: calc(100% - 1.5rem); padding-top: 1rem; }
    .public-compact-photo img { object-position: center; }
    .public-compact .public-catalog-grid > article { column-gap: .5rem; }
    .public-compact .public-catalog-grid h2 { font-size: .95rem; }
    .public-compact .public-offer-price { font-size: .95rem; }
    .public-compact .public-contact-page .form-pair { grid-template-columns: minmax(0, 1fr); }
    .public-compact .rdv-help-agent-input > div { flex-wrap: wrap; }
    .public-compact .rdv-help-agent-input input { flex-basis: 100%; }
}
.public-compact .public-sales-note { color: var(--public-muted); background: transparent; border: 0; }
.public-compact .public-offer-more { width: 100%; }
.public-compact .public-offer-more > summary { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; width: 100%; }
.public-compact .public-offer-more > summary::before { content: '+'; flex: 0 0 auto; }
.public-compact .public-offer-more[open] > summary::before { content: '−'; }
.public-compact .public-offer-more > summary > span { flex: 1; }
.public-compact .public-catalog-grid > article:has(> .public-offer-more) { display: block; padding-block: .15rem; }
.public-compact .public-experience-grid > article:has(> details) { padding-block: .15rem; }
.public-compact .public-compact-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .25rem 1rem; padding-inline: max(1.25rem, calc((100% - 70rem) / 2)); }
.public-compact .public-compact-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1rem; }
.public-compact .public-compact-footer a { min-height: 44px; display: inline-flex; align-items: center; font-size: .875rem; }

.public-compact .public-contact-form { background: transparent; }
.public-compact .public-prospect-form :is(input[type="radio"], input[type="checkbox"]) { width: 20px; height: 20px; min-height: 20px; accent-color: #fff; }
.public-compact .public-prospect-form #commercial_prospect_contactPreference { grid-template-columns: 20px minmax(0, 1fr); }
.public-compact .public-prospect-form .checkbox-row { grid-template-columns: 20px minmax(0, 1fr); }
.public-compact .public-prospect-form .checkbox-row > input { margin-top: .7rem; }
.public-compact .public-prospect-form ul { color: #ffb4ab; }
.public-compact .public-prospect-form #commercial_prospect_contactPreference input[type="radio"] { width: 20px; height: 20px; min-height: 20px; margin: 0; }
.public-compact .rdv-help-agent > div:first-child > p:not(.eyebrow) { color: var(--public-muted); }
