/*
Theme: InDreams
Component: Event Booking Page

Reusable presentation layer for Custom Event Manager powered
workshops, classes, Splatter Room reservations, Birthday Parties,
and other scheduled experiences.

IMPORTANT:
This stylesheet changes presentation only.

Custom Event Manager remains responsible for:
- booking logic
- dates
- time slots
- capacity
- resources
- pricing
- WooCommerce
*/


/* =========================================================
   EVENT PAGE FOUNDATION
   ========================================================= */

.indreams-event-page {
    position: relative;
    overflow: hidden;
    min-height: 100vh;

    color: #f7f3ff;

    background:
        radial-gradient(
            circle at 10% 8%,
            rgba(134, 67, 190, 0.22) 0,
            rgba(134, 67, 190, 0) 33%
        ),
        radial-gradient(
            circle at 88% 18%,
            rgba(208, 56, 183, 0.14) 0,
            rgba(208, 56, 183, 0) 30%
        ),
        radial-gradient(
            circle at 52% 72%,
            rgba(92, 55, 164, 0.16) 0,
            rgba(92, 55, 164, 0) 36%
        ),
        linear-gradient(
            180deg,
            #12102a 0%,
            #17132f 35%,
            #100e24 100%
        );

    font-family: "Outfit", sans-serif;
}

.indreams-event-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.3;

    background-image:
        radial-gradient(
            circle at center,
            rgba(255, 255, 255, 0.045) 1px,
            transparent 1px
        );

    background-size: 34px 34px;
}

.indreams-event-page > section {
    position: relative;
    z-index: 1;
}

.indreams-event-shell {
    width: min(1233px, calc(100% - 48px));
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   HERO
   ========================================================= */

.indreams-event-hero {
    padding: 86px 0 44px;
}

.indreams-event-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
    gap: 72px;
    align-items: center;
}

.indreams-event-copy {
    position: relative;
}

.indreams-event-script {
    margin: 0 0 6px;
    color: #dd42bd;
    font-family: "Italianno", cursive;
    font-size: clamp(38px, 4.2vw, 58px);
    font-weight: 400;
    line-height: 0.95;
}

.indreams-event-title {
    max-width: 760px;
    margin: 0;
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(58px, 7vw, 96px);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 0.88;
}

.indreams-event-rating {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 25px;
    color: #d8d1e6;
    font-size: 14px;
    font-weight: 500;
}

.indreams-event-stars {
    color: #f1b948;
    letter-spacing: 2px;
    font-size: 15px;
}

.indreams-event-description {
    max-width: 620px;
    margin-top: 26px;
    color: #d5cfdf;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.72;
}

.indreams-event-description p {
    margin: 0 0 18px;
}

.indreams-event-description p:last-child {
    margin-bottom: 0;
}

.indreams-event-description a {
    color: #e157c8;
}

.indreams-event-image-wrap {
    position: relative;
}

.indreams-event-image-wrap::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -24px;
    right: -24px;
    bottom: -24px;
    left: 25%;
    border-radius: 40px;
    opacity: 0.7;
    filter: blur(38px);

    background:
        linear-gradient(
            135deg,
            rgba(211, 49, 186, 0.32),
            rgba(115, 66, 198, 0.22)
        );
}

.indreams-event-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 600px;
    object-fit: cover;

    border:
        1px solid
        rgba(255, 255, 255, 0.13);

    border-radius: 27px;

    box-shadow:
        0 35px 90px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}


/* =========================================================
   FACT CARDS
   ========================================================= */

.indreams-event-facts-section {
    padding: 28px 0 56px;
}

.indreams-event-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, 0.13);

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.06),
            rgba(255, 255, 255, 0.025)
        );

    box-shadow:
        0 20px 65px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.045);

    backdrop-filter: blur(12px);
}

.indreams-event-fact {
    min-height: 118px;
    padding: 26px 27px;

    border-right:
        1px solid
        rgba(255, 255, 255, 0.1);
}

.indreams-event-fact:last-child {
    border-right: 0;
}

