.congreso-sede-page {
    --venue-blue: #3d61a3;
    --venue-light-blue: #5da8dc;
    --venue-lighter-blue: #dfeef8;
    --venue-red: #ec1c24;
    --venue-text: #434445;
    --venue-dark: #182741;
    --venue-white: #ffffff;
    --venue-shadow: 0 8px 14px rgba(61, 97, 163, 0.28);
}

.ahc-venue {
    width: 100%;
    background: var(--venue-white);
    padding-bottom: 90px;

    & .ahc-container {
        width: min(100% - 160px, 1280px);
        max-width: 1280px;
        padding: 0;
        box-sizing: border-box;

        @media (max-width: 1024px) {
            width: min(100% - 64px, 960px);
        }

        @media (max-width: 600px) {
            width: min(100% - 32px, 420px);
        }
    }
}

.ahc-venue-hero {
    position: relative;
    display: flex;
    width: min(100% - 160px, 1280px);
    min-height: 330px;
    margin: 60px auto 112px;
    border-radius: 18px;
    background-image:
        linear-gradient(90deg, rgba(23, 65, 143, 0.82) 0%, rgba(23, 65, 143, 0.55) 42%, rgba(23, 65, 143, 0.08) 100%),
        var(--venue-hero-image);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    align-items: center;

    & .ahc-venue-hero__content {
        width: 100%;
        max-width: 780px;
        padding: 54px 96px;
        color: var(--venue-white);

        & p {
            margin: 0 0 8px;
            font-family: "Montserrat", Arial, Helvetica, sans-serif;
            font-size: 16px;
            font-weight: 500;
            line-height: 22px;
            text-transform: uppercase;
        }

        & h1 {
            margin: 0 0 16px;
            color: var(--venue-white);
            font-family: "Montserrat", Arial, Helvetica, sans-serif;
            font-size: 40px;
            font-weight: 700;
            line-height: 45px;
            letter-spacing: -0.02em;
        }

        & span {
            display: block;
            max-width: 570px;
            color: var(--venue-white);
            font-family: "Lato", Arial, Helvetica, sans-serif;
            font-size: 18px;
            font-weight: 400;
            line-height: 26px;
            letter-spacing: -0.02em;
        }
    }

    @media (max-width: 1024px) {
        width: min(100% - 64px, 960px);
        margin-bottom: 80px;

        & .ahc-venue-hero__content {
            padding: 48px 56px;
        }
    }

    @media (max-width: 600px) {
        width: min(100% - 32px, 420px);
        min-height: 420px;
        margin: 34px auto 64px;
        align-items: flex-end;
        background-image:
            linear-gradient(180deg, rgba(24, 39, 65, 0.15) 0%, rgba(24, 39, 65, 0.86) 100%),
            var(--venue-hero-image);

        & .ahc-venue-hero__content {
            padding: 32px 24px;

            & h1 {
                font-size: 34px;
                line-height: 40px;
            }

            & span {
                font-size: 16px;
                line-height: 24px;
            }
        }
    }
}

.ahc-venue-hotel {
    padding: 0 0 118px;

    & .ahc-venue-hotel__inner {
        display: flex;
        max-width: 960px;
        margin: 0 auto;
        gap: 58px;
        align-items: center;
    }

    & .ahc-venue-hotel__image {
        flex: 0 0 516px;

        & img {
            width: 100%;
            height: 300px;
            border-radius: 8px;
            object-fit: cover;
        }
    }

    & .ahc-venue-hotel__content {
        flex: 1;

        & h2 {
            margin: 0 0 18px;
            color: var(--venue-red);
            font-family: "Montserrat", Arial, Helvetica, sans-serif;
            font-size: 32px;
            font-weight: 700;
            line-height: 38px;
            letter-spacing: -0.02em;
        }

        & p {
            margin: 0 0 22px;
            color: var(--venue-text);
            font-family: "Lato", Arial, Helvetica, sans-serif;
            font-size: 18px;
            font-weight: 400;
            line-height: 26px;
            letter-spacing: -0.02em;

            &:last-child {
                margin-bottom: 0;
            }
        }
    }

    @media (max-width: 900px) {
        & .ahc-venue-hotel__inner {
            flex-direction: column;
            gap: 34px;
            align-items: stretch;
        }

        & .ahc-venue-hotel__image {
            flex: initial;

            & img {
                height: auto;
                min-height: 260px;
            }
        }
    }

    @media (max-width: 600px) {
        padding-bottom: 80px;

        & .ahc-venue-hotel__content {
            & h2 {
                font-size: 28px;
                line-height: 34px;
            }

            & p {
                font-size: 16px;
                line-height: 24px;
            }
        }
    }
}

.ahc-venue-features {
    padding: 0 0 132px;

    & .ahc-venue-features__heading {
        margin-bottom: 34px;
        text-align: center;

        & p {
            margin: 0;
            color: var(--venue-light-blue);
            font-family: "Montserrat", Arial, Helvetica, sans-serif;
            font-size: 16px;
            font-weight: 500;
            line-height: 22px;
            letter-spacing: -0.02em;
            text-transform: uppercase;
        }

        & h2 {
            margin: 0;
            color: var(--venue-blue);
            font-family: "Montserrat", Arial, Helvetica, sans-serif;
            font-size: 32px;
            font-weight: 700;
            line-height: 38px;
            letter-spacing: -0.02em;
        }
    }

    & .ahc-venue-features__cards {
        display: flex;
        gap: 24px;
        justify-content: center;
        flex-wrap: wrap;
    }
}

