/* ==========================================================
   Bareilly Taxi Core - Auto City / Route Page Design
   Shared design system for generated SEO pages.
   ========================================================== */
.bt-auto-page{--bt-blue:#10243f;--bt-blue2:#163b69;--bt-yellow:#ffc400;--bt-green:#198754;--bt-text:#172033;--bt-muted:#667085;--bt-border:#e5e7eb;--bt-bg:#f6f8fb;--bt-card:#fff;font-family:inherit;color:var(--bt-text);background:#fff}
.bt-auto-page *{box-sizing:border-box}.bt-auto-container{width:min(100% - 28px,1240px);margin:auto}.bt-auto-hero{position:relative;overflow:hidden;min-height:410px;background:#10243f center/cover no-repeat;isolation:isolate}.bt-auto-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,38,.86) 0%,rgba(7,20,38,.58) 48%,rgba(7,20,38,.25) 100%);z-index:-1}.bt-auto-hero.route:after{content:"";position:absolute;left:28%;right:31%;top:54%;border-top:4px dashed var(--bt-yellow);transform:rotate(-4deg);z-index:1;opacity:.95}.bt-auto-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:center;min-height:410px;padding:34px 0}.bt-auto-hero-copy{color:#fff;padding:20px 0}.bt-auto-eyebrow{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:var(--bt-yellow);color:#172033;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.bt-auto-hero h1{margin:15px 0 10px;color:#fff;font-size:clamp(34px,5vw,64px);line-height:1.03;font-weight:850}.bt-auto-hero h1 strong{color:var(--bt-yellow)}.bt-auto-lead{margin:0;max-width:760px;color:#fff;font-size:19px;line-height:1.55}.bt-route-endpoints{display:flex;align-items:center;gap:16px;margin:18px 0 8px;font-size:clamp(24px,3vw,42px);font-weight:900;text-transform:uppercase}.bt-route-endpoint{color:#fff}.bt-route-arrow{color:var(--bt-yellow);font-size:32px}.bt-route-car{position:absolute;z-index:3;width:min(34vw,420px);max-width:42%;left:43%;bottom:28px;filter:drop-shadow(0 14px 20px rgba(0,0,0,.35))}.bt-hero-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.bt-hero-stat{display:flex;gap:8px;align-items:center;padding:9px 13px;border-radius:10px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:14px}.bt-auto-booking-card{background:#fff;border-radius:16px;box-shadow:0 16px 42px rgba(0,0,0,.22);padding:10px;overflow:hidden}.bt-auto-booking-card .bt-booking-v9{margin:0!important;padding:0!important;background:transparent!important;min-height:0!important}.bt-auto-booking-card .bt-booking-header{background:var(--bt-blue);color:#fff;border-radius:11px 11px 0 0;margin:0!important;padding:16px!important}.bt-auto-booking-card .bt-booking-header h2,.bt-auto-booking-card .bt-booking-header p,.bt-auto-booking-card .bt-section-badge{color:#fff!important}.bt-auto-booking-card .bt-booking-header h2{font-size:21px!important;margin:0!important}.bt-auto-booking-card .bt-booking-header p{font-size:12px!important;margin:4px 0 0!important}.bt-auto-booking-card .bt-booking-wrapper{box-shadow:none!important;padding:8px!important}.bt-auto-booking-card .bt-booking-side{display:none!important}.bt-auto-booking-card .bt-form-grid{grid-template-columns:1fr!important}.bt-auto-booking-card .bt-booking-tabs{display:grid!important;grid-template-columns:repeat(3,1fr);gap:5px}.bt-auto-booking-card .bt-tab{padding:9px 4px!important;font-size:12px!important}.bt-auto-booking-card .bt-form-group{margin-bottom:8px!important}.bt-auto-booking-card .bt-form-group label{font-size:11px!important}.bt-auto-booking-card .bt-form-group input,.bt-auto-booking-card .bt-form-group select{padding:10px!important;font-size:13px!important}.bt-auto-booking-card .bt-booking-submit,.bt-auto-booking-card button[type=submit]{width:100%!important;background:var(--bt-yellow)!important;color:#172033!important;font-weight:900!important}.bt-feature-strip{background:#fff;border-bottom:1px solid var(--bt-border);box-shadow:0 3px 15px rgba(15,23,42,.06);position:relative;z-index:4}.bt-feature-grid{display:grid;grid-template-columns:repeat(6,1fr)}.bt-feature-item{min-height:82px;padding:14px 8px;text-align:center;border-right:1px solid var(--bt-border);font-size:12px;font-weight:800}.bt-feature-item:last-child{border-right:0}.bt-feature-icon{display:block;font-size:22px;margin-bottom:4px}.bt-auto-section{padding:38px 0}.bt-auto-section.alt{background:var(--bt-bg)}.bt-auto-grid-2{display:grid;grid-template-columns:1fr 1.45fr;gap:22px}.bt-auto-grid-2.reverse{grid-template-columns:1.45fr 1fr}.bt-auto-card{background:#fff;border:1px solid var(--bt-border);border-radius:14px;padding:22px;box-shadow:0 7px 25px rgba(15,23,42,.05)}.bt-auto-card h2,.bt-auto-card h3{margin:0 0 10px;color:var(--bt-blue);line-height:1.2}.bt-auto-card p{color:#475467;line-height:1.7}.bt-section-title{text-align:center;margin-bottom:22px}.bt-section-title span{color:var(--bt-green);font-size:12px;font-weight:900;text-transform:uppercase}.bt-section-title h2{margin:5px 0;color:var(--bt-blue);font-size:30px}.bt-section-title p{margin:0;color:var(--bt-muted)}.bt-place-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.bt-place-card{border:1px solid var(--bt-border);border-radius:12px;overflow:hidden;background:#fff}.bt-place-card img{display:block;width:100%;height:115px;object-fit:cover}.bt-place-card div{padding:10px;font-size:13px;font-weight:800}.bt-route-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.bt-route-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--bt-border);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(15,23,42,.05)}.bt-route-card img{width:100%;height:105px;object-fit:cover;display:block}.bt-route-card-body{padding:11px}.bt-route-card-title{display:block;font-weight:900;color:var(--bt-blue);font-size:14px}.bt-route-card-meta{display:block;color:var(--bt-muted);font-size:12px;margin-top:4px}.bt-route-card-price{display:block;margin-top:7px;color:var(--bt-green);font-weight:900}.bt-route-layout{display:grid;grid-template-columns:minmax(0,1.5fr) 350px;gap:22px}.bt-route-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.bt-route-info{padding:14px;background:#f8fafc;border:1px solid var(--bt-border);border-radius:12px;text-align:center}.bt-route-info strong{display:block;color:var(--bt-blue);font-size:18px}.bt-route-info span{font-size:11px;color:var(--bt-muted)}.bt-route-map{min-height:350px;border:1px solid var(--bt-border);border-radius:14px;overflow:hidden;background:#eef2f6}.bt-route-map iframe{width:100%;height:350px;border:0;display:block}.bt-route-map-placeholder{height:350px;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px}.bt-route-map-placeholder a{display:inline-block;margin-top:12px;background:var(--bt-yellow);padding:10px 16px;border-radius:8px;color:#172033;text-decoration:none;font-weight:900}.bt-route-fare-table{width:100%;border-collapse:collapse}.bt-route-fare-table th{background:var(--bt-blue);color:#fff;text-align:left;padding:10px;font-size:13px}.bt-route-fare-table td{padding:10px;border-bottom:1px solid var(--bt-border);font-size:13px}.bt-route-sidebar{display:flex;flex-direction:column;gap:14px}.bt-check-list{list-style:none;padding:0;margin:0}.bt-check-list li{padding:8px 0;border-bottom:1px dashed var(--bt-border);font-size:13px}.bt-check-list li:before{content:"✓";color:var(--bt-green);font-weight:900;margin-right:8px}.bt-city-info-list{display:grid;gap:8px}.bt-city-info-list div{display:flex;gap:8px;font-size:13px}.bt-city-info-list strong{min-width:105px;color:var(--bt-blue)}.bt-seo-content{font-size:16px;line-height:1.78}.bt-seo-content h2{color:var(--bt-blue);margin:28px 0 8px}.bt-seo-content h3{color:#234b78;margin:22px 0 8px}.bt-seo-content a{color:#155eef;font-weight:700}.bt-internal-links{display:flex;flex-wrap:wrap;gap:8px}.bt-internal-links a{padding:8px 11px;border:1px solid var(--bt-border);border-radius:999px;text-decoration:none;color:var(--bt-blue);background:#fff;font-size:12px;font-weight:800}.bt-route-via{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0}.bt-route-via span{padding:6px 9px;border-radius:7px;background:#eff6ff;color:#234b78;font-size:12px;font-weight:800}.bt-route-via b{color:#98a2b3}.bt-bottom-cta{background:var(--bt-blue);color:#fff;padding:28px 0}.bt-bottom-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:18px}.bt-bottom-cta h2{margin:0;color:#fff}.bt-bottom-cta p{margin:4px 0 0;color:#dbeafe}.bt-cta-buttons{display:flex;gap:9px;flex-wrap:wrap}.bt-cta-button{display:inline-block;padding:11px 16px;border-radius:8px;text-decoration:none;font-weight:900;background:var(--bt-yellow);color:#172033}.bt-cta-button.light{background:#fff;color:var(--bt-blue)}.bt-stats{background:#10243f;color:#fff;padding:22px 0}.bt-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;text-align:center}.bt-stats-item strong{display:block;color:var(--bt-yellow);font-size:23px}.bt-stats-item span{font-size:12px;color:#dbeafe}@media(max-width:1050px){.bt-auto-hero-inner{grid-template-columns:1fr 330px}.bt-route-car{left:38%;width:320px}.bt-place-grid,.bt-route-cards{grid-template-columns:repeat(2,1fr)}.bt-feature-grid{grid-template-columns:repeat(3,1fr)}.bt-feature-item:nth-child(3){border-right:0}.bt-route-layout{grid-template-columns:1fr}.bt-route-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.bt-auto-container{width:min(100% - 20px,1240px)}.bt-auto-hero-inner{display:block;min-height:0;padding:25px 0 18px}.bt-auto-hero{min-height:0}.bt-auto-booking-card{margin-top:20px}.bt-route-car{position:relative;left:auto;bottom:auto;display:block;width:70%;max-width:340px;margin:8px auto -10px}.bt-auto-hero.route:after{display:none}.bt-auto-hero h1{font-size:38px}.bt-route-endpoints{font-size:25px}.bt-feature-grid{grid-template-columns:repeat(2,1fr)}.bt-feature-item:nth-child(3){border-right:1px solid var(--bt-border)}.bt-auto-grid-2,.bt-auto-grid-2.reverse{grid-template-columns:1fr}.bt-place-grid,.bt-route-cards{grid-template-columns:repeat(2,1fr)}.bt-route-info-grid{grid-template-columns:repeat(2,1fr)}.bt-route-sidebar{display:flex}.bt-stats-grid{grid-template-columns:repeat(2,1fr)}.bt-bottom-cta-inner{display:block}.bt-cta-buttons{margin-top:14px}.bt-auto-section{padding:28px 0}}@media(max-width:480px){.bt-place-grid,.bt-route-cards{grid-template-columns:1fr}.bt-feature-grid{grid-template-columns:1fr 1fr}.bt-route-info-grid{grid-template-columns:1fr 1fr}.bt-route-map iframe,.bt-route-map-placeholder{height:280px}}


/* ==========================================================
   PREMIUM HERO V5.1.6
   Route + City: 3-column hero with service areas and booking.
   Booking functionality remains inside the existing form template.
   ========================================================== */

.bt-premium-hero{
	min-height:900px;
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}

.bt-premium-hero:before{
	background:
		linear-gradient(
			90deg,
			rgba(5,18,38,.94) 0%,
			rgba(5,18,38,.82) 35%,
			rgba(5,18,38,.60) 62%,
			rgba(5,18,38,.72) 100%
		);
	z-index:0;
}

.bt-premium-hero-grid{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:minmax(0,1fr) 285px 365px;
	gap:14px;
	align-items:stretch;
	min-height:900px;
	padding:24px 0;
}

.bt-premium-hero-copy{
	position:relative;
	z-index:5;
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-width:0;
	padding:30px 8px 60px 0;
	color:#fff;
}

.bt-premium-hero-copy h1{
	max-width:650px;
	margin:14px 0 12px;
	color:#fff;
	font-size:clamp(38px,4.2vw,62px);
	line-height:1.04;
	font-weight:900;
	letter-spacing:-.025em;
}

.bt-premium-hero-copy .bt-auto-lead{
	max-width:620px;
	font-size:18px;
	line-height:1.55;
}

.bt-premium-hero .bt-route-endpoints{
	margin:18px 0 4px;
}

.bt-premium-hero .bt-route-endpoint:first-child{
	color:#fff;
}

.bt-premium-hero .bt-route-endpoint:last-child{
	color:#ffc400;
}

.bt-premium-trust-line{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin-top:16px;
	color:#fff;
	font-size:14px;
	font-weight:800;
}

.bt-premium-trust-line span:nth-child(odd):first-child{
	color:#ffc400;
}

.bt-premium-hero-highlights{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:8px;
	max-width:600px;
	margin-top:24px;
}

.bt-premium-hero-highlights > div{
	min-width:0;
	padding:14px 9px;
	border:1px solid rgba(255,255,255,.22);
	border-radius:12px;
	background:rgba(8,27,51,.48);
	backdrop-filter:blur(10px);
	text-align:center;
	box-shadow:0 10px 25px rgba(0,0,0,.10);
}

.bt-premium-hero-highlights strong{
	display:block;
	color:#ffc400;
	font-size:15px;
	line-height:1.2;
}

.bt-premium-hero-highlights span{
	display:block;
	margin-top:4px;
	color:#fff;
	font-size:11px;
	font-weight:700;
	line-height:1.25;
}

.bt-premium-route-note{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 16px;
	max-width:650px;
	margin-top:24px;
	padding:13px 16px;
	border:1px solid rgba(255,255,255,.22);
	border-radius:12px;
	background:rgba(8,27,51,.55);
	color:#e7eef7;
	font-size:12px;
	line-height:1.45;
}

.bt-premium-route-note strong{
	color:#ffc400;
}

.bt-service-area-panel{
	position:relative;
	z-index:8;
	display:flex;
	flex-direction:column;
	min-width:0;
	height:100%;
	padding:15px;
	border:1px solid rgba(255,255,255,.32);
	border-radius:20px;
	background:rgba(7,27,50,.92);
	box-shadow:0 22px 60px rgba(0,0,0,.30);
	backdrop-filter:blur(16px);
	overflow:hidden;
}

.bt-service-area-heading{
	padding:6px 6px 12px;
	text-align:center;
}

.bt-service-area-heading span{
	display:block;
	color:#ffc400;
	font-size:13px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.05em;
}

.bt-service-area-heading strong{
	display:block;
	margin-top:4px;
	color:#fff;
	font-size:12px;
	font-weight:600;
}

.bt-service-area-list{
	display:grid;
	grid-template-columns:1fr;
	gap:7px;
	min-height:0;
}

.bt-service-area-card{
	padding:10px 11px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:12px;
	background:rgba(255,255,255,.055);
}

.bt-service-area-card h3{
	margin:0 0 6px;
	color:#ffc400;
	font-size:13px;
	line-height:1.2;
	font-weight:900;
	text-transform:uppercase;
}

.bt-service-area-card p{
	margin:0;
	color:#edf4fb;
	font-size:10.5px;
	line-height:1.5;
	font-weight:600;
}

.bt-premium-booking-panel{
	position:relative;
	z-index:10;
	min-width:0;
	height:100%;
	border:1px solid rgba(255,255,255,.55);
	border-radius:20px;
	background:#fff;
	box-shadow:0 25px 70px rgba(0,0,0,.30);
	overflow:hidden;
}

.bt-premium-booking-heading{
	padding:17px 18px 14px;
	background:#10243f;
	text-align:center;
}

.bt-premium-booking-heading span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:6px 13px;
	border-radius:999px;
	background:#ffc400;
	color:#172033;
	font-size:10px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.04em;
}

.bt-premium-booking-heading h2{
	margin:9px 0 3px;
	color:#fff;
	font-size:21px;
	line-height:1.15;
	font-weight:900;
}

.bt-premium-booking-heading p{
	margin:0;
	color:#dbeafe;
	font-size:11px;
	line-height:1.4;
}

.bt-premium-booking-form{
	max-height:840px;
	overflow-y:auto;
	scrollbar-width:thin;
}

.bt-premium-booking-form #bt-booking{
	margin:0!important;
	padding:10px 10px 14px!important;
	background:#fff!important;
	min-height:0!important;
}

