/* ================= RESET ================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

body{
background:#f1f5f9;
color:#1e293b;
line-height:1.6;
}

img{
max-width:100%;
display:block;
}

.container{
max-width:1200px;
width:95%;
margin:auto;
}
/* ================= BREADCRUMB ================= */

.breadcrumb{
background:#eef2ff;
padding:14px 0;
font-size:14px;
}

.breadcrumb a{
color:var(--main);
text-decoration:none;
font-weight:600;
}

.breadcrumb span{
color:#64748b;
}

.breadcrumb a:hover{
text-decoration:underline;
}
/* ================= COLOR ================= */

:root{
--main:#1e40af;
--main2:#2563eb;
--light:#f8fafc;
--text:#1e293b;
}

/* ================= HEADER ================= */

.main-header{
background:white;
position:sticky;
top:0;
z-index:999;
box-shadow:0 3px 15px rgba(0,0,0,0.08);
}

.header{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 0;
}

.logo img{
height:55px;
}

/* MENU */
.menu{
display:flex;
align-items:center;
}

.menu a{
text-decoration:none;
color:var(--text);
font-weight:600;
padding:14px 20px;
position:relative;

border-left:1px solid transparent;
border-right:1px solid transparent;

margin-right:-1px;

transition:0.3s;
}

/* hover + active giống code bạn gửi */
.menu a:hover,
.menu a.active{
color:#5a88ca;
background:#fff;
border-left:1px solid #eaeaea;
border-right:1px solid #eaeaea;
}
/* ================= HERO ================= */



/* ================= SECTION ================= */

.section{
padding:80px 0;
}

.title{
text-align:center;
font-size:32px;
font-weight:700;
margin-bottom:50px;
position:relative;
}

.title:after{
content:"";
display:block;
width:60px;
height:4px;
background:var(--main2);
margin:12px auto 0;
border-radius:2px;
}

/* ================= ABOUT ================= */

.about{
background:white;
}

.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.about-text{
background:#dceeff;
padding:40px;
border-radius:10px;
box-shadow:0 10px 25px rgba(0,0,0,0.05);
}

.about-text h2{
font-size:28px;
margin-bottom:15px;
}

.about-text p{
margin-bottom:15px;
color:#475569;
}

.about-text li{
margin-bottom:10px;
}

