/*
==========================================================
 Bareilly Taxi Service
 Premium Home Page CSS
 Version: 1.1.0
==========================================================
*/

/* =========================================================
   HOME FOUNDATION
========================================================= */

.home,
.home #page,
.home .site-content {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

.home .entry-header,
.home .page-header,
.home .entry-title {
	display: none !important;
}

.bt-premium-home,
.bt-premium-home * {
	box-sizing: border-box;
}

.bt-premium-home {
	--bt-navy: #071d3b;
	--bt-blue: #1456a0;
	--bt-blue-dark: #0b3d7a;
	--bt-yellow: #ffb800;
	--bt-green: #16a34a;
	--bt-text: #14213d;
	--bt-muted: #64748b;
	--bt-border: #e5eaf1;
	--bt-section: #f6f9fd;
	--bt-white: #fff;
	color: var(--bt-text);
	font-family: inherit;
}

.bt-premium-home .bt-container {
	width: min(1180px, calc(100% - 40px));
	margin-left: auto;
	margin-right: auto;
}

/* =========================================================
   HERO
========================================================= */

.bt-premium-home .bt-hero {
	position: relative;
	min-height: 690px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: linear-gradient(135deg, #061b38 0%, #0c3769 100%);
}

.bt-hero-bg-slider,
.bt-bg-slide {
	position: absolute;
	inset: 0;
}

.bt-hero-bg-slider {
	z-index: 0;
}

.bt-bg-slide {
	background-size: cover;
	background-position: center;
	opacity: 0;
	transform: scale(1.02);
	transition: opacity .7s ease, transform 4s ease;
}

.bt-bg-slide.active {
	opacity: 1;
	transform: scale(1);
}

.bt-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(3,20,44,.96) 0%, rgba(3,20,44,.90) 39%, rgba(3,20,44,.55) 70%, rgba(3,20,44,.28) 100%),
		linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.18));
	pointer-events: none;
}

.bt-hero-grid {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 520px);
	gap: 48px;
	align-items: center;
	padding-top: 45px;
	padding-bottom: 45px;
}

.bt-hero-content {
	position: relative;
	min-width: 0;
	color: #fff;
}

.bt-eyebrow {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	margin-bottom: 22px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	background: rgba(255,255,255,.08);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .02em;
}

.bt-hero h1 {
	margin: 0 0 20px !important;
	color: #fff !important;
	font-size: clamp(44px, 5vw, 70px) !important;
	line-height: 1.02 !important;
	font-weight: 850 !important;
	letter-spacing: -2px;
}

.bt-hero h1 span {
	color: var(--bt-yellow);
}

.bt-hero-subtitle {
	max-width: 690px;
	margin: 0 0 14px;
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.55;
}

.bt-hero-description {
	max-width: 650px;
	margin: 0 0 28px;
	color: rgba(255,255,255,.86);
	font-size: 16px;
	line-height: 1.7;
}

.bt-hero-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 28px;
}

.bt-premium-home .bt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 12px 23px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 850;
	text-decoration: none !important;
	border: 1px solid transparent;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.bt-premium-home .bt-btn:hover {
	transform: translateY(-2px);
}

.bt-btn-yellow {
	background: var(--bt-yellow);
	color: #111827 !important;
	box-shadow: 0 10px 25px rgba(255,184,0,.18);
}

.bt-btn-outline {
	background: rgba(255,255,255,.08);
	border-color: rgba(255,255,255,.32) !important;
	color: #fff !important;
}

.bt-btn-green {
	background: #16a34a;
	color: #fff !important;
}

.bt-btn-white {
	background: #fff;
	color: #0b2a55 !important;
}

.bt-hero-features {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	max-width: 700px;
}

.bt-hero-features > div {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	color: #fff;
	font-size: 12px;
	font-weight: 750;
}

.bt-hero-features strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 25px;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: var(--bt-yellow);
	color: #111827;
}

