@charset "UTF-8";/* ==========================================================================   billware – Cookie-Banner als eigenes Stylesheet   Fuer Bereiche, die nicht das komplette Frontend-v2-Bundle laden, derzeit   das Partnerprogramm unter /affiliate. Tokens plus Banner, sonst nichts,   damit der Banner ueberall gleich aussieht und nur an einer Stelle gepflegt   wird. Die Tokens definieren ausschliesslich Variablen und den Webfont,   sie greifen nicht in das Layout des einbindenden Bereichs ein.   ========================================================================== *//* ==========================================================================   billware Frontend v2 – Design Tokens   Alles was Farbe, Abstand, Radius und Typografie definiert, steht hier.   Wird ausschliesslich vom no-auth Marketing-Frontend genutzt.   ========================================================================== *//* --------------------------------------------------------------------------   Webfont (self-hosted, kein Google-CDN)   -------------------------------------------------------------------------- */@font-face{font-family: "Open Sans";font-style: normal;font-weight: 400;font-display: swap;src: url("/resources/webfont/open-sans-v34-latin-ext_latin-regular.woff2") format("woff2"), url("/resources/webfont/open-sans-v34-latin-ext_latin-regular.woff") format("woff");}@font-face{font-family: "Open Sans";font-style: italic;font-weight: 400;font-display: swap;src: url("/resources/webfont/open-sans-v34-latin-ext_latin-italic.woff2") format("woff2"), url("/resources/webfont/open-sans-v34-latin-ext_latin-italic.woff") format("woff");}@font-face{font-family: "Open Sans";font-style: normal;font-weight: 600;font-display: swap;src: url("/resources/webfont/open-sans-v34-latin-ext_latin-600.woff2") format("woff2"), url("/resources/webfont/open-sans-v34-latin-ext_latin-600.woff") format("woff");}@font-face{font-family: "Open Sans";font-style: normal;font-weight: 700;font-display: swap;src: url("/resources/webfont/open-sans-v34-latin-ext_latin-700.woff2") format("woff2"), url("/resources/webfont/open-sans-v34-latin-ext_latin-700.woff") format("woff");}@font-face{font-family: "Open Sans";font-style: normal;font-weight: 800;font-display: swap;src: url("/resources/webfont/open-sans-v34-latin-ext_latin-800.woff2") format("woff2"), url("/resources/webfont/open-sans-v34-latin-ext_latin-800.woff") format("woff");}/* --------------------------------------------------------------------------   Custom Properties   -------------------------------------------------------------------------- */:root{/* Marke – Blau */  --bw-blue-50: #eff6fc;--bw-blue-100: #dceafa;--bw-blue-200: #bcd8f1;--bw-blue-400: #6ba7d9;--bw-blue-500: #468dcb;/* Markenblau */  --bw-blue-600: #2f7ab8;--bw-blue-700: #1f6395;/* Text/Links auf Weiss – AA */  --bw-blue-900: #123a59;/* Marke – Gruen */  --bw-green-50: #edf8ec;--bw-green-100: #d8f0d7;--bw-green-500: #4ab848;/* Markengruen */  --bw-green-600: #3aa038;--bw-green-700: #2c7d2b;/* Text auf Weiss – AA */  /* Neutral */  --bw-ink-900: #0e2233;--bw-ink-800: #163348;--bw-ink-700: #2a4459;--bw-ink-500: #56707f;--bw-ink-400: #7b93a2;--bw-ink-300: #a9bcc8;/* Flaechen */  --bw-surface: #ffffff;--bw-surface-2: #f6fafd;--bw-surface-3: #eaf2f9;--bw-surface-dark: #0e2233;--bw-line: #e0eaf2;--bw-line-strong: #c9dae7;/* Signal */  --bw-warn: #f9c851;--bw-danger: #ff5b5b;/* Statuscodes und Meldungen – Flaeche und Schrift immer im Paar */  --bw-ok-bg: #edf8ec;--bw-ok-fg: #2c7d2b;--bw-warn-bg: #fff4e2;--bw-warn-fg: #a45b06;--bw-error-bg: #ffecec;--bw-error-fg: #a92222;/* Partnerfarben */  --bw-woo: #7f54b3;--bw-shopify: #5e8e3e;/* Radius */  --bw-r-sm: 8px;--bw-r-md: 12px;--bw-r-lg: 18px;--bw-r-xl: 26px;--bw-r-pill: 999px;/* Schatten */  --bw-shadow-xs: 0 1px 2px rgba(14, 34, 51, 0.06);--bw-shadow-sm: 0 2px 8px rgba(14, 34, 51, 0.06);--bw-shadow-md: 0 10px 30px rgba(14, 34, 51, 0.08);--bw-shadow-lg: 0 24px 60px rgba(14, 34, 51, 0.14);/* Raster */  --bw-container: 1180px;--bw-container-narrow: 820px;--bw-gutter: 24px;/* Typografie */  --bw-font: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bw-fs-display: clamp(1.85rem, calc(1.3rem + 1.9vw), 2.5rem);--bw-fs-h2: clamp(1.5rem, calc(1.2rem + 1.35vw), 2.05rem);--bw-fs-h3: clamp(1.15rem, calc(1.05rem + 0.4vw), 1.35rem);--bw-fs-lead: clamp(1.05rem, calc(1rem + 0.3vw), 1.2rem);/* Navigation */  --bw-nav-h: 74px;color-scheme: light;}@media (max-width: 767px){:root{ --bw-gutter: 20px; --bw-nav-h: 64px;}}/* --------------------------------------------------------------------------   Dunkles Theme   Das gesamte Design haengt an Custom Properties – hier werden nur die   Farbwerte getauscht. Gesetzt wird das Attribut von einem kurzen Skript im   <head>, siehe ViewHelper::themeScript().   -------------------------------------------------------------------------- */:root[data-bw-theme=dark]{--bw-blue-50: #16303f;--bw-blue-100: #1c3d50;--bw-blue-200: #27536c;--bw-blue-400: #6fb3e4;--bw-blue-500: #61a9de;--bw-blue-600: #7cbcec;--bw-blue-700: #8ecbf5;--bw-blue-900: #b9e0ff;--bw-green-50: #14301c;--bw-green-100: #1b4326;--bw-green-500: #58c956;--bw-green-600: #3e9d3c;--bw-green-700: #79d977;--bw-ink-900: #eaf3fa;--bw-ink-800: #d7e6f1;--bw-ink-700: #bacddc;--bw-ink-500: #93aabc;--bw-ink-400: #7a92a5;--bw-ink-300: #62798b;--bw-surface: #0f1c27;--bw-surface-2: #16242f;--bw-surface-3: #1e2f3d;--bw-line: #24384a;--bw-line-strong: #375166;--bw-ok-bg: #14301c;--bw-ok-fg: #79d977;--bw-warn-bg: #3a2e12;--bw-warn-fg: #f0c268;--bw-error-bg: #3a1717;--bw-error-fg: #ff9b9b;/* Dunkle Abschnittsbaender heben sich sonst nicht mehr von der Seite ab. */  --bw-surface-dark: #08131c;--bw-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);--bw-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);--bw-shadow-md: 0 10px 30px rgba(0, 0, 0, 0.45);--bw-shadow-lg: 0 24px 60px rgba(0, 0, 0, 0.5);color-scheme: dark;}/* ==========================================================================   billware Frontend v2 – Cookie-Banner   Die Consent-Logik kommt unveraendert vom Anbieter (lokal ausgeliefert unter   /resources/framework/cookie-consent-4.1.0/). Hier wird ausschliesslich das   mitgelieferte Aussehen ueberschrieben, damit der Banner nicht wie ein   Fremdkoerper wirkt.   Alle Selektoren brauchen hohe Spezifitaet bzw. !important, weil das Widget   sein CSS zur Laufzeit injiziert.   ========================================================================== *//* --------------------------------------------------------------------------   Banner   -------------------------------------------------------------------------- *//* Der aeussere Container wird zum abgedunkelten Overlay, der innere zur Karte.   Zentriert, damit der Mausweg zu den Buttons kurz bleibt. */.freeprivacypolicy-com---nb.freeprivacypolicy-com---nb-simple{position: fixed !important;top: 0 !important;right: 0 !important;bottom: 0 !important;left: 0 !important;transform: none !important;display: flex !important;align-items: center !important;justify-content: center !important;max-width: none !important;width: auto !important;padding: var(--bw-gutter) !important;border: 0 !important;border-radius: 0 !important;background: rgba(14, 34, 51, 0.5) !important;backdrop-filter: blur(2px) !important;box-shadow: none !important;font-family: var(--bw-font) !important;color: var(--bw-ink-700) !important;}/* Das Widget blendet den Banner ueber diese Klasse aus. Ohne die Regel   gewinnt das "display: flex !important" von oben und der Banner bleibt   nach dem Klick stehen. */.freeprivacypolicy-com---nb.freeprivacypolicy-com---nb-simple.freeprivacypolicy-com---is-hidden{display: none !important;}.freeprivacypolicy-com---nb .cc-nb-main-container{width: 100% !important;max-width: 600px !important;max-height: calc(100vh - 2 * var(--bw-gutter)) !important;overflow-y: auto !important;padding: 28px 30px !important;border-radius: var(--bw-r-xl) !important;background: var(--bw-surface) !important;box-shadow: var(--bw-shadow-lg) !important;}@media (max-width: 599px){.freeprivacypolicy-com---nb .cc-nb-main-container{ padding: 22px !important;}}.freeprivacypolicy-com---nb .cc-nb-title{margin: 0 0 10px !important;font-family: var(--bw-font) !important;font-size: 1.1rem !important;font-weight: 800 !important;letter-spacing: -0.01em !important;color: var(--bw-ink-900) !important;}.freeprivacypolicy-com---nb .cc-nb-text{margin: 0 0 20px !important;font-family: var(--bw-font) !important;font-size: 0.9rem !important;line-height: 1.6 !important;color: var(--bw-ink-500) !important;}.freeprivacypolicy-com---nb .cc-nb-text-urls{margin-top: 14px !important;font-size: 0.82rem !important;}.freeprivacypolicy-com---nb .cc-nb-text-urls a{color: var(--bw-ink-500) !important;text-decoration: underline !important;text-underline-offset: 2px !important;}.freeprivacypolicy-com---nb .cc-nb-text-urls a:hover{color: var(--bw-blue-700) !important;}/* Buttons */.freeprivacypolicy-com---nb .cc-nb-buttons-container{display: flex !important;flex-wrap: wrap !important;align-items: center !important;gap: 10px !important;}/* Einstellungen rechts an den Rand, Zustimmen und Ablehnen bleiben zusammen */.freeprivacypolicy-com---nb.freeprivacypolicy-com---palette-light .cc-nb-changep{margin-left: auto !important;padding-right: 2px !important;padding-left: 2px !important;}@media (max-width: 559px){.freeprivacypolicy-com---nb.freeprivacypolicy-com---palette-light .cc-nb-changep{ margin-left: 0 !important;}}.freeprivacypolicy-com---nb .cc-nb-buttons-container button{margin: 0 !important;padding: 11px 20px !important;border: 1px solid transparent !important;border-radius: var(--bw-r-pill) !important;font-family: var(--bw-font) !important;font-size: 0.9rem !important;font-weight: 700 !important;line-height: 1.2 !important;cursor: pointer !important;transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;}.freeprivacypolicy-com---palette-light .cc-nb-okagree{background: var(--bw-green-600) !important;color: #fff !important;}.freeprivacypolicy-com---palette-light .cc-nb-okagree:hover{background: var(--bw-green-700) !important;}/* Ablehnen muss genauso leicht zu treffen sein wie Zustimmen *//* Ablehnen ist bewusst ruhiger gestaltet, behaelt aber Groesse, Position und   Klickflaeche des Zustimmen-Buttons – sonst waere die Einwilligung nach   DSGVO angreifbar (Ablehnen muss so einfach sein wie Zustimmen). */.freeprivacypolicy-com---palette-light .cc-nb-reject{background: transparent !important;border-color: var(--bw-line) !important;color: var(--bw-ink-500) !important;}.freeprivacypolicy-com---palette-light .cc-nb-reject:hover{border-color: var(--bw-line-strong) !important;background: var(--bw-surface-2) !important;color: var(--bw-ink-800) !important;}.freeprivacypolicy-com---palette-light .cc-nb-changep{background: transparent !important;border-color: transparent !important;color: var(--bw-ink-500) !important;text-decoration: underline !important;text-underline-offset: 3px !important;}.freeprivacypolicy-com---palette-light .cc-nb-changep:hover{color: var(--bw-blue-700) !important;}/* --------------------------------------------------------------------------   Einstellungen (Preferences Center)   -------------------------------------------------------------------------- */.freeprivacypolicy-com---pc-overlay{background: rgba(14, 34, 51, 0.55) !important;backdrop-filter: blur(3px) !important;}.freeprivacypolicy-com---pc-dialog .cc-pc-container{border: 1px solid var(--bw-line) !important;border-radius: var(--bw-r-xl) !important;background: var(--bw-surface) !important;box-shadow: var(--bw-shadow-lg) !important;font-family: var(--bw-font) !important;overflow: hidden !important;}.freeprivacypolicy-com---pc-dialog .cc-pc-head{padding: 22px 26px !important;border-bottom: 1px solid var(--bw-line) !important;background: var(--bw-surface-2) !important;}.freeprivacypolicy-com---pc-dialog .cc-pc-head-title-headline{font-family: var(--bw-font) !important;font-size: 1.1rem !important;font-weight: 800 !important;color: var(--bw-ink-900) !important;}.freeprivacypolicy-com---pc-dialog .cc-pc-head-title-text{font-size: 0.86rem !important;color: var(--bw-ink-500) !important;}.freeprivacypolicy-com---pc-dialog .cc-pc-head-close{background: none !important;border: 0 !important;font-size: 1.4rem !important;line-height: 1 !important;color: var(--bw-ink-400) !important;cursor: pointer !important;}.freeprivacypolicy-com---pc-dialog .cc-pc-head-close:hover{color: var(--bw-ink-900) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-body{background: var(--bw-surface) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-body-tabs{background: var(--bw-surface-2) !important;border-right: 1px solid var(--bw-line) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-body-tabs-item{background: transparent !important;border-bottom: 1px solid var(--bw-line) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-body-tabs-item-link{font-family: var(--bw-font) !important;font-size: 0.9rem !important;font-weight: 600 !important;color: var(--bw-ink-700) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-body-tabs-item[active=true]{background: var(--bw-surface) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-body-tabs-item[active=true] .cc-cp-body-tabs-item-link{color: var(--bw-blue-700) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-body-content-entry-title{font-family: var(--bw-font) !important;font-size: 1rem !important;font-weight: 700 !important;color: var(--bw-ink-900) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-body-content-entry-text{font-size: 0.88rem !important;line-height: 1.6 !important;color: var(--bw-ink-500) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-foot{padding: 18px 26px !important;border-top: 1px solid var(--bw-line) !important;background: var(--bw-surface-2) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-foot-byline{font-size: 0.76rem !important;color: var(--bw-ink-400) !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-foot-save{padding: 11px 22px !important;border: 0 !important;border-radius: var(--bw-r-pill) !important;background: var(--bw-green-600) !important;font-family: var(--bw-font) !important;font-size: 0.9rem !important;font-weight: 700 !important;color: #fff !important;cursor: pointer !important;}.freeprivacypolicy-com---pc-dialog .cc-cp-foot-save:hover{background: var(--bw-green-700) !important;}.freeprivacypolicy-com---pc-dialog .cc-custom-checkbox input[type=checkbox]{accent-color: var(--bw-green-600) !important;}