:root {
	--tlca-primary: #5b5ce2;
	--tlca-primary-dark: #4243bf;
	--tlca-text: #13182b;
	--tlca-muted: #6e7487;
	--tlca-border: #e4e7f0;
	--tlca-surface: #ffffff;
	--tlca-bg: #f5f7fc;
}

.tlca-page-wrap {
	min-height: 76vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 20px;
	box-sizing: border-box;
	background:
		radial-gradient(circle at 10% 20%, rgba(91, 92, 226, .10), transparent 28%),
		radial-gradient(circle at 90% 85%, rgba(27, 187, 155, .09), transparent 26%),
		linear-gradient(135deg, #f9faff 0%, #f3f6fb 100%);
}

.tlca-gate-shell {
	position: relative;
	width: min(100%, 960px);
	margin: 0 auto;
	font-family: inherit;
}

.tlca-gate-shell *,
.tlca-gate-shell *::before,
.tlca-gate-shell *::after { box-sizing: border-box; }

.tlca-gate-glow {
	position: absolute;
	border-radius: 999px;
	filter: blur(5px);
	pointer-events: none;
}

.tlca-gate-glow-one {
	width: 180px;
	height: 180px;
	top: -42px;
	right: -42px;
	background: rgba(91, 92, 226, .12);
}

.tlca-gate-glow-two {
	width: 140px;
	height: 140px;
	bottom: -32px;
	left: -32px;
	background: rgba(27, 187, 155, .10);
}

.tlca-card {
	position: relative;
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	min-height: 570px;
	overflow: hidden;
	background: var(--tlca-surface);
	border: 1px solid rgba(226, 229, 239, .9);
	border-radius: 28px;
	box-shadow: 0 28px 80px rgba(28, 36, 70, .14);
}

.tlca-course-panel {
	position: relative;
	min-height: 100%;
	padding: 44px;
	background:
		linear-gradient(145deg, #292a74 0%, #5657d9 52%, #7778f0 100%);
	background-size: cover;
	background-position: center;
	color: #fff;
}

.tlca-course-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(155deg, rgba(24, 25, 74, .88), rgba(76, 77, 205, .80));
}

.tlca-course-panel-content {
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.tlca-access-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 13px;
	margin-bottom: 44px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	background: rgba(255,255,255,.10);
	backdrop-filter: blur(8px);
	font-size: 13px;
	font-weight: 700;
}

.tlca-access-badge i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #63f0b2;
	box-shadow: 0 0 0 5px rgba(99, 240, 178, .12);
}

.tlca-lock-mark {
	width: 92px;
	height: 92px;
	display: grid;
	place-items: center;
	margin-bottom: 28px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 26px;
	background: rgba(255,255,255,.12);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 18px 40px rgba(19, 20, 71, .22);
}

.tlca-lock-mark svg {
	width: 52px;
	height: 52px;
	fill: none;
	stroke: #fff;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tlca-course-panel p {
	margin: 0 0 8px;
	color: rgba(255,255,255,.70);
	font-size: 14px;
	font-weight: 700;
}

.tlca-course-panel h3 {
	margin: 0;
	max-width: 340px;
	color: #fff;
	font-size: clamp(25px, 3vw, 36px);
	line-height: 1.4;
	font-weight: 800;
}

.tlca-form-panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 54px 58px;
	background: #fff;
}

.tlca-mobile-lock { display: none; }

.tlca-kicker {
	margin-bottom: 8px;
	color: var(--tlca-primary);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
}

.tlca-form-panel h2 {
	margin: 0 0 12px;
	color: var(--tlca-text);
	font-size: clamp(29px, 4vw, 40px);
	line-height: 1.3;
	font-weight: 850;
}

.tlca-intro {
	margin: 0 0 30px;
	color: var(--tlca-muted);
	font-size: 15px;
	line-height: 1.9;
}

.tlca-code-form > label {
	display: block;
	margin-bottom: 9px;
	color: #31364a;
	font-size: 14px;
	font-weight: 750;
}

