/* Global Color & Design System Overrides */
:root {
    --primary: #002147;
    /* Oxford Blue */
    --secondary: #D4AF37;
    /* Metallic Gold */
    --accent: #004085;
    /* Academic Blue */
    --light: #F0F4F8;
    /* Cool Blue White (was F8F9FA) */
    --dark: #000b1a;
}

/* Force Bootstrap Overrides for Orange -> Oxford Blue */
.bg-primary,
.btn-primary {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.text-primary {
    color: var(--primary) !important;
    background-color: transparent !important;
    /* Ensure no accidental background */
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--dark) !important;
    border-color: var(--dark) !important;
}

/* Fix Orange Links and Breadcrumbs */
a {
    color: var(--primary);
    transition: all 0.3s ease;
}

a:hover {
    color: var(--secondary);
}

.breadcrumb-item a {
    color: rgba(255, 255, 255, 0.7) !important;
}

.breadcrumb-item.active {
    color: var(--secondary) !important;
}

/* Active Navigation Link Highlight */
.navbar-light .navbar-nav .nav-link.active {
    color: var(--primary) !important;
    font-weight: 700;
    border-bottom: 3px solid var(--secondary);
}

/* Professional Typography - Forcing Outfit */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.display-1,
.display-2,
.display-3,
.display-4 {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.02em !important;
}

body {
    font-family: 'Inter', sans-serif;
    color: #333;
    line-height: 1.6;
}

/* Layout: Full-Width Transition Support */
.container-xxl {
    max-width: none !important;
    padding: 0 !important;
}

/* Absolute Purge of Wavy Dividers */
.page-header::before,
.page-header::after,
.navbar::before,
.navbar::after,
.header-carousel::before,
.header-carousel::after {
    display: none !important;
    content: none !important;
}

.page-header {
    background-image: linear-gradient(rgba(0, 33, 71, 0.9), rgba(0, 33, 71, 0.9)), url('../img/carousel-1.jpg') !important;
    border-bottom: 5px solid var(--secondary) !important;
    border-radius: 0 !important;
}

/* Homepage Carousel Fix */
.header-carousel .owl-carousel-item {
    position: relative;
    height: 800px;
    /* Fixed height for the container */
    overflow: hidden;
}

.header-carousel .owl-carousel-item img {
    position: absolute;
    width: 100%;
    height: 100% !important;
    object-fit: cover !important;
    /* Ensure image fills the space */
    object-position: center;
}

/* Ensure overlay covers everything */
.header-carousel .owl-carousel-item .position-absolute {
    z-index: 1;
}

/* Professional Card Styling (Sharp Corners) */
.facility-item,
.classes-item,
.team-item,
.testimonial-item {
    border-radius: 0 !important;
    border: 1px solid rgba(0, 33, 71, 0.1) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05) !important;
    background: #fff;
    transition: none !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.facility-item:hover *,
.facility-item:hover,
.team-item:hover *,
.team-item:hover {
    color: inherit !important;
    background-color: #fff !important;
    transform: none !important;
}

.bg-light {
    background-color: var(--light) !important;
}

.facility-icon {
    width: 100px !important;
    /* Increased from 80px */
    height: 100px !important;
    font-size: 2.5rem !important;
    /* Larger icon */
    background: var(--light) !important;
    color: var(--primary) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 50% !important;
    /* Keeping circle for icon background or make 0 if requested */
}

.facility-item:hover .facility-icon {
    background: var(--light) !important;
    color: var(--primary) !important;
}

.team-item {
    text-align: center;
    padding: 0 !important;
    overflow: visible !important;
    /* Ensure names/titles are not clipped */
    height: auto !important;
    /* Allow card to grow with content */
}

.team-item:hover {
    transform: none !important;
    /* Disable lift-up animation */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05) !important;
    /* Keep same shadow on hover */
}

.team-item img {
    border-radius: 0 !important;
    border: none !important;
    padding: 0 !important;
    width: 100%;
    height: 280px;
    /* Reduced height as requested */
    object-fit: cover;
}

.team-text {
    padding: 15px !important;
    background: #fff !important;
    flex-grow: 1;
}

.team-text h3 {
    font-size: 1.1rem !important;
    margin-bottom: 5px !important;
    color: var(--primary) !important;
    text-transform: none !important;
    /* Normal names */
    letter-spacing: 0 !important;
}

.team-text p {
    font-size: 0.85rem !important;
    color: var(--secondary) !important;
    font-weight: 600 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.classes-item img,
.facility-item img {
    border-radius: 0 !important;
}

/* Global Form Theming */
.form-control,
.form-select {
    border-radius: 0 !important;
    border: 1px solid rgba(0, 33, 71, 0.2) !important;
    padding: 12px 15px !important;
    background-color: #f8fbff !important;
    /* Themed Faint Blue */
    color: #002147 !important;
    /* Oxford Blue Text */
}

.form-control:focus,
.form-select:focus {
    border-color: var(--secondary) !important;
    box-shadow: 0 0 0 0.25rem rgba(212, 175, 55, 0.15) !important;
    outline: none !important;
}

.form-control::placeholder {
    color: #999 !important;
    opacity: 1;
}

/* Correcting the "Unmatched Name Tag" layout issue (Circular elements being removed) */
.rounded-circle,
.btn-square,
.btn-sm-square,
.btn-lg-square {
    border-radius: 0 !important;
}

/* Fix selection visibility in form fields */
::selection {
    background: var(--primary);
    color: #ffffff !important;
}

::-moz-selection {
    background: var(--primary);
    color: #ffffff !important;
}