/* Western Technical College Brand Colors */

:root {
    /* Official Print Colors */
    --western-cardinal-red: #BA0C2F;
    --western-black: #000000;
    
    /* Secondary Color Palette */
    --western-white: #FFFFFF;
    --western-light-gray: #E6E6E6; /* c0, m0, y0, k10 */
    --western-medium-gray: #B3B3B3; /* c0, m0, y0, k30 */
    --western-dark-gray: #737373; /* c0, m0, y0, k55 */
    --western-very-dark-gray: #262626; /* c0, m0, y0, k85 */
    --western-dark-red: #76232F;
    
    /* Accent Color Palette */
    --western-light-blue: #7A99AC;
    --western-dark-teal: #00587C;
    --western-purple: #612C51;
    --western-light-gold: #DDC8A4;
    --western-bright-yellow: #F2A900;
    --western-green: #8F993E;
}

/* Typography */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');

/* Western Brand Typography */
.western-heading {
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    color: var(--western-cardinal-red);
}

.western-subheading {
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    color: var(--western-very-dark-gray);
}

.western-body {
    font-family: 'Avenir', 'Helvetica', 'Calibri', sans-serif;
    color: var(--western-very-dark-gray);
}

/* Custom Button Styles */
.btn-western-primary {
    background-color: var(--western-cardinal-red);
    color: var(--western-white);
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-western-primary:hover {
    background-color: var(--western-dark-red);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(186, 12, 47, 0.3);
}

.btn-western-secondary {
    background-color: var(--western-white);
    color: var(--western-cardinal-red);
    border: 2px solid var(--western-cardinal-red);
    padding: 10px 22px;
    border-radius: 6px;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-western-secondary:hover {
    background-color: var(--western-cardinal-red);
    color: var(--western-white);
}

.btn-western-accent {
    background-color: var(--western-bright-yellow);
    color: var(--western-very-dark-gray);
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-western-accent:hover {
    background-color: #E09A00;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(242, 169, 0, 0.3);
}

/* Card Styles */
.card-western {
    background-color: var(--western-white);
    border: 1px solid var(--western-light-gray);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.card-western:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* Navigation Styles */
.nav-western {
    background-color: var(--western-white);
    border-bottom: 3px solid var(--western-cardinal-red);
}

.nav-western .nav-brand {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    color: var(--western-cardinal-red);
    font-size: 1.5rem;
}

/* Status Badges */
.badge-western-success {
    background-color: var(--western-green);
    color: var(--western-white);
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

.badge-western-warning {
    background-color: var(--western-bright-yellow);
    color: var(--western-very-dark-gray);
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

.badge-western-danger {
    background-color: var(--western-cardinal-red);
    color: var(--western-white);
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

.badge-western-info {
    background-color: var(--western-dark-teal);
    color: var(--western-white);
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

/* Form Styles */
.form-western input,
.form-western select,
.form-western textarea {
    border: 2px solid var(--western-light-gray);
    border-radius: 6px;
    padding: 12px 16px;
    font-family: 'Avenir', 'Helvetica', 'Calibri', sans-serif;
    transition: border-color 0.3s ease;
}

.form-western input:focus,
.form-western select:focus,
.form-western textarea:focus {
    outline: none;
    border-color: var(--western-cardinal-red);
    box-shadow: 0 0 0 3px rgba(186, 12, 47, 0.1);
}

/* Table Styles */
.table-western {
    font-family: 'Avenir', 'Helvetica', 'Calibri', sans-serif;
}

.table-western thead th {
    background-color: var(--western-light-gray);
    color: var(--western-very-dark-gray);
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--western-cardinal-red);
}

.table-western tbody tr:hover {
    background-color: rgba(186, 12, 47, 0.05);
}

/* Alert Styles */
.alert-western-success {
    background-color: rgba(143, 153, 62, 0.1);
    border: 1px solid var(--western-green);
    color: var(--western-green);
    border-radius: 6px;
    padding: 16px;
}

.alert-western-error {
    background-color: rgba(186, 12, 47, 0.1);
    border: 1px solid var(--western-cardinal-red);
    color: var(--western-cardinal-red);
    border-radius: 6px;
    padding: 16px;
}

.alert-western-warning {
    background-color: rgba(242, 169, 0, 0.1);
    border: 1px solid var(--western-bright-yellow);
    color: #B8860B;
    border-radius: 6px;
    padding: 16px;
}

/* Background Colors */
.bg-western-light {
    background-color: var(--western-light-gray);
}

.bg-western-white {
    background-color: var(--western-white);
}

/* Text Colors */
.text-western-red {
    color: var(--western-cardinal-red);
}

.text-western-dark {
    color: var(--western-very-dark-gray);
}

.text-western-muted {
    color: var(--western-dark-gray);
}

/* Icon Colors */
.icon-western-red {
    color: var(--western-cardinal-red);
}

.icon-western-yellow {
    color: var(--western-bright-yellow);
}

.icon-western-green {
    color: var(--western-green);
}

.icon-western-blue {
    color: var(--western-dark-teal);
}

/* Custom Utilities */
.western-shadow {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.western-border {
    border: 1px solid var(--western-light-gray);
}

.western-border-red {
    border: 2px solid var(--western-cardinal-red);
} 