.bt-premium-booking-form #bt-booking .bt-container{
	width:100%!important;
	max-width:none!important;
}

.bt-premium-booking-form #bt-booking .bt-booking-header{
	display:none!important;
}

.bt-premium-booking-form #bt-booking .bt-booking-wrapper{
	display:block!important;
}

.bt-premium-booking-form #bt-booking .bt-booking-form{
	padding:8px 6px!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
}

.bt-premium-booking-form #bt-booking .bt-booking-tabs{
	grid-template-columns:repeat(4,1fr);
	gap:4px;
	padding:4px;
	margin-bottom:12px;
	border-radius:11px;
}

.bt-premium-booking-form #bt-booking .bt-tab{
	min-height:40px;
	padding:7px 3px;
	font-size:10px;
	border-radius:8px;
}

.bt-premium-booking-form #bt-booking .bt-form-grid{
	grid-template-columns:1fr!important;
	gap:9px!important;
}

.bt-premium-booking-form #bt-booking .bt-form-group label{
	margin-bottom:4px;
	font-size:10px;
}

.bt-premium-booking-form #bt-booking .bt-form-group input,
.bt-premium-booking-form #bt-booking .bt-form-group select{
	height:43px;
	padding:0 10px;
	border-radius:9px;
	font-size:12px;
}

