
.pt-privacy-root{--ptc-bg:rgba(12,15,18,.96);--ptc-line:rgba(255,255,255,.14);--ptc-ink:#fff;--ptc-muted:#bcc1c4;--ptc-red:#d00004}
.pt-consent-banner{position:fixed;z-index:10020;left:20px;right:20px;bottom:20px;max-width:1180px;margin:auto;background:var(--ptc-bg);color:var(--ptc-ink);border:1px solid var(--ptc-line);box-shadow:0 24px 70px rgba(0,0,0,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:24px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end}
.pt-consent-banner[hidden],.pt-consent-settings[hidden],.pt-consent-backdrop[hidden]{display:none!important}
.pt-consent-eyebrow{display:block;margin-bottom:9px;color:#ef777b;font:500 7px/1.2 var(--ui,"Source Sans 3",Arial,sans-serif);letter-spacing:.17em;text-transform:uppercase}
.pt-consent-banner h2,.pt-consent-settings h2{margin:0;font-family:var(--editorial,"Manrope",Arial,sans-serif);font-weight:400;letter-spacing:-.025em}
.pt-consent-banner h2{font-size:26px;line-height:1}.pt-consent-banner p{max-width:640px;margin:9px 0 0;color:var(--ptc-muted);font:300 10px/1.55 var(--ui,"Source Sans 3",Arial,sans-serif)}
.pt-consent-banner__actions,.pt-consent-settings__actions{display:flex;flex-wrap:wrap;gap:8px}
.pt-consent-banner button,.pt-consent-settings button{min-height:38px;padding:0 13px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer;font:500 8px/1 var(--ui,"Source Sans 3",Arial,sans-serif)}
.pt-consent-banner button:hover,.pt-consent-settings button:hover,.pt-consent-banner button:focus-visible,.pt-consent-settings button:focus-visible{border-color:#fff;outline:none}
.pt-consent-banner button.primary,.pt-consent-settings button.primary{background:#fff;border-color:#fff;color:#111315}
.pt-consent-backdrop{position:fixed;z-index:10030;inset:0;background:rgba(5,7,9,.58);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.pt-consent-settings{position:fixed;z-index:10040;left:50%;top:50%;transform:translate(-50%,-50%);width:min(660px,calc(100% - 32px));max-height:min(760px,calc(100vh - 34px));overflow:auto;padding:30px;background:#111417;color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 36px 90px rgba(0,0,0,.42)}
.pt-consent-settings__close{position:absolute;right:14px;top:12px;width:36px;padding:0!important;font-size:20px!important;border:0!important}
.pt-consent-settings h2{font-size:34px;line-height:1}.pt-consent-settings__intro{margin:12px 0 24px;color:#b8bec1;font:300 10px/1.6 var(--ui,"Source Sans 3",Arial,sans-serif)}
.pt-consent-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.13)}
.pt-consent-option strong{display:block;font:500 10px/1.3 var(--ui,"Source Sans 3",Arial,sans-serif)}.pt-consent-option p{margin:5px 0 0;max-width:480px;color:#aeb4b8;font:300 9px/1.55 var(--ui,"Source Sans 3",Arial,sans-serif)}
.pt-consent-required{color:#aeb4b8;font:500 8px/1 var(--ui,"Source Sans 3",Arial,sans-serif)}
.pt-consent-option input{position:absolute;opacity:0;pointer-events:none}
.pt-switch{position:relative;width:37px;height:20px;border:1px solid rgba(255,255,255,.32);border-radius:20px;transition:.2s ease}
.pt-switch:before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#d9dcde;transition:.2s ease}
.pt-consent-option input:checked + .pt-switch{background:#fff;border-color:#fff}.pt-consent-option input:checked + .pt-switch:before{transform:translateX(17px);background:#111315}
.pt-consent-option input:focus-visible + .pt-switch{outline:2px solid #fff;outline-offset:3px}
.pt-consent-settings__actions{justify-content:flex-end;padding-top:20px;border-top:1px solid rgba(255,255,255,.13)}
body.pt-consent-open{overflow:hidden}
@media(max-width:760px){.pt-consent-banner{left:10px;right:10px;bottom:10px;padding:20px;grid-template-columns:1fr;gap:18px}.pt-consent-banner__actions{display:grid;grid-template-columns:1fr}.pt-consent-banner button{width:100%}.pt-consent-settings{padding:26px 20px}.pt-consent-settings__actions{display:grid;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pt-switch,.pt-switch:before{transition:none}}
