/*
 * TaxiSriLanka / Trustker Premium V7
 * Final consistency layer: Trustker branding, city dropdown, contrast fixes,
 * subfolder-safe vehicle images and improved responsive navigation.
 */

:root{
  --tk7-navy:#061426;
  --tk7-navy-2:#0b2d4d;
  --tk7-cream:#fffaf1;
  --tk7-gold:#d8aa45;
  --tk7-gold-soft:#fff1c9;
  --tk7-text:#102033;
  --tk7-muted:#5f6d7e;
  --tk7-line:rgba(16,32,51,.12);
  --tk7-shadow:0 22px 55px rgba(6,20,38,.14);
}

/* Header and Trustker identity */
.tk-site-header{
  position:relative;
  z-index:1100!important;
  overflow:visible!important;
}
.tk-header-inner,
.tk-nav{
  overflow:visible!important;
}
.tk-brand{
  min-width:160px!important;
}
.tk-brand img{
  width:158px!important;
  height:auto!important;
  max-height:66px!important;
  object-fit:contain!important;
}
.tk-nav-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
.tk-nav>a,
.tk-nav-item>a,
.tk-nav-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:9px 12px;
  border-radius:999px;
  color:var(--tk7-navy)!important;
  font-size:14px;
  font-weight:850;
  text-decoration:none!important;
}
.tk-nav>a:hover,
.tk-nav-item>a:hover,
.tk-nav-link:hover,
.tk-cities-dropdown.is-open>.tk-cities-toggle{
  background:#f4ecdf!important;
  color:var(--tk7-navy)!important;
}
.tk-cities-toggle i{
  font-size:10px;
  transition:transform .2s ease;
}
.tk-cities-dropdown.is-open>.tk-cities-toggle i{
  transform:rotate(180deg);
}
.tk-cities-dropdown{
  position:relative;
}
.tk-cities-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  width:min(720px,calc(100vw - 28px));
  transform:translate(-50%,10px);
  padding:20px;
  border:1px solid var(--tk7-line);
  border-radius:24px;
  background:#fffdf9;
  box-shadow:0 28px 70px rgba(6,20,38,.20);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.2s ease;
  z-index:1300;
}
.tk-cities-dropdown.is-open .tk-cities-menu,
.tk-cities-dropdown:hover .tk-cities-menu,
.tk-cities-dropdown:focus-within .tk-cities-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.tk-cities-menu:before{
  content:"";
  position:absolute;
  top:-7px;
  left:50%;
  width:14px;
  height:14px;
  transform:translateX(-50%) rotate(45deg);
  background:#fffdf9;
  border-left:1px solid var(--tk7-line);
  border-top:1px solid var(--tk7-line);
}
.tk-cities-menu-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 2px 16px;
  margin-bottom:14px;
  border-bottom:1px solid var(--tk7-line);
}
.tk-cities-menu-head strong{
  display:block;
  color:var(--tk7-navy);
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:22px;
  line-height:1.1;
}
.tk-cities-menu-head span{
  display:block;
  margin-top:4px;
  color:var(--tk7-muted);
  font-size:12px;
}
.tk-cities-menu-head>a{
  white-space:nowrap;
  color:var(--tk7-navy)!important;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  border-bottom:1px solid var(--tk7-gold);
}
.tk-cities-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.tk-cities-grid>a{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 11px;
  border-radius:13px;
  color:#26374a!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none!important;
}
.tk-cities-grid>a:hover{
  background:#f7f0e5;
  color:var(--tk7-navy)!important;
  transform:translateY(-1px);
}
.tk-cities-grid i{
  color:var(--tk7-gold);
}

/* Fix cream badge text that V6 accidentally changed to white */
body.tk-site-body .tsl-detail-hero .tsl-eyebrow,
body.tk-site-body .tsl-route-hero .tsl-eyebrow,
body.tk-site-body .tsl-vehicle-hero .tsl-eyebrow,
body.tk-site-body .hero .eyebrow,
body.tk-site-body .eyebrow.light{
  color:#704b08!important;
  background:var(--tk7-gold-soft)!important;
  border-color:#ecd18d!important;
  text-shadow:none!important;
}
body.tk-site-body .tsl-detail-hero .tsl-eyebrow i,
body.tk-site-body .tsl-route-hero .tsl-eyebrow i,
body.tk-site-body .tsl-vehicle-hero .tsl-eyebrow i{
  color:#a47010!important;
}

