/* Kimbodo Google SSO - sign-in / sign-up shortcode */
.kimbodo-sso {
	width: min(100%, 438px);
	margin: 0 auto;
	padding: 1.25rem 0 2rem;
	color: #e5edf8;
}

.kimbodo-sso,
.kimbodo-sso * {
	box-sizing: border-box;
}

.kimbodo-sso__google {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	width: 100%;
	min-height: 52px;
	padding: 0.8rem 1.25rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	border-radius: 10px;
	background: #ffffff;
	color: #111827 !important;
	border: 1px solid rgba(226, 232, 240, 0.92);
	box-shadow: 0 14px 30px rgba(2, 6, 23, 0.2);
	transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.kimbodo-sso__google:hover,
.kimbodo-sso__google:focus {
	background: #ffffff;
	color: #111827 !important;
	border-color: #ffffff;
	box-shadow: 0 18px 38px rgba(2, 6, 23, 0.28);
	transform: translateY(-1px);
}


.kimbodo-sso__google::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/%3E%3Cpath fill='%2334A853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.84 14.1c-.22-.66-.35-1.36-.35-2.1s.13-1.44.35-2.1V7.06H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.94l3.66-2.84z'/%3E%3Cpath fill='%23EA4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.06L5.84 9.9C6.71 7.31 9.14 5.38 12 5.38z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kimbodo-sso__google:focus-visible,
.kimbodo-sso__form input:focus-visible,
.kimbodo-sso__form .button-primary:focus-visible,
.kimbodo-sso__alt a:focus-visible {
	outline: 2px solid #60a5fa;
	outline-offset: 3px;
}

.kimbodo-sso__google-icon {
	display: none;
}

.kimbodo-sso__divider {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 1.35rem 0 1.55rem;
	color: #9ca8bd;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.kimbodo-sso__divider::before,
.kimbodo-sso__divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(148, 163, 184, 0.26);
}

.kimbodo-sso__form {
	padding: 2.15rem 2.25rem 2rem;
	border: 1px solid rgba(148, 163, 184, 0.28);
	border-radius: 18px;
	background: rgba(15, 23, 42, 0.72);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(14px);
}

.kimbodo-sso__form p {
	margin: 0 0 1.45rem;
}

.kimbodo-sso__form p:nth-last-child(2) {
	margin-bottom: 1rem;
}

.kimbodo-sso__form p:last-child {
	margin-bottom: 0;
}

.kimbodo-sso__form label {
	display: block;
	margin-bottom: 0.65rem;
	color: #aeb9cc;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.kimbodo-sso__form input[type="text"],
.kimbodo-sso__form input[type="password"],
.kimbodo-sso__form input[type="text"][name="pwd"] {
	width: 100%;
	min-height: 50px;
	padding: 0.8rem 1rem;
	margin: 0;
	border: 1px solid rgba(203, 213, 225, 0.34);
	border-radius: 10px;
	background: rgba(2, 6, 23, 0.28);
	color: #f8fafc;
	box-shadow: none;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.kimbodo-sso__form input[type="text"]:focus,
.kimbodo-sso__form input[type="password"]:focus,
.kimbodo-sso__form input[type="text"][name="pwd"]:focus {
	border-color: rgba(96, 165, 250, 0.78);
	background: rgba(15, 23, 42, 0.88);
	box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.13);
}

.kimbodo-sso__password-wrap {
	position: relative;
	display: block;
}

.kimbodo-sso__password-wrap input {
	padding-right: 3.2rem;
}

.kimbodo-sso__password-toggle {
	position: absolute !important;
	top: 50% !important;
	right: 0.8rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2rem !important;
	height: 2rem !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #9ca8bd !important;
	font-size: 0 !important;
	line-height: 1 !important;
	cursor: pointer;
	transform: translateY(-50%) !important;
	transition: color 0.15s ease, opacity 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.kimbodo-sso__password-toggle:hover,
.kimbodo-sso__password-toggle:focus-visible {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	color: #f8fafc !important;
	opacity: 1;
	outline: none;
}

.kimbodo-sso__password-toggle:focus-visible {
	outline: 2px solid rgba(96, 165, 250, 0.75);
	outline-offset: 2px;
}

.kimbodo-sso__password-toggle svg {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	pointer-events: none;
}

.kimbodo-sso__password-toggle .kimbodo-sso__password-eye {
	display: block !important;
}

.kimbodo-sso__password-toggle .kimbodo-sso__password-eye-off {
	display: none !important;
}

.kimbodo-sso__password-toggle[aria-pressed="true"] .kimbodo-sso__password-eye {
	display: none !important;
}

.kimbodo-sso__password-toggle[aria-pressed="true"] .kimbodo-sso__password-eye-off {
	display: block !important;
}

.kimbodo-sso__form input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0 0.85rem 0 0;
	vertical-align: -3px;
	accent-color: #2563eb;
}

.kimbodo-sso__remember-row {
	padding-left: 0.25rem;
}

.kimbodo-sso__form p:has(input[type="checkbox"]) label {
	display: inline-flex;
	align-items: center;
	margin: 0;
	color: #aeb9cc;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
}

.kimbodo-sso__form .button-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	min-height: 52px;
	padding: 0.75rem 1.25rem;
	background: #f8fafc;
	color: #0f172a;
	border: 0;
	border-radius: 10px;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
	transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.kimbodo-sso__form .button-primary:hover,
.kimbodo-sso__form .button-primary:focus {
	background: #ffffff;
	color: #0f172a;
	box-shadow: 0 20px 42px rgba(0, 0, 0, 0.34);
	transform: translateY(-1px);
}

.kimbodo-sso__error {
	color: #fecaca;
	background: rgba(127, 29, 29, 0.42);
	border: 1px solid rgba(248, 113, 113, 0.32);
	padding: 0.85rem 1rem;
	border-radius: 12px;
	margin-bottom: 1rem;
}

.kimbodo-sso__alt {
	text-align: center;
	margin-top: 1.45rem;
	font-size: 0.95rem;
}

.kimbodo-sso__alt a {
	color: #86efac;
	font-weight: 700;
	text-decoration: none;
}

.kimbodo-sso__alt a:hover,
.kimbodo-sso__alt a:focus {
	color: #bbf7d0;
	text-decoration: underline;
}


.kimbodo-sso__create-prompt {
	margin: 1rem 0 0;
	text-align: center;
	color: #aeb9cc;
	font-size: 0.95rem;
}

.kimbodo-sso__create-prompt a {
	color: #93c5fd;
	font-weight: 800;
	text-decoration: none;
}

.kimbodo-sso__create-prompt a:hover,
.kimbodo-sso__create-prompt a:focus {
	color: #bfdbfe;
	text-decoration: underline;
}


html.kimbodo-sso-modal-open {
	overflow: hidden;
}

.kimbodo-sso__modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
}

.kimbodo-sso__modal:not(.is-open) {
	display: none !important;
}

.kimbodo-sso__modal.is-open {
	display: flex;
}

.kimbodo-sso__modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(2, 6, 23, 0.78);
	backdrop-filter: blur(10px);
}

