.tbv-widget * { box-sizing: border-box; }

.tbv-btn-primary {
	background: var(--tbv-red, #C41230);
	color: #fff;
	border: none;
	padding: 15px 26px;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(196, 18, 48, 0.3);
}
.tbv-btn-primary:hover { filter: brightness(0.92); }

.tbv-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(8, 12, 42, 0.65);
	align-items: center;
	justify-content: center;
	z-index: 99999;
	padding: 18px;
}
.tbv-overlay.tbv-open { display: flex; }

.tbv-frame {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(6, 10, 40, 0.4);
	max-width: 440px;
	width: 100%;
	font-family: -apple-system, "IBM Plex Sans", Arial, sans-serif;
}

.tbv-frame-header {
	background: var(--tbv-navy, #142B72);
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.tbv-logo { height: 24px; width: auto; background: #ffffff; border-radius: 50%; padding: 5px; box-sizing: content-box; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.tbv-logo-text { color: #fff; font-weight: 800; letter-spacing: 0.02em; }
.tbv-lock { margin-left: auto; color: #9AA6D6; font-size: 0.72rem; }
.tbv-close { color: #9AA6D6; cursor: pointer; font-size: 1.2rem; line-height: 1; padding-left: 8px; }

.tbv-progress { display: flex; gap: 4px; padding: 12px 18px 0; }
.tbv-seg { flex: 1; height: 4px; border-radius: 3px; background: #E3E5EE; }
.tbv-seg-done { background: var(--tbv-gold, #D9B44A); }

.tbv-body { padding: 24px 22px 26px; min-height: 300px; color: #1B2340; }

.tbv-field { margin-bottom: 14px; }
.tbv-field label { display: block; font-size: 0.85rem; margin-bottom: 6px; color: #3A4152; font-weight: 600; }
.tbv-field input[type="text"],
.tbv-field input[type="email"] {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid #E3E5EE;
	border-radius: 7px;
	font-size: 0.95rem;
}

.tbv-frame-btn {
	width: 100%;
	background: var(--tbv-red, #C41230);
	color: #fff;
	border: none;
	padding: 13px;
	border-radius: 7px;
	font-weight: 700;
	font-size: 0.95rem;
	cursor: pointer;
	margin-top: 10px;
}
.tbv-frame-btn:hover { filter: brightness(0.92); }
.tbv-frame-btn[disabled] { opacity: 0.6; cursor: not-allowed; }

.tbv-step-label { font-size: 0.72rem; color: var(--tbv-red, #C41230); font-weight: 700; letter-spacing: 0.04em; margin-bottom: 6px; }
.tbv-step-title { font-size: 1.1rem; color: var(--tbv-navy, #142B72); font-weight: 700; margin: 0 0 14px; }

.tbv-iframe-wrap { border: 1px solid #E3E5EE; border-radius: 10px; overflow: hidden; }
.tbv-iframe-wrap iframe { width: 100%; height: 360px; border: none; display: block; }

.tbv-waiting { text-align: center; color: #6B7390; font-size: 0.85rem; margin-top: 10px; }

.tbv-success { text-align: center; padding-top: 10px; }
.tbv-check {
	width: 54px; height: 54px; border-radius: 50%;
	background: #FBF6E8; color: #A97F22;
	display: flex; align-items: center; justify-content: center;
	font-size: 1.5rem; margin: 0 auto 14px; border: 2px solid var(--tbv-gold, #D9B44A);
}

.tbv-error { color: #C41230; font-size: 0.85rem; margin-top: 10px; }

.tbv-hero {
	background-image: url('https://transmony.com/wp-content/uploads/2026/09/tbv-hero-bg.jpg');
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	overflow: hidden;
	padding: 64px 6vw 80px;
}
.tbv-hero-inner {
	max-width: 1000px;
	margin: 0 auto;
}
.tbv-hero-text { max-width: 520px; }
.tbv-hero-eyebrow {
	color: #D9B44A;
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	margin-bottom: 14px;
}
.tbv-hero-title {
	color: #fff;
	font-weight: 800;
	font-size: 1.9rem;
	line-height: 1.28;
	margin: 0 0 14px;
	font-family: -apple-system, "Poppins", Arial, sans-serif;
}
.tbv-hero-title span { color: #D9B44A; }
.tbv-hero-sub {
	color: #C7D0EE;
	font-size: 0.95rem;
	line-height: 1.65;
	margin: 0 0 26px;
}
@media (max-width: 780px) {
	.tbv-hero { background-position: 75% center; padding: 220px 6vw 50px; }
}