/* Guarantee readable dark-section copy */
body.tk-site-body .tsl-detail-hero h1,
body.tk-site-body .tsl-detail-hero h2,
body.tk-site-body .tsl-route-hero h1,
body.tk-site-body .tsl-route-hero h2,
body.tk-site-body .tsl-vehicle-hero h1,
body.tk-site-body .tsl-vehicle-hero h2{
  color:#fff!important;
  text-shadow:0 2px 24px rgba(0,0,0,.18);
}
body.tk-site-body .tsl-detail-hero p,
body.tk-site-body .tsl-route-hero p,
body.tk-site-body .tsl-vehicle-hero p{
  color:#edf4fa!important;
}
body.tk-site-body .tsl-detail-hero .container,
body.tk-site-body .tsl-route-hero .container,
body.tk-site-body .tsl-vehicle-hero .container{
  position:relative;
  z-index:3!important;
}

/* Vehicle photos: no more broken root-relative paths or awkward crops */
.tsl-vehicle-img-wrap,
.tk-v6-vehicle-image,
.tsl-offer-img-wrap{
  background:linear-gradient(145deg,#eef4fa,#fffaf1)!important;
}
.tsl-vehicle-img-wrap img,
.tk-v6-vehicle-image img,
.tsl-offer-img{
  object-fit:contain!important;
  object-position:center!important;
  padding:14px!important;
  background:linear-gradient(145deg,#eef4fa,#fffaf1)!important;
}
.tsl-vehicle-img-wrap img{
  min-height:100%;
}
.tsl-vehicle-card{
  border-color:rgba(16,32,51,.10)!important;
}
.tsl-vehicle-card .tsl-description,
.tsl-vehicle-card .tsl-models,
.tsl-vehicle-card .tsl-capacity-list{
  color:#536275!important;
}

/* Avoid hidden/clipped content under old template rules */
body.tk-site-body main,
body.tk-site-body .body-inner,
body.tk-site-body section{
  overflow:visible;
}
body.tk-site-body .tsl-detail-hero,
body.tk-site-body .tsl-route-hero,
body.tk-site-body .tsl-vehicle-hero{
  overflow:hidden!important;
}

/* Stronger premium card finish */
body.tk-site-body .tsl-vehicle-card,
body.tk-site-body .tsl-offer-card,
body.tk-site-body .tk-v6-route-card,
body.tk-site-body .tk-v6-destination-card{
  box-shadow:0 14px 38px rgba(6,20,38,.08)!important;
}
body.tk-site-body .tsl-vehicle-card:hover,
body.tk-site-body .tsl-offer-card:hover,
body.tk-site-body .tk-v6-route-card:hover,
body.tk-site-body .tk-v6-destination-card:hover{
  box-shadow:var(--tk7-shadow)!important;
}

/* Desktop dropdown remains inside viewport on smaller laptops */
@media (max-width:1180px){
  .tk-cities-menu{
    left:auto;
    right:-220px;
    transform:translateY(10px);
  }
  .tk-cities-dropdown.is-open .tk-cities-menu,
  .tk-cities-dropdown:hover .tk-cities-menu,
  .tk-cities-dropdown:focus-within .tk-cities-menu{
    transform:translateY(0);
  }
  .tk-cities-menu:before{
    left:auto;
    right:265px;
    transform:rotate(45deg);
  }
}

/* Mobile navigation */
@media (max-width:991px){
  .tk-brand img{
    width:142px!important;
    max-height:58px!important;
  }
  .tk-cities-dropdown{
    width:100%;
  }
  .tk-cities-toggle{
    width:100%;
    justify-content:space-between!important;
    padding:12px 14px!important;
  }
  .tk-cities-menu{
    position:static;
    width:100%;
    transform:none!important;
    margin-top:7px;
    padding:13px;
    border-radius:18px;
    box-shadow:none;
    display:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .tk-cities-dropdown:hover .tk-cities-menu,
  .tk-cities-dropdown:focus-within .tk-cities-menu{
    display:none;
  }
  .tk-cities-dropdown.is-open .tk-cities-menu{
    display:block;
  }
  .tk-cities-menu:before{
    display:none;
  }
  .tk-cities-menu-head{
    align-items:flex-start;
  }
  .tk-cities-menu-head span{
    max-width:220px;
  }
  .tk-cities-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:480px){
  .tk-cities-menu-head{
    display:block;
  }
  .tk-cities-menu-head>a{
    display:inline-block;
    margin-top:10px;
  }
  .tk-cities-grid{
    grid-template-columns:1fr;
  }
}
