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

.cookie-consent{
  --consent-accent:#43c4ef;
  --consent-accent-rgb:67,196,239;
  --consent-action:#43c4ef;
  --consent-action-rgb:67,196,239;
  position:fixed;
  z-index:5000;
  left:50%;
  bottom:16px;
  width:min(980px,calc(100% - 24px));
  transform:translateX(-50%);
  color:#d2f5fb;
  font:inherit;
}

.cookie-consent--republic{
  --consent-action:#f5c413;
  --consent-action-rgb:245,196,19;
}

.cookie-consent--empire{
  --consent-accent:#ff5968;
  --consent-accent-rgb:255,89,104;
  --consent-action:#ff5968;
  --consent-action-rgb:255,89,104;
}

.cookie-consent__surface{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(290px,.55fr);
  align-items:center;
  gap:20px;
  overflow:hidden;
  padding:18px;
  border:2px solid var(--consent-accent);
  border-radius:12px;
  background:
    linear-gradient(145deg,rgba(3,24,36,.98),rgba(2,12,20,.99) 58%,rgba(8,5,12,.99));
  box-shadow:
    0 0 0 4px rgba(2,8,13,.92),
    0 0 28px rgba(var(--consent-accent-rgb),.34),
    inset 0 0 22px rgba(var(--consent-accent-rgb),.08);
}

.cookie-consent--empire .cookie-consent__surface{
  background:linear-gradient(145deg,rgba(44,6,14,.98),rgba(17,3,8,.99) 58%,rgba(5,2,5,.99));
}

.cookie-consent__surface::before{
  content:"";
  position:absolute;
  inset:5px;
  z-index:-1;
  pointer-events:none;
  border:1px solid rgba(var(--consent-accent-rgb),.3);
  border-radius:7px;
}

.cookie-consent__copy{ min-width:0; padding:2px 4px; }

.cookie-consent__kicker{
  display:block;
  margin-bottom:6px;
  color:var(--consent-accent);
  font-size:10px;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.cookie-consent__title{
  margin:0;
  color:#f2fbff;
  font-family:"Restore","SWEuro",system-ui,sans-serif;
  font-size:clamp(19px,2.5vw,27px);
  line-height:1.08;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-shadow:0 0 10px rgba(var(--consent-accent-rgb),.42);
}

.cookie-consent__description{
  max-width:680px;
  margin:10px 0 0;
  color:#c5e4eb;
  font-size:13px;
  line-height:1.5;
}

.cookie-consent--empire .cookie-consent__description{ color:#e4c4c8; }

.cookie-consent__privacy{
  margin:7px 0 0;
  color:#639db0;
  font-size:11px;
  line-height:1.4;
}

.cookie-consent--empire .cookie-consent__privacy{ color:#b56770; }

.cookie-consent__privacy a{
  color:var(--consent-accent);
  text-underline-offset:3px;
}

.cookie-consent__privacy a:hover,
.cookie-consent__privacy a:focus-visible{
  color:#fff;
  outline:none;
  text-shadow:0 0 8px rgba(var(--consent-accent-rgb),.9);
}

.cookie-consent__actions{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  min-width:0;
}

.cookie-consent__button{
  min-height:44px;
  width:100%;
  padding:9px 12px;
  border:1px solid currentColor;
  border-radius:6px;
  background:rgba(2,14,23,.78);
  font:inherit;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .08s ease;
}

.cookie-consent__button--reject{ color:var(--consent-accent); }
.cookie-consent__button--accept{ color:var(--consent-action); }

.cookie-consent__button:hover,
.cookie-consent__button:focus-visible{
  color:#fff;
  outline:none;
  border-color:currentColor;
  text-shadow:0 0 8px currentColor;
  box-shadow:0 0 16px rgba(var(--consent-accent-rgb),.34),inset 0 0 12px rgba(var(--consent-accent-rgb),.08);
}

.cookie-consent__button--accept:hover,
.cookie-consent__button--accept:focus-visible{
  box-shadow:0 0 16px rgba(var(--consent-action-rgb),.34),inset 0 0 12px rgba(var(--consent-action-rgb),.08);
}

.cookie-consent__button:active{ transform:translateY(1px); }

.cookie-settings,
.privacy-link,
.foot__cookie-settings,
.empire-cookie-settings{
  appearance:none;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:3px;
}

.cookie-settings:hover,.cookie-settings:focus-visible,
.privacy-link:hover,.privacy-link:focus-visible,
.foot__cookie-settings:hover,.foot__cookie-settings:focus-visible,
.empire-cookie-settings:hover,.empire-cookie-settings:focus-visible{
  color:#dff8ff;
  outline:none;
  text-decoration-color:currentColor;
  text-shadow:0 0 8px rgba(67,196,239,.7);
}

.empire-footer{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:12px 18px 20px;
  color:#9a555e;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.empire-footer i{
  width:5px;
  height:5px;
  background:#8a2833;
  transform:rotate(45deg);
}

.empire-cookie-settings:hover,.empire-cookie-settings:focus-visible{
  color:#ffe5e8;
  text-shadow:0 0 8px rgba(255,89,104,.8);
}

@media (max-width:700px){
  .cookie-consent{ bottom:10px; width:calc(100% - 20px); }
  .cookie-consent__surface{ grid-template-columns:1fr; gap:14px; padding:15px; }
  .cookie-consent__actions{ grid-template-columns:1fr; }
}

@media (max-height:560px){
  .cookie-consent{ max-height:calc(100svh - 16px); bottom:8px; overflow:auto; }
}

@media (prefers-reduced-motion:reduce){
  .cookie-consent__button{ transition:none; }
}
