/*
 * COOKIE CONSENT ******************************************************************************************************
 */

.cc-window.cc-floating {
    border:none;
    font-family: "Source Sans Pro",Arial,sans-serif;
    z-index: 9999999998;
    font-size: 0.9rem!important;
    width:100%;
    height:100%;
    padding:0;
    background: rgba(0, 0, 0, 0.7)!important; /*  70% opaque */
    bottom:0;
    left:0;
}

#tecart-cookie-banner{
    z-index: 9999999999;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: .3rem;
    position: fixed;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: var(--color-background-light);
    padding:2rem;
    bottom: 0em;
    left: 0em;
}

.cc-btn, .cc-highlight .cc-btn.layout-1 {
    border-width: 1px;
    border-radius:6px;
    border-color: var(--color-kr-grey3);
    width:auto;
    display: inline-block;
    font-weight:600;
    padding: .5rem 1rem;
    text-transform: uppercase;
}

.cc-highlight .cc-btn.layout-1:hover {
    text-decoration: none;
}

.cc-btn:first-child {
    float:left;
    border-color: inherit;
}

.cc-highlight .cc-btn.layout-2 {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white)!important;
    float:left;
}

.cc-highlight .cc-btn.layout-2:hover {
    background-color: var(--color-secondary-hover);
    text-decoration:none;
}

.cc-compliance {
    display:block;
}

.cc-header {
    font-family: "Unica One",Arial,sans-serif;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 1rem;
    line-height: 1.25;
    color: var(--color-primary);
    font-size: 1.4em;
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 50px;
    max-width: 90%;
}

.cc-header img {
    width: 140px;
    height: 140px;
    flex-shrink: 0;
    object-fit: contain;
    object-position: center;
}

.cc-header-text {
    flex: 1;
    min-width: 0; /* Allows text to wrap properly */
}

.cc-window a, .tcb-settings-modal a {
    color: var(--color-primary);
}

.cc-revoke.cc-bottom {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    font-family: "Source Sans Pro",Arial,sans-serif;
    font-size:0.9rem;
    border-color: var(--color-secondary);
    background: var(--color-secondary);
    color: var(--color-white);
    text-decoration: none;
}

@media (min-width: 768px){
    #tecart-cookie-banner{
        width: auto;
        max-width: 700px;
        left: 1em;
        bottom: 1em;
    }
    .cc-window.cc-floating {
        max-width: 100%;
        width:  100%;
    }
    .cc-btn {
        float:right;
    }
}
/*
 * COOKIE CONSENT SETTINGS MODAL ***************************************************************************************
 */

.tcb-settings-modal {
    position: fixed;
    z-index: 99999999999;
    left: 0;
    bottom: 0;
    overflow: hidden;
    padding: 0 2em 2em 2em;
    color: var(--color-text-primary);
    background-color: var(--color-background-light);
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: .3rem;
    font-family: "Source Sans Pro",Arial,sans-serif;
}

.tcb-settings-modal-content p{
    color: var(--color-text-primary);
}

#tcb-settings-close-btn {
    color: var(--color-text-primary);
    text-align:right;
    font-size: 28px;
    margin-right:-15px;
    font-weight: bold;
    cursor:pointer;
}

@media (min-width: 768px){
    .tcb-settings-modal {
        width: auto;
        width: 700px;
        max-width: 700px;
        bottom: 25%;
        left: 1em;
    }
}
@media (min-width: 1024px){
    .tcb-settings-modal {
        left: 25%;
    }
}
/*
 * CATEGORIES TABS ******************************************************************************************************
 */

.tcb-catTabs {
    color: var(--color-text-primary);
    display: block;
    font-family: "Source Sans Pro",Arial,sans-serif;
    font-size:0.9em;
    margin: auto;
    position: relative;
    width: 100%;
    overflow:auto;
    max-height: 80vh;
}

.tcb-catTabs input[name="sections"] {
    left: -9999px;
    position: absolute;
    top: -9999px;
}

.tcb-catTabs section { display:block; }

.tcb-catTabs .tcb-tabs-cat-title .tcb-switch{position:absolute; right:10px; top:10px; }
.tcb-catTabs .tcb-tabs-cat-title p{font-weight:600; max-width:90%;}

.tcb-catTabs section label {
    background: var(--color-kr-grey3);
    border:1px solid var(--color-border-light);
    color: var(--color-white);
    cursor: pointer;
    display: block;
    padding: 5px 10px;
    position: relative;
}

.tcb-catTabs section article {
    display: none;
    padding: 5px 10px;
    top: 0;
    border:1px solid var(--color-border-light);
}

.tcb-catTabs input[name="sections"]:checked + label {
    background:transparent;
    border:1px solid var(--color-border-light);
    font-weight: 600;
    color: var(--color-kr-grey3);
    border-right:0;
}

