/**
 * Carina login — matches CarinaDashboard/login.php glass design.
 */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");

body.bcn-login-shell,
body.bcn-login-shell .mepr-pro-template,
body.bcn-login-shell #page,
body.bcn-login-shell .app-layout,
body.bcn-login-shell .guest-layout,
body.bcn-login-shell #content,
body.bcn-login-shell #primary,
body.bcn-login-shell .site-content,
body.bcn-login-shell .entry-content {
	background: transparent !important;
	min-height: 100vh;
	font-family: "Inter", system-ui, sans-serif !important;
	-webkit-font-smoothing: antialiased;
	color: #fff !important;
}

body.bcn-login-shell {
	position: relative;
	min-height: 100vh;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #4a1d8a 0%, #7b2fd0 45%, #9b3fd4 100%) !important;
	overflow-x: hidden;
	overflow-y: auto;
}

body.bcn-login-shell::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	background: url("carina/login-bg.png") center / cover no-repeat;
	opacity: 0.85;
	pointer-events: none;
}

body.bcn-login-shell #masthead,
body.bcn-login-shell .site-header,
body.bcn-login-shell .account-header,
body.bcn-login-shell header.account-header,
body.bcn-login-shell .site-footer,
body.bcn-login-shell #colophon,
body.bcn-login-shell .mepr-rl-navbar,
body.bcn-login-shell .guest-layout > header,
body.bcn-login-shell .app-layout > header,
body.bcn-login-shell .mepr-pro-template > header,
body.bcn-login-shell .wp-site-blocks > header,
body.bcn-login-shell header.wp-block-template-part,
body.bcn-login-shell .elementor-location-header {
	display: none !important;
}

body.bcn-login-shell #page,
body.bcn-login-shell .app-layout,
body.bcn-login-shell .guest-layout,
body.bcn-login-shell #content,
body.bcn-login-shell #primary,
body.bcn-login-shell .site-main,
body.bcn-login-shell article,
body.bcn-login-shell .entry-content,
body.bcn-login-shell .mepr-pro-template {
	position: relative;
	z-index: 1;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

body.bcn-login-shell .entry-header,
body.bcn-login-shell .entry-title,
body.bcn-login-shell .page-title,
body.bcn-login-shell .post-thumbnail {
	display: none !important;
}

/* Hide ReadyLaunch chrome — Carina card replaces it */
body.bcn-login-shell #mepro-login-hero,
body.bcn-login-shell .mepro-boxed,
body.bcn-login-shell .mepro-login-hero-image,
body.bcn-login-shell .mepr-unauthorized-message,
body.bcn-login-shell .mepr-unauthorized-excerpt,
body.bcn-login-shell .mp_wrapper,
body.bcn-login-shell #mepr-template-login {
	display: none !important;
}

body.bcn-login-shell .bcn-login,
body.bcn-login-shell .bcn-login-card,
body.bcn-login-shell .bcn-login-form {
	display: flex !important;
}

body.bcn-login-shell .bcn-login-card {
	flex-direction: column;
}

body.bcn-login-shell .bcn-login-form {
	flex-direction: column;
}

.bcn-login {
	position: relative;
	z-index: 2;
	width: 100%;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
}

.bcn-login-card {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 720px;
	padding: 48px 56px 40px;
	border-radius: 32px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
	box-sizing: border-box;
	color: #fff;
}

.bcn-login-brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-decoration: none;
	color: #fff;
}

.bcn-login-brand__mark,
.bcn-login-brand__text {
	display: none !important;
}

.bcn-login-brand__logo {
	display: block;
	width: auto;
	height: 48px;
	max-width: min(280px, 70vw);
	object-fit: contain;
}

.bcn-login-form {
	width: 100%;
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
}

.bcn-login-form label {
	font-size: 18px;
	font-weight: 500;
	background: linear-gradient(180deg, var(--bcn-glow), #fff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	margin: 0;
}

.bcn-login-field {
	position: relative;
	display: flex;
	align-items: center;
}

.bcn-login-field input {
	width: 100% !important;
	height: 64px !important;
	padding: 0 56px 0 28px !important;
	border-radius: 32px !important;
	border: 1px solid rgba(255, 255, 255, 0.45) !important;
	background: rgba(0, 0, 0, 0.18) !important;
	outline: none !important;
	font-size: 18px !important;
	font-family: inherit !important;
	font-weight: 400 !important;
	color: #fff !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

.bcn-login-field input::placeholder {
	color: rgba(255, 255, 255, 0.45);
}

.bcn-login-field input:focus {
	border-color: #fff !important;
	box-shadow: none !important;
}

.bcn-login-toggle {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	padding: 0;
	margin: 0;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.88);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
	appearance: none;
	-webkit-appearance: none;
}

.bcn-login-toggle:hover,
.bcn-login-toggle:focus-visible {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	outline: none;
}

.bcn-login-toggle.is-visible {
	color: #fff;
	background: rgba(255, 255, 255, 0.2);
}

.bcn-login-toggle img,
.bcn-login-toggle svg {
	width: 22px;
	height: 22px;
	display: block;
	pointer-events: none;
	opacity: 0.95;
	filter: brightness(0) invert(1);
}

.bcn-login-forgot {
	font-size: 16px;
	color: #fff !important;
	margin: 4px 0 8px;
	text-decoration: none;
	font-weight: 400;
	align-self: flex-start;
}

.bcn-login-forgot:hover,
.bcn-login-forgot:focus {
	color: #fff !important;
	text-decoration: underline;
}

.bcn-login-submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: 56px !important;
	margin: 0 !important;
	padding: 0 24px !important;
	border: none !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #55339e !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.bcn-login-submit:hover,
.bcn-login-submit:focus {
	transform: translateY(-1px);
	opacity: 0.95;
	outline: none;
}

.bcn-login-note {
	text-align: center;
	font-size: 16px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.54);
	margin: 8px 0 0;
	line-height: 1.4;
}

.bcn-login-error {
	background: rgba(239, 68, 68, 0.25);
	border: 1px solid rgba(239, 68, 68, 0.5);
	color: #fff;
	padding: 12px 16px;
	border-radius: 14px;
	font-size: 14px;
	line-height: 1.4;
	width: 100%;
	box-sizing: border-box;
}

.bcn-login-error ul {
	margin: 0;
	padding-left: 1.1em;
}

@media (max-width: 640px) {
	.bcn-login {
		padding: 16px;
	}

	.bcn-login-card {
		padding: 32px 22px 28px;
		gap: 28px;
		border-radius: 24px;
	}

	.bcn-login-brand__logo {
		height: 40px;
	}

	.bcn-login-form label {
		font-size: 16px;
	}

	.bcn-login-field input {
		height: 56px !important;
		font-size: 16px !important;
		padding: 0 48px 0 22px !important;
	}

	.bcn-login-submit {
		height: 52px !important;
		font-size: 16px !important;
	}

	.bcn-login-note {
		font-size: 14px;
	}
}
