:root{

--primary:#2563eb;

--secondary:#0f172a;

--success:#10b981;

--light:#f8fafc;

--gray:#64748b;

}

body{

font-family:Inter,sans-serif;

color:#333;

}

/* ===========================
   Navbar
=========================== */
.navbar-brand img{
    height:55px;
    width:auto;
}
.navbar {
    background: #ffffff;
    padding: 14px 0;
    transition: all .3s ease;
    box-shadow: 0 2px 20px rgba(0,0,0,.06);
    z-index: 999;
}

.navbar.scrolled {
    padding: 8px 0;
    box-shadow: 0 8px 30px rgba(0,0,0,.10);
}

.navbar-brand {
    font-size: 1.7rem;
    font-weight: 700;
    color: #0d6efd !important;
    letter-spacing: .5px;
}

.navbar-brand img {
    height: 45px;
}

.navbar-nav {
    gap: 8px;
}

.navbar-nav .nav-link {
    position: relative;
    color: #333;
    font-weight: 600;
    padding: 10px 18px !important;
    border-radius: 10px;
    transition: .3s;
}

.navbar-nav .nav-link:hover {
    color: #0d6efd;
    background: rgba(13,110,253,.08);
}

.navbar-nav .nav-link.active {
    color: #fff !important;
    background: #0d6efd;
}

.navbar-nav .nav-item{
    margin-left:10px;
}

.navbar{
    min-height:80px;
}

.navbar-brand{
    padding:0;
}
.navbar{
    position:sticky;
    top:0;
    z-index:1050;
}
/* Hiệu ứng gạch chân */
.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 5px;
    height: 2px;
    background: #0d6efd;
    transform: scaleX(0);
    transition: .3s;
}

.navbar-nav .nav-link:hover::after {
    transform: scaleX(1);
}

/* Nút Liên hệ */

.btn-navbar {
    padding: 10px 24px;
    border-radius: 50px;
    background: #0d6efd;
    color: #fff;
    font-weight: 600;
    transition: .3s;
}

.btn-navbar:hover {
    background: #0b5ed7;
    color: #fff;
    transform: translateY(-2px);
}

/* Dropdown */

.dropdown-menu {
    border: none;
    border-radius: 15px;
    padding: 10px;
    box-shadow: 0 15px 40px rgba(0,0,0,.12);
}

.dropdown-item {
    border-radius: 8px;
    padding: 10px 15px;
    transition: .3s;
}

.dropdown-item:hover {
    background: #0d6efd;
    color: white;
}

/* Mobile */

.navbar-toggler {
    border: none;
}

.navbar-toggler:focus {
    box-shadow: none;
}

/* Sticky */

.sticky-top {
    transition: all .3s;
}

.btn-primary{

background:var(--primary);

border:0;

padding:12px 30px;

border-radius:10px;

}

.hero{
padding:120px 0;
}

.card{
border:none;
border-radius:20px;
transition:.3s;
}

.card:hover{

transform:translateY(-10px);

box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.btn-primary{

padding:14px 30px;

border-radius:12px;

}

section{

padding:90px 0;

}

#preloader{
    position: fixed;
    inset: 0;
    background: white;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.spinner{
    width: 50px;
    height: 50px;
    border: 5px solid #eee;
    border-top: 5px solid #0d6efd;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin{
    100% { transform: rotate(360deg); }
}

/* ===========================
   Footer
=========================== */

.footer{

    background:#0f172a;

    color:#cbd5e1;

    padding:80px 0 25px;

}

.footer-logo{

    height:55px;

}

.footer p{

    line-height:1.8;

    color:#94a3b8;

}

.footer h5{

    color:white;

    margin-bottom:25px;

    font-weight:600;

}

.footer ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer ul li{

    margin-bottom:12px;

}

.footer ul li a{

    color:#94a3b8;

    text-decoration:none;

    transition:.3s;

}

.footer ul li a:hover{

    color:#ffffff;

    padding-left:6px;

}

.contact-info li{

    display:flex;

    align-items:flex-start;

    gap:10px;

}

.contact-info i{

    color:#3b82f6;

    margin-top:4px;

}

.social-links{

    margin-top:25px;

}

.social-links a{

    width:42px;

    height:42px;

    display:inline-flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#1e293b;

    color:white;

    margin-right:10px;

    transition:.3s;

}

.social-links a:hover{

    background:#2563eb;

    transform:translateY(-5px);

}

.footer hr{

    border-color:#334155;

    margin:50px 0 25px;

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:15px;

}

.footer-bottom a{

    color:#94a3b8;

    text-decoration:none;

}

.footer-bottom a:hover{

    color:white;

}
/*---- responsive ---*/
@media(max-width:768px){

.footer{

text-align:center;

}

.footer-bottom{

flex-direction:column;

}

.contact-info li{

justify-content:center;

}

.social-links{

margin-bottom:30px;

}

}