/* ==========================================================
   EC27 DESIGN SYSTEM 1.0
   RADICAL STANDARDIZATION
   Stuttgart Reds / Softball EC27
   ========================================================== */

/* 01 — TOKENS */
:root {
    --ec27-navy: #002B5C;
    --ec27-navy-dark: #001B44;
    --ec27-yellow: #F7C600;
    --ec27-white: #FFFFFF;
    --ec27-light: #F3F4F6;

    --ec27-font: "Arial Narrow", Arial, Helvetica, sans-serif;

    --ec27-content-width: 1280px;
    --ec27-s1: 8px;
    --ec27-s2: 16px;
    --ec27-s3: 24px;
    --ec27-s4: 32px;
    --ec27-s5: 48px;
    --ec27-s6: 64px;
    --ec27-s7: 80px;

    --ec27-radius: 6px;
    --ec27-radius-lg: 10px;

    --ec27-border: 1px solid rgba(0,43,92,.14);
    --ec27-border-dark: 1px solid rgba(255,255,255,.16);
}

/* 02 — FOUNDATION */
#sp-page-builder,
#sp-page-builder * {
    box-sizing: border-box;
}

#sp-page-builder {
    font-family: var(--ec27-font);
}

#sp-page-builder p,
#sp-page-builder h1,
#sp-page-builder h2,
#sp-page-builder h3,
#sp-page-builder h4,
#sp-page-builder h5,
#sp-page-builder h6 {
    margin-top: 0;
}

#sp-page-builder img {
    max-width: 100%;
    height: auto;
}

#sp-page-builder .sppb-section {
    padding: var(--ec27-s6) 0;
    background: var(--ec27-white);
    color: var(--ec27-navy);
}

#sp-page-builder .sppb-row-container {
    width: 100%;
    max-width: var(--ec27-content-width);
    margin-inline: auto;
}

.ec27-section {
    position: relative;
}

/* 03 — LIGHT / DARK */
.ec27-dark {
    background: var(--ec27-navy-dark) !important;
    color: var(--ec27-white);
}

.ec27-dark a {
    color: var(--ec27-yellow);
}

/* 04 — TYPE SYSTEM */
.ec27-hero-title {
    margin: 0 0 var(--ec27-s2) !important;
    color: var(--ec27-white) !important;
    font-family: var(--ec27-font) !important;
    font-size: clamp(44px,6vw,76px) !important;
    font-weight: 800 !important;
    line-height: .95 !important;
    letter-spacing: -.02em !important;
}

.ec27-section-title {
    margin: 0 0 var(--ec27-s3) !important;
}

.ec27-section-title .sppb-addon-title {
    margin: 0 !important;
    color: var(--ec27-navy) !important;
    font-family: var(--ec27-font) !important;
    font-size: clamp(34px,4vw,48px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
}

.ec27-dark .ec27-section-title .sppb-addon-title {
    color: var(--ec27-white) !important;
}

.ec27-marker .sppb-addon-title,
.ec27-kicker .sppb-addon-title {
    margin: 0 0 var(--ec27-s3) !important;
    color: var(--ec27-yellow) !important;
    font-family: var(--ec27-font) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    font-style: italic !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
}

.ec27-hero .ec27-kicker .sppb-addon-title {
    font-size: clamp(18px,2vw,28px) !important;
}

.ec27-content-title,
.ec27-card-title .sppb-addon-title {
    margin: 0 0 var(--ec27-s2) !important;
    color: var(--ec27-navy) !important;
    font-family: var(--ec27-font) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.ec27-dark .ec27-content-title,
.ec27-dark .ec27-card-title .sppb-addon-title {
    color: var(--ec27-white) !important;
}

.ec27-editorial,
.ec27-section-content,
.ec27-card-text {
    color: var(--ec27-navy);
    font-family: var(--ec27-font);
    font-size: 17px;
    line-height: 1.55;
}

.ec27-editorial p,
.ec27-section-content p,
.ec27-card-text p {
    margin: 0 0 var(--ec27-s2);
}

.ec27-editorial p:last-child,
.ec27-section-content p:last-child,
.ec27-card-text p:last-child {
    margin-bottom: 0;
}

.ec27-dark .ec27-editorial,
.ec27-dark .ec27-section-content,
.ec27-dark .ec27-card-text,
.ec27-dark .ec27-editorial p,
.ec27-dark .ec27-section-content p,
.ec27-dark .ec27-card-text p {
    color: var(--ec27-white) !important;
}
/* 05 — DIVIDER */
.ec27-divider {
    width: 44px;
    height: 4px;
    margin-top: var(--ec27-s3);
    background: var(--ec27-yellow);
    border: 0;
}
/* 06 — HERO */
.ec27-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
    background-position: center;
    background-size: cover;
    color: var(--ec27-white);
}

.ec27-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(0,27,68,.72);
    pointer-events: none;
}

.ec27-hero > .sppb-row-container,
.ec27-hero .sppb-row,
.ec27-hero .sppb-row-column,
.ec27-hero .sppb-column {
    position: relative;
    z-index: 1;
}

.ec27-hero-home {
    min-height: 100vh;
    height: 100vh;
}

.ec27-hero-home .sppb-row {
    min-height: 100%;
    align-items: center;
}

.ec27-hero-home .sppb-column-addons {
    width: 100%;
    max-width: 1000px;
    margin-inline: auto;
    text-align: center;
}

.ec27-hero-subpage {
    min-height: 460px;
}

.ec27-hero-subpage .ec27-hero-title {
    font-size: clamp(52px,6vw,72px) !important;
    line-height: .92 !important;
}

.ec27-hero-subpage .sppb-column-addons {
    width: 100%;
    text-align: left;
}

