/* Xionia privacy controls, v31.4.1. */
:root { --xp-bg:#fff; --xp-ink:#183447; --xp-line:#bdcfdb; --xp-accent:#075d76; }
body.xionia-dark, body:not(.light):not(.xionia-legacy):not(.xionia-home) { --xp-bg:#142331; --xp-ink:#edf5fa; --xp-line:#536b80; --xp-accent:#8cdbef; }
.xionia-privacy-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; padding:14px 16px; margin:0 auto; max-width:1180px; font:14px/1.5 system-ui,sans-serif; }
.xionia-privacy-links a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.xionia-cookie-notice,.xionia-privacy-dialog,.xionia-embed-consent { box-sizing:border-box; color:var(--xp-ink); background:var(--xp-bg); border:1px solid var(--xp-line); font:15px/1.55 system-ui,sans-serif; text-align:left; overflow-wrap:anywhere; }
.xionia-cookie-notice *,.xionia-privacy-dialog *,.xionia-embed-consent * { box-sizing:border-box; }
.xionia-cookie-notice { position:fixed; inset:auto 16px 16px; z-index:11000; max-width:920px; max-height:60vh; overflow:auto; margin:auto; padding:16px 20px; border-radius:14px; box-shadow:0 5px 28px #0003; }
.xionia-cookie-notice p { margin:0 0 10px; }
.xionia-privacy-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.xionia-cookie-notice button,.xionia-privacy-dialog button,.xionia-embed-consent button { appearance:none; font:600 14px/1.4 system-ui,sans-serif; background:var(--xp-bg); color:var(--xp-ink); border:1px solid var(--xp-line); border-radius:8px; min-height:44px; padding:10px 14px; cursor:pointer; }
.xionia-cookie-notice a,.xionia-privacy-dialog a,.xionia-embed-consent a { color:var(--xp-accent); text-decoration:underline; text-underline-offset:3px; }
.xionia-cookie-notice button:hover,.xionia-privacy-dialog button:hover,.xionia-embed-consent button:hover { border-color:var(--xp-accent); }
.xionia-cookie-notice :focus-visible,.xionia-privacy-dialog :focus-visible,.xionia-embed-consent :focus-visible { outline:3px solid var(--xp-accent); outline-offset:3px; }
.xionia-privacy-dialog { position:fixed; inset:0; margin:auto; width:min(620px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; padding:24px; border-radius:14px; z-index:12000; }
.xionia-privacy-dialog::backdrop { background:#0008; }
.xionia-privacy-dialog h2 { margin:12px 0; font-size:24px; line-height:1.25; }
.xionia-privacy-dialog h3 { font-size:18px; margin:0 0 8px; }
.xionia-privacy-dialog section { padding:18px 0; border-top:1px solid var(--xp-line); }
.xionia-privacy-dialog p { margin:10px 0; }
.xionia-privacy-close { display:block; margin-left:auto; }
.xionia-privacy-option { display:flex; gap:12px; align-items:flex-start; padding:8px 0 16px; cursor:pointer; }
.xionia-privacy-option input { width:20px; height:20px; flex:0 0 20px; margin:2px 0; accent-color:var(--xp-accent); }
.xionia-embed-consent { width:100%; max-width:1152px; margin:12px auto; padding:12px 16px; border-radius:10px; }
.xionia-embed-consent strong { font-size:17px; }
.xionia-embed-consent p { margin:10px 0 16px; }
.xionia-weather-frame:has(> .xionia-embed-consent:not([hidden])) { height:auto!important; min-height:240px; aspect-ratio:auto!important; }
.xionia-snowly-frame:has(> .xionia-embed-consent:not([hidden])) { height:auto!important; min-height:260px; }
.xionia-snowly-frame > .xionia-embed-consent { position:relative; z-index:2; }
html body iframe[data-xionia-embed-src][hidden],html body .xionia-embed-consent[hidden],html body .xionia-snowly-placeholder[hidden],html body .xionia-cookie-notice[hidden],html body .xionia-privacy-dialog[hidden] { display:none!important; }
.xionia-policy { max-width:920px; width:calc(100% - 32px); margin:24px auto 40px; padding:0 12px; font:16px/1.75 system-ui,sans-serif; text-align:left; overflow-wrap:anywhere; }
.xionia-policy h1 { font-size:clamp(27px,4vw,38px); line-height:1.2; }
.xionia-policy h2 { font-size:22px; line-height:1.35; margin-top:30px; }
.xionia-policy a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.xionia-policy table { width:100%; border-collapse:collapse; font-size:14px; }
.xionia-policy th,.xionia-policy td { border:1px solid var(--xp-line); padding:10px; text-align:left; vertical-align:top; }
.xionia-policy .policy-table { overflow-x:auto; }
@media(max-width:480px) { .xionia-cookie-notice { inset:auto 8px 8px; padding:14px; } .xionia-privacy-dialog { padding:16px; } .xionia-embed-consent { padding:16px; } .xionia-privacy-actions button { flex:1 1 130px; } }
@media(prefers-reduced-motion:reduce) { .xionia-privacy-dialog,.xionia-cookie-notice { scroll-behavior:auto; } }

/* No repeated controls in the embeds; the notice contains the single choice. */
.xionia-embed-consent p[hidden] { display:none!important; }
.xionia-embed-consent p { margin:6px 0 0; }
.xionia-cookie-notice button { min-width:100px; }
