/* Scoped additions; no replacement of the existing theme stylesheet. */
body { padding-bottom: var(--acadex-notice-height, 0px); }
.acadex-cookie-notice[hidden] { display: none !important; }
.acadex-cookie-notice {
    position: fixed; bottom: 20px; left: 24px; right: 24px; z-index: 9000;
    box-sizing: border-box; max-width: 1180px; margin: 0 auto; padding: 22px 26px;
    display: flex; align-items: center; gap: 28px; border: 1px solid #d5d5d7;
    background: #fff; color: #292931; border-radius: 5px;
    box-shadow: 0 6px 32px rgba(0,0,0,.18); font: 16px/1.55 'Gilroy-Regular',Arial,sans-serif;
}
.acadex-cookie-notice p { margin: 0; flex: 1; }
.acadex-cookie-notice a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.acadex-cookie-notice button {
    flex: 0 0 auto; min-width: 124px; min-height: 46px; padding: 11px 24px;
    border: 1px solid #303039; border-radius: 3px; background: #303039; color: #fff;
    font: inherit; cursor: pointer;
}
.acadex-cookie-notice button:hover { background: #484851; }
.acadex-cookie-notice a:focus-visible, .acadex-cookie-notice button:focus-visible,
.acadex-policy-links a:focus-visible { outline: 3px solid #518ac2; outline-offset: 4px; }
body.black .acadex-cookie-notice { background: #25252c; color: #f4f4f5; border-color: #555560; }
body.black .acadex-cookie-notice button { background: #f2f2f3; color: #25252c; border-color: #f2f2f3; }
body.black .acadex-cookie-notice button:hover { background: #dcdce1; }
footer.acadex-footer-privacy { height: 87px; }
.acadex-policy-links { display: flex; flex-wrap: wrap; column-gap: 24px; row-gap: 8px; }
footer .acadex-policy-links > a { position: static; padding-left: 0; font: 14px/1.5 'Gilroy-Regular',Arial,sans-serif; color: #52525c; text-decoration: underline; text-underline-offset: 3px; }
footer .acadex-policy-links > a::before { display: none; content: none; }
body.black .acadex-policy-links a { color: #bfbfc8; }
.acadex-policy-page .acadex-policy-document { max-width: 1000px; float: none; padding-bottom: 44px; overflow-wrap: anywhere; }
.acadex-policy-document h1 { font-size: clamp(28px,4vw,44px); line-height: 1.2; margin: 20px 0 30px; }
.acadex-policy-document h2 { font-size: 24px; line-height: 1.35; margin: 32px 0 16px; }
.acadex-policy-document h3 { font-size: 20px; line-height: 1.4; margin: 24px 0 12px; }
.acadex-policy-document p, .acadex-policy-document li { line-height: 1.65; }
.acadex-policy-document ul { padding-left: 24px; margin-bottom: 20px; }
.acadex-policy-document table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.acadex-policy-document th, .acadex-policy-document td { border: 1px solid #888; padding: 10px; text-align: left; }
.acadex-cookie-noscript { padding: 20px; font: 15px/1.5 Arial,sans-serif; }
@media (max-width: 600px) {
    .acadex-cookie-notice { left: 12px; right: 12px; bottom: 12px; padding: 18px; gap: 14px; flex-direction: column; align-items: stretch; font-size: 14px; }
    .acadex-cookie-notice button { width: 100%; }
    footer.acadex-footer-privacy { min-height: 104px; padding: 13px 0; }
    .acadex-policy-links { max-width: calc(100% - 70px); flex-direction: column; gap: 4px; }
    footer .acadex-policy-links > a { top: auto; font-size: 11px; line-height: 1.25; }
    .acadex-policy-document h2 { font-size: 20px; }
    .acadex-policy-document table { font-size: 13px; }
}
@media print {
    .acadex-cookie-notice, .acadex-policy-links, .acadex-cookie-noscript { display: none !important; }
    body { padding-bottom: 0; }
}