.bt-hero-car-stage {
	position: relative;
	height: 145px;
	max-width: 720px;
	margin-top: 15px;
	pointer-events: none;
}

.bt-hero-car-png {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: min(680px, 100%);
	max-height: 160px;
	object-fit: contain;
	object-position: center bottom;
	transform: translateX(-50%) translateY(12px);
	opacity: 0;
	filter: drop-shadow(0 22px 20px rgba(0,0,0,.35));
	transition: opacity .5s ease, transform .5s ease;
}

.bt-hero-car-png.active {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* =========================================================
   BOOKING WRAPPER
========================================================= */

/* =========================================================
   BOOKING WRAPPER — HOMEPAGE SAFE LAYOUT
========================================================= */

#bt-booking .bt-booking-wrapper {
    position: relative;
    z-index: 5;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    align-items: start;
    box-sizing: border-box;
}


.bt-booking-heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	color: #0b2545;
}

.bt-booking-heading h2 {
	margin: 0 !important;
	color: #0b2545 !important;
	font-size: 24px !important;
	line-height: 1.2 !important;
	font-weight: 850 !important;
}

.bt-existing-calculator {
	min-width: 0;
}

.bt-calculator-missing {
	margin: 0;
	padding: 18px;
	border: 1px solid #fecaca;
	border-radius: 10px;
	background: #fff1f2;
	color: #991b1b;
}

/* The calculator itself remains controlled by booking.css/plugin. */
.bt-existing-calculator #bt-booking {
	max-width: 100%;
}

/* =========================================================
   TRUST STATS
========================================================= */

.bt-trust {
	position: relative;
	z-index: 10;
	margin-top: -46px;
}

.bt-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: #fff;
	border: 1px solid var(--bt-border);
	border-radius: 22px;
	box-shadow: 0 20px 50px rgba(15,23,42,.12);
	overflow: hidden;
}

.bt-stat {
	padding: 27px 20px;
	text-align: center;
	border-right: 1px solid var(--bt-border);
}

.bt-stat:last-child {
	border-right: 0;
}

.bt-stat strong {
	display: block;
	margin-bottom: 7px;
	color: #0b2545;
	font-size: 28px;
	line-height: 1.15;
	font-weight: 850;
}

.bt-stat span {
	display: block;
	color: var(--bt-muted);
	font-size: 13px;
}

/* =========================================================
   COMMON SECTIONS
========================================================= */

.bt-section {
	padding: 85px 0;
}

.bt-routes {
	background: var(--bt-section);
}

.bt-section-heading {
	max-width: 760px;
	margin: 0 auto 45px;
	text-align: center;
}

.bt-section-heading > span {
	display: inline-block;
	margin-bottom: 10px;
	color: #1456a0;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .08em;
}

.bt-section-heading h2 {
	margin: 0 0 12px !important;
	color: var(--bt-text) !important;
	font-size: clamp(34px, 4vw, 48px) !important;
	line-height: 1.12 !important;
	font-weight: 850 !important;
}

.bt-section-heading p {
	margin: 0;
	color: var(--bt-muted);
	font-size: 16px;
	line-height: 1.7;
}

/* =========================================================
   ROUTES
========================================================= */

.bt-route-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.bt-route-card {
	display: block;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--bt-border);
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(15,23,42,.06);
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease;
}

.bt-route-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 42px rgba(15,23,42,.12);
}

