/* Scoped so standalone advice/calculator layouts keep their own design system. */
.consent-banner {
    position: fixed; bottom: 24px; left: 24px; z-index: 1001;
    width: calc(100% - 48px); max-width: 420px; max-height: calc(100dvh - 48px); overflow-y: auto;
    box-sizing: border-box; padding: 24px; border-radius: 12px;
    background: var(--white, #fff); color: var(--text-dark, #1a1a1a);
    box-shadow: var(--shadow-lg, 0 8px 30px rgba(0, 0, 0, .15));
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: .95rem; line-height: 1.5;
}
.consent-banner[hidden] { display: none; }
.consent-banner h2 { margin: 0 0 12px; color: var(--navy, #1b2a4e); font-size: 1.05rem; font-weight: 600; line-height: 1.4; }
.consent-banner p { margin: 0 0 16px; font-size: inherit; line-height: inherit; color: inherit; }
.consent-banner a { color: var(--primary-green, #00652d); text-decoration: underline; }
.consent-actions { display: flex; gap: 12px; }
.consent-actions button {
    flex: 1; min-width: 0; min-height: 44px; padding: 10px 8px; border: 0; border-radius: 6px;
    background: #00652d; color: #fff; font: inherit; font-weight: 600; cursor: pointer;
}
.consent-settings { background: none; border: 0; padding: 6px 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.home-footer .consent-settings { color: #fff; }
.site-footer .consent-settings { color: #00652d; }
.consent-footer { padding: 16px 24px; text-align: center; }
.consent-banner :focus-visible, .consent-settings:focus-visible { outline: 3px solid #009fe3; outline-offset: 2px; }
@media (max-width: 768px) {
    .consent-banner { left: 0; bottom: 0; width: 100%; max-width: none; max-height: 100dvh; border-radius: 12px 12px 0 0; padding: 20px; }
}
