/*
Theme Name: myLabDesk
Theme URI: https://mylabdesk.example/
Description: Standalone WordPress theme for the myLabDesk React marketplace experience.
Version: 3.12.2
Requires at least: 6.4
Requires PHP: 8.0
Author: myLabDesk
Text Domain: mylabdesk-horizon
*/

html,
body {
	margin: 0;
	min-height: 100%;
	background: #ffffff;
}

#root {
	min-height: 100vh;
}

/* The React app includes a legacy footer; the theme below provides the single
   official site footer with the managed legal links. */
#root > footer {
	display: none !important;
}

/* Replaces the React text mark at the existing top-left header position. */
#root header > div > div > a:first-child {
	width: clamp(14.88rem, 13vw, 15.84rem) !important;
	height: 3.75rem;
	min-width: 14.88rem;
	background: url("assets/mylabdesk-logo-header-cropped.png") left center / contain no-repeat;
}

#root header > div > div > a:first-child > * {
	display: none !important;
}

@media (max-width: 640px) {
	#root header > div > div > a:first-child {
		width: 10.8rem !important;
		min-width: 10.8rem;
		height: 2.65rem;
	}
}

@media (min-width: 1024px) {
	#root header > div > div > a:first-child {
		margin-left: 7rem;
	}

	#root header > div > div > nav {
		transform: translateX(2rem);
	}
}

/* Homepage logo: revealed from left to right, then yields to the app. */
.mylabdesk-logo-intro {
	display: none;
}

.mylabdesk-logo-intro--active {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	padding: 2rem;
	background: #fff;
	animation: mylabdesk-logo-intro-in .18s ease-out both;
}

.mylabdesk-logo-intro__reveal {
	width: min(22rem, 72vw);
	clip-path: inset(0 100% 0 0);
	animation: mylabdesk-logo-wipe .72s cubic-bezier(.22, 1, .36, 1) .08s forwards;
}

.mylabdesk-logo-intro__reveal img {
	display: block;
	width: 100%;
	height: auto;
}

.mylabdesk-logo-intro--leaving {
	animation: mylabdesk-logo-intro-out .35s ease-in forwards;
}

@keyframes mylabdesk-logo-wipe {
	to { clip-path: inset(0 0 0 0); }
}

@keyframes mylabdesk-logo-intro-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes mylabdesk-logo-intro-out {
	to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.mylabdesk-logo-intro--active { display: none; }
}

