/* =============================================================================
   Legacy light skin (QA 2026-10-03 H1). Every page that has no family template yet (the old
   /private-tours/<place>/ landing pages, /private-tours/lucerne/ on template-service-v2.php, /faq/,
   /experiences/, /portfolio/, /booking-confirmed/, privacy, terms, impressum) rendered the old obsidian
   body: Cormorant italic, text on photographs, gold uppercase buttons, 11-12px labels, photo credits.
   This file re-reads that same markup in the light language. post_content is untouched: the dark inline
   styles are neutralised here, cover blocks put their words under the photo, credits are not shown.
   Loaded by ui-light.php only on body.ca-legacy. House tokens only.
   ============================================================================= */
html:has(body.ca-legacy), body.ca-ui.ca-legacy { background: var(--ui-bg) !important; color: var(--ui-ink) !important; }
body.ca-legacy .site, body.ca-legacy .site-content-contain, body.ca-legacy .site-content, body.ca-legacy #content,
body.ca-legacy .content-area, body.ca-legacy .site-main, body.ca-legacy article.page, body.ca-legacy .entry-content,
body.ca-legacy .entry-header { background: var(--ui-bg) !important; color: var(--ui-ink) !important; }

/* One side gutter, the house clamp: the theme's inner-wrap plus each block group's global padding doubled it on phones */
body.ca-legacy .site-content > .inner-wrap { padding-inline: clamp(1.25rem, 5vw, 3rem) !important; max-width: 1200px; box-sizing: border-box; }
body.ca-legacy .entry-content .has-global-padding { padding-inline: 0 !important; }
body.ca-legacy .entry-header { padding-inline: 0 !important; }

/* Reading text: Jost 400, 17px, ink */
body.ca-legacy .entry-content { font-family: 'Jost', sans-serif !important; font-size: 17px; font-weight: 400; line-height: 1.65; }
body.ca-legacy .entry-content :is(p, li, dd, td, th, span, div, blockquote, summary, label) {
    font-family: 'Jost', sans-serif !important; color: var(--ui-ink-2) !important; text-shadow: none !important; letter-spacing: 0 !important; }
body.ca-legacy .entry-content :is(p, li, dd) { font-size: 17px !important; font-weight: 400 !important; line-height: 1.65 !important; }
body.ca-legacy .entry-content strong, body.ca-legacy .entry-content b { color: var(--ui-ink) !important; font-weight: 600; }
body.ca-legacy .entry-content a:not(.wp-block-button__link):not([class*="btn"]):not(.ca-whatsapp-btn) {
    color: var(--ui-ink) !important; text-decoration: none; border-bottom: 1px solid var(--ui-accent); }
body.ca-legacy .entry-content a:not(.wp-block-button__link):not([class*="btn"]):not(.ca-whatsapp-btn):hover { color: var(--ui-accent) !important; }

/* Whatever the old content painted dark (inline background-color, has-background, dimmed groups) reads as paper */
body.ca-legacy .entry-content :is(div, section, aside, p, ul, ol, dl, details, table)[style*="background"],
body.ca-legacy .entry-content .has-background:not(.wp-block-cover__background):not(.wp-block-button__link) {
    background: transparent !important; background-color: transparent !important; }
body.ca-legacy .entry-content [style*="color:"]:not(.wp-block-button__link) { color: var(--ui-ink-2) !important; }

/* Old dark panels and cards (case studies, overlays, groups) carry their own background colour in style.css */
body.ca-legacy .entry-content :is(div, section, article, aside, li, a):not(.wp-block-cover):not(.wp-block-button__link):not([class*="-btn"]) { background-color: transparent !important; }
body.ca-legacy .entry-content :is(.ca-case-study, .ca-experience-card, .ca-experience, .ca-portfolio-cta, .ca-faq) { border-color: var(--ui-line) !important; }

