/* Onewayexpresscab premium 3D visual system */
:root{
  --ow3d-ink:#07111f;
  --ow3d-ink-2:#0d1d31;
  --ow3d-panel:rgba(14,29,48,.84);
  --ow3d-panel-light:rgba(255,255,255,.78);
  --ow3d-gold:#ffbd4a;
  --ow3d-gold-2:#ff8f3d;
  --ow3d-cyan:#6ee7f5;
  --ow3d-text:#f6f8fb;
  --ow3d-muted:#9fb0c2;
  --ow3d-line:rgba(255,255,255,.13);
  --ow3d-shadow:0 24px 70px rgba(0,0,0,.28),0 8px 20px rgba(0,0,0,.16);
}
html{scroll-behavior:smooth;background:#07111f}
body{background:linear-gradient(180deg,#07111f 0%,#0c1a2b 42%,#edf4f7 42%,#f5f8fa 100%);color:#0b1727}
body.ow3d-ready{overflow-x:hidden}
body.ow3d-ready:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.08;background-image:radial-gradient(rgba(255,255,255,.55) .5px,transparent .5px);background-size:5px 5px;mix-blend-mode:soft-light}
header{background:rgba(5,15,28,.76)!important;border-bottom:1px solid rgba(110,231,245,.16)!important;box-shadow:0 12px 40px rgba(0,0,0,.25)!important;backdrop-filter:blur(24px)!important}
header>div{max-width:84rem!important;padding-top:.78rem!important;padding-bottom:.78rem!important}
header nav a{position:relative;color:#bfd0df!important;transition:color .2s ease,transform .2s ease!important}
header nav a:hover{color:#fff!important;transform:translateY(-2px)}
header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-.55rem;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--ow3d-cyan),var(--ow3d-gold));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
header nav a:hover:after{transform:scaleX(1)}
.brand-mark.ow-brand-mark-wide{width:142px!important;height:62px!important;padding:7px!important;border-radius:18px!important;background:linear-gradient(145deg,#ffda70,#ff9c36)!important;box-shadow:7px 7px 0 rgba(110,231,245,.9),0 15px 30px rgba(255,153,60,.25)!important;transform:rotate(-2deg);transition:transform .25s ease,box-shadow .25s ease!important}
.brand-mark.ow-brand-mark-wide:hover{transform:rotate(0deg) translateY(-2px);box-shadow:8px 10px 0 rgba(110,231,245,.9),0 20px 38px rgba(255,153,60,.35)!important}
#booking{isolation:isolate;min-height:680px;background:#07111f!important}
#booking:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 76% 20%,rgba(110,231,245,.24),transparent 22%),radial-gradient(circle at 12% 70%,rgba(255,189,74,.16),transparent 24%),linear-gradient(112deg,#06101e 4%,rgba(8,24,42,.75) 47%,#0e2638 100%);pointer-events:none}
#booking>div:first-child{background:linear-gradient(90deg,rgba(4,13,25,.97),rgba(4,13,25,.76) 46%,rgba(4,13,25,.18))!important}
#booking>img{opacity:.5!important;filter:saturate(.84) contrast(1.08);transform:scale(1.03)!important}
#booking>div.relative{max-width:84rem!important;padding-top:7rem!important;padding-bottom:7rem!important}
#booking h1{font-size:clamp(3.8rem,8vw,8.3rem)!important;line-height:.84!important;text-shadow:0 5px 0 rgba(255,189,74,.08),0 22px 40px rgba(0,0,0,.32)}
#booking h1 span{background:linear-gradient(135deg,#ffe59b 0%,#ffbd4a 42%,#ff744d 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
#booking p{color:#bfd0df!important}
.hero-orbit{animation:ow3d-float 16s ease-in-out infinite alternate}
@keyframes ow3d-float{from{transform:scale(1.03) translate3d(-.5%,0,0)}to{transform:scale(1.09) translate3d(.8%,-1%,0)}}
#booking .ow-booking-card-compact{position:relative;overflow:visible!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:28px!important;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(218,233,240,.85))!important;box-shadow:20px 24px 0 rgba(110,231,245,.16),0 32px 80px rgba(0,0,0,.45)!important;backdrop-filter:blur(20px);transform:perspective(1200px) rotateY(-5deg) rotateX(2deg);transition:transform .35s ease,box-shadow .35s ease!important}
#booking .ow-booking-card-compact:before{content:"LIVE FARE ENGINE";position:absolute;top:-16px;right:25px;padding:.45rem .72rem;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:linear-gradient(135deg,#6ee7f5,#328db7);color:#062034;font-size:.58rem;font-weight:900;letter-spacing:.16em;box-shadow:0 8px 18px rgba(46,142,185,.3);transform:rotate(3deg)}
#booking .ow-booking-card-compact:after{content:"";position:absolute;inset:-28px -20px auto auto;width:96px;height:96px;border:1px solid rgba(110,231,245,.45);border-radius:50%;box-shadow:0 0 0 13px rgba(110,231,245,.06),0 0 0 26px rgba(110,231,245,.035);pointer-events:none}
#booking .ow-booking-card-compact:hover{transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-5px);box-shadow:22px 28px 0 rgba(110,231,245,.18),0 40px 90px rgba(0,0,0,.48)!important}
#booking [data-ow-updated-form]{position:relative;z-index:2}
#booking [data-ow-updated-form] .ow-tabs{padding:.3rem;border-radius:17px;background:rgba(7,17,31,.08);box-shadow:inset 0 2px 5px rgba(7,17,31,.1)}
#booking [data-ow-updated-form] .ow-tab{border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;color:#52677b!important;transition:all .2s ease!important}
#booking [data-ow-updated-form] .ow-tab:hover{transform:translateY(-2px);color:#0a1b2d!important}
#booking [data-ow-updated-form] .ow-tab.is-active{background:linear-gradient(135deg,#102940,#1b5064)!important;color:#fff!important;box-shadow:0 8px 18px rgba(8,29,49,.22)!important}
#booking [data-ow-updated-form] .ow-input{border:1px solid rgba(21,57,80,.2)!important;border-radius:13px!important;background:rgba(255,255,255,.85)!important;box-shadow:inset 0 2px 5px rgba(7,17,31,.05),0 2px 0 rgba(255,255,255,.9)!important}
#booking [data-ow-updated-form] .ow-input:focus{border-color:#328db7!important;box-shadow:0 0 0 4px rgba(110,231,245,.2),inset 0 2px 5px rgba(7,17,31,.05)!important}
#booking [data-ow-updated-form] .ow-action{border-radius:13px!important;background:linear-gradient(135deg,#ffda70,#ff9c36)!important;box-shadow:0 8px 0 #c8662d,0 17px 28px rgba(255,145,61,.28)!important;transition:transform .18s ease,box-shadow .18s ease!important}
#booking [data-ow-updated-form] .ow-action:hover{transform:translateY(-3px);box-shadow:0 11px 0 #c8662d,0 22px 34px rgba(255,145,61,.36)!important}
#booking [data-ow-updated-form] .ow-action:active{transform:translateY(2px);box-shadow:0 5px 0 #c8662d,0 12px 20px rgba(255,145,61,.25)!important}
#booking [data-ow-updated-form] .ow-result{border:1px solid rgba(110,231,245,.36)!important;background:linear-gradient(145deg,rgba(238,248,251,.96),rgba(209,231,238,.94))!important;box-shadow:0 12px 28px rgba(7,17,31,.12)}
#booking [data-ow-updated-form] .ow-rate-card,#booking [data-ow-updated-form] .ow-package-rate{border:1px solid rgba(18,54,78,.1);box-shadow:0 5px 12px rgba(7,17,31,.07)}
#booking [data-ow-updated-form] .ow-group-note{color:#a95728!important}
#fleet,#routes,#guides,#all-routes{position:relative;background:linear-gradient(180deg,#f4f8fa,#eaf2f6)!important}
#fleet:before,#routes:before,#guides:before,#all-routes:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 10%,rgba(110,231,245,.12),transparent 23%),radial-gradient(circle at 90% 80%,rgba(255,189,74,.1),transparent 26%)}
.section-heading,.display-heading{position:relative;z-index:1;color:#09192b!important;text-shadow:0 3px 0 rgba(255,255,255,.85)}
.vehicle-card,.route-card,.ow-group-fleet-card{position:relative;overflow:hidden!important;border:1px solid rgba(39,86,112,.14)!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(220,235,241,.86))!important;box-shadow:12px 14px 0 rgba(110,231,245,.13),0 18px 42px rgba(9,35,57,.12)!important;transition:transform .3s ease,box-shadow .3s ease!important}
.vehicle-card:before,.route-card:before,.ow-group-fleet-card:before{content:"";position:absolute;z-index:0;top:-40px;right:-35px;width:110px;height:110px;border:1px solid rgba(255,150,61,.25);border-radius:50%;box-shadow:0 0 0 13px rgba(255,150,61,.05),0 0 0 27px rgba(255,150,61,.035);pointer-events:none}
.vehicle-card:hover,.route-card:hover,.ow-group-fleet-card:hover{transform:translateY(-8px) rotateX(2deg);box-shadow:15px 19px 0 rgba(110,231,245,.17),0 28px 54px rgba(9,35,57,.18)!important}
.vehicle-card>*,.route-card>*,.ow-group-fleet-card>*{position:relative;z-index:1}
.vehicle-card img,.route-card img,.ow-group-fleet-card img{filter:saturate(.94) contrast(1.04);transition:transform .35s ease!important}
.vehicle-card:hover img,.route-card:hover img,.ow-group-fleet-card:hover img{transform:scale(1.04)}
.ow-group-fleet{border-top:0!important;border-radius:30px;padding:2rem!important;background:linear-gradient(145deg,rgba(7,24,42,.97),rgba(14,51,70,.92));box-shadow:0 24px 60px rgba(7,17,31,.2);color:#fff}
.ow-group-fleet-title,.ow-group-fleet-kicker,.ow-group-fleet-card-name,.ow-group-fleet-card-meta,.ow-group-fleet-card-rate{color:#fff!important}
.ow-group-fleet-card{background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06))!important;border-color:rgba(255,255,255,.15)!important;box-shadow:9px 11px 0 rgba(110,231,245,.1),0 18px 34px rgba(0,0,0,.18)!important}
.ow-group-fleet-note{color:#ffd47b!important}
#routes .route-card a,#all-routes .route-card a{color:#0b5e78!important}
footer{background:linear-gradient(145deg,#06101e,#0e2b3d)!important;color:#d9e7ee!important;border-top:1px solid rgba(110,231,245,.15)}
footer a{color:#ffe09a!important}
.ow3d-admin{background:radial-gradient(circle at 90% 5%,rgba(110,231,245,.18),transparent 25%),linear-gradient(145deg,#07111f,#0f2b3d)!important}
.admin-page{background:transparent!important}
.admin-page .rounded-\[2rem\],.admin-page [data-ow-admin-group]{border:1px solid rgba(110,231,245,.2)!important;background:linear-gradient(145deg,rgba(14,29,48,.92),rgba(18,52,70,.86))!important;box-shadow:18px 20px 0 rgba(110,231,245,.08),0 30px 70px rgba(0,0,0,.3)!important}
[data-ow-admin-group]{border-radius:26px!important}
@media(max-width:900px){#booking .ow-booking-card-compact{transform:none!important}#booking>div.relative{padding-top:5rem!important;padding-bottom:5rem!important}.brand-mark.ow-brand-mark-wide{width:118px!important;height:54px!important}}
@media(max-width:640px){#booking .ow-booking-card-compact:before{right:14px;font-size:.5rem}#booking .ow-booking-card-compact:after{right:-22px;width:72px;height:72px}.vehicle-card,.route-card,.ow-group-fleet-card{box-shadow:7px 9px 0 rgba(110,231,245,.1),0 16px 30px rgba(9,35,57,.12)!important}}

.ow3d-hero-chip{position:absolute;z-index:3;left:clamp(1.25rem,5vw,5rem);top:7rem;display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .8rem;border:1px solid rgba(110,231,245,.35);border-radius:999px;background:rgba(5,18,32,.55);color:#d8f9ff;font-size:.58rem;font-weight:900;letter-spacing:.15em;box-shadow:0 10px 28px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.ow3d-chip-dot{display:block;width:.48rem;height:.48rem;border-radius:50%;background:#6ee7f5;box-shadow:0 0 0 5px rgba(110,231,245,.12),0 0 18px rgba(110,231,245,.8);animation:ow3d-pulse 1.8s ease-in-out infinite}
@keyframes ow3d-pulse{0%,100%{opacity:.65;transform:scale(.88)}50%{opacity:1;transform:scale(1.14)}}
.ow3d-form-title{display:flex;align-items:center;gap:.7rem;margin-bottom:.75rem;color:#07111f}
.ow3d-form-title strong{display:block;font-size:1.12rem;font-weight:950;letter-spacing:-.03em}
.ow3d-form-title small{display:block;margin-top:.12rem;color:#5e7588;font-size:.67rem;font-weight:700;letter-spacing:.03em}
.ow3d-form-orb{display:block;width:2.3rem;height:2.3rem;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff5bd 0 8%,#ffbd4a 9% 42%,#ff7548 43% 68%,#0e354d 69%);box-shadow:inset -5px -7px 0 rgba(4,21,36,.14),0 8px 16px rgba(255,145,61,.25)}
@media(max-width:640px){.ow3d-hero-chip{top:5.3rem;left:1.25rem;font-size:.48rem}.ow3d-form-title strong{font-size:1rem}}

/* Preserved route and blog pages: same premium 3D language */
body.ow3d-route main>section:first-child,body.ow3d-blog main>section:first-child{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(110,231,245,.2),transparent 22%),linear-gradient(145deg,#07111f,#0e2d40)!important}
body.ow3d-route main>section:first-child:after,body.ow3d-blog main>section:first-child:after{content:"";position:absolute;inset:auto -5% -35% 45%;height:70%;border:1px solid rgba(110,231,245,.25);border-radius:50%;box-shadow:0 0 0 20px rgba(110,231,245,.04),0 0 0 42px rgba(110,231,245,.025);pointer-events:none}
body.ow3d-route main>section:first-child h1,body.ow3d-blog main>section:first-child h1{background:linear-gradient(135deg,#fff 0 42%,#ffbd4a 43% 76%,#6ee7f5 77%);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:0 10px 28px rgba(0,0,0,.18)}
body.ow3d-route main>section:first-child img,body.ow3d-blog main>section:first-child img{border:1px solid rgba(255,255,255,.18)!important;box-shadow:18px 20px 0 rgba(110,231,245,.12),0 24px 50px rgba(0,0,0,.32);transform:rotate(1.5deg);transition:transform .3s ease}
body.ow3d-route main>section:first-child img:hover,body.ow3d-blog main>section:first-child img:hover{transform:rotate(0) translateY(-4px)}
body.ow3d-route main>section:nth-child(2),body.ow3d-blog main>section:nth-child(2){background:linear-gradient(180deg,#f6fafc,#e8f1f5)!important}
body.ow3d-route main>section:nth-child(3),body.ow3d-blog main>section:nth-child(3){background:linear-gradient(145deg,#102b3e,#153f51)!important;color:#fff}
body.ow3d-route main>section:nth-child(4),body.ow3d-blog main>section:nth-child(4){background:linear-gradient(180deg,#eff6f8,#e5eef3)!important}
body.ow3d-route main>section:nth-child(5),body.ow3d-blog main>section:nth-child(5){background:#f8fbfc!important}
body.ow3d-route main>section:nth-child(2) [class*="rounded"],body.ow3d-route main>section:nth-child(4) [class*="rounded"],body.ow3d-blog main>section:nth-child(2) [class*="rounded"],body.ow3d-blog main>section:nth-child(4) [class*="rounded"]{border-color:rgba(39,86,112,.15)!important;border-radius:23px!important;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(218,235,241,.86))!important;box-shadow:11px 13px 0 rgba(110,231,245,.12),0 20px 40px rgba(9,35,57,.12)!important}
body.ow3d-route main>section:nth-child(3) [class*="bg-[#f5c518]"],body.ow3d-blog main>section:nth-child(3) [class*="bg-[#f5c518]"]{border-radius:24px!important;background:linear-gradient(135deg,#ffda70,#ff9c36)!important;box-shadow:12px 14px 0 rgba(110,231,245,.22),0 22px 42px rgba(0,0,0,.18)!important}
body.ow3d-route main>section:nth-child(3) a,body.ow3d-blog main>section:nth-child(3) a{border-radius:12px!important;box-shadow:0 7px 0 rgba(7,17,31,.25)}
body.ow3d-route main>section:nth-child(6),body.ow3d-blog main>section:nth-child(6){background:linear-gradient(145deg,#07111f,#0e2d40)!important;color:#fff}
body.ow3d-route main h2,body.ow3d-blog main h2{color:inherit;text-shadow:0 3px 0 rgba(255,255,255,.55)}
body.ow3d-route main a[class*="rounded"],body.ow3d-blog main a[class*="rounded"]{transition:transform .2s ease,box-shadow .2s ease!important}
body.ow3d-route main a[class*="rounded"]:hover,body.ow3d-blog main a[class*="rounded"]:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,0,0,.2)}

body.ow3d-admin{min-height:100vh;background:radial-gradient(circle at 92% 0%,rgba(110,231,245,.18),transparent 24%),linear-gradient(145deg,#07111f,#0e2d40)!important;color:#f6f8fb!important}
body.ow3d-admin .admin-page{min-height:calc(100vh - 80px);background:transparent!important;color:#f6f8fb!important}
body.ow3d-admin .admin-page h1,body.ow3d-admin .admin-page h2,body.ow3d-admin .admin-page h3,body.ow3d-admin .admin-page p{color:inherit}
body.ow3d-admin .admin-page .text-\[\#111111\],body.ow3d-admin .admin-page .text-\[\#777064\]{color:#c8d8e2!important}
body.ow3d-admin footer{background:rgba(5,15,28,.86)!important}

/* Mobile stability patch: no horizontal drift on narrow screens */
html,body,#root{max-width:100%;overflow-x:hidden!important}
*,*:before,*:after{box-sizing:border-box}
img,video,svg{max-width:100%;height:auto}
main,main>*,section,article,header,footer{max-width:100%;min-width:0}
#booking>div.relative,#fleet,#routes,#guides,#all-routes{width:100%;min-width:0}
#booking [data-ow-updated-form],#booking .ow-booking-card-compact,#booking .ow-grid,#booking .ow-field,#booking .ow-input{min-width:0;max-width:100%}
#booking .ow-booking-card-compact:after{max-width:72px}
.ow-group-fleet-card,.vehicle-card,.route-card{min-width:0}
.ow-group-fleet-card img,.vehicle-card img,.route-card img{max-width:100%}
@media(max-width:640px){
  header>div{width:100%;max-width:100%!important;gap:.45rem!important;padding-left:.75rem!important;padding-right:.75rem!important}
  header nav{min-width:0;max-width:calc(100vw - 150px);overflow-x:auto;scrollbar-width:none}
  header nav::-webkit-scrollbar{display:none}
  header nav a{white-space:nowrap;font-size:.68rem}
  #booking>div.relative{display:flex!important;flex-direction:column;gap:2rem!important;padding-left:1rem!important;padding-right:1rem!important}
  #booking>div.relative>div{max-width:100%!important;min-width:0}
  #booking .ow-booking-card-compact{width:100%!important;padding:.9rem!important;border-radius:20px!important}
  #booking .ow-booking-card-compact:before{right:10px;top:-13px;max-width:calc(100% - 20px);white-space:nowrap}
  #booking .ow-booking-card-compact:after{right:-10px;top:-24px}
  #booking [data-ow-updated-form] .ow-tabs{gap:.25rem}
  #booking [data-ow-updated-form] .ow-tab{padding:.62rem .22rem;font-size:.68rem}
  #booking [data-ow-updated-form] .ow-package-rates,#booking [data-ow-updated-form] .ow-rate-grid{grid-template-columns:1fr 1fr;min-width:0}
  .ow3d-hero-chip{max-width:calc(100vw - 2rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ow-group-fleet{padding:1rem!important}
  .ow-group-fleet-grid{grid-template-columns:1fr!important}
  body.ow3d-route main>section:first-child img,body.ow3d-blog main>section:first-child img{transform:none!important}
}
@media(max-width:380px){
  #booking [data-ow-updated-form] .ow-tabs{grid-template-columns:1fr}
  #booking [data-ow-updated-form] .ow-tab{width:100%}
  #booking [data-ow-updated-form] .ow-package-rates,#booking [data-ow-updated-form] .ow-rate-grid{grid-template-columns:1fr}
  header nav{max-width:calc(100vw - 125px)}
}