.ec27-hero-home .ec27-hero-title,
.ec27-hero-home .ec27-kicker,
.ec27-hero-home .ec27-hero-subtitle {
    text-align: center;
}

.ec27-hero-subpage .ec27-hero-title,
.ec27-hero-subpage .ec27-kicker,
.ec27-hero-subpage .ec27-hero-subtitle {
    text-align: left;
}

.ec27-hero-subtitle {
    margin: 0 0 var(--ec27-s4);
    color: var(--ec27-white);
    font-size: 18px;
    line-height: 1.5;
}

.ec27-hero-right {
    background-position: right center !important;
}

.ec27-hero-bottom-right {
    background-position: right bottom !important;
}

.ec27-hero-left {
    background-position: left center !important;
}

.ec27-hero-home .ec27-home-button .sppb-btn {
    background: var(--ec27-yellow) !important;
    color: var(--ec27-navy) !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 14px 28px !important;
    font-family: var(--ec27-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.ec27-hero .sppb-btn:hover,
.ec27-hero .sppb-btn:focus,
.ec27-hero-button:hover,
.ec27-btn:hover {
    background: var(--ec27-white) !important;
    border-color: var(--ec27-white) !important;
    color: var(--ec27-navy) !important;
    transform: translateY(-1px);
}

/* =========================================================
   FRIENDLY ADVICE
   ========================================================= */

.ec27-highlight {
    box-sizing: border-box;

    width: 100%;

    padding: var(--ec27-s2) var(--ec27-s3);

    background: var(--ec27-white);

    border: 1px solid var(--ec27-yellow);
    border-radius: var(--ec27-radius);

    color: var(--ec27-navy);
}


/* Content */

.ec27-highlight .sppb-addon-content {
    width: 100%;
}


/* Text */

.ec27-highlight p {
    margin: 0;

    color: var(--ec27-navy);

    font-size: 15px;
    line-height: 1.5;
}


/* Label */

.ec27-highlight strong {
    color: var(--ec27-yellow);
    font-weight: 700;
}

/* 07 — HERO COUNTDOWN */
/* =========================================================
   HOME COUNTDOWN
   ========================================================= */

.ec27-hero-home .ec27-countdown {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    margin: var(--ec27-s3) auto !important;
    padding: 0 !important;
}

.ec27-hero-home .ec27-countdown-item {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;

    align-items: flex-start !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 95px !important;
    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

.ec27-hero-home .ec27-countdown-value {
    display: block !important;

    color: var(--ec27-white) !important;
    font-family: var(--ec27-font) !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

.ec27-hero-home .ec27-countdown-label {
    display: block !important;

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

    color: var(--ec27-white) !important;
    font-family: var(--ec27-font) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: .03em !important;
}

.ec27-hero-home .ec27-countdown-divider {
    display: block !important;
    flex: 0 0 2px !important;

    width: 2px !important;
    height: 58px !important;

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

    background: var(--ec27-yellow) !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 768px) {

    .ec27-hero-home .ec27-countdown-item {
        min-width: 70px !important;
    }

    .ec27-hero-home .ec27-countdown-value {
        font-size: 30px !important;
    }

    .ec27-hero-home .ec27-countdown-label {
        font-size: 9px !important;
    }

    .ec27-hero-home .ec27-countdown-divider {
        height: 45px !important;
        margin: 0 2px !important;
    }
}

@media (max-width: 480px) {

    .ec27-hero-home .ec27-countdown-item {
        min-width: 55px !important;
    }

    .ec27-hero-home .ec27-countdown-value {
        font-size: 24px !important;
    }

    .ec27-hero-home .ec27-countdown-label {
        font-size: 8px !important;
    }

    .ec27-hero-home .ec27-countdown-divider {
        height: 38px !important;
        margin: 0 1px !important;
    }
}

/* 08 — STANDARD CARD */
.ec27-card {
    height: 100%;
    padding: var(--ec27-s4);
    background: var(--ec27-white);
    border: var(--ec27-border);
    border-radius: var(--ec27-radius-lg);
    color: var(--ec27-navy);
}

.ec27-card .sppb-addon-content,
.ec27-card .sppb-media,
.ec27-card .sppb-media-body,
.ec27-card .sppb-media-content {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.ec27-card-title .sppb-addon-title-icon,
.ec27-card .sppb-icon .sppb-icon-container {
    color: var(--ec27-yellow);
}

.ec27-card-title .sppb-addon-title-icon {
    margin-right: 8px;
}

.ec27-card .sppb-feature-box-title {
    margin: 0 0 4px;
    color: var(--ec27-navy);
    font-family: var(--ec27-font);
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
}

.ec27-card .sppb-addon-text {
    color: var(--ec27-navy);
    font-size: 15px;
    line-height: 1.4;
}

.ec27-card .sppb-addon-text p {
    margin: 0;
}

/* Dark card */
.ec27-dark-card,
.ec27-umpire-card {
    background: var(--ec27-navy);
    color: var(--ec27-white);
}

.ec27-dark-card .ec27-card-title .sppb-addon-title,
.ec27-dark-card .ec27-card-text,
.ec27-dark-card .ec27-card-text p,
.ec27-dark-card .sppb-feature-box-title,
.ec27-dark-card .sppb-addon-text {
    color: var(--ec27-white) !important;
}

/* 09 — GAME IN 60 SECONDS */
.ec27-game-cards .sppb-row {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: var(--ec27-s2) !important;
    align-items: stretch !important;
}

.ec27-game-cards .sppb-row-column {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: flex !important;
}

.ec27-game-cards .sppb-column,
.ec27-game-cards .sppb-column-addons,
.ec27-game-cards .sppb-addon-wrapper,
.ec27-game-cards .sppb-addon-content {
    width: 100% !important;
}

.ec27-game-cards .ec27-card {
    width: 100% !important;
    min-height: 240px !important;
    height: 100% !important;
    padding: var(--ec27-s4) !important;
    display: flex !important;
    align-items: center !important;
    background: var(--ec27-navy) !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--ec27-white) !important;
}

.ec27-game-cards .ec27-card .sppb-addon-content,
.ec27-game-cards .ec27-card .sppb-media,
.ec27-game-cards .ec27-card .sppb-media-body,
.ec27-game-cards .ec27-card .sppb-media-content {
    width: 100% !important;
    background: transparent !important;
    color: var(--ec27-white) !important;
}

.ec27-game-cards .ec27-card .sppb-media {
    display: flex !important;
    align-items: center !important;
}

.ec27-game-cards .ec27-card .sppb-icon {
    flex: 0 0 auto;
    margin-right: 18px;
}

.ec27-game-cards .ec27-card .sppb-icon-container {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--ec27-yellow) !important;
    font-size: 24px;
}

.ec27-game-cards .ec27-card .sppb-feature-box-title,
.ec27-game-cards .ec27-card .sppb-addon-title,
.ec27-game-cards .ec27-card .sppb-addon-text,
.ec27-game-cards .ec27-card .sppb-addon-text p,
.ec27-game-cards .ec27-card .sppb-media-heading {
    color: var(--ec27-white) !important;
}

/* 10 — PLAY CARDS
   The SPPB column is the card.
*/
.ec27-plays .sppb-row {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: var(--ec27-s3);
    align-items: stretch;
}

.ec27-plays .sppb-row-column {
    width: 100% !important;
    height: 100%;
    padding: var(--ec27-s4) !important;
    background: var(--ec27-white) !important;
    border: var(--ec27-border);
    border-radius: var(--ec27-radius-lg);
    color: var(--ec27-navy);
}

.ec27-plays .ec27-card-title .sppb-addon-title {
    margin: 0 0 var(--ec27-s2) !important;
    color: var(--ec27-navy) !important;
    font-family: var(--ec27-font) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.ec27-plays .ec27-card-title-icon {
    margin-right: 8px;
    color: var(--ec27-yellow) !important;
}

.ec27-plays .ec27-card-text,
.ec27-plays .ec27-card-text p {
    color: var(--ec27-navy) !important;
    font-size: 16px;
    line-height: 1.5;
}

.ec27-plays .ec27-card-text p {
    margin: 0;
}

/* Play cards on dark sections */
.ec27-dark.ec27-plays .sppb-row-column {
    background: var(--ec27-navy) !important;
    border-color: rgba(255,255,255,.16);
    color: var(--ec27-white);
}

.ec27-dark.ec27-plays .ec27-card-title .sppb-addon-title,
.ec27-dark.ec27-plays .ec27-card-text,
.ec27-dark.ec27-plays .ec27-card-text p {
    color: var(--ec27-white) !important;
}

/* 11 — SOFTBALL / BASEBALL */
.ec27-comparison .sppb-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--ec27-s6);
}

.ec27-comparison .sppb-row-column:first-child {
    grid-column: 1 / -1;
    width: 100%;
    padding-bottom: var(--ec27-s5);
}

.ec27-comparison .sppb-row-column:nth-child(2),
.ec27-comparison .sppb-row-column:nth-child(3) {
    width: 100%;
}

.ec27-comparison .sppb-row-column:nth-child(3) {
    position: relative;
    border-left: var(--ec27-border-dark);
    padding-left: var(--ec27-s5);
}

.ec27-comparison .ec27-comparison-title .sppb-addon-title {
    margin: 0 0 var(--ec27-s2);
    color: var(--ec27-white) !important;
    font-family: var(--ec27-font);
    font-size: 26px;
    font-weight: 800;
}

.ec27-comparison .ec27-comparison-list p {
    position: relative;
    margin: 0;
    padding: 12px 0 12px 20px;
    color: var(--ec27-white);
    line-height: 1.4;
}

.ec27-comparison .ec27-comparison-list p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 7px;
    height: 7px;
    background: var(--ec27-yellow);
    border-radius: 50%;
    transform: translateY(-50%);
}

.ec27-comparison .ec27-comparison-list strong {
    color: inherit;
    font-weight: 400;
}

.ec27-comparison .sppb-row-column:nth-child(3)::before {
    content: "VS";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%,-50%);
    padding: 7px 9px;
    background: var(--ec27-navy-dark);
    color: var(--ec27-yellow);
    font-family: var(--ec27-font);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

/* 12 — STATS */
.ec27-stats-cards {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: var(--ec27-s2);
    width: 100%;
}

.ec27-stat-card {
    min-height: 110px;
    padding: var(--ec27-s3);
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--ec27-white);
    border: var(--ec27-border);
    border-radius: var(--ec27-radius-lg);
    text-align: center;
}

