.cookie-consent { position: fixed; z-index: 1080; right: 1rem; bottom: 1rem; left: 1rem; display: flex; gap: 1.5rem; align-items: center; max-width: 1140px; max-height: calc(100dvh - 2rem); overflow-y: auto; margin: auto; padding: 1.5rem; background: #fff; color: var(--ei-ink); border: 1px solid var(--ei-border); border-radius: 1.1rem; box-shadow: 0 12px 50px rgba(16,36,62,.22); }
.cookie-consent[hidden] { display: none !important; }
.cookie-consent-copy { flex: 1; min-width: 0; }
.cookie-consent h2 { margin: 0 0 .65rem; font-size: 1.2rem; font-weight: 800; }
.cookie-consent h2 i { margin-right: .35rem; color: var(--ei-blue); }
.cookie-consent p { margin: 0 0 .65rem; color: var(--ei-ink-soft); font-size: .9rem; line-height: 1.6; }
.cookie-consent a, .cookie-consent summary { color: var(--ei-blue); text-decoration: underline; }
.cookie-consent summary { width: fit-content; cursor: pointer; font-size: .9rem; font-weight: 700; }
.cookie-consent details[open] summary { margin-bottom: .9rem; }
.cookie-consent-actions { display: flex; flex-wrap: wrap; gap: .6rem; flex: 0 0 290px; }
.cookie-consent-actions .btn { flex: 1; min-width: 130px; white-space: normal; padding: .75rem; font-size: .9rem; }
.cookie-analytics-option { display: flex; gap: .65rem; margin: 1rem 0; font-size: .9rem; }
.cookie-analytics-option input { flex-shrink: 0; }
.cookie-settings-button { padding: 0; background: transparent; border: 0; color: inherit; text-decoration: underline; font: inherit; text-align: left; }
.cookie-settings-button:hover { color: var(--ei-aqua); }
@media (max-width: 767.98px) {
    .cookie-consent { right: .65rem; bottom: .65rem; left: .65rem; flex-direction: column; align-items: stretch; gap: 1rem; padding: 1.1rem; }
    .cookie-consent-actions { flex-basis: auto; }
}
