:root {
    --smhs-blue: #0094A3;
    /* Bondi Blue */
    --smhs-orange: #d39d07;
    /* Gamboge */
    --smhs-green: #02936d;
    /* Green-Cyan */
    --smhs-dark: #30302F;
    /* Dark Charcoal */
    --smhs-light: #FFF1C7;
    /* Buttermilk */
    --smhs-prussian: #063451;
    /* Prussian Blue (ADA Compliant Text/Buttons) */
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: #fcfcfc;
    color: var(--smhs-dark);
}

h1,
h2,
h3,
.sectionHeader {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
}

/* Fix Section Header Contrast */
/* We use Prussian Blue for background so White text passes 100% */
.sectionHeader {
    background-color: var(--smhs-prussian) !important;
    color: white !important;
    border: none;
    padding: 1rem;
    width: 100%;
    text-align: center;
    border-radius: 4px 4px 0 0;
    cursor: pointer;
}

/* Improve Form Aesthetics (The "Bulky" Fix) */
.tabDiv {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    margin-bottom: 2rem;
    overflow: hidden;
}

.tabfs {
    padding: 1.5rem;
}

/* Fix label & border contrast for WAVE */
label {
    color: var(--smhs-dark);
    font-weight: 600 !important;
    margin-bottom: 0.4rem;
}

.form-control,
.form-select {
    border: 1.5px solid #767676;
    /* Darker border for ADA */
}

.form-control:focus {
    border-color: var(--smhs-blue);
    box-shadow: 0 0 0 0.25rem rgba(0, 148, 163, 0.25);
}

/* The Buttermilk section for contacts */
#addContactDiv {
    background-color: var(--smhs-light) !important;
    padding: 1rem;
    border-radius: 4px;
    border: 1px solid var(--smhs-orange);
}

/* Emergency/Urgent Section */
#emergency {
    background-color: var(--smhs-orange) !important;
    color: #000 !important;
    /* Black on Gold is high contrast */
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 20px;
}

/* Submit Button */
.button-register {
    background-color: var(--smhs-prussian) !important;
    color: white !important;
    padding: 12px 40px;
    font-weight: bold;
    border: none;
    transition: 0.3s;
}

.button-register:hover {
    background-color: var(--smhs-blue) !important;
}

/* Required Mark */
em {
    color: #cc0000;
    font-style: normal;
}

.nav-link-ada,
#backToTop,
a.back-to-top {
    color: #006670 !important;
    /* A darker version of Bondi Blue that passes 4.5:1 */
    text-decoration: underline;
    /* WCAG requirement: links in blocks of text must be underlined */
    font-weight: 600;
}

.nav-link-ada:hover,
#backToTop:hover {
    color: #063451 !important;
    /* Prussian Blue on hover */
}

/* Accessible Link Styling */
.ada-link {
    color: #005a63 !important;
    /* A darker, compliant version of your Bondi Blue */
    text-decoration: underline !important;
    font-weight: 600;
}

.ada-link:hover,
.ada-link:focus {
    color: #063451 !important;
    /* Prussian Blue on hover */
    text-decoration: none !important;
}

/* Ensure footer text contrast */
footer p {
    color: #30302F !important;
    /* Dark charcoal */
}

footer p.small {
    color: #444444 !important;
    /* Dark gray passes small text contrast */
}

/* Use this for "Expand All", "Collapse All", and "Back to Top" */
.btn-outline-dark,
.ada-link {
    color: #005963 !important;
    /* Compliant shade of Bondi Blue */
    border-color: #005963 !important;
    text-decoration: underline !important;
    /* Requirement for non-menu links */
}

.ada-link:hover {
    color: #063451 !important;
    /* Prussian Blue */
}

/* Redundant Title Fix: Ensure buttons don't have titles that match their text */
#expandAll,
#collapseAll {
    title: "";
    /* Remove title if it repeats the button text */
}