/* Boston Airport Rides – Fleet QR front end */
.barfq-single,
.barfq-fleet-grid {
	--barfq-accent: var(--barfq-accent-global, #c7a35a);
	--barfq-dark: var(--barfq-dark-global, #090909);
	--barfq-light: var(--barfq-light-global, #f5f3ee);
	--barfq-muted: #b9b7b1;
	--barfq-border: rgba(255, 255, 255, .14);
	font-family: inherit;
}

.barfq-single *,
.barfq-fleet-grid * { box-sizing: border-box; }

.barfq-container {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

.barfq-section { padding: 96px 0; }

.barfq-eyebrow {
	display: inline-block;
	margin-bottom: 16px;
	color: var(--barfq-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.barfq-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 13px 24px;
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.2;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.barfq-btn:hover { transform: translateY(-2px); }
.barfq-btn-gold { background: var(--barfq-accent); color: #090909 !important; }
.barfq-btn-gold:hover { background: #e0c47f; color: #090909 !important; }
.barfq-btn-outline { border-color: rgba(255,255,255,.45); color: #fff !important; background: transparent; }
.barfq-btn-outline:hover { border-color: var(--barfq-accent); color: var(--barfq-accent) !important; }
.barfq-btn-full { width: 100%; }

/* Single vehicle hero */
.barfq-hero {
	position: relative;
	min-height: 760px;
	display: flex;
	align-items: stretch;
	background:
		radial-gradient(circle at 75% 45%, rgba(199,163,90,.18), transparent 32%),
		linear-gradient(125deg, #050505 0%, #151515 56%, #060606 100%);
	color: #fff;
	overflow: hidden;
}
.barfq-hero.has-image {
	background-image:
		radial-gradient(circle at 80% 24%, rgba(199,163,90,.2), transparent 28%),
		linear-gradient(125deg, #050505 0%, #151515 56%, #060606 100%);
	background-position: center;
	background-size: cover;
}
.barfq-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(255,255,255,.025), transparent 20%),
		linear-gradient(0deg, rgba(0,0,0,.42), transparent 32%);
	pointer-events: none;
}
.barfq-hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 120px;
	padding-bottom: 90px;
}
.barfq-breadcrumb {
	position: absolute;
	top: 42px;
	left: 0;
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: 12px;
	color: rgba(255,255,255,.62);
}
.barfq-breadcrumb a { color: rgba(255,255,255,.82); text-decoration: none; }
.barfq-breadcrumb a:hover { color: var(--barfq-accent); }
.barfq-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(360px, .82fr);
	gap: 52px;
	align-items: center;
}
.barfq-hero-copy { max-width: 720px; padding: 34px 0; }
.barfq-hero h1 {
	margin: 0 0 22px;
	font-size: clamp(52px, 6vw, 88px);
	font-family: inherit;
	font-weight: 800;
	line-height: .98;
	letter-spacing: 0;
	color: #fff !important;
	text-shadow: 0 16px 35px rgba(0,0,0,.35);
}
.barfq-hero-summary {
	max-width: 640px;
	margin: 0 0 34px;
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.7;
	color: rgba(255,255,255,.78);
}
.barfq-hero-specs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 28px 0 34px;
	border-top: 1px solid var(--barfq-border);
	border-bottom: 1px solid var(--barfq-border);
}
.barfq-hero-specs > div {
	min-width: 150px;
	padding: 22px 30px 22px 0;
	margin-right: 30px;
	border-right: 1px solid var(--barfq-border);
}
.barfq-hero-specs > div:last-child { border-right: 0; }
.barfq-hero-specs strong {
	display: block;
	font-size: 30px;
	line-height: 1.15;
	color: #fff;
}
.barfq-hero-specs span,
.barfq-hero-specs small {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.58);
}
.barfq-price-spec strong { color: var(--barfq-accent); }
.barfq-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.barfq-hero-visual {
	position: relative;
	overflow: hidden;
	min-height: 460px;
	border: 1px solid rgba(255,255,255,.14);
	background: #111;
	box-shadow: 0 28px 80px rgba(0,0,0,.45);
}
.barfq-hero-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.42));
	pointer-events: none;
}
.barfq-hero-visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 460px;
	object-fit: cover;
	filter: saturate(.92) contrast(1.05);
}

/* Overview */
.barfq-overview-section { background: var(--barfq-light); color: #171717; }
.barfq-two-column {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
	gap: 72px;
	align-items: start;
}
.barfq-main-copy h2,
.barfq-section-heading h2,
.barfq-cta-section h2 {
	margin: 0 0 24px;
	font-size: clamp(35px, 4vw, 58px);
	line-height: 1.08;
	letter-spacing: -.035em;
}
.barfq-overview-section .barfq-main-copy h2 { color: #171717; }
.barfq-entry-content { font-size: 17px; line-height: 1.85; color: #4b4a46; }
.barfq-entry-content p:last-child { margin-bottom: 0; }
.barfq-service-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin-top: 38px;
	padding-top: 28px;
	border-top: 1px solid rgba(0,0,0,.12);
}
.barfq-service-links a {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #24231f;
	text-decoration: none;
}
.barfq-service-links a:hover { color: #9c762f; }

.barfq-booking-card {
	position: sticky;
	top: 30px;
	padding: 38px;
	background: var(--barfq-dark);
	color: #fff;
	box-shadow: 0 26px 70px rgba(0,0,0,.19);
}
.barfq-card-kicker {
	display: block;
	margin-bottom: 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--barfq-accent);
}
.barfq-booking-card h2 { margin: 0 0 28px; font-size: 32px; color: #fff; }
.barfq-quick-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--barfq-border); }
.barfq-quick-list li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--barfq-border); }
.barfq-quick-list span { color: rgba(255,255,255,.58); }
.barfq-quick-list strong { text-align: right; color: #fff; }
.barfq-booking-price { margin: 28px 0 8px; }
.barfq-booking-price span { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.barfq-booking-price strong { display: block; margin-top: 3px; font-size: 38px; color: var(--barfq-accent); }
.barfq-disclaimer { margin: 0 0 22px; font-size: 12px; line-height: 1.65; color: rgba(255,255,255,.52); }
.barfq-text-link { display: block; margin-top: 18px; text-align: center; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.barfq-text-link:hover { color: var(--barfq-accent); }

/* Answer Engine / GEO blocks */
.barfq-answer-section {
	background: #fff;
	color: #171717;
	border-top: 1px solid rgba(0,0,0,.06);
	border-bottom: 1px solid rgba(0,0,0,.06);
}
.barfq-answer-section .barfq-section-heading h2 { color: #171717; }
.barfq-answer-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.barfq-answer-card {
	position: relative;
	min-height: 210px;
	padding: 32px 34px;
	background:
		linear-gradient(180deg, rgba(199,163,90,.1), transparent 46%),
		#fff;
	border: 1px solid rgba(0,0,0,.1);
	box-shadow: 0 18px 45px rgba(0,0,0,.06);
	overflow: hidden;
}
.barfq-answer-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--barfq-accent);
}
.barfq-answer-card h3 {
	margin: 0 0 16px;
	color: #171717;
	font-size: 23px;
	line-height: 1.18;
}
.barfq-answer-card p {
	margin: 0;
	color: #3e3b35;
	font-size: 15px;
	line-height: 1.75;
}

/* Amenities */
.barfq-amenities-section { background: #0d0d0d; color: #fff; }
.barfq-section-heading { max-width: 680px; margin-bottom: 46px; }
.barfq-section-heading h2 { color: #fff; }
.barfq-amenities-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.12);
}
.barfq-amenity {
	display: flex;
	gap: 15px;
	align-items: center;
	min-height: 90px;
	padding: 24px;
	background: #111;
	font-size: 15px;
}
.barfq-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--barfq-accent);
	border-radius: 50%;
	color: var(--barfq-accent);
	font-size: 13px;
	flex: 0 0 auto;
}

