/* 
   Turno Digital Pro Plus - Responsive Adjustments
   Breakpoints for Tablet and Mobile - STABILIZED
*/

@media (max-width: 1024px) {
    :root {
        --section-padding: 80px;
    }

    h1 {
        font-size: 3.5rem;
    }

    h2 {
        font-size: 2.6rem;
    }

    .capabilities-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px;
    }
}

@media (max-width: 768px) {
    :root {
        --section-padding: 64px;
    }

    section {
        scroll-margin-top: 64px;
    }

    .nav-links {
        display: none;
        /* Mobile menu logic */
    }

    .hero {
        padding: 120px 0 60px;
        text-align: center;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hero-content {
        max-width: 100%;
        margin: 0 auto;
    }

    .hero-btns {
        justify-content: center;
    }

    .hero-visual {
        height: 380px;
        margin-top: 20px;
    }

    h1 {
        font-size: 2.8rem;
    }

    h2 {
        font-size: 2.1rem;
    }

    body {
        font-size: 0.95rem;
    }

    .problem-grid,
    .solution-grid,
    .sectors-grid,
    .trust-grid,
    .capabilities-grid {
        grid-template-columns: 1fr;
    }

    .timeline {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .step {
        padding-left: 52px;
    }

    .header-actions .btn-whatsapp {
        display: none;
    }

    .form-placeholders {
        grid-template-columns: 1fr !important;
    }

    .contact-card {
        padding: 36px 24px;
    }

    .btn {
        width: 100%;
    }

    .menu-toggle {
        display: block;
    }

    .site-logo__image {
        height: 34px;
        max-width: 160px;
    }

    .visual-box {
        padding: 32px 20px;
    }

    .footer {
        padding: 48px 0 26px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 24px;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 2.3rem;
    }

    h2 {
        font-size: 1.85rem;
    }

    .site-logo__image {
        height: 30px;
        max-width: 140px;
    }

    .hero-visual {
        height: 320px;
    }
}

/* Mobile Menu Interaction */
.mobile-nav-active .nav-links {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    width: 280px;
    height: 100vh;
    background: white;
    padding: 80px 40px;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
    z-index: 999;
}

.menu-toggle span {
    pointer-events: none;
}

/* Turno Digital Cinematic Intro - Responsive */
@media (max-width: 1024px) {
    .td-intro-title {
        font-size: clamp(3.5rem, 10vw, 8rem);
        font-weight: 600;
    }
}

@media (max-width: 768px) {
    .td-intro-keywords {
        display: none;
    }
}

@media (max-width: 640px) {
    .td-intro-screen {
        padding: 1.5rem;
    }

    .td-intro-kicker {
        letter-spacing: 0.35em;
        margin-bottom: 1.5rem;
    }

    .td-intro-title {
        font-size: clamp(3.3rem, 16vw, 6.2rem);
        letter-spacing: -0.07em;
        font-weight: 600;
    }

    .td-intro-copy {
        font-size: 1rem;
        margin-top: 1.8rem;
        width: min(100%, 92vw);
    }

    .td-intro-seo-line {
        font-size: 0.82rem;
        margin-top: 1.1rem;
    }

    .td-intro-actions {
        margin-top: 1.45rem;
    }

    .td-intro-button {
        min-height: 44px;
        padding: 0 1.25rem;
        font-size: 0.8rem;
        width: auto;
        min-width: 210px;
        max-width: 280px;
        border-radius: 999px;
    }

    .td-intro-keywords {
        display: none;
    }

    .td-intro-scroll-hint {
        bottom: 1.35rem;
    }

    .td-intro-scroll-hint span:last-child {
        height: 32px;
    }
}

@media (max-width: 480px) {
    .td-intro-title {
        font-size: clamp(2.8rem, 18vw, 4.5rem);
    }
}

/* Scoped Hero Refinements (#inicio) */
@media (max-width: 900px) {
    #inicio .hero-grid {
        transform: scale(0.9);
        transform-origin: center center;
        position: relative;
        top: -40px;
    }
}

@media (max-width: 640px) {
    #inicio .hero-grid {
        transform: none;
        position: static;
        top: auto;
    }
}

/* Scoped #problema refinement */
@media (max-width: 900px) {
    #problema {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #problema>.container {
        transform: scale(0.92);
        transform-origin: top center;
    }
}

@media (max-width: 640px) {
    #problema {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #problema>.container {
        transform: none;
        position: static;
    }
}

/* Scoped #solucion refinement */
@media (max-width: 1100px) {
    #solucion .solution-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    #solucion {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #solucion>.container {
        transform: scale(0.92);
        transform-origin: top center;
    }
}

@media (max-width: 640px) {
    #solucion {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #solucion>.container {
        transform: none;
        position: static;
    }

    #solucion .solution-grid {
        grid-template-columns: 1fr;
    }
}

/* Scoped #como-funciona refinement */
@media (max-width: 900px) {
    #como-funciona {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #como-funciona>.container {
        transform: scale(0.92);
        transform-origin: top center;
    }
}

@media (max-width: 640px) {
    #como-funciona {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #como-funciona>.container {
        transform: none;
        position: static;
    }

    #como-funciona .timeline {
        grid-template-columns: 1fr;
    }
}

/* Scoped #modulos refinement */
@media (max-width: 1180px) {
    #modulos .capabilities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    #modulos {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #modulos>.container {
        transform: scale(0.92);
        transform-origin: top center;
    }
}

@media (max-width: 640px) {
    #modulos {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #modulos>.container {
        transform: none;
        position: static;
    }

    #modulos .capabilities-grid {
        grid-template-columns: 1fr;
    }
}

