.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cookie-banner{
  position:fixed;
  z-index:9998;
  inset:auto clamp(1rem,3vw,2rem) clamp(1rem,3vw,2rem);
  display:none;
  max-width:1180px;
  margin-inline:auto;
  padding:clamp(1.15rem,2.5vw,1.65rem);
  border:1px solid rgba(216,185,121,.45);
  border-radius:20px;
  background:rgba(4,23,34,.97);
  box-shadow:0 24px 70px rgba(0,0,0,.36);
  color:#f8f4ee;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.cookie-banner.is-visible{display:block}
.cookie-banner-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 2.5rem;align-items:center}
.cookie-kicker{display:block;margin-bottom:.45rem;color:#d8b979;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.cookie-title{margin:0 0 .45rem;color:#fff;font-family:"Cinzel",serif;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.25;letter-spacing:.06em;text-wrap:balance}
.cookie-copy{max-width:72ch;margin:0;color:rgba(235,241,243,.75);font-size:.82rem;line-height:1.65}
.cookie-copy a{color:#f0d99f;text-underline-offset:.2em}
.cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}
.cookie-button{
  min-height:44px;
  padding:.72rem 1rem;
  border:1px solid rgba(216,185,121,.55);
  border-radius:999px;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.1em;
  line-height:1.2;
  text-transform:uppercase;
  cursor:pointer;
}
.cookie-button:hover{border-color:#d8b979;background:rgba(216,185,121,.1)}
.cookie-button-primary{border-color:#d8b979;background:#d8b979;color:#071e2d}
.cookie-button-primary:hover{background:#e3ca91;color:#071e2d}
.cookie-backdrop{position:fixed;z-index:9999;inset:0;display:none;padding:1rem;background:rgba(0,11,18,.72);overflow:auto}
.cookie-backdrop.is-visible{display:grid;place-items:center}
.cookie-dialog{width:min(680px,100%);max-height:calc(100vh - 2rem);overflow:auto;border:1px solid rgba(216,185,121,.4);border-radius:22px;background:#071e2d;color:#f8f4ee;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.cookie-dialog-head{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 1rem}
.cookie-dialog h2{margin:0;color:#fff;font-family:"Cinzel",serif;font-size:clamp(1.35rem,3vw,2rem);line-height:1.2;letter-spacing:.05em;text-wrap:balance}
.cookie-close{width:44px;height:44px;flex:0 0 auto;border:1px solid rgba(216,185,121,.35);border-radius:50%;background:transparent;color:#fff;font-size:1.35rem;line-height:1;cursor:pointer}
.cookie-dialog-body{padding:0 1.5rem 1.5rem}
.cookie-dialog-intro{margin:0 0 1.25rem;color:rgba(235,241,243,.72);font-size:.88rem;line-height:1.7}
.cookie-category{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.1)}
.cookie-category h3{margin:0 0 .3rem;color:#fff;font-family:"Montserrat",sans-serif;font-size:.9rem}
.cookie-category p{margin:0;color:rgba(235,241,243,.64);font-size:.78rem;line-height:1.6}
.cookie-state{align-self:start;min-width:70px;padding:.35rem .55rem;border:1px solid rgba(216,185,121,.3);border-radius:999px;color:#d8b979;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.cookie-switch{position:relative;display:inline-flex;width:50px;height:28px;align-self:start}
.cookie-switch input{position:absolute;opacity:0;width:1px;height:1px}
.cookie-switch span{position:absolute;inset:0;border:1px solid rgba(216,185,121,.45);border-radius:999px;background:#102f3d;cursor:pointer}
.cookie-switch span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#d9e1e4;transition:transform .2s ease,background .2s ease}
.cookie-switch input:checked+span{background:#d8b979}
.cookie-switch input:checked+span::after{transform:translateX(22px);background:#071e2d}
.cookie-switch input:focus-visible+span{outline:2px solid #fff;outline-offset:3px}
.cookie-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1)}
body.cookie-modal-open{overflow:hidden}
@media(max-width:760px){
  .cookie-banner-inner{grid-template-columns:1fr}
  .cookie-actions{justify-content:stretch}
  .cookie-actions .cookie-button{flex:1 1 150px}
}
@media(max-width:480px){
  .cookie-banner{inset:auto .65rem .65rem;border-radius:16px}
  .cookie-dialog-head,.cookie-dialog-body{padding-left:1rem;padding-right:1rem}
  .cookie-dialog-actions .cookie-button{width:100%}
}
@media(prefers-reduced-motion:reduce){.cookie-switch span::after{transition:none}}
