/* Valcored Consent: banner, Settings dialog, embed placeholders and the cookie table. */
:root{--vnn-consent-h:0px}
.vnn-cb,.vnn-cd,.vnn-embed,.vnn-cookie-table{--c-ink:#0b1b33;--c-ink2:#12284a;--c-text:#16243a;--c-muted:#53647c;--c-line:#dbe2ec;--c-accent:#d4123c;--c-focus:#ffb547;font-family:var(--sans,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif)}

/* ---------- Banner ---------- */
.vnn-cb{display:none;position:fixed;z-index:9990;left:0;right:0;bottom:0;color:#fff;background:radial-gradient(700px 220px at 100% 0,rgba(93,145,255,.28),transparent 70%),linear-gradient(160deg,#12284a,#0b1b33 60%,#071225);box-shadow:0 -18px 40px -20px rgba(3,12,24,.65);border-top:1px solid rgba(255,255,255,.12)}
.vnn-c-ask .vnn-cb:not([hidden]){display:block}
.vnn-cb[hidden]{display:none!important}
.vnn-cb__in{width:min(1320px,calc(100% - 36px));margin:0 auto;padding:18px 0 calc(18px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 32px;align-items:center}
.vnn-cb__title{margin:0 0 4px;color:#fff;font-size:1.0625rem;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.vnn-cb__text,.vnn-cb__gpc{margin:0;color:#d4deec;font-size:.9375rem;line-height:1.5;max-width:76ch}
.vnn-cb__gpc{margin-top:6px;color:#ffd38a}
.vnn-cb a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.vnn-cb a:hover{color:#ffd38a}
.vnn-cb__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.vnn-cb--corner{left:18px;right:auto;bottom:18px;max-width:430px;border-radius:20px;border:1px solid rgba(255,255,255,.14)}
.vnn-cb--corner .vnn-cb__in{width:auto;padding:20px 22px;grid-template-columns:1fr}
.vnn-cb--corner .vnn-cb__actions{justify-content:stretch}
.vnn-cb--corner .vnn-cbtn--choice{flex:1 1 0}

/* Buttons. "Accept all" and "Reject all" always look the same, so neither is pushed. */
.vnn-cbtn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:44px;padding:0 22px;border-radius:999px;border:2px solid transparent;font-weight:700;font-size:.9375rem;line-height:1.1;font-family:inherit;cursor:pointer;transition:transform .15s,background-color .15s,box-shadow .15s;text-align:center}
.vnn-cbtn:active{transform:translateY(1px)}
.vnn-cbtn--choice{min-width:9.5em;background:#fff;color:var(--c-ink);border-color:#fff;box-shadow:inset 0 -2px 0 rgba(11,27,51,.12)}
.vnn-cbtn--choice:hover{background:#eef3fb}
.vnn-cbtn--settings{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.vnn-cbtn--settings:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.vnn-cbtn--save{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.vnn-cbtn--save:hover{background:#a00a2c;border-color:#a00a2c}
.vnn-cb :focus-visible,.vnn-cd :focus-visible,.vnn-embed :focus-visible,.vnn-cookie-table :focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}

/* ---------- Settings dialog ---------- */
.vnn-cd{width:min(680px,calc(100% - 24px));max-height:min(88vh,860px);padding:0;border:0;border-radius:22px;color:var(--c-text);background:#fff;box-shadow:0 40px 120px -30px rgba(3,12,24,.75)}
.vnn-cd::backdrop{background:rgba(3,12,24,.66)}
.vnn-cd[open]{display:flex}
.vnn-cd__form{display:flex;flex-direction:column;width:100%;max-height:inherit;margin:0}
.vnn-cd__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;color:#fff;background:linear-gradient(160deg,#12284a,#0b1b33);border-radius:22px 22px 0 0}
.vnn-cd__title{margin:0;color:#fff;font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
.vnn-cd__close{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.1);cursor:pointer}
.vnn-cd__close:hover{background:rgba(255,255,255,.2)}
.vnn-cd__body{overflow:auto;padding:18px 22px 6px;overscroll-behavior:contain}
.vnn-cd__intro{margin:0 0 14px;color:var(--c-muted);line-height:1.55}
.vnn-cd__gpc{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:#fff6e5;color:#5a3a00;line-height:1.5}
.vnn-cd__cats{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.vnn-cd__cat{border:1px solid var(--c-line);border-radius:14px;padding:14px 16px;background:#f7f9fc}
.vnn-cd__row{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
.vnn-cd__name{margin:0 0 3px;font-size:1rem;font-weight:800;color:var(--c-ink)}
.vnn-cd__desc{margin:0;color:var(--c-muted);font-size:.9375rem;line-height:1.5}
.vnn-cd__always{flex:none;padding:5px 10px;border-radius:999px;background:var(--c-ink);color:#fff;font-size:.6875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.vnn-cd__what{margin-top:10px}
.vnn-cd__what summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;color:#1b46b5;font-weight:700;font-size:.875rem}
.vnn-cd__count{margin-left:4px;color:var(--c-muted);font-weight:600}
.vnn-cd__what ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.vnn-cd__what li{padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e9eef5;font-size:.875rem;line-height:1.5;color:var(--c-text);overflow-wrap:anywhere}
.vnn-cd__what code{font-size:.8125rem;font-weight:700;color:var(--c-ink);background:#eef2f8;padding:1px 5px;border-radius:5px}
.vnn-cd__what li span{color:var(--c-muted)}
.vnn-cd__id{margin:14px 0 0;font-size:.875rem;color:var(--c-muted);overflow-wrap:anywhere}
.vnn-cd__id code{font-weight:700;color:var(--c-ink)}
.vnn-cd__more{margin:12px 0 10px;font-size:.9375rem}
.vnn-cd__more a{color:#1b46b5;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.vnn-cd__foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:14px 22px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--c-line);background:#fff;border-radius:0 0 22px 22px}
.vnn-cd .vnn-cbtn--choice{background:#fff;color:var(--c-ink);border-color:var(--c-ink);box-shadow:none}
.vnn-cd .vnn-cbtn--choice:hover{background:#eef3fb}
html.vnn-cd-open{overflow:hidden}

/* Switch: a real checkbox, with "On" or "Off" written next to it (not colour alone). */
.vnn-switch{position:relative;flex:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:44px}
.vnn-switch input{position:absolute;z-index:1;opacity:0;width:52px;height:30px;margin:0;cursor:pointer}
.vnn-switch__track{position:relative;width:52px;height:30px;border-radius:999px;background:#8a96a8;border:2px solid #6b778a;transition:background-color .2s}
.vnn-switch__track::before{content:"";position:absolute;left:2px;top:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
.vnn-switch input:checked+.vnn-switch__track{background:var(--c-accent);border-color:#a00a2c}
.vnn-switch input:checked+.vnn-switch__track::before{transform:translateX(22px)}
.vnn-switch input:focus-visible+.vnn-switch__track{outline:3px solid var(--c-focus);outline-offset:3px}
.vnn-switch__state{min-width:2em;font-weight:800;font-size:.875rem;color:var(--c-ink)}
.vnn-switch__state::before{content:attr(data-off)}
.vnn-switch input:checked~.vnn-switch__state::before{content:attr(data-on)}

/* ---------- Embedded content waiting for the reader ---------- */
.vnn-embed{position:relative;width:100%;margin:0 0 1.5em;border-radius:16px;color:#fff;background:radial-gradient(520px 200px at 100% 0,rgba(93,145,255,.3),transparent 70%),linear-gradient(160deg,#1c3a66,#0b1b33 70%);min-height:220px;display:flex}
/* The box keeps the video's shape (--vnn-r) but grows when its text needs more room. */
.vnn-embed::before{content:"";flex:none;width:0;padding-top:var(--vnn-r,0)}
.vnn-embed[style*="--vnn-r"]{min-height:0}
.wp-block-embed__wrapper:has(>.vnn-embed)::before{display:none}
.wp-block-embed__wrapper>.vnn-embed{margin:0}
.wp-has-aspect-ratio .wp-block-embed__wrapper>.vnn-embed{--vnn-r:56.25%;min-height:0}
.vnn-video__player>.vnn-embed{--vnn-r:56.25%;min-height:0;margin:0;max-width:none!important;border-radius:0}
.vnn-embed__box{display:flex;flex-direction:column;justify-content:center;gap:8px;width:100%;padding:22px clamp(18px,4vw,36px);text-align:left}
.vnn-embed__kicker{margin:0;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffd38a}
.vnn-embed__title{margin:0;font-size:1.125rem;font-weight:800;line-height:1.3;color:#fff}
.vnn-embed__text{margin:0;max-width:62ch;font-size:.9375rem;line-height:1.5;color:#d4deec}
.vnn-embed__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.vnn-embed__load,.vnn-embed__always{appearance:none;min-height:44px;padding:0 18px;border-radius:999px;font-weight:700;font-size:.9375rem;line-height:1;font-family:inherit;cursor:pointer}
.vnn-embed__load{background:#fff;color:#0b1b33;border:2px solid #fff}
.vnn-embed__load:hover{background:#eef3fb}
.vnn-embed__always{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
.vnn-embed__always:hover{border-color:#fff}
.vnn-embed .vnn-embed__open{align-self:flex-start;margin-top:2px;color:#fff!important;text-decoration:underline;text-underline-offset:3px;font-weight:600;font-size:.875rem}
.vnn-embed .vnn-embed__open:hover{color:#ffd38a!important}
.vnn-embed .vnn-embed__text,.vnn-embed .vnn-embed__kicker,.vnn-embed .vnn-embed__title{text-indent:0}
.vnn-embed .vnn-embed__text::first-letter{all:unset}
.vnn-embed--script{min-height:0;margin-top:-.5em}
.vnn-social:has(.vnn-embed){flex-direction:column;align-items:stretch}
.vnn-social .vnn-embed--script{margin:10px 0 0}
.vnn-embed--script .vnn-embed__box{padding:14px 18px;gap:4px}
.vnn-embed--script .vnn-embed__kicker{display:none}
.vnn-embed--wp{min-height:160px}
html:not(.vnn-cjs) .vnn-embed__actions{display:none}
.vnn-c-media .vnn-embed__box{visibility:hidden}

/* ---------- Cookie table on the Cookies policy ---------- */
.vnn-cookie-table h3{margin:1.6em 0 .3em}
.vnn-cookie-table__note{margin:0 0 .7em;color:var(--c-muted)}
.vnn-cookie-table__scroll{overflow-x:auto;border:1px solid var(--c-line);border-radius:12px;background:#fff}
.vnn-cookie-table table{width:100%;min-width:640px;border-collapse:collapse;font-size:.9375rem;line-height:1.45}
.vnn-cookie-table th,.vnn-cookie-table td{padding:10px 12px;text-align:left;vertical-align:top;border-top:1px solid #e9eef5}
.vnn-cookie-table thead th{border-top:0;background:#f2f5f9;color:var(--c-ink);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}
.vnn-cookie-table tbody th{font-weight:400}
.vnn-cookie-table code{font-size:.8125rem;font-weight:700;color:var(--c-ink);overflow-wrap:anywhere}
.vnn-cookie-table__updated{margin-top:1em;color:var(--c-muted);font-size:.9375rem}
.vnn-link-button{appearance:none;padding:0;border:0;background:none;color:#1b46b5;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.vnn-link-button:hover{color:#d4123c}
.vnn-c-live{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Keep fixed bottom elements above the banner. */
.vnn-c-ask body{padding-bottom:var(--vnn-consent-h)}

@media (max-width:760px){
  .vnn-cb__in{grid-template-columns:1fr;padding-top:14px}
  .vnn-cb__text{font-size:.875rem}
  .vnn-cb__actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}
  .vnn-cb__actions .vnn-cbtn--settings{grid-column:1/-1;min-height:42px}
  .vnn-cbtn--choice{min-width:0}
  .vnn-cb--corner{left:10px;right:10px;bottom:10px;max-width:none}
  .vnn-cd{width:100%;max-height:92vh;margin:auto 0 0;border-radius:22px 22px 0 0}
  .vnn-cd__head{border-radius:22px 22px 0 0}
  .vnn-cd__foot{border-radius:0}
  .vnn-cd__foot .vnn-cbtn{flex:1 1 40%}
  .vnn-cd__foot .vnn-cbtn--save{flex-basis:100%}
  .vnn-cd__row{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){.vnn-cbtn,.vnn-switch__track,.vnn-switch__track::before{transition:none}}
.vnn-still .vnn-cbtn,.vnn-still .vnn-switch__track,.vnn-still .vnn-switch__track::before{transition:none}
@media (forced-colors:active){
  .vnn-cb,.vnn-cd,.vnn-embed{border:2px solid CanvasText}
  .vnn-cbtn,.vnn-embed__load,.vnn-embed__always{border:2px solid ButtonText}
  .vnn-switch__track{border-color:ButtonText;background:Canvas}
  .vnn-switch__track::before{background:ButtonText}
  .vnn-switch input:checked+.vnn-switch__track{background:Highlight}
}
@media print{.vnn-cb,.vnn-cd{display:none!important}}
