#bloqueos {
    position: relative;
    overflow: hidden;
    /* Aseguramos padding consistente */
    padding: var(--section-padding, 60px) 20px; 
}

.pain-grid {
    display: grid;
    /* Optimizamos el minmax: 260px es un poco ancho para móviles pequeños */
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: clamp(15px, 3vw, 30px);
    margin-top: 60px;
}

.pain-card {
    position: relative;
    padding: clamp(25px, 5vw, 40px);
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
    border: 1px solid rgba(255,255,255,.08);
    transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.pain-card:hover {
    transform: translateY(-10px);
    border-color: rgba(212,175,55,.4);
}

.pain-icon {
    width: clamp(50px, 10vw, 60px);
    height: clamp(50px, 10vw, 60px);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 50%;
    font-size: clamp(1.2rem, 4vw, 1.6rem);
    background: radial-gradient(circle, rgba(212,175,55,.25), transparent);
}