
/* =========================================================
   EL KAISSI — COMPLIANZ COOKIE CONSENT
   ========================================================= */


/* =========================================================
   1. ESSENTIAL — REMOVE SWITCH
   ========================================================= */

.cmplz-cookiebanner
.cmplz-category.cmplz-functional
.cmplz-always-active
.cmplz-banner-checkbox {
    display: none !important;
}


/* 2. ESSENTIAL — STATUS TEXT */

.cmplz-cookiebanner
.cmplz-category.cmplz-functional
.cmplz-always-active {
    color: #594349 !important;
}


/* =========================================================
   3. OPTIONAL SWITCH CONTAINER
   ========================================================= */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    width: 44px !important;
    height: 24px !important;
    flex: 0 0 44px !important;
    margin: 0 !important;
}


/* 4. INVISIBLE CHECKBOX — CLICKABLE AREA */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox
input.cmplz-consent-checkbox {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 44px !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    z-index: 2 !important;
    cursor: pointer !important;
}


/* 5. SWITCH LABEL */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox
label.cmplz-label {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 44px !important;
    height: 24px !important;
    min-width: 44px !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
}


/* =========================================================
   6. TRACK — DISABLED / OFF
   ========================================================= */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox
label.cmplz-label::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    box-sizing: border-box !important;

    top: 0 !important;
    left: 0 !important;
    width: 44px !important;
    height: 24px !important;
    padding: 0 !important;

    background: #F4F2F3 !important;
    border: 1px solid #897479 !important;
    border-radius: 999px !important;

    z-index: 0 !important;

    transition:
        border-color 0.2s ease,
        border-width 0.2s ease !important;
}


/* =========================================================
   7. BULLET — DISABLED / LEFT
   ========================================================= */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox
label.cmplz-label::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    box-sizing: border-box !important;

    top: 3px !important;
    left: 3px !important;
    width: 18px !important;
    height: 18px !important;

    background: #C6B6BA !important;
    border: none !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    transform: none !important;

    z-index: 1 !important;

    transition:
        left 0.2s ease,
        background-color 0.2s ease !important;
}


/* =========================================================
   8. TRACK — ENABLED / ON
   ========================================================= */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox
input.cmplz-consent-checkbox:checked
+ label.cmplz-label::before {
    background: #F4F2F3 !important;
    border: 1.5px solid #594349 !important;
}


/* =========================================================
   9. BULLET — ENABLED / RIGHT
   ========================================================= */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox
input.cmplz-consent-checkbox:checked
+ label.cmplz-label::after {
    left: 23px !important;
    background: #594349 !important;
}


/* =========================================================
   10. REMOVE DEFAULT BLUE FOCUS SHADOW
   ========================================================= */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox
input.cmplz-consent-checkbox:focus
+ label.cmplz-label::before {
    box-shadow: none !important;
}


/* 11. KEYBOARD FOCUS — BRAND COLOR */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category:not(.cmplz-functional)
.cmplz-banner-checkbox
input.cmplz-consent-checkbox:focus-visible
+ label.cmplz-label::before {
    box-shadow: 0 0 0 2px #594349 !important;
}


/* =========================================================
   12. CATEGORY DESCRIPTION — REMOVE TOP PADDING
   ========================================================= */

.cmplz-cookiebanner
.cmplz-categories
.cmplz-category
.cmplz-description {
    padding-top: 0 !important;
}


/* =========================================================
   13. CATEGORY CHEVRONS — FIXED POSITION
   ========================================================= */

/*
   Keep the icon container stationary.
   Only the two drawn lines rotate.
   This prevents shifting between collapsed
   and expanded states.
*/

.cmplz-cookiebanner
.cmplz-category-toggle
.cmplz-icon.cmplz-open {
    position: relative !important;
    display: block !important;

    width: 18px !important;
    height: 18px !important;

    color: #897479 !important;

    transform: none !important;
    transform-origin: center center !important;

    transition: color 0.2s ease !important;
}


/* Hide original thick SVG */

.cmplz-cookiebanner
.cmplz-category-toggle
.cmplz-icon.cmplz-open svg {
    display: none !important;
}


/* Draw two precisely positioned chevron lines */

.cmplz-cookiebanner
.cmplz-category-toggle
.cmplz-icon.cmplz-open::before,

