/* Mobile consent base. */
.cookie-banner { position: fixed; z-index: 100; bottom: max(16px, env(safe-area-inset-bottom)); left: 16px; right: 16px; background: #fff; color: #183e35; box-shadow: 0 5px 40px #0004; border: 1px solid #a9baab; border-radius: 12px; padding: 18px; display: block; gap: 28px; align-items: center; font: 14px/1.6 system-ui,sans-serif; max-height: 80svh; overflow: auto; overflow-wrap: break-word; }
.cookie-banner[hidden] { display: none; }
.cookie-banner p { font-size: 12px; margin: 7px 0 0; max-width: 95ch; }
.cookie-banner a { text-decoration: underline; }
.cookie-actions { display: grid; gap: 10px; flex-shrink: 0; margin-top: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cookie-actions button { background: #153f34; color: white; border: 1px solid #153f34; border-radius: 10px; padding: 12px 8px; font: 600 13px system-ui; min-height: 48px; cursor: pointer; min-width: 0; white-space: normal; }
.cookie-actions button:focus-visible { outline: 3px solid #b59860; outline-offset: 4px; }
.cookie-actions button:active { transform: scale(.97); }
.legal-links { display: flex; flex-wrap: wrap; gap: 15px; padding-top: 25px; font: 12px/1.8 system-ui; }
.legal-links a { text-decoration: underline; text-underline-offset: 4px; }
.legal-links button { border: 0; background: none; color: inherit; padding: 0; text-decoration: underline; font: inherit; cursor: pointer; }
.consent-open .mobile-contact { display: none; }
.legal-links a,.legal-links button { display: inline-flex; align-items: center; min-height: 44px; }
.cookie-banner a:focus-visible,.legal-links a:focus-visible,.legal-links button:focus-visible { outline: 3px solid #b59860; outline-offset: 4px; }
@media (min-width: 751px) {
.cookie-banner { display: flex; padding: 22px; }
.cookie-actions { display: flex; margin-top: 0; flex-wrap: wrap; flex-shrink: 1; }
.cookie-actions button { padding: 14px 18px; }
}
@media (prefers-reduced-motion: reduce) {
.cookie-actions button:active { transform: none; }
.cookie-actions button { transition: none; }
}
@media (prefers-contrast: more) {
.cookie-banner { border: 2px solid #153f34; }
}
