/* ==========================================================================
   SPACE PAGE V2 — SUNSET ROCK
   Path: public/assets/themes/pro/sunset_rock.css
   Theme code: sunset_rock
   Style: cinematic sunset / editorial lounge / clean glass pills
   Hero: edge-to-edge cover, normal document flow (NOT page background)
   ========================================================================== */

@import url('../space_v2_modern_core.css');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,700;1,900&family=Outfit:wght@300;400;500;600;700;800&display=swap');

body.space-page {
    --sr-bg: #0a0a0f;
    --sr-bg-2: #111019;
    --sr-surface: rgba(255,255,255,.045);
    --sr-surface-strong: rgba(18,16,24,.92);
    --sr-surface-soft: rgba(255,255,255,.065);

    --sr-sun: #ff8c42;
    --sr-rose: #f43f5e;
    --sr-gold: #fbbf24;
    --sr-peach: #feb47b;

    --sr-text: #f8fafc;
    --sr-soft: #cbd5e1;
    --sr-muted: #8f9bad;

    --sr-line: rgba(255,255,255,.09);
    --sr-line-strong: rgba(255,255,255,.16);

    --sr-shadow: 0 18px 44px rgba(0,0,0,.32);
    --sr-shadow-strong: 0 28px 70px rgba(0,0,0,.48);

    --sr-radius-xl: 30px;
    --sr-radius-lg: 24px;
    --sr-radius-md: 18px;
    --sr-pill: 999px;

    --f-title: 'Playfair Display', Georgia, serif;
    --f-body: 'Outfit', Inter, system-ui, sans-serif;

    /* Shared V2 core bridge */
    --sp-bg: var(--sr-bg);
    --sp-bg2: var(--sr-bg-2);
    --sp-surface: var(--sr-surface-strong);
    --sp-surface2: #17151e;
    --sp-text: var(--sr-text);
    --sp-soft: var(--sr-soft);
    --sp-muted: var(--sr-muted);
    --sp-line: var(--sr-line);
    --sp-line-strong: var(--sr-line-strong);
    --sp-accent: var(--sr-sun);
    --sp-accent-ink: #180c05;
    --sp-accent2: var(--sr-rose);
    --sp-hero-title: #fff;
    --sp-button-bg: var(--sr-surface);
    --sp-button-text: #fff;
    --sp-button-border: var(--sr-line);
    --sp-event-gradient: var(--sr-bg);
    --sp-page-background: var(--sr-bg);

    --sp-radius-xl: var(--sr-radius-xl);
    --sp-radius-lg: var(--sr-radius-lg);
    --sp-radius-md: var(--sr-radius-md);
    --sp-shadow: var(--sr-shadow);
    --sp-shadow-strong: var(--sr-shadow-strong);

    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;

    color: var(--sr-text) !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(244,63,94,.14) 0%, transparent 44rem),
        radial-gradient(circle at 0% 100%, rgba(251,191,36,.09) 0%, transparent 42rem),
        linear-gradient(180deg, #0b0a10 0%, #07070b 100%) !important;

    font-family: var(--f-body) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.space-page::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .50;

    background:
        radial-gradient(circle at 83% 13%, rgba(255,140,66,.07), transparent 28rem),
        radial-gradient(circle at 14% 72%, rgba(244,63,94,.045), transparent 26rem);
}

/* ==========================================================================
   MAIN LAYOUT / REAL GUTTER
   ========================================================================== */

body.space-page > main.test-wrap,
body.space-page > .test-wrap {
    position: relative !important;
    z-index: 1 !important;

    width: 100% !important;
    max-width: 560px !important;
    min-height: 100dvh !important;

    margin: 0 auto !important;

    /* top is zero because the hero cover starts edge-to-edge */
    padding: 0 18px 48px !important;

    box-sizing: border-box !important;
    overflow: visible !important;
    background: transparent !important;
}

/*
 * Normal V2 blocks stay inside the content gutter.
 * Hero has its own full-bleed system below.
 */
