/* ======================================================
GOODLINE CARGO LOGISTICS LTD
ENTERPRISE PROFESSIONAL STYLESHEET
====================================================== */

/* ======================================================
ROOT VARIABLES
====================================================== */

:root{

--primary:#0B1F4D;
--secondary:#1E4DB7;
--accent:#2E8BFF;
--light:#F5F8FC;
--dark:#07142F;
--text:#333333;
--white:#ffffff;
--border:#E9EEF5;
--shadow:0 10px 30px rgba(0,0,0,0.08);

}

/* ======================================================
GLOBAL RESET
====================================================== */

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Outfit',sans-serif;
background:var(--white);
color:var(--text);
overflow-x:hidden;
line-height:1.7;

}

a{

text-decoration:none;
transition:0.3s;

}

img{

max-width:100%;
display:block;

}

.container{

max-width:1320px;

}

/* ======================================================
TOP BAR
====================================================== */

.top-bar{

background:var(--dark);
padding:12px 0;
font-size:14px;

}

.top-contact{

display:flex;
flex-wrap:wrap;
gap:25px;

}

.top-contact a{

color:#dbe7ff;
font-weight:500;

}

.top-contact a:hover{

color:#ffffff;

}

.top-contact i{

color:var(--accent);
margin-right:8px;

}

.top-social{

display:flex;
justify-content:flex-end;
align-items:center;
gap:10px;

}

.top-social a{

width:36px;
height:36px;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,0.08);
border-radius:50%;
color:#fff;

}

.top-social a:hover{

background:var(--accent);
transform:translateY(-3px);

}

/* ======================================================
NAVBAR
====================================================== */

.navbar{

background:#ffffff !important;
padding:18px 0;
box-shadow:0 2px 20px rgba(0,0,0,0.06);
z-index:999;

}

.navbar.sticky-top{

top:0;

}

.logo-text{

display:flex;
flex-direction:column;
line-height:1.1;

}

.logo-main{

font-size:30px;
font-weight:800;
color:var(--primary);

}

.logo-sub{

font-size:12px;
letter-spacing:2px;
font-weight:600;
color:#6c757d;

}

.navbar-nav .nav-link{

font-size:16px;
font-weight:600;
color:var(--primary)!important;
margin-left:12px;
margin-right:12px;
position:relative;

}

.navbar-nav .nav-link:hover{

color:var(--secondary)!important;

}

.navbar-nav .nav-link.active{

color:var(--secondary)!important;

}

.navbar-nav .nav-link.active::after{

content:'';
position:absolute;
left:0;
bottom:-10px;
width:100%;
height:3px;
background:var(--secondary);
border-radius:10px;

}

/* ======================================================
DROPDOWN
====================================================== */

.dropdown-menu{

border:none;
border-radius:18px;
padding:12px 0;
box-shadow:0 15px 35px rgba(0,0,0,0.08);

}

.dropdown-item{

padding:12px 22px;
font-weight:500;

}

.dropdown-item:hover{

background:#f5f8ff;
color:var(--secondary);

}

/* ======================================================
PORTAL BUTTON
====================================================== */

.portal-btn{

background:var(--primary);
padding:13px 24px;
border-radius:12px;
color:#fff!important;
font-weight:700;
display:inline-flex;
align-items:center;
gap:10px;

}

.portal-btn:hover{

background:var(--secondary);
transform:translateY(-2px);

}

/* ======================================================
HERO SECTION
====================================================== */

.hero-slide{

height:100vh;
min-height:750px;
background-size:cover;
background-position:center;
position:relative;

}

.overlay{

position:absolute;
inset:0;
background:linear-gradient(
to right,
rgba(7,20,47,0.88),
rgba(7,20,47,0.55)
);

display:flex;
align-items:center;

}

.hero-content{

max-width:750px;
color:#fff;

}

.hero-content h5{

font-size:22px;
font-weight:700;
color:#8ec5ff;
margin-bottom:20px;

}

.hero-content h1{

font-size:72px;
font-weight:800;
line-height:1.1;
margin-bottom:25px;

}

.hero-content p{

font-size:20px;
line-height:1.9;
color:#dbe7ff;

}

.hero-buttons{

margin-top:40px;
display:flex;
flex-wrap:wrap;
gap:15px;

}

.hero-buttons .btn{

padding:16px 35px;
border-radius:12px;
font-weight:700;
font-size:16px;

}

/* ======================================================
SECTIONS
====================================================== */

section{

padding:100px 0;

}

.section-title{

margin-bottom:60px;

}

.section-title h2{

font-size:50px;
font-weight:800;
color:var(--primary);
margin-bottom:15px;

}

.section-title p{

color:#777;
max-width:700px;

}

/* ======================================================
ABOUT SECTION
====================================================== */

.about-section{

background:#fff;

}

.about-section img{

border-radius:24px;
box-shadow:var(--shadow);
height:100%;
object-fit:cover;

}

.about-section h2{

font-size:48px;
font-weight:800;
color:var(--primary);
margin-bottom:25px;

}

.about-section p{

font-size:17px;
line-height:1.9;
margin-bottom:18px;
color:#555;

}

/* ======================================================
SERVICE CARDS
====================================================== */

.service-card{

background:#fff;
border-radius:22px;
overflow:hidden;
box-shadow:var(--shadow);
transition:0.4s;
height:100%;
border:1px solid var(--border);

}

.service-card:hover{

transform:translateY(-10px);

}

.service-image{

overflow:hidden;

}

.service-image img{

height:250px;
width:100%;
object-fit:cover;
transition:0.5s;

}

.service-card:hover .service-image img{

transform:scale(1.08);

}