/* CTA */
.barfq-cta-section { padding: 76px 0; background: #171717; color: #fff; }
.barfq-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.barfq-cta-inner > div:first-child { max-width: 760px; }
.barfq-cta-section h2 { margin-bottom: 14px; color: #fff; }
.barfq-cta-section p { margin: 0; color: rgba(255,255,255,.68); font-size: 17px; line-height: 1.65; }
.barfq-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }

/* Fleet grid shortcode */
.barfq-fleet-grid {
	display: grid;
	grid-template-columns: repeat(var(--barfq-columns, 4), minmax(0, 1fr));
	gap: 24px;
}
.barfq-fleet-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #101010;
	color: #fff;
	border: 1px solid rgba(255,255,255,.09);
	box-shadow: 0 18px 45px rgba(0,0,0,.12);
	overflow: hidden;
	transition: transform .25s ease, border-color .25s ease;
}
.barfq-fleet-card:hover { transform: translateY(-5px); border-color: rgba(199,163,90,.48); }
.barfq-card-image {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 235px;
	padding: 24px;
	background:
		radial-gradient(circle at 50% 80%, rgba(199,163,90,.14), transparent 36%),
		linear-gradient(135deg, #161616, #050505);
	overflow: hidden;
}
.barfq-card-image img {
	width: 100%;
	height: 210px;
	object-fit: contain;
	transition: transform .35s ease;
}
.barfq-fleet-card:hover .barfq-card-image img { transform: scale(1.035); }
.barfq-image-placeholder { color: rgba(255,255,255,.42); }
.barfq-card-content { display: flex; flex-direction: column; flex: 1; padding: 28px; }
.barfq-card-content .barfq-eyebrow { margin-bottom: 9px; }
.barfq-card-content h3 { margin: 0 0 22px; font-size: 25px; line-height: 1.15; }
.barfq-card-content h3 a { color: #fff; text-decoration: none; }
.barfq-card-content h3 a:hover { color: var(--barfq-accent); }
.barfq-card-specs { display: flex; gap: 24px; padding: 18px 0; border-top: 1px solid var(--barfq-border); border-bottom: 1px solid var(--barfq-border); }
.barfq-card-specs > span { font-size: 21px; font-weight: 700; }
.barfq-card-specs small { display: block; margin-top: 3px; color: rgba(255,255,255,.52); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.barfq-card-price { margin: 22px 0; font-size: 27px; font-weight: 700; color: var(--barfq-accent); }
.barfq-card-price small { display: block; margin-bottom: 3px; color: rgba(255,255,255,.52); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.barfq-card-price-text { font-size: 15px; }
.barfq-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: auto; }
.barfq-card-actions .barfq-btn { padding-inline: 12px; min-height: 44px; font-size: 10px; }
.barfq-empty { padding: 20px; background: #fff8df; border: 1px solid #eed990; }

@media (max-width: 1100px) {
	.barfq-fleet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.barfq-hero-layout { grid-template-columns: 1fr; gap: 28px; }
	.barfq-hero-visual { min-height: 300px; }
	.barfq-hero-visual img { min-height: 300px; }
	.barfq-two-column { grid-template-columns: 1fr; gap: 48px; }
	.barfq-booking-card { position: static; }
	.barfq-answer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.barfq-amenities-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.barfq-cta-inner { align-items: flex-start; flex-direction: column; }
	.barfq-cta-actions { justify-content: flex-start; }
}

@media (max-width: 700px) {
	.barfq-container { width: min(100% - 28px, 1180px); }
	.barfq-section { padding: 68px 0; }
	.barfq-hero { min-height: 650px; }
	.barfq-hero-inner { padding-top: 110px; padding-bottom: 60px; }
	.barfq-breadcrumb { top: 28px; flex-wrap: wrap; }
	.barfq-hero h1 { font-size: 48px; }
	.barfq-hero-visual { min-height: 230px; }
	.barfq-hero-visual img { min-height: 230px; }
	.barfq-hero-specs { display: grid; grid-template-columns: 1fr 1fr; }
	.barfq-hero-specs > div { min-width: 0; padding: 18px 14px 18px 0; margin: 0; border-right: 0; }
	.barfq-hero-specs > div:nth-child(2) { padding-left: 14px; border-left: 1px solid var(--barfq-border); }
	.barfq-price-spec { grid-column: 1 / -1; border-top: 1px solid var(--barfq-border); }
	.barfq-hero-actions .barfq-btn { width: 100%; }
	.barfq-booking-card { padding: 28px 22px; }
	.barfq-answer-grid { grid-template-columns: 1fr; }
	.barfq-answer-card { min-height: 0; padding: 24px; }
	.barfq-amenities-grid { grid-template-columns: 1fr; }
	.barfq-fleet-grid { grid-template-columns: 1fr; }
	.barfq-card-actions { grid-template-columns: 1fr; }
	.barfq-cta-actions { width: 100%; }
	.barfq-cta-actions .barfq-btn { width: 100%; }
}

/* Version 2 shortcode, gallery, and specification components */
.barfq-vehicle-embed,
.barfq-vehicle-compact,
.barfq-specs-table,
.barfq-vehicle-gallery,
.barfq-vehicle-cta,
.barfq-single-card-shortcode,
.barfq-amenities-shortcode {
	--barfq-accent: var(--barfq-accent-global, #c7a35a);
	--barfq-dark: var(--barfq-dark-global, #090909);
	--barfq-light: var(--barfq-light-global, #f5f3ee);
	--barfq-muted: #b9b7b1;
	--barfq-border: rgba(255, 255, 255, .14);
	font-family: inherit;
}
.barfq-vehicle-embed *,
.barfq-vehicle-compact *,
.barfq-specs-table *,
.barfq-vehicle-gallery *,
.barfq-vehicle-cta *,
.barfq-single-card-shortcode *,
.barfq-amenities-shortcode * { box-sizing: border-box; }

.barfq-specs-table {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 28px 0;
	border-top: 1px solid rgba(0,0,0,.12);
	border-left: 1px solid rgba(0,0,0,.12);
}
.barfq-spec-row {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 15px 17px;
	border-right: 1px solid rgba(0,0,0,.12);
	border-bottom: 1px solid rgba(0,0,0,.12);
	background: rgba(255,255,255,.5);
}
.barfq-spec-row span { color: #6c6962; font-size: 13px; }
.barfq-spec-row strong { color: #171717; text-align: right; font-size: 13px; }

.barfq-gallery-section { background: #080808; color: #fff; }
.barfq-vehicle-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: minmax(210px, 1fr);
	gap: 14px;
}
.barfq-gallery-item {
	display: block;
	min-height: 230px;
	background: #151515;
	overflow: hidden;
}
.barfq-gallery-item.is-featured { grid-column: span 2; grid-row: span 2; }
.barfq-gallery-item img { width: 100%; height: 100%; min-height: 230px; object-fit: cover; display: block; transition: transform .35s ease, opacity .35s ease; }
.barfq-gallery-item:hover img { transform: scale(1.025); opacity: .88; }

.barfq-vehicle-embed {
	display: grid;
	grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
	background: #0d0d0d;
	color: #fff;
	border: 1px solid rgba(255,255,255,.1);
	box-shadow: 0 20px 55px rgba(0,0,0,.18);
	overflow: hidden;
}
.barfq-embed-media { min-height: 480px; background: radial-gradient(circle at 50% 70%, rgba(199,163,90,.14), transparent 38%), #050505; }
.barfq-embed-media img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; display: block; }
.barfq-embed-content { padding: clamp(32px, 5vw, 66px); }
.barfq-embed-content h2 { margin: 0 0 22px; color: #fff; font-size: clamp(36px, 4vw, 58px); line-height: 1.05; }
.barfq-embed-content .barfq-entry-content { color: rgba(255,255,255,.68); }
.barfq-embed-content .barfq-specs-table { border-color: rgba(255,255,255,.13); }
.barfq-embed-content .barfq-spec-row { background: rgba(255,255,255,.025); border-color: rgba(255,255,255,.13); }
.barfq-embed-content .barfq-spec-row span { color: rgba(255,255,255,.55); }
.barfq-embed-content .barfq-spec-row strong { color: #fff; }
.barfq-best-for { color: rgba(255,255,255,.72); line-height: 1.7; }
.barfq-embed-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.barfq-embed-price { margin-right: auto; color: var(--barfq-accent); font-size: 29px; font-weight: 700; }
.barfq-embed-price small { display: block; color: rgba(255,255,255,.52); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }

.barfq-vehicle-compact {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr) auto;
	gap: 26px;
	align-items: center;
	padding: 24px;
	background: #111;
	color: #fff;
	border: 1px solid rgba(255,255,255,.1);
}
.barfq-compact-image { height: 145px; background: #050505; overflow: hidden; }
.barfq-compact-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.barfq-compact-copy h3 { margin: 0 0 8px; font-size: 29px; }
.barfq-compact-copy h3 a { color: #fff; text-decoration: none; }
.barfq-compact-copy p { margin: 0 0 14px; color: rgba(255,255,255,.62); }
.barfq-inline-specs { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 12px; color: rgba(255,255,255,.68); }
.barfq-inline-specs strong { color: var(--barfq-accent); }

.barfq-vehicle-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 30px;
	align-items: center;
	padding: 34px 38px;
	background: #111;
	color: #fff;
	border-left: 4px solid var(--barfq-accent);
}
.barfq-vehicle-cta h3 { margin: 0 0 8px; color: #fff; font-size: 31px; }
.barfq-vehicle-cta p { margin: 0; color: rgba(255,255,255,.62); }
.barfq-cta-price small { display: block; color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.barfq-cta-price strong { color: var(--barfq-accent); font-size: 32px; }
.barfq-amenities-shortcode { background: rgba(255,255,255,.12); }

@media (max-width: 900px) {
	.barfq-vehicle-embed { grid-template-columns: 1fr; }
	.barfq-embed-media, .barfq-embed-media img { min-height: 340px; max-height: 480px; }
	.barfq-vehicle-compact { grid-template-columns: 170px minmax(0,1fr); }
	.barfq-vehicle-compact > .barfq-btn { grid-column: 1 / -1; width: 100%; }
	.barfq-vehicle-cta { grid-template-columns: 1fr auto; }
	.barfq-vehicle-cta > .barfq-btn { grid-column: 1 / -1; }
	.barfq-vehicle-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px) {
	.barfq-specs-table { grid-template-columns: 1fr; }
	.barfq-vehicle-gallery { grid-template-columns: 1fr; grid-auto-rows: auto; }
	.barfq-gallery-item.is-featured { grid-column: auto; grid-row: auto; }
	.barfq-gallery-item, .barfq-gallery-item img { min-height: 240px; }
	.barfq-vehicle-compact { grid-template-columns: 1fr; }
	.barfq-compact-image { height: 220px; }
	.barfq-vehicle-cta { grid-template-columns: 1fr; padding: 28px 24px; }
	.barfq-embed-actions .barfq-btn { width: 100%; }
	.barfq-embed-price { width: 100%; margin-right: 0; }
}

/* Version 3: reservation-focused black car and limo components */
.barfq-card-image { position: relative; }
.barfq-card-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	padding: 8px 12px;
	background: var(--barfq-accent, #c7a35a);
	color: #090909;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.barfq-card-summary {
	margin: -8px 0 20px;
	color: rgba(255,255,255,.65);
	font-size: 14px;
	line-height: 1.65;
}
.barfq-card-best {
	margin: 18px 0 0;
	color: rgba(255,255,255,.68);
	font-size: 13px;
	line-height: 1.6;
}
.barfq-card-best strong { color: #fff; }
.barfq-availability-dot,
.barfq-hero-availability {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
}
.barfq-availability-dot { margin: -8px 0 20px; color: rgba(255,255,255,.72); }
.barfq-hero-availability { margin: -12px 0 28px; color: rgba(255,255,255,.76); }
.barfq-availability-dot span,
.barfq-hero-availability span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #6ccf7a;
	box-shadow: 0 0 0 5px rgba(108,207,122,.12);
}
.barfq-recommended-box {
	margin-top: 36px;
	padding: 26px 28px;
	border-left: 3px solid var(--barfq-accent);
	background: #fff;
	box-shadow: 0 14px 40px rgba(0,0,0,.07);
}
.barfq-recommended-box span,
.barfq-route-label {
	display: block;
	margin-bottom: 7px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #9c762f;
}
.barfq-recommended-box p { margin: 0; color: #31302d; font-size: 16px; line-height: 1.7; }
.barfq-fit-section { background: #fff; color: #171717; }
.barfq-fit-section .barfq-section-heading h2,
.barfq-routes-section .barfq-section-heading h2 { color: #171717; }
.barfq-services-section { background: #0c0c0c; color: #fff; }
.barfq-services-section .barfq-section-heading p { color: rgba(255,255,255,.62); font-size: 16px; line-height: 1.7; }
.barfq-capacity-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 1px;
	background: rgba(0,0,0,.12);
	border: 1px solid rgba(0,0,0,.12);
}
.barfq-capacity-grid > div {
	min-height: 185px;
	padding: 34px;
	background: #f5f3ee;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.barfq-capacity-number,
.barfq-capacity-icon { display: block; margin-bottom: 20px; font-size: 46px; font-weight: 700; line-height: 1; color: #b58b40; }
.barfq-capacity-icon { font-size: 27px; }
.barfq-capacity-grid strong { font-size: 18px; color: #171717; }
.barfq-capacity-grid small { margin-top: 6px; color: #77736b; font-size: 12px; line-height: 1.5; }
.barfq-best-for { margin: 24px 0 0; color: #4b4a46; font-size: 15px; line-height: 1.7; }
.barfq-service-chip-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 12px;
}
.barfq-service-chip-grid a,
.barfq-service-chip-grid > span {
	display: flex;
	align-items: center;
	gap: 13px;
	min-height: 70px;
	padding: 18px 20px;
	border: 1px solid rgba(255,255,255,.12);
	background: #111;
	color: #fff;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.4;
	text-decoration: none;
	transition: border-color .2s ease, transform .2s ease;
}
.barfq-service-chip-grid a:hover { border-color: var(--barfq-accent); transform: translateY(-2px); color: var(--barfq-accent); }
.barfq-service-chip-grid span span,
.barfq-service-chip-grid a span,
.barfq-service-chip-grid i { color: var(--barfq-accent); font-style: normal; }
.barfq-routes-section { background: #f5f3ee; color: #171717; }
.barfq-route-grid { display: grid; gap: 16px; }
.barfq-route-card {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: 30px;
	align-items: center;
	padding: 28px 30px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 12px 35px rgba(0,0,0,.05);
}
.barfq-route-card h3 { margin: 0; color: #171717; font-size: 23px; }
.barfq-route-card p { margin: 8px 0 0; color: #77736b; }
.barfq-route-price { min-width: 170px; text-align: right; }
.barfq-route-price small { display: block; color: #77736b; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.barfq-route-price strong { display: block; color: #9c762f; font-size: 28px; }
.barfq-route-price a { display: inline-block; margin-top: 8px; color: #171717; font-size: 12px; font-weight: 800; text-decoration: none; }
.barfq-route-price a:hover { color: #9c762f; }
.barfq-route-disclaimer { margin: 18px 0 0; color: #77736b; font-size: 12px; line-height: 1.6; }
.barfq-conversion-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
}
.barfq-conversion-cta > div:first-child { max-width: 720px; }
.barfq-conversion-cta h2 { margin: 0 0 14px; color: #fff; font-size: clamp(34px,4vw,56px); line-height: 1.05; }
.barfq-conversion-cta p { margin: 0; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.7; }
.barfq-conversion-actions { min-width: 280px; display: grid; gap: 12px; }
.barfq-text-cta { text-align: center; color: #fff; text-underline-offset: 4px; }
.barfq-text-cta:hover { color: var(--barfq-accent); }
.barfq-compact-service {
	display: grid;
	grid-template-columns: 180px minmax(0,1fr) auto;
	gap: 26px;
	align-items: center;
	padding: 22px;
	background: #101010;
	color: #fff;
	border: 1px solid rgba(255,255,255,.1);
}
.barfq-compact-image img { display: block; width: 100%; height: 120px; object-fit: contain; }
.barfq-compact-copy h3 { margin: 3px 0 8px; color: #fff; font-size: 24px; }
.barfq-compact-copy p { margin: 0; color: rgba(255,255,255,.62); }
.barfq-inline-facts { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 14px; color: var(--barfq-accent); font-size: 12px; font-weight: 700; }
.barfq-service-embed .barfq-embed-lead { color: rgba(255,255,255,.74); font-size: 17px; line-height: 1.65; }
.barfq-mobile-booking-bar { display: none; }
.barfq-location-hero {
	position: relative;
	min-height: 620px;
	display: flex;
	align-items: center;
	background: #090909;
	color: #fff;
	overflow: hidden;
}
.barfq-location-hero.has-image { background-image: linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.45)), var(--barfq-hero-image); background-size: cover; background-position: center; }
.barfq-location-hero-inner { position: relative; z-index: 2; width: 100%; padding: 110px 0 88px; }
.barfq-location-hero-copy { max-width: 760px; }
.barfq-location-hero-copy h1 { margin: 12px 0 18px; color: #fff; font-size: clamp(44px, 6vw, 78px); line-height: .96; }
.barfq-location-hero-copy p { max-width: 660px; margin: 0 0 30px; color: rgba(255,255,255,.78); font-size: 20px; line-height: 1.65; }
.barfq-location-proof {
	padding: 0;
	background: #090909;
	color: #fff;
	border-top: 1px solid rgba(255,255,255,.1);
	border-bottom: 1px solid rgba(255,255,255,.1);
}
.barfq-location-proof-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: rgba(255,255,255,.1);
}
.barfq-location-proof-grid > div {
	min-height: 130px;
	padding: 28px 30px;
	background: #0f0f0f;
}
.barfq-location-proof-grid strong {
	display: block;
	margin-bottom: 8px;
	color: var(--barfq-accent);
	font-size: 22px;
	line-height: 1.2;
}
.barfq-location-proof-grid span {
	color: rgba(255,255,255,.62);
	font-size: 13px;
	line-height: 1.5;
}
.barfq-local-section {
	background: #f5f3ee;
	color: #171717;
}
.barfq-local-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
	gap: 54px;
	align-items: start;
}
.barfq-local-layout h2 {
	margin: 0 0 22px;
	color: #171717;
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.06;
}
.barfq-local-layout p {
	color: #4f4b44;
	font-size: 17px;
	line-height: 1.8;
}
.barfq-local-card {
	padding: 34px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 18px 45px rgba(0,0,0,.06);
}
.barfq-local-card h3 {
	margin: 0 0 18px;
	color: #171717;
	font-size: 25px;
}
.barfq-local-card ul {
	margin: 0;
	padding-left: 20px;
	color: #555049;
	line-height: 1.8;
}
.barfq-location-services {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.barfq-location-services article {
	min-height: 230px;
	padding: 34px;
	background: #111;
	border: 1px solid rgba(255,255,255,.1);
	color: #fff;
}
.barfq-location-services h3 { margin: 0 0 14px; color: #fff; font-size: 25px; line-height: 1.15; }
.barfq-location-services p { margin: 0; color: rgba(255,255,255,.66); font-size: 15px; line-height: 1.75; }
.barfq-location-single .barfq-answer-grid article { background: #fff; border-color: rgba(0,0,0,.08); }
.barfq-location-single .barfq-answer-grid strong { color: #171717; }
.barfq-location-single .barfq-answer-grid p { color: #5f5b53; }
.barfq-location-directory { padding: 76px 0; background: #f5f3ee; color: #171717; }
.barfq-location-directory-head { max-width: 820px; margin: 0 auto 34px; text-align: center; padding: 0 22px; }
.barfq-location-directory-head h2 { margin: 8px 0 12px; color: #171717; font-size: clamp(34px,4vw,54px); line-height: 1.04; }
.barfq-location-directory-head p { margin: 0; color: #625f58; font-size: 17px; line-height: 1.7; }
.barfq-location-grid {
	display: grid;
	grid-template-columns: repeat(var(--barfq-columns, 3), minmax(0, 1fr));
	gap: 18px;
	width: min(1180px, calc(100% - 44px));
	margin: 0 auto;
}
.barfq-location-card {
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 18px 48px rgba(0,0,0,.07);
}
.barfq-location-card-image { display: block; height: 190px; background: #111 center / cover no-repeat; }
.barfq-location-card-body { padding: 24px; }
.barfq-location-card-body > span { display: block; margin-bottom: 8px; color: #a47a32; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.barfq-location-card h3 { margin: 0; font-size: 26px; line-height: 1.1; }
.barfq-location-card h3 a { color: #171717; text-decoration: none; }
.barfq-location-card p { margin: 12px 0 18px; color: #66625a; font-size: 14px; line-height: 1.65; }
.barfq-location-link { color: #171717; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.barfq-location-link:hover { color: var(--barfq-accent); }
.barfq-nearby-section {
	background: #101010;
	color: #fff;
}
.barfq-nearby-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.barfq-nearby-links a {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 12px 16px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.12);
	color: #fff;
	font-size: 13px;
	font-weight: 750;
	text-decoration: none;
}
.barfq-nearby-links a:hover {
	border-color: var(--barfq-accent);
	color: var(--barfq-accent);
}

@media (max-width: 980px) {
	.barfq-capacity-grid,
	.barfq-service-chip-grid { grid-template-columns: 1fr 1fr; }
	.barfq-location-services { grid-template-columns: 1fr; }
	.barfq-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.barfq-location-proof-grid,
	.barfq-local-layout { grid-template-columns: 1fr; }
	.barfq-conversion-cta { align-items: flex-start; flex-direction: column; }
	.barfq-conversion-actions { width: 100%; min-width: 0; }
	.barfq-compact-service { grid-template-columns: 150px 1fr; }
	.barfq-compact-service > .barfq-btn { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
	.barfq-capacity-grid,
	.barfq-service-chip-grid { grid-template-columns: 1fr; }
	.barfq-route-card { grid-template-columns: 1fr; }
	.barfq-route-price { text-align: left; }
	.barfq-compact-service { grid-template-columns: 1fr; }
	.barfq-compact-image img { height: 180px; }
	.barfq-location-hero { min-height: 560px; }
	.barfq-location-hero-inner { padding: 86px 0 70px; }
	.barfq-location-hero-copy h1 { font-size: 42px; }
	.barfq-location-hero-copy p { font-size: 17px; }
	.barfq-location-grid { grid-template-columns: 1fr; }
	.barfq-single { padding-bottom: 66px; }
	.barfq-mobile-booking-bar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9998;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
		padding: 8px;
		background: #090909;
		box-shadow: 0 -8px 25px rgba(0,0,0,.25);
	}
	.barfq-mobile-booking-bar a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 48px;
		padding: 10px 18px;
		background: var(--barfq-accent);
		color: #090909;
		font-size: 11px;
		font-weight: 800;
		letter-spacing: .07em;
		text-transform: uppercase;
		text-decoration: none;
	}
	.barfq-mobile-booking-bar a + a { background: #fff; }
	.barfq-mobile-booking-bar a:nth-child(3) { background: #1f7a4d; color: #fff; }
}