.about-img img{
border-radius:10px;
box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

/* ================= EQUIPMENT ================= */

.equipment{
background:#f1f5f9;
}

.equipment-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.equipment-item{
background:white;
border-radius:12px;
overflow:hidden;
text-align:center;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
transition:0.3s;
}

.equipment-item:hover{
transform:translateY(-8px);
box-shadow:0 20px 35px rgba(0,0,0,0.15);
}

.equipment-item img{
width:100%;
height:180px;
object-fit:contain;
background:#f1f5f9;
padding:10px;
}

.equipment-item p{
padding:15px;
font-weight:600;
}

/* ================= WHY ================= */

.why-project-grid{
display:grid;
grid-template-columns:1fr 1.2fr;
gap:40px;
}

.title-left{
margin-bottom:35px;
font-size:26px;
}

.why-item{
background:white;
padding:20px;
margin-bottom:15px;
border-left:4px solid var(--main2);
border-radius:8px;
box-shadow:0 5px 15px rgba(0,0,0,0.05);
}

.why-item h4{
color:var(--main);
margin-bottom:8px;
}

/* ================= PROJECT ================= */

.project-slider{
overflow:hidden;
}

.project-track{
display:flex;
gap:20px;
transition:0.4s;
}

.project{
min-width:calc((100% - 20px)/2);
background:white;
border-radius:10px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

.project img{
width:100%;
height:180px;
object-fit:cover;
}

.project p{
padding:12px;
font-weight:600;
}

/* DOTS */

.project-dots{
text-align:center;
margin-top:15px;
}

.project-dots span{
display:inline-block;
width:10px;
height:10px;
background:#cbd5f5;
border-radius:50%;
margin:5px;
cursor:pointer;
}

.project-dots .active{
background:var(--main);
}

/* ================= NEWS ================= */

.news{
background:white;
}

.news-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.news-card{
background:white;
border-radius:14px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
transition:0.3s;
}

.news-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

.news-card img{
width:100%;
height:200px;
object-fit:cover;
}

.news-card h3{
padding:18px;
font-size:18px;
}

.news-card a{
text-decoration:none;
color:#1e293b;
}

.news-card:hover a{
color:var(--main);
}

/* ================= PARTNER ================= */

.partners{
background:#f8fafc;
padding:70px 0;
text-align:center;
}

.partner-grid{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:40px;
margin-top:30px;
}

.partner-grid img{
width:150px;
height:80px;
object-fit:contain;
filter:grayscale(20%);
transition:0.3s;
}

.partner-grid img:hover{
filter:grayscale(0);
transform:scale(1.05);
}

/* ================= CONTACT FLOAT ================= */

.contact-fixed{
position:fixed;
right:20px;
bottom:20px;
display:flex;
flex-direction:column;
gap:12px;
z-index:999;
}

.contact-fixed a{
width:55px;
height:55px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:white;
font-size:22px;
text-decoration:none;
box-shadow:0 5px 15px rgba(0,0,0,0.2);
}

.phone{
background:#22c55e;
}

.messenger{
background:#2563eb;
}

/* ================= FOOTER ================= */

.footer{
background:#020617;
color:#e5e7eb;
padding-top:60px;
margin-top:70px;
}

.footer-grid{
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:40px;
}

.footer-col h3{
margin-bottom:15px;
}

.footer-col p{
font-size:14px;
margin-bottom:8px;
}

.footer-bottom{
margin-top:50px;
border-top:1px solid rgba(255,255,255,0.1);
text-align:center;
padding:20px;
font-size:13px;
color:#94a3b8;
}

/* ================= MAP ================= */

.map-container{
width:100%;
height:200px;
overflow:hidden;
border-radius:10px;
}

.map-container iframe{
width:100%;
height:100%;
border:0;
}

/* ================= RESPONSIVE ================= */

@media(max-width:1000px){

.news-grid{
grid-template-columns:repeat(2,1fr);
}

.equipment-grid{
grid-template-columns:repeat(3,1fr);
}

.why-project-grid{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr;
}

}

@media(max-width:768px){

.hero{
height:360px;
}

.hero-content h1{
font-size:30px;
}

.about-grid{
grid-template-columns:1fr;
}

.equipment-grid{
grid-template-columns:repeat(2,1fr);
}

.news-grid{
grid-template-columns:1fr;
}

.project{
min-width:100%;
}

}

@media(max-width:500px){

.header{
flex-direction:column;
gap:10px;
}

.menu{
gap:15px;
flex-wrap:wrap;
justify-content:center;
}

.hero{
height:300px;
}

.hero-content h1{
font-size:24px;
}

.partner-grid img{
width:110px;
}

.contact-fixed a{
width:45px;
height:45px;
font-size:18px;
}


/* IMAGE ZOOM */

.zoom-img{
cursor:pointer;
transition:0.3s;
}

.zoom-img:hover{
transform:scale(1.05);
}

/* MODAL */

.img-modal{
display:none;
position:fixed;
z-index:9999;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
justify-content:center;
align-items:center;
}

.modal-content{
max-width:90%;
max-height:85%;
border-radius:6px;
box-shadow:0 10px 40px rgba(0,0,0,0.5);
}

.close{
position:absolute;
top:20px;
right:35px;
color:white;
font-size:40px;
cursor:pointer;
}

.hero-slider{
position:relative;
width:100%;
height:600px;
overflow:hidden;
}

.slider-track{
display:flex;
height:100%;
transition:0.5s;
}

.slide{
min-width:100%;
height:600px;
}

.slide img{
width:100%;
height:600px;
object-fit:cover;
}



/* arrows */

.slider-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
background:rgba(0,0,0,0.4);
color:white;
border:none;
font-size:30px;
width:50px;
height:50px;
cursor:pointer;
}

.prev{
left:10px;
}

.next{
right:10px;
}


}