/* Site consent kit: banner, preferences panel and "Cookie settings" button.
   Theme with CSS variables (or SC_CONFIG.colors, which sets them on .sc-root). Fonts inherit from the page.
   Hardcoded fills use the theme variables so a site's brand colors replace the kit defaults. */
.sc-root{--sc-primary:#16244a;--sc-primary-text:#fff;--sc-accent:#b3261e;--sc-bg:#fff;--sc-text:#1b1f2a;--sc-muted:#5b6275;--sc-border:#e4dccd;--sc-focus:#e8a33d;--sc-radius:14px;--sc-float-bottom-mobile:16px;font:inherit;color:var(--sc-text);line-height:1.5}
.sc-root *,.sc-root *::before,.sc-root *::after{box-sizing:border-box}
.sc-root [hidden]{display:none!important}
/* Banner: fixed overlay, so it never shifts page layout */
.sc-banner{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;background:var(--sc-bg);border-top:1px solid var(--sc-border);box-shadow:0 -8px 30px rgba(0,0,0,.14);padding:18px 20px calc(18px + env(safe-area-inset-bottom))}
.sc-banner-inner{max-width:1180px;margin:0 auto;display:flex;gap:20px 32px;align-items:center;justify-content:space-between}
.sc-banner-text{flex:1 1 auto;min-width:0}
.sc-title{font-size:1.08rem;font-weight:800;margin:0 0 6px;color:var(--sc-primary);line-height:1.25;letter-spacing:0}
.sc-body{font-size:.92rem;margin:0;color:var(--sc-text)}
.sc-link{color:var(--sc-accent);font-weight:600;text-decoration:underline}
.sc-note{font-size:.86rem;margin:10px 0 0;padding:8px 12px;border-radius:10px;background:color-mix(in srgb, var(--sc-primary) 10%, var(--sc-bg));color:var(--sc-primary);border-left:4px solid var(--sc-primary)}
.sc-actions{display:flex;gap:10px;flex:0 0 auto}
/* Equal prominence: every choice button has the same size, weight and font. Accept and Reject share one style. */
.sc-btn{appearance:none;font:inherit;font-weight:700;font-size:.95rem;min-width:142px;min-height:46px;padding:11px 18px;border-radius:999px;border:2px solid var(--sc-primary);background:var(--sc-primary);color:var(--sc-primary-text);cursor:pointer;line-height:1.1;text-align:center}
.sc-btn:hover{filter:brightness(1.15)}
.sc-btn-outline{background:transparent;color:var(--sc-primary)}
.sc-btn-outline:hover{background:color-mix(in srgb, var(--sc-primary) 8%, transparent);filter:none}
.sc-root button:focus-visible,.sc-root a:focus-visible,.sc-switch input:focus-visible+.sc-slider{outline:3px solid var(--sc-focus);outline-offset:2px}
/* Preferences panel (modal dialog) */
.sc-backdrop{position:fixed;inset:0;z-index:2147483001;background:rgba(10,16,34,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.sc-panel{background:var(--sc-bg);border-radius:var(--sc-radius);width:min(620px,100%);max-height:min(88vh,760px);display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);outline:none}
.sc-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--sc-border)}
.sc-panel-head .sc-title{margin:0;font-size:1.2rem}
.sc-x{appearance:none;border:0;background:transparent;font-size:1.8rem;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer;color:var(--sc-muted)}
.sc-x:hover{background:color-mix(in srgb, var(--sc-text) 6%, var(--sc-bg));color:var(--sc-text)}
.sc-panel-body{padding:16px 22px;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1 1 auto}
.sc-cat{border:1px solid var(--sc-border);border-radius:12px;padding:14px 16px;margin-top:12px}
.sc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sc-cat-title{font-size:1rem;font-weight:700;margin:0;color:var(--sc-primary);letter-spacing:0}
.sc-cat-desc{font-size:.88rem;color:var(--sc-muted);margin:6px 0 0}
.sc-always{font-size:.82rem;font-weight:700;color:#2f7d4f;white-space:nowrap}
.sc-switch{position:relative;display:inline-block;width:52px;height:30px;flex:0 0 auto;cursor:pointer}
.sc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.sc-switch input:disabled{cursor:not-allowed}
.sc-slider{position:absolute;inset:0;border-radius:999px;background:#c5cad6;transition:background .15s}
.sc-slider::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.sc-switch input:checked+.sc-slider{background:var(--sc-primary)}
.sc-switch input:checked+.sc-slider::after{transform:translateX(22px)}
.sc-switch input:disabled+.sc-slider{opacity:.55}
.sc-panel-foot{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--sc-border)}
.sc-panel-foot .sc-btn{flex:1 1 150px}
/* Persistent "Cookie settings" button */
.sc-float{position:fixed;left:16px;bottom:16px;z-index:2147482999;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 12px;border-radius:999px;border:1px solid var(--sc-border);background:var(--sc-bg);color:var(--sc-primary);font:inherit;font-weight:700;font-size:.82rem;box-shadow:0 4px 16px rgba(0,0,0,.16);cursor:pointer}
.sc-float:hover{background:color-mix(in srgb, var(--sc-primary) 6%, var(--sc-bg))}
html.sc-lock,html.sc-lock body{overflow:hidden}
@media (max-width:860px){
  .sc-banner{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
  .sc-banner-inner{flex-direction:column;align-items:stretch;gap:12px}
  .sc-body{font-size:.86rem}
  .sc-actions{flex-direction:column;gap:8px}
  .sc-btn{width:100%;min-width:0;min-height:44px;padding:9px 16px}
  /* Sit above a fixed mobile action bar when --sc-float-bottom-mobile is raised. Right side, so it does not cover a left-aligned call button. */
  .sc-float{bottom:calc(var(--sc-float-bottom-mobile) + env(safe-area-inset-bottom, 0px));left:auto;right:12px;width:44px;padding:0;justify-content:center}
  .sc-float-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .sc-backdrop{align-items:flex-end;padding:0}
  .sc-panel{width:100%;border-radius:var(--sc-radius) var(--sc-radius) 0 0;max-height:92vh}
  .sc-panel-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  .sc-panel-foot .sc-btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){.sc-slider,.sc-slider::after{transition:none}}
@media print{.sc-root{display:none!important}}
