


#consent-banner,
#consent-banner *,
#consent-overlay,
.consent-settings-modal,
.consent-settings-modal *,
.consent-settings-modal-overlay,
#consent-revoke-button {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}


#consent-banner {
    
    position: fixed ;
    z-index: 999999 ;
    font-family: inherit ;

    
    pointer-events: auto ;

    
    overflow: visible ;

    
    max-height: 100vh ;
    overflow-y: scroll ;

    
    text-align: left ;
    direction: ltr ;
    unicode-bidi: normal ;

    
    -webkit-font-smoothing: antialiased ;
    -moz-osx-font-smoothing: grayscale ;
}


.consent-banner-inner {
    width: 100% ;
    position: relative ;
}


#consent-banner .consent-title,
#consent-banner .consent-text,
#consent-banner .consent-extended-text,
#consent-banner .consent-category-name {
    overflow-wrap: anywhere ;
    word-break: break-word ;
}


#consent-banner .consent-banner-inner,
#consent-banner .consent-text {
    scrollbar-width: thin ;
}

#consent-banner .consent-banner-inner::-webkit-scrollbar,
#consent-banner .consent-text::-webkit-scrollbar {
    width: 8px ;
}

#consent-banner .consent-banner-inner::-webkit-scrollbar-thumb,
#consent-banner .consent-text::-webkit-scrollbar-thumb {
    background-color: rgba(128, 128, 128, 0.5) ;
    border-radius: 4px ;
}


#consent-banner a,
.consent-settings-modal a {
    color: inherit !important;
    text-decoration: inherit !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#consent-banner a:hover,
#consent-banner a:focus,
#consent-banner a:active,
#consent-banner a:visited,
.consent-settings-modal a:hover,
.consent-settings-modal a:focus,
.consent-settings-modal a:active,
.consent-settings-modal a:visited {
    color: inherit !important;
    text-decoration: inherit !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    outline: 2px solid currentColor ;
    outline-offset: 2px ;
}


#consent-banner button,
.consent-settings-modal button,
#consent-revoke-button {
    box-sizing: border-box !important;
    line-height: normal !important;
    height: auto !important;

    
    outline: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;

    
    cursor: pointer !important;

    
    -webkit-user-select: none ;
    -moz-user-select: none ;
    -ms-user-select: none ;
    user-select: none ;

    
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}


#consent-banner button::before,
#consent-banner button::after,
.consent-settings-modal button::before,
.consent-settings-modal button::after,
#consent-revoke-button::before,
#consent-revoke-button::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
}


#consent-banner button:hover,
.consent-settings-modal button:hover,
#consent-revoke-button:hover {
    opacity: 0.9 ;
    transform: translateY(-1px) ;
    background-image: none !important;
    box-shadow: none !important;
}

#consent-banner button:active,
.consent-settings-modal button:active,
#consent-revoke-button:active {
    transform: translateY(0) ;
}

#consent-banner button:focus,
.consent-settings-modal button:focus,
#consent-revoke-button:focus {
    outline: 2px solid currentColor ;
    outline-offset: 2px ;
}


#consent-banner h1,
#consent-banner h2,
#consent-banner h3,
#consent-banner h4,
#consent-banner h5,
#consent-banner h6,
.consent-settings-modal h1,
.consent-settings-modal h2,
.consent-settings-modal h3,
.consent-settings-modal h4,
.consent-settings-modal h5,
.consent-settings-modal h6 {
    font-family: inherit !important;
    font-size: inherit ;
    font-weight: inherit ;
    line-height: inherit ;
    color: inherit ;
    margin: inherit ;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    text-transform: none ;
    letter-spacing: normal ;
}


#consent-overlay {
    
    position: fixed ;
    pointer-events: none ;
    z-index: 999998 ;
}


