:root{
    --cyb-gold:#ffc107;
    --cyb-gold-deep:#e7a900;
    --cyb-night:#071513;
    --cyb-navy:#10243f;
    --cyb-blue:#246bfd;
    --cyb-green:#16a36a;
    --cyb-coral:#ef6a52;
    --cyb-surface:#f7f9f8;
}
.checkout-summary-card .journey-summary{display:none!important}
.checkout-summary-card > .my-3{display:none!important}

html{scroll-behavior:smooth}
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
.public-site{background:radial-gradient(circle at 92% 8%,rgba(255,193,7,.09),transparent 22rem),#f8faf9;color:var(--cyb-night)}
.public-site main{overflow:clip}

/* Public navigation */
.site-header{box-shadow:0 10px 35px rgba(7,21,19,.055)}
.site-nav-inner{gap:1rem}
.navbar .nav-link{position:relative;border-radius:.7rem;white-space:nowrap;transition:color .18s ease,background .18s ease}
.navbar .nav-link.active{background:rgba(255,193,7,.15);color:var(--cyb-night)}
.navbar .nav-link.active:after{content:"";position:absolute;right:.8rem;bottom:.4rem;left:.8rem;height:2px;border-radius:2px;background:var(--cyb-gold-deep)}
.navbar .dropdown-menu{padding:.65rem;border:1px solid rgba(7,21,19,.1);border-radius:1rem;box-shadow:0 22px 55px rgba(7,21,19,.14)}
.navbar .dropdown-item{padding:.7rem .9rem;border-radius:.65rem;font-weight:750;color:#485653}
.navbar .dropdown-item:hover{background:#fff7d7;color:var(--cyb-night)}
.navbar .btn-brand{box-shadow:0 10px 25px rgba(7,21,19,.17)}

/* Typography and color hierarchy */
.section-kicker,.step-kicker,.driver-kicker,.admin-kicker{display:inline-flex;align-items:center;gap:.45rem}
.section-kicker:before,.step-kicker:before{content:"";width:22px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--cyb-gold),var(--cyb-coral))}
.section-title,.step-title,.booking-heading h1{letter-spacing:-.045em;text-wrap:balance}
.section-copy,.step-copy{max-width:760px;line-height:1.75}
.btn{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.btn:hover{box-shadow:0 12px 26px rgba(7,21,19,.11)}
.btn-lime{border-color:transparent;background:linear-gradient(135deg,#ffd329,var(--cyb-gold));box-shadow:0 14px 30px rgba(255,193,7,.23)}
.btn-brand{background:linear-gradient(135deg,#071513,#173d37)}

/* Richer cards without losing the premium restrained palette */
.value-card,.service-card,.feature-card,.fleet-card,.review-card,.booking-panel,.admin-card,.driver-card{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.value-card:hover,.service-card:hover,.fleet-card:hover,.admin-card:hover,.driver-card:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(7,21,19,.1)}
.service-card{position:relative;overflow:hidden;border-color:rgba(7,21,19,.08)!important}
.service-card:after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--cyb-blue)}
#services .row>div:nth-child(2n) .service-card:after{background:var(--cyb-green)}
#services .row>div:nth-child(3n) .service-card:after{background:var(--cyb-coral)}
.feature-card .icon-box,.service-card .icon-box{box-shadow:0 12px 25px rgba(255,193,7,.18)}
.fleet-section{position:relative;overflow:hidden;background:radial-gradient(circle at 8% 18%,rgba(255,193,7,.14),transparent 28rem),radial-gradient(circle at 94% 72%,rgba(22,163,158,.12),transparent 30rem),linear-gradient(180deg,#f7f9f7 0%,#eef3f0 100%)}
.fleet-section:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(7,21,19,.08) .65px,transparent .65px);background-size:18px 18px;opacity:.2}
.fleet-section>.container-xxl{position:relative;z-index:1}
.fleet-section .row>.col:nth-child(5n+1){--fleet-accent:#ffbd00;--fleet-soft:#fff5cd;--fleet-ink:#503a00}
.fleet-section .row>.col:nth-child(5n+2){--fleet-accent:#19a79e;--fleet-soft:#dff8f4;--fleet-ink:#075c57}
.fleet-section .row>.col:nth-child(5n+3){--fleet-accent:#ef6b55;--fleet-soft:#ffebe7;--fleet-ink:#8a2e20}
.fleet-section .row>.col:nth-child(5n+4){--fleet-accent:#4175e7;--fleet-soft:#e8efff;--fleet-ink:#173d94}
.fleet-section .row>.col:nth-child(5n+5){--fleet-accent:#9a63db;--fleet-soft:#f2e9ff;--fleet-ink:#56308a}
.fleet-card{--fleet-accent:#ffbd00;--fleet-soft:#fff5cd;--fleet-ink:#503a00;position:relative;display:flex;height:100%;flex-direction:column;overflow:hidden;border:1px solid rgba(7,21,19,.08)!important;border-radius:1.7rem!important;background:#fff;box-shadow:0 18px 50px -28px rgba(7,21,19,.4)}
.fleet-card:before{content:"";position:absolute;z-index:3;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--fleet-accent),color-mix(in srgb,var(--fleet-accent) 45%,#fff))}
.fleet-card:hover{border-color:color-mix(in srgb,var(--fleet-accent) 55%,transparent)!important;box-shadow:0 28px 64px -30px color-mix(in srgb,var(--fleet-accent) 55%,#071513);transform:translateY(-7px)}
.fleet-media{position:relative;display:grid;width:100%;aspect-ratio:16/10;place-items:center;overflow:hidden;padding:.8rem;background:radial-gradient(circle at 52% 58%,#fff 0 25%,var(--fleet-soft) 74%,color-mix(in srgb,var(--fleet-accent) 24%,#fff) 100%);text-decoration:none}
.fleet-media:after{content:"";position:absolute;right:-45px;bottom:-70px;width:160px;height:160px;border:28px solid color-mix(in srgb,var(--fleet-accent) 16%,transparent);border-radius:50%}
.fleet-card .fleet-media img{position:relative;z-index:1;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;filter:drop-shadow(0 14px 13px rgba(7,21,19,.16));transition:transform .35s ease,filter .35s ease}
.fleet-card:hover .fleet-media img{filter:drop-shadow(0 18px 16px rgba(7,21,19,.23));transform:scale(1.025)}
.fleet-body{display:flex;flex:1;flex-direction:column;padding:1.4rem!important}
.fleet-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}
.fleet-body .fleet-title-row h3{margin:0;font-size:clamp(1.08rem,1.25vw,1.3rem);font-weight:900;line-height:1.16;letter-spacing:-.025em}
.fleet-title-row h3 a{color:#0b1917;text-decoration:none}
.fleet-title-row h3 a:hover{color:var(--fleet-ink)}
.fleet-card .fare-badge{display:inline-flex;flex:0 0 auto;align-items:center;gap:.25rem;padding:.52rem .68rem;border:1px solid color-mix(in srgb,var(--fleet-accent) 26%,transparent);background:var(--fleet-soft);color:var(--fleet-ink);font-size:.78rem;font-weight:900;line-height:1;box-shadow:0 8px 18px -13px var(--fleet-accent)}
.fleet-card .fare-badge small{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.fleet-description{min-height:3.25rem;margin:1rem 0 1.15rem;color:#63726d;font-size:.9rem;line-height:1.65}
.fleet-specs{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:auto}
.fleet-specs span{display:inline-flex;align-items:center;gap:.38rem;padding:.5rem .65rem;border:1px solid color-mix(in srgb,var(--fleet-accent) 20%,#e5ebe8);border-radius:999px;background:color-mix(in srgb,var(--fleet-soft) 62%,#fff);color:#52635d;font-size:.74rem;font-weight:700}
.fleet-specs i{color:var(--fleet-ink);font-size:.9rem}.fleet-specs strong{color:#10201d}
.fleet-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:1.15rem;padding:.82rem 1rem;border:1px solid var(--fleet-accent);border-radius:.85rem;background:linear-gradient(135deg,var(--fleet-accent),color-mix(in srgb,var(--fleet-accent) 72%,#fff));color:#071513;text-decoration:none;font-size:.82rem;font-weight:900;transition:filter .2s ease,transform .2s ease}
.fleet-card-link:hover{color:#071513;filter:saturate(1.08) brightness(.98);transform:translateY(-1px)}
.fleet-card-link i{transition:transform .2s ease}.fleet-card-link:hover i{transform:translateX(4px)}
.fleet-eyebrow{display:flex;align-items:center;gap:.4rem;margin-bottom:.65rem;color:var(--fleet-ink);font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.fleet-eyebrow i{font-size:.8rem}
.fleet-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem .7rem;margin:1rem 0 0;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--fleet-accent) 16%,#e5ebe8)}.fleet-features span{display:flex;align-items:flex-start;gap:.35rem;color:#64736e;font-size:.72rem;line-height:1.35}.fleet-features i{flex:0 0 auto;color:var(--fleet-ink);font-size:.8rem;font-weight:900}.fleet-hero-content{max-width:760px}.fleet-hero-points{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;margin-top:1.5rem;color:#d9e5e0;font-size:.82rem;font-weight:750}.fleet-hero-points span{display:inline-flex;align-items:center;gap:.45rem}.fleet-hero-points i{color:var(--cyb-lime)}
.fleet-page-section{background:radial-gradient(circle at 4% 8%,rgba(255,193,7,.12),transparent 26rem),#0a0a0a}.public-site .fleet-section .fleet-card{background:#151515;border-color:#303030!important;box-shadow:0 22px 55px -35px #000}.public-site .fleet-section .fleet-title-row h3 a{color:#f4f4f4}.public-site .fleet-section .fleet-description{color:#adb8b4}.public-site .fleet-section .fleet-specs span{background:#202020;color:#dce5e1;border-color:#3b3b3b}.public-site .fleet-section .fleet-specs strong{color:#fff}.public-site .fleet-section .fleet-features span{color:#adb8b4}.public-site .fleet-section .fleet-media{background:radial-gradient(circle at 52% 58%,#171717 0 25%,#101010 74%,#1e1a0d 100%)}
@media(max-width:575.98px){.fleet-features{grid-template-columns:1fr}.fleet-hero-points{flex-direction:column;gap:.55rem}}
.fleet-detail-section{background:linear-gradient(180deg,#f7f9f7,#eef3f0)}.fleet-detail-features .value-card{height:100%;background:#fff}.fleet-detail-aside{position:sticky;top:104px}
.public-site .fleet-detail-hero{padding-block:clamp(4rem,8vw,7rem);background:radial-gradient(circle at 82% 15%,rgba(255,195,41,.22),transparent 25rem),linear-gradient(135deg,#050505,#171717 58%,#101010)}.public-site .fleet-detail-hero h1{max-width:700px;color:#fff}.public-site .fleet-detail-hero p{max-width:650px;color:#c9d4d0;font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.7}.fleet-detail-stats{display:flex;flex-wrap:wrap;gap:.75rem}.fleet-detail-stats span{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem .9rem;border:1px solid rgba(255,210,28,.25);border-radius:999px;background:rgba(255,255,255,.06);color:#dce5e1;font-size:.82rem}.fleet-detail-stats i{color:#ffd21c}.fleet-detail-stats strong{color:#fff}.fleet-detail-image{position:relative;overflow:hidden;border:1px solid rgba(255,210,28,.3);border-radius:28px;background:#050505;box-shadow:0 28px 70px rgba(0,0,0,.35)}.fleet-detail-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#050505}.fleet-detail-image span{position:absolute;right:1rem;bottom:1rem;left:1rem;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(0,0,0,.72);color:#fff;font-size:.78rem;font-weight:750;text-align:center}.public-site .fleet-detail-section{background:#0a0a0a;color:#fff}.public-site .fleet-detail-section .section-title{color:#fff}.public-site .fleet-detail-section .section-copy{color:#aebbb7}.public-site .fleet-detail-section .eyebrow{background:rgba(255,210,28,.1);color:#ffd21c}.public-site .fleet-detail-features .value-card{border-color:#2c2c2c;background:#151515;color:#e7eeeb}.public-site .fleet-detail-aside{background:linear-gradient(145deg,#171717,#0d0d0d);border:1px solid #3b3215;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.fleet-page-section{padding-top:5rem}
.review-card{position:relative;overflow:hidden}
.review-card:before{content:"“";position:absolute;right:1.25rem;top:-1.4rem;color:rgba(255,193,7,.16);font-size:9rem;font-weight:900;line-height:1}
.accordion-item{border-color:rgba(7,21,19,.09)!important}
.accordion-button{font-size:1rem;line-height:1.45}
.accordion-button:not(.collapsed){background:#fff8df;color:var(--cyb-night);box-shadow:none}

/* Booking and form experience */
.booking-page{background:radial-gradient(circle at 5% 5%,rgba(255,193,7,.19),transparent 25rem),radial-gradient(circle at 96% 28%,rgba(36,107,253,.08),transparent 24rem),#f7f9f8}
.booking-panel{border:1px solid rgba(7,21,19,.075)!important;box-shadow:0 24px 70px rgba(7,21,19,.07)}
.booking-progress li{border-color:rgba(7,21,19,.1)!important;box-shadow:0 8px 24px rgba(7,21,19,.035)}
.booking-progress li.active{background:linear-gradient(135deg,#071513,#173d37);border-color:#071513!important}
.booking-progress li.current{box-shadow:0 0 0 3px rgba(255,193,7,.3),0 14px 30px rgba(7,21,19,.12)}
.form-label{margin-bottom:.55rem;color:#263631;font-size:.82rem;font-weight:850;letter-spacing:.01em}
.form-control,.form-select,.address-input-wrap{border-color:#d9e1de;background-color:#fbfcfc;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.form-control:not(textarea),.form-select{min-height:52px}
.form-control:focus,.form-select:focus,.address-input-wrap:focus-within{border-color:#d5a500;background:#fff;box-shadow:0 0 0 .25rem rgba(255,193,7,.16)}
.input-group-text{border-color:#d9e1de;background:#f3f6f5;color:#52615d}
.address-results{border:1px solid rgba(7,21,19,.1)!important;box-shadow:0 24px 65px rgba(7,21,19,.16)!important}
.address-result:hover,.address-result.active{background:linear-gradient(90deg,#fff7d9,#fff)}
.route-preview{box-shadow:0 14px 34px rgba(7,21,19,.07)}
.route-preview>div:nth-child(1) .metric-value{color:var(--cyb-blue)}
.route-preview>div:nth-child(2) .metric-value{color:var(--cyb-green)}
.route-preview>div:nth-child(3) .metric-value{color:#a66e00}

/* Portal polish */
.driver-portal{background:radial-gradient(circle at 95% 0,rgba(36,107,253,.08),transparent 24rem),#f4f7fb}
.driver-sidebar{background:linear-gradient(180deg,#0c1523,#101f35)}
.driver-nav a.active{background:linear-gradient(135deg,#ffd329,#ffc107);box-shadow:0 10px 24px rgba(255,193,7,.17)}
.driver-card{border-color:rgba(16,36,63,.08);box-shadow:0 16px 42px rgba(16,36,63,.065)}
.admin-body{background:radial-gradient(circle at 96% 0,rgba(255,193,7,.09),transparent 26rem),#f3f6f5}
.admin-sidebar{background:linear-gradient(180deg,#071513,#102a26)}
.admin-card,.admin-metric{border-color:rgba(7,21,19,.08)!important;box-shadow:0 16px 42px rgba(7,21,19,.055)}
.admin-topbar{box-shadow:0 8px 28px rgba(7,21,19,.04)}
.auth-card{border-color:rgba(7,21,19,.08)!important;box-shadow:0 30px 85px rgba(7,21,19,.13)!important}

@media(max-width:1199.98px){
    .navbar-collapse{margin:0 0 1rem!important;padding:1rem;border:1px solid rgba(7,21,19,.08);border-radius:1rem;background:#fff;box-shadow:0 18px 45px rgba(7,21,19,.09)}
    .navbar-nav{gap:.15rem!important}
    .navbar .nav-link{padding:.72rem .85rem!important}
    .navbar .nav-link.active:after{display:none}
    .navbar .dropdown-menu{border:0;box-shadow:none;background:#f7f9f8}
}

@media(max-width:767.98px){
    .section-title{font-size:clamp(2.05rem,10vw,3rem)}
    .booking-panel{border-radius:1.25rem!important;box-shadow:0 16px 45px rgba(7,21,19,.07)}
    .booking-progress{gap:.5rem}
    .public-site{background:#f8faf9}
}

@media(max-width:575.98px){
    .site-nav-inner{min-height:74px;gap:.4rem;flex-wrap:nowrap}
    .site-nav-inner .brand-lockup{margin-right:auto}
    .site-nav-inner .brand-logo{width:140px;height:auto}
    .site-nav-inner>.d-flex{gap:.35rem!important;flex:0 0 auto}
    .site-nav-inner .navbar-toggler{padding:.35rem .45rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.value-card,.service-card,.feature-card,.fleet-card,.review-card,.booking-panel,.admin-card,.driver-card,.btn{transition:none!important}}

/* Responsive form motion: keep controls calm while making state changes clear. */
.form-select,.form-control,.form-check-input,.dropdown-toggle{transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}
.form-select:hover,.dropdown-toggle:hover{border-color:#caa21a}
.form-select:focus,.dropdown-toggle:focus{transform:translateY(-1px)}
.dropdown-menu{transform-origin:top center;animation:cyb-dropdown-in .18s cubic-bezier(.2,.75,.25,1) both}
.dropdown-item{transition:background-color .16s ease,color .16s ease,transform .16s ease}
.dropdown-item:hover,.dropdown-item:focus{transform:translateX(3px)}
.form-check-input{position:relative;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .16s ease}
.form-check-input:active{transform:scale(.92)}
button[aria-busy="true"],button:disabled[data-loading],.is-loading{cursor:wait!important;pointer-events:none;opacity:.78}
[wire\:loading]{transition:opacity .18s ease,transform .18s ease}
[wire\:loading].spinner-border{animation:cyb-spin .7s linear infinite}
@keyframes cyb-dropdown-in{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes cyb-spin{to{transform:rotate(360deg)}}
.fleet-page-image,.route-card-image{width:100%;height:240px;object-fit:cover;background:linear-gradient(135deg,#eff4f2,#dfe8e5)}

/* Mobile Safari zooms controls below 16px and the focus lift makes the page
   appear to jump when the keyboard opens. Keep booking controls stable. */
@media(max-width:767.98px){
    html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
    html,body{overflow-x:hidden;max-width:100%;}
    .booking-page{width:100%;max-width:100%;overflow-x:clip;contain:layout paint;}
    .booking-page input:not([type="checkbox"]):not([type="radio"]),
    .booking-page select,
    .booking-page textarea,
    .booking-page .address-input{font-size:16px!important;line-height:1.35;}
    .booking-page .form-select:focus,.booking-page .dropdown-toggle:focus{transform:none;}
    .booking-page .form-control,.booking-page .form-select,.booking-page .address-input-wrap{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;}
    .booking-page .address-input-wrap{width:100%;min-width:0;box-sizing:border-box;}
    .booking-page .address-input-wrap input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
}