body.space-page > main.test-wrap > .space-v2-block,
body.space-page > .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;
}

body.space-page .space-v2-button,
body.space-page .space-v2-text__content,
body.space-page .space-v2-image-banner,
body.space-page .space-v2-promo-card,
body.space-page .space-v2-youtube__frame-wrap,
body.space-page .space-v2-gallery,
body.space-page .space-v2-gallery__grid {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   HERO — FULL-BLEED COVER, NOT PAGE BACKGROUND
   ========================================================================== */

body.space-page .space-page-hero {
    position: relative !important;
    z-index: 2 !important;

    /*
     * Hero itself breaks out of the 560px wrapper.
     * The cover fills viewport width, but remains in normal flow.
     */
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;

    margin: 0 0 42px !important;
    padding: 0 !important;

    transform: translateX(-50%) !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.space-page .space-page-hero__cover {
    position: relative !important;

    width: 100% !important;
    height: clamp(320px, 52dvh, 560px) !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #15121a !important;

    box-shadow:
        0 28px 64px rgba(0,0,0,.42) !important;

    mask-image: none !important;
    -webkit-mask-image: none !important;
}

body.space-page .space-page-hero__cover::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;

    background:
        radial-gradient(circle at 78% 20%, rgba(255,140,66,.22), transparent 32%),
        radial-gradient(circle at 18% 72%, rgba(244,63,94,.12), transparent 36%),
        linear-gradient(
            180deg,
            rgba(10,10,15,.02) 0%,
            rgba(10,10,15,.08) 46%,
            rgba(10,10,15,.74) 100%
        );
}

body.space-page .space-page-hero__cover::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;

    background:
        linear-gradient(90deg, rgba(5,5,9,.16), transparent 25%, transparent 75%, rgba(5,5,9,.16)),
        linear-gradient(180deg, transparent 60%, rgba(10,10,15,.32) 100%);
}

body.space-page .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: sepia(.12) saturate(.94) contrast(1.08) brightness(.82) !important;

    transform: scale(1.015);
    transition: transform 7s cubic-bezier(.19,1,.22,1), filter .7s ease !important;

    mask-image: none !important;
    -webkit-mask-image: none !important;
}

body.space-page .space-page-hero:hover .space-page-hero__cover img {
    transform: scale(1.055) !important;
    filter: sepia(.08) saturate(1) contrast(1.08) brightness(.87) !important;
}

/*
 * Body becomes constrained again after the full-width cover.
 * This is where the margin/gutter resumes.
 */
body.space-page .space-page-hero__body {
    position: relative !important;
    z-index: 4 !important;

    width: min(calc(100% - 36px), 524px) !important;
    max-width: 524px !important;

    margin: -72px auto 0 !important;
    padding: 0 !important;

    text-align: center !important;
}

body.space-page .space-page-hero__avatar {
    width: 112px !important;
    height: 112px !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 auto 17px !important;
    padding: 4px !important;

    overflow: hidden !important;

    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 50% !important;

    background: rgba(10,10,15,.94) !important;

    box-shadow:
        0 18px 42px rgba(0,0,0,.44),
        0 0 0 4px rgba(10,10,15,.35) !important;

    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body.space-page .space-page-hero__avatar img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;
    object-fit: cover !important;

    border-radius: 50% !important;
    background: transparent !important;
}

body.space-page .space-page-hero__avatar span {
    color: var(--sr-gold) !important;

    font-family: var(--f-body) !important;
    font-size: .70rem !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

body.space-page .space-page-hero__title {
    max-width: 13ch !important;

    margin: 0 auto 8px !important;

    color: #fff !important;
    background: none !important;
    background-image: none !important;

    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: #fff !important;

    font-family: var(--f-title) !important;
    font-size: clamp(2.55rem, 10vw, 3.55rem) !important;
    font-style: italic !important;
    font-weight: 900 !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;

    text-wrap: balance;
    text-shadow: 0 5px 26px rgba(0,0,0,.44) !important;

    opacity: 1 !important;
    visibility: visible !important;
}

body.space-page .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 14px !important;
    padding: 0 !important;

    color: var(--sr-sun) !important;
    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    font-family: var(--f-body) !important;
    font-size: .68rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;

    box-shadow: none !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.40) !important;
}

