/* Compact modal; its root contributes no height when the entry is in the footer. */
#pp-a11y {
    --pp-ui-fg: var(--pp-a11y-fg, #1e2a38); --pp-ui-bg: var(--pp-a11y-surface, #fff);
    --pp-ui-soft: var(--pp-a11y-soft, #e9edf2); --pp-ui-border: var(--pp-a11y-border, #768292);
    --pp-ui-accent: var(--pp-a11y-accent, #b5121b); --pp-ui-on-accent: var(--pp-a11y-on-accent, #fff);
    border: 0;
}
#pp-a11y dialog { max-width: 1080px; padding: 20px 24px; border: 1px solid var(--pp-ui-border); border-radius: 12px; box-shadow: 0 16px 64px #101b2c40; }
#pp-a11y dialog::backdrop { background: #101b2c99; }
#pp-a11y .pp-a11y__heading { align-items: center; gap: 16px; margin-bottom: 16px; }
#pp-a11y .pp-a11y__heading h2 { font: bold 1.1em/1.4 Arial, sans-serif; }
#pp-a11y .pp-a11y__heading button { border: 0; min-width: 44px; padding: 0 8px; }
#pp-a11y button, #pp-a11y select { border-color: var(--pp-ui-border); border-radius: 6px; }
#pp-a11y .pp-a11y__toolbar { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 16px 24px; }
#pp-a11y .pp-a11y__group { min-width: 0; max-width: 100%; border: 0; margin: 0; padding: 0; }
#pp-a11y .pp-a11y__group legend { float: none; padding: 0; margin: 0 0 8px; font: inherit; font-weight: 700; color: inherit; }
#pp-a11y .pp-a11y__choices { display: flex; flex-wrap: wrap; gap: 6px; }
#pp-a11y .pp-a11y__option { position: relative; display: flex; min-width: 0; cursor: pointer; }
#pp-a11y .pp-a11y__option input[type=radio] { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: 0 !important; clip-path: inset(50%) !important; }
#pp-a11y .pp-a11y__choice { display: flex; justify-content: center; align-items: center; min-width: 48px; min-height: 48px; padding: 8px 12px; border: 2px solid var(--pp-ui-border); border-radius: 6px; font: inherit; line-height: 1.4; }
#pp-a11y .pp-a11y__size-150 { font-size: 1.2em; }
#pp-a11y .pp-a11y__size-200 { font-size: 1.4em; }
#pp-a11y .pp-a11y__group--size .pp-a11y__option { align-items: stretch; }
#pp-a11y .pp-a11y__group--size .pp-a11y__choice { width: 100%; font-weight: 700; }
#pp-a11y .pp-a11y__option:hover .pp-a11y__choice { background: var(--pp-ui-soft); }
#pp-a11y .pp-a11y__option input:checked + .pp-a11y__choice { border-color: var(--pp-ui-accent); background: var(--pp-ui-accent); color: var(--pp-ui-on-accent); box-shadow: inset 0 -3px var(--pp-ui-on-accent); font-weight: 700; }
#pp-a11y .pp-a11y__option input:focus-visible + .pp-a11y__choice { outline: 3px solid var(--pp-ui-fg); outline-offset: 3px; }
#pp-a11y [data-pp-swatch=brand] { --pp-swatch-bg: #223243; --pp-swatch-fg: #fff; }
#pp-a11y [data-pp-swatch=white] { --pp-swatch-bg: #fff; --pp-swatch-fg: #000; }
#pp-a11y [data-pp-swatch=black] { --pp-swatch-bg: #000; --pp-swatch-fg: #fff; }
#pp-a11y [data-pp-swatch=blue] { --pp-swatch-bg: #cfe8ff; --pp-swatch-fg: #063462; }
#pp-a11y [data-pp-swatch=beige] { --pp-swatch-bg: #f7f3d6; --pp-swatch-fg: #3b281b; }
#pp-a11y [data-pp-swatch=green] { --pp-swatch-bg: #211d15; --pp-swatch-fg: #a9e44d; }
#pp-a11y .pp-a11y__group--palette .pp-a11y__choices { gap: 10px; }
#pp-a11y .pp-a11y__group--palette .pp-a11y__choice,
#pp-a11y .pp-a11y__group--palette .pp-a11y__option:hover .pp-a11y__choice,
#pp-a11y .pp-a11y__group--palette .pp-a11y__option input:checked + .pp-a11y__choice { background: var(--pp-swatch-bg); color: var(--pp-swatch-fg); border-color: var(--pp-ui-border); font-weight: 700; }
#pp-a11y .pp-a11y__group--palette .pp-a11y__option input:checked + .pp-a11y__choice { box-shadow: inset 0 -4px var(--pp-swatch-fg), 0 0 0 2px var(--pp-ui-bg), 0 0 0 4px var(--pp-ui-fg); }
#pp-a11y .pp-a11y__group--palette .pp-a11y__option input:focus-visible + .pp-a11y__choice { outline-offset: 6px; }
#pp-a11y .pp-a11y__images { display: flex; align-items: center; gap: 10px; min-height: 48px; cursor: pointer; font: inherit; }
#pp-a11y .pp-a11y__images input { margin: 0; accent-color: var(--pp-ui-accent); }
#pp-a11y .pp-a11y__exit { min-height: 48px; margin-left: auto; }
#pp-a11y .pp-a11y__advanced { margin-top: 12px; }
#pp-a11y summary { display: list-item; width: fit-content; max-width: 100%; min-height: 44px; padding: 8px 0; cursor: pointer; font: inherit; font-weight: 700; }
#pp-a11y .pp-a11y__advanced[open] { padding-bottom: 4px; }
#pp-a11y .pp-a11y__settings { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 12px 0 16px; }
#pp-a11y select { padding: 10px; }

/* These entry points live outside the modal root and use the theme's colors. */
body .pp-a11y-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 10px; box-sizing: border-box; max-width: 100%; min-height: 44px; margin: 0; padding: 8px 12px; border: 1px solid currentColor; border-radius: 8px; background: transparent; color: inherit; font: 16px/1.5 Arial, sans-serif; text-transform: none; text-align: left; cursor: pointer; box-shadow: none; white-space: normal; }
body .pp-a11y-trigger svg { flex: 0 0 24px; width: 24px; height: 24px; }
body .pp-a11y-trigger:hover { text-decoration: underline; text-underline-offset: .2em; }
body .pp-a11y-trigger:focus-visible { outline: 3px solid currentColor !important; outline-offset: 4px !important; }
body .header-right__social:has(.pp-a11y-trigger) { display: flex; align-items: center; gap: 12px; }
body .pp-a11y-trigger--header { flex: 0 0 44px; width: 44px; height: 44px; padding: 8px; border: 0; border-radius: 50%; background: #edf1f5; color: #1e2a38; }
body .pp-a11y-trigger--header:hover { background: #dde4ec; }
body .pp-a11y-trigger--header > span { display: none; }
body .pp-a11y__entry { padding: 16px 0; }
body .footer .pp-a11y__entry { color: #fff; }
/* Shared utility row: partner mark on the left, accessibility entry on the right. */
body.redesign .footer .pp-a11y-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 32px; margin-top: 28px; padding: 20px 0; border-top: 1px solid var(--color-on-dark-line, #ffffff26); }
body.redesign .footer .pp-a11y-footer .footer__skolkovo { margin: 0; min-width: 0; max-width: 100%; }
body.redesign .footer .pp-a11y-footer .footer__skolkovo img { max-width: 100%; }
body.redesign .footer .pp-a11y-footer .pp-a11y__entry { padding: 0; min-width: 0; max-width: 100%; }
body.redesign .footer .pp-a11y-footer .pp-a11y-trigger { border: 0 !important; padding: 8px 0; border-radius: 4px; }
body.redesign .footer .pp-a11y-footer .pp-a11y-trigger span { min-width: 0; overflow-wrap: anywhere; }
body.redesign .footer .pp-a11y-footer + .footer__copyright { flex-direction: row; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; margin-top: 0; padding-top: 0; border-top: 0 !important; }
html[data-pp-a11y=on] body .pp-a11y-trigger { font-size: calc(18px * var(--pp-a11y-scale)); }
html[data-pp-a11y=on] body .pp-a11y-trigger--header { color: var(--pp-a11y-fg) !important; background: var(--pp-a11y-soft) !important; }
html[data-pp-a11y=on] body .footer .pp-a11y__entry { color: var(--pp-a11y-on-band) !important; }
html[data-pp-a11y-size="200"] #pp-a11y .pp-a11y__settings { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 700px) {
    #pp-a11y .pp-a11y__toolbar { gap: 16px; }
    #pp-a11y .pp-a11y__settings { grid-template-columns: minmax(0, 1fr); }
    #pp-a11y .pp-a11y__group { flex-basis: 100%; }
    #pp-a11y .pp-a11y__exit { margin-left: 0; }
    #pp-a11y .pp-a11y__choices { gap: 8px; }
}
@media (forced-colors: active) {
    body .pp-a11y-trigger { color: ButtonText !important; background: ButtonFace !important; }
    #pp-a11y .pp-a11y__group--palette .pp-a11y__option input:checked + .pp-a11y__choice { border-color: Highlight; border-style: double; border-width: 4px; }
}