.indreams-event-fact-label {
    margin-bottom: 8px;
    color: #d943bd;
    font-family: "Outfit", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.indreams-event-fact-value {
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(23px, 2.2vw, 30px);
    font-weight: 500;
    line-height: 1.08;
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.indreams-event-section-heading {
    margin-bottom: 28px;
}

.indreams-event-section-heading h2 {
    margin: 0;
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(44px, 5vw, 66px);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 0.95;
}

.indreams-event-section-heading p {
    max-width: 680px;
    margin: 15px 0 0;
    color: #cfc7dc;
    font-size: 16px;
    line-height: 1.65;
}

.indreams-event-section-heading-center {
    text-align: center;
}

.indreams-event-section-heading-center p {
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   FEATURES / ABOUT THIS EXPERIENCE
   ========================================================= */

.indreams-event-features-section {
    padding: 45px 0 62px;
}

.indreams-event-features-card {
    padding: 38px 42px;

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    border-radius: 20px;

    background:
        radial-gradient(
            circle at 90% 5%,
            rgba(203, 54, 181, 0.12),
            transparent 35%
        ),
        rgba(255, 255, 255, 0.04);

    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);
}


/*
 * IMPORTANT:
 * Hero descriptions stay narrower for readability,
 * but descriptions inside the large content card should
 * use the available card width.
 */

.indreams-event-features-card .indreams-event-description {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
}

.indreams-event-features-card .indreams-event-description p {
    max-width: none;
}

.indreams-event-features-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 19px 42px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.indreams-event-features-list li {
    display: grid;
    grid-template-columns: 29px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: #e9e4f0;
    font-size: 16px;
    line-height: 1.4;
}

.indreams-event-check {
    display: inline-flex;
    width: 27px;
    height: 27px;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(222, 61, 192, 0.44);

    border-radius: 50%;
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            rgba(224, 55, 190, 0.92),
            rgba(132, 67, 212, 0.92)
        );

    box-shadow:
        0 5px 17px
        rgba(199, 49, 187, 0.2);

    font-size: 13px;
    font-weight: 700;
}


/* =========================================================
   BOOKING AREA
   ========================================================= */

.indreams-event-booking-section {
    padding: 60px 0 75px;
}

.indreams-event-booking-card {
    position: relative;
    overflow: hidden;
    padding: 42px;

    border:
        1px solid
        rgba(255, 255, 255, 0.14);

    border-radius: 25px;

    background:
        radial-gradient(
            circle at 15% 8%,
            rgba(118, 70, 191, 0.13),
            transparent 34%
        ),
        radial-gradient(
            circle at 95% 95%,
            rgba(215, 52, 185, 0.09),
            transparent 31%
        ),
        rgba(7, 7, 27, 0.42);

    box-shadow:
        0 35px 90px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.045);

    backdrop-filter: blur(16px);
}

.indreams-event-booking-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    opacity: 0.65;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(218, 61, 191, 0.8),
            rgba(140, 77, 220, 0.8),
            transparent
        );
}

.indreams-event-admin-notice {
    padding: 18px 20px;

    border:
        1px solid
        rgba(232, 179, 69, 0.35);

    border-radius: 12px;
    color: #ffe9ae;
    background: rgba(232, 179, 69, 0.08);
    line-height: 1.55;
}


/* =========================================================
   CUSTOM EVENT MANAGER
   ========================================================= */

.indreams-event-booking-card .cem-bw {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: #f7f3ff !important;
    background: transparent !important;
    font-family: "Outfit", sans-serif !important;
}

.indreams-event-booking-card .cem-bw *,
.indreams-event-booking-card .cem-bw *::before,
.indreams-event-booking-card .cem-bw *::after {
    box-sizing: border-box;
}


/* =========================================================
   CEM HEADINGS
   ========================================================= */

.indreams-event-booking-card .cem-bw__step {
    margin: 0 0 16px !important;
    color: #ffffff !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 29px !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
}

.indreams-event-booking-card h4.cem-bw__step,
.indreams-event-booking-card .cem-bw__col > h4,
.indreams-event-booking-card .cem-bw__party-picker > h4 {
    color: #ffffff !important;
}

.indreams-event-booking-card .cem-bw__hint,
.indreams-event-booking-card .cem-bw__note,
.indreams-event-booking-card .cem-bw__people-label {
    color: #bfb7cc !important;
    font-family: "Outfit", sans-serif !important;
}


/* =========================================================
   PARTY TYPE SELECTOR
   ========================================================= */

.indreams-event-booking-card .cem-bw__party-picker {
    margin-bottom: 35px !important;
}

.indreams-event-booking-card .cem-bw__party-options {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.indreams-event-booking-card .cem-bw__party-option {
    display: flex !important;
    min-height: 58px !important;
    padding: 14px 16px !important;
    align-items: center !important;
    gap: 10px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.15) !important;

    border-radius: 11px !important;
    color: #eee9f5 !important;

    background:
        rgba(8, 8, 31, 0.54) !important;

    background-image: none !important;
    box-shadow: none !important;
    cursor: pointer !important;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease !important;
}

