/* Event Services listing — extends Event Spaces grid */
.gm-home--services {
    overflow-x: hidden;
    max-width: 100%;
}

.gm-hero--services {
    overflow: hidden;
    border-bottom-right-radius: 240px;
}

.gm-hero--services .gm-hero-media,
.gm-hero--services .gm-hero-media img {
    overflow: hidden;
    border-bottom-right-radius: 240px;
}

.gm-hero--services .gm-hero-media img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    display: block;
}

.gm-hero--services .gm-hero-inner {
    max-width: 920px;
    box-sizing: border-box;
}

.gm-hero--services .gm-hero-inner h1 {
    font-style: normal;
}

.gm-hero--services .gm-hero-inner h1 em {
    font-style: italic;
}

.gm-hero--services .gm-hero-inner p:not(.gm-kicker) {
    max-width: 760px;
}

.gm-types--services .gm-types-row {
    gap: 8px;
}

.gm-types--services .gm-type-card {
    padding: 18px 8px 16px;
    min-width: 0;
}

.gm-types--services .gm-type-card strong {
    overflow-wrap: anywhere;
}

.gm-types--services .gm-type-icon img {
    mix-blend-mode: multiply;
}

.gm-types--services .gm-type-card.is-active .gm-type-icon img,
.gm-types--services .gm-type-card:hover .gm-type-icon img {
    mix-blend-mode: normal;
}

.gm-es-status.is-closed {
    background: #2e7d32;
}

.gm-es-price small {
    font-size: 13px;
    font-weight: 500;
}

@media (max-width: 1100px) {
    .gm-hero--services,
    .gm-hero--services .gm-hero-media,
    .gm-hero--services .gm-hero-media img {
        border-bottom-right-radius: 160px;
    }
}

@media (max-width: 991px) {
    .gm-hero--services,
    .gm-hero--services .gm-hero-media,
    .gm-hero--services .gm-hero-media img {
        border-bottom-right-radius: 120px;
    }

    .gm-home--services .gm-types--services .gm-types-row {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px 8px;
        overflow: visible;
        justify-content: stretch;
    }

    .gm-home--services .gm-types--services .gm-type-card {
        flex: none;
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 720px) {
    .gm-hero--services .gm-hero-inner p:not(.gm-kicker) {
        font-size: 14px;
        line-height: 1.5;
        max-width: 100%;
    }

    .gm-home--services .gm-dest-wrap {
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }

    .gm-home--services .gm-types--services .gm-types-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gm-home--services .gm-es-card-head strong {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 576px) {
    .gm-hero--services,
    .gm-hero--services .gm-hero-media,
    .gm-hero--services .gm-hero-media img {
        border-bottom-right-radius: 64px;
    }

    .gm-home--services .gm-types--services .gm-types-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-home--services .gm-types-title {
        font-size: 26px;
    }

    .gm-home--services .gm-faq-title,
    .gm-home--services .gm-stories-title,
    .gm-home--services .gm-app-title {
        font-size: 28px;
        line-height: 1.2;
    }

    .gm-home--services .gm-app-stores {
        flex-wrap: wrap;
    }

    .gm-home--services .gm-store-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .gm-home--services .gm-dest-wrap {
        padding-left: 10px;
        padding-right: 10px;
    }

    .gm-home--services .gm-types--services .gm-type-card {
        padding: 12px 6px 10px;
    }

    .gm-home--services .gm-types--services .gm-type-card strong {
        font-size: 12px;
    }
}
