/* =========================================================================
   Mitochonlabs Access Gate — styling matched to the live Mitochonlabs site
   (black / white, Montserrat everywhere, solid black pill buttons).
   ========================================================================= */

:root {
	--mitochon-black: #0a0a0a;
	--mitochon-ink-900: #151515;
	--mitochon-ink-700: #4a4a4a;
	--mitochon-stroke-card: #e2e2e2;
	--mitochon-r-pill: 9999px;
	--mitochon-font-display: "Montserrat", sans-serif;
	--mitochon-font-ui: "Montserrat", sans-serif;
}

/* ---- Auth card (Register / Sign in) -------------------------------------- */
.mitochon-auth { width: 100%; max-width: 480px; background: #fff; border: 1px solid var(--mitochon-stroke-card); border-radius: 18px; box-shadow: 0 40px 90px -50px rgba(0,0,0,.55); padding: 26px; box-sizing: border-box; font-family: var(--mitochon-font-ui); }
.mitochon-auth * { box-sizing: border-box; font-family: var(--mitochon-font-ui); }
.mitochon-auth__tabs { display: flex; background: #f3f3f3; border: 1px solid var(--mitochon-stroke-card); border-radius: var(--mitochon-r-pill); padding: 5px; margin-bottom: 22px; }
.mitochon-auth__tab { flex: 1; border: 2px solid transparent; background: transparent; cursor: pointer; font-weight: 600; font-size: 15px; color: var(--mitochon-ink-700); padding: 9px 10px; border-radius: var(--mitochon-r-pill); transition: .18s ease; }
.mitochon-auth__tab.is-active { background: var(--mitochon-black); border-color: var(--mitochon-black); color: #fff; }
.mitochon-auth__notices { margin-bottom: 16px; }
.mitochon-auth__form { display: none; flex-direction: column; gap: 16px; }
.mitochon-auth__form.is-active { display: flex; }
.mitochon-auth__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mitochon-auth__row--between { display: flex; align-items: center; justify-content: space-between; }
.mitochon-auth__field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }
.mitochon-auth__field label { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mitochon-ink-700); }
.mitochon-auth__field input, .mitochon-auth__field select {
	height: 46px; padding: 0 14px; border: 1px solid var(--mitochon-stroke-card); border-radius: 10px; font-size: 15px; color: var(--mitochon-ink-900); background: #fff; width: 100%;
}
.mitochon-auth__field input:focus, .mitochon-auth__field select:focus { outline: none; border-color: var(--mitochon-black); box-shadow: 0 0 0 4px rgba(0,0,0,.08); }
.mitochon-auth__pw { position: relative; }
.mitochon-auth__pw input { padding-right: 44px; }
.mitochon-auth__pw-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: var(--mitochon-ink-700); cursor: pointer; padding: 6px; }
.mitochon-auth__pw-toggle svg { width: 20px; height: 20px; }
.mitochon-auth__pw-toggle.is-on { color: var(--mitochon-black); }
.mitochon-auth__agree { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--mitochon-ink-700); background: #f7f7f7; border: 1px solid var(--mitochon-stroke-card); border-radius: 10px; padding: 14px; }
.mitochon-auth__agree input { margin-top: 2px; accent-color: var(--mitochon-black); flex: 0 0 auto; }
.mitochon-auth__agree a { color: var(--mitochon-black); text-decoration: underline; }
.mitochon-auth__submit,
.mitochon-auth .woocommerce-form-register button[type="submit"],
.mitochon-auth .woocommerce-form-login button[type="submit"],
.mitochon-auth .lost_reset_password button[type="submit"] {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; width: 100% !important; height: 52px !important; cursor: pointer;
	border-radius: var(--mitochon-r-pill) !important; border: 2px solid var(--mitochon-black) !important;
	background: var(--mitochon-black) !important; color: #fff !important; font-weight: 600 !important; font-size: 16px !important;
	padding: 0 !important; transition: filter .18s ease, transform .18s ease, background .18s ease, color .18s ease;
}
.mitochon-auth__submit:hover,
.mitochon-auth .woocommerce-form-register button[type="submit"]:hover,
.mitochon-auth .woocommerce-form-login button[type="submit"]:hover,
.mitochon-auth .lost_reset_password button[type="submit"]:hover {
	background: transparent !important; border-color: var(--mitochon-black) !important; color: #fff !important; transform: translateY(-1px); box-shadow: none !important;
}
.mitochon-auth__submit svg { width: 20px; height: 20px; }
.mitochon-auth__foot { text-align: center; font-size: 14px; color: var(--mitochon-ink-700); margin: 0; }
.mitochon-auth__link { border: 0; background: transparent; color: var(--mitochon-black); font-weight: 600; font-size: 14px; cursor: pointer; text-decoration: underline; padding: 0; }
.mitochon-auth__legal { text-align: center; font-size: 12px; color: #9a9a9a; margin: 0; }
.mitochon-auth__remember { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--mitochon-ink-700); }
.mitochon-auth__remember input { accent-color: var(--mitochon-black); }
.mitochon-auth__lost { border: 0; background: transparent; padding: 0; font-size: 14px; color: var(--mitochon-black); font-weight: 600; cursor: pointer; text-decoration: none; }
.mitochon-auth__lost:hover { text-decoration: underline; }

