/* Общий компонент: шрифт наследуется от сайта, палитра задаётся его темой. */
#ea-cookies {
    --cookie-accent: #286bc0; --cookie-on-accent: #fff;
    --cookie-bg: #fff; --cookie-ink: #243446; --cookie-muted: #617083;
    --cookie-line: #dbe3ec; --cookie-soft: #f4f7fb; --cookie-radius: 12px;
    font-family: inherit; font-size: 15px; line-height: 1.55; letter-spacing: normal;
    color: var(--cookie-ink); text-align: left;
}
#ea-cookies[data-theme="agro"], #ea-cookies[data-theme="ctek"] { --cookie-accent:#00426c; --cookie-radius:0px; }
#ea-cookies[data-theme="mpark"] { --cookie-accent:#d70036; --cookie-ink:#222; --cookie-muted:#606060; --cookie-line:#e3e3e3; --cookie-soft:#f7f7f7; --cookie-radius:0px; }
#ea-cookies[data-theme="laconica"] { --cookie-accent:#82313d; --cookie-ink:#382b29; --cookie-bg:#fffdf9; --cookie-soft:#f6f0e9; --cookie-line:#e4d8cb; --cookie-radius:0px; }
#ea-cookies[data-theme="needle"] { --cookie-accent:#eadbc0; --cookie-on-accent:#171119; --cookie-bg:#171119; --cookie-ink:#f2ecdc; --cookie-muted:#c4b9c1; --cookie-line:#49333e; --cookie-soft:#241c24; --cookie-radius:2px; }
#ea-cookies[data-theme="satanych"] { --cookie-accent:#c4e6ff; --cookie-on-accent:#1e2b3c; --cookie-bg:#1e2b3c; --cookie-ink:#f7f9fc; --cookie-muted:#bfccda; --cookie-line:#46596e; --cookie-soft:#27394e; --cookie-radius:8px; }
#ea-cookies[data-theme="codecheckr"] { --cookie-accent:#69ca8a; --cookie-on-accent:#122d20; --cookie-bg:#101d19; --cookie-ink:#edf5ef; --cookie-muted:#b7c9be; --cookie-line:#304c3b; --cookie-soft:#182a21; --cookie-radius:4px; }
#ea-cookies[data-theme="compressly"] { --cookie-accent:#455fc6; --cookie-radius:4px; }
#ea-cookies[data-theme="documen"] { --cookie-accent:#485fc2; --cookie-bg:#fffefa; --cookie-soft:#f5f3ec; --cookie-radius:4px; }
#ea-cookies[data-theme="twodata"] { --cookie-accent:#1766c7; --cookie-radius:6px; }
#ea-cookies[data-theme="siteplus"] { --cookie-accent:#52606b; --cookie-link:#3f4b55; --cookie-on-accent:#fff; --cookie-ink:#3f4b55; --cookie-muted:#66717a; --cookie-line:#dce1e5; --cookie-soft:#f4f6f7; --cookie-radius:4px; }
#ea-cookies[data-theme="sprint"] { --cookie-accent:#f7b000; --cookie-link:#805900; --cookie-on-accent:#181100; --cookie-radius:4px; }
#ea-cookies *, #ea-cookies *::before, #ea-cookies *::after { box-sizing:border-box; }
#ea-cookies [hidden] { display:none !important; }
#ea-cookies button, #ea-cookies a { font:inherit; letter-spacing:normal; text-transform:none; }
#ea-cookies button { cursor:pointer; }
#ea-cookies a, #ea-cookies .ea-cookie-link { color:var(--cookie-link, var(--cookie-accent)); text-decoration:underline; text-underline-offset:3px; }
#ea-cookies .ea-cookie-link { border:0; background:none; border-radius:0; padding:0; min-height:0; box-shadow:none; display:inline; }
#ea-cookies :is(button,a):focus-visible { outline:2px solid var(--cookie-accent); outline-offset:4px; }
#ea-cookies p { font:inherit; color:inherit; margin:0 0 12px; }
#ea-cookies .ea-cookie-banner { position:fixed; z-index:10000; right:24px; bottom:max(24px, env(safe-area-inset-bottom)); width:min(580px, calc(100% - 48px)); display:flex; align-items:center; gap:24px; padding:24px; background:var(--cookie-bg); background:color-mix(in srgb, var(--cookie-bg) 88%, transparent); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid var(--cookie-line); border-top:3px solid var(--cookie-accent); border-radius:var(--cookie-radius); box-shadow:0 12px 48px #0002; }
#ea-cookies .ea-cookie-heading { font-weight:700; font-size:17px; line-height:1.3; margin-bottom:8px; }
#ea-cookies .ea-cookie-copy > p:last-child { margin:0; color:var(--cookie-muted); font-size:14px; }
#ea-cookies .ea-cookie-accept { flex-shrink:0; width:auto; min-height:44px; padding:11px 22px; border:1px solid transparent; border-radius:var(--cookie-radius); background:var(--cookie-accent); color:var(--cookie-on-accent); font-weight:600; line-height:1.4; box-shadow:none; }
#ea-cookies .ea-cookie-accept:hover { filter:brightness(.94); }
#ea-cookies .ea-cookie-dialog { padding:0; margin:auto; width:min(700px, calc(100vw - 32px)); max-width:none; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); border:1px solid var(--cookie-line); border-radius:var(--cookie-radius); background:var(--cookie-bg); color:var(--cookie-ink); font:inherit; box-shadow:0 24px 90px #0004; overflow:hidden; }
#ea-cookies .ea-cookie-dialog[open] { display:flex; flex-direction:column; }
#ea-cookies .ea-cookie-dialog::backdrop { background:rgba(12,20,30,.6); backdrop-filter:blur(4px); }
#ea-cookies .ea-cookie-dialog-head { flex-shrink:0; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:28px 28px 20px; border-bottom:1px solid var(--cookie-line); }
#ea-cookies .ea-cookie-eyebrow { color:var(--cookie-muted); font-size:12px; margin:0 0 6px; }
#ea-cookies h2 { color:inherit; font-family:inherit; font-size:25px; font-weight:600; line-height:1.25; margin:0; letter-spacing:normal; text-transform:none; }
#ea-cookies .ea-cookie-close { display:block; flex-shrink:0; width:40px; height:40px; padding:0; margin:-6px -8px 0 0; border:0; background:transparent; color:var(--cookie-muted); font:30px/1 Arial,sans-serif; }
#ea-cookies .ea-cookie-details { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px 28px 12px; }
#ea-cookies h3 { font-family:inherit; font-size:19px; font-weight:600; line-height:1.4; color:inherit; margin:24px 0 12px; text-transform:none; letter-spacing:normal; }
#ea-cookies h4 { font-family:inherit; font-size:16px; font-weight:600; color:inherit; margin:0 0 6px; text-transform:none; letter-spacing:normal; }
#ea-cookies .ea-cookie-category { padding:16px; margin:10px 0; background:var(--cookie-soft); border:1px solid var(--cookie-line); border-radius:var(--cookie-radius); }
#ea-cookies .ea-cookie-category h3 { font-size:16px; margin:0 0 6px; }
#ea-cookies .ea-cookie-category p:last-child { margin:0; }
#ea-cookies code { background:transparent; color:inherit; padding:0; font-size:.92em; overflow-wrap:anywhere; }
#ea-cookies .ea-cookie-dialog-foot { flex-shrink:0; display:flex; align-items:center; justify-content:flex-end; padding:18px 28px; border-top:1px solid var(--cookie-line); }
@media (max-width:600px) {
    #ea-cookies .ea-cookie-banner { right:12px; bottom:max(12px, env(safe-area-inset-bottom)); width:calc(100% - 24px); padding:18px; gap:14px; flex-wrap:wrap; }
    #ea-cookies .ea-cookie-accept { width:100%; }
    #ea-cookies .ea-cookie-dialog-head { padding:20px 20px 16px; }
    #ea-cookies h2 { font-size:22px; }
    #ea-cookies .ea-cookie-details { padding:18px 20px 8px; }
    #ea-cookies .ea-cookie-dialog-foot { padding:14px 20px; flex-wrap:wrap; gap:10px; }
}

