body.cookie-consent-open { overflow: hidden; }

.cookie-consent-backdrop {
  position: fixed;
  inset: 0;
  z-index: 30000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgb(16 19 24 / 62%);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.cookie-consent-backdrop[hidden] { display: none; }
.cookie-consent-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 30px;
  align-items: center;
  width: min(100%, 680px);
  padding: 26px 28px;
  border: 1px solid rgb(19 33 54 / 7%);
  border-radius: 20px;
  background: #fff;
  color: #202329;
  box-shadow: 0 24px 80px rgb(0 0 0 / 22%);
  font-family: var(--font-sans, Inter, Arial, sans-serif);
}
.cookie-consent-copy { min-width: 0; }
.cookie-consent-card h2 {
  margin: 0 0 5px;
  color: #1b1d21;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.3;
}
.cookie-consent-card p {
  margin: 0;
  color: #535965;
  font-size: 13px;
  line-height: 1.55;
}
.cookie-consent-policy-link {
  display: inline-block;
  margin-top: 7px;
  color: #006edb;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.cookie-consent-policy-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent-actions { display: grid; gap: 8px; }
.cookie-consent-actions button {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  font: 600 13px/1.2 var(--font-sans, Inter, Arial, sans-serif);
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.cookie-consent-actions button:hover { transform: translateY(-1px); }
.cookie-consent-actions button:focus-visible,
.cookie-policy-preferences-inline:focus-visible { outline: 3px solid rgb(0 110 219 / 32%); outline-offset: 3px; }
.cookie-consent-accept { background: #0071e3; color: #fff; }
.cookie-consent-accept:hover { background: #0065cc; }
.cookie-consent-essential { border-color: #d9dce2 !important; background: #fff; color: #202329; }
.cookie-consent-essential:hover { background: #f7f8fa; }

.cookie-policy-main {
  max-width: 1120px;
  padding-top: clamp(42px, 6vw, 78px);
  padding-bottom: 88px;
  color: #202329;
}
.cookie-policy-eyebrow {
  margin: 0 0 12px;
  color: #0071e3;
  font-size: .75rem;
  font-weight: 650;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.cookie-policy-title {
  margin: 0 0 20px;
  color: #17191d;
  font-size: clamp(2.4rem, 5.5vw, 3.6rem);
  font-weight: 550;
  letter-spacing: -.055em;
  line-height: 1.04;
}
.cookie-policy-intro,
.cookie-policy-copy p {
  max-width: 990px;
  color: #444b55;
  font-size: 1rem;
  line-height: 1.8;
}
.cookie-policy-intro { margin: 0 0 17px; }
.cookie-policy-copy p { margin: 0 0 18px; }
.cookie-policy-copy h2 {
  margin: 34px 0 12px;
  color: #1b1e23;
  font-size: 1.35rem;
  font-weight: 550;
  letter-spacing: -.035em;
}
.cookie-policy-copy a { color: #006edb; text-underline-offset: 3px; }
.cookie-policy-table-wrap {
  overflow-x: auto;
  margin: 26px 0 30px;
  border: 1px solid #d9dce2;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 4px 16px rgb(20 29 45 / 4%);
}
.cookie-policy-table { width: 100%; min-width: 720px; border-collapse: collapse; text-align: left; }
.cookie-policy-table th {
  padding: 16px 22px;
  background: #f5f6f8;
  color: #68717e;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.cookie-policy-table td { padding: 18px 22px; border-top: 1px solid #e6e8ec; color: #424954; font-size: .9rem; line-height: 1.65; vertical-align: top; }
.cookie-policy-table td:first-child { width: 22%; color: #202329; font-weight: 600; }
.cookie-policy-table td:last-child { width: 24%; color: #626b77; }
.cookie-policy-chip { display: inline-block; margin-top: 8px; padding: 4px 9px; border-radius: 99px; background: #edf4ff; color: #145eb7; font-size: .68rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.cookie-policy-preferences-inline {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin: 1px 0 25px;
  padding: 0 15px;
  border: 1px solid #d6e4f4;
  border-radius: 999px;
  background: #f4f8fd;
  color: #075fbd;
  font: 600 13px/1 var(--font-sans, Inter, Arial, sans-serif);
  cursor: pointer;
}
.cookie-policy-preferences-inline:hover { border-color: #a9c8ed; background: #edf5ff; }

@media (max-width: 620px) {
  .cookie-consent-backdrop { padding: 16px; }
  .cookie-consent-card { grid-template-columns: 1fr; gap: 20px; padding: 23px 21px; border-radius: 18px; }
  .cookie-consent-actions { grid-template-columns: 1fr 1fr; gap: 9px; }
  .cookie-consent-actions button { min-height: 46px; padding-inline: 10px; font-size: 12px; }
  .cookie-policy-main { padding-top: 38px; padding-bottom: 72px; }
  .cookie-policy-title { font-size: clamp(2.2rem, 11vw, 3rem); }
  .cookie-policy-copy p, .cookie-policy-intro { font-size: .94rem; }
  .cookie-policy-preferences-inline { margin-bottom: 20px; }
}

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