body.analytics-consent-open { padding-bottom: var(--analytics-banner-space, 0px); }
.analytics-consent[hidden] { display: none !important; }
.analytics-consent { position: fixed; z-index: 1000; inset: auto 0 0; padding: 18px max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); color: #173c37; background: #fffef8; border-top: 2px solid #53766a; box-shadow: 0 -4px 24px #163c371c; max-height: 80vh; overflow-y: auto; }
.analytics-consent-inner { max-width: 1160px; margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr); align-items: center; gap: 24px; }
.analytics-consent h2 { font: inherit; font-size: 1.15rem; font-weight: 750; line-height: 1.35; margin: 0 0 8px; }
.analytics-consent p { font-size: .95rem; line-height: 1.55; margin: 0 0 8px; max-width: 75ch; }
.analytics-consent a { color: #173c37; text-decoration: underline; text-underline-offset: .2em; font-size: .95rem; }
.analytics-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.analytics-consent-actions button { min-height: 48px; padding: 12px 14px; font: inherit; font-size: .95rem; font-weight: 650; line-height: 1.4; color: #173c37; background: #f2f4eb; border: 2px solid #53766a; border-radius: 8px; cursor: pointer; }
.analytics-consent-actions button:hover { background: #e4ebdf; }
.analytics-consent :focus-visible { outline: 3px solid #a64b33; outline-offset: 4px; }
@media (max-width: 760px) { .analytics-consent-inner { grid-template-columns: 1fr; gap: 14px; } }
@media (max-width: 360px) { .analytics-consent-actions { grid-template-columns: 1fr; } }

body.analytics-consent-open .mobile-contact { bottom: calc(var(--analytics-banner-space, 0px) + 15px); }
@media print { .analytics-consent { display: none !important; } body.analytics-consent-open { padding-bottom: 0; } }
