/**
 * Estilos Tabla Variaciones Bezares
 */

/* --- Contenedores Principales --- */
.bezares-variations-table-wrapper {
    width: 100%;
    margin-bottom: 20px;
    overflow: hidden; /* Prevent spill */
}

/* --- Tabla Desktop --- */
.bezares-variations-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 0;
    background: #fff;
    border: 1px solid #e5e5e5;
    font-size: 14px;
}

.bezares-variations-table th,
.bezares-variations-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.bezares-variations-table th {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85em;
    letter-spacing: 0.5px;
    background-color: #f8f9fa; /* Default fallback */
    color: #444;
}

/* Zebra striping (can be overridden by Elementor) */
.bezares-variations-table tbody tr:nth-child(even) {
    background-color: #fcfcfc;
}

/* Hover effect */
.bezares-variations-table tbody tr:hover {
    background-color: #f0f7ff;
    transition: background-color 0.2s ease;
}

/* Data Origin Distinctions */
.bezares-variations-table td[data-origen="padre"] {
    color: #666; /* Slightly muted for common attributes */
}

.bezares-variations-table td[data-column-type="fixed"][data-id="sku"] {
    font-weight: 600;
    color: #333;
}

/* Empty values */
.bezares-variations-table td:empty::after {
    content: "-";
    color: #ccc;
}

/* --- Mobile Views --- */
.bezares-variations-mobile-view {
    display: none; /* Managed by media query in widget inline styles */
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
/* Ancho completo en móvil (columnas flex/grid del tema no deben encoger) */
.bezares-variations-mobile-view .bezares-mobile-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Layout: Scroll Horizontal */
.bezares-scroll-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background: #fff;
    /* Shadow hint on the right */
    background: 
        linear-gradient(to right, white 30%, rgba(255,255,255,0)),
        linear-gradient(to right, rgba(255,255,255,0), white 70%) 0 100%,
        radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.2), rgba(0,0,0,0)),
        radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    background-position: 0 0, 100% 0, 0 0, 100% 0;
    background-attachment: local, local, scroll, scroll;
}

.bezares-variations-table.mobile-scroll {
    margin-bottom: 0;
    border: none;
    min-width: 100%; /* Ensure it fills */
    white-space: nowrap; /* Prevent wrapping in cells */
}

.bezares-variations-table.mobile-scroll th,
.bezares-variations-table.mobile-scroll td {
    white-space: nowrap;
}

/* Layout: Cards (Static & Accordion Base) */
.bezares-mobile-card {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: 6px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
    transition: transform 0.2s, box-shadow 0.2s;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.bezares-mobile-card:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.06);
}

/* Static Header */
.bezares-card-header-static {
    padding: 12px 15px;
    background-color: #f8f9fa;
    border-bottom: 1px solid #eee;
    font-weight: 600;
    font-size: 1.05em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Accordion Header */
.layout-accordion .bezares-card-header {
    padding: 12px 15px;
    background-color: #fff; /* Clean look */
    border-bottom: 1px solid transparent;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    transition: background-color 0.2s;
}

.layout-accordion .bezares-mobile-card.active .bezares-card-header {
    background-color: #f8f9fa;
    border-bottom-color: #eee;
    color: #000;
}

.card-sku {
    color: #333;
}

/* Content Areas: solo acordeón colapsa .bezares-card-content por defecto.
   En modo cards (Elementor / Breakdance) el contenido va dentro de este bloque y debe ser visible;
   una regla global display:none ocultaba todas las filas de datos en móvil. */
.layout-accordion .bezares-card-content {
    display: none;
}

.bezares-card-fields {
    padding: 15px;
}

.layout-accordion .bezares-card-fields {
    padding-top: 10px;
}

/* Field Rows */
.bezares-card-fields .field-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px dashed #f0f0f0;
    font-size: 0.95em;
}

.bezares-card-fields .field-row:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.bezares-card-fields .field-label {
    color: #777;
    font-weight: 500;
    margin-right: 10px;
}

.bezares-card-fields .field-value {
    text-align: right;
    font-weight: 600;
    color: #333;
}

/* Chevron Animation */
.layout-accordion .eicon-chevron-down {
    transition: transform 0.3s ease;
    color: #999;
}

.layout-accordion .bezares-mobile-card.active .eicon-chevron-down {
    transform: rotate(180deg);
    color: #333;
}

/* No variations message */
.bezares-no-variations {
    padding: 20px;
    background: #f8f9fa;
    border: 1px dashed #ccc;
    text-align: center;
    color: #666;
    border-radius: 4px;
}
