html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100%;
    font-family: var(--font-primary);
    box-sizing: border-box;
}

body {
    padding-top: 0;
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
}

.fondo {
    background-image: var(--bg-url, url('assets/img/background.webp'));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed; /* Mantiene el fondo estático para evitar distorsión en páginas largas */
    background-color: #f55a22;
}

/* Utility to disable elements */
.is-disabled {
    cursor: not-allowed !important;
    opacity: 0.65 !important;
    filter: grayscale(0.5) !important;
    pointer-events: auto !important; /* Allow click for showAlert */
}

.is-disabled:hover, 
.is-disabled:active, 
.is-disabled:focus {
    transform: none !important;
    box-shadow: none !important;
    background-color: inherit !important;
}