/**
 * PDF Viewer Responsivo - Estilos
 * Version: 1.0.0
 */

/* ========================================
   Contenedor Principal
======================================== */
.pdf-viewer-container,
.pdf-google-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 20px auto;
    box-sizing: border-box;
}

/* ========================================
   Wrapper Responsivo
======================================== */
.pdf-responsive-wrapper {
    position: relative;
    padding-bottom: 75%; /* Ratio 4:3 por defecto */
    height: 0;
    overflow: hidden;
    background: #f5f5f5;
    border-radius: 4px;
}

/* ========================================
   Iframe del PDF
======================================== */
.pdf-iframe,
.pdf-google-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #ddd;
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.3s ease;
    -webkit-overflow-scrolling: touch; /* Scroll suave en iOS */
    touch-action: pan-x pan-y; /* Permitir scroll táctil */
}

.pdf-iframe.loaded,
.pdf-google-iframe.loaded {
    opacity: 1;
}

/* ========================================
   Loader / Spinner
======================================== */
.pdf-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 10;
}

.pdf-spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #0073aa;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    margin: 0 auto 10px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.pdf-loader p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.pdf-loader.hidden {
    display: none;
}

/* ========================================
   Acciones / Botones (ocultos por defecto)
======================================== */
.pdf-actions {
    display: none;
}

/* ========================================
   Mensajes de Error
======================================== */
.pdf-error {
    color: #d63638;
    background: #fef0f0;
    border: 1px solid #d63638;
    padding: 12px 16px;
    border-radius: 4px;
    margin: 10px 0;
    font-size: 14px;
}

/* ========================================
   Responsive - Móviles
======================================== */
@media screen and (max-width: 768px) {
    .pdf-viewer-container,
    .pdf-google-container {
        margin: 10px auto !important;
        padding: 0 5px;
    }

    .pdf-responsive-wrapper {
        padding-bottom: 140% !important; /* Más alto en móviles para mejor visualización */
        min-height: 500px; /* Altura mínima para mejor visibilidad */
    }

    .pdf-iframe,
    .pdf-google-iframe {
        border: none;
        border-radius: 0;
        -webkit-overflow-scrolling: touch; /* Scroll suave en iOS */
        touch-action: pan-x pan-y; /* Permitir scroll táctil */
        pointer-events: auto; /* Asegurar que sea interactivo */
    }

    /* Ocultar botones y controles del visor PDF en móviles */
    .pdf-responsive-wrapper {
        overflow: visible !important;
    }

    /* Intentar ocultar overlays del PDF viewer nativo */
    .pdf-viewer-container::before,
    .pdf-google-container::before {
        display: none;
    }

    /* Mejorar visibilidad del PDF en móviles */
    .pdf-viewer-container .pdf-responsive-wrapper,
    .pdf-google-container .pdf-responsive-wrapper {
        background: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    /* Ocultar overlays y botones del visor PDF nativo */
    .pdf-mobile-view {
        position: relative;
    }

    .pdf-mobile-view .pdf-responsive-wrapper {
        overflow: hidden;
    }

    /* Intentar ocultar cualquier botón o overlay que aparezca sobre el iframe */
    .pdf-mobile-view::after {
        display: none !important;
    }

    /* Asegurar que el iframe ocupe todo el espacio disponible */
    .pdf-mobile-view .pdf-iframe,
    .pdf-mobile-view .pdf-google-iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        z-index: 1;
    }
}

/* ========================================
   Responsive - Tablets
======================================== */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .pdf-responsive-wrapper {
        padding-bottom: 85%;
    }

    .pdf-viewer-container,
    .pdf-google-container {
        margin: 15px auto;
    }
}

/* ========================================
   Responsive - Escritorio
======================================== */
@media screen and (min-width: 1025px) {
    .pdf-viewer-container,
    .pdf-google-container {
        margin: 25px auto;
    }
}

/* ========================================
   Modo Oscuro (opcional)
======================================== */
@media (prefers-color-scheme: dark) {
    .pdf-responsive-wrapper {
        background: #1e1e1e;
    }

    .pdf-iframe,
    .pdf-google-iframe {
        border-color: #333;
    }

    .pdf-error {
        background: #2d1515;
        border-color: #8b2a2a;
        color: #ff6b6b;
    }

    .pdf-loader p {
        color: #aaa;
    }
}

/* ========================================
   Accesibilidad
======================================== */

.pdf-iframe:focus,
.pdf-google-iframe:focus {
    outline: 2px solid #0073aa;
    outline-offset: -2px;
}

/* ========================================
   Animaciones
======================================== */
.pdf-viewer-container,
.pdf-google-container {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}