/* Privacidad de analítica */
.consent-banner {
    position: fixed;
    z-index: 40;
    inset: auto 16px 16px;
    margin: auto;
    max-width: 760px;
    padding: 16px 20px;
    border: 1px solid #27d9ff60;
    background: #0f141bf2;
    color: #f2f4f7;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 10px 45px #0007;
    font: 14px/1.5 "Archivo", Arial, sans-serif;
}
.consent-banner[hidden] { display: none; }
.consent-banner p { margin: 0 0 10px; }
.consent-banner > div { display: flex; flex-wrap: wrap; gap: 8px; }
.consent-banner button, .consent-dialog button {
    min-height: 44px;
    padding: 9px 15px;
    font: inherit;
    border: 1px solid #909ca8;
    background: transparent;
    color: #f2f4f7;
    cursor: pointer;
}
.consent-banner [data-consent-accept], .consent-dialog [data-consent-save] { background: #1dff72; color: #07090d; border-color: #1dff72; }
.consent-dialog {
    box-sizing: border-box;
    width: min(440px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    padding: 24px;
    border: 1px solid #27d9ff70;
    background: #0f141b;
    color: #f2f4f7;
    font: 15px/1.5 "Archivo", Arial, sans-serif;
}
.consent-dialog::backdrop { background: #0009; backdrop-filter: blur(6px); }
.consent-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.consent-dialog h2 { font-size: 25px; margin: 0; line-height: 1.2; letter-spacing: normal; text-transform: none; }
.consent-dialog p { margin: 18px 0; color: #c9d1d9; }
.consent-dialog label { display: flex; align-items: center; gap: 12px; margin: 18px 0; }
.consent-dialog input { width: 20px; height: 20px; accent-color: #1dff72; }
.consent-dialog [data-consent-save] { width: 100%; margin-top: 10px; }
.consent-banner button:focus-visible, .consent-dialog :focus-visible { outline: 2px solid #27d9ff; outline-offset: 3px; }
body.consent-visible .assistant-launcher { bottom: calc(var(--consent-height, 150px) + 32px); }
@media (max-width: 430px) {
    .consent-banner { inset-inline: 12px; bottom: 12px; padding: 14px; font-size: 13px; }
    .consent-banner button { padding: 8px 11px; }
    .consent-dialog { padding: 20px; }
}