.ec27-stat-card strong {
    display: block;
    margin-bottom: 6px;
    color: var(--ec27-navy);
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
}

.ec27-stat-card span {
    color: var(--ec27-navy);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

/* 13 — UMPIRE */
.ec27-umpire-card {
    min-height: 250px;
    padding: var(--ec27-s3);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: var(--ec27-radius-lg);
}

.ec27-umpire-image {
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ec27-umpire-image img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 150px;
}

.ec27-umpire-title {
    margin: var(--ec27-s2) 0 6px;
    color: var(--ec27-white);
    font-family: var(--ec27-font);
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

.ec27-umpire-text {
    color: var(--ec27-white);
    font-size: 14px;
    line-height: 1.45;
}

/* 14 — SCOREBOARD */
.ec27-scoreboard {
    width: 100%;
    overflow: hidden;
    background: var(--ec27-navy);
    color: var(--ec27-white);
    border-radius: var(--ec27-radius-lg);
}

.ec27-scoreboard-grid {
    width: 100%;
    font-size: 14px;
}

.ec27-scoreboard-head,
.ec27-scoreboard-row {
    display: grid;
    grid-template-columns: 72px repeat(7,minmax(0,1fr)) 40px 40px 40px;
    align-items: center;
}

.ec27-scoreboard-head {
    padding-bottom: 10px;
    border-bottom: var(--ec27-border-dark);
    color: var(--ec27-white);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.ec27-scoreboard-head span:first-child,
.ec27-scoreboard-row strong:first-child {
    text-align: left;
}

.ec27-scoreboard-head .stat,
.ec27-scoreboard-row .total,
.ec27-scoreboard-key strong {
    color: var(--ec27-yellow);
}

.ec27-scoreboard-row {
    min-height: 46px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    color: var(--ec27-white);
    text-align: center;
}

.ec27-scoreboard-row strong:first-child {
    font-size: 12px;
}

.ec27-scoreboard-key {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: var(--ec27-s3);
    margin-top: var(--ec27-s4);
}

.ec27-scoreboard-key > div {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 8px;
    align-items: baseline;
}

.ec27-scoreboard-key strong {
    font-size: 24px;
    line-height: 1;
}

.ec27-scoreboard-key span {
    color: var(--ec27-white);
    font-size: 13px;
    font-weight: 800;
}

.ec27-scoreboard-key small {
    grid-column: 1 / -1;
    margin-top: 4px;
    color: var(--ec27-white);
    font-size: 12px;
    line-height: 1.3;
}

/* 15 — CONTENT / SIGHTSEEING */
.ec27-sightseeing-card {
    width: 100%;
    padding: var(--ec27-s3);
    background: var(--ec27-white);
    border: var(--ec27-border);
    border-radius: var(--ec27-radius-lg);
    color: var(--ec27-navy);
}

.ec27-sightseeing-title,
.ec27-sightseeing-category,
.ec27-sightseeing-meta,
.ec27-sightseeing-footer,
.ec27-sightseeing-editorial-title,
.ec27-sightseeing-tip-title {
    color: var(--ec27-navy);
    font-family: var(--ec27-font);
    font-weight: 800;
}

.ec27-sightseeing-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
}

.ec27-sightseeing-description,
.ec27-sightseeing-quote,
.ec27-sightseeing-tip-text {
    color: var(--ec27-navy);
    font-size: 15px;
    line-height: 1.5;
}

.ec27-sightseeing-badge {
    padding: 5px 10px;
    color: var(--ec27-navy);
    background: var(--ec27-white);
    border: var(--ec27-border);
    border-radius: var(--ec27-radius);
    font-size: 11px;
    font-weight: 800;
}

.ec27-sightseeing-icon {
    background: var(--ec27-light);
    color: var(--ec27-navy);
}

.ec27-sightseeing-editorial {
    margin-top: var(--ec27-s2);
    padding-top: var(--ec27-s2);
    border-top: var(--ec27-border);
}

.ec27-sightseeing-tip {
    margin-top: var(--ec27-s2);
    padding: var(--ec27-s2);
    background: var(--ec27-light);
    border-left: 3px solid var(--ec27-yellow);
}

.ec27-sightseeing-footer {
    margin-top: var(--ec27-s3);
    padding-top: var(--ec27-s2);
    border-top: var(--ec27-border);
}
.ec27-sightseeing-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ec27-s2);
    margin-bottom: var(--ec27-s2);
}
.ec27-sightseeing-title-row {
    display: flex;
    align-items: flex-start;
    gap: var(--ec27-s2);
    margin-bottom: var(--ec27-s2);
}

