/**
 * Innovalike Responsive
 *
 * Media queries y adaptaciones responsive para todos los componentes
 *
 * @package Innovalike
 * @since 1.0.0
 */

/* ====================================
   TABLET - 768px
   ==================================== */
@media (max-width: 768px) {
    /* Headers */
    .innovalike-contenidos-header-content,
    .innovalike-mi-entidad-header-content,
    .innovalike-documentos-header-content,
    .innovalike-anuncios-header-content {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Filters */
    .innovalike-filters {
        flex-direction: column;
    }

    .filter-btn {
        width: 100%;
        justify-content: space-between;
    }

    /* Tables */
    .innovalike-table {
        font-size: 13px;
    }

    .innovalike-table thead {
        display: none;
    }

    .innovalike-table tbody tr {
        display: block;
        margin-bottom: var(--innovalike-spacing-md);
        border: 1px solid var(--innovalike-border-light);
        border-radius: var(--innovalike-radius-lg);
        padding: var(--innovalike-spacing-md);
        background: var(--innovalike-bg-white);
    }

    .innovalike-table tbody td {
        display: block;
        padding: 8px 0;
        border: none;
        width: 100% !important;
    }

    .innovalike-table tbody td:before {
        content: attr(data-label);
        font-weight: 600;
        display: inline-block;
        margin-right: var(--innovalike-spacing-sm);
        color: var(--innovalike-text-secondary);
    }

    .category-col,
    .status-col {
        margin: var(--innovalike-spacing-xs) 0;
    }

    .category-badge {
        font-size: 11px;
        padding: var(--innovalike-spacing-xs) var(--innovalike-spacing-sm);
    }

    .actions-col {
        text-align: left !important;
        margin-top: var(--innovalike-spacing-sm);
    }

    .action-buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Nav grids */
    .innovalike-stats-grid,
    .innovalike-nav-grid {
        grid-template-columns: 1fr;
    }

    /* Entity card */
    .innovalike-entidad-card-main {
        flex-direction: column;
        text-align: center;
        padding: var(--innovalike-spacing-xl) var(--innovalike-spacing-lg);
    }

    .innovalike-entidad-logo img {
        max-width: 150px;
        max-height: 150px;
    }

    .innovalike-entidad-sector {
        justify-content: center;
    }

    /* Data grid */
    .innovalike-data-grid {
        grid-template-columns: 1fr;
        gap: var(--innovalike-spacing-lg);
    }

    /* Footer buttons */
    .innovalike-mi-entidad-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .innovalike-mi-entidad-footer .button {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    /* Documentos */
    .innovalike-documentos {
        padding: var(--innovalike-spacing-md);
    }

    .innovalike-documentos-grid {
        grid-template-columns: 1fr;
        gap: var(--innovalike-spacing-xl);
    }

    .documento-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .info-box {
        flex-direction: column;
        text-align: center;
    }

    /* Anuncios grid */
    .innovalike-anuncios-grid {
        grid-template-columns: 1fr;
    }
}

/* ====================================
   MOBILE - 500px
   ==================================== */
@media (max-width: 500px) {
    /* Headers */
    .innovalike-contenidos-header h1,
    .innovalike-dashboard-header h1,
    .innovalike-mi-entidad-header h1,
    .innovalike-documentos-header h1,
    .innovalike-anuncios-header h1 {
        font-size: 1.5em;
    }

    /* Containers */
    .innovalike-contenidos,
    .innovalike-dashboard,
    .innovalike-mi-entidad,
    .innovalike-documentos,
    .innovalike-anuncios {
        padding: var(--innovalike-spacing-md);
    }

    /* Cards */
    .innovalike-entidad-card,
    .innovalike-password-form-container {
        padding: var(--innovalike-spacing-lg);
    }

    /* Documento header */
    .documento-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--innovalike-spacing-md);
    }

    .documento-meta {
        align-items: flex-start;
    }

    /* Message boxes */
    .innovalike-message-box {
        padding: var(--innovalike-spacing-xxl) var(--innovalike-spacing-lg);
    }

    .innovalike-message-box .dashicons {
        font-size: 60px;
    }

    .innovalike-message-box h2 {
        font-size: 1.5em;
    }

    /* Buttons */
    .button-small {
        font-size: 11px !important;
        padding: 3px 6px !important;
    }

    /* Nav cards */
    .innovalike-nav-card .dashicons {
        font-size: 40px;
        margin-bottom: var(--innovalike-spacing-lg);
    }

    .innovalike-nav-card h3 {
        font-size: 1.1em;
    }

    /* Tables mobile enhancements */
    .innovalike-table tbody tr {
        padding: var(--innovalike-spacing-sm);
    }

    .title-col strong {
        font-size: 14px;
    }

    /* Forms */
    .innovalike-password-form,
    .innovalike-form {
        max-width: 100%;
    }

    .innovalike-form-field label {
        font-size: 13px;
    }

    /* Info boxes */
    .info-box {
        padding: var(--innovalike-spacing-md);
    }

    .info-box h4 {
        font-size: 1em;
    }

    .info-box p {
        font-size: 13px;
    }

    /* ODS Grid mobile */
    .ods-grid {
        grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
        gap: 8px;
    }

    .ods-item img {
        width: 50px;
        height: 50px;
    }

    .ods-item span {
        font-size: 10px;
    }
}

