/* Estilos para el deck magistral con deck-stage */

.deck-body {
    margin: 0;
    padding: 0;
    font-family: var(--font-sans);
    background: var(--bg-dark);
    color: var(--text-dark-primary);
    overflow: hidden;
}

deck-stage {
    display: block;
    width: 100%;
    height: 100vh;
    background: var(--bg-dark);
}

.slide {
    width: 1920px;
    height: 1080px;
    padding: 80px 120px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--bg-dark);
    color: var(--text-dark-primary);
}

/* Slide de portada */
.slide-portada {
    justify-content: center;
    text-align: center;
    background: linear-gradient(135deg, #030303 0%, #1a1a1a 100%);
}

.portada-titulo {
    font-size: 5rem;
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 2rem 0;
    color: #37B8EC;
}

.portada-subtitulo {
    font-size: 2.5rem;
    font-weight: 600;
    margin-bottom: 3rem;
    color: var(--text-dark-secondary);
}

.portada-metadata {
    font-size: 1.5rem;
    color: var(--text-dark-tertiary);
}

/* Slide de objetivo */
.slide-objetivo h2 {
    font-size: 3.5rem;
    font-weight: 700;
    margin: 0 0 2rem 0;
    color: #37B8EC;
}

.objetivo-texto {
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.objetivo-lista {
    font-size: 1.75rem;
    line-height: 1.8;
    padding-left: 2rem;
}

.objetivo-lista li {
    margin-bottom: 1rem;
}

/* Slide de agenda */
.slide-agenda h2 {
    font-size: 3.5rem;
    font-weight: 700;
    margin: 0 0 2rem 0;
    color: #37B8EC;
}

.agenda-lista {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.agenda-item {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    padding: 1rem;
    background: rgba(55, 184, 236, 0.05);
    border-left: 4px solid #37B8EC;
}

.agenda-tiempo {
    font-family: var(--font-mono);
    font-weight: 600;
    color: #37B8EC;
    min-width: 180px;
}

.agenda-actividad {
    color: var(--text-dark-primary);
}

/* Slide divisor */
.slide-divisor {
    justify-content: center;
    text-align: center;
    background: #37B8EC;
}

.divisor-titulo {
    font-size: 6rem;
    font-weight: 800;
    margin: 0;
    color: #030303;
}

/* Slide de concepto */
.slide-concepto h2 {
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 1.5rem 0;
    color: #37B8EC;
}

.slide-concepto p {
    font-size: 1.75rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.definiciones-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.definicion {
    background: rgba(55, 184, 236, 0.05);
    padding: 1.5rem;
    border-radius: 12px;
    border-left: 4px solid #37B8EC;
}

.definicion h4 {
    font-size: 2rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: #37B8EC;
}

.definicion p {
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 0 0 0.75rem 0;
    color: var(--text-dark-secondary);
}

.ejemplo {
    font-size: 1.25rem;
    color: var(--text-dark-tertiary);
    font-style: italic;
}

.fuentes-lista {
    font-size: 1.5rem;
    line-height: 1.8;
    padding-left: 2rem;
}

.fuentes-lista li {
    margin-bottom: 0.75rem;
}

.advertencia {
    background: #fff3cd;
    color: #856404;
    padding: 1.5rem;
    border-radius: 8px;
    font-size: 1.5rem;
    line-height: 1.6;
    margin-top: 2rem;
    border-left: 4px solid #ffc107;
}

.matriz-lista {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.matriz-item {
    font-size: 1.5rem;
    line-height: 1.6;
    padding: 1rem;
    background: rgba(55, 184, 236, 0.05);
    border-radius: 8px;
}

.matriz-item strong {
    color: #37B8EC;
}

.regla-importante {
    background: #d1ecf1;
    color: #0c5460;
    padding: 1.5rem;
    border-radius: 8px;
    font-size: 1.5rem;
    line-height: 1.6;
    margin-top: 2rem;
    border-left: 4px solid #17a2b8;
}

/* Slide de demo */
.slide-demo h2 {
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: #37B8EC;
}

.demo-duracion {
    font-size: 1.25rem;
    color: var(--text-dark-tertiary);
    margin-bottom: 1.5rem;
}

.demo-setup,
.demo-prompt,
.demo-pasos {
    font-size: 1.25rem;
    line-height: 1.6;
    margin-bottom: 1rem;
    color: var(--text-dark-primary);
}

.demo-prompt {
    background: rgba(55, 184, 236, 0.1);
    padding: 1rem;
    border-radius: 8px;
    border-left: 4px solid #37B8EC;
    font-family: var(--font-mono);
    color: var(--text-dark-primary);
}

.demo-pasos ol {
    padding-left: 2rem;
}

.demo-pasos li {
    margin-bottom: 0.5rem;
}

.captura-placeholder {
    background: rgba(55, 184, 236, 0.05);
    padding: 1.5rem;
    border: 2px dashed #37B8EC;
    border-radius: 8px;
    text-align: center;
    font-size: 1.25rem;
    color: var(--text-dark-secondary);
    margin-top: 1rem;
}

/* Slide de contenido genérico */
.slide-contenido h2 {
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 2rem 0;
    color: #37B8EC;
}

.slide-contenido p {
    font-size: 1.75rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.slide-contenido ul {
    font-size: 1.75rem;
    line-height: 1.8;
    padding-left: 2rem;
}

.slide-contenido li {
    margin-bottom: 1rem;
}

/* Slide de síntesis */
.slide-sintesis h2 {
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 2rem 0;
    color: #37B8EC;
}

.sintesis-lista {
    font-size: 1.75rem;
    line-height: 1.8;
    padding-left: 2rem;
}

.sintesis-lista li {
    margin-bottom: 1rem;
}

.mensaje-final {
    font-size: 2rem;
    font-weight: 600;
    color: #37B8EC;
    text-align: center;
    margin-top: 2rem;
    padding: 1.5rem;
    background: rgba(55, 184, 236, 0.1);
    border-radius: 12px;
}

/* Slide de recursos */
.slide-recursos h2 {
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 2rem 0;
    color: #37B8EC;
}

.recursos-lista {
    font-size: 1.75rem;
    line-height: 1.8;
    padding-left: 2rem;
}

.recursos-lista li {
    margin-bottom: 1rem;
}

/* Slide de anticipo */
.slide-anticipo h2 {
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: #37B8EC;
}

.anticipo-fecha {
    font-size: 2rem;
    color: var(--text-dark-secondary);
    margin-bottom: 2rem;
}

.anticipo-temas {
    font-size: 1.75rem;
    line-height: 1.8;
    padding-left: 2rem;
}

.anticipo-temas li {
    margin-bottom: 1rem;
}

/* Slide de cierre */
.slide-cierre {
    justify-content: center;
    text-align: center;
    background: linear-gradient(135deg, #030303 0%, #1a1a1a 100%);
}

.slide-cierre h1 {
    font-size: 6rem;
    font-weight: 800;
    margin: 0 0 2rem 0;
    color: #37B8EC;
}

.slide-cierre p {
    font-size: 2rem;
    margin-bottom: 2rem;
}

.cierre-contacto {
    font-size: 1.75rem;
    color: var(--text-dark-secondary);
}

/* Navegación de teclado (overlay opcional) */
.deck-nav-hint {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    opacity: 0.5;
    transition: opacity 0.3s;
}

.deck-nav-hint:hover {
    opacity: 1;
}

/* Impresión */
@media print {
    .slide {
        page-break-after: always;
        page-break-inside: avoid;
    }
    
    .deck-nav-hint {
        display: none;
    }
}

/* Links dentro de slides */
.slide a {
    color: #67D4F6;
    text-decoration: underline;
    font-weight: var(--font-semibold);
}

.slide a:hover {
    color: #FFFFFF;
}

.recursos-lista a {
    color: #67D4F6;
}

/* Demo slides - readable sizes (22px+ for body text) */
.demo-video-backup {
    font-size: 1.25rem;
    margin: 1rem 0;
    line-height: 1.5;
}

.demo-video-backup strong {
    color: var(--text-dark-secondary);
}

.demo-video-link {
    color: var(--color-primary);
    text-decoration: underline;
}

.demo-video-link:hover {
    color: var(--color-primary-hover);
}

/* Resultado esperado (readable size) */
.demo-resultado {
    margin-top: 1rem;
    font-size: 1.375rem;
}

.demo-resultado strong {
    color: var(--text-dark-secondary);
    display: block;
    margin-bottom: 0.75rem;
}

.demo-resultado ol {
    margin: 0;
    padding-left: 2rem;
    line-height: 1.5;
}

.demo-resultado li {
    margin-bottom: 0.5rem;
    color: var(--text-dark-primary);
}

/* Concepto bullets */
.concepto-bullets {
    text-align: left;
    margin: 1.5rem auto;
    max-width: 90%;
    list-style: none;
    padding: 0;
}

.concepto-bullets li {
    margin-bottom: 1rem;
    padding-left: 1.5rem;
    position: relative;
    line-height: 1.5;
}

.concepto-bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: bold;
}

.copilot-aplicacion {
    margin-top: 1.5rem;
    padding: 1rem;
    background: rgba(103, 212, 246, 0.1);
    border-left: 3px solid var(--color-primary);
    border-radius: 4px;
    text-align: left;
}

.copilot-aplicacion strong {
    color: var(--color-primary);
}
