/* =====================================================
   ACCESSIBILITY WIDGET
===================================================== */

.accessibility-widget {
    position: fixed;
    top: 50%;
    right: 18px;
    z-index: 1300;
    transform: translateY(-50%);
}

.accessibility-widget__trigger {
    position: relative;
    display: inline-flex;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: visible;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            var(--color-primary),
            var(--color-primary-dark)
        );
    color: var(--color-white);
    box-shadow:
        0 15px 38px rgba(15, 31, 84, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.accessibility-widget__trigger::before {
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 13px;
    content: "";
    pointer-events: none;
}

.accessibility-widget__trigger:hover,
.accessibility-widget__trigger[aria-expanded="true"] {
    background:
        linear-gradient(
            145deg,
            var(--color-secondary),
            #a98441
        );
    color: var(--color-primary-dark);
    transform: translateY(-2px);
}

.accessibility-widget__trigger-icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    /* width: 29px;
    height: 29px; */
}

.accessibility-widget__trigger-text {
    position: absolute;
    right: calc(100% + 11px);
    display: block;
    width: max-content;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--color-primary-dark);
    color: var(--color-white);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    opacity: 0;
    pointer-events: none;
    text-transform: uppercase;
    transform: translateX(6px);
}

.accessibility-widget__trigger:hover
    .accessibility-widget__trigger-text,
.accessibility-widget__trigger[aria-expanded="true"]
    .accessibility-widget__trigger-text {
    opacity: 1;
    transform: translateX(0);
}

/* =====================================================
   PANEL
===================================================== */

.accessibility-panel {
    position: absolute;
    top: 50%;
    right: 78px;
    width: min(440px, calc(100vw - 40px));
    max-height: min(780px, calc(100vh - 32px));
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 20px;
    background: var(--color-white);
    color: var(--color-text);
    box-shadow:
        0 30px 90px rgba(10, 21, 57, 0.3),
        0 0 0 1px rgba(255, 255, 255, 0.45);
    transform: translateY(-50%);
}

.accessibility-panel[hidden] {
    display: none !important;
}

.accessibility-panel.is-open {
    display: block;
}

.accessibility-panel__header {
    display: flex;
    min-height: 98px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 21px 23px;
    background:
        radial-gradient(
            circle at top right,
            rgba(197, 166, 106, 0.24),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
    color: var(--color-white);
}

.accessibility-panel__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.accessibility-panel__title {
    margin: 0;
    color: var(--color-white);
    font-size: 1.45rem;
    font-weight: 700;
}

.accessibility-panel__close {
    display: inline-flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-white);
}

.accessibility-panel__close:hover {
    border-color: var(--color-white);
    background: var(--color-white);
    color: var(--color-primary-dark);
}

.accessibility-panel__body {
    max-height: calc(100vh - 245px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 23px;
    scrollbar-color:
        var(--color-primary)
        var(--color-background-light);
    scrollbar-width: thin;
}

.accessibility-panel__section + .accessibility-panel__section {
    margin-top: 28px;
}

.accessibility-panel__section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: var(--color-primary-dark);
}

.accessibility-panel__section-heading > span {
    color: var(--color-secondary-dark);
}

.accessibility-panel__section-heading h3 {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

/* =====================================================
   FONT CONTROLS
===================================================== */

.accessibility-font-controls {
    display: grid;
    grid-template-columns: 1fr 112px 1fr;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-background-light);
}

.accessibility-font-button,
.accessibility-font-value {
    display: flex;
    min-height: 82px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: 0;
}

.accessibility-font-button {
    background: var(--color-white);
    color: var(--color-primary-dark);
}

.accessibility-font-button:first-child {
    border-right: 1px solid var(--color-border);
}

.accessibility-font-button:last-child {
    border-left: 1px solid var(--color-border);
}

.accessibility-font-button:hover:not(:disabled) {
    background: var(--color-primary-light);
}

.accessibility-font-button:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.accessibility-font-button > span {
    font-size: 1.18rem;
    font-weight: 700;
}

.accessibility-font-button small,
.accessibility-font-value small {
    color: var(--color-text-muted);
    font-size: 0.65rem;
}

.accessibility-font-value {
    background: var(--color-background-light);
}

.accessibility-font-value > span {
    color: var(--color-primary);
    font-size: 1.12rem;
    font-weight: 700;
}

/* =====================================================
   OPTIONS
===================================================== */

.accessibility-options {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.accessibility-option {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 42px;
    min-height: 70px;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--color-border-light);
    border-radius: 13px;
    background: var(--color-white);
    color: var(--color-text);
    text-align: left;
}

.accessibility-option:hover,
.accessibility-option[aria-pressed="true"] {
    border-color: var(--color-primary);
    background: var(--color-primary-light);
}

.accessibility-option__icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--color-background-light);
    color: var(--color-primary);
}

.accessibility-option[aria-pressed="true"]
    .accessibility-option__icon {
    background: var(--color-primary);
    color: var(--color-white);
}

.accessibility-option__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.accessibility-option__content strong {
    color: var(--color-primary-dark);
    font-size: 0.84rem;
    line-height: 1.3;
}

.accessibility-option__content small {
    color: var(--color-text-muted);
    font-size: 0.69rem;
    line-height: 1.4;
}

.accessibility-switch {
    position: relative;
    display: block;
    width: 40px;
    height: 23px;
    border-radius: 999px;
    background: #c7ccd6;
}

.accessibility-switch span {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--color-white);
    box-shadow: 0 2px 5px rgba(16, 24, 40, 0.25);
}

.accessibility-option[aria-pressed="true"]
    .accessibility-switch {
    background: var(--color-primary);
}

.accessibility-option[aria-pressed="true"]
    .accessibility-switch span {
    transform: translateX(17px);
}

.accessibility-panel__footer {
    padding: 15px 23px 19px;
    border-top: 1px solid var(--color-border-light);
    background: var(--color-background-light);
}

.accessibility-reset {
    display: inline-flex;
    width: 100%;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid var(--color-border);
    border-radius: 11px;
    background: var(--color-white);
    color: var(--color-primary-dark);
    font-size: 0.78rem;
    font-weight: 700;
}

.accessibility-reset:hover {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-white);
}
/* =====================================================
   DARK MODE
===================================================== */

body.accessibility-dark-mode {
    --color-primary: #8298ef;
    --color-primary-dark: #dce4ff;
    --color-primary-light: #242d4b;

    --color-secondary: #d8ba72;
    --color-secondary-dark: #efd99f;

    /*
     * White i black ne mijenjamo semantički.
     * Za tamne površine koristimo posebne background varijable.
     */
    --color-white: #ffffff;
    --color-black: #000000;

    --color-text: #f2f5ff;
    --color-text-muted: #b9c2d8;

    --color-border: #46516d;
    --color-border-light: #343e57;

    --color-background: #0e1422;
    --color-background-light: #171e30;

    background: var(--color-background);
    color: var(--color-text);
}

/* Osnovna površina stranice */

body.accessibility-dark-mode,
body.accessibility-dark-mode .site-wrapper,
body.accessibility-dark-mode .site-main,
body.accessibility-dark-mode main {
    background: var(--color-background);
    color: var(--color-text);
}

/* =====================================================
   HERO U DARK MODU
===================================================== */

body.accessibility-dark-mode .city-hero__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(4, 10, 28, 0.96) 0%,
            rgba(7, 16, 43, 0.82) 50%,
            rgba(6, 15, 38, 0.58) 100%
        );
}