.service-content{

padding:30px;

}

.service-content h4{

font-size:24px;
font-weight:700;
margin-bottom:15px;
color:var(--primary);

}

.service-content p{

color:#666;
line-height:1.8;

}

/* ======================================================
STATIONS
====================================================== */

.station-box{

background:#fff;
padding:40px;
border-radius:20px;
text-align:center;
box-shadow:var(--shadow);
transition:0.3s;
height:100%;

}

.station-box:hover{

background:var(--primary);
transform:translateY(-8px);
color:#fff;

}

.station-box i{

font-size:45px;
margin-bottom:18px;
color:var(--secondary);

}

.station-box:hover i{

color:#fff;

}

/* ======================================================
WHY US
====================================================== */

.why-box{

background:#fff;
padding:40px;
border-radius:22px;
text-align:center;
box-shadow:var(--shadow);
height:100%;

}

.why-box i{

font-size:60px;
margin-bottom:20px;
color:var(--secondary);

}

.why-box h5{

font-size:24px;
font-weight:700;
margin-bottom:15px;

}

/* ======================================================
TEAM
====================================================== */

.team-card{

background:#fff;
border-radius:22px;
overflow:hidden;
box-shadow:var(--shadow);

}

.team-card img{

height:360px;
width:100%;
object-fit:cover;

}

.team-content{

padding:30px;
text-align:center;

}

.team-content h4{

font-size:24px;
font-weight:700;
margin-bottom:10px;

}

/* ======================================================
CONTACT
====================================================== */

.contact-form{

background:#fff;
padding:45px;
border-radius:24px;
box-shadow:var(--shadow);

}

.form-control{

height:58px;
border-radius:12px;
border:1px solid var(--border);
margin-bottom:20px;
padding:12px 18px;

}

textarea.form-control{

height:160px;

}

.form-control:focus{

box-shadow:none;
border-color:var(--secondary);

}

.btn-primary{

background:var(--primary);
border:none;
padding:15px 32px;
border-radius:12px;
font-weight:700;

}

.btn-primary:hover{

background:var(--secondary);

}

/* ======================================================
FOOTER
====================================================== */

.main-footer{

background:var(--dark);
padding-top:100px;
color:#fff;

}

.footer-logo h2{

font-size:36px;
font-weight:800;

}

.footer-logo span{

font-size:12px;
letter-spacing:2px;
color:#dbe7ff;

}

.footer-about{

margin-top:25px;
line-height:1.9;
color:#dbe7ff;

}

.footer-title{

font-size:22px;
font-weight:700;
margin-bottom:25px;

}

.footer-links{

list-style:none;
padding:0;

}

.footer-links li{

margin-bottom:14px;

}

.footer-links a{

color:#dbe7ff;

}

.footer-links a:hover{

color:#fff;
padding-left:5px;

}

.footer-contact p{

margin-bottom:15px;
color:#dbe7ff;

}

.footer-contact i{

color:var(--accent);
margin-right:10px;

}

.footer-social{

margin-top:25px;

}

.footer-social a{

width:42px;
height:42px;
display:inline-flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,0.08);
border-radius:50%;
margin-right:10px;
color:#fff;

}

.footer-social a:hover{

background:var(--accent);

}

.footer-bottom{

border-top:1px solid rgba(255,255,255,0.1);
margin-top:60px;
padding:25px 0;

}

/* ======================================================
WHATSAPP FLOAT
====================================================== */

.whatsapp-float{

position:fixed;
right:25px;
bottom:25px;
width:60px;
height:60px;
background:#25d366;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:30px;
color:#fff;
z-index:999;

}

.whatsapp-float:hover{

transform:scale(1.08);
color:#fff;

}

/* ======================================================
BACK TO TOP
====================================================== */

.back-to-top{

position:fixed;
right:25px;
bottom:100px;
width:50px;
height:50px;
background:var(--primary);
color:#fff;
border:none;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
opacity:0;
visibility:hidden;
transition:0.3s;
z-index:999;

}

.back-to-top.active{

opacity:1;
visibility:visible;

}

/* ======================================================
PAGE LOADER
====================================================== */

.page-loader{

position:fixed;
inset:0;
background:#fff;
z-index:99999;
display:flex;
align-items:center;
justify-content:center;

}

.loader-spinner{

width:60px;
height:60px;
border:5px solid #eee;
border-top:5px solid var(--secondary);
border-radius:50%;
animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

/* ======================================================
RESPONSIVE
====================================================== */

@media(max-width:1200px){

.hero-content h1{

font-size:58px;

}

}

@media(max-width:991px){

.top-bar{

display:none;

}

.navbar{

padding:15px 0;

}

.navbar-nav{

padding-top:20px;

}

.navbar-nav .nav-link{

margin:10px 0;

}

.portal-btn{

margin-top:15px;
width:100%;
justify-content:center;

}

.hero-slide{

min-height:650px;

}

.hero-content h1{

font-size:46px;

}

.hero-content p{

font-size:18px;

}

.section-title h2{

font-size:38px;

}

.about-section{

text-align:center;

}

.about-section img{

margin-bottom:40px;

}

section{

padding:80px 0;

}

}

@media(max-width:576px){

.hero-content h1{

font-size:34px;

}

.hero-content h5{

font-size:18px;

}

.hero-content p{

font-size:16px;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

}

.section-title h2{

font-size:30px;

}

.logo-main{

font-size:22px;

}

.logo-sub{

font-size:10px;

}

.contact-form{

padding:30px;

}

.whatsapp-float{

width:52px;
height:52px;
font-size:24px;

}

}