@media (max-width: 768px) {
    #consent-banner {
        
        max-width: calc(100vw - 40px) ;
        max-height: calc(100vh - 40px) ;
    }

    
    #consent-banner .consent-buttons {
        flex-direction: column ;
        gap: 8px ;
    }

    #consent-banner button {
        width: 100% ;
        text-align: center ;
    }

    
    #consent-banner .consent-banner-inner {
        flex-direction: column ;
        text-align: center ;
    }

    
    .consent-settings-modal .consent-modal-footer {
        flex-direction: column !important;
    }

    .consent-settings-modal .consent-modal-footer button {
        width: 100% !important;
    }

    
    #consent-banner .consent-banner-content {
        width: 100% ;
        overflow-y: auto ;
    }

}


@media (max-width: 480px) {
    #consent-banner {
        font-size: 13px ;
        line-height: 1.4 ;
    }
}


@media print {
    #consent-banner,
    #consent-overlay {
        display: none ;
    }
}


@media (prefers-contrast: high) {
    #consent-banner {
        border: 2px solid currentColor ;
    }

    #consent-banner button {
        border: 2px solid currentColor ;
    }
}


@media (prefers-reduced-motion: reduce) {
    #consent-banner,
    #consent-banner *,
    #consent-overlay {
        animation-duration: 0.01ms ;
        animation-iteration-count: 1 ;
        transition-duration: 0.01ms ;
        scroll-behavior: auto ;
    }
}


@media (prefers-color-scheme: dark) {
    #consent-banner {
        color: #ffffff ;
        background-color: #2d3748 ;
    }

    
    #consent-banner[style*="background-color: #ffffff"] {
        background-color: #2d3748 ;
    }

    #consent-banner[style*="color: #333333"] {
        color: #ffffff ;
    }
}




.consent-turnstile-modal-overlay {
    position: fixed ;
    top: 0 ;
    left: 0 ;
    width: 100% ;
    height: 100% ;
    background: rgba(0, 0, 0, 0.6) ;
    z-index: 1000000 ;
    opacity: 0 ;
    transition: opacity 0.2s ease ;
}

.consent-turnstile-modal-overlay.consent-turnstile-modal-visible {
    opacity: 1 ;
}

.consent-turnstile-modal {
    position: fixed ;
    top: 50% ;
    left: 50% ;
    transform: translate(-50%, -50%) scale(0.95) ;
    width: 90% ;
    max-width: 420px ;
    background: #ffffff ;
    color: #333333 ;
    border-radius: 8px ;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3) ;
    padding: 24px ;
    z-index: 1000001 ;
    opacity: 0 ;
    transition: opacity 0.2s ease, transform 0.2s ease ;
    box-sizing: border-box ;
}

.consent-turnstile-modal.consent-turnstile-modal-visible {
    opacity: 1 ;
    transform: translate(-50%, -50%) scale(1) ;
}

.consent-turnstile-modal-title {
    margin: 0 0 12px 0 ;
    font-size: 18px ;
    font-weight: 600 ;
}

.consent-turnstile-modal-text {
    margin: 0 0 16px 0 ;
    font-size: 14px ;
    line-height: 1.5 ;
}

.consent-turnstile-modal-status {
    font-size: 13px ;
    color: #666 ;
    min-height: 18px ;
    margin-bottom: 8px ;
}

.consent-turnstile-modal-widget {
    display: flex ;
    justify-content: center ;
    margin-bottom: 8px ;
}

.consent-turnstile-modal-actions {
    display: flex ;
    justify-content: flex-end ;
    gap: 12px ;
    margin-top: 8px ;
}

.consent-turnstile-modal-btn {
    border: none ;
    padding: 10px 18px ;
    font-size: 14px ;
    font-weight: 600 ;
    border-radius: 4px ;
    cursor: pointer ;
    white-space: nowrap ;
}

.consent-turnstile-modal-btn-primary {
    background: #0073aa ;
    color: #ffffff ;
}

.consent-turnstile-modal-btn-secondary {
    background: transparent ;
    color: #666 ;
}


#consent-banner button:focus:not(:focus-visible) {
    outline: none ;
}

#consent-banner button:focus-visible {
    outline: 2px solid currentColor ;
    outline-offset: 2px ;
}


