.footer-privacy { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 24px; margin-top: 12px; }
.footer-privacy a, .footer-privacy button { color: inherit; font: inherit; font-size: 13px; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.footer-privacy button { background: none; border: 0; padding: 10px 0; min-height: 44px; cursor: pointer; }
.analytics-consent { position: fixed; z-index: 20000; bottom: max(16px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); box-sizing: border-box; width: min(720px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px; background: #fff; color: #252b2a; border: 1px solid #b8c7c0; border-radius: 6px; box-shadow: 0 4px 24px #0003; }
.analytics-consent[hidden], [data-analytics-choices][hidden] { display: none !important; }
.analytics-consent h2 { margin: 0 0 10px; font-size: 18px; line-height: 1.4; }
.analytics-consent p { margin: 0 0 10px; font-size: 14px; line-height: 1.65; }
.analytics-consent a { font-size: 13px; color: #385649; text-decoration: underline; text-underline-offset: 3px; }
.analytics-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.analytics-actions button { min-height: 44px; padding: 10px 14px; font: inherit; font-size: 14px; font-weight: 600; border: 1px solid #536b60; background: #fff; color: #304c3f; border-radius: 4px; cursor: pointer; overflow-wrap: anywhere; }
.analytics-actions [data-analytics-choice="allow"] { background: #536b60; color: #fff; }
.analytics-actions button:disabled { opacity: .5; cursor: not-allowed; }
.analytics-consent :focus-visible, .footer-privacy :focus-visible { outline: 2px solid #5d8170; outline-offset: 3px; }
.privacy-notice { padding-block: 64px; scroll-margin-top: 130px; background: #fff; }
.privacy-notice .container { max-width: 900px; }
.privacy-notice h2 { font-size: 30px; line-height: 1.3; margin: 0 0 20px; }
.privacy-notice h3 { font-size: 19px; line-height: 1.4; margin: 28px 0 10px; }
.privacy-notice p { font-size: 15px; line-height: 1.8; color: #53615a; margin-bottom: 14px; overflow-wrap: anywhere; }
.privacy-notice a { color: #385649; text-decoration: underline; }
.privacy-notice button { min-height: 44px; padding: 10px 16px; border: 1px solid #536b60; border-radius: 4px; background: #fff; color: #385649; font: inherit; cursor: pointer; }
@media (max-width: 600px) {
    .analytics-consent { padding: 18px; width: calc(100% - 24px); bottom: max(12px, env(safe-area-inset-bottom)); }
    .analytics-consent p { font-size: 13px; }
    .analytics-actions { gap: 10px; }
    .privacy-notice { padding-block: 36px; }
    .privacy-notice h2 { font-size: 25px; }
}
