/* Enterprise light system for federation and organization public portals. */
.tenant-public-page,
.tenant-events-page,
.tenant-page-wrap {
    --tenant-clean-bg: #f3f6f8;
    --tenant-clean-card: #fff;
    --tenant-clean-ink: #172027;
    --tenant-clean-muted: #65727c;
    --tenant-clean-border: #dce3e8;
}
.navbar-wg .nav-link.active {
    color:#fff !important;
}
.navbar-wg .nav-link.active::after {
    width:100%;
}

.tenant-public-page {
    background: var(--tenant-clean-bg) !important;
    color: var(--tenant-clean-ink) !important;
}

/* The hero remains the brand's high-impact dark surface. */
.tenant-public-page .tenant-hero {
    min-height: min(760px, calc(100vh - 72px));
    min-height: min(760px, calc(100dvh - 72px));
}
.tenant-public-page .tenant-hero::after {
    height: 150px;
    background: linear-gradient(180deg, transparent, rgba(5, 8, 10, .82)) !important;
}

/* Community access: clean, clear and action-oriented. */
.tenant-public-page .tenant-access-section {
    border-color: var(--tenant-clean-border) !important;
    background:
        radial-gradient(circle at 50% 0, color-mix(in srgb, var(--tenant-primary) 7%, transparent), transparent 31%),
        #fff !important;
}
.tenant-public-page .tenant-access-section .tenant-section-title {
    color: var(--tenant-clean-ink) !important;
}
.tenant-public-page .tenant-access-section .tenant-muted {
    color: var(--tenant-clean-muted) !important;
}
.tenant-public-page .tenant-section-kicker {
    border-color: color-mix(in srgb, var(--tenant-primary) 28%, #dce3e8) !important;
    background: color-mix(in srgb, var(--tenant-primary) 7%, #fff) !important;
    color: var(--tenant-primary) !important;
}
.tenant-public-page .tenant-access-card {
    min-height: 286px;
    border: 1px solid var(--tenant-clean-border) !important;
    border-radius: 14px !important;
    background: var(--tenant-clean-card) !important;
    box-shadow: 0 12px 34px rgba(23, 32, 39, .07) !important;
}
.tenant-public-page .tenant-access-card:hover {
    border-color: color-mix(in srgb, var(--tenant-primary) 38%, #dce3e8) !important;
    box-shadow: 0 22px 48px rgba(23, 32, 39, .12) !important;
}
.tenant-public-page .tenant-access-index {
    color: #d9e0e4 !important;
    font-size: 1.35rem;
}
.tenant-public-page .tenant-access-icon {
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--tenant-primary) 9%, #fff) !important;
    color: var(--tenant-primary) !important;
}
.tenant-public-page .tenant-access-card:hover .tenant-access-icon {
    background: var(--tenant-primary) !important;
    color: #fff !important;
}
.tenant-public-page .tenant-access-card h5 {
    color: var(--tenant-clean-ink) !important;
    font-size: 1.25rem;
}
.tenant-public-page .tenant-access-card p {
    color: var(--tenant-clean-muted) !important;
}
.tenant-public-page .tenant-access-link {
    margin-top: auto;
    border-color: #cad3d9 !important;
    background: #fff !important;
    color: var(--tenant-clean-ink) !important;
}
.tenant-public-page .tenant-access-link:hover {
    border-color: var(--tenant-primary) !important;
    background: var(--tenant-primary) !important;
    color: #fff !important;
}

/* Published events: calm background with white information cards. */
.tenant-public-page .tenant-events-showcase {
    border-top: 1px solid var(--tenant-clean-border);
    background: var(--tenant-clean-bg) !important;
}
.tenant-public-page .tenant-events-showcase::before { display: none; }
.tenant-public-page .tenant-events-display-title {
    color: var(--tenant-clean-ink) !important;
    text-shadow: none !important;
}
.tenant-public-page .tenant-events-display-title span {
    color: var(--tenant-primary) !important;
}
.tenant-public-page .tenant-events-heading-copy p {
    color: var(--tenant-clean-muted) !important;
}
.tenant-public-page .tenant-events-heading .tenant-cta-outline {
    border-color: #cbd4da !important;
    background: #fff !important;
    color: var(--tenant-clean-ink) !important;
    box-shadow: 0 7px 20px rgba(23, 32, 39, .06);
}
.tenant-public-page .tenant-events-heading .tenant-cta-outline:hover {
    border-color: var(--tenant-primary) !important;
    background: var(--tenant-primary) !important;
    color: #fff !important;
}

.tenant-event-card {
    border-color: var(--tenant-clean-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(23, 32, 39, .09) !important;
}
.tenant-event-card:hover {
    border-color: color-mix(in srgb, var(--tenant-primary, #c8102e) 45%, #dce3e8) !important;
    box-shadow: 0 22px 50px rgba(23, 32, 39, .14) !important;
}
.tenant-event-content { color: var(--tenant-clean-ink) !important; }
.tenant-event-modalities { color: var(--tenant-primary, #c8102e) !important; }
.tenant-event-title,
.tenant-event-price strong { color: var(--tenant-clean-ink) !important; }
.tenant-event-meta { color: var(--tenant-clean-muted) !important; }
.tenant-event-meta i { color: var(--tenant-primary, #c8102e) !important; }
.tenant-event-footer { border-top-color: var(--tenant-clean-border) !important; }
.tenant-event-price small { color: #7b8790 !important; }
.tenant-event-action {
    background: var(--tenant-primary, #c8102e) !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--tenant-primary, #c8102e) 22%, transparent) !important;
}
.tenant-events-empty {
    border-color: #cbd4da !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 32px rgba(23, 32, 39, .06);
}
.tenant-events-empty i { color: var(--tenant-primary, #c8102e) !important; }
.tenant-events-empty h6 { color: var(--tenant-clean-ink) !important; }
.tenant-events-empty p { color: var(--tenant-clean-muted) !important; }

/* Dedicated event listing. */
.tenant-events-page {
    background: var(--tenant-clean-bg) !important;
    color: var(--tenant-clean-ink) !important;
}
.tenant-events-page .tenant-events-header {
    border-bottom-color: var(--tenant-clean-border) !important;
    background:
        radial-gradient(circle at 82% 0, color-mix(in srgb, var(--tenant-primary, #c8102e) 8%, transparent), transparent 30%),
        #fff !important;
}
.tenant-events-page .tenant-events-heading { color: var(--tenant-clean-ink) !important; }
.tenant-events-page .tenant-events-header p { color: var(--tenant-clean-muted) !important; }
.tenant-events-page .tenant-events-back {
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--tenant-clean-muted);
    font-size:.86rem;
    font-weight:700;
    text-decoration:none;
}
.tenant-events-page .tenant-events-back:hover {
    color:var(--tenant-primary, #c8102e);
}
.tenant-events-page .tenant-events-header .btn-outline-gold {
    border-color: #cbd4da !important;
    background: #fff !important;
    color: var(--tenant-clean-ink) !important;
}

/* Custom content pages use a readable editorial surface. */
.tenant-page-wrap {
    background: var(--tenant-clean-bg) !important;
    color: var(--tenant-clean-ink) !important;
}
.tenant-page-wrap > .container > .btn-outline-light {
    border-color: #cbd4da !important;
    background: #fff !important;
    color: var(--tenant-clean-ink) !important;
}
.tenant-page-wrap .tenant-page-back { color:var(--tenant-clean-muted) !important; }
.tenant-page-wrap .tenant-page-back:hover { color:var(--tenant-primary, #c8102e) !important; }
.tenant-page-card {
    border-color: var(--tenant-clean-border) !important;
    border-top: 3px solid var(--tenant-primary, #c8102e) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 16px 42px rgba(23, 32, 39, .09) !important;
}
.tenant-page-card h1 { color: var(--tenant-clean-ink) !important; }
.tenant-page-content { color: var(--tenant-clean-muted) !important; }
.tenant-page-content h2,
.tenant-page-content h3,
.tenant-page-content h4,
.tenant-page-content strong { color: var(--tenant-clean-ink) !important; }
.tenant-page-content blockquote {
    border-left-color:var(--tenant-primary, #c8102e) !important;
    color:#44515a;
}
.tenant-page-content th,
.tenant-page-content td { border-color:var(--tenant-clean-border) !important; }
.tenant-page-content th { background:#f3f6f8;color:var(--tenant-clean-ink); }

@media (prefers-reduced-motion: reduce) {
    .tenant-event-card,
    .tenant-event-media::before,
    .tenant-access-card,
    .tenant-cta { transition:none !important; }
    .tenant-event-card:hover,
    .tenant-access-card:hover,
    .tenant-cta:hover { transform:none !important; }
}

/* Public registration and membership request flows. */
.membership-onboarding,
.tenant-link-wrap {
    background: #f3f6f8 !important;
    color: #172027 !important;
}
.membership-heading,
.membership-aside h2,
.membership-card-header h2,
.membership-section-title h3,
.membership-cpf-stage h3,
.tenant-link-card h1 { color: #172027 !important; }
.membership-intro,
.membership-card-header p,
.membership-cpf-stage p,
.tenant-link-card > p { color: #65727c !important; }
.membership-aside,
.membership-card,
.tenant-link-card {
    border-color: #dce3e8 !important;
    background: #fff !important;
    box-shadow: 0 16px 42px rgba(23, 32, 39, .09) !important;
}
.membership-card { border-top-color: var(--membership-accent) !important; }
.membership-card-header,
.membership-section,
.membership-submit-row,
.membership-security { border-color: #dce3e8 !important; }
.membership-steps li { color: #89949c !important; }
.membership-steps strong { color: #39464f !important; }
.membership-steps small,
.membership-security,
.membership-submit-row p { color: #74818a !important; }
.membership-step-number { border-color: #d2dbe0 !important; background: #f3f6f8 !important; }
.membership-cpf-stage {
    border-color: color-mix(in srgb, var(--membership-accent) 28%, #dce3e8) !important;
    background: color-mix(in srgb, var(--membership-accent) 5%, #fff) !important;
}
.membership-onboarding .form-label,
.tenant-link-card .form-label { color: #39464f !important; }
.membership-onboarding .form-control,
.membership-onboarding .form-select,
.tenant-link-card .form-control,
.tenant-link-card .form-select {
    border-color: #cfd8de !important;
    background: #f8fafb !important;
    color: #172027 !important;
    color-scheme: light;
}
.membership-onboarding .form-control:focus,
.membership-onboarding .form-select:focus,
.tenant-link-card .form-control:focus,
.tenant-link-card .form-select:focus {
    border-color: var(--membership-accent, #c8102e) !important;
    background: #fff !important;
    color: #172027 !important;
}
.membership-onboarding option,
.tenant-link-card option { background: #fff !important; color: #172027 !important; }
.membership-sports-callout,
.tenant-link-note {
    border-color: #efbac3 !important;
    background: #fff1f3 !important;
    color: #5f313a !important;
}
.tenant-link-note i { color: #c8102e !important; }
.tenant-link-card { border-top: 3px solid #c8102e !important; border-radius: 16px !important; }

@media (max-width: 991.98px) {
    .tenant-public-page .tenant-hero {
        min-height: auto;
    }
}

@media (max-width: 767.98px) {
    .tenant-public-page .tenant-access-card { min-height: 0; }
    .tenant-public-page .tenant-access-link { margin-top: 24px; }
}