.cmplz-cookiebanner
.cmplz-category-toggle
.cmplz-icon.cmplz-open::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;

    top: 8.5px !important;
    width: 11.3px !important;
    height: 1px !important;

    background: currentColor !important;
    border: none !important;
    border-radius: 0 !important;

    transform-origin: center center !important;
    pointer-events: none !important;

    transition:
        transform 0.2s ease,
        height 0.2s ease !important;
}


/* Left arm — collapsed */

.cmplz-cookiebanner
.cmplz-category-toggle
.cmplz-icon.cmplz-open::before {
    left: -0.65px !important;
    transform: rotate(45deg) !important;
}


/* Right arm — collapsed */

.cmplz-cookiebanner
.cmplz-category-toggle
.cmplz-icon.cmplz-open::after {
    left: 7.35px !important;
    transform: rotate(-45deg) !important;
}


/* =========================================================
   14. CHEVRONS — EXPANDED STATE
   ========================================================= */

/*
   Reverse the direction of each arm,
   without moving or rotating the container.
*/

/* Left arm — expanded */

.cmplz-cookiebanner
.cmplz-category-toggle[aria-expanded="true"]
.cmplz-icon.cmplz-open::before {
    transform: rotate(-45deg) !important;
}


/* Right arm — expanded */

.cmplz-cookiebanner
.cmplz-category-toggle[aria-expanded="true"]
.cmplz-icon.cmplz-open::after {
    transform: rotate(45deg) !important;
}


/* Explicitly prevent container rotation */

.cmplz-cookiebanner
.cmplz-category-toggle[aria-expanded="true"]
.cmplz-icon.cmplz-open,

.cmplz-cookiebanner
.cmplz-category[open]
.cmplz-icon.cmplz-open {
    transform: none !important;
}


/* =========================================================
   15. CHEVRONS — HOVER / TAP / FOCUS
   ========================================================= */

/* Darker color */

.cmplz-cookiebanner
.cmplz-category-toggle:hover
.cmplz-icon.cmplz-open,

.cmplz-cookiebanner
.cmplz-category-toggle:active
.cmplz-icon.cmplz-open,

.cmplz-cookiebanner
.cmplz-category-toggle:focus-visible
.cmplz-icon.cmplz-open,

.cmplz-cookiebanner
.cmplz-category-toggle[aria-expanded="true"]
.cmplz-icon.cmplz-open {
    color: #49363B !important;
}


/* Line thickness: 1px → 1.5px */

.cmplz-cookiebanner
.cmplz-category-toggle:hover
.cmplz-icon.cmplz-open::before,

.cmplz-cookiebanner
.cmplz-category-toggle:hover
.cmplz-icon.cmplz-open::after,

.cmplz-cookiebanner
.cmplz-category-toggle:active
.cmplz-icon.cmplz-open::before,

.cmplz-cookiebanner
.cmplz-category-toggle:active
.cmplz-icon.cmplz-open::after,

.cmplz-cookiebanner
.cmplz-category-toggle:focus-visible
.cmplz-icon.cmplz-open::before,

.cmplz-cookiebanner
.cmplz-category-toggle:focus-visible
.cmplz-icon.cmplz-open::after,

.cmplz-cookiebanner
.cmplz-category-toggle[aria-expanded="true"]
.cmplz-icon.cmplz-open::before,

.cmplz-cookiebanner
.cmplz-category-toggle[aria-expanded="true"]
.cmplz-icon.cmplz-open::after {
    height: 1.5px !important;
}


/* =========================================================
   16. CLOSE BUTTON — BASE
   ========================================================= */

.cmplz-cookiebanner
.cmplz-close {
    position: relative !important;

    width: 24px !important;
    height: 24px !important;

    color: #897479 !important;
    cursor: pointer !important;

    transition: color 0.2s ease !important;
}


/* Hide original thick SVG */

.cmplz-cookiebanner
.cmplz-close svg {
    display: none !important;
}


/* Draw 1px X */

.cmplz-cookiebanner
.cmplz-close::before,

.cmplz-cookiebanner
.cmplz-close::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;

    width: 20px !important;
    height: 1px !important;

    top: 50% !important;
    left: 50% !important;

    background: currentColor !important;
    border: none !important;
    border-radius: 0 !important;

    pointer-events: none !important;

    transition: height 0.2s ease !important;
}


/* First diagonal */

.cmplz-cookiebanner
.cmplz-close::before {
    transform:
        translate(-50%, -50%)
        rotate(45deg) !important;
}


/* Second diagonal */