/* Inline password reset panel */
[data-mitochon-auth-reset] { display: none; }
.mitochon-auth.is-reset .mitochon-auth__tabs,
.mitochon-auth.is-reset .mitochon-auth__form { display: none !important; }
.mitochon-auth.is-reset [data-mitochon-auth-reset] { display: flex; flex-direction: column; gap: 16px; }
.mitochon-auth__reset-title { font-weight: 700; font-size: 20px; color: var(--mitochon-ink-900); text-align: center; margin: 0; }
.mitochon-auth__reset-note { font-size: 14px; color: var(--mitochon-ink-700); text-align: center; margin: 0; }

/* ---- Full-screen access gate (matches the black hero banner) -------------- */
html:has(.mitochon-gate-body) { margin: 0; }
.mitochon-gate-body { margin: 0; font-family: var(--mitochon-font-ui); }
.mitochon-gate { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 30px 18px; overflow: hidden; box-sizing: border-box; }
.mitochon-gate__bg { position: absolute; inset: 0; background: #050505; }
.mitochon-gate__bg::after { content: ""; position: absolute; inset: 0; opacity: .35; background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.12) 1px, transparent 0); background-size: 26px 26px; }
.mitochon-gate > * { position: relative; z-index: 1; }
.mitochon-gate__logo { height: 68px; width: auto; margin: 0 auto 22px; display: block; filter: invert(1) brightness(2); }
.mitochon-gate__age-card { background: #fff; border-radius: 18px; padding: 40px 34px; max-width: 460px; text-align: center; box-shadow: 0 50px 100px -40px rgba(0,0,0,.7); box-sizing: border-box; }
.mitochon-gate__age-card .mitochon-gate__logo { filter: none; }
.mitochon-gate__age-card h1 { font-weight: 800; font-size: 28px; letter-spacing: -.01em; color: var(--mitochon-ink-900); margin: 0 0 12px; text-transform: uppercase; }
.mitochon-gate__age-card p { font-size: 15px; line-height: 1.6; color: var(--mitochon-ink-700); margin: 0 0 20px; }
.mitochon-gate__age-actions { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.mitochon-gate__leave { font-size: 14px; font-weight: 600; color: var(--mitochon-ink-700); border: 1.5px solid var(--mitochon-stroke-card); border-radius: var(--mitochon-r-pill); padding: 13px 10px; display: block; }
.mitochon-gate__leave:hover { background: #f7f7f7; }
.mitochon-gate__auth-inner { text-align: center; }
.mitochon-gate__auth-lead { font-size: 15px; color: #e5e5e5; margin: 0 0 20px; }
.mitochon-gate__auth .mitochon-auth { text-align: left; margin: 0 auto; }

@media (max-width: 480px) {
	.mitochon-auth__row { grid-template-columns: 1fr; }
}
