/* ============================================
   Display Formats Styles
   ============================================ */

/* Main containers */
.cpv-view {
    width: 100%;
    margin: 0 auto;
}

.cpv-view-content {
    width: 100%;
}

/* ============================================
   GRID LAYOUT
   ============================================ */
.cpv-view-content.cpv-display-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
}

@media (max-width: 768px) {
    .cpv-view-content.cpv-display-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ============================================
   LIST LAYOUT
   ============================================ */
.cpv-view-content.cpv-display-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* ============================================
   TABLE LAYOUT
   ============================================ */
.cpv-view-content.cpv-display-table {
    width: 100%;
}

.cpv-view-content.cpv-display-table table {
    width: 100%;
    border-collapse: collapse;
}

.cpv-view-content.cpv-display-table thead {
    background: #f9f9f9;
    border-bottom: 2px solid #ddd;
}

.cpv-view-content.cpv-display-table th {
    padding: 12px;
    text-align: left;
    font-weight: 600;
    color: #1d2327;
}

.cpv-view-content.cpv-display-table td {
    padding: 12px;
    border-bottom: 1px solid #eee;
}

.cpv-view-content.cpv-display-table tr:hover {
    background: #f9f9f9;
}

/* ============================================
   UNFORMATTED LAYOUT
   ============================================ */
.cpv-view-content.cpv-display-unformatted {
    /* No specific layout, just stacked rows */
}

/* ============================================
   VIEW ROW (cada item)
   ============================================ */
.cpv-view-row {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* Solo en grid y list tienen el efecto hover */
.cpv-display-grid .cpv-view-row:hover,
.cpv-display-list .cpv-view-row:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

/* En unformatted no hay card styling por defecto */
.cpv-display-unformatted .cpv-view-row {
    background: transparent;
    border: none;
    border-radius: 0;
    margin-bottom: 20px;
}

.cpv-display-unformatted .cpv-view-row:hover {
    box-shadow: none;
    transform: none;
}

/* ============================================
   VIEW ROW CONTENT
   ============================================ */
.cpv-view-row-content {
    padding: 20px;
}

.cpv-display-unformatted .cpv-view-row-content {
    padding: 0;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
    .cpv-view-row-content {
        padding: 15px;
    }
}