/* Shared studio privacy interface; independent of customer template palettes. */
body.tc-privacy-prompt{padding-bottom:var(--tc-privacy-space,260px)}
html{scroll-padding-bottom:var(--tc-privacy-space,0px)}
.tc-privacy{--p-bg:#111214;--p-panel:#202326;--p-text:#f2f0e8;--p-muted:#b9bdb7;--p-accent:#d9ff62;--p-border:#818780;font:400 15px/1.6 'Montserrat',system-ui,sans-serif;color:var(--p-text);text-align:left}
.tc-privacy *{box-sizing:border-box}.tc-privacy [hidden]{display:none!important}
.tc-privacy h2{font:600 clamp(1.3rem,3vw,1.8rem)/1.15 'Montserrat',system-ui,sans-serif;color:var(--p-text);letter-spacing:-.04em;margin:8px 0 12px;text-transform:none}
.tc-privacy p{margin:0 0 12px;max-width:76ch}.tc-privacy a{color:var(--p-text);text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.tc-privacy button{appearance:none;font:600 14px/1.25 'Montserrat',system-ui,sans-serif;min-height:44px;padding:12px 18px;border:1px solid var(--p-border);border-radius:6px;background:var(--p-bg);color:var(--p-text);cursor:pointer;white-space:normal}
.tc-privacy button:hover{background:var(--p-panel);border-color:var(--p-accent)}
.tc-privacy button:focus-visible,.tc-privacy input:focus-visible,.tc-privacy a:focus-visible{outline:3px solid var(--p-accent);outline-offset:3px}
.tc-privacy-banner{position:fixed;z-index:1000;bottom:16px;left:16px;right:16px;max-width:1250px;margin:auto;background:var(--p-bg);padding:24px;border:1px solid var(--p-border);border-radius:12px;box-shadow:0 12px 60px #0008;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;max-height:45vh;overflow:auto}
.tc-privacy-kicker{font:600 11px/1.4 'Montserrat',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--p-accent)}
.tc-privacy-actions{display:flex;gap:10px;flex-wrap:wrap}.tc-privacy-banner .tc-privacy-actions{display:grid;grid-template-columns:1fr 1fr;min-width:300px}
.tc-privacy-banner [data-privacy-customize]{grid-column:1/-1}
.tc-privacy-dialog{color:var(--p-text);background:var(--p-bg);border:1px solid var(--p-border);border-radius:16px;width:calc(100% - 32px);max-width:640px;max-height:85vh;padding:28px;overflow:auto;margin:auto;box-shadow:0 20px 80px #0008}
.tc-privacy-dialog:not([open]){display:none}.tc-privacy-dialog::backdrop{background:#000a}
.tc-privacy-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.tc-privacy-option{display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-top:1px solid #51564f;cursor:pointer}
.tc-privacy-option input{width:22px;height:22px;flex:0 0 22px;margin-top:3px;accent-color:var(--p-accent)}
.tc-privacy-option strong,.tc-privacy-option span span{display:block}.tc-privacy-option span span{color:var(--p-muted);font-size:14px;margin-top:6px}
.tc-privacy-dialog [data-privacy-save]{background:var(--p-accent);color:var(--p-bg);border-color:var(--p-accent)}
.tc-privacy-dialog .tc-privacy-actions{margin:20px 0}.tc-privacy-dialog [data-privacy-gpc],.tc-privacy-dialog [data-privacy-notice]{color:var(--p-muted);font-size:14px}
@media(max-width:760px){.tc-privacy-banner{grid-template-columns:1fr;gap:12px;padding:18px;left:8px;right:8px;bottom:8px}.tc-privacy-banner .tc-privacy-actions{min-width:0;grid-template-columns:1fr 1fr}.tc-privacy-banner h2{font-size:20px}.tc-privacy-banner p{font-size:13px}.tc-privacy-dialog{padding:22px}.tc-privacy-dialog-head{gap:10px}.tc-privacy-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){.tc-privacy *{scroll-behavior:auto}}
