.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

html{
  scroll-padding-top:6.5rem;
  scroll-padding-bottom:3rem;
}

body{
  accent-color:#2B7CB5;
}

.skip-link{
  position:fixed;
  top:1rem;
  left:1rem;
  z-index:220;
  padding:.82rem 1.05rem;
  border-radius:999px;
  background:#091820;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 24px rgba(0,0,0,.22);
  transform:translateY(-140%);
  transition:transform .2s ease;
}

.skip-link:focus-visible{
  transform:translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid #4DA8D4;
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}

.site-cookie-banner{
  position:fixed;
  left:auto;
  right:max(1rem,env(safe-area-inset-right));
  bottom:max(1rem,env(safe-area-inset-bottom));
  width:min(calc(100vw - 2rem),420px);
  max-width:420px;
  z-index:210;
}

.site-cookie-banner[hidden]{
  display:none;
}

body.cookie-ui-open .site-cookie-banner,
body.cookie-banner-open .site-cookie-trigger,
body.cookie-ui-open .site-cookie-trigger{
  display:none;
}

.site-cookie-card{
  max-width:420px;
  margin:0;
  padding:16px 18px;
  border-radius:1.3rem;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(9,24,32,.96);
  color:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.3);
}

.site-cookie-copy{
  display:grid;
  gap:.45rem;
}

.site-cookie-copy strong{
  font-size:1.03rem;
  line-height:1.35;
}

.site-cookie-copy p{
  color:rgba(255,255,255,.76);
  font-size:.94rem;
  line-height:1.68;
}

.site-cookie-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1rem;
}

.cookie-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.9rem;
  padding:.82rem 1.12rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:transparent;
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.cookie-btn-primary{
  background:linear-gradient(135deg,#2B7CB5,#4DA8D4);
  border-color:transparent;
}

.cookie-btn-secondary{
  background:rgba(255,255,255,.06);
}

.cookie-btn-ghost{
  color:rgba(255,255,255,.84);
}

.site-cookie-trigger{
  position:fixed;
  left:max(1rem,env(safe-area-inset-left));
  bottom:max(1rem,env(safe-area-inset-bottom));
  z-index:205;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  padding:7px 12px;
  border:none;
  border-radius:999px;
  background:#091820;
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.24);
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  opacity:.65;
  transition:opacity .2s ease;
}

.site-cookie-trigger:hover,
.site-cookie-trigger:focus{
  opacity:1;
}

.site-cookie-trigger[hidden]{
  display:none;
}

.site-consent-backdrop{
  position:fixed;
  inset:0;
  z-index:215;
  background:rgba(7,20,28,.62);
  backdrop-filter:blur(4px);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}

.site-consent-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}

.site-consent-modal{
  position:fixed;
  left:50%;
  top:50%;
  z-index:216;
  width:min(42rem,calc(100vw - 2rem));
  max-height:calc(100vh - 2rem);
  overflow:auto;
  padding:1.2rem;
  border-radius:1.5rem;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(155deg,#0C2434,#091820);
  color:#fff;
  box-shadow:0 26px 60px rgba(0,0,0,.28);
  transform:translate(-50%,-48%);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}

.site-consent-modal.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,-50%);
}

.site-consent-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.site-consent-head h2{
  font-size:1.35rem;
  line-height:1.2;
  color:#fff;
}

.site-consent-head p{
  margin-top:.45rem;
  color:rgba(255,255,255,.76);
  font-size:.95rem;
  line-height:1.7;
}

.site-consent-close{
  flex-shrink:0;
  width:2.5rem;
  height:2.5rem;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.site-consent-grid{
  display:grid;
  gap:.85rem;
}

.site-consent-item{
  padding:1rem 1.05rem;
  border-radius:1rem;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.055);
}

.site-consent-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.site-consent-item strong{
  display:block;
  color:#fff;
  font-size:1rem;
  line-height:1.35;
}

.site-consent-item p{
  margin-top:.32rem;
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.68;
}

.consent-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:3.15rem;
  padding:.25rem;
  border-radius:999px;
  background:#D7E5F0;
  cursor:pointer;
}

.consent-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.consent-toggle span{
  position:relative;
  display:block;
  width:2.45rem;
  height:1.5rem;
  border-radius:999px;
  background:#A1B8C8;
  transition:background .2s ease;
}

.consent-toggle span::after{
  content:"";
  position:absolute;
  top:.14rem;
  left:.15rem;
  width:1.22rem;
  height:1.22rem;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.18);
  transition:transform .2s ease;
}

.consent-toggle input:checked + span{
  background:#2B7CB5;
}

.consent-toggle input:checked + span::after{
  transform:translateX(.95rem);
}

.consent-toggle input:disabled + span{
  background:#6B8A9A;
}

.site-consent-foot{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.1rem;
}

.cookie-settings-link{
  background:none;
  border:none;
  color:inherit;
  font:inherit;
  cursor:pointer;
  text-decoration:underline;
}

.paypal-fallback-action{
  margin-top:.75rem;
}

.paypal-fallback-action .cookie-btn{
  width:100%;
}

@media (max-width:900px){
  .site-cookie-banner{
    top:4.5rem;
    bottom:auto;
    right:max(.75rem,env(safe-area-inset-right));
    width:min(calc(100vw - 1.5rem),360px);
  }

  .site-cookie-card{
    padding:12px 14px;
    border-radius:1rem;
  }

  .site-cookie-copy strong{
    font-size:.95rem;
  }

  .site-cookie-copy p{
    display:none;
  }

  .site-cookie-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.5rem;
    margin-top:.7rem;
  }

  .site-cookie-actions .cookie-btn-ghost{
    grid-column:1 / -1;
  }

  .site-consent-foot{
    flex-direction:column;
  }

  .cookie-btn{
    width:auto;
    min-height:2.35rem;
    padding:.62rem .85rem;
    font-size:.82rem;
  }

  .site-consent-foot .cookie-btn{
    width:100%;
  }

  .site-cookie-trigger{
    left:auto;
    right:max(1rem,env(safe-area-inset-right));
  }

  .site-consent-modal{
    width:min(100vw - 1rem,42rem);
    max-height:calc(100vh - 1rem);
    padding:1rem;
  }

  .site-consent-row{
    flex-direction:column;
  }
}
