@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

/* Shared 2026 public-page refresh, matching the approved homepage. */
html:has(body.public-page) { color-scheme: light; }
body.public-page {
    --public-bg: var(--cy-bg);
    --public-surface: var(--cy-surface);
    --public-surface-strong: #f3f8f7;
    --public-line: var(--cy-line);
    --public-text: var(--cy-text);
    --public-muted: var(--cy-muted);
    --public-blue: var(--cy-blue);
    --public-blue-light: var(--cy-blue);
    --public-green: var(--cy-green);
    --site-bg: var(--cy-bg);
    --site-bg-deep: #f2f8f6;
    --site-surface: var(--cy-surface);
    --site-surface-soft: var(--cy-surface);
    --site-border: var(--cy-line);
    --site-border-strong: #a9d8d1;
    --site-text: var(--cy-text);
    --site-muted: var(--cy-muted);
    --site-blue: var(--cy-blue);
    --site-green: var(--cy-green);
    --site-shadow: 0 16px 42px rgba(17, 57, 67, .075);
    background: var(--cy-surface) !important;
    background-image: none !important;
    color: var(--cy-text) !important;
    font-family: 'DM Sans', 'Segoe UI', sans-serif !important;
}
body.public-page::before, body.public-page::after,
body.public-page .public-3d-atmosphere { display: none !important; }
body.public-page :is(h1,h2,h3,h4) { font-family: 'Manrope', 'Segoe UI', sans-serif; letter-spacing: -.045em; }
body.public-page main :is(h1,h2,h3,h4) { color: var(--cy-text) !important; text-shadow: none !important; }
body.public-page main :is(p,li) { color: var(--cy-muted) !important; }
body.public-page main h1 span,body.public-page main h1 em { color: var(--cy-blue) !important; -webkit-text-fill-color: currentColor !important; background: none !important; }

/* The same full-width navigation and quiet aura button as the homepage. */
body.public-page > header[role="banner"] {
    top: 0 !important; left: 0 !important; display: flex !important;
    width: 100% !important; max-width: none !important;
    min-height: 88px !important;
    padding: 11px max(34px, calc((100vw - 1320px)/2)) !important;
    transform: none !important; border: 0 !important; border-radius: 0 !important;
    background: #0d2a40 !important;
    box-shadow: 0 8px 28px rgba(9,37,56,.13) !important;
}
body.public-page > header[role="banner"] .premium-brand { flex: none; }
body.public-page > header[role="banner"] .premium-nav {
    margin-left: auto !important; justify-self: end !important;
}
body.public-page > header[role="banner"] .premium-nav > a:not(.premium-nav-cta) {
    color: #dce9ee !important; padding: 10px 10px !important; border-color: transparent !important;
    border-radius: 0 !important; background: transparent !important;
}
body.public-page > header[role="banner"] .premium-nav > a:not(.premium-nav-cta):is(:hover,[aria-current="page"]) { color: #fff !important; }
body.public-page > header[role="banner"] .premium-nav > a[aria-current="page"]::after { display: none !important; }
body.public-page > header[role="banner"] nav > a:is(.active,[aria-current="page"]):not(:last-child) {
    border-color: transparent !important; background: transparent !important; color: #fff !important;
}
body.public-page > header[role="banner"] .premium-nav > a[aria-current="page"] { border-color: transparent !important; background: transparent !important; }
body.public-page > header[role="banner"] .premium-nav > a:is(.active,[aria-current="page"]):not(.premium-nav-cta) { border-color: transparent !important; background: transparent !important; box-shadow: none !important; }
body.public-page > header[role="banner"] .premium-nav > .premium-nav-cta,
body.public-page > header[role="banner"] nav > .btn-nav:last-child,
body.public-page :is(.about-button--primary,.contact-button--primary,.rental-button--primary,.services-button--primary,.gallery-button--primary,.offers-button--primary,.kb-button,.btn-cta-green,.btn-submit,.btn-primary,.btn-service,.btn-book,.btn-cta,.submit-btn,button[type="submit"],a.cta-button,.site-footer__cta-primary) {
    position: relative; isolation: isolate;
    border: 1px solid rgba(92,206,116,.72) !important;
    border-radius: 12px !important;
    background: #12364b !important; background-image: none !important;
    color: #fff !important;
    box-shadow: 0 0 0 1px rgba(37,162,212,.23), 0 9px 26px rgba(30,106,136,.18), 0 0 20px rgba(90,204,102,.26) !important;
    transform: none !important;
}
body.public-page > header[role="banner"] .premium-nav > .premium-nav-cta:hover,
body.public-page > header[role="banner"] nav > .btn-nav:last-child:hover,
body.public-page :is(.about-button--primary,.contact-button--primary,.rental-button--primary,.services-button--primary,.gallery-button--primary,.offers-button--primary,.kb-button,.btn-cta-green,.btn-submit,.btn-primary,.btn-service,.btn-book,.btn-cta,.submit-btn,button[type="submit"],a.cta-button,.site-footer__cta-primary):hover {
    background: #19475b !important;
    box-shadow: 0 0 0 1px rgba(37,162,212,.34), 0 12px 32px rgba(30,106,136,.22), 0 0 26px rgba(90,204,102,.39) !important;
}
body.public-page :is(.about-button--secondary,.contact-button--secondary,.rental-button--secondary,.services-button--secondary,.gallery-button--secondary,.offers-button--secondary,.btn-outline,.btn-secondary,.back-link) {
    border: 1px solid var(--cy-line) !important; border-radius: 12px !important;
    background: color-mix(in srgb, var(--cy-surface) 75%, transparent) !important; color: var(--cy-text) !important;
    box-shadow: none !important;
}

/* Calm surfaces make long pages and legal text easier to scan. */
/* Alternating bands belong to full-width sections, not inset content shells. */
body.public-page main > section:not(:first-child):not(.kb-shell,.offers-section,.rental-catalog,.contact-conversion):nth-of-type(even) { background-color: var(--cy-surface); }
body.public-page :is(.section,.k-section,.problem-section,.ablauf-section,.gebiet-section) { border-color: var(--cy-line) !important; }
body.public-page :is(.detail-card,.service-card,.kontakt-card,.rental-card,.value-item,.team-card,.gallery-card,.feature-card,.info-card,.price-card,.conversation-card,.form-card,.faq-item,.stat-card,.review-card,.offer-card,.offers-program-card,.kb-category,.kb-card,.kb-article-body,.kb-side-card) {
    border-color: var(--cy-line) !important; background: var(--cy-surface) !important;
    box-shadow: 0 16px 42px rgba(17,57,67,.07) !important;
}
body.public-page :is(.impr-section,.legal-card,.ba-panel,.t-cal-card,.t-form-card,.t-sidebar,.t-thankyou,.booking-card,.qr-row,.map-container,.empty-state,.rental-info-card,.rental-cta-section,.about-hero-text,.promise-seal) {
    border: 1px solid var(--cy-line) !important; border-radius: 17px !important;
    background: var(--cy-surface) !important; box-shadow: 0 16px 42px rgba(17,57,67,.07) !important;
    backdrop-filter: none !important;
}
body.public-page .impr-section h2 { color: var(--cy-text) !important; border-color: var(--cy-line) !important; }
body.public-page .impr-section :is(p,strong) { color: var(--cy-muted) !important; }
body.public-page .impr-section a { color: var(--cy-blue) !important; }
body.public-page .section > div > h1 { color: var(--cy-text) !important; text-shadow: none !important; }
body.public-page .section > div > h1 + p { color: var(--cy-muted) !important; }
body.services-overview-page .category-divider span,body.services-overview-page .badge-popular,body.services-overview-page .extra-badge { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-green) !important; }
body.services-overview-page .service-card > .btn-service,
body.services-overview-page .btn-service-wrap .btn-service,
body.detail-service-page :is(.btn-cta-full,.detail-card--side > a.btn-cta),
body.booking-page :is(.bc-btn-primary,.t-btn-submit) {
    border: 1px solid #5cce74 !important; border-radius: 12px !important;
    background: #12364b !important; background-image: none !important; color: #fff !important;
    box-shadow: 0 0 0 1px rgba(37,162,212,.23),0 9px 26px rgba(30,106,136,.18),0 0 20px rgba(90,204,102,.26) !important;
}
body.detail-service-page .phone-box a { color: var(--cy-text) !important; }
body.public-page :is(.detail-card,.service-card,.kontakt-card,.rental-card,.value-item,.team-card,.gallery-card,.feature-card,.info-card,.price-card,.conversation-card,.form-card,.faq-item,.stat-card,.review-card,.offer-card,.offers-program-card,.kb-category,.kb-card,.kb-article-body,.kb-side-card) :is(h2,h3,h4,strong) {
    color: var(--cy-text) !important; -webkit-text-fill-color: currentColor !important;
}
body.public-page :is(.detail-card,.service-card,.kontakt-card,.rental-card,.value-item,.team-card,.gallery-card,.feature-card,.info-card,.price-card,.conversation-card,.form-card,.faq-item,.stat-card,.review-card,.offer-card,.offers-program-card,.kb-category,.kb-card,.kb-article-body,.kb-side-card) :is(p,li,small) {
    color: var(--cy-muted) !important;
}
body.public-page :is(input,select,textarea,.form-control,.t-input) {
    border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-text) !important;
}
body.public-page :is(input,textarea)::placeholder { color: var(--cy-muted) !important; }
body.public-page select option { background: var(--cy-surface); color: var(--cy-text); }
body.public-page :is(.trust-pill,.badge,.gallery-facts > span,.hero-trust > span,.contact-hero-trust > span) {
    border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-text) !important;
}
body.public-page :is(.section-label,.about-kicker,.contact-kicker,.services-kicker,.gallery-kicker,.rental-kicker,.offers-kicker,.kb-eyebrow) {
    border: 0 !important; background: none !important; padding: 0 !important;
    color: var(--cy-blue) !important; font-size: .72rem !important; letter-spacing: .15em !important;
}
body.public-page .section-label { border: 0 !important; background: none !important; padding: 0 !important; color: var(--cy-blue) !important; box-shadow: none !important; }

