.rebit-module-categories {
    margin: var(--section-margin);
    padding-top: var(--spacing-48);
    padding-bottom: var(--spacing-48);
}

@media (max-width: 768px) {
    .rebit-module-categories {
        padding-top: var(--spacing-32);
        padding-bottom: var(--spacing-32);
    }
}

.rebit-categories-header {
    margin-bottom: var(--spacing-24);
}

.rebit-section-title.left-aligned {
    text-align: left;
    margin-bottom: 0;
}

/* Grilla Asimétrica Fixeada */
.rebit-grid-section-fixed {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-16);
    max-width: 1200px;
    margin: 0 auto;
}

/* Enlaces (Cajas base) */
.rebit-cat-banner-fixed {
    position: relative;
    display: block;
    border-radius: var(--radius-lg);
    overflow: hidden;
    text-decoration: none;
    background: #000;
}

.rebit-cat-banner-fixed img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
    transition: transform 0.6s ease, opacity 0.4s ease;
    display: block;
}

.rebit-cat-banner-fixed:hover img {
    transform: scale(1.05);
    opacity: 1;
}

/* Overlay con gradiente */
.rebit-cat-banner-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--spacing-32);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    pointer-events: none;
}

.rebit-cat-banner-overlay h2 {
    color: #fff;
    font-size: var(--fs-section-title);
    font-weight: 800;
    margin: 0 0 8px 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.rebit-cat-banner-overlay p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    margin: 0;
}

.rebit-cat-banner-fixed.mini .rebit-cat-banner-overlay {
    padding: var(--spacing-24);
}

.rebit-cat-banner-fixed.mini .rebit-cat-banner-overlay h3,
.rebit-cat-banner-fixed.wide-bottom .rebit-cat-banner-overlay h3 {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

/* Columna Derecha (Grid interno) */
.rebit-grid-right-col-fixed {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-16);
    height: 100%;
}

.rebit-grid-right-row-fixed {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-16);
    flex: 1;
    /* Mitad superior */
}

.rebit-cat-banner-fixed.wide-bottom {
    flex: 1;
    width: 100%;
    /* Mitad inferior */
}

/* Responsive */
@media (max-width: 992px) {
    .rebit-grid-section-fixed {
        grid-template-columns: 1fr;
        height: auto;
    }

    .rebit-cat-banner-fixed.main-left {
        height: 400px;
    }

    .rebit-grid-right-col-fixed {
        height: 400px;
    }
}

@media (max-width: 768px) {
    .rebit-grid-section-fixed {
        grid-template-columns: 1fr 1fr;
    }

    .rebit-grid-right-col-fixed,
    .rebit-grid-right-row-fixed {
        display: contents;
    }

    .rebit-cat-banner-fixed.main-left,
    .rebit-cat-banner-fixed.mini,
    .rebit-cat-banner-fixed.wide-bottom {
        height: 180px;
    }

    .rebit-cat-banner-overlay {
        padding: var(--spacing-12) !important;
        width: 100%;
    }

    .rebit-cat-banner-overlay h2 {
        font-size: 14px !important;
        margin: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 100%;
    }

    .rebit-cat-banner-fixed.main-left .rebit-cat-banner-overlay p {
        display: none !important; /* Quitar descripción en responsive de equipos nuevos */
    }

    .rebit-cat-banner-overlay p {
        display: none !important;
    }

    .rebit-grid-right-col-fixed .rebit-cat-banner-overlay h3,
    .rebit-grid-right-row-fixed .rebit-cat-banner-overlay h3,
    .rebit-cat-banner-fixed.mini .rebit-cat-banner-overlay h3,
    .rebit-cat-banner-fixed.wide-bottom .rebit-cat-banner-overlay h3 {
        font-size: 12px !important;
        margin: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 100%;
    }
}