/* ==========================================================================
   SPACE PAGE V2 - PATTIO
   Complete theme rewrite
   Scope: body.space-page.theme-pattio-immersive

   Brand language:
   - Baloo 2 for expressive headings
   - Inter for functional UI and body copy
   - Pattio green as primary action
   - Navy as structural color
   - Red as selective accent
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

body.space-page.theme-pattio-immersive {
    --pattio-bg: #ffffff;
    --pattio-bg-soft: #f7f9f4;
    --pattio-surface: #ffffff;
    --pattio-surface-2: #f3f7ea;

    --pattio-green: #a1c932;
    --pattio-green-hover: #91b72c;
    --pattio-green-soft: rgba(161, 201, 50, .14);
    --pattio-green-line: rgba(161, 201, 50, .30);

    --pattio-navy: #1d2d50;
    --pattio-navy-2: #263a63;
    --pattio-navy-soft: rgba(29, 45, 80, .08);

    --pattio-red: #e63946;
    --pattio-red-soft: rgba(230, 57, 70, .10);

    --pattio-text: #2d3748;
    --pattio-text-soft: #526173;
    --pattio-muted: #718096;
    --pattio-line: #e8edf2;

    --pattio-shadow-xs: 0 5px 16px rgba(29, 45, 80, .06);
    --pattio-shadow-sm: 0 10px 28px rgba(29, 45, 80, .08);
    --pattio-shadow-md: 0 18px 44px rgba(29, 45, 80, .11);
    --pattio-shadow-lg: 0 28px 70px rgba(29, 45, 80, .15);

    --pattio-radius-sm: 16px;
    --pattio-radius-md: 22px;
    --pattio-radius-lg: 30px;
    --pattio-pill: 999px;

    --pattio-heading: 'Baloo 2', system-ui, sans-serif;
    --pattio-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --pattio-ease: cubic-bezier(.22, 1, .36, 1);

    --space-page-accent: var(--pattio-green) !important;
    --bg-deep: var(--pattio-bg) !important;
    --text-main: var(--pattio-text) !important;
    --text-soft: var(--pattio-text-soft) !important;
    --text-muted: var(--pattio-muted) !important;
    --font-heading: var(--pattio-heading) !important;
    --font-body: var(--pattio-body) !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-x: hidden !important;

    color: var(--pattio-text) !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(161, 201, 50, .055), transparent 24rem),
        radial-gradient(circle at 100% 28%, rgba(29, 45, 80, .035), transparent 22rem),
        var(--pattio-bg) !important;
    font-family: var(--pattio-body) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.space-page.theme-pattio-immersive::before {
    display: none !important;
}

body.space-page.theme-pattio-immersive *,
body.space-page.theme-pattio-immersive *::before,
body.space-page.theme-pattio-immersive *::after {
    box-sizing: border-box;
}

body.space-page.theme-pattio-immersive a {
    color: inherit;
}

/* ==========================================================================
   PAGE SHELL
   ========================================================================== */

body.space-page.theme-pattio-immersive > .test-wrap {
    position: relative !important;
    z-index: 1 !important;
    flex: 0 0 auto !important;
    width: min(100%, 540px) !important;
    max-width: 540px !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    margin: 0 auto !important;
    padding: 22px 18px 48px !important;
    overflow: visible !important;
    background: transparent !important;
}

