@font-face {
  font-family: "Maven Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/font/maven-pro/maven-pro-400.ttf") format("truetype");
}

@font-face {
  font-family: "Maven Pro";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/font/maven-pro/maven-pro-500.ttf") format("truetype");
}

@font-face {
  font-family: "Maven Pro";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/font/maven-pro/maven-pro-600.ttf") format("truetype");
}

@font-face {
  font-family: "Maven Pro";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/font/maven-pro/maven-pro-700.ttf") format("truetype");
}

@font-face {
  font-family: "Maven Pro";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/font/maven-pro/maven-pro-800.ttf") format("truetype");
}

@font-face {
  font-family: "Maven Pro";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/font/maven-pro/maven-pro-900.ttf") format("truetype");
}

/*
      Professional Grey UI Demo v65
      - keine Verläufe
      - echte Light/Dark-Tokens
      - dezente Graustufen
      - responsive Card/Grid-System
      - native HTML5-Controls, aber einheitlich gestylt
      - vollständige HTML5-Validation-Beispiele
    */

    :root {
      --mobile-floating-edge: max(12px, env(safe-area-inset-bottom));
      --mobile-floating-menu-offset: 74px;
      --scroll-top-mobile-bottom: calc(var(--mobile-floating-edge) + var(--mobile-floating-menu-offset));
      --scroll-top-mobile-bottom-above-menu: calc(var(--mobile-floating-edge) + var(--mobile-floating-menu-offset));
      --safe-edge: clamp(12px, 3vw, 24px);
      color-scheme: dark;
      --page: #171819;
      --page-2: #1a1b1d;
      --surface: #202124;
      --surface-2: #242528;
      --surface-3: #292a2d;
      --field: #1b1c1e;
      --field-hover: #202124;
      --text: #e6e7e9;
      --text-2: #c5c7cb;
      --muted: #92969d;
      --faint: #70757e;
      --border: #34363a;
      --border-2: #404348;
      --accent: #aeb7c7;
      --accent-2: #d5dbe5;
      --illustration-accent: #e38508;
      --focus-color: #2f6fb8;
      --focus: color-mix(in srgb, var(--focus-color) 34%, transparent);
      --focus-ring-soft: 0 0 0 4px var(--focus);
      --btn-primary-bg: #2f6fb8;
      --scroll-top-bg: #2f6fb8;
      --btn-primary-text: #ffffff;
      --btn-primary-border: #3a78bd;
      --switch-thumb-bg: var(--btn-primary-bg);
      --switch-thumb-checked-bg: var(--btn-primary-text);
      --range-slider-active: var(--btn-primary-bg);
      --range-slider-thumb: var(--btn-primary-bg);
      --range-slider-thumb-border: var(--btn-primary-border);
      --btn-neutral-bg: #2a2b2e;
      --btn-neutral-text: #e6e7e9;
      --btn-neutral-border: #41444a;
      --btn-hover-bg: #303236;
      --btn-quiet-bg: transparent;
      --btn-danger-bg: #302628;
      --btn-danger-text: #d7aaaa;
      --btn-danger-border: #574044;
      --danger: #d4a3a3;
      --warn: #d0bd8f;
      --ok: #9eb9a6;
      --shadow: 0 16px 45px rgba(0,0,0,.22);
      --shadow-soft: 0 8px 22px rgba(0,0,0,.16);
      --radius-xl: 18px;
      --radius-lg: 14px;
      --radius-md: 10px;
      --radius-sm: 8px;
      --h: 42px;
      --date-range-control-width: 280px;
      --max: 1240px;
      --page-inline-space: 32px;
      --page-inline-space-mobile: 22px;
      --page-container-top: clamp(28px, 5vw, 64px);
      --page-container-bottom: 96px;
      --page-section-gap: 18px;
      --page-backbar-gap: 16px;
      --font: "Maven Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    }

    html[data-theme="light"] {
      color-scheme: light;
      --page: #f4f4f4;
      --page-2: #eeeeee;
      --surface: #ffffff;
      --surface-2: #f8f8f8;
      --surface-3: #f1f1f1;
      --field: #ffffff;
      --field-hover: #f7f8fa;
      --text: #666666;
      --text-2: #666666;
      --muted: #666666;
      --faint: #888888;
      --border: #dddddd;
      --border-2: #c9c9c9;
      --accent: #4f5868;
      --accent-2: #242a33;
      --illustration-accent: #e38508;
      --focus-color: #2f6fb8;
      --focus: color-mix(in srgb, var(--focus-color) 34%, transparent);
      --btn-primary-bg: #2f6fb8;
      --btn-primary-text: #ffffff;
      --btn-primary-border: #2f6fb8;
      --switch-thumb-bg: var(--btn-primary-bg);
      --switch-thumb-checked-bg: var(--btn-primary-text);
      --range-slider-active: var(--btn-primary-bg);
      --range-slider-thumb: var(--btn-primary-bg);
      --range-slider-thumb-border: var(--btn-primary-border);
      --btn-neutral-bg: #f1f1f1;
      --btn-neutral-text: #1f2329;
      --btn-neutral-border: #cccccc;
      --btn-hover-bg: #e9e9e9;
      --btn-quiet-bg: transparent;
      --btn-danger-bg: #f6eeee;
      --btn-danger-text: #7e3838;
      --btn-danger-border: #d8b9b9;
      --danger: #8c4646;
      --warn: #80682a;
      --ok: #3f6d4b;
      --shadow: 0 16px 45px rgba(27,31,36,.10);
      --shadow-soft: 0 8px 22px rgba(27,31,36,.08);
    }

    * { box-sizing: border-box; }
    html { min-height: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
    body {
      margin: 0;
      min-height: 100vh;
      background: var(--page);
      color: var(--text);
      font-family: var(--font);
      font-size: 15px;
      line-height: 1.55;
    }

    img, svg { max-width: 100%; display: block; }


    /* v44: viewport/overflow hardening
       Prevent fixed mobile navigation animations, wide mockups or tables from
       creating a horizontal page scrollbar. */
    html,
    body {
      width: 100%;
      max-width: 100%;
      min-height: 100%;
      overflow-x: hidden;
    }

    @supports (overflow: clip) {
      html,
      body {
        overflow-x: clip;
      }
    }

    body {
      min-width: 0;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    .topbar,
    .business-footer {
      flex: 0 0 auto;
    }

    .ars-public-main {
      flex: 1 0 auto;
    }

    .topbar,
    .page,
    .footer,
    .layout,
    .main,
    .table-wrap,
    .media-hero,
    .offers-grid,
    .footer-inner {
      max-width: 100%;
      min-width: 0;
    }

    .table-wrap {
      overflow-x: auto;
      overscroll-behavior-inline: contain;
    }

    .mobile-drawer,
    .thumb-menu,
    .thumb-settings-panel,
    .thumb-content-backdrop {
      max-width: 100vw;
    }
    a { color: var(--accent-2); text-decoration-thickness: 1px; text-underline-offset: 3px; }
    code, kbd, pre { font-family: var(--mono); }
    ::selection { background: var(--accent); color: var(--page); }
    .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

    .page {
      width: min(var(--max), calc(100% - var(--page-inline-space)));
      max-width: var(--max);
      margin: 0 auto;
      padding: var(--page-container-top) 0 var(--page-container-bottom);
    }


@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}
