/* GLOBALS Register — soft-gate, members-only & membership status.
   Reuses GLOBALS Core .gl-btn on GLOBALS pages; tokens have fallbacks. */

.gl-gate { margin: 28px 0 8px; }
.gl-gate__inner { position: relative; background: #fff; border: 1px solid rgba(22,23,27,.10); border-radius: 18px; padding: 34px 30px; text-align: center; box-shadow: 0 18px 50px rgba(22,23,27,.08); overflow: hidden; }
.gl-gate__inner::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--gl-orange, #FC611E); }
.gl-gate__eyebrow { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gl-orange, #FC611E); margin-bottom: 10px; }
.gl-gate__title { font-family: 'Urbanist', system-ui, sans-serif; font-size: clamp(22px, 3vw, 30px); font-weight: 800; line-height: 1.15; color: var(--gl-ink, #16171B); margin: 0 0 10px; }
.gl-gate__text { font-family: 'Urbanist', system-ui, sans-serif; font-size: 16px; line-height: 1.6; color: #45474D; max-width: 46ch; margin: 0 auto 20px; }
.gl-gate__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.gl-gate__fine { font-size: 13px; color: #6b6d73; margin: 18px 0 0; }
.gl-gate__fine a { color: var(--gl-ink, #16171B); font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(22,23,27,.25); }
.gl-gate__fine a:hover { color: var(--gl-orange, #FC611E); border-color: var(--gl-orange, #FC611E); }

/* Fallback button look only if Core's .gl-btn isn't present on this page */
.gl-gate .gl-btn:not([class*="gl-btn--"]) { display: inline-flex; align-items: center; justify-content: center; padding: 13px 26px; border-radius: 999px; font-weight: 700; text-decoration: none; }

.gl-mstatus { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; font-family: 'Urbanist', system-ui, sans-serif; }
.gl-mstatus__badge { display: inline-flex; align-items: center; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; background: rgba(22,23,27,.06); color: var(--gl-ink, #16171B); border: 1px solid rgba(22,23,27,.12); }
.gl-mstatus__badge--reader  { background: rgba(125,200,247,.18); border-color: rgba(125,200,247,.5); }
.gl-mstatus__badge--member  { background: rgba(150,231,190,.20); border-color: rgba(150,231,190,.55); }
.gl-mstatus__badge--partner { background: rgba(252,97,30,.14); border-color: rgba(252,97,30,.45); color: #b7410e; }

.gl-btn--sm { padding: 9px 16px !important; font-size: 14px !important; }

@media (max-width: 560px) {
	.gl-gate__inner { padding: 26px 18px; }
	.gl-gate__cta .gl-btn { width: 100%; }
}

/* ---------------------------------------------------------------------------
 * Header brand-logo aspect guard.
 * The brand link sits inside the flex .gl-nav; when the nav gets crowded the
 * flexbox can shrink the brand box, and the fixed logo height then distorts
 * (squishes) the image. Lock the brand box so it never shrinks and let the
 * image keep its natural aspect ratio (height still comes from globals.css).
 * Covers both markups: linked <a.gl-brand-img> and unlinked <figure.gl-brand-img>.
 * ------------------------------------------------------------------------- */
.gl-body .gl-header .gl-brand-img,
.gl-header .gl-brand-img { flex: 0 0 auto !important; max-width: none !important; width: auto !important; }
.gl-body .gl-header .gl-brand-img img,
.gl-body .gl-header .gl-brand img,
.gl-header .gl-brand-img img { width: auto !important; max-width: none !important; min-width: 0; flex: 0 0 auto !important; object-fit: contain !important; }