/* ==========================================================================
   HERO
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-page-hero {
    position: relative !important;
    width: 100% !important;
    margin: 0 0 34px !important;
    padding: 0 !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__cover {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: clamp(225px, 43vw, 285px) !important;
    min-height: 225px !important;
    overflow: hidden !important;
    margin: 0 !important;
    border: 1px solid rgba(29, 45, 80, .08) !important;
    border-radius: 32px !important;
    background:
        linear-gradient(145deg, rgba(161, 201, 50, .20), rgba(29, 45, 80, .06)),
        #edf2e7 !important;
    box-shadow:
        0 20px 48px rgba(29, 45, 80, .11),
        inset 0 1px 0 rgba(255, 255, 255, .70) !important;
    isolation: isolate;
}

body.space-page.theme-pattio-immersive .space-page-hero__cover::before {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 !important;
    display: block !important;
    pointer-events: none !important;
    background:
        linear-gradient(
            180deg,
            rgba(20, 29, 46, .04) 0%,
            rgba(20, 29, 46, .05) 42%,
            rgba(20, 29, 46, .34) 100%
        ) !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__cover::after {
    content: "" !important;
    position: absolute !important;
    z-index: 3 !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 14px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background:
        linear-gradient(
            90deg,
            var(--pattio-green) 0 66%,
            var(--pattio-red) 66% 79%,
            rgba(255,255,255,.72) 79% 100%
        ) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;
    opacity: .95 !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__cover img {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
    filter: saturate(.92) contrast(1.02) brightness(.98) !important;
    transform: scale(1.002);
    mask-image: none !important;
    -webkit-mask-image: none !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__body {
    position: relative !important;
    z-index: 4 !important;
    width: calc(100% - 28px) !important;
    margin: -58px auto 0 !important;
    padding: 0 8px !important;
    text-align: center !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__avatar {
    position: relative !important;
    z-index: 2 !important;
    width: 116px !important;
    height: 116px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto 17px !important;
    padding: 6px !important;
    border: 1px solid rgba(29, 45, 80, .08) !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow:
        0 16px 34px rgba(29, 45, 80, .16),
        0 0 0 6px rgba(255, 255, 255, .92),
        0 0 0 8px rgba(161, 201, 50, .18) !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__avatar::after {
    content: "" !important;
    position: absolute !important;
    right: 7px !important;
    bottom: 7px !important;
    width: 17px !important;
    height: 17px !important;
    border: 3px solid #fff !important;
    border-radius: 50% !important;
    background: var(--pattio-green) !important;
    box-shadow: 0 3px 8px rgba(29,45,80,.12) !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__avatar img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--pattio-bg-soft) !important;
    box-shadow: none !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__avatar span {
    color: var(--pattio-navy) !important;
    font-family: var(--pattio-heading) !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__title {
    margin: 0 !important;
    color: var(--pattio-navy) !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: currentColor !important;
    font-family: var(--pattio-heading) !important;
    font-size: clamp(2.35rem, 10vw, 3.55rem) !important;
    font-weight: 800 !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance;
}

body.space-page.theme-pattio-immersive .space-page-hero__subtitle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    margin: 11px auto 0 !important;
    padding: 7px 12px !important;
    color: #688515 !important;
    background: var(--pattio-green-soft) !important;
    border: 1px solid var(--pattio-green-line) !important;
    border-radius: var(--pattio-pill) !important;
    font-family: var(--pattio-body) !important;
    font-size: .67rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-pattio-immersive .space-page-hero__bio {
    max-width: 44ch !important;
    margin: 15px auto 0 !important;
    color: var(--pattio-text-soft) !important;
    font-family: var(--pattio-body) !important;
    font-size: .96rem !important;
    font-weight: 500 !important;
    line-height: 1.62 !important;
    text-align: center !important;
}

/* ==========================================================================
   V2 BLOCK BASE
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-block {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.space-page.theme-pattio-immersive .space-v2-block.is-active {
    opacity: 1 !important;
    transform: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-block.is-compact {
    margin-bottom: 10px !important;
}

body.space-page.theme-pattio-immersive
.space-v2-block.is-boxed:not(.space-v2-block--event-cover):not(.space-v2-block--image-banner):not(.space-v2-block--youtube-embed):not(.space-v2-block--promo-card) {
    padding: 20px !important;
    background: var(--pattio-surface) !important;
    border: 1px solid var(--pattio-line) !important;
    border-radius: var(--pattio-radius-md) !important;
    box-shadow: var(--pattio-shadow-xs) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* ==========================================================================
   TITLE
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-block--title {
    margin-top: 27px !important;
    margin-bottom: 12px !important;
    padding: 0 4px !important;
    text-align: center !important;
}

body.space-page.theme-pattio-immersive .space-v2-title__heading {
    margin: 0 !important;
    color: var(--pattio-navy) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    font-family: var(--pattio-heading) !important;
    font-size: clamp(1.95rem, 7.8vw, 2.65rem) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
    text-align: center !important;
    text-wrap: balance;
}

body.space-page.theme-pattio-immersive .space-v2-title__heading::after {
    content: "" !important;
    display: block !important;
    width: 38px !important;
    height: 4px !important;
    margin: 10px auto 0 !important;
    border-radius: 999px !important;
    background: var(--pattio-green) !important;
}

body.space-page.theme-pattio-immersive .space-v2-title__subtitle {
    max-width: 42ch !important;
    margin: 9px auto 0 !important;
    color: var(--pattio-muted) !important;
    font-family: var(--pattio-body) !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: .015em !important;
    text-align: center !important;
}

/* ==========================================================================
   TEXT
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-block--text {
    margin-bottom: 18px !important;
}

body.space-page.theme-pattio-immersive .space-v2-text__content {
    margin: 0 !important;
    padding: 18px 20px !important;
    color: var(--pattio-text) !important;
    background:
        linear-gradient(180deg, #fff, #fbfcfa) !important;
    border: 1px solid var(--pattio-line) !important;
    border-radius: var(--pattio-radius-md) !important;
    box-shadow: var(--pattio-shadow-xs) !important;
    font-family: var(--pattio-body) !important;
    font-size: .94rem !important;
    font-weight: 500 !important;
    line-height: 1.68 !important;
    text-align: left !important;
}

/* ==========================================================================
   BUTTON LINK
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-block--button-link {
    margin-bottom: 12px !important;
}

body.space-page.theme-pattio-immersive .space-v2-button {
    position: relative !important;
    width: 100% !important;
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    margin: 0 !important;
    padding: 15px 20px !important;
    overflow: hidden !important;

    color: #fff !important;
    background:
        linear-gradient(180deg, #a9cf40 0%, var(--pattio-green) 100%) !important;
    border: 1px solid rgba(111, 143, 24, .24) !important;
    border-radius: 20px !important;
    box-shadow:
        0 12px 25px rgba(161, 201, 50, .25),
        inset 0 1px 0 rgba(255,255,255,.26) !important;

    font-family: var(--pattio-body) !important;
    font-size: .94rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition:
        transform .22s var(--pattio-ease),
        box-shadow .22s ease,
        background .22s ease !important;
}

body.space-page.theme-pattio-immersive .space-v2-button::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -34% !important;
    width: 30% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent) !important;
    transform: skewX(-18deg) !important;
    transition: left .55s var(--pattio-ease) !important;
    pointer-events: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-button:hover {
    color: #fff !important;
    background:
        linear-gradient(180deg, #acd543 0%, var(--pattio-green-hover) 100%) !important;
    border-color: rgba(111, 143, 24, .30) !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 16px 30px rgba(161, 201, 50, .30),
        inset 0 1px 0 rgba(255,255,255,.25) !important;
}

body.space-page.theme-pattio-immersive .space-v2-button:hover::after {
    left: 108% !important;
}

body.space-page.theme-pattio-immersive .space-v2-button:active {
    transform: translateY(0) scale(.988) !important;
}

body.space-page.theme-pattio-immersive .space-v2-button:focus-visible {
    outline: 3px solid rgba(161, 201, 50, .34) !important;
    outline-offset: 3px !important;
}

body.space-page.theme-pattio-immersive .space-v2-button__icon {
    flex: 0 0 auto !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
}

body.space-page.theme-pattio-immersive .space-v2-button__text {
    position: relative !important;
    z-index: 1 !important;
    color: inherit !important;
    font-family: var(--pattio-body) !important;
    font-weight: 800 !important;
}

/* Optional custom classes available through Builder V2 style.class */
body.space-page.theme-pattio-immersive .space-v2-block.pattio-secondary .space-v2-button {
    color: var(--pattio-navy) !important;
    background: #fff !important;
    border-color: rgba(29,45,80,.12) !important;
    box-shadow: var(--pattio-shadow-sm) !important;
}