body.space-page .space-page-hero__bio {
    max-width: 38ch !important;

    margin: 0 auto !important;

    color: #a9b2c0 !important;

    font-family: var(--f-body) !important;
    font-size: .94rem !important;
    font-weight: 300 !important;
    line-height: 1.72 !important;

    text-align: center !important;
}

/* ==========================================================================
   BLOCK RHYTHM
   ========================================================================== */

body.space-page .space-v2-block {
    position: relative !important;
    z-index: 3 !important;

    margin-bottom: 20px !important;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body.space-page .space-v2-block.is-compact {
    margin-bottom: 12px !important;
}

body.space-page
.space-v2-block.is-boxed:not(.space-v2-block--event-cover):not(.space-v2-block--image-banner):not(.space-v2-block--youtube-embed) {
    padding: 22px !important;

    color: var(--sr-text) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.018), transparent),
        var(--sr-surface) !important;

    border: 1px solid var(--sr-line) !important;
    border-radius: var(--sr-radius-lg) !important;

    box-shadow: var(--sr-shadow) !important;

    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* ==========================================================================
   TITLES
   ========================================================================== */

body.space-page .space-v2-block--title {
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    padding: 0 2px !important;
}

body.space-page .space-v2-title__heading {
    margin: 0 !important;

    color: #fff !important;
    background: none !important;
    -webkit-text-fill-color: #fff !important;

    font-family: var(--f-title) !important;
    font-size: clamp(1.9rem, 7.4vw, 2.55rem) !important;
    font-style: italic !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.04em !important;

    text-align: left !important;
    text-wrap: balance;
}

body.space-page .space-v2-title__subtitle {
    margin: 8px 0 0 !important;

    color: var(--sr-rose) !important;

    font-family: var(--f-body) !important;
    font-size: .70rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    letter-spacing: .20em !important;
    text-transform: uppercase !important;
    text-align: left !important;
}

/* ==========================================================================
   TEXT
   ========================================================================== */

body.space-page .space-v2-text__content {
    margin: 0 !important;
    padding: 20px 21px !important;

    color: var(--sr-soft) !important;
    background: var(--sr-surface) !important;

    border: 1px solid var(--sr-line) !important;
    border-radius: var(--sr-radius-lg) !important;

    box-shadow: var(--sr-shadow) !important;

    font-family: var(--f-body) !important;
    font-size: .95rem !important;
    font-weight: 300 !important;
    line-height: 1.72 !important;
    text-align: left !important;

    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* ==========================================================================
   BUTTONS — PRESERVE SUNSET ROCK CLEAN GLASS PILLS
   ========================================================================== */

body.space-page .space-v2-block--button-link {
    display: block !important;
}

body.space-page .space-v2-button {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;

    margin: 0 !important;
    padding: 15px 28px !important;

    overflow: hidden !important;

    color: #fff !important;
    background: var(--sr-surface) !important;

    border: 1px solid var(--sr-line) !important;
    border-radius: var(--sr-pill) !important;

    box-shadow:
        0 12px 28px rgba(0,0,0,.18),
        inset 0 1px rgba(255,255,255,.025) !important;

    font-family: var(--f-body) !important;
    font-size: .91rem !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    letter-spacing: .06em !important;
    text-decoration: none !important;

    backdrop-filter: blur(11px) !important;
    -webkit-backdrop-filter: blur(11px) !important;

    transition:
        transform .42s cubic-bezier(.19,1,.22,1),
        background .42s ease,
        color .42s ease,
        border-color .42s ease,
        box-shadow .42s ease !important;
}

body.space-page .space-v2-button::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 50%;

    width: 5px;
    height: 5px;

    border-radius: 50%;
    background: var(--sr-sun);

    transform: translateY(-50%);

    box-shadow: 0 0 14px rgba(255,140,66,.48);
}