.bt-premium-booking-form #bt-booking .bt-booking-note{
	margin-top:10px;
	padding:9px 10px;
	gap:5px 10px;
	border-radius:9px;
	font-size:9px;
}

.bt-premium-booking-form #bt-booking .bt-booking-buttons{
	grid-template-columns:1.2fr 1fr 1fr;
	gap:6px;
	margin-top:10px;
}

.bt-premium-booking-form #bt-booking .bt-book-btn,
.bt-premium-booking-form #bt-booking .bt-call-btn,
.bt-premium-booking-form #bt-booking .bt-whatsapp-btn{
	min-height:44px;
	padding:8px 5px;
	border-radius:9px;
	font-size:10px;
}

.bt-premium-booking-form #bt-booking .bt-booking-footer{
	margin-top:12px;
	padding-top:12px;
}

.bt-premium-booking-form #bt-booking .bt-booking-features{
	grid-template-columns:repeat(3,1fr);
	gap:7px;
}

.bt-premium-booking-form #bt-booking .bt-feature{
	gap:4px;
}

.bt-premium-booking-form #bt-booking .bt-feature strong{
	font-size:9px;
	line-height:1.25;
}

.bt-premium-booking-form #bt-booking .bt-feature small{
	font-size:8px;
	line-height:1.3;
}

