[hidden]{display:none!important}

.cookie-banner{
  position:fixed;z-index:1000;left:20px;right:20px;bottom:20px;
  width:min(900px,calc(100% - 40px));margin:0 auto;padding:22px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;
  border:1px solid rgba(255,255,255,.17);border-radius:22px;
  background:rgba(10,24,20,.98);box-shadow:0 24px 80px rgba(0,0,0,.5);
  backdrop-filter:blur(18px)
}
.cookie-banner h2{margin:0 0 6px;font-size:1.2rem}
.cookie-banner p{margin:0;color:#c4d2cd;font-size:.94rem;line-height:1.5}
.cookie-banner-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:350px}
.cookie-choice-button,.cookie-manage-button{
  min-height:44px;padding:10px 14px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer
}
.cookie-choice-button{border:1px solid rgba(114,224,179,.55);background:rgba(114,224,179,.13);color:#eafff6}
.cookie-choice-button:hover{background:rgba(114,224,179,.22)}
.cookie-manage-button{grid-column:1/-1;border:1px solid var(--line);background:transparent;color:#dfe8e4}
.cookie-manage-button:hover{background:rgba(255,255,255,.06)}
.cookie-choice-button:focus-visible,.cookie-manage-button:focus-visible,.cookie-dialog-close:focus-visible,.cookie-toggle input:focus-visible{
  outline:3px solid var(--accent-2);outline-offset:3px
}

.cookie-dialog{
  width:min(720px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;
  color:var(--text);border:1px solid rgba(255,255,255,.17);border-radius:24px;
  background:#0b1915;box-shadow:0 30px 100px rgba(0,0,0,.62);overflow:auto
}
.cookie-dialog::backdrop{background:rgba(1,7,5,.72);backdrop-filter:blur(4px)}
.cookie-dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:26px 26px 10px}
.cookie-dialog-header h2{margin:5px 0 0;font-size:clamp(1.6rem,4vw,2.2rem)}
.cookie-dialog>p{margin:0;padding:0 26px 20px;color:var(--muted)}
.cookie-dialog-close{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);color:white;font-size:1.6rem;cursor:pointer}
.cookie-category{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin:0 26px;padding:20px 0;border-top:1px solid var(--line)}
.cookie-category h3{margin:0 0 5px;font-size:1.05rem}
.cookie-category p{margin:0;color:var(--muted);font-size:.92rem}
.cookie-toggle{display:grid;justify-items:end;gap:6px;color:#dfe8e4;font-size:.78rem;font-weight:800}
.cookie-toggle input{width:24px;height:24px;margin:0;accent-color:var(--accent);cursor:pointer}
.cookie-toggle input:disabled{cursor:not-allowed}
.cookie-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:22px 26px;border-top:1px solid var(--line)}
.cookie-policy-link{text-align:center;font-size:.88rem}
.cookie-policy-link a{color:var(--accent-2);text-decoration:underline;text-underline-offset:3px}
.cookie-dialog.cookie-dialog-fallback{position:fixed;z-index:1001;inset:16px;margin:auto}

@media(max-width:760px){
  .cookie-banner{left:12px;right:12px;bottom:12px;width:auto;grid-template-columns:1fr;gap:16px;padding:18px;max-height:calc(100vh - 24px);overflow:auto}
  .cookie-banner-actions{min-width:0}
  .cookie-dialog-header{padding:20px 20px 8px}
  .cookie-dialog>p{padding:0 20px 16px}
  .cookie-category{margin:0 20px;padding:17px 0}
  .cookie-dialog-actions{padding:18px 20px}
}

@media(max-width:430px){
  .cookie-banner-actions,.cookie-dialog-actions{grid-template-columns:1fr}
  .cookie-manage-button{grid-column:auto}
  .cookie-category{grid-template-columns:1fr}
  .cookie-toggle{justify-items:start}
}

@media(prefers-reduced-motion:no-preference){
  .cookie-banner{animation:cookie-banner-in .22s ease-out}
  @keyframes cookie-banner-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