/* Политика остаётся отдельным окном; оформление совпадает с описанием куки. */
#privacyPolicyModal[data-cookie-style] {
    z-index:100000;
    padding:20px 16px; background:rgba(12,20,30,.6);
    -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
    font-family:inherit; font-size:15px; line-height:1.55; letter-spacing:normal;
}
#privacyPolicyModal[data-cookie-style] .policy-modal__dialog {
    display:flex; flex-direction:column; width:min(700px, 100%); padding:0;
    max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); overflow:hidden;
    color:var(--cookie-ink); background:var(--cookie-bg);
    border:1px solid var(--cookie-line); border-radius:var(--cookie-radius);
    box-shadow:0 24px 90px #0004;
}
#privacyPolicyModal[data-cookie-style] .ea-policy-head {
    display:flex; flex-shrink:0; align-items:flex-start; justify-content:space-between;
    gap:12px; padding:28px 28px 20px; border-bottom:1px solid var(--cookie-line);
}
#privacyPolicyModal[data-cookie-style] .policy-modal__title {
    margin:0; color:inherit; font-family:inherit; font-size:25px; font-weight:600;
    line-height:1.25; text-transform:none; letter-spacing:normal;
    border:0; box-shadow:none; text-decoration:none;
}
#privacyPolicyModal[data-cookie-style] .policy-modal__title::before,
#privacyPolicyModal[data-cookie-style] .policy-modal__title::after { content:none; }
#privacyPolicyModal[data-cookie-style] .policy-modal__close {
    position:static; flex-shrink:0; width:40px; height:40px; padding:0; margin:-6px -8px 0 0;
    border:0; border-radius:0; background:transparent; color:var(--cookie-muted);
    font:30px/1 Arial,sans-serif; box-shadow:none; transform:none; cursor:pointer;
}

