/* Shared privacy controls. All resources are local; no external fonts or icons. */
.consent-banner,.consent-panel{background:#070D1A;color:#F5F1E8;border:1px solid #687080;border-radius:20px;font:400 14px/1.6 'Manrope',sans-serif;box-shadow:0 12px 48px #0005}
.consent-banner{position:fixed;inset:auto 24px 24px;z-index:90;padding:24px 28px;display:flex;gap:28px;align-items:center;max-width:1320px;margin:auto}
.consent-banner>div:first-child{flex:1}.consent-banner h2,.consent-panel h2{font:500 23px/1.25 'Manrope',sans-serif;letter-spacing:-.02em;margin:0 0 10px}
.consent-banner p,.consent-panel p{margin:0;color:#C8C7C2}.consent-banner a,.consent-panel a{color:#F5F1E8;text-decoration:underline;text-underline-offset:4px}
.consent-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px}.consent-banner>.consent-actions{grid-template-columns:repeat(2,150px) auto}.consent-choice,.consent-configure,.consent-save,.consent-close{font:500 14px/1.4 'Manrope',sans-serif;min-height:44px;border-radius:999px;padding:12px 20px;cursor:pointer}
.consent-choice{flex:1;white-space:nowrap;background:transparent;color:#F5F1E8;border:1px solid #F5F1E8;transition:background .2s,color .2s}
.consent-choice:hover{background:#F5F1E8;color:#070D1A}.consent-configure{border:0;background:none;color:#F5F1E8;text-decoration:underline;text-underline-offset:4px}
.consent-panel{padding:30px;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;overscroll-behavior:contain}
.consent-panel::backdrop{background:#070D1A99}.consent-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.consent-heading h2{margin:0}
.consent-close{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #687080;background:none;color:#F5F1E8;font-size:26px}
.consent-category{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #687080;margin-bottom:20px}
.consent-category label{margin:0 0 5px;font-weight:600;font-size:16px}.consent-category label span{display:block;color:#C8C7C2;font-size:12px;font-weight:400}.consent-category p{font-size:13px}
.consent-category input{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:48px;min-height:28px;height:28px;margin:0;padding:0;border:1px solid #A9AFBA;border-radius:999px;background:#343B48;cursor:pointer}
.consent-category input::before{content:'';position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#F5F1E8;transition:transform .2s}
.consent-category input:checked{background:#C9A45C;border-color:#C9A45C}.consent-category input:checked::before{transform:translateX(20px);background:#070D1A}.consent-category input:disabled{cursor:not-allowed}
.consent-panel-actions{display:grid;gap:12px;margin-top:24px}.consent-save{background:#C9A45C;color:#070D1A;border:1px solid #C9A45C;width:100%}
.consent-banner :focus-visible,.consent-panel :focus-visible,[data-consent-open]:focus-visible{outline:3px solid #C9A45C;outline-offset:4px}
.consent-panel-open{overflow:hidden}.consent-banner-visible .whatsapp-float{bottom:calc(var(--consent-banner-offset,0px) + 16px + env(safe-area-inset-bottom))}
.consent-status:empty{display:none}.consent-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;width:max-content;max-width:calc(100% - 40px);background:#F5F1E8;color:#070D1A;border:1px solid #070D1A;padding:12px 20px;border-radius:12px;font-size:14px}
.footer-bottom [data-consent-open]{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(max-width:1050px){.consent-banner{display:block}.consent-banner>.consent-actions{margin-top:18px;grid-template-columns:repeat(2,minmax(0,1fr)) auto}}
@media(max-width:639px){.consent-banner{inset:auto 0 0;border-radius:20px 20px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));max-height:65dvh;overflow:auto}.consent-banner h2{font-size:20px}.consent-banner p{font-size:13px}.consent-banner>.consent-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.consent-banner .consent-configure{grid-column:1/-1;width:100%;padding:4px}.consent-panel{padding:22px}.consent-choice{padding:12px}.consent-panel h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.consent-choice,.consent-category input::before{transition:none}}
