:root {
    --primary: #741526;
    --primary-dark: #50101b;
    --gold: #c99a2e;
    --cream: #faf7f2;
    --dark: #1b1f24;
    --text: #4f5661;
    --white: #fff;
    --border: #e8e3dc;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body,
button,
input,
select,
textarea,
.navbar,
.navbar *,
footer,
footer *,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
label,
table {
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: 0;
}

body {
    color: var(--text);
    line-height: 1.65;
}

a,
button,
.btn,
.btn-main,
.btn-outline,
.hero-btn,
.hero-btn-outline,
.course-link,
.submit-btn,
.enquiry-submit,
.apply-btn,
.cta-btn,
.read-btn,
input[type="button"],
input[type="submit"] {
    font-weight: 700 !important;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.btn,
.btn-main,
.btn-outline,
.hero-btn,
.hero-btn-outline,
.course-link,
.submit-btn,
.enquiry-submit,
.apply-btn,
.cta-btn,
.read-btn,
button[type="submit"],
input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    line-height: 1.25;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(201, 154, 46, .45);
    outline-offset: 3px;
}

.topbar {
    background-color: var(--primary) !important;
    color: #fff;
    font-size: 13px;
    padding: 9px 0;
}

.topbar a {
    color: #fff;
}

.topbar i {
    color: var(--gold);
}

.navbar {
    background-color: #fff !important;
    min-height: 76px;
    border-bottom: 1px solid rgba(116, 21, 38, .08);
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
}

.college-logo {
    width: 190px;
    max-width: min(190px, 58vw);
    object-fit: contain;
}

.topbar-contact,
.topbar-social {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 18px;
}

.topbar-contact span,
.topbar-social a {
    margin-left: 0 !important;
}

.navbar-toggler {
    border: 1px solid rgba(116, 21, 38, .25);
    border-radius: 6px;
    padding: 8px 10px;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 .2rem rgba(116, 21, 38, .14);
}

.navbar-nav .nav-link {
    border-radius: 6px;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active,
.dropdown-item:hover {
    color: var(--primary) !important;
}

.apply-btn,
.btn-main,
.submit-btn,
.enquiry-submit,
.cta-btn,
.read-btn {
    border-radius: 6px !important;
    box-shadow: 0 8px 18px rgba(116, 21, 38, .14);
}

.apply-btn:hover,
.btn-main:hover,
.submit-btn:hover,
.enquiry-submit:hover,
.cta-btn:hover,
.read-btn:hover {
    transform: translateY(-1px);
}

.hero,
.contact-hero,
.course-hero,
.about-hero {
    isolation: isolate;
}

.hero h1,
.contact-hero h1,
.course-hero h1,
.about-hero h1 {
    font-weight: 800;
    line-height: 1.12;
}

.section,
.contact-section,
.contact-info,
.map-section {
    scroll-margin-top: 90px;
}

.section-title h2,
.about-content h2,
.contact-form-box h3,
.contact-details h3 {
    font-weight: 800;
}

.feature-card,
.course-card,
.contact-card,
.testimonial,
.mission-box,
.query-form,
.contact-form-box,
.contact-details,
.hero-form,
.enquiry-popup {
    border-radius: 8px;
}

.feature-card,
.course-card,
.contact-card,
.query-form,
.contact-form-box {
    border-color: var(--border) !important;
}

.form-control,
.form-select {
    border-radius: 6px !important;
    min-height: 48px;
}

textarea.form-control {
    min-height: 118px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 .18rem rgba(116, 21, 38, .12) !important;
}

.enquiry-alert {
    border-radius: 6px;
    font-size: 14px;
}

.hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.js-enquiry-form.is-submitting button[type="submit"] {
    pointer-events: none;
    opacity: .74;
}

img {
    height: auto;
}

.course-img img,
.facility-card img,
.leader-img img,
.about-image img {
    object-fit: cover;
}

footer {
    background: #23070d !important;
}

footer h5 {
    color: var(--white) !important;
    font-size: 18px;
    font-weight: 700 !important;
    line-height: 1.25;
    margin-bottom: 18px;
}

footer p,
footer li,
footer a {
    overflow-wrap: anywhere;
}

footer a {
    text-decoration: none;
}

.admin-shell {
    min-height: 100vh;
    background: #f7f8fa;
}

.admin-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(20, 24, 32, .06);
}

.admin-table th {
    white-space: nowrap;
    font-size: 13px;
}

.admin-table td {
    vertical-align: middle;
    font-size: 14px;
}

.message-cell {
    max-width: 260px;
}

@media (max-width: 991px) {
    .navbar-collapse {
        background: #fff;
        border-top: 1px solid var(--border);
        margin-top: 10px;
        padding: 14px 0;
    }

    .navbar-nav {
        align-items: stretch !important;
    }

    .navbar-nav .nav-link {
        padding: 10px 12px !important;
    }

    .apply-btn {
        display: inline-flex !important;
        margin: 8px 12px 0 12px !important;
        width: calc(100% - 24px);
    }

    .dropdown-menu {
        box-shadow: none !important;
        border: 1px solid var(--border) !important;
    }

    .hero-content {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .topbar {
        display: none;
    }

    .hero {
        min-height: auto !important;
        padding: 48px 0 36px;
    }

    .hero h1,
    .contact-hero h1,
    .course-hero h1,
    .about-hero h1 {
        font-size: 34px !important;
    }

    .hero p,
    .contact-hero p {
        font-size: 15px !important;
    }

    .section,
    .contact-section,
    .contact-info,
    .map-section {
        padding-top: 54px !important;
        padding-bottom: 54px !important;
    }

    .section-title h2,
    .about-content h2,
    .admission-cta h2 {
        font-size: 30px !important;
    }

    .btn-main,
    .btn-outline,
    .hero-btn,
    .hero-btn-outline,
    .submit-btn,
    .enquiry-submit,
    button[type="submit"],
    input[type="submit"],
    .cta-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .btn-outline {
        margin-left: 0 !important;
        margin-top: 10px;
    }

    .hero-btn-outline {
        margin-left: 0 !important;
        margin-top: 10px;
    }

    footer h5 {
        font-size: 17px;
        margin-bottom: 12px;
    }

    footer .row {
        row-gap: 26px !important;
    }

    .topbar .container > .d-flex {
        justify-content: center !important;
        text-align: center;
    }

    .topbar-contact,
    .topbar-social {
        justify-content: center;
        width: 100%;
    }

    .query-form,
    .contact-form-box,
    .contact-details,
    .contact-info {
        padding: 24px !important;
    }

    .table-responsive {
        border: 1px solid var(--border);
        border-radius: 8px;
    }
}