.bt-route-image {
	height: 185px;
	background:
		linear-gradient(135deg, #123d76, #2c6bc4);
}

.bt-route-delhi {
	background:
		linear-gradient(135deg, rgba(7,29,59,.88), rgba(32,104,190,.80)),
		linear-gradient(135deg, #123d76, #2c6bc4);
}

.bt-route-airport {
	background:
		linear-gradient(135deg, #0a315e, #3478cc);
}

.bt-route-lucknow {
	background:
		linear-gradient(135deg, #102f5c, #4b7fc1);
}

.bt-route-nainital {
	background:
		linear-gradient(135deg, #123f45, #2e8875);
}

.bt-route-agra {
	background:
		linear-gradient(135deg, #6b3a19, #d18a32);
}

.bt-route-haridwar {
	background:
		linear-gradient(135deg, #173f54, #29957e);
}

.bt-route-card h3 {
	margin: 0;
	padding: 20px 18px 6px;
	color: #14213d !important;
	font-size: 18px !important;
	font-weight: 800 !important;
}

.bt-route-card > span {
	display: block;
	padding: 0 18px 20px;
	color: var(--bt-muted);
	font-size: 13px;
}

/* =========================================================
   WHY CHOOSE US
========================================================= */

.bt-why {
	background: #fff;
}

.bt-feature-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
}

.bt-feature-card {
	padding: 25px 20px;
	background: #fff;
	border: 1px solid var(--bt-border);
	border-radius: 16px;
	box-shadow: 0 8px 25px rgba(15,23,42,.05);
}

.bt-feature-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 15px;
	border-radius: 13px;
	background: #eef5ff;
	color: #1456a0;
	font-size: 14px;
	font-weight: 850;
}

.bt-feature-card h3 {
	margin: 0 0 7px !important;
	color: #14213d !important;
	font-size: 17px !important;
	font-weight: 800 !important;
}

.bt-feature-card p {
	margin: 0;
	color: var(--bt-muted);
	font-size: 13px;
	line-height: 1.6;
}

/* =========================================================
   FLEET
========================================================= */

.bt-fleet {
	background: var(--bt-section);
}

.bt-fleet-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.bt-fleet-card {
	padding: 0 0 22px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--bt-border);
	border-radius: 18px;
	text-align: center;
}

.bt-car-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 145px;
	background: linear-gradient(135deg, #eaf2ff, #f8fbff);
	color: #1456a0;
	font-size: 24px;
	font-weight: 850;
}

.bt-fleet-card h3 {
	margin: 18px 10px 5px !important;
	color: #14213d !important;
	font-size: 18px !important;
	font-weight: 800 !important;
}

.bt-fleet-card strong {
	color: #1456a0;
	font-size: 14px;
}

/* =========================================================
   REVIEWS
========================================================= */

.bt-reviews {
	background: #fff;
}

.bt-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.bt-review-card {
	padding: 28px;
	background: #fff;
	border: 1px solid var(--bt-border);
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(15,23,42,.05);
}

.bt-stars {
	margin-bottom: 12px;
	color: #ffb800;
	letter-spacing: 2px;
}

.bt-review-card p {
	margin: 0;
	color: #475569;
	line-height: 1.7;
}

.bt-review-card strong {
	display: block;
	margin-top: 18px;
	color: #14213d;
}

/* =========================================================
   FAQ
========================================================= */

.bt-faq {
	background: var(--bt-section);
}

.bt-faq-container {
	max-width: 900px;
}

.bt-faq-list {
	display: grid;
	gap: 10px;
}

.bt-faq-list details {
	background: #fff;
	border: 1px solid var(--bt-border);
	border-radius: 12px;
	padding: 0;
}

.bt-faq-list summary {
	padding: 18px 20px;
	cursor: pointer;
	color: #14213d;
	font-weight: 800;
	list-style: none;
}

.bt-faq-list summary::-webkit-details-marker {
	display: none;
}

.bt-faq-list p {
	margin: 0;
	padding: 0 20px 20px;
	color: var(--bt-muted);
	line-height: 1.7;
}

/* =========================================================
   FINAL CTA
========================================================= */

.bt-final-cta {
	margin: 0;
	padding: 72px 0;
	background: linear-gradient(135deg, #071d3b, #1456a0);
	color: #fff;
}

.bt-final-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
}

.bt-final-cta span {
	color: #ffcf4a;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .08em;
}

.bt-final-cta h2 {
	margin: 8px 0 10px !important;
	color: #fff !important;
	font-size: clamp(30px, 4vw, 46px) !important;
	line-height: 1.12 !important;
	font-weight: 850 !important;
}

.bt-final-cta p {
	margin: 0;
	color: rgba(255,255,255,.82);
}

.bt-final-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	flex: 0 0 auto;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

	.bt-hero-grid {
		grid-template-columns: minmax(0, 1fr) minmax(380px, 460px);
		gap: 28px;
	}

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

}

@media (max-width: 900px) {

	.bt-hero {
		min-height: auto;
	}

	.bt-hero-grid {
		grid-template-columns: 1fr;
		padding-top: 55px;
		padding-bottom: 55px;
	}

	.bt-hero-content {
		max-width: 780px;
	}

	#bt-booking .bt-booking-wrapper {
    max-width: 100%;
    margin: 0 auto;
}

	.bt-hero-car-stage {
		height: 130px;
	}

	.bt-route-grid,
	.bt-fleet-grid,
	.bt-review-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.bt-final-cta-inner {
		flex-direction: column;
		align-items: flex-start;
	}

}

@media (max-width: 640px) {

	.bt-premium-home .bt-container {
		width: min(100% - 28px, 1180px);
	}

	.bt-premium-home .bt-hero {
		min-height: auto;
	}

	.bt-hero-grid {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.bt-hero h1 {
		font-size: 42px !important;
		letter-spacing: -1px;
	}

	.bt-hero-subtitle {
		font-size: 16px;
	}

	.bt-hero-description {
		font-size: 15px;
	}

	.bt-hero-features {
		grid-template-columns: 1fr 1fr;
	}

	.bt-hero-car-stage {
		height: 105px;
	}

	.bt-hero-car-png {
		max-height: 115px;
	}

	#bt-booking .bt-booking-wrapper {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0 auto;
}

	.bt-booking-heading h2 {
		font-size: 21px !important;
	}

	.bt-trust {
		margin-top: -20px;
	}

	.bt-trust-grid {
		grid-template-columns: 1fr 1fr;
		border-radius: 16px;
	}

	.bt-stat {
		padding: 20px 10px;
	}

	.bt-stat:nth-child(2) {
		border-right: 0;
	}

	.bt-stat:nth-child(3),
	.bt-stat:nth-child(4) {
		border-top: 1px solid var(--bt-border);
	}

	.bt-stat:nth-child(4) {
		border-right: 0;
	}

	.bt-section {
		padding: 60px 0;
	}

	.bt-section-heading h2 {
		font-size: 33px !important;
	}

	.bt-route-grid,
	.bt-fleet-grid,
	.bt-review-grid,
	.bt-feature-grid {
		grid-template-columns: 1fr;
	}

	.bt-final-cta {
		padding: 55px 0;
	}

	.bt-final-buttons {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}

	.bt-final-buttons .bt-btn {
		width: 100%;
	}

}

@media (prefers-reduced-motion: reduce) {
	.bt-bg-slide,
	.bt-hero-car-png {
		transition: none;
	}
}

/* =========================================================
   HOMEPAGE REVISION — HERO / BOOKING / SEO
   Version 1.2
   ========================================================= */

/* Hero no longer contains the booking calculator. */
.bt-premium-home .bt-hero{
	position:relative;
	min-height:690px;
	display:flex;
	align-items:center;
	overflow:hidden;
	background:#071d3b;
}

.bt-premium-home .bt-hero-bg-slider,
.bt-premium-home .bt-bg-slide{
	position:absolute;
	inset:0;
}

.bt-premium-home .bt-hero-bg-slider{
	z-index:0;
}

.bt-premium-home .bt-bg-slide{
	background-size:cover;
	background-position:center;
	opacity:0;
	transform:scale(1.04);
	transition:opacity .8s ease,transform 8s ease;
}

.bt-premium-home .bt-bg-slide.active{
	opacity:1;
	transform:scale(1);
}

.bt-premium-home .bt-hero-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	background:
		linear-gradient(90deg,rgba(3,18,39,.92) 0%,rgba(3,18,39,.76) 42%,rgba(3,18,39,.42) 72%,rgba(3,18,39,.24) 100%),
		linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.32));
	pointer-events:none;
}

