.analytics-consent { position: fixed; inset-inline: 16px; bottom: max(16px, env(safe-area-inset-bottom)); z-index: 10000; max-width: 580px; max-height: 65dvh; overflow-y: auto; box-sizing: border-box; padding: 24px; border: 1px solid #695d4d; border-radius: 12px; color: #faf6ef; background: #211e19; box-shadow: 0 8px 32px rgb(0 0 0 / .35); font: 15px/1.55 Manrope, sans-serif; }
.analytics-consent h2 { margin: 0 0 8px; font-size: 20px; line-height: 1.3; color: #faf6ef; }
.analytics-consent p { margin: 0 0 12px; color: #e0d7c9; }
.analytics-consent a { color: #ffae78; text-decoration: underline; text-underline-offset: 3px; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.analytics-actions button { flex: 1 1 160px; min-height: 46px; padding: 10px 16px; border: 1px solid #a3937f; border-radius: 6px; background: transparent; color: #faf6ef; font: inherit; font-weight: 700; cursor: pointer; }
.analytics-actions .analytics-granted { background: #ff5500; border-color: #ff5500; color: #111; }
.analytics-actions button:hover { border-color: #faf6ef; }
.analytics-settings { margin: 12px; min-height: 44px; padding: 8px; border: 0; background: transparent; color: #ded5c7; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.analytics-settings:focus-visible, .analytics-consent :focus-visible { outline: 3px solid #ffae78; outline-offset: 3px; }
@media (max-width: 400px) { .analytics-consent { padding: 18px; inset-inline: 10px; bottom: 10px; } .analytics-actions { gap: 8px; margin-top: 14px; } }

/* Compact, non-modal consent; details remain one tap away. */
.analytics-consent { max-width: 520px; padding: 20px; background: #181818; border-color: #51483e; }
.analytics-consent h2 { font-size: 18px; font-weight: 800; }
.analytics-consent p { margin-bottom: 0; font-size: 14px; }
.analytics-actions { align-items: center; gap: 8px; margin-top: 16px; }
.analytics-actions button { flex: 1 1 auto; min-width: 100px; min-height: 44px; padding: 9px 14px; font-size: 14px; border-radius: 10px; }
.analytics-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-inline: 8px; font-size: 14px; }
@media (max-width: 400px) {
 .analytics-consent { padding: 16px; bottom: max(10px, env(safe-area-inset-bottom)); }
 .analytics-consent h2 { font-size: 17px; }
 .analytics-actions { gap: 8px; }
 .analytics-actions button { min-width: 0; padding-inline: 10px; }
 .analytics-actions a { padding-inline: 4px; font-size: 13px; }
}
