.cookie-banner { position: fixed; z-index: 1000; left: 16px; right: 16px; bottom: 16px; max-width: 620px; max-height: calc(100vh - 32px); overflow-y: auto; padding: 22px; color: var(--color-text); background: var(--color-neutral-100); border: 1.5px solid var(--color-neutral-200); border-radius: var(--radius-md); box-shadow: 0 12px 40px rgba(30, 28, 22, .22); }
.cookie-banner[hidden], .cookie-banner [hidden] { display: none; }
.cookie-banner-title { display: block; margin-bottom: 6px; font-size: 16px; }
.cookie-banner-text { margin: 0 0 14px; font-size: 14px; line-height: 1.5; }
.cookie-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.cookie-options label { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.45; }
.cookie-options input { flex: none; width: 18px; height: 18px; min-height: 0; margin: 1px 0 0; accent-color: var(--color-accent-700); }
.cookie-options b { display: block; }
.cookie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cookie-link { min-height: 44px; padding: 0 6px; color: inherit; font: inherit; font-size: 14px; text-decoration: underline; background: none; border: 0; cursor: pointer; }
.contact-status--ok, .contact-status--error { padding: 12px 14px; font-size: 14px; border-radius: 12px; }
.contact-status--ok { color: var(--color-accent-2-800); background: var(--color-accent-2-200); }
.contact-status--error { color: #8a2c1f; background: #f6e0da; }
@media (max-width: 560px) { .cookie-banner { left: 8px; right: 8px; bottom: 8px; padding: 16px; } .cookie-actions .btn { flex: 1 1 100%; } .cookie-link { width: 100%; } }
.contact-form { scroll-margin-top: 100px; }
.contact-consent input[type="checkbox"] { flex: none; width: 20px; height: 20px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--color-accent-700); }
