/*
Theme Name: TaxiLado
Theme URI: https://taxilado.com
Author: TaxiLado
Description: Theme WordPress cho dich vu taxi lien tinh va taxi khu vuc TaxiLado. Trang chu la ban tong dai uu tien goi dien, ho tro xoay vong hotline giua nhieu tai xe cung thue chung website, va Custom Post Type Khu vuc de quan ly cac trang khu vuc rieng khong can sua code.
Version: 1.7.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: taxilado
*/

/* ===== TaxiLado — Design tokens ===== */
:root{
  --brand:#D85A30;
  --brand-dark:#B8481F;
  --brand-light:#FAECE7;
  --teal:#0F6E56;
  --teal-dark:#093F32;
  --teal-light:#E1F5EE;
  --navy:#0D2137;
  --ink:#1F2328;
  --gray:#6B7280;
  --gray-light:#F6F5F1;
  --border:#E7E3DA;
  --white:#FFFFFF;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:24px;
  --shadow-sm:0 2px 8px rgba(13,33,55,.06);
  --shadow-md:0 12px 32px rgba(13,33,55,.10);
  --font:'Be Vietnam Pro',-apple-system,Segoe UI,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;}
input,select{font-family:inherit;}

.container{width:100%;max-width:1160px;margin:0 auto;padding:0 24px;}
.section{padding:72px 0;}
.section-tight{padding:48px 0;}
.eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;color:var(--teal-dark);
  background:var(--teal-light);padding:6px 14px;border-radius:30px;
  margin-bottom:18px;
}
.eyebrow.brand{color:var(--brand-dark);background:var(--brand-light);}
h1,h2,h3{font-weight:700;line-height:1.25;color:var(--navy);}
h1{font-size:clamp(28px,4.5vw,44px);}
h2{font-size:clamp(22px,3vw,32px);}
h3{font-size:18px;}
.section-head{max-width:640px;margin:0 auto 40px;text-align:center;}
.section-head p{color:var(--gray);font-size:16px;margin-top:10px;}
.muted{color:var(--gray);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:12px;font-weight:600;font-size:15px;
  border:none;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(216,90,48,.28);}
.btn-primary:hover{background:var(--brand-dark);}
.btn-teal{background:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(15,110,86,.28);}
.btn-teal:hover{background:var(--teal-dark);}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--border);}
.btn-outline:hover{border-color:var(--navy);}
.btn-white{background:#fff;color:var(--teal-dark);}
.btn-white:hover{background:var(--teal-light);}
.btn-block{width:100%;}
.btn-sm{padding:9px 16px;font-size:13px;border-radius:9px;}

/* ===== Header ===== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--navy);}
.logo-mark{
  width:38px;height:38px;border-radius:11px;background:var(--brand);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0;
}
.nav-links{display:flex;align-items:center;gap:32px;font-size:14.5px;font-weight:600;color:var(--gray);}
.nav-links a{transition:color .15s ease;}
.nav-links a:hover,.nav-links a.active{color:var(--brand);}
.nav-links a.active{position:relative;}
.nav-links a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-27px;height:3px;background:var(--brand);border-radius:2px;
}
.nav-right{display:flex;align-items:center;gap:12px;}
.hotline-link{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);font-size:14.5px;}
.hotline-link i{color:var(--brand);}
.nav-toggle{display:none;background:none;border:none;font-size:22px;color:var(--navy);}

@media (max-width:900px){
  .nav-links{
    position:absolute;top:76px;left:0;right:0;background:#fff;
    flex-direction:column;align-items:flex-start;gap:0;
    border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);
    max-height:0;overflow:hidden;transition:max-height .25s ease;
  }
  .nav-links.open{max-height:400px;}
  .nav-links a{width:100%;padding:16px 24px;border-bottom:1px solid var(--gray-light);}
  .nav-links a.active::after{display:none;}
  .nav-toggle{display:block;}
  .hotline-link span{display:none;}
}

/* ===== Hero ===== */
.hero{
  background:linear-gradient(180deg,var(--teal-light) 0%,#fff 65%);
  padding:56px 0 48px;
}
.hero-inner{text-align:center;max-width:720px;margin:0 auto;}
.hero p.lead{font-size:16.5px;color:var(--gray);margin:16px 0 32px;}

/* Booking form */
.booking-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);padding:20px;max-width:820px;margin:0 auto;
}
.booking-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:12px;align-items:end;text-align:left;}
.field label{display:block;font-size:12px;font-weight:600;color:var(--gray);margin-bottom:6px;}
.field select,.field input{
  width:100%;height:44px;border:1px solid var(--border);border-radius:10px;
  padding:0 12px;font-size:14px;color:var(--ink);background:var(--gray-light);
}
.field select:focus,.field input:focus{outline:2px solid var(--brand);outline-offset:1px;}
@media (max-width:900px){
  .booking-grid{grid-template-columns:1fr 1fr;}
  .booking-grid .btn{grid-column:1/-1;}
}

/* Stats */
.stats-bar{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.stat{padding:28px 16px;text-align:center;border-right:1px solid var(--border);}
.stat:last-child{border-right:none;}
.stat .num{font-size:24px;font-weight:700;color:var(--navy);}
.stat .label{font-size:13px;color:var(--gray);margin-top:4px;}
@media (max-width:700px){
  .stats-bar{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;}
}

/* Grid utilities */
.grid{display:grid;gap:20px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr);}.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

