/* ==========================================================================
   SPACE PAGE V2 — LEO STEAK HOUSE
   Path: public/assets/themes/private/leo-sh.css
   Theme code: leo-sh
   Private business theme — black leather / warm wood / beer light
   Hero: full-screen cover background + transparent logo
   ========================================================================== */

@import url('../space_v2_modern_core.css');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');

body.space-page.theme-leo-sh {
    --leo-bg: #080705;
    --leo-bg-2: #11100d;
    --leo-card: rgba(21, 19, 15, .92);
    --leo-card-solid: #15130f;
    --leo-card-soft: #1d1a15;
    --leo-card-warm: #241d14;

    --leo-wood: #d7b57a;
    --leo-wood-soft: #f1d7a0;
    --leo-gold: #f2b544;
    --leo-gold-2: #c98222;
    --leo-amber: #ff9f1c;
    --leo-beer: #f6a21a;

    --leo-text: #f7f0e4;
    --leo-text-soft: #d9c8aa;
    --leo-muted: #9b8b73;

    --leo-black: #050403;
    --leo-line: rgba(242, 181, 68, .18);
    --leo-line-strong: rgba(242, 181, 68, .31);
    --leo-line-soft: rgba(255, 255, 255, .08);
    --leo-shadow: rgba(0, 0, 0, .52);
    --leo-glow: rgba(246, 162, 26, .28);

    --leo-radius-xs: 6px;
    --leo-radius-sm: 8px;
    --leo-radius-md: 10px;
    --leo-radius-lg: 12px;
    --leo-radius-xl: 14px;

    --font-heading: 'Oswald', sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    /* Shared V2 core bridge */
    --sp-bg: var(--leo-bg);
    --sp-bg2: var(--leo-bg-2);
    --sp-surface: var(--leo-card-solid);
    --sp-surface2: var(--leo-card-soft);
    --sp-text: var(--leo-text);
    --sp-soft: var(--leo-text-soft);
    --sp-muted: var(--leo-muted);
    --sp-line: var(--leo-line-soft);
    --sp-line-strong: var(--leo-line);
    --sp-accent: var(--leo-gold);
    --sp-accent-ink: #1a1004;
    --sp-accent2: var(--leo-amber);
    --sp-hero-title: var(--leo-text);
    --sp-button-bg: linear-gradient(180deg, var(--leo-gold), var(--leo-gold-2));
    --sp-button-text: #1a1004;
    --sp-button-border: rgba(255, 220, 150, .36);
    --sp-event-gradient: var(--leo-black);
    --sp-page-background: var(--leo-bg);

    --sp-radius-xl: var(--leo-radius-xl);
    --sp-radius-lg: var(--leo-radius-lg);
    --sp-radius-md: var(--leo-radius-md);
    --sp-shadow: 0 16px 36px rgba(0,0,0,.36);
    --sp-shadow-strong: 0 24px 58px rgba(0,0,0,.48);

    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;

    color: var(--leo-text) !important;
    background:
        radial-gradient(circle at 50% -10%, rgba(246,162,26,.08), transparent 36rem),
        linear-gradient(180deg, #090705 0%, #050403 100%) !important;

    font-family: var(--font-body) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* ==========================================================================
   FULL-SCREEN COVER ENVIRONMENT
   ========================================================================== */

body.space-page.theme-leo-sh .space-page-hero__cover {
    position: fixed !important;
    inset: 0 !important;
    z-index: -4 !important;

    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: var(--leo-black) !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

body.space-page.theme-leo-sh .space-page-hero__cover::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;

    background:
        radial-gradient(circle at 50% 10%, rgba(246,162,26,.20), transparent 38%),
        radial-gradient(circle at 14% 34%, rgba(215,181,122,.09), transparent 30%),
        linear-gradient(
            180deg,
            rgba(5,4,3,.20) 0%,
            rgba(5,4,3,.36) 32%,
            rgba(5,4,3,.72) 66%,
            rgba(5,4,3,.98) 100%
        );
}

body.space-page.theme-leo-sh .space-page-hero__cover::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;

    background:
        linear-gradient(90deg, rgba(3,2,2,.30), transparent 20%, transparent 80%, rgba(3,2,2,.30)),
        radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,.58) 100%);
}

body.space-page.theme-leo-sh .space-page-hero__cover img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;

    width: 100% !important;
    height: 100% !important;

    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;

    opacity: 1 !important;
    filter: contrast(1.08) saturate(.90) brightness(.66) !important;
    transform: scale(1.015);

    mask-image: none !important;
    -webkit-mask-image: none !important;
}

/* Subtle leather grain over the entire public Page only */
body.space-page.theme-leo-sh::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;

    opacity: .26;
    background:
        linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
    background-size: 46px 46px;
}

/* ==========================================================================
   MAIN CONTENT CONTAINMENT
   ========================================================================== */

body.space-page.theme-leo-sh > main.test-wrap,
body.space-page.theme-leo-sh > .test-wrap {
    position: relative !important;
    z-index: 1 !important;

    width: 100% !important;
    max-width: 560px !important;
    min-height: 100dvh !important;

    margin: 0 auto !important;
    padding:
        calc(max(76px, env(safe-area-inset-top, 0px) + 60px))
        16px
        48px !important;

    box-sizing: border-box !important;
    background: transparent !important;
}

/* Deep fade to a readable content floor */
body.space-page.theme-leo-sh > main.test-wrap::before,
body.space-page.theme-leo-sh > .test-wrap::before {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    height: 52dvh;
    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(5,4,3,.34) 28%,
            rgba(5,4,3,.84) 64%,
            rgba(5,4,3,.98) 100%
        );
}