.tcb-catTabs input[name="sections"]:checked ~ article {
    display: block;
}
.tcb-catTabs ul{margin:2rem 0 0 0; padding:0; list-style:none;}
.tcb-catTabs ul li{
    margin: 0 0 1rem 0;
    padding:40px 0 0 0;
    list-style:none;
    display:flex;
    flex-direction: row;
    justify-content: flex-start;
    position: relative;
}
.tcb-catTabs .tcb-script-title{
    width:100%;
    display:block;
    position:absolute;
    height:40px;
    top:0;
    left:0;
}
.tcb-catTabs .tcb-script-text{
     max-width:80%;
}
.tcb-catTabs .tcb-script-switch{
    margin-right:1rem;
}
.tcb-saveSettings .cc-btn{
    float:left;
}
.tcb-saveSettings .cc-btn.layout-1{
    background-color: var(--color-white);
    border-color: var(--color-white);
    color: var(--color-kr-grey3);
}
.tcb-saveSettings .cc-btn.layout-2{
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white);
}

@media (min-width: 768px){
    .tcb-catTabs {
        min-height:300px;
    }
    .tcb-catTabs section label {
        width:30%;
    }
    .tcb-catTabs section article {
        min-height:200px;
        position: absolute;
        left: 30%;
        width: 70%;
    }
}
@media (max-width: 767px){
    .tcb-catTabs section label {
        width:100%;
    }
    .tcb-catTabs section article {
        position: relative;
        left: 0;
        width:100%;
    }
}

/*
 * Toggle Switch Checkbox ************************************************************************************************
 */

/* The switch - the box around the slider */
.tcb-switch { position: relative; background:transparent!important; border:none!important; display: inline-block; width: 40px!important; height: 20px!important;}

/* Hide default HTML checkbox */
.tcb-switch input {  opacity: 0;    width: 0;    height: 0;}

/* The slider */
.tcb-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--color-border-light);
    -webkit-transition: .4s;
    transition: .4s;
}

.tcb-switch.disabled .tcb-slider { opacity: 0.2; background-color: red;  cursor: default;}

.tcb-slider:before {
    position: absolute;
    content: "";
    height: 15px;
    width: 15px;
    left: 3px;
    bottom: 3px;
    background-color: var(--color-white);
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .tcb-slider {  background-color: var(--color-secondary);}
input:checked + .tcb-slider:before {  -webkit-transform: translateX(19px);  -ms-transform: translateX(19px);  transform: translateX(19px);}

/* Revoke Button Styles */
.cc-revoke.cc-bottom.cc-left.cc-animate.cc-revoke-from-plugin {
    color: var(--color-white) !important;
    background-color: var(--color-secondary) !important;
    border-color: var(--color-secondary) !important;
}

/* Revoke Button Hover State */
.cc-revoke.cc-bottom.cc-left.cc-animate.cc-revoke-from-plugin:hover {
    background-color: var(--color-secondary-hover) !important;
    border-color: var(--color-secondary-hover) !important;
}

/* Revoke Button Active State */
.cc-revoke.cc-bottom.cc-left.cc-animate.cc-revoke-from-plugin:active {
    background-color: var(--color-secondary-hover) !important;
    border-color: var(--color-secondary-hover) !important;
    transform: translateY(1px);
}


/* Cookie Window Visibility Control */
.cc-window.cc-invisible {
    display: none !important;
}

/* Revoke Button Visibility Control */
.cc-revoke.show {
    display: block !important;
}

/* Button Transitions and Animations */
.cc-btn, .cc-revoke, .tcb-settings-modal {
    transition: all 0.3s ease;
}

/* Button Focus States */
.cc-btn:focus, .cc-revoke:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Button Active States */
.cc-btn:active {
    transform: translateY(1px);
}

/* Settings Modal Animation */
.tcb-settings-modal {
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    display: none;
}

.tcb-settings-modal.show {
    opacity: 1;
    transform: translateY(0);
    display: block;
}

/* Override dynamically generated color classes */
[class*="cc-color-override"] .cc-btn {
    background-color: var(--color-white) !important;
    color: var(--color-kr-grey3) !important;
    border-color: var(--color-kr-grey3) !important;
}

[class*="cc-color-override"] .cc-btn.cc-allow {
    background-color: var(--color-secondary) !important;
    color: var(--color-white) !important;
    border-color: var(--color-secondary) !important;
}

[class*="cc-color-override"] .cc-btn.cc-allow:hover {
    background-color: var(--color-secondary-hover) !important;
    border-color: var(--color-secondary-hover) !important;
}

[class*="cc-color-override"] .cc-btn.cc-setting {
    background-color: var(--color-white) !important;
    color: var(--color-kr-grey3) !important;
    border-color: var(--color-kr-grey3) !important;
}

[class*="cc-color-override"] .cc-btn.cc-setting:hover {
    background-color: var(--color-background-light) !important;
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

[class*="cc-color-override"] .cc-btn.cc-deny {
    background-color: var(--color-white) !important;
    color: var(--color-kr-grey3) !important;
    border-color: var(--color-kr-grey3) !important;
}

/* Override dynamically generated popup colors */
[class*="cc-color-override"] {
    background-color: var(--color-background-light) !important;
    color: var(--color-text-primary) !important;
    border-color: var(--color-text-primary) !important;
}

[class*="cc-color-override"] .cc-message {
    color: var(--color-text-primary) !important;
}

[class*="cc-color-override"] .cc-header {
    color: var(--color-primary) !important;
}
