/**
 * Novamotion Cosmos - Cookie Consent v2.4.0
 * FINAL HIGH-CONTRAST, TECHNICAL GEOMETRY & FULL I18N
 * 
 * Target: Absolute legibility and architectural sobriety.
 */

#cc-main {
    /* --- CSS VARIABLES (Cosmos Grayscale High Contrast) --- */
    --cc-bg: #0a0a0a;
    --cc-text: #ffffff;

    /* Buttons (High Contrast Black/White) */
    --cc-btn-primary-bg: #ffffff;
    --cc-btn-primary-color: #000000;
    --cc-btn-primary-hover-bg: #e0e0e0;
    --cc-btn-primary-hover-color: #000000;

    --cc-btn-secondary-bg: #1a1a1a;
    --cc-btn-secondary-color: #ffffff;
    --cc-btn-secondary-hover-bg: #2a2a2a;
    --cc-btn-secondary-hover-color: #ffffff;

    /* Modals & Sections */
    --cc-modal-bg: #0a0a0a;
    --cc-modal-border: rgba(255, 255, 255, 0.25);
    --cc-cookie-category-block-bg: #0f0f0f;
    --cc-cookie-category-block-border: rgba(255, 255, 255, 0.18);
    --cc-cookie-category-block-hover-bg: #141414;
    --cc-cookie-category-block-hover-border: rgba(255, 255, 255, 0.28);

    /* Toggles (Technical Look) */
    --cc-toggle-on-bg: #ffffff;
    --cc-toggle-off-bg: #333333;
    --cc-toggle-on-knob-bg: #000000;
    --cc-toggle-off-knob-bg: #777777;

    /* Geometry */
    --cc-btn-border-radius: 4px;
    --cc-cookie-category-block-border-radius: 2px;

    /* Sovereign Overrides (Force Contrast) */
    --cc-toggle-readonly-bg: transparent !important;
}

/* --- THE LEGIBILITY KILLER: FORCING CONTRAST --- */

#cc-main .cc--root {
    color-scheme: dark !important;
}

/* Force Silver/Gray on ALL Descriptions (Accessibility Reset) */
#cc-main .cm__desc,
#cc-main .pm__section-desc,
#cc-main .pm__desc,
#cc-main .pm__section-desc-wrapper,
#cc-main .pm__section-desc-wrapper p,
#cc-main .pm__section-desc p {
    color: #cccccc !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Force White on ALL Titles */
#cc-main .cm__title,
#cc-main .pm__title,
#cc-main .pm__section-title,
#cc-main .cc__category-title {
    color: #ffffff !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

/* Links Visibility (Forcing White & Underline) */
#cc-main .cc__link,
#cc-main .cc__link-secondary,
#cc-main .pm__section-desc a,
#cc-main .cc__link *,
#cc-main .cc__link:active,
#cc-main .cc__link:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
    font-weight: 700 !important;
}

/* Footer Privacy Box */
#cc-main .cc__link-secondary {
    display: inline-block;
    background: rgba(255, 255, 255, 0.12) !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: 4px !important;
    font-size: 0.85rem !important;
    margin-top: 1.25rem !important;
    text-decoration: none !important;
}

/* --- TECHNICAL GEOMETRY REFINEMENT --- */

#cc-main .pm__section,
#cc-main .cc__category-item {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 2px !important;
    margin-bottom: 0.75rem !important;
    background: #111111 !important;
    overflow: hidden !important;
}

/* 1. Introductory Section (First element) - Clean and Transparent */
#cc-main .pm__section:first-child {
    border: none !important;
    background: transparent !important;
    margin-bottom: 1.5rem !important;
    /* Extra space before technical categories */
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Universal Anti-Pill & Radical Geometry (exclude toggles) */
#cc-main .pm__section,
#cc-main .pm__section--toggle,
#cc-main .pm__section-title,
#cc-main .cc__category-item,
#cc-main .cc__category-item-header,
#cc-main .pm__btn,
#cc-main .cm__btn {
    border-radius: 3px !important;
}

/* Toggles - Smooth Rounded Pill Style */
#cc-main .section__toggle,
#cc-main .section__toggle-wrapper {
    border-radius: 99px !important;
}

#cc-main .toggle__icon,
#cc-main .toggle__icon::after,
#cc-main .toggle__icon::before {
    border-radius: 99px !important;
    box-shadow: none !important;
}

/* Remove all library-default rounded borders on headers */
#cc-main .pm__section--toggle,
#cc-main .pm__section-header {
    border: none !important;
    background: transparent !important;
}

/* Separator Line when expanded */
#cc-main .pm__section-desc-wrapper {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: 1.25rem !important;
    /* Matching internal horizontal padding */
}

/* 2. Expansion Arrow Visibility (High Contrast Final) */
#cc-main .pm__section-arrow {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#cc-main .pm__section-arrow svg,
#cc-main .pm__section-arrow svg path {
    stroke: #ffffff !important;
    stroke-width: 5px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* --- BUTTONS & FOOTER --- */
#cc-main .cm__footer,
#cc-main .pm__footer {
    border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: #0a0a0a !important;
}

#cc-main .cc__btn--secondary,
#cc-main .pm__btn--secondary,
#cc-main .cm__btn--secondary {
    color: #ffffff !important;
}

/* Close Icon visibility */
#cc-main .pm__close-btn-icon {
    stroke: #ffffff !important;
    stroke-width: 2.5px !important;
}

/* Floating settings button (Fixed to screen) */
.cookie-settings-floating-btn {
    z-index: 999999 !important;
    background: #000000 !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    position: fixed !important;
    bottom: 2rem !important;
    right: 2rem !important;
    display: none;
    /* Initially hidden */
}

.cookie-settings-floating-btn.show {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    cursor: pointer;
}

.cookie-settings-floating-btn svg {
    width: 20px;
    height: 20px;
}