/* Cookiebot Cybot UI — overrides only. Theme global `a` uses gradient + transparent fill (global.css); reset inside #CybotCookiebotDialog. */

#CybotCookiebotDialog > div[style*="font-size: 100px"],
#CybotCookiebotDialog > div[style*="font-size:100px"] {
    display: none !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogPoweredbyImage,
#CybotCookiebotDialogPoweredbyImage,
#CybotCookiebotDialog #CybotCookiebotDialogPoweredbyLink {
    display: none !important;
}

#CybotCookiebotDialog {
    font-family: inherit !important;
    color: var(--near-black, #00172a) !important;
    background: linear-gradient(180deg, #f7fcff 0%, var(--light-blue, #edfaff) 45%, #e3f3fb 100%) !important;
    border-radius: 12px 12px 0 0 !important;
    border-top: 3px solid var(--bright-blue, #0071ce) !important;
    box-shadow: 0 -6px 24px rgba(0, 40, 72, 0.14) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper {
    background: transparent !important;
    border-radius: inherit !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: clip !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBody,
#CybotCookiebotDialog .CybotCookiebotDialogBodyBottomWrapper {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogFooter {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogTabContent,
#CybotCookiebotDialog #CybotCookiebotDialogTabContentDetails {
    margin-right: 0 !important;
    padding-right: 6px !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogTabContent .CybotCookiebotScrollArea,
#CybotCookiebotDialog #CybotCookiebotDialogTabContentDetails .CybotCookiebotScrollArea {
    margin-right: 0 !important;
    padding-right: 4px !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtons {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsRow,
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsSelectPane,
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsTable {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Toggle row: sibling wrappers are inside #CybotCookiebotDialogBodyFieldsetInnerContainer */
#CybotCookiebotDialog #CybotCookiebotDialogBodyFieldsetInnerContainer {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    gap: clamp(8px, 2vw, 18px) !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsSelectPane > div[role="group"] {
    min-width: 0 !important;
    max-width: 100% !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsRow {
    flex-wrap: nowrap !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonWrapper,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSliderWrapper,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSliderWrapperFullWidth {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
}

/* Only the consent-category toggles should stay on one line; “Do not sell…” lives in #CybotCookiebotDialogBodyButtons */
#CybotCookiebotDialog #CybotCookiebotDialogBodyFieldsetInnerContainer .CybotCookiebotDialogBodyLevelButtonWrapper {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyContentControlsWrapper,
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyLevelButtonWrapper {
    white-space: normal !important;
    max-width: 100% !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyLevelButtonLabel,
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyLevelButtonDescription,
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons strong.CybotCookiebotDialogBodyLevelButtonDescription {
    white-space: normal !important;
    color: var(--dark-gray, #231f20) !important;
    -webkit-text-fill-color: var(--dark-gray, #231f20) !important;
    background: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
}

/* “Do not sell…”: one row — copy left, switch right (DOM is switch then label; row-reverse flips visually) */
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons > .CybotCookiebotDialogBodyContentControlsWrapper {
    display: flex !important;
    flex-direction: row-reverse !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px 16px !important;
    width: 100% !important;
    min-width: 0 !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons > .CybotCookiebotDialogBodyContentControlsWrapper > div[role="group"] {
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons > .CybotCookiebotDialogBodyContentControlsWrapper > .CybotCookiebotDialogBodyLevelButtonLabel {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    text-align: left !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyLevelButtonSliderWrapperFullWidth {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
}

@media (min-width: 768px) {
    #CybotCookiebotDialog {
        box-shadow: 0 -4px 20px 4px rgba(0, 61, 112, 0.08) !important;
    }
}

/* Floating dock: keep Cookiebot centering (left 50% + translate); never left:0 without clearing transform */
@media (min-width: 1024px) {
    #CybotCookiebotDialog {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        transform: translate3d(-50%, 0, 0) !important;
        width: min(var(--container-max-width, 1366px), calc(100vw - 120px)) !important;
        max-width: min(var(--container-max-width, 1366px), calc(100vw - 120px)) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        min-width: 0 !important;
        bottom: 16px !important;
        border-radius: 12px !important;
        border: 1px solid rgba(113, 191, 255, 0.45) !important;
        box-shadow:
            inset 0 2px 0 0 rgba(0, 113, 206, 0.38),
            0 4px 25px 4px rgba(0, 61, 112, 0.08) !important;
    }
}

@media (min-width: 1200px) {
    #CybotCookiebotDialog {
        width: min(var(--container-max-width, 1366px), calc(100vw - 148px)) !important;
        max-width: min(var(--container-max-width, 1366px), calc(100vw - 148px)) !important;
        bottom: 18px !important;
        background: rgba(255, 255, 255, 0.9) !important;
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
    }
}

@media (min-width: 1600px) {
    #CybotCookiebotDialog {
        bottom: 20px !important;
    }
}

#CybotCookiebotDialog #CybotCookiebotDialogBody {
    padding: clamp(8px, 1.5vw, 10px) clamp(12px, 2vw, 16px) 4px !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle {
    color: var(--near-black, #00172a) !important;
    font-size: clamp(16px, 2.5vw, 17px) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText,
#CybotCookiebotDialog .CybotCookiebotDialogBodyContentHeading {
    color: var(--dark-gray, #231f20) !important;
    font-size: clamp(13px, 1.8vw, 14px) !important;
    line-height: 1.55 !important;
}

/* Undo theme gradient-link paint for all anchors in the banner */
#CybotCookiebotDialog a {
    background: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Same gradient/fill issue can affect labels and <strong> (e.g. “Do not sell…”) */
#CybotCookiebotDialog label {
    background: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText a,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentTextAbout a,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentTextOverview a,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentTextIABv2 a,
#CybotCookiebotDialog .CybotExpandLink,
#CybotCookiebotDialog #CybotCookiebotDialogBodyEdgeMoreDetailsLink {
    color: var(--bright-blue, #0071ce) !important;
    -webkit-text-fill-color: var(--bright-blue, #0071ce) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText a:hover,
#CybotCookiebotDialog .CybotExpandLink:hover,
#CybotCookiebotDialog #CybotCookiebotDialogBodyEdgeMoreDetailsLink:hover {
    color: var(--dark-blue, #002848) !important;
    -webkit-text-fill-color: var(--dark-blue, #002848) !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogNav {
    border-bottom: 1px solid rgba(0, 40, 72, 0.08) !important;
    gap: 4px !important;
    padding: clamp(8px, 1.5vw, 10px) clamp(12px, 2vw, 16px) !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogNav a {
    color: var(--dark-gray, #231f20) !important;
    -webkit-text-fill-color: var(--dark-gray, #231f20) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 8px 12px !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogNav a:hover {
    color: var(--near-black, #00172a) !important;
    -webkit-text-fill-color: var(--near-black, #00172a) !important;
    background: var(--light-blue, #edfaff) !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogNav a.CybotCookiebotDialogActive {
    color: var(--bright-blue, #0071ce) !important;
    -webkit-text-fill-color: var(--bright-blue, #0071ce) !important;
    background: var(--light-blue, #edfaff) !important;
    box-shadow: inset 0 -3px 0 var(--bright-blue, #0071ce) !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogNavDeclaration:not(a) {
    color: var(--dark-gray, #231f20) !important;
    -webkit-text-fill-color: var(--dark-gray, #231f20) !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonLabel {
    color: var(--near-black, #00172a) !important;
    -webkit-text-fill-color: var(--near-black, #00172a) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDescription {
    color: var(--dark-gray, #231f20) !important;
    -webkit-text-fill-color: var(--dark-gray, #231f20) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    background: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider {
    background: #d5dee6 !important;
    border-radius: 999px !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSliderWrapper input:focus-visible + .CybotCookiebotDialogBodyLevelButtonSlider {
    outline: 2px solid var(--bright-blue, #0071ce) !important;
    outline-offset: 2px !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSliderWrapper input:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
    background: linear-gradient(90deg, #0071ce 0%, #004883 100%) !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDisabled .CybotCookiebotDialogBodyLevelButtonSlider,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSliderWrapperDisabled .CybotCookiebotDialogBodyLevelButtonSlider {
    opacity: 0.45 !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons,
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    gap: clamp(8px, 1.5vw, 10px) !important;
    padding: clamp(8px, 1.5vw, 10px) clamp(12px, 3vw, 18px) clamp(12px, 2vw, 14px) !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-content: center !important;
    overflow-x: visible !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyButton {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
    font-family: inherit !important;
    font-size: clamp(13px, 1.8vw, 14px) !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    border-radius: 6px !important;
    padding: clamp(10px, 1.6vw, 12px) clamp(16px, 2.8vw, 22px) !important;
    min-height: clamp(44px, 5.5vw, 50px) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transition: background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll.CybotCookiebotDialogBodyButton,
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection.CybotCookiebotDialogBodyButton {
    color: var(--white, #fff) !important;
    -webkit-text-fill-color: var(--white, #fff) !important;
    background: linear-gradient(90deg, #0071ce 0%, #004883 100%) !important;
    border: none !important;
    box-shadow: none !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection.CybotCookiebotDialogBodyButton {
    border: 2px solid rgba(255, 255, 255, 0.35) !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll.CybotCookiebotDialogBodyButton:hover,
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection.CybotCookiebotDialogBodyButton:hover {
    box-shadow: 0 4px 14px rgba(0, 113, 206, 0.33) !important;
}

@media (min-width: 1200px) {
    #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll.CybotCookiebotDialogBodyButton:hover {
        background: var(--red-linear, linear-gradient(90deg, #ec222e 0%, #ad0d15 100%)) !important;
    }
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonCustomize.CybotCookiebotDialogBodyButton {
    color: var(--bright-blue, #0071ce) !important;
    -webkit-text-fill-color: var(--bright-blue, #0071ce) !important;
    background: rgba(255, 255, 255, 0.55) !important;
    border: 2px solid var(--medium-blue, #71bfff) !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonCustomize.CybotCookiebotDialogBodyButton:hover {
    background: var(--light-blue, #edfaff) !important;
    border-color: var(--bright-blue, #0071ce) !important;
    color: var(--dark-blue, #002848) !important;
    -webkit-text-fill-color: var(--dark-blue, #002848) !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonDecline.CybotCookiebotDialogBodyButton {
    color: var(--near-black, #00172a) !important;
    -webkit-text-fill-color: var(--near-black, #00172a) !important;
    background: #f4f6f8 !important;
    border: 2px solid #dde3ea !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonDecline.CybotCookiebotDialogBodyButton:hover {
    background: #e8ecf1 !important;
    border-color: #cfd8e3 !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogDetailFooter .CybotCookiebotDialogBodyButton,
#CybotCookiebotDialog #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
    border-radius: 6px !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText a:focus-visible,
#CybotCookiebotDialog #CybotCookiebotDialogBodyEdgeMoreDetailsLink:focus-visible,
#CybotCookiebotDialog #CybotCookiebotDialogNav a:focus-visible,
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton:focus-visible {
    outline: 2px solid var(--bright-blue, #0071ce) !important;
    outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
    #CybotCookiebotDialog a,
    #CybotCookiebotDialog .CybotCookiebotDialogBodyButton {
        transition: none !important;
    }
}