.ec27-sightseeing-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: var(--ec27-light);
    border-radius: var(--ec27-radius);
    font-size: 24px;
}

/* 16 — ORGANISATIONS / FEATURE */
.ec27-organisations {
    background: var(--ec27-light);
}

.ec27-organisations .sppb-row {
    align-items: center;
    row-gap: var(--ec27-s3);
}

.ec27-organisations .sppb-column {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ec27-organisations img {
    width: auto;
    height: 60px;
    max-width: 180px;
    object-fit: contain;
}

.ec27-feature {
    overflow: hidden;
    border-radius: var(--ec27-radius-lg);
}

.ec27-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ec27-feature-content {
    padding: var(--ec27-s5);
}

/* 17 — CONTACT */
.ec27-contact-item {
    display: flex;
    align-items: flex-start;
    gap: var(--ec27-s2);
}

.ec27-contact-item img {
    max-width: 32px;
    flex: 0 0 auto;
}

.ec27-contact-person + .ec27-contact-person {
    margin-top: var(--ec27-s3);
    padding-top: var(--ec27-s3);
    border-top: var(--ec27-border);
}

.ec27-contact-person .sppb-addon-title,
.ec27-contact-person .sppb-addon-text {
    color: var(--ec27-navy);
}

/* 18 — TRAVEL MODULE */
.ec27-card-grid {
    width: 100%;
}

.ec27-card-grid .widget {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    overflow: hidden;
    background: var(--ec27-white);
    border: var(--ec27-border);
    border-radius: var(--ec27-radius-lg);
}

.ec27-card-grid .widget .header {
    padding: var(--ec27-s3);
    background: var(--ec27-navy);
    color: var(--ec27-white);
    font-family: var(--ec27-font);
    font-size: 20px;
    font-weight: 800;
}

.ec27-card-grid .widget .content {
    padding: var(--ec27-s3);
}

.ec27-card-grid .widget label {
    display: block;
    margin: 12px 0 4px;
    color: var(--ec27-navy);
    font-size: 13px;
    font-weight: 800;
}

.ec27-card-grid .widget input,
.ec27-card-grid .widget select {
    width: 100%;
    padding: 11px 12px;
    margin: 0 0 4px;
    background: var(--ec27-white);
    color: var(--ec27-navy);
    border: var(--ec27-border);
    border-radius: var(--ec27-radius);
}

.ec27-card-grid .widget button {
    width: 100%;
    margin-top: var(--ec27-s2);
    padding: 12px 18px;
    background: var(--ec27-yellow);
    color: var(--ec27-navy);
    border: 0;
    border-radius: var(--ec27-radius);
    font-family: var(--ec27-font);
    font-weight: 800;
    cursor: pointer;
}

/* 19 — TRAVEL SECTION SAFETY */
#section-id-1774791980254,
#section-id-1774791980254 > .sppb-row-container,
#section-id-1774791980254 > .sppb-row-container > .sppb-row,
#section-id-1774791980254 .sppb-row-column,
#section-id-1774791980254 .sppb-column,
#section-id-1774791980254 .sppb-column-addons,
#section-id-1774791980254 .sppb-addon-wrapper,
#section-id-1774791980254 .sppb-addon-module,
#section-id-1774791980254 .sppb-addon-content,
#section-id-1774791980254 .ec27-card-grid,
#section-id-1774791980254 .widget {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

#section-id-1774791980254 > .sppb-row-container > .sppb-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

/* 20 — INTRO SAFETY */
#intro.ec27-section,
#intro.ec27-section .sppb-row-container,
#intro.ec27-section .sppb-row,
#intro.ec27-section .sppb-row-column,
#intro.ec27-section .sppb-column,
#intro.ec27-section .sppb-column-addons,
#intro.ec27-section .sppb-section,
#intro.ec27-section .sppb-container-inner {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

/* 21 — MOBILE */
@media (max-width: 991px) {
    #sp-page-builder .sppb-section {
        padding: var(--ec27-s5) 0;
    }

    .ec27-game-cards .sppb-row {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .ec27-feature-content {
        padding: var(--ec27-s4);
    }

    .ec27-organisations img {
        height: 55px;
        max-width: 150px;
    }
}

@media (max-width: 767px) {
    #sp-page-builder .sppb-section {
        padding: var(--ec27-s5) 0;
    }

    .ec27-hero-home {
        min-height: calc(100vh - 60px);
        height: auto;
    }

    .ec27-hero-home .sppb-column-addons {
        padding: var(--ec27-s7) var(--ec27-s2);
    }

    .ec27-hero-subpage {
        min-height: 320px;
    }

    .ec27-hero-subpage .sppb-column-addons {
        padding: var(--ec27-s5) var(--ec27-s2);
    }

    .ec27-hero-right {
        background-position: 75% center !important;
    }

    .ec27-hero-bottom-right {
        background-position: 75% bottom !important;
    }

    .ec27-section-title .sppb-addon-title {
        font-size: 34px !important;
    }

    .ec27-hero-title {
        font-size: clamp(40px,12vw,58px) !important;
    }

    .ec27-marker .sppb-addon-title,
    .ec27-kicker .sppb-addon-title {
        font-size: 18px !important;
    }

    .ec27-game-cards .sppb-row {
        grid-template-columns: 1fr !important;
        gap: var(--ec27-s2) !important;
    }

    .ec27-game-cards .sppb-row-column {
        width: 100% !important;
        display: flex !important;
    }

    .ec27-game-cards .ec27-card {
        min-height: 150px !important;
        height: 100% !important;
        padding: var(--ec27-s3) !important;
    }

    .ec27-comparison .sppb-row {
        display: flex;
        flex-direction: column;
    }

    .ec27-comparison .sppb-row-column:first-child {
        padding-bottom: var(--ec27-s5);
    }

    .ec27-comparison .sppb-row-column:nth-child(2) {
        margin-bottom: var(--ec27-s5);
    }

    .ec27-comparison .sppb-row-column:nth-child(3) {
        border-left: 0;
        padding-left: 0;
    }

    .ec27-comparison .sppb-row-column:nth-child(3)::before {
        display: none;
    }

    .ec27-stats-cards {
        grid-template-columns: 1fr !important;
    }

    .ec27-scoreboard-grid {
        overflow-x: auto;
    }

    .ec27-scoreboard-head,
    .ec27-scoreboard-row {
        min-width: 520px;
    }

    .ec27-scoreboard-key {
        grid-template-columns: 1fr;
    }

    .ec27-umpire-card {
        min-height: 220px;
    }

    .ec27-umpire-image {
        min-height: 120px;
    }

    .ec27-umpire-image img {
        max-height: 120px;
    }

    .ec27-feature-content {
        padding: var(--ec27-s3);
    }

    .ec27-organisations img {
        height: 48px;
        max-width: 130px;
    }

    #section-id-1774791980254 .sppb-row-column {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }

    #section-id-1774791980254 .sppb-row-container {
        padding-inline: var(--ec27-s2);
    }

    #section-id-1774791980254 .widget {
        width: 100%;
        max-width: 420px;
    }

    #column-wrap-id-1774791980252 {
        margin-bottom: var(--ec27-s3) !important;
    }
}