.tlca-input-group {
	position: relative;
	margin-bottom: 14px;
}

.tlca-input-icon {
	position: absolute;
	top: 50%;
	right: 17px;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	color: #8e94a8;
	pointer-events: none;
}

.tlca-input-icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tlca-input {
	width: 100%;
	height: 60px;
	padding: 0 54px 0 18px;
	border: 1.5px solid var(--tlca-border);
	border-radius: 14px;
	background: #fbfcff;
	color: var(--tlca-text);
	font-family: inherit;
	font-size: 17px;
	font-weight: 750;
	text-align: left;
	direction: ltr;
	letter-spacing: .06em;
	transition: border-color .2s, box-shadow .2s, background .2s;
}

.tlca-input::placeholder { color: #a9aebe; font-weight: 500; letter-spacing: 0; }

.tlca-input:focus {
	outline: none;
	border-color: var(--tlca-primary);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(91, 92, 226, .12);
}

.tlca-button {
	position: relative;
	width: 100%;
	min-height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 20px;
	border: 0;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--tlca-primary), #7778ef);
	box-shadow: 0 14px 28px rgba(91, 92, 226, .24);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
	transition: transform .2s, box-shadow .2s, filter .2s;
}

.tlca-button svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transform: rotate(180deg);
}

.tlca-button:hover,
.tlca-button:focus { transform: translateY(-1px); box-shadow: 0 18px 34px rgba(91, 92, 226, .30); filter: brightness(1.02); }
.tlca-button:disabled { cursor: wait; opacity: .88; transform: none; }

.tlca-button-loader {
	display: none;
	width: 20px;
	height: 20px;
	border: 2px solid rgba(255,255,255,.38);
	border-top-color: #fff;
	border-radius: 50%;
	animation: tlca-spin .8s linear infinite;
}

.tlca-code-form.is-loading .tlca-button-loader { display: inline-block; }
.tlca-code-form.is-loading .tlca-button svg { display: none; }
@keyframes tlca-spin { to { transform: rotate(360deg); } }

.tlca-error {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 20px;
	padding: 13px 14px;
	border: 1px solid #f4c7ca;
	border-radius: 12px;
	background: #fff6f6;
	color: #a3262f;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
}

.tlca-error .dashicons { margin-top: 2px; }

.tlca-benefits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 24px;
}

.tlca-benefits span {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 10px 5px;
	border-radius: 10px;
	background: #f7f8fc;
	color: #61677b;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
}

.tlca-benefits i { color: var(--tlca-primary); font-size: 18px; width: 18px; height: 18px; }

.tlca-note {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	margin: 18px 0 0 !important;
	color: #8a90a2;
	font-size: 12px;
	line-height: 1.7;
}
.tlca-note .dashicons { flex: 0 0 auto; margin-top: 2px; font-size: 16px; width: 16px; height: 16px; }

@media (max-width: 780px) {
	.tlca-page-wrap { padding: 28px 14px; }
	.tlca-card { grid-template-columns: 1fr; min-height: auto; border-radius: 22px; }
	.tlca-course-panel { min-height: 190px; padding: 24px; }
	.tlca-course-panel-content { justify-content: flex-end; }
	.tlca-access-badge { margin-bottom: 22px; }
	.tlca-lock-mark { display: none; }
	.tlca-course-panel h3 { font-size: 24px; }
	.tlca-form-panel { padding: 34px 24px 30px; }
	.tlca-form-panel h2 { font-size: 30px; }
}

@media (max-width: 480px) {
	.tlca-course-panel { min-height: 155px; }
	.tlca-access-badge { font-size: 11px; }
	.tlca-form-panel { padding: 28px 18px 24px; }
	.tlca-input { height: 56px; }
	.tlca-button { min-height: 55px; }
	.tlca-benefits { grid-template-columns: 1fr 1fr 1fr; }
	.tlca-benefits span { font-size: 10px; }
}
