:root {
    --maapo-font-family: 'Geomini', 'Segoe UI', Arial, sans-serif;
}

html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

html,
body,
body *,
input,
select,
textarea,
button,
.form-control,
.form-select,
.btn,
.nav-link,
.dropdown-item,
.modal,
.swal2-popup,
.select2-container,
.dataTables_wrapper {
    font-family: var(--maapo-font-family) !important;
}

a,
button,
input,
select,
textarea,
[role='button'] {
    touch-action: manipulation;
}

img,
video,
canvas,
svg {
    max-width: 100%;
}

/* Safari amplía automáticamente cualquier campo menor a 16 px al enfocarlo. */
@media (max-width: 991.98px) {
    input,
    select,
    textarea,
    .form-control,
    .form-select,
    .input-group input,
    .market-mobile-search input,
    .select2-search__field,
    .select2-container .select2-selection,
    .select2-container .select2-selection__rendered,
    .swal2-input,
    .swal2-textarea {
        font-size: 16px !important;
    }
}

/* Las fuentes de iconos no deben heredar la tipografía de lectura. */
.fa,
.fas,
.far,
.fal,
.fad,
.fa-solid,
.fa-regular,
.fa-light,
.fa-thin,
.fa-duotone,
[class^='fa-']:not(.fab):not(.fa-brands),
[class*=' fa-']:not(.fab):not(.fa-brands) {
    font-family: 'Font Awesome 6 Free' !important;
}

.fab,
.fa-brands {
    font-family: 'Font Awesome 6 Brands' !important;
}

.bi::before,
[class^='bi-']::before,
[class*=' bi-']::before {
    font-family: 'bootstrap-icons' !important;
}
