:root { --hw-consent-ink:#08111e; --hw-consent-line:#394555; --hw-consent-paper:#f3f1eb; --hw-consent-white:#fff; --hw-consent-accent:#db2258; --hw-consent-accent-dark:#b91345; }
.hw-consent, .hw-consent * { box-sizing:border-box; }
.hw-consent { position:fixed; z-index:2147483000; inset:auto 0 0; padding:max(14px,env(safe-area-inset-bottom)) 16px 16px; color:var(--hw-consent-white); font-family:"Segoe UI",Arial,Helvetica,sans-serif; }
.hw-consent[hidden], .hw-consent-settings[hidden], .hw-consent-reopen[hidden] { display:none !important; }
.hw-consent__panel { width:min(1120px,100%); margin:auto; padding:22px 24px; border:1px solid var(--hw-consent-line); border-radius:8px; background:rgba(8,17,30,.98); box-shadow:0 20px 60px rgba(0,0,0,.34); }
.hw-consent__grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; }
.hw-consent h2, .hw-consent-settings h2, .hw-consent-settings h3 { margin:0; color:var(--hw-consent-white); font-weight:700; line-height:1.15; letter-spacing:-.025em; }
.hw-consent h2 { font-size:clamp(1.15rem,2vw,1.42rem); }
.hw-consent p, .hw-consent-settings p { margin:9px 0 0; color:#c5ccd6; font-size:.88rem; line-height:1.5; }
.hw-consent a, .hw-consent-settings a { color:var(--hw-consent-white); text-decoration:underline; text-underline-offset:3px; }
.hw-consent__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.hw-consent__button, .hw-consent-reopen { min-height:44px; padding:9px 16px; border:1px solid transparent; border-radius:6px; appearance:none; font:700 .8rem/1.2 "Segoe UI",Arial,Helvetica,sans-serif; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
.hw-consent__button:hover, .hw-consent-reopen:hover { transform:translateY(-1px); }
.hw-consent__button--primary { color:#fff; background:var(--hw-consent-accent); }
.hw-consent__button--primary:hover { background:var(--hw-consent-accent-dark); }
.hw-consent__button--secondary { color:#fff; border-color:#738093; background:transparent; }
.hw-consent__button--secondary:hover { border-color:#fff; background:rgba(255,255,255,.07); }
.hw-consent__button--light { color:var(--hw-consent-ink); background:var(--hw-consent-white); }
.hw-consent-settings { position:fixed; z-index:2147483001; inset:0; display:grid; place-items:center; padding:18px; background:rgba(2,7,14,.82); font-family:"Segoe UI",Arial,Helvetica,sans-serif; }
.hw-consent-settings__dialog { width:min(680px,100%); max-height:calc(100dvh - 36px); overflow:auto; padding:28px; color:#fff; border:1px solid var(--hw-consent-line); border-radius:8px; background:var(--hw-consent-ink); box-shadow:0 24px 80px rgba(0,0,0,.45); }
.hw-consent-settings__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.hw-consent-settings__head h2 { font-size:clamp(1.45rem,4vw,2rem); }
.hw-consent-settings__close { width:44px; height:44px; flex:0 0 auto; color:#fff; border:1px solid var(--hw-consent-line); border-radius:6px; background:transparent; font-size:1.35rem; cursor:pointer; }
.hw-consent-category { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:start; padding:18px 0; border-bottom:1px solid var(--hw-consent-line); }
.hw-consent-category:first-of-type { margin-top:18px; border-top:1px solid var(--hw-consent-line); }
.hw-consent-category h3 { font-size:1rem; }
.hw-consent-category p { font-size:.82rem; }
.hw-consent-switch { position:relative; display:inline-flex; width:48px; height:28px; margin-top:2px; }
.hw-consent-switch input { position:absolute; width:1px; height:1px; opacity:0; }
.hw-consent-switch span { width:48px; height:28px; border:1px solid #758194; border-radius:999px; background:#2c3746; cursor:pointer; transition:background-color .18s ease; }
.hw-consent-switch span::after { display:block; width:20px; height:20px; margin:3px; border-radius:50%; background:#fff; content:""; transition:transform .18s ease; }
.hw-consent-switch input:checked + span { border-color:var(--hw-consent-accent); background:var(--hw-consent-accent); }
.hw-consent-switch input:checked + span::after { transform:translateX(20px); }
.hw-consent-switch input:focus-visible + span { outline:3px solid #ff7fa5; outline-offset:3px; }
.hw-consent-switch input:disabled + span { opacity:.72; cursor:not-allowed; }
.hw-consent-settings__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; margin-top:24px; }
.hw-consent-reopen { position:fixed; z-index:2147482999; left:max(12px,env(safe-area-inset-left)); bottom:max(12px,env(safe-area-inset-bottom)); min-height:38px; padding:7px 11px; color:#d5dbe3; border-color:#4b5666; background:rgba(8,17,30,.94); font-size:.7rem; }
.hw-consent-reopen:hover { color:#fff; border-color:#fff; }
.hw-consent-lock { overflow:hidden; }
@media (max-width:760px) {
  .hw-consent { padding:10px; }
  .hw-consent__panel { padding:18px; }
  .hw-consent__grid { grid-template-columns:1fr; gap:16px; }
  .hw-consent__actions { justify-content:stretch; }
  .hw-consent__button { flex:1 1 140px; }
  .hw-consent-settings { padding:10px; }
  .hw-consent-settings__dialog { max-height:calc(100dvh - 20px); padding:20px 16px; }
  .hw-consent-settings__actions { align-items:stretch; flex-direction:column; }
}
@media (max-width:430px) {
  .hw-consent__actions { flex-direction:column; }
  .hw-consent__button { width:100%; flex-basis:auto; }
  .hw-consent-reopen { max-width:150px; white-space:normal; }
}
@media (prefers-reduced-motion:reduce) { .hw-consent__button, .hw-consent-reopen, .hw-consent-switch span, .hw-consent-switch span::after { transition:none; } }