.bt-premium-home .bt-hero-grid{
	position:relative;
	z-index:3;
	display:grid;
	grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
	gap:45px;
	align-items:center;
	padding-top:60px;
	padding-bottom:60px;
}

.bt-premium-home .bt-hero-content{
	position:relative;
	z-index:4;
	color:#fff;
}

.bt-premium-home .bt-hero h1{
	margin:0 0 18px!important;
	color:#fff!important;
	font-size:clamp(44px,5.2vw,72px)!important;
	line-height:1.02!important;
	font-weight:850!important;
	letter-spacing:-2px;
}

.bt-premium-home .bt-hero h1 span{
	color:var(--bt-yellow);
}

.bt-premium-home .bt-hero-subtitle{
	max-width:720px;
	margin:0 0 12px;
	color:#fff;
	font-size:19px;
	font-weight:750;
	line-height:1.55;
}

.bt-premium-home .bt-hero-description{
	max-width:700px;
	margin:0 0 25px;
	color:rgba(255,255,255,.9);
	font-size:16px;
	line-height:1.7;
}

.bt-premium-home .bt-hero-buttons{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-bottom:22px;
}

.bt-premium-home .bt-hero-route-pills{
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin-top:18px;
	max-width:760px;
}

.bt-premium-home .bt-hero-route-pills a{
	padding:7px 11px;
	border:1px solid rgba(255,255,255,.22);
	border-radius:999px;
	background:rgba(255,255,255,.09);
	color:#fff!important;
	font-size:11px;
	font-weight:750;
	backdrop-filter:blur(7px);
}