.bt-premium-booking-form #bt-booking .bt-booking-side,
.bt-premium-booking-form #bt-booking .bt-booking-bottom-bar{
	display:none!important;
}

.bt-premium-route-car{
	position:absolute!important;
	z-index:6!important;
	left:27%!important;
	bottom:22px!important;
	width:min(36vw,430px)!important;
	max-width:430px!important;
	filter:drop-shadow(0 18px 28px rgba(0,0,0,.42))!important;
	pointer-events:none;
}

.bt-premium-hero.city .bt-premium-route-car{
	left:28%!important;
}

@media(max-width:1200px){
	.bt-premium-hero-grid{
		grid-template-columns:minmax(0,1fr) 250px 340px;
	}
	.bt-premium-booking-heading h2{
		font-size:19px;
	}
	.bt-premium-route-car{
		left:25%!important;
		width:360px!important;
	}
}

@media(max-width:1000px){
	.bt-premium-hero{
		min-height:0;
	}
	.bt-premium-hero-grid{
		grid-template-columns:minmax(0,1fr) 320px;
		min-height:0;
		padding:22px 0;
	}
	.bt-service-area-panel{
		grid-column:1 / -1;
		grid-row:2;
		order:3;
		height:auto;
	}
	.bt-service-area-list{
		grid-template-columns:repeat(3,1fr);
	}
	.bt-premium-booking-panel{
		grid-column:2;
		grid-row:1;
	}
	.bt-premium-hero-copy{
		grid-column:1;
		grid-row:1;
	}
	.bt-premium-route-car{
		left:17%!important;
		bottom:10px!important;
		width:320px!important;
	}
}

@media(max-width:700px){
	.bt-premium-hero-grid{
		display:flex;
		flex-direction:column;
	}
	.bt-premium-hero-copy{
		padding:18px 0 10px;
	}
	.bt-premium-hero-copy h1{
		font-size:38px;
	}
	.bt-premium-hero-highlights{
		grid-template-columns:repeat(2,1fr);
	}
	.bt-service-area-panel,
	.bt-premium-booking-panel{
		width:100%;
	}
	.bt-service-area-list{
		grid-template-columns:repeat(2,1fr);
	}
	.bt-premium-booking-form{
		max-height:none;
		overflow:visible;
	}
	.bt-premium-route-car{
		position:relative!important;
		left:auto!important;
		bottom:auto!important;
		width:78%!important;
		max-width:340px!important;
		margin:-10px auto 4px;
		order:2;
	}
}

