/* ==========================================================================
   BRAD LIMO — responsive.css
   Desktop-first overrides for laptop, tablet, and mobile.
   Breakpoints: 1200 / 1024 / 820 / 640 / 460
   ========================================================================== */

/* ==========================================================================
   ≤ 1200px — small laptops
   ========================================================================== */

@media (max-width: 1200px) {

	.bl-quickfacts__list { grid-template-columns: repeat(3, 1fr); }

	.bl-services__grid { grid-template-columns: repeat(2, 1fr); }

	.bl-vehicles { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   ≤ 1024px — tablets (landscape) / nav collapses here
   ========================================================================== */

@media (max-width: 1024px) {

	/* --- header becomes a drawer --- */
	.bl-topbar { display: none; }
	.bl-header__inner { height: 72px; gap: 18px; }

	.bl-header__cta .bl-header__phone span { display: none; }   /* keep phone icon only */
	.bl-header__cta .bl-btn { display: none; }                  /* CTA moves into drawer */

	.bl-header__burger { display: flex; margin-left: auto; }

	.bl-nav {
		position: fixed; top: 0; right: 0; bottom: 0; z-index: 950;
		width: min(86vw, 400px);
		background: rgba(8,10,14,.98);
		backdrop-filter: blur(18px);
		border-left: 1px solid rgba(233,216,176,.14);
		transform: translateX(100%);
		transition: transform .5s cubic-bezier(.22,.8,.32,1);
		display: flex; flex-direction: column; justify-content: flex-start;
		padding: 110px 34px 40px;
		overflow-y: auto;
		box-shadow: -30px 0 80px rgba(0,0,0,.5);
	}
	.bl-nav.is-open { transform: translateX(0); }

	.bl-nav__list { flex-direction: column; align-items: stretch; gap: 4px; width: 100%; }
	.bl-nav__item { width: 100%; border-bottom: 1px solid rgba(233,216,176,.08); }
	.bl-nav__link { display: flex; justify-content: space-between; width: 100%; padding: 17px 4px; font-size: 14px; }
	.bl-nav__link::after { display: none; }

	/* dropdown becomes always-open inline list */
	.bl-nav__menu {
		position: static; transform: none; opacity: 1; visibility: visible;
		pointer-events: auto; min-width: 0;
		background: transparent; border: 0; box-shadow: none; backdrop-filter: none;
		padding: 0 0 10px 14px;
	}
	.bl-nav__menu a { padding: 9px 10px; font-size: 13px; color: var(--bl-muted); }

	.bl-nav__mobile-actions {
		display: flex; flex-direction: column; gap: 12px;
		margin-top: 28px;
	}

	/* hide the page content dimmer handled via body class (main.js) */
	body.bl-nav-lock { overflow: hidden; }
	body.bl-nav-lock::after {
		content: ""; position: fixed; inset: 0; z-index: 940;
		background: rgba(3,4,6,.6);
	}

	/* hero swaps to stacked layout */
	.bl-hero { padding-top: 120px; min-height: 0; }
	.bl-hero__inner { grid-template-columns: 1fr; }
	.bl-hero__copy { text-align: center; max-width: 640px; margin: 0 auto; }
	.bl-hero__eyebrow, .bl-hero__actions, .bl-hero__chips { justify-content: center; }
	.bl-hero__lead { margin-inline: auto; }
	.bl-hero__stage { min-height: 0; margin-top: 34px; }
	.bl-hero__car-img { width: min(92%, 640px); }
	.bl-hero__scroll { display: none; }
	.bl-hero__tag--left { left: 4px; }
	.bl-hero__tag--right { right: 4px; }

	/* fleet stacks */
	.bl-fleet__layout { grid-template-columns: 1fr; }
	.bl-fleet__menu { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; }
	.bl-fleet__tab { min-width: 240px; scroll-snap-align: start; }
	.bl-fleet__tab:hover { transform: none; }

	/* journey loses connectors */
	.bl-journey { grid-template-columns: 1fr; }
	.bl-journey__line { display: none; }

	/* corporate stacks */
	.bl-corporate__grid, .bl-why__grid, .bl-about-story__grid,
	.bl-chauffeur__inner, .bl-contact-main__grid { grid-template-columns: 1fr; }

	.bl-why__cards { grid-template-columns: 1fr 1fr; }

	.bl-footer__grid { grid-template-columns: 1fr 1fr; }

	.bl-review { flex-basis: 100%; }
}

/* ==========================================================================
   ≤ 820px — tablets (portrait) / large phones
   ========================================================================== */

@media (max-width: 820px) {

	body { font-size: 15.5px; }

	.bl-quickfacts__list { grid-template-columns: repeat(2, 1fr); }

	.bl-services__grid { grid-template-columns: 1fr; }

	.bl-why__cards { grid-template-columns: 1fr; }

	.bl-contact-cards__grid { grid-template-columns: 1fr; }
	.bl-about-pillars__grid { grid-template-columns: 1fr; }

	.bl-about-band__inner { flex-direction: column; align-items: flex-start; gap: 8px; }

	.bl-form__row { grid-template-columns: 1fr; }

	.bl-review { flex-basis: 100%; }

	.bl-hero__title br { display: none; }

	/* floating call button appears on phones/tablets */
	.bl-fab-call { display: flex; }

	/* wizard rail: hide step text, keep numbers */
	.bl-wizard__rail li { font-size: 0; gap: 0; }
	.bl-wizard__rail li span { font-size: 14px; }

	.bl-hero__actions .bl-btn { flex: 1 1 100%; justify-content: center; }
	.bl-cta__actions .bl-btn { flex: 1 1 100%; justify-content: center; max-width: 380px; }

	.bl-footer__bottom-inner { justify-content: center; text-align: center; }
}

/* ==========================================================================
   ≤ 640px — phones
   ========================================================================== */

@media (max-width: 640px) {

	.bl-quickfacts__list { grid-template-columns: 1fr; gap: 22px; }
	.bl-quickfacts { padding: 44px 0; }

	.bl-hero__chip { display: none; }
	.bl-hero__chips { gap: 8px 18px; }
	.bl-hero__chips li { font-size: 10.5px; letter-spacing: .12em; }

	.bl-hero__tag { padding: 9px 13px; }
	.bl-hero__tag-v { font-size: 14px; }
	.bl-hero__tag--left { top: 8%; }
	.bl-hero__tag--right { bottom: 8%; }

	.bl-vehicles { grid-template-columns: 1fr; }

	.bl-pagehero { min-height: 44vh; padding: 140px 0 60px; }

	.bl-airport__codes li { border-radius: 16px; width: 100%; }

	.bl-chauffeur__price { font-size: 64px; }

	.bl-footer__grid { grid-template-columns: 1fr; }

	.bl-wizard__step { padding: 22px 18px; }
	.bl-wizard__nav { flex-wrap: wrap; }
	.bl-wizard__nav .bl-btn--gold { margin-left: 0; flex: 1; justify-content: center; }

	.bl-stepper__btn { width: 46px; }

	.bl-about-story__badge { right: 8px; bottom: 12px; padding: 12px 16px; }
	.bl-about-story__badge-num { font-size: 34px; }

	.bl-map iframe { height: 260px; }

	.bl-success__summary { margin-inline: 0; }
}

/* ==========================================================================
   ≤ 460px — small phones
   ========================================================================== */

@media (max-width: 460px) {

	.bl-hero__chips { display: none; }
	.bl-hero__shadow { width: 82%; }
	.bl-btn--lg { padding: 17px 26px; font-size: 12.5px; }
	.bl-review { padding: 26px 22px; }
	.bl-review blockquote { font-size: 17px; }
}

/* ==========================================================================
   Service page & doc-content components (section 21 of main.css)
   ========================================================================= */

@media (max-width: 1200px) {
	.bl-services__grid--five { grid-template-columns: repeat(3, 1fr); }
	.bl-steps { grid-template-columns: repeat(2, 1fr); }
	.bl-airport__codes--cruise { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
	.bl-services__grid--five { grid-template-columns: repeat(2, 1fr); }
	.bl-why__cards--six { grid-template-columns: 1fr 1fr; }
	.bl-svc__list { columns: 1; }
	.bl-airport__codes--cards { grid-template-columns: 1fr; }
	.bl-svc__vehicles { grid-template-columns: 1fr; }
	.bl-svc__vehicle img { height: 260px; }
	.bl-truststrip__line span { margin: 0 6px; }
}

@media (max-width: 640px) {
	.bl-services__grid--five { grid-template-columns: 1fr; }
	.bl-why__cards--six { grid-template-columns: 1fr; }
	.bl-steps { grid-template-columns: 1fr; }
	.bl-airport__codes--cruise { grid-template-columns: 1fr; }
	.bl-cta__actions .bl-btn { width: 100%; }
	.bl-pagehero__support { letter-spacing: .12em; }
}
