@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Jost:wght@400;500;600&display=swap");

html:has(.for-login) {
	min-height: 100%;
	background: #f7f5f2 !important;
}

body:has(.for-login) {
	min-height: 100vh;
	background: #f7f5f2 !important;
	font-family: Jost, system-ui, sans-serif;
	color: #1a1a2e;
}

body:has(.for-login) .navbar,
body:has(.for-login) .web-footer,
body:has(.for-login) footer {
	display: none;
}

body:has(.for-login) main,
body:has(.for-login) .page-container,
body:has(.for-login) .page-content,
body:has(.for-login) .login-wrapper,
body:has(.for-login) .login-content {
	background: #f7f5f2 !important;
	background-image: none !important;
}

body:has(.for-login) .container,
body:has(.for-login) .container-sm,
body:has(.for-login) .container-md,
body:has(.for-login) .container-lg,
body:has(.for-login) .container-xl,
body:has(.for-login) .container-fluid {
	width: 100% !important;
	max-width: none !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	background: #f7f5f2 !important;
}

body:has(.for-login) .page_content {
	width: 100vw !important;
	max-width: none !important;
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	margin: 0 !important;
	background: #f7f5f2 !important;
	background-image: none !important;
}

body:has(.for-login) .page_content > h1,
body:has(.for-login) .page_content > h2,
body:has(.for-login) .page_content > h3,
body:has(.for-login) .page_content > h4 {
	display: none;
}

body:has(.for-login) .page_content > div > h1,
body:has(.for-login) .page_content > div > h2,
body:has(.for-login) .page_content > div > h3,
body:has(.for-login) .page_content > div > h4 {
	display: none;
}

body:has(.for-login) .for-login {
	box-sizing: border-box;
	width: min(calc(100vw - 2rem), 30rem) !important;
	max-width: 30rem !important;
	margin: 0 !important;
}

body:has(.for-login) .page-card {
	box-sizing: border-box;
	border: 1px solid rgba(26, 26, 46, 0.08);
	border-radius: 0;
	background: #ffffff !important;
	background-image: none !important;
	box-shadow: 0 20px 56px rgba(26, 26, 46, 0.09);
	padding: clamp(2rem, 3vw, 2.5rem) !important;
	width: 100% !important;
	max-width: 30rem !important;
}

body:has(.for-login) .login-content.page-card {
	width: min(calc(100vw - 2rem), 30rem) !important;
	max-width: 30rem !important;
}

body:has(.for-login) .page-card-head {
	padding-top: 0.25rem;
	text-align: left;
}

body:has(.for-login) section.for-login > .page-card-head {
	display: none;
}

body:has(.for-login) .page-card-head img {
	display: none;
}

body:has(.for-login) .page-card-head h4 {
	margin-top: 1.35rem;
	color: #1a1a2e;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0;
}

body:has(.for-login) .page-card-head .text-muted,
body:has(.for-login) .page-card-head p,
body:has(.for-login) .login-content > p {
	color: rgba(26, 26, 46, 0.55);
	font-size: 0.86rem;
	line-height: 1.55;
}

body:has(.for-login) .page-card-head .text-muted {
	display: none;
}

.optima-login-brand {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.65rem;
	padding-bottom: 1.15rem;
	border-bottom: 1px solid rgba(26, 26, 46, 0.08);
}

.optima-login-brand img {
	display: block;
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.optima-login-name {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	color: #1a1a2e;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.45rem;
	font-weight: 500;
	line-height: 1;
}

.optima-login-product {
	color: #8a3a3e;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
}

body:has(.for-login) label {
	color: #1a1a2e;
	font-size: 0.78rem;
	font-weight: 600;
}

body:has(.for-login) .form-control {
	border-radius: 0;
	border: 1px solid rgba(26, 26, 46, 0.12);
	background: #f7f5f2;
	color: #1a1a2e;
	box-shadow: none;
	min-height: 2.85rem;
	width: 100%;
}

body:has(.for-login) input,
body:has(.for-login) .form-input,
body:has(.for-login) .input-with-feedback {
	border-radius: 0 !important;
}

body:has(.for-login) .form-control:focus {
	border-color: #c1666b;
	box-shadow: 0 0 0 2px rgba(193, 102, 107, 0.12);
}

body:has(.for-login) .btn-primary,
body:has(.for-login) button[type="submit"] {
	border-radius: 0;
	border-color: #1a1a2e;
	background: #1a1a2e;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0;
	min-height: 2.9rem;
	width: 100%;
}

body:has(.for-login) .btn-primary,
body:has(.for-login) .btn-login {
	background: #1a1a2e !important;
	border-color: #1a1a2e !important;
	color: #fff !important;
}

body:has(.for-login) .btn-primary:hover,
body:has(.for-login) button[type="submit"]:hover {
	border-color: #0f2a55;
	background: #0f2a55;
}

body:has(.for-login) .btn:not(.btn-primary) {
	border-radius: 0;
	background: #f7f5f2;
	color: #1a1a2e;
}

body:has(.for-login) .btn-frappe,
body:has(.for-login) .social-login-key,
body:has(.for-login) .btn-login-option {
	border-radius: 0 !important;
	border: 1px solid rgba(26, 26, 46, 0.08) !important;
	background: #f7f5f2 !important;
	color: #1a1a2e !important;
	font-weight: 600;
	min-height: 2.75rem;
	width: 100%;
}

body:has(.for-login) .btn-frappe svg,
body:has(.for-login) .btn-frappe img {
	filter: grayscale(1);
}

body:has(.for-login) .login-divider,
body:has(.for-login) .social-logins .text-muted,
body:has(.for-login) .login-with-email-link + .text-muted {
	color: rgba(26, 26, 46, 0.45) !important;
}

body:has(.for-login) .login-divider {
	margin: 0.75rem 0 !important;
	font-size: 0.78rem;
	line-height: 1;
}

body:has(.for-login) a {
	color: #8a3a3e;
}

body:has(.for-login) .forgot-password-message {
	text-align: right;
}

body:has(.for-login) .forgot-password-message a {
	font-size: 0.84rem;
}

@media (max-width: 520px) {
	body:has(.for-login) .page_content {
		align-items: start;
		padding: 2rem 1rem;
	}

	body:has(.for-login) .page-card {
		box-shadow: none;
		padding: 1.5rem !important;
	}
}