@media(max-width:480px){
	.bt-service-area-list{
		grid-template-columns:1fr;
	}
	.bt-premium-hero-copy h1{
		font-size:34px;
	}
	.bt-premium-hero .bt-route-endpoints{
		font-size:25px;
	}
	.bt-premium-trust-line{
		font-size:12px;
	}
}

/* ==========================================================
   PREMIUM HERO FINAL 5.1.7
   Service areas are intentionally OUTSIDE the hero.
   The hero keeps only the main content, car and booking form.
   ========================================================== */
.bt-premium-hero-grid{
	grid-template-columns:minmax(0,1fr) 390px;
	gap:24px;
	min-height:780px;
}
.bt-premium-hero-copy{padding-right:12px;}
.bt-premium-booking-panel{grid-column:2;grid-row:1;}
.bt-premium-route-car{left:25%!important;bottom:24px!important;width:min(38vw,460px)!important;}
.bt-premium-hero.city .bt-premium-route-car{left:27%!important;}

/* Right sidebar service-area block below the hero */
.bt-city-content-layout{
	display:grid;
	grid-template-columns:minmax(0,1fr) 370px;
	gap:24px;
	align-items:start;
}
.bt-city-main-content{min-width:0;display:grid;gap:24px;}
.bt-city-sidebar{min-width:0;}
.bt-service-sidebar-card{
	position:sticky;
	top:24px;
	padding:18px;
	border:1px solid #dbe3ec;
	border-radius:18px;
	background:#fff;
	box-shadow:0 14px 38px rgba(15,23,42,.08);
}
.bt-service-sidebar-heading{
	padding:4px 3px 15px;
	border-bottom:1px solid #e7edf3;
}
.bt-service-sidebar-heading span{
	display:block;
	color:#159447;
	font-size:12px;
	font-weight:900;
	letter-spacing:.05em;
	text-transform:uppercase;
}
.bt-service-sidebar-heading h2{
	margin:5px 0 5px;
	color:#10243f;
	font-size:25px;
	line-height:1.15;
}
.bt-service-sidebar-heading p{
	margin:0;
	color:#64748b;
	font-size:12px;
	line-height:1.5;
}
.bt-service-sidebar-list{display:grid;gap:10px;margin-top:12px;}
.bt-service-sidebar-area{
	padding:12px 13px;
	border:1px solid #e2e8f0;
	border-radius:12px;
	background:#f8fafc;
}
.bt-service-sidebar-area h3{
	margin:0 0 8px;
	color:#10243f;
	font-size:15px;
	line-height:1.2;
	font-weight:900;
}
.bt-service-sidebar-label{
	margin-top:6px;
	color:#d39b00;
	font-size:10px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.bt-service-sidebar-area p{
	margin:3px 0 0;
	color:#475569;
	font-size:11px;
	font-weight:600;
	line-height:1.55;
}
.bt-service-sidebar-area .bt-service-tourist-list{color:#334155;}
.bt-route-sidebar .bt-service-sidebar-card{position:relative;top:auto;}

/* Keep hero compact now that service areas have moved below it. */
.bt-premium-hero{min-height:780px;}

@media(max-width:1200px){
	.bt-premium-hero-grid{grid-template-columns:minmax(0,1fr) 350px;gap:18px;}
	.bt-premium-hero{min-height:740px;}
	.bt-premium-route-car{left:20%!important;width:390px!important;}
	.bt-city-content-layout{grid-template-columns:minmax(0,1fr) 340px;}
}
@media(max-width:1000px){
	.bt-premium-hero-grid{grid-template-columns:minmax(0,1fr) 330px;min-height:0;}
	.bt-premium-hero{min-height:0;}
	.bt-premium-booking-panel{grid-column:2;grid-row:1;}
	.bt-premium-hero-copy{grid-column:1;grid-row:1;}
	.bt-premium-route-car{left:10%!important;bottom:8px!important;width:320px!important;}
	.bt-city-content-layout{grid-template-columns:1fr;}
	.bt-service-sidebar-card{position:relative;top:auto;}
}
@media(max-width:700px){
	.bt-premium-hero-grid{display:flex;flex-direction:column;}
	.bt-premium-hero-copy{padding:18px 0 10px;}
	.bt-premium-booking-panel{width:100%;order:2;}
	.bt-premium-route-car{position:relative!important;left:auto!important;bottom:auto!important;width:78%!important;max-width:340px!important;margin:-10px auto 4px;order:3;}
	.bt-service-sidebar-card{padding:14px;}
}


/* ==========================================================
   PREMIUM HERO FINAL WORKING LAYOUT
   City + Route
   - Service areas live inside the hero middle column.
   - Booking remains the right column.
   - Booking form has no internal scroll on desktop.
   - Existing booking/fare JS and backend are untouched.
   ========================================================== */
.bt-premium-hero-grid{
	grid-template-columns:minmax(0,1fr) 300px 370px !important;
	gap:16px !important;
	min-height:780px !important;
	padding:18px 0 !important;
	align-items:stretch !important;
}
.bt-premium-hero-service-areas{
	position:relative;
	z-index:9;
	min-width:0;
	min-height:0;
}
.bt-premium-hero-service-areas .bt-service-sidebar-card{
	height:100%;
	position:relative !important;
	top:auto !important;
	padding:13px !important;
	border-color:rgba(255,255,255,.28);
	border-radius:18px;
	background:rgba(7,27,50,.90);
	box-shadow:0 18px 55px rgba(0,0,0,.25);
	color:#fff;
	backdrop-filter:blur(14px);
	overflow:hidden;
}
.bt-premium-hero-service-areas .bt-service-sidebar-heading{
	padding:3px 2px 9px;
	border-bottom-color:rgba(255,255,255,.18);
}
.bt-premium-hero-service-areas .bt-service-sidebar-heading span{
	color:#ffc400;
	font-size:10px;
}
.bt-premium-hero-service-areas .bt-service-sidebar-heading h2{
	margin:3px 0;
	color:#fff;
	font-size:20px;
}
.bt-premium-hero-service-areas .bt-service-sidebar-heading p{
	color:#dbeafe;
	font-size:10px;
}
.bt-premium-hero-service-areas .bt-service-sidebar-list{
	gap:6px;
	margin-top:8px;
}
.bt-premium-hero-service-areas .bt-service-sidebar-area{
	padding:7px 8px;
	border-color:rgba(255,255,255,.15);
	border-radius:9px;
	background:rgba(255,255,255,.07);
}
.bt-premium-hero-service-areas .bt-service-sidebar-area h3{
	margin:0 0 4px;
	color:#ffc400;
	font-size:12px;
}
.bt-premium-hero-service-areas .bt-service-sidebar-label{
	margin-top:3px;
	color:#a7f3d0;
	font-size:8px;
}
.bt-premium-hero-service-areas .bt-service-sidebar-area p{
	margin:2px 0 0;
	color:#e5edf7;
	font-size:8.5px;
	line-height:1.35;
}
.bt-premium-hero-service-areas .bt-service-sidebar-area .bt-service-tourist-list{
	color:#cbd5e1;
}
.bt-premium-booking-form{
	max-height:none !important;
	overflow:visible !important;
}
.bt-premium-booking-panel{
	min-height:0 !important;
	height:100% !important;
}
.bt-premium-booking-form #bt-booking.bt-booking-v9{
	padding:6px 8px 10px !important;
}
.bt-premium-booking-form #bt-booking .bt-booking-form{
	padding:5px 4px !important;
}
.bt-premium-booking-form #bt-booking .bt-form-grid{
	gap:7px !important;
}
.bt-premium-booking-form #bt-booking .bt-form-group label{
	font-size:9px !important;
	margin-bottom:3px !important;
}
.bt-premium-booking-form #bt-booking .bt-form-group input,
.bt-premium-booking-form #bt-booking .bt-form-group select{
	height:38px !important;
	font-size:11px !important;
}
.bt-premium-booking-form #bt-booking .bt-booking-tabs{
	margin-bottom:8px !important;
}
.bt-premium-booking-form #bt-booking .bt-tab{
	min-height:34px !important;
	font-size:9px !important;
}
.bt-premium-booking-form #bt-booking .bt-live-fare-box{
	margin-top:7px !important;
}
.bt-premium-hero .bt-premium-route-car{
	left:24% !important;
	bottom:18px !important;
	width:min(34vw,420px) !important;
	max-width:420px !important;
}
@media(max-width:1180px){
	.bt-premium-hero-grid{
		grid-template-columns:minmax(0,1fr) 270px 350px !important;
	}
	.bt-premium-hero .bt-premium-route-car{
		left:19% !important;
		width:340px !important;
	}
}
@media(max-width:980px){
	.bt-premium-hero-grid{
		grid-template-columns:minmax(0,1fr) 340px !important;
	}
	.bt-premium-hero-service-areas{
		grid-column:1 / -1;
		grid-row:2;
	}
	.bt-premium-booking-panel{
		grid-column:2;
		grid-row:1;
	}
	.bt-premium-hero-copy{
		grid-column:1;
		grid-row:1;
	}
	.bt-premium-hero-service-areas .bt-service-sidebar-list{
		grid-template-columns:repeat(2,minmax(0,1fr));
		display:grid;
	}
}
@media(max-width:700px){
	.bt-premium-hero-grid{
		display:flex !important;
		flex-direction:column !important;
		min-height:0 !important;
	}
	.bt-premium-hero-copy,
	.bt-premium-hero-service-areas,
	.bt-premium-booking-panel{
		width:100% !important;
	}
	.bt-premium-hero-service-areas .bt-service-sidebar-list{
		display:grid;
		grid-template-columns:1fr 1fr;
	}
	.bt-premium-hero-service-areas .bt-service-sidebar-card{
		height:auto;
	}
	.bt-premium-booking-form{
		max-height:none !important;
		overflow:visible !important;
	}
}
@media(max-width:480px){
	.bt-premium-hero-service-areas .bt-service-sidebar-list{
		grid-template-columns:1fr;
	}
}

