@font-face{font-family:Montserrat;src:url('fonts/Montserrat-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{color-scheme:light;--forest:#202124;--ink:#202124;--accent:#ffd801;--accent-ink:#161616;--muted:#69717e;--line:#e4e6eb;--pale:#f2f4f7;--paper:#fff;--canvas:#fafafa;--field:#f9fafb;--radius:16px;--shadow:0 12px 36px #1821310c;--font:Montserrat,'Noto Khmer','Microsoft YaHei','PingFang SC',sans-serif}
:root[data-theme=dark]{color-scheme:dark;--forest:#edf0f4;--ink:#edf0f4;--muted:#adb5c3;--line:#363c47;--pale:#252a33;--paper:#1b2028;--canvas:#11151b;--field:#252a33;--shadow:0 12px 36px #0003}
html{scroll-padding-top:100px}body{background:var(--canvas);color:var(--ink);font-size:16px;line-height:1.65}body:lang(km){font-family:'Noto Khmer',Montserrat,sans-serif;line-height:1.85}a:hover{color:inherit}h1,h2,h3,h4{letter-spacing:-.025em}h1{font-size:39px;font-weight:700}h2{font-size:28px;font-weight:600}h3{font-size:18px;font-weight:600}p{overflow-wrap:anywhere}a,button{touch-action:manipulation}input,select,textarea{min-width:0;color:var(--ink);background:var(--field);border-color:var(--line);font-size:15px;border-radius:10px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:focus,select:focus,textarea:focus{border-color:#c1a500;box-shadow:0 0 0 3px #ffd80124}input[type=checkbox]{accent-color:var(--accent)}:focus-visible{outline:3px solid #ad9500;outline-offset:4px}::selection{background:var(--accent);color:var(--accent-ink)}.container{max-width:1224px;width:calc(100% - 64px)}.section{padding:64px 0}.section.no-top{padding-top:0}.eyebrow{font-size:11px;letter-spacing:.1em;color:var(--muted)}.eyebrow i{background:var(--accent)}.help{font-size:12px}.text-link{font-size:14px}.button,.button.dark{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-size:15px;font-weight:600;border-radius:11px;min-height:50px}.button:hover,.button.dark:hover{color:var(--accent-ink);background:var(--accent);filter:brightness(.96);transform:translateY(-1px)}.button.outline{background:transparent;border-color:var(--line);color:var(--ink)}.button.outline:hover{background:var(--pale);color:var(--ink)}.button.small{font-size:13px;min-height:44px;padding:10px 17px}.button.tiny{font-size:12px;min-height:36px}.icon-button{width:42px;height:42px;border:1px solid transparent;flex-shrink:0}.icon-button:hover{background:var(--pale)}.pill.tinted{background:var(--pale);color:var(--ink)}.skip-link{background:var(--paper);color:var(--ink);z-index:150}
/* A pinned shared header, with a normal disclosure menu on small screens. */
.site-header{position:sticky;top:0;height:76px;width:100%;z-index:100;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 3px 18px #00000004}.header-inner{gap:22px}.brand{font-size:23px;letter-spacing:-.7px;font-weight:700}.brand-symbol{background:var(--accent);color:var(--accent-ink);border-radius:8px;width:42px;height:42px;font-size:35px}.brand small{font-size:9px;letter-spacing:0;color:var(--muted)}.main-nav{gap:24px;background:var(--paper)}.main-nav a{font-size:13px;font-weight:500}.main-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:8px}.language-select{border:0;font-size:13px;width:auto;min-width:58px;padding:9px 15px 9px 4px;background-color:transparent}.header-actions{gap:9px}.theme-toggle .sun-icon{display:none}:root[data-theme=dark] .theme-toggle .moon-icon{display:none}:root[data-theme=dark] .theme-toggle .sun-icon{display:block}.mobile-app-nav{display:none}.login-theme{position:fixed;top:22px;right:24px;z-index:5}
/* Full-width image hero and overlapping search, following the reference proportions. */
.hero{background:var(--canvas);padding-top:16px;overflow:visible}.hero-frame{height:418px;position:relative;border-radius:22px;overflow:hidden;background:#445e65}.hero-slide{border-radius:22px;overflow:hidden}.hero-art{inset:0;left:0;right:0}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:center 46%}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#142936c9 0%,#17334296 35%,#18313b05 85%)}.hero-copy{padding:36px 32px 90px;width:62%;color:white}.hero-copy .eyebrow{color:#edf3f4;margin-bottom:12px}.hero-copy h1{font-size:39px;max-width:600px;font-weight:700;letter-spacing:-.02em;line-height:1.17;text-transform:uppercase}.hero-copy h1:lang(km){font-size:33px;line-height:1.5}.hero-copy p{font-size:15px;max-width:410px;color:#f2f5f5;line-height:1.75;margin:20px 0 14px}.hero-copy .text-link{font-size:14px;color:#fff}.hero-assurance{color:#f0f4f5;font-size:12px;margin-top:20px;gap:16px}.hero-service-badges{position:absolute;bottom:32px;left:30px;right:30px;z-index:4;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.hero-service-badges span{display:flex;gap:8px;align-items:center;font-size:12px;padding:8px 14px;border-radius:30px;color:#202124;background:#fffffff2;box-shadow:0 2px 8px #0001}.hero-service-badges span:first-child{background:var(--accent);color:var(--accent-ink)}.hero-service-badges .icon{width:17px;height:17px}.slide-controls{bottom:auto;top:24px;right:24px;background:#fff;color:#202124}.slide-controls button{color:#202124}.search-shell{width:calc(100% - 112px);max-width:1144px;margin-top:-8px;z-index:10}.search-card{padding:16px 20px 20px;border:0;border-radius:18px;box-shadow:0 12px 36px #1420300e;background:var(--paper)}.search-tabs{border:0;margin:0 0 14px;font-size:11px;gap:15px}.search-tabs .is-selected{border:0;font-size:12px;padding:0;color:var(--ink)}.ride-search{position:relative;grid-template-columns:minmax(0,1.45fr) 0 minmax(0,1.45fr) minmax(135px,1fr) minmax(104px,.75fr) auto;gap:16px;align-items:start}.ride-search>label{border:1px solid var(--line);background:var(--field);border-radius:10px;padding:9px 11px!important;font-size:13px;min-height:73px;color:var(--ink)}.ride-search>label:not(:first-child){border-left:1px solid var(--line)}.ride-search>label>input{font-size:16px;border:0;background:transparent;padding:5px 0 0;height:33px;line-height:1.4;color:var(--ink);box-shadow:none}.ride-search>.button{min-height:73px;font-size:16px;padding:16px 20px;white-space:nowrap}.ride-search>.button .icon{display:none}.route-connector{position:relative;left:-17px;top:23px;z-index:14;width:34px;height:34px;padding:0;border:2px solid var(--paper);border-radius:50%;align-self:start;background:var(--accent);color:var(--accent-ink);font-size:23px;line-height:1}.search-shell+.section{padding-top:65px}
/* Forms keep their native inputs when Maps is unavailable. */
.location-field{position:relative;min-width:0;margin:15px 0}.location-field>label{display:block;margin:0 0 7px;font-size:13px;font-weight:600;line-height:1.6}.location-field label small{float:none;margin-left:6px;font-size:10px}.location-input-row{display:flex;align-items:center;gap:8px;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:0 11px;min-height:49px}.location-input-row:focus-within{border-color:#c1a500;box-shadow:0 0 0 3px #ffd80124}.location-input-row>.icon{width:17px;height:17px;color:var(--muted)}.location-input-row>input{border:0;background:transparent;padding:11px 0;margin:0;width:100%;min-width:0;height:47px;box-shadow:none!important;outline:0;font-size:14px}.locate-button{flex-shrink:0;border:0;background:transparent;color:var(--muted);padding:7px;margin-right:-7px;display:flex;align-items:center;justify-content:center;min-width:35px;min-height:40px}.locate-button:hover{color:var(--ink)}.location-feedback{display:flex;justify-content:space-between;align-items:start;gap:8px;font-size:10px;margin:5px 0 0;color:var(--muted);line-height:1.4}.location-feedback:has([data-location-status]:empty):has([data-location-link][hidden]){display:none}.location-feedback small{font-size:10px}.location-feedback a{font-size:10px;flex-shrink:0;text-decoration:underline;text-underline-offset:3px}.location-field.compact{margin:0;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-height:73px}.location-field.compact>label{font-size:13px;margin:0}.location-field.compact .location-input-row{border:0;padding:0;min-height:32px;box-shadow:none}.location-field.compact .location-input-row>input{height:33px;padding:3px 0;font-size:16px}.location-field.compact .locate-button{min-width:28px;min-height:32px;padding:4px}.location-options{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:260px;max-height:350px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 15px 35px #0002;z-index:60}.location-option{display:block;padding:12px 14px;cursor:pointer;font-size:13px;line-height:1.4;border-bottom:1px solid var(--line)}.location-option strong{font-weight:600;display:block}.location-option small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.location-option:hover,.location-option[aria-selected=true]{background:var(--pale)}.google-attribution{padding:10px 14px;display:flex;justify-content:flex-end;background:#fff;color:#5e5e5e}.google-attribution img{height:18px;width:auto;max-width:110px}.google-rating>img{background:#fff;padding:5px;border-radius:4px;box-sizing:content-box}.location-field:has(.location-options:not([hidden])){z-index:20}
/* Consistent public cards and content typography. */
.section-heading{margin-bottom:28px}.section-heading h2{margin-bottom:10px}.section-heading p{font-size:14px}.route-grid,.vehicle-grid{gap:26px}.route-card,.guide-card,.booking-panel,.confirmation-card{background:var(--paper);border-color:var(--line);border-radius:16px}.route-card{box-shadow:0 3px 15px #00000003}.route-body h3{font-size:18px;font-weight:600}.route-facts{font-size:12px}.route-price strong{font-size:22px;letter-spacing:-.02em}.route-price small,.route-price>span{font-size:11px}.route-image>.pill{background:var(--paper);color:var(--ink)}.route-image>.round-arrow{background:var(--accent);color:var(--accent-ink)}.route-image{aspect-ratio:1.65}.benefit-section{background:var(--canvas);color:var(--ink);padding:64px 0}.benefit-section .eyebrow{color:var(--muted)}.benefit-section h2{max-width:900px}.benefit-grid{gap:26px;margin-top:28px}.benefit-grid article{background:var(--paper);border:1px solid var(--line);padding:28px;border-radius:16px;box-shadow:var(--shadow)}.benefit-grid .feature-icon{width:55px;height:55px;border-radius:15px;background:#fff3b8;color:#654c00;border:0}.benefit-grid article:nth-child(2) .feature-icon{background:#e0f0e9;color:#276047}.benefit-grid article:nth-child(3) .feature-icon{background:#e7eaff;color:#49478a}.benefit-grid h3{font-size:18px;line-height:1.45;margin-bottom:12px}.benefit-grid p{color:var(--muted);font-size:14px;line-height:1.85}.vehicle-card{background:var(--paper);border-color:var(--line);border-radius:16px;padding:25px}.vehicle-card>img{height:170px}.vehicle-card>p{font-size:13px}.vehicle-card .inline-facts{font-size:12px}.vehicle-card .text-link{border-color:var(--line)}.guide-section{background:var(--pale);padding:64px 0}.guide-card{border-color:var(--line)}.guide-card h3{font-size:20px}.guide-card p{font-size:13px}.faq-section{gap:60px}.faq-section h2{max-width:none}.faq-list summary{font-size:15px;font-weight:600;line-height:1.6}.faq-list p{font-size:14px;line-height:1.8}.page-intro h1,.trip-heading h1,.article-title{font-size:39px;line-height:1.3}.breadcrumbs{font-size:12px}.page-intro p{font-size:15px}.prose p{color:var(--muted);font-size:15px;line-height:1.85}.included-list .icon{color:#928000}.prose h2{font-size:26px}.prose h3{font-size:20px}.booking-panel-head h2{font-size:25px}.booking-panel-head p{font-size:13px}.booking-panel label{font-size:13px}.booking-panel input,.booking-panel select,.booking-panel textarea{font-size:14px}.booking-panel .location-field label small{font-size:10px}.booking-reassurance{font-size:12px;color:var(--muted)}.terms-note{font-size:11px}.quote-box{border-color:var(--line);background:var(--pale)}.quote-box strong{font-size:23px}.feature-icon{background:var(--pale);color:var(--ink)}.filter-bar{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(140px,1fr) auto;align-items:start;padding:20px;background:var(--paper);border:1px solid var(--line)}.filter-bar>input,.filter-bar>select,.filter-bar>.button{min-height:73px}.filter-bar>input:first-child{grid-column:auto}.filter-bar .text-link{font-size:12px}.notice{background:var(--pale);border-color:var(--line);font-size:13px}.notice.error{background:#fff0ee;border-color:#e9c9c4;color:#963522}.notice.success{background:#edf8ee;border-color:#cce7d0;color:#326244}.toast{background:#202124;color:#fff;z-index:160}.receipt-grid strong{overflow-wrap:anywhere}.success-symbol{color:var(--accent-ink)}
/* Live reviews are visually separated from the site's own copy. */
.google-rating{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:9px;font-size:12px}.google-rating strong{font-size:24px}.review-stars{color:#b38800;letter-spacing:2px}:root[data-theme=dark] .review-stars{color:#ffd801}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0}.review-author{display:flex;gap:12px;align-items:center;margin-bottom:16px}.review-author img{width:40px;height:40px;border-radius:50%;object-fit:cover}.review-author a,.review-author strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.review-author time{display:block;font-size:11px;color:var(--muted)}.review-card>p{font-size:13px;line-height:1.85;margin:12px 0 18px;white-space:pre-line}.review-card>a{display:inline-block;font-size:11px;text-decoration:underline;text-underline-offset:3px}.review-card .review-stars{font-size:15px}.reviews-order,.translated-review{font-size:11px;color:var(--muted);margin-top:12px}.reviews-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}.reviews-empty{border:1px solid var(--line);border-radius:16px;padding:28px;background:var(--paper);display:flex;align-items:center;gap:18px}.reviews-empty h3{font-size:18px;margin-bottom:6px}.reviews-empty p{color:var(--muted);margin:0;font-size:14px}
.site-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);padding:55px 0 24px}.footer-top .brand,.footer-top h3{color:var(--ink)}.footer-top>div>a:not(.brand),.footer-top p{color:var(--muted);font-size:13px}.footer-top h3{font-size:14px}.footer-top>div>a:hover,.site-footer a:hover{color:var(--ink)}.footer-top .pill{border-color:var(--line);font-size:11px;color:var(--ink)}.footer-top .footer-reviews{margin-top:20px}.footer-bottom{border-color:var(--line);color:var(--muted);font-size:11px}.floating-help{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-size:12px}
/* The same mode also applies to staff, driver and sign-in screens. */
.admin-body,.login-body{background:var(--canvas)}.admin-topbar,.panel,.stat-card,.notification-panel,.notification-panel>div:first-child,.login-card form{background:var(--paper);border-color:var(--line)}.sidebar{background:#171b22;color:#c8cfd9}.sidebar .brand{color:#f5f6f8}.sidebar .brand small,.sidebar .nav-label{color:#9ba6b7}.sidebar nav>a{color:#c8cfd9}.sidebar nav>a.active{color:var(--accent-ink);background:var(--accent)}.admin-breadcrumb,.admin-topbar{color:var(--ink)}.avatar{background:var(--pale);color:var(--ink)}.stat-icon{color:var(--muted)}.admin-shortcuts a,.notification-panel a.unread{background:var(--pale)}.admin-shortcuts a:hover{background:var(--field)}th{background:var(--pale);color:var(--muted)}td,th{border-color:var(--line)}.customer-note{background:var(--pale)}.customer-note p,.timeline p,.translation-grid label{color:var(--muted)}.timeline article:before{background:var(--accent)}.point.end{background:var(--ink);border-color:var(--ink)}.save-bar{background:var(--canvas)}.admin-footer{color:var(--muted)}.panel h2{font-size:22px}.panel h3{font-size:18px}.admin-heading h1{font-size:31px}.notification-count{color:var(--accent-ink)}.integration-description{max-width:820px;font-size:13px;color:var(--muted)}.integration-description a{text-decoration:underline;text-underline-offset:3px}.settings-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:5px 10px;border:1px solid var(--line);border-radius:30px;margin:0 0 20px}.settings-status:before{content:'';width:7px;height:7px;border-radius:50%;background:#c99319}.settings-status.ready:before{background:#388e5c}:root[data-theme=dark] .notice.error{background:#402721;border-color:#664038;color:#ffd0c3}:root[data-theme=dark] .notice.success{background:#1b392b;border-color:#30523f;color:#b7eacb}
@media(min-width:901px){.booking-aside{top:100px}.main-nav{margin-left:auto}.contact-top{display:inline-flex}}
@media(max-width:1150px){.header-inner{gap:12px}.brand{font-size:20px}.main-nav{gap:15px}.main-nav a{font-size:12px}.brand small{font-size:8px;max-width:170px}.header-actions{gap:4px}.ride-search{grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr) minmax(130px,.85fr) minmax(100px,.65fr);gap:14px}.ride-search>.button{grid-column:1/-1;min-height:49px}.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar>input:first-child{grid-column:1/-1}.filter-bar>input,.filter-bar>select,.filter-bar>.button{min-height:49px}.footer-top{gap:25px}}
@media(max-width:900px){.container{width:calc(100% - 40px)}.site-header{height:68px}.brand small{display:none}.header-inner{gap:12px}.main-nav{position:absolute;top:100%;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;gap:0;margin:8px 0;padding:10px;border-radius:14px;background:var(--paper);border:1px solid var(--line);box-shadow:0 15px 40px #0002;max-height:70vh;overflow:auto}.main-nav.is-open{display:flex}.main-nav a{font-size:15px;padding:14px 16px;min-height:48px;white-space:normal;border-radius:8px}.main-nav a:hover{background:var(--pale)}.mobile-toggle{display:inline-flex}.contact-top{display:none}.hero-frame{height:390px}.hero-copy{width:80%;padding:30px 26px 90px}.hero-copy h1{font-size:35px}.hero-copy p{font-size:14px;max-width:370px}.hero-copy h1:lang(km){font-size:28px}.hero-art{inset:0}.hero-art:after{background:linear-gradient(90deg,#112c3bbf,#243d4540)}.hero-service-badges{bottom:25px}.search-shell{width:calc(100% - 68px);margin-top:-8px}.search-tabs>span:last-child{font-size:10px}.slide-controls{top:20px;right:20px}.benefit-grid{gap:16px}.benefit-grid article{padding:20px}.benefit-grid p{font-size:13px}.benefit-grid h3{font-size:16px}.route-grid,.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.faq-section{gap:30px}.footer-top{grid-template-columns:1.3fr 1fr;gap:35px}.page-intro h1,.trip-heading h1,.article-title{font-size:33px}.booking-panel-head h2{font-size:25px}.guide-grid{gap:18px}.guide-card{grid-template-columns:1fr}.guide-card>img{height:190px;min-height:0}.guide-card>div{padding:23px}.guide-card h3{font-size:19px}}
@media(max-width:900px){.public-body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.booking-page{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}.mobile-app-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:110;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -5px 20px #00000008;padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px));min-height:72px}.mobile-app-nav a{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:8px 3px;min-height:57px;font-size:11px;font-weight:500;color:var(--muted);border-radius:12px}.mobile-app-nav a .icon{width:23px;height:23px}.mobile-app-nav a[aria-current=page]{background:var(--pale);color:var(--ink);font-weight:700}.mobile-app-nav a[aria-current=page]:before{content:'';position:absolute;top:0;width:23px;height:3px;border-radius:0 0 4px 4px;background:var(--accent)}.floating-help{display:none}.toast{bottom:calc(86px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px)}}
@media(max-width:700px){.section,.benefit-section,.guide-section{padding:44px 0}.section-heading{align-items:start;gap:15px;margin-bottom:22px}.section-heading h2,h2{font-size:25px}.section-heading p{font-size:13px}.section-heading>.text-link{font-size:12px;white-space:nowrap;margin-top:4px}.hero{padding-top:12px}.hero-frame{height:390px;border-radius:18px}.hero-copy{width:100%;padding:29px 24px 115px}.hero-copy h1{font-size:32px;max-width:460px;line-height:1.2}.hero-copy h1:lang(km){font-size:26px}.hero-copy p{font-size:13px;line-height:1.8;max-width:340px;margin:16px 0 13px}.hero-copy .eyebrow{font-size:9px}.hero-assurance{font-size:10px;gap:13px;margin-top:14px}.hero-service-badges{left:14px;right:14px;bottom:29px;gap:7px}.hero-service-badges span{font-size:10px;padding:7px 10px}.hero-service-badges .icon{width:15px;height:15px}.slide-controls{top:auto;bottom:82px;right:20px;gap:6px;padding:3px 6px;font-size:9px}.search-shell{width:calc(100% - 56px);margin-top:-12px}.search-card{padding:16px;border-radius:16px}.search-tabs{gap:10px;margin-bottom:15px}.search-tabs .is-selected{font-size:11px}.search-tabs>span:last-child{font-size:9px;max-width:120px;text-align:right}.ride-search{grid-template-columns:1fr 1fr;gap:12px}.ride-search>.location-field{grid-column:1/-1}.ride-search>.route-connector{position:absolute;top:61px;right:14px;left:auto;width:32px;height:32px;transform:rotate(90deg);font-size:23px;z-index:22}.ride-search>label{min-height:71px;font-size:12px}.ride-search>label>input{font-size:16px;width:100%}.location-field.compact{min-height:71px;padding:9px 12px}.location-field.compact>label{font-size:12px}.location-field.compact .location-input-row>input{font-size:16px}.ride-search>.button{font-size:15px;min-height:52px}.location-options{min-width:0;width:100%;max-height:280px}.location-feedback,.location-feedback a,.location-feedback small{font-size:10px}.benefit-grid{grid-template-columns:1fr;gap:14px}.benefit-grid article{padding:22px;display:grid;grid-template-columns:48px 1fr;gap:0 16px}.benefit-grid .feature-icon{width:48px;height:48px;margin:0;grid-row:1/3}.benefit-grid h3{font-size:17px}.benefit-grid p{font-size:13px}.route-grid,.vehicle-grid{grid-template-columns:1fr;gap:20px}.route-body{padding:22px}.route-body h3{font-size:19px}.route-facts{font-size:12px}.route-price strong{font-size:24px}.vehicle-card{padding:23px}.vehicle-card>img{height:190px}.vehicle-card>p{font-size:13px}.guide-grid{grid-template-columns:1fr}.guide-card{grid-template-columns:40% 1fr}.guide-card>img{height:100%;min-height:200px}.guide-card h3{font-size:18px;line-height:1.45}.guide-card p{font-size:12px}.faq-section{grid-template-columns:1fr;gap:22px}.faq-section h2{font-size:25px;margin-bottom:15px}.faq-list summary{font-size:14px;padding:19px 0}.faq-list p{font-size:13px}.reviews-grid{grid-template-columns:1fr}.reviews-section .section-heading{display:block}.google-rating{justify-content:flex-start;margin-top:18px}.review-card{padding:23px}.reviews-empty{padding:22px;align-items:start}.reviews-empty h3{font-size:16px}.reviews-empty p{font-size:13px}.reviews-actions .button{font-size:13px}.page-intro{padding:32px 0 27px}.page-intro h1,.trip-heading h1,.article-title{font-size:28px}.breadcrumbs{font-size:10px;padding:20px 0;gap:7px}.trip-heading{padding-bottom:26px}.inline-facts{font-size:12px;gap:14px}.booking-panel{padding:24px 20px}.booking-panel input,.booking-panel select,.booking-panel textarea{font-size:16px}.booking-panel .location-input-row>input{font-size:16px}.booking-panel label{font-size:13px}.booking-panel-head h2{font-size:24px}.quote-box strong{font-size:23px}.prose p{font-size:14px}.prose h2{font-size:24px}.filter-bar{padding:15px;gap:12px}.filter-bar .location-field{grid-column:1/-1}.filter-bar .text-link{font-size:12px}.filter-bar>select{font-size:14px}.filter-bar>.button{grid-column:auto}.site-footer{padding-top:38px}.footer-top{gap:25px}.footer-top h3{font-size:13px;margin-bottom:18px}.footer-top>div>a:not(.brand),.footer-top p{font-size:12px}.footer-top .brand{font-size:20px}.footer-bottom{font-size:10px;margin-top:26px;gap:15px;flex-wrap:wrap}.admin-heading h1{font-size:26px}.panel h2{font-size:21px}.panel h3{font-size:17px}.admin-main input,.admin-main select,.admin-main textarea,.login-card input{font-size:16px}.admin-heading p{font-size:13px}.admin-heading>.button{font-size:12px}.notification-panel{background:var(--paper)}.login-card h1{font-size:33px}.login-card>p{font-size:14px}.login-card form{background:var(--paper)}.save-bar{background:var(--canvas)}}
@media(max-width:420px){.container{width:calc(100% - 28px)}.site-header{height:64px}.header-inner{gap:6px}.brand{font-size:17px;gap:7px;min-width:0;flex-shrink:1}.brand>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-symbol{width:34px;height:34px;font-size:29px;flex-shrink:0}.brand-symbol span{font-size:14px}.brand>img{max-width:35px;max-height:35px}.header-actions{gap:0;flex-shrink:0}.header-actions .icon-button{width:36px;height:40px}.language-select{font-size:12px;min-width:54px;padding-left:2px}.hero-frame{height:406px}.hero-copy{padding:28px 21px 110px}.hero-copy h1{font-size:30px}.hero-copy h1:lang(km){font-size:25px}.hero-copy p{max-width:285px;font-size:13px}.hero-service-badges span{font-size:9px;padding:7px 9px}.hero-service-badges span .icon{display:none}.hero-assurance{font-size:9px;gap:10px}.search-shell{width:calc(100% - 44px)}.search-card{padding:14px}.search-tabs>span:last-child{font-size:8px;max-width:102px}.ride-search{gap:10px}.ride-search>.route-connector{right:12px}.section-heading h2{font-size:23px}.section-heading>.text-link{font-size:11px}.benefit-grid article{grid-template-columns:1fr}.benefit-grid .feature-icon{grid-row:auto;margin-bottom:14px}.guide-card{grid-template-columns:1fr}.guide-card>img{min-height:0;height:185px}.footer-top{grid-template-columns:1fr 1fr;gap:25px 15px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:1/-1}.booking-panel{padding:22px 15px}.booking-panel .form-grid{gap:10px}.location-field label small{display:block;margin:3px 0 0}.review-card{padding:20px}.reviews-empty{display:block}.reviews-empty .feature-icon{margin-bottom:15px}.admin-topbar .header-actions .icon-button{width:33px}.admin-breadcrumb{font-size:12px}}
@media(max-width:700px){.hero-art img{position:absolute;bottom:0;height:205px;object-position:right center;mask-image:linear-gradient(to bottom,transparent,#000 25%)}.hero-art:after{background:linear-gradient(to bottom,#19394480 40%,#19394410 80%)}.hero-frame{background:#25444e}.hero-copy p{max-width:330px}.hero-service-badges{bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover,.route-card:hover{transform:none}}
@media print{html,html[data-theme=dark]{color-scheme:light;--ink:#000;--paper:#fff;--pale:#eee;--line:#ddd;--muted:#555}body.public-body{padding:0;background:#fff;color:#000}.mobile-app-nav,.theme-toggle,.site-header,.site-footer,.floating-help,.login-theme{display:none!important}}

/* Flag language menus stay white in either theme, including Windows browsers. */
.language-menu{position:relative;flex-shrink:0}
.language-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:7px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:600 12px/1.3 Montserrat,"Noto Sans Khmer",sans-serif;cursor:pointer}
.language-trigger:hover,.language-trigger[aria-expanded="true"]{background:var(--pale)}
.language-flag{display:block;flex-shrink:0;width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #00000012}
.language-options{display:none;position:absolute;right:0;top:calc(100% + 9px);z-index:130;width:195px;max-width:calc(100vw - 28px);padding:6px;background:#fff;color:#202124;color-scheme:light;border:1px solid #e4e7eb;border-radius:12px;box-shadow:0 12px 35px #00000025}
.language-options.is-open{display:block}
.language-options a{display:flex;align-items:center;gap:11px;padding:12px 10px;min-height:44px;border-radius:7px;background:#fff;color:#202124;font-size:13px;font-weight:500;text-decoration:none}
.language-options a small{margin-left:auto;color:#626872;font-size:10px}
.language-options a:hover,.language-options a:focus-visible{background:#f2f4f7;color:#202124;outline:2px solid #bda000;outline-offset:-2px}
.language-options a[aria-current]{background:#fff6c9;color:#202124}
select option,select optgroup{background:#fff;color:#202124;color-scheme:light}
[data-form-error]{white-space:pre-line}
.field-error{display:block;margin-top:6px;color:#a02c20;font-size:12px;line-height:1.65;white-space:pre-line}
[data-theme="dark"] .field-error{color:#ffb8aa}
[aria-invalid="true"]{border-color:#c44737!important}
@media(max-width:420px){.language-trigger{padding:5px;gap:4px;font-size:11px}.language-trigger>svg{width:9px}.language-flag{width:21px;height:14px}.admin-breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar .header-actions{flex-shrink:0}}
/* Driver trip actions and dispatch review. */
.driver-controls .button{margin-top:12px;white-space:normal;min-height:48px}.driver-controls h2{margin-bottom:22px}.trip-steps{list-style:none;margin:0 0 24px;padding:0}.trip-steps li{display:flex;align-items:center;gap:12px;padding:10px 0;color:var(--muted)}.trip-steps li>div{display:grid;gap:3px}.trip-steps b{font-size:13px}.trip-steps small{font-size:11px}.step-dot{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border:1px solid var(--line);border-radius:50%;font-size:12px}.trip-steps .done{color:var(--ink)}.trip-steps .done .step-dot{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.return-trip{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.return-trip summary{font-size:13px;font-weight:600;cursor:pointer}.return-trip[open] summary{margin-bottom:15px}.completion-location{padding:14px;background:var(--pale);border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.completion-location .help{display:block;line-height:1.7}.completion-location .text-button{margin-top:10px;text-decoration:underline;font-size:12px}.dispatch-review{border:2px solid var(--accent)}.dispatch-review>p{font-size:13px;line-height:1.8}.dispatch-review>small{display:block;margin-bottom:18px}.dispatch-notice{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.dispatch-notice p{margin:5px 0 0}.review-badge{color:var(--ink);font-weight:700;padding-top:8px}.completion-summary{margin-top:22px}.completion-summary .receipt-grid{margin:20px 0}.completion-summary .help{line-height:1.8}.admin-filters .dispatch-filter{font-size:12px;grid-column:1/-1;margin:0}.dispatch-filter input{flex-shrink:0}.admin-filters .dispatch-filter+.button{grid-column:1/-1}@media(max-width:700px){.dispatch-notice{align-items:flex-start;flex-direction:column}.driver-controls .button{font-size:15px}.return-trip summary{font-size:14px}}
.dispatch-review p,.completion-summary p,.driver-controls p{overflow-wrap:anywhere}
