/*
Theme Name: Lê Điền - Giao diện tham chiếu
Theme URI: https://ledien.com.vn/
Author: Lê Điền
Version: 1.1
*/
:root{--green:#08783f;--green2:#006b39;--orange:#ff4b0b;--ink:#183f31;--max:1450px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
a{text-decoration:none;color:inherit}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 12px}

/* HEADER */
.top{background:#fff}
.top-inner{min-height:122px;display:grid;grid-template-columns:370px minmax(0,1fr);align-items:center;gap:18px}
.logo{display:block;width:370px;max-width:100%;height:auto}
.contacts{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:18px}
.contact{min-width:0;display:flex;align-items:center;gap:9px;font-weight:700}
.contact>span:last-child{min-width:0}
.ico{width:42px;height:42px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:22px;flex:none}
.zalo .ico{background:#0869e8}
.contact small{display:block;color:#075d34;font-size:13px;line-height:1.1}
.contact b{display:block;color:var(--orange);font-size:18px;line-height:1.2;white-space:nowrap}
.cta{background:var(--green);color:#fff;padding:14px 20px;border-radius:8px;font-size:16px;font-weight:700;white-space:nowrap;flex:none}

/* MENU + BANNER */
.nav{background:var(--green);color:#fff}
.nav-bar{position:relative}
.nav-inner{min-height:48px;display:flex;justify-content:flex-end;align-items:stretch}
.nav a{padding:14px 22px;font-weight:700;font-size:16px;white-space:nowrap}
.nav a.active{background:var(--orange);border-radius:14px 14px 0 0}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px;padding:8px 12px}
.hero{width:100%;overflow:hidden}
.hero img{display:block;width:100%;height:auto;max-width:100%}

/* FEATURE BAR */
.features{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:10px 0}
.feature{min-width:0;border:1px solid #dbe8e1;border-radius:9px;box-shadow:0 2px 8px #00000012;padding:9px 12px;display:flex;align-items:center;gap:12px;min-height:65px}
.feature .round{width:45px;height:45px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:700;flex:none}
.feature b{display:block;color:var(--green2);font-size:16px;line-height:1.2}
.feature span{display:block;font-size:12px;color:#365b4d;line-height:1.25}

/* MAIN */
.main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}
.section-title{background:var(--green);color:#fff;font-size:25px;font-weight:800;padding:9px 16px;display:flex;justify-content:space-between;align-items:center;line-height:1.1}
.section-title a{font-size:14px;white-space:nowrap}
.fleet{border:1px solid #dceae3;border-radius:0 0 10px 10px;overflow:hidden}
.cars{display:grid;grid-template-columns:1fr 1fr}
.car{min-width:0;display:grid;grid-template-columns:46% minmax(0,54%);padding:12px;gap:12px;border-right:1px solid #ddd}
.car:last-child{border-right:0}
.car img{width:100%;height:178px;object-fit:cover;border-radius:8px;display:block}
.car h3{margin:2px 0 4px;color:var(--green);font-size:22px;line-height:1.1}
.car p{margin:0 0 8px;color:#1e3554;font-size:16px;line-height:1.15}
.specs{font-size:14px;margin-bottom:8px;line-height:1.3}
.price{background:#ffe0d0;color:#ff2f18;font-size:25px;font-weight:800;text-align:center;padding:7px;border-radius:7px;margin-bottom:7px;white-space:nowrap}
.bookbtn{display:block;background:#078345;color:#fff;padding:8px;border-radius:7px;text-align:center;font-weight:700;font-size:16px}

/* BOOKING */
.booking{min-width:0;border:4px solid var(--green);border-radius:12px;padding:8px;height:max-content}
.booking-head{background:var(--green);color:#fff;border-radius:8px;padding:9px;text-align:center}
.booking-head strong{display:block;font-size:25px;line-height:1.15}
.booking-head span{font-size:14px}
.booking form{padding-top:6px}
.booking input,.booking select,.booking textarea{width:100%;max-width:100%;height:38px;border:1px solid #d7e0dc;border-radius:6px;margin:4px 0;padding:7px 10px;font-size:14px;background:#fff}
.booking textarea{height:52px;resize:vertical}
.submit{width:100%;border:0;background:var(--orange);color:#fff;border-radius:7px;padding:13px;font-size:20px;font-weight:800;cursor:pointer;margin-top:5px}
.notice{background:#e9f8f0;color:var(--green);padding:8px;border-radius:6px;font-size:13px;margin:4px 0}

/* ROUTES */
.routes{margin-top:8px}
.route-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:9px;padding:10px 2px}
.route{min-width:0;text-align:center;font-weight:700;color:#222;font-size:14px}
.route img{width:100%;height:76px;object-fit:cover;border-radius:6px;display:block;margin-bottom:4px}
.route span{display:block;font-size:12px;font-weight:400;color:#333}

/* FOOTER */
.footer{margin-top:12px;background:#006437;color:#fff}
.footer-inner{min-height:82px;display:grid;grid-template-columns:1.6fr .8fr .8fr 1fr 1.1fr;gap:18px;align-items:center}
.fitem{min-width:0;display:flex;align-items:center;gap:12px}
.fitem .fi{font-size:28px;flex:none}
.fitem b{display:block}
.fitem span{font-size:14px}

.mobile-actions{display:none}

/* TABLET / SMALL LAPTOP */
@media(max-width:1250px){
 .top-inner{grid-template-columns:320px minmax(0,1fr);gap:12px}
 .logo{width:320px}
 .contacts{gap:10px}
 .ico{width:38px;height:38px;font-size:20px}
 .contact small{font-size:12px}
 .contact b{font-size:16px}
 .cta{padding:12px 15px;font-size:15px}
 .nav a{padding-left:15px;padding-right:15px}
}

@media(max-width:1100px){
 .top-inner{display:flex;min-height:0;height:auto;padding:10px 0;flex-wrap:wrap}
 .logo{width:360px;max-width:100%}
 .contacts{width:100%;justify-content:space-between}
 .main{grid-template-columns:1fr}
 .booking{order:2}
 .features{grid-template-columns:repeat(3,minmax(0,1fr))}
 .route-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
 .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px 0}
 .nav-inner{justify-content:center;overflow:auto}
}

/* PHONE */
@media(max-width:800px){
 .wrap{padding:0 10px}
 .top-inner{display:block;padding:8px 0}
 .logo{display:block;width:300px;max-width:90%;margin:0 auto 8px}
 .contacts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .contact{min-width:0}
 .contact b{font-size:15px;overflow:hidden;text-overflow:ellipsis}
 .contact small{font-size:11px}
 .contact .ico{width:38px;height:38px;font-size:18px}
 .cta{grid-column:1/-1;text-align:center;padding:11px}
 .nav-bar{padding:0}
 .menu-toggle{display:block;margin-left:auto}
 .nav-inner{display:none;position:absolute;z-index:50;left:0;right:0;top:48px;background:var(--green);flex-direction:column;box-shadow:0 8px 18px #0003;overflow:visible}
 .nav-inner.open{display:flex}
 .nav a{padding:14px 18px;border-bottom:1px solid #ffffff22}
 .nav a.active{border-radius:0}
 .features{grid-template-columns:1fr 1fr}
 .main{grid-template-columns:1fr}
 .booking{order:2}
 .cars{grid-template-columns:1fr}
 .car{grid-template-columns:46% minmax(0,54%);border-right:0;border-bottom:1px solid #ddd}
 .route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .section-title{font-size:20px}
 .mobile-actions{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:9999;grid-template-columns:1fr 1fr 1fr;background:var(--green);box-shadow:0 -3px 12px #0003}
 .mobile-actions a{color:#fff;text-align:center;padding:12px 4px;font-weight:800;border-right:1px solid #ffffff33}
 .mobile-actions a:last-child{background:var(--orange)}
 body{padding-bottom:48px}
}

@media(max-width:520px){
 .features{grid-template-columns:1fr}
 .feature{min-height:58px}
 .feature .round{width:40px;height:40px}
 .section-title{font-size:19px}
 .section-title a{font-size:12px}
 .car{grid-template-columns:1fr;padding:10px}
 .car img{height:auto}
 .car h3{font-size:21px}
 .price{font-size:23px}
 .route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .route img{height:85px}
 .footer-inner{grid-template-columns:1fr}
}