.cmplz-cookiebanner
.cmplz-close::after {
    transform:
        translate(-50%, -50%)
        rotate(-45deg) !important;
}


/* =========================================================
   17. CLOSE BUTTON — HOVER / TAP / FOCUS
   ========================================================= */

.cmplz-cookiebanner
.cmplz-close:hover,

.cmplz-cookiebanner
.cmplz-close:active,

.cmplz-cookiebanner
.cmplz-close:focus-visible {
    color: #49363B !important;
}


/* Increase X thickness to 1.5px */

.cmplz-cookiebanner
.cmplz-close:hover::before,

.cmplz-cookiebanner
.cmplz-close:hover::after,

.cmplz-cookiebanner
.cmplz-close:active::before,

.cmplz-cookiebanner
.cmplz-close:active::after,

.cmplz-cookiebanner
.cmplz-close:focus-visible::before,

.cmplz-cookiebanner
.cmplz-close:focus-visible::after {
    height: 1.5px !important;
}


/* =========================================================
   18. KEYBOARD FOCUS — ICON CONTROLS
   ========================================================= */

.cmplz-cookiebanner
.cmplz-close:focus-visible,

.cmplz-cookiebanner
.cmplz-category-toggle:focus-visible {
    outline: 2px solid #594349 !important;
    outline-offset: 3px !important;
}


/* =========================================================
   19. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .cmplz-cookiebanner
    .cmplz-banner-checkbox
    label.cmplz-label::before,

    .cmplz-cookiebanner
    .cmplz-banner-checkbox
    label.cmplz-label::after,

    .cmplz-cookiebanner
    .cmplz-category-toggle
    .cmplz-icon.cmplz-open,

    .cmplz-cookiebanner
    .cmplz-category-toggle
    .cmplz-icon.cmplz-open::before,

    .cmplz-cookiebanner
    .cmplz-category-toggle
    .cmplz-icon.cmplz-open::after,

    .cmplz-cookiebanner
    .cmplz-close,

    .cmplz-cookiebanner
    .cmplz-close::before,

    .cmplz-cookiebanner
    .cmplz-close::after {
        transition: none !important;
    }
}



/* =========================================================
   EL KAISSI — COMPLIANZ BANNER HEADER
   ========================================================= */


/* DESKTOP / TABLET — MORE PROMINENT TITLE */

.cmplz-cookiebanner
.cmplz-header
.cmplz-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #594349 !important;
    text-align: center !important;
}


/* MOBILE — RESTORE TITLE AND PRESERVE CLOSE BUTTON */

@media (max-width: 767px) {

    .cmplz-cookiebanner
    .cmplz-header {
        grid-template-columns:
            24px minmax(0, 1fr) 24px !important;
        align-items: center !important;
			padding-bottom: 0 !important;
    }

    .cmplz-cookiebanner
    .cmplz-header
    .cmplz-title {
        display: block !important;
        grid-column: 2 !important;
        justify-self: center !important;

        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        color: #594349 !important;
        text-align: center !important;

        white-space: normal !important;
    }

    .cmplz-cookiebanner
    .cmplz-header
    .cmplz-close {
        grid-column: 3 !important;
        justify-self: end !important;
    }
}



/* EL KAISSI — COMPLIANZ HEADER-TO-BODY SPACING */

.cmplz-cookiebanner
.cmplz-divider.cmplz-divider-header {
    display: none !important;
}



/* EL KAISSI — Hide redundant Cookie Policy banner link */

.cmplz-cookiebanner
.cmplz-documents
li:has(> a.cookie-statement) {
    display: none !important;
}



/* Hide persistent Complianz Manage Consent tab */

#cmplz-manage-consent .cmplz-manage-consent {
    display: none !important;
}



/* =========================================================
   EL KAISSI — FORCE CONSENT BANNER BOTTOM RIGHT
   ========================================================= */

/* DESKTOP / TABLET */

#cmplz-cookiebanner-container .cmplz-cookiebanner {
    position: fixed !important;

    top: auto !important;
    left: auto !important;
    right: 10px !important;
    bottom: 10px !important;

    transform: none !important;
    -webkit-transform: none !important;

    margin: 0 !important;
}

/* MOBILE — FULL WIDTH, BOTTOM ALIGNED */

@media (max-width: 767px) {
    #cmplz-cookiebanner-container .cmplz-cookiebanner {
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;

        width: 100% !important;
        max-width: 100% !important;

        transform: none !important;
        -webkit-transform: none !important;
    }
}
