/* ===== Tablet ===== */
@media(max-width:991px){
  .section{padding:44px 0}
  .site-header .navbar-collapse{margin-top:8px;padding:6px 14px 14px;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow)}
  .site-header .nav-link{padding:.8rem .25rem;border-bottom:1px solid var(--line);font-size:1.02rem}
  .site-header .nav-link.active{box-shadow:none;color:var(--saffron-d)}
  .site-header .navbar-collapse>.d-flex{flex-direction:column;margin-top:12px}
  .site-header .navbar-collapse .btn{width:100%;padding:.7rem}
  .hero{padding:40px 0 96px}

  /* bottom app-style navigation */
  body{padding-bottom:92px}
  body.has-cta{padding-bottom:84px}
  body.has-cta .m-nav{display:none}
  .m-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:1036;background:rgba(255,255,255,.97);border:1px solid rgba(12,59,70,.1);border-radius:20px;box-shadow:0 8px 30px rgba(12,59,70,.2);padding:5px 5px 6px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .m-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.68rem;font-weight:600;color:var(--muted);text-decoration:none;padding:4px 0;border-radius:14px;min-height:52px;transition:background .2s ease,color .2s ease}
  .m-nav a i{font-size:1.2rem;line-height:1;transition:transform .2s ease}
  .m-nav a.on{background:var(--bg);color:var(--navy);font-weight:800}.m-nav a.on i{color:var(--saffron-d);transform:translateY(-1px)}
  .m-nav a.fab i{width:48px;height:38px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--saffron),#ff8b55);color:#fff;margin-top:-15px;border:3px solid #fff;box-shadow:0 5px 14px rgba(255,106,77,.38);font-size:1.3rem}
  .m-nav a.fab{color:var(--navy);font-weight:800}
  .wa-float{bottom:94px;right:14px;width:48px;height:48px;font-size:1.4rem}
  body.has-cta .wa-float{bottom:96px}
}

/* ===== Phone ===== */
@media(max-width:767px){
  body{font-size:1rem}
  .container{padding-left:16px;padding-right:16px}
  .section{padding:34px 0}
  .section-head{margin-bottom:18px}
  .section-head h2{font-size:1.45rem}
  .brand-mark{width:38px;height:38px}.site-header .brand .site-logo{max-width:150px;height:50px}.brand b{font-size:1.05rem}.brand small{display:none}
  .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
  .btn-sm{min-height:40px}

  /* hero */
  .hero{padding:30px 0 84px}
  .hero h1{font-size:1.95rem}.hero p.lead{font-size:1rem}
  .hero .bus{font-size:2.2rem}
  .finder{padding:14px;border-radius:18px;margin-top:20px}
  .finder .btn-saffron{min-height:48px;font-size:1.05rem}
  .next-dep{border-radius:16px;font-size:.85rem;margin-top:16px}

  /* swipeable carousels: one card + peek of the next */
  .snap{flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:-16px!important;margin-right:-16px!important;padding:4px 16px 16px;scroll-padding-left:16px;--bs-gutter-x:.9rem}
  .snap::-webkit-scrollbar{display:none}
  .snap>*{flex:0 0 82%!important;width:82%!important;max-width:82%!important;scroll-snap-align:start;padding-left:0!important;padding-right:.9rem!important}
  .snap.snap-sm>*{flex-basis:58%!important;width:58%!important;max-width:58%!important}
  .dest-card{height:200px}
  .dest-card .info{padding:12px}.dest-card h3{font-size:1.05rem}.dest-card p{display:none}

  /* cards */
  .ticket .ph{height:140px}
  .price{font-size:1.35rem}
  .sched-row{grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px}
  .sched-row>:first-child,.sched-row>:last-child{grid-column:1/-1}
  .date-tabs button{padding:8px 14px}
  .hl i{width:42px;height:42px}
  .steps{grid-template-columns:1fr 1fr;gap:20px 12px}
  .cta-band{padding:30px 18px}
  .page-hero{padding:22px 0}
  .banner{min-height:210px}.banner .ph i{font-size:5rem}
  .tab-content.panel{padding:14px}
  .filter-box{padding:12px}
  .list-item .ticket .ph{height:130px}
  .site-footer{padding:36px 0 18px}
  .receipt{padding:18px}
  .stepper li{min-width:78px;font-size:.74rem}
  .bus-body{max-width:100%}
  .seat{min-height:44px}
}
@media(max-width:380px){body{font-size:.96rem}.hero h1{font-size:1.7rem}.ticket .foot{flex-direction:column;align-items:stretch}.snap>*{flex-basis:88%!important;width:88%!important;max-width:88%!important}}
