/*
 * Cookiebot: site look (black, square, Funnel fonts).
 * Cookiebot adds its own CSS as an adopted stylesheet, which is applied after
 * ours, so every override here needs !important.
 */

/* ---------- Floating "cookie settings" widget: hidden.
   The footer "COOKIE SETTINGS" link reopens the dialog instead. ---------- */
#CookiebotWidget {
    display: none !important;
}

/* ---------- Consent dialog ---------- */
#CybotCookiebotDialog {
    font-family: "Funnel Sans", Arial, Helvetica, sans-serif !important;
    color: #0A0A0A !important;
    letter-spacing: normal !important;
    border-radius: 0 !important;
}

#CybotCookiebotDialog .CybotCookiebotScrollArea,
#CybotCookiebotDialog .CybotCookiebotScrollArea * {
    letter-spacing: normal !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle {
    font-family: "Funnel Display", "Funnel Sans", Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
    letter-spacing: -0.5px !important;
    color: #0A0A0A !important;
}

/* Cards, boxes and pills: square corners like the rest of the site. */
#CybotCookiebotDialog #CybotCookiebotDialogDetailBulkConsent,
#CybotCookiebotDialog #CybotCookiebotDialogDetailBulkConsentListWrapper,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieGroup,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieInfo,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyEmptyCategoryMessage,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonIABWrapper,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonIABContainer,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonIABContainerCollapsed,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBulkConsentCount,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieContainerButton .CybotCookiebotDialogDetailBulkConsentCount {
    border-radius: 0 !important;
}

/* Tabs */
#CybotCookiebotDialog #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink {
    color: #0A0A0A !important;
    text-transform: uppercase;
    font-size: 13px !important;
    letter-spacing: -0.24px !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink:hover {
    color: #0A0A0A !important;
    opacity: 0.6;
}

#CybotCookiebotDialog #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
    color: #0A0A0A !important;
    border-bottom: 2px solid #0A0A0A !important;
    opacity: 1;
}

/* Links and hover colours that were blue */
#CybotCookiebotDialog a,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieLink,
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a {
    color: #0A0A0A !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieLink,
#CybotCookiebotDialog #CybotCookiebotDialogDetailFooter a,
#CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentTextAbout a {
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

#CybotCookiebotDialog a:hover,
#CybotCookiebotDialog #CybotCookiebotDialogDetailBulkConsentLink:hover,
#CybotCookiebotDialog .CookieCard .CybotCookiebotDialogDetailBodyContentCookieContainerButton:hover,
#CybotCookiebotDialog .CookieCard .CybotCookiebotDialogDetailBodyContentIABv2Tab:hover,
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsSelectPane label .CybotCookiebotDialogBodyLevelButtonDescription:hover {
    color: #0A0A0A !important;
    opacity: 0.6;
}

#CybotCookiebotDialog a:hover::after,
#CybotCookiebotDialog a:hover::before,
#CybotCookiebotDialog button:hover::after,
#CybotCookiebotDialog button:hover::before {
    border-color: #0A0A0A !important;
}

/* Buttons: same as the site's checkout button */
#CybotCookiebotDialog #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton,
#CybotCookiebotDialog #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonDecline,
#CybotCookiebotDialog #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize,
#CybotCookiebotDialog #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
#CybotCookiebotDialog #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialog #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonAccept,
#CybotCookiebotDialog #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
    background-color: #0A0A0A !important;
    border: 1px solid #303030 !important;
    border-radius: 0 !important;
    color: #FFFFFF !important;
    font-family: "Funnel Sans", Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 16px !important;
    letter-spacing: -0.24px !important;
    text-transform: uppercase !important;
    min-height: 48px;
    transition: background-color 0.2s ease;
}

#CybotCookiebotDialog #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton:hover {
    background-color: #1A1A1A !important;
    opacity: 1;
}

