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

:root {
 --bs-primary: #194fa0;
 --bs-primary-rgb: 25, 79, 160;
}

/* Global Overrides for Bootstrap Colors */
.bg-primary {
 background-color: #194fa0 !important;
}

.text-primary {
 color: #194fa0 !important;
}

.btn-primary {
 background-color: #194fa0 !important;
 border-color: #194fa0 !important;
}

.btn-primary:hover {
 background-color: #143d7a !important;
 border-color: #143d7a !important;
}

.btn-outline-primary {
 color: #194fa0 !important;
 border-color: #194fa0 !important;
}

.btn-outline-primary:hover {
 background-color: #194fa0 !important;
 color: #fff !important;
}

.border-primary {
 border-color: #194fa0 !important;
}

body {
 font-family: 'Outfit', sans-serif;
 color: #4a4a4a;
 background: #fff;
 overflow-x: hidden;
}

/* Header */
.navbar {
 padding: 20px 0;
 background: #fff;
 box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
}

.navbar-brand {
 font-weight: 800;
 font-size: 1.8rem;
 color: #333 !important;
 letter-spacing: -1px;
}

.navbar-brand i,
.footer-logo i {
 color: rgb(25 79 160) !important;
}

.btn.active,
.btn-outline-secondary.active {
 background: rgb(25 79 160) !important;
 color: white !important;
 border-color: rgb(25 79 160) !important;
}

.navbar-brand span {
 color: #194fa0;
 /* Blue accent */
}

.banner-web {
 padding-top: 2rem !important;
 padding-bottom: 2rem !important;
}

.nav-link {
 font-weight: 500;
 color: #555 !important;
 margin: 0 10px;
 font-size: 1rem;
 transition: color 0.3s;
}

.nav-link:hover,
.nav-link.active {
 color: #194fa0 !important;
}

.btn-auth-outline {
 border: 1px solid #ddd;
 color: #555;
 background: #f8f9fa;
 border-radius: 8px;
 padding: 8px 20px;
 font-weight: 500;
 margin-right: 10px;
 text-decoration: none;
}

.btn-auth-primary {
 background: #194fa0;
 color: #fff;
 border-radius: 8px;
 padding: 8px 20px;
 font-weight: 500;
 text-decoration: none;
 border: 1px solid #194fa0;
}

.btn-auth-primary:hover {
 background: #143d7a;
 color: #fff;
}

/* Hero Section */
.hero-section {
 padding: 100px 0;
 text-align: center;
}

.hero-tag {
 display: inline-block;
 background: #f0f2f5;
 color: #666;
 padding: 5px 15px;
 border-radius: 20px;
 font-size: 0.9rem;
 margin-bottom: 20px;
}

.hero-title {
 font-size: 3.5rem;
 font-weight: 700;
 color: #222;
 margin-bottom: 20px;
 letter-spacing: -1px;
}

.hero-subtitle {
 font-size: 1.2rem;
 color: #777;
 max-width: 700px;
 margin: 0 auto 40px;
 line-height: 1.6;
}

.search-wrapper {
 max-width: 600px;
 margin: 0 auto;
 position: relative;
 display: flex;
 gap: 10px;
}

.search-input {
 flex-grow: 1;
 border: 1px solid #ddd;
 border-radius: 8px;
 padding: 15px 20px;
 font-size: 1rem;
 outline: none;
}

.btn-search {
 background: #194fa0;
 color: white;
 border: none;
 border-radius: 8px;
 padding: 0 30px;
 font-weight: 600;
}

/* Section Titles */
.section-title {
 font-size: 2rem;
 font-weight: 700;
 color: #222;
 margin-bottom: 30px;
 position: relative;
 display: inline-block;
}

/* Cards */
.custom-card {
 border: none;
 border-radius: 16px;
 overflow: hidden;
 transition: transform 0.3s, box-shadow 0.3s;
 background: #fff;
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
 height: 100%;
}

.custom-card:hover {
 transform: translateY(-5px);
 box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.card-img-top {
 height: 200px;
 object-fit: cover;
}

.card-body {
 padding: 25px;
}

.card-meta {
 font-size: 0.85rem;
 color: #888;
 margin-bottom: 10px;
 display: block;
}

.card-title {
 font-size: 1.25rem;
 font-weight: 700;
 margin-bottom: 10px;
 color: #333;
}

.card-text {
 color: #666;
 font-size: 0.95rem;
 line-height: 1.5;
}

/* Footer */
footer {
 background: #fff;
 padding: 60px 0 30px;
 border-top: 1px solid #eee;
 margin-top: 80px;
}

.footer-logo {
 font-weight: 800;
 font-size: 1.5rem;
 color: #333;
 margin-bottom: 20px;
 display: inline-block;
}

.footer-logo span {
 color: #194fa0;
}

.footer-nav a {
 color: #666;
 text-decoration: none;
 margin-right: 20px;
 font-weight: 500;
}

.footer-nav a:hover {
 color: #194fa0;
}

.copyright {
 color: #999;
 font-size: 0.9rem;
 margin-top: 20px;
}