/* EAA / WCAG 2.1 AA – Bcmnasa accessibility overrides
   Loads after compiled style.css so all rules here take precedence. */

/* -------------------------------------------------------
   2.4.1  Skip navigation link
   ------------------------------------------------------- */
.skip-link {
    position: absolute;
    top: -60px;
    left: 0;
    z-index: 99999;
    padding: 12px 20px;
    background: #000000;
    color: #ffffff;
    font-weight: 500;
    font-size: 1rem;
    text-decoration: none;
    transition: top 0.1s ease;
}
.skip-link:focus {
    top: 0;
    outline: 3px solid #ffee34;
    outline-offset: 0;
    color: #ffffff;
}

/* -------------------------------------------------------
   2.4.7  Focus visible – all interactive elements
   ------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex="0"]:focus-visible {
    outline: 3px solid #000000 !important;
    outline-offset: 2px !important;
    border-radius: 2px;
}

/* Buttons – undo Bootstrap's blanket outline:0 for keyboard users */
.btn:focus-visible {
    outline: 3px solid #000000 !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

/* Navbar links */
.nav-link:focus-visible {
    outline: 3px solid #000000;
    outline-offset: 2px;
    border-radius: 2px;
}

/* -------------------------------------------------------
   2.4.7  Fix input outline:none (from _form.scss)
   ------------------------------------------------------- */
.register-form input:focus,
.register-form input:focus-visible {
    outline: 3px solid #000000 !important;
    outline-offset: 0 !important;
}

/* -------------------------------------------------------
   1.4.3  Link colour contrast
   #fac624 on #ffffff = 1.58:1  →  FAIL (needs ≥ 4.5:1)
   #7a5800 on #ffffff = 6.0:1   →  PASS
   Override only generic content links; nav/btn/footer
   links already have acceptable colours from their own rules.
   ------------------------------------------------------- */
a {
    color: #7a5800;
}
a:hover,
a:visited {
    color: #5c4200;
}

/* Restore nav, buttons and other explicitly styled links */
.navbar-brand,
.navbar .nav-link,
.navbar .nav-link:hover,
.navbar .nav-link:visited {
    color: #000000 !important;
    text-decoration: none;
}
.btn,
a.btn,
.btn:hover,
a.btn:hover,
.btn:visited,
a.btn:visited {
    color: inherit !important;
    text-decoration: none;
}
.footer .cookie-info a,
.footer .cookie-info a:hover,
.footer .cookie-info a:visited {
    color: #666666 !important;
}
.itseasy p a,
.day .subheader a,
.winners--list a {
    color: #000000 !important;
}
.icesqueare__accordion p {
    color: #FFC107;
}

/* -------------------------------------------------------
   1.4.3  Header h1 contrast over photo background
   text-shadow guarantees ≥3:1 regardless of image content
   ------------------------------------------------------- */
.header h1 {
    text-shadow: 0 1px 4px rgba(0,0,0,0.55), 0 2px 12px rgba(0,0,0,0.35);
}

/* -------------------------------------------------------
   1.4.11 Non-text contrast – .btn.disabled border
   #707070 on #ffffff = 5.9:1  →  already PASS
   ------------------------------------------------------- */

/* -------------------------------------------------------
   Utility: visually hidden but accessible to screen readers
   ------------------------------------------------------- */
.visually-hidden,
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