/* Headings: Jost 600, upright, no caps; the page title is shown (it was display:none on the old body) */
html body.page.ca-legacy.parent-pageid-7317:not(.home) .entry-header { display: block !important; }
body.ca-legacy .entry-header { max-width: 1200px; margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) 0 0 !important; text-align: left; }
body.ca-legacy .entry-header .entry-title, body.ca-legacy h1 {
    font-family: 'Jost', sans-serif !important; font-weight: 600 !important; font-style: normal !important; text-transform: none !important;
    letter-spacing: -.005em !important; color: var(--ui-ink) !important; text-shadow: none !important; text-align: left !important;
    font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.6rem) !important; line-height: 1.1 !important; margin: 0 0 .5rem !important; max-width: 22em; }
body.ca-legacy .entry-content :is(h2, h3, h4, h5) {
    font-family: 'Jost', sans-serif !important; font-weight: 600 !important; font-style: normal !important; text-transform: none !important;
    letter-spacing: -.005em !important; color: var(--ui-ink) !important; text-shadow: none !important; }
body.ca-legacy .entry-content h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem) !important; line-height: 1.2 !important; }
body.ca-legacy .entry-content h3 { font-size: 19px !important; line-height: 1.35 !important; margin-top: 1.6rem !important; }
body.ca-legacy .entry-content h4, body.ca-legacy .entry-content h5 { font-size: 17px !important; }
/* The old h6 eyebrows (12px gold letter-spaced caps): 13px accent label */
body.ca-legacy .entry-content h6 {
    font-family: 'Jost', sans-serif !important; font-weight: 600 !important; font-style: normal !important; font-size: 13px !important;
    letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--ui-accent) !important; text-align: left !important;
    max-width: 720px; margin: clamp(2.5rem, 6vw, 4.5rem) auto .6rem !important; padding: 0 !important; }
body.ca-legacy .entry-content .has-text-align-center:not(.wp-block-buttons) { text-align: left !important; }

/* Cover blocks: the photo, then its words under it. Nothing is written on the photograph. */
body.ca-legacy .entry-content .wp-block-cover {
    display: block !important; min-height: 0 !important; height: auto !important; padding: 0 !important; background: none !important;
    max-width: 1200px; margin: clamp(1rem, 3vw, 2rem) auto 0 !important; overflow: visible !important; box-sizing: border-box; }
body.ca-legacy .entry-content .wp-block-cover__background { display: none !important; }
body.ca-legacy .entry-content .wp-block-cover__image-background, body.ca-legacy .entry-content .wp-block-cover > img {
    position: relative !important; inset: auto !important; display: block; width: 100% !important; height: auto !important;
    aspect-ratio: 21 / 9; object-fit: cover; margin: 0 auto; border-radius: var(--ui-radius); }
body.ca-legacy .entry-content .wp-block-cover__inner-container {
    position: static !important; width: auto !important; max-width: 720px; margin: 0 auto !important; padding: 1.25rem 0 0 !important;
    color: var(--ui-ink) !important; text-align: left !important; box-sizing: border-box; }
body.ca-legacy .entry-content .wp-block-cover__inner-container :is(h2, h3) { font-size: clamp(1.4rem, 1.15rem + 1vw, 1.9rem) !important; line-height: 1.25 !important; margin: 0 0 .4rem !important; text-align: left !important; }
body.ca-legacy .entry-content .wp-block-cover__inner-container p { font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem) !important; color: var(--ui-ink-2) !important; text-align: left !important; }
@media (max-width: 640px) {
    body.ca-legacy .entry-content .wp-block-cover__image-background, body.ca-legacy .entry-content .wp-block-cover > img { aspect-ratio: 4 / 3; }
}

/* Images: rounded, no credit lines (house rule: no credits under pictures) */
body.ca-legacy .entry-content figure img { border-radius: var(--ui-radius-sm); }
body.ca-legacy figcaption.wp-element-caption, body.ca-legacy .ca-image-credit, body.ca-legacy .sp-credit { display: none !important; }

