/**
 * Terapia Física Total - Responsive
 * 
 * Media queries para diseño responsive mobile-first.
 * @version 1.0.0
 */

/* ==========================================================================
   TABLET (max-width: 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
    :root {
        --tft-space-5xl: 5rem;
    }

    .tft-header__nav { display: none; }
    .tft-header__hamburger { display: flex; }
    .tft-header__cta span { display: none; }

    .tft-why__grid { grid-template-columns: repeat(2, 1fr); }
    .tft-programs__grid { grid-template-columns: 1fr; }
    .tft-about__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .tft-about__image-wrapper { max-width: 400px; margin: 0 auto; }
    .tft-location__grid { grid-template-columns: 1fr; }
    .tft-contact__grid { grid-template-columns: 1fr; }

    .tft-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .tft-footer__col--brand { grid-column: 1 / -1; }

    .tft-content-area__grid { grid-template-columns: 1fr; }
    .tft-content-area__sidebar { order: 2; }

    .tft-slider__slide-content { padding: 2rem; }
}

/* ==========================================================================
   MOBILE LARGE (max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
    :root {
        --tft-space-5xl: 4rem;
        --tft-space-4xl: 3rem;
        --tft-header-h: 70px;
    }

    .tft-container { padding: 0 1rem; }

    /* Hero */
    .tft-hero { min-height: auto; padding: calc(var(--tft-header-h) + 2rem) 0 3rem; }
    .tft-hero__title { font-size: 2.25rem; }
    .tft-hero__actions { flex-direction: column; }
    .tft-hero__trust { flex-direction: column; gap: 0.75rem; }
    .tft-hero__scroll { display: none; }

    .tft-section__title { font-size: 1.75rem; }
    .tft-why__grid { grid-template-columns: 1fr; gap: 1rem; }
    .tft-why__card { text-align: left; display: flex; gap: 1rem; align-items: flex-start; padding: 1.5rem; }
    .tft-why__card-icon { margin: 0; }

    .tft-services__grid { grid-template-columns: 1fr; }

    /* Pricing */
    .tft-pricing__tabs { flex-direction: column; align-items: center; }
    .tft-pricing__tab { width: 100%; max-width: 300px; justify-content: center; }
    .tft-pricing__cards { grid-template-columns: 1fr; }
    .tft-pricing__card > .tft-btn { margin: auto 1.5rem 1.5rem; }
    .tft-pricing__schedule-grid { flex-direction: column; gap: 0.75rem; }
    .tft-pricing__packs-grid { grid-template-columns: 1fr; }

    /* Testimonials */
    .tft-testimonials__track { grid-template-columns: 1fr; }

    /* Slider */
    .tft-slider { aspect-ratio: 3/4; border-radius: var(--tft-radius-lg); }
    .tft-slider__slide-content { padding: 1.5rem; justify-content: flex-end; }
    .tft-slider__slide-overlay { background: linear-gradient(to top, rgba(30,30,30,0.9) 0%, rgba(30,30,30,0.3) 60%, transparent 100%); }
    .tft-slider__btn { width: 40px; height: 40px; }
    .tft-slider__btn--prev { left: 0.75rem; }
    .tft-slider__btn--next { right: 0.75rem; }

    /* CTA Final */
    .tft-cta-final__actions { flex-direction: column; align-items: center; }
    .tft-cta-final__title { font-size: 1.75rem; }

    /* Contact Form */
    .tft-contact__form-row { grid-template-columns: 1fr; }

    /* Footer */
    .tft-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
    .tft-footer__bottom-inner { flex-direction: column; gap: 0.5rem; text-align: center; }

    .tft-posts-grid { grid-template-columns: 1fr; }
    .tft-post-nav { grid-template-columns: 1fr; }
    .tft-post-nav__next { text-align: left; }

    .tft-404__number { font-size: 5rem; }
    .tft-404__actions { flex-direction: column; }

    .tft-wa-float__btn { width: 54px; height: 54px; }
    .tft-wa-float__tooltip { width: calc(100vw - 3rem); right: -0.5rem; }

    .tft-page-header { padding: calc(var(--tft-header-h) + 2rem) 0 2rem; }
    .tft-page-header__title { font-size: 1.75rem; }
}

/* ==========================================================================
   MOBILE SMALL (max-width: 480px)
   ========================================================================== */
@media (max-width: 480px) {
    :root {
        --tft-space-5xl: 3rem;
    }

    .tft-hero__title { font-size: 1.85rem; }
    .tft-hero__badge { font-size: var(--tft-fs-xs); }
    .tft-section__title { font-size: 1.5rem; }
    .tft-btn--lg { padding: 0.85rem 1.5rem; font-size: var(--tft-fs-sm); }
    .tft-pricing__card-body { padding: 1rem 1.5rem; }
    .tft-pricing__card > .tft-btn { margin: auto 1.5rem 1.5rem; }
    .tft-location__card { padding: 1.5rem; }
    .tft-contact__info-card { padding: 1.5rem; }
}

/* ==========================================================================
   DESKTOP LARGE (min-width: 1200px)
   ========================================================================== */
@media (min-width: 1200px) {
    .tft-header__cta span { display: inline; }
}

/* ==========================================================================
   PRINT
   ========================================================================== */
@media print {
    .tft-header,
    .tft-wa-float,
    .tft-mobile-menu,
    .tft-hero__scroll {
        display: none !important;
    }

    body { font-size: 12pt; color: #000; }
    .tft-section { page-break-inside: avoid; }
    a[href]:after { content: " (" attr(href) ")"; }
}