.bt-premium-home .bt-hero-route-pills a:hover{
	background:var(--bt-yellow);
	color:#111827!important;
}

.bt-premium-home .bt-hero-visual{
	position:relative;
	min-width:0;
	min-height:410px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.bt-premium-home .bt-hero-car-stage{
	position:relative;
	width:100%;
	height:390px;
	margin:0;
	pointer-events:none;
}

.bt-premium-home .bt-hero-car-png{
	position:absolute;
	left:50%;
	bottom:20px;
	width:min(600px,100%);
	max-height:360px;
	height:auto;
	object-fit:contain;
	object-position:center bottom;
	transform:translateX(-50%) translateY(15px) scale(.97);
	opacity:0;
	filter:drop-shadow(0 25px 25px rgba(0,0,0,.42));
	transition:opacity .55s ease,transform .55s ease;
}

.bt-premium-home .bt-hero-car-png.active{
	opacity:1;
	transform:translateX(-50%) translateY(0) scale(1);
}

.bt-premium-home .bt-hero-car-stage:after{
	content:"";
	position:absolute;
	left:10%;
	right:10%;
	bottom:17px;
	height:28px;
	border-radius:50%;
	background:rgba(0,0,0,.38);
	filter:blur(12px);
	z-index:-1;
}

.bt-premium-home .bt-vehicle-name-card{
	position:absolute;
	right:0;
	top:18%;
	z-index:8;
	padding:12px 16px;
	border:1px solid rgba(255,255,255,.25);
	border-radius:14px;
	background:rgba(4,20,43,.66);
	backdrop-filter:blur(12px);
	box-shadow:0 16px 35px rgba(0,0,0,.22);
	color:#fff;
	min-width:145px;
}

.bt-premium-home .bt-vehicle-name-card span{
	display:block;
	color:rgba(255,255,255,.66);
	font-size:9px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
}

.bt-premium-home .bt-vehicle-name-card strong{
	display:block;
	margin-top:3px;
	color:#fff;
	font-size:15px;
	font-weight:850;
}

.bt-premium-home .bt-vehicle-indicators{
	position:absolute;
	left:50%;
	bottom:0;
	z-index:9;
	display:flex;
	gap:7px;
	transform:translateX(-50%);
}

.bt-premium-home .bt-vehicle-indicator{
	width:8px;
	height:8px;
	padding:0;
	border:0;
	border-radius:50%;
	background:rgba(255,255,255,.45);
	cursor:pointer;
	transition:width .2s ease,background .2s ease;
}

.bt-premium-home .bt-vehicle-indicator.is-active{
	width:25px;
	border-radius:999px;
	background:var(--bt-yellow);
}

/* Booking is now a separate block immediately below hero. */
.bt-premium-home .bt-home-booking{
	position:relative;
	z-index:10;
	margin:0;
	padding:38px 0 42px;
	background:#f6f9fd;
}

.bt-premium-home .bt-home-booking-card{
	width:min(1120px,100%);
	margin:0 auto;
	padding:26px;
	border:1px solid #e1e8f1;
	border-radius:24px;
	background:#fff;
	box-shadow:0 22px 65px rgba(15,23,42,.13);
}

.bt-premium-home .bt-home-booking .bt-booking-heading{
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin:0 0 20px;
	color:#0b2545;
}

.bt-premium-home .bt-home-booking .bt-booking-heading>span{
	font-size:24px;
	line-height:1;
}

.bt-premium-home .bt-booking-kicker{
	display:block;
	margin-bottom:5px;
	color:#1456a0;
	font-size:10px;
	font-weight:900;
	letter-spacing:.14em;
}

.bt-premium-home .bt-home-booking .bt-booking-heading h2{
	margin:0!important;
	color:#0b2545!important;
	font-size:28px!important;
	line-height:1.15!important;
	font-weight:850!important;
}

.bt-premium-home .bt-home-booking .bt-booking-heading p{
	margin:6px 0 0;
	color:#64748b;
	font-size:13px;
	line-height:1.55;
}

/* Existing plugin calculator remains the source of truth. */
.bt-premium-home .bt-home-booking .bt-existing-calculator #bt-booking{
	max-width:100%;
	margin:0;
}

