/* Statistics pages (main + inner) - keyboard focus rings, same style as links / .c-btn (#0094ff).
   body.usingMouse is set by main.min.js on mousedown and removed on Tab, so mouse clicks show no ring. */

body:not(.usingMouse) .c-breadcrumbs a:focus,
body:not(.usingMouse) .c-selectNative:focus,
/* the focused native <select> sits under the custom pill at opacity 0 - ring the visible pill */
body:not(.usingMouse) .c-selectNative:focus + .c-selectCustom .c-selectCustom__trigger,
body:not(.usingMouse) .c-multiselect__trigger:focus,
body:not(.usingMouse) .c-exportBtn:focus,
body:not(.usingMouse) .paginate_button:focus {
    outline: 1px solid #0094ff;
    outline-offset: 5px;
}

/* inside tables / inputs the ring sits inset so it isn't clipped */
body:not(.usingMouse) main input:not([type=checkbox]):not([type=radio]):focus,
body:not(.usingMouse) table.dataTable thead th[tabindex]:focus {
    outline: 1px solid #0094ff;
    outline-offset: -2px;
}

/* multiselect checkboxes are visually replaced - ring the visible label box */
body:not(.usingMouse) .c-multiselect__checkbox input:focus + label,
body:not(.usingMouse) .c-multiselect__checkbox input:focus ~ label {
    outline: 1px solid #0094ff;
    outline-offset: 2px;
}

/* Export dropdown options (sidebar list) */
body:not(.usingMouse) .c-exportDropdown__option:focus,
body:not(.usingMouse) .c-exportDropdown__option:focus-visible {
    outline: 1px solid #0094ff;
    outline-offset: -2px;
}

/* Calendar: prev/next arrow buttons */
body:not(.usingMouse) .c-exportDropdown__navBtn:focus,
body:not(.usingMouse) .c-exportDropdown__navBtn:focus-visible {
    outline: 1px solid #0094ff;
    outline-offset: 2px;
}

/* Calendar: month/year title toggle button */
body:not(.usingMouse) .c-exportDropdown__navTitle:focus,
body:not(.usingMouse) .c-exportDropdown__navTitle:focus-visible {
    outline: 1px solid #0094ff;
    outline-offset: 2px;
}

/* Calendar: month & year grid buttons */
body:not(.usingMouse) .c-exportDropdown__gridBtn:focus,
body:not(.usingMouse) .c-exportDropdown__gridBtn:focus-visible {
    outline: 1px solid #0094ff;
    outline-offset: 2px;
}

/* Calendar: day cells (div with tabindex="0" set by JS) */
body:not(.usingMouse) .c-exportDropdown__dayCell:focus,
body:not(.usingMouse) .c-exportDropdown__dayCell:focus-visible {
    outline: 1px solid #0094ff;
    outline-offset: -2px;
    border-radius: 50%;
}

/* Calendar: date text inputs (override the hardcoded outline:none for keyboard users) */
body:not(.usingMouse) .c-exportDropdown__dateInput:focus {
    outline: 1px solid #0094ff;
    outline-offset: -2px;
    border-radius: 4px;
}

/* Calendar: Cancel & Apply buttons */
body:not(.usingMouse) .c-exportDropdown__btn:focus,
body:not(.usingMouse) .c-exportDropdown__btn:focus-visible {
    outline: 1px solid #0094ff;
    outline-offset: 2px;
}

/* Calendar: mobile back arrow button */
body:not(.usingMouse) .c-exportDropdown__backBtn:focus,
body:not(.usingMouse) .c-exportDropdown__backBtn:focus-visible {
    outline: 1px solid #0094ff;
    outline-offset: 4px;
    border-radius: 4px;
}

/* WCAG Accessibility Improvements */

/* Skip Link */
/* .skip-link {
    position: fixed;
    top: -9999px;
    left: -9999px;
    z-index: 999999;
    padding: 12px 20px;
    background: #ffffff;
    color: #1e1e1c;
    font-weight: 600;
    font-size: 16px;
    border: 2px solid #0094ff;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    text-decoration: none;
}
.skip-link:focus {
    top: 15px;
    left: 15px;
    outline: 2px solid #0094ff;
    outline-offset: 2px;
} */

/* Scroll padding and section scroll-margins for sticky header */
html {
    scroll-padding-top: var(--h-header, 90px);
}
section[id] {
    scroll-margin-top: var(--h-header, 90px);
}

/* Breadcrumb nav list semantics styling */
.c-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
    color: inherit;
}
.c-breadcrumbs__list a {
    white-space: nowrap;
    color: inherit;
}
.c-breadcrumbs__list a:hover {
    color: #1e1e1c;
}
.c-breadcrumbs__list li:last-child {
    color: #1e1e1c;
}
.c-breadcrumbs__separator {
    color: #b5b5b5;
    user-select: none;
}

/* Ticker valid list semantics */
.ticker__listItem {
    display: contents;
    list-style: none;
}

/* Subscribe status messages within #subMsg */
.c-subscribeForm__emailInput.isInvalid ~ #subMsg .c-subscribeForm__emailInputError,
.c-subscribeForm__emailInput.isEmpty ~ #subMsg .c-subscribeForm__emailInputError {
    display: block;
}
.c-subscribeForm .isUnexpectedError ~ #subMsg .c-subscribeForm__emailInputUnexpectedError {
    display: block;
}
.c-subscribeForm .isSuccess ~ #subMsg .c-subscribeForm__emailInputSuccess {
    display: block;
}
.c-subscribeForm .isSame ~ #subMsg .c-subscribeForm__emailInputSame {
    display: block;
}

/* Footer layout and side padding when rendered outside <main> (WCAG landmark compliance) */
html[data-page="statistics"] .c-footer,
body > .c-footer {
    max-width: var(--maxWidth, 1600px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    position: relative;
    width: 100%;
}

html[data-page="statistics"] .c-footer::before,
body > .c-footer::before {
    left: 20px !important;
    right: 20px !important;
    width: auto !important;
}

html[data-page="statistics"] .c-footer .c-footer__mdlRow::before,
html[data-page="statistics"] .c-footer .c-footer__mdlRow::after,
body > .c-footer .c-footer__mdlRow::before,
body > .c-footer .c-footer__mdlRow::after {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
}


