/* ============================================================
   FINAL WAVE / WCAG AA CONTRAST SUPPORT
   Adds solid fallback colours behind image/gradient backgrounds
   so accessibility tools can determine the same contrast users see.
   Layout, spacing, sizing, imagery and functionality are unchanged.
   ============================================================ */

/* Dark navy image backgrounds: exact/similar fallback colours. */
.header,
.header.scrolled,
.room_content {
    background-color: #15266c !important;
}

.footer {
    background-color: #011460 !important;
}

/* Black title strip image fallback. */
.home_title {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Gradient controls/cards: retain gradient visually and provide
   a WCAG-safe solid fallback for automated contrast evaluation. */
.serviceBox .title,
.serviceBox .read-more {
    background-color: #9b3100 !important;
    color: #ffffff !important;
}

.serviceBox.green .title,
.serviceBox.green .read-more,
.serviceBox.blue .title,
.serviceBox.blue .read-more {
    background-color: #00145f !important;
    color: #ffffff !important;
}

.serviceBox.purple .title,
.serviceBox.purple .read-more {
    background-color: #6f1e51 !important;
    color: #ffffff !important;
}

/* Orange information tiles: use a darker brand-compatible orange
   so normal white text meets WCAG AA, with no layout change. */
.room_text {
    background-color: #b83e00 !important;
    background-image: none !important;
    color: #ffffff !important;
}
.room_text a,
.room_text span,
.room_text p,
.room_text li {
    color: #ffffff !important;
}

/* Content text/link colours on white/light sections. */
.section_subtitle,
.newsletter_input::placeholder,
.form-control::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

/* Dark-background room card text. */
.room_content .room_type {
    color: #ffffff !important;
}
.room_content .room_title a {
    color: #ffffff !important;
}
.room_content .room_title a:hover,
.room_content .room_title a:focus {
    color: #ffcf4a !important;
    text-decoration: underline;
}

/* Footer and header foreground colours against the explicit navy fallbacks. */
.header a,
.header button,
.header .dropdown-toggle,
.footer .schematxt,
.footer .footer-heading {
    color: #ffffff;
}
.footer a,
.footer p,
.footer p a,
.footer_menu ul li a,
.footer_contact_content ul li span,
.footer .schematxtp,
#back-top,
#back-top a {
    color: #ffcf4a !important;
}
.footer a:hover,
.footer a:focus,
.footer p a:hover,
.footer p a:focus,
.footer_menu ul li a:hover,
.footer_menu ul li a:focus,
.footer .schematxtp:hover,
.footer .schematxtp:focus,
#back-top a:hover,
#back-top a:focus {
    color: #ffffff !important;
    text-decoration: underline;
}

/* Keep keyboard focus unmistakable on light and dark backgrounds. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
    outline: 3px solid #ffffff !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px #00145f !important;
}
