/* TaxiCaller embed containment — use the same presentation everywhere */
.tk-booking-frame{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  height:min(760px,80svh)!important;
  min-height:620px!important;
  max-height:760px!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#edf1f3!important;
  transform:translateZ(0);
  contain:layout paint;
  isolation:isolate;
}
#taxicaller-booking-form{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  margin:0!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.tk-booking-frame iframe{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  margin:0!important;
  border:0!important;
}

/* The homepage booking card should visually match the dedicated booking page. */
.tk-booking-shell .tk-booking-card{
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:24px!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
.tk-booking-shell .tk-booking-frame,
.tk-booking-page .tk-booking-frame{
  height:min(760px,80svh)!important;
  min-height:620px!important;
  max-height:760px!important;
}
.tk-booking-shell #taxicaller-booking-form,
.tk-booking-page #taxicaller-booking-form{
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

/* Prevent the fixed mobile booking CTA from covering TaxiCaller while the booking is on screen. */
.tk-mobile-book{
  transition:transform .22s ease,opacity .22s ease!important;
}
body.tk-booking-in-view .tk-mobile-book{
  transform:translateY(130%)!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Permanent live-booking safeguard: legacy paused state can never block TaxiCaller again. */
.tk-booking-paused-overlay{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.tk-booking-frame--paused #taxicaller-booking-form{
  opacity:1!important;
  filter:none!important;
  pointer-events:auto!important;
  user-select:auto!important;
}
.tk-booking-frame.tk-booking-frame--paused,
.tk-booking-shell .tk-booking-frame.tk-booking-frame--paused,
.tk-booking-page .tk-booking-frame.tk-booking-frame--paused{
  height:min(760px,80svh)!important;
  min-height:620px!important;
  max-height:760px!important;
  background:#edf1f3!important;
}

@media(max-width:720px){
  #taxicaller-booking-form{width:100%!important;max-width:100%!important}

  .tk-booking-shell .tk-booking-card,
  .tk-booking-page .tk-booking-card{
    padding:10px!important;
    border-radius:20px!important;
  }

  .tk-booking-frame,
  .tk-booking-shell .tk-booking-frame,
  .tk-booking-page .tk-booking-frame,
  .tk-booking-frame.tk-booking-frame--paused,
  .tk-booking-shell .tk-booking-frame.tk-booking-frame--paused,
  .tk-booking-page .tk-booking-frame.tk-booking-frame--paused{
    height:82svh!important;
    min-height:680px!important;
    max-height:780px!important;
    border-radius:15px!important;
  }

  #taxicaller-booking-form,
  .tk-booking-shell #taxicaller-booking-form,
  .tk-booking-page #taxicaller-booking-form{
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .tk-booking-frame iframe{
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
  }
}

@media(max-width:390px){
  .tk-booking-frame,
  .tk-booking-shell .tk-booking-frame,
  .tk-booking-page .tk-booking-frame,
  .tk-booking-frame.tk-booking-frame--paused,
  .tk-booking-shell .tk-booking-frame.tk-booking-frame--paused,
  .tk-booking-page .tk-booking-frame.tk-booking-frame--paused{
    height:80svh!important;
    min-height:650px!important;
    max-height:740px!important;
  }
}