/* City page: service areas moved into Hero. */
.bt-city-content-layout{grid-template-columns:minmax(0,1fr) !important;}


/* ==========================================================
   CITY PAGE FINAL LAYOUT - 5.1.9
   Hero: copy + booking only.
   Service Areas: right side AFTER hero, extending alongside
   the complete city content until the footer CTA/stats area.
   ========================================================== */
.bt-city-auto .bt-premium-hero-grid{
    grid-template-columns:minmax(0,1fr) 390px !important;
    gap:24px !important;
    min-height:700px !important;
    padding:24px 0 !important;
    align-items:stretch !important;
}
.bt-city-auto .bt-premium-hero-service-areas{display:none !important;}
.bt-city-auto .bt-premium-booking-panel{
    grid-column:2 !important;
    grid-row:1 !important;
    height:100% !important;
}
.bt-city-auto .bt-premium-hero-copy{
    grid-column:1 !important;
    grid-row:1 !important;
    position:relative;
    z-index:5;
}
.bt-city-auto .bt-premium-route-car{
    left:26% !important;
    bottom:18px !important;
    width:min(39vw,470px) !important;
    max-width:470px !important;
    z-index:6 !important;
    pointer-events:none;
}
.bt-city-auto .bt-premium-booking-form{
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    scrollbar-width:none;
}
.bt-city-auto .bt-premium-booking-form::-webkit-scrollbar{display:none;}

