/**
 * TopKote Partner Login auth shell (v3 proportions / scale)
 * Soft bg + white rounded card; desktop brand left / fields right.
 * Structure: outer card → soft divider → fields (no inner outlined box).
 * Show-password eye: plugin-owned button + inline SVG (does not depend on
 * WooCommerce frontend JS injection or icon font).
 */

:root {
	--tkcc-auth-bg: #e8eef3;
	--tkcc-auth-card: #ffffff;
	--tkcc-auth-ink: #1f2a33;
	--tkcc-auth-muted: #5a6b78;
	--tkcc-auth-line: #d5dee6;
	--tkcc-auth-line-hover: #b8c6d2;
	--tkcc-auth-divider: rgba(31, 42, 51, 0.06);
	--tkcc-auth-brand: #1683c7;
	--tkcc-auth-brand-hover: #1270ab;
	--tkcc-auth-radius: 16px;
	--tkcc-auth-field-max: 30rem;
	--tkcc-auth-card-max: 960px;
	--tkcc-auth-pad-x: 3.25rem; /* ~52px — within 48–56px lock */
}

/* Soft page atmosphere — logged-out My Account + lost-password endpoints only */
body.tkcc-auth-shell-page {
	background-color: var(--tkcc-auth-bg);
}

body.tkcc-auth-shell-page .content-bg,
body.tkcc-auth-shell-page .entry-content-wrap,
body.tkcc-auth-shell-page .wp-site-blocks,
body.tkcc-auth-shell-page .site-container,
body.tkcc-auth-shell-page .content-container {
	background-color: transparent;
}

body.tkcc-auth-shell-page .entry-content-wrap > .content-wrap,
body.tkcc-auth-shell-page .entry-content > .woocommerce,
body.tkcc-auth-shell-page .woocommerce {
	background: transparent;
}

/* Auth card shell — open / spacious scale; height auto; do not fill the viewport */
.tkcc-auth-shell {
	display: block;
	width: 100%;
	max-width: var(--tkcc-auth-card-max);
	margin: 2.75rem auto 3.5rem;
	box-sizing: border-box;
	padding: 0 1rem;
}

.tkcc-auth-card {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	background: var(--tkcc-auth-card);
	border: 1px solid var(--tkcc-auth-line);
	border-radius: var(--tkcc-auth-radius);
	box-shadow: 0 10px 28px rgba(31, 42, 51, 0.06);
	overflow: hidden;
	box-sizing: border-box;
}

.tkcc-auth-brand {
	/* Logo sits with breathing room — not flush to the card top edge */
	padding: 3.25rem 2rem 2.25rem;
	border-bottom: 1px solid var(--tkcc-auth-divider);
	background: linear-gradient(165deg, #f7fafc 0%, #ffffff 70%);
}

.tkcc-auth-brand-mark {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin: 0.35rem 0 1.75rem;
}

/* Logo ~40–60% larger than 0.10.31 (was 2.5rem → 3.75–4rem) */
.tkcc-auth-brand-mark .custom-logo-link,
.tkcc-auth-brand-mark .custom-logo {
	display: inline-block;
	max-height: 3.85rem;
	width: auto;
}

.tkcc-auth-brand-mark img {
	max-height: 3.85rem;
	width: auto;
	height: auto;
}

.tkcc-auth-brand-wordmark {
	margin: 0;
	font-size: 1.85rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--tkcc-auth-brand);
	line-height: 1.15;
}

/* Premium hierarchy — ~46–48px on desktop */
.tkcc-auth-title {
	margin: 0;
	font-size: 2rem;
	font-weight: 650;
	line-height: 1.2;
	color: var(--tkcc-auth-ink);
	letter-spacing: -0.01em;
}

.tkcc-auth-subtitle {
	margin: 0.65rem 0 0;
	font-size: 0.98rem;
	line-height: 1.45;
	color: var(--tkcc-auth-muted);
	max-width: 16.5rem;
}

/* Fields column — no nested outlined card; outer card + soft divider only */
.tkcc-auth-fields {
	padding: 2.25rem 2rem 2.5rem;
	box-sizing: border-box;
	background: transparent;
	border: 0;
	box-shadow: none;
}

/* Neutralize theme / WooCommerce nested boxes inside the shell */
.tkcc-auth-shell .woocommerce form.login,
.tkcc-auth-shell .woocommerce form.lost_reset_password,
.tkcc-auth-shell form.woocommerce-form-login,
.tkcc-auth-shell form.lost_reset_password,
.tkcc-auth-shell .tkcc-auth-form,
.tkcc-auth-shell .u-columns,
.tkcc-auth-shell .u-column1,
.tkcc-auth-shell .col-1,
.tkcc-auth-shell .woocommerce-MyAccount-content,
body.tkcc-auth-shell-page .woocommerce-MyAccount-content,
body.tkcc-auth-shell-page .entry-content-wrap .content-wrap {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	outline: none !important;
}

