body {
    height:100vh;
    background-color: #AAC8CA;
    font-size:18px !important;
}
a {
    text-decoration:none !important;
}
.flag {
    width:40px;
    border-radius: 50px;
    border:3px solid white;
}
.flag-selected {
    border-color:#005448;
    
}
.background-lozoya {
    background-color:#005448;
}
.background-lozoya-light {
    background-color:#AAC8CA;
}
.color-lozoya {
    color:#005448;
}
.radius-lozoya {
    border-radius:50px;
    overflow:hidden;
}
.radius-lozoya-sm {
    border-radius:10px;
    overflow:hidden;
}
.border-lozoya {
    border:3px solid #005448;
}
.card {
    overflow-y:hidden;
}
.text_shadow {
    text-shadow: 1px 1px 2px black;
}
.card-hover:hover {
    background-color:#00544899 !important;
}
.card-lozoya {
    display:block;
}
.search_result_div::-webkit-scrollbar {
    display: none;
}
.search_result_div {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
.oculto {
    display: none !important;
}
.teclado-flotante {
    position: fixed;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    background: #f0f0f0;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.fila {
    display: flex;
    justify-content: center;
    gap: 5px;
}
.tecla {
    padding: 10px 14px;
    font-size: 16px;
    background: white;
    border: 1px solid #999;
    border-radius: 6px;
    cursor: pointer;
    user-select: none;
    min-width: 36px;
    text-align: center;
}
.tecla:active {
    background: #ddd;
}
.tecla.grande {
    min-width: 80px;
}
.submitNewsletter {
    background-color: transparent;
    border: 2px solid white;
    padding: 7px 20px;
    border-radius: 25px;
    color: white;
}
.submitNewsletter:hover {
    background-color: white;
    color:#005448;
} 

.page-loader{
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    background-color: #AAC8CA;
    transition: opacity .25s ease;
    justify-content: center;
    flex-direction: column;
}
.page-loader.is-hidden{ opacity:0; pointer-events:none; }

.loader-wrap{ position:relative; width:96px; height:96px; display:grid; place-items:center; }
.spinner{
    width:72px; height:72px; border-radius:50%;
    border:6px solid #e9ecef; border-top-color:#005448; border-right-color:var(--loader-accent);
    animation:spin .9s linear infinite; filter: drop-shadow(0 0 10px rgba(14,165,233,.35));
}
.pulse{
    position:absolute; width:96px; height:96px; border-radius:50%;
    background: radial-gradient(circle, rgba(14,165,233,.25), transparent 60%);
    animation:pulse 1.2s ease-out infinite;
}

@keyframes spin{ to{ transform:rotate(360deg) } }
@keyframes pulse{
    0%{ transform:scale(.8); opacity:.8 }
    100%{ transform:scale(1.2); opacity:0 }
}

.sr-only{ 
    position:absolute; 
    width:1px; 
    height:1px; 
    padding:0; 
    margin:-1px; 
    overflow:hidden; 
    clip:rect(0,0,0,0); 
    white-space:nowrap; 
    border:0 
}

@media (prefers-reduced-motion: reduce){
    .spinner, .pulse{ 
        animation:none 
    }
}

