.analytics-consent {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 100;
    box-sizing: border-box;
    width: min(460px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    padding: 24px;
    border: 1px solid #d5e8dc;
    border-radius: 20px;
    background: #fff;
    color: #1a4030;
    box-shadow: 0 12px 48px #1a40301f;
    font: 15px/1.5 Arial, sans-serif;
}
.analytics-consent[hidden] { display: none; }
.analytics-consent h2 { margin: 0 0 8px; font: 700 20px/1.25 Arial, sans-serif; letter-spacing: normal; }
.analytics-consent p { margin: 0 0 18px; font: inherit; color: #385346; }
.analytics-consent a { color: #157a41; text-decoration: underline; }
.analytics-consent-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.analytics-consent-actions button {
    flex: 1;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #1a4030;
    border-radius: 12px;
    background: #eef7f1;
    color: #1a4030;
    font: 600 15px/1.3 Arial, sans-serif;
    cursor: pointer;
}
.analytics-consent-actions button:hover { background: #dceee2; }
.analytics-settings {
    display: inline-block;
    border: 0;
    padding: 8px 0;
    margin: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 13px;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}
.analytics-consent button:focus-visible, .analytics-settings:focus-visible {
    outline: 3px solid #1f9d55;
    outline-offset: 3px;
}
@media (max-width: 600px) {
    .analytics-consent { right: 16px; bottom: 16px; padding: 20px; }
}
