:root{--tap-ink:#10120e;--tap-paper:#f6f1e8;--tap-lime:#dfff4f;--tap-coral:#ff7358;--tap-sky:#9ed8ff}
.tap-consent-backdrop{position:fixed;inset:0;background:rgba(16,18,14,.58);z-index:9998;display:none}
.tap-consent-backdrop.is-open{display:block}
.tap-consent-banner,.tap-preferences{font-family:Manrope,Arial,sans-serif;color:var(--tap-ink);background:var(--tap-paper);border:3px solid var(--tap-ink);box-shadow:10px 10px 0 var(--tap-coral)}
.tap-consent-banner{position:fixed;z-index:9999;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(920px,calc(100% - 28px));padding:24px;border-radius:24px}
.tap-consent-banner[hidden],.tap-preferences[hidden]{display:none!important}
.tap-consent-banner h2,.tap-preferences h2{font-family:"Arial Black",Arial,sans-serif;font-size:clamp(24px,4vw,38px);line-height:1;margin:0 0 12px;text-transform:uppercase;letter-spacing:-.04em}
.tap-consent-banner p,.tap-preferences p{line-height:1.55;margin:0 0 18px;font-size:14px}
.tap-consent-note{padding:10px 12px;background:var(--tap-sky);border:2px solid var(--tap-ink);border-radius:10px;font-weight:700}
.tap-consent-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tap-consent-button{min-height:48px;padding:10px 14px;border:2px solid var(--tap-ink);border-radius:999px;background:var(--tap-paper);color:var(--tap-ink);font-weight:900;font-size:13px;box-shadow:3px 3px 0 var(--tap-ink);cursor:pointer}
.tap-consent-button:hover,.tap-consent-button:focus-visible{background:var(--tap-lime);transform:translate(-1px,-1px)}
.tap-consent-button:disabled{opacity:.6;cursor:not-allowed}
.tap-preferences{position:fixed;z-index:10000;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100% - 28px));max-height:min(820px,calc(100vh - 28px));overflow:auto;padding:24px;border-radius:24px}
.tap-pref-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:18px 0;border-top:1px solid rgba(16,18,14,.2)}
.tap-pref-row:first-of-type{border-top:2px solid var(--tap-ink)}
.tap-pref-row h3{font-size:16px;margin:0 0 5px}
.tap-pref-row p{font-size:13px;margin:0;color:#454c42}
.tap-pref-vendors{display:block;margin-top:6px;font-size:12px;font-weight:700}
.tap-switch{width:46px;height:26px;position:relative}
.tap-switch input{position:absolute;opacity:0}
.tap-switch span{position:absolute;inset:0;border:2px solid var(--tap-ink);border-radius:99px;background:#fff;cursor:pointer}
.tap-switch span:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:var(--tap-ink);transition:transform .15s}
.tap-switch input:checked+span{background:var(--tap-lime)}
.tap-switch input:checked+span:after{transform:translateX(20px)}
.tap-switch input:disabled+span{cursor:not-allowed;background:#ddd}
.tap-preferences-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.tap-privacy-footer{margin-top:48px;padding:26px 20px max(26px,env(safe-area-inset-bottom));background:var(--tap-ink);color:#fff;font:600 12px/1.5 Manrope,Arial,sans-serif}
.tap-privacy-footer__inner{max-width:1160px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:center;text-align:center}
.tap-privacy-footer a,.tap-privacy-links a{color:var(--tap-lime);text-decoration:underline;text-underline-offset:3px}
.tap-privacy-links{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center}
.tap-inline-privacy{font-size:12px!important;line-height:1.5!important;color:#4d5549!important;margin:10px 0!important;text-transform:none!important;letter-spacing:0!important;font-weight:600!important}
.tap-inline-privacy a{font-weight:800}
.tap-gpc-badge{display:inline-flex;padding:4px 8px;border:1px solid var(--tap-ink);border-radius:999px;background:var(--tap-sky);font-size:11px;font-weight:900}
.tap-form-status{min-height:24px;margin-top:12px;font-weight:800}
@media(max-width:680px){.tap-consent-banner{padding:18px;bottom:10px}.tap-consent-actions,.tap-preferences-actions{grid-template-columns:1fr}.tap-preferences{padding:18px}.tap-pref-row{gap:10px}}
@media(prefers-reduced-motion:reduce){.tap-consent-button,.tap-switch span:after{transition:none!important}}

.tap-preferences:target{display:block!important}.tap-consent-backdrop:has(+ .tap-consent-banner + .tap-preferences:target){display:block}
