:root{--consent-banner-height:0px}
.consent-backdrop{
  position:fixed;
  inset:0;
  z-index:999;
  background:rgba(15,11,56,.12);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s cubic-bezier(.16,1,.3,1);
}
.consent-backdrop.is-visible{opacity:1}
.consent-banner{
  position:fixed;
  left:50%;
  bottom:16px;
  z-index:1000;
  width:min(980px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  overflow:auto;
  padding:20px 22px;
  color:#171151;
  background:#fbfcff;
  border:1px solid #dfe5f0;
  border-radius:16px;
  box-shadow:0 24px 64px rgba(23,17,81,.22),0 4px 16px rgba(23,17,81,.1);
  font-family:"Archivo",-apple-system,system-ui,"Segoe UI",sans-serif;
  opacity:0;
  transform:translate(-50%,18px);
  transition:opacity .24s cubic-bezier(.16,1,.3,1),transform .24s cubic-bezier(.16,1,.3,1);
  scrollbar-width:thin;
}
.consent-banner[hidden]{display:none}
.consent-banner.is-visible{opacity:1;transform:translate(-50%,0)}
.consent-banner__summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}
.consent-banner__copy{max-width:625px;padding-left:4px}
.consent-banner__eyebrow{display:block;margin-bottom:4px;color:#0e63ff;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.consent-banner h2{margin:0;color:#171151;font-family:"Archivo",-apple-system,system-ui,"Segoe UI",sans-serif;font-size:18px;font-weight:800;letter-spacing:-.015em;line-height:1.25}
.consent-banner p{margin:6px 0 0;color:#5c5885;font-size:13.5px;line-height:1.48}
.consent-banner__actions{display:grid;grid-template-columns:auto auto;gap:8px;min-width:280px}
.consent-button{min-height:44px;border:0;border-radius:9px;padding:10px 16px;font:700 13.5px/1.2 "Archivo",-apple-system,system-ui,"Segoe UI",sans-serif;cursor:pointer;transition:background-color .18s,color .18s,box-shadow .18s,transform .18s}
.consent-button:hover{transform:translateY(-1px)}
.consent-button:focus-visible,.consent-option input:focus-visible+.consent-switch{outline:3px solid rgba(14,99,255,.28);outline-offset:2px}
.consent-button--primary{grid-column:1/-1;background:#0e63ff;color:#f8fbff;box-shadow:0 8px 20px rgba(14,99,255,.22)}
.consent-button--primary:hover{background:#0b4fcc;box-shadow:0 10px 24px rgba(14,99,255,.28)}
.consent-button--secondary{background:#eef2f9;color:#171151}
.consent-button--secondary:hover{background:#e4e9f3}
.consent-button--text{background:transparent;color:#5c5885;text-decoration:underline;text-decoration-color:#bcc5d7;text-underline-offset:3px}
.consent-button--text:hover{color:#171151}
.consent-banner__disclosure{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1)}
.consent-banner.is-expanded .consent-banner__disclosure{grid-template-rows:1fr}
.consent-banner__disclosure-inner{min-height:0;overflow:hidden}
.consent-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e4e8f0}
.consent-option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px;padding:12px 13px;background:#f1f4fa;border:1px solid transparent;border-radius:10px;cursor:pointer}
.consent-option:hover{border-color:#d8e0ee}
.consent-option strong{display:block;color:#171151;font-size:12.5px;line-height:1.2}
.consent-option span:not(.consent-switch):not(.consent-option__status){display:block;margin-top:4px;color:#6c6890;font-size:11px;line-height:1.35}
.consent-option--required{cursor:default;background:#f7f8fb}
.consent-option__status{flex:0 0 auto;color:#087a3a;font-size:10.5px;font-weight:800;white-space:nowrap}
.consent-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.consent-switch{position:relative;flex:0 0 42px;width:42px;height:24px;border-radius:999px;background:#c8cfdd;box-shadow:inset 0 0 0 1px rgba(23,17,81,.08);transition:background-color .2s}
.consent-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fbfcff;box-shadow:0 2px 5px rgba(23,17,81,.22);transition:transform .2s cubic-bezier(.16,1,.3,1)}
.consent-option input:checked+.consent-switch{background:#0e63ff}
.consent-option input:checked+.consent-switch::after{transform:translateX(18px)}
.consent-banner__save-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.consent-banner__save-row .consent-button{min-width:190px}
.consent-preferences-link{appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px;cursor:pointer;opacity:.9}
.consent-preferences-link:hover{opacity:1;color:#8fc2ff}
.consent-visible .wa-float{bottom:calc(var(--consent-banner-height) + 28px)}

@media(max-width:720px){
  .consent-banner{bottom:8px;width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:17px 16px 15px;border-radius:14px}
  .consent-banner__summary{grid-template-columns:1fr;gap:14px}
  .consent-banner__copy{padding-left:2px}
  .consent-banner h2{font-size:16.5px;line-height:1.28}
  .consent-banner p{font-size:12.75px;line-height:1.45}
  .consent-banner__actions{grid-template-columns:1fr 1fr;min-width:0}
  .consent-button{padding-inline:12px;font-size:13px}
  .consent-options{grid-template-columns:1fr;gap:8px;margin-top:15px;padding-top:14px}
  .consent-option{min-height:62px}
  .consent-banner__save-row{flex-direction:column-reverse}
  .consent-banner__save-row .consent-button{width:100%}
  .consent-visible .wa-float{right:14px;bottom:calc(var(--consent-banner-height) + 20px)}
}

@media(max-width:360px){
  .consent-banner{padding-inline:14px}
  .consent-button{font-size:12.5px}
}

@media(prefers-reduced-motion:reduce){
  .consent-backdrop,.consent-banner,.consent-banner__disclosure,.consent-button,.consent-switch,.consent-switch::after{transition:none!important}
}