body.space-page .space-v2-button:hover {
    color: #07070b !important;
    background: #fff !important;

    border-color: #fff !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 17px 34px rgba(255,255,255,.09),
        0 12px 26px rgba(0,0,0,.24) !important;

    filter: none !important;
}

body.space-page .space-v2-button:active {
    transform: translateY(0) scale(.99) !important;
}

body.space-page .space-v2-button:focus-visible {
    outline: 3px solid rgba(255,140,66,.24) !important;
    outline-offset: 3px !important;
}

body.space-page .space-v2-button__icon {
    color: currentColor !important;
    font-size: 1.06rem !important;
}

body.space-page .space-v2-button__text {
    color: currentColor !important;
}

/* ==========================================================================
   DIVIDER
   ========================================================================== */

body.space-page .space-v2-divider {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;

    margin: 26px 0 !important;
}

body.space-page .space-v2-divider__line {
    flex: 1 1 auto !important;
    height: 1px !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--sr-line-strong),
            transparent
        ) !important;
}

body.space-page .space-v2-divider__label {
    color: #657083 !important;

    font-family: var(--f-body) !important;
    font-size: .60rem !important;
    font-weight: 400 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
}

/* ==========================================================================
   EVENT COVER — CINEMATIC POSTER
   ========================================================================== */

body.space-page .space-v2-block--event-cover {
    position: relative !important;
    overflow: hidden !important;

    min-height: 330px !important;

    background: #050508 !important;

    border: 1px solid var(--sr-line) !important;
    border-radius: var(--sr-radius-xl) !important;

    box-shadow: var(--sr-shadow-strong) !important;
}

body.space-page .space-v2-event-cover__media img {
    width: 100% !important;
    height: 330px !important;

    display: block !important;
    object-fit: cover !important;

    filter: sepia(.08) saturate(.92) contrast(1.08) brightness(.72) !important;

    transition: transform .85s cubic-bezier(.19,1,.22,1), filter .5s ease !important;
}

body.space-page .space-v2-block--event-cover:hover .space-v2-event-cover__media img {
    transform: scale(1.055) !important;
    filter: sepia(.04) saturate(1) contrast(1.08) brightness(.80) !important;
}

body.space-page .space-v2-event-cover__content {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    padding: 96px 24px 24px !important;

    background:
        linear-gradient(
            to top,
            rgba(10,10,15,.99) 0%,
            rgba(10,10,15,.72) 56%,
            transparent 100%
        ) !important;

    text-align: left !important;
}