/* Editorial heroes with readable text, shorter mobile rhythm and intact imagery. */
body.about-page .about-premium-hero,
body.contact-page .contact-premium-hero,
body.rental-page .rental-premium-hero,
body.offers-page .offers-hero,
body.knowledge-page .kb-hero,
body.career-page .k-hero {
    min-height: 620px !important; border-color: var(--cy-line) !important;
    background: var(--cy-surface) !important;
}
body.about-page .about-premium-hero::after,
body.contact-page .contact-premium-hero::after,
body.rental-page .rental-premium-hero::after,
body.offers-page .offers-hero::before { background: linear-gradient(90deg,var(--cy-surface) 0%,color-mix(in srgb, var(--cy-surface) 98%, transparent) 42%,color-mix(in srgb, var(--cy-surface) 28%, transparent) 100%) !important; }
body.public-page :is(.about-premium-grid,.contact-hero-grid,.offers-hero__grid) { display: none !important; }
body.about-page .about-premium-media { right: max(2vw,calc((100vw - 1230px)/2)); width: min(42vw,560px); height: 82%; bottom: 0; }
body.about-page .about-premium-media img { filter: drop-shadow(0 18px 34px rgba(17,57,67,.13)); }
body.about-page .about-premium-content > * { max-width: 570px; }
body.about-page .about-premium-content h1 { font-size: clamp(3rem,5vw,4.65rem); letter-spacing: -.065em; }
body.about-page .about-premium-content h1 { max-width: 560px !important; margin-left: 0 !important; text-align: left !important; color: var(--cy-text) !important; }
body.about-page .about-premium-content { text-align: left !important; }
body.about-page .about-premium-content h1 span,
body.contact-page .contact-hero-content h1 span,
body.rental-page .rental-hero-content h1 span,
body.services-overview-page .services-hero h1 span,
body.gallery-page .gallery-hero h1 span { color: var(--cy-blue) !important; }
body.public-page :is(.about-role,.about-hero-facts span,.contact-hero-facts span,.rental-hero-facts span) { color: var(--cy-muted) !important; }
body.public-page :is(.about-premium-content,.contact-hero-content,.rental-hero-content,.offers-hero__content) > p:not(:first-child) { color: var(--cy-muted) !important; }
body.offers-page .offers-hero__logo { display: none !important; }
body.offers-page .offers-hero__content { transform: none !important; }
body.offers-page .offers-hero h1 { font-size: clamp(3rem,5.5vw,5rem); line-height: 1.05; }
body.offers-page .offers-hero h1 em,
body.knowledge-page .kb-hero h1 em { color: var(--cy-blue) !important; -webkit-text-fill-color: currentColor !important; background: none !important; }
body.offers-page .offers-button--quiet { border: 1px solid var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-text) !important; }
body.offers-page .offers-hero__facts,body.offers-page .offers-hero__facts span { color: var(--cy-muted) !important; }

