.privacy-banner .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 22px;border:1px solid transparent;border-radius:14px;font-size:13px;font-weight:700;line-height:1.3;transition:background .18s,transform .18s,box-shadow .18s}
.privacy-banner .primary{color:white;background:var(--accent)}
.privacy-banner .subtle{background:#f2f1f6;color:#616879}
.privacy-banner .subtle:hover{background:#e8e5f0}
.privacy-banner{font-family:Arial,Helvetica,sans-serif;--accent:var(--privacy-accent,#7154fc);--accent-hover:var(--privacy-accent-hover,#593cdd);--muted:var(--privacy-muted,#69707e);--focus:var(--privacy-focus,#7154fc)}.privacy-banner .primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 7px 18px #7154fc22}.privacy-banner :focus-visible{outline:3px solid var(--focus,#7154fc);outline-offset:4px}

.legal-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding-top:18px;font-size:12px;color:var(--muted,#657084)}
.text-link{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer}
.privacy-banner[hidden]{display:none}
.privacy-banner{position:fixed;z-index:80;bottom:16px;left:50%;transform:translateX(-50%);width:max-content;max-width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;display:flex;gap:16px;align-items:center;padding:12px 18px;border:1px solid #d6caff;border-radius:18px;background:#fffefb;color:#242b36;box-shadow:0 12px 50px #2d1b5b25}
.privacy-banner strong{font-size:17px;line-height:1.3}
.privacy-banner p{font-size:13px;line-height:1.65;margin:6px 0 0;max-width:620px}
.privacy-banner a{color:#6141df;text-decoration:underline;text-underline-offset:3px}
.privacy-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}
.privacy-actions .button{font-size:12px;padding:13px 16px;min-height:44px;white-space:nowrap}
.privacy-status:empty{display:none}
.legal-page{max-width:860px;padding-top:48px;padding-bottom:70px;overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(32px,5vw,52px);line-height:1.1;letter-spacing:-1.7px;margin:12px 0 26px}
.legal-page h2{font-size:23px;line-height:1.3;margin:36px 0 12px;letter-spacing:-.5px}
.legal-page p{font-size:16px;line-height:1.8;margin:12px 0}
.legal-page .legal-lead{font-size:19px;line-height:1.65}
.legal-page a:not(.button){color:#6141df;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.privacy-banner{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px;border-radius:18px}.privacy-banner p{font-size:12px}.privacy-actions{flex-wrap:wrap}.privacy-actions .button{flex:1;padding-inline:12px}.legal-footer{gap:12px 20px;font-size:11px}.legal-page{padding-top:30px}.legal-page p{font-size:15px}.legal-page .legal-lead{font-size:17px}}

.privacy-message{flex:1;min-width:0}.privacy-banner details summary{font-size:13px;line-height:1.6;cursor:pointer;list-style:none}.privacy-banner details summary::-webkit-details-marker{display:none}.privacy-banner details summary span{color:#6141df;text-decoration:underline;text-underline-offset:3px}.privacy-banner [hidden]{display:none!important}.privacy-actions .button{padding:10px 14px}.privacy-banner details[open] p{margin-top:10px}@media(max-width:760px){.privacy-banner{align-items:stretch}.privacy-actions{justify-content:center}.privacy-actions .button{flex:0 1 auto}.privacy-banner details summary{font-size:12px}}

/* Expanded privacy notice: full-width explanation, then status and actions. */
.privacy-banner:has(details[open]){display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:10px 16px;width:600px;padding:12px 18px}
.privacy-banner:has(details[open]) .privacy-message{display:contents}
.privacy-banner details[open]{grid-column:1/-1}
.privacy-banner details[open] summary{line-height:1.5}
.privacy-banner details[open] p{margin:6px 0 0;line-height:1.5;max-width:none;text-wrap:balance}
.privacy-banner details[open] p a{white-space:nowrap}
.privacy-banner:has(details[open]) .privacy-status{grid-column:1;grid-row:2;margin:0;font-size:12px;line-height:1.5;color:var(--muted);text-wrap:balance}
.privacy-banner:has(details[open]) .privacy-actions{grid-column:2;grid-row:2;justify-content:flex-end}
@media(max-width:760px){
  .privacy-banner:has(details[open]){grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 16px}
  .privacy-banner:has(details[open]) .privacy-status{grid-column:1;grid-row:auto}
  .privacy-banner:has(details[open]) .privacy-actions{grid-column:1;grid-row:auto;justify-content:center}}
