/* ==== ALARM COOKIE BANNER STYLING ==== */

/* CSS Variables Override */
:root {
    --cmplz_banner_background_color: #C5F7BA !important;
    --cmplz_text_color: #000000 !important;
    --cmplz_button_accept_background_color: #FBFAF6 !important;
    --cmplz_button_accept_text_color: #000000 !important;
    --cmplz_button_deny_background_color: #FBFAF6 !important;
    --cmplz_button_deny_text_color: #000000 !important;
    --cmplz_button_settings_background_color: #FBFAF6 !important;
    --cmplz_button_settings_text_color: #000000 !important;
}

/* Banner Container */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
    background-color: #C5F7BA !important;
    border-radius: 3px !important;
    font-family: "FKGroteskAlarm", Helvetica, Arial, system-ui, sans-serif !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12) !important;
    max-width: 1920px !important;
    /* For fixed positioning: use left/right with margin auto for centering */
    left: 20px !important;
    right: 20px !important;
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    /* CRITICAL: Override Complianz's translateX(-50%) that causes off-screen at smaller viewports */
    transform: none !important;
}

/* Title Styling */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
    color: #000000 !important;
    font-weight: 600 !important;
    font-family: inherit !important;
}

/* Message Styling - reduced by ~25% */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
    color: #000000 !important;
    font-weight: 400 !important;
    font-size: 0.7rem !important;
    line-height: 1.4 !important;
}

/* Category titles - keep readable */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories summary,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category summary {
    font-size: 0.85rem !important;
}

/* Category descriptions - reduced */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category {
    font-size: 0.7rem !important;
    line-height: 1.4 !important;
}

/* Message Links */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message a:not(.cmplz-btn) {
    color: #000000 !important;
    text-decoration: underline !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message a:not(.cmplz-btn):hover {
    color: #FF1346 !important;
}

/* Button Base Styling - Pill shaped with black outline */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    background-color: #FBFAF6 !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    border-radius: 9999px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    text-decoration: none !important;
    text-align: center !important;
    padding: 0.5rem 1rem !important;
    transition: all 0.15s ease !important;
}

/* Button Hover States */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover {
    background-color: #000000 !important;
    color: #FBFAF6 !important;
    text-decoration: none !important;
}

/* Button Focus State */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus {
    outline: 1px solid #000000 !important;
    outline-offset: 1px !important;
}

/* Button Active State */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:active {
    background-color: #646462 !important;
    color: #FBFAF6 !important;
}

/* Accept button - Now outlined like other buttons (not filled) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
    background-color: #FBFAF6 !important;
    color: #000000 !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
    background-color: #000000 !important;
    color: #FBFAF6 !important;
}

/* Spravovat možnosti button - Inverted (filled black) - high specificity */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons button.cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons a.cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons a.cmplz-btn.cmplz-manage-options {
    background-color: #000000 !important;
    color: #FBFAF6 !important;
    border-color: #000000 !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options:hover {
    background-color: #FF1346 !important;
    color: #FFFFFF !important;
    border-color: #FF1346 !important;
}

/* Toggle switches */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category-toggle:checked {
    background-color: #C5F7BA !important;
    border-color: #000000 !important;
}

/* ==== FOOTER LINKS VISIBILITY AND POSITIONING ==== */

/* Hide these footer links on all sizes */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a.cookie-statement:not(.cmplz-manage-vendors):not(.cmplz-manage-third-parties):not(.cmplz-manage-options),
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a.privacy-statement,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a.impressum,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a.cmplz-manage-options,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a.cmplz-manage-third-parties {
    display: none !important;
}

/* Style visible links container - position in bottom right */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links {
    position: absolute !important;
    bottom: 0.75rem !important;
    right: 1rem !important;
    text-align: right !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Style the visible links (Správa prodejců, Přečtěte si více) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a {
    color: #000000 !important;
    text-decoration: underline !important;
    font-size: 0.7rem !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a:hover {
    color: #FF1346 !important;
}

/* ==== DESKTOP BREAKPOINT (Above 1280px) ==== */
@media screen and (min-width: 1281px) {

    /* Center banner at widths above 1920px */
    #cmplz-cookiebanner-container .cmplz-cookiebanner {
        max-width: 1920px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Fix text column width (ideal at 1600px state: ~565px) */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
        max-width: 565px !important;
        flex-shrink: 0 !important;
    }

    /* Categories column - flexible to fit remaining width */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories {
        flex-grow: 1 !important;
    }

    /* Footer links - stacked vertically, centered horizontally, matching buttons */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links {
        position: absolute !important;
        bottom: 0.75rem !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links ul {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 0.25rem !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links ul li {
        width: 250px !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a {
        display: block !important;
        width: 100% !important;
        text-align: right !important;
        font-size: 0.6rem !important;
    }
}

/* Responsive - Mobile */
@media screen and (max-width: 768px) {
    #cmplz-cookiebanner-container .cmplz-cookiebanner {
        padding: 0.75rem !important;
        padding-bottom: 1rem !important;
        max-height: 90vh !important;
    }

    /* Hide header/title on mobile to save space */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
        display: none !important;
    }

    /* Content spans closer to top with small gap */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
        margin-top: 0 !important;
    }

    /* Fixed height message container - content adapts to width */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
        max-height: 80vh !important;
        overflow-y: auto !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
        font-size: 0.65rem !important;
        line-height: 1.3 !important;
        padding: 10px !important;
    }

    /* Category titles smaller */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories summary,
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category summary {
        font-size: 0.7rem !important;
    }

    /* Category descriptions smaller */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories,
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category {
        font-size: 0.6rem !important;
        line-height: 1.3 !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
        width: 100% !important;
        text-align: center !important;
        font-size: 0.75rem !important;
        padding: 0.4rem 0.8rem !important;
    }

    /* Hide footer links on mobile to prevent overlap */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links {
        display: none !important;
    }
}

