/* Aionity umbrella pages rendered by the Markets service (P4a): legal pages, contact, economic calendar, login,
   delete-account (html.dach) and /account (html.aionity-account). Header and footer come from the site chrome;
   this file keeps what the page CONTENTS took from the <style> of aionity_web/html/index.html, which was copied
   into these pages until 11.10.2026, and gives them a light/mono page surface. Colours are chrome tokens
   (<html data-site-brand="aionity">); the dark values equal the old ones (--em2 #34d399, selection .3). */

/* Bar height for the Markets layout (scrollbar track, login height): the chrome header, not layout-base's 5rem */
html.dach{--navbar-height:var(--site-header-h)}

/* Header pinned to dark (hdr round 1, 12.10.2026): Aionity has no light design for its bar. A stored light choice
   (aionity_theme, read by the Markets layout's boot) sets html.theme-light, which turns the chrome tokens on <html>
   light; the header, its mobile sheet and the skip link take the dark values of the aionity-dark block of
   site-tokens.css again (unit test test_header_pinned_dark keeps both in step). The page contents keep following
   the Markets theme as on LIVE. */
:is(html.dach,html.aionity-account):is(.theme-light,[data-theme$=light]) :is(#site-header,#site-menu,#site-skip){
color-scheme:dark;
--site-bg:#050d0a;--site-glass:rgb(5 13 10 / .88);--site-raised:#0a1813;--site-hover:rgb(167 243 208 / .08);
--site-line:rgb(167 243 208 / .13);--site-line-strong:rgb(167 243 208 / .26);--site-text:#edf2ee;--site-strong:#fff;--site-soft:#c3d2ca;--site-muted:#93a89e;
--site-accent:#34d399;--site-on-accent:#050d0a;--site-accent-hover:#6ee7b7;--site-accent-text:#6ee7b7;
--site-focus:#a78bfa;--site-indicator:var(--site-accent);--site-mark:var(--site-accent);--site-shadow-pop:0 16px 40px rgb(0 0 0 / .5)}

/* Focus ring and selection of the contents (the chrome has its own #site-* rules) */
:is(html.dach,html.aionity-account) :focus-visible{outline:2px solid var(--site-accent);outline-offset:3px;border-radius:.3rem}
:is(html.dach,html.aionity-account) ::selection{background:color-mix(in srgb,var(--site-accent) 30%,transparent)}

/* Hyphenation of long German words on narrow screens */
@media (max-width:480px){
html.dach :is(header,section) p,html.aionity-account section p{-webkit-hyphens:auto;hyphens:auto}
}

/* Light and mono page surface of the legal/contact pages: layout-base.css paints html.firm-plain dark with
   !important (light theme: dark text on a dark ground, measured 11.10.2026) */
html.dach.firm-plain:is(.theme-light,[data-theme^=mono]),
html.dach.firm-plain:is(.theme-light,[data-theme^=mono]) body{background:var(--site-bg)!important}

/* Economic calendar: filter chips; specificity 0,3,1 like the copied rule's 0,4,0 beats board.css
   (html.calendar-page .cal-chip 0,2,1, .cal-chip.active 0,2,0) */
html.dach.calendar-page .cal-chip{display:inline-flex;align-items:center;gap:.3rem;font:600 .62rem/1.3 ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--site-muted);padding:.28rem .55rem;border:1px solid var(--site-line);border-radius:999px;background:color-mix(in srgb,var(--site-line) 31%,transparent);white-space:nowrap}
/* hdr round 1: on dark the chips take the values of LIVE again (copied company style: --sub #9fb0a7, --panel) */
html.dach.calendar-page:not(.theme-light) .cal-chip{color:#9fb0a7;background:rgba(167,243,208,.04)}
/* Economic calendar: its own Markets mobile bar ("Makro" + menu button) opened the Markets sheet, which the chrome
   replaces - on the umbrella host it was a second bar with a dead button once the chrome header scrolled away */
html.dach .shared-mobile-topbar{display:none!important}
/* board.css sets overflow-x:hidden on html and body of the calendar: body became the scroll container and the sticky
   chrome header scrolled away with the page; clip keeps the overflow guard without making body a scroll container */
html.dach.calendar-page,html.dach.calendar-page body{overflow-x:clip!important;overflow-y:visible!important}

/* Contact form (shared/frontend/html/contact.html) has dark values only: the light/mono values from the tokens */
html.dach.theme-light .kf{--kf-acc:var(--site-accent);--kf-acc2:var(--site-accent-hover);--kf-on-acc:var(--site-on-accent);--kf-field:var(--site-raised);--kf-line:var(--site-line-strong);--kf-card:var(--site-raised);--kf-ink:var(--site-text);--kf-mut:var(--site-muted)}
html.dach.theme-light .kf .k-err{color:rgb(185 28 28)}
/* hCaptcha draws a fixed 302 px frame; below 380 px the card is narrower (242 px at 320) and the frame stuck out of
   card and viewport. Scaled to 242 px there; the negative margin gives back the height the transform keeps */
@media (max-width:379px){html.dach .kf .h-captcha{transform:scale(.8);transform-origin:0 0;margin-bottom:-15px}}

/* Delete-account guide (aionity_account_deletion.html): keeps the Markets navy page and cards of LIVE (hdr round 1;
   P4a round 3 had painted them in the green surface) */
/* Delete-account guide (aionity_account_deletion.html): white headings and mint links only work on dark */
html.dach.theme-light .kl :is(.kl-hero h1,.kl-karte>h2,.kl-karte b,.kl-warn>h2){color:var(--site-strong)}
html.dach.theme-light .kl .kl-schritte li::before,html.dach.theme-light .kl .kl-eyebrow{color:var(--site-accent-text)}
html.dach.theme-light .kl .kl-karte a{color:var(--site-accent-text);border-bottom-color:currentColor}
html.dach.theme-light .kl .kl-karte a:hover{color:var(--site-strong)}
/* its fine print (.kl-fein, #64748b) reached 4.34:1 on light (axe, 11.10.2026): token colour there; dark keeps the
   #64748b of LIVE (hdr round 1) */
html.dach:is(.theme-light,[data-theme^=mono]) .kl .kl-fein{color:var(--site-muted)}

/* Privacy notice: the "legal basis" lines are text-white/40 - white on white in light/mono (axe 11.10.2026); the
   muted token keeps them readable there. Dark keeps the white/40 of LIVE (hdr round 1) */
html.dach.firm-plain:is(.theme-light,[data-theme^=mono]) .text-white\/40{color:var(--site-muted)}

/* /account: the reset and base rules of the copied company <style>, specificity 0 like the originals (the
   account and C1 rules after this file keep winning) */
:where(html.aionity-account){scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
:where(html.aionity-account) *{box-sizing:border-box;margin:0;padding:0}
:where(html.aionity-account) body{letter-spacing:.16px;overflow-x:hidden;overflow-wrap:break-word}
:where(html.aionity-account) a{color:inherit;text-decoration:none}
:where(html.aionity-account) section{padding:5rem 0;scroll-margin-top:var(--navbar-height)}
@media (max-width:480px){:where(html.aionity-account) section{padding:3.4rem 0}}
/* the account <style> sets h2{text-transform:uppercase} for its own headings; not for the chrome's */
html.aionity-account :is(#site-header,#site-menu,#site-footer) h2{text-transform:none}
