/* Cookiebot: branding, widget position and Cookie Declaration modal */

/* Hide Cookiebot branding on the banner */
a#CybotCookiebotDialogPoweredbyCybot,
div#CybotCookiebotDialogPoweredByText {
    display: none;
}

/* Hide Cookiebot branding on the Privacy trigger (floating widget) */
#CookiebotWidget .CookiebotWidget-body .CookiebotWidget-main-logo {
    display: none !important;
}

/* accessiBe trigger is bottom-left: 45px at left/bottom 20px, compact at left/bottom 3px below 1024px.
   Put the collapsed Cookiebot button (48px) beside it, centered on the same line. */
@media screen and (min-width: 1024px) {
    #CookiebotWidget:not(.CookiebotWidget-open) {
        left: 75px !important;   /* 20 + 45 + 10px gap */
        bottom: 19px !important; /* 20 + (45 - 48) / 2 */
    }
}
@media screen and (max-width: 1023.98px) {
    #CookiebotWidget:not(.CookiebotWidget-open) {
        left: 58px !important;   /* 3 + 45 + 10px gap */
        bottom: 2px !important;  /* 3 + (45 - 48) / 2 */
    }
}
@media screen and (max-width: 600px) {
    /* Open panel spans the screen; lift it so the accessiBe trigger doesn't cover its buttons */
    #CookiebotWidget.CookiebotWidget-open {
        bottom: 56px !important;
    }
}

/* Footer link: matches a.link-posters */
a.link-cookies {
    text-decoration: underline;
    transition: all .2s ease-in-out;
}
a.link-cookies:hover {
    text-decoration: none;
}
.copyright a.link-cookies:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* Cookie Declaration modal: sit above other fixed, high z-index widgets (accessiBe trigger etc.) */
#cookieDeclarationModal { z-index: 2147483647; }
/* Only raise the backdrop while the cookie modal is open, so other modals stay above theirs */
body:has(#cookieDeclarationModal.in) .modal-backdrop { z-index: 2147483646; }
#cookieDeclarationModal .modal-dialog { max-width: 760px; }
#cookieDeclarationModal .modal-body {
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 25px 30px;
    font-size: 14px;
    line-height: 1.6;
}
#cookieDeclarationModal .modal-title { color: #222; }
#CookieDeclarationContainer { max-width: 100%; word-wrap: break-word; overflow-wrap: break-word; }
#CookieDeclarationContainer .cookie-declaration-loading { margin: 0; color: #777; }
#CookieDeclarationContainer h2,
#CookieDeclarationContainer h3 { font-size: 17px; margin: 20px 0 8px; color: #222; }
#CookieDeclarationContainer h2:first-child,
#CookieDeclarationContainer h3:first-child { margin-top: 0; }
#CookieDeclarationContainer p { font-size: 14px; margin-bottom: 10px; }
#CookieDeclarationContainer a { color: #1a6fc0; word-break: break-word; }
#CookieDeclarationContainer table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
    margin: 10px 0 20px;
    font-size: 13px;
}
#CookieDeclarationContainer table thead,
#CookieDeclarationContainer table tbody,
#CookieDeclarationContainer table tr { display: table; width: 100%; table-layout: fixed; }
#CookieDeclarationContainer table th,
#CookieDeclarationContainer table td {
    padding: 8px 10px;
    border: 1px solid #e5edf5;
    text-align: left;
    vertical-align: top;
    word-break: break-word;
}
#CookieDeclarationContainer table th { background: #f4f8fd; }

/* Placeholder shown in place of blocked embeds (Google Maps) until Marketing is accepted */
.cookieconsent-optout-marketing {
    padding: 20px;
    margin-bottom: 15px;
    background: #f4f4f4;
    text-align: center;
}
