#cookie-banner{
  position:fixed;inset:auto 0 0 0;z-index:200;
  padding:clamp(12px,2vw,20px);
  pointer-events:none;
}
#cookie-banner:not([hidden]){pointer-events:auto}
.cookie-banner-panel{
  max-width:1160px;margin:0 auto;
  background:#fff;color:var(--charcoal,#101418);
  border:1px solid var(--line,#E2E5EA);
  border-radius:12px;
  box-shadow:0 12px 40px rgba(16,20,24,.18);
  padding:clamp(18px,3vw,24px) clamp(18px,3vw,28px);
}
.cookie-banner-main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px 28px;flex-wrap:wrap}
.cookie-banner-text{flex:1 1 420px;max-width:52em}
#cookie-title{
  font-family:var(--font-display,"Inter Tight",Inter,sans-serif);
  font-size:18px;font-weight:600;margin:0 0 8px;line-height:1.25;
}
.cookie-banner-text p{margin:0;font-size:14px;font-weight:500;line-height:1.55;color:var(--text-support,#586174)}
.cookie-banner-text a{color:var(--cobalt,#2457FF);font-weight:500}
.cookie-banner-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:0 0 auto;
}
.cookie-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:0 16px;border-radius:8px;
  font:inherit;font-size:14px;font-weight:600;cursor:pointer;
  border:1px solid transparent;text-decoration:none;
  transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out;
}
.cookie-btn-primary{background:var(--cobalt,#2457FF);color:#fff;border-color:var(--cobalt,#2457FF)}
.cookie-btn-primary:hover{background:var(--cobalt-dark,#1E4BE6)}
.cookie-btn-secondary{background:#fff;color:var(--charcoal,#101418);border-color:var(--line,#E2E5EA)}
.cookie-btn-secondary:hover{border-color:var(--charcoal,#101418)}
.cookie-btn-ghost{background:transparent;color:var(--text-support,#586174);border-color:transparent;text-decoration:underline;text-underline-offset:3px;min-height:auto;padding:0 8px}
.cookie-btn-ghost:hover{color:var(--charcoal,#101418)}

#cookie-preferences{margin-top:18px;padding-top:18px;border-top:1px solid var(--line,#E2E5EA)}
#cookie-preferences[hidden]{display:none}
.cookie-pref-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.cookie-pref{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
}
.cookie-pref-copy{flex:1;min-width:0}
.cookie-pref-copy strong{display:block;font-size:14px;font-weight:600;margin:0 0 4px}
.cookie-pref-copy span{font-size:13px;font-weight:500;line-height:1.45;color:var(--text-support,#586174)}
.cookie-pref-always{font-size:13px;font-weight:600;color:var(--text-support,#586174);white-space:nowrap;padding-top:2px}
.cookie-toggle{
  position:relative;width:44px;height:26px;flex:none;border:none;padding:0;cursor:pointer;
  background:var(--line,#E2E5EA);border-radius:999px;transition:background .15s ease-out;
}
.cookie-toggle[aria-checked="true"]{background:var(--cobalt,#2457FF)}
.cookie-toggle:disabled{opacity:.55;cursor:not-allowed}
.cookie-toggle::after{
  content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .15s ease-out;
}
.cookie-toggle[aria-checked="true"]::after{transform:translateX(18px)}
.cookie-pref-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

@media (max-width:734px){
  #cookie-banner{
    padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  }
  .cookie-banner-panel{
    border-radius:14px;padding:16px;
    box-shadow:0 8px 28px rgba(16,20,24,.2);
  }
  #cookie-title{font-size:16px;margin-bottom:6px}
  .cookie-banner-text p{font-size:13px;line-height:1.45}
  .cookie-banner-main{flex-direction:column;gap:14px}
  .cookie-banner-text{flex:1 1 auto;max-width:none}
  .cookie-banner-actions{
    width:100%;flex-direction:column;align-items:stretch;gap:8px;
  }
  .cookie-btn{
    width:100%;min-height:44px;padding:0 14px;font-size:15px;
  }
  .cookie-btn-ghost{
    width:100%;min-height:40px;padding:8px;text-align:center;
    text-decoration:none;border:1px solid var(--line,#E2E5EA);border-radius:8px;
  }
  #cookie-preferences{margin-top:14px;padding-top:14px}
}
