:root { --evas-cookie-z-backdrop: 1900; --evas-cookie-z-modal: 1910; }

.evas-cookie-open { overflow: auto; }

.evas-cookie-consent { position: fixed; inset: auto 0 0; z-index: var(--evas-cookie-z-modal); display: grid; place-items: end center; padding: 18px; color: #173746; opacity: 0; pointer-events: none; transition: opacity 120ms ease-out; }
.evas-cookie-consent.is-visible { opacity: 1; }
.evas-cookie-consent__backdrop { display: none; }
.evas-cookie-consent__panel { width: min(1040px, 100%); max-height: min(620px, calc(100dvh - 36px)); overflow: auto; pointer-events: auto; background: #fff; border: 1px solid rgba(30,67,86,.16); border-radius: 10px; box-shadow: 0 18px 60px rgba(5, 25, 35, .24); transform: translateY(10px); transition: transform 150ms ease-out; }
.evas-cookie-consent.is-visible .evas-cookie-consent__panel { transform: none; }
.evas-cookie-consent__overview, .evas-cookie-consent__details { padding: 18px 22px; }
.evas-cookie-consent__brand { width: fit-content; margin-bottom: 10px; padding: 4px 8px; color: #fff; background: #1e4356; border-radius: 5px; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.evas-cookie-consent h2 { margin: 0 0 8px; color: #173746; font-size: clamp(19px, 2vw, 24px); line-height: 1.18; text-wrap: balance; }
.evas-cookie-consent h3 { margin: 0 0 7px; color: #173746; font-size: 17px; line-height: 1.3; }
.evas-cookie-consent p { margin: 0 0 7px; color: #425b67; font-size: 14px; line-height: 1.45; text-wrap: pretty; }
.evas-cookie-consent__note { color: #617680 !important; font-size: 13px !important; }
.evas-cookie-consent__privacy { margin-top: 10px !important; padding-top: 10px; border-top: 1px solid #e1e9ed; font-weight: 600; }
.evas-cookie-consent__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.evas-cookie-consent__button { min-height: 44px; padding: 10px 17px; color: #173746; background: #f4f8fa; border: 1px solid #b8c9d1; border-radius: 6px; font: inherit; font-weight: 700; cursor: pointer; transition: background 150ms ease, border-color 150ms ease, transform 150ms ease; }
.evas-cookie-consent__button--primary { color: #fff; background: #1e4356; border-color: #1e4356; }
.evas-cookie-consent__button:hover { border-color: #68a4c4; transform: translateY(-1px); }
.evas-cookie-consent__button--primary:hover { background: #173746; }
.evas-cookie-consent__button:focus-visible, .evas-cookie-consent__link:focus-visible, .evas-cookie-consent__back:focus-visible, .evas-cookie-settings:focus-visible, .evas-cookie-switch input:focus-visible + span { outline: 3px solid rgba(104,164,196,.52); outline-offset: 3px; }
.evas-cookie-consent__link, .evas-cookie-consent__back { padding: 8px 4px; color: #1e4356; background: transparent; border: 0; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.evas-cookie-consent__back { display: flex; gap: 7px; margin: -6px 0 18px; text-decoration: none; }
.evas-cookie-category { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: start; padding: 20px 0; border-top: 1px solid #dfe8ec; }
.evas-cookie-category:first-of-type { margin-top: 22px; }
.evas-cookie-category p { margin-bottom: 7px; font-size: 14px; }
.evas-cookie-category small { color: #5b717b; font-size: 12px; font-weight: 600; }
.evas-cookie-category__required { align-self: center; padding: 5px 8px; color: #245344; background: #e7f5ef; border-radius: 5px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.evas-cookie-switch { position: relative; align-self: center; width: 48px; height: 28px; cursor: pointer; }
.evas-cookie-switch input { position: absolute; opacity: 0; }
.evas-cookie-switch > span:not(.visually-hidden) { position: absolute; inset: 0; background: #a9bac2; border-radius: 15px; transition: background 160ms ease; }
.evas-cookie-switch > span:not(.visually-hidden)::after { content: ''; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; background: #fff; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.24); transition: transform 180ms cubic-bezier(.22,1,.36,1); }
.evas-cookie-switch input:checked + span { background: #1e4356; }
.evas-cookie-switch input:checked + span::after { transform: translateX(20px); }
[dir="rtl"] .evas-cookie-switch > span:not(.visually-hidden)::after { left: auto; right: 4px; }
[dir="rtl"] .evas-cookie-switch input:checked + span::after { transform: translateX(-20px); }
.evas-cookie-consent__actions--details { justify-content: flex-end; }
.evas-cookie-settings { margin-inline-start: 10px; padding: 2px 0; color: inherit; background: transparent; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: 13px; cursor: pointer; opacity: .86; }
.evas-cookie-settings:hover { opacity: 1; }

@media (max-width: 575px) {
  .evas-cookie-consent { align-items: end; padding: 0; }
  .evas-cookie-consent__panel { width: 100%; max-height: 82dvh; border-radius: 10px 10px 0 0; }
  .evas-cookie-consent__overview, .evas-cookie-consent__details { padding: 22px 18px calc(20px + env(safe-area-inset-bottom)); }
  .evas-cookie-consent__actions { display: grid; }
  .evas-cookie-consent__button, .evas-cookie-consent__link { width: 100%; text-align: center; }
  .evas-cookie-category { gap: 12px; }
  .evas-cookie-category__required { white-space: normal; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .evas-cookie-consent, .evas-cookie-consent__panel, .evas-cookie-consent__button, .evas-cookie-switch span { transition: none !important; }
}