/* Cards */
.card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);
  padding:22px;transition:box-shadow .2s ease, transform .2s ease;
}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.icon-tile{
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:19px;margin-bottom:14px;
}
.icon-tile.brand{background:var(--brand-light);color:var(--brand-dark);}
.icon-tile.teal{background:var(--teal-light);color:var(--teal-dark);}
.card h3{margin-bottom:6px;}
.card p{color:var(--gray);font-size:14px;}
.card .price{font-size:14px;margin-top:12px;}
.card .price b{color:var(--navy);font-size:16px;}
.tag{
  display:inline-block;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;
  background:var(--teal-light);color:var(--teal-dark);margin-bottom:10px;
}

/* Service split cards (home) */
.service-card{
  border-radius:var(--radius-lg);padding:32px;color:#fff;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;min-height:220px;
}
.service-card.brand-bg{background:linear-gradient(135deg,var(--brand) 0%,#B8481F 100%);}
.service-card.teal-bg{background:linear-gradient(135deg,var(--teal) 0%,#093F32 100%);}
.service-card h3{color:#fff;font-size:22px;}
.service-card p{color:rgba(255,255,255,.85);margin:8px 0 20px;font-size:14.5px;}
.service-card .go{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#fff;font-size:14px;}

/* Testimonials */
.testimonial{background:var(--gray-light);border-radius:var(--radius-md);padding:22px;}
.testimonial .stars{color:var(--brand);font-size:13px;margin-bottom:10px;}
.testimonial p{font-size:14.5px;color:var(--ink);}
.testimonial .who{margin-top:14px;font-size:13px;font-weight:700;color:var(--navy);}

/* Info banner */
.info-banner{
  display:flex;align-items:center;gap:14px;background:var(--brand-light);
  border-radius:var(--radius-md);padding:16px 20px;color:var(--brand-dark);font-size:14.5px;
}
.info-banner i{font-size:20px;flex-shrink:0;}

/* Disclaimer / miễn trừ trách nhiệm */
.disclaimer-box{
  display:flex;align-items:flex-start;gap:12px;background:var(--gray-light);
  border:1px solid var(--border);border-radius:var(--radius-md);
  padding:16px 20px;color:var(--gray);font-size:13px;line-height:1.65;
}
.disclaimer-box i{font-size:16px;color:var(--brand);flex-shrink:0;margin-top:2px;}
.disclaimer-box strong{color:var(--navy);}

/* CTA band */
.cta-band{
  background:var(--teal-dark);color:#fff;border-radius:var(--radius-lg);
  padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.cta-band h3{color:#fff;font-size:20px;}
.cta-band p{color:rgba(255,255,255,.75);font-size:14px;margin-top:4px;}
.cta-band .actions{display:flex;gap:10px;flex-wrap:wrap;}

/* Pricing table */
.price-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}
.price-table th,.price-table td{padding:14px 16px;text-align:left;font-size:14px;border-bottom:1px solid var(--border);}
.price-table th{background:var(--gray-light);color:var(--navy);font-weight:700;}
.price-table tr:last-child td{border-bottom:none;}

/* Footer */
.site-footer{background:var(--navy);color:rgba(255,255,255,.75);padding:56px 0 24px;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;}
.footer-grid h4{color:#fff;font-size:14px;margin-bottom:16px;}
.footer-grid li{margin-bottom:10px;font-size:14px;}
.footer-grid a:hover{color:#fff;}
.footer-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:17px;margin-bottom:12px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:500px){.footer-grid{grid-template-columns:1fr;}}

/* Mobile sticky CTA */
.mobile-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:#fff;border-top:1px solid var(--border);
  padding:10px 16px;gap:10px;box-shadow:0 -6px 20px rgba(13,33,55,.10);
}
@media (max-width:700px){
  .mobile-cta{display:flex;}
  body{padding-bottom:70px;}
}

/* Page hero band (sub-pages) */
.page-hero{background:var(--teal-light);padding:44px 0 40px;text-align:center;}

/* ===== Tổng đài / Call-first hero ===== */
.callcenter-hero{
  background:linear-gradient(180deg,var(--brand-light) 0%,#fff 70%);
  padding:52px 0 44px;text-align:center;
}
.call-number-btn{
  display:inline-flex;align-items:center;gap:16px;
  background:var(--brand);color:#fff;border-radius:20px;
  padding:20px 36px;margin:20px 0 10px;box-shadow:0 14px 32px rgba(216,90,48,.32);
  animation:pulse-ring 2.2s ease-in-out infinite;
}
.call-number-btn .ico{
  width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;
}
.call-number-btn .txt{text-align:left;}
.call-number-btn .txt small{display:block;font-size:12.5px;font-weight:600;opacity:.85;letter-spacing:.02em;}
.call-number-btn .txt strong{display:block;font-size:clamp(26px,5vw,38px);font-weight:800;letter-spacing:.01em;line-height:1.15;}
@keyframes pulse-ring{
  0%,100%{box-shadow:0 14px 32px rgba(216,90,48,.32);}
  50%{box-shadow:0 14px 32px rgba(216,90,48,.32),0 0 0 10px rgba(216,90,48,.10);}
}
.call-sub{font-size:13.5px;color:var(--gray);}
.call-sub a{color:var(--teal-dark);font-weight:700;text-decoration:underline;}

.area-call-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
.area-call-card{
  background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-md);
  padding:22px 18px;text-align:center;
}
.area-call-card .area-name{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.area-call-card .area-note{font-size:12.5px;color:var(--gray);margin-bottom:14px;}
.area-call-card a.call-mini{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--teal-light);color:var(--teal-dark);font-weight:700;font-size:15px;
  border-radius:12px;padding:12px;
}
@media (max-width:700px){.area-call-grid{grid-template-columns:1fr;}}