/* Breadcrumbs and fact lists: 14px and 13px labels, not 11-12px */
body.ca-legacy nav.ca-crumb, body.ca-legacy nav.ca-crumb :is(a, span) {
    font-family: 'Jost', sans-serif !important; font-size: 14px !important; font-weight: 400 !important; letter-spacing: 0 !important;
    text-transform: none !important; color: var(--ui-ink-2) !important; border: 0 !important; }
body.ca-legacy nav.ca-crumb a:hover { color: var(--ui-ink) !important; }
body.ca-legacy nav.ca-crumb span[aria-current] { color: var(--ui-ink) !important; }
body.ca-legacy .ca-answer { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem) !important; font-weight: 500 !important; color: var(--ui-ink) !important; line-height: 1.5 !important; }
body.ca-legacy dl.ca-facts { background: var(--ui-paper) !important; border: 1px solid var(--ui-line) !important; border-radius: var(--ui-radius); padding: 1.1rem 1.25rem !important; }
body.ca-legacy dl dt, body.ca-legacy dl.ca-facts dt {
    font-family: 'Jost', sans-serif !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .08em !important;
    text-transform: uppercase !important; color: var(--ui-ink-2) !important; }
body.ca-legacy dl.ca-facts dd { color: var(--ui-ink) !important; border-color: var(--ui-line) !important; }

/* Buttons: ghost, Jost 600 16px; WhatsApp links solid green */
body.ca-legacy .entry-content .wp-block-buttons { justify-content: flex-start !important; gap: .75rem; max-width: 720px; margin-inline: auto; }
body.ca-legacy :is(.entry-content .wp-block-button__link, .entry-content a.ca-whatsapp-btn, .entry-content a[class*="-btn"]) {
    font-family: 'Jost', sans-serif !important; font-size: 16px !important; font-weight: 600 !important; letter-spacing: .01em !important;
    text-transform: none !important; min-height: 48px; display: inline-flex !important; align-items: center; justify-content: center;
    padding: 0 1.4rem !important; border-radius: var(--ui-radius-sm) !important; background: transparent !important;
    color: var(--ui-ink) !important; border: 1px solid color-mix(in srgb, var(--obsidian) 35%, transparent) !important; box-shadow: none !important; text-shadow: none !important; }
body.ca-legacy :is(.entry-content .wp-block-button__link, .entry-content a[class*="-btn"]):hover { border-color: var(--ui-ink) !important; }
body.ca-legacy .entry-content :is(a.wp-block-button__link, a.ca-whatsapp-btn, a[class*="-btn"])[href*="wa.me"] {
    background: var(--wa-green) !important; border-color: var(--wa-green) !important; color: var(--ivory) !important; }
body.ca-legacy .entry-content :is(a.wp-block-button__link, a.ca-whatsapp-btn, a[class*="-btn"])[href*="wa.me"]:hover { background: var(--wa-green-lt) !important; border-color: var(--wa-green-lt) !important; }
body.ca-legacy .entry-content :is(a.wp-block-button__link, a.ca-whatsapp-btn, a[class*="-btn"]) * { color: inherit !important; font-size: inherit !important; }

/* Rules and separators */
body.ca-legacy .entry-content hr, body.ca-legacy .entry-content .wp-block-separator { border-color: var(--ui-line) !important; background: var(--ui-line) !important; color: var(--ui-line) !important; opacity: 1; }

/* Small labels the old body set at 10-12px */
body.ca-legacy .entry-content :is(p, span, div, h6):is(.ca-rv__eyebrow, .ca-experience-cat, .ca-case-eyebrow, .ca-portfolio-eyebrow, [class*="eyebrow"]),
body.ca-legacy :is(.ca-rv__eyebrow, .ca-experience-cat, .ca-case-eyebrow, .ca-portfolio-eyebrow) {
    text-transform: uppercase !important; margin-bottom: .4rem;
    font-family: 'Jost', sans-serif !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .1em !important; color: var(--ui-accent) !important; }

/* Reviews block (shortcode) on paper */
body.ca-legacy .ca-rv, body.ca-legacy .ca-rv * { text-shadow: none !important; }
body.ca-legacy .ca-rv { background: transparent !important; color: var(--ui-ink) !important; }
body.ca-legacy .ca-rv :is(blockquote, figure, article, li) { background: var(--ui-paper) !important; border: 1px solid var(--ui-line) !important; border-radius: var(--ui-radius); }

