/* Sybernetic — readable content, 2026-10-26.
   Local tokens deliberately exclude the independent site-status notice.
   Headings and device drawings retain their own visual system. */
main,
.diag-modal,
.cookie-banner,
.map-consent-placeholder {
    --read-text: #dce6de;
    --read-secondary: #cbd8cf;
    --read-link: #c4e8cc;
    --text-muted: var(--read-text);
    --text-light: #e4ece6;
    --premium-muted: var(--read-text);
}
main.v2 {
    --v-muted: var(--read-text);
}

/* Editorial pages: body copy remains readable at every viewport. */
.v2 .v-deep p,
.v2 .v-process p,
.v2 .v-service-card p,
.v2 .v-panel-detail p,
.v2 .v-aid-list p,
.v2 .v-component-list p,
.v2 .v-faq details > div,
.v2 .v-contact-end p:not(.v-kicker) {
    font-size: 16px;
    line-height: 1.75;
}
.v2 .v-panel-note p {
    font-size: 15px;
    line-height: 1.7;
}
.v2 .v-micro {
    font-size: 14px;
    line-height: 1.65;
    color: var(--read-secondary) !important;
}
.v2 .v-kicker {
    font-size: 12px !important;
    letter-spacing: .12em;
}
.v2 .v-breadcrumb {
    color: var(--read-secondary);
    font-size: 13px;
    line-height: 1.7;
    gap: 8px 12px;
}
.v2 .v-breadcrumb a { color: var(--read-link); }
.v2 .v-home-signal { font-size: 14px; }
.v2 .v-section-nav a { color: var(--read-text); font-size: 14px; }
.v2 .v-panel-detail > span { font-size: 13px; letter-spacing: .06em; }
.v2 .v-index { font-size: 12px; }
.v2 .v-component-list summary > span { font-size: 13px; }
.v2 .v-photo-story figcaption,
.v2 .v-gallery-inline figcaption {
    font-size: 14px;
    line-height: 1.65;
    color: var(--read-secondary);
}
.v2 .v-technical figcaption {
    font-family: Inter, sans-serif;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: var(--read-secondary);
    gap: 12px;
}
.v2 .v-motion-toggle {
    font-size: 13px !important;
    color: var(--read-secondary);
    min-height: 36px;
    line-height: 1.5;
}
/* Keep right-edge captions and animation controls clear of quick contact. */
.v2 .v-hero-art figcaption { padding-right: 64px; }
.v2 .v-hero-art .v-motion-toggle { margin-right: 64px; }
.v2 .v-more summary,
.v2 .v-more a,
.v2 .v-sources p,
.v2 .v-sources a { font-size: 14px; line-height: 1.65; }
.v2 .v-more a,
.v2 .v-sources p,
.v2 .v-sources a { color: var(--read-secondary); }
.v2 .v-sources a:hover,
.v2 .v-more a:hover { color: #f4f8f3; }
.v2 .v-quote-table td { font-size: 16px; line-height: 1.7; }
.v2 .v-quote-table th { font-size: 13px; line-height: 1.5; }
.v2 .v-brief label { font-size: 15px; color: #e4ece6; }
.v2 .v-brief input::placeholder,
.v2 .v-search::placeholder { color: #bccfc1; opacity: 1; }
.v2 .v-text-link { font-size: 15px; }

/* The pale first-aid panel has a separate, dark text palette. */
.v-data .v-firstaid p { color: #2c3e31; }
.v-data .v-firstaid .v-kicker,
.v-data .v-firstaid .v-index { color: #304c37 !important; }
.v-data .v-firstaid a { color: #214e2e; text-decoration: underline; }

/* The inherited legacy input rule uses !important and this border token.
   Override its local value instead of adding a global important declaration. */
.contact-page .kontakt-form,
.diag-modal .diag-form,
.v2 .v-brief form,
.v2 .v-search { --premium-line-strong: #7e9686; }
.contact-page .kontakt-field :is(input,textarea):focus-visible,
.diag-modal .diag-form :is(input,textarea,select):focus-visible,
.v2 :is(input,select,textarea):focus-visible {
    outline: 3px solid #c4e8cc;
    outline-offset: 3px;
}

/* Contact page. No opacity is used to distinguish explanatory text. */
.contact-page .contact-eyebrow { font-size: 12px; }
.contact-page .contact-intro > p,
.contact-page address span,
.contact-page .contact-company p,
.contact-page .contact-form-intro {
    color: var(--read-text);
    font-size: 16px;
    line-height: 1.75;
}
.contact-page .contact-notice,
.contact-page .contact-channel-caption,
.contact-page .contact-route-note,
.contact-page .contact-hours > p,
.contact-page .contact-required,
.contact-page .kontakt-consent {
    color: var(--read-secondary);
    font-size: 14px;
    line-height: 1.7;
}
.contact-page .contact-channel-label {
    color: #d6e5da;
    font-size: 12px;
    letter-spacing: .08em;
}
.contact-page .contact-hours dl > div { font-size: 15px; }
.contact-page .contact-hours dt { color: var(--read-text); }
.contact-page .contact-company { font-size: 15px; }
.contact-page .kontakt-field label { color: #e4ece6; font-size: 15px; }
.contact-page .kontakt-field input,
.contact-page .kontakt-field textarea {
    background: #111a14;
    color: #f0f5f1;
    border: 1px solid #7e9686;
}
.contact-page .kontakt-field ::placeholder { color: #bdcfc2; opacity: 1; }
.contact-page .kontakt-consent a { color: var(--read-link); }
.contact-page .contact-channel { border-color: #506558; }
.contact-page .contact-channel:hover .contact-channel-caption { color: #e8f1eb; }
.contact-page .contact-company a { text-decoration: underline; text-underline-offset: 3px; }

/* Guides, blog listing, and long-form articles. */
.guide-notice { color: var(--read-text); }
.journal-page .journal-eyebrow { font-size: 12px; }
.journal-page .journal-feature-tag { font-size: 13px; }
.journal-page .journal-description,
.journal-page .journal-excerpt { color: var(--read-text); font-size: 16px; line-height: 1.75; }
.journal-page .journal-meta { font-size: 14px; }
.journal-page .journal-meta time { color: var(--read-secondary); }
.journal-page .journal-categories a:not([aria-current="page"]) { color: var(--read-text); }
.journal-page .journal-categories a { font-size: 14px; }
main .article-hero .breadcrumbs,
main .article-meta,
main .article-lead,
main .article-content ul,
main .article-content ol,
main .article-content figcaption,
main .toc-box a,
main .widget p { opacity: 1; }
/* Existing inline styles dimmed this breadcrumb and the widget list twice. */
main .article-hero .breadcrumbs > span,
main .widget > ul { opacity: 1 !important; }
main .article-hero .breadcrumbs,
main .article-meta,
main .article-content figcaption,
main .widget p,
main .widget li { color: var(--read-secondary); }
main .article-content p,
main .article-content li,
main .article-lead { color: var(--read-text); }
main .article-content .toc-box a { color: #e8f1eb; }
main .article-content figcaption { font-size: 15px; line-height: 1.7; }
main .widget p,
main .widget li { font-size: 15px; line-height: 1.7; }
main .article-content a:not(.btn) { color: var(--read-link); text-underline-offset: 4px; }
main .legal-content p,
main .legal-content ul,
main .legal-content li { color: var(--read-text); }

/* Captions keep an opaque surface so every photograph remains readable. */
.gallery-caption { color: #f2f6f2; background: #122019; font-size: 15px; line-height: 1.6; }
.lightbox-caption { color: #edf5ee; line-height: 1.6; }

/* Footer: earlier styles use !important, so these exact overrides do too. */
footer .footer-info .footer-col p,
footer .footer-info .footer-col a,
footer .footer-info .tagline,
footer .footer-cookie-settings {
    color: #d5e1d8 !important;
    opacity: 1 !important;
    font-size: 15px;
    line-height: 1.7;
}
footer .footer-bottom,
footer .footer-bottom p { color: #cbd8cf !important; opacity: 1 !important; font-size: 13px; }
footer .footer-info .footer-col a:hover,
footer .footer-info .footer-col a:focus-visible { color: #f6faf5 !important; text-decoration: underline; text-underline-offset: 4px; }
.address-banner { color: #cbd8cf; font-size: 12px; line-height: 1.5; }

/* Existing enquiry modal, independent of the unchanged site-status notice. */
.diag-modal .diag-sub,
.diag-modal .diag-success p { color: var(--read-text); font-size: 16px; line-height: 1.7; }
.diag-modal .diag-label { color: #e3eee6; font-size: 14px; letter-spacing: .06em; }
.diag-modal .diag-typ-txt { font-size: 14px; }
.diag-modal .diag-rodo,
.diag-modal .diag-note,
.diag-modal .diag-extra-toggle em { color: var(--read-secondary); font-size: 14px; line-height: 1.7; }
.diag-modal .diag-form :is(input[type=text],input[type=tel],input[type=email],textarea,select) {
    border-color: #7e9686;
    color: #f0f5f1;
    font-size: 16px;
}
.diag-modal .diag-form :is(input,textarea)::placeholder { color: #bdcfc2; opacity: 1; }
.diag-modal .diag-rodo a { color: var(--read-link); text-underline-offset: 3px; }
/* Switch foreground and background together. A background fade briefly
   placed dark text on the old dark card during a category change. */
.diag-modal .diag-typ-box { border-color: #738b7b; transition: border-color .2s ease; }
.diag-modal .diag-typ:hover .diag-typ-box { transform: none; }
.diag-modal .diag-typ input:checked + .diag-typ-box { border-color: var(--accent); }

/* Consent text and both choices have equal legibility. */
.cookie-banner .cookie-banner__copy p { color: #dce6de; font-size: 15px; line-height: 1.65; }
.cookie-banner .cookie-banner__copy a { color: #c4e8cc; text-underline-offset: 3px; }
.cookie-banner .cookie-btn { font-size: 14px; line-height: 1.5; }
.cookie-banner .cookie-btn--secondary { color: #f0f5f1; border-color: #9fceb0; }
.cookie-banner .cookie-btn:focus-visible { outline: 3px solid #e5f2e7; outline-offset: 3px; }
.map-consent-placeholder p { color: var(--read-text); font-size: 16px; }

@media (max-width:650px) {
    .v2 .v-option,
    .v2.v-repair .v-option { font-size: 15px; line-height: 1.5; }
    .v2 .v-section-nav { gap: 12px 24px; }
    .v2 .v-section-nav a { min-height: 32px; display: inline-flex; align-items: center; }
    .v2 .v-technical figcaption { flex-wrap: wrap; gap: 6px 18px; }
    .v2 .v-technical figcaption > span { min-width: 0; }
    .v2 .v-quote-table td { font-size: 15px; }
    .v2 .v-quote-table th { font-size: 13px; }
    .v2 .v-service-card p { padding-right: 0; }
    .cookie-banner { background: #111715; border: 1px solid #52675a; }
    /* Override only the previous mobile compact-consent declarations. */
    .cookie-banner .cookie-banner__copy p { font-size: 14px !important; line-height: 1.6 !important; }
    .cookie-banner .cookie-banner__actions .cookie-btn { font-size: 13px !important; }
}