body.space-page.theme-pattio-immersive .space-v2-block.pattio-secondary .space-v2-button__icon {
    color: var(--pattio-green) !important;
}

body.space-page.theme-pattio-immersive .space-v2-block.pattio-navy .space-v2-button {
    background: var(--pattio-navy) !important;
    border-color: var(--pattio-navy) !important;
    box-shadow: 0 12px 26px rgba(29,45,80,.20) !important;
}

body.space-page.theme-pattio-immersive .space-v2-block.pattio-red .space-v2-button {
    background: var(--pattio-red) !important;
    border-color: var(--pattio-red) !important;
    box-shadow: 0 12px 26px rgba(230,57,70,.20) !important;
}

/* ==========================================================================
   DIVIDER
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-divider {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 24px 0 !important;
}

body.space-page.theme-pattio-immersive .space-v2-divider__line {
    flex: 1 1 auto !important;
    height: 1px !important;
    background:
        linear-gradient(90deg, transparent, rgba(29,45,80,.15), transparent) !important;
}

body.space-page.theme-pattio-immersive .space-v2-divider__label {
    color: var(--pattio-navy) !important;
    font-family: var(--pattio-heading) !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* ==========================================================================
   EVENT COVER
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-block--event-cover {
    position: relative !important;
    min-height: 310px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
    background: var(--pattio-navy) !important;
    border: 1px solid rgba(29,45,80,.10) !important;
    border-radius: var(--pattio-radius-lg) !important;
    box-shadow: var(--pattio-shadow-md) !important;
    isolation: isolate;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__media {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: .88 !important;
    filter: saturate(.92) contrast(1.03) brightness(.88) !important;
    transform: scale(1.002) !important;
    transition: transform .75s var(--pattio-ease), filter .35s ease !important;
}

body.space-page.theme-pattio-immersive .space-v2-block--event-cover:hover .space-v2-event-cover__media img {
    transform: scale(1.04) !important;
    filter: saturate(.98) contrast(1.04) brightness(.92) !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__content {
    position: absolute !important;
    z-index: 2 !important;
    inset: auto 0 0 !important;
    padding: 78px 22px 22px !important;
    color: #fff !important;
    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(21, 32, 55, .36) 22%,
            rgba(21, 32, 55, .94) 78%,
            rgba(21, 32, 55, .98) 100%
        ) !important;
    text-align: left !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 26px !important;
    margin: 0 0 8px !important;
    padding: 5px 9px !important;
    color: #5d770e !important;
    background: #d8ee96 !important;
    border-radius: var(--pattio-pill) !important;
    font-family: var(--pattio-body) !important;
    font-size: .62rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__title {
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--pattio-heading) !important;
    font-size: clamp(1.85rem, 7vw, 2.5rem) !important;
    font-weight: 800 !important;
    line-height: .98 !important;
    letter-spacing: -.025em !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__subtitle {
    max-width: 40ch !important;
    margin: 7px 0 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-family: var(--pattio-body) !important;
    font-size: .86rem !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__actions {
    margin-top: 15px !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__actions .space-v2-button {
    width: auto !important;
    min-height: 43px !important;
    display: inline-flex !important;
    padding: 10px 15px !important;
    color: var(--pattio-navy) !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: var(--pattio-pill) !important;
    box-shadow: none !important;
    font-size: .78rem !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__actions .space-v2-button::after {
    display: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-event-cover__actions .space-v2-button__icon {
    color: var(--pattio-green) !important;
}

/* ==========================================================================
   IMAGE BANNER
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-image-banner {
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--pattio-line) !important;
    border-radius: 26px !important;
    box-shadow: var(--pattio-shadow-sm) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-image-banner__link {
    display: block !important;
    color: inherit !important;
    text-decoration: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-image-banner__media {
    overflow: hidden !important;
    background: var(--pattio-bg-soft) !important;
}

body.space-page.theme-pattio-immersive .space-v2-image-banner__image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 320px !important;
    object-fit: cover !important;
    opacity: 1 !important;
    filter: saturate(.94) contrast(1.02) !important;
    transition: transform .6s var(--pattio-ease), filter .3s ease !important;
}

body.space-page.theme-pattio-immersive .space-v2-image-banner:hover .space-v2-image-banner__image {
    transform: scale(1.025) !important;
    filter: saturate(1) contrast(1.03) !important;
}

body.space-page.theme-pattio-immersive .space-v2-image-banner__caption {
    padding: 14px 17px 16px !important;
    color: var(--pattio-navy) !important;
    font-family: var(--pattio-heading) !important;
    font-size: 1.04rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

/* ==========================================================================
   PROMO CARD
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-block--promo-card {
    margin-bottom: 20px !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card {
    position: relative !important;
    overflow: hidden !important;
    color: var(--pattio-text) !important;
    background: #fff !important;
    border: 1px solid var(--pattio-line) !important;
    border-radius: var(--pattio-radius-lg) !important;
    box-shadow: var(--pattio-shadow-md) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    isolation: isolate;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    width: 170px !important;
    height: 170px !important;
    right: -72px !important;
    bottom: -94px !important;
    border-radius: 50% !important;
    background: var(--pattio-green-soft) !important;
    pointer-events: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__media {
    position: relative !important;
    z-index: 1 !important;
    height: 235px !important;
    overflow: hidden !important;
    background: var(--pattio-bg-soft) !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__media::after {
    content: "" !important;
    position: absolute !important;
    inset: auto 0 0 !important;
    height: 34% !important;
    background: linear-gradient(180deg, transparent, rgba(29,45,80,.16)) !important;
    pointer-events: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: saturate(.94) contrast(1.02) !important;
    transition: transform .7s var(--pattio-ease) !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card:hover .space-v2-promo-card__media img {
    transform: scale(1.035) !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__content {
    position: relative !important;
    z-index: 2 !important;
    padding: 20px !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 9px !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__eyebrow {
    color: #769718 !important;
    font-family: var(--pattio-body) !important;
    font-size: .65rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__badge {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 5px 9px !important;
    color: var(--pattio-red) !important;
    background: var(--pattio-red-soft) !important;
    border: 1px solid rgba(230,57,70,.16) !important;
    border-radius: var(--pattio-pill) !important;
    font-family: var(--pattio-body) !important;
    font-size: .61rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__title {
    margin: 0 !important;
    color: var(--pattio-navy) !important;
    font-family: var(--pattio-heading) !important;
    font-size: clamp(1.8rem, 7vw, 2.4rem) !important;
    font-weight: 800 !important;
    line-height: .98 !important;
    letter-spacing: -.035em !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__description {
    margin: 10px 0 0 !important;
    color: var(--pattio-text-soft) !important;
    font-family: var(--pattio-body) !important;
    font-size: .90rem !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-top: 17px !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__price {
    color: var(--pattio-red) !important;
    font-family: var(--pattio-heading) !important;
    font-size: 1.55rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__button {
    min-height: 43px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 15px !important;
    color: #fff !important;
    background: var(--pattio-green) !important;
    border: 1px solid rgba(111,143,24,.20) !important;
    border-radius: var(--pattio-pill) !important;
    box-shadow: 0 8px 18px rgba(161,201,50,.22) !important;
    font-family: var(--pattio-body) !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: transform .2s var(--pattio-ease), background .2s ease !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card__button:hover {
    color: #fff !important;
    background: var(--pattio-green-hover) !important;
    transform: translateY(-2px) !important;
}

/* ==========================================================================
   PROMO POPUP
   ========================================================================== */