body.space-page .space-v2-event-cover__eyebrow {
    margin-bottom: 7px !important;

    color: var(--sr-sun) !important;

    font-family: var(--f-body) !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

body.space-page .space-v2-event-cover__title {
    margin: 0 0 7px !important;

    color: #fff !important;

    font-family: var(--f-title) !important;
    font-size: clamp(1.9rem, 7.4vw, 2.55rem) !important;
    font-style: italic !important;
    font-weight: 900 !important;
    line-height: .98 !important;
    letter-spacing: -.035em !important;
}

body.space-page .space-v2-event-cover__subtitle {
    margin: 0 0 16px !important;

    color: rgba(255,255,255,.72) !important;

    font-size: .87rem !important;
    font-weight: 300 !important;
    line-height: 1.52 !important;
}

body.space-page .space-v2-event-cover__actions .space-v2-button {
    width: auto !important;
    min-height: 42px !important;

    display: inline-flex !important;

    padding: 10px 16px !important;

    color: #fff !important;
    background:
        linear-gradient(135deg, var(--sr-sun), var(--sr-rose)) !important;

    border: 0 !important;
    border-radius: var(--sr-pill) !important;

    box-shadow: 0 11px 25px rgba(244,63,94,.18) !important;
}

body.space-page .space-v2-event-cover__actions .space-v2-button::before {
    display: none !important;
}

/* ==========================================================================
   IMAGE BANNER
   ========================================================================== */

body.space-page .space-v2-image-banner {
    overflow: hidden !important;

    background: var(--sr-surface) !important;

    border: 1px solid var(--sr-line) !important;
    border-radius: var(--sr-radius-xl) !important;

    box-shadow: var(--sr-shadow) !important;

    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body.space-page .space-v2-image-banner__image {
    width: 100% !important;
    max-height: 340px !important;

    display: block !important;
    object-fit: cover !important;

    filter: sepia(.06) saturate(.95) contrast(1.04) !important;

    transition: transform .70s cubic-bezier(.19,1,.22,1), filter .45s ease !important;
}

body.space-page .space-v2-image-banner:hover .space-v2-image-banner__image {
    transform: scale(1.035) !important;
    filter: sepia(0) saturate(1) contrast(1.04) !important;
}

body.space-page .space-v2-image-banner__caption {
    padding: 14px 17px 16px !important;

    color: var(--sr-soft) !important;

    font-family: var(--f-body) !important;
    font-size: .88rem !important;
    font-weight: 300 !important;
    line-height: 1.50 !important;
    text-align: left !important;
}

/* ==========================================================================
   PROMO CARD
   ========================================================================== */

body.space-page .space-v2-promo-card {
    overflow: hidden !important;

    color: var(--sr-text) !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(255,140,66,.11), transparent 34%),
        radial-gradient(circle at 0% 100%, rgba(244,63,94,.07), transparent 36%),
        rgba(255,255,255,.038) !important;

    border: 1px solid var(--sr-line) !important;
    border-radius: var(--sr-radius-xl) !important;

    box-shadow: var(--sr-shadow-strong) !important;

    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body.space-page .space-v2-promo-card__media {
    height: 245px !important;
    background: #15121a !important;
}

body.space-page .space-v2-promo-card__media img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;
    object-fit: cover !important;

    filter: sepia(.07) saturate(.94) contrast(1.05) brightness(.86) !important;

    transition: transform .70s cubic-bezier(.19,1,.22,1), filter .5s ease !important;
}

body.space-page .space-v2-promo-card:hover .space-v2-promo-card__media img {
    transform: scale(1.04) !important;
    filter: sepia(0) saturate(1) contrast(1.05) brightness(.92) !important;
}

body.space-page .space-v2-promo-card__content {
    padding: 21px !important;
}

body.space-page .space-v2-promo-card__eyebrow {
    color: var(--sr-sun) !important;

    font-family: var(--f-body) !important;
    font-size: .63rem !important;
    font-weight: 700 !important;
    letter-spacing: .20em !important;
    text-transform: uppercase !important;
}

body.space-page .space-v2-promo-card__badge {
    color: #fff !important;
    background: rgba(244,63,94,.13) !important;

    border: 1px solid rgba(244,63,94,.25) !important;
    border-radius: var(--sr-pill) !important;

    font-family: var(--f-body) !important;
    font-size: .61rem !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
}

body.space-page .space-v2-promo-card__title {
    margin: 0 !important;

    color: #fff !important;

    font-family: var(--f-title) !important;
    font-size: clamp(1.75rem, 7vw, 2.35rem) !important;
    font-style: italic !important;
    font-weight: 900 !important;
    line-height: .99 !important;
    letter-spacing: -.04em !important;
}

body.space-page .space-v2-promo-card__description {
    color: var(--sr-muted) !important;

    font-family: var(--f-body) !important;
    font-weight: 300 !important;
    line-height: 1.58 !important;
}

body.space-page .space-v2-promo-card__price {
    color: var(--sr-gold) !important;

    font-family: var(--f-body) !important;
    font-size: 1.18rem !important;
    font-weight: 800 !important;
}

body.space-page .space-v2-promo-card__button {
    min-height: 42px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 10px 15px !important;

    color: #fff !important;
    background:
        linear-gradient(135deg, var(--sr-sun), var(--sr-rose)) !important;

    border-radius: var(--sr-pill) !important;

    box-shadow: 0 10px 24px rgba(244,63,94,.16) !important;

    font-family: var(--f-body) !important;
    font-size: .76rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Promo popup */
body.space-page .space-v2-promo-popup__backdrop {
    background:
        radial-gradient(circle at 82% 8%, rgba(244,63,94,.15), transparent 36%),
        radial-gradient(circle at 12% 86%, rgba(255,140,66,.10), transparent 34%),
        rgba(7,7,11,.84) !important;

    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

body.space-page .space-v2-promo-popup__close {
    color: #fff !important;
    background: rgba(10,10,15,.86) !important;

    border-color: var(--sr-line-strong) !important;
    border-radius: 50% !important;

    box-shadow: 0 10px 28px rgba(0,0,0,.34) !important;
}

/* ==========================================================================
   GALLERY
   ========================================================================== */

body.space-page .space-v2-gallery__head {
    margin-bottom: 14px !important;
    text-align: left !important;
}

body.space-page .space-v2-gallery__title {
    margin: 0 !important;

    color: #fff !important;

    font-family: var(--f-title) !important;
    font-size: 1.70rem !important;
    font-style: italic !important;
    font-weight: 900 !important;
    letter-spacing: -.03em !important;
}

body.space-page .space-v2-gallery__subtitle {
    margin-top: 5px !important;

    color: var(--sr-muted) !important;

    font-family: var(--f-body) !important;
    font-size: .84rem !important;
    font-weight: 300 !important;
    line-height: 1.48 !important;
}

body.space-page .space-v2-gallery__grid {
    gap: 9px !important;
}

body.space-page .space-v2-gallery__item {
    overflow: hidden !important;

    background: #131119 !important;

    border: 1px solid var(--sr-line) !important;
    border-radius: 22px !important;

    box-shadow: 0 14px 32px rgba(0,0,0,.28) !important;
}

body.space-page .space-v2-gallery__item img {
    filter: sepia(.05) saturate(.95) contrast(1.03) brightness(.91) !important;
}

body.space-page .space-v2-gallery__item figcaption {
    color: #fff !important;
    background: rgba(10,10,15,.76) !important;

    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: var(--sr-pill) !important;

    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body.space-page .space-v2-gallery--carousel .space-v2-gallery__item,
body.space-page .space-v2-gallery--carousel .space-v2-gallery__item--1,
body.space-page .space-v2-gallery--carousel .space-v2-gallery__item--4 {
    border-radius: 26px !important;
}

/* ==========================================================================
   YOUTUBE
   ========================================================================== */

body.space-page .space-v2-youtube__title {
    margin: 0 0 11px !important;

    color: #fff !important;

    font-family: var(--f-title) !important;
    font-size: 1.55rem !important;
    font-style: italic !important;
    font-weight: 900 !important;
    letter-spacing: -.03em !important;
    text-align: left !important;
}

body.space-page .space-v2-youtube__frame-wrap {
    overflow: hidden !important;

    background: #000 !important;

    border: 1px solid var(--sr-line) !important;
    border-radius: var(--sr-radius-xl) !important;

    box-shadow: var(--sr-shadow-strong) !important;
}

/* ==========================================================================
   OPTIONAL BUILDER VARIANTS
   ========================================================================== */

/* style.class = sunset-primary */
body.space-page .sunset-primary .space-v2-button,
body.space-page .space-v2-button.sunset-primary {
    color: #fff !important;
    background:
        linear-gradient(135deg, var(--sr-sun), var(--sr-rose)) !important;

    border-color: transparent !important;

    box-shadow: 0 13px 28px rgba(244,63,94,.18) !important;
}

body.space-page .sunset-primary .space-v2-button::before,
body.space-page .space-v2-button.sunset-primary::before {
    background: #fff;
}

/* style.class = sunset-outline */
body.space-page .sunset-outline .space-v2-button,
body.space-page .space-v2-button.sunset-outline {
    color: var(--sr-sun) !important;
    background: transparent !important;

    border-color: rgba(255,140,66,.30) !important;

    box-shadow: none !important;
}

/* style.class = sunset-white */
body.space-page .sunset-white .space-v2-button,
body.space-page .space-v2-button.sunset-white {
    color: #08080d !important;
    background: #fff !important;

    border-color: #fff !important;
}

/* ==========================================================================
   FOOTER COMPATIBILITY
   ========================================================================== */

body.space-page > .space-public-footer,
body.space-page > .space-public-footer--shared {
    position: relative !important;
    z-index: 4 !important;

    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}

/* Old V2 footer fallback */
body.space-page .footer-v2 {
    color: var(--sr-muted) !important;
}

body.space-page .footer-v2 a {
    color: #fff !important;
    background: var(--sr-surface) !important;

    border-color: var(--sr-line) !important;
    border-radius: var(--sr-pill) !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 560px) {
    body.space-page > main.test-wrap,
    body.space-page > .test-wrap {
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-bottom: 38px !important;
    }

    body.space-page .space-page-hero {
        margin-bottom: 38px !important;
    }

    body.space-page .space-page-hero__cover {
        height: clamp(305px, 48dvh, 430px) !important;
    }

    body.space-page .space-page-hero__body {
        width: calc(100% - 28px) !important;
        margin-top: -64px !important;
    }

    body.space-page .space-page-hero__avatar {
        width: 102px !important;
        height: 102px !important;
    }

    body.space-page .space-page-hero__title {
        font-size: clamp(2.3rem, 11vw, 3rem) !important;
    }

    body.space-page .space-page-hero__bio {
        max-width: 35ch !important;
        font-size: .91rem !important;
    }

    body.space-page .space-v2-button {
        min-height: 56px !important;
        padding: 14px 25px !important;
    }

    body.space-page .space-v2-event-cover__media img {
        height: 300px !important;
    }

    body.space-page .space-v2-promo-card__media {
        height: 220px !important;
    }

    body.space-page .space-v2-promo-card__bottom {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.space-page .space-v2-promo-card__button {
        width: 100% !important;
    }
}

@media (max-width: 390px) {
    body.space-page > main.test-wrap,
    body.space-page > .test-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.space-page .space-page-hero__cover {
        height: 320px !important;
    }

    body.space-page .space-page-hero__body {
        width: calc(100% - 24px) !important;
    }

    body.space-page .space-page-hero__avatar {
        width: 94px !important;
        height: 94px !important;
    }

    body.space-page .space-page-hero__title {
        font-size: 2.25rem !important;
    }

    body.space-page .space-v2-text__content,
    body.space-page
    .space-v2-block.is-boxed:not(.space-v2-block--event-cover):not(.space-v2-block--image-banner):not(.space-v2-block--youtube-embed) {
        padding: 17px !important;
    }
}

/* ==========================================================================
   ACCESSIBILITY / PERFORMANCE
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    body.space-page .space-page-hero__cover img,
    body.space-page .space-v2-button,
    body.space-page .space-v2-event-cover__media img,
    body.space-page .space-v2-image-banner__image,
    body.space-page .space-v2-promo-card__media img {
        transition: none !important;
    }
}

@media (prefers-contrast: more) {
    body.space-page {
        --sr-line: rgba(255,255,255,.19);
        --sr-line-strong: rgba(255,255,255,.30);
        --sr-soft: #e1e7ef;
        --sr-muted: #b6c0cf;
    }
}


/* SPACE SUNSET ROCK V2 ROBUST SCOPE BUILD */
body.space-page {
    --space-sunset-rock-build: "v2-robust-scope-02";
}
