:root {
--primary-color: #006eb7;
--primary-dark-color: #005e99;
--primary-light-color: #84d0ff;
--primary-darker-color: #004b7a;
--primary-color-text: #FFFFFF;
--primary-50: #E0F4FE;
--primary-100: #B1E2FB;
--primary-200: #7ECEF8;
--primary-300: #4ABBF4;
--primary-400: #21ADF2;
--primary-500: #009FEE;
--primary-600: #0091DF;
--primary-700: #007FCB;
--primary-800: #006EB7;
--primary-900: #024E95;
--shade-0: #ffffff;
--shade-50: #FAFAFA;
--shade-100: #F5F5F5;
--shade-200: #EEEEEE;
--shade-300: #E0E0E0;
--shade-400: #BDBDBD;
--shade-500: #9E9E9E;
--shade-600: #757575;
--shade-700: #616161;
--shade-800: #424242;
--shade-900: #212121;
--color-secondary: #006eb7;
--color-secondary-text: #ffffff;
--color-error: #EF4123;
--color-error-text: #555555;
--color-info: #0064dcb3;
--color-info-text: #ffffff;
--color-warn: #a60202;
--color-warn-text: #ffffff;
--color-help: #a855f7;
--color-help-text: #555555;
--color-success: #22c55e;
--color-success-text: #555555;
--text-color-secondary: color-mix(in srgb, var(--text-color), var(--surface-ground) 20%);
--text-color-on-light: #555555;
--text-color-on-dark: #ffffff;
--text-color: #555555;
--surface-0: #ffffff;
--surface-50: #FFFFFF;
--surface-100: #FAFAFA;
--surface-200: #F5F5F5;
--surface-300: #F0F0F0;
--surface-400: #DEDEDE;
--surface-500: #C2C2C2;
--surface-600: #979797;
--surface-700: #818181;
--surface-800: #606060;
--surface-900: #3C3C3C;
--bg-color-secondary: #ffffff;
--bg-color-body: #F5F5F5;
--surface-section: #ffffff;
--surface-b: #ffffff;
--surface-ground: #F5F5F5;
--surface-a: #F5F5F5;
--surface-border: #E0E0E0;
--surface-d: #E0E0E0;
--surface-hover: rgba(0,0,0,.04);
--surface-c: rgba(0,0,0,.04);
--maskbg: rgba(0,0,0,.4);
--surface-card: var(--shade-0);
--surface-e: var(--shade-0);
--surface-overlay: var(--shade-0);
--surface-f: var(--shade-0);
--focus-ring: 0 0 0 0.2rem var(--primary-light-color);
color-scheme: light;
}
:root.dark {
--admin-wrapper-background: var(--surface-ground) none;
--shop-wrapper-background: var(--surface-ground) none;
--primary-color: #006eb7;
--primary-dark-color: #005e99;
--primary-light-color: #84d0ff;
--primary-darker-color: #004b7a;
--primary-color-text: #FFFFFF;
--primary-50: #024E95;
--primary-100: #006EB7;
--primary-200: #007FCB;
--primary-300: #0091DF;
--primary-400: #009FEE;
--primary-500: #21ADF2;
--primary-600: #4ABBF4;
--primary-700: #7ECEF8;
--primary-800: #B1E2FB;
--primary-900: #E0F4FE;
--shade-0: #121212;
--shade-50: #050505;
--shade-100: #292929;
--shade-200: #464646;
--shade-300: #585858;
--shade-400: #7F7F7F;
--shade-500: #A1A1A1;
--shade-600: #C7C7C7;
--shade-700: #DBDBDB;
--shade-800: #EAEAEA;
--shade-900: #F6F6F6;
--color-secondary: #006eb7;
--color-secondary-text: #ffffff;
--color-error: #EF4123;
--color-error-text: #555555;
--color-info: #0064dcb3;
--color-info-text: #ffffff;
--color-warn: #a60202;
--color-warn-text: #ffffff;
--color-help: #a855f7;
--color-help-text: #555555;
--color-success: #22c55e;
--color-success-text: #555555;
--text-color-secondary: color-mix(in srgb, var(--text-color), var(--surface-ground) 20%);
--text-color-on-dark: #555555;
--text-color-on-light: #ffffff;
--text-color: #ffffff;
--surface-0: #121212;
--surface-50: #121212;
--surface-100: #323232;
--surface-200: #505050;
--surface-300: #636363;
--surface-400: #8A8A8A;
--surface-500: #ABABAB;
--surface-600: #D0D0D0;
--surface-700: #E2E2E2;
--surface-800: #EEEEEE;
--surface-900: #F7F7F7;
--bg-color-secondary: #000000;
--bg-color-body: #0a0a0a;
--surface-section: #121212;
--surface-b: #121212;
--surface-ground: #0a0a0a;
--surface-a: #0a0a0a;
--surface-border: #1f1f1f;
--surface-d: #1f1f1f;
--surface-hover: rgba(255,255,255,.04);
--surface-c: rgba(255,255,255,.04);
--maskbg: rgba(255,255,255,.4);
--surface-card: var(--shade-0);
--surface-e: var(--shade-0);
--surface-overlay: var(--shade-0);
--surface-f: var(--shade-0);
--focus-ring: 0 0 0 0.2rem var(--primary-light-color);
color-scheme: dark;
}
:root {
--font-family: FormularLight, sans-serif;
--font-weight: 400;
--font-size: 1rem;
--header-font-family: FormularMedium, sans-serif;
--header-font-weight: 300;
--header-font-size: 1.429rem;
--content-padding: 1rem;
--inline-spacing: .5rem;
--border-radius: 4px;
}
/* ==================================================
   GLOBAL – Nur Ecken abrunden
   Farben und Layout bleiben unverändert
   ================================================== */

