/*
Theme Name: Luyện Hùng
Description: Website nhà xe Luyện Hùng, chỉnh nội dung bằng WordPress và màu sắc bằng Tùy biến.
Version: 1.3.3
Requires at least: 6.5
Requires PHP: 8.0
Author: Luyện Hùng
License: GPL-2.0-or-later
Text Domain: luyen-hung
*/

:root{--green:#101D36;--ink:#101D36;--orange:#D9A66B;--muted:#68758B;--line:#E0E5ED}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;color:var(--ink);font-family:'Be Vietnam Pro',Arial,sans-serif;font-size:14px;background:#fff}button,input,select{font:inherit}button,a,summary{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #eb9f41;outline-offset:3px}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.topbar{background:var(--green);color:#DBE2ED;font-size:11px;padding:10px 0}.topbar .wrap{display:flex;justify-content:space-between}header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:800;letter-spacing:.4px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:6px;font-weight:500}.brandicon{position:relative;font-style:italic;font-size:26px;letter-spacing:-3px;background:var(--green);color:#fff;padding:11px 13px;border-radius:13px 2px 13px 2px}.brandicon span{color:#D9A66B;font-size:17px;margin-left:2px}nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}.textbutton{border:0;background:transparent;padding:0;font-weight:600}nav .active{color:var(--green);position:relative}nav .active:after{content:'';position:absolute;width:20px;height:3px;background:var(--orange);left:0;bottom:-14px}.navcta{border:1px solid var(--green);border-radius:6px;padding:13px 17px;font-weight:600;font-size:12px;display:inline-block}.hero{background:#F3F5F8;overflow:hidden}.herogrid{display:grid;grid-template-columns:46% 54%;height:455px;align-items:center;position:relative}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green)}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:6px}h1{font-size:48px;line-height:1.25;letter-spacing:-2px;margin:24px 0 20px;font-weight:800}h1 em{font-style:normal;color:var(--green)}.herocopy{z-index:1;padding-bottom:35px}.herocopy p{font-size:14px;line-height:1.9;color:#68758B}.herolink{display:inline-flex;align-items:center;gap:23px;font-size:12px;font-weight:600;margin-top:15px}.herolink span{border:1px solid #BBC6D6;border-radius:50%;padding:7px 10px}.scene{width:760px;margin-left:-90px;margin-top:10px;position:relative}.scene svg{width:100%}.scenelabel{position:absolute;top:18px;right:100px;font-size:8px;letter-spacing:2px;color:#546780;border-left:2px solid var(--orange);padding-left:12px}.scenelabel b{display:block;font-size:12px;letter-spacing:0;margin-top:6px}.searchbox{position:relative;margin-top:-43px;background:white;border:1px solid var(--line);border-radius:12px;padding:23px 27px;box-shadow:0 14px 35px #193c3310}.searchtop{display:flex;align-items:center;gap:13px;margin-bottom:20px}.searchtop strong{font-size:17px}.demo{font-size:8px;font-weight:700;letter-spacing:1px;background:#fff2e7;color:#a55226;padding:6px 8px;border-radius:4px}.oneway{margin-left:auto;font-size:12px;color:var(--green)}.searchfields{display:grid;grid-template-columns:1fr 27px 1fr 1fr .9fr 1.2fr;align-items:center;gap:12px}.searchfields label{border:1px solid var(--line);padding:11px 12px;border-radius:6px;min-width:0}.searchfields label>span{font-size:8px;letter-spacing:1px;font-weight:700;color:var(--muted);display:block;margin-bottom:9px}select,input{max-width:100%;border:0;color:var(--ink);background:white;outline-offset:1px}select{cursor:pointer}input[type=date]{width:100%}.searchfields select{width:100%;font-weight:600;font-size:12px}.swap{border:1px solid var(--line);background:white;width:29px;height:29px;border-radius:50%;font-size:18px}.primary{background:var(--orange);border:0;border-radius:6px;color:white;font-weight:700;padding:16px 20px;min-height:50px}.searchfields .primary{height:65px;font-size:12px}.searchfoot{display:flex;justify-content:space-between;color:#68758B;font-size:10px;margin-top:17px}.searchfoot small{font-size:9px}.error{color:#b43a28;font-size:12px}.error:empty{display:none}.sectionhead{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:27px}h2{font-size:28px;letter-spacing:-.8px;line-height:1.4;margin:10px 0 0}.routes{padding:68px 0}.muted{color:var(--muted);font-size:11px}.routegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.routecard{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;text-align:left;padding:0;transition:transform .2s,box-shadow .2s}.routecard:hover{transform:translateY(-5px);box-shadow:0 15px 25px #13392e12}.landscape{height:186px;position:relative;overflow:hidden}.landscape>span{position:absolute;top:17px;left:20px;z-index:2;color:#fff;font-size:8px;letter-spacing:2px}.landscape>b{position:absolute;bottom:20px;left:22px;font-size:32px;color:#fff;z-index:2;font-weight:700;letter-spacing:-1px;text-shadow:0 2px 15px #1237}.sonla{background:linear-gradient(130deg,#bbd2c3,#ecdbb1)}.mountain{position:absolute;border-radius:50% 0 0 0;transform:rotate(35deg);height:210px;width:240px;top:75px;background:#547d6b;left:-60px}.m2{background:#769a7d;left:165px;top:40px}.m3{background:#315e4c;left:60px;top:130px}.hanoi{background:linear-gradient(#a7bbb6,#edceab)}.skyline{position:absolute;bottom:-30px;letter-spacing:-19px;font-size:123px;color:#587168;white-space:nowrap;transform:scaleY(1.4)}.mocchau{background:linear-gradient(#bbcdb5,#dfdfb6)}.teahill{position:absolute;width:150%;height:200px;top:75px;left:-15%;border-radius:50%;transform:rotate(-12deg);background:repeating-radial-gradient(ellipse at bottom,#73905c 0 9px,#486a44 10px 19px,#92a473 20px 24px)}.routeinfo{padding:20px}.routeinfo h3{font-size:17px;margin:0 0 12px}.routeinfo h3 span{font-weight:400;color:#96a59a;margin:0 7px}.routeinfo p{font-size:11px;color:var(--muted)}.routeinfo>div{display:flex;border-top:1px solid var(--line);padding-top:15px;margin-top:20px;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted)}.routeinfo strong{display:block;color:var(--green);font-size:19px;margin-top:6px}.routeinfo i{font-style:normal;border:1px solid var(--line);border-radius:50%;padding:9px 12px;color:var(--green);font-size:17px}.experience{background:#F3F5F8;padding:57px 0}.expgrid{display:grid;grid-template-columns:1fr 1.2fr;gap:95px}.expgrid h2{font-size:33px}.expgrid>div>p{font-size:12px;line-height:1.9;color:var(--muted);max-width:330px;margin:20px 0 25px}.features{display:grid;grid-template-columns:1fr 1fr;gap:25px 37px}.features article>span{font-size:12px;color:#a16f40;border-bottom:1px solid #c8d3c6;display:block;padding-bottom:10px}.features h3{font-size:15px}.features p{font-size:11px;line-height:1.8;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding:65px 0}details{border-bottom:1px solid var(--line);padding:19px 0}summary{font-size:13px;font-weight:600}details p{font-size:12px;line-height:1.8;color:var(--muted)}footer{background:#101D36;color:#F3F5F8;padding:35px 0 20px}.footerrow{display:flex;align-items:center;justify-content:space-between;gap:20px}.footerrow>span,.footerrow>a:last-child{font-size:12px}.fineprint{border-top:1px solid #ffffff20;padding-top:20px;margin-top:28px;font-size:9px;line-height:1.8;color:#AEBBD0}.results{padding-top:45px}.results[hidden]{display:none}.sectionhead label{font-size:11px}.trip{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:25px;border:1px solid var(--line);padding:25px;border-radius:9px;margin-bottom:15px;align-items:center}.trip h3{margin:7px 0 12px;font-size:17px}.trip small{color:var(--muted)}.triptime{font-size:24px;font-weight:700}.triptime span{font-size:12px;color:#a4b3a9;margin:0 13px}.tripprice{text-align:right}.tripprice b{font-size:21px;display:block;margin-bottom:12px}.tripprice button{padding:10px 24px;min-height:40px}.tag{font-size:9px;color:var(--green);background:#F3F5F8;padding:5px 8px;border-radius:3px}dialog{border:0;border-radius:16px;width:min(840px,calc(100% - 28px));max-height:90vh;padding:0;box-shadow:0 30px 100px #102f3350}dialog::backdrop{background:#0b292caf;backdrop-filter:blur(4px)}.dialoghead{position:sticky;top:0;background:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 25px;font-weight:700;z-index:3}.dialoghead button{font-size:26px;border:0;background:#F3F5F8;border-radius:50%;width:34px;height:34px}#dialogbody{padding:25px}.seatlayout{display:grid;grid-template-columns:1fr 1fr;gap:30px}.seatgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#F3F5F8;padding:18px;border-radius:16px;border-top:5px solid #bbcec3}.seat{height:46px;border:1px solid #b6cdbf;background:white;border-radius:7px 7px 11px 11px;font-size:12px;border-bottom-width:5px}.seat.selected{background:var(--green);color:#fff;border-color:var(--green)}.seat:disabled{background:#dfe4df;color:#9ba79d;border-color:#d7dfd8;cursor:not-allowed}.legend{display:flex;gap:14px;font-size:10px;margin:18px 0;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;border:1px solid #b6cdbf;border-radius:3px;margin-right:5px}.legend .green{background:var(--green)}.legend .gray{background:#dfe4df}.seatfooter{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:20px;gap:15px}.seatfooter p{font-size:12px}.checkout{display:grid;grid-template-columns:1.15fr 1fr;gap:25px}.formstack label{display:block;font-size:12px;margin:15px 0}.formstack input,.formstack select{display:block;width:100%;padding:13px;border:1px solid #cbd8cd;border-radius:5px;margin-top:8px}.formstack .primary{width:100%;margin-top:15px}.summarybox{padding:22px;background:#F3F5F8;border-radius:8px;font-size:12px;line-height:1.9}.summarybox strong{font-size:18px}.notice{font-size:11px;line-height:1.8;padding:13px;background:#fff2e6;color:#91542a;border-radius:5px}.success{text-align:center;padding:10px}.successmark{display:inline-grid;place-items:center;width:55px;height:55px;background:#E6EDF8;color:var(--green);border-radius:50%;font-size:26px}.ticket{margin:20px auto;padding:20px;border:1px dashed #97b6a2;max-width:470px;text-align:left;border-radius:8px;line-height:1.9}.ticket strong{color:var(--green);font-size:24px}.secondary{border:1px solid var(--line);background:white;border-radius:5px;padding:12px 18px;margin:6px}.lookupform{max-width:420px;margin:auto}.tripline{font-size:12px;line-height:1.8;color:var(--muted)}
@media(min-width:1500px){.herogrid{height:495px}.scene{width:830px}}@media(max-width:1000px){nav{gap:15px}.brand{font-size:17px}.searchfields{grid-template-columns:1fr 25px 1fr 1fr}.searchfields label:nth-of-type(4){grid-column:1/3}.searchfields>.primary{grid-column:3/5;height:58px}.hero h1{font-size:39px}.scene{width:650px;margin-left:-75px}.expgrid{gap:40px}.herogrid{height:430px}.searchfoot{gap:15px}.routeinfo h3{font-size:14px}}@media(max-width:700px){.wrap{width:calc(100% - 32px)}.topbar{font-size:9px}.topbar .wrap span:last-child{display:none}header{height:auto;min-height:80px;flex-wrap:wrap;gap:18px;padding:18px 0}.brand{font-size:17px}.brand small{font-size:6px}.brandicon{font-size:22px}.navcta{padding:11px;font-size:10px}nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;font-size:10px}.textbutton{font-size:10px}nav .active:after{bottom:-7px}.herogrid{display:block;height:535px}.herocopy{padding-top:35px}.eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:37px!important;margin:18px 0 12px;letter-spacing:-1.5px}.herocopy p{font-size:12px;margin:0}.herolink{display:none}.scene{position:absolute;bottom:10px;left:50%;margin:0;transform:translateX(-50%);width:520px;max-width:150%}.scenelabel{display:none}.searchbox{margin-top:-30px;padding:20px 15px}.searchtop strong{font-size:14px}.searchtop{gap:8px}.demo{font-size:6px}.oneway{font-size:9px}.searchfields{grid-template-columns:1fr 22px 1fr;gap:9px}.searchfields label:nth-of-type(3){grid-column:1/3}.searchfields label:nth-of-type(4){grid-column:3}.searchfields>.primary{grid-column:1/4;height:49px}.searchfields select{font-size:11px}.searchfields label{padding:10px}.searchfoot{display:block;line-height:1.7}.searchfoot small{display:block;margin-top:7px}.sectionhead{align-items:start}.sectionhead>.muted{display:none}h2{font-size:23px}.routes{padding:40px 0}.routegrid{grid-template-columns:1fr;gap:18px}.routecard{display:grid;grid-template-columns:39% 61%}.landscape{height:100%}.landscape>b{font-size:23px;left:15px}.landscape>span{font-size:6px;left:13px}.routeinfo{padding:17px}.routeinfo h3{font-size:14px}.routeinfo p{font-size:9px}.routeinfo>div{margin-top:12px;padding-top:12px}.routeinfo strong{font-size:17px}.expgrid{grid-template-columns:1fr;gap:28px}.experience{padding:35px 0}.expgrid h2{font-size:28px}.features{gap:16px}.features h3{font-size:13px}.features p{font-size:10px}.faq{grid-template-columns:1fr;gap:14px;padding:40px 0}.footerrow{flex-wrap:wrap}.footerrow>span{font-size:10px}.footerrow>a:last-child{font-size:10px}.trip{grid-template-columns:1fr 1fr;gap:15px;padding:18px}.trip>div:nth-child(2){grid-column:1/3;grid-row:2}.tripprice{grid-column:2;grid-row:1}.trip h3{font-size:13px}.tripprice b{font-size:17px}.tripprice button{font-size:11px;padding:8px 14px}.results .sectionhead{display:block}.results .sectionhead>label{display:block;margin-top:15px}#dialogbody{padding:18px}.seatlayout{gap:16px}.seatgrid{padding:12px;gap:8px}.seatfooter{align-items:end}.seatfooter .primary{font-size:11px;padding:12px}.checkout{grid-template-columns:1fr}.summarybox{order:-1}.dialoghead{font-size:13px;padding:16px}.legend{font-size:9px;gap:8px}}

