/* FILE PATH: assets/css/style.css */
/* Optimized for Fast Page Load & Zero External Dependecies */

:root {
    --primary-blue: #0b3d91;
    --primary-dark: #062354;
    --secondary-orange: #f26522;
    --orange-hover: #d9531e;
    --text-dark: #2c3e50;
    --bg-light: #f4f7f6;
    --white: #ffffff;
    --transition: all 0.3s ease-in-out;
    --shadow-sm: 0 4px 15px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 8px 25px rgba(0, 0, 0, 0.08);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    color: var(--text-dark);
    background-color: #fafbfd;
    overflow-x: hidden;
}

a {
    color: var(--primary-blue);
    text-decoration: none;
    transition: var(--transition);
}
a:hover {
    color: var(--secondary-orange);
}

.topbar { background-color: var(--primary-blue); color: var(--white); padding: 8px 0; font-size: 0.85rem; }
.topbar a { color: var(--white); margin-left: 15px; }

.navbar { background-color: var(--white); box-shadow: 0 4px 10px rgba(0,0,0,0.05); padding: 12px 0; }
.navbar-brand img { max-height: 65px; }

.nav-link {
    font-weight: 600; color: var(--primary-blue) !important; text-transform: uppercase;
    margin: 0 10px; font-size: 0.9rem; position: relative;
}
.nav-link::after {
    content: ''; position: absolute; width: 0; height: 2px;
    bottom: 0; left: 0; background-color: var(--secondary-orange); transition: var(--transition);
}
.nav-link:hover::after { width: 100%; }

.btn-warning { background-color: var(--secondary-orange); border-color: var(--secondary-orange); color: var(--white) !important; font-weight: bold; border-radius: 30px; }
.btn-warning:hover { background-color: var(--orange-hover); border-color: var(--orange-hover); }

/* Custom Cards */
.card-custom {
    background: var(--white); border: none; border-radius: 16px;
    box-shadow: var(--shadow-sm); transition: var(--transition);
}
.card-custom:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }

/* Footer Partner Marquee Style */
.partner-marquee-container {
    background: var(--white); padding: 20px 0; border-top: 2px solid var(--bg-light);
    overflow: hidden; position: relative;
}
.partner-marquee {
    display: flex; gap: 50px; animation: marqueeAnimation 25s linear infinite; width: max-content;
}
.partner-marquee img {
    max-height: 50px; filter: grayscale(100%); opacity: 0.7; transition: var(--transition);
}
.partner-marquee img:hover { filter: grayscale(0%); opacity: 1; }

@keyframes marqueeAnimation {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}