/**
 * Sitio público móvil (index, blog, manual, guías, legales, separador…).
 * Solo max-width 767px + body.landing-shell. No afecta app (app-shell) ni admin.
 */

@media (max-width: 767px) {
    html:has(body.landing-shell) {
        font-size: 18px;
    }

    /* —— Index / landing —— */
    body.landing-shell .landing-wrapper {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.landing-shell .landing-main {
        padding: 20px 18px 26px;
    }

    body.landing-shell .hero-title {
        font-size: 2.15rem;
    }

    body.landing-shell .hero-subtitle {
        font-size: 0.95rem;
        letter-spacing: 2px;
    }

    body.landing-shell .hero-desc {
        font-size: 1.05rem;
        line-height: 1.5;
    }

    body.landing-shell .hero-trust {
        font-size: 0.88rem;
    }

    body.landing-shell .hero-landing-nav-link {
        font-size: 0.95rem;
        padding: 8px 14px;
    }

    body.landing-shell .btn-hero-cta,
    body.landing-shell .btn-apply-manual {
        min-height: 52px;
        font-size: 1.05rem;
    }

    body.landing-shell .card-seo h3,
    body.landing-shell .use-case-card h3 {
        font-size: 1.1rem;
    }

    body.landing-shell .card-seo p,
    body.landing-shell .use-case-card p {
        font-size: 0.95rem;
        line-height: 1.45;
    }

    body.landing-shell .landing-hero-headline,
    body.landing-shell .landing-flow-section > h2,
    body.landing-shell .landing-preview-section > h2 {
        font-size: 1.35rem;
    }

    body.landing-shell .landing-flow-intro,
    body.landing-shell .landing-preview-intro,
    body.landing-shell .landing-flow-step p {
        font-size: 1rem;
        line-height: 1.5;
    }

    body.landing-shell .landing-flow-step h3 {
        font-size: 1.05rem;
    }

    /* —— Cabecera global (manual, legal, guías) —— */
    body.landing-shell .site-global-nav-link {
        font-size: 0.95rem;
        padding: 8px 12px;
    }

    body.landing-shell .site-global-logo {
        font-size: 1.1rem;
    }

    body.landing-shell .toolbar-select,
    body.landing-shell .theme-select,
    body.landing-shell .lang-select {
        min-height: 44px;
        max-width: none;
        min-width: 4.5rem;
        padding: 8px 12px;
        font-size: 0.88rem;
    }

    body.landing-shell .site-global-footer,
    body.landing-shell .landing-footer-block {
        font-size: 0.9rem;
        line-height: 1.5;
    }

    /* —— Blog —— */
    body.landing-shell.blog-public .blog-page-logo {
        font-size: 1.45rem;
    }

    body.landing-shell.blog-public .blog-page-nav a {
        font-size: 0.95rem;
    }

    body.landing-shell.blog-public .blog-article-main h1,
    body.landing-shell.blog-public .blog-article-title,
    body.landing-shell.blog-public .blog-post-title {
        font-size: clamp(1.45rem, 5vw, 1.85rem);
        line-height: 1.25;
    }

    body.landing-shell.blog-public .blog-list-page > h1 {
        font-size: 1.5rem;
    }

    body.landing-shell.blog-public .blog-post-body {
        font-size: 1.05rem;
        line-height: 1.65;
    }

    body.landing-shell.blog-public .blog-post-body p,
    body.landing-shell.blog-public .blog-post-body li {
        font-size: 1.05rem;
    }

    body.landing-shell.blog-public .blog-card-title {
        font-size: 1.1rem;
    }

    body.landing-shell.blog-public .blog-card-excerpt {
        font-size: 0.95rem;
        line-height: 1.45;
    }

    body.landing-shell.blog-public .blog-card-meta,
    body.landing-shell.blog-public .blog-post-meta {
        font-size: 0.85rem;
    }

    body.landing-shell.blog-public .blog-sidebar-widget h3 {
        font-size: 1rem;
    }

    body.landing-shell.blog-public .blog-comment-body {
        font-size: 0.95rem;
    }

    body.landing-shell.blog-public .input-moderno,
    body.landing-shell.blog-public textarea.input-moderno {
        font-size: 16px;
        min-height: 48px;
    }

    /* —— Manual, guías, legales —— */
    body.landing-shell .legal-content,
    body.landing-shell .guide-page article,
    body.landing-shell .manual-content {
        font-size: 1.05rem;
        line-height: 1.6;
    }

    body.landing-shell .legal-content h1,
    body.landing-shell .guide-page h1,
    body.landing-shell .manual-content h1 {
        font-size: 1.55rem;
    }

    body.landing-shell .legal-content h2,
    body.landing-shell .guide-page h2,
    body.landing-shell .manual-content h2 {
        font-size: 1.25rem;
    }

    body.landing-shell.guide-page .guide-faq summary {
        font-size: 1rem;
        padding: 12px 0;
    }

    /* —— Separador (página pública) —— */
    body.landing-shell .stem-title,
    body.landing-shell .stem-panel-title {
        font-size: 1.2rem;
    }

    body.landing-shell .stem-page-content .control-hint,
    body.landing-shell .stem-page-content p {
        font-size: 0.95rem;
        line-height: 1.45;
    }

    /* —— Errores —— */
    body.landing-shell.error-page .error-page-title {
        font-size: 1.5rem;
    }

    body.landing-shell.error-page .error-page-lead {
        font-size: 1.05rem;
    }

    /* —— Cookies —— */
    body.landing-shell .cookie-banner .cookie-text {
        font-size: 0.92rem;
        line-height: 1.45;
    }

    body.landing-shell .btn-cookie-accept,
    body.landing-shell .btn-cookie-reject {
        min-height: 44px;
        font-size: 0.95rem;
    }
}

@media (max-width: 767px) {
    body.landing-shell.separador-public .separador-workspace,
    body.landing-shell #stem-embed-mount {
        font-size: 1rem;
    }
}