/* 22 — FINAL COMPONENT GUARDS */

/* Softball ABC subpage hero */
.ec27-hero-subpage {
    min-height: 460px !important;
}

.ec27-hero-subpage .ec27-hero-title {
    font-size: clamp(52px,6vw,72px) !important;
    line-height: .92 !important;
    font-weight: 800 !important;
}

/* GAME IN 60 SECONDS — SPPB columns become the cards */
.ec27-game-cards .sppb-row {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    align-items: stretch !important;
}

.ec27-game-cards .sppb-row-column {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.ec27-game-cards .sppb-column,
.ec27-game-cards .sppb-column-addons,
.ec27-game-cards .sppb-addon-wrapper,
.ec27-game-cards .sppb-addon-content,
.ec27-game-cards .ec27-card,
.ec27-game-cards .ec27-card .sppb-media {
    width: 100% !important;
}

.ec27-game-cards .ec27-card {
    min-height: 240px !important;
    height: 100% !important;
    background: var(--ec27-navy) !important;
    color: var(--ec27-white) !important;
}

.ec27-game-cards .ec27-card *,
.ec27-game-cards .ec27-card .sppb-feature-box-title,
.ec27-game-cards .ec27-card .sppb-addon-title,
.ec27-game-cards .ec27-card .sppb-addon-text,
.ec27-game-cards .ec27-card .sppb-addon-text p,
.ec27-game-cards .ec27-card .sppb-media-heading,
.ec27-game-cards .ec27-card .sppb-media-content {
    color: var(--ec27-white) !important;
}

.ec27-game-cards .ec27-card .sppb-icon-container,
.ec27-game-cards .ec27-card .sppb-icon-container * {
    color: var(--ec27-yellow) !important;
}

@media (max-width: 767px) {
    .ec27-plays .sppb-row {
        grid-template-columns: 1fr !important;
        gap: var(--ec27-s3);
    }

    .ec27-plays .sppb-row-column {
        padding: var(--ec27-s3) !important;
    }

    .ec27-hero-subpage {
        min-height: 340px !important;
    }
    .ec27-hero-subpage .ec27-hero-title {
        font-size: clamp(42px,11vw,58px) !important;
    }
    .ec27-game-cards .sppb-row {
        grid-template-columns: 1fr !important;
    }
    .ec27-game-cards .ec27-card {
        min-height: 150px !important;
    }
}

/* =========================================================
   HOME HERO / STAGE
   ========================================================= */

.ec27-hero-home {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.ec27-hero-home .sppb-row {
    width: 100%;
}

.ec27-hero-home .sppb-row-column {
    width: 100%;
    padding: 0 !important;
}

.ec27-hero-home .sppb-column-addons {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}


/* ---------------------------------------------------------
   LOGO
   --------------------------------------------------------- */

.ec27-hero-home .ec27-home-logo {
    margin-bottom: var(--ec27-s3);
}

.ec27-hero-home .ec27-home-logo img {
    width: 220px;
    height: auto;
}


/* ---------------------------------------------------------
   MAIN TITLE
   --------------------------------------------------------- */

.ec27-hero-home .ec27-home-title {
    width: 100%;
    text-align: center;
}

.ec27-hero-home .ec27-home-title .sppb-addon-title {
    margin: 0 !important;
    color: var(--ec27-white) !important;
    font-family: var(--ec27-font) !important;
    font-size: clamp(42px, 5vw, 64px) !important;
    font-weight: 800 !important;
    line-height: .95 !important;
    letter-spacing: -.02em;
    text-align: center !important;
}


/* ---------------------------------------------------------
   SUBTITLE
   --------------------------------------------------------- */

.ec27-hero-home .ec27-home-subtitle .sppb-addon-title {
    margin: var(--ec27-s2) 0 var(--ec27-s3) !important;
    color: var(--ec27-white) !important;
    font-family: var(--ec27-font) !important;
    font-size: clamp(20px, 2vw, 28px) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-align: center !important;
}


/* ---------------------------------------------------------
   COUNTDOWN
   --------------------------------------------------------- */

.ec27-hero-home .ec27-home-countdown {
    margin: var(--ec27-s2) 0 var(--ec27-s3);
}

.ec27-hero-home .sb-box {
    background: var(--ec27-navy);
    border: 2px solid var(--ec27-yellow);
    border-radius: 0;
    box-shadow: none;
}

.ec27-hero-home .sb-box span {
    color: var(--ec27-white);
}

.ec27-hero-home .sb-box small {
    color: var(--ec27-yellow);
}

/* =========================================================
   EC27 HERO
   ========================================================= */

#section-id-1262031791518 {
    min-height: 435px;
    display: flex;
    align-items: center;
}

#section-id-1262031791518 .sppb-row-container {
    width: 100%;
}