/* Photo heroes retain the original photographs and gain the lighter homepage overlay. */
body.services-overview-page .services-hero,
body.gallery-page .gallery-hero { min-height: 630px !important; background: var(--cy-surface) !important; }
body.services-overview-page .services-hero-media::after,
body.gallery-page .gallery-hero-media::after {
    background: linear-gradient(90deg,var(--cy-surface) 0%,color-mix(in srgb, var(--cy-surface) 98%, transparent) 30%,color-mix(in srgb, var(--cy-surface) 73%, transparent) 55%,color-mix(in srgb, var(--cy-surface) 8%, transparent) 100%) !important;
}
body.services-overview-page .services-hero-media img { filter: saturate(.9) contrast(1) brightness(1.03) !important; }
body.gallery-page .gallery-hero-media { filter: saturate(.9) contrast(1) brightness(1.04) !important; }
body.services-overview-page .services-hero-content,
body.gallery-page .gallery-hero-content { padding-top: 166px; padding-bottom: 78px; }
body.public-page :is(.services-hero-content,.gallery-hero-content) > p:not(:first-child) { color: var(--cy-muted) !important; }
body.gallery-page .gallery-hero h1 { color: var(--cy-text) !important; text-shadow: none !important; }
body.gallery-page .gallery-section-heading > p:last-child { color: var(--cy-muted) !important; }
body.public-page :is(.services-hero-facts span,.gallery-facts span) { color: var(--cy-text) !important; }

/* All other service and regional landing pages use a clean, compact intro. */
body.public-page :is(.page-hero,.detail-hero,.local-hero,.seo-hero,.t-hero) {
    border-color: var(--cy-line) !important;
    background-color: var(--cy-surface) !important;
    background-image: none !important;
}
body.public-page :is(.page-hero,.detail-hero,.contact-hero,.t-hero)::before { display: none !important; }
body.public-page :is(.page-hero,.detail-hero,.contact-hero,.t-hero) h1 { color: var(--cy-text) !important; text-shadow: none !important; }
body.public-page :is(.page-hero,.detail-hero,.contact-hero,.t-hero) :is(.section-label,.hero-eyebrow,.t-hero-badge) { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; color: var(--cy-blue) !important; }
body.public-page :is(.page-hero,.detail-hero,.local-hero,.seo-hero,.t-hero) :is(p,span,li) { color: var(--cy-muted) !important; }
body.public-page :is(.page-hero,.detail-hero,.local-hero,.seo-hero,.t-hero) :is(.section-label,.eyebrow,.kicker) { color: var(--cy-blue) !important; }
body.public-page .page-hero .back-link { display: inline-flex; align-items: center; justify-content: center; width: fit-content; margin-top: 22px !important; padding: 11px 17px; border: 1px solid var(--cy-line) !important; border-radius: 11px !important; background: var(--cy-surface) !important; color: var(--cy-text) !important; box-shadow: none !important; }
body.detail-service-page .page-hero {
    grid-template-columns: minmax(0,1fr) !important;
    min-height: 0 !important; margin-top: 0 !important; margin-bottom: 38px !important;
    padding: 164px clamp(24px,6vw,80px) 80px !important;
    border: 0 !important; border-radius: 0 !important;
    background: var(--cy-surface) !important; box-shadow: none !important;
}
body.detail-service-page .detail-hero-copy { width: min(100%,790px); margin: 0 auto; }
body.detail-service-page .detail-hero-visual { display: none !important; }
body.detail-service-page .page-hero .back-link {
    border: 1px solid var(--cy-line) !important; padding: 10px 16px;
    color: var(--cy-text) !important; background: var(--cy-surface) !important;
}
body.detail-service-page .detail-quickbar {
    margin-top: -65px; margin-bottom: 64px; border: 1px solid var(--cy-line) !important;
    background: var(--cy-surface) !important; box-shadow: 0 16px 42px rgba(17,57,67,.08) !important;
}
body.detail-service-page .detail-quickbar a { color: var(--cy-text) !important; }
body.detail-service-page main::before { display: none; }