.tkcc-auth-form {
	margin: 0;
	max-width: var(--tkcc-auth-field-max);
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.tkcc-auth-lead {
	margin: 0 0 1.35rem;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--tkcc-auth-muted);
}

.tkcc-auth-form .form-row,
.tkcc-auth-form .woocommerce-form-row {
	margin: 0 0 1.2rem;
}

.tkcc-auth-form label {
	display: block;
	margin: 0 0 0.45rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--tkcc-auth-ink);
}

.tkcc-auth-form .woocommerce-Input,
.tkcc-auth-form input.input-text,
.tkcc-auth-form input[type="text"],
.tkcc-auth-form input[type="email"],
.tkcc-auth-form input[type="password"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--tkcc-auth-line);
	border-radius: 10px;
	background: #fff;
	color: var(--tkcc-auth-ink);
	padding: 0.78rem 0.95rem;
	font-size: 1rem;
	line-height: 1.35;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tkcc-auth-form .tkcc-password-input input.input-text,
.tkcc-auth-form .tkcc-password-input input[type="password"],
.tkcc-auth-form .tkcc-password-input input[type="text"],
.tkcc-auth-form .password-input input.input-text,
.tkcc-auth-form .password-input input[type="password"],
.tkcc-auth-form .password-input input[type="text"] {
	padding-right: 2.75rem;
}

.tkcc-auth-form .woocommerce-Input:hover,
.tkcc-auth-form input.input-text:hover,
.tkcc-auth-form input[type="text"]:hover,
.tkcc-auth-form input[type="email"]:hover,
.tkcc-auth-form input[type="password"]:hover {
	border-color: var(--tkcc-auth-line-hover);
}

.tkcc-auth-form .woocommerce-Input:focus,
.tkcc-auth-form input.input-text:focus,
.tkcc-auth-form input[type="text"]:focus,
.tkcc-auth-form input[type="email"]:focus,
.tkcc-auth-form input[type="password"]:focus {
	outline: none;
	border-color: var(--tkcc-auth-brand);
	box-shadow: 0 0 0 3px rgba(22, 131, 199, 0.18);
}

/* Plugin-owned password field wrapper (div, not Woo span) — control exists in PHP. */
.tkcc-auth-form .tkcc-password-input {
	display: block;
	position: relative;
	width: 100%;
}

.tkcc-auth-form .password-input {
	display: block;
	position: relative;
	width: 100%;
}

/*
 * Root cause: after dedicated Partner Login page (0.10.35), the form is no longer
 * inside Woo's `.woocommerce` wrapper and Woo frontend JS may not load — so
 * `.show-password-input` was never injected (no icon, no hit target). Own the
 * control with inline SVG; do not depend on Woo icon font or JS injection.
 */
.tkcc-auth-shell .tkcc-show-password,
.tkcc-auth-form .tkcc-show-password {
	position: absolute;
	right: 0.45rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	margin: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #3d5566;
	opacity: 1 !important;
	visibility: visible !important;
	cursor: pointer;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color 0.15s ease;
}

.tkcc-auth-shell .tkcc-show-password:hover,
.tkcc-auth-shell .tkcc-show-password:focus-visible,
.tkcc-auth-form .tkcc-show-password:hover,
.tkcc-auth-form .tkcc-show-password:focus-visible {
	color: var(--tkcc-auth-brand);
	opacity: 1 !important;
}

.tkcc-auth-shell .tkcc-show-password .tkcc-eye-icon,
.tkcc-auth-form .tkcc-show-password .tkcc-eye-icon {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	pointer-events: none;
}

.tkcc-auth-shell .tkcc-show-password .tkcc-eye-closed,
.tkcc-auth-form .tkcc-show-password .tkcc-eye-closed {
	display: none;
}

.tkcc-auth-shell .tkcc-show-password.is-visible .tkcc-eye-open,
.tkcc-auth-form .tkcc-show-password.is-visible .tkcc-eye-open {
	display: none;
}

.tkcc-auth-shell .tkcc-show-password.is-visible .tkcc-eye-closed,
.tkcc-auth-form .tkcc-show-password.is-visible .tkcc-eye-closed {
	display: block;
}

/* If Woo still injects its button inside our wrapper on My Account reset, hide the duplicate. */
.tkcc-auth-form .tkcc-password-input .show-password-input {
	display: none !important;
}

/* Legacy Woo-injected control styling (lost-password has no password field; kept for safety). */
.tkcc-auth-shell .show-password-input,
.tkcc-auth-form .show-password-input {
	position: absolute;
	right: 0.65rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.55rem;
	height: 1.55rem;
	padding: 0;
	margin: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #3d5566;
	opacity: 1 !important;
	visibility: visible !important;
	cursor: pointer;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color 0.15s ease, opacity 0.15s ease;
}