.bt-city-body-section{
    padding:34px 0 50px;
    background:#fff;
}
.bt-city-body-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 370px !important;
    gap:24px !important;
    align-items:stretch !important;
}
.bt-city-main-content{
    min-width:0;
    display:grid;
    gap:22px;
    align-content:start;
}
.bt-city-sidebar{
    min-width:0;
    align-self:stretch;
}
.bt-city-sidebar .bt-service-sidebar-card{
    position:sticky;
    top:20px;
    height:auto;
    max-height:none;
    overflow:visible;
    padding:16px;
    border:1px solid #dbe3ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 14px 38px rgba(15,23,42,.08);
    scrollbar-width:thin;
}
.bt-city-sidebar .bt-service-sidebar-heading{display:none;}
.bt-city-sidebar .bt-service-sidebar-list{
    display:grid;
    gap:10px;
    margin:0;
}
.bt-city-sidebar .bt-service-sidebar-area{
    padding:13px 14px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#f8fafc;
}
.bt-city-sidebar .bt-service-sidebar-area h3{
    margin:0 0 8px;
    color:#10243f;
    font-size:16px;
    line-height:1.2;
    font-weight:900;
}
.bt-city-sidebar .bt-service-sidebar-label{
    margin-top:7px;
    color:#c78e00;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.bt-city-sidebar .bt-service-sidebar-area p{
    margin:3px 0 0;
    color:#475569;
    font-size:11px;
    font-weight:600;
    line-height:1.55;
}
.bt-city-sidebar .bt-service-sidebar-area .bt-service-tourist-list{color:#334155;}
.bt-city-map-card .bt-route-map{margin-bottom:18px;}
.bt-city-map-card h3{margin-top:4px;}
.bt-city-seo-card .bt-seo-content{font-size:16px;line-height:1.82;}
.bt-city-seo-card .bt-seo-content h2{margin-top:30px;}
.bt-city-seo-card .bt-seo-content h2:first-child{margin-top:0;}
.bt-city-seo-card .bt-seo-content h3{margin-top:22px;}

@media(max-width:1180px){
    .bt-city-auto .bt-premium-hero-grid{grid-template-columns:minmax(0,1fr) 350px !important;}
    .bt-city-auto .bt-premium-route-car{left:21% !important;width:400px !important;}
    .bt-city-body-layout{grid-template-columns:minmax(0,1fr) 340px !important;}
}
@media(max-width:980px){
    .bt-city-auto .bt-premium-hero-grid{
        grid-template-columns:minmax(0,1fr) 340px !important;
        min-height:0 !important;
    }
    .bt-city-auto .bt-premium-route-car{left:12% !important;width:340px !important;}
    .bt-city-body-layout{grid-template-columns:1fr !important;}
    .bt-city-sidebar{order:2;}
    .bt-city-sidebar .bt-service-sidebar-card{position:relative;top:auto;max-height:none;overflow:visible;}
}
@media(max-width:700px){
    .bt-city-auto .bt-premium-hero-grid{display:flex !important;flex-direction:column !important;min-height:0 !important;}
    .bt-city-auto .bt-premium-hero-copy,
    .bt-city-auto .bt-premium-booking-panel{width:100% !important;}
    .bt-city-auto .bt-premium-booking-panel{order:2;}
    .bt-city-auto .bt-premium-route-car{
        position:relative !important;
        left:auto !important;
        bottom:auto !important;
        width:78% !important;
        max-width:340px !important;
        margin:-10px auto 4px !important;
        order:3;
    }
    .bt-city-sidebar .bt-service-sidebar-area p{font-size:11px;}
}
@media(max-width:520px){
    .bt-city-sidebar .bt-service-sidebar-list{gap:8px;}
}

/* ==========================================================
   FINAL APPROVED CITY + ROUTE LAYOUT PATCH - 5.1.9
   Layout only. Booking/fare JS/PHP is untouched.
   ========================================================== */

.bt-city-auto .bt-premium-hero-copy,
.bt-route-auto .bt-premium-hero-copy{
    transform:translateY(-42px);
}

.bt-route-auto .bt-premium-hero-grid{
    grid-template-columns:minmax(0,1fr) 390px !important;
    gap:24px !important;
    min-height:700px !important;
    padding:24px 0 !important;
    align-items:stretch !important;
}
.bt-route-auto .bt-premium-booking-panel{
    grid-column:2 !important;
    grid-row:1 !important;
    height:100% !important;
}
.bt-route-auto .bt-premium-hero-copy{
    grid-column:1 !important;
    grid-row:1 !important;
}
.bt-route-auto .bt-premium-route-car{
    left:26% !important;
    bottom:18px !important;
    width:min(39vw,470px) !important;
    max-width:470px !important;
    z-index:6 !important;
    pointer-events:none !important;
}

.bt-route-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 370px !important;
    gap:24px !important;
    align-items:stretch !important;
}
.bt-route-main-content{
    min-width:0;
    display:grid;
    gap:22px;
    align-content:start;
}
.bt-route-sidebar{
    min-width:0;
    align-self:stretch;
    display:grid;
    gap:18px;
    align-content:start;
}
.bt-route-sidebar > .bt-service-sidebar-card{
    position:relative !important;
    top:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
}