.bt-premium-home .bt-home-booking .bt-existing-calculator .bt-booking-header{
	display:none;
}

/* SEO content from the existing Master Home SEO copy. */
.bt-premium-home .bt-seo-content{
	background:#fff;
	padding:72px 0;
}

.bt-premium-home .bt-seo-article{
	max-width:1040px;
	margin:0 auto;
	color:#334155;
	font-size:15px;
	line-height:1.82;
}

.bt-premium-home .bt-seo-article h2{
	margin:38px 0 13px;
	padding-left:13px;
	border-left:5px solid var(--bt-yellow);
	color:#0b2545;
	font-size:clamp(25px,3vw,34px);
	line-height:1.2;
	font-weight:850;
}

.bt-premium-home .bt-seo-article h2:first-child{
	margin-top:0;
}

.bt-premium-home .bt-seo-article h3{
	margin:24px 0 8px;
	color:#134074;
	font-size:20px;
	font-weight:800;
}

.bt-premium-home .bt-seo-article p{
	margin:0 0 15px;
}

.bt-premium-home .bt-seo-article .bts-route-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px;
	margin:20px 0 28px;
}

.bt-premium-home .bt-seo-article .bts-route-card{
	display:block;
	padding:16px;
	border:1px solid #e2e8f0;
	border-radius:12px;
	background:#fff;
	color:inherit;
	text-decoration:none!important;
	box-shadow:0 8px 25px rgba(15,23,42,.045);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.bt-premium-home .bt-seo-article .bts-route-card:hover{
	transform:translateY(-3px);
	border-color:var(--bt-yellow);
	box-shadow:0 14px 30px rgba(15,23,42,.09);
}

.bt-premium-home .bt-seo-article .bts-route-card h4{
	margin:0 0 6px;
	color:#0b2545;
	font-size:15px;
	font-weight:800;
}

.bt-premium-home .bt-seo-article .bts-route-card p{
	margin:0;
	color:#64748b;
	font-size:12px;
	line-height:1.55;
}

.bt-premium-home .bt-seo-article .bts-service-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
	margin:18px 0 25px;
}

