/* Blogium: accessible first-party cookie preferences, light/dark modes. */
.blogium-consent-banner,.blogium-consent-backdrop{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box}
.blogium-consent-banner *,.blogium-consent-backdrop *{box-sizing:border-box}
.blogium-consent-banner{position:fixed;z-index:2147483000;bottom:18px;left:50%;transform:translateX(-50%);width:min(960px,calc(100% - 28px));display:flex;align-items:center;gap:28px;border:1px solid var(--border,#e5e7eb);box-shadow:0 24px 80px rgba(0,0,0,.24);border-radius:18px;padding:22px 24px;background:var(--surface,#fff);color:var(--text-main,#0f172a)}
.blogium-consent-copy{flex:1;min-width:0}.blogium-consent-copy strong{font-size:17px;color:var(--text-heading,#0f172a);font-weight:750}.blogium-consent-copy p{font-size:13px;line-height:1.65;margin:8px 0 0;color:var(--text-secondary,#475569)}.blogium-consent-banner a,.blogium-consent-dialog a{color:var(--link-indigo,#2563eb);text-decoration:underline}
.blogium-consent-actions{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;justify-content:flex-end;max-width:380px}
.blogium-consent-actions button,.blogium-consent-dialog-actions button{border-radius:10px;padding:12px 15px;font:600 13px/1.35 inherit;font-family:inherit;cursor:pointer;border:1px solid transparent;min-height:44px;transition:filter .15s ease,background .15s ease}
.blogium-consent-primary{background:#2563eb;color:#fff!important;border-color:#2563eb!important}.blogium-consent-primary:hover{filter:brightness(.9)}
.blogium-consent-secondary{background:var(--surface-soft,#f1f5f9);color:var(--text-heading,#0f172a);border-color:var(--border,#e2e8f0)!important}.blogium-consent-plain{background:transparent;color:var(--text-heading,#334155);border-color:var(--border,#e2e8f0)!important}
.blogium-consent-backdrop{position:fixed;inset:0;z-index:2147483001;display:flex;align-items:center;justify-content:center;background:rgba(5,10,20,.66);padding:16px}
.blogium-consent-dialog{width:min(100%,540px);max-height:min(92vh,760px);overflow:auto;background:var(--surface,#fff);color:var(--text-main,#0f172a);border-radius:18px;padding:26px;border:1px solid var(--border,#e2e8f0);box-shadow:0 28px 85px rgba(0,0,0,.25)}
.blogium-consent-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}
.blogium-consent-dialog-head h2{font-size:23px;line-height:1.25;color:var(--text-heading,#0f172a);font-weight:750;margin:0}.blogium-consent-dialog-head p{margin:6px 0 0;font-size:13px;color:var(--text-secondary,#64748b)}
.blogium-consent-close{width:36px;height:36px;border:1px solid var(--border,#e2e8f0);background:var(--surface-soft,#f1f5f9);color:var(--text-heading,#111827);border-radius:9px;font-size:26px;line-height:1;cursor:pointer;flex-shrink:0}
.blogium-consent-option{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:16px 0;border-top:1px solid var(--border,#e2e8f0);cursor:pointer}
.blogium-consent-option strong{display:block;font-size:14px;color:var(--text-heading,#111827)}.blogium-consent-option small{font-size:12px;line-height:1.55;display:block;color:var(--text-secondary,#64748b);max-width:320px;margin-top:4px}.blogium-consent-option input{appearance:auto!important;width:20px!important;height:20px!important;accent-color:#2563eb;flex-shrink:0;cursor:pointer}.blogium-consent-required{font-size:11px;padding:6px 8px;border-radius:20px;background:var(--surface-soft,#f1f5f9);white-space:nowrap;color:var(--text-secondary,#475569)}
.blogium-consent-footnote{font-size:12px;line-height:1.6;margin:12px 0;color:var(--text-secondary,#475569)}
.blogium-consent-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}
.blogium-consent-modal-open{overflow:hidden!important}
.blogium-footer-consent-link{border:0;background:none;color:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font:inherit;text-align:left}
.blogium-consent-banner button:focus-visible,.blogium-consent-dialog button:focus-visible,.blogium-consent-dialog input:focus-visible,.blogium-footer-consent-link:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}
@media(max-width:740px){.blogium-consent-banner{bottom:10px;max-height:85vh;overflow:auto;display:block;padding:18px}.blogium-consent-copy strong{font-size:16px}.blogium-consent-actions{max-width:none;margin-top:14px;display:grid;grid-template-columns:1fr 1fr}.blogium-consent-actions .blogium-consent-plain{grid-column:1/-1;grid-row:1}.blogium-consent-banner button{font-size:12px}.blogium-consent-dialog{padding:18px}.blogium-consent-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.blogium-consent-dialog-actions button{padding:12px 8px}}
@media(prefers-reduced-motion:reduce){.blogium-consent-banner button,.blogium-consent-dialog button{transition:none}}
/* Equal prominence for Accept / Reject / Preferences in the first-layer banner. */
.blogium-consent-actions{width:min(100%,430px);max-width:430px}
.blogium-consent-actions button{flex:1 1 120px;background:var(--surface-soft,#f1f5f9)!important;color:var(--text-heading,#0f172a)!important;border:1px solid var(--border,#cbd5e1)!important}
.blogium-consent-actions button:hover{background:var(--surface-raised,#e2e8f0)!important}
@media(max-width:740px){.blogium-consent-actions{width:100%;max-width:none}.blogium-consent-actions .blogium-consent-plain{grid-column:auto;grid-row:auto}.blogium-consent-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.blogium-consent-actions button{min-width:0;padding:10px 5px;font-size:11px}}

/* Blogium: smooth, GPU-friendly entrance and exit animations (v2). */
@keyframes blogiumBannerEnter{from{opacity:0;transform:translate(-50%,22px) scale(.975)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes blogiumBannerExit{from{opacity:1;transform:translate(-50%,0) scale(1)}to{opacity:0;transform:translate(-50%,18px) scale(.97)}}
@keyframes blogiumBackdropEnter{from{opacity:0}to{opacity:1}}
@keyframes blogiumBackdropExit{from{opacity:1}to{opacity:0}}
@keyframes blogiumDialogEnter{from{opacity:0;transform:translateY(22px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes blogiumDialogExit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(15px) scale(.98)}}
.blogium-consent-banner{animation:blogiumBannerEnter .42s cubic-bezier(.2,.8,.2,1) both;will-change:opacity,transform}
.blogium-consent-banner.is-closing{animation:blogiumBannerExit .22s ease-in both;pointer-events:none}
.blogium-consent-backdrop{animation:blogiumBackdropEnter .28s ease-out both}
.blogium-consent-backdrop.is-closing{animation:blogiumBackdropExit .22s ease-in both;pointer-events:none}
.blogium-consent-dialog{animation:blogiumDialogEnter .33s cubic-bezier(.2,.85,.2,1) both;will-change:opacity,transform}
.blogium-consent-backdrop.is-closing .blogium-consent-dialog{animation:blogiumDialogExit .22s ease-in both}
.blogium-consent-actions button,.blogium-consent-dialog-actions button{transition:transform .2s ease,filter .2s ease,background .2s ease,box-shadow .2s ease!important}
.blogium-consent-actions button:hover,.blogium-consent-dialog-actions button:hover{transform:translateY(-2px)}
.blogium-consent-actions button:active,.blogium-consent-dialog-actions button:active{transform:scale(.975)}
.blogium-consent-option{transition:background .2s ease,border-color .2s ease;border-radius:8px;padding-left:7px;padding-right:7px}
.blogium-consent-option:has(input):hover{background:var(--surface-soft,#f1f5f9)}
.blogium-consent-option input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;width:42px!important;height:24px!important;border-radius:14px!important;position:relative;display:inline-block;background:var(--border,#cbd5e1);border:1px solid var(--border,#cbd5e1);outline-offset:3px;transition:background .22s ease,border-color .22s ease;cursor:pointer}
.blogium-consent-option input[type=checkbox]::before{content:'';position:absolute;width:18px;height:18px;top:2px;left:2px;background:#fff;border-radius:50%;box-shadow:0 1px 5px rgba(0,0,0,.18);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.blogium-consent-option input[type=checkbox]:checked{background:#4f46e5;border-color:#4f46e5}
.blogium-consent-option input[type=checkbox]:checked::before{transform:translateX(18px)}
@media(prefers-reduced-motion:reduce){.blogium-consent-banner,.blogium-consent-banner.is-closing,.blogium-consent-backdrop,.blogium-consent-backdrop.is-closing,.blogium-consent-dialog,.blogium-consent-backdrop.is-closing .blogium-consent-dialog{animation:none!important;will-change:auto}.blogium-consent-option input[type=checkbox],.blogium-consent-option input[type=checkbox]::before,.blogium-consent-actions button,.blogium-consent-dialog-actions button{transition:none!important}}
