/* Contenedor General (Reutiliza el wrapper base si quieres, o este personalizado) */
.kbp-page2-wrapper {
    background-color: #f8fafc;
    padding: 40px 20px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #0f172a;
}

.kbp-page2-container {
    max-width: 1000px;
    margin: 0 auto;
}

/* Grid de 3 columnas en Escritorio */
.kbp-style-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 40px;
}

/* Estructura de la Tarjeta de Estilos */
.kbp-style-card {
    cursor: pointer;
    display: block;
}

/* Ocultamos el input de opción de tipo radio */
.kbp-style-card input[type="radio"] {
    display: none;
}

/* Caja contenedora visual */
.kbp-style-card-content {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden; /* Para que la imagen respete las esquinas redondeadas */
    transition: all 0.2s ease-in-out;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}

/* Contenedor de la Imagen (Ocupa el tope de la tarjeta) */
.kbp-style-image-holder {
    width: 100%;
    height: 180px;
    overflow: hidden;
    background-color: #f1f5f9;
}

.kbp-style-image-holder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

/* Efecto sutil de zoom al pasar el mouse por la tarjeta */
.kbp-style-card:hover .kbp-style-image-holder img {
    transform: scale(1.03);
}

/* Título inferior */
.kbp-style-title {
    padding: 15px;
    text-align: center;
    font-size: 16px;
    color: #0a1931;
    font-weight: 700;
    border-top: 1px solid #f1f5f9;
}

/* --- Estados de Selección (Active / Checked) --- */
.kbp-style-card input[type="radio"]:checked + .kbp-style-card-content {
    border-color: #0a1931;
    box-shadow: 0 0 0 2px #0a1931;
}

/* Responsive: 2 columnas en tablets, 1 columna en móviles */
@media (max-width: 900px) {
    .kbp-style-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .kbp-style-grid { grid-template-columns: 1fr; }
}