.bt-premium-home .bt-seo-article .bts-service-card{
	padding:20px;
	border:1px solid #e2e8f0;
	border-radius:14px;
	background:#f8fafc;
}

.bt-premium-home .bt-seo-article .bts-service-card h3{
	margin:0 0 7px;
	font-size:17px;
}

.bt-premium-home .bt-seo-article .bts-service-card p{
	margin:0;
	font-size:13px;
	line-height:1.6;
	color:#64748b;
}

/* The old in-hero booking wrapper must never reserve/display space. */
.bt-premium-home .bt-hero .bt-booking-wrapper{
	display:none!important;
}

/* Existing trust block should follow the new booking block cleanly. */
.bt-premium-home .bt-trust{
	margin-top:0;
	padding-bottom:15px;
}

@media(max-width:1050px){
	.bt-premium-home .bt-hero-grid{
		grid-template-columns:1fr;
		gap:10px;
		padding-top:55px;
		padding-bottom:45px;
	}

	.bt-premium-home .bt-hero-content{
		text-align:center;
		max-width:850px;
		margin:0 auto;
	}

	.bt-premium-home .bt-hero-description,
	.bt-premium-home .bt-hero-subtitle{
		margin-left:auto;
		margin-right:auto;
	}

	.bt-premium-home .bt-hero-buttons,
	.bt-premium-home .bt-hero-features,
	.bt-premium-home .bt-hero-route-pills{
		justify-content:center;
	}

	.bt-premium-home .bt-hero-visual{
		min-height:350px;
	}

	.bt-premium-home .bt-vehicle-name-card{
		right:5%;
	}

	.bt-premium-home .bt-seo-article .bts-route-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:640px){
	.bt-premium-home .bt-hero{
		min-height:auto;
	}

	.bt-premium-home .bt-hero-grid{
		padding-top:38px;
		padding-bottom:30px;
	}

	.bt-premium-home .bt-hero h1{
		font-size:42px!important;
		letter-spacing:-1px;
	}

	.bt-premium-home .bt-hero-subtitle{
		font-size:16px;
	}

	.bt-premium-home .bt-hero-description{
		font-size:14px;
	}

	.bt-premium-home .bt-hero-features{
		grid-template-columns:1fr 1fr;
		text-align:left;
	}

	.bt-premium-home .bt-hero-visual{
		min-height:300px;
	}

	.bt-premium-home .bt-hero-car-stage{
		height:275px;
	}

	.bt-premium-home .bt-hero-car-png{
		max-height:250px;
	}

	.bt-premium-home .bt-vehicle-name-card{
		top:7%;
		right:0;
		min-width:120px;
		padding:9px 11px;
	}

	.bt-premium-home .bt-home-booking{
		padding:24px 0 30px;
	}

	.bt-premium-home .bt-home-booking-card{
		padding:18px 12px;
		border-radius:18px;
	}

	.bt-premium-home .bt-home-booking .bt-booking-heading h2{
		font-size:22px!important;
	}

	.bt-premium-home .bt-seo-content{
		padding:52px 0;
	}

	.bt-premium-home .bt-seo-article{
		font-size:14px;
	}

	.bt-premium-home .bt-seo-article h2{
		font-size:24px;
	}

	.bt-premium-home .bt-seo-article .bts-route-grid,
	.bt-premium-home .bt-seo-article .bts-service-grid{
		grid-template-columns:1fr;
	}
}

