.puntos {
    display: grid;
    grid-template-columns: 1fr;
    padding: 1.563rem 1.25rem 2.5rem;
    gap: 1.25rem;
    max-width: 68.75rem;
    margin: 0 auto;
}

.puntos-titulo {
    text-align: center;
    padding: 1.25rem 1.25rem 0;
}

.puntos-titulo h1 {
    font-size: 2.313rem;
    margin-bottom: 0.625rem;
}

.puntos-titulo p {
    color: #555;
    font-size: 1.05rem;
}

.punto-tarjeta {
    background: #ffffff;
    border-radius: 14px;
    padding: 1.25rem 1.563rem 1.563rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.punto-tarjeta:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

.icono-puntos {
    width: 5rem;
    height: 5rem;
    margin: 0 auto 0.75rem auto;
}

.icono-puntos img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.punto-tarjeta h2 {
    margin: 0;
    font-size: 1.2rem;
}

.distancia {
    font-size: 0.95rem;
    color: #777;
    margin-top: 0.313rem;
}

.mapa-link {
    display: inline-block;
    margin-top: 0.625rem;
    font-size: 0.9rem;
    color: #77482a;
    text-decoration: none;
    position: relative;
    transition: all 0.2s ease;
}

.mapa-link::after {
    content: "";
    display: block;
    width: 0%;
    height: 1px;
    background: #77482a;
    transition: width 0.2s ease;
    margin-top: 2px;
}

.mapa-link:hover::after {
    width: 100%;
}

@media (min-width: 768px) {
    .puntos {
        grid-template-columns: repeat(2, 1fr);
    }
}



