/* ============================================================
   BREAKPOINT — Mobile (630px–320px)
   ============================================================ */
:root {
    --text-display: 2rem;
    --text-h1:      1.75rem;
    --text-h2:      1.75rem;
    --text-h3:      1.5rem;
    --text-h4:      1.25rem;
    --text-lead:    0.95rem;

    --section-py:   var(--space-12);
    --section-pb:   var(--space-8);
}

#wa-chicklet {
    width: 52px;
    height: 52px;
    font-size: 1.4rem;
    bottom: 20px;
    right: 20px;
}

#topbar { display: none; }

.header-menu { display: none; }
.header-hamburger { display: flex; }
#header-nav.is-open .header-menu {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 72px; left: 0; right: 0;
    background: var(--white);
    padding: var(--space-6) var(--px);
    gap: var(--space-4);
    box-shadow: var(--shadow-lg);
    z-index: 60;
}

.trust-bar-grid,
.ci-items-grid,
.gal-grid,
.serv-premium-grid,
.footer-inner { grid-template-columns: 1fr; }

.trust-bar-item { border-left: none; border-top: 1px solid var(--white-10); padding-top: var(--space-4); }
.trust-bar-item:first-child { border-top: none; padding-top: 0; }

.hero-grid,
.pqe-grid,
.met-grid,
.contacto-grid,
.inst-card { grid-template-columns: 1fr; }

#hero{
    padding: 3rem 0rem 10rem;
}
.hero-media { height: 360px; margin-top: var(--space-8); }
.hero-review-card { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.hero-trust { align-items: flex-start; gap: var(--space-4); }
.hero-actions{
    justify-content: center;
}
.background-hero-right{
    display: none;
}


.pqe-media { order: 2; }
.pqe-stat-badge { right: 0; top: -1rem; padding: var(--space-4); }

.met-media { order: 2; }

.testi-grid { /* controlado por JS */ }
.testi-nav { /* visible también en mobile */ }


.ci-card { padding: var(--space-6); }
.ci-cta-row { flex-direction: column; align-items: flex-start; }

.inst-content { padding: var(--space-10) var(--space-6); }
.inst-media { min-height: 320px; }

.footer-bottom { flex-direction: column; text-align: center; }

.cf7-row--2col { grid-template-columns: 1fr; }
/* About Us — Mobile */
.about-header { height: auto; padding: 8rem 0 4rem; }
.about-header-title { font-size: var(--text-h1); }
.fil-grid,
.tec-grid { grid-template-columns: 1fr; }
.fil-media-img { height: 320px; }
.eq-card { grid-template-columns: 1fr; }
.eq-card--reverse .eq-card-img { order: 0; }
.eq-card--reverse .eq-card-body { order: 1; }
.eq-card-body { padding: var(--space-6); }
.tec-slider { height: 320px; }

#trust-bar{
    max-width: 90%;
}

.seo-columns{
    grid-template-columns: 1fr;
}

.testi-track-wrap{
    width: 90%;
    margin: 0 auto;
}

.header-cta{
    font-size: var(--text-lead);
    text-align: center;
}
/* Service Page — Mobile */
.srv-hero { height: auto; padding: 8rem 0 5rem; }
.srv-hero-title { font-size: var(--text-h2); }
.srv-hero-actions { flex-direction: column; }
.srv-grid,
.srv-video-grid { grid-template-columns: 1fr; }
.srv-video-grid { height: auto; }
.srv-video-card,
.srv-grid-card,
.srv-grid-cta { height: 380px; }
.srv-grid-header { flex-direction: column; align-items: flex-start; }
.srv-grid-desc { text-align: left; }
.srv-faq-grid { grid-template-columns: 1fr; }
.srv-video-modal-box { width: 95%; }
.srv-video-modal-close { top: -2.5rem; right: 0.5rem; }

/* Especialidades — Mobile */
.spe-intro-grid { grid-template-columns: 1fr; }
.spe-intro-media { height: 300px; order: -1; }
.spe-cards-grid { grid-template-columns: 1fr; }
.spe-card-img { height: 280px; }
.spe-card-body { padding: var(--space-6); }

/* Especialidad Hijo — Mobile */
.ch-intro-grid { grid-template-columns: 1fr; }
.ch-intro-media { height: 280px; }
.ch-det-grid { grid-template-columns: 1fr; }
.ch-det-card { padding: var(--space-6); }

.ch-contacto-grid { grid-template-columns: 1fr; }
.ch-contacto-form-card { padding: var(--space-6); }
/* Blog — Mobile */
.blog-hero h1 { font-size: var(--text-h2); }
.blog-featured-card { grid-template-columns: 1fr; }
.blog-featured-img img { height: 240px; }
.blog-featured-body { padding: var(--space-6); }
.blog-grid-posts { grid-template-columns: 1fr; }
.blog-search-form { flex-direction: column; }
.blog-single-layout { grid-template-columns: 1fr; }
.blog-sidebar { position: static; }
.blog-single-titulo { font-size: var(--text-h3); }
.blog-single-meta { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