body.space-page.theme-leo-sh > main.test-wrap > .space-page-hero,
body.space-page.theme-leo-sh > main.test-wrap > .space-v2-block,
body.space-page.theme-leo-sh > .test-wrap > .space-page-hero,
body.space-page.theme-leo-sh > .test-wrap > .space-v2-block {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   HERO — LOGO IS THE BRAND, TITLE IS JUST INFORMATION
   ========================================================================== */

body.space-page.theme-leo-sh .space-page-hero {
    position: relative !important;
    z-index: 2 !important;

    min-height: min(64dvh, 620px) !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;

    margin: 0 0 26px !important;
    padding: 0 4px 28px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.space-page.theme-leo-sh .space-page-hero__body {
    position: relative !important;
    z-index: 4 !important;

    width: 100% !important;
    max-width: 480px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    text-align: center !important;
}

/*
 * Avatar becomes a transparent brand mark.
 * Perfect for the LEO SVG wordmark.
 */
body.space-page.theme-leo-sh .space-page-hero__avatar {
    width: min(70vw, 310px) !important;
    height: clamp(104px, 25vw, 154px) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 auto 14px !important;
    padding: 0 !important;

    overflow: visible !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.space-page.theme-leo-sh .space-page-hero__avatar img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;
    object-fit: contain !important;
    object-position: center center !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    filter:
        drop-shadow(0 10px 28px rgba(0,0,0,.50))
        drop-shadow(0 0 22px rgba(246,162,26,.08)) !important;
}

body.space-page.theme-leo-sh .space-page-hero__avatar span {
    color: var(--leo-wood-soft) !important;
    font-family: var(--font-heading) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-shadow: 0 4px 18px rgba(0,0,0,.55) !important;
}

/*
 * The title is deliberately small.
 * The SVG already says "LEO", so this is metadata, not a second logo.
 */
body.space-page.theme-leo-sh .space-page-hero__title {
    width: fit-content !important;
    max-width: 100% !important;

    margin: 0 auto 9px !important;
    padding: 0 !important;

    color: rgba(247,240,228,.82) !important;
    background: none !important;
    background-image: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: rgba(247,240,228,.82) !important;

    font-family: var(--font-body) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;

    text-shadow: 0 3px 16px rgba(0,0,0,.50) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.space-page.theme-leo-sh .space-page-hero__subtitle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    max-width: 100% !important;

    margin: 0 auto 12px !important;
    padding: 7px 10px !important;

    color: #1a1004 !important;
    background:
        linear-gradient(180deg, var(--leo-gold), var(--leo-gold-2)) !important;

    border: 1px solid rgba(255,220,150,.34) !important;
    border-radius: var(--leo-radius-sm) !important;

    box-shadow: 0 9px 22px rgba(246,162,26,.18) !important;

    font-family: var(--font-heading) !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-leo-sh .space-page-hero__bio {
    max-width: 42ch !important;
    margin: 0 auto !important;

    color: rgba(247,240,228,.76) !important;

    font-family: var(--font-body) !important;
    font-size: .91rem !important;
    font-weight: 500 !important;
    line-height: 1.62 !important;

    text-align: center !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.58) !important;
}

/* ==========================================================================
   BLOCKS
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-block {
    position: relative !important;
    z-index: 3 !important;

    margin: 0 0 14px !important;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body.space-page.theme-leo-sh .space-v2-block.is-compact {
    margin-bottom: 10px !important;
}

body.space-page.theme-leo-sh
.space-v2-block.is-boxed:not(.space-v2-block--event-cover):not(.space-v2-block--image-banner):not(.space-v2-block--youtube-embed) {
    padding: 18px !important;

    color: var(--leo-text) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), transparent),
        rgba(15,13,10,.92) !important;

    border: 1px solid var(--leo-line) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow:
        0 15px 34px rgba(0,0,0,.32),
        inset 0 1px rgba(255,255,255,.025) !important;

    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* ==========================================================================
   SECTION TITLES
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-block--title {
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    padding: 0 2px !important;
}

body.space-page.theme-leo-sh .space-v2-title__heading {
    position: relative !important;

    margin: 0 !important;
    padding: 0 0 8px !important;

    color: var(--leo-wood-soft) !important;
    background: none !important;
    -webkit-text-fill-color: var(--leo-wood-soft) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(1.65rem, 6.8vw, 2.2rem) !important;
    font-weight: 700 !important;
    line-height: .98 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    text-align: left !important;
}

body.space-page.theme-leo-sh .space-v2-title__heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;

    width: 44px;
    height: 2px;

    border-radius: 999px;
    background:
        linear-gradient(90deg, var(--leo-gold), var(--leo-gold-2));
    box-shadow: 0 0 14px rgba(246,162,26,.18);
}

body.space-page.theme-leo-sh .space-v2-title__subtitle {
    margin: 7px 0 0 !important;

    color: var(--leo-muted) !important;

    font-family: var(--font-body) !important;
    font-size: .79rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-align: left !important;
}

/* ==========================================================================
   TEXT
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-text__content {
    margin: 0 !important;
    padding: 17px 18px !important;

    color: var(--leo-text-soft) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), transparent),
        rgba(14,12,9,.90) !important;

    border: 1px solid var(--leo-line) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow: 0 14px 30px rgba(0,0,0,.30) !important;

    font-family: var(--font-body) !important;
    font-size: .93rem !important;
    font-weight: 500 !important;
    line-height: 1.67 !important;
    text-align: left !important;
}

/* ==========================================================================
   BUTTON LINK
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-button {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;
    min-height: 57px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    padding: 14px 18px !important;
    overflow: hidden !important;

    color: #1a1004 !important;
    background:
        linear-gradient(180deg, var(--leo-gold), var(--leo-gold-2)) !important;

    border: 1px solid rgba(255,220,150,.32) !important;
    border-radius: var(--leo-radius-lg) !important;

    box-shadow:
        0 12px 25px rgba(246,162,26,.19),
        inset 0 1px rgba(255,255,255,.18) !important;

    font-family: var(--font-heading) !important;
    font-size: .88rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: .065em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    transition:
        transform .20s ease,
        filter .20s ease,
        box-shadow .20s ease !important;
}

body.space-page.theme-leo-sh .space-v2-button::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;

    width: 3px;

    border-radius: 0 3px 3px 0;
    background: #fff0c4;
    opacity: .55;
}

body.space-page.theme-leo-sh .space-v2-button:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.06) !important;

    box-shadow:
        0 17px 31px rgba(246,162,26,.25),
        inset 0 1px rgba(255,255,255,.20) !important;
}

body.space-page.theme-leo-sh .space-v2-button:active {
    transform: translateY(0) scale(.99) !important;
}

body.space-page.theme-leo-sh .space-v2-button:focus-visible {
    outline: 3px solid rgba(242,181,68,.22) !important;
    outline-offset: 3px !important;
}

body.space-page.theme-leo-sh .space-v2-button__icon {
    color: currentColor !important;
}

body.space-page.theme-leo-sh .space-v2-button__text {
    color: currentColor !important;
}

/* ==========================================================================
   DIVIDER
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-divider {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;

    margin: 22px 0 !important;
}

body.space-page.theme-leo-sh .space-v2-divider__line {
    flex: 1 1 auto !important;
    height: 1px !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(242,181,68,.24),
            transparent
        ) !important;
}

body.space-page.theme-leo-sh .space-v2-divider__label {
    color: var(--leo-muted) !important;

    font-family: var(--font-heading) !important;
    font-size: .63rem !important;
    font-weight: 600 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

/* ==========================================================================
   EVENT COVER
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-block--event-cover {
    position: relative !important;
    overflow: hidden !important;

    min-height: 300px !important;

    background: var(--leo-black) !important;

    border: 1px solid rgba(242,181,68,.23) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow:
        0 19px 42px rgba(0,0,0,.46),
        0 0 34px rgba(246,162,26,.06) !important;
}

body.space-page.theme-leo-sh .space-v2-event-cover__media img {
    width: 100% !important;
    height: 300px !important;

    display: block !important;
    object-fit: cover !important;

    filter: contrast(1.07) saturate(.89) brightness(.78) !important;
    transition: transform .55s ease, filter .55s ease !important;
}

body.space-page.theme-leo-sh .space-v2-block--event-cover:hover .space-v2-event-cover__media img {
    transform: scale(1.035) !important;
    filter: contrast(1.07) saturate(.94) brightness(.84) !important;
}

body.space-page.theme-leo-sh .space-v2-event-cover__content {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    padding: 82px 20px 20px !important;

    background:
        linear-gradient(
            to top,
            rgba(5,4,3,.98) 0%,
            rgba(5,4,3,.74) 58%,
            transparent 100%
        ) !important;

    text-align: left !important;
}

body.space-page.theme-leo-sh .space-v2-event-cover__eyebrow {
    margin-bottom: 6px !important;

    color: var(--leo-gold) !important;

    font-family: var(--font-heading) !important;
    font-size: .65rem !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-leo-sh .space-v2-event-cover__title {
    margin: 0 0 6px !important;

    color: var(--leo-text) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(1.7rem, 7vw, 2.25rem) !important;
    font-weight: 700 !important;
    line-height: .98 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-leo-sh .space-v2-event-cover__subtitle {
    margin: 0 0 14px !important;

    color: rgba(247,240,228,.76) !important;

    font-size: .87rem !important;
    line-height: 1.48 !important;
}

body.space-page.theme-leo-sh .space-v2-event-cover__actions .space-v2-button {
    width: auto !important;
    min-height: 41px !important;

    display: inline-flex !important;

    padding: 10px 14px !important;

    border-radius: var(--leo-radius-sm) !important;
    box-shadow: 0 8px 20px rgba(246,162,26,.18) !important;
}

/* ==========================================================================
   IMAGE BANNER
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-image-banner {
    overflow: hidden !important;

    background: var(--leo-card-solid) !important;

    border: 1px solid var(--leo-line) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow: 0 16px 36px rgba(0,0,0,.38) !important;
}

body.space-page.theme-leo-sh .space-v2-image-banner__image {
    width: 100% !important;
    max-height: 330px !important;

    display: block !important;
    object-fit: cover !important;

    filter: contrast(1.05) saturate(.90) brightness(.90) !important;
    transition: transform .45s ease, filter .45s ease !important;
}

body.space-page.theme-leo-sh .space-v2-image-banner:hover .space-v2-image-banner__image {
    transform: scale(1.025) !important;
    filter: contrast(1.05) saturate(.96) brightness(.96) !important;
}

body.space-page.theme-leo-sh .space-v2-image-banner__caption {
    padding: 13px 15px 15px !important;

    color: var(--leo-text-soft) !important;

    font-family: var(--font-body) !important;
    font-size: .86rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-align: left !important;
}

/* ==========================================================================
   PROMO CARD
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-promo-card {
    overflow: hidden !important;

    color: var(--leo-text) !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(246,162,26,.10), transparent 30%),
        var(--leo-card-solid) !important;

    border: 1px solid var(--leo-line) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow:
        0 19px 43px rgba(0,0,0,.44),
        0 0 32px rgba(246,162,26,.05) !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__media {
    height: 238px !important;
    background: var(--leo-card-soft) !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__media img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;
    object-fit: cover !important;

    filter: contrast(1.05) saturate(.90) brightness(.87) !important;
    transition: transform .50s ease, filter .50s ease !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card:hover .space-v2-promo-card__media img {
    transform: scale(1.035) !important;
    filter: contrast(1.05) saturate(.96) brightness(.94) !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__content {
    padding: 18px !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__eyebrow {
    color: var(--leo-gold) !important;

    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__badge {
    color: #1a1004 !important;
    background:
        linear-gradient(180deg, var(--leo-gold), var(--leo-gold-2)) !important;

    border: 1px solid rgba(255,220,150,.24) !important;
    border-radius: var(--leo-radius-sm) !important;

    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__title {
    margin: 0 !important;

    color: var(--leo-wood-soft) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(1.65rem, 6.8vw, 2.2rem) !important;
    font-weight: 700 !important;
    line-height: .99 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__description {
    color: var(--leo-muted) !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__price {
    color: var(--leo-gold) !important;

    font-family: var(--font-heading) !important;
    font-size: 1.22rem !important;
    font-weight: 700 !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__button {
    min-height: 40px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 9px 13px !important;

    color: #1a1004 !important;
    background:
        linear-gradient(180deg, var(--leo-gold), var(--leo-gold-2)) !important;

    border-radius: var(--leo-radius-sm) !important;

    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

/* Promo popup */
body.space-page.theme-leo-sh .space-v2-promo-popup__backdrop {
    background:
        radial-gradient(circle at 50% 12%, rgba(246,162,26,.14), transparent 36%),
        rgba(5,4,3,.86) !important;

    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body.space-page.theme-leo-sh .space-v2-promo-popup__close {
    color: var(--leo-wood-soft) !important;
    background: rgba(9,7,5,.94) !important;

    border-color: var(--leo-line) !important;
    border-radius: var(--leo-radius-lg) !important;

    box-shadow: 0 10px 28px rgba(0,0,0,.38) !important;
}

/* ==========================================================================
   GALLERY
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-gallery__head {
    margin-bottom: 12px !important;
    text-align: left !important;
}

body.space-page.theme-leo-sh .space-v2-gallery__title {
    margin: 0 !important;

    color: var(--leo-wood-soft) !important;

    font-family: var(--font-heading) !important;
    font-size: 1.55rem !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-leo-sh .space-v2-gallery__subtitle {
    margin-top: 5px !important;

    color: var(--leo-muted) !important;

    font-size: .83rem !important;
    line-height: 1.45 !important;
}

body.space-page.theme-leo-sh .space-v2-gallery__grid {
    gap: 8px !important;
}

body.space-page.theme-leo-sh .space-v2-gallery__item {
    overflow: hidden !important;

    background: var(--leo-card-solid) !important;

    border: 1px solid var(--leo-line) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow: 0 13px 29px rgba(0,0,0,.34) !important;
}

body.space-page.theme-leo-sh .space-v2-gallery__item img {
    filter: contrast(1.04) saturate(.91) brightness(.90) !important;
}

body.space-page.theme-leo-sh .space-v2-gallery__item figcaption {
    color: var(--leo-text) !important;
    background: rgba(5,4,3,.84) !important;

    border: 1px solid rgba(242,181,68,.14) !important;
    border-radius: var(--leo-radius-sm) !important;

    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

body.space-page.theme-leo-sh .space-v2-gallery--carousel .space-v2-gallery__item,
body.space-page.theme-leo-sh .space-v2-gallery--carousel .space-v2-gallery__item--1,
body.space-page.theme-leo-sh .space-v2-gallery--carousel .space-v2-gallery__item--4 {
    border-radius: var(--leo-radius-xl) !important;
}

/* ==========================================================================
   YOUTUBE
   ========================================================================== */

body.space-page.theme-leo-sh .space-v2-youtube__title {
    margin: 0 0 10px !important;

    color: var(--leo-wood-soft) !important;

    font-family: var(--font-heading) !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

body.space-page.theme-leo-sh .space-v2-youtube__frame-wrap {
    overflow: hidden !important;

    background: #000 !important;

    border: 1px solid var(--leo-line) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow:
        0 19px 42px rgba(0,0,0,.46),
        0 0 30px rgba(246,162,26,.04) !important;
}

/* ==========================================================================
   OPTIONAL BUILDER VARIANTS
   ========================================================================== */

/* style.class = leo-dark */
body.space-page.theme-leo-sh .leo-dark .space-v2-button,
body.space-page.theme-leo-sh .space-v2-button.leo-dark {
    color: var(--leo-wood-soft) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), transparent),
        var(--leo-card-solid) !important;

    border-color: var(--leo-line) !important;

    box-shadow: 0 13px 28px rgba(0,0,0,.36) !important;
}

body.space-page.theme-leo-sh .leo-dark .space-v2-button::before,
body.space-page.theme-leo-sh .space-v2-button.leo-dark::before {
    background: var(--leo-gold);
}

/* style.class = leo-outline */
body.space-page.theme-leo-sh .leo-outline .space-v2-button,
body.space-page.theme-leo-sh .space-v2-button.leo-outline {
    color: var(--leo-gold) !important;
    background: rgba(8,7,5,.46) !important;

    border-color: rgba(242,181,68,.34) !important;

    box-shadow: none !important;
}

/* style.class = leo-wood */
body.space-page.theme-leo-sh .leo-wood .space-v2-button,
body.space-page.theme-leo-sh .space-v2-button.leo-wood {
    color: #2b1808 !important;
    background:
        linear-gradient(180deg, var(--leo-wood-soft), var(--leo-wood)) !important;

    border-color: rgba(255,240,205,.35) !important;
}

/* ==========================================================================
   FOOTER COMPATIBILITY
   ========================================================================== */

/*
 * Shared SPACE footer keeps its own system skin.
 * Theme controls only geometry / separation.
 */
body.space-page.theme-leo-sh > .space-public-footer,
body.space-page.theme-leo-sh > .space-public-footer--shared {
    position: relative !important;
    z-index: 5 !important;

    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;

    margin-top: 0 !important;
}

/* Old Page V2 footer fallback */
body.space-page.theme-leo-sh .footer-v2 {
    color: var(--leo-muted) !important;
}

body.space-page.theme-leo-sh .footer-v2 a {
    color: var(--leo-wood-soft) !important;
    background: rgba(12,10,7,.92) !important;

    border-color: var(--leo-line) !important;
    border-radius: var(--leo-radius-lg) !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 560px) {
    body.space-page.theme-leo-sh > main.test-wrap,
    body.space-page.theme-leo-sh > .test-wrap {
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-bottom: 38px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero {
        min-height: min(66dvh, 590px) !important;
        padding-bottom: 24px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__avatar {
        width: min(72vw, 285px) !important;
        height: clamp(96px, 27vw, 138px) !important;
        margin-bottom: 12px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__title {
        font-size: .68rem !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__bio {
        max-width: 37ch !important;
        font-size: .89rem !important;
    }

    body.space-page.theme-leo-sh .space-v2-button {
        min-height: 55px !important;
        padding: 13px 16px !important;
    }

    body.space-page.theme-leo-sh .space-v2-event-cover__media img {
        height: 282px !important;
    }

    body.space-page.theme-leo-sh .space-v2-promo-card__media {
        height: 218px !important;
    }

    body.space-page.theme-leo-sh .space-v2-promo-card__bottom {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.space-page.theme-leo-sh .space-v2-promo-card__button {
        width: 100% !important;
    }
}

@media (max-width: 390px) {
    body.space-page.theme-leo-sh > main.test-wrap,
    body.space-page.theme-leo-sh > .test-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero {
        min-height: min(64dvh, 540px) !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__avatar {
        width: min(74vw, 252px) !important;
        height: 112px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__title {
        font-size: .64rem !important;
        letter-spacing: .11em !important;
    }

    body.space-page.theme-leo-sh .space-v2-text__content,
    body.space-page.theme-leo-sh
    .space-v2-block.is-boxed:not(.space-v2-block--event-cover):not(.space-v2-block--image-banner):not(.space-v2-block--youtube-embed) {
        padding: 15px !important;
    }
}

/* Landscape / short screens */
@media (max-height: 620px) and (orientation: landscape) {
    body.space-page.theme-leo-sh .space-page-hero {
        min-height: 480px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__avatar {
        width: 220px !important;
        height: 94px !important;
    }
}

/* ==========================================================================
   ACCESSIBILITY / PERFORMANCE
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    body.space-page.theme-leo-sh .space-v2-button,
    body.space-page.theme-leo-sh .space-v2-event-cover__media img,
    body.space-page.theme-leo-sh .space-v2-image-banner__image,
    body.space-page.theme-leo-sh .space-v2-promo-card__media img {
        transition: none !important;
    }
}

@media (prefers-contrast: more) {
    body.space-page.theme-leo-sh {
        --leo-line: rgba(242,181,68,.32);
        --leo-line-strong: rgba(242,181,68,.48);
        --leo-text-soft: #eadbbf;
        --leo-muted: #c0aa87;
    }
}


/* ==========================================================================
   LEO PAGE V2 — LAYOUT CONTAINMENT FIX
   Full-screen is reserved for the cover background.
   Page content keeps a real horizontal gutter.
   ========================================================================== */

body.space-page.theme-leo-sh {
    width: 100% !important;
    max-width: 100% !important;
}

/* The gutter belongs to the main V2 wrapper */
body.space-page.theme-leo-sh > main.test-wrap,
body.space-page.theme-leo-sh > .test-wrap {
    width: 100% !important;
    max-width: 560px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-top: calc(max(76px, env(safe-area-inset-top, 0px) + 60px)) !important;
    padding-bottom: 48px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;

    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Direct Page V2 content fills only the inner wrapper */
body.space-page.theme-leo-sh > main.test-wrap > .space-page-hero,
body.space-page.theme-leo-sh > main.test-wrap > .space-v2-block,
body.space-page.theme-leo-sh > .test-wrap > .space-page-hero,
body.space-page.theme-leo-sh > .test-wrap > .space-v2-block {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}

/* Prevent full-width descendants from overflowing horizontally */
body.space-page.theme-leo-sh .space-v2-button,
body.space-page.theme-leo-sh .space-v2-text__content,
body.space-page.theme-leo-sh .space-v2-image-banner,
body.space-page.theme-leo-sh .space-v2-promo-card,
body.space-page.theme-leo-sh .space-v2-youtube__frame-wrap,
body.space-page.theme-leo-sh .space-v2-gallery,
body.space-page.theme-leo-sh .space-v2-gallery__grid {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.space-page.theme-leo-sh .space-v2-button {
    width: 100% !important;
    overflow: hidden !important;
}

@media (max-width: 560px) {
    body.space-page.theme-leo-sh > main.test-wrap,
    body.space-page.theme-leo-sh > .test-wrap {
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-bottom: 38px !important;
    }
}

@media (max-width: 390px) {
    body.space-page.theme-leo-sh > main.test-wrap,
    body.space-page.theme-leo-sh > .test-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}


/* ==========================================================================
   LEO PAGE V2 — COMPACT CLIENT REFINEMENT
   Fusion:
   - authentic LEO menu palette / radius / micro-motion
   - darktest compact hero + dark premium buttons
   - no duplicated giant LEO title
   ========================================================================== */

@keyframes leoPageFadeUp {
    0% {
        opacity: 0;
        transform: translateY(14px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes leoPageSoftFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-3px);
    }
}

@keyframes leoPageGoldPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(242, 181, 68, .26);
    }
    70% {
        box-shadow: 0 0 0 7px rgba(242, 181, 68, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(242, 181, 68, 0);
    }
}

/* --------------------------------------------------------------------------
   Exact menu identity
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh {
    --leo-bg: #080705;
    --leo-bg-2: #11100d;
    --leo-card-solid: #15130f;
    --leo-card-soft: #1d1a15;
    --leo-card-warm: #241d14;

    --leo-wood: #d7b57a;
    --leo-wood-soft: #f1d7a0;

    /* EXACT palette from menu/private/leo-sh.css */
    --leo-gold: #f2b544;
    --leo-gold-2: #c98222;
    --leo-amber: #ff9f1c;
    --leo-beer: #f6a21a;

    --leo-text: #f7f0e4;
    --leo-text-soft: #d9c8aa;
    --leo-muted: #9b8b73;

    --leo-black: #050403;
    --leo-line: rgba(242, 181, 68, .18);
    --leo-line-hover: rgba(242, 181, 68, .36);
    --leo-line-strong: rgba(242, 181, 68, .42);
    --leo-line-soft: rgba(255,255,255,.08);
    --leo-glow: rgba(246, 162, 26, .28);

    --leo-radius-xs: 6px;
    --leo-radius-sm: 8px;
    --leo-radius-md: 10px;
    --leo-radius-lg: 12px;
    --leo-radius-xl: 14px;

    --sp-accent: var(--leo-gold);
    --sp-accent2: var(--leo-gold-2);
    --sp-radius-md: var(--leo-radius-md);
    --sp-radius-lg: var(--leo-radius-lg);
    --sp-radius-xl: var(--leo-radius-xl);

    background:
        radial-gradient(circle at 50% -10%, rgba(246,162,26,.09), transparent 38rem),
        linear-gradient(180deg, #0b0906 0%, #050403 100%) !important;
}

/* --------------------------------------------------------------------------
   Cover background stays full-screen, but darker and closer to menu
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh .space-page-hero__cover::before {
    background:
        radial-gradient(circle at 50% 10%, rgba(246,162,26,.12), transparent 38%),
        radial-gradient(circle at 10% 15%, rgba(215,181,122,.07), transparent 30%),
        linear-gradient(
            180deg,
            rgba(5,4,3,.30) 0%,
            rgba(5,4,3,.48) 36%,
            rgba(5,4,3,.80) 68%,
            rgba(5,4,3,.97) 100%
        ) !important;
}

body.space-page.theme-leo-sh .space-page-hero__cover::after {
    background:
        linear-gradient(90deg, rgba(3,2,2,.22), transparent 22%, transparent 78%, rgba(3,2,2,.22)),
        radial-gradient(ellipse at center, transparent 42%, rgba(0,0,0,.48) 100%) !important;
}

body.space-page.theme-leo-sh .space-page-hero__cover img {
    filter: contrast(1.08) saturate(.92) brightness(.54) !important;
}

/* --------------------------------------------------------------------------
   Main wrapper: content starts much earlier
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh > main.test-wrap,
body.space-page.theme-leo-sh > .test-wrap {
    max-width: 520px !important;

    padding-top: calc(max(34px, env(safe-area-inset-top, 0px) + 22px)) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: 42px !important;
}

/* --------------------------------------------------------------------------
   Compact hero
   Logo is the hero. Text is metadata.
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh .space-page-hero {
    min-height: 0 !important;

    display: block !important;

    margin: 0 0 18px !important;
    padding: 0 0 6px !important;

    text-align: center !important;
}

body.space-page.theme-leo-sh .space-page-hero__body {
    width: 100% !important;
    max-width: 470px !important;

    margin: 0 auto !important;
    padding: 0 !important;
}

body.space-page.theme-leo-sh .space-page-hero__avatar,
body.space-page.theme-leo-sh .space-page-hero__title,
body.space-page.theme-leo-sh .space-page-hero__subtitle,
body.space-page.theme-leo-sh .space-page-hero__bio {
    opacity: 0;
    animation: leoPageFadeUp .62s cubic-bezier(.16,1,.3,1) forwards;
}

body.space-page.theme-leo-sh .space-page-hero__avatar {
    width: min(68vw, 268px) !important;
    height: 102px !important;

    margin: 0 auto 8px !important;
    padding: 0 !important;

    animation-name: leoPageFadeUp, leoPageSoftFloat;
    animation-duration: .62s, 5s;
    animation-timing-function: cubic-bezier(.16,1,.3,1), ease-in-out;
    animation-delay: .04s, .9s;
    animation-fill-mode: forwards, none;
    animation-iteration-count: 1, infinite;
}

body.space-page.theme-leo-sh .space-page-hero__avatar img {
    filter:
        drop-shadow(0 12px 24px rgba(0,0,0,.52))
        drop-shadow(0 0 14px rgba(246,162,26,.08)) !important;
}

/*
 * Fundamental rule:
 * SVG already says LEO. Title remains visible but deliberately small.
 */
body.space-page.theme-leo-sh .space-page-hero__title {
    margin: 0 auto 5px !important;

    color: rgba(247,240,228,.62) !important;
    -webkit-text-fill-color: rgba(247,240,228,.62) !important;

    font-family: var(--font-body) !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;

    animation-delay: .10s;
}

/* Subtitle like the menu mini title, not a giant yellow badge */
body.space-page.theme-leo-sh .space-page-hero__subtitle {
    display: block !important;

    margin: 0 auto 8px !important;
    padding: 0 !important;

    color: var(--leo-gold) !important;
    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-family: var(--font-heading) !important;
    font-size: .69rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;

    animation-delay: .16s;
}

body.space-page.theme-leo-sh .space-page-hero__bio {
    max-width: 39ch !important;

    margin: 0 auto !important;

    color: rgba(217,200,170,.82) !important;

    font-size: .84rem !important;
    font-weight: 500 !important;
    line-height: 1.48 !important;

    animation-delay: .22s;
}

/* --------------------------------------------------------------------------
   Blocks: tighter Darktest rhythm
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh .space-v2-block {
    margin-bottom: 11px !important;
}

body.space-page.theme-leo-sh .space-v2-block.is-active {
    animation: leoPageFadeUp .52s cubic-bezier(.16,1,.3,1) both;
}

body.space-page.theme-leo-sh .space-v2-block.is-compact {
    margin-bottom: 8px !important;
}

body.space-page.theme-leo-sh
.space-v2-block.is-boxed:not(.space-v2-block--event-cover):not(.space-v2-block--image-banner):not(.space-v2-block--youtube-embed) {
    padding: 16px !important;

    background: rgba(15,13,10,.76) !important;

    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow:
        0 14px 30px rgba(0,0,0,.28),
        inset 0 1px rgba(255,255,255,.025) !important;

    backdrop-filter: blur(12px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(115%) !important;
}

/* --------------------------------------------------------------------------
   Buttons: Darktest usability + authentic LEO menu palette
   Gold is an accent until interaction.
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh .space-v2-button {
    width: 100% !important;
    min-height: 54px !important;

    padding: 13px 17px !important;

    color: var(--leo-text) !important;
    background: rgba(12,10,7,.80) !important;

    border: 1px solid rgba(242,181,68,.30) !important;
    border-radius: var(--leo-radius-xl) !important;

    box-shadow:
        0 10px 25px rgba(0,0,0,.29),
        inset 0 1px rgba(255,255,255,.035) !important;

    font-family: var(--font-body) !important;
    font-size: .92rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: .015em !important;
    text-transform: none !important;

    backdrop-filter: blur(11px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(11px) saturate(120%) !important;

    transition:
        transform .24s cubic-bezier(.16,1,.3,1),
        background .24s ease,
        border-color .24s ease,
        color .24s ease,
        box-shadow .24s ease,
        filter .24s ease !important;
}

body.space-page.theme-leo-sh .space-v2-button::before {
    top: 50% !important;
    bottom: auto !important;
    left: 14px !important;

    width: 6px !important;
    height: 6px !important;

    border-radius: 50% !important;
    background: var(--leo-gold) !important;

    transform: translateY(-50%) !important;
    opacity: .95 !important;

    animation: leoPageGoldPulse 2.8s ease-out infinite;
}

body.space-page.theme-leo-sh .space-v2-button::after {
    display: none !important;
}

body.space-page.theme-leo-sh .space-v2-button:hover,
body.space-page.theme-leo-sh .space-v2-button:focus-visible {
    color: #1a1004 !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.18), transparent 35%),
        linear-gradient(180deg, var(--leo-gold), var(--leo-gold-2)) !important;

    border-color: rgba(255,220,150,.38) !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 16px 30px rgba(0,0,0,.40),
        0 0 28px rgba(246,162,26,.20) !important;

    filter: brightness(1.04) !important;
}

body.space-page.theme-leo-sh .space-v2-button:active {
    transform: translateY(0) scale(.986) !important;
}

body.space-page.theme-leo-sh .space-v2-button__icon {
    color: var(--leo-gold) !important;
}

body.space-page.theme-leo-sh .space-v2-button:hover .space-v2-button__icon,
body.space-page.theme-leo-sh .space-v2-button:focus-visible .space-v2-button__icon {
    color: #1a1004 !important;
}

/* --------------------------------------------------------------------------
   Section titles / text
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh .space-v2-block--title {
    margin-top: 21px !important;
    margin-bottom: 10px !important;
}

body.space-page.theme-leo-sh .space-v2-title__heading {
    padding-bottom: 7px !important;

    color: var(--leo-wood-soft) !important;
    -webkit-text-fill-color: var(--leo-wood-soft) !important;

    font-size: clamp(1.48rem, 6vw, 1.95rem) !important;
    letter-spacing: .025em !important;
}

body.space-page.theme-leo-sh .space-v2-title__heading::after {
    width: 38px !important;
    height: 2px !important;

    background: linear-gradient(90deg, var(--leo-gold), transparent) !important;
}

body.space-page.theme-leo-sh .space-v2-title__subtitle {
    color: var(--leo-muted) !important;

    font-size: .72rem !important;
    letter-spacing: .10em !important;
}

body.space-page.theme-leo-sh .space-v2-text__content {
    padding: 16px 17px !important;

    color: var(--leo-text-soft) !important;
    background: rgba(15,13,10,.72) !important;

    border-color: rgba(255,255,255,.08) !important;
    border-radius: var(--leo-radius-xl) !important;

    font-size: .90rem !important;
    line-height: 1.58 !important;

    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* --------------------------------------------------------------------------
   Divider
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh .space-v2-divider {
    margin: 18px 0 !important;
}

body.space-page.theme-leo-sh .space-v2-divider__line {
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(242,181,68,.28),
            transparent
        ) !important;
}

body.space-page.theme-leo-sh .space-v2-divider__label {
    color: var(--leo-muted) !important;

    font-size: .60rem !important;
    letter-spacing: .12em !important;
}

/* --------------------------------------------------------------------------
   Media / cards unified to menu max-radius 14px
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh .space-v2-block--event-cover,
body.space-page.theme-leo-sh .space-v2-image-banner,
body.space-page.theme-leo-sh .space-v2-promo-card,
body.space-page.theme-leo-sh .space-v2-gallery__item,
body.space-page.theme-leo-sh .space-v2-youtube__frame-wrap {
    border-radius: var(--leo-radius-xl) !important;
    border-color: rgba(242,181,68,.18) !important;
}

body.space-page.theme-leo-sh .space-v2-block--event-cover,
body.space-page.theme-leo-sh .space-v2-promo-card,
body.space-page.theme-leo-sh .space-v2-youtube__frame-wrap {
    box-shadow:
        0 18px 40px rgba(0,0,0,.42),
        0 0 28px rgba(246,162,26,.05) !important;
}

body.space-page.theme-leo-sh .space-v2-event-cover__eyebrow,
body.space-page.theme-leo-sh .space-v2-promo-card__eyebrow {
    color: var(--leo-gold) !important;
}

body.space-page.theme-leo-sh .space-v2-event-cover__title,
body.space-page.theme-leo-sh .space-v2-promo-card__title,
body.space-page.theme-leo-sh .space-v2-gallery__title,
body.space-page.theme-leo-sh .space-v2-youtube__title {
    color: var(--leo-wood-soft) !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__badge {
    color: var(--leo-gold) !important;
    background: rgba(246,162,26,.08) !important;

    border-color: rgba(242,181,68,.22) !important;
    border-radius: var(--leo-radius-sm) !important;
}

body.space-page.theme-leo-sh .space-v2-promo-card__button,
body.space-page.theme-leo-sh .space-v2-event-cover__actions .space-v2-button {
    color: #1a1004 !important;
    background:
        linear-gradient(180deg, var(--leo-gold), var(--leo-gold-2)) !important;

    border-color: rgba(255,220,150,.30) !important;
    border-radius: var(--leo-radius-lg) !important;
}

/* --------------------------------------------------------------------------
   Optional builder variants aligned with the new base
   -------------------------------------------------------------------------- */

body.space-page.theme-leo-sh .leo-dark .space-v2-button,
body.space-page.theme-leo-sh .space-v2-button.leo-dark {
    color: var(--leo-text) !important;
    background: rgba(5,4,3,.76) !important;

    border-color: rgba(255,255,255,.09) !important;
}

body.space-page.theme-leo-sh .leo-outline .space-v2-button,
body.space-page.theme-leo-sh .space-v2-button.leo-outline {
    color: var(--leo-gold) !important;
    background: rgba(5,4,3,.36) !important;

    border-color: rgba(242,181,68,.34) !important;
}

body.space-page.theme-leo-sh .leo-wood .space-v2-button,
body.space-page.theme-leo-sh .space-v2-button.leo-wood {
    color: #1a1004 !important;
    background:
        linear-gradient(180deg, var(--leo-wood-soft), var(--leo-wood)) !important;

    border-color: rgba(255,240,205,.28) !important;
}

/* --------------------------------------------------------------------------
   Mobile tuning: first buttons visible quickly
   -------------------------------------------------------------------------- */

@media (max-width: 560px) {
    body.space-page.theme-leo-sh > main.test-wrap,
    body.space-page.theme-leo-sh > .test-wrap {
        padding-top: calc(max(26px, env(safe-area-inset-top, 0px) + 18px)) !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-bottom: 36px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero {
        min-height: 0 !important;
        margin-bottom: 15px !important;
        padding-bottom: 3px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__avatar {
        width: min(68vw, 242px) !important;
        height: 91px !important;

        margin-bottom: 6px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__title {
        margin-bottom: 4px !important;
        font-size: .59rem !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__subtitle {
        margin-bottom: 7px !important;
        font-size: .65rem !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__bio {
        max-width: 36ch !important;
        font-size: .81rem !important;
        line-height: 1.43 !important;
    }

    body.space-page.theme-leo-sh .space-v2-button {
        min-height: 52px !important;
        padding: 12px 16px !important;
    }
}

@media (max-width: 390px) {
    body.space-page.theme-leo-sh > main.test-wrap,
    body.space-page.theme-leo-sh > .test-wrap {
        padding-top: calc(max(22px, env(safe-area-inset-top, 0px) + 14px)) !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__avatar {
        width: min(70vw, 226px) !important;
        height: 84px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__bio {
        max-width: 34ch !important;
        font-size: .79rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.space-page.theme-leo-sh .space-page-hero__avatar,
    body.space-page.theme-leo-sh .space-page-hero__title,
    body.space-page.theme-leo-sh .space-page-hero__subtitle,
    body.space-page.theme-leo-sh .space-page-hero__bio,
    body.space-page.theme-leo-sh .space-v2-block.is-active,
    body.space-page.theme-leo-sh .space-v2-button::before {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}


/* ==========================================================================
   LEO PAGE V2 — HERO VERTICAL BALANCE
   Safe area below floating page actions, without bringing back a tall hero.
   ========================================================================== */

/*
 * Design rule:
 * floating utility controls own the top band.
 * Brand starts below that band with breathing room.
 */
body.space-page.theme-leo-sh > main.test-wrap,
body.space-page.theme-leo-sh > .test-wrap {
    padding-top: calc(max(58px, env(safe-area-inset-top, 0px) + 48px)) !important;
}

/* Slightly smaller mark keeps the first CTA above the fold */
body.space-page.theme-leo-sh .space-page-hero__avatar {
    width: min(62vw, 242px) !important;
    height: 88px !important;

    margin-bottom: 7px !important;
}

/* Keep the textual name visible but visually subordinate to the SVG wordmark */
body.space-page.theme-leo-sh .space-page-hero__title {
    margin-bottom: 4px !important;
    font-size: .58rem !important;
    letter-spacing: .14em !important;
}

/* Compact location / positioning line */
body.space-page.theme-leo-sh .space-page-hero__subtitle {
    margin-bottom: 7px !important;
    font-size: .64rem !important;
    letter-spacing: .13em !important;
}

/* Bio remains readable but consumes less vertical space */
body.space-page.theme-leo-sh .space-page-hero__bio {
    max-width: 38ch !important;
    font-size: .80rem !important;
    line-height: 1.42 !important;
}

/* Tighten transition from identity area to actions */
body.space-page.theme-leo-sh .space-page-hero {
    margin-bottom: 13px !important;
    padding-bottom: 2px !important;
}

@media (max-width: 560px) {
    body.space-page.theme-leo-sh > main.test-wrap,
    body.space-page.theme-leo-sh > .test-wrap {
        padding-top: calc(max(62px, env(safe-area-inset-top, 0px) + 52px)) !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__avatar {
        width: min(62vw, 226px) !important;
        height: 84px !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__bio {
        max-width: 35ch !important;
        font-size: .79rem !important;
        line-height: 1.40 !important;
    }
}

@media (max-width: 390px) {
    body.space-page.theme-leo-sh > main.test-wrap,
    body.space-page.theme-leo-sh > .test-wrap {
        padding-top: calc(max(58px, env(safe-area-inset-top, 0px) + 48px)) !important;
    }

    body.space-page.theme-leo-sh .space-page-hero__avatar {
        width: min(64vw, 212px) !important;
        height: 78px !important;
    }
}

body.space-page.theme-leo-sh > main.test-wrap {
    display: flex !important;
    justify-content: center !important;
}
