/* air16 — Bus Rental page styles */

/* hero: text first, button row, flush to menu */
body.bus-page .bus-hero{ }
body.bus-page .bus-hero .hub-hero-copy h1{ font-size:clamp(34px,4.4vw,56px); line-height:1.08; color:var(--navy,#0B2545); }
body.bus-page .bus-hero .hub-hero-copy h3{ font-size:clamp(18px,2vw,24px); margin:8px 0 12px; }
body.bus-page .bus-hero .hub-hero-copy .lead{ max-width:430px; }

/* stats strip overlapping below hero */
.bus-stats-wrap{ margin-top:-44px; position:relative; z-index:5; margin-bottom:8px; }
.bus-stat-bar{ background:#fff !important; box-shadow:0 16px 40px rgba(11,37,69,.14); border:1px solid var(--line); }
.bus-stat-bar .stat-item .num{ font-size:18px; }
@media(max-width:768px){ .bus-stats-wrap{ margin-top:0; } }

/* why-choose: smaller icons + tidy aligned cells */
body.bus-page .whyc-desc .feature-cell{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:18px 20px; }
body.bus-page .whyc-desc .feature-cell .ico{ font-size:26px !important; height:auto !important; margin-bottom:12px; color:var(--orange); }
body.bus-page .whyc-desc .feature-cell .t{ min-height:40px; display:flex; align-items:center; justify-content:center; }

/* fleet cards: 5 across */
.bus-fleet-grid{ grid-template-columns:repeat(4,1fr); gap:14px; max-width:1200px; width:100%; margin:0 auto; }
.bus-fleet-card{ display:flex; flex-direction:column; height:100%; text-align:center; }
.bus-fleet-card .bus-fleet-img{ aspect-ratio:4/3; background-size:cover; background-position:center; border-radius:12px 12px 0 0; }
.bus-fleet-card .card-body{ display:flex; flex-direction:column; flex:1 1 auto; align-items:center; padding:16px 14px 18px; }
.bus-fleet-card h3{ font-size:16px; color:var(--navy,#0B2545); margin:0; }
.bus-fleet-card .bus-seat{ font-size:12.5px; color:var(--muted); margin:2px 0 8px; }
.bus-fleet-card .bus-amen{ display:flex; gap:10px; color:var(--orange); font-size:14px; margin-bottom:10px; }
.bus-fleet-card p{ font-size:13px; color:var(--muted); line-height:1.45; margin:0 0 14px; flex:1 1 auto; }
.bus-fleet-card .btn{ font-size:12.5px; padding:8px 18px; margin-top:auto; }
@media(max-width:760px){ .bus-fleet-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .bus-fleet-grid{ grid-template-columns:1fr; } }

/* comfort band (navy) */
.bus-comfort{ background:var(--navy,#0B2545); border-radius:16px; padding:26px 30px; display:grid; grid-template-columns:1.3fr repeat(4,1fr); grid-template-rows:1fr 1fr; gap:20px 10px; align-items:center; }
.bus-comfort-head{ grid-column:1; grid-row:1 / span 2; color:#fff; font-weight:800; font-size:28px; line-height:1.25; align-self:center; }
.bus-comfort-item{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:10px; color:#fff; border-left:1px solid rgba(255,255,255,.14); padding:6px 8px; min-height:62px; }
.bus-comfort-item i{ color:var(--orange); font-size:24px; }
.bus-comfort-item span{ font-size:12.5px; line-height:1.25; font-weight:600; }
.bus-comfort-item small{ display:block; font-weight:400; opacity:.78; font-size:10.5px; margin-top:1px; }
@media(max-width:860px){ .bus-comfort{ grid-template-columns:repeat(4,1fr); grid-template-rows:none; } .bus-comfort-head{ grid-column:1 / -1; grid-row:auto; text-align:center; margin-bottom:8px; } .bus-comfort-item{ border-left:0; } }
@media(max-width:520px){ .bus-comfort{ grid-template-columns:repeat(2,1fr); } }

/* services tiles */
/* Services carousel: 3 visible, rest scrollable via arrows */
.bus-svc-carousel{ position:relative; }
.bus-svc-grid{ display:flex; gap:20px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; -ms-overflow-style:none; scrollbar-width:none; padding:4px 2px; }
.bus-svc-grid::-webkit-scrollbar{ display:none; }
.bus-svc{ text-align:center; flex:0 0 calc((100% - 60px)/4); scroll-snap-align:start; }
.bus-svc-img{ aspect-ratio:1/1; background-size:cover; background-position:center; border-radius:12px; box-shadow:0 6px 18px rgba(11,37,69,.10); }
.bus-svc-t{ font-weight:700; font-size:14px; color:var(--navy,#0B2545); margin:12px 0 4px; }
.bus-svc-d{ font-size:12px; color:var(--muted); line-height:1.4; }
.bus-svc-arrow{ position:absolute; top:38%; transform:translateY(-50%); z-index:5; width:44px; height:44px; border-radius:50%; border:none; background:#fff; color:var(--navy,#0B2545); box-shadow:0 6px 20px rgba(11,37,69,.18); cursor:pointer; display:grid; place-items:center; font-size:16px; transition:background .2s,color .2s,opacity .2s; }
.bus-svc-arrow:hover{ background:var(--orange,#FF6E02); color:#fff; }
.bus-svc-arrow.prev{ left:-12px; }
.bus-svc-arrow.next{ right:-12px; }
.bus-svc-arrow[disabled]{ opacity:0; pointer-events:none; }
@media(max-width:980px){ .bus-svc{ flex:0 0 calc((100% - 20px)/2); } }
@media(max-width:560px){ .bus-svc{ flex:0 0 85%; } .bus-svc-arrow{ display:none; } }

/* popular destinations */
/* Destinations carousel: 4 visible, rest scrollable via arrows */
.bus-dest-carousel{ position:relative; }
.bus-dest-grid{ display:flex; gap:18px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; -ms-overflow-style:none; scrollbar-width:none; padding:4px 2px; }
.bus-dest-grid::-webkit-scrollbar{ display:none; }
.bus-dest{ text-align:center; flex:0 0 calc((100% - 54px)/4); scroll-snap-align:start; }
.bus-dest-img{ aspect-ratio:1/1; background-size:cover; background-position:center; border-radius:12px; box-shadow:0 4px 14px rgba(11,37,69,.10); }
.bus-dest span{ display:block; font-size:12.5px; font-weight:600; color:var(--navy,#0B2545); margin-top:8px; }
.bus-dest-arrow{ position:absolute; top:42%; transform:translateY(-50%); z-index:5; width:44px; height:44px; border-radius:50%; border:none; background:#fff; color:var(--navy,#0B2545); box-shadow:0 6px 20px rgba(11,37,69,.18); cursor:pointer; display:grid; place-items:center; font-size:16px; transition:background .2s,color .2s,opacity .2s; }
.bus-dest-arrow:hover{ background:var(--orange,#FF6E02); color:#fff; }
.bus-dest-arrow.prev{ left:-12px; }
.bus-dest-arrow.next{ right:-12px; }
.bus-dest-arrow[disabled]{ opacity:0; pointer-events:none; }
@media(max-width:980px){ .bus-dest{ flex:0 0 calc((100% - 36px)/3); } }
@media(max-width:560px){ .bus-dest{ flex:0 0 60%; } .bus-dest-arrow{ display:none; } }

/* trusted by thousands (navy band) */
.bus-trusted{ background:var(--navy,#0B2545); border-radius:16px; padding:30px 34px; display:grid; grid-template-columns:1fr 2.4fr; gap:24px; align-items:center; }
.bus-trusted-copy h3{ color:var(--orange); font-size:22px; margin:0 0 8px; }
.bus-trusted-copy p{ color:rgba(255,255,255,.85); font-size:13.5px; line-height:1.5; margin:0; }
.bus-trusted-stats{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.bts-item{ text-align:center; color:#fff; }
.bts-item i{ color:var(--orange); font-size:22px; margin-bottom:8px; }
.bts-item .num{ font-size:22px; font-weight:800; }
.bts-item .lbl{ font-size:11.5px; opacity:.85; line-height:1.3; }
@media(max-width:860px){ .bus-trusted{ grid-template-columns:1fr; } .bus-trusted-stats{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:480px){ .bus-trusted-stats{ grid-template-columns:repeat(2,1fr); } }

/* testimonials */
.bus-testi-row{ display:grid; grid-template-columns:1.7fr 1fr; gap:24px; align-items:stretch; }
.bus-testi-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.bus-testi{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.bus-testi .stars{ color:#FFB300; font-size:13px; margin-bottom:8px; }
.bus-testi p{ font-size:13px; color:var(--text); line-height:1.5; margin:0 0 14px; flex:1 1 auto; }
.bus-testi-by{ display:flex; align-items:center; gap:10px; }
.bus-testi-by .av{ width:36px; height:36px; border-radius:50%; background:var(--orange-tint,#FFE7D2); color:var(--orange); display:grid; place-items:center; font-size:15px; flex:none; }
.bus-testi-by strong{ display:block; font-size:13px; color:var(--navy,#0B2545); }
.bus-testi-by small{ font-size:11.5px; color:var(--muted); }
.bus-testi-img{ background-size:cover; background-position:center; border-radius:14px; min-height:240px; }
@media(max-width:900px){ .bus-testi-row{ grid-template-columns:1fr; } .bus-testi-cards{ grid-template-columns:1fr; } .bus-testi-img{ min-height:180px; } }

/* ready to book CTA */
.bus-cta{ position:relative; border-radius:16px; overflow:hidden; background-size:cover; background-position:center; min-height:240px; display:flex; align-items:center; }
.bus-cta-scrim{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,27,51,.88) 0%, rgba(8,27,51,.55) 50%, rgba(8,27,51,.1) 90%); }
.bus-cta-copy{ position:relative; z-index:1; padding:36px 40px; max-width:620px; color:#fff; }
.bus-cta-copy h2{ color:#fff; font-size:clamp(24px,3vw,34px); margin:0 0 8px; }
.bus-cta-copy p{ color:rgba(255,255,255,.9); font-size:14px; margin:0 0 18px; }
.btn-wa{ background:#25D366; color:#fff; border:0; }
.btn-wa:hover{ background:#1faa53; color:#fff; }
@media(max-width:768px){ .bus-cta-scrim{ background:linear-gradient(180deg, rgba(8,27,51,.7), rgba(8,27,51,.92)); } }

/* get in touch + enquiry */
.bus-enq{ grid-template-columns:0.8fr 1.6fr !important; gap:30px; }
@media(max-width:760px){ .bus-enq{ grid-template-columns:1fr !important; } }
.bus-getin{ background:var(--navy,#0B2545); color:#fff; border-radius:16px; padding:32px 30px; }
.bus-getin h2{ color:var(--orange); font-size:22px; margin:0 0 20px; }
.bus-getin .info-row{ margin-bottom:16px; }
.bus-getin .info-row .ico{ background:rgba(255,255,255,.08); color:var(--orange); }
.bus-getin .info-row .t{ color:#fff; }
.bus-getin .info-row .d{ color:rgba(255,255,255,.8); }
.bus-form-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:30px 28px; box-shadow:var(--shadow-sm); }
.bus-form-card h2{ color:var(--navy,#0B2545); }
.bus-form-card .contact-form .row{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:12px; }
.bus-form-card .contact-form input{ width:100%; }
@media(max-width:760px){ .bus-form-card .contact-form .row{ grid-template-columns:1fr; } }

/* fleet card titles: two lines, equal height */
.bus-fleet-card h3{ min-height:42px; display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.2; }
