/*
Theme Name: Taxi Vĩnh Phúc
Theme URI: https://taxi-vinh-phuc-0866148123.nguyenminhquang-binb.chatgpt.site
Author: Taxi Vĩnh Phúc
Description: Giao diện landing page đặt xe Taxi Vĩnh Phúc, tối ưu mobile và chuyển đổi cuộc gọi.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: taxi-vinh-phuc
*/
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=swap');
:root{--y:#ffd20a;--ink:#11130f;--cream:#f4f1e9;--muted:#686961}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f5ef;color:var(--ink);font-family:Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.topbar{height:32px;background:#111;color:#ddd;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,24px);font-size:11px;letter-spacing:.07em}.topbar span{color:#aaa}.topbar a{font-weight:700;color:#fff}.header{height:86px;background:#fff;display:flex;align-items:center;padding:0 max(5vw,24px);gap:54px;border-bottom:1px solid #eee;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brandMark{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--y);color:#111;font-weight:900;font-style:italic;letter-spacing:-2px;box-shadow:inset -6px -5px #e2b900}.brand>span:last-child{font-size:17px;font-weight:900;line-height:1}.brand b{color:#d8aa00}.brand small{display:block;font-size:6px;letter-spacing:.16em;margin-top:6px}.nav{display:flex;gap:34px;margin-left:auto}.nav a{font-size:12px;font-weight:700;text-transform:uppercase}.nav a:hover{color:#a98200}.headerCall{background:var(--y);padding:14px 22px;min-width:180px}.headerCall span{font-size:9px;display:block;letter-spacing:.12em}.headerCall strong{font-size:18px}.menuBtn{display:none;border:0;background:transparent;font-size:28px}.hero{min-height:620px;background:#171914;position:relative;overflow:hidden;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#11130f,#171914 55%,#272920)}.hero:after{content:"VĨNH PHÚC";position:absolute;right:-40px;top:45px;font-size:120px;font-weight:900;color:#ffffff07;letter-spacing:-.07em}.heroGlow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,#ffd20a2b,transparent 68%);right:8%;top:10%}.heroContent{position:relative;z-index:3;width:50%;padding:88px 0 72px max(7vw,40px)}.eyebrow,.kicker{font-size:11px;letter-spacing:.16em;font-weight:800;color:#999c93}.eyebrow span{display:inline-block;width:26px;height:2px;background:var(--y);vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(52px,5.5vw,82px);line-height:.93;letter-spacing:-.06em;margin:26px 0}.hero h1 em{color:var(--y);font-style:normal}.heroContent>p{color:#bfc0ba;line-height:1.7;font-size:15px}.heroActions{display:flex;gap:12px;margin:34px 0}.btn{min-height:58px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:.05em}.btnPrimary{background:var(--y);color:#111}.btnPrimary span{display:flex;flex-direction:column;font-size:9px}.btnPrimary b{font-size:16px}.btnOutline{border:1px solid #555}.btnOutline b{font-size:20px;color:var(--y)}.heroProof{display:flex;align-items:center;gap:22px;margin-top:52px}.heroProof div{display:flex;flex-direction:column}.heroProof b{font-size:22px;color:var(--y)}.heroProof span{font-size:9px;color:#92948c}.heroProof i{height:30px;width:1px;background:#444}.road{position:absolute;right:0;bottom:0;width:54%;height:100%;background:linear-gradient(145deg,transparent 35%,#23251f 35% 65%,#30322b 65%);clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}.road:after{content:"";position:absolute;width:130%;height:12px;background:repeating-linear-gradient(90deg,var(--y) 0 80px,transparent 80px 140px);transform:rotate(-20deg);right:-40%;bottom:17%;opacity:.75}.taxiCar{position:absolute;width:470px;height:190px;right:7%;bottom:19%;z-index:2}.carBody{position:absolute;left:30px;right:10px;bottom:35px;height:100px;background:linear-gradient(#ffde28,#edb900);border-radius:70px 45px 18px 18px;box-shadow:0 25px 40px #0009}.carBody:before{content:"";position:absolute;right:-18px;bottom:22px;width:55px;height:35px;background:#e8b700;border-radius:10px}.carBody b{position:absolute;right:72px;top:34px;color:#171914;font-style:italic;font-size:22px}.carBody small{position:absolute;right:70px;top:59px;color:#675000;font-size:8px;letter-spacing:.2em}.carWindow{position:absolute;left:134px;bottom:128px;width:210px;height:70px;background:#56605b;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);border:7px solid var(--y);z-index:1}.wheel{position:absolute;width:68px;height:68px;background:#111;border:10px solid #272923;border-radius:50%;bottom:0;z-index:3;box-shadow:inset 0 0 0 8px #777}.wheel.one{left:76px}.wheel.two{right:55px}.taxiSign{position:absolute;top:-4px;left:215px;background:var(--y);color:#111;padding:7px 18px;border-radius:8px;font-size:11px;font-weight:900}.quickBooking{display:grid;grid-template-columns:.7fr 1.3fr;gap:6vw;padding:58px max(7vw,40px);background:#fff;position:relative;z-index:4}.sectionIntro h2,.section h2{font-size:clamp(36px,4vw,58px);line-height:.97;letter-spacing:-.05em;margin:15px 0 18px}.sectionIntro p,.sectionHead>p,.aboutCopy p,.pricing>div>p{color:var(--muted);line-height:1.7;font-size:14px}.bookingForm{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.bookingForm label{font-size:9px;font-weight:800;letter-spacing:.09em}.bookingForm input,.bookingForm select{width:100%;height:49px;border:0;border-bottom:1px solid #bbb;background:transparent;outline:none;font-size:13px}.bookingForm input:focus,.bookingForm select:focus{border-bottom-color:#c79b00}.submitBtn{height:52px;background:var(--y);border:0;font-size:11px;font-weight:900;letter-spacing:.07em;align-self:end}.submitBtn span{font-size:18px;margin-left:16px}.section{padding:100px max(7vw,40px)}.services{background:var(--cream)}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.sectionHead>p{max-width:390px}.serviceGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d6d1c5}.serviceCard{background:#f8f6f0;padding:28px;min-height:330px;position:relative;transition:.25s}.serviceCard:hover{background:#fff;transform:translateY(-5px)}.serviceNum{position:absolute;right:22px;top:20px;font-size:10px;color:#aaa}.serviceIcon{font-size:38px;margin:38px 0 34px;filter:grayscale(1)}.serviceCard h3{font-size:19px}.serviceCard p{font-size:13px;color:#73736d;line-height:1.6;min-height:62px}.serviceCard a,.textLink{font-size:10px;font-weight:900;letter-spacing:.08em;border-bottom:2px solid var(--y);padding-bottom:6px}.serviceCard a span{float:right;font-size:16px}.about{display:grid;grid-template-columns:1.05fr .95fr;padding-top:0;padding-bottom:0;background:#fff}.aboutVisual{height:610px;background:#22251f;position:relative;overflow:hidden}.aboutVisual:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 0 49%,#ffd20ab3 49% 51%,transparent 51%),radial-gradient(circle at 70% 25%,#42473e,transparent 35%)}.city{position:absolute;bottom:0;width:100%;height:60%;background:linear-gradient(105deg,#2a2d27 40%,#151712 40%);clip-path:polygon(0 25%,15% 35%,22% 10%,35% 45%,50% 0,60% 35%,72% 12%,84% 42%,100% 18%,100% 100%,0 100%)}.aboutBadge{position:absolute;right:0;bottom:0;background:var(--y);padding:22px 28px;display:flex;gap:12px;align-items:center}.aboutBadge b{font-size:28px}.aboutBadge span{font-size:8px;font-weight:800}.aboutCopy{padding:85px 7vw}.aboutCopy h2{font-size:clamp(42px,4.5vw,64px)}.aboutCopy p{max-width:500px}.textLink{display:inline-block;margin-top:25px}.textLink span{margin-left:20px}.why{background:#151712;color:#fff}.why .sectionHead{border-bottom:1px solid #393b35;padding-bottom:30px}.reasonGrid{display:grid;grid-template-columns:repeat(4,1fr)}.reasonGrid article{border-right:1px solid #393b35;padding:8px 30px 10px 0;margin-right:30px}.reasonGrid article:last-child{border:0}.reasonGrid span{color:var(--y);font-size:10px}.reasonGrid h3{font-size:18px;margin-top:45px}.reasonGrid p{color:#999c94;line-height:1.6;font-size:13px}.pricing{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:var(--cream)}.pricing>div>p{max-width:410px;margin-bottom:30px}.btnDark{background:#171914;color:#fff}.priceTable{background:#fff;padding:12px 38px}.priceTable>div{display:grid;grid-template-columns:1fr 1fr;padding:22px 0;border-bottom:1px solid #dedbd3;font-size:13px}.priceTable>div span{text-align:right;color:#666}.priceTable .priceHeader{font-size:9px;font-weight:800;color:#888}.priceTable small{display:block;color:#92928c;padding:18px 0}.cta{text-align:center;background:var(--y);padding:80px 20px}.cta>span{font-size:10px;font-weight:900;letter-spacing:.14em}.cta h2{font-size:clamp(42px,6vw,78px);letter-spacing:-.06em;margin:14px 0 8px}.cta p{font-size:13px}.ctaBtn{background:#111;color:#fff;font-size:18px;margin-top:25px;min-width:235px}footer{background:#11130f;color:#fff;padding:70px max(7vw,40px) 28px}.footerTop{display:grid;grid-template-columns:1.6fr .7fr .8fr 1fr;gap:50px}.footerTop>div:first-child>p{max-width:280px}.footerTop h3{font-size:9px;letter-spacing:.13em;color:#85877e;margin-bottom:22px}.footerTop a:not(.brand){display:block;font-size:12px;color:#c1c2bc;margin:12px 0}.footerTop p{font-size:12px;color:#8c8e86;line-height:1.7}.footerTop .footerPhone{font-size:22px!important;font-weight:800;color:var(--y)!important}.legal{margin-top:50px;border-block:1px solid #333;padding:18px 0;display:flex;justify-content:space-between;gap:20px}.legal p{font-size:10px;color:#888}.legal b{color:#bbb}.copyright{padding-top:24px;font-size:9px;color:#666;display:flex;justify-content:space-between}.mobileSticky{display:none}.shake{animation:pulse 2.8s infinite}@keyframes pulse{0%,75%,100%{transform:translateX(0)}80%{transform:translateX(-3px) rotate(-1deg)}85%{transform:translateX(3px) rotate(1deg)}90%{transform:translateX(-2px)}95%{transform:translateX(2px)}}
@media(max-width:900px){body{padding-bottom:68px}.topbar{display:none}.header{height:70px;padding:0 18px}.brand>span:last-child{font-size:14px}.brandMark{width:38px;height:38px}.menuBtn{display:block;margin-left:auto}.headerCall{display:none}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:18px;box-shadow:0 10px 30px #0002;flex-direction:column;gap:20px}.nav.open{display:flex}.hero{min-height:660px}.heroContent{width:100%;padding:58px 22px 260px}.hero h1{font-size:55px}.heroContent>p br{display:none}.heroActions{flex-direction:column;max-width:340px}.btnOutline{background:#222}.heroProof{gap:14px;margin-top:30px}.road{width:100%;height:280px;clip-path:none}.taxiCar{transform:scale(.62);transform-origin:right bottom;right:5%;bottom:15%}.quickBooking{grid-template-columns:1fr;padding:55px 22px;gap:30px}.bookingForm{grid-template-columns:1fr}.section{padding:70px 22px}.sectionHead{display:block}.serviceGrid{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr;padding:0}.aboutVisual{height:380px}.aboutCopy{padding:65px 22px}.reasonGrid{grid-template-columns:1fr 1fr;gap:35px}.pricing{grid-template-columns:1fr;gap:40px}.footerTop{grid-template-columns:1fr 1fr}.legal{display:block}.mobileSticky{position:fixed;display:grid;grid-template-columns:1.3fr .7fr;left:0;right:0;bottom:0;height:68px;z-index:50;box-shadow:0 -5px 20px #0003}.stickyCall,.stickyBook{display:flex;align-items:center;justify-content:center;font-weight:900}.stickyCall{background:var(--y);font-size:20px;gap:10px}.stickyCall span{display:flex;flex-direction:column}.stickyCall small{font-size:8px}.stickyBook{background:#151712;color:#fff;font-size:11px}.stickyBook b{color:var(--y);font-size:18px;margin-left:10px}}
@media(max-width:560px){.hero h1{font-size:48px}.heroProof b{font-size:18px}.heroProof span{font-size:7px}.serviceGrid,.reasonGrid,.footerTop{grid-template-columns:1fr}.serviceCard{min-height:260px}.serviceIcon{margin:25px 0}.reasonGrid article{border-right:0;border-bottom:1px solid #393b35;padding-bottom:25px}.priceTable{padding:8px 18px}.copyright{display:block}.copyright span{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.shake{animation:none}}
:root{--font-be-vietnam:'Be Vietnam Pro'}.admin-bar .header{top:32px}@media(max-width:782px){.admin-bar .header{top:46px}}

/* 2026 visual refresh: Vietnamese typography, uploaded brand avatar and real imagery */
body{font-family:var(--font-be-vietnam),"Segoe UI",Arial,sans-serif;font-weight:400;letter-spacing:-.012em}
h1,h2,h3,strong,b{font-family:var(--font-be-vietnam),"Segoe UI",Arial,sans-serif}
.brandAvatar{width:50px;height:50px;border-radius:50%;object-fit:cover;object-position:center;background:#fff;border:2px solid var(--y);box-shadow:0 4px 16px #0002;flex:none}
.footerBrand .brandAvatar{border-color:#b98b20}
.hero:before{z-index:1;background:linear-gradient(90deg,#0b0d0beF 0%,#10120ee3 35%,#11130f80 63%,transparent 82%)}
.hero:after{z-index:2}
.heroPhoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.heroContent{width:56%}
.hero h1{font-weight:900;letter-spacing:-.055em}
.eyebrow,.kicker,.nav a,.btn,.submitBtn{letter-spacing:.08em}
.serviceCard{padding:0 24px 26px;overflow:hidden}
.servicePhoto{height:145px;margin:0 -24px 28px;position:relative;overflow:hidden;background:#222}
.servicePhoto img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.servicePhoto:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#1119)}
.servicePhoto span{position:absolute;left:18px;bottom:12px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--y);font-size:20px;filter:grayscale(1)}
.serviceCard:hover .servicePhoto img{transform:scale(1.06)}
.servicePhoto2 img{object-position:65% center}.servicePhoto3 img{object-position:80% center}.servicePhoto4 img{object-position:45% center}
.serviceNum{top:160px}
.aboutVisual{background:#f5f2eb;display:grid;place-items:center;padding:36px}
.aboutVisual:before,.city{display:none}
.aboutVisual>img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 30px #2b210f26)}

@media(max-width:900px){.brandAvatar{width:42px;height:42px}.hero:before{background:linear-gradient(180deg,#10120fe8 0%,#11130fc7 55%,#11130f3b 82%,transparent)}.heroPhoto{object-position:65% center}.heroContent{width:100%;padding-bottom:210px}.serviceCard{min-height:340px}.aboutVisual{padding:20px}}
@media(max-width:560px){.brand>span:last-child{font-size:12px}.brandAvatar{width:40px;height:40px}.heroPhoto{object-position:70% center}.heroContent{padding-bottom:190px}.serviceCard{min-height:320px}}
.aboutVisual{padding:0;display:block;background:#1b211b}
.aboutVisual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,#10130dcc 100%);pointer-events:none}
.aboutVisual>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.placeLabel{position:absolute;left:34px;bottom:28px;z-index:2;color:#fff;display:flex;flex-direction:column;text-shadow:0 2px 12px #0008}
.placeLabel span{font-size:9px;font-weight:700;letter-spacing:.15em;color:#e7d88d}.placeLabel b{font-size:27px;letter-spacing:.04em}
.aboutBadge{z-index:3}
@media(max-width:560px){.placeLabel{left:22px;bottom:22px}.placeLabel b{font-size:22px}}