.indreams-event-booking-card .cem-bw__party-option:hover {
    border-color:
        rgba(222, 60, 193, 0.72) !important;

    background:
        rgba(213, 57, 188, 0.1) !important;

    transform: translateY(-1px);
}

.indreams-event-booking-card
.cem-bw__party-option:has(
    .cem-bw__party-radio:checked
) {
    border-color: transparent !important;
    color: #ffffff !important;

    background:
        linear-gradient(
            90deg,
            #df34ba 0%,
            #b63bc9 50%,
            #8449df 100%
        ) !important;

    box-shadow:
        0 10px 26px
        rgba(199, 47, 186, 0.25) !important;
}

.indreams-event-booking-card
.cem-bw__party-option:has(
    .cem-bw__party-radio:checked
)
strong {
    color: #ffffff !important;
}

.indreams-event-booking-card .cem-bw__party-radio {
    accent-color: #ffffff !important;
}


/* =========================================================
   THREE COLUMN BOOKING LAYOUT
   ========================================================= */

.indreams-event-booking-card .cem-bw__grid {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.04fr)
        minmax(0, 0.9fr)
        minmax(260px, 0.72fr)
        !important;

    gap: 30px !important;
    align-items: start !important;
}

.indreams-event-booking-card .cem-bw__col {
    min-width: 0 !important;
}


/* =========================================================
   CALENDAR
   ========================================================= */

.indreams-event-booking-card .cem-bw__calendar {
    padding: 18px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 16px !important;

    background:
        rgba(5, 6, 25, 0.55) !important;

    box-shadow: none !important;
}

.indreams-event-booking-card .cem-bw__cal-head {
    color: #ffffff !important;
}

