	/* ==========================================
   TEXAN LOGISTICS USA LLC & TRUCK PARTS
   PREMIUM STYLE V2.0
========================================== */

:root{

--red:#b22222;
--navy:#071b3b;
--white:#ffffff;
--gray:#f4f4f4;
--dark:#1b1b1b;

--shadow:0 15px 40px rgba(0,0,0,.18);

--radius:18px;

--transition:.35s;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;

background:#fff;

color:#222;

overflow-x:hidden;

line-height:1.6;

}

/*==========================
TOP BAR
==========================*/

.top-bar{

background:var(--navy);

color:#fff;

display:flex;

justify-content:space-between;

align-items:center;

padding:8px 8%;

font-size:.9rem;

}

.top-bar i{

color:#fff;

margin-right:6px;

}

/*==========================
HEADER
==========================*/

.header{

position:fixed;

top:40px;

left:0;

width:100%;

padding:18px 7%;

display:flex;

justify-content:space-between;

align-items:center;

background:rgba(7,27,59,.45);

backdrop-filter:blur(14px);

-webkit-backdrop-filter:blur(14px);

z-index:9999;

transition:.4s;

}

.logo-area img{

height:120px;

transition:.3s;

}

.logo-area img:hover{

transform:scale(1.05);

}

/*==========================
NAVIGATION
==========================*/

.nav-links{

display:flex;

list-style:none;

gap:35px;

}

.nav-links a{

text-decoration:none;

font-weight:600;

color:white;

transition:.3s;

letter-spacing:.5px;

}

.nav-links a:hover{

color:var(--red);

}

/*==========================
MENU MOBILE
==========================*/

.menu-toggle{

display:none;

font-size:28px;

color:white;

cursor:pointer;

}

/*==========================
HOME
==========================*/

.hero{

    position:relative;

    width:100%;

    height:100vh;

    background-image:url("images/truckparts-banner.jpg");

    background-position:center center;

    background-size:cover;

    background-repeat:no-repeat;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

}


.hero-image{

position:absolute;

width:100%;

height:100%;

object-fit:cover;

}



.hero-overlay{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:100%;

    background:linear-gradient(
        rgba(0,0,0,.55),
        rgba(0,0,0,.45)
    );

}


.hero-content{

    position:relative;

    z-index:5;

    text-align:center;

    color:white;

}

.hero-content h1{

    font-size:95px;

    font-weight:900;

    letter-spacing:4px;

    text-shadow:5px 5px 25px black;

}

.hero-content p{

    font-size:30px;

    margin-top:20px;

    text-shadow:3px 3px 15px black;

}
/*==========================
BUTTONS
==========================*/

.hero-buttons{

display:flex;

justify-content:center;

gap:25px;

flex-wrap:wrap;

}

.btn-red{

background:var(--red);

padding:18px 45px;

border-radius:40px;

text-decoration:none;

color:white;

font-weight:700;

transition:.35s;

box-shadow:var(--shadow);

}

.btn-red:hover{

transform:translateY(-6px);

}

.btn-blue{

background:var(--navy);

padding:18px 45px;

border-radius:40px;

text-decoration:none;

color:white;

font-weight:700;

transition:.35s;

box-shadow:var(--shadow);

}

.btn-blue:hover{

transform:translateY(-6px);

}

/*==========================
SCROLL ICON
==========================*/

.scroll-down{

position:absolute;

bottom:35px;

left:50%;

transform:translateX(-50%);

font-size:34px;

color:white;

animation:bounce 2s infinite;

}

/*==========================
SECTION TITLES
==========================*/

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title h2{

font-size:44px;

color:var(--navy);

margin-bottom:15px;

}

.section-title p{

font-size:18px;

color:#666;

}

/*==========================
ANIMATIONS
==========================*/

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

@keyframes bounce{

0%,100%{

transform:translate(-50%,0);

}

50%{

transform:translate(-50%,-12px);

}

}


/*==========================================
SERVICES
==========================================*/

.services{

padding:100px 8%;
background:#fff;

}

.services-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:35px;

}

.service-card{

background:white;

padding:45px 35px;

border-radius:18px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.35s;

text-align:center;

}

.service-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 45px rgba(0,0,0,.18);

}

.service-card i{

font-size:55px;

color:#b22222;

margin-bottom:25px;

}

.service-card h3{

margin-bottom:15px;

font-size:24px;

color:#071b3b;

}

.service-card p{

color:#666;

line-height:1.7;

}

/*==========================================
COUNTERS
==========================================*/

.counter-section{

background:#071b3b;

padding:90px 8%;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(200px,1fr));

gap:30px;

text-align:center;

color:white;

}

.counter-box h2{

font-size:58px;

color:#fff;

margin-bottom:10px;

}

.counter-box p{

font-size:18px;

}

/*==========================================
WHY US
==========================================*/