.mylabdesk-wp-page {
	max-width: 76rem;
	margin: 0 auto;
	padding: 4rem 1.5rem;
	font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

.mylabdesk-wp-page a {
	color: #2563eb;
}

.mylabdesk-wp-page__card {
	max-width: 56rem;
	margin: 0 auto;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid #e2e8f0;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 12px 32px rgba(15, 23, 42, .06);
}

.mylabdesk-wp-page__card h1 { margin: 0 0 1.5rem; color: #0f172a; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.1; }
.mylabdesk-wp-page__content { color: #475569; font-size: 1.05rem; line-height: 1.75; }
.mylabdesk-wp-page__content h2 { margin: 2rem 0 .75rem; color: #0f172a; font-size: 1.4rem; }
.mylabdesk-wp-page__content p { margin: 0 0 1rem; }

.mylabdesk-site-footer { margin-top: auto; padding: 2rem 1.5rem; background: #0f172a; color: #e2e8f0; font-family: "Plus Jakarta Sans", system-ui, sans-serif; }
.mylabdesk-site-footer__inner { display: flex; max-width: 76rem; margin: 0 auto; align-items: center; justify-content: space-between; gap: 1.5rem; font-size: .9rem; }
.mylabdesk-site-footer p { margin: 0; }
.mylabdesk-site-footer__trademark { margin-top: .35rem !important; color: #94a3b8; font-size: .78rem; }
.mylabdesk-site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem 1.25rem; }
.mylabdesk-site-footer a { color: #fff; font-weight: 700; text-decoration: none; }
.mylabdesk-site-footer a:hover, .mylabdesk-site-footer a:focus { color: #93c5fd; text-decoration: underline; }
@media (max-width: 640px) { .mylabdesk-site-footer__inner { align-items: flex-start; flex-direction: column; } .mylabdesk-site-footer nav { justify-content: flex-start; } }

.mylabdesk-account-process {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgba(15, 23, 42, 0.48);
	font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

.mylabdesk-account-process__card {
	width: min(100%, 34rem);
	padding: 2.25rem;
	border: 1px solid #e2e8f0;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
	text-align: center;
}

.mylabdesk-account-process__icon {
	display: grid;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 1rem;
	place-items: center;
	border-radius: 999px;
	background: #e8f0ff;
	font-size: 1.6rem;
}

.mylabdesk-account-process__card h1 {
	margin: 0;
	color: #0f172a;
	font-size: 1.55rem;
}

.mylabdesk-account-process__card p {
	margin: 1rem 0 0;
	color: #526176;
	line-height: 1.6;
}

.mylabdesk-account-process__actions {
	display: flex;
	justify-content: center;
	gap: .75rem;
	margin-top: 1.75rem;
	flex-wrap: wrap;
}

.mylabdesk-account-process__actions a {
	padding: .8rem 1.1rem;
	border-radius: .75rem;
	font-weight: 700;
	text-decoration: none;
}

.mylabdesk-account-process__primary {
	background: #2563eb;
	color: #fff;
}

.mylabdesk-account-process__secondary {
	border: 1px solid #cbd5e1;
	color: #1e293b;
}

.mylabdesk-pending-home { min-height: 100vh; background: #fff; color: #0f172a; font-family: "Plus Jakarta Sans", system-ui, sans-serif; }
.mylabdesk-pending-home__header { height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 6vw; border-bottom: 1px solid #edf0f5; }
.mylabdesk-pending-home__brand { display: flex; align-items: center; gap: .6rem; color: #4f7ff3; font-size: 1.45rem; text-decoration: none; }
.mylabdesk-pending-home__brand img { display: block; width: clamp(9rem, 18vw, 12rem); height: auto; }
.mylabdesk-pending-home__mark { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: .8rem; color: #fff; font-weight: 800; background: linear-gradient(135deg, #356df2, #a8c2ff); }
.mylabdesk-pending-home__header nav { display: flex; align-items: center; gap: 1rem; }
.mylabdesk-pending-home__header nav a { padding: .55rem .9rem; border-radius: .7rem; color: #172033; font-weight: 700; text-decoration: none; }
.mylabdesk-pending-home__home { background: #f4f7ff; }
.mylabdesk-pending-home__signout { border: 1px solid #d7dfef; }
.mylabdesk-pending-home__hero { max-width: 56rem; margin: 0 auto; padding: 8rem 1.5rem 5rem; text-align: center; }
.mylabdesk-pending-home__eyebrow { display: inline-block; margin: 0 0 1.5rem; padding: .55rem 1rem; border: 1px solid #b9ccff; border-radius: 99rem; color: #2860ee; background: #edf3ff; font-weight: 700; }
.mylabdesk-pending-home__hero h1 { margin: 0; font-size: clamp(2.7rem, 8vw, 5.5rem); line-height: 1.04; letter-spacing: -.06em; }
.mylabdesk-pending-home__hero h1 span { color: #2f68ed; }
.mylabdesk-pending-home__hero > p:not(.mylabdesk-pending-home__eyebrow) { max-width: 44rem; margin: 1.8rem auto; color: #60708a; font-size: 1.17rem; line-height: 1.65; }
.mylabdesk-pending-home__review-card { display: flex; align-items: flex-start; gap: 1rem; max-width: 37rem; margin: 3rem auto 0; padding: 1.3rem; border: 1px solid #d9e4fc; border-radius: 1.1rem; background: #f8fbff; text-align: left; }
.mylabdesk-pending-home__review-card > div:first-child { display: grid; flex: 0 0 2.4rem; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: #e5efff; font-size: 1.2rem; }
.mylabdesk-pending-home__review-card strong { font-size: 1rem; }
.mylabdesk-pending-home__review-card p { margin: .35rem 0 0; color: #60708a; line-height: 1.5; }
@media (max-width: 540px) { .mylabdesk-pending-home__header { padding: 0 1rem; } .mylabdesk-pending-home__brand { font-size: 1.2rem; } .mylabdesk-pending-home__header nav { gap: .25rem; } .mylabdesk-pending-home__header nav a { padding: .45rem .55rem; font-size: .88rem; } .mylabdesk-pending-home__hero { padding-top: 5rem; } }