body.accessibility-dark-mode .city-hero__title,
body.accessibility-dark-mode .city-hero__description,
body.accessibility-dark-mode .city-hero__eyebrow,
body.accessibility-dark-mode .city-hero__brand-city,
body.accessibility-dark-mode .city-hero__brand-name,
body.accessibility-dark-mode .city-hero__language-label {
    color: #ffffff;
}

body.accessibility-dark-mode .city-language-list__link {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.45);
}

body.accessibility-dark-mode .city-language-list__link.is-active {
    background: var(--color-secondary);
    color: #111827;
    border-color: var(--color-secondary);
}

body.accessibility-dark-mode .city-hero__button--primary {
    background: var(--color-secondary);
    color: #111827;
    border-color: var(--color-secondary);
}

body.accessibility-dark-mode .city-hero__button--primary *,
body.accessibility-dark-mode .city-hero__button--primary strong,
body.accessibility-dark-mode .city-hero__button--primary small {
    color: #111827;
}

body.accessibility-dark-mode .city-hero__button--secondary {
    background: rgba(18, 27, 49, 0.9);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.34);
}

body.accessibility-dark-mode .city-hero__button--secondary *,
body.accessibility-dark-mode .city-hero__button--secondary strong,
body.accessibility-dark-mode .city-hero__button--secondary small {
    color: #ffffff;
}

/* =====================================================
   NAVBAR U DARK MODU
===================================================== */

body.accessibility-dark-mode .city-navbar {
    background: #151c2d;
    border-color: var(--color-border);
}

body.accessibility-dark-mode .city-navbar__container {
    background: #151c2d;
}

body.accessibility-dark-mode .city-navbar__quick-link {
    background: #151c2d;
    color: #f2f5ff;
    border-color: var(--color-border);
}

body.accessibility-dark-mode .city-navbar__quick-link:hover {
    background: #212b45;
}

body.accessibility-dark-mode .city-navbar__quick-title,
body.accessibility-dark-mode .city-navbar__quick-icon {
    color: #f2f5ff;
}

body.accessibility-dark-mode .city-search-form {
    background: #171e30;
    border-color: var(--color-border);
}

body.accessibility-dark-mode .city-search-form__input {
    background: transparent;
    color: #ffffff;
}

body.accessibility-dark-mode .city-search-form__input::placeholder {
    color: #aeb8cf;
    opacity: 1;
}

body.accessibility-dark-mode .city-search-form__leading-icon {
    color: #8298ef;
}

body.accessibility-dark-mode .city-search-form__submit {
    background: #26376e;
    color: #ffffff;
    border-color: #8298ef;
}

body.accessibility-dark-mode .city-navbar__menu-button {
    background: #1a2858;
    color: #ffffff;
    border-color: var(--color-border);
}

body.accessibility-dark-mode .city-navbar__menu-content strong,
body.accessibility-dark-mode .city-navbar__menu-icon span {
    color: #ffffff;
}

/* =====================================================
   NOVOSTI U DARK MODU
===================================================== */

body.accessibility-dark-mode .city-news-section {
    background: var(--color-background);
}

body.accessibility-dark-mode .city-news-section__surface {
    background: #141c2d;
    border-color: var(--color-border-light);
}

body.accessibility-dark-mode .city-news-overview {
    background:
        linear-gradient(
            145deg,
            #1e377d 0%,
            #15275c 100%
        );
    border: 1px solid #50608a;
}

body.accessibility-dark-mode .city-news-overview__eyebrow,
body.accessibility-dark-mode .city-news-overview__title,
body.accessibility-dark-mode .city-news-overview__description {
    color: #ffffff;
}

body.accessibility-dark-mode .city-news-overview__button {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.65);
}

body.accessibility-dark-mode .city-news-overview__button:hover {
    background: #ffffff;
    color: #17265a;
}

body.accessibility-dark-mode .city-news-card {
    background: #1a2235;
    color: var(--color-text);
    border-color: var(--color-border-light);
}

body.accessibility-dark-mode .city-news-card__image-wrapper {
    background: #252f45;
}

body.accessibility-dark-mode .city-news-card__body {
    background: #1a2235;
}

body.accessibility-dark-mode .city-news-card__date {
    color: #b6c0d8;
}

body.accessibility-dark-mode .city-news-card__title a {
    color: #ffffff;
}

body.accessibility-dark-mode .city-news-card__title a:hover,
body.accessibility-dark-mode .city-news-card__link {
    color: #aebeff;
}

body.accessibility-dark-mode .city-news-section__empty {
    background: #1a2235;
    color: var(--color-text-muted);
    border-color: var(--color-border);
}

/* =====================================================
   ACCESSIBILITY PANEL U DARK MODU
===================================================== */

body.accessibility-dark-mode .accessibility-panel {
    background: #151c2d;
    color: #f2f5ff;
    border-color: #56617d;
}

body.accessibility-dark-mode .accessibility-panel__header {
    background:
        radial-gradient(
            circle at top right,
            rgba(216, 186, 114, 0.16),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            #24366e,
            #182651
        );
    color: #ffffff;
}

body.accessibility-dark-mode .accessibility-panel__title,
body.accessibility-dark-mode .accessibility-panel__eyebrow {
    color: #ffffff;
}

body.accessibility-dark-mode .accessibility-panel__body {
    background: #151c2d;
}

body.accessibility-dark-mode .accessibility-panel__section-heading,
body.accessibility-dark-mode .accessibility-panel__section-heading h3 {
    color: #ffffff;
}

body.accessibility-dark-mode .accessibility-font-controls {
    background: #111827;
    border-color: #46516d;
}

body.accessibility-dark-mode .accessibility-font-button,
body.accessibility-dark-mode .accessibility-font-value {
    background: #1a2235;
    color: #ffffff;
    border-color: #46516d;
}

body.accessibility-dark-mode .accessibility-font-button small,
body.accessibility-dark-mode .accessibility-font-value small {
    color: #b9c2d8;
}

body.accessibility-dark-mode .accessibility-option {
    background: #171e30;
    color: #f2f5ff;
    border-color: #3b465f;
}

body.accessibility-dark-mode .accessibility-option:hover {
    background: #212b45;
    border-color: #8298ef;
}

body.accessibility-dark-mode
    .accessibility-option[aria-pressed="true"] {
    background: #27345a;
    border-color: #8298ef;
}

body.accessibility-dark-mode .accessibility-option__icon {
    background: #242d49;
    color: #9cafef;
}

body.accessibility-dark-mode
    .accessibility-option[aria-pressed="true"]
    .accessibility-option__icon {
    background: #8298ef;
    color: #111827;
}

body.accessibility-dark-mode .accessibility-option__content strong {
    color: #ffffff;
}

body.accessibility-dark-mode .accessibility-option__content small {
    color: #b9c2d8;
}

body.accessibility-dark-mode .accessibility-switch {
    background: #7b8499;
}

body.accessibility-dark-mode
    .accessibility-option[aria-pressed="true"]
    .accessibility-switch {
    background: #8298ef;
}

body.accessibility-dark-mode .accessibility-switch span {
    background: #ffffff;
}

body.accessibility-dark-mode .accessibility-panel__footer {
    background: #111827;
    border-color: #3b465f;
}

body.accessibility-dark-mode .accessibility-reset {
    background: #1a2235;
    color: #ffffff;
    border-color: #56617d;
}

body.accessibility-dark-mode .accessibility-reset:hover {
    background: #8298ef;
    color: #111827;
}

/* =====================================================
   HIGH CONTRAST
===================================================== */