/* Old overlay cards (experiences, portfolio): words under the photo, not on it */
body.ca-legacy :is(.ca-experience-overlay, .ca-case-study-overlay) { position: static !important; background: var(--ui-paper) !important; padding: 1rem 1.1rem !important; }
body.ca-legacy :is(.ca-experience-overlay, .ca-case-study-overlay) * { color: var(--ui-ink) !important; }

@media (prefers-reduced-motion: reduce) {
    body.ca-legacy .entry-content * { transition: none !important; animation: none !important; }
}

/* =============================================================================
   /private-tours/lucerne/ (template-service-v2.php, body.ca-svc2): the same page in the light language.
   Photo first, then the headline under it; the old hairlines and type roles map onto the frame tokens.
   ============================================================================= */
html body.ca-legacy.ca-svc2 { --sp-line: var(--ui-line); --sp-line-soft: var(--ui-line); --sp-ivory-2: var(--ui-ink-2); background: var(--ui-bg) !important; }
body.ca-legacy.ca-svc2 .sp { color: var(--ui-ink-2); font-weight: 400; line-height: 1.65; }
body.ca-legacy.ca-svc2 .sp-eyebrow, body.ca-legacy.ca-svc2 .sp-trust h3 { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: .1em; color: var(--ui-accent); }
body.ca-legacy.ca-svc2 :is(.sp-display, .sp-h2, .sp-prose h2, .sp-prose h3, .sp-panel h2, .sp-next b) {
    font-family: 'Jost', sans-serif !important; font-style: normal !important; font-weight: 600 !important; color: var(--ui-ink) !important; letter-spacing: -.005em; }
body.ca-legacy.ca-svc2 .sp-prose h3 { font-size: 19px !important; }
body.ca-legacy.ca-svc2 .sp-hero { display: block; min-height: 0; background: none; overflow: visible; max-width: 1200px; margin: 0 auto; padding: clamp(1rem, 3vw, 2rem) clamp(1.25rem, 5vw, 3rem) 0; }
body.ca-legacy.ca-svc2 .sp-hero::after, body.ca-legacy.ca-svc2 .sp-hero::before { display: none !important; }
/* The Lucerne file has black side bars baked in (54px of 1600): widen the photo past them and clip them off. */
body.ca-legacy.ca-svc2 .sp-hero-media { overflow: hidden; border-radius: var(--ui-radius); }
body.ca-legacy.ca-svc2 .sp-hero-img { position: relative; inset: auto; z-index: 0; transform: none; height: auto; aspect-ratio: 21 / 9;
    width: 108% !important; max-width: none; margin-inline: -4%; clip-path: inset(0 3.7% round var(--ui-radius)); }
body.ca-legacy.ca-svc2 .sp-hero-in { max-width: none; padding: 1.5rem 0 0; }
body.ca-legacy.ca-svc2 .sp-hero .sp-display { font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.6rem) !important; line-height: 1.1 !important; max-width: 20ch; }
body.ca-legacy.ca-svc2 .sp-h1-tail { color: var(--ui-ink-2); font-weight: 500; }
body.ca-legacy.ca-svc2 .sp-hero-sub { color: var(--ui-ink-2); font-size: 17px; }
body.ca-legacy.ca-svc2 .sp-crumbs, body.ca-legacy.ca-svc2 .sp-crumbs a { font-size: 14px; letter-spacing: 0; color: var(--ui-ink-2); }
body.ca-legacy.ca-svc2 .sp-btn { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 16px; letter-spacing: .01em; text-transform: none; border-radius: var(--ui-radius-sm);
    color: var(--ui-ink); border-color: color-mix(in srgb, var(--obsidian) 35%, transparent); }
