/* AXM Site Tracking cookie banner: four layouts; colours and text size (12–16px) from settings. */
.axm-cb { --axm-cb-bg: #fff; --axm-cb-text: #1e2030; --axm-cb-accent: #1f3a5f; --axm-cb-size: 13px; position: fixed; z-index: 2147483000; color: var(--axm-cb-text); font: var(--axm-cb-size)/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
.axm-cb[hidden], .axm-cb [hidden], .axm-cb-reopen[hidden] { display: none !important; }
.axm-cb *, .axm-cb *::before, .axm-cb *::after { box-sizing: border-box; }
.axm-cb__panel { background: var(--axm-cb-bg); border-radius: 12px; box-shadow: 0 12px 40px rgba(15, 20, 35, .18), 0 1px 3px rgba(15, 20, 35, .08); padding: 1.2em 1.35em; }
/* Two-class selectors so theme paragraph and button styles cannot resize the banner. */
.axm-cb .axm-cb__title { margin: 0 0 .4em; font-size: calc(var(--axm-cb-size) + 2px); line-height: 1.3; font-weight: 600; }
.axm-cb .axm-cb__text { margin: 0 0 .9em; font-size: var(--axm-cb-size); line-height: 1.45; }
.axm-cb__text a { color: var(--axm-cb-accent); text-decoration: underline; }
.axm-cb__actions { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; }
/* Buttons scale with the text but never drop below a 24×24px target (WCAG 2.2 AA). */
.axm-cb .axm-cb__btn { appearance: none; min-height: max(24px, 2.5em); min-width: 24px; padding: 0 1.1em; border: 1px solid color-mix(in srgb, var(--axm-cb-text) 25%, transparent); border-radius: 8px; background: transparent; color: var(--axm-cb-text); font: inherit; font-size: var(--axm-cb-size); font-weight: 500; line-height: 1.2; letter-spacing: normal; text-transform: none; cursor: pointer; }
.axm-cb .axm-cb__btn:hover { border-color: var(--axm-cb-accent); }
.axm-cb__btn:focus-visible, .axm-cb-reopen:focus-visible, .axm-cb__cat input:focus-visible { outline: 2px solid var(--axm-cb-accent); outline-offset: 2px; }
/* Accept and Reject both carry this class: the same size and look. */
.axm-cb .axm-cb__btn--primary { background: var(--axm-cb-accent); border-color: var(--axm-cb-accent); color: #fff; }
.axm-cb .axm-cb__btn--primary:hover { filter: brightness(1.08); }
.axm-cb .axm-cb__btn--link { border-color: transparent; text-decoration: underline; padding: 0 .5em; }
.axm-cb__prefs { display: grid; gap: .6em; margin: 0 0 .9em; }
.axm-cb__cat { display: flex; gap: .7em; align-items: flex-start; padding: .6em .8em; border: 1px solid color-mix(in srgb, var(--axm-cb-text) 14%, transparent); border-radius: 8px; cursor: pointer; }
.axm-cb__cat input { margin: 3px 0 0; accent-color: var(--axm-cb-accent); }
.axm-cb .axm-cb__cat span { display: grid; gap: 2px; font-size: max(12px, calc(var(--axm-cb-size) - 1px)); }
.axm-cb .axm-cb__cat strong { font-size: var(--axm-cb-size); }
/* Bottom bar */
.axm-cb--bar { left: 0; right: 0; bottom: 0; padding: 12px; }
.axm-cb--bar .axm-cb__panel { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: center; }
.axm-cb--bar .axm-cb__title, .axm-cb--bar .axm-cb__text, .axm-cb--bar .axm-cb__prefs { grid-column: 1; }
.axm-cb--bar .axm-cb__text { margin: 0; }
.axm-cb--bar .axm-cb__actions { grid-column: 2; grid-row: 1 / span 3; justify-content: flex-end; }
/* Corner box: a small card, short text, one row of buttons with Preferences as a link. */
.axm-cb--box { bottom: 16px; width: min(300px, calc(100vw - 32px)); }
.axm-cb--box.axm-cb--left { left: 16px; }
.axm-cb--box.axm-cb--right { right: 16px; }
.axm-cb--box .axm-cb__panel { padding: .9em 1em; border-radius: 10px; }
.axm-cb--box .axm-cb__text { margin-bottom: .7em; }
.axm-cb--box .axm-cb__actions { flex-wrap: nowrap; gap: .4em; align-items: stretch; }
/* Equal width, and equal height when a label wraps, so Reject is never smaller than Accept. */
.axm-cb.axm-cb--box .axm-cb__btn { flex: 1 1 0; min-width: 0; min-height: max(24px, 2.3em); padding: .3em .6em; white-space: normal; border-radius: 6px; }
.axm-cb.axm-cb--box .axm-cb__btn--link { flex: 0 0 auto; padding: 0 .3em; }
/* Centred dialog */
.axm-cb--modal { inset: 0; display: grid; place-items: center; padding: 16px; background: rgba(15, 20, 35, .45); }
.axm-cb--modal .axm-cb__panel { width: min(520px, 100%); }
html.axm-cb-open { overflow: hidden; }
/* Compact line: one slim row; preferences open above it. */
.axm-cb--compact { left: 0; right: 0; bottom: 0; }
.axm-cb--compact .axm-cb__panel { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 14px; padding: 6px 16px; border-radius: 0; line-height: 1.4; box-shadow: 0 -2px 14px rgba(15, 20, 35, .12); }
.axm-cb--compact .axm-cb__text { margin: 0; }
.axm-cb--compact .axm-cb__prefs { order: -1; flex: 0 0 100%; margin: 6px 0; padding: 0 max(0px, calc((100% - 760px) / 2)); }
.axm-cb--compact .axm-cb__actions { flex-wrap: nowrap; gap: 6px; }
.axm-cb.axm-cb--compact .axm-cb__btn { min-height: max(24px, 2.3em); padding: 0 .9em; border-radius: 6px; }
.axm-cb.axm-cb--compact .axm-cb__btn--link { padding: 0 4px; }
/* Reopen */
.axm-cb-reopen { position: fixed; z-index: 2147482999; bottom: 16px; min-height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--axm-cb-accent, #1f3a5f); color: #fff; font: 500 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; box-shadow: 0 4px 16px rgba(15, 20, 35, .2); cursor: pointer; opacity: .85; }
.axm-cb-reopen:hover { opacity: 1; }
.axm-cb-reopen--icon { display: grid; place-items: center; width: 32px; height: 32px; min-height: 32px; padding: 0; line-height: 0; }
.axm-cb-reopen--left { left: 16px; }
.axm-cb-reopen--right { right: 16px; }
@media (max-width: 720px) {
    .axm-cb--bar .axm-cb__panel { grid-template-columns: 1fr; }
    .axm-cb--bar .axm-cb__actions { grid-column: 1; grid-row: auto; justify-content: stretch; }
    .axm-cb__actions .axm-cb__btn { flex: 1 1 auto; }
    /* Compact: text on one line, buttons on the next; long labels wrap inside their button. */
    .axm-cb--compact .axm-cb__panel { padding: 6px 10px; }
    .axm-cb--compact .axm-cb__actions { flex: 1 1 100%; }
    .axm-cb.axm-cb--compact .axm-cb__btn { flex: 1 1 0; min-width: 0; padding: 3px 8px; font-size: max(12px, calc(var(--axm-cb-size) - 1px)); white-space: normal; }
    .axm-cb.axm-cb--compact .axm-cb__btn--link { flex: 0 0 auto; }
}
/* Admin preview: shown inside a frame, not fixed to the screen. */
.axm-cb-preview { position: relative; min-height: 260px; overflow: hidden; border: 1px solid #e2e4ec; border-radius: 10px; background: repeating-linear-gradient(45deg, #f6f7fb, #f6f7fb 12px, #eef0f6 12px, #eef0f6 24px); }
.axm-cb-preview .axm-cb { position: absolute; }
.axm-cb-preview .axm-cb--modal { position: absolute; }