body.space-page.theme-pattio-immersive.space-v2-promo-lock {
    overflow: hidden !important;
}

html:has(body.space-page.theme-pattio-immersive.space-v2-promo-lock) {
    overflow: hidden !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .22s ease, visibility .22s ease !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup__backdrop {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(29, 45, 80, .58) !important;
    backdrop-filter: blur(12px) saturate(90%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(90%) !important;
    cursor: pointer !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup__panel {
    position: relative !important;
    z-index: 2 !important;
    width: min(100%, 450px) !important;
    max-height: calc(100dvh - 36px) !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    border-radius: var(--pattio-radius-lg) !important;
    opacity: 0 !important;
    transform: translateY(18px) scale(.975) !important;
    transition:
        opacity .22s ease,
        transform .30s var(--pattio-ease) !important;
    scrollbar-width: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup__panel::-webkit-scrollbar {
    display: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup.is-open .space-v2-promo-popup__panel {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup--bottom {
    align-items: flex-end !important;
    padding: 12px !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup--bottom .space-v2-promo-popup__panel {
    width: min(100%, 500px) !important;
    transform: translateY(34px) scale(1) !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup--bottom.is-open .space-v2-promo-popup__panel {
    transform: translateY(0) scale(1) !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-popup__close {
    position: absolute !important;
    z-index: 5 !important;
    top: 12px !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pattio-navy) !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(29,45,80,.10) !important;
    border-radius: 50% !important;
    box-shadow: var(--pattio-shadow-sm) !important;
    font-family: var(--pattio-body) !important;
    font-size: 23px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card--popup {
    border-radius: var(--pattio-radius-lg) !important;
    box-shadow: var(--pattio-shadow-lg) !important;
}

body.space-page.theme-pattio-immersive .space-v2-promo-card--popup .space-v2-promo-card__media {
    height: min(42dvh, 300px) !important;
}

/* ==========================================================================
   GALLERY
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-block--gallery {
    margin-bottom: 24px !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery__head {
    margin: 0 0 14px !important;
    padding: 0 4px !important;
    text-align: center !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery__title {
    margin: 0 !important;
    color: var(--pattio-navy) !important;
    font-family: var(--pattio-heading) !important;
    font-size: clamp(1.8rem, 7vw, 2.35rem) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -.03em !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery__subtitle {
    max-width: 40ch !important;
    margin: 7px auto 0 !important;
    color: var(--pattio-muted) !important;
    font-family: var(--pattio-body) !important;
    font-size: .82rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery__item {
    position: relative !important;
    margin: 0 !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
    background: var(--pattio-bg-soft) !important;
    border: 1px solid var(--pattio-line) !important;
    border-radius: 20px !important;
    box-shadow: var(--pattio-shadow-xs) !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery__item img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: saturate(.94) contrast(1.01) !important;
    transition: transform .55s var(--pattio-ease), filter .3s ease !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery__item:hover img {
    transform: scale(1.045) !important;
    filter: saturate(1) contrast(1.02) !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery__item figcaption {
    position: absolute !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    min-height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 6px 9px !important;
    overflow: hidden !important;
    color: var(--pattio-navy) !important;
    background: rgba(255,255,255,.91) !important;
    border: 1px solid rgba(255,255,255,.70) !important;
    border-radius: var(--pattio-pill) !important;
    box-shadow: 0 7px 18px rgba(29,45,80,.10) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    font-family: var(--pattio-body) !important;
    font-size: .66rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

/* Mosaic */
body.space-page.theme-pattio-immersive .space-v2-gallery--mosaic .space-v2-gallery__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery--mosaic .space-v2-gallery__item--1,
body.space-page.theme-pattio-immersive .space-v2-gallery--mosaic .space-v2-gallery__item--4 {
    grid-column: span 2 !important;
    grid-row: span 2 !important;
    border-radius: 24px !important;
}

/* Carousel */
body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    margin-inline: -12px !important;
    padding: 4px 12px 15px !important;
    scroll-padding-inline: 12px !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__grid::-webkit-scrollbar {
    display: none !important;
}

body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item,
body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item--1,
body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item--4 {
    flex: 0 0 min(82%, 340px) !important;
    width: min(82%, 340px) !important;
    max-width: 340px !important;
    aspect-ratio: 4 / 5 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
    border-radius: 26px !important;
    box-shadow: var(--pattio-shadow-sm) !important;
}

/* ==========================================================================
   YOUTUBE
   ========================================================================== */

body.space-page.theme-pattio-immersive .space-v2-block--youtube-embed {
    margin-bottom: 24px !important;
}

body.space-page.theme-pattio-immersive .space-v2-youtube__title {
    margin: 0 0 10px !important;
    color: var(--pattio-navy) !important;
    font-family: var(--pattio-heading) !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: left !important;
}

body.space-page.theme-pattio-immersive .space-v2-youtube__frame-wrap {
    position: relative !important;
    width: 100% !important;
    height: 0 !important;
    overflow: hidden !important;
    padding-bottom: var(--space-v2-youtube-padding, 56.25%) !important;
    background: #111827 !important;
    border: 1px solid var(--pattio-line) !important;
    border-radius: 24px !important;
    box-shadow: var(--pattio-shadow-md) !important;
}

body.space-page.theme-pattio-immersive .space-v2-youtube__frame {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

/* ==========================================================================
   SHARED PUBLIC FOOTER COMPATIBILITY
   The footer is SPACE platform chrome and keeps its own visual language.
   ========================================================================== */

body.space-page.theme-pattio-immersive > .space-public-footer.space-public-footer--shared {
    flex: 0 0 auto !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Old V2 footer selectors kept neutral for stale cached renders. */
body.space-page.theme-pattio-immersive .footer-v2 {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    margin-top: 30px !important;
    padding: 20px 0 !important;
    color: var(--pattio-muted) !important;
    font-family: var(--pattio-body) !important;
    font-size: .74rem !important;
    text-align: center !important;
}

body.space-page.theme-pattio-immersive .footer-v2 a {
    color: var(--pattio-muted) !important;
}

body.space-page.theme-pattio-immersive .footer-v2 .dot {
    background: var(--pattio-green) !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (min-width: 720px) {
    body.space-page.theme-pattio-immersive > .test-wrap {
        padding-top: 28px !important;
        padding-bottom: 58px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__cover {
        height: 285px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__body {
        margin-top: -62px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__avatar {
        width: 124px !important;
        height: 124px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item,
    body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item--1,
    body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item--4 {
        flex-basis: min(54%, 350px) !important;
        width: min(54%, 350px) !important;
    }
}

@media (max-width: 520px) {
    body.space-page.theme-pattio-immersive > .test-wrap {
        width: 100% !important;
        padding: 18px 14px 42px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero {
        margin-bottom: 30px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__cover {
        height: 218px !important;
        min-height: 218px !important;
        border-radius: 28px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__cover::after {
        left: 14px !important;
        right: 14px !important;
        bottom: 11px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__body {
        width: calc(100% - 20px) !important;
        margin-top: -52px !important;
        padding-inline: 3px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__avatar {
        width: 104px !important;
        height: 104px !important;
        margin-bottom: 15px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__title {
        font-size: clamp(2.25rem, 12vw, 3rem) !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__bio {
        font-size: .91rem !important;
        line-height: 1.58 !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-title__heading {
        font-size: clamp(1.9rem, 9vw, 2.35rem) !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-text__content {
        padding: 16px 17px !important;
        font-size: .91rem !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-button {
        min-height: 58px !important;
        padding-inline: 17px !important;
        border-radius: 19px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-block--event-cover {
        min-height: 290px !important;
        border-radius: 26px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-event-cover__content {
        padding: 70px 18px 18px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-card {
        border-radius: 26px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-card__media {
        height: 215px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-card__content {
        padding: 18px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-card__bottom {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-card__button {
        width: 100% !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-gallery__grid,
    body.space-page.theme-pattio-immersive .space-v2-gallery--mosaic .space-v2-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-gallery--mosaic .space-v2-gallery__item--1,
    body.space-page.theme-pattio-immersive .space-v2-gallery--mosaic .space-v2-gallery__item--4 {
        grid-column: span 2 !important;
        grid-row: span 1 !important;
        aspect-ratio: 16 / 10 !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__grid {
        gap: 10px !important;
        margin-inline: -10px !important;
        padding-inline: 10px !important;
        scroll-padding-inline: 10px !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item,
    body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item--1,
    body.space-page.theme-pattio-immersive .space-v2-gallery--carousel .space-v2-gallery__item--4 {
        flex-basis: 84% !important;
        width: 84% !important;
        max-width: none !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-popup {
        align-items: flex-end !important;
        padding: 0 !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-popup__panel {
        width: 100% !important;
        max-height: 88dvh !important;
        border-radius: 28px 28px 0 0 !important;
        transform: translateY(36px) scale(1) !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-popup.is-open .space-v2-promo-popup__panel {
        transform: translateY(0) scale(1) !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-card--popup {
        border-radius: 28px 28px 0 0 !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-promo-card--popup .space-v2-promo-card__media {
        height: 225px !important;
    }
}

@media (max-width: 380px) {
    body.space-page.theme-pattio-immersive > .test-wrap {
        padding-inline: 11px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__cover {
        height: 205px !important;
        min-height: 205px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__avatar {
        width: 98px !important;
        height: 98px !important;
    }

    body.space-page.theme-pattio-immersive .space-page-hero__bio {
        max-width: 34ch !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-event-cover__content {
        padding-inline: 16px !important;
    }
}

/* ==========================================================================
   ACCESSIBILITY / REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    body.space-page.theme-pattio-immersive *,
    body.space-page.theme-pattio-immersive *::before,
    body.space-page.theme-pattio-immersive *::after {
        scroll-behavior: auto !important;
    }

    body.space-page.theme-pattio-immersive .space-v2-button,
    body.space-page.theme-pattio-immersive .space-v2-button::after,
    body.space-page.theme-pattio-immersive .space-v2-image-banner__image,
    body.space-page.theme-pattio-immersive .space-v2-promo-card__media img,
    body.space-page.theme-pattio-immersive .space-v2-gallery__item img,
    body.space-page.theme-pattio-immersive .space-v2-event-cover__media img,
    body.space-page.theme-pattio-immersive .space-v2-promo-popup,
    body.space-page.theme-pattio-immersive .space-v2-promo-popup__panel {
        transition: none !important;
    }
}


/* PATTIO FULL BACKGROUND Â· minimal patch over confirmed working CSS */
body.space-page.theme-pattio-immersive > main.test-wrap,
body.space-page.theme-pattio-immersive > .test-wrap {
  background: transparent !important;
}
body.space-page.theme-pattio-immersive .space-page-hero {
  isolation: auto !important;
  padding-top: clamp(180px, 35dvh, 340px) !important;
}
body.space-page.theme-pattio-immersive .space-page-hero__cover {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  isolation: auto !important;
  pointer-events: none !important;
}
body.space-page.theme-pattio-immersive .space-page-hero__cover img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}
body.space-page.theme-pattio-immersive .space-page-hero__cover::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.62) 48%,rgba(255,255,255,.88)) !important;
}
body.space-page.theme-pattio-immersive .space-page-hero__cover::after { content: none !important; display: none !important; }
body.space-page.theme-pattio-immersive .space-page-hero__body {
  position: relative !important;
  z-index: 4 !important;
  margin: 0 auto !important;
}
@media(max-width:520px){
  body.space-page.theme-pattio-immersive .space-page-hero { padding-top: clamp(135px, 28dvh, 235px) !important; }
}