body.ca-legacy.ca-svc2 .sp-btn:hover { color: var(--ui-ink); border-color: var(--ui-ink); transform: none; }
body.ca-legacy.ca-svc2 .sp-btn-wa, body.ca-legacy.ca-svc2 .sp-btn-wa:hover { color: var(--ivory); border-color: var(--wa-green); }
body.ca-legacy.ca-svc2 .sp-btn:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; }
body.ca-legacy.ca-svc2 .sp-wrap { max-width: 1200px; padding-inline: clamp(1.25rem, 5vw, 3rem); }
body.ca-legacy.ca-svc2 .sp-answer-line { font-family: 'Jost', sans-serif; font-weight: 500; color: var(--ui-ink); border-left-color: var(--ui-accent); }
body.ca-legacy.ca-svc2 .sp-facts dt { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: .08em; color: var(--ui-ink-2); }
body.ca-legacy.ca-svc2 .sp-facts dd { font-size: 16px; color: var(--ui-ink); }
body.ca-legacy.ca-svc2 .sp-prose p { color: var(--ui-ink-2); line-height: 1.65; }
body.ca-legacy.ca-svc2 .sp-prose > p:first-child, body.ca-legacy.ca-svc2 .sp-prose .wp-block-group:first-child > p:first-child { color: var(--ui-ink); }
body.ca-legacy.ca-svc2 .sp-prose a { color: var(--ui-ink); text-decoration-color: var(--ui-accent); }
body.ca-legacy.ca-svc2 .sp-panel { background: var(--ui-paper); border-color: var(--ui-line); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); }
body.ca-legacy.ca-svc2 .sp-panel > p:not(.sp-eyebrow), body.ca-legacy.ca-svc2 .sp-trust p { font-size: 16px; color: var(--ui-ink-2); }
body.ca-legacy.ca-svc2 .sp-panel-meta { font-size: 14px; }
body.ca-legacy.ca-svc2 .sp-next a { background: var(--ui-paper); border-color: var(--ui-line); border-radius: var(--ui-radius); color: var(--ui-ink); }
body.ca-legacy.ca-svc2 .sp-next a:hover { box-shadow: var(--ui-shadow); transform: none; }
body.ca-legacy.ca-svc2 .sp-next b { font-size: 19px !important; }
body.ca-legacy.ca-svc2 .sp-next span { font-size: 15px; }
body.ca-legacy.ca-svc2 .sp-bar { background: var(--ui-paper); border-top-color: var(--ui-line); }
body.ca-legacy.ca-svc2 .sp-bar .sp-btn { letter-spacing: .01em; }
/* On a short laptop window the photo must leave room for the words of the first screen (1366x650) */
body.ca-legacy .entry-content .wp-block-cover__image-background, body.ca-legacy .entry-content .wp-block-cover > img,
body.ca-legacy.ca-svc2 .sp-hero-img { max-height: max(220px, 44vh); }

/* /experiences/ lookbook: each card is photo above, words below on paper (was text on a darkened photo,
   the description only on hover) */
body.ca-legacy .ca-experiences-grid { gap: clamp(1rem, 2vw, 1.5rem) !important; background: none !important; max-width: 1200px; margin: 0 auto !important; }
body.ca-legacy .ca-experience-card { aspect-ratio: auto !important; overflow: hidden; background: var(--ui-paper) !important; border: 1px solid var(--ui-line); border-radius: var(--ui-radius); }
body.ca-legacy .ca-experience-img { position: relative !important; inset: auto !important; aspect-ratio: 4 / 3; filter: none !important; transform: none !important; }
body.ca-legacy .ca-experience-overlay { position: static !important; display: block !important; background: var(--ui-paper) !important; padding: 1rem 1.1rem 1.25rem !important; }
body.ca-legacy .ca-experience-title { font-family: 'Jost', sans-serif !important; font-weight: 600 !important; font-size: 19px !important; color: var(--ui-ink) !important; margin: 0 0 .4rem !important; }
body.ca-legacy .entry-content p.ca-experience-desc { max-height: none !important; opacity: 1 !important; font-size: 16px !important; color: var(--ui-ink-2) !important; }
