@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Jost:wght@300;400;500;600&display=swap');
/* ==== original BusCompare NI tour builder styles ==== */
/* BusCompare NI tours module. Self-contained and theme-proof: every component
   sets its own dark background and explicit text colours so it renders cleanly
   on the dark site theme (and anywhere else). bcni-tour* namespace. */

.bcni-tours-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 24px 0;
}
@media (max-width: 900px) {
	.bcni-tours-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.bcni-tours-grid { grid-template-columns: 1fr; }
}
.bcni-tourcard {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 14px;
	background: #16181d !important;
	text-decoration: none !important;
	transition: box-shadow .15s ease, transform .15s ease, border-color .15s ease;
}
.bcni-tourcard:hover {
	box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
	transform: translateY(-2px);
	border-color: #f5b301;
}

/* Cards with a photo: clear image on top, solid dark text panel below. */
.bcni-tourcard--img {
	padding: 0;
	overflow: hidden;
}
.bcni-tourcard__photo {
	display: block;
	width: 100%;
	height: 170px;
	background-size: cover;
	background-position: center;
	transition: transform .35s ease;
}
.bcni-tourcard--img:hover .bcni-tourcard__photo {
	transform: scale(1.05);
}
.bcni-tourcard__inner {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 20px 20px;
	flex: 1;
	text-align: center;
}