body.accessibility-high-contrast {
    --color-primary: #ffff00;
    --color-primary-dark: #ffff00;
    --color-primary-light: #1f1f00;

    --color-secondary: #00ffff;
    --color-secondary-dark: #00ffff;

    --color-white: #ffffff;
    --color-black: #000000;

    --color-text: #ffffff;
    --color-text-muted: #ffffff;

    --color-border: #ffffff;
    --color-border-light: #ffffff;

    --color-background: #000000;
    --color-background-light: #000000;

    background: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-dark-mode.accessibility-high-contrast,
body.accessibility-dark-mode.accessibility-high-contrast .site-wrapper,
body.accessibility-dark-mode.accessibility-high-contrast .site-main {
    background: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-high-contrast *,
body.accessibility-high-contrast *::before,
body.accessibility-high-contrast *::after {
    text-shadow: none !important;
    box-shadow: none !important;
}


body.accessibility-high-contrast .site-wrapper,
body.accessibility-high-contrast .site-main,
body.accessibility-high-contrast main,
body.accessibility-high-contrast section,
body.accessibility-high-contrast .city-news-section,
body.accessibility-high-contrast .city-news-section__surface {
    background: #000000 !important;
    color: #ffffff !important;
}


body.accessibility-high-contrast .city-navbar,
body.accessibility-high-contrast .city-search-form,
body.accessibility-high-contrast .city-navbar__quick-link,
body.accessibility-high-contrast .city-navbar__menu-button,
body.accessibility-high-contrast .city-news-overview,
body.accessibility-high-contrast .city-news-card,
body.accessibility-high-contrast .accessibility-panel,
body.accessibility-high-contrast .accessibility-option,
body.accessibility-high-contrast .accessibility-font-controls,
body.accessibility-high-contrast .accessibility-font-button,
body.accessibility-high-contrast .accessibility-font-value,
body.accessibility-high-contrast .accessibility-reset {
    border: 2px solid #ffffff !important;
}

body.accessibility-high-contrast .city-hero__overlay {
    background: rgba(0, 0, 0, 0.82) !important;
}

body.accessibility-high-contrast .city-hero__title,
body.accessibility-high-contrast .city-hero__description,
body.accessibility-high-contrast .city-hero__eyebrow,
body.accessibility-high-contrast .city-hero__brand-city,
body.accessibility-high-contrast .city-hero__brand-name {
    color: #ffffff !important;
}

body.accessibility-high-contrast .city-hero__button {
    background: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffffff !important;
}

body.accessibility-high-contrast .city-hero__button * {
    color: #ffff00 !important;
}

body.accessibility-high-contrast .city-navbar,
body.accessibility-high-contrast .city-navbar__container {
    background: #000000 !important;
}

body.accessibility-high-contrast .city-navbar__quick-link,
body.accessibility-high-contrast .city-navbar__menu-button,
body.accessibility-high-contrast .city-search-form {
    background: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-high-contrast .city-search-form__input {
    background: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-high-contrast
    .city-search-form__input::placeholder {
    color: #ffffff !important;
    opacity: 1;
}

body.accessibility-high-contrast .city-search-form__submit {
    background: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffffff !important;
}


body.accessibility-high-contrast a {
    color: #ffff00 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px;
}


body.accessibility-high-contrast .city-news-overview,
body.accessibility-high-contrast .city-news-card,
body.accessibility-high-contrast .city-news-card__body {
    background: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-high-contrast .city-news-overview__eyebrow,
body.accessibility-high-contrast .city-news-overview__title,
body.accessibility-high-contrast .city-news-overview__description,
body.accessibility-high-contrast .city-news-card__date {
    color: #ffffff !important;
}

body.accessibility-high-contrast .city-news-card__title a,
body.accessibility-high-contrast .city-news-card__link {
    color: #ffff00 !important;
}

body.accessibility-high-contrast .city-news-card__image-wrapper {
    background: #111111 !important;
    border-bottom: 2px solid #ffffff !important;
}


body.accessibility-high-contrast .accessibility-panel {
    background: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-high-contrast .accessibility-panel__header {
    background: #000000 !important;
    color: #ffffff !important;
    border-bottom: 2px solid #ffffff !important;
}

body.accessibility-high-contrast .accessibility-panel__title,
body.accessibility-high-contrast .accessibility-panel__eyebrow,
body.accessibility-high-contrast .accessibility-panel__section-heading,
body.accessibility-high-contrast
    .accessibility-panel__section-heading h3 {
    color: #ffffff !important;
}

body.accessibility-high-contrast .accessibility-font-controls,
body.accessibility-high-contrast .accessibility-font-button,
body.accessibility-high-contrast .accessibility-font-value,
body.accessibility-high-contrast .accessibility-option,
body.accessibility-high-contrast .accessibility-panel__footer,
body.accessibility-high-contrast .accessibility-reset {
    background: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-high-contrast
    .accessibility-option__content strong,
body.accessibility-high-contrast
    .accessibility-option__content small {
    color: #ffffff !important;
}

body.accessibility-high-contrast .accessibility-option__icon {
    background: #000000 !important;
    color: #ffff00 !important;
    border: 1px solid #ffffff !important;
}

body.accessibility-high-contrast
    .accessibility-option[aria-pressed="true"] {
    background: #ffff00 !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

body.accessibility-high-contrast
    .accessibility-option[aria-pressed="true"]
    .accessibility-option__content strong,
body.accessibility-high-contrast
    .accessibility-option[aria-pressed="true"]
    .accessibility-option__content small,
body.accessibility-high-contrast
    .accessibility-option[aria-pressed="true"]
    .accessibility-option__icon {
    color: #000000 !important;
}

body.accessibility-high-contrast .accessibility-switch {
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
}

body.accessibility-high-contrast .accessibility-switch span {
    background: #000000 !important;
}

body.accessibility-high-contrast
    .accessibility-option[aria-pressed="true"]
    .accessibility-switch {
    background: #000000 !important;
}

body.accessibility-high-contrast
    .accessibility-option[aria-pressed="true"]
    .accessibility-switch span {
    background: #ffff00 !important;
}


body.accessibility-high-contrast button,
body.accessibility-high-contrast .accessibility-reset {
    background: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffffff !important;
}


body.accessibility-high-contrast a:focus-visible,
body.accessibility-high-contrast button:focus-visible,
body.accessibility-high-contrast input:focus-visible,
body.accessibility-high-contrast select:focus-visible,
body.accessibility-high-contrast textarea:focus-visible {
    outline: 4px solid #00ffff !important;
    outline-offset: 4px !important;
}
/* =====================================================
   OTHER MODES
===================================================== */

body.accessibility-highlight-links a {
    outline: 3px solid #ffbf47 !important;
    outline-offset: 3px !important;
    background: #fff3a3 !important;
    color: #000000 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 3px !important;
}

body.accessibility-readable-font,
body.accessibility-readable-font * {
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.04em !important;
    word-spacing: 0.09em !important;
    line-height: 1.8 !important;
}

body.accessibility-large-cursor,
body.accessibility-large-cursor * {
    cursor: crosshair !important;
}

body.accessibility-stop-animations *,
body.accessibility-stop-animations *::before,
body.accessibility-stop-animations *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 767.98px) {
    .accessibility-widget {
        top: auto;
        right: 13px;
        bottom: 13px;
        transform: none;
    }

    .accessibility-widget__trigger {
        width: 56px;
        height: 56px;
        border-radius: 16px;
    }

    .accessibility-widget__trigger-text {
        display: none;
    }

    .accessibility-panel {
        position: fixed;
        top: auto;
        right: 10px;
        bottom: 80px;
        left: 10px;
        width: auto;
        max-height: calc(100vh - 96px);
        transform: none;
    }

    .accessibility-panel__body {
        max-height: calc(100vh - 265px);
        padding: 17px;
    }

    .accessibility-font-controls {
        grid-template-columns: 1fr 92px 1fr;
    }

    .accessibility-option {
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        padding: 9px;
    }

    .accessibility-option__icon {
        width: 38px;
        height: 38px;
    }
}
/* =====================================================
   DARK MODE
===================================================== */

body.accessibility-dark-mode .city-footer-cta__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(4, 10, 28, 0.97) 0%,
            rgba(9, 17, 39, 0.94) 100%
        );
}

body.accessibility-dark-mode .city-footer-main__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(4, 10, 28, 0.96) 0%,
            rgba(2, 7, 20, 0.98) 100%
        );
}

body.accessibility-dark-mode .city-footer-cta__button--primary {
    color: #111827;
    background: #d8e0ff;
    border-color: #d8e0ff;
}

body.accessibility-dark-mode .city-footer-cta__button--primary:hover {
    color: #111827;
    background: #d0b370;
    border-color: #d0b370;
}

body.accessibility-dark-mode .city-footer-social__link,
body.accessibility-dark-mode .city-footer-cta__button--secondary {
    border-color: rgba(255, 255, 255, 0.5);
}

/* =====================================================
   HIGH CONTRAST
===================================================== */

body.accessibility-high-contrast .city-footer,
body.accessibility-high-contrast .city-footer-cta,
body.accessibility-high-contrast .city-footer-main {
    background: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-high-contrast .city-footer-cta__overlay,
body.accessibility-high-contrast .city-footer-main__overlay {
    background: rgba(0, 0, 0, 0.88) !important;
}

body.accessibility-high-contrast .city-footer-cta__title,
body.accessibility-high-contrast .city-footer-cta__description,
body.accessibility-high-contrast .city-footer-cta__eyebrow,
body.accessibility-high-contrast .city-footer-column__title,
body.accessibility-high-contrast .city-footer-brand__city,
body.accessibility-high-contrast .city-footer-brand__name,
body.accessibility-high-contrast .city-footer-brand__description,
body.accessibility-high-contrast .city-footer-contact__item,
body.accessibility-high-contrast .city-footer-bottom {
    color: #ffffff !important;
}

body.accessibility-high-contrast .city-footer-cta__button,
body.accessibility-high-contrast .city-footer-social__link {
    color: #ffff00 !important;
    background: #000000 !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
    text-decoration: underline !important;
}

body.accessibility-high-contrast .city-footer-links__link,
body.accessibility-high-contrast .city-footer-links__children a,
body.accessibility-high-contrast .city-footer-bottom__developer a {
    color: #ffff00 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
}

body.accessibility-high-contrast .city-footer-main__divider {
    background: #ffffff !important;
}

body.accessibility-high-contrast .city-footer-column__title::after,
body.accessibility-high-contrast .city-footer-cta__eyebrow::before {
    background: #00ffff !important;
}

body.accessibility-high-contrast .city-footer-cta__button:focus-visible,
body.accessibility-high-contrast .city-footer-social__link:focus-visible,
body.accessibility-high-contrast .city-footer-contact__item:focus-visible,
body.accessibility-high-contrast .city-footer-links__link:focus-visible,
body.accessibility-high-contrast .city-footer-links__children a:focus-visible,
body.accessibility-high-contrast .city-footer-bottom__developer a:focus-visible {
    outline: 4px solid #00ffff !important;
    outline-offset: 4px !important;
}

/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {
    .city-footer-cta__button,
    .city-footer-cta__button-arrow,
    .city-footer-social__link,
    .city-footer-links__link {
        transition: none;
    }

    .city-footer-cta__button:hover,
    .city-footer-social__link:hover,
    .city-footer-links__link:hover,
    .city-footer-cta__button:hover .city-footer-cta__button-arrow {
        transform: none;
    }
}

body.accessibility-stop-animations .city-footer-cta__button,
body.accessibility-stop-animations .city-footer-cta__button-arrow,
body.accessibility-stop-animations .city-footer-social__link,
body.accessibility-stop-animations .city-footer-links__link {
    transition: none !important;
}

body.accessibility-stop-animations .city-footer-cta__button:hover,
body.accessibility-stop-animations .city-footer-social__link:hover,
body.accessibility-stop-animations .city-footer-links__link:hover,
body.accessibility-stop-animations
    .city-footer-cta__button:hover
    .city-footer-cta__button-arrow {
    transform: none !important;
}
.city-article a:focus-visible,
.city-tag:focus-visible,
.city-share-link:focus-visible,
.city-breadcrumb a:focus-visible,
.city-sidebar-menu__link:focus-visible,
.city-sidebar-navigation__link:focus-visible,
.city-sidebar-news__link:focus-visible,
.city-sidebar-card__all:focus-visible,
.city-related-card__link:focus-visible,
.city-related .section-heading__link:focus-visible,
.city-news-category:focus-visible,
.city-news-search input:focus-visible,
.city-news-search__clear:focus-visible,
.city-news-sort select:focus-visible,
.city-news-list-card a:focus-visible,
.city-news-pagination button:focus-visible,
.city-news-empty button:focus-visible{
    outline:3px solid #f2b705;
    outline-offset:3px;
}

.city-news-category:focus-visible,
.city-news-pagination button:focus-visible,
.city-news-empty button:focus-visible,
.city-share-link:focus-visible{
    position:relative;
    z-index:2;
}

@media(forced-colors:active){
    .city-article__content,
    .city-sidebar-card,
    .city-related-card,
    .city-news-list-card,
    .city-news-empty{
        border:1px solid CanvasText;
    }
    .city-sidebar-menu__link.is-active,
    .city-sidebar-menu__link.active,
    .city-sidebar-navigation__link.is-active,
    .city-news-category.is-active{
        border:2px solid CanvasText;
    }
    .city-share-link,
    .city-tag,
    .city-news-pagination button{
        border:1px solid ButtonText;
    }
}

@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto!important;
    }
    .city-article__category,
    .city-tag,
    .city-share-link,
    .city-sidebar-menu__link,
    .city-sidebar-menu__link [class^="icon-"],
    .city-sidebar-menu__link [class*=" icon-"],
    .city-sidebar-navigation__link,
    .city-sidebar-news__image img,
    .city-sidebar-news__title,
    .city-sidebar-card__all,
    .city-related-card,
    .city-related-card__image,
    .city-related-card__more [class^="icon-"],
    .city-related-card__more [class*=" icon-"],
    .city-news-category,
    .city-news-list,
    .city-news-list-card,
    .city-news-list-card__image,
    .city-news-list-card__title a,
    .city-news-list-card__more,
    .city-news-pagination button{
        transition:none;
    }
    .city-news-index__spinner{
        animation:none;
    }
}/* =====================================================
   INNER NAVBAR - DARK MODE
===================================================== */
body.accessibility-dark-mode .city-inner-navbar {
    border-color: #46516d;
    background: #151c2d;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.28);
}
body.accessibility-dark-mode .city-inner-navbar__link {
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-inner-navbar__link:hover,
body.accessibility-dark-mode .city-inner-navbar__link:focus-visible,
body.accessibility-dark-mode .city-inner-navbar__link.is-active {
    color: #d8ba72;
}
body.accessibility-dark-mode .city-inner-navbar__search {
    border-color: #46516d;
    background: #171e30;
}
body.accessibility-dark-mode .city-inner-navbar__search input {
    background: transparent;
    color: #ffffff;
}
body.accessibility-dark-mode .city-inner-navbar__search input::placeholder {
    color: #b9c2d8;
}
body.accessibility-dark-mode .city-inner-navbar__search-icon {
    color: #9cafef;
}
body.accessibility-dark-mode .city-inner-navbar__search button {
    background: #26376e;
    color: #ffffff;
}
body.accessibility-dark-mode .city-inner-navbar__menu {
    background: #1a2858;
    color: #ffffff;
}
body.accessibility-dark-mode .city-inner-navbar__logo {
    filter: brightness(0) invert(1);
}
/* =====================================================
   BREADCRUMB - DARK MODE
===================================================== */
body.accessibility-dark-mode .city-breadcrumb,
body.accessibility-dark-mode .city-breadcrumb-wrapper,
body.accessibility-dark-mode .breadcrumb-section {
    border-color: #343e57;
    background: #111827;
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-breadcrumb a,
body.accessibility-dark-mode .city-breadcrumb__link {
    color: #bfcaff;
}
body.accessibility-dark-mode .city-breadcrumb a:hover,
body.accessibility-dark-mode .city-breadcrumb a:focus-visible {
    color: #d8ba72;
}
body.accessibility-dark-mode .city-breadcrumb__current,
body.accessibility-dark-mode .city-breadcrumb li:last-child {
    color: #ffffff;
}
body.accessibility-dark-mode .city-breadcrumb [class*="icon-"],
body.accessibility-dark-mode .city-breadcrumb .separator {
    color: #8995b0;
}
/* =====================================================
   NEWS INDEX - DARK MODE
===================================================== */
body.accessibility-dark-mode .city-news-index {
    background: #0e1422;
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-news-index__eyebrow {
    color: #d8ba72;
}
body.accessibility-dark-mode .city-news-index__title {
    color: #ffffff;
}
body.accessibility-dark-mode .city-news-index__description {
    color: #b9c2d8;
}
body.accessibility-dark-mode .city-news-toolbar {
    border-color: #343e57;
}
body.accessibility-dark-mode .city-news-category {
    border-color: #46516d;
    background: #171e30;
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-news-category:hover,
body.accessibility-dark-mode .city-news-category:focus-visible {
    border-color: #8298ef;
    background: #242d4b;
    color: #ffffff;
}
body.accessibility-dark-mode .city-news-category.is-active {
    border-color: #8298ef;
    background: #26376e;
    color: #ffffff;
}
body.accessibility-dark-mode .city-news-search,
body.accessibility-dark-mode .city-news-sort {
    border-color: #46516d;
    background: #171e30;
}
body.accessibility-dark-mode .city-news-search input,
body.accessibility-dark-mode .city-news-sort select {
    background: transparent;
    color: #ffffff;
}
body.accessibility-dark-mode .city-news-search input::placeholder {
    color: #b9c2d8;
}
body.accessibility-dark-mode .city-news-search [class*="icon-"],
body.accessibility-dark-mode .city-news-sort [class*="icon-"] {
    color: #9cafef;
}
body.accessibility-dark-mode .city-news-list-card {
    border-color: #343e57;
    background: #171e30;
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-news-list-card__body {
    background: #171e30;
}
body.accessibility-dark-mode .city-news-list-card__date,
body.accessibility-dark-mode .city-news-list-card__description {
    color: #b9c2d8;
}
body.accessibility-dark-mode .city-news-list-card__title,
body.accessibility-dark-mode .city-news-list-card__title a {
    color: #ffffff;
}
body.accessibility-dark-mode .city-news-list-card__more {
    color: #aebeff;
}
body.accessibility-dark-mode .city-news-list-card__category {
    background: #26376e;
    color: #ffffff;
}
body.accessibility-dark-mode .city-news-pagination button {
    border-color: #46516d;
    background: #171e30;
    color: #ffffff;
}
body.accessibility-dark-mode .city-news-pagination button:hover,
body.accessibility-dark-mode .city-news-pagination button:focus-visible,
body.accessibility-dark-mode .city-news-pagination button.is-active {
    border-color: #8298ef;
    background: #26376e;
    color: #ffffff;
}
body.accessibility-dark-mode .city-news-empty {
    border-color: #46516d;
    background: #171e30;
    color: #f2f5ff;
}
/* =====================================================
   ARTICLE - DARK MODE
===================================================== */
body.accessibility-dark-mode .city-article {
    background: #0e1422;
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-article__content {
    border-color: #343e57;
    background: #171e30;
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-article__category {
    border-color: #526184;
    background: #242d4b;
    color: #dce4ff;
}
body.accessibility-dark-mode .city-article__category:hover {
    border-color: #8298ef;
    background: #26376e;
    color: #ffffff;
}
body.accessibility-dark-mode .city-article__title {
    color: #ffffff;
}
body.accessibility-dark-mode .city-article__meta {
    border-color: #343e57;
    background: #111827;
}
body.accessibility-dark-mode .city-article__meta-item {
    color: #c2cbe0;
}
body.accessibility-dark-mode .city-article__meta-item [class*="icon-"] {
    color: #d8ba72;
}
body.accessibility-dark-mode .city-article__image {
    border-color: #343e57;
    background: #111827;
}
body.accessibility-dark-mode .city-article__image-caption {
    border-color: #343e57;
    background: #111827;
    color: #b9c2d8;
}
body.accessibility-dark-mode .city-article__lead {
    border-color: #8298ef;
    background: #242d4b;
    color: #ffffff;
}
body.accessibility-dark-mode .city-article__body {
    color: #e6eaf5;
}
body.accessibility-dark-mode .city-article__body h2,
body.accessibility-dark-mode .city-article__body h3,
body.accessibility-dark-mode .city-article__body h4,
body.accessibility-dark-mode .city-article__body h5,
body.accessibility-dark-mode .city-article__body h6,
body.accessibility-dark-mode .city-article__body strong,
body.accessibility-dark-mode .city-article__body b {
    color: #ffffff;
}
body.accessibility-dark-mode .city-article__body p,
body.accessibility-dark-mode .city-article__body li {
    color: #d9dfed;
}
body.accessibility-dark-mode .city-article__body a {
    color: #aebeff;
}
body.accessibility-dark-mode .city-article__body blockquote {
    border-color: #8298ef;
    background: #242d4b;
    color: #ffffff;
}
body.accessibility-dark-mode .city-article__body table {
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-article__body table th {
    border-color: #46516d;
    background: #242d4b;
    color: #ffffff;
}
body.accessibility-dark-mode .city-article__body table td {
    border-color: #343e57;
    background: #171e30;
    color: #e6eaf5;
}
body.accessibility-dark-mode .city-article__tags {
    border-color: #343e57;
}
body.accessibility-dark-mode .city-article__tags-title {
    color: #ffffff;
}
body.accessibility-dark-mode .city-tag {
    border-color: #46516d;
    background: #242d4b;
    color: #dce4ff;
}
body.accessibility-dark-mode .city-tag:hover,
body.accessibility-dark-mode .city-tag:focus-visible {
    border-color: #8298ef;
    background: #26376e;
    color: #ffffff;
}
body.accessibility-dark-mode .city-article__share,
body.accessibility-dark-mode .city-share {
    border-color: #343e57;
}
body.accessibility-dark-mode .city-share__title {
    color: #ffffff;
}
body.accessibility-dark-mode .city-share-link {
    border-color: #46516d;
    background: #242d4b;
    color: #ffffff;
}
body.accessibility-dark-mode .city-share-link:hover,
body.accessibility-dark-mode .city-share-link:focus-visible {
    border-color: #8298ef;
    background: #26376e;
}
/* =====================================================
   SIDEBAR - DARK MODE
===================================================== */
body.accessibility-dark-mode .city-sidebar-card {
    border-color: #343e57;
    background: #171e30;
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-sidebar-card__header {
    border-color: #343e57;
    background: #171e30;
}
body.accessibility-dark-mode .city-sidebar-card__eyebrow {
    color: #d8ba72;
}
body.accessibility-dark-mode .city-sidebar-card__title {
    color: #ffffff;
}
body.accessibility-dark-mode .city-sidebar-navigation__heading {
    background: #26376e;
    color: #ffffff;
}
body.accessibility-dark-mode .city-sidebar-navigation__heading h2 {
    color: #ffffff;
}
body.accessibility-dark-mode .city-sidebar-menu__item,
body.accessibility-dark-mode .city-sidebar-navigation__item,
body.accessibility-dark-mode .city-sidebar-news__item {
    border-color: #343e57;
}
body.accessibility-dark-mode .city-sidebar-menu__link,
body.accessibility-dark-mode .city-sidebar-navigation__link {
    background: #171e30;
    color: #e8ecf7;
}
body.accessibility-dark-mode .city-sidebar-menu__link:hover,
body.accessibility-dark-mode .city-sidebar-menu__link:focus-visible,
body.accessibility-dark-mode .city-sidebar-menu__link.is-active,
body.accessibility-dark-mode .city-sidebar-navigation__link:hover,
body.accessibility-dark-mode .city-sidebar-navigation__link:focus-visible,
body.accessibility-dark-mode .city-sidebar-navigation__link.is-active {
    background: #242d4b;
    color: #ffffff;
}
body.accessibility-dark-mode .city-sidebar-menu__link [class*="icon-"],
body.accessibility-dark-mode .city-sidebar-navigation__link [class*="icon-"] {
    color: #9cafef;
}
body.accessibility-dark-mode .city-sidebar-news__link {
    background: #171e30;
}
body.accessibility-dark-mode .city-sidebar-news__link:hover,
body.accessibility-dark-mode .city-sidebar-news__link:focus-visible {
    background: #242d4b;
}
body.accessibility-dark-mode .city-sidebar-news__date {
    color: #b9c2d8;
}
body.accessibility-dark-mode .city-sidebar-news__title {
    color: #ffffff;
}
body.accessibility-dark-mode .city-sidebar-card__all {
    border-color: #343e57;
    background: #111827;
    color: #aebeff;
}
/* =====================================================
   RELATED POSTS - DARK MODE
===================================================== */
body.accessibility-dark-mode .city-related {
    background: #111827;
    color: #f2f5ff;
}
body.accessibility-dark-mode .city-related .section-heading__eyebrow {
    color: #d8ba72;
}
body.accessibility-dark-mode .city-related .section-heading h2 {
    color: #ffffff;
}
body.accessibility-dark-mode .city-related .section-heading__link {
    color: #aebeff;
}
body.accessibility-dark-mode .city-related-card {
    border-color: #343e57;
    background: #171e30;
}
body.accessibility-dark-mode .city-related-card__body {
    background: #171e30;
}
body.accessibility-dark-mode .city-related-card__date {
    color: #b9c2d8;
}
body.accessibility-dark-mode .city-related-card__title {
    color: #ffffff;
}
body.accessibility-dark-mode .city-related-card__more {
    color: #aebeff;
}
/* =====================================================
   INNER NAVBAR - HIGH CONTRAST
===================================================== */
body.accessibility-high-contrast .city-inner-navbar {
    border-top: 2px solid #00ffff !important;
    border-bottom: 2px solid #ffffff !important;
    background: #000000 !important;
}
body.accessibility-high-contrast .city-inner-navbar__logo {
    filter: brightness(0) invert(1) !important;
}
body.accessibility-high-contrast .city-inner-navbar__link {
    color: #ffff00 !important;
    text-decoration: underline !important;
}
body.accessibility-high-contrast .city-inner-navbar__search,
body.accessibility-high-contrast .city-inner-navbar__menu {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffff00 !important;
}
body.accessibility-high-contrast .city-inner-navbar__search input {
    background: #000000 !important;
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-inner-navbar__search input::placeholder {
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-inner-navbar__search button {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffff00 !important;
}
/* =====================================================
   CONTENT - HIGH CONTRAST
===================================================== */
body.accessibility-high-contrast .city-news-index,
body.accessibility-high-contrast .city-article,
body.accessibility-high-contrast .city-related,
body.accessibility-high-contrast .city-breadcrumb,
body.accessibility-high-contrast .city-breadcrumb-wrapper,
body.accessibility-high-contrast .breadcrumb-section {
    background: #000000 !important;
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-news-toolbar,
body.accessibility-high-contrast .city-article__content,
body.accessibility-high-contrast .city-sidebar-card,
body.accessibility-high-contrast .city-related-card,
body.accessibility-high-contrast .city-news-list-card,
body.accessibility-high-contrast .city-news-empty {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}
body.accessibility-high-contrast .city-news-list-card__body,
body.accessibility-high-contrast .city-related-card__body,
body.accessibility-high-contrast .city-sidebar-card__header,
body.accessibility-high-contrast .city-sidebar-news__link,
body.accessibility-high-contrast .city-article__meta,
body.accessibility-high-contrast .city-article__image-caption {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
body.accessibility-high-contrast .city-article__title,
body.accessibility-high-contrast .city-news-index__title,
body.accessibility-high-contrast .city-news-list-card__title,
body.accessibility-high-contrast .city-news-list-card__title a,
body.accessibility-high-contrast .city-sidebar-card__title,
body.accessibility-high-contrast .city-sidebar-news__title,
body.accessibility-high-contrast .city-related-card__title,
body.accessibility-high-contrast .city-related .section-heading h2,
body.accessibility-high-contrast .city-article__body h2,
body.accessibility-high-contrast .city-article__body h3,
body.accessibility-high-contrast .city-article__body h4,
body.accessibility-high-contrast .city-article__body h5,
body.accessibility-high-contrast .city-article__body h6,
body.accessibility-high-contrast .city-article__body p,
body.accessibility-high-contrast .city-article__body li {
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-article__category,
body.accessibility-high-contrast .city-tag,
body.accessibility-high-contrast .city-share-link,
body.accessibility-high-contrast .city-news-category,
body.accessibility-high-contrast .city-news-pagination button,
body.accessibility-high-contrast .city-news-search,
body.accessibility-high-contrast .city-news-sort {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffff00 !important;
}
body.accessibility-high-contrast .city-news-category.is-active,
body.accessibility-high-contrast .city-news-pagination button.is-active {
    border-color: #ffffff !important;
    background: #ffff00 !important;
    color: #000000 !important;
}
body.accessibility-high-contrast .city-news-search input,
body.accessibility-high-contrast .city-news-sort select {
    background: #000000 !important;
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-sidebar-navigation__heading {
    border-bottom: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-sidebar-navigation__heading h2 {
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-sidebar-menu__link,
body.accessibility-high-contrast .city-sidebar-navigation__link,
body.accessibility-high-contrast .city-sidebar-card__all {
    border-bottom: 1px solid #ffffff !important;
    background: #000000 !important;
    color: #ffff00 !important;
}
body.accessibility-high-contrast .city-sidebar-menu__link:hover,
body.accessibility-high-contrast .city-sidebar-navigation__link:hover,
body.accessibility-high-contrast .city-sidebar-menu__link.is-active,
body.accessibility-high-contrast .city-sidebar-navigation__link.is-active {
    background: #ffff00 !important;
    color: #000000 !important;
}
body.accessibility-high-contrast .city-article__meta-item,
body.accessibility-high-contrast .city-article__image-caption,
body.accessibility-high-contrast .city-news-list-card__date,
body.accessibility-high-contrast .city-news-list-card__description,
body.accessibility-high-contrast .city-sidebar-news__date,
body.accessibility-high-contrast .city-related-card__date {
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-article__body a,
body.accessibility-high-contrast .city-news-list-card__more,
body.accessibility-high-contrast .city-related-card__more,
body.accessibility-high-contrast .city-sidebar-card__all,
body.accessibility-high-contrast .city-related .section-heading__link {
    color: #ffff00 !important;
    text-decoration: underline !important;
}
body.accessibility-high-contrast .city-article__body blockquote,
body.accessibility-high-contrast .city-article__lead {
    border: 2px solid #ffffff !important;
    border-left: 6px solid #00ffff !important;
    background: #000000 !important;
    color: #ffffff !important;
}
body.accessibility-high-contrast .city-article__body table,
body.accessibility-high-contrast .city-article__body th,
body.accessibility-high-contrast .city-article__body td {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffffff !important;
}


body.accessibility-high-contrast img {
    filter: none !important;
}
body.accessibility-high-contrast .city-news-list-card__image-wrapper,
body.accessibility-high-contrast .city-related-card__image-wrapper,
body.accessibility-high-contrast .city-article__image,
body.accessibility-high-contrast .city-sidebar-news__image {
    border-color: #ffffff !important;
    background: #111111 !important;
}


body.accessibility-dark-mode .accessibility-panel,
body.accessibility-high-contrast .accessibility-panel {
    isolation: isolate;
}
body.accessibility-high-contrast .accessibility-panel__body {
    background: #000000 !important;
}
body.accessibility-high-contrast .accessibility-panel__section-heading h3,
body.accessibility-high-contrast .accessibility-panel__title,
body.accessibility-high-contrast .accessibility-panel__eyebrow {
    color: #ffffff !important;
}
.city-tag-card__image-link:focus-visible,
.city-tag-card__title a:focus-visible,
.city-tag-card__more:focus-visible,
.city-tag-empty__button:focus-visible {
    outline: 3px solid #c9a85f;
    outline-offset: 4px;
}

body.accessibility-dark-mode .city-tag-page {
    background: #0e1422;
}

body.accessibility-dark-mode .city-tag-page__title,
body.accessibility-dark-mode .city-tag-page__description strong,
body.accessibility-dark-mode .city-tag-card__title a,
body.accessibility-dark-mode .city-tag-empty h2 {
    color: #ffffff;
}

body.accessibility-dark-mode .city-tag-page__description,
body.accessibility-dark-mode .city-tag-card__description,
body.accessibility-dark-mode .city-tag-card__date,
body.accessibility-dark-mode .city-tag-empty {
    color: #b9c2d8;
}

body.accessibility-dark-mode .city-tag-page__count,
body.accessibility-dark-mode .city-tag-card,
body.accessibility-dark-mode .city-tag-empty {
    border-color: #3b465f;
    background: #171e30;
}

body.accessibility-dark-mode .city-tag-card__more {
    color: #aebeff;
}

body.accessibility-high-contrast .city-tag-page,
body.accessibility-high-contrast .city-tag-card,
body.accessibility-high-contrast .city-tag-empty,
body.accessibility-high-contrast .city-tag-page__count {
    border-color: #ffffff !important;
    background: #000000 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.accessibility-high-contrast .city-tag-page__title,
body.accessibility-high-contrast .city-tag-page__description,
body.accessibility-high-contrast .city-tag-page__description strong,
body.accessibility-high-contrast .city-tag-card__description,
body.accessibility-high-contrast .city-tag-card__date,
body.accessibility-high-contrast .city-tag-empty h2,
body.accessibility-high-contrast .city-tag-empty p {
    color: #ffffff !important;
}

body.accessibility-high-contrast .city-tag-card__title a,
body.accessibility-high-contrast .city-tag-card__more,
body.accessibility-high-contrast .city-tag-empty__button {
    color: #ffff00 !important;
}

body.accessibility-grayscale .site-wrapper {
    filter: none !important;
}

html:has(body.accessibility-grayscale) {
    filter: grayscale(1);
}

.city-mega-menu {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    transform: translateY(-100%) !important;
}

.city-mega-menu.show,
.city-mega-menu.showing {
    transform: translateY(0) !important;
}

.city-mega-menu.hiding {
    transform: translateY(-100%) !important;
}

/* =====================================================
   DARK MODE - MEGA MENU
===================================================== */

body.accessibility-dark-mode .city-mega-menu {
    border: 0;
    background: #0e1422;
    color: #f2f5ff;
}

body.accessibility-dark-mode .city-mega-menu__header {
    border-color: #46516d;
    background: #111827;
}

body.accessibility-dark-mode .city-mega-menu__logo {
    filter: brightness(0) invert(1);
}

body.accessibility-dark-mode .city-mega-menu__close {
    border-color: #5a6683;
    background: #171e30;
    color: #ffffff;
}

body.accessibility-dark-mode .city-mega-menu__close:hover,
body.accessibility-dark-mode .city-mega-menu__close:focus-visible {
    border-color: #8298ef;
    background: #26376e;
    color: #ffffff;
}

body.accessibility-dark-mode .city-mega-menu__body {
    background: #0e1422;
    color: #f2f5ff;
}

body.accessibility-dark-mode .city-mega-menu__heading-wrapper {
    border-color: #526184;
}

body.accessibility-dark-mode .city-mega-menu__heading {
    color: #ffffff;
}

body.accessibility-dark-mode .city-mega-menu__heading:hover,
body.accessibility-dark-mode .city-mega-menu__heading:focus-visible,
body.accessibility-dark-mode .city-mega-menu__heading[aria-current="page"] {
    color: #d8ba72;
}

body.accessibility-dark-mode .city-mega-menu__submenu-toggle {
    border-color: #526184;
    background: #171e30;
    color: #ffffff;
}

body.accessibility-dark-mode .city-mega-menu__link {
    color: #e6eaf5;
}

body.accessibility-dark-mode .city-mega-menu__link:hover,
body.accessibility-dark-mode .city-mega-menu__link:focus-visible,
body.accessibility-dark-mode .city-mega-menu__link[aria-current="page"] {
    background: #242d4b;
    color: #ffffff;
}

body.accessibility-dark-mode .city-mega-menu__link [class*="icon-"] {
    color: #aebeff;
}

body.accessibility-dark-mode .city-mega-menu__third-level {
    border-color: #526184;
}

body.accessibility-dark-mode .city-mega-menu__third-level a {
    color: #c1cadc;
}

body.accessibility-dark-mode .city-mega-menu__third-level a:hover,
body.accessibility-dark-mode .city-mega-menu__third-level a:focus-visible {
    color: #d8ba72;
}

body.accessibility-dark-mode .city-mega-menu__footer {
    border-color: #46516d;
}

body.accessibility-dark-mode .city-mega-menu__footer a,
body.accessibility-dark-mode .city-mega-menu__languages a {
    color: #dce4ff;
}

body.accessibility-dark-mode .city-mega-menu__footer a:hover,
body.accessibility-dark-mode .city-mega-menu__footer a:focus-visible,
body.accessibility-dark-mode .city-mega-menu__footer a[aria-current="page"],
body.accessibility-dark-mode .city-mega-menu__languages a:hover,
body.accessibility-dark-mode .city-mega-menu__languages a:focus-visible,
body.accessibility-dark-mode
    .city-mega-menu__languages
    a[aria-current="page"] {
    color: #d8ba72;
}

/* =====================================================
   HIGH CONTRAST - MEGA MENU
===================================================== */

body.accessibility-high-contrast .city-mega-menu,
body.accessibility-high-contrast .city-mega-menu__header,
body.accessibility-high-contrast .city-mega-menu__body {
    border-color: #ffffff !important;
    background: #000000 !important;
    background-image: none !important;
    color: #ffffff !important;
}

body.accessibility-high-contrast .city-mega-menu__header {
    border-bottom: 2px solid #ffffff !important;
}

body.accessibility-high-contrast .city-mega-menu__logo {
    filter: brightness(0) invert(1) !important;
}

body.accessibility-high-contrast .city-mega-menu__close {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffff00 !important;
    box-shadow: none !important;
}

body.accessibility-high-contrast .city-mega-menu__heading-wrapper {
    border-color: #ffffff !important;
}

body.accessibility-high-contrast .city-mega-menu__heading,
body.accessibility-high-contrast .city-mega-menu__link,
body.accessibility-high-contrast .city-mega-menu__third-level a,
body.accessibility-high-contrast .city-mega-menu__footer a,
body.accessibility-high-contrast .city-mega-menu__languages a {
    background: #000000 !important;
    color: #ffff00 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}

body.accessibility-high-contrast .city-mega-menu__link:hover,
body.accessibility-high-contrast .city-mega-menu__link:focus-visible,
body.accessibility-high-contrast
    .city-mega-menu__link[aria-current="page"],
body.accessibility-high-contrast .city-mega-menu__heading:hover,
body.accessibility-high-contrast .city-mega-menu__heading:focus-visible,
body.accessibility-high-contrast
    .city-mega-menu__heading[aria-current="page"],
body.accessibility-high-contrast .city-mega-menu__footer a:hover,
body.accessibility-high-contrast .city-mega-menu__footer a:focus-visible,
body.accessibility-high-contrast
    .city-mega-menu__languages
    a:hover,
body.accessibility-high-contrast
    .city-mega-menu__languages
    a:focus-visible {
    background: #ffff00 !important;
    color: #000000 !important;
}

body.accessibility-high-contrast .city-mega-menu__submenu-toggle {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffff00 !important;
}

body.accessibility-high-contrast .city-mega-menu__third-level,
body.accessibility-high-contrast .city-mega-menu__footer {
    border-color: #ffffff !important;
}

body.accessibility-high-contrast
    .city-mega-menu__link
    [class*="icon-"],
body.accessibility-high-contrast
    .city-mega-menu__submenu-toggle
    [class*="icon-"] {
    color: currentColor !important;
}

/* =====================================================
   INNER NAVBAR LANGUAGE - DARK MODE
===================================================== */

body.accessibility-dark-mode .city-inner-navbar__language-button {
    border-color: #526184;
    background: #171e30;
    color: #ffffff;
    box-shadow: none;
}

body.accessibility-dark-mode .city-inner-navbar__language-button:hover,
body.accessibility-dark-mode
    .city-inner-navbar__language-button:focus-visible,
body.accessibility-dark-mode
    .city-inner-navbar__language-button[aria-expanded="true"] {
    border-color: #8298ef;
    background: #242d4b;
    color: #ffffff;
}

body.accessibility-dark-mode .city-inner-navbar__language-menu {
    border-color: #526184;
    background: #171e30;
    color: #ffffff;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}

body.accessibility-dark-mode .city-inner-navbar__language-option {
    color: #e6eaf5;
}

body.accessibility-dark-mode
    .city-inner-navbar__language-option:hover,
body.accessibility-dark-mode
    .city-inner-navbar__language-option:focus-visible {
    background: #242d4b;
    color: #ffffff;
}

body.accessibility-dark-mode
    .city-inner-navbar__language-option.is-active {
    background: #26376e;
    color: #ffffff;
}

body.accessibility-dark-mode
    .city-inner-navbar__language-option-code,
body.accessibility-dark-mode
    .city-inner-navbar__language-check {
    color: #aebeff;
}

/* =====================================================
   INNER NAVBAR LANGUAGE - HIGH CONTRAST
===================================================== */

body.accessibility-high-contrast
    .city-inner-navbar__language-button {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffff00 !important;
    box-shadow: none !important;
}

body.accessibility-high-contrast
    .city-inner-navbar__language-button:hover,
body.accessibility-high-contrast
    .city-inner-navbar__language-button:focus-visible,
body.accessibility-high-contrast
    .city-inner-navbar__language-button[aria-expanded="true"] {
    background: #ffff00 !important;
    color: #000000 !important;
}

body.accessibility-high-contrast
    .city-inner-navbar__language-menu {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.accessibility-high-contrast
    .city-inner-navbar__language-option {
    border: 1px solid transparent !important;
    background: #000000 !important;
    color: #ffff00 !important;
    text-decoration: underline !important;
}

body.accessibility-high-contrast
    .city-inner-navbar__language-option:hover,
body.accessibility-high-contrast
    .city-inner-navbar__language-option:focus-visible,
body.accessibility-high-contrast
    .city-inner-navbar__language-option.is-active {
    border-color: #ffffff !important;
    background: #ffff00 !important;
    color: #000000 !important;
}

body.accessibility-high-contrast
    .city-inner-navbar__language-check,
body.accessibility-high-contrast
    .city-inner-navbar__language-option-code {
    color: currentColor !important;
}

/* =====================================================
   MEGA MENU LANGUAGE LINKS
===================================================== */

.city-mega-menu__languages {
    position: relative;
    z-index: 2;
}

.city-mega-menu__languages a {
    display: inline-flex;
    min-width: 46px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border: 1px solid transparent;
    border-radius: 999px;
}

.city-mega-menu__languages a[aria-current="page"] {
    border-color: var(--color-primary);
    background: var(--color-primary-light);
}

/* =====================================================
   DROPDOWN POSITION PROTECTION
===================================================== */

.city-inner-navbar__language {
    position: relative !important;
    z-index: 150;
}

.city-inner-navbar__language-menu {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: auto !important;
    z-index: 1090 !important;
    margin: 0 !important;
    transform: none !important;
}

.city-inner-navbar__language-menu[data-popper-placement] {
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: auto !important;
    transform: none !important;
}

/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767.98px) {
    .city-mega-menu {
        height: 100dvh !important;
        max-height: 100dvh !important;
    }

    .city-mega-menu__header {
        position: sticky;
        top: 0;
        z-index: 5;
    }

    .city-mega-menu__body {
        height: calc(100dvh - 78px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-bottom: 40px;
    }

    .city-mega-menu__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .city-mega-menu__languages {
        width: 100%;
    }

    .city-inner-navbar__language-menu {
        right: 0 !important;
        left: auto !important;
        width: min(215px, calc(100vw - 24px));
        max-width: calc(100vw - 24px);
    }
}