/* Mejoras móvil — sitio público SJ */

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
}

/* Evita zoom automático al enfocar campos en iOS */
input,
select,
textarea {
    font-size: 16px;
}

img,
video {
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    .container {
        width: min(1180px, 94%);
    }
}

@media (max-width: 640px) {
    .topbar {
        padding: 8px 0;
        font-size: 12px;
    }

    .topbar .container {
        flex-direction: column;
        gap: 10px;
    }

    /* En móvil: teléfono y correo; la dirección larga se oculta */
    .topbar-contact li:nth-child(3) {
        display: none;
    }

    .topbar-contact li span {
        word-break: break-word;
    }

    .topbar-social {
        justify-content: center;
    }

    .navbar .container {
        padding: 10px 0;
        gap: 10px;
    }

    .logo img {
        height: 40px;
    }

    .menu-toggle {
        min-width: 44px;
        min-height: 44px;
        padding: 10px 14px;
        font-size: 15px;
    }

    .mobile-link-row {
        padding: 14px 16px;
    }

    .mobile-link-row a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        font-size: 15px;
    }

    .mobile-submenu-toggle {
        min-width: 44px;
        min-height: 44px;
    }

    .btn-nav {
        min-height: 44px;
        padding: 12px 16px;
    }

    .site-footer-grid {
        gap: 28px;
    }

    .site-footer-brand img {
        max-width: 200px;
    }
}

@media (max-width: 380px) {
    .topbar-contact {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}