@media(prefers-reduced-motion:reduce){
	.bt-premium-home .bt-bg-slide,
	.bt-premium-home .bt-hero-car-png{
		transition:none;
		transform:none;
	}
}


/* =========================================================
   HOMEPAGE FINAL FIXES — BOOKING / SEO / DYNAMIC NAV
========================================================= */

.bt-home-booking-anchor{
	width:100%;
	margin:0;
	scroll-margin-top:90px;
	background:#f8fafc;
}

.bt-home-booking-anchor #bt-booking{
	margin:0;
}

.bt-booking-unavailable{
	max-width:1200px;
	margin:0 auto;
	padding:22px;
	border:1px solid #fecaca;
	border-radius:14px;
	background:#fff1f2;
	color:#991b1b;
	font-weight:700;
}

.bt-seo-content{
	background:#fff;
}

.bt-seo-article{
	max-width:1080px;
	margin:0 auto;
}

.bt-seo-kicker{
	display:block;
	margin-bottom:10px;
	color:#155eaa;
	font-size:12px;
	font-weight:900;
	letter-spacing:.14em;
	text-transform:uppercase;
	text-align:center;
}

.bt-seo-article > h2{
	margin-bottom:34px !important;
	text-align:center;
}

.bt-seo-article h3{
	margin-top:34px;
	margin-bottom:12px;
	color:#15233b;
	font-size:25px;
	line-height:1.25;
	font-weight:800;
}

.bt-seo-article p{
	margin:0 0 16px;
	color:#52657f;
	font-size:16px;
	line-height:1.85;
}

.bt-empty-state{
	grid-column:1 / -1;
	padding:30px;
	border:1px dashed #cbd5e1;
	border-radius:16px;
	background:#fff;
	text-align:center;
	color:#64748b;
}

.bt-route-grid .bt-route-card{
	min-height:220px;
}

.bt-route-grid .bt-route-image{
	min-height:130px;
	background:
		linear-gradient(135deg,rgba(6,27,56,.95),rgba(25,82,145,.82));
	border-radius:18px 18px 0 0;
}

.bt-hero-car-stage{
	height:240px;
}

.bt-hero-car-png{
	max-height:235px;
}

.bt-dynamic-footer-description{
	max-width:700px;
	margin:8px 0 0;
	color:#9fb1c9;
	font-size:11px;
	line-height:1.6;
}

@media(max-width:767px){
	.bt-seo-article h3{
		font-size:21px;
	}

	.bt-seo-article p{
		font-size:15px;
		line-height:1.75;
	}

	.bt-hero-car-stage{
		height:205px;
	}

	.bt-hero-car-png{
		max-height:200px;
	}

	.bt-dynamic-footer-description{
		font-size:10px;
	}
}
/* =========================================================
   BOOKING FORM FINAL LAYOUT FIX
   Homepage only
========================================================= */

.bt-premium-home #bt-booking {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.bt-premium-home #bt-booking .bt-booking-wrapper {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    align-items: start;
    box-sizing: border-box;
}

.bt-premium-home #bt-booking .bt-booking-form {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.bt-premium-home #bt-booking .bt-booking-side {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.bt-premium-home #bt-booking .bt-booking-card {
    width: 100%;
    box-sizing: border-box;
}

/* Tablet */
@media (max-width: 900px) {

    .bt-premium-home #bt-booking .bt-booking-wrapper {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .bt-premium-home #bt-booking .bt-booking-form,
    .bt-premium-home #bt-booking .bt-booking-side {
        width: 100%;
    }
}

/* Mobile */
@media (max-width: 640px) {

    .bt-premium-home #bt-booking .bt-booking-wrapper {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .bt-premium-home #bt-booking .bt-booking-form {
        padding: 20px;
        border-radius: 18px;
    }

    .bt-premium-home #bt-booking .bt-booking-card {
        border-radius: 18px;
    }
}