.kimbodo-sso__modal-card {
	position: relative;
	z-index: 1;
	width: min(100%, 420px);
	padding: 1.8rem;
	border: 1px solid rgba(148, 163, 184, 0.28);
	border-radius: 18px;
	background: #0f172a;
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
	color: #e5edf8;
}

.kimbodo-sso__modal-card h3 {
	margin: 0 0 0.7rem;
	color: #f8fafc;
	font-size: 1.45rem;
	line-height: 1.2;
}

.kimbodo-sso__modal-card p {
	margin: 0 0 1.1rem;
	color: #aeb9cc;
	font-size: 0.95rem;
	line-height: 1.5;
}

.kimbodo-sso__modal-close {
	position: absolute;
	top: 0.85rem;
	right: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	color: #cbd5e1;
	line-height: 1;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.kimbodo-sso__modal-close svg {
	width: 1.05rem;
	height: 1.05rem;
}

.kimbodo-sso__modal-close:hover,
.kimbodo-sso__modal-close:focus {
	background: rgba(148, 163, 184, 0.14);
	color: #ffffff;
}

.kimbodo-sso__modal-message {
	padding: 0.8rem 0.9rem;
	border-radius: 12px;
	font-weight: 700;
}

.kimbodo-sso__modal-message--success {
	border: 1px solid rgba(74, 222, 128, 0.28);
	background: rgba(22, 101, 52, 0.28);
	color: #bbf7d0 !important;
}

.kimbodo-sso__modal-message--error {
	border: 1px solid rgba(248, 113, 113, 0.32);
	background: rgba(127, 29, 29, 0.42);
	color: #fecaca !important;
}

.kimbodo-sso__modal-card label {
	display: block;
	margin-bottom: 0.65rem;
	color: #aeb9cc;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.kimbodo-sso__modal-card input[type="email"] {
	width: 100%;
	min-height: 50px;
	padding: 0.8rem 1rem;
	margin: 0 0 1rem;
	border: 1px solid rgba(203, 213, 225, 0.34);
	border-radius: 10px;
	background: rgba(2, 6, 23, 0.28);
	color: #f8fafc;
	box-shadow: none;
}

.kimbodo-sso__modal-card input[type="email"]:focus {
	border-color: rgba(96, 165, 250, 0.78);
	box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.13);
	outline: none;
}

.kimbodo-sso__modal-card .button-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	min-height: 50px;
	padding: 0.75rem 1.25rem;
	border: 0;
	border-radius: 10px;
	background: #f8fafc !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	font-size: 1rem;
	font-weight: 800;
	cursor: pointer;
}

.kimbodo-sso__modal-card .button-primary:hover,
.kimbodo-sso__modal-card .button-primary:focus {
	background: #ffffff !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
}


body.page-id-23155 .sidebar.widget_area.right.sidebar_below.sidebar_default.scheme_dark {
	display: none !important;
}

body.page-id-23155 .content_wrap,
body.page-id-23155.sidebar_show .content {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.page-id-23155 .content {
	display: flex;
	justify-content: center;
}

body.page-id-23155 .elementor-23155,
body.page-id-23155 .elementor-element-645234e7,
body.page-id-23155 .elementor-element-645234e7 > .elementor-container {
	width: min(100%, 760px) !important;
	max-width: 760px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.page-id-23155 .elementor-23155 {
	margin-top: -2rem !important;
}

body.page-id-23155 .elementor-element-3151d2d8,
body.page-id-23155 .elementor-element-3151d2d8 > .elementor-widget-container,
body.page-id-23155 .kimbodo-sso {
	width: min(100%, 438px) !important;
	max-width: 438px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.page-id-23155 .elementor-element-3151d2d8,
body.page-id-23155 .elementor-element-3151d2d8 > .elementor-widget-container {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page-id-23155 .kimbodo-sso {
	padding-top: 0 !important;
}

body.page-id-23155 .elementor-element-77ad02c {
	display: none !important;
}

body:has(.kimbodo-sso) a[href*="/portal-home"]:not(.kimbodo-sso a),
body:has(.kimbodo-sso) a[href*="/my-account"]:not(.kimbodo-sso a) {
	display: none !important;
}

@media (max-width: 640px) {
	.kimbodo-sso {
		width: 100%;
		padding-inline: 1rem;
	}

	.kimbodo-sso__form {
		padding: 1.5rem 1.25rem;
		border-radius: 16px;
	}
}
