.ampli-consent-banner,.ampli-consent-dialog,.ampli-consent-footer { font-family:var(--font-main); font-size:14px; color:var(--brand-dark); }
.ampli-consent-banner[hidden],.ampli-consent-footer [hidden] { display:none; }
.ampli-consent-banner { position:fixed; bottom:20px; left:20px; right:20px; z-index:1000; max-width:1160px; margin:auto; display:flex; align-items:center; gap:32px; background:white; border:1px solid #e4dcf2; border-radius:14px; padding:24px; box-shadow:0 8px 32px #1b0e3d20; }
.ampli-consent-banner > div:first-child { flex:1; }
.ampli-consent-banner h2,.ampli-consent-dialog h2 { font-size:20px; line-height:1.3; font-weight:600; margin:0 0 12px; }
.ampli-consent-banner p,.ampli-consent-dialog p { margin:0; line-height:1.7; }
.ampli-consent-banner a { text-decoration:underline; text-underline-offset:3px; }
.consent-actions { display:flex; flex-wrap:wrap; gap:10px; }
.consent-actions button,.ampli-consent-footer button { border:1px solid #bfb1d8; border-radius:6px; padding:12px 16px; min-height:44px; font:inherit; font-weight:500; color:var(--brand-dark); background:white; }
.consent-actions [data-consent-accept],.consent-actions button[type=submit] { background:var(--brand-green); border-color:var(--brand-green); }
.ampli-consent-banner :focus-visible,.ampli-consent-dialog :focus-visible,.ampli-consent-footer :focus-visible { outline:3px solid var(--brand-purple); outline-offset:3px; }
.ampli-consent-dialog { border:1px solid #e4dcf2; border-radius:14px; max-width:580px; width:calc(100% - 40px); margin:auto; padding:28px; max-height:calc(100dvh - 40px); overflow:auto; }
.ampli-consent-dialog::backdrop { background:#1b0e3d80; }
.ampli-consent-dialog label { display:flex; align-items:flex-start; gap:14px; padding:18px 0; border-bottom:1px solid #e4dcf2; }
.ampli-consent-dialog input { width:20px; height:20px; flex-shrink:0; accent-color:var(--brand-purple); margin-top:2px; }
.ampli-consent-dialog small { display:block; margin-top:6px; color:#61596d; font-size:13px; }
.ampli-consent-dialog form > p { font-size:12px; margin:18px 0; }
.ampli-consent-footer { padding:16px 20px; text-align:center; background:#fff; }
.floating-whatsapp { position:fixed; right:calc(20px + env(safe-area-inset-right,0px)); bottom:calc(20px + env(safe-area-inset-bottom,0px)); z-index:900; display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:#25D366; box-shadow:0 4px 16px #1b0e3d26; transition:background-color .15s ease,box-shadow .15s ease; }
.floating-whatsapp img { width:30px; height:30px; }
.floating-whatsapp:hover { background:#20bd5a; box-shadow:0 6px 20px #1b0e3d30; }
.floating-whatsapp:focus-visible { outline:3px solid var(--brand-purple); outline-offset:4px; }
.public-body:has([data-consent-banner]:not([hidden]),dialog[open],.home-menu-toggle[aria-expanded="true"]) .floating-whatsapp { visibility:hidden; pointer-events:none; }
.public-body:has(.floating-whatsapp) .ampli-consent-footer { padding-bottom:calc(96px + env(safe-area-inset-bottom,0px)); }
@media(prefers-reduced-motion:reduce) { .floating-whatsapp { transition:none; } }
.ampli-consent-footer button { font-size:12px; border:0; text-decoration:underline; background:transparent; }
.public-body:has(.ampli-home) .ampli-consent-footer { background:var(--brand-dark); color:white; }
.public-body:has(.ampli-home) .ampli-consent-footer button { color:white; }
@media(max-width:900px) { .ampli-consent-banner { flex-direction:column; align-items:stretch; gap:18px; } }
@media(max-width:600px) { .ampli-consent-banner { bottom:10px; left:10px; right:10px; padding:20px; max-height:calc(100dvh - 20px); overflow:auto; } .consent-actions { flex-direction:column; } .ampli-consent-dialog { padding:22px; } }