/* Scoped #soluciones refinement */
@media (max-width: 1100px) {
    #soluciones .sectors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    #soluciones {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #soluciones>.container {
        transform: scale(0.92);
        transform-origin: top center;
    }
}

@media (max-width: 640px) {
    #soluciones {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #soluciones>.container {
        transform: none;
        position: static;
    }

    #soluciones .sectors-grid {
        grid-template-columns: 1fr;
    }
}

/* Scoped #kioscos refinement */
@media (max-width: 900px) {
    #kioscos {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 80px;
        padding-bottom: 88px;
    }

    #kioscos>.container {
        transform: scale(0.92);
        transform-origin: top center;
        position: relative;
        top: 0;
    }

    #kioscos .hero-grid {
        gap: 32px;
    }
}

@media (max-width: 640px) {
    #kioscos {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 64px;
        padding-bottom: 72px;
    }

    #kioscos>.container {
        transform: none;
        position: static;
    }

    #kioscos .visual-box>div {
        height: 300px !important;
    }
}

/* Scoped #analitica refinement */
@media (max-width: 1100px) {
    #analitica .capabilities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    #analitica {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #analitica>.container {
        transform: scale(0.92);
        transform-origin: top center;
    }
}

@media (max-width: 640px) {
    #analitica {
        min-height: auto;
        display: block;
        overflow: visible;
    }

    #analitica>.container {
        transform: none;
        position: static;
    }

    #analitica .capabilities-grid {
        grid-template-columns: 1fr;
    }

    #analitica .mockup-dashboard {
        height: 240px;
    }
}

/* Scoped #diferenciadores refinement */
@media (max-width: 900px) {
    #diferenciadores {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 80px;
        padding-bottom: 88px;
    }

    #diferenciadores>.container {
        transform: scale(0.92);
        transform-origin: top center;
        position: relative;
        top: 0;
    }

    #diferenciadores .problem-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    #diferenciadores {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 64px;
        padding-bottom: 72px;
    }

    #diferenciadores>.container {
        transform: none;
        position: static;
    }

    #diferenciadores .problem-grid {
        grid-template-columns: 1fr;
    }
}

/* Scoped #confianza refinement */
@media (max-width: 1100px) {
    #confianza .capabilities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    #confianza {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 80px;
        padding-bottom: 88px;
    }

    #confianza>.container {
        transform: scale(0.92);
        transform-origin: top center;
        position: relative;
        top: 0;
    }
}

@media (max-width: 640px) {
    #confianza {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 64px;
        padding-bottom: 72px;
    }

    #confianza>.container {
        transform: none;
        position: static;
    }

    #confianza .capabilities-grid {
        grid-template-columns: 1fr;
    }
}

/* Scoped #faq refinement */
@media (max-width: 900px) {
    #faq {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 80px;
        padding-bottom: 88px;
    }

    #faq>.container {
        transform: scale(0.92);
        transform-origin: top center;
        position: relative;
        top: 0;
    }
}

@media (max-width: 640px) {
    #faq {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 64px;
        padding-bottom: 72px;
    }

    #faq>.container {
        transform: none;
        position: static;
    }

    #faq .faq-trigger {
        padding: 16px 18px;
        font-size: 0.92rem;
    }

    #faq .faq-content {
        padding: 0 18px;
    }

    #faq .faq-item.active .faq-content {
        padding-bottom: 18px;
    }
}

/* Scoped #contacto success section */
@media (max-width: 1100px) {
    #contacto .success-logos {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    #contacto .success-proof-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    #contacto.success-section {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 80px;
        padding-bottom: 88px;
    }

    #contacto .success-inner {
        transform: scale(0.92);
        transform-origin: top center;
        top: 0;
    }
}

@media (max-width: 640px) {
    #contacto.success-section {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 64px;
        padding-bottom: 72px;
    }

    #contacto .success-inner {
        transform: none;
        position: static;
    }

    #contacto .success-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #contacto .success-actions {
        flex-direction: column;
    }

    #contacto .success-actions .btn {
        width: 100%;
    }
}

/* Scoped #contacto client logo carousel responsive */
@media (max-width: 640px) {
    #contacto .success-carousel {
        width: 100%;
        margin-bottom: 28px;
        mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
    }

    #contacto .success-carousel__track {
        animation-duration: 38s;
    }

    #contacto .success-carousel__group {
        gap: 34px;
        padding-right: 34px;
    }

    #contacto .success-logo-item {
        min-width: 160px;
        height: 58px;
        padding: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        backdrop-filter: none;
    }

    #contacto .success-logo-item img {
        max-width: 158px;
        max-height: 56px;
    }
}

/* =========================================================
   Turno Digital internal pages — responsive sizing
   ========================================================= */

@media (max-width: 1180px) {
    .td-flow-timeline {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .td-page-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .td-page-hero,
    .td-page-section {
        min-height: auto;
        display: block;
        overflow: visible;
        padding-top: 88px;
        padding-bottom: 88px;
    }

    .td-page-hero__inner,
    .td-page-section__inner {
        transform: scale(0.92);
        transform-origin: top center;
        top: 0;
    }

    .td-page-hero__grid {
        grid-template-columns: 1fr;
        gap: 36px;
        text-align: center;
    }

    .td-page-grid--2,
    .td-page-grid--3,
    .td-page-grid--4 {
        grid-template-columns: 1fr;
    }

    .td-flow-timeline {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .td-page-hero,
    .td-page-section {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .td-page-hero__inner,
    .td-page-section__inner {
        transform: none;
        position: static;
    }

    .td-page-hero h1,
    .td-internal-page .td-page-section h2 {
        font-size: 2rem;
    }

    .td-page-card,
    .td-flow-step {
        padding: 20px;
        border-radius: 18px;
    }
}