.bcni-tourcard__name { margin: 0 !important; font-size: 18px; font-weight: 700; line-height: 1.25; color: #ffffff !important; }
.bcni-tourcard__tag { margin: 0 !important; font-size: 14px; color: #9aa0a6 !important; flex: 1; }
.bcni-tourcard__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; font-size: 12.5px; color: #b9bdc4 !important; }
.bcni-tourcard__meta span { white-space: nowrap; }
.bcni-tourcard__cta { font-size: 14px; font-weight: 700; color: #f5b301 !important; }



.bcni-tour { max-width: 760px; color: #e8e8ea !important; }
.bcni-tour * { box-sizing: border-box; }
.bcni-tour__head {
	padding: 20px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 14px;
	background: #16181d;
	margin: 0 0 22px;
}
.bcni-tour__tag { margin: 0 0 14px !important; font-size: 16px; color: #c3c7cd !important; }
.bcni-tour__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
.bcni-tour__fact { display: flex; flex-direction: column; gap: 2px; }
.bcni-tour__fact-k { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #8b9099 !important; }
.bcni-tour__fact-v { font-size: 15px; font-weight: 600; color: #ffffff !important; }

.bcni-tour__btn {
	display: inline-block;
	background: #f5b301 !important;
	color: #1a1300 !important;
	font-weight: 700;
	font-size: 15px;
	padding: 12px 22px;
	border-radius: 10px;
	text-decoration: none !important;
}
.bcni-tour__btn:hover { background: #e2a400 !important; }

.bcni-tour__h { font-size: 20px; font-weight: 700; margin: 26px 0 12px; color: #ffffff !important; }

.bcni-tour__stops { list-style: none !important; margin: 0; padding: 0; }
.bcni-tour__stop {
	position: relative;
	padding: 0 0 18px 22px;
	border-left: 2px solid rgba(245, 179, 1, .5);
	margin-left: 6px;
}
.bcni-tour__stop:last-child { border-left-color: transparent; padding-bottom: 0; }
.bcni-tour__stop::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 3px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #f5b301;
}
.bcni-tour__stop-name { font-weight: 700; font-size: 15.5px; color: #ffffff !important; }
.bcni-tour__stop-mins { font-weight: 400; font-size: 12.5px; color: #9aa0a6 !important; }
.bcni-tour__stop-blurb { font-size: 14px; color: #c3c7cd !important; margin-top: 2px; }

.bcni-tour__list { margin: 0; padding-left: 20px; }
.bcni-tour__list li { margin-bottom: 6px; font-size: 14.5px; color: #e8e8ea !important; }
.bcni-tour__list--muted li { color: #9aa0a6 !important; }

.bcni-tour__cruise {
	margin: 24px 0;
	padding: 14px 16px;
	background: rgba(245, 179, 1, .10);
	border: 1px solid rgba(245, 179, 1, .35);
	border-radius: 10px;
	font-size: 14.5px;
	color: #f0d9a6 !important;
}
.bcni-tour__cruise strong { color: #ffffff !important; }

.bcni-tour__foot { margin-top: 26px; }
.bcni-tour__foot p { font-size: 14.5px; color: #c3c7cd !important; margin: 0 0 14px; }
.bcni-tour__estimate { font-size: 12.5px; color: #8b9099 !important; margin-top: 12px; }

/* ---- Tour builder: hero header ---- */
.bcni-bld-hero {
	position: relative;
	width: 100%;
	border-radius: 22px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	padding: 80px 40px 120px;
	margin-bottom: -72px;
}
.bcni-bld-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(12,14,18,.55) 0%, rgba(12,14,18,.72) 55%, rgba(12,14,18,.95) 100%);
}
.bcni-bld-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 920px;
	margin: 0 auto;
	text-align: center;
}
.bcni-bld-hero__eyebrow {
	font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
	color: #f5b301; margin-bottom: 14px;
}
.bcni-bld-hero__title {
	font-size: clamp(30px, 4.8vw, 52px);
	font-weight: 800; line-height: 1.06; letter-spacing: -0.5px;
	color: #fff; text-transform: uppercase; margin: 0 0 16px;
}
.bcni-bld-hero__title span { color: #f5b301; }
.bcni-bld-hero__sub {
	font-size: 17px; line-height: 1.65; color: #d2d6dc;
	max-width: 62ch; margin: 0 auto 22px;
}
.bcni-bld-hero__trust {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 26px;
}
.bcni-bld-hero__trust span {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 13.5px; font-weight: 600; color: #e8e8ea;
}
.bcni-bld-hero__trust i {
	width: 8px; height: 8px; border-radius: 50%; background: #f5b301; display: inline-block;
}
@media (max-width: 560px) {
	.bcni-bld-hero { padding: 44px 22px 80px; }
}

/* ---- Tour builder: centred wizard ---- */
.bcni-wiz {
	position: relative;
	z-index: 3;
	max-width: 1080px; margin: 0 auto; color: #e8e8ea !important;
	background: linear-gradient(180deg, #181b21 0%, #131419 100%);
	border: 1px solid rgba(255,255,255,.09); border-radius: 22px;
	padding: 40px 48px 34px; box-shadow: 0 24px 60px rgba(0,0,0,.45);
}
.bcni-wiz * { box-sizing: border-box; }

/* progress stepper */
.bcni-wiz__head { margin-bottom: 24px; }
.bcni-wiz__progress { height: 4px; background: rgba(255,255,255,.10); border-radius: 999px; overflow: hidden; margin-bottom: 18px; }
.bcni-wiz__progress-bar { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #f5b301, #ffcb52); border-radius: 999px; transition: width .35s cubic-bezier(.4,0,.2,1); }
.bcni-wiz__dots { list-style: none; display: flex; justify-content: space-between; margin: 0; padding: 0; }
.bcni-wiz__dots li { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; position: relative; }
.bcni-wiz__dots li span {
	width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: #1c1f26; border: 1px solid rgba(255,255,255,.14); color: #8b9099 !important; font-weight: 800; font-size: 14px;
	transition: all .2s ease; z-index: 1;
}
.bcni-wiz__dots li em { font-style: normal; font-size: 12.5px; color: #8b9099 !important; font-weight: 600; }
.bcni-wiz__dots li.is-active span { background: #f5b301; border-color: #f5b301; color: #1a1300 !important; box-shadow: 0 0 0 4px rgba(245,179,1,.18); }
.bcni-wiz__dots li.is-active em { color: #fff !important; }
.bcni-wiz__dots li.is-done span { background: rgba(245,179,1,.18); border-color: rgba(245,179,1,.5); color: #f5b301 !important; }
.bcni-wiz__dots li.is-done span::after { content: "\2713"; }
.bcni-wiz__dots li.is-done span { font-size: 0; }
.bcni-wiz__dots li.is-done span::after { font-size: 15px; }
@media (max-width: 560px) { .bcni-wiz__dots li em { display: none; } .bcni-wiz { padding: 22px 18px 18px; } }

/* panels */
.bcni-wiz__stage { position: relative; min-height: 200px; }

/* Step 1 "how it works" hint — fills the otherwise empty pickup step. */
.bcni-wiz__hint {
	margin-top: 22px;
	padding: 18px 20px;
	background: rgba(245,179,1,.06);
	border: 1px solid rgba(245,179,1,.22);
	border-radius: 14px;
}
.bcni-wiz__hint-head {
	font-size: 11px; text-transform: uppercase; letter-spacing: .12em;
	color: #f5b301 !important; font-weight: 700; margin-bottom: 12px;
}
.bcni-wiz__hint-list {
	list-style: none; margin: 0; padding: 0;
	counter-reset: hint;
	display: grid; gap: 10px;
}
.bcni-wiz__hint-list li {
	position: relative;
	padding-left: 36px;
	font-size: 14.5px; line-height: 1.55; color: #b9bdc4 !important;
}
.bcni-wiz__hint-list li strong { color: #fff !important; font-weight: 700; }
.bcni-wiz__hint-list li::before {
	counter-increment: hint;
	content: counter(hint);
	position: absolute; left: 0; top: -1px;
	width: 24px; height: 24px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(245,179,1,.16);
	color: #f5b301; font-size: 12.5px; font-weight: 800;
}
.bcni-wiz__panel { display: none; animation: bcni-wiz-in .32s cubic-bezier(.4,0,.2,1); }
.bcni-wiz__panel.is-active { display: block; }
@keyframes bcni-wiz-in { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
.bcni-wiz__title { font-size: 27px; font-weight: 800; color: #fff !important; margin: 0 0 8px; }
.bcni-wiz__sub { font-size: 15.5px; color: #9aa0a6 !important; margin: 0 0 22px; line-height: 1.55; max-width: 62ch; }
.bcni-wiz__charges { font-size: 13px; color: #f0d9a6 !important; margin: 12px 0 0; }

/* shared form controls */
.bcni-builder__select, .bcni-builder__input {
	width: 100%; background: #0f1115 !important; color: #fff !important;
	border: 1px solid rgba(255,255,255,.14); border-radius: 11px; padding: 14px 16px; font-size: 16px; font-family: inherit;
}
.bcni-builder__select:focus, .bcni-builder__input:focus { outline: none; border-color: #f5b301; box-shadow: 0 0 0 3px rgba(245,179,1,.15); }
.bcni-builder__add { display: flex; gap: 9px; }
.bcni-builder__add .bcni-builder__select { flex: 1; }
.bcni-builder__btn-sm { background: #f5b301 !important; color: #1a1300 !important; font-weight: 800; border: 0; border-radius: 11px; padding: 0 20px; cursor: pointer; font-size: 15px; white-space: nowrap; }
.bcni-builder__btn-sm:hover { background: #e2a400 !important; }

.bcni-builder__stops { list-style: none; margin: 16px 0 0; padding: 0; counter-reset: stop; }
.bcni-builder__stop { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #0f1115; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 11px 13px; margin-bottom: 9px; }
.bcni-builder__stop-main { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bcni-builder__stop-name { font-weight: 600; color: #fff !important; }
.bcni-builder__stop-name::before { counter-increment: stop; content: counter(stop); display: inline-flex; align-items: center; justify-content: center; width: 21px; height: 21px; margin-right: 9px; border-radius: 50%; background: rgba(245,179,1,.16); color: #f5b301; font-size: 12px; font-weight: 700; }
.bcni-builder__stop-dwell { font-size: 12.5px; color: #9aa0a6 !important; }
.bcni-builder__stop-dwell input { width: 60px; background: #16181d !important; color: #fff !important; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; padding: 5px 7px; font-size: 13px; }
.bcni-builder__stop-ctrls { display: flex; gap: 5px; }
.bcni-builder__stop-ctrls button { width: 32px; height: 32px; border-radius: 8px; cursor: pointer; background: #1c1f26 !important; color: #cfd2d8 !important; border: 1px solid rgba(255,255,255,.12); font-size: 15px; line-height: 1; }
.bcni-builder__stop-ctrls button:hover { border-color: #f5b301; color: #fff !important; }
.bcni-builder__empty { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 22px; border: 1px dashed rgba(255,255,255,.16); border-radius: 12px; color: #8b9099 !important; font-size: 15px; line-height: 1.55; }
.bcni-builder__empty svg { flex: 0 0 auto; color: #f5b301; opacity: .85; }

.bcni-builder__extras { display: flex; flex-wrap: wrap; gap: 10px; }
.bcni-builder__chip { position: relative; cursor: pointer; }
.bcni-builder__chip input { position: absolute; opacity: 0; pointer-events: none; }
.bcni-builder__chip span { display: inline-block; padding: 11px 17px; border-radius: 999px; font-size: 14.5px; background: #0f1115; border: 1px solid rgba(255,255,255,.14); color: #cfd2d8 !important; transition: all .12s ease; }
.bcni-builder__chip span::before { content: "+ "; color: #8b9099; }
.bcni-builder__chip input:checked + span { background: rgba(245,179,1,.16); border-color: #f5b301; color: #fff !important; }
.bcni-builder__chip input:checked + span::before { content: "\2713 "; color: #f5b301; }
.bcni-builder__chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(245,179,1,.25); }

.bcni-builder__field { display: flex; flex-direction: column; gap: 6px; }
.bcni-builder__field > span { font-size: 12.5px; color: #9aa0a6 !important; }
.bcni-builder__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
@media (max-width: 480px) { .bcni-builder__grid { grid-template-columns: 1fr; } }

.bcni-builder__cruise { margin-top: 18px; padding: 15px 16px; background: rgba(245,179,1,.09); border: 1px solid rgba(245,179,1,.32); border-radius: 12px; }
.bcni-builder__cruise-head { display: flex; align-items: center; gap: 8px; font-weight: 700; color: #fff !important; font-size: 14.5px; }
.bcni-builder__cruise-dot { width: 8px; height: 8px; border-radius: 50%; background: #f5b301; display: inline-block; }
.bcni-builder__cruise p { font-size: 13.5px; color: #f0d9a6 !important; margin: 7px 0 12px; line-height: 1.5; }

/* mini live summary */
.bcni-wiz__mini { display: flex; justify-content: center; gap: 24px; margin-top: 24px; padding: 14px; background: #0f1115; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; font-size: 14.5px; color: #9aa0a6 !important; }
.bcni-wiz__mini strong { color: #f5b301 !important; font-weight: 800; }

.bcni-builder__warn { margin-top: 14px; padding: 11px 13px; border-radius: 10px; font-size: 13.5px; line-height: 1.45; }
.bcni-builder__warn.is-bad { background: rgba(220,38,38,.14); border: 1px solid rgba(248,113,113,.45); color: #fca5a5 !important; }
.bcni-builder__warn.is-warn { background: rgba(245,179,1,.12); border: 1px solid rgba(245,179,1,.4); color: #f0d9a6 !important; }
.bcni-builder__warn.is-ok { background: rgba(34,197,94,.12); border: 1px solid rgba(74,222,128,.4); color: #a7e9bf !important; }
.bcni-wiz__err { margin-top: 14px; padding: 11px 13px; border-radius: 10px; font-size: 13.5px; background: rgba(220,38,38,.14); border: 1px solid rgba(248,113,113,.45); color: #fca5a5 !important; }

/* nav */
.bcni-wiz__nav { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; gap: 12px; }
.bcni-wiz__navright { display: flex; gap: 10px; }
.bcni-wiz__back { background: transparent !important; color: #9aa0a6 !important; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; padding: 14px 24px; cursor: pointer; font-size: 15.5px; font-weight: 600; }
.bcni-wiz__back:hover { color: #fff !important; border-color: rgba(255,255,255,.3); }
.bcni-wiz__next, .bcni-wiz__submit { background: #f5b301 !important; color: #1a1300 !important; font-weight: 800; font-size: 16.5px; border: 0; border-radius: 11px; padding: 15px 32px; cursor: pointer; }
.bcni-wiz__next:hover, .bcni-wiz__submit:hover { background: #e2a400 !important; }

/* review */
.bcni-rev { display: flex; flex-direction: column; gap: 16px; }
.bcni-rev__sec { background: #0f1115; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 16px 18px; }
.bcni-rev__h { font-size: 12px; text-transform: uppercase; letter-spacing: .07em; color: #8b9099 !important; font-weight: 700; margin-bottom: 10px; }
.bcni-rev__row { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.05); font-size: 14px; color: #9aa0a6 !important; }
.bcni-rev__row:last-child { border-bottom: 0; }
.bcni-rev__row strong { color: #fff !important; font-weight: 600; text-align: right; }
.bcni-rev__stops { list-style: none; margin: 0; padding: 0; counter-reset: rev; }
.bcni-rev__stops li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.bcni-rev__stops li:last-child { border-bottom: 0; }
.bcni-rev__stop-name { color: #fff !important; font-weight: 600; }
.bcni-rev__stop-name::before { counter-increment: rev; content: counter(rev); display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 10px; border-radius: 50%; background: rgba(245,179,1,.16); color: #f5b301; font-size: 11px; font-weight: 700; }
.bcni-rev__stop-dwell { font-size: 12.5px; color: #9aa0a6 !important; white-space: nowrap; }
.bcni-rev__extras { margin: 0; padding-left: 20px; }
.bcni-rev__extras li { font-size: 14px; color: #e8e8ea !important; margin-bottom: 4px; }
.bcni-rev__note { font-size: 12px; color: #f0d9a6 !important; margin: 10px 0 0; }
.bcni-rev__est { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; overflow: hidden; }
.bcni-rev__tile { background: #15171c; padding: 14px 10px; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.bcni-rev__tile span { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #8b9099 !important; }
.bcni-rev__tile strong { font-size: 16px; color: #f5b301 !important; font-weight: 800; }
@media (max-width: 520px) { .bcni-rev__est { grid-template-columns: repeat(2, 1fr); } }

.bcni-wiz__est { font-size: 11.5px; color: #8b9099 !important; margin: 16px 0 0; line-height: 1.45; text-align: center; }

/* ---- Build-your-own banner (tours page) ---- */
.bcni-byo {
	position: relative;
	display: flex; align-items: center; gap: 24px; margin: 8px 0 32px;
	border-radius: 18px;
	background: linear-gradient(135deg, #1d2027 0%, #141519 100%);
	border: 1px solid rgba(245,179,1,.28);
	overflow: hidden;
	min-height: 280px;
}
.bcni-byo__body {
	position: relative;
	z-index: 2;
	flex: 0 0 50%;
	max-width: 50%;
	padding: 32px 40px;
	text-align: center;
}
.bcni-byo__eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: #f5b301 !important; font-weight: 700; margin-bottom: 8px; }
.bcni-byo__title { font-size: 26px; font-weight: 800; color: #fff !important; margin: 0 0 10px; }
.bcni-byo__text { font-size: 14.5px; line-height: 1.6; color: #c3c7cd !important; margin: 0 auto 18px; max-width: 46ch; }
.bcni-byo__btn {
	display: inline-block; background: #f5b301 !important; color: #1a1300 !important;
	font-weight: 800; font-size: 15px; padding: 13px 26px; border-radius: 12px; text-decoration: none !important;
}
.bcni-byo__btn:hover { background: #e2a400 !important; }

/* Image panel: fills the right half, fades into the box on its left edge. */
.bcni-byo__media {
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: 50%;
	background-size: cover;
	background-position: center;
	z-index: 1;
}
.bcni-byo__media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #141519 0%, rgba(20,21,25,.85) 18%, rgba(20,21,25,0) 60%);
}
@media (max-width: 700px) {
	.bcni-byo { flex-direction: column; min-height: 0; }
	.bcni-byo__media { position: relative; width: 100%; height: 180px; order: -1; }
	.bcni-byo__media::before { background: linear-gradient(180deg, rgba(20,21,25,0) 40%, #141519 100%); }
	.bcni-byo__body { max-width: 100%; padding: 24px; }
}

/* ---- Tours headings + ready-made intro ---- */
.bcni-tours-heading { font-size: 22px; font-weight: 800; color: #fff !important; margin: 0 0 4px; }
.bcni-tours-intro { font-size: 14px; color: #9aa0a6 !important; margin: 0 0 16px; }

/* ---- Useful information ---- */
.bcni-tours-info { margin-top: 36px; }
.bcni-tours-info__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 8px 0 0;
}
@media (max-width: 900px) { .bcni-tours-info__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .bcni-tours-info__grid { grid-template-columns: 1fr; } }
.bcni-tours-info__card {
	background: #15171c;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 14px;
	padding: 22px 22px 20px;
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.bcni-tours-info__card:hover {
	border-color: rgba(245,179,1,.5);
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(0,0,0,.3);
}
.bcni-tours-info__icon {
	width: 42px; height: 42px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 11px;
	background: rgba(245,179,1,.12);
	color: #f5b301;
	margin-bottom: 14px;
}
.bcni-tours-info__icon svg { width: 22px; height: 22px; }
.bcni-tours-info__h { font-size: 15.5px; font-weight: 700; color: #fff !important; margin-bottom: 7px; }
.bcni-tours-info__card p { font-size: 13.5px; line-height: 1.55; color: #b9bdc4 !important; margin: 0; }
.bcni-tours-info__cta { margin-top: 26px; text-align: center; }

/* ---- Tour landing page (detailed) ---- */
.bcni-tourpage { color: #e8e8ea !important; }

/* ---- Individual tour page: hero banner (image on right) ---- */
.bcni-tourhero {
	position: relative;
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0 0 28px;
	border-radius: 18px;
	overflow: hidden;
	background: linear-gradient(135deg, #1d2027 0%, #141519 100%);
	border: 1px solid rgba(255,255,255,.09);
	min-height: 300px;
}
.bcni-tourhero__body {
	position: relative;
	z-index: 2;
	flex: 1;
	max-width: 58%;
	padding: 34px 36px;
}
.bcni-tourhero__crumbs {
	font-size: 12.5px; color: #8b9099; margin-bottom: 14px;
}
.bcni-tourhero__crumbs a { color: #9aa0a6 !important; text-decoration: none !important; }
.bcni-tourhero__crumbs a:hover { color: #f5b301 !important; }
.bcni-tourhero__crumbs span { color: #555c65; margin: 0 4px; }
.bcni-tourhero__title {
	font-size: clamp(26px, 3.4vw, 38px);
	font-weight: 800; line-height: 1.08; letter-spacing: -0.4px;
	color: #fff !important; text-transform: uppercase; margin: 0 0 12px;
}
.bcni-tourhero__tag {
	font-size: 16px; line-height: 1.6; color: #c3c7cd !important; margin: 0 0 16px; max-width: 48ch;
}
.bcni-tourhero__meta {
	display: flex; flex-wrap: wrap; gap: 8px 18px;
	font-size: 13px; color: #b9bdc4 !important; margin-bottom: 20px;
}
.bcni-tourhero__meta span { white-space: nowrap; }
.bcni-tourhero__btn {
	display: inline-block; background: #f5b301 !important; color: #1a1300 !important;
	font-weight: 800; font-size: 15px; padding: 13px 26px; border-radius: 12px; text-decoration: none !important;
}
.bcni-tourhero__btn:hover { background: #e2a400 !important; }
.bcni-tourhero__media {
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: 52%;
	background-size: cover;
	background-position: center;
	z-index: 1;
}
.bcni-tourhero__media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #141519 0%, rgba(20,21,25,.55) 35%, rgba(20,21,25,0) 100%);
}
@media (max-width: 720px) {
	.bcni-tourhero { flex-direction: column; min-height: 0; }
	.bcni-tourhero__media { position: relative; width: 100%; height: 190px; order: -1; }
	.bcni-tourhero__media::before { background: linear-gradient(180deg, rgba(20,21,25,0) 40%, #141519 100%); }
	.bcni-tourhero__body { max-width: 100%; padding: 24px; }
}
.bcni-tourpage * { box-sizing: border-box; }
.bcni-tourpage__intro { margin-bottom: 26px; }
.bcni-tourpage__tagline { font-size: 18px; color: #f0d9a6 !important; margin: 0 0 12px; font-weight: 600; }
.bcni-tourpage__lead { font-size: 15.5px; line-height: 1.7; color: #c3c7cd !important; margin: 0 0 20px; max-width: 70ch; }
.bcni-tourpage__facts {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px;
	background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; overflow: hidden;
}
.bcni-tourpage__fact { background: #15171c; padding: 14px 16px; display: flex; flex-direction: column; gap: 3px; }
.bcni-tourpage__fact span { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #8b9099 !important; }
.bcni-tourpage__fact strong { font-size: 14.5px; color: #fff !important; line-height: 1.3; }
.bcni-tourpage__jump {
	display: none; margin-top: 16px;
}

.bcni-tourpage__cols { display: grid; grid-template-columns: 1fr 360px; gap: 30px; align-items: start; }
@media (max-width: 880px) {
	.bcni-tourpage__cols { grid-template-columns: 1fr; }
	.bcni-tourpage__jump {
		display: inline-block; background: #f5b301 !important; color: #1a1300 !important; font-weight: 800;
		padding: 12px 22px; border-radius: 11px; text-decoration: none !important; font-size: 15px;
	}
}

.bcni-tourpage__h { font-size: 20px; font-weight: 800; color: #fff !important; margin: 30px 0 12px; }
.bcni-tourpage__content > .bcni-tourpage__h:first-child { margin-top: 0; }

.bcni-tourpage__highlights { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bcni-tourpage__highlights li {
	background: rgba(245,179,1,.10); border: 1px solid rgba(245,179,1,.3); color: #f0d9a6 !important;
	padding: 7px 13px; border-radius: 999px; font-size: 13.5px; font-weight: 600;
}

.bcni-tourpage__faqs { display: flex; flex-direction: column; gap: 8px; }
.bcni-tourpage__faq { background: #15171c; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 14px 16px; }
.bcni-tourpage__faq > summary { cursor: pointer; font-weight: 700; color: #fff !important; font-size: 15px; list-style: none; }
.bcni-tourpage__faq > summary::-webkit-details-marker { display: none; }
.bcni-tourpage__faq > summary::after { content: "+"; float: right; color: #f5b301; font-weight: 700; }
.bcni-tourpage__faq[open] > summary::after { content: "\2013"; }
.bcni-tourpage__faq p { margin: 10px 0 0; font-size: 14px; line-height: 1.6; color: #c3c7cd !important; }

/* ---- Visible SEO section ---- */
.bcni-tourseo {
	margin-top: 28px;
	padding: 24px 26px;
	background: linear-gradient(180deg, #1b1e25 0%, #15171c 100%);
	border: 1px solid rgba(245,179,1,.22);
	border-radius: 16px;
}
.bcni-tourseo__h { font-size: 20px; font-weight: 800; color: #fff !important; margin: 0 0 12px; }
.bcni-tourseo__p { font-size: 14.5px; line-height: 1.7; color: #c3c7cd !important; margin: 0 0 12px; }
.bcni-tourseo__p:last-child { margin-bottom: 0; }

/* ---- Feature cards ---- */
.bcni-tourfeatures {
	margin-top: 18px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
@media (max-width: 760px) { .bcni-tourfeatures { grid-template-columns: 1fr; } }
.bcni-tourfeature {
	background: #15171c;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 14px;
	padding: 18px 20px;
	transition: border-color .15s ease, transform .15s ease;
}
.bcni-tourfeature:hover { border-color: rgba(245,179,1,.5); transform: translateY(-2px); }
.bcni-tourfeature__h { font-size: 15px; font-weight: 700; color: #fff !important; margin-bottom: 7px; }
.bcni-tourfeature__p { font-size: 13.5px; line-height: 1.55; color: #b9bdc4 !important; margin: 0; }

/* ---- Booking card ---- */
.bcni-tourpage__aside { position: sticky; top: 20px; }
.bcni-tourbook {
	background: linear-gradient(180deg, #1b1e25 0%, #15171c 100%);
	border: 1px solid rgba(245,179,1,.28); border-radius: 18px; padding: 22px;
}
.bcni-tourbook__head { font-size: 18px; font-weight: 800; color: #fff !important; }
.bcni-tourbook__sub { font-size: 13px; color: #9aa0a6 !important; margin: 6px 0 16px; line-height: 1.5; }
.bcni-tourbook__alert { background: rgba(220,38,38,.14); border: 1px solid rgba(248,113,113,.45); color: #fca5a5 !important; border-radius: 10px; padding: 10px 12px; font-size: 13px; margin-bottom: 14px; }
.bcni-tourbook__alert ul { margin: 6px 0 0; padding-left: 18px; }
.bcni-tourbook__field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.bcni-tourbook__field > span { font-size: 12.5px; color: #9aa0a6 !important; }
.bcni-tourbook__field input, .bcni-tourbook__field textarea {
	width: 100%; background: #0f1115 !important; color: #fff !important;
	border: 1px solid rgba(255,255,255,.14); border-radius: 10px; padding: 11px 13px; font-size: 14.5px; font-family: inherit;
}
.bcni-tourbook__field input:focus, .bcni-tourbook__field textarea:focus { outline: none; border-color: #f5b301; box-shadow: 0 0 0 3px rgba(245,179,1,.15); }
.bcni-tourbook__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bcni-tourbook__submit {
	width: 100%; margin-top: 6px; padding: 14px; cursor: pointer;
	background: #f5b301 !important; color: #1a1300 !important; font-weight: 800; font-size: 15px;
	border: 0; border-radius: 12px;
}
.bcni-tourbook__submit:hover { background: #e2a400 !important; }
.bcni-tourbook__fine { font-size: 11.5px; color: #8b9099 !important; margin: 11px 0 0; line-height: 1.45; text-align: center; }

/* ── AI Itinerary Planner ────────────────────────────────────────────────── */

.bcni-ai-panel { display: block; }

/* Prompt textarea */
#bcni-ai-prompt {
	width: 100%;
	min-height: 110px;
	resize: vertical;
	background: #0c0e12;
	color: #e8e8ea;
	border: 1.5px solid rgba(255,255,255,.14);
	border-radius: 10px;
	padding: 14px 16px;
	font-size: 15px;
	font-family: inherit;
	line-height: 1.6;
	transition: border-color .2s;
	margin-bottom: 16px;
}
#bcni-ai-prompt:focus { outline: none; border-color: #f5b301; }
#bcni-ai-prompt::placeholder { color: #4a5060; }

/* Example pills */
.bcni-ai-examples { margin-bottom: 20px; }
.bcni-ai-examples__label { font-size: 12px; color: #6b7280; margin-bottom: 8px; }
.bcni-ai-examples__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.bcni-ai-pill {
	background: rgba(245,179,1,.09);
	border: 1px solid rgba(245,179,1,.22);
	color: #f5b301;
	border-radius: 20px;
	font-size: 12.5px;
	padding: 5px 13px;
	cursor: pointer;
	font-family: inherit;
	transition: background .15s;
	line-height: 1.4;
}
.bcni-ai-pill:hover { background: rgba(245,179,1,.2); }

/* Loading */
.bcni-ai-loading {
	text-align: center;
	padding: 48px 24px;
}
.bcni-ai-loading__ring {
	width: 44px; height: 44px;
	border: 3px solid rgba(245,179,1,.18);
	border-top-color: #f5b301;
	border-radius: 50%;
	animation: bcni-spin .85s linear infinite;
	margin: 0 auto 18px;
}
@keyframes bcni-spin { to { transform: rotate(360deg); } }
.bcni-ai-loading__text { color: #9aa0a6; font-size: 15px; margin-bottom: 6px; }
.bcni-ai-loading__stage { color: #f5b301; font-size: 13px; min-height: 20px; }

/* Result header */
.bcni-ai-result__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.bcni-ai-restart {
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.12);
	color: #9aa0a6;
	border-radius: 8px;
	font-size: 13px;
	padding: 7px 14px;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
	transition: background .15s;
	flex-shrink: 0;
}
.bcni-ai-restart:hover { background: rgba(255,255,255,.12); color: #fff; }

/* Meta strip */
.bcni-ai-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 8px;
}
.bcni-ai-fact { display: flex; flex-direction: column; gap: 2px; }
.bcni-ai-fact__k { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; }
.bcni-ai-fact__v { font-size: 14px; font-weight: 600; color: #e8e8ea; }

/* Stops timeline */
.bcni-ai-stops { list-style: none; margin: 0; padding: 0; }

.bcni-ai-stop {
	position: relative;
	padding: 0 0 18px 28px;
	border-left: 2px solid rgba(245,179,1,.35);
	margin-left: 8px;
}
.bcni-ai-stop:last-child { border-left-color: transparent; padding-bottom: 0; }

.bcni-ai-stop::before {
	content: '';
	position: absolute;
	left: -8px; top: 4px;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: #f5b301;
	border: 2px solid #1a1d24;
}
.bcni-ai-stop--drive { border-left-style: dashed; border-left-color: rgba(255,255,255,.12); }
.bcni-ai-stop--drive::before { background: transparent; border-color: rgba(255,255,255,.2); width: 10px; height: 10px; left: -6px; }
.bcni-ai-stop--lunch::before { background: #3b9e6e; }

.bcni-ai-stop__time { font-size: 12px; color: #f5b301; font-weight: 600; margin-bottom: 3px; }
.bcni-ai-stop__name { font-size: 15px; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.bcni-ai-stop__name--drive { font-size: 13px; color: #6b7280; font-weight: 400; display: flex; align-items: center; gap: 6px; }
.bcni-ai-stop__detail { font-size: 13px; color: #9aa0a6; margin-top: 3px; line-height: 1.5; }
.bcni-ai-stop__edit {
	margin-top: 6px;
	background: none;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 6px;
	color: #6b7280;
	font-size: 11px;
	padding: 3px 9px;
	cursor: pointer;
	font-family: inherit;
	transition: border-color .15s, color .15s;
}
.bcni-ai-stop__edit:hover { border-color: #f5b301; color: #f5b301; }

.bcni-ai-stop__drive-badge,
.bcni-ai-stop__lunch-badge {
	font-size: 10px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 10px;
}
.bcni-ai-stop__drive-badge { background: rgba(255,255,255,.07); color: #9aa0a6; }
.bcni-ai-stop__lunch-badge { background: rgba(59,158,110,.2); color: #3b9e6e; }

@media (max-width: 540px) {
	.bcni-ai-result__header { flex-direction: column; }
	.bcni-ai-meta { gap: 12px; }
}

/* ── Mode chooser cards ─────────────────────────────────────────────────── */
.bcni-ai-modes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 4px;
}
.bcni-ai-mode-card {
	background: #16181d;
	border: 1.5px solid rgba(255,255,255,.09);
	border-radius: 16px;
	padding: 28px 24px;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	transition: border-color .18s, transform .18s, box-shadow .18s;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bcni-ai-mode-card:hover {
	border-color: #f5b301;
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.bcni-ai-mode-card__icon { font-size: 28px; line-height: 1; color: #f5b301; }
.bcni-ai-mode-card__icon svg { width: 28px; height: 28px; display: block; }
.bcni-ai-mode-card__title { font-size: 18px; font-weight: 700; color: #ffffff; }
.bcni-ai-mode-card__desc { font-size: 14px; color: #9aa0a6; line-height: 1.6; flex: 1; }
.bcni-ai-mode-card__cta { font-size: 14px; font-weight: 700; color: #f5b301; margin-top: 4px; }
@media (max-width: 560px) {
	.bcni-ai-modes { grid-template-columns: 1fr; }
}

/* ── Back to options link ───────────────────────────────────────────────── */
.bcni-ai-mode-back { margin-bottom: 16px; }
.bcni-ai-back-btn {
	background: none;
	border: none;
	color: #9aa0a6;
	font-size: 13px;
	font-family: inherit;
	cursor: pointer;
	padding: 0;
	transition: color .15s;
}
.bcni-ai-back-btn:hover { color: #f5b301; }

/* ── AI stop controls (edit + remove) ──────────────────────────────────── */
.bcni-ai-stop__controls { display: flex; gap: 6px; margin-top: 6px; flex-wrap: wrap; }
.bcni-ai-stop__remove {
	background: none;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 6px;
	color: #6b7280;
	font-size: 11px;
	padding: 3px 9px;
	cursor: pointer;
	font-family: inherit;
	transition: border-color .15s, color .15s;
}
.bcni-ai-stop__remove:hover { border-color: #ef4444; color: #ef4444; }

/* ── Manual builder review table ────────────────────────────────────────── */
.bcni-builder__review-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	color: #e8e8ea;
}
.bcni-builder__review-table td {
	padding: 7px 0;
	border-bottom: 1px solid rgba(255,255,255,.07);
	vertical-align: top;
}
.bcni-builder__review-table td:first-child {
	color: #6b7280;
	font-size: 13px;
	width: 120px;
	padding-right: 16px;
}

/* ── Persistent mode switcher bar ───────────────────────────────────────── */
.bcni-mode-switcher {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 12px;
	padding: 10px 14px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.bcni-mode-switcher__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: 1.5px solid rgba(255,255,255,.12);
	border-radius: 8px;
	color: #9aa0a6;
	font-size: 13px;
	font-weight: 600;
	font-family: inherit;
	padding: 7px 14px;
	cursor: pointer;
	transition: border-color .15s, color .15s, background .15s;
	white-space: nowrap;
}
.bcni-mode-switcher__btn:hover {
	border-color: #f5b301;
	color: #f5b301;
}
.bcni-mode-switcher__btn.is-active {
	background: rgba(245,179,1,.12);
	border-color: #f5b301;
	color: #f5b301;
}
.bcni-mode-switcher__icon { font-size: 14px; color: #f5b301; display: inline-flex; }
.bcni-mode-switcher__icon svg { width: 14px; height: 14px; display: block; }
.bcni-mode-switcher__divider {
	font-size: 12px;
	color: rgba(255,255,255,.25);
}

/* ── AI conversation chat panel ─────────────────────────────────────────── */
.bcni-ai-chat {
	margin: 20px 0 4px;
	border-top: 1px solid rgba(255,255,255,.08);
	padding-top: 18px;
}
.bcni-ai-chat__history {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 240px;
	overflow-y: auto;
	margin-bottom: 12px;
	scroll-behavior: smooth;
}
.bcni-ai-chat__msg {
	font-size: 13px;
	line-height: 1.55;
	padding: 10px 14px;
	border-radius: 10px;
	max-width: 92%;
	word-break: break-word;
}
.bcni-ai-chat__msg--user {
	background: rgba(245,179,1,.12);
	border: 1px solid rgba(245,179,1,.2);
	color: #e8e8ea;
	align-self: flex-end;
	margin-left: auto;
}
.bcni-ai-chat__msg--ai {
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.08);
	color: #c3c7cd;
	align-self: flex-start;
}
.bcni-ai-chat__msg--thinking {
	background: rgba(255,255,255,.03);
	border: 1px dashed rgba(255,255,255,.1);
	color: #6b7280;
	font-style: italic;
	align-self: flex-start;
}
.bcni-ai-chat__msg--error {
	background: rgba(239,68,68,.1);
	border: 1px solid rgba(239,68,68,.2);
	color: #f87171;
	align-self: flex-start;
}
.bcni-ai-chat__input-row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}
.bcni-ai-chat__input {
	flex: 1;
	background: #0c0e12;
	border: 1.5px solid rgba(255,255,255,.12);
	border-radius: 8px;
	color: #e8e8ea;
	font-size: 14px;
	font-family: inherit;
	padding: 11px 14px;
	transition: border-color .2s;
}
.bcni-ai-chat__input:focus {
	outline: none;
	border-color: #f5b301;
}
.bcni-ai-chat__input::placeholder { color: #4a5060; }
.bcni-ai-chat__send {
	background: #f5b301;
	color: #1a1300;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	font-family: inherit;
	padding: 11px 18px;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s;
	flex-shrink: 0;
}
.bcni-ai-chat__send:hover { background: #e2a400; }
.bcni-ai-chat__send:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 480px) {
	.bcni-ai-chat__input-row { flex-direction: column; }
}

/* ── Category browse panel (builder step 2) ─────────────────────────── */
.bcni-cat-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; }
.bcni-cat-pill {
	background: transparent; color: #d6d6d6 !important; font-size: 13px; font-weight: 500;
	padding: 8px 16px; border-radius: 999px; border: 1px solid #3a3a3a; cursor: pointer;
	transition: border-color .15s ease, color .15s ease;
}
.bcni-cat-pill:hover { border-color: #f5b301; color: #fff !important; }
.bcni-cat-pill.is-active { background: #f5b301; color: #1a1300 !important; border-color: #f5b301; }

.bcni-browse { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.bcni-browse__left { min-width: 0; }
.bcni-browse__right {
	background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.09);
	border-radius: 12px; padding: 18px; min-width: 0;
	position: sticky; top: 20px;
}
.bcni-route__title { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 12px; }
.bcni-route-tips { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); }
.bcni-route-tips__h { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #f5b301 !important; font-weight: 700; margin-bottom: 10px; }
.bcni-route-tips ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.bcni-route-tips li { position: relative; padding-left: 16px; font-size: 13px; line-height: 1.5; color: #9aa0a6 !important; }
.bcni-route-tips li::before { content: ""; position: absolute; left: 0; top: 7px; width: 5px; height: 5px; border-radius: 50%; background: rgba(245,179,1,.6); }

.bcni-browse__search { position: relative; margin-bottom: 14px; }
.bcni-cat-suggest {
	position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30;
	background: #232323; border: 1px solid #3a3a3a; border-radius: 10px; overflow: hidden;
	box-shadow: 0 12px 28px rgba(0,0,0,.45);
}
.bcni-cat-suggest__row {
	display: flex; justify-content: space-between; align-items: center; gap: 10px;
	padding: 10px 14px; border-top: 1px solid #2c2c2c;
}
.bcni-cat-suggest__row:first-child { border-top: 0; }
.bcni-cat-suggest__row:hover { background: #2c2c2c; }
.bcni-cat-suggest__name { font-size: 13px; color: #e6e6e6; min-width: 0; }
.bcni-cat-suggest__name mark { background: transparent; color: #f5b301; font-weight: 700; padding: 0; }
.bcni-cat-suggest__row--none .bcni-cat-suggest__name { color: #9a9a9a; }

.bcni-browse__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; gap: 10px; }
.bcni-browse__head-title { font-size: 14px; font-weight: 700; color: #fff; }
.bcni-browse__head-count { font-size: 12px; color: #9a9a9a; white-space: nowrap; }

.bcni-cat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.bcni-cat-card {
	background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1);
	border-radius: 10px; padding: 14px 16px; transition: border-color .15s ease;
}
.bcni-cat-card:hover { border-color: rgba(245,179,1,.5); }
.bcni-cat-card.is-added { border-color: #f5b301; }
.bcni-cat-card__name { font-size: 14.5px; font-weight: 600; color: #fff; }
.bcni-cat-card__blurb { font-size: 13px; color: #9a9a9a; margin: 3px 0 0; }
.bcni-cat-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 9px; }
.bcni-cat-card__time { font-size: 12.5px; color: #9a9a9a; }
.bcni-cat-card.is-added .bcni-cat-card__time { color: #f5b301; }
@media (min-width: 900px) {
	.bcni-cat-grid { grid-template-columns: repeat(3, 1fr); }
}

.bcni-cat-add {
	background: transparent; border: 1px solid #4a4a4a; border-radius: 7px; color: #d6d6d6 !important;
	font-size: 12px; font-weight: 600; padding: 4px 13px; cursor: pointer; white-space: nowrap;
	transition: border-color .15s ease, color .15s ease;
}
.bcni-cat-add:hover { border-color: #f5b301; color: #fff !important; }
.bcni-cat-add.is-added { border-color: transparent; color: #f5b301 !important; cursor: default; }

.bcni-cat-viewall {
	width: 100%; display: flex; justify-content: space-between; align-items: center;
	background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1); border-radius: 10px;
	color: #d6d6d6 !important; font-size: 13px; font-weight: 500; padding: 11px 14px; cursor: pointer;
	transition: border-color .15s ease;
}
.bcni-cat-viewall:hover { border-color: rgba(245,179,1,.5); }
.bcni-cat-viewall.is-open { border-color: #f5b301; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.bcni-cat-viewall__arrow { color: #9a9a9a; font-size: 12px; transition: transform .15s ease; }
.bcni-cat-viewall.is-open .bcni-cat-viewall__arrow { transform: rotate(180deg); color: #f5b301; }

.bcni-cat-all {
	max-height: 260px; overflow-y: auto; background: rgba(255,255,255,.02);
	border: 1px solid #f5b301; border-top: 0; border-radius: 0 0 10px 10px;
}
.bcni-cat-row {
	display: flex; justify-content: space-between; align-items: center; gap: 10px;
	padding: 9px 14px; border-top: 1px solid rgba(255,255,255,.06);
}
.bcni-cat-row:first-child { border-top: 0; }
.bcni-cat-row__name { font-size: 12.5px; color: #e6e6e6; min-width: 0; }
.bcni-cat-row__blurb { color: #9a9a9a; font-size: 11.5px; }

@media (max-width: 760px) {
	.bcni-browse { grid-template-columns: 1fr; }
	.bcni-cat-grid { grid-template-columns: 1fr; }
	.bcni-browse__right { order: 2; position: static; }
}

/* ── Step 2 controls row, sort toggle, proximity, route timeline ────── */
.bcni-browse__controls { display: flex; gap: 10px; align-items: stretch; margin-bottom: 14px; }
.bcni-browse__controls .bcni-browse__search { flex: 1; margin-bottom: 0; }
.bcni-cat-sort { display: flex; background: rgba(255,255,255,.03); border: 1px solid #3a3a3a; border-radius: 9px; padding: 3px; flex: 0 0 auto; }
.bcni-cat-sort__btn {
	background: transparent; border: 0; cursor: pointer; color: #9a9a9a !important;
	font-size: 12.5px; padding: 5px 13px; border-radius: 7px; white-space: nowrap;
	transition: background .15s ease, color .15s ease;
}
.bcni-cat-sort__btn:hover { color: #fff !important; }
.bcni-cat-sort__btn.is-active { background: #f5b301; color: #1a1300 !important; font-weight: 500; }

.bcni-cat-prox { font-size: 11.5px; white-space: nowrap; }
.bcni-cat-row .bcni-cat-prox { margin: 0 10px 0 auto; }
.bcni-cat-suggest__row .bcni-cat-prox { margin-left: auto; padding-right: 10px; }

.bcni-cat-legend { margin-top: 11px; font-size: 11.5px; color: #8a8a8a; }

.bcni-builder__stop.is-last .bcni-builder__stop-name::before { background: #f5b301; color: #1a1300 !important; }
.bcni-builder__drive { list-style: none; text-align: center; color: #7c7c7c; font-size: 11.5px; margin: -3px 0 6px; }
.bcni-builder__laststop { list-style: none; color: #f5b301; font-size: 11.5px; margin-top: -2px; }

/* ── Compact tours sidebar (used beside SEO body copy) ──────────────── */
.bcni-tours-side {
	background: #16181d;
	border: 1px solid rgba(255,255,255,.09);
	border-radius: 14px;
	padding: 20px;
	position: sticky;
	top: 20px;
}
@media (max-width: 980px) {
	.bcni-tours-side { position: static; }
}
.bcni-tours-side__h {
	font-size: 11px; text-transform: uppercase; letter-spacing: .1em;
	color: #f5b301 !important; font-weight: 700; margin-bottom: 14px;
}
.bcni-tours-side__list { display: flex; flex-direction: column; gap: 10px; }
.bcni-tours-side__item {
	display: flex; align-items: center; gap: 12px;
	padding: 8px; border-radius: 10px;
	text-decoration: none !important;
	transition: background .15s ease;
}
.bcni-tours-side__item:hover { background: rgba(255,255,255,.05); }
.bcni-tours-side__thumb {
	flex: 0 0 auto; width: 52px; height: 52px; border-radius: 9px;
	background-size: cover; background-position: center;
}
.bcni-tours-side__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bcni-tours-side__name { font-size: 13.5px; font-weight: 700; color: #fff !important; line-height: 1.3; }
.bcni-tours-side__meta { font-size: 11.5px; color: #9aa0a6 !important; }
.bcni-tours-side__all {
	display: block; text-align: center; margin-top: 16px;
	background: #f5b301 !important; color: #1a1300 !important;
	font-weight: 800; font-size: 13.5px; padding: 12px; border-radius: 10px;
	text-decoration: none !important;
}
.bcni-tours-side__all:hover { background: #e2a400 !important; }

/* ==== Explore Northern Ireland re-skin (baked in) ==== */
/* ============================================================================
   Explore Northern Ireland — tour builder re-skin (v2, comprehensive)
   Flips the BusCompare NI builder from its dark palette to the Explore NI brand
   (cream / forest green / gold, Playfair headings). Targets the real .bcni-*
   markup. Loaded AFTER the plugin stylesheet; colour/typography only.
   ============================================================================ */
:root{
  --eni-forest:#1a3f2b;--eni-forest-deep:#0e2318;--eni-gold:#c8a24a;--eni-gold-deep:#a9853a;--eni-gold-soft:#d8bd7e;
  --eni-cream:#f3ecdd;--eni-cream-2:#faf6ec;--eni-ink:#183726;--eni-text:#5c574b;--eni-muted:#8a8474;--eni-line:#e7dcc6;
}
/* 1. base: flip the plugin's light text to dark (FIRST so specifics below win) */
.bcni-wiz, .bcni-wiz *, .bcni-bld-hero, .bcni-bld-hero *,
.bcni-ai-panel, .bcni-ai-panel *, .bcni-ai-modes, .bcni-ai-modes *{ color:var(--eni-text) !important; }
/* 2. dark containers -> light */
.bcni-wiz, #bcni-ai-wrapper.bcni-wiz{ background:var(--eni-cream-2) !important;border:1px solid var(--eni-line) !important;border-radius:18px !important;box-shadow:0 20px 50px rgba(14,35,24,.10) !important; }
.bcni-ai-panel{ background:transparent !important }
.bcni-bld-hero{ background:var(--eni-cream) !important;background-image:none !important;border:1px solid var(--eni-line) !important;border-radius:18px !important }
.bcni-bld-hero::before,.bcni-bld-hero::after{ display:none !important }
.bcni-bld-hero__eyebrow{ color:var(--eni-gold-deep) !important }
.bcni-bld-hero__title{ color:var(--eni-ink) !important;font-family:'Playfair Display',serif !important }
.bcni-bld-hero__title span{ color:var(--eni-gold-deep) !important }
.bcni-bld-hero__sub{ color:var(--eni-text) !important }
.bcni-bld-hero__trust span{ color:var(--eni-text) !important }
.bcni-bld-hero__trust i{ background:var(--eni-gold) !important;border-color:var(--eni-gold) !important }
/* 3. mode chooser cards */
.bcni-ai-mode-card{ background:#fff !important;border:1px solid var(--eni-line) !important;border-radius:16px !important;box-shadow:0 10px 30px rgba(14,35,24,.07) !important }
.bcni-ai-mode-card:hover{ border-color:var(--eni-gold) !important;box-shadow:0 18px 40px rgba(14,35,24,.14) !important;transform:translateY(-3px) }
.bcni-ai-mode-card__icon{ background:var(--eni-forest) !important;color:var(--eni-gold-soft) !important }
.bcni-ai-mode-card__icon svg{ color:var(--eni-gold-soft) !important;fill:currentColor }
.bcni-ai-mode-card__title{ color:var(--eni-ink) !important;font-family:'Playfair Display',serif !important }
.bcni-ai-mode-card__desc{ color:var(--eni-text) !important }
.bcni-ai-mode-card__cta{ color:var(--eni-gold-deep) !important }
/* persistent mode switcher */
.bcni-mode-switcher{ background:#fff !important;border:1px solid var(--eni-line) !important;border-radius:12px !important }
.bcni-mode-switcher__btn{ background:transparent !important;color:var(--eni-forest) !important;border:1px solid var(--eni-line) !important;border-radius:8px !important }
.bcni-mode-switcher__btn.is-active,.bcni-mode-switcher__btn[aria-pressed="true"]{ background:var(--eni-gold) !important;color:var(--eni-forest-deep) !important;border-color:var(--eni-gold) !important }
.bcni-mode-switcher__divider{ color:var(--eni-muted) !important }
.bcni-mode-switcher__icon{ color:inherit !important }
/* wizard headings + steps */
.bcni-wiz__title{ color:var(--eni-ink) !important;font-family:'Playfair Display',serif !important }
.bcni-wiz__sub{ color:var(--eni-text) !important }
.bcni-wiz__dots li{ color:var(--eni-muted) !important }
.bcni-wiz__dots li span,.bcni-wiz__dots li i{ background:#fff !important;border:1px solid var(--eni-line) !important;color:var(--eni-muted) !important }
.bcni-wiz__dots li.is-active span,.bcni-wiz__dots li.is-done span,.bcni-wiz__dots li.done span{ background:var(--eni-gold) !important;border-color:var(--eni-gold) !important;color:var(--eni-forest-deep) !important }
/* inputs / textareas */
.bcni-builder__input,.bcni-builder__select,#bcni-ai-prompt,.bcni-ai-chat__input,
.bcni-builder__stop,.bcni-builder__stop-dwell input,.bcni-tourbook__field input,.bcni-tourbook__field textarea,
.bcni-ai-form input,.bcni-ai-form textarea{ background:#fff !important;color:var(--eni-ink) !important;border:1px solid var(--eni-line) !important;border-radius:10px !important }
.bcni-builder__input:focus,#bcni-ai-prompt:focus,.bcni-ai-chat__input:focus,.bcni-builder__select:focus{ outline:none !important;border-color:var(--eni-gold) !important;box-shadow:0 0 0 3px rgba(200,162,74,.18) !important }
.bcni-wiz ::placeholder,#bcni-ai-prompt::placeholder{ color:var(--eni-muted) !important;opacity:1 }
/* example pills / chips */
.bcni-ai-pill,.bcni-builder__chip,.bcni-builder__chip span,.bcni-cat-pill,.bcni-cat-sort__btn,.bcni-wiz__mini{ background:var(--eni-cream) !important;color:var(--eni-forest) !important;border:1px solid var(--eni-line) !important;border-radius:999px !important }
.bcni-ai-pill:hover,.bcni-builder__chip:hover,.bcni-cat-pill:hover{ background:var(--eni-forest) !important;color:#f4ecd9 !important;border-color:var(--eni-forest) !important }
.bcni-ai-pill.is-active,.bcni-builder__chip.is-active,.bcni-cat-pill.is-active{ background:var(--eni-gold) !important;color:var(--eni-forest-deep) !important;border-color:var(--eni-gold) !important }
.bcni-ai-examples__label{ color:var(--eni-muted) !important }
/* buttons */
.bcni-wiz__next,.bcni-wiz__submit,.bcni-ai-plan-btn,.bcni-ai-submit,.bcni-ai-chat__send,.bcni-ai-to-details,
.bcni-tour__btn,.bcni-tourbook__submit,.bcni-cat-add,.bcni-cat-viewall,.bcni-tourhero__btn{ background:var(--eni-forest) !important;color:#f4ecd9 !important;border:1px solid var(--eni-forest) !important;border-radius:8px !important }
.bcni-wiz__next:hover,.bcni-ai-plan-btn:hover,.bcni-ai-submit:hover,.bcni-wiz__submit:hover{ background:var(--eni-forest-deep) !important }
.bcni-ai-back-btn,.bcni-wiz__back,.bcni-ai-restart,.bcni-ai-mode-back button,.bcni-ai-result__actions button{ background:transparent !important;color:var(--eni-forest) !important;border:1px solid var(--eni-line) !important;border-radius:8px !important }
/* loading */
.bcni-ai-loading__text{ color:var(--eni-ink) !important;font-family:'Playfair Display',serif !important }
.bcni-ai-loading__stage{ color:var(--eni-muted) !important }
.bcni-ai-loading__ring{ border-color:var(--eni-line) !important;border-top-color:var(--eni-gold) !important }
/* result / itinerary / chat */
.bcni-ai-stops,.bcni-ai-stop,.bcni-tour__stop{ background:#fff !important;border:1px solid var(--eni-line) !important;border-radius:12px !important }
.bcni-ai-stop{ border-left:3px solid var(--eni-gold) !important }
.bcni-ai-itin-title{ color:var(--eni-ink) !important;font-family:'Playfair Display',serif !important }
.bcni-ai-chat,.bcni-ai-chat__history{ background:var(--eni-cream) !important;border:1px solid var(--eni-line) !important;border-radius:12px !important }
/* warnings */
.bcni-builder__warn,.bcni-ai-warning,.bcni-ai-err,.bcni-tourbook__alert{ background:#fbf3e0 !important;border:1px solid var(--eni-gold) !important;color:#7a5a1c !important;border-radius:10px !important }
/* other dark surfaces (tours grid / tour pages) */
.bcni-tourcard,.bcni-tour__head,.bcni-rev__tile,.bcni-rev__sec,.bcni-byo,.bcni-tours-info__card,
.bcni-tourhero,.bcni-tourpage__fact,.bcni-tourpage__faq,.bcni-tourseo,.bcni-tourfeature,.bcni-tourbook,
.bcni-cat-suggest,.bcni-cat-card{ background:#fff !important;color:var(--eni-text) !important;border:1px solid var(--eni-line) !important }
/* 4. accent text LAST so it wins over the base flip */
.bcni-bld-hero__title,.bcni-ai-mode-card__title,.bcni-wiz__title,.bcni-ai-itin-title{ color:var(--eni-ink) !important }
.bcni-bld-hero__eyebrow,.bcni-ai-examples__label,.bcni-ai-mode-card__cta{ color:var(--eni-gold-deep) !important }
.bcni-wiz__next,.bcni-wiz__submit,.bcni-ai-plan-btn,.bcni-ai-submit{ color:#f4ecd9 !important }
.bcni-ai-mode-card__icon,.bcni-ai-mode-card__icon *{ color:var(--eni-gold-soft) !important }
