/* =========================================================
   EZ CAB - Modern Responsive UI Layer
   UI-only overrides: booking/database/business logic untouched.
   ========================================================= */
:root{
  --ez-primary:#155EEF;
  --ez-primary-dark:#0B3AA4;
  --ez-accent:#16A34A;
  --ez-ink:#101828;
  --ez-muted:#667085;
  --ez-border:#E4E7EC;
  --ez-bg:#F7F9FC;
  --ez-card:#FFFFFF;
  --ez-radius:20px;
  --ez-shadow:0 12px 35px rgba(16,24,40,.08);
}
html{scroll-behavior:smooth}
body{background:var(--ez-bg)!important;color:var(--ez-ink);font-family:var(--normal),Arial,sans-serif;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;height:auto}
.container,.max-container{width:min(100% - 32px,1240px);max-width:1240px}
.max-container{margin-inline:auto}

/* Header */
header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,24,40,.07);box-shadow:0 4px 18px rgba(16,24,40,.04)}
header .navbar{background:transparent!important;padding:12px 0!important}
header .navbar-brand{padding:0;display:flex;align-items:center}
header .logo{width:174px;height:auto;max-height:46px;object-fit:contain}
header .navbar-collapse{padding:0!important}
header .navbar-toggler{border:1px solid var(--ez-border);border-radius:12px;padding:8px 10px;box-shadow:none!important}
header .navbar-toggler:focus{box-shadow:0 0 0 3px rgba(21,94,239,.12)!important}
header .border2{border:1px solid var(--ez-border)!important;background:#fff;border-radius:14px!important;overflow:hidden;box-shadow:none}
header .border2 .bg-blue{background:var(--ez-primary)!important}
header .border2 p{font-size:13px;line-height:1.2}
header .border2 .col-4{padding:8px 12px}
header .border2 .col-8{padding:10px 14px!important}
header .navbar-text{font-family:var(--medium);color:var(--ez-ink)}
header .navbar-text i{color:var(--ez-primary)}
header .dropdown-menu{border:1px solid var(--ez-border);border-radius:14px;padding:8px;box-shadow:var(--ez-shadow)}
header .dropdown-item{border-radius:9px;padding:9px 12px}
header .dropdown-item:hover{background:#EEF4FF;color:var(--ez-primary)}
header .btn-theme, header .bg-theme{background:var(--ez-primary)!important;border:0!important}
header .btn-theme:hover{background:var(--ez-primary-dark)!important}

/* Typography */
.heading-1{font-size:clamp(38px,5vw,68px)!important;line-height:1.04!important;letter-spacing:-.035em}
.heading-2{font-size:clamp(30px,4vw,48px)!important;line-height:1.12!important;letter-spacing:-.025em}
.heading-orange{color:var(--ez-primary)!important;letter-spacing:.08em;font-size:13px!important}
.title{font-size:clamp(24px,3vw,32px)!important;line-height:1.15!important}
.title-2{font-size:18px!important}
p{color:var(--ez-muted);line-height:1.65}

/* Hero */
.banner-bg{min-height:650px!important;padding:48px 0!important;background-position:center!important;border-radius:0!important;position:relative;isolation:isolate}
.banner-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,28,.82),rgba(4,12,28,.40));z-index:-1}
.banner-container{padding:40px 0!important;background:transparent!important}
.banner-heading{text-shadow:0 8px 30px rgba(0,0,0,.25)}
.glass{max-width:520px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.25);border-radius:24px!important;padding:8px;box-shadow:0 25px 70px rgba(0,0,0,.25);backdrop-filter:blur(18px)!important}
.glass .tabs{background:transparent!important;backdrop-filter:none!important;border-radius:18px}
.tabs .nav-tabs{padding:10px!important;gap:8px!important;display:flex;flex-wrap:wrap}
.tabs ul li{margin:0!important}
.tabs ul li a{border:1px solid rgba(255,255,255,.4)!important;border-radius:999px!important;padding:10px 16px!important;margin:0!important;font-family:var(--medium);font-size:14px}
.tabs ul li a.active,.tabs ul li a:hover{background:#fff!important;color:var(--ez-primary)!important;border-color:#fff!important}
#tabForm{padding:12px!important}
#tabForm .form-control,#tabForm select,.glass input,.glass select{background:rgba(255,255,255,.97)!important;border:1px solid rgba(255,255,255,.55)!important;color:var(--ez-ink)!important;border-radius:12px!important;min-height:48px;box-shadow:none!important}
#tabForm label{color:#fff!important;font-family:var(--medium)}
.form-search-btn{background:var(--ez-primary)!important;border-radius:12px!important;min-height:50px;box-shadow:0 10px 25px rgba(21,94,239,.28)}

/* Cards / route cards */
.card-1,.card,.car-doc-list,.car-data.checkout-page{border:1px solid var(--ez-border)!important;box-shadow:var(--ez-shadow)!important;border-radius:20px!important}
.card-1{padding:0!important;overflow:hidden;margin-top:24px}
.card-1 .img-sec{position:relative;background:#eef2f6;min-height:180px;overflow:hidden}
.card-1 .img-sec img{width:100%;height:220px;object-fit:cover;display:block}
.card-1>h1,.card-1>.title{font-size:22px!important;line-height:1.3;padding:18px 20px 6px!important;margin:0}
.card-1>.row{margin:0 20px!important;padding:12px 0!important}
.card-1 .card-btn{margin:10px 20px 20px!important;width:calc(100% - 40px)!important}
.btn-4-sec{top:14px;right:14px;background:rgba(16,24,40,.88)!important;border:0!important;padding:8px 13px!important}
.card-btn{background:var(--ez-primary)!important;min-height:44px;font-family:var(--medium);transition:.2s ease}
.card-btn:hover{background:var(--ez-primary-dark)!important;transform:translateY(-1px)}
.left-card{background:linear-gradient(135deg,#0B1220,#182230)!important;box-shadow:var(--ez-shadow)}

/* Feature sections */
.start-sec{margin-top:72px!important}
.border-botoom{border-color:var(--ez-border)!important}
.left{background:linear-gradient(135deg,#0B1220,#182230)!important}
.border-google{border:1px solid rgba(255,255,255,.25)!important;background:rgba(255,255,255,.05)}

/* Checkout */
.checkout-bg{min-height:300px;background-position:center!important}
.checkout-bg .banner-container{padding:72px 0!important;background:linear-gradient(90deg,rgba(21,94,239,.75),rgba(10,30,70,.45))!important}
.car-doc-list{padding:24px!important;background:#fff!important}
.car-pic-clm{padding:18px 0!important}
.checkout-form-clm .form-clm{padding:26px!important;border:1px solid var(--ez-border);box-shadow:var(--ez-shadow);border-radius:20px!important}
.checkout-form-clm .form-div{margin-bottom:18px!important}
.checkout-form-clm label.form-label{font-size:14px!important;color:var(--ez-ink)!important}
.checkout-form-clm .form-div .form-control,.checkout-form-clm select{min-height:48px;border-radius:12px!important;border:1px solid var(--ez-border)!important;background:#fff!important}
.pay-btn{background:var(--ez-primary)!important;border:0!important;border-radius:12px!important;padding:13px 20px!important;font-family:var(--medium)}

/* Auth */
.log-in-page{min-height:100vh!important;padding:40px 16px;background-image:linear-gradient(135deg,rgba(3,10,24,.78),rgba(21,94,239,.35)),url("../images/login-bg.webp")!important}
.log-in-page .row{max-width:520px!important}
.login-main{width:100%;padding:8px}
.login-main .title h1{font-size:clamp(42px,7vw,64px)!important;letter-spacing:-.04em}
.login-main form{background:rgba(255,255,255,.11)!important;border:1px solid rgba(255,255,255,.22);box-shadow:0 25px 70px rgba(0,0,0,.30);padding:28px!important;backdrop-filter:blur(18px)!important}
.login-main form .form-control{min-height:50px!important;border-radius:12px!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.3)!important}
.login-main form button.btn{min-height:50px;background:var(--ez-primary)!important}
.login-main form a{font-size:13px;color:#fff!important;opacity:.9}
.login-main form a:hover{opacity:1}

/* Generic forms/tables */
.form-control,.form-select,select{border:1px solid var(--ez-border)!important;border-radius:12px!important;min-height:46px;box-shadow:none!important}
.form-control:focus,.form-select:focus,select:focus{border-color:#98B4F8!important;box-shadow:0 0 0 4px rgba(21,94,239,.10)!important}
.table-responsive{border-radius:16px}
.table{background:#fff;border-color:var(--ez-border)!important}
.table thead th{background:#F8FAFC!important;color:#344054!important;font-family:var(--medium);font-size:13px;white-space:nowrap}

/* Footer */
footer{margin-top:80px!important}
.f1-bg{background:linear-gradient(135deg,#155EEF,#0B3AA4)!important;background-image:linear-gradient(135deg,#155EEF,#0B3AA4)!important}
.f2-bg{background:#0B1220!important}
.f-sec-2{margin-top:0!important;padding-top:28px;padding-bottom:20px}
.footer-link{opacity:.85;transition:.2s}.footer-link:hover{opacity:1;color:#fff}

/* Select2 */
.select2-container{width:100%!important}
.select2-container--default .select2-selection--single{height:48px!important;border:1px solid var(--ez-border)!important;border-radius:12px!important;padding:9px 12px!important;background:#fff!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:10px!important;right:8px!important}

/* Utility */
.bg-blue{background:var(--ez-primary)!important}
.border2{border-color:var(--ez-primary)!important}
.text-theme{color:var(--ez-primary)!important}

@media (max-width: 991.98px){
  header .navbar-collapse{background:#fff;border-top:1px solid var(--ez-border);margin-top:12px;padding:14px!important;border-radius:16px}
  header .navbar-collapse .flex-evenly{flex-direction:column;gap:12px}
  header .showhide{display:none!important}
  header .navbar-nav,header .navbar-text{width:100%}
  header .btn-theme{display:inline-block;margin-top:4px}
  .banner-bg{min-height:720px!important}
  .banner-container{padding:20px 0!important}
  .banner-heading{text-align:left!important}
  .glass{margin:25px auto 0!important}
}
@media (max-width: 767.98px){
  .container,.max-container{width:min(100% - 24px,1240px)}
  header .logo{width:145px}
  header .nav-show-phone{display:inline-flex!important;width:42px;height:42px;padding:0!important;align-items:center;justify-content:center;border-radius:12px;background:#EEF4FF;color:var(--ez-primary)}
  .banner-bg{min-height:760px!important;padding:24px 0!important}
  .heading-1{font-size:38px!important}
  .heading-2{font-size:30px!important}
  .glass{border-radius:18px!important}
  .tabs ul li{flex:1 1 auto}
  .tabs ul li a{width:100%!important;font-size:13px!important}
  #tabForm{padding:8px!important}
  .start-sec{margin-top:48px!important}
  .card-1 .img-sec img{height:190px}
  .checkout-form-clm .form-clm,.car-doc-list{padding:18px!important}
  .car-pic-clm{gap:12px}
  .login-main form{padding:20px!important}
  footer{margin-top:55px!important}
  .f1-bg .heading-2{font-size:28px!important}
}
@media (max-width: 420px){
  header .logo{width:128px}
  .banner-bg{min-height:790px!important}
  .heading-1{font-size:34px!important}
  .tabs ul li a{padding:9px 8px!important}
  .card-1>.row{margin-inline:14px!important}
  .card-1 .card-btn{margin-inline:14px!important;width:calc(100% - 28px)!important}
}

.ez-nav-links{white-space:nowrap}.ez-nav-link{padding:9px 12px;border-radius:9px;text-decoration:none!important;color:#344054!important;font-family:var(--medium);font-size:14px;transition:.2s}.ez-nav-link:hover{background:#EEF4FF;color:var(--ez-primary)!important}
@media(max-width:991.98px){.ez-nav-links{flex-direction:column;align-items:stretch!important;width:100%;margin:0 0 8px!important}.ez-nav-link{display:block}}