.indreams-event-booking-card .cem-bw__cal-title {
    color: #ffffff !important;
    font-family: "Outfit", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.indreams-event-booking-card .cem-bw__cal-nav {
    border: 0 !important;
    outline: 0 !important;
    border-radius: 8px !important;
    color: #ffffff !important;

    background:
        rgba(255, 255, 255, 0.045) !important;

    box-shadow: none !important;
}

.indreams-event-booking-card .cem-bw__cal-nav:hover {
    border: 0 !important;
    color: #ffffff !important;

    background:
        rgba(220, 59, 191, 0.18) !important;
}


/* =========================================================
   CALENDAR GRID
   ========================================================= */

.indreams-event-booking-card .cem-bw__cal-grid,
.indreams-event-booking-card .cem-bw__cal-weekdays,
.indreams-event-booking-card .cem-bw__cal-days {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.indreams-event-booking-card .cem-bw__cal-weekdays,
.indreams-event-booking-card .cem-bw__cal-days {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
}

.indreams-event-booking-card .cem-bw__cal-wd {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    color: #948ca7 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}


/* =========================================================
   CALENDAR DAYS
   ========================================================= */

.indreams-event-booking-card .cem-bw__cal-day {
    border: 0 !important;
    outline: 0 !important;
    border-radius: 50% !important;
    color: #e9e4f0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;

    transition:
        background 0.15s ease,
        color 0.15s ease,
        transform 0.15s ease !important;
}

.indreams-event-booking-card
.cem-bw__cal-day.is-disabled,

.indreams-event-booking-card
.cem-bw__cal-day.is-other {
    border: 0 !important;
    outline: 0 !important;
    color: #5e586d !important;
    background: transparent !important;
    opacity: 0.65 !important;
    box-shadow: none !important;
}

.indreams-event-booking-card
.cem-bw__cal-day.is-enabled {
    border: 0 !important;
    outline: 0 !important;
    color: #ffffff !important;
    background: #b52c9f !important;
    background-image: none !important;
    box-shadow: none !important;
}

.indreams-event-booking-card
.cem-bw__cal-day.is-enabled:hover {
    border: 0 !important;
    outline: 0 !important;
    color: #ffffff !important;
    background: #cf39b6 !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: scale(1.04);
}

.indreams-event-booking-card
.cem-bw__cal-day.is-selected,

.indreams-event-booking-card
.cem-bw__cal-day.is-enabled.is-selected {
    border: 0 !important;
    outline: 0 !important;
    color: #ffffff !important;
    background: #ed4dcc !important;
    background-image: none !important;

    box-shadow:
        0 6px 18px
        rgba(221, 62, 190, 0.28)
        !important;
}


/* =========================================================
   TIME SLOTS
   ========================================================= */

.indreams-event-booking-card .cem-bw__slots {
    display: grid !important;
    gap: 9px !important;
}

.indreams-event-booking-card
.cem-bw__slots button,

.indreams-event-booking-card
.cem-bw__slots .cem-bw__slot {
    width: 100% !important;
    min-height: 43px !important;
    padding: 10px 13px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.16)
        !important;

    border-radius: 9px !important;
    color: #f4effb !important;

    background:
        rgba(6, 7, 28, 0.52)
        !important;

    font-family: "Outfit", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;

    transition:
        border-color 0.16s ease,
        background 0.16s ease,
        color 0.16s ease,
        transform 0.16s ease !important;
}

.indreams-event-booking-card
.cem-bw__slots button span,

.indreams-event-booking-card
.cem-bw__slots .cem-bw__slot span {
    color: inherit !important;
}

.indreams-event-booking-card
.cem-bw__slots button:hover,

.indreams-event-booking-card
.cem-bw__slots .cem-bw__slot:hover {
    border-color:
        rgba(220, 57, 190, 0.65)
        !important;

    color: #ffffff !important;

    background:
        rgba(215, 57, 189, 0.16)
        !important;

    transform: translateY(-1px);
}

.indreams-event-booking-card
.cem-bw__slots button.is-selected,

.indreams-event-booking-card
.cem-bw__slots .cem-bw__slot.is-selected,

.indreams-event-booking-card
.cem-bw__slots .is-selected {
    border-color: transparent !important;
    color: #ffffff !important;

    background:
        linear-gradient(
            90deg,
            #df34ba 0%,
            #b63bc9 50%,
            #8449df 100%
        ) !important;

    box-shadow:
        0 7px 21px
        rgba(205, 51, 190, 0.22)
        !important;
}


/* =========================================================
   PRICING / PEOPLE
   ========================================================= */

.indreams-event-booking-card .cem-bw__tier {
    padding: 13px 0 !important;

    border-color:
        rgba(255, 255, 255, 0.1)
        !important;
}

.indreams-event-booking-card
.cem-bw__tier-label {
    color: #ffffff !important;
    font-family: "Outfit", sans-serif !important;
    font-weight: 500 !important;
}

.indreams-event-booking-card
.cem-bw__tier-price {
    color: #aaa2bb !important;
    font-family: "Outfit", sans-serif !important;
}

.indreams-event-booking-card
.cem-bw__person-ico {
    color: #d93ac0 !important;
}

.indreams-event-booking-card
.cem-bw__stepper {
    overflow: hidden !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.18)
        !important;

    border-radius: 10px !important;

    background:
        rgba(5, 6, 27, 0.52)
        !important;
}

.indreams-event-booking-card
.cem-bw__step-btn {
    color: #ffffff !important;
    background: transparent !important;

    transition:
        background 0.15s ease
        !important;
}

.indreams-event-booking-card
.cem-bw__step-btn:hover {
    color: #ffffff !important;

    background:
        rgba(218, 57, 191, 0.16)
        !important;
}

.indreams-event-booking-card
.cem-bw__count {
    color: #ffffff !important;
    font-family: "Outfit", sans-serif !important;
    font-weight: 600 !important;
}


/* =========================================================
   TOTAL
   ========================================================= */

.indreams-event-booking-card
.cem-bw__total {
    margin-top: 19px !important;
    color: #ffffff !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 31px !important;
    font-weight: 600 !important;
}


/* =========================================================
   RESERVE BUTTON
   ========================================================= */

.indreams-event-booking-card
.cem-bw__reserve {
    width: 100% !important;
    min-height: 52px !important;
    margin-top: 18px !important;
    padding: 14px 22px !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #ffffff !important;

    background:
        linear-gradient(
            90deg,
            #df34ba 0%,
            #b63bc9 50%,
            #8449df 100%
        ) !important;

    box-shadow:
        0 12px 32px
        rgba(199, 47, 186, 0.26)
        !important;

    font-family: "Outfit", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    cursor: pointer !important;

    transition:
        filter 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease !important;
}

.indreams-event-booking-card
.cem-bw__reserve:hover {
    filter: brightness(1.09);
    transform: translateY(-1px);

    box-shadow:
        0 15px 38px
        rgba(199, 47, 186, 0.34)
        !important;
}

.indreams-event-booking-card
.cem-bw__reserve:disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}


