﻿/* Deepam Cabs — mobile breakpoints (css_v2) */
@media(max-width:900px){
  .vehicle-card__main{grid-template-columns:128px 1fr;grid-template-rows:auto auto}
  .vehicle-card__fares{grid-column:1/-1}
  .vehicle-card__media{width:128px;min-height:84px}
}

@media(max-width:767px){
  .results-toolbar{
    flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px;
  }
  .results-toolbar .vehicle-list__count{max-width:none;text-align:left}
  .back-btn--toolbar{align-self:flex-start}
}

@media(max-width:640px){
  .booking-card.is-results-view{max-width:100%}
  .trip-summary-card{padding:8px 10px;margin-bottom:0}
  .trip-summary-card__icon{width:26px;height:26px;border-radius:8px}
  .trip-summary-card__route{font-size:.75rem;flex-wrap:wrap}
  .trip-summary-card__place{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .trip-summary-card__arrow{align-self:center}
  .trip-chip{font-size:.625rem;padding:2px 7px}
  .vehicle-card__main{grid-template-columns:1fr;gap:14px}
  .vehicle-card__media{width:100%;max-width:180px;margin:0 auto;min-height:88px}
  .vehicle-card__fares{flex-direction:column}
  .fare-option{min-width:0}
  .fare-accordion__grid,.fare-accordion__section--cols{grid-template-columns:1fr}
  .vehicle-badge{top:10px;left:10px}
}

@media(max-width:480px){
  .vehicle-card{padding:14px}
  .fare-option__price{font-size:1.25rem}
  .vehicle-card__specs,.vehicle-card__features{gap:6px 10px}
}
@media(max-width:767px){
  .reviews-grid{
    display:block;
  }
  .reviews-carousel{
    display:flex;gap:16px;overflow-x:auto;padding:4px 4px 12px;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .reviews-carousel::-webkit-scrollbar{display:none}
  .reviews-carousel__item{
    flex:0 0 min(88vw,340px);scroll-snap-align:start;
  }
  .review-card--featured{padding:28px}
  .review-card__quote{width:32px;height:32px;top:18px;right:20px}
}
@media(max-width:640px){
  .fare-summary-extras{grid-template-columns:1fr}
  .fare-summary-panel__body{padding:16px}
}

@media(max-width:767px){
  .service-switcher{display:none}

  .section{padding:80px 0}
  .site-header .header-inner{padding:8px 12px;min-height:var(--header-h);gap:8px}
  .site-header .logo img{height:28px}
  .header-cta{padding:6px 12px;font-size:.8125rem;border-radius:999px}
  .nav-toggle{display:flex;width:40px;height:40px;border-radius:10px}
  .nav-toggle svg{width:20px;height:20px}
  .site-header.is-scrolled .nav-toggle{border-color:rgba(255,255,255,.35);color:var(--white);text-shadow:none}
  .site-nav{position:fixed;inset:var(--header-h) 0 0;background:var(--primary);padding:16px;transform:translateX(100%);transition:transform var(--transition);overflow-y:auto}
  .site-nav.is-open{transform:translateX(0)}
  .site-nav > ul{flex-direction:column;align-items:stretch;gap:4px}
  .site-nav a,.nav-dropdown__trigger{padding:12px 16px;font-size:1rem;color:var(--white)!important;border-radius:var(--radius-sm);text-shadow:none}
  .nav-dropdown__trigger{width:100%;justify-content:space-between;text-align:left}
  .nav-dropdown__panel{
    position:static;min-width:0;margin:4px 0 8px;padding:4px 0 4px 8px;
    background:rgba(255,255,255,.06);border:none;border-radius:var(--radius-sm);
    box-shadow:none;
  }
  .nav-dropdown__panel a{
    padding:10px 16px;font-size:.9375rem;color:rgba(255,255,255,.88)!important;
    border-radius:var(--radius-sm);
  }
  .nav-dropdown__panel a:hover{background:rgba(255,255,255,.1);color:var(--green)!important}
  .nav-dropdown[open] .nav-dropdown__trigger{color:var(--green)!important}

  /* Services accordion — vertical, touch-friendly */
  .nav-dropdown--services .nav-dropdown__panel--services{
    width:100%;max-width:none;padding:8px 0 4px;
    background:rgba(255,255,255,.06);border:none;border-radius:var(--radius-sm);
    box-shadow:none;animation:none;
  }
  .nav-dropdown--services[open] .nav-dropdown__panel--services{
    animation:nav-services-accordion .2s cubic-bezier(.4,0,.2,1) forwards;
  }
  @keyframes nav-services-accordion{
    from{opacity:0;transform:translateY(-4px)}
    to{opacity:1;transform:translateY(0)}
  }
  .nav-dropdown--services .nav-dropdown__list{display:block;grid-template-columns:none}
  .nav-dropdown--services .nav-dropdown__group+.nav-dropdown__group{
    margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);
  }
  .nav-dropdown--services .nav-dropdown__label{
    padding:0 16px 6px;font-size:.6875rem;color:rgba(255,255,255,.45);
  }
  .nav-dropdown--services .nav-dropdown__item{
    min-height:48px;padding:10px 16px;color:rgba(255,255,255,.92)!important;
    border-radius:var(--radius-sm);
  }
  .nav-dropdown--services .nav-dropdown__item:hover,
  .nav-dropdown--services .nav-dropdown__item:focus-visible{
    background:rgba(255,255,255,.1)!important;color:var(--green)!important;
  }
  .nav-dropdown--services .nav-dropdown__icon{
    width:32px;height:32px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);
    border-radius:8px;
  }
  .nav-dropdown--services .nav-dropdown__item:hover .nav-dropdown__icon,
  .nav-dropdown--services .nav-dropdown__item:focus-visible .nav-dropdown__icon{
    background:rgba(57,181,74,.18);color:var(--green);
  }
  /* Override hero/scrolled header dark text — mobile drawer is always dark */
  .site-header:not(.is-scrolled) .site-nav .nav-dropdown__item,
  .site-header:not(.is-scrolled) .site-nav .nav-dropdown__text,
  .site-header:not(.is-scrolled) .site-nav .nav-dropdown__panel a,
  .site-header.is-scrolled .site-nav .nav-dropdown__item,
  .site-header.is-scrolled .site-nav .nav-dropdown__text,
  .site-header.is-scrolled .site-nav .nav-dropdown__panel a{
    color:rgba(255,255,255,.92)!important;
  }
  .site-header:not(.is-scrolled) .site-nav .nav-dropdown__item:hover,
  .site-header:not(.is-scrolled) .site-nav .nav-dropdown__item:focus-visible,
  .site-header.is-scrolled .site-nav .nav-dropdown__item:hover,
  .site-header.is-scrolled .site-nav .nav-dropdown__item:focus-visible{
    color:var(--green)!important;
  }

  /*
   * Mobile hero: taller banner, content in gradient zone, compact booking form
   */
  :root{--hero-visual-h:clamp(200px,34dvh,260px)}

  .hero{
    min-height:auto;max-height:none;
    justify-content:flex-start;align-items:stretch;
    padding:calc(var(--header-h) - 4px) 0 0;
    gap:0;
    text-align:center;
    background:rgb(14,20,34);
    overflow:visible;
  }
  .hero__visual{
    position:relative;inset:auto;
    width:100%;height:var(--hero-visual-h);
    flex-shrink:0;
  }
  .hero__picture img{
    object-fit:cover;
    object-position:center 40%;
  }
  .hero__visual-overlay{
    background:linear-gradient(
      180deg,
      rgba(17,24,39,.06) 0%,
      rgba(17,24,39,.22) 42%,
      rgba(14,20,34,.78) 82%,
      rgb(14,20,34) 100%
    );
  }
  .hero__stack{
    flex:0 0 auto;
    width:100%;
    max-width:none;
    margin-top:-64px;
    padding:0 16px 28px;
    align-items:center;
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .hero__content{
    width:100%;max-width:100%;
    margin:0 auto;
    padding:0 2px;
  }
  .hero h1{
    width:100%;
    margin:0 0 10px;
    font-size:clamp(1.375rem,5.4vw,1.625rem);
    font-weight:700;line-height:1.22;
    letter-spacing:-.024em;
    text-shadow:0 2px 16px rgba(0,0,0,.28);
  }
  .hero__lead{
    width:100%;
    font-size:.875rem;
    line-height:1.5;
    margin:0 auto 12px;
    color:rgba(255,255,255,.82);
    max-width:34rem;
  }
  .hero__trust{
    width:100%;
    font-size:.6875rem;
    margin:0 auto 0;
    gap:6px;
    justify-content:center;
  }
  .hero__trust-item{padding:4px 10px;font-size:.6875rem}
  .hero .booking-card{
    width:100%;max-width:100%;
    margin:0 auto -24px;
    border-radius:16px;
    flex-shrink:0;
    box-shadow:0 16px 40px rgba(0,0,0,.32);
  }
  .hero .booking-card.is-results-view{
    background:var(--results-surface);
    backdrop-filter:none;-webkit-backdrop-filter:none;
    border:1px solid var(--results-border);
    box-shadow:0 12px 40px rgba(0,0,0,.36);
  }

  .hero .booking-card__header{padding:8px 12px 10px;gap:8px}
  .hero .booking-card__header-row--top{
    display:flex;flex-direction:column;align-items:stretch;gap:8px;
  }
  .hero .booking-card__service{align-self:flex-start}
  .hero .booking-card__service-nav{
    grid-column:auto;justify-self:stretch;width:100%;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding:0 2px;
  }
  .hero .booking-card__service-nav::-webkit-scrollbar{display:none}
  .hero .booking-card__service-list{
    flex-wrap:nowrap;justify-content:center;gap:8px;
    width:max-content;max-width:100%;margin:0 auto;padding-bottom:2px;
  }
  .hero .booking-card__service-link{padding:7px 12px;font-size:.75rem}
  .hero .booking-card__service-label{font-size:.625rem;letter-spacing:.1em}
  .hero .booking-card__service-label::before{width:5px;height:5px;margin-right:6px}
  .hero .trip-pill{padding:2px}
  .hero .trip-pill__slider{top:2px;left:2px;height:calc(100% - 4px)}
  .hero .trip-pill label{padding:7px 10px;font-size:.75rem}
  .hero .booking-card__body{padding:8px 12px 12px}

  .hero .booking-form-shell{gap:6px}
  .hero .booking-grid{gap:6px;align-items:stretch}
  .hero .m3-field{min-height:46px;margin:0}
  .hero .m3-input-wrap{height:46px;border-radius:14px}
  .hero .m3-input-wrap input,.hero .m3-input-wrap textarea{
    height:46px;border-radius:14px;
    padding:10px 12px 10px 40px;font-size:.875rem;
  }
  .hero .m3-input-wrap input:focus,.hero .m3-input-wrap textarea:focus{padding:9px 11px 9px 39px}
  .hero .m3-field--location .m3-input-wrap input{padding-right:42px}
  .hero .m3-field--location .m3-input-wrap input:focus{padding-right:41px}
  .hero .m3-input-wrap__clear{right:2px;width:40px;height:40px}
  .hero .m3-input-wrap__clear svg{width:16px;height:16px}
  .hero .m3-input-wrap:has(.m3-input-wrap__icon) label{left:40px;font-size:.875rem}
  .hero .m3-input-wrap input:focus+label,.hero .m3-input-wrap input:not(:placeholder-shown)+label,.hero .m3-input-wrap input.is-filled+label{
    top:0;left:14px;transform:translateY(-50%);
    font-size:.6875rem;font-weight:600;color:#39B54A;
    background:rgb(14,20,34);padding:0 5px;z-index:5;
  }
  .hero .m3-input-wrap__icon{left:13px;width:15px;height:15px}
  .hero .m3-input-wrap.is-dropdown-open input,.hero .m3-input-wrap.is-picker-open input{border-radius:14px 14px 0 0}
  .hero .autocomplete-list{border-radius:0 0 14px 14px;max-height:180px}
  .hero .m3-input-wrap.is-dropdown-open .autocomplete-list.is-open{border-radius:0 0 14px 14px}
  .hero .btn-search{min-height:50px;height:auto;border-radius:999px;font-size:.875rem;padding:5px 20px 5px 5px}
  .hero .m3-field--submit{align-self:stretch;display:flex;margin-top:0}
  .hero .m3-field--submit .btn-search{width:100%}
  .hero .booking-grid--return.is-expanded{max-height:110px;margin-top:0;gap:6px}
  .hero .booking-grid--return.is-expanded .m3-field{min-height:46px}

  .sticky-cta{padding:12px 16px}
  .sticky-cta .btn-search{min-height:52px;height:auto;border-radius:999px}
  body.has-sticky-cta{padding-bottom:68px}
  .float-actions{
    bottom:calc(20px + env(safe-area-inset-bottom, 0px));right:16px;left:auto;
    flex-direction:column;gap:10px;z-index:700;
  }
  .float-btn{width:48px;height:48px;min-width:48px;min-height:48px;box-shadow:0 4px 16px rgba(0,0,0,.28)}
  body.has-sticky-cta .float-actions{bottom:calc(88px + env(safe-area-inset-bottom, 0px));right:16px}

  .booking-card.is-results-view{width:100%;max-width:100%}
  .booking-card__header{padding:8px 12px}
  .booking-card__body{padding:8px 12px 12px}
}
@media(max-width:767px) and (max-height:700px){
  :root{--hero-visual-h:clamp(168px,30dvh,210px)}
  .hero__stack{margin-top:-52px;gap:10px;padding-bottom:22px}
  .hero h1{font-size:1.25rem;margin-bottom:8px}
  .hero__lead{
    font-size:.8125rem;margin-bottom:10px;line-height:1.45;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  }
  .hero__trust{margin-bottom:0}
  .hero .booking-card{margin-bottom:-20px}
  .hero .booking-card__body{padding:8px 10px 10px}
  .hero .m3-field{min-height:44px}
  .hero .m3-input-wrap,.hero .m3-input-wrap input{height:44px}
  .hero .btn-search{height:48px}
}
@media(max-width:400px){
  .hero .booking-card__service-link{padding:6px 10px;font-size:.6875rem}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

