/* Galería — espacios del consultorio */
.consultorio-galeria {
    position: relative;
    padding: 100px 0 110px;
    background: linear-gradient(180deg, #f6f8fa 0%, #ffffff 45%, #f4f7f9 100%);
    overflow: hidden;
}

.consultorio-galeria::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -80px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(2, 112, 170, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.consultorio-galeria::after {
    content: "";
    position: absolute;
    bottom: -100px;
    left: -60px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(34, 50, 60, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.consultorio-galeria .container {
    position: relative;
    z-index: 1;
}

.consultorio-galeria__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 20px;
    align-items: stretch;
}

.consultorio-galeria__item {
    grid-column: span 3;
    margin: 0;
}

.consultorio-galeria__link {
    display: block;
    position: relative;
    height: 100%;
    min-height: 180px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(34, 50, 60, 0.1);
    background: #e8eef2;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.consultorio-galeria__link:hover,
.consultorio-galeria__link:focus-visible {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(34, 50, 60, 0.16);
    outline: none;
}

.consultorio-galeria__link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.consultorio-galeria__link:hover img,
.consultorio-galeria__link:focus-visible img {
    transform: scale(1.06);
}

.consultorio-galeria__shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, transparent 50%);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.35s ease;
}

.consultorio-galeria__link:hover .consultorio-galeria__shine,
.consultorio-galeria__link:focus-visible .consultorio-galeria__shine {
    opacity: 1;
}

.consultorio-galeria__zoom {
    position: absolute;
    bottom: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #22323c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    pointer-events: none;
    transition: transform 0.3s ease;
}

.consultorio-galeria__link:hover .consultorio-galeria__zoom,
.consultorio-galeria__link:focus-visible .consultorio-galeria__zoom {
    transform: scale(1.08);
}

/* Primeras celdas más altas en desktop para ritmo visual */
@media (min-width: 992px) {
    .consultorio-galeria__item--tall .consultorio-galeria__link {
        min-height: 230px;
    }

    .consultorio-galeria__item--center-left {
        grid-column: 4 / span 3;
    }

    .consultorio-galeria__item--center-right {
        grid-column: 7 / span 3;
    }
}

@media (max-width: 1199px) {
    .consultorio-galeria__item {
        grid-column: span 6;
    }
}

@media (max-width: 767px) {
    .consultorio-galeria {
        padding: 72px 0 80px;
    }

    .consultorio-galeria__grid {
        gap: 14px;
    }

    .consultorio-galeria__item {
        grid-column: span 12;
    }

    .consultorio-galeria__link {
        min-height: 200px;
    }
}