/* ==== TABLET BREAKPOINT 1024-1280px ==== */
@media screen and (min-width: 1024px) and (max-width: 1280px) {

    /* Reset the banner's grid to block layout */
    /* CRITICAL: :not(.cmplz-dismissed) ensures we don't override the hiding when user has consented */
    #cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-dismissed),
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom:not(.cmplz-dismissed),
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-center:not(.cmplz-dismissed) {
        display: block !important;
        grid-template-columns: none !important;
        max-width: 95% !important;
        width: 95% !important;
        padding-bottom: 2.5rem !important;
    }

    /* Title spacing - center in gap between top border and content */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
        margin-bottom: 1rem !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
        margin-bottom: 0 !important;
    }

    /* Two-column layout inside .cmplz-body - full width columns */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 1.5rem !important;
        align-items: start !important;
    }

    /* Override Complianz default width: 49% on body children */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body>div,
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-body>div {
        width: 100% !important;
    }

    /* Message in left column */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-message {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    /* Categories in right column */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-categories,
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-categories.cmplz-tcf {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    /* Buttons horizontal, spanning width with top margin for spacing */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons,
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: stretch !important;
        align-items: center !important;
        gap: 0.75rem !important;
        width: 100% !important;
        grid-column: auto !important;
        grid-row: auto !important;
        margin-top: 1.5rem !important;
    }

    /* Buttons span available width equally */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn,
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons .cmplz-btn {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
    }
}

/* ==== TABLET BREAKPOINT 768-1023px ==== */
@media screen and (min-width: 769px) and (max-width: 1023px) {

    /* Reset the banner's grid to block layout */
    /* CRITICAL: :not(.cmplz-dismissed) ensures we don't override the hiding when user has consented */
    #cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-dismissed),
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom:not(.cmplz-dismissed),
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-center:not(.cmplz-dismissed) {
        display: block !important;
        grid-template-columns: none !important;
        max-width: 95% !important;
        width: 95% !important;
        padding-bottom: 2.5rem !important;
    }

    /* Title spacing - center in gap between top border and content */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
        margin-bottom: 1rem !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
        margin-bottom: 0 !important;
    }

    /* Two-column layout inside .cmplz-body - side by side */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
        align-items: start !important;
    }

    /* Override Complianz default width: 49% on body children */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body>div,
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-body>div {
        width: 100% !important;
    }

    /* Message in left column */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-message {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    /* Categories in right column */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-categories,
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-categories.cmplz-tcf {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    /* Buttons horizontal, spanning full width with flexible sizing */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons,
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: stretch !important;
        align-items: center !important;
        gap: 0.75rem !important;
        width: 100% !important;
        grid-column: auto !important;
        grid-row: auto !important;
        margin-top: 1.5rem !important;
    }

    /* Buttons span available width equally */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn,
    #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons .cmplz-btn {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
    }
}

/* ==== NON-SEZNAM VISITOR MARKETING HIDING ==== */

/* Hide entire marketing category container (both details and div versions)
body.non-seznam-visitor .cmplz-category.cmplz-marketing,
body.non-seznam-visitor details.cmplz-category.cmplz-marketing,
body.non-seznam-visitor div.cmplz-category.cmplz-marketing {
    display: none !important;
}
*/

/* Hide marketing checkbox specifically 
body.non-seznam-visitor #cmplz-marketing-optin,
body.non-seznam-visitor .cmplz-consent-checkbox.cmplz-marketing,
body.non-seznam-visitor label[for="cmplz-marketing-optin"] {
    display: none !important;
}
*/
/* Hide marketing description
body.non-seznam-visitor .cmplz-description-marketing {
    display: none !important;
}
*/

/* Hide TCF marketing containers
body.non-seznam-visitor #cmplz-tcf-marketing-purpose_consents-container,
body.non-seznam-visitor #cmplz-tcf-marketing-purpose_legitimate_interests-container {
    display: none !important;
}
*/

/* Hide any element with data-category="marketing" or data-category="cmplz_marketing" */
/*body.non-seznam-visitor [data-category="marketing"],
body.non-seznam-visitor [data-category="cmplz_marketing"] {
    display: none !important;
}
*/

/* Hide marketing toggle in banner
body.non-seznam-visitor .cmplz-toggle-marketing,
body.non-seznam-visitor .cmplz-marketing-toggle,
body.non-seznam-visitor .cmplz-banner-checkbox:has(#cmplz-marketing-optin) {
    display: none !important;
}
*/

/* Also hide marketing-related items in manage consent modal */
/*
body.non-seznam-visitor .cmplz-manage-consent .cmplz-category.cmplz-marketing,
body.non-seznam-visitor .cmplz-manage-consent [data-category="marketing"],
body.non-seznam-visitor .cmplz-manage-consent [data-category="cmplz_marketing"] {
    display: none !important;
}
*/