.bt-city-sidebar,
.bt-route-sidebar{
    align-self:stretch;
}
.bt-city-sidebar .bt-service-sidebar-card{
    position:sticky;
    top:18px;
}

.bt-city-inline-stats,
.bt-route-inline-stats,
.bt-city-inline-cta,
.bt-route-inline-cta{
    width:100%;
    margin-left:0;
    margin-right:0;
}
.bt-city-inline-stats .bt-auto-container,
.bt-route-inline-stats .bt-auto-container,
.bt-city-inline-cta .bt-auto-container,
.bt-route-inline-cta .bt-auto-container{
    width:100%;
    max-width:none;
    padding-left:0;
    padding-right:0;
}

.bt-city-map-card .bt-route-map iframe{
    min-height:360px;
    width:100%;
    border:0;
    border-radius:14px;
}

.bt-city-auto .bt-premium-route-car,
.bt-route-auto .bt-premium-route-car{
    background:transparent !important;
    object-fit:contain;
}

@media(max-width:1180px){
    .bt-route-auto .bt-premium-hero-grid{
        grid-template-columns:minmax(0,1fr) 350px !important;
    }
    .bt-route-auto .bt-premium-route-car{
        left:21% !important;
        width:400px !important;
    }
    .bt-route-layout{
        grid-template-columns:minmax(0,1fr) 340px !important;
    }
}
@media(max-width:980px){
    .bt-city-auto .bt-premium-hero-copy,
    .bt-route-auto .bt-premium-hero-copy{
        transform:none;
    }
    .bt-route-auto .bt-premium-hero-grid{
        grid-template-columns:minmax(0,1fr) 340px !important;
        min-height:0 !important;
    }
    .bt-route-auto .bt-premium-route-car{
        left:12% !important;
        width:340px !important;
    }
    .bt-route-layout{
        grid-template-columns:1fr !important;
    }
    .bt-route-sidebar{
        order:2;
    }
    .bt-route-sidebar > .bt-service-sidebar-card,
    .bt-city-sidebar .bt-service-sidebar-card{
        position:relative !important;
        top:auto !important;
    }
}
@media(max-width:700px){
    .bt-route-auto .bt-premium-hero-grid{
        display:flex !important;
        flex-direction:column !important;
        min-height:0 !important;
    }
    .bt-route-auto .bt-premium-hero-copy,
    .bt-route-auto .bt-premium-booking-panel{
        width:100% !important;
    }
    .bt-route-auto .bt-premium-booking-panel{
        order:2;
    }
    .bt-route-auto .bt-premium-route-car{
        position:relative !important;
        left:auto !important;
        bottom:auto !important;
        width:78% !important;
        max-width:340px !important;
        margin:-10px auto 4px !important;
        order:3;
    }
}


/* ==========================================================
   CITY TOURIST PLACES + SIDEBAR HEIGHT FIX
   v5.2.0 City Layout Patch
   ========================================================== */

.bt-city-auto .bt-tourist-places-card{
    height:auto !important;
    min-height:0 !important;
    align-self:start !important;
    margin-bottom:0 !important;
}

.bt-city-auto .bt-tourist-places-grid{
    height:auto !important;
    min-height:0 !important;
    align-items:start !important;
}

.bt-city-auto .bt-tourist-place-card{
    height:auto !important;
    min-height:0 !important;
    align-self:start !important;
}

.bt-city-auto .bt-tourist-place-name{
    height:auto !important;
    min-height:0 !important;
    line-height:1.35;
}

.bt-city-sidebar{
    align-self:start !important;
    height:auto !important;
    min-height:0 !important;
}

.bt-city-sidebar .bt-service-sidebar-card{
    align-self:start !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
}

.bt-city-sidebar .bt-service-sidebar-area{
    height:auto !important;
    min-height:0 !important;
}

.bt-city-sidebar .bt-service-sidebar-area p{
    height:auto !important;
    min-height:0 !important;
    margin-bottom:0;
}

/* ==========================================================
   v5.2.1 CITY SERVICE AREA / TOURIST PLACES SIDEBAR FIX
   Prevent one long tourist-place line and empty-looking spacing.
   ========================================================== */
.bt-city-sidebar .bt-service-sidebar-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
}
.bt-city-sidebar .bt-service-sidebar-list{
    height:auto !important;
    min-height:0 !important;
}
.bt-city-sidebar .bt-service-sidebar-area{
    height:auto !important;
    min-height:0 !important;
}
.bt-city-sidebar .bt-service-tourist-chips{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:5px;
}
.bt-city-sidebar .bt-service-tourist-chip{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:5px 8px;
    border:1px solid #dbe5ef;
    border-radius:999px;
    background:#fff;
    color:#334155;
    font-size:10.5px;
    font-weight:700;
    line-height:1.25;
}
.bt-city-sidebar .bt-service-tourist-list{
    margin-bottom:0 !important;
}
@media(max-width:700px){
    .bt-city-sidebar .bt-service-tourist-chip{
        font-size:10px;
        padding:4px 7px;
    }
}