/* Типовые окна Bootstrap и HTML-окна Fancybox: без изменения размеров галерей. */
body[data-ea-modals] .modal-backdrop { background:rgb(12,20,30); }
body[data-ea-modals] .modal-backdrop.show,
body[data-ea-modals] .modal-backdrop.in { opacity:.6; }
body[data-ea-modals] .modal-content,
body[data-ea-modals] .fancybox-slide--html .fancybox-content {
    color:var(--cookie-ink); background:var(--cookie-bg); font-family:inherit;
    border:1px solid var(--cookie-line); border-radius:var(--cookie-radius);
    box-shadow:0 24px 90px #0004;
}
body[data-ea-modals] .modal-header { padding:28px 28px 20px; border-bottom:1px solid var(--cookie-line); }
body[data-ea-modals] .modal-title {
    color:inherit; font-family:inherit; font-size:25px; font-weight:600;
    line-height:1.25; letter-spacing:normal; text-transform:none;
    border:0; box-shadow:none; text-decoration:none;
}
body[data-ea-modals] .modal-title::before,
body[data-ea-modals] .modal-title::after { content:none; }
body[data-ea-modals] .modal-header .close {
    color:var(--cookie-muted); opacity:1; background:none; border:0;
    box-shadow:none; text-shadow:none; font:30px/1 Arial,sans-serif;
    min-width:40px; min-height:40px; padding:0;
}
body[data-ea-modals] .modal-header .close:focus-visible,
body[data-ea-modals] .fancybox-close-small:focus-visible { outline:2px solid var(--cookie-link, var(--cookie-accent)); outline-offset:2px; }
body[data-ea-modals] .modal-body { padding:24px 28px; font-size:15px; line-height:1.55; }
body[data-ea-modals] .modal-footer { padding:18px 28px; border-top:1px solid var(--cookie-line); }
body[data-ea-modals] .modal-content .btn-primary {
    background:var(--cookie-accent); border-color:var(--cookie-accent);
    color:var(--cookie-on-accent); border-radius:var(--cookie-radius);
}
body[data-ea-modals] .fancybox-slide--html .fancybox-content { padding:28px; }
body[data-ea-modals] .fancybox-slide--html .fancybox-close-small { color:var(--cookie-muted); opacity:1; }
/* В просмотрщике изображений внутренние отступы определяет сама галерея. */
body[data-ea-modals] .ekko-lightbox .modal-body { padding:0; }
@media (max-width:600px) {
    body[data-ea-modals] .modal-header { padding:20px 20px 16px; }
    body[data-ea-modals] .modal-title { font-size:22px; }
    body[data-ea-modals] .modal-body { padding:18px 20px; }
    body[data-ea-modals] .modal-footer { padding:14px 20px; }
    body[data-ea-modals] .fancybox-slide--html .fancybox-content { padding:20px; }
}
#privacyPolicyModal[data-cookie-style] .policy-modal__close:focus-visible {
    outline:2px solid var(--cookie-link, var(--cookie-accent)); outline-offset:4px;
}
#privacyPolicyModal[data-cookie-style] .policy-modal__content {
    min-height:0; padding:24px 28px; overflow-y:auto; overscroll-behavior:contain;
}
#privacyPolicyModal[data-cookie-style] .policy-modal__content p { margin:0 0 12px; color:inherit; font:inherit; }
#privacyPolicyModal[data-cookie-style] .policy-modal__section-title { margin:24px 0 12px; color:inherit; font:600 19px/1.4 sans-serif; font-family:inherit; }
#privacyPolicyModal[data-cookie-style] .policy-modal__content .policy-modal__date { color:var(--cookie-muted); font-size:12px; }
#privacyPolicyModal[data-cookie-style] a { color:var(--cookie-link, var(--cookie-accent)); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:600px) {
    #privacyPolicyModal[data-cookie-style] .ea-policy-head { padding:20px 20px 16px; }
    #privacyPolicyModal[data-cookie-style] .policy-modal__title { font-size:22px; }
    #privacyPolicyModal[data-cookie-style] .policy-modal__content { padding:18px 20px; }
}