/* =========================================================
   GENERIC CEM FORM ELEMENTS
   ========================================================= */

.indreams-event-booking-card .cem-bw input,
.indreams-event-booking-card .cem-bw select {
    color: #ffffff;
    font-family: "Outfit", sans-serif;
}

.indreams-event-booking-card
.cem-bw select {
    border:
        1px solid
        rgba(255, 255, 255, 0.15);

    background-color: #111027;
}

.indreams-event-booking-card
.cem-bw option {
    color: #ffffff;
    background-color: #111027;
}


/* =========================================================
   HELP BANNER
   ========================================================= */

.indreams-event-help-section {
    padding: 12px 0 95px;
}

.indreams-event-help-card {
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: space-between;
    padding: 36px 42px;

    border:
        1px solid
        rgba(255, 255, 255, 0.13);

    border-radius: 21px;

    background:
        radial-gradient(
            circle at 12% 50%,
            rgba(211, 56, 185, 0.13),
            transparent 34%
        ),
        linear-gradient(
            100deg,
            rgba(255, 255, 255, 0.055),
            rgba(255, 255, 255, 0.025)
        );

    box-shadow:
        0 25px 65px
        rgba(0, 0, 0, 0.18);
}

.indreams-event-help-card
.indreams-event-script {
    margin-bottom: 2px;
    font-size: 38px;
}

.indreams-event-help-card h2 {
    margin: 0;
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(36px, 4vw, 48px);
    font-weight: 500;
    line-height: 1;
}

.indreams-event-help-card p {
    max-width: 670px;
    margin: 10px 0 0;
    color: #c9c1d6;
    font-size: 15px;
    line-height: 1.6;
}

.indreams-event-help-button {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 145px;
    min-height: 48px;
    padding: 12px 24px;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    border-radius: 10px;

    color: #ffffff !important;
    text-decoration: none !important;

    background:
        linear-gradient(
            90deg,
            #da35ba,
            #8d47dd
        );

    box-shadow:
        0 10px 28px
        rgba(198, 49, 187, 0.2);

    font-family: "Outfit", sans-serif;
    font-size: 14px;
    font-weight: 600;

    transition:
        filter 0.18s ease,
        transform 0.18s ease;
}

.indreams-event-help-button:hover {
    color: #ffffff !important;
    filter: brightness(1.09);
    transform: translateY(-1px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .indreams-event-hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 42px;
    }

    .indreams-event-title {
        font-size: clamp(52px, 7vw, 76px);
    }

    .indreams-event-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .indreams-event-fact {
        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.1);
    }

    .indreams-event-fact:nth-child(2n) {
        border-right: 0;
    }

    .indreams-event-fact:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .indreams-event-booking-card
    .cem-bw__grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr)
            !important;
    }

    .indreams-event-booking-card
    .cem-bw__grid > :last-child {
        grid-column: 1 / -1;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .indreams-event-shell {
        width: min(100% - 30px, 1233px);
    }

    .indreams-event-hero {
        padding-top: 52px;
        padding-bottom: 25px;
    }

    .indreams-event-hero-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .indreams-event-script {
        font-size: 40px;
    }

    .indreams-event-title {
        font-size: clamp(50px, 15vw, 68px);
    }

    .indreams-event-description {
        font-size: 16px;
    }

    .indreams-event-image {
        max-height: 480px;
    }

    .indreams-event-facts {
        grid-template-columns: 1fr;
    }

    .indreams-event-fact,
    .indreams-event-fact:nth-child(2n),
    .indreams-event-fact:nth-last-child(-n + 2) {
        min-height: auto;
        border-right: 0;

        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.1);
    }

    .indreams-event-fact:last-child {
        border-bottom: 0;
    }

    .indreams-event-features-card {
        padding: 28px 24px;
    }

    .indreams-event-features-list {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .indreams-event-booking-card {
        padding: 26px 20px;
    }

    .indreams-event-booking-card
    .cem-bw__party-options {
        grid-template-columns: 1fr !important;
    }

    .indreams-event-booking-card
    .cem-bw__grid {
        grid-template-columns: 1fr !important;
        gap: 27px !important;
    }

    .indreams-event-booking-card
    .cem-bw__grid > :last-child {
        grid-column: auto;
    }

    .indreams-event-help-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 26px;
    }

    .indreams-event-help-button {
        width: 100%;
    }
}