/* ====================================
   EXTRA SMALL - 400px
   ==================================== */
@media (max-width: 400px) {
    /* Further reduce spacing */
    .innovalike-contenidos,
    .innovalike-dashboard,
    .innovalike-mi-entidad,
    .innovalike-documentos,
    .innovalike-anuncios {
        padding: var(--innovalike-spacing-sm);
    }

    /* Headers */
    .innovalike-contenidos-header,
    .innovalike-dashboard-header,
    .innovalike-mi-entidad-header,
    .innovalike-documentos-header,
    .innovalike-anuncios-header,
    .innovalike-form-header {
        margin-bottom: var(--innovalike-spacing-lg);
    }

    .innovalike-contenidos-header h1,
    .innovalike-dashboard-header h1,
    .innovalike-mi-entidad-header h1,
    .innovalike-documentos-header h1,
    .innovalike-anuncios-header h1 {
        font-size: 1.3em;
    }

    .innovalike-contenidos-description,
    .innovalike-mi-entidad-description,
    .innovalike-documentos-description,
    .innovalike-anuncios-description,
    .innovalike-dashboard-subtitle {
        font-size: 1em;
    }

    /* Reduce card padding */
    .innovalike-entidad-card,
    .innovalike-nav-card,
    .innovalike-documento-card {
        padding: var(--innovalike-spacing-sm);
    }

    /* Buttons full width on very small screens */
    .button,
    .button-primary,
    .button-secondary {
        width: 100%;
        justify-content: center;
    }

    /* Stack all footer buttons */
    .innovalike-contenidos-footer,
    .innovalike-documentos-footer,
    .innovalike-anuncios-footer,
    .innovalike-form-footer {
        flex-direction: column;
    }

    /* Reduce badge sizes */
    .status-badge {
        font-size: 11px;
        padding: 4px 8px;
    }

    .category-badge {
        font-size: 10px;
        padding: 3px 6px;
    }
}

/* ====================================
   PRINT STYLES
   ==================================== */
@media print {
    /* Hide interactive elements */
    .innovalike-filters,
    .action-buttons,
    .innovalike-contenidos-footer,
    .innovalike-mi-entidad-footer,
    .innovalike-documentos-footer,
    .innovalike-anuncios-footer,
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_paginate {
        display: none !important;
    }

    /* Optimize for print */
    .innovalike-table {
        border: 1px solid #000;
    }

    .innovalike-table thead th {
        background: #f0f0f0 !important;
        color: #000 !important;
        border: 1px solid #000;
    }

    .innovalike-table tbody td {
        border: 1px solid #000;
    }

    /* Show links */
    a[href]:after {
        content: " (" attr(href) ")";
        font-size: 0.9em;
        color: #666;
    }

    /* Page breaks */
    .innovalike-entidad-card,
    .innovalike-nav-card,
    .innovalike-table tbody tr {
        page-break-inside: avoid;
    }
}