/* Regional and service-cluster pages use the same light reading surfaces. */
body.local-seo-page .local-hero { min-height: 620px; background: var(--cy-surface); }
body.local-seo-page .local-hero-media img { filter: saturate(.88) brightness(1.04) !important; }
body.local-seo-page .local-hero-media::after { background: linear-gradient(90deg,var(--cy-surface) 0%,color-mix(in srgb, var(--cy-surface) 95%, transparent) 42%,color-mix(in srgb, var(--cy-surface) 55%, transparent) 100%) !important; }
body.local-seo-page .local-hero h1 { color: var(--cy-text) !important; text-shadow: none !important; }
body.local-seo-page .local-hero h1 span { color: var(--cy-blue) !important; -webkit-text-fill-color: currentColor !important; }
body.local-seo-page .local-hero-copy { color: var(--cy-muted) !important; }
body.local-seo-page .local-eyebrow { padding: 0 !important; border: 0 !important; background: none !important; color: var(--cy-blue) !important; letter-spacing: .14em; }
body.local-seo-page .local-trust,body.local-seo-page .local-trust span { color: var(--cy-muted) !important; }
body.local-seo-page .local-section--soft { border-color: var(--cy-line); background: var(--cy-surface); }
body.local-seo-page :is(.local-card,.region-group,.local-cta) { border-color: var(--cy-line) !important; border-radius: 16px !important; background: var(--cy-surface) !important; box-shadow: 0 16px 42px rgba(17,57,67,.07) !important; }
body.local-seo-page :is(.local-card-link,.local-faq summary) { color: var(--cy-text) !important; }
body.local-seo-page .local-faq details { border-color: var(--cy-line); }
body.local-seo-page .local-actions .btn-primary { border: 1px solid #5cce74 !important; border-radius: 12px !important; background: #12364b !important; background-image: none !important; color: #fff !important; box-shadow: 0 0 20px rgba(90,204,102,.26) !important; }
body.local-seo-page .local-actions .btn-outline { border-color: var(--cy-line) !important; border-radius: 12px !important; background: var(--cy-surface) !important; color: var(--cy-text) !important; }
body.local-seo-page .local-footer { background: #0d2a40; }
body.local-seo-page .local-footer p { color: #a9bec9 !important; }
body.local-seo-page .local-footer a { color: #d6e8ef !important; }

body.seo-cluster-page .seo-breadcrumb,body.seo-cluster-page .seo-breadcrumb a { color: var(--cy-muted); }
body.seo-cluster-page .seo-hero { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; box-shadow: none !important; }
body.seo-cluster-page .seo-hero h1 { color: var(--cy-text) !important; }
body.seo-cluster-page .seo-kicker,body.seo-cluster-page .seo-section-head > p,body.seo-cluster-page .seo-info-label { color: var(--cy-blue) !important; }
body.seo-cluster-page :is(.seo-hero-panel,.seo-service-card,.seo-process li,.seo-info-card,.seo-region,.seo-faq-list details,.seo-final-cta) {
    border: 1px solid var(--cy-line) !important; border-radius: 18px !important; background: var(--cy-surface) !important; box-shadow: 0 16px 42px rgba(17,57,67,.06) !important;
}
body.seo-cluster-page :is(.seo-hero-panel,.seo-service-card,.seo-process li,.seo-info-card,.seo-region,.seo-faq-list details,.seo-final-cta) :is(h2,h3,strong,summary) { color: var(--cy-text) !important; }
body.seo-cluster-page .seo-button--primary { border: 1px solid #5cce74 !important; background: #12364b !important; color: #fff !important; box-shadow: 0 0 20px rgba(90,204,102,.26) !important; }
body.seo-cluster-page .seo-button:not(.seo-button--primary) { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-text) !important; }
body.seo-cluster-page .seo-final-cta span,body.seo-cluster-page .seo-facts li { color: var(--cy-muted) !important; }

body.offers-page .offers-program { border: 1px solid var(--cy-line) !important; background: var(--cy-surface) !important; box-shadow: none !important; }
body.offers-page .offers-program-card:has(input:checked) { border-color: #69bb8c !important; box-shadow: 0 0 0 2px rgba(77,174,117,.11) !important; }
body.offers-page .offers-card__title { color: var(--cy-text) !important; }
body.offers-page :is(.offers-card__copy,.offers-card__terms,.offers-highlight small,.offers-rewards span,.offers-card__steps small,.offers-program__selection > span small) { color: var(--cy-muted) !important; }
body.offers-page :is(.offers-highlight,.offers-program__selection,.offers-conversation-note) { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; }
body.offers-page :is(.offers-highlight strong,.offers-program__selection > span strong,.offers-rewards strong) { color: var(--cy-text) !important; }
body.offers-page .offers-tag { color: var(--cy-green) !important; background: var(--cy-surface) !important; }
body.offers-page .offers-pills small { border-color: var(--cy-line) !important; color: var(--cy-muted) !important; }
body.offers-page .offers-rewards > small { border-color: var(--cy-line) !important; }

body.booking-page .bc-answer { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; }
body.booking-page .bc-bubble { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; }
body.booking-page .t-label,body.booking-page .t-trust-item strong { color: var(--cy-text) !important; }
body.booking-page .t-trust-item span { color: var(--cy-muted) !important; }
body.booking-page .t-sidebar-divider { border-color: var(--cy-line); }
body.booking-page .bc-btn-secondary { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-text) !important; }

/* Ratgeber: retain search and article interactions while changing the reading palette. */
body.knowledge-page { --kb-bg: var(--cy-bg); --kb-panel: var(--cy-surface); --kb-panel-strong: #fff; --kb-line: var(--cy-line); --kb-text: var(--cy-text); --kb-muted: var(--cy-muted); --kb-green: #3b9673; --kb-blue: var(--cy-blue); }
body.knowledge-page .kb-hero { min-height: 0 !important; padding: 166px 0 72px !important; text-align: left; }
body.knowledge-page .kb-hero-content { max-width: 780px; margin: 0; text-align: left; }
body.knowledge-page .kb-hero h1 { margin-left: 0; line-height: 1.08; font-size: clamp(3rem,5.5vw,5rem); }
body.knowledge-page .kb-hero-content > p:not(.kb-eyebrow) { margin-left: 0; color: var(--cy-muted) !important; }
body.knowledge-page .kb-hero-scene { display: none !important; }
body.knowledge-page .kb-search { margin-left: 0; background: var(--cy-surface) !important; border-color: var(--cy-line) !important; box-shadow: 0 14px 42px rgba(17,57,67,.08); }
body.knowledge-page .kb-search input { min-height: 46px !important; border: 0 !important; box-shadow: none !important; }
body.knowledge-page .kb-search span { background: var(--cy-surface); color: var(--cy-text); }
body.knowledge-page .kb-trust-row { justify-content: flex-start; color: var(--cy-muted); }
body.knowledge-page .kb-trust-row span { border: 0 !important; background: none !important; padding: 0 !important; color: var(--cy-muted) !important; }
body.knowledge-page .kb-category h3, body.knowledge-page .kb-card h3 { color: var(--cy-text) !important; }
body.knowledge-page .kb-card[hidden] { display: none !important; }
body.knowledge-page .kb-filter { color: var(--cy-muted); border-color: var(--cy-line); background: var(--cy-surface); }
body.knowledge-page .kb-filter.is-active { color: #fff; background: #12364b; border-color: #12364b; }
body.knowledge-page .kb-card-meta,body.knowledge-page .kb-article-meta,body.knowledge-page .kb-breadcrumb { color: var(--cy-muted); }
body.knowledge-page .kb-article-hero { padding-top: 45px; }
body.knowledge-page .kb-article-body :is(p,li),body.knowledge-page .kb-article-lead { color: var(--cy-muted) !important; }
body.knowledge-page .kb-article-body blockquote { color: var(--cy-text); background: var(--cy-surface); }
body.knowledge-page .kb-product { background: var(--cy-surface); border-color: var(--cy-line); }

/* Footer stays dark, creating a clear end to every bright page. */
body.public-page .site-footer { background: #0d2a40 !important; color: #b7cbd4 !important; }
body.public-page .site-footer :is(p,li,span,small) { color: #a9bec9 !important; }
body.public-page .site-footer :is(h2,h3,h4,strong) { color: #f7fbff !important; }
body.public-page .site-footer__cta-actions .site-footer__cta-primary { color: #fff !important; }
body.career-page .k-hero p,body.booking-page .t-hero p { color: var(--cy-muted) !important; }
body.career-page :is(.k-btn--primary,.k-btn-primary) { border: 1px solid #5cce74 !important; background: #12364b !important; color: #fff !important; box-shadow: 0 0 20px rgba(90,204,102,.26) !important; }
body.career-page .k-hero :is(.k-badge,.k-label) { color: var(--cy-blue) !important; }
body.booking-page .t-hero h1 span { color: var(--cy-blue) !important; -webkit-text-fill-color: currentColor !important; background: none !important; }

@media (max-width: 900px) {
    body.public-page > header[role="banner"] { min-height: 68px !important; padding: 8px 20px !important; }
    body.public-page > header[role="banner"] .premium-nav { top: 100% !important; right: 0 !important; left: 0 !important; padding: 13px 20px 20px !important; border: 0 !important; border-radius: 0 !important; background: #0d2a40 !important; }
    body.public-page > header[role="banner"] .premium-menu-toggle { margin-left: auto; }
    body.public-page > header[role="banner"] .premium-nav > a:not(.premium-nav-cta) { padding: 13px 14px !important; }
}
@media (max-width: 760px) {
    body.about-page .about-premium-hero { display: flex; flex-direction: column; min-height: 0 !important; }
    body.about-page .about-premium-media { position: relative; inset: auto; order: 2; width: min(100% - 40px,390px); height: 300px; margin: -20px auto 0; opacity: 1 !important; }
    body.about-page .about-premium-content { order: 1; padding-top: 120px !important; padding-bottom: 30px !important; text-align: left !important; }
    body.about-page .about-premium-hero::after { display: none; }
    body.contact-page .contact-premium-hero,
    body.rental-page .rental-premium-hero,
    body.offers-page .offers-hero,
    body.career-page .k-hero { min-height: 0 !important; }
    body.public-page :is(.contact-hero-content,.rental-hero-content) { padding-top: 122px !important; padding-bottom: 70px !important; text-align: left !important; }
    body.offers-page .offers-hero { padding: 126px 22px 74px !important; text-align: left; }
    body.services-overview-page .services-hero,
    body.gallery-page .gallery-hero { min-height: 0 !important; }
    body.services-overview-page .services-hero-content,
    body.gallery-page .gallery-hero-content { padding: 126px 0 70px !important; }
    body.services-overview-page .services-hero-media::after,
    body.gallery-page .gallery-hero-media::after { background: linear-gradient(90deg,color-mix(in srgb, var(--cy-surface) 98%, transparent),color-mix(in srgb, var(--cy-surface) 86%, transparent)) !important; }
    body.knowledge-page .kb-hero { padding: 126px 0 65px !important; }
    body.knowledge-page .kb-hero h1 { font-size: clamp(2.45rem,10vw,3.5rem); }
    body.knowledge-page .kb-search { grid-template-columns: minmax(0,1fr) !important; }
    body.knowledge-page .kb-search input { width: 100% !important; }
    body.knowledge-page .kb-trust-row { gap: 10px 20px; }
    body.detail-service-page .page-hero { padding: 125px 21px 70px !important; }
    body.detail-service-page .detail-quickbar { margin-top: -42px; }
    body.local-seo-page .local-hero { min-height: 0 !important; padding: 125px 18px 78px !important; }
    body.local-seo-page .local-hero-media::after { background: linear-gradient(90deg,color-mix(in srgb, var(--cy-surface) 95%, transparent),color-mix(in srgb, var(--cy-surface) 83%, transparent)) !important; }
}
@media (prefers-reduced-motion: reduce) {
    body.public-page :is(a,button) { animation: none !important; }
}

/* Kurze, nur teilweise über Karten laufende Zierbalken entfernen. */
body.public-page :is(.service-card, .why-card, .trust-card, .review-card, .bento-card,
    .social-card, .kontakt-card, .detail-card, .rental-card, .gallery-card,
    .ba-panel, .faq-item, .rental-info-card, .t-cal-card, .t-form-card,
    .local-card, .kb-category, .kb-card, .gallery-cta-card)::before,
body.public-page :is(.service-card, .why-card, .trust-card, .review-card,
    .bento-card, .social-card)::after,
body.public-page footer[role="contentinfo"]::before {
    content: none !important;
    display: none !important;
}

/* Lesbarkeit: alte Dunkelmodus-Farben an die hellen Seitenflächen anpassen. */
body.public-page {
    --public-text: var(--cy-text);
    --public-muted: var(--cy-muted);
    --public-blue: var(--cy-blue);
    --public-blue-light: var(--cy-blue);
    --public-green: var(--cy-green);
}
body.public-page main h1 :is(span, em) { color: var(--cy-blue) !important; }
body.public-page :is(.section-label,.about-kicker,.contact-kicker,.services-kicker,
    .gallery-kicker,.rental-kicker,.offers-kicker,.kb-eyebrow) {
    color: var(--cy-text) !important;
}
body.public-page :is(input,textarea)::placeholder { color: var(--cy-muted) !important; }
body.public-page :is(.about-button--secondary,.contact-button--secondary,
    .rental-button--secondary,.services-button--secondary,.gallery-button--secondary,
    .offers-button--secondary,.btn-outline,.btn-secondary,.back-link,.btn-cta-outline) {
    color: var(--cy-text) !important;
    background: var(--cy-surface) !important;
    border-color: var(--cy-line) !important;
}

/* Über uns: Karten, Fakten und Bewertungslinks liegen auf Weiß. */
body.about-page .about-hero-text > p strong,
body.about-page .value-title,
body.about-page .stat-label,
body.about-page .stat-label strong,
body.about-page .platform-badge,
body.about-page .badge-title { color: var(--cy-text) !important; }
body.about-page .value-desc,
body.about-page .stat-label span,
body.about-page .badge-sub { color: var(--cy-muted) !important; }
body.about-page .value-title { font-size: .97rem; font-weight: 750; }
body.about-page .value-desc { font-size: .89rem; line-height: 1.6; }
body.about-page .stat-number { color: var(--cy-blue) !important; }
body.about-page .stat-label span { font-size: .82rem; }
body.about-page .platform-badge { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; }
body.about-page .platform-badge:hover { background: var(--cy-surface) !important; border-color: var(--cy-line) !important; }
body.about-page .badge-title { font-size: 1rem; }
body.about-page .badge-sub { opacity: 1; font-size: .84rem; }
body.about-page .about-cta .btn-cta-outline { color: var(--cy-text) !important; }

/* Kontakt: ruhige helle Karten mit klaren Handlungsoptionen. */
body.contact-page :is(.contact-direct,.contact-form-panel) { background: var(--cy-surface) !important; }
body.contact-page .contact-btn {
    border-color: var(--cy-line) !important;
    background: var(--cy-surface) !important;
}
body.contact-page .contact-btn:hover { background: var(--cy-surface) !important; border-color: #92c4b5 !important; }
body.contact-page .contact-btn strong,
body.contact-page .contact-form-intro strong,
body.contact-page .contact-hours strong { color: var(--cy-text) !important; }
body.contact-page .contact-btn small,
body.contact-page .contact-form-intro small,
body.contact-page .contact-hours span,
body.contact-page .contact-response-note span { color: var(--cy-muted) !important; }
body.contact-page .contact-btn strong { font-size: .9rem; }
body.contact-page .contact-btn small,
body.contact-page .contact-form-intro small { font-size: .8rem; }
body.contact-page .contact-btn-icon { color: var(--cy-blue) !important; background: var(--cy-surface) !important; border-color: var(--cy-line) !important; }
body.contact-page .contact-btn-arrow { color: var(--cy-muted) !important; }
body.contact-page .contact-response-note {
    background: var(--cy-surface) !important;
    border-color: #c7e7d0 !important;
}
body.contact-page .contact-response-note strong { color: #216e4a !important; font-size: .85rem; }
body.contact-page .contact-response-note span { font-size: .8rem; }
body.contact-page .contact-form-icon { color: var(--cy-green) !important; background: var(--cy-surface) !important; }
body.contact-page .conversation-status strong,
body.contact-page .chat-bot-bubble small { color: var(--cy-text) !important; }
body.contact-page .conversation-status span { color: var(--cy-green) !important; }
body.contact-page #conversation-step-count { color: var(--cy-muted) !important; }
body.contact-page .chat-bot-bubble { color: var(--cy-text) !important; background: var(--cy-surface) !important; border-color: var(--cy-line) !important; }
body.contact-page .chat-bot-bubble > span:last-child { color: var(--cy-text) !important; }
body.contact-page .conversation-choice {
    grid-template-columns: minmax(0,1fr) !important;
    border-color: var(--cy-line) !important;
    background: var(--cy-surface) !important;
    color: var(--cy-text) !important;
}
body.contact-page .conversation-choice > span { grid-column: 1; min-width: 0; }
body.contact-page .conversation-choice strong { color: var(--cy-text) !important; }
body.contact-page .conversation-choice small { color: var(--cy-muted) !important; font-size: .78rem; }
body.contact-page .conversation-choice > i { color: var(--cy-blue) !important; background: var(--cy-surface) !important; }
body.contact-page .conversation-choice:hover,
body.contact-page .conversation-choice.is-selected { background: var(--cy-surface) !important; border-color: #8ec6aa !important; }
body.contact-page .map-consent :is(strong,span) { color: #e6f1f4 !important; }
body.contact-page .map-consent strong { color: #fff !important; }
body.contact-page .map-consent button {
    min-height: 44px;
    border: 1px solid #5cce74 !important;
    background: #19475b !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 0 20px rgba(90,204,102,.25) !important;
}
body.contact-page .map-consent button:hover { background: #245c70 !important; }
body.contact-page .contact-start-options small { color: #d1e0e7 !important; font-size: .78rem; }

/* Leistungsseite: dunkle Funktionsflächen brauchen helle Schrift. */
body.services-overview-page :is(.service-calculator__panel,.services-seo-hub,
    .wintergarden-pricing,.public-3d-compare) :is(h1,h2,h3,h4) {
    color: #f4fbff !important;
    -webkit-text-fill-color: currentColor !important;
}
body.services-overview-page :is(.service-calculator__panel,.services-seo-hub,
    .wintergarden-pricing,.public-3d-compare) :is(p,li,small) {
    color: #cfdee7 !important;
}
body.services-overview-page .services-seo-head span,
body.services-overview-page .services-seo-grid span { color: #cfdee7 !important; }
body.services-overview-page .services-seo-grid strong { color: #f4fbff !important; }
body.services-overview-page .services-seo-head p { color: #98e8d0 !important; }
body.services-overview-page .services-seo-grid a { border-color: var(--cy-line) !important; background: color-mix(in srgb, var(--cy-surface) 7%, transparent) !important; }
body.services-overview-page .public-3d-compare .public-compare-eyebrow { color: #98e8d0 !important; }
body.services-overview-page .public-3d-compare .public-compare-copy > a { color: #e7f6fa !important; }

/* Die vereinbarte sanfte Aura ersetzt alte, stark verlaufende Hauptbuttons. */
body.public-page.public-page :is(.btn-primary,.btn-submit,.btn-service,.btn-cta.green,
    .btn-cta-green,.angebot-cta,.btn-cta-full,.sorglos-btn,.rental-cta) {
    border: 1px solid #5cce74 !important;
    background: #12364b !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 0 0 1px rgba(37,162,212,.23),0 9px 26px rgba(30,106,136,.18),0 0 20px rgba(90,204,102,.26) !important;
    animation: none !important;
}
body.public-page.public-page :is(.btn-primary,.btn-submit,.btn-service,.btn-cta.green,
    .btn-cta-green,.angebot-cta,.btn-cta-full,.sorglos-btn,.rental-cta):hover {
    background: #19475b !important;
    box-shadow: 0 0 0 1px rgba(37,162,212,.34),0 12px 32px rgba(30,106,136,.22),0 0 26px rgba(90,204,102,.39) !important;
    animation: none !important;
}

@media (max-width: 760px) {
    body.about-page .platform-badge { min-height: 78px; }
    body.contact-page .contact-btn { min-height: 75px; }
}

/* Neues Markenbild: Hauszeichen im Kopf, Wortbildmarke im Fuß. */
body.public-page > header[role="banner"] .nav-logo {
    width: 46px !important;
    height: 46px !important;
    flex: none;
    object-fit: contain !important;
    filter: none !important;
}
body.public-page > header[role="banner"] .brand-name {
    display: block !important;
    max-width: 150px;
    color: #f5fbff !important;
    font-size: .86rem !important;
    line-height: 1.14 !important;
}
body.offers-page > header[role="banner"] .nav-logo { width: 190px !important; height: 52px !important; }
body.public-page .site-footer__brand img { width: 230px !important; height: auto !important; max-width: 100%; }
@media (max-width: 900px) {
    body.public-page > header[role="banner"] .nav-logo { width: 40px !important; height: 40px !important; }
    body.public-page > header[role="banner"] .brand-name { max-width: 125px; font-size: .72rem !important; }
    body.offers-page > header[role="banner"] .nav-logo { width: 155px !important; height: 43px !important; }
}

/* One card palette across the remaining legacy page modules. */
body.public-page {
    --card-surface: var(--cy-surface);
    --card-soft: var(--cy-surface);
    --card-line: var(--cy-line);
    --card-ink: var(--cy-text);
    --card-muted: var(--cy-muted);
    --card-accent: var(--cy-green);
    --card-shadow: 0 16px 42px rgba(17,57,67,.07);
}

/* Career still used black theme variables inside light page sections. */
body.career-page {
    --g: var(--card-accent);
    --g2: var(--cy-green);
    --g3: #eaf6ef;
    --b: #f7faf8;
    --b1: var(--card-surface);
    --b2: #f0f7f5;
    --b3: var(--card-surface);
    --t: var(--card-ink);
    --t2: var(--card-muted);
    --t3: #607985;
    --bd: var(--card-line);
    --shadow: var(--card-shadow);
}
body.career-page :is(.k-vorteil-card,.k-about-stat,.k-job-card,.k-rating-card,.k-form-wrap,.k-faq-item,.k-modal,.k-modal-info-item) {
    border-color: var(--card-line) !important;
    background: var(--card-surface) !important;
    box-shadow: var(--card-shadow) !important;
}
body.career-page :is(.k-vorteil-card,.k-job-card):hover { box-shadow: 0 22px 46px rgba(17,57,67,.12) !important; }
body.career-page .k-section.alt { background: var(--cy-surface) !important; }
body.career-page .k-job-card.featured { border-color: #a9d8c2 !important; background: var(--cy-surface) !important; }
body.career-page .k-job-card.featured::before { background: var(--cy-surface); color: var(--cy-green); }
body.career-page .k-vorteil-card .icon,
body.career-page .k-modal-vorteil { color: var(--card-accent) !important; }
body.career-page :is(.k-job-badge.vollzeit,.k-job-badge.teilzeit,.k-job-badge.minijob,.k-job-badge.ausbildung,.k-job-badge.praktikum) { color: var(--cy-text) !important; }
body.career-page :is(.k-modal-close,.k-dsgvo,.k-dropzone) { border-color: var(--card-line) !important; background: var(--card-soft) !important; }
body.career-page .k-toast { border-color: var(--card-line); background: var(--cy-surface); color: var(--card-ink); }
body.career-page .k-toast.err { background: #9a2b37; color: #fff; }

/* Calculator: a light work surface with clear hierarchy and retained state colours. */
body.services-overview-page .service-calculator { color: var(--card-ink); }
body.services-overview-page .service-calculator__panel,
body.services-overview-page .wintergarden-pricing,
body.services-overview-page .services-seo-hub,
body.services-overview-page .public-3d-compare {
    border: 1px solid var(--card-line) !important;
    background: var(--card-surface) !important;
    background-image: none !important;
    box-shadow: var(--card-shadow) !important;
    color: var(--card-ink) !important;
}
body.services-overview-page .service-calculator__panel::before { display: none !important; }
body.services-overview-page .service-calculator__panel :is(h2,h3,h4,p,li,small,span,strong,label),
body.services-overview-page :is(.wintergarden-pricing,.services-seo-hub,.public-compare-copy) :is(h2,h3,h4,p,li,small,span,strong) {
    color: var(--card-ink) !important;
    -webkit-text-fill-color: currentColor !important;
}
body.services-overview-page .service-calculator__panel :is(.service-calculator__intro,.service-calculator__steps small,.service-calculator__collection-helper,.service-calculator__empty,.service-calculator__summary-row,.service-calculator__notice,.service-calculator__total-helper,.service-calculator__footnote,.package-price-row .pr-label small),
body.services-overview-page :is(.wintergarden-pricing,.services-seo-hub,.public-3d-compare) :is(.wintergarden-pricing__note,.wintergarden-pricing__head p,.services-seo-head span,.services-seo-grid span,.public-compare-copy > p) {
    color: var(--card-muted) !important;
}
body.services-overview-page .service-calculator__panel :is(.service-calculator__controls,.service-calculator__result,.service-calculator__steps li,.service-calculator__item,.service-calculator__package,.service-calculator__measure-tab,.service-calculator__empty,.package-price-row) {
    border-color: var(--card-line) !important;
    background: var(--card-soft) !important;
    background-image: none !important;
}
body.services-overview-page .service-calculator__panel :is(.service-calculator__draft-rate,.service-calculator__total-block,.service-calculator__package[aria-pressed="true"],.service-calculator__measure-tab[aria-pressed="true"]) {
    border-color: #b8dfc8 !important;
    background: var(--cy-surface) !important;
    background-image: none !important;
}
body.services-overview-page .service-calculator__panel :is(.service-calculator__result-value span,.service-calculator__draft-rate strong,.service-calculator__item-total,.service-calculator__package-price,.service-calculator__range) {
    color: var(--cy-green) !important;
}
body.services-overview-page .service-calculator__panel :is(.service-calculator__button,.service-calculator__add-button),
body.services-overview-page .service-calculator__panel :is(.service-calculator__button,.service-calculator__add-button) * {
    color: #fff !important;
}
body.services-overview-page .service-calculator__panel :is(.service-calculator__button,.service-calculator__add-button) {
    border: 1px solid #5cce74 !important;
    background: #12364b !important;
    background-image: none !important;
    box-shadow: 0 0 20px rgba(90,204,102,.22) !important;
}
body.services-overview-page .service-calculator__panel :is(.service-calculator__secondary-link,.service-calculator__footnote a) { color: var(--cy-text) !important; }
body.services-overview-page .service-calculator__panel .service-calculator__remove-button { color: #9a2b37 !important; }
body.services-overview-page .service-calculator__panel :is(.service-calculator__summary,.service-calculator__item-edit,.service-calculator__draft,.service-calculator__total-helper) { border-color: var(--card-line) !important; }

body.services-overview-page .services-seo-hub .services-seo-grid a,
body.services-overview-page .wintergarden-pricing :is(.wintergarden-pricing__tiers article,.wintergarden-pricing__examples) {
    border: 1px solid var(--card-line) !important;
    background: var(--card-soft) !important;
    color: var(--card-ink) !important;
}
body.services-overview-page .services-seo-hub .services-seo-grid a:hover { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; }
body.services-overview-page :is(.services-seo-head p,.wintergarden-pricing__eyebrow,.public-compare-eyebrow,.wintergarden-pricing__tiers b,.wintergarden-pricing__examples b) { color: var(--card-accent) !important; }
body.services-overview-page .wintergarden-pricing__head a,
body.services-overview-page .public-compare-copy > a { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-text) !important; }
body.services-overview-page .public-compare-copy h2 em { color: var(--cy-blue) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }

/* Payment terms used an isolated dark layout despite the shared light site. */
body.public-page .payment-terms-hero { border-color: var(--card-line) !important; background: var(--cy-surface) !important; }
body.public-page .payment-terms-hero h1 { color: var(--card-ink) !important; text-shadow: none !important; }
body.public-page .payment-terms-hero h1 span { color: var(--cy-blue) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
body.public-page .payment-terms-hero :is(p,.payment-terms-kicker) { color: var(--card-muted) !important; }
body.public-page .payment-terms-hero .payment-terms-kicker { color: var(--card-accent) !important; }
body.public-page .payment-terms-content { background: var(--cy-surface) !important; }
body.public-page :is(.payment-terms-card,.payment-terms-note) {
    border: 1px solid var(--card-line) !important;
    background: var(--card-surface) !important;
    background-image: none !important;
    box-shadow: var(--card-shadow) !important;
}
body.public-page :is(.payment-terms-card,.payment-terms-note) :is(h2,p,li) { color: var(--card-ink) !important; }
body.public-page :is(.payment-terms-card,.payment-terms-note) :is(p,li) { color: var(--card-muted) !important; }
body.public-page .payment-terms-card small { color: var(--card-accent) !important; }
body.public-page .payment-terms-steps li::before { background: var(--cy-surface) !important; color: var(--cy-green) !important; }
body.public-page .payment-terms-important { border-color: #a4f66a70 !important; background: var(--cy-surface) !important; color: var(--cy-text) !important; }
body.public-page .payment-terms-actions a { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-text) !important; }
body.public-page .payment-terms-actions a:first-child { border-color: #5cce74 !important; background: #12364b !important; color: #fff !important; box-shadow: 0 0 20px rgba(90,204,102,.22) !important; }

/* Public inquiry replaces on-page price estimates. */
body.public-page .public-inquiry-card { width: min(1120px,calc(100% - 40px)); margin: 34px auto 54px; padding: clamp(26px,4vw,42px); display: flex; align-items: center; justify-content: space-between; gap: 28px; border: 1px solid var(--card-line); border-radius: 20px; background: var(--cy-surface); box-shadow: var(--card-shadow); }
body.public-page .public-inquiry-card__eyebrow { margin: 0 0 9px; color: var(--card-accent); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
body.public-page .public-inquiry-card h2 { margin: 0 0 10px; color: var(--card-ink); font-size: clamp(1.5rem,2.5vw,2.1rem); }
body.public-page .public-inquiry-card p:last-child { max-width: 680px; margin: 0; color: var(--card-muted); line-height: 1.65; }
body.public-page .public-inquiry-card__button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex: none; min-height: 49px; padding: 12px 19px; border: 1px solid #5cce74; border-radius: 12px; background: #12364b; color: #fff; font-weight: 800; text-decoration: none; box-shadow: 0 0 20px rgba(90,204,102,.23); }
body.public-page .public-inquiry-card__button:hover { background: #19475b; box-shadow: 0 0 27px rgba(90,204,102,.36); }

/* The same bright card treatment on legacy catalog, rental and guide modules. */
body.services-overview-page .services-scope-note,
body.public-page :is(.price-footer,.info-box,.holiday-box,.cta-banner),
body.rental-page :is(.rental-card,.rental-payment-notice,.rental-info-card,.rental-cta-section,.empty-state),
body.knowledge-page .kb-service-cta,
body.rental-page .public-3d-compare { border: 1px solid var(--card-line) !important; background: var(--cy-surface) !important; background-image: none !important; box-shadow: var(--card-shadow) !important; color: var(--card-ink) !important; }
body.services-overview-page .services-scope-note :is(strong,span),
body.public-page :is(.price-footer,.info-box,.holiday-box,.cta-banner) :is(h2,h3,p,strong,span,li),
body.rental-page :is(.rental-card,.rental-payment-notice,.rental-info-card,.rental-cta-section,.empty-state) :is(h2,h3,h4,p,strong,span,li),
body.knowledge-page .kb-service-cta :is(h2,p),
body.rental-page .public-compare-copy :is(h2,p,span,strong) { color: var(--card-ink) !important; }
body.services-overview-page .services-scope-note span,
body.public-page :is(.price-footer,.info-box,.holiday-box,.cta-banner) :is(p,li),
body.rental-page :is(.rental-card,.rental-payment-notice,.rental-info-card,.rental-cta-section,.empty-state) :is(p,li),
body.knowledge-page .kb-service-cta p,
body.rental-page .public-compare-copy > p { color: var(--card-muted) !important; }
body.public-page .price-card.featured { background: var(--cy-surface) !important; }
body.public-page .price-card :is(h3,.price-features li) { color: var(--card-ink) !important; }
body.public-page .price-card .card-desc { color: var(--card-muted) !important; }
body.public-page .price-card .btn-price { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--card-ink) !important; }
body.public-page :is(.info-item,.holiday-box,.price-footer) { border-color: var(--card-line) !important; }
body.public-page .info-item { background: var(--cy-surface) !important; }
body.rental-page .rental-pricing { display: flex; flex-direction: column; gap: 4px; padding: 13px 15px; border: 1px solid var(--cy-line); border-radius: 11px; background: var(--cy-surface); }
body.rental-page .rental-pricing strong { color: var(--cy-green) !important; }
body.rental-page .rental-pricing span { color: var(--card-muted) !important; font-size: .75rem; line-height: 1.5; }
body.rental-page :is(.rental-description-toggle,.rental-info-card i) { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-green) !important; }
body.rental-page .rental-description li::marker { color: var(--cy-green) !important; }
body.rental-page .status-belegt { color: #9a2b37 !important; background: var(--cy-surface) !important; }
body.rental-page .status-frei { color: var(--cy-green) !important; background: var(--cy-surface) !important; }
body.rental-page .public-compare-copy > a { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--card-ink) !important; }
body.services-overview-page .public-compare-copy > a { color: var(--cy-text) !important; }
body.career-page .k-faq-item { background-color: var(--cy-surface) !important; }
body.offers-page .offers-section--soft { background: var(--cy-surface) !important; }
body.offers-page .offers-process article,
body.offers-page .offers-faq details { border: 1px solid var(--card-line) !important; background: var(--cy-surface) !important; background-image: none !important; box-shadow: var(--card-shadow) !important; }
body.offers-page .offers-process article > span { color: var(--card-accent) !important; }
body.offers-page .offers-process h3,
body.offers-page .offers-faq summary { color: var(--card-ink) !important; }
body.offers-page .offers-process p,
body.offers-page .offers-faq details p { color: var(--card-muted) !important; }
body.public-page .info-item .info-label { color: var(--card-accent) !important; }
body.public-page .info-item .info-val,
body.public-page .info-item .info-val strong { color: var(--card-ink) !important; }
body.public-page .express-badge { border-color: var(--cy-line) !important; background: var(--cy-surface) !important; color: var(--cy-green) !important; }
body.public-page .express-badge i { color: var(--cy-green) !important; }
body.services-overview-page .public-3d-compare .public-compare-copy > a { color: var(--cy-text) !important; }
body.public-page .price-card .btn-price.featured { color: var(--cy-text) !important; }
@media (max-width: 760px) { body.public-page .public-inquiry-card { flex-direction: column; align-items: flex-start; } body.public-page .public-inquiry-card__button { width: 100%; } }
