/* UAR privacy controls: original dark palette, thin borders and square buttons. */
.consent-banner {
  position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 1000;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px;
  max-width: 1184px; max-height: calc(100dvh - 40px); overflow-y: auto;
  margin: 0 auto; padding: 26px 54px 24px 28px;
  border: 1px solid rgba(255,255,255,.14); border-radius: 0;
  background: rgba(8,10,14,.96); color: #fff;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  font-family: 'Geist', Arial, sans-serif;
}
.consent-banner[hidden], .consent-banner [hidden] { display: none !important; }
.consent-banner h2 { grid-column: 1; margin: 0 0 10px; font-size: 20px; font-weight: 600; letter-spacing: -.025em; line-height: 1.3; }
.consent-banner p { grid-column: 1; margin: 0 0 12px; max-width: 740px; font-size: 13px; line-height: 1.65; font-weight: 330; color: rgba(255,255,255,.66); }
.consent-banner .consent-close { position: absolute; right: 10px; top: 10px; width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.14); border-radius: 0; background: rgba(255,255,255,.04); color: rgba(255,255,255,.78); font: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
.consent-links { grid-column: 1; display: flex; gap: 20px; margin-bottom: 4px; }
.consent-links a { color: rgba(255,255,255,.7); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.consent-links a:hover { color: #fff; }
.consent-actions { grid-column: 2; grid-row: 1 / 6; align-self: center; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 275px; }
.consent-actions button { min-height: 42px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.22); border-radius: 0; background: rgba(255,255,255,.04); color: #fff; font: inherit; font-size: 12px; font-weight: 500; cursor: pointer; transition: background .22s ease, border-color .22s ease; }
.consent-actions [data-consent="reject"], .consent-actions [data-consent="accept"] { background: #045ea9; border-color: #045ea9; }
.consent-actions [data-consent="reject"]:hover, .consent-actions [data-consent="accept"]:hover { background: #007bff; border-color: #007bff; }
.consent-actions [data-consent="customize"], .consent-actions [data-consent="save"] { grid-column: 1 / -1; }
.consent-actions [data-consent="customize"]:hover, .consent-actions [data-consent="save"]:hover { background: rgba(255,255,255,.09); }
.consent-banner .consent-note { font-size: 11px; margin: 10px 0 0; color: rgba(255,255,255,.4); }
.consent-options { grid-column: 1; margin-top: 16px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.025); }
.consent-option { position: relative; display: flex; align-items: center; gap: 18px; padding: 18px; cursor: pointer; }
.consent-option + .consent-option { border-top: 1px solid rgba(255,255,255,.1); }
.consent-option > span:first-child { flex: 1; min-width: 0; }
.consent-option strong { display: block; font-size: 13px; font-weight: 500; }
.consent-option small { display: block; font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.5); margin-top: 5px; }
.consent-option input { position: absolute; right: 18px; width: 44px; height: 26px; opacity: 0; }
.consent-switch { display: block; position: relative; width: 44px; height: 26px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.1); transition: background .22s ease; }
.consent-switch::after { content: ''; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; border-radius: 50%; background: rgba(255,255,255,.8); transition: transform .22s ease; }
.consent-option input:checked + .consent-switch { background: #045ea9; border-color: #045ea9; }
.consent-option input:checked + .consent-switch::after { transform: translateX(18px); }
.consent-option input:disabled + .consent-switch { opacity: .55; }
.consent-option input:focus-visible + .consent-switch, [data-cookie-prefs]:focus-visible, .consent-banner button:focus-visible, .consent-banner a:focus-visible { outline: 2px solid #55a9ff; outline-offset: 4px; }
.site-footer-minimal [data-cookie-prefs] { padding: 0; border: 0; background: none; color: rgba(255,255,255,.52); font: inherit; cursor: pointer; transition: color .22s ease; }
.site-footer-minimal [data-cookie-prefs]:hover { color: #fff; }
/* Legal pages use the UAR privacy-* and policy-* rules already present in the pages. */
.uar-legal-main { padding-top: 80px; }
.uar-legal-intro { margin-bottom: 56px; }
.uar-legal-intro h1 { font-size: clamp(2.25rem, 5vw, 4rem); line-height: 1.1; margin-bottom: 18px; }
.uar-legal-intro p { max-width: 820px; font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.5); }
.privacy-copy, .policy-copy { overflow-wrap: anywhere; }
.privacy-copy [data-cookie-prefs], .policy-copy [data-cookie-prefs] { display: inline; padding: 0; border: 0; background: none; color: #55a9ff; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cookie-table caption { text-align: left; padding: 16px 0; color: rgba(255,255,255,.68); font-weight: 500; }
@media (max-width: 1023px) {
  .uar-legal-main { padding-top: 60px; }
  .consent-banner { grid-template-columns: 1fr; padding-right: 52px; }
  .consent-actions { grid-column: 1; grid-row: auto; width: auto; display: flex; flex-wrap: wrap; margin-top: 18px; }
  .consent-actions button { flex: 1; }
  .consent-banner .consent-note { grid-row: 6; }
}
@media (max-width: 767px) {
  .consent-banner { left: 12px; right: 12px; bottom: 12px; max-height: calc(100dvh - 24px); padding: 20px; }
  .consent-banner h2 { margin-right: 28px; }
  .consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .consent-actions button { min-width: 0; padding: 10px 12px; }
  .consent-option { padding: 16px; }
  .consent-option input { right: 16px; }
  .uar-legal-intro { margin-bottom: 36px; }
}
@media (max-width: 639px) {
  .cookie-table td[data-label]::before { content: attr(data-label); }
}
@media (prefers-reduced-motion: reduce) {
  .consent-banner *, .consent-banner *::after { transition: none; }
}
