.visitor-tools { --visitor-accent:#b91f3b; --visitor-ink:#253044; --visitor-muted:#6e798b; --visitor-line:#e8ecf2; font-family:Heebo,Arial,sans-serif; font-size:14px; color:var(--visitor-ink); }
.visitor-tools [hidden],.visitor-reading-guide[hidden] { display:none!important; }
.visitor-tools button,.visitor-tools input,.visitor-tools a { -webkit-tap-highlight-color:transparent; }
.visitor-tools button { font-family:inherit; cursor:pointer; }
.visitor-tools :is(button,a,input):focus-visible,.visitor-inline-button:focus-visible { outline:3px solid var(--visitor-accent,#b91f3b); outline-offset:3px; }
.visitor-launchers { position:fixed; bottom:calc(var(--visitor-bottom) + env(safe-area-inset-bottom,0px)); right:16px; display:grid; gap:8px; z-index:200; }
.visitor-tools--left .visitor-launchers { right:auto; left:16px; bottom:calc(var(--visitor-bottom) + 60px + env(safe-area-inset-bottom,0px)); }
.visitor-launcher { display:grid; place-items:center; inline-size:var(--visitor-size); block-size:var(--visitor-size); border:1px solid rgb(255 255 255 / 25%); border-radius:14px; background:var(--visitor-accent); color:#fff; box-shadow:0 3px 12px rgb(30 40 60 / 14%); transition:transform .15s,box-shadow .15s; }
.visitor-launcher:hover { transform:translateY(-2px); box-shadow:0 5px 16px rgb(30 40 60 / 22%); }
.visitor-launcher--privacy { background:#fff; color:var(--visitor-ink); border-color:var(--visitor-line); }
.visitor-banner { position:fixed; z-index:201; inset-inline:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); inline-size:min(580px,calc(100% - 32px)); margin-inline:auto; padding:22px; border:1px solid #e2e7ee; border-radius:18px; background:#fff; box-shadow:0 8px 48px rgb(16 28 46 / 18%); max-block-size:calc(100vh - 32px); max-block-size:calc(100dvh - 32px); overflow:auto; }
.visitor-banner--top { bottom:auto; top:calc(16px + env(safe-area-inset-top,0px)); }
.visitor-banner-heading { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; min-block-size:18px; }
.visitor-banner-heading:has(.visitor-banner-close) { padding-inline-end:40px; }
.visitor-banner .visitor-banner-close { position:absolute; inset-inline-end:-10px; inset-block-start:-13px; background:transparent; }
.visitor-banner .visitor-banner-close:hover { background:#f5f7fa; }
.visitor-eyebrow { display:flex; align-items:center; gap:7px; color:var(--visitor-muted); font-size:11px; line-height:1.5; font-weight:500; }
.visitor-eyebrow svg { inline-size:17px; block-size:17px; }
.visitor-banner h2 { margin:10px 0 8px; font-size:21px; font-weight:700; letter-spacing:-.025em; line-height:1.35; color:var(--visitor-ink); }
.visitor-banner p,.visitor-intro { margin:0; color:var(--visitor-muted); font-size:13px; line-height:1.85; }
.visitor-policy { display:inline-block; margin-block:9px 0; color:var(--visitor-ink); font-size:12px; text-underline-offset:3px; }
.visitor-banner-actions { display:flex; flex-wrap:wrap; gap:8px; margin-block-start:16px; }
.visitor-button { display:inline-flex; align-items:center; justify-content:center; min-block-size:44px; padding:9px 16px; border:1px solid #dce2eb; border-radius:9px; background:#f5f7fa; color:var(--visitor-ink); font:500 13px/1.4 Heebo,Arial,sans-serif; text-decoration:none; }
.visitor-button:hover { background:#edf0f5; border-color:#c9d2df; }
.visitor-button--primary { background:var(--visitor-accent); border-color:transparent; color:#fff; }
.visitor-button--primary:hover { background:var(--visitor-accent); filter:brightness(.92); }
.visitor-button--quiet { background:#fff; }
.visitor-panel { box-sizing:border-box; position:fixed; inset:0; inline-size:min(460px,calc(100% - 32px)); max-inline-size:460px; max-block-size:calc(100vh - 40px); max-block-size:calc(100dvh - 40px); padding:0; margin:auto; border:1px solid #e4e9f0; border-radius:20px; background:#fff; color:var(--visitor-ink); font-family:Heebo,Arial,sans-serif; font-size:14px; box-shadow:0 24px 80px rgb(11 21 38 / 24%); overflow:auto; overscroll-behavior:contain; }
.visitor-panel::backdrop { background:rgb(16 25 40 / 40%); backdrop-filter:blur(3px); }
.visitor-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:22px 22px 18px; border-block-end:1px solid var(--visitor-line); background:#fff; }
.visitor-panel-heading h2 { margin:5px 0 0; font-size:21px; font-weight:700; line-height:1.4; letter-spacing:-.025em; color:var(--visitor-ink); }
.visitor-close { display:grid; place-items:center; flex:none; inline-size:44px; block-size:44px; padding:0; border:0; border-radius:10px; background:#f5f7fa; color:#7b8698; }
.visitor-close:hover { background:#edf0f5; color:var(--visitor-ink); }
.visitor-panel-body { padding:20px 22px; }
.visitor-intro { margin-block-end:16px; }
.visitor-panel-footer { padding:16px 22px 20px; border-block-start:1px solid var(--visitor-line); background:#fafbfc; }
.visitor-panel-footer > .visitor-button { inline-size:100%; }
.visitor-secondary-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; margin-block-start:10px; }
.visitor-secondary-actions:empty { display:none; }
.visitor-secondary-actions a,.visitor-text-button { display:inline-flex; align-items:center; justify-content:center; min-block-size:40px; padding:5px 0; border:0; background:none; color:#566379; font:400 12px/1.5 Heebo,Arial,sans-serif; text-underline-offset:3px; }
.visitor-category { position:relative; display:flex; align-items:center; gap:12px; padding:15px 0; border-block-end:1px solid var(--visitor-line); cursor:pointer; }
.visitor-category > :first-child { flex:1; min-inline-size:0; }
.visitor-category strong { display:block; color:var(--visitor-ink); font-size:13px; font-weight:600; }
.visitor-category p,.visitor-category-description { display:block; margin:5px 0 0; font-size:11px; line-height:1.7; color:var(--visitor-muted); }
.visitor-essential { flex:none; color:#397452; font-size:10px; padding:5px 7px; background:#edf7f0; border-radius:5px; }
.visitor-category input { position:absolute; inset-inline-end:0; inline-size:44px; block-size:44px; opacity:0; z-index:1; cursor:pointer; }
.visitor-switch { position:relative; flex:none; inline-size:40px; block-size:24px; border:1px solid #d8dfe9; border-radius:20px; background:#e9edf3; }
.visitor-switch::before { content:""; position:absolute; inset-inline-start:3px; top:3px; inline-size:16px; block-size:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgb(20 30 50 / 18%); transition:transform .15s; }
.visitor-category input:checked + .visitor-switch { background:var(--visitor-accent); border-color:var(--visitor-accent); }
.visitor-category input:checked + .visitor-switch::before { transform:translateX(16px); }
[dir=rtl] .visitor-category input:checked + .visitor-switch::before { transform:translateX(-16px); }
.visitor-category input:focus-visible + .visitor-switch { outline:3px solid var(--visitor-accent); outline-offset:3px; }
.visitor-category input:disabled + .visitor-switch { opacity:.5; }
.visitor-gpc,.visitor-consent-date,.visitor-storage-note { margin:14px 0 0; font-size:11px; line-height:1.7; color:var(--visitor-muted); }
.visitor-gpc { padding:10px 12px; background:#f2f6fa; border-radius:8px; }
.visitor-profiles { display:flex; flex-wrap:wrap; gap:6px; margin-block-end:14px; }
.visitor-profiles button { flex:1; min-block-size:40px; padding:7px 9px; border:1px solid var(--visitor-line); border-radius:8px; background:#f8f9fc; color:#566379; font-size:11px; white-space:nowrap; }
.visitor-profiles button:hover { border-color:#c5cedb; background:#f0f3f8; }
.visitor-text-size { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:12px; margin-block-end:12px; border:1px solid var(--visitor-line); border-radius:11px; }
.visitor-text-size > span { font-size:12px; font-weight:500; }
.visitor-text-size > div { display:flex; align-items:center; gap:5px; }
.visitor-text-size button { min-inline-size:40px; min-block-size:40px; border:0; border-radius:7px; background:#f1f4f8; color:var(--visitor-ink); font-size:15px; }
.visitor-text-size button:disabled { opacity:.35; cursor:default; }
.visitor-text-size output { min-inline-size:46px; text-align:center; color:#788497; font-size:12px; font-variant-numeric:tabular-nums; }
.visitor-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.visitor-feature { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-block-size:82px; padding:10px 8px; border:1px solid var(--visitor-line); border-radius:11px; background:#fff; color:#566379; font-size:12px; line-height:1.5; }
.visitor-feature > span:first-child { font-size:24px; line-height:1; font-weight:400; color:#8793a5; }
.visitor-feature:hover { background:#f8f9fb; border-color:#c9d2df; }
.visitor-feature[aria-pressed=true] { background:#fcf3f5; border-color:var(--visitor-accent); color:var(--visitor-accent); box-shadow:inset 0 0 0 1px var(--visitor-accent); }
.visitor-feature[aria-pressed=true] > span:first-child { color:var(--visitor-accent); }
.visitor-modal-open { overflow:hidden; }
.visitor-reading-guide { position:fixed; left:0; right:0; top:50%; block-size:3px; pointer-events:none; z-index:190; background:#b91f3b; box-shadow:0 0 0 1px #fff; }
.visitor-footer-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 20px; padding:12px 70px; border-block-start:1px solid #edf0f4; background:#fff; }
.visitor-inline-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-block-size:44px; padding:8px 10px; border:1px solid #e8ecf2; border-radius:8px; background:#fff; color:#586477; font:400 12px/1.5 Heebo,Arial,sans-serif; cursor:pointer; }
.visitor-inline-button svg { inline-size:17px; block-size:17px; }
.visitor-footer-links .visitor-inline-button { border:0; padding:0; background:none; font:400 11px/20px Heebo,Arial,sans-serif; white-space:nowrap; }
.visitor-footer-links .visitor-inline-button svg { display:block; flex:none; inline-size:15px; block-size:15px; }
.visitor-site-credit { display:flex; align-items:center; justify-content:center; gap:7px; min-block-size:44px; margin:0; font:400 11px/20px Heebo,Arial,sans-serif; letter-spacing:.04em; color:#737b88; white-space:nowrap; }
.visitor-site-credit__mark { display:block; flex:none; inline-size:20px; block-size:20px; object-fit:contain; }
.visitor-widget-links { display:grid; gap:8px; }
.visitor-sr-status { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
iframe[data-consent-src]:not([src]) { display:none!important; }
.visitor-embed-placeholder { display:grid; place-items:center; gap:12px; min-block-size:180px; padding:24px; border:1px solid #e2e7ee; border-radius:12px; background:#f5f7fa; text-align:center; }
.visitor-embed-placeholder p { margin:0; color:#586477; font-size:14px; }
/* Visitor-selected adaptations affect the site, while controls stay usable. */
.visitor-a11y-links :is(.site-main,.site-header,.site-footer) a { text-decoration:underline!important; text-decoration-thickness:2px!important; text-underline-offset:4px!important; }
.visitor-a11y-font :is(.site-main,.site-header,.site-footer) :is(p,a,li,h1,h2,h3,h4,h5,h6,button,label,input,textarea) { font-family:Arial,sans-serif!important; }
.visitor-a11y-spacing .site-main :is(p,li,dt,dd) { line-height:2!important; letter-spacing:.04em!important; word-spacing:.08em!important; }
.visitor-a11y-spacing .site-main p { margin-block-end:1.5em!important; }
.visitor-a11y-images .site-main :is(img,picture) { opacity:0!important; }
.visitor-a11y-focus :is(.site-main,.site-header,.site-footer) :focus-visible { outline:3px solid #125ec4!important; outline-offset:4px!important; box-shadow:0 0 0 6px #fff!important; }
.visitor-a11y-motion,.visitor-a11y-motion *, .visitor-a11y-motion *::before,.visitor-a11y-motion *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
.visitor-a11y-contrast body,.visitor-a11y-contrast :is(.site-main,.site-header,.site-footer),.visitor-a11y-contrast .site-main :is(article,aside,section,div,figure,blockquote,pre,td,th) { background-color:#fff!important; background-image:none!important; color:#111!important; }
.visitor-a11y-contrast :is(.site-main,.site-header,.site-footer) :is(h1,h2,h3,h4,h5,h6,p,li,span,time,label,input,textarea) { color:#111!important; }
.visitor-a11y-contrast :is(.site-main,.site-header,.site-footer) a { color:#003d8f!important; text-decoration:underline!important; }
.visitor-a11y-contrast :is(.site-main,.site-header,.site-footer) button { color:#111!important; background:#fff!important; border:1px solid #111!important; }
.visitor-a11y-contrast .post-hero::after { background:#fff!important; }
.visitor-a11y-contrast .post-hero__image { opacity:.08!important; }
@media (max-width:600px) {
 .visitor-desktop-only { display:none!important; }
 .visitor-launchers { right:10px; }
 .visitor-tools--left .visitor-launchers { left:10px; }
 .visitor-banner { inset-inline:10px; inline-size:calc(100% - 20px); bottom:calc(10px + env(safe-area-inset-bottom,0px)); padding:18px; border-radius:15px; }
 .visitor-banner--top { bottom:auto; top:calc(10px + env(safe-area-inset-top,0px)); }
 .visitor-banner h2 { font-size:19px; }
 .visitor-banner-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
 .visitor-banner-actions > :last-child { grid-column:1 / -1; }
 .visitor-panel { inline-size:calc(100% - 20px); max-block-size:calc(100vh - 24px - env(safe-area-inset-bottom,0px)); max-block-size:calc(100dvh - 24px - env(safe-area-inset-bottom,0px)); border-radius:16px; }
 .visitor-panel-heading { padding:17px 16px 14px; }
 .visitor-panel-heading h2 { font-size:19px; }
 .visitor-panel-body { padding:16px; }
 .visitor-panel-footer { padding:14px 16px 16px; }
 .visitor-footer-links { padding-inline:60px; gap:0 10px; }
 .visitor-footer-links .visitor-inline-button { gap:5px; }
 .visitor-site-credit { flex-basis:100%; min-block-size:20px; font-size:10px; }
}
@media (prefers-reduced-motion:reduce) { .visitor-tools *,.visitor-tools *::before { animation:none!important; transition:none!important; } }
@media (forced-colors:active) { .visitor-switch { border:1px solid ButtonText; } .visitor-switch::before { background:ButtonText; } .visitor-feature[aria-pressed=true] { outline:2px solid Highlight; } }
@media print { #visitor-tools,.visitor-inline-button,.visitor-embed-placeholder { display:none!important; } }

/* Floating controls honor the position, size and offset set in the admin. */
.visitor-tools .visitor-launchers { gap:8px; opacity:1; visibility:visible; transition:opacity .3s ease,visibility 0s; }
.visitor-tools .visitor-launcher { inline-size:var(--visitor-size); block-size:var(--visitor-size); padding:0; transition:background-color .18s; }
.visitor-tools--left .visitor-launchers { right:auto; left:0; bottom:calc(var(--visitor-bottom) + 44px + env(safe-area-inset-bottom,0px)); }
.visitor-tools--left .visitor-launcher { border-left:0; border-radius:0 9px 9px 0; box-shadow:2px 3px 12px rgb(0 0 0 / 18%); }
.visitor-tools--right .visitor-launchers { right:0; left:auto; bottom:calc(var(--visitor-bottom) + env(safe-area-inset-bottom,0px)); }
.visitor-tools--right .visitor-launcher { border-right:0; border-radius:9px 0 0 9px; box-shadow:-2px 3px 12px rgb(0 0 0 / 18%); }
.visitor-tools .visitor-launcher:hover { transform:none; box-shadow:2px 3px 12px rgb(0 0 0 / 18%); background:#961b31; }
.visitor-tools .visitor-launcher--privacy:hover { background:#edf0f5; }
.visitor-tools .visitor-launcher svg { inline-size:21px; block-size:21px; stroke-width:1.5; }
@media(prefers-reduced-motion:reduce) { .visitor-tools .visitor-launcher { transition:none; } }

/* Accessibility panel shares the mobile menu's atmospheric treatment. */
:is(#visitor-accessibility,#visitor-privacy) { --visitor-ink:#f5f5f7; --visitor-muted:#c1c6d0; --visitor-line:rgb(255 255 255 / 18%); background:#0c1018; color:var(--visitor-ink); isolation:isolate; border-color:var(--visitor-line); }
.visitor-accessibility-backdrop { position:absolute; inset:0; inline-size:100%; block-size:100%; object-fit:cover; object-position:center bottom; opacity:.38; z-index:-1; pointer-events:none; }
.visitor-accessibility-brand { display:flex; justify-content:center; padding:30px 60px 4px; }
.visitor-accessibility-brand .site-logo img { block-size:58px; max-inline-size:200px; object-fit:contain; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-panel-heading { background:transparent; border:0; padding-block-end:4px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-eyebrow { display:none; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-panel-heading h2 { font-size:23px; color:#fff; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-close { position:absolute; top:12px; right:12px; inline-size:36px; block-size:36px; border:0; border-radius:50%; background:#c9233e; color:#fff; }
:is(#visitor-accessibility,#visitor-privacy) :is(.visitor-feature,.visitor-profiles button,.visitor-button,.visitor-text-size button) { background:rgb(8 12 20 / 76%); border-color:var(--visitor-line); color:#f2f3f6; transition:background-color .2s,border-color .2s; }
:is(#visitor-accessibility,#visitor-privacy) :is(.visitor-feature,.visitor-profiles button,.visitor-button,.visitor-text-size button):hover { background:rgb(35 42 55 / 92%); border-color:rgb(255 255 255 / 38%); }
:is(#visitor-accessibility,#visitor-privacy) .visitor-feature > span:first-child { color:#c5cbd5; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-feature[aria-pressed=true] { background:#672033; border-color:#ff8297; color:#fff; box-shadow:inset 0 0 0 1px #ff8297; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-feature[aria-pressed=true] > span:first-child { color:#fff; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-panel-footer { background:rgb(8 12 20 / 65%); border-color:var(--visitor-line); }
:is(#visitor-accessibility,#visitor-privacy) :is(.visitor-storage-note,.visitor-secondary-actions a) { color:#c1c6d0; }
:is(#visitor-accessibility,#visitor-privacy) :is(button,a):focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { :is(#visitor-accessibility,#visitor-privacy) button { transition:none; } }

/* Compact accessibility drawer, aligned with the mobile navigation panel. */
:is(#visitor-accessibility,#visitor-privacy) {
 inset:0 0 0 auto; margin:0; inline-size:min(88vw,350px); max-inline-size:350px;
 block-size:100vh; max-block-size:100vh; block-size:100dvh; max-block-size:100dvh; border-radius:0; border:0;
 box-shadow:-12px 0 32px rgb(0 0 0 / 30%); overflow-y:auto;
}
:is(#visitor-accessibility,#visitor-privacy)[open] { animation:visitor-drawer-enter .28s ease both; }
:is(#visitor-accessibility,#visitor-privacy)::backdrop { background:rgb(0 0 0 / 55%); backdrop-filter:blur(3px); }
:is(#visitor-accessibility,#visitor-privacy) .visitor-accessibility-brand { padding:24px 50px 10px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-accessibility-brand .site-logo img { block-size:48px; max-inline-size:190px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-panel-heading { padding:12px 16px 4px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-panel-heading h2 { font-size:20px; line-height:1.35; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-panel-body { padding:12px 16px 16px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-intro { font-size:12px; line-height:1.65; margin-block-end:12px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-profiles { gap:5px; margin-block-end:10px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-profiles button { min-block-size:34px; padding:6px; font-size:10px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-text-size { padding:8px 10px; gap:6px; margin-block-end:10px; border-radius:9px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-text-size button { min-inline-size:32px; min-block-size:32px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-text-size output { color:#d0d5de; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-feature-grid { gap:6px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-feature { min-block-size:62px; padding:8px 6px; gap:4px; border-radius:9px; font-size:11px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-feature > span:first-child { font-size:20px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-panel-footer { padding:12px 16px 18px; }
:is(#visitor-accessibility,#visitor-privacy) .visitor-panel-footer > .visitor-button { min-block-size:36px; padding:7px 12px; font-size:12px; }
@keyframes visitor-drawer-enter { from { opacity:0; transform:translateX(100%); } to { opacity:1; transform:translateX(0); } }
@media(max-width:700px) { :is(#visitor-accessibility,#visitor-privacy) { inline-size:min(88vw,320px); } }
@media(prefers-reduced-motion:reduce) { :is(#visitor-accessibility,#visitor-privacy)[open] { animation:none; } }

#visitor-privacy .visitor-category { padding:11px 0; gap:10px; }
#visitor-privacy .visitor-category strong { font-size:12px; }
#visitor-privacy .visitor-essential { color:#d2d7e0; background:rgb(255 255 255 / 8%); }
#visitor-privacy .visitor-secondary-actions a { color:#d2d7e0; }
#visitor-privacy .visitor-switch { border-color:rgb(255 255 255 / 30%); background:#394253; }
#visitor-privacy .visitor-category input:focus-visible + .visitor-switch { outline-color:#fff; }
#visitor-privacy .visitor-panel-footer .visitor-button { min-block-size:36px; padding:7px 10px; font-size:12px; }

/* Footer utility labels share one exact text baseline and control height. */
.visitor-footer-links { align-items:baseline; gap:8px 20px; }
.visitor-footer-links .visitor-inline-button,.visitor-footer-links .visitor-site-credit { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-block-size:44px; padding:0; margin:0; font-family:Heebo,Arial,sans-serif; font-size:11px; font-weight:400; line-height:20px; letter-spacing:0; vertical-align:middle; }
.visitor-footer-links .visitor-site-credit { flex:0 0 auto; }
@media(max-width:600px) {
 .visitor-footer-links { padding:10px 16px; gap:6px 14px; }
 .visitor-footer-links .visitor-inline-button,.visitor-footer-links .visitor-site-credit { min-block-size:36px; font-size:10px; line-height:20px; }
}

.visitor-footer-links { align-items:center; }

/* Give the three footer actions a calm rhythm without shrinking their hit area. */
.visitor-footer-links { column-gap:26px; }
.visitor-footer-links .visitor-inline-button,.visitor-footer-links .visitor-site-credit { font-size:10px; }
.visitor-footer-links .visitor-inline-button { gap:5px; }
.visitor-footer-links .visitor-inline-button svg { inline-size:14px; block-size:14px; }
.visitor-footer-links .visitor-site-credit { gap:5px; }
.visitor-footer-links .visitor-site-credit__mark { inline-size:18px; block-size:18px; }
@media(max-width:600px) {
	.visitor-footer-links { column-gap:18px; }
}

/* Keep utility actions on consistent rows, including narrow RTL screens. */
.visitor-footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,max-content)); align-items:center; justify-content:center; }
.visitor-footer-links .visitor-inline-button,.visitor-footer-links .visitor-site-credit { min-inline-size:0; min-block-size:44px; white-space:normal; text-align:center; overflow-wrap:anywhere; }
.visitor-footer-links .visitor-inline-button svg,.visitor-footer-links .visitor-site-credit__mark { inline-size:18px; block-size:18px; flex:none; }
@media(max-width:600px) {
 .visitor-footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; padding-inline:16px; }
 .visitor-footer-links .visitor-site-credit { grid-column:1 / -1; justify-self:center; }
}

/* Make consent choices unmistakable while keeping the artwork atmospheric. */
#visitor-privacy .visitor-accessibility-backdrop { opacity:.15; filter:saturate(.78) brightness(.72); }
#visitor-privacy .visitor-intro { color:#e0e5ec; }
#visitor-privacy .visitor-category { margin-block:8px; padding:12px; border:1px solid rgb(255 255 255 / 12%); border-radius:11px; background:rgb(7 12 20 / 84%); }
#visitor-privacy .visitor-category strong { color:#fff; }
#visitor-privacy .visitor-category-description { color:#c8d0da; }
#visitor-privacy .visitor-switch { inline-size:48px; block-size:26px; border-color:#cf5365; background:#a92d43; transition:background-color .18s,border-color .18s; }
#visitor-privacy .visitor-switch::before { inline-size:18px; block-size:18px; }
#visitor-privacy .visitor-switch::after { content:"×"; position:absolute; inset-block-start:0; inset-inline-start:29px; inline-size:14px; block-size:24px; color:#fff; font:700 14px/24px Arial,sans-serif; text-align:center; }
#visitor-privacy .visitor-category input:checked + .visitor-switch { border-color:#3cbd7a; background:#218653; }
#visitor-privacy .visitor-category input:checked + .visitor-switch::after { content:"✓"; inset-inline-start:3px; }
#visitor-privacy .visitor-essential { border:1px solid rgb(72 190 126 / 36%); background:rgb(33 134 83 / 30%); color:#c6f5d9; }
#visitor-privacy .visitor-panel-footer { border-color:rgb(255 255 255 / 14%); background:rgb(5 9 16 / 94%); }
#visitor-privacy .visitor-panel-footer .visitor-button--primary { border-color:#ee7184; background:#b91f3b; color:#fff; box-shadow:0 3px 14px rgb(0 0 0 / 25%); }
#visitor-privacy .visitor-panel-footer .visitor-button--primary:hover { border-color:#f59aa8; background:#cf2946; }
#visitor-privacy .visitor-secondary-actions .visitor-text-button { color:#e0e5ec; }
