/* XABCD Blocked - cookie consent (front end) */

.xabcd-cc,
.xabcd-cc * { box-sizing: border-box; }

.xabcd-cc {
    --cc-bg: #ffffff;
    --cc-fg: #1f2430;
    --cc-muted: #4b5262;
    --cc-border: #d9dce3;
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 2147483000;
    max-width: 760px;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    overflow: auto;
    margin: 0 auto;
    padding: 22px 24px;
    background: var(--cc-bg);
    color: var(--cc-fg);
    border: 1px solid var(--cc-border);
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(16, 24, 40, .24);
    font: 14px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    text-align: left;
}

.xabcd-cc[hidden],
.xabcd-cc [hidden],
.xabcd-cc-float[hidden] { display: none !important; }
.xabcd-cc .xabcd-cc__title { margin: 0 28px 8px 0; font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--cc-fg); }
.xabcd-cc .xabcd-cc__text { margin: 0 0 14px; color: var(--cc-muted); }
.xabcd-cc .xabcd-cc__a { color: var(--xabcd-cc-accent, #5603ad); font-weight: 400; text-decoration: underline; }
.xabcd-cc .xabcd-cc__gpc { margin: 0 0 12px; padding: 8px 10px; background: #fff7e0; color: #5c4400; border-radius: 6px; }

.xabcd-cc__close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: var(--cc-muted);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.xabcd-cc__prefs { margin: 4px 0 16px; border-top: 1px solid var(--cc-border); }
.xabcd-cc__cat { padding: 12px 0; border-bottom: 1px solid var(--cc-border); }
.xabcd-cc .xabcd-cc__label { display: flex; align-items: center; gap: 10px; color: var(--cc-fg); font-size: inherit; font-weight: 600; line-height: inherit; text-transform: none; letter-spacing: normal; cursor: pointer; }
.xabcd-cc .xabcd-cc__catname { color: var(--cc-fg); }
.xabcd-cc .xabcd-cc__label input { width: 18px; height: 18px; margin: 0; accent-color: var(--xabcd-cc-accent, #5603ad); }
.xabcd-cc .xabcd-cc__catdesc { margin: 4px 0 0 28px; color: var(--cc-muted); }

.xabcd-cc__buttons { display: flex; flex-wrap: wrap; gap: 10px; }

.xabcd-cc__btn {
    appearance: none;
    flex: 1 1 140px;
    min-height: 44px;
    padding: 10px 18px;
    border: 2px solid var(--xabcd-cc-accent, #5603ad);
    border-radius: 8px;
    background: var(--xabcd-cc-accent, #5603ad);
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.xabcd-cc__btn--ghost { background: transparent; color: var(--xabcd-cc-accent, #5603ad); }

.xabcd-cc__btn:hover { filter: brightness(1.08); }

.xabcd-cc button:focus-visible,
.xabcd-cc a:focus-visible,
.xabcd-cc input:focus-visible,
.xabcd-cc-float:focus-visible { outline: 3px solid #ffbf47; outline-offset: 2px; }

.xabcd-cc-float {
    position: fixed;
    left: 12px;
    bottom: 12px;
    z-index: 2147482999;
    padding: 8px 14px;
    border: 1px solid #c8ccd6;
    border-radius: 999px;
    background: #ffffff;
    color: #1f2430;
    font: 600 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    box-shadow: 0 2px 10px rgba(16, 24, 40, .18);
    cursor: pointer;
}

.xabcd-cc-embed {
    padding: 22px;
    border: 1px dashed #9aa3b2;
    border-radius: 8px;
    background: #f5f6fa;
    color: #1f2430;
    text-align: center;
    font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
div.xabcd-cc-embed p { margin: 0 0 12px; color: #1f2430; font-size: inherit; font-weight: 400; } /* a theme's paragraph colour must not reach this light box */
.xabcd-cc-embed .xabcd-cc__btn { flex: none; }

/* The link at the bottom of every page that reopens the cookie choices (used when the floating button is off). */
.xabcd-cc-footer { padding: 14px 16px 18px; text-align: center; font: 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.xabcd-cc-footer a { color: inherit; text-decoration: underline; opacity: .85; }
.xabcd-cc-footer a:hover, .xabcd-cc-footer a:focus-visible { opacity: 1; }

iframe[data-xabcd-consent]:not([src]) { display: none; }

.xabcd-cookie-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.xabcd-cookie-table th,
.xabcd-cookie-table td { padding: 8px 10px; border: 1px solid #d9dce3; text-align: left; vertical-align: top; }

@media (prefers-color-scheme: dark) {
    .xabcd-cc { --cc-bg: #1b1e2b; --cc-fg: #eef0f6; --cc-muted: #b7bccb; --cc-border: #353a4d; }
    /* The accent is too dark to read on the dark banner, so outlines, links and ghost text use its lighter tint. */
    .xabcd-cc .xabcd-cc__a { color: var(--xabcd-cc-accent-light, #c9a8f0); }
    .xabcd-cc__btn { border-color: var(--xabcd-cc-accent-light, #c9a8f0); }
    .xabcd-cc__btn--ghost { color: var(--xabcd-cc-accent-light, #c9a8f0); border-color: var(--xabcd-cc-accent-light, #c9a8f0); }
    .xabcd-cc .xabcd-cc__label input { accent-color: var(--xabcd-cc-accent-light, #c9a8f0); }
    .xabcd-cc .xabcd-cc__gpc { background: #3a3220; color: #ffe9a8; }
    .xabcd-cc-float { background: #1b1e2b; color: #eef0f6; border-color: #353a4d; }
}

/* Phones: a compact bar, not a wall. Reject and Accept sit side by side at the same
   size; Customize / Save choices go underneath; when the options are open the list
   scrolls and the buttons stay in view. */
@media (max-width: 520px) {
    .xabcd-cc {
        left: 8px;
        right: 8px;
        bottom: 8px;
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - 16px);
        max-height: calc(100dvh - 16px);
        overflow-x: hidden;
        overflow-y: auto; /* the options list shrinks first; if the rest is still too tall (large text, zoom), the banner scrolls */
        padding: 14px 14px 12px;
        border-radius: 10px;
        font-size: 13px;
        line-height: 1.45;
    }
    .xabcd-cc .xabcd-cc__title { margin: 0 26px 4px 0; font-size: 16px; }
    .xabcd-cc .xabcd-cc__text { margin: 0 0 10px; }
    .xabcd-cc__close { top: 6px; right: 6px; }
    .xabcd-cc__prefs { flex: 1 1 auto; min-height: 0; margin: 0 0 10px; overflow-y: auto; }
    .xabcd-cc__cat { padding: 8px 0; }
    .xabcd-cc__buttons { flex: none; gap: 8px; }
    .xabcd-cc__btn { flex: 1 1 calc(50% - 4px); padding: 8px 10px; }
    .xabcd-cc__btn--ghost { flex-basis: 100%; min-height: 40px; }
}