#section-id-1262031791518 #column-id-1012340011825 {
    padding: 0 60px 0 7%;
}


/* ---------------------------------------------------------
   HERO TITLE
   --------------------------------------------------------- */

#section-id-1262031791518 .ec27-home-title .sppb-addon-title {
    margin: 0;
    padding: 0;

    font-family: Arial, sans-serif;
    font-size: 50px;
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -1px;

    color: #ffffff;
}


/* ---------------------------------------------------------
   HERO SUBTITLE
   --------------------------------------------------------- */

#section-id-1262031791518 .ec27-home-subtitle {
    margin-top: 8px;
}

#section-id-1262031791518 .ec27-home-subtitle .sppb-addon-title {
    margin: 0;
    padding: 0;

    font-family: Arial, sans-serif;
    font-size: 31px;
    font-weight: 400;
    line-height: 1.1;

    color: #f4c21a;
}


/* ---------------------------------------------------------
   COUNTDOWN
   --------------------------------------------------------- */

#section-id-1262031791518 .ec27-home-countdown {
    margin-top: 32px;
}

#section-id-1262031791518 .ec27-countdown {
    display: flex;
    align-items: center;
    gap: 0;
}


/* individual countdown item */

#section-id-1262031791518 .ec27-countdown-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    min-width: 90px;
}


/* numbers */