/* IAB vendor buttons and checkboxes (only shown if IAB is ever enabled) */
#CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentIABv2Tabs .CybotCookiebotDialogBodyLevelButtonIABHeaderButton,
#CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentIABv2Tabs .CybotCookiebotDialogBodyLevelButtonIABHeaderToggleDeselectVendorsLink,
#CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentIABv2Tabs .CybotCookiebotDialogBodyLevelButtonIABHeaderToggleSelectVendorsLink {
    border-color: #0A0A0A !important;
    border-radius: 0 !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentIABv2Tabs .CybotCookiebotDialogBodyLevelButtonIABHeaderButton.select,
#CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentIABv2Tabs .CybotCookiebotDialogBodyLevelButtonIABHeaderToggleSelectVendorsLink,
#CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentIABv2Tabs input[type="checkbox"]:checked {
    background-color: #0A0A0A !important;
    border-color: #0A0A0A !important;
}

/* Toggles: grey when off, black when on */
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider {
    background-color: #8C8C8C !important;
}

#CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
    background-color: #0A0A0A !important;
}

#CybotCookiebotDialog input[type="checkbox"][disabled]:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
    background-color: #0A0A0A !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogTabContent input:focus + .CybotCookiebotDialogBodyLevelButtonSlider {
    box-shadow: 0 0 1px #0A0A0A !important;
}

/* Keyboard focus */
#CybotCookiebotDialog:focus-visible,
#CybotCookiebotDialog :focus-visible,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSliderWrapper input:focus-visible + span {
    outline: 2px solid #0A0A0A !important;
    outline-offset: 2px !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton:focus-visible {
    outline-color: #0A0A0A !important;
}

/* Scrollbars */
#CybotCookiebotDialog .CybotCookiebotScrollContainer > div:first-of-type:focus,
#CybotCookiebotDialog #CybotCookiebotDialogFooter > div:first-of-type:focus {
    scrollbar-color: #0A0A0A #F2F2F2 !important;
}

#CybotCookiebotDialog .CybotCookiebotScrollContainer > div:first-of-type:focus::-webkit-scrollbar-thumb,
#CybotCookiebotDialog #CybotCookiebotDialogFooter > div:first-of-type:focus::-webkit-scrollbar-thumb {
    background-color: #0A0A0A !important;
}

/* ---------- Cookie declaration (privacy policy page) ---------- */
.CookieDeclaration {
    color: #0A0A0A;
}

.CookieDeclaration a,
.CookieDeclaration a:visited {
    color: #0A0A0A;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.CookieDeclaration a:hover {
    color: #0A0A0A;
    opacity: 0.6;
}

#CookieDeclarationChangeConsentChange,
#CookieDeclarationChangeConsentWithdraw {
    font-weight: 600;
}

#CookieDeclarationUserStatusLabelConsentId {
    word-break: break-all;
}

.CookieDeclaration .CookieDeclarationType {
    border: 1px solid #E2E2E2;
    padding: 16px 16px 0;
}

.CookieDeclaration .CookieDeclarationTypeHeader {
    font-weight: 600;
}

.CookieDeclaration .CookieDeclarationTable th.CookieDeclarationTableHeader {
    font-family: "Funnel Sans", Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: normal;
    text-transform: uppercase;
    color: #0A0A0A;
    border-bottom: 1px solid #E2E2E2;
    padding: 8px 4px;
    vertical-align: bottom;
    overflow: visible;
    word-wrap: normal;
    overflow-wrap: normal;
}

.CookieDeclaration .CookieDeclarationTable td.CookieDeclarationTableCell {
    font-size: 12px;
    line-height: 16px;
    border-bottom: 1px solid #E2E2E2;
    padding: 8px 4px;
}

/* Cookiebot's fixed column widths split words mid-word in this narrow column; size columns to their content instead. */
.CookieDeclaration .CookieDeclarationTable {
    table-layout: auto;
}

.CookieDeclaration .CookieDeclarationTable th.CookieDeclarationTableHeader,
.CookieDeclaration .CookieDeclarationTable td.CookieDeclarationTableCell {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: manual;
}

@media (max-width: 600px) {
    .CookieDeclaration .CookieDeclarationType {
        padding: 12px 12px 0;
    }

    .CookieDeclaration .CookieDeclarationTable th.CookieDeclarationTableHeader {
        font-size: 10px;
        line-height: 14px;
    }
}
