.stb-container {
	background: #FFF1B5;
	padding: 40px 20px;
	border-radius: 20px;
	font-family: system-ui, -apple-system, sans-serif;
	color: #253247;
	box-shadow: 0 10px 30px rgba(0,0,0,0.05);
	max-width: 900px;
	margin: 0 auto;
}
.stb-header {
	text-align: center;
	margin-bottom: 30px;
}
.stb-heading {
	color: #253247;
	font-size: 2.5rem;
	font-weight: 700;
	margin: 0 0 10px 0;
}
.stb-subtitle {
	color: #74643A;
	font-size: 1.1rem;
	margin: 0;
}
.stb-tabs-wrapper {
	background: #FFFEF7;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(37, 50, 71, 0.08);
	overflow: hidden;
}
.stb-tabs-nav {
	display: flex;
	background: #f8f6ec;
	border-bottom: 1px solid rgba(0,0,0,0.05);
}
.stb-tab-btn {
	flex: 1;
	padding: 16px;
	border: none;
	background: transparent;
	font-size: 1.1rem;
	font-weight: 600;
	color: #253247;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: all 0.3s ease;
	border-bottom: 3px solid transparent;
}
.stb-tab-btn:hover {
	background: #fff;
	transform: translateY(-2px);
}
.stb-tab-btn.active[data-tab="flights"] {
	background: #fff;
	color: #253247;
	border-bottom-color: #F6C93E;
	box-shadow: inset 0 4px 10px rgba(246, 201, 62, 0.1);
}
.stb-tab-btn.active[data-tab="trains"] {
	background: #F28B62;
	color: #fff;
	border-bottom-color: #d17550;
	box-shadow: 0 4px 10px rgba(242, 139, 98, 0.2);
}
.stb-tab-btn.active[data-tab="buses"] {
	background: #3CAFB0;
	color: #fff;
	border-bottom-color: #2c8c8d;
	box-shadow: 0 4px 10px rgba(60, 175, 176, 0.2);
}
.stb-tab-content {
	display: none;
	padding: 30px;
	animation: fadeUp 0.4s ease forwards;
}
.stb-tab-content.active {
	display: block;
}
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}
.stb-row {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
	align-items: flex-end;
}
.stb-field {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.stb-field label {
	font-size: 0.9rem;
	font-weight: 600;
	margin-bottom: 8px;
	color: #74643A;
}
.stb-field input[type="text"],
.stb-field input[type="date"],
.stb-field select {
	padding: 12px 16px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 1rem;
	color: #253247;
	transition: all 0.2s;
	background: #fff;
}
.stb-field input:focus, .stb-field select:focus {
	outline: none;
	border-color: #F6C93E;
	box-shadow: 0 0 0 3px rgba(246, 201, 62, 0.2);
}
.stb-container[data-active="trains"] .stb-field input:focus,
.stb-container[data-active="trains"] .stb-field select:focus {
	border-color: #F28B62;
	box-shadow: 0 0 0 3px rgba(242, 139, 98, 0.2);
}
.stb-container[data-active="buses"] .stb-field input:focus,
.stb-container[data-active="buses"] .stb-field select:focus {
	border-color: #3CAFB0;
	box-shadow: 0 0 0 3px rgba(60, 175, 176, 0.2);
}
.stb-swap-btn {
	background: #f0f0f0;
	border: none;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	font-size: 1.2rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #74643A;
	transition: all 0.3s ease;
	margin-bottom: 4px; /* Align with inputs visually */
}
.stb-swap-btn:hover {
	background: #e4e4e4;
	transform: rotate(180deg);
}
.stb-journey-type {
	gap: 30px;
	margin-bottom: 24px;
}
.stb-journey-type label {
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
}
.stb-pax-stepper {
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	overflow: hidden;
	width: max-content;
}
.stb-pax-stepper button {
	background: #f8f6ec;
	border: none;
	width: 36px;
	height: 36px;
	font-size: 1.2rem;
	cursor: pointer;
	color: #253247;
	transition: background 0.2s;
}
.stb-pax-stepper button:hover {
	background: #e4e4e4;
}
.stb-pax-stepper input {
	width: 40px;
	text-align: center;
	border: none;
	font-weight: 600;
	pointer-events: none;
}
.stb-submit-btn {
	width: 100%;
	padding: 16px;
	border: none;
	border-radius: 8px;
	font-size: 1.2rem;
	font-weight: 700;
	color: #253247;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-top: 20px;
}
.stb-btn-flights {
	background: #F6C93E;
}
.stb-btn-flights:hover { background: #e5b82c; transform: translateY(-2px); }
.stb-btn-trains {
	background: #F28B62; color: #fff;
}
.stb-btn-trains:hover { background: #e0774c; transform: translateY(-2px); }
.stb-btn-buses {
	background: #3CAFB0; color: #fff;
}
.stb-btn-buses:hover { background: #2c9a9b; transform: translateY(-2px); }

.stb-error-msg {
	color: #d93025;
	font-weight: 600;
	margin-top: 15px;
	display: none;
}
.stb-field.error input, .stb-field.error select {
	border-color: #d93025;
}

.stb-summary-card {
	padding: 30px;
	background: #f8fff8;
	border: 2px solid #8fce8f;
	border-radius: 12px;
	margin: 30px;
}
.stb-summary-card h4 {
	margin-top: 0;
	color: #2b542b;
}
.stb-practice-notice {
	font-size: 0.85rem;
	color: #666;
	margin-top: 20px;
	font-style: italic;
}
.stb-close-summary {
	background: #253247;
	color: #fff;
	border: none;
	padding: 10px 20px;
	border-radius: 6px;
	cursor: pointer;
	margin-top: 10px;
}

@media (max-width: 768px) {
	.stb-row {
		flex-direction: column;
		align-items: stretch;
		gap: 15px;
	}
	.stb-swap-btn {
		align-self: center;
		transform: rotate(90deg);
		margin: -5px 0;
	}
	.stb-swap-btn:hover {
		transform: rotate(270deg);
	}
}