/* ===================================
   SOZPIC AI PRESENTATION - PRINT STYLES
   Forces DESKTOP layout (≥1024px) for print/PDF export
   =================================== */

@media print {
    /* Force exact color reproduction */
    *,
    *::before,
    *::after {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }
    
    /* Reset page structure */
    html,
    html body {
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* CRITICAL: Force ALL slides to be visible */
    body .slide,
    body .slide.active,
    body .slide.slide-cover,
    body .slide.slide-index,
    body .slide.slide-service-desc,
    body .slide.slide-service-cases,
    body .slide.slide-tic20,
    body .slide.slide-needs-full,
    body .slide.slide-tech-full,
    body .slide.slide-cases-grid {
        position: relative !important;
        inset: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        page-break-after: always !important;
        page-break-inside: avoid !important;
        width: 100% !important;
        height: auto !important;
        min-height: 210mm !important;
        overflow: visible !important;
        transform: none !important;
        margin: 0 !important;
    }
    
    /* Last slide should not break page */
    body .slide:last-child,
    body .slide.slide-tic20 {
        page-break-after: avoid !important;
    }
    
    /* ===================================
       DESKTOP LAYOUT - COVER SLIDE
       =================================== */
    
    body .slide.slide-cover {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: #000000 !important;
        color: #FFFFFF !important;
        padding: 4rem !important;
    }
    
    body .cover-logo-main {
        max-width: 28rem !important;
        margin-bottom: 3rem !important;
    }
    
    body .cover-logo-main img {
        filter: invert(1) drop-shadow(0 0 60px rgba(255, 255, 255, 0.1)) !important;
    }
    
    body .cover-title {
        font-size: 1.8rem !important;
        opacity: 0.9 !important;
    }
    
    body .cover-subtitle {
        font-size: 1rem !important;
        opacity: 0.4 !important;
    }
    
    body .cover-frame-tl,
    body .cover-frame-br {
        border-color: rgba(255, 255, 255, 0.15) !important;
        width: 7rem !important;
        height: 7rem !important;
    }
    
    body .cover-frame-tl {
        top: 2.5rem !important;
        left: 2.5rem !important;
    }
    
    body .cover-frame-br {
        bottom: 2.5rem !important;
        right: 2.5rem !important;
        top: auto !important;
        left: auto !important;
    }
    
    /* ===================================
       DESKTOP LAYOUT - INDEX SLIDE
       =================================== */
    
    body .slide.slide-index {
        display: block !important;
        background: #FFFFFF !important;
        color: #000000 !important;
        padding: 4rem 3.5rem !important;
    }
    
    body .index-title {
        font-size: 3.5rem !important;
    }
    
    body .index-intro {
        margin-bottom: 3rem !important;
        margin-top: 1.5rem !important;
        max-width: 75% !important;
    }
    
    body .index-intro p {
        font-size: 1.15rem !important;
        line-height: 1.7 !important;
        opacity: 0.75 !important;
    }
    
    body .index-content {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.3rem 4rem !important;
        margin-left: 4% !important;
    }
    
    body .index-item {
        padding-left: 3rem !important;
    }
    
    body .index-num {
        font-size: 1.5rem !important;
        opacity: 0.15 !important;
        top: 0.2rem !important;
    }
    
    body .index-service {
        font-size: 1.35rem !important;
    }
    
    body .index-desc {
        font-size: 0.85rem !important;
        opacity: 0.6 !important;
    }
    
    body .index-isotipo {
        width: 6.5rem !important;
        opacity: 0.06 !important;
        bottom: 2.5rem !important;
        right: 2.5rem !important;
    }
    
    /* ===================================
       DESKTOP LAYOUT - SERVICE DESC SLIDES
       =================================== */
    
    body .slide.slide-service-desc {
        display: grid !important;
        grid-template-columns: minmax(auto, 28rem) 1fr !important;
        grid-template-rows: auto 1fr !important;
        gap: 2.5rem 3.5rem !important;
        padding: 4rem 3.5rem !important;
        align-items: start !important;
        background: #FFFFFF !important;
        color: #000000 !important;
    }
    
    body .service-logo {
        position: absolute !important;
        top: 2rem !important;
        left: 3.5rem !important;
        width: 5rem !important;
        opacity: 0.9 !important;
    }
    
    body .service-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        margin-top: 4rem !important;
        margin-bottom: 0 !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
    
    body .service-number {
        font-size: 7.5rem !important;
        margin-bottom: -2.5rem !important;
        line-height: 0.85 !important;
        opacity: 0.08 !important;
    }
    
    body .service-title {
        font-size: 3.5rem !important;
        margin-bottom: 0 !important;
    }
    
    body .service-description {
        display: contents !important;
    }
    
    body .service-lead {
        font-size: 1.35rem !important;
        margin-bottom: 0 !important;
        padding-top: 4rem !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
    }
    
    body .service-features {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.5rem !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
    }
    
    body .service-features-compact {
        gap: 1.3rem !important;
    }
    
    body .service-features-compact .feature h4 {
        font-size: 1rem !important;
    }
    
    body .service-features-compact .feature p {
        font-size: 0.85rem !important;
    }
    
    body .feature h4 {
        font-size: 1.2rem !important;
    }
    
    body .feature p {
        font-size: 0.9rem !important;
        opacity: 0.7 !important;
    }
    
    body .service-bg-isotipo {
        width: 22rem !important;
        opacity: 0.04 !important;
    }
    
    body .service-accent {
        opacity: 0.03 !important;
        background: #000000 !important;
    }
    
    /* ===================================
       DESKTOP LAYOUT - CASES SLIDE
       =================================== */
    
    body .slide.slide-service-cases {
        display: block !important;
        background: #FFFFFF !important;
        color: #000000 !important;
        padding: 4rem 3.5rem !important;
    }
    
    body .cases-title {
        font-size: 4.5rem !important;
    }
    
    body .cases-subtitle {
        font-size: 1.1rem !important;
        opacity: 0.4 !important;
    }
    
    body .cases-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 2.5rem !important;
    }
    
    body .cases-grid-full {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.8rem !important;
    }
    
    body .case-item {
        padding: 1.75rem 0 !important;
        border-top: 1px solid rgba(0, 0, 0, 0.2) !important;
    }
    
    body .cases-grid-full .case-item {
        padding: 1.1rem 0 !important;
    }
    
    body .case-metric {
        font-size: 2.75rem !important;
    }
    
    body .case-title {
        font-size: 1.2rem !important;
    }
    
    body .case-desc {
        font-size: 0.9rem !important;
        opacity: 0.7 !important;
    }
    
    body .cases-logo {
        width: 16rem !important;
        opacity: 0.06 !important;
        bottom: 2.5rem !important;
        left: 3.5rem !important;
    }
    
    body .cases-decoration {
        width: 16rem !important;
        height: 16rem !important;
        opacity: 1 !important;
        background-color: #f5f5f5 !important;
        border-color: rgba(0, 0, 0, 0.06) !important;
    }
    
    /* ===================================
       DESKTOP LAYOUT - TIC20 SLIDE
       =================================== */
    
    body .slide.slide-tic20 {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        background: #FFFFFF !important;
        color: #000000 !important;
        padding: 4rem 3.5rem !important;
    }
    
    body .tic20-content {
        max-width: 75rem !important;
    }
    
    body .tic20-header {
        margin-bottom: 3rem !important;
    }
    
    body .tic20-title-main {
        font-size: 3.5rem !important;
        padding-top: 5.2rem !important;
        padding-left: 8rem !important;
        margin-bottom: 2.1rem !important;
    }
    
    body .tic20-title-sub {
        font-size: 1.2rem !important;
        max-width: 45rem !important;
        opacity: 0.8 !important;
    }
    
    body .tic20-features {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 2.5rem !important;
        margin-bottom: 2rem !important;
    }
    
    body .tic20-feature {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
    }
    
    body .tic20-feature-icon {
        font-size: 2.5rem !important;
        opacity: 0.3 !important;
    }
    
    body .tic20-feature-content h3 {
        font-size: 1.1rem !important;
    }
    
    body .tic20-feature-content p {
        font-size: 0.9rem !important;
        opacity: 0.85 !important;
    }
    
    body .tic20-footer {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding-top: 2.5rem !important;
        margin-bottom: 2.5rem !important;
        border-top: 1px solid rgba(0, 0, 0, 0.15) !important;
    }
    
    body .tic20-deadline-date {
        font-size: 1.6rem !important;
    }
    
    body .tic20-deadline-label {
        opacity: 0.6 !important;
    }
    
    body .tic20-link {
        font-size: 1.05rem !important;
        padding: 0.85rem 1.75rem !important;
        background: #000000 !important;
        color: #FFFFFF !important;
        display: inline-flex !important;
    }
    
    body .tic20-logos {
        gap: 2.5rem !important;
    }
    
    body .tic20-logo-item {
        max-width: 8rem !important;
    }
    
    body .tic20-logo-item img {
        opacity: 0.7 !important;
    }
    
    body .tic20-badge {
        position: absolute !important;
        right: 0 !important;
        bottom: 260px !important;
    }
    
    /* ===================================
       COMMON ELEMENTS
       =================================== */
    
    /* Preserve fluorescent underline effect */
    body .fluorescent-underline {
        position: relative !important;
        display: inline-block !important;
    }
    
    body .fluorescent-underline::after {
        content: '' !important;
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 1rem !important;
        background: rgba(255, 255, 0, 1) !important;
        opacity: 1 !important;
        z-index: -1 !important;
        mix-blend-mode: multiply !important;
    }
    
    /* Ensure images are visible */
    img,
    body img {
        max-width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        page-break-inside: avoid !important;
        filter: none !important;
        visibility: visible !important;
    }
    
    /* Hide navigation */
    body .presentation-nav,
    body nav.presentation-nav {
        display: none !important;
        visibility: hidden !important;
    }
    
    /* Prevent orphaned content */
    body .feature,
    body .case-item,
    body .index-item,
    body .tic20-feature,
    body .cover-frame,
    body .service-logo {
        page-break-inside: avoid !important;
    }
    
    /* Preserve slide numbers */
    body .slide-number {
        position: absolute !important;
        top: 2rem !important;
        right: 2rem !important;
        font-size: 1.2rem !important;
        opacity: 0.4 !important;
    }
    
    /* Disable ALL animations */
    *,
    *::before,
    *::after {
        animation: none !important;
        animation-duration: 0s !important;
        animation-delay: 0s !important;
        transition: none !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
    }
    
    /* Page configuration */
    @page {
        size: A4 landscape;
        margin: 0;
    }
    
    @page :first {
        margin: 0;
    }
}