.why-us{

padding:100px 8%;

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.why-left img{

width:100%;

border-radius:18px;

box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.why-right h2{

font-size:42px;

color:#071b3b;

margin-bottom:30px;

}

.why-right ul{

list-style:none;

margin-bottom:35px;

}

.why-right li{

font-size:19px;

margin-bottom:18px;

}

.why-right i{

color:#b22222;

margin-right:12px;

}

/*==========================================
PROJECTS
==========================================*/

.projects{

padding:100px 8%;

background:#f7f7f7;

}

.projects-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:35px;

}

.project-card{

background:white;

border-radius:18px;

overflow:hidden;

box-shadow:0 15px 35px rgba(0,0,0,.12);

transition:.35s;

}

.project-card:hover{

transform:translateY(-10px);

}

.project-card img{

width:100%;

height:260px;

object-fit:cover;

transition:.5s;

}

.project-card:hover img{

transform:scale(1.08);

}

.project-info{

padding:25px;

}

.project-info h3{

margin-bottom:10px;

color:#071b3b;

}

/*==========================================
GALLERY
==========================================*/

.gallery{

padding:100px 8%;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:20px;

}

.gallery-item{

overflow:hidden;

border-radius:16px;

box-shadow:0 10px 30px rgba(0,0,0,.12);

display:block;

}

.gallery-item img{

width:100%;

height:240px;

object-fit:cover;

transition:.45s;

display:block;

}

.gallery-item:hover img{

transform:scale(1.12);

}

/*==========================================
LIGHTBOX
==========================================*/

.lightbox{

display:none;

position:fixed;

left:0;

top:0;

width:100%;

height:100%;

background:rgba(0,0,0,.92);

z-index:99999;

justify-content:center;

align-items:center;

}

.lightbox img{

max-width:90%;

max-height:90%;

border-radius:12px;

}

.close-lightbox{

position:absolute;

right:40px;

top:20px;

font-size:50px;

color:white;

cursor:pointer;

}

/*==========================================
QUOTE FORM
==========================================*/

.quote-section{

padding:100px 8%;

background:#071b3b;

}

.quote-form{

display:grid;

gap:20px;

max-width:850px;

margin:auto;

}

.quote-form input,
.quote-form select,
.quote-form textarea{

padding:18px;

border:none;

border-radius:10px;

font-size:16px;

}

.quote-form textarea{

resize:vertical;

min-height:170px;

}

/*==========================================
CONTACT
==========================================*/

.contact-section{

padding:100px 8%;

}

.contact-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.contact-card{

background:white;

padding:40px;

text-align:center;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.1);

transition:.35s;

}

.contact-card:hover{

transform:translateY(-8px);

}

.contact-card i{

font-size:48px;

color:#b22222;

margin-bottom:20px;

}

/*==========================================
MAP
==========================================*/

.map-section iframe{

width:100%;

height:450px;

border:0;

}

/*==========================================
FOOTER
==========================================*/

.footer{

background:#071b3b;

padding:70px 8%;

text-align:center;

color:white;

}

.footer-logo img{

height:110px;

margin-bottom:20px;

}

.footer-links{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:25px;

margin:30px 0;

}

.footer-links a{

color:white;

text-decoration:none;

font-weight:600;

transition:.3s;

}

.footer-links a:hover{

color:#b22222;

}

.footer-social{

margin:30px 0;

}

.footer-social a{

display:inline-flex;

justify-content:center;

align-items:center;

width:48px;

height:48px;

border-radius:50%;

background:#b22222;

color:white;

margin:0 10px;

text-decoration:none;

transition:.35s;

}

.footer-social a:hover{

transform:translateY(-6px);

}

.copyright{

margin-top:30px;

font-size:14px;

opacity:.8;

}

/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:992px){

.header{

padding:15px 5%;

}

.nav-links{

display:none;

}

.menu-toggle{

display:block;

}

.hero-content h1{

font-size:42px;

}

.hero-content h2{

font-size:26px;

}

.why-us{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.top-bar{

display:none;

}

.header{

top:0;

}

.hero-content h1{

font-size:34px;

}

.hero-content p{

font-size:18px;

}

.hero-buttons{

flex-direction:column;

}

.btn-red,
.btn-blue{

width:100%;

text-align:center;

}

.section-title h2{

font-size:34px;

}

}



/*==============================
MOBILE MENU
==============================*/

@media(max-width:992px){

.nav-links{

position:absolute;

top:100%;

left:0;

width:100%;

background:#071b3b;

display:none;

flex-direction:column;

padding:25px;

text-align:center;

}

.nav-links.active{

display:flex;

}

.nav-links li{

margin:18px 0;

}

}



/* FONDO TRUCK PARTS */

.truck-parts-hero {
    background-image: url("images/truckparts-banner.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}




/*==================================
LOGO + CONTACT
==================================*/

.logo-area{

    display:flex;

    align-items:center;

    gap:20px;

}

.logo{

    height:90px;

    width:auto;

}

.company-contact{

    display:flex;

    flex-direction:column;

    color:white;

    font-size:16px;

    font-weight:600;

    line-height:1.8;

}

.company-contact i{

    color:#b22222;

    margin-right:10px;

}

@media(max-width:768px){

.company-contact{

    display:none;

}

.logo{

    height:70px;

}

}