#section-id-1262031791518 .ec27-countdown-value {
    display: block;

    font-family: Arial, sans-serif;
    font-size: 38px;
    font-weight: 300;
    line-height: 1;

    color: #ffffff;
}


/* labels */

#section-id-1262031791518 .ec27-countdown-label {
    display: block;

    margin-top: 7px;

    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;

    letter-spacing: 1.5px;
    text-transform: uppercase;

    color: #ffffff;
}


/* dividers */

#section-id-1262031791518 .ec27-countdown-divider {
    width: 1px;
    height: 48px;

    margin: 0 22px;

    background: rgba(255, 255, 255, 0.45);
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767.98px) {

    #section-id-1262031791518 {
        min-height: 500px;
    }

    #section-id-1262031791518 #column-id-1012340011825 {
        padding: 50px 25px;
    }

    #section-id-1262031791518 .ec27-home-title .sppb-addon-title {
        font-size: 36px;
    }

    #section-id-1262031791518 .ec27-home-subtitle .sppb-addon-title {
        font-size: 23px;
    }

    #section-id-1262031791518 .ec27-home-countdown {
        margin-top: 28px;
    }

    #section-id-1262031791518 .ec27-countdown-item {
        min-width: 65px;
    }

    #section-id-1262031791518 .ec27-countdown-value {
        font-size: 28px;
    }

    #section-id-1262031791518 .ec27-countdown-label {
        font-size: 9px;
        letter-spacing: 1px;
    }

    #section-id-1262031791518 .ec27-countdown-divider {
        margin: 0 10px;
        height: 38px;
    }
}
/* =========================================================
   AT A GLANCE
   ========================================================= */

/* ---------------------------------------------------------
   GRID
   --------------------------------------------------------- */

.ec27-glance > .sppb-row-container > .sppb-row {
    display: grid !important;
    grid-template-columns: 1.1fr repeat(5, 1fr);
    gap: var(--ec27-s2);
    align-items: stretch;
}


/* ---------------------------------------------------------
   COLUMNS — RESET SP PAGE BUILDER / BOOTSTRAP
   --------------------------------------------------------- */

.ec27-glance
> .sppb-row-container
> .sppb-row
> .sppb-row-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: none !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex;
}


/* ---------------------------------------------------------
   INTRO COLUMN
   --------------------------------------------------------- */