.ahc-venue-feature-card {
    display: flex;
    width: calc(20% - 20px);
    min-height: 172px;
    padding: 24px;
    border: 1px solid var(--venue-blue);
    border-radius: 10px;
    background: var(--venue-white);
    box-shadow: var(--venue-shadow);
    flex-direction: column;
    justify-content: flex-start;

    &:nth-child(odd) {
        border-color: var(--venue-red);
    }

    &:nth-child(even) {
        border-color: var(--venue-blue);
    }

    & img {
        width: 64px;
        height: 64px;
        margin-bottom: 16px;
    }

    & h3 {
        margin: 0;
        color: var(--venue-dark);
        font-family: "Montserrat", Arial, Helvetica, sans-serif;
        font-size: 18px;
        font-weight: 700;
        line-height: 24px;
        letter-spacing: -0.02em;
    }

    @media (max-width: 1024px) {
        width: calc(33.333% - 16px);
    }

    @media (max-width: 720px) {
        width: calc(50% - 12px);
    }

    @media (max-width: 520px) {
        width: 100%;
        min-height: initial;
    }
}

.ahc-venue-location {
    padding: 0 0 36px;

    & .ahc-container {
        display: flex;
        gap: 80px;
        align-items: center;
        justify-content: space-between;
    }

    & .ahc-venue-location__content {
        flex: 1;
        max-width: 520px;

        & h2 {
            margin: 0 0 28px;
            color: var(--venue-red);
            font-family: "Montserrat", Arial, Helvetica, sans-serif;
            font-size: 40px;
            font-weight: 700;
            line-height: 45px;
            letter-spacing: -0.02em;
        }

        & p {
            margin: 0 0 38px;
            color: var(--venue-text);
            font-family: "Lato", Arial, Helvetica, sans-serif;
            font-size: 20px;
            font-weight: 400;
            line-height: 28px;
            letter-spacing: -0.02em;
        }
    }

    & .ahc-venue-location__actions {
        display: flex;
        gap: 18px;
        flex-wrap: wrap;

        & a {
            display: inline-flex;
            min-height: 56px;
            padding: 14px 28px;
            border-radius: 999px;
            background: var(--venue-blue);
            color: var(--venue-white);
            font-family: "Montserrat", Arial, Helvetica, sans-serif;
            font-size: 20px;
            font-weight: 700;
            line-height: 28px;
            letter-spacing: -0.02em;
            align-items: center;
            gap: 12px;
            transition: background 0.2s ease, transform 0.2s ease;

            &:hover {
                background: #2a446c;
                transform: translateY(-2px);
            }

            & span {
                display: inline-flex;
                width: 28px;
                height: 28px;
                align-items: center;
                justify-content: center;

                & svg {
                    width: 28px;
                    height: 28px;
                }
            }
        }
    }

    & .ahc-venue-location__map {
        flex: 0 0 516px;
        height: 408px;
        border-radius: 0;
        overflow: hidden;
        background: #edf4fb;

        & iframe {
            display: block;
            width: 100%;
            height: 100%;
            border: 0;
        }
    }

    @media (max-width: 980px) {
        & .ahc-container {
            flex-direction: column;
            gap: 42px;
            align-items: stretch;
        }

        & .ahc-venue-location__content {
            max-width: 100%;
        }

        & .ahc-venue-location__map {
            flex: initial;
            width: 100%;
        }
    }

    @media (max-width: 600px) {
        & .ahc-venue-location__content {
            & h2 {
                font-size: 34px;
                line-height: 40px;
            }

            & p {
                font-size: 18px;
                line-height: 26px;
                margin-bottom: 28px;
            }
        }

        & .ahc-venue-location__actions {
            flex-direction: column;

            & a {
                width: 100%;
                justify-content: center;
                font-size: 17px;
                line-height: 24px;
            }
        }

        & .ahc-venue-location__map {
            height: 340px;
        }
    }
}

/* Ajustes sección instalaciones y ubicación */

.ahc-venue-feature-card {
    & img {
        width: 74px;
        height: 74px;
        padding: 21px;
        margin-bottom: 22px;
        border-radius: 999px;
        object-fit: contain;
        box-sizing: border-box;
    }

    &:nth-child(odd) img {
        background: #dfeef8;
    }

    &:nth-child(even) img {
        background: #fbd2d3;
    }

    &:nth-child(odd) {
        border-color: var(--venue-red);
    }

    &:nth-child(even) {
        border-color: var(--venue-blue);
    }
}

.ahc-venue-location {
    & .ahc-container {
        align-items: center;
    }

    & .ahc-venue-location__actions {
        display: flex;
        flex-direction: row;
        gap: 18px;
        flex-wrap: nowrap;
        align-items: center;
    }

    & .ahc-venue-location__actions a {
        width: auto;
        white-space: nowrap;
    }

    & .ahc-venue-location__map {
        border-radius: 12px;
        overflow: hidden;
    }

    & .ahc-venue-location__map iframe {
        border-radius: 12px;
    }

    @media (max-width: 600px) {
        & .ahc-venue-location__actions {
            flex-direction: column;
            align-items: stretch;
        }

        & .ahc-venue-location__actions a {
            width: 100%;
            justify-content: center;
        }
    }
}