/* Panels, Karten und Fenster */
.ui-panel,
.ui-card,
.ui-dialog,
.ui-overlaypanel,
.ui-confirm-dialog {
    border-radius: 22px !important;
}

/* Overflow nur gezielt bei echten Panels */
.ui-panel,
.ui-card,
.ui-dialog {
    overflow: hidden !important;
}

/* WICHTIG:
   .ui-widget-content NICHT global mit
   overflow:hidden versehen, da darunter
   auch Dropdown-Container liegen können.
*/
.ui-widget-content {
    border-radius: 22px !important;
}

/* Header der Panels/Dialoge */
.ui-panel-titlebar,
.ui-dialog-titlebar,
.ui-widget-header {
    border-radius: 22px 22px 0 0 !important;
}

/* Footer */
.ui-panel-footer,
.ui-dialog-footer {
    border-radius: 0 0 22px 22px !important;
}

/* Eingabefelder */
.ui-inputfield,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
textarea,
select,
.ui-selectonemenu {
    border-radius: 10px !important;
}

/* Buttons */
.ui-button,
.ui-linkbutton,
button {
    border-radius: 30px !important;
}

/* Checkboxen */
.ui-chkbox-box {
    border-radius: 6px !important;
}


/* ==================================================
   DROPDOWNS
   ================================================== */

/* PrimeFaces SelectOneMenu */
.ui-selectonemenu-panel {
    border-radius: 16px !important;

    /* Kein Abschneiden des Dropdown-Inhalts */
    overflow: visible !important;

    /* Dropdown über andere Elemente legen */
    z-index: 99999 !important;
}

/* PrimeFaces AutoComplete */
.ui-autocomplete-panel {
    border-radius: 16px !important;
    overflow: visible !important;
    z-index: 99999 !important;
}

/* Dropdown-Inhalt */
.ui-selectonemenu-items-wrapper {
    border-radius: 16px !important;
}

/* Falls das Dropdown innerhalb eines Containers liegt */
.ui-selectonemenu-panel,
.ui-autocomplete-panel {
    position: absolute;
}


/* ==================================================
   KALENDER
   ================================================== */

.ui-datepicker {
    border-radius: 20px !important;
    overflow: hidden !important;
    z-index: 99999 !important;
}

.ui-datepicker-header {
    border-radius: 20px 20px 0 0 !important;
}


/* ==================================================
   TABELLEN
   ================================================== */

.ui-datatable {
    border-radius: 18px !important;
    overflow: hidden !important;
}

.ui-datatable table {
    border-radius: 18px !important;
}


/* ==================================================
   MELDUNGSBOXEN
   ================================================== */

.ui-message,
.ui-messages,
.ui-staticmessage {
    border-radius: 14px !important;
}


/* ==================================================
   COOKIE-DIALOG
   ================================================== */

#notificationBar {
    width: 420px !important;
    max-width: 95vw !important;

    /*
     * WICHTIG:
     * Kein overflow:hidden, damit Dropdowns
     * über den Container hinausragen können.
     */
    overflow: visible !important;

    max-height: 100vh !important;

    border-radius: 24px 0 0 24px !important;
}


/* ==================================================
   COOKIE BANNER – Scrollen ermöglichen
   ================================================== */

#notificationBar .ui-sidebar-content,
#notificationBar_content {
    overflow-y: auto !important;

    /*
     * Dropdowns dürfen horizontal über den
     * Container hinausragen.
     */
    overflow-x: visible !important;

    max-height: calc(100vh - 40px) !important;

    -webkit-overflow-scrolling: touch;

    box-sizing: border-box;
}


/*
 * Cookie-Inhalt
 */
#notificationBar .ipcp-notification-cookie-content {
    overflow: visible !important;
}


/* ==================================================
   COOKIE BANNER REDESIGN
   ================================================== */

#notificationBar .ui-sidebar-content {
    padding: 24px !important;

    max-height: 100vh !important;

    box-sizing: border-box;
}


.ipcp-notification-cookie-content {
    padding: 0 !important;
    margin: 0 !important;
}


/* Beschreibung */
.ipcp-cookie-description {
    margin: 6px 0 22px 36px !important;

    line-height: 1.5 !important;

    color: #555555 !important;

    font-size: 14px !important;
}


/* Checkbox */
.ipcp-cookie-checkbox {
    margin-top: 18px !important;
}


/* ==================================================
   COOKIE BUTTON-BEREICH
   ================================================== */

.ipcp-notification-cookie-bottom {
    position: sticky !important;

    bottom: 0;

    z-index: 10;

    background: #ffffff;

    padding: 20px 0 8px 0 !important;

    margin-top: 20px;
}


/* Cookie Button */
.ipcp-notification-cookie-bottom .ui-button {
    width: 100% !important;

    height: 52px !important;

    border-radius: 28px !important;

    font-size: 20px !important;

    font-weight: 600 !important;
}


/* ==================================================
   ZUSÄTZLICHER SCHUTZ FÜR DROPDOWNS IM COOKIE-BANNER
   ================================================== */

#notificationBar .ui-selectonemenu-panel,
#notificationBar .ui-autocomplete-panel {
    z-index: 999999 !important;

    border-radius: 16px !important;

    overflow: visible !important;
}


/*
 * Verhindert, dass allgemeine PrimeFaces-
 * Content-Regeln das Dropdown abschneiden.
 */
#notificationBar .ui-selectonemenu-panel.ui-widget-content,
#notificationBar .ui-autocomplete-panel.ui-widget-content {
    overflow: visible !important;
}
