/* Cache-safe landing-page essential-cookie notice release. */
.landing-cookie-consent {
    position: fixed;
    z-index: 75;
    bottom: 1.15rem;
    left: 1.15rem;
    display: block;
    width: min(23rem, calc(100vw - 2rem));
    border: 1px solid #cfe0d4;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 1rem 2.8rem rgba(19, 61, 37, 0.2);
    padding: 0.9rem;
    color: #173a27;
    opacity: 0;
    transform: translateY(0.6rem);
    transition: opacity 260ms ease, transform 260ms ease;
}

.landing-cookie-consent[hidden] { display: none; }
.landing-cookie-consent.is-visible { opacity: 1; transform: translateY(0); }
.landing-cookie-consent.is-closing { opacity: 0; transform: translateY(0.6rem); pointer-events: none; }
.landing-cookie-consent__copy { min-width: 0; }
.landing-cookie-consent__copy strong, .landing-cookie-consent__copy p, .landing-cookie-consent__copy a { display: block; }
.landing-cookie-consent__copy strong { font-size: 0.78rem; font-weight: 800; }
.landing-cookie-consent__copy p { margin: 0.2rem 0 0; color: #526d5d; font-size: 0.7rem; font-weight: 550; line-height: 1.45; }
.landing-cookie-consent__copy a { width: max-content; margin-top: 0.32rem; color: #176c3a; font-size: 0.68rem; font-weight: 750; text-decoration: underline; text-underline-offset: 0.16em; }
.landing-cookie-consent__settings { margin-top: 0.72rem; border-top: 1px solid #d9e6dc; padding-top: 0.68rem; color: #30503c; font-size: 0.68rem; line-height: 1.45; }
.landing-cookie-consent__settings strong { display: block; color: #173a27; font-size: 0.72rem; }
.landing-cookie-consent__settings p { margin: 0.2rem 0 0; }
.landing-cookie-consent__setting-row { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; margin-top: 0.55rem; color: inherit; }
.landing-cookie-consent__setting-row span { display: grid; gap: 0.08rem; }
.landing-cookie-consent__setting-row b { color: #173a27; font-size: 0.67rem; }
.landing-cookie-consent__setting-row small { color: #526d5d; font-size: 0.61rem; line-height: 1.35; }
.landing-cookie-consent__setting-row em { flex: 0 0 auto; color: #176c3a; font-size: 0.59rem; font-style: normal; font-weight: 800; }
.landing-cookie-consent__setting-row input { width: 1rem; height: 1rem; flex: 0 0 auto; accent-color: #176c3a; }
.landing-cookie-consent__save { width: 100%; margin-top: 0.7rem; }
.landing-cookie-consent.is-settings-open { width: min(25rem, calc(100vw - 2rem)); }
.landing-cookie-consent.is-settings-open .landing-cookie-consent__copy, .landing-cookie-consent.is-settings-open .landing-cookie-consent__actions { display: none; }
.landing-cookie-consent.is-settings-open .landing-cookie-consent__settings { margin-top: 0; border-top: 0; padding-top: 0; }
.landing-cookie-consent__settings-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.8rem; padding-bottom: 0.65rem; }
.landing-cookie-consent__settings-header strong { font-size: 0.9rem; }
.landing-cookie-consent__settings-header p { margin: 0.3rem 0 0; }
.landing-cookie-consent__close { width: 1.9rem; min-height: 1.9rem !important; flex: 0 0 auto; border: 0 !important; border-radius: 50% !important; background: #f1f6f2 !important; padding: 0 !important; color: #62796c !important; font-size: 1.1rem !important; font-weight: 500 !important; }
.landing-cookie-consent__close:hover { background: #e4efe7 !important; transform: none !important; }
.landing-cookie-consent__setting-row { border-top: 1px solid #e0ebe3; padding: 0.58rem 0; }
.landing-cookie-consent__setting-row input[role="switch"] { appearance: none; position: relative; width: 1.75rem; height: 1rem; border: 0; border-radius: 999px; background: #b9c6d9; cursor: pointer; }
.landing-cookie-consent__setting-row input[role="switch"]::after { position: absolute; top: 0.14rem; left: 0.14rem; width: 0.72rem; height: 0.72rem; border-radius: 50%; background: #fff; content: ''; transition: transform 160ms ease; }
.landing-cookie-consent__setting-row input[role="switch"]:checked { background: #2f69dc; }
.landing-cookie-consent__setting-row input[role="switch"]:checked::after { transform: translateX(0.75rem); }
.landing-cookie-consent__setting-row input[role="switch"]:disabled { cursor: default; opacity: 1; }
.landing-cookie-consent__settings-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.48rem; margin-top: 0.7rem; }
.landing-cookie-consent__settings-actions .landing-cookie-consent__save { margin-top: 0; }
.landing-cookie-consent__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.42rem; margin-top: 0.78rem; }
.landing-cookie-consent button { min-height: 2.2rem; border-radius: 0.52rem; background: #176c3a; padding: 0.35rem 0.45rem; color: #fff; font-size: 0.67rem; font-weight: 800; line-height: 1.2; transition: background-color 160ms ease, transform 160ms ease; }
.landing-cookie-consent button.landing-cookie-consent__secondary { border: 1px solid #bdd2c3; background: #fff; color: #245436; }
.landing-cookie-consent button:hover { background: #11552d; transform: translateY(-1px); }
.landing-cookie-consent button.landing-cookie-consent__secondary:hover { background: #edf8ef; }

html[data-theme="dark"] .landing-cookie-consent { border-color: #3d5445; background: rgba(20, 27, 23, 0.98); color: #f1f7f2; }
html[data-theme="dark"] .landing-cookie-consent__copy p { color: #c1d0c5; }
html[data-theme="dark"] .landing-cookie-consent__settings { border-color: #3d5445; color: #c1d0c5; }
html[data-theme="dark"] .landing-cookie-consent__settings strong { color: #f1f7f2; }
html[data-theme="dark"] .landing-cookie-consent__setting-row b { color: #f1f7f2; }
html[data-theme="dark"] .landing-cookie-consent__setting-row small { color: #c1d0c5; }
html[data-theme="dark"] .landing-cookie-consent__setting-row { border-color: #3d5445; }
html[data-theme="dark"] .landing-cookie-consent__close { background: #203528 !important; color: #d5e4d8 !important; }
html[data-theme="dark"] .landing-cookie-consent button.landing-cookie-consent__secondary { border-color: #4d6957; background: #203528; color: #e6f2e9; }
html[data-theme="dark"] .landing-cookie-consent button.landing-cookie-consent__secondary:hover { background: #294334; }

@media (max-width: 560px) { .landing-cookie-consent { bottom: 0.85rem; left: 1rem; } }
@media (prefers-reduced-motion: reduce) { .landing-cookie-consent { transition: none; } }
