/* =============================================================================
   Servicios SM — Módulo Anuncios (Fase 7)
   ============================================================================= */

/* Banner horizontal */
.ssm-ad--horizontal { width: 100%; text-align: center; margin: 16px 0; }
.ssm-ad--horizontal img { max-width: 100%; height: auto; border-radius: var(--ssm-radio-sm); }

/* Banner vertical */
.ssm-ad--vertical { width: 100%; max-width: 300px; }
.ssm-ad--vertical img { width: 100%; height: auto; border-radius: var(--ssm-radio-sm); }

/* Banner cuadrado */
.ssm-ad--square { display: inline-block; }
.ssm-ad--square img { width: 100%; height: auto; border-radius: var(--ssm-radio-sm); }

/* Enlace del anuncio */
.ssm-ad__link { display: block; text-decoration: none; }

/* Label "Publicidad" */
.ssm-ad__label {
    display: block;
    font-size: var(--ssm-font-size-sm);
    color: var(--ssm-texto-claro);
    text-align: right;
    margin-top: 2px;
    letter-spacing: .02em;
}

/* =============================================================================
   Slider / Grid de patrocinadores
   ============================================================================= */

.ssm-sponsors { padding: 24px 0; }
.ssm-sponsors__titulo { text-align: center; margin-bottom: 20px; }

.ssm-sponsors__track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 8px;
    justify-content: center;
    flex-wrap: wrap; /* grid estático si caben todos */
}
.ssm-sponsors__track::-webkit-scrollbar { display: none; }

.ssm-sponsors__item {
    scroll-snap-align: start;
    flex: 0 0 auto;
    width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid var(--ssm-borde);
    border-radius: var(--ssm-radio-md);
    background: var(--ssm-bg-card);
    transition: box-shadow var(--ssm-transicion);
}
.ssm-sponsors__item:hover { box-shadow: var(--ssm-sombra-md); }
.ssm-sponsors__item img { max-width: 100px; max-height: 60px; object-fit: contain; }

/* Modo slider: cuando hay más de 4 logos */
.ssm-sponsors--slider .ssm-sponsors__track {
    flex-wrap: nowrap;
    justify-content: flex-start;
}