/* Luyện Hùng brand palette */
header.wrap{width:100%;padding-left:max(32px,calc((100% - 1180px)/2));padding-right:max(32px,calc((100% - 1180px)/2));background:#101D36;color:white}.topbar{background:#0b1427;color:#aebbd0}header nav .active{color:#D9A66B}header .navcta{border-color:#D9A66B;color:#D9A66B}.brandicon{border:1px solid #D9A66B;color:#D9A66B}.primary{background:#2457A7}.primary:hover{background:#1b4589}.primary:disabled{opacity:.5;cursor:not-allowed}.navcta{border-color:#2457A7;color:#2457A7}.seat.selected{background:#2457A7;border-color:#2457A7}.legend .green{background:#2457A7}.scenelabel{color:#546780}.scene svg{filter:none}.features article>span{color:#916432}.searchbox{box-shadow:0 14px 35px #101d3610}.demo{background:#f8eddf;color:#80572c}.notice{background:#f8f0e5;color:#75502d}.searchfields .primary{background:#2457A7}.faq{background:#fff}footer .brandicon{background:#101D36}@media(max-width:700px){header.wrap{padding:16px}.topbar .wrap{width:calc(100% - 32px)}}

/* Supplied LH emblem: preserve original artwork and proportions. */
header.wrap{height:142px}.brand-image{display:block;flex-shrink:0;line-height:0}.brand-image img{display:block;width:160px;height:132px;object-fit:contain}.footerrow .brand-image img{width:190px;height:164px}@media(max-width:700px){header.wrap{height:auto;min-height:142px;padding-top:6px;padding-bottom:16px;gap:6px 18px}.brand-image img{width:138px;height:114px}.footerrow .brand-image img{width:165px;height:145px}header nav{margin-top:0}}

/* Three requested transport services */
.service-shortcuts{display:flex;gap:26px;align-items:center;border-bottom:1px solid var(--line);margin:-3px 0 22px;padding-bottom:15px;font-size:12px;font-weight:600}.service-shortcuts a{color:#68758B;position:relative}.service-shortcuts .current{color:#2457A7}.service-shortcuts .current:after{content:"";position:absolute;bottom:-16px;left:0;right:0;height:3px;background:#2457A7}.services{padding-top:62px}.service-hotline{font-size:10px;text-align:right;color:#68758B;line-height:1.8}.service-hotline b{display:block;color:#2457A7;font-size:17px}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.servicecard{border:1px solid #E0E5ED;border-radius:10px;padding:25px;background:#fff;display:flex;flex-direction:column;scroll-margin-top:24px}.servicecardtop{display:flex;justify-content:space-between;align-items:center;gap:10px}.servicecardtop>span:last-child{font-size:8px;letter-spacing:1.3px;font-weight:700;color:#68758B}.serviceicon{width:45px;height:45px;padding:10px;background:#F3F5F8;border-radius:9px;color:#101D36}.serviceicon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.servicecard h3{font-size:19px;line-height:1.5;margin:22px 0 10px;letter-spacing:-.4px}.servicecard>p{font-size:12px;line-height:1.9;color:#68758B;margin:0;min-height:68px}.servicecard ul{padding:15px 0 20px;list-style:none;margin:0;font-size:11px;line-height:2.4;color:#526078}.servicecard li:before{content:"✓";color:#A9773E;padding-right:9px}.serviceaction{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #E0E5ED;padding-top:18px;font-weight:600;color:#2457A7;font-size:12px}.serviceaction span{font-size:20px}.featured-service{background:#101D36;border-color:#101D36;color:#fff;border-top:3px solid #D9A66B;padding-top:23px}.featured-service .serviceicon{background:#25334C;color:#D9A66B}.featured-service .servicecardtop>span:last-child,.featured-service>p,.featured-service ul{color:#C5CEDD}.featured-service .serviceaction{color:#D9A66B;border-top-color:#344059}.featured-service li:before{color:#D9A66B}.footer-services{display:flex;flex-direction:column;gap:12px;font-size:11px}.footer-services a:last-child{color:#D9A66B}@media(max-width:1000px){header nav{gap:17px}.servicecard{padding:20px}.servicecard h3{font-size:17px}.servicecardtop>span:last-child{font-size:7px}}@media(max-width:700px){header nav{gap:8px;font-size:9px}.service-shortcuts{gap:18px;font-size:10px}.services{padding-top:38px}.services .sectionhead{gap:12px}.services h2{font-size:21px;max-width:220px}.service-hotline{font-size:8px;min-width:111px}.service-hotline b{font-size:12px}.servicegrid{grid-template-columns:1fr;gap:15px}.servicecard{padding:22px}.servicecard>p{min-height:0}.servicecard h3{font-size:20px;margin-top:18px}.servicecard ul{padding:12px 0 17px}.servicecardtop>span:last-child{font-size:9px}.footer-services{font-size:10px;line-height:1.7}}

.floating-contact{position:fixed;right:20px;bottom:26px;display:flex;flex-direction:column;gap:12px;z-index:15}.floating-contact>a{width:54px;height:54px;display:grid;place-items:center;position:relative;border-radius:50%;box-shadow:0 6px 20px #101d3630;border:2px solid white;transition:transform .2s}.floating-contact>a:hover{transform:translateY(-3px)}.contact-zalo{background:#0866df}.zalo-bubble{display:grid;place-items:center;width:39px;height:30px;border-radius:50%;background:#fff;color:#0866df;font-size:12px;font-weight:800;position:relative}.zalo-bubble:after{content:"";position:absolute;bottom:-2px;left:6px;border-top:8px solid white;border-right:7px solid transparent;transform:rotate(12deg)}.contact-phone{background:#2457A7}.contact-phone svg{width:27px;height:27px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linejoin:round}.contact-tooltip{position:absolute;right:64px;white-space:nowrap;padding:8px 12px;background:#101D36;color:#fff;border-radius:5px;font-size:11px;opacity:0;pointer-events:none;transition:opacity .2s}.floating-contact a:hover .contact-tooltip,.floating-contact a:focus-visible .contact-tooltip{opacity:1}.article-hero{background:#F3F5F8;padding:24px 0 54px;border-bottom:1px solid #E0E5ED}.breadcrumbs{display:flex;justify-content:start!important;gap:12px;font-size:11px;font-weight:400;color:#68758B;margin-bottom:42px;border:0!important;padding:0!important}.article-hero h1{font-size:44px;max-width:850px;line-height:1.35;letter-spacing:-1.4px}.article-hero>.wrap>p{max-width:650px;line-height:1.9;color:#68758B;font-size:14px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:78px;padding:50px 0 70px}.article-content section{margin-bottom:38px;scroll-margin-top:25px}.article-content h2{font-size:25px;letter-spacing:-.6px;margin-bottom:16px}.article-content p,.article-content li{font-size:14px;line-height:1.95;color:#526078}.article-content ul,.article-content ol{padding-left:21px}.article-content li{padding-left:6px;margin-bottom:13px}.article-toc{background:#F3F5F8;border:1px solid #E0E5ED;border-radius:10px;padding:25px;position:sticky;top:24px}.article-toc>a:not(.article-phone){display:block;font-size:12px;line-height:1.7;padding:12px 0;border-bottom:1px solid #E0E5ED}.article-toc hr{border:0;margin:18px 0}.article-toc p{font-size:11px;color:#68758B}.article-phone{font-size:22px;color:#2457A7;font-weight:700}.article-toc small{display:block;margin-top:15px;font-size:10px;line-height:1.8;color:#68758B}.article-cta{background:#F3F5F8;border-left:3px solid #D9A66B;padding:28px;border-radius:0 8px 8px 0;margin-top:40px}.article-cta h2{font-size:23px}.article-cta .primary{display:inline-flex;align-items:center;font-size:12px}.article-cta .secondary{display:inline-block;font-size:12px}.article-related{display:block;margin-top:25px;color:#2457A7;font-size:12px;font-weight:600}.servicecard h3{cursor:default}@media(max-width:1000px){.article-layout{gap:35px;grid-template-columns:minmax(0,1fr) 245px}}@media(max-width:700px){.floating-contact{right:12px;bottom:18px;gap:10px}.floating-contact>a{width:47px;height:47px}.zalo-bubble{width:34px;height:27px;font-size:11px}.article-hero{padding:20px 0 32px}.breadcrumbs{margin-bottom:28px;font-size:10px;gap:8px}.article-hero h1{font-size:31px!important;line-height:1.4}.article-hero>.wrap>p{font-size:12px}.article-layout{grid-template-columns:1fr;gap:30px;padding:30px 0 45px}.article-sidebar{grid-row:1}.article-toc{position:static;padding:20px}.article-toc>a:not(.article-phone){padding:8px 0;font-size:11px}.article-toc p,.article-toc .article-phone,.article-toc small,.article-toc hr{display:none}.article-content h2{font-size:22px}.article-content p,.article-content li{font-size:13px}.article-cta{padding:20px}.article-cta .secondary{margin:10px 0 0}.article-cta>div:last-child{display:flex;flex-direction:column;align-items:start}footer .fineprint{padding-right:50px}}

:root{--lh-navy:#101D36;--lh-action:#2457A7;--lh-gold:#D9A66B;--lh-surface:#F3F5F8}body{font-family:Arial,sans-serif;color:var(--lh-navy)}header.wrap,footer,.featured-service{background:var(--lh-navy)}.primary,.contact-phone{background:var(--lh-action)}.hero,.experience,.article-hero,.summarybox,.article-toc{background:var(--lh-surface)}.brand-image img{object-fit:contain}nav ul{display:flex;list-style:none;gap:24px;padding:0;margin:0}.site-content{min-height:50vh}.entry-content{font-size:16px;line-height:1.9;padding-bottom:45px}.entry-content .wp-block-image img{max-width:100%;height:auto}.entry-content .wp-block-columns{display:flex;gap:28px}.entry-content .wp-block-column{flex:1}.entry-content h2{margin-top:32px}.entry-content a{color:var(--lh-action)}.home-sections{padding:50px 0}.home-sections .entry-content{padding-bottom:0}.scene img{width:100%;height:auto}.servicecard{position:relative}.servicecard>a.service-cover{display:block;margin:-25px -25px 20px}.service-cover img{width:100%;height:160px;object-fit:cover}.servicecard .serviceaction{color:var(--lh-action)}.featured-service .serviceaction{color:var(--lh-gold)}.page-heading{padding:35px 0;background:var(--lh-surface)}.page-heading h1{font-size:38px}.site-content>.wrap{padding-top:35px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:100;background:white;padding:15px}.lh-booking{background:white;border:1px solid #E0E5ED;border-radius:12px;padding:25px;margin:0 auto;max-width:1180px}.lh-booking label{display:block;font-size:12px}.lh-booking input,.lh-booking select{border:1px solid #ccd5e2;border-radius:5px;padding:12px;width:100%;margin-top:7px;min-height:44px}.lh-search{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:15px;align-items:end}.lh-booking button{cursor:pointer}.lh-booking button:disabled{opacity:.5;cursor:not-allowed}.lh-result{border:1px solid #E0E5ED;border-radius:8px;padding:20px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.lh-result h3{font-size:17px;margin:0 0 12px}.lh-message{font-size:13px;line-height:1.8;white-space:pre-line}.lh-message.error{color:#a02828}.lh-booking .seatgrid{grid-template-columns:repeat(4,1fr)}.lh-booking .seat{width:100%;margin:0;min-height:44px}.lh-guest{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.lh-guest .wide{grid-column:1/-1}.lh-guest input[type=checkbox]{width:18px;min-height:18px}.lh-booking pre{white-space:pre-wrap;font:inherit;line-height:1.9}.lh-booking h2{margin:15px 0}.lh-ticketlookup{padding-top:20px;border-top:1px solid #E0E5ED;margin-top:25px}.lh-trust{font-size:11px;color:#68758B;line-height:1.7}.custom-logo-link img{object-fit:contain}.home-booking{position:relative;margin-top:-35px}.lh-routeprice{font-size:20px;font-weight:bold}.wp-block-button__link{background:var(--lh-action);color:#fff!important;border-radius:6px;padding:12px 18px;display:inline-block}.footer-links{display:flex;gap:20px;font-size:12px}.hero h1 em{color:var(--lh-action)}@media(max-width:700px){nav ul{gap:13px;flex-wrap:wrap}.lh-search,.lh-guest{grid-template-columns:1fr 1fr}.lh-search button{grid-column:1/-1}.lh-result{display:block}.lh-result button{margin-top:15px}.lh-booking{padding:18px}.entry-content .wp-block-columns{display:block}.page-heading h1{font-size:30px!important}.footer-links{flex-wrap:wrap}.home-booking{width:calc(100% - 32px);margin-left:auto;margin-right:auto}}

.entry-content>.services{width:100%;padding-top:0;padding-bottom:30px}.entry-content .featured-service a{color:var(--lh-gold)}.entry-content .primary{color:white}.site-content .entry-content>img{max-width:100%;height:auto}

/* WordPress 1.1 — Routes and ticket lookup */
.lh-route-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;margin:25px 0}.lh-route-filters label{font-size:12px}.lh-route-filters select{display:block;width:100%;border:1px solid #d4dce8;border-radius:6px;padding:12px;margin-top:6px;min-height:45px}.lh-route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.lh-route-card{padding:25px;border:1px solid #dfe5ed;border-radius:12px;background:#fff;display:flex;flex-direction:column;box-shadow:0 6px 20px #101d3606}.lh-route-card[hidden]{display:none}.lh-route-card .route-topline{font-size:10px;letter-spacing:1.5px;color:#8e6738;font-weight:bold}.lh-route-card h2{font-size:23px;margin:15px 0 18px}.lh-route-card h2 span{display:block;font-size:17px;color:#738199;margin:5px 0}.lh-route-card p{font-size:12px;margin:8px 0}.lh-route-meta{border-top:1px solid #e2e7ef;padding-top:14px;margin-bottom:15px}.lh-route-price{font-size:22px;font-weight:700;color:var(--lh-action)}.lh-route-card .primary{margin-top:auto;text-align:center;color:white}.lh-route-hint{padding:20px;background:var(--lh-surface);border-left:3px solid var(--lh-gold);font-size:13px;border-radius:6px;line-height:1.8}.lh-route-empty{padding:25px;background:var(--lh-surface);border-radius:8px}.lh-route-empty[hidden]{display:none}.lh-lookup-only{max-width:850px;margin:0 auto 25px}.lh-lookup-only .lh-ticketlookup{margin-top:0;border-top:0}.lh-lookup-only summary{display:none}.lh-lookup-only .lh-lookup-result{margin-top:20px}.lh-lookup .wide{grid-column:1/-1}.lh-route-card .primary:hover{background:var(--lh-navy)}.footer-links{flex-wrap:wrap;max-width:320px}header nav ul{gap:18px}.lh-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.lh-guide>div{padding:20px;border-radius:8px;background:var(--lh-surface);font-size:12px;line-height:1.8}.lh-guide strong{display:block;font-size:14px;margin-bottom:8px;color:var(--lh-action)}@media(max-width:1050px){header nav ul{gap:12px}.lh-route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){header nav{overflow-x:auto;justify-content:start}header nav ul{flex-wrap:nowrap;min-width:max-content;gap:18px;padding-bottom:7px}.lh-route-filters{grid-template-columns:1fr 1fr}.lh-route-filters button{grid-column:1/-1}.lh-route-cards,.lh-guide{grid-template-columns:1fr}.lh-route-card h2 span{display:inline;margin:0 8px}.lh-route-card h2{font-size:20px}.lh-route-card{padding:20px}}

/* 1.2: approved demo homepage, installed and ready to use. */
body{font-family:'Be Vietnam Pro',Arial,sans-serif;font-size:14px}.site-home .herocopy{padding-bottom:35px}.site-home h1{font-size:48px}.site-home .home-booking{margin-top:-43px;width:min(1180px,calc(100% - 64px))}.site-home .lh-booking{width:100%;padding:23px 27px;box-shadow:0 14px 35px #101d3610}.lh-booking .searchtop h2{font-size:17px;letter-spacing:0;margin:0}.lh-booking .searchtop{margin-bottom:20px}.lh-search{grid-template-columns:1fr 27px 1fr 1fr .9fr 1.2fr;gap:12px;align-items:center}.lh-search label{border:1px solid #e0e5ed;padding:11px 12px;border-radius:6px;min-width:0;font-size:8px;font-weight:700;letter-spacing:1px;color:#68758B}.lh-search label input,.lh-search label select{border:0;padding:0;margin-top:9px;min-height:19px;font-size:12px;font-weight:600;color:#101d36;background:transparent;width:100%;letter-spacing:0}.lh-search>.primary{height:65px;font-size:12px}.lh-search>.swap{padding:0}.lh-booking .lh-trust{margin:12px 0 0;font-size:10px}.lh-ticketlookup{font-size:11px;margin-top:14px;padding-top:14px}.lh-booking .service-shortcuts{margin-bottom:22px}.site-home>.services{padding-top:62px}.site-home>.routes{padding:68px 0}.home-editor-extra{padding:35px 0}.site-home .home-booking .lh-booking h2{margin:0}.site-home .lh-booking .lh-detail h2{margin:25px 0 15px}.scene .scenelabel{right:100px}.servicecard p{min-height:68px}.featured-service .serviceaction{color:var(--lh-gold)}.footerrow{font-size:12px}.footerrow>.brand-image{flex-shrink:0}.footerrow .footer-links{max-width:240px}.lh-ticketlookup summary{list-style-position:inside}.lh-total{padding:15px;background:var(--lh-surface);border-radius:8px;font-weight:600}.site-home .herocopy h1 em{color:var(--lh-navy)}@media(max-width:1000px){.lh-search{grid-template-columns:1fr 27px 1fr 1fr}.lh-search label:nth-of-type(4){grid-column:1/3}.lh-search>.primary{grid-column:3/5;height:58px}}@media(max-width:700px){.site-home .home-booking{width:calc(100% - 32px);margin-top:-30px}.site-home .lh-booking{padding:20px 15px}.lh-search{grid-template-columns:1fr 22px 1fr;gap:9px}.lh-search label{padding:10px}.lh-search label:nth-of-type(3){grid-column:1/3}.lh-search label:nth-of-type(4){grid-column:3}.lh-search>.primary{grid-column:1/4;height:49px}.lh-search label input,.lh-search label select{font-size:11px}.site-home>.services{padding-top:38px}.site-home>.routes{padding:40px 0}.servicecard p{min-height:0}.lh-booking .searchtop h2{font-size:14px}.site-home .herocopy{padding-top:35px}.site-home .herocopy p{font-size:12px}}

/* Editable route photographs; preserve original illustration when unset. */
.landscape>.lh-route-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:1}.landscape>.lh-route-photo-shade{position:absolute;inset:0;width:100%;height:100%;margin:0;background:linear-gradient(180deg,rgba(16,29,54,.25),rgba(16,29,54,0) 40%,rgba(16,29,54,.55));z-index:1}.landscape>span:not(.lh-route-photo-shade),.landscape>b{z-index:2}

/* 1.2.2: center the booking wrapper, not only its inner form. */
.site-home .home-booking{margin-left:auto;margin-right:auto;box-sizing:border-box;min-width:0}.site-home .home-booking>.lh-booking{max-width:100%;box-sizing:border-box}

/* 1.2.3: accessible service dropdown on desktop and touch screens. */
header.wrap{position:relative;z-index:30}.lh-navigation{overflow:visible}.lh-navigation ul{list-style:none}.lh-navigation>ul,.lh-navigation>.menu{display:flex;align-items:center;gap:26px;margin:0;padding:0}.lh-navigation li{position:relative}.lh-navigation .menu-item-has-children>a{display:inline-flex;align-items:center;gap:8px}.lh-navigation .menu-item-has-children>a:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .15s}.lh-navigation .menu-item-has-children.is-open>a:after{transform:rotate(225deg);margin-top:3px}.lh-navigation ul.sub-menu{position:absolute;top:100%;left:-16px;display:none;min-width:205px;margin:0;padding:10px 0;background:#fff;color:var(--lh-navy);border:1px solid #e0e5ed;border-top:3px solid var(--lh-gold);border-radius:0 0 9px 9px;box-shadow:0 14px 30px #101d3628;z-index:50;gap:0;text-align:left}.lh-navigation .is-open>ul.sub-menu{display:block}.lh-navigation ul.sub-menu li{display:block;width:100%;margin:0;padding:0}.lh-navigation ul.sub-menu a{display:block;padding:13px 18px;font-size:12px;white-space:nowrap;font-weight:500;color:var(--lh-navy);line-height:1.5}.lh-navigation ul.sub-menu a:hover,.lh-navigation ul.sub-menu a:focus-visible{background:var(--lh-surface);color:var(--lh-action)}.lh-navigation>ul>li>a{padding:14px 0}.lh-navigation .lh-submenu-toggle{border:0;background:transparent;color:inherit;padding:10px;cursor:pointer}.lh-navigation .lh-submenu-toggle:after{content:"⌄"}.lh-navigation ul.sub-menu .current-menu-item>a{background:var(--lh-surface);color:var(--lh-action)}@media(max-width:1000px){.lh-navigation>ul,.lh-navigation>.menu{gap:17px}}@media(max-width:700px){header .lh-navigation{overflow:visible;width:100%;padding-top:7px;margin:0}.lh-navigation>ul,.lh-navigation>.menu{flex-wrap:wrap;min-width:0;gap:8px 19px;justify-content:space-between;padding:0}.lh-navigation>ul>li>a{font-size:10px;padding:12px 0}.lh-navigation ul.sub-menu{min-width:180px;max-width:calc(100vw - 32px);left:auto;right:0}.lh-navigation ul.sub-menu a{font-size:12px;padding:14px 17px}.lh-navigation .menu-item-has-children>a{gap:6px}}

/* Image-only homepage banner; preserve its full aspect ratio. */
.site-home .lh-home-banner{width:100%;margin:0;padding:0;background:var(--lh-surface);line-height:0}.lh-home-banner>a{display:block}.site-home .lh-home-banner img{display:block;width:100%;max-width:100%;height:auto;margin:0;border:0;border-radius:0}.lh-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.site-home .lh-home-banner+.home-booking{margin:24px auto 0}@media(max-width:700px){.site-home .lh-home-banner+.home-booking{margin-top:16px}}

/* Larger navigation and prominent booking CTA. */
header.wrap .lh-navigation>ul>li>a{font-size:18px;font-weight:700;line-height:1.5;white-space:nowrap}
header.wrap .lh-navigation ul.sub-menu a{font-size:15px;font-weight:600}
header.wrap .navcta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:58px;padding:15px 25px;border:2px solid var(--lh-gold,#D9A66B);border-radius:12px;background:var(--lh-gold,#D9A66B);color:#101D36;font-size:20px;font-weight:800;line-height:1.3;white-space:nowrap;box-shadow:0 0 0 0 rgba(217,166,107,.4);animation:lh-booking-pulse 2.4s ease-in-out infinite;transition:background .2s,color .2s}
header.wrap .navcta:hover,header.wrap .navcta:focus-visible{background:#f0c58f;color:#101D36;animation-play-state:paused}
@keyframes lh-booking-pulse{0%,100%{box-shadow:0 0 0 0 rgba(217,166,107,.35);transform:scale(1)}50%{box-shadow:0 0 0 9px rgba(217,166,107,0);transform:scale(1.025)}}
@media(max-width:1100px){header.wrap{height:auto;min-height:142px;flex-wrap:wrap;padding-top:12px;padding-bottom:18px}header.wrap .lh-navigation>ul{flex-wrap:wrap;gap:12px 22px}header.wrap .lh-navigation>ul>li>a{font-size:16px}header.wrap .navcta{font-size:18px;padding:13px 20px}}
@media(max-width:700px){header.wrap{gap:12px;justify-content:space-between}header.wrap .brand-image{order:1}header.wrap .navcta{order:2;font-size:17px;min-height:52px;padding:12px 17px}header.wrap .lh-navigation{order:3;width:100%;padding-top:0}header.wrap .lh-navigation>ul{min-width:0;flex-wrap:wrap;justify-content:center;gap:8px 22px;padding-bottom:0}header.wrap .lh-navigation>ul>li>a{font-size:15px;font-weight:700;padding:10px 0}header.wrap .lh-navigation ul.sub-menu a{font-size:14px}}
@media(max-width:360px){header.wrap .brand-image img{width:105px;height:95px}header.wrap .navcta{font-size:15px;padding:11px 13px}header.wrap .lh-navigation>ul{gap:7px 16px}header.wrap .lh-navigation>ul>li>a{font-size:14px}}
@media(prefers-reduced-motion:reduce){header.wrap .navcta{animation:none;transition:none}}

/* Rounded contact buttons with softly expanding colour rings. */
.floating-contact{right:26px;bottom:calc(30px + env(safe-area-inset-bottom,0px));gap:22px;z-index:40}
.floating-contact>a{width:64px;height:64px;border:0;isolation:isolate;box-shadow:0 10px 24px #101d362b;transition:transform .2s,box-shadow .2s}
.floating-contact .contact-phone{order:1;background:linear-gradient(145deg,#25df70,#0bb64a);--contact-ring:rgba(22,203,87,.28)}
.floating-contact .contact-zalo{order:2;background:linear-gradient(145deg,#12b7ff,#0867ed);--contact-ring:rgba(0,139,255,.28)}
.floating-contact>a:before,.floating-contact>a:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--contact-ring);z-index:-1;pointer-events:none;animation:lh-contact-wave 2.6s ease-out infinite}
.floating-contact>a:after{animation-delay:1.3s}
.floating-contact>a:hover,.floating-contact>a:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px #101d3640}
.floating-contact .contact-phone svg{width:32px;height:32px;stroke:white;stroke-width:1.9;fill:none}
.floating-contact .zalo-bubble{width:44px;height:35px;font-size:14px;letter-spacing:-.5px;color:#0877ec}
.floating-contact .contact-tooltip{right:78px;font-size:13px;font-weight:600;line-height:1.5;box-shadow:0 5px 18px #101d3626}
@keyframes lh-contact-wave{0%{transform:scale(1);opacity:.9}80%,100%{transform:scale(1.48);opacity:0}}
@media(max-width:700px){.floating-contact{right:18px;bottom:calc(22px + env(safe-area-inset-bottom,0px));gap:19px}.floating-contact>a{width:55px;height:55px}.floating-contact .contact-phone svg{width:28px;height:28px}.floating-contact .zalo-bubble{width:39px;height:31px;font-size:12px}.floating-contact .contact-tooltip{right:68px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.floating-contact>a:before,.floating-contact>a:after{animation:none;display:none}.floating-contact>a{transition:none}}