.tkcc-auth-shell .show-password-input:hover,
.tkcc-auth-shell .show-password-input:focus-visible,
.tkcc-auth-form .show-password-input:hover,
.tkcc-auth-form .show-password-input:focus-visible {
	color: var(--tkcc-auth-brand);
	opacity: 1 !important;
}

.tkcc-auth-shell .show-password-input::before,
.tkcc-auth-form .show-password-input::before {
	content: none !important;
}

.tkcc-auth-shell .show-password-input::after,
.tkcc-auth-form .show-password-input::after {
	content: "" !important;
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	font-family: inherit !important;
	speak: never;
}

.tkcc-auth-shell .show-password-input.display-password::after,
.tkcc-auth-form .show-password-input.display-password::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94'/%3E%3Cpath d='M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19'/%3E%3Cpath d='M14.12 14.12a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94'/%3E%3Cpath d='M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19'/%3E%3Cpath d='M14.12 14.12a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

/* Log In + Remember me on one horizontal row; Lost password stays below */
.tkcc-auth-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.15rem 1.5rem;
	margin-top: 0.65rem !important;
	margin-bottom: 0 !important;
}

.tkcc-auth-form .woocommerce-form-login__rememberme {
	margin: 0;
	order: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
}

.tkcc-auth-form .woocommerce-button,
.tkcc-auth-form .woocommerce-Button,
.tkcc-auth-form button[type="submit"] {
	order: 1;
	appearance: none;
	border: 0;
	border-radius: 10px;
	background: var(--tkcc-auth-brand);
	color: #fff !important;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 0.78rem 1.35rem;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.tkcc-auth-form .woocommerce-button:hover,
.tkcc-auth-form .woocommerce-Button:hover,
.tkcc-auth-form button[type="submit"]:hover {
	background: var(--tkcc-auth-brand-hover);
	transform: translateY(-1px);
}

.tkcc-auth-form .woocommerce-button:focus-visible,
.tkcc-auth-form .woocommerce-Button:focus-visible,
.tkcc-auth-form button[type="submit"]:focus-visible {
	outline: 2px solid var(--tkcc-auth-brand);
	outline-offset: 2px;
}

.tkcc-auth-form .lost_password,
.tkcc-auth-form .woocommerce-LostPassword {
	margin: 1.35rem 0 0;
}

.tkcc-auth-form .lost_password a,
.tkcc-auth-form .woocommerce-LostPassword a {
	color: var(--tkcc-auth-brand);
	text-decoration: none;
	font-size: 0.92rem;
	border-bottom: 1px solid transparent;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.tkcc-auth-form .lost_password a:hover,
.tkcc-auth-form .woocommerce-LostPassword a:hover {
	color: var(--tkcc-auth-brand-hover);
	border-bottom-color: var(--tkcc-auth-brand-hover);
}

@media (min-width: 768px) {
	.tkcc-auth-shell {
		margin: 3.5rem auto 4rem;
		padding: 0 1.25rem;
	}

	.tkcc-auth-card {
		/* ~45% brand / ~55% login — open premium scale */
		grid-template-columns: minmax(14rem, 0.45fr) minmax(20rem, 0.55fr);
		align-items: stretch;
	}

	.tkcc-auth-brand {
		/* Extra top inset so logo is not pinned flush; vertical balance */
		padding: 4.25rem var(--tkcc-auth-pad-x) 3.25rem;
		border-bottom: 0;
		border-right: 1px solid var(--tkcc-auth-divider);
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}

	.tkcc-auth-brand-mark {
		margin: 0 0 2rem;
	}

	.tkcc-auth-brand-mark .custom-logo-link,
	.tkcc-auth-brand-mark .custom-logo,
	.tkcc-auth-brand-mark img {
		max-height: 4rem;
	}

	.tkcc-auth-title {
		font-size: 2.875rem; /* 46px — keep oversized Welcome back. */
		line-height: 1.15;
	}

	.tkcc-auth-subtitle {
		margin-top: 0.75rem;
		font-size: 1rem;
		max-width: 16.5rem;
	}

	.tkcc-auth-fields {
		padding: 3.25rem var(--tkcc-auth-pad-x) 3.25rem;
		display: flex;
		align-items: center;
	}

	.tkcc-auth-form {
		width: 100%;
		max-width: var(--tkcc-auth-field-max);
	}

	.tkcc-auth-actions {
		gap: 1.25rem 1.75rem;
		margin-top: 0.85rem !important;
	}

	.tkcc-auth-form .lost_password,
	.tkcc-auth-form .woocommerce-LostPassword {
		margin-top: 1.5rem;
	}
}

/* Do not restyle logged-in My Account / portal chrome via this file.
   Enqueue is gated to auth-shell pages only. */