.ec27-glance
> .sppb-row-container
> .sppb-row
> .sppb-row-column:first-child {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


/* ---------------------------------------------------------
   CARD COLUMNS
   --------------------------------------------------------- */

.ec27-glance
> .sppb-row-container
> .sppb-row
> .sppb-row-column:not(:first-child) {
    display: flex;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

/* =========================================================
   BALLPARK INFO CARDS — DIVIDERS
   ========================================================= */

.ec27-card .addon-root-divider {
    width: 100% !important;
    margin: var(--ec27-s2) 0 !important;
    padding: 0 !important;
}

.ec27-card .addon-root-divider .sppb-addon-divider-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ec27-card .addon-root-divider .sppb-divider {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}


/* ---------------------------------------------------------
   CARD CONTENT
   --------------------------------------------------------- */

.ec27-glance .ec27-card .sppb-media {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    width: 100%;
    height: 100%;
}


/* ---------------------------------------------------------
   RESET SP PAGE BUILDER FEATURE LAYOUT
   --------------------------------------------------------- */

.ec27-glance .ec27-card .pull-left,
.ec27-glance .ec27-card .pull-right {
    width: auto !important;
    flex: 0 0 auto;

    margin: 0 0 var(--ec27-s2) 0 !important;
}


/* ---------------------------------------------------------
   ICON
   --------------------------------------------------------- */

.ec27-glance .ec27-card .sppb-icon {
    margin: 0 !important;
}

.ec27-glance .ec27-card .sppb-icon-container {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 42px;
    height: 42px;

    color: var(--ec27-yellow);

    font-size: 30px;
}


/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

.ec27-glance .ec27-card .sppb-media-body {
    width: 100%;
    min-width: 0;
}

.ec27-glance .ec27-card .sppb-media-content {
    width: 100%;
}


/* ---------------------------------------------------------
   CARD TITLE
   --------------------------------------------------------- */

.ec27-glance .ec27-card .sppb-addon-title {
    margin: 0 0 12px !important;

    color: var(--ec27-navy) !important;

    font-size: 27px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;

    font-variant-numeric: tabular-nums;
}


/* ---------------------------------------------------------
   CARD TEXT
   --------------------------------------------------------- */

.ec27-glance .ec27-card .sppb-addon-text {
    color: var(--ec27-navy) !important;

    font-size: 15px;
    line-height: 1.4;
}

.ec27-glance .ec27-card .sppb-addon-text p {
    margin: 0;
}


/* ---------------------------------------------------------
   WBSC CARD
   --------------------------------------------------------- */

.ec27-glance .ec27-card .sppb-img-container {
    display: block;

    width: 48px !important;
    height: 48px;

    margin: 0 0 var(--ec27-s2) 0 !important;
}

.ec27-glance .ec27-card .sppb-img-container img {
    display: block;

    width: 48px !important;
    height: 48px !important;

    object-fit: contain;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1199.98px) {

    .ec27-glance > .sppb-row-container > .sppb-row {
        grid-template-columns: repeat(3, 1fr);
    }

    .ec27-glance
    > .sppb-row-container
    > .sppb-row
    > .sppb-row-column:first-child {
        grid-column: 1 / -1;
    }

    .ec27-glance .ec27-card {
        min-height: 220px;
        height: 100%;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767.98px) {

    .ec27-glance > .sppb-row-container > .sppb-row {
        grid-template-columns: 1fr;
    }

    .ec27-glance
    > .sppb-row-container
    > .sppb-row
    > .sppb-row-column:first-child {
        grid-column: auto;
    }

    .ec27-glance .ec27-card {
        min-height: 0;
        height: auto;
    }

}
/* =========================================================
   PLAN YOUR VISIT — GRID
   ========================================================= */

.ec27-plan > .sppb-row-container > .sppb-row {
    display: grid !important;

    grid-template-columns:
        1.1fr
        1fr
        1fr
        2fr;

    gap: var(--ec27-s2);

    align-items: stretch;
}


/* ---------------------------------------------------------
   COLUMNS — RESET SP PAGE BUILDER / BOOTSTRAP
   --------------------------------------------------------- */

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column {

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: none !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex;
}


/* ---------------------------------------------------------
   INTRO COLUMN
   --------------------------------------------------------- */

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column:first-child {

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


/* ---------------------------------------------------------
   CARD COLUMNS
   --------------------------------------------------------- */

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column:not(:first-child) {

    display: flex;
}

.ec27-plan .addon-root-feature {
    width: 100%;
    display: flex;
}

.ec27-plan .ec27-card {
    width: 100%;
}


/* =========================================================
   PLAN CARDS
   ========================================================= */

.ec27-plan .ec27-card {

    width: 100%;
    min-height: 240px;
    height: 100%;

    box-sizing: border-box;

    padding: var(--ec27-s3);

    background: var(--ec27-white);

    border: var(--ec27-border);
    border-radius: var(--ec27-radius);

    box-shadow: none;
}


/* ---------------------------------------------------------
   CARD CONTENT
   --------------------------------------------------------- */

.ec27-plan .ec27-card .sppb-media {

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    width: 100%;
    height: 100%;
}


/* Remove SP Page Builder feature layout */

.ec27-plan .ec27-card .pull-left,
.ec27-plan .ec27-card .pull-right {

    width: auto !important;
    flex: 0 0 auto;

    margin: 0 0 var(--ec27-s2) 0 !important;
}


/* ---------------------------------------------------------
   ICON
   --------------------------------------------------------- */

.ec27-plan .ec27-card .sppb-icon {
    margin: 0 !important;
}

.ec27-plan .ec27-card .sppb-icon-container {

    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 42px;
    height: 42px;

    color: var(--ec27-navy);

    font-size: 30px;
}


/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

.ec27-plan .ec27-card .sppb-media-body {

    width: 100%;
    min-width: 0;
}

.ec27-plan .ec27-card .sppb-media-content {
    width: 100%;
}


/* ---------------------------------------------------------
   CARD TITLE
   --------------------------------------------------------- */

.ec27-plan .ec27-card .sppb-addon-title {

    margin: 0 0 12px !important;

    color: var(--ec27-navy) !important;

    font-size: 27px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
}


/* ---------------------------------------------------------
   CARD TEXT
   --------------------------------------------------------- */

.ec27-plan .ec27-card .sppb-addon-text {

    color: var(--ec27-navy) !important;

    font-size: 15px;
    line-height: 1.4;
}

.ec27-plan .ec27-card .sppb-addon-text p {
    margin: 0 0 8px;
}


/* =========================================================
   VENUE CARD
   ========================================================= */

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column:last-child
.ec27-card {

    min-height: 240px;
}


/* Venue card becomes horizontal */

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column:last-child
.ec27-card .sppb-media {

    flex-direction: row;
    align-items: stretch;

    height: 100%;
}


/* Venue image */

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column:last-child
.ec27-card .pull-left {

    width: 50% !important;

    margin: 0 !important;

    flex: 0 0 50%;
}

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column:last-child
.ec27-card .sppb-img-container {

    display: block;

    width: 100% !important;
    height: 100%;

    margin: 0 !important;
}

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column:last-child
.ec27-card .sppb-img-container img {

    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
}


/* Venue text */

.ec27-plan
> .sppb-row-container
> .sppb-row
> .sppb-row-column:last-child
.ec27-card .sppb-media-body {

    width: 50%;
    padding-left: var(--ec27-s3);
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1199.98px) {

    .ec27-plan
    > .sppb-row-container
    > .sppb-row {

        grid-template-columns:
            1fr
            1fr
            1fr;
    }

    .ec27-plan
    > .sppb-row-container
    > .sppb-row
    > .sppb-row-column:first-child {

        grid-column: 1 / -1;
    }

    .ec27-plan .ec27-card {
        min-height: 220px;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767.98px) {

    .ec27-plan
    > .sppb-row-container
    > .sppb-row {

        grid-template-columns: 1fr;
    }

    .ec27-plan
    > .sppb-row-container
    > .sppb-row
    > .sppb-row-column:first-child {

        grid-column: auto;
    }

    .ec27-plan .ec27-card {
        min-height: 0;
        height: auto;
    }

    .ec27-plan
    > .sppb-row-container
    > .sppb-row
    > .sppb-row-column:last-child
    .ec27-card .sppb-media {

        flex-direction: column;
    }

    .ec27-plan
    > .sppb-row-container
    > .sppb-row
    > .sppb-row-column:last-child
    .ec27-card .pull-left {

        width: 100% !important;
        flex: none;
    }

    .ec27-plan
    > .sppb-row-container
    > .sppb-row
    > .sppb-row-column:last-child
    .ec27-card .sppb-media-body {

        width: 100%;
        padding-left: 0;
        padding-top: var(--ec27-s3);
    }
}

/* =========================================================
   FINAL MOBILE GUARD — ORGANISATION LOGOS
   ========================================================= */

@media (max-width: 767.98px) {
    .ec27-organisations .sppb-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--ec27-s3) var(--ec27-s2) !important;
        align-items: center !important;
    }

    .ec27-organisations .sppb-row-column {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .ec27-organisations .sppb-column {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}