.tgce-shell {
	margin: 0 0 2rem;
}

.tgce-card,
.tgce-alert,
.tgce-course-cta {
	background: #ffffff;
	border: 1px solid rgba( 16, 24, 40, 0.1 );
	border-radius: 18px;
	box-shadow: 0 18px 40px rgba( 15, 23, 42, 0.08 );
	padding: 1.5rem;
}

.tgce-card h2,
.tgce-course-cta h3 {
	margin: 0 0 0.75rem;
}

.tgce-step {
	color: #9b1c1c;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.tgce-intro {
	margin-bottom: 1.25rem;
}

.tgce-course-summary {
	background: #f8fafc;
	border-radius: 12px;
	margin-bottom: 1rem;
	padding: 0.9rem 1rem;
}

.tgce-course-summary strong {
	display: inline-block;
	margin-right: 0.35rem;
}

.tgce-form {
	display: grid;
	gap: 1rem;
}

.tgce-form label {
	display: grid;
	gap: 0.4rem;
}

.tgce-form span {
	font-weight: 700;
}

.tgce-form input {
	border: 1px solid #d0d5dd;
	border-radius: 12px;
	font-size: 1rem;
	padding: 0.8rem 0.9rem;
}

.tgce-button {
	background: #8d1f1f;
	border: 0;
	border-radius: 999px;
	color: #ffffff;
	display: inline-block;
	font-weight: 700;
	padding: 0.85rem 1.35rem;
	text-align: center;
	text-decoration: none;
}

.tgce-button:hover,
.tgce-button:focus {
	background: #6c1616;
	color: #ffffff;
}

.tgce-divider {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	margin: 1.5rem 0 1rem;
}

.tgce-divider::before,
.tgce-divider::after {
	background: rgba( 16, 24, 40, 0.14 );
	content: '';
	flex: 1;
	height: 1px;
}

.tgce-divider span {
	font-size: 0.95rem;
	font-weight: 700;
}

.tgce-login-box p {
	margin-top: 0;
}

.tgce-login-box form {
	display: grid;
	gap: 1rem;
}

.tgce-login-box label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.4rem;
}

.tgce-login-box input {
	border: 1px solid #d0d5dd;
	border-radius: 12px;
	padding: 0.8rem 0.9rem;
	width: 100%;
}

.tgce-login-box .button {
	background: #101828;
	border: 0;
	border-radius: 999px;
	color: #ffffff;
	padding: 0.85rem 1.35rem;
}

.tgce-alert {
	margin-bottom: 1rem;
}

.tgce-alert p:last-child {
	margin-bottom: 0;
}

.tgce-alert--success {
	border-color: rgba( 15, 118, 110, 0.25 );
	background: #ecfdf3;
}

.tgce-alert--error {
	border-color: rgba( 180, 35, 24, 0.2 );
	background: #fff1f2;
}

.tgce-course-cta {
	margin-top: 2rem;
}

@media ( max-width: 767px ) {
	.tgce-card,
	.tgce-alert,
	.tgce-course-cta {
		padding: 1.1rem;
	}
}
