/* Reseteo básico y tipografía */

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

html, body {
    display: flex;
    background-color: whitesmoke !important;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    overflow-x: hidden;
}

.loader{
    position: fixed;
    left: 0%;
    top: 0%;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background:  url('/imagenes/cubo_27.gif') 50% 30% no-repeat;
    background-size: 15%;
    opacity: 1;
}

/*body {
   display: flex;
   background-color: #f4f6f9;
   min-height: 100vh;
   overflow-x: hidden;
}*/

/* --- MENÚ LATERAL (SIDEBAR FLOTANTE) --- */
.sidebar {
   position: fixed;
   top: 0;
   left: 0;
   width: 260px;
   height: 100vh;
   /*background-color: #1e1e2f;*/
   background-color: #D8F0FF;
   color: blue;
   /*color: #ffffff;*/
   padding-top: 20px;

   /* Alta prioridad visual para que flote por encima de TODO */
   z-index: 9999; 

   /* Sombra para dar el efecto físico de "flotar" sobre el fondo */
   box-shadow: 5px 0 15px rgba(0, 0, 0, 0.3);

   /* Ocultar el menú moviéndolo por completo a la izquierda */
   transform: translateX(-250px); /* Deja un borde ultra fino de 10px para activar el mouse */
   transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* Animación más fluida */

   /* CAMBIO: Definimos el color del borde interactivo en azul (podés cambiar #0056b3 por el azul que prefieras) */
   /*border-right: 10px solid transparent;*/ 
}

/* Pequeña pestaña visual indicadora (opcional) */
.sidebar::after {
   content: '⋮'; /* CAMBIO: Cambiamos la flecha por 3 puntitos verticales */
   position: absolute;
   top: 50%;
   right: -8px; /* Centra los puntitos dentro del borde azul */
   transform: translateY(-50%);

   /* CAMBIO: Los puntitos ahora son de color blanco para resaltar sobre el fondo azul */
   color: #ffffff; 
   font-size: 20px; /* Tamaño ideal para que se noten los 3 puntitos */
   font-weight: bold;
   transition: opacity 0.2s;
}

/* Cuando el mouse se acerca, flota al frente sin afectar el resto */
.sidebar:hover {
   transform: translateX(0);
}

.sidebar:hover::after {
   opacity: 0;
}

/* Contenido interno del menú */
.sidebar-title {
   text-align: center;
   font-size: 1.2rem;
   font-weight: bold;
   padding-bottom: 20px;
   /*border-bottom: 1px solid #2d2d44;*/
   border-bottom: 1px solid #2d2d44;
   margin-bottom: 20px;
}

.menu-list {
   list-style: none;
}
.menu-toggle {
    display: none;
}
.menu-item a {
   display: block;
   padding: 15px 25px;
   /*color: #b3b3cc;*/
   color: black;
   text-decoration: none;
   font-size: 1rem;
   transition: all 0.2s;
}

.menu-item a:hover {
   background-color: #2d2d44;
   color: #ffffff;
   padding-left: 35px;
}

/* --- CONTENIDO PRINCIPAL --- */
/*.main-content {
   flex: 1;
    Margen izquierdo fijo normal de diseño, ya no depende del menú 
   padding: 20px 4px 40px 50px; 
    Quitamos cualquier transición o cambio de margen por hover 
   width: 96vw;
}*/

/*.main-content {
   flex: 1;
   padding: 20px 4px 40px 50px; 
   width: 90vw;
   box-sizing: border-box;
   overflow-y: auto;

    1. Empuja el contenedor hacia abajo para que no lo tape el main-top 
    Cambia '60px' por la altura real que tenga tu main-top 
   margin-top: 60px; 

    2. Ajusta la altura dinámica restando el margen superior 
    Así el contenedor mide el 90% de la pantalla MENOS el alto del encabezado 
   height: calc(90vh - 60px); 
}

.main-top {
    background-color: whitesmoke;
    padding: 0%;
    width: 95vw;
    position: fixed;
    top: 0;
    left: 2.5vw;    
    
     3. RECOMENDACIÓN: Asigna una altura fija al encabezado 
     Esto garantiza que el calc() de arriba sea 100% exacto 
    height: 60px; 

     Truco de hardware 
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    will-change: transform;    
    z-index: 999;
}*/

/* 1. Contenedor padre que ocupa toda la pantalla */
.app-container {
    display: flex;
    flex-direction: column; /* Alinea los elementos verticalmente */
    height: 100vh;          /* Limita el alto total a la pantalla */
    width: 100vw;
    overflow: hidden;       /* Evita que la pantalla entera tenga scroll */
}

/* 2. El encabezado ya NO es fixed, es parte del flujo natural */
.main-top {
    background-color: whitesmoke;
    width: 95vw;
    margin: 0 auto;        /* Centra el elemento en la pantalla */
    z-index: 999;
    
    /* El alto ahora es automático según su contenido */
    height: auto;
    
    /* Mantenemos tus optimizaciones de hardware */
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    will-change: transform;    
}

/* 3. El contenido se adapta automáticamente al espacio que sobra */
.main-content {
   flex: 1;                /* Absorbe TODO el alto restante de forma automática */
   padding: 0px px 0px 0px; 
   width: 100vw;
   box-sizing: border-box;
   
   /* Habilita el scroll interno */
   /*overflow-y: auto;*/       
   /*overflow: auto;*/       
   background-image: url("../imagenes/ET27-IMAGEN.png");
   background-size: cover;
}


.main-bottom {
    background-color: whitesmoke;
    padding: 0%;
    width: 95vw;
    position: fixed;
    bottom: 0;                  /* Lo fija en la parte inferior de la pantalla */
    left: 2.5vw;    
    
    /* Mitad de altura respecto al encabezado o un tamaño compacto */
    height: auto;               /* O puedes definir un alto fijo corto, ej: 30px o 4vh */
    
    /* === TRUCO DE HARDWARE: Mantiene el elemento fijo en la memoria visual === */
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    will-change: transform;    
    z-index: 999;
}

.content-login {
    margin-left: 37.5%;
    width: 25%;
    padding: 1%;
}

.box-input {
    
    border: transparent;
    text-align: left;
    background: transparent;
    margin-left: 1%;
    margin-top: 0;
    margin-bottom: 0.5%;
    height: fit-content;
}

.titulo-input {
    font-size: 0.9rem;
    text-align: left;
    background: transparent;
    text-transform: capitalize;
    color: black;
}

.texto-input {
    background: white;
    width: 100%;
    font-weight: bold;
    margin-top: 0%;   
    margin-bottom: 1%;
    border: transparent;
    padding-top: 1ex;
    padding-bottom: 0.25ex;
    text-transform: inherit;
    font-size: 1rem;
    box-shadow: 0px 0px 5px 0px #AAAAAA;
    color: inherit;
}

.texto-input:focus{
    box-shadow: 0px 0px 10px 0px orange;
    outline: 0px;
}

.texto-input:read-only{
    /*border: solid blue 1px;*/
    /*box-shadow: 0px 0px 5px 0px #AAAAAA;*/
    box-shadow: none;
    border-bottom: solid 1px #AAAAAA;
    background-color: transparent;
}
.texto-input:-moz-read-only{
    /*border: solid blue 1px;*/
    box-shadow: 0px 0px 5px 0px #AAAAAA;
    background-color: transparent;
    box-shadow: none;
}


/* Estilos del contenido base */
.cards-container {
   display: flex;
   flex-wrap: wrap;  /*Permite que bajen si no hay espacio */
   gap: 20px;       /* Separación uniforme entre las tarjetas */
   margin-top: 0;
   margin-left: 0%;
   min-width: 100vw;
   padding-left: 1%;
   margin-top: 75vh;
/*   background-image: url("../imagenes/ET27-IMAGEN.png");
   background-size: cover;*/
}

.card-25 {
   background: #ffffff;
   padding: 30px;
   border-radius: 8px;
   box-shadow: 0 4px 6px rgba(0,0,0,0.05);
   margin-top: 20px;
   flex: 1 1 calc(25% - 15%);
   max-width: 25%;
}

.card-50 {
   background: #ffffff;
   padding: 30px;
   border-radius: 8px;
   box-shadow: 0 4px 6px rgba(0,0,0,0.05);
   margin-top: 20px;
   flex: 1 1 calc(50% - 15%);
   max-width: 100%;
}

.card-option-25 {
   background: #ffffff;
   padding: 10px;
   border-radius: 8px;
   box-shadow: 0 4px 6px rgba(0,0,0,0.05);
   margin-top: 10px;
   text-align: center;
   flex: 1 1 20vw; 
   max-width: 22vw;
    
   /* Refuerzos para obligar al navegador a respetar el 20% */
   width: 20vw;
   
   transition: transform 0.1s ease, box-shadow 0.2s ease;
   cursor: pointer; /* Cambia el cursor a mano para indicar que es clickeable */   
   
   /* === AJUSTES PARA EL EFECTO CORTINA === */
   max-height: 400px; /* Alto máximo estimado para que la transición funcione */
   opacity: 1;
   display: block; /* Asegura que responda correctamente al max-height y paddings */
   box-shadow: 0 4px 6px rgba(0,0,0,0.05);
   
   /* Añadimos max-height, opacity, padding y margin a tu transición original */
   transition: 
     transform 0.1s ease, 
     box-shadow 0.2s ease,
     max-height 0.1s cubic-bezier(0.1, 1, 0.1, 1),
     opacity 0.4s ease,
     padding 0.5s ease,
     margin-top 0.5s ease;   
}

/* === ESTADO DE LA CORTINA (CUANDO SE HACE CLICK) === */
.card-option-25.fade-out {
   max-height: 0 !important;
   opacity: 0 !important;
   padding-top: 0 !important;
   padding-bottom: 0 !important;
   margin-top: 0 !important;
   box-shadow: none !important;
   pointer-events: none; /* Evita que el usuario haga doble click durante la animación */
}

.card-option-25:hover {
   box-shadow: 0 0px 12px 0px blue; /* Sombra azul suave y un poco más amplia */
}

/* Al presionar el botón: Efecto de hundimiento */
.card-option-25:active {
   transform: scale(0.97); /* Reduce ligeramente el tamaño para simular el click */
   box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2); /* Reduce la sombra al hundirse */
}

.card-option-50 {
   /*background: #99BBff;*/
   padding: 10px;
   border-radius: 8px;
   /*box-shadow: 0 4px 6px rgba(0,0,0,0.05);*/
   margin-top: 10px;
   text-align: center;
   flex: 1 1 45vw; 
   max-width: 48vw;
    
   /* Refuerzos para obligar al navegador a respetar el 20% */
   width: 45vw;
   
   transition: transform 0.1s ease, box-shadow 0.2s ease;
   cursor: pointer; /* Cambia el cursor a mano para indicar que es clickeable */   
   
   /* === AJUSTES PARA EL EFECTO CORTINA === */
   max-height: 400px; /* Alto máximo estimado para que la transición funcione */
   opacity: 1;
   display: block; /* Asegura que responda correctamente al max-height y paddings */
   box-shadow: 0 4px 6px rgba(0,0,0,0.05);
   box-shadow: inset 0 0px 18px 5px white;
   
   /* Añadimos max-height, opacity, padding y margin a tu transición original */
   transition: 
     transform 0.1s ease, 
     box-shadow 0.2s ease,
     max-height 0.1s cubic-bezier(0.1, 1, 0.1, 1),
     opacity 0.4s ease,
     padding 0.5s ease,
     margin-top 0.5s ease;   
}

[class*="-bot"]{
    margin-top: 75vh;
}

[class*="-fs3"]{
    font-size: 3em;
}

[class*="-fbd"]{
    font-weight: bold;
}

/* === ESTADO DE LA CORTINA (CUANDO SE HACE CLICK) === */
.card-option-50.fade-out {
   max-height: 0 !important;
   opacity: 0 !important;
   padding-top: 0 !important;
   padding-bottom: 0 !important;
   margin-top: 0 !important;
   box-shadow: none !important;
   pointer-events: none; /* Evita que el usuario haga doble click durante la animación */
}

.card-option-50:hover {
   box-shadow: 0 0px 18px 5px blue; /* Sombra azul suave y un poco más amplia */
}

/* Al presionar el botón: Efecto de hundimiento */
.card-option-50:active {
   transform: scale(0.97); /* Reduce ligeramente el tamaño para simular el click */
   box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2); /* Reduce la sombra al hundirse */
}

h1 {
   color: #33334d;
}

hr {
    color: blue;
}

p {
   color: #666;
   line-height: 1.6;
   margin-top: 10px;
}

a {
    text-decoration: none;
    color: black;
}
   
[class*="-xl"]{
    width: 96%;
}
[class*="-lg"]{
    width: 300px;
}

[class*="-background0"]{
    background-color: transparent;
}

[class*="-background1"]{
    background-color: #F0F8FF;
}
[class*="-background2"]{
    background-color: #f4f0bb;
}
[class*="-background3"]{
    background-color:  #fdcfcf;
}
[class*="-background4"]{
    background-color:  #ffffff;
}

[class*="-boxshadow"]{
    box-shadow: 0px 0px 15px 0px #aaaaaa;
}

[class*="titulo2"]{
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
}

[class*="-ct"]{
    text-align: center;
}

[class*="-lt"]{
    text-align: left;
}

[class*="-rt"]{
    text-align: right;
}

[class*="titulo3"]{
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
}


.titulo1 {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}

.boton-aceptar{
    font-size: 1rem;
    background: white;
    color: blue;
    border-color: transparent;
    box-shadow: 0px 0px 5px 0px blue;
}
.boton-aceptar:hover{
    background: royalblue;
    color: white;
    box-shadow: 0px 0px 5px 0px blue;
}
.boton-aceptar:focus{
    box-shadow: 0px 0px 5px 0px blue;
    outline: 1px;
    background: blue;
    color: white;
}
.boton-aceptar:active{
    box-shadow: none;
}

.boton-cancelar{
    font-size: 1rem;
    background: white;
    color: red;
    border-color: transparent;
    box-shadow: 0px 0px 5px 0px red;
}
.boton-cancelar:hover{
    background: red;
    color: white;
    box-shadow: 0px 0px 5px 0px red;
}
.boton-cancelar:focus{
    background: red;
    color: white;
    box-shadow: 0px 0px 5px 0px red;
    outline: 1px;
}
.boton-cancelar:active{
    box-shadow: none;
}

.boton-otro{
    font-size: 1rem;
    background: white;
    color: brown;
    border-color: transparent;
    box-shadow: 0px 0px 5px 0px brown;
}

.boton-otro:hover{
    background: brown;
    color: white;
    box-shadow: 0px 0px 5px 0px brown;
}

.boton-otro:focus{
    background: brown;
    color: white;
    box-shadow: 0px 0px 5px 0px brown;
    outline: 1px;
}

.boton-otro:active{
    box-shadow: none;
}

.boton-x{
    background: transparent;
    color: red;
    outline: transparent;
    font-weight: bold;
    border: transparent;
}

.boton-x:hover{
    box-shadow: 0 0 6px 0 red;
}

.boton-x:active{
    background: red;
    color:white;
}

.div-acciones{
    display:flex;
    flex-direction: row-reverse;
    width: 100%;    
    padding: 1%;
    padding-top: 2%;
    /*text-align: right;*/
    gap: 10px;
}

.content50{
    overflow: hidden;
    width: 50%;
    margin-left: 25%;
    margin-bottom: 2%;
    margin-top: 2%;
    font-size: 1rem;
}

.content75{
    overflow: hidden;
    width: 75%;
    margin-left: 12.5%;
    margin-bottom: 2%;
    margin-top: 2%;
    font-size: 1rem;
}


.content100{
    overflow: hidden;
    width: 96%;
    margin-left: 2%;
    margin-bottom: 2%;
    margin-top: 2%;
    font-size: 1rem;
}

[class*="-floatl"] {
    float: left;
}

[class*="checkbox"]{
    transform: scale(1.4);
}

/*-------------- TABLA -----------------*/
.tabla{
    display: table;
    width: 100%;
    display: table;
    border: solid blue 2px;
    padding: 0%;
}
.tabla-transparente{
    display: table;
    width: 100%;
    display: table;
    border: transparent;
    border-collapse: collapse;
    padding: 0px;
}
.titulo{
    display: table-caption;
    text-align: center;
    vertical-align: middle;
    font-weight: bold;
    font-size: 110%;
    padding: 0.5%;
    border-left: solid blue 2px;
    border-right: solid blue 2px;
    border-bottom: solid blue 1px;
    border-top: solid blue 1px;
/*    border-top-left-radius: 10px;
    border-top-right-radius: 10px;*/
}
.titulo-transparente{
    display: table-caption;
    text-align: center;
    font-weight: bold;
    font-size: 110%;
    padding: 0%;
    padding-top: 0.5%;
    padding-bottom: 0.5%;
    border: transparent;
    border-left: 0px;
/*    border-top-left-radius: 10px;
    border-top-right-radius: 10px;*/
}

.encab{
    display: table-cell;
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    padding: 0.5%;
    border: solid blue 1px;
    border-bottom: solid blue 2px;
    border-left: transparent;
}

[class*="encab"]:first-child{
    border-left: solid blue 1px; 
}

.encabnb{
    display: table-cell;
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    padding: 0.5%;
    border: transparent;
    border-bottom: solid blue 2px;
    border-left: transparent;
}

.fila{
    display: table-row;
    height: auto;
    margin-top: 0px;
    margin-bottom: 0px;
}

.fila:nth-child(odd){
    background: #F0F0FF;
}
.fila:hover{
    background: #c7fdc6;    /* #80FF00; /*#82FA58;*/
}

.fila-transparente{
    display: table-row;
    background: transparent;
    border: transparent;
    border-collapse: collapse;
    padding:0.5%;
}

.fila-transparente2{
    display: table-row;
    background: #F0F0FF;
    border: transparent;
    border-collapse: collapse;
    padding:0.5%;
}

.fila-nohover{
    display: table-row;
    height: auto;
    margin-top: 0px;
    margin-bottom: 0px;    
}
.fila-nohover:nth-child(odd){
    background: #F0F0FF;
}

[class*="celda"]{
    display: table-cell;
    margin: auto;
    padding: 0.2%;
    padding-left: 0.50%;
    padding-right: 0.50%;
    border: solid blue 1px;
    background: transparent;
    /*font-size: 1.2em;*/
    vertical-align: middle;
    /*height: 30px;*/
    word-wrap: break-word;
    /*overflow: hidden;*/
}

[class*="-nb-"]{
    border:transparent;
    border-collapse: collapse;
    padding:0%;
}

[class*="+p"]{
    padding: 0.5%;
}

[class*="+p2"]{
    padding: 1%;
}

[class*="+p4"]{
    padding: 2%;
}

[class*="+ptb4"]{
    padding-top: 2%;
    padding-bottom: 2%;
}

[class*="+pt"]{
    padding-top: 1%;
}


[class*="-nbt"]{
    border-top: transparent;
    border-left: transparent;
    border-collapse: collapse;
}

[class*="celda"]:first-child{
    border-left: solid blue 1px;
}

[class*="celda-nb-"]:first-child{
    border: transparent;
}

[class*="-c"]{
    text-align: center;
}
[class*="-ct"]{
    text-align: center;
}

[class*="-lt"]{
    text-align: left;
}

[class*="-r"]{
    text-align: right;
}

[class*="-rt"]{
    text-align: right;
}
[class*="-nopd"]{
    padding-bottom: 0%;
    padding-left: 0%;
    padding-right: 0%;
    padding-top: 0%;
}

[class*="-2"]{width: 2%;}
[class*="-3"]{width: 3%;}
[class*="-5"]{width: 5%;}
[class*="-7"]{width: 7%;}
[class*="-8"]{width: 8%;}
[class*="-9"]{width: 9%;}
[class*="-10"]{width: 10%;}
[class*="-11"]{width: 11%;}
[class*="-12"]{width: 12%;}
[class*="-15"]{width: 15%;}
[class*="-16"]{width: 16%;}
[class*="-20"]{width: 20%;}
[class*="-22"]{width: 22%;}
[class*="-23"]{width: 23%;}
[class*="-24"]{width: 24%;}
[class*="-25"]{width: 25%;}
[class*="-30"]{width: 30%;}
[class*="-31"]{width: 31%;}
[class*="-32"]{width: 32%;}
[class*="-33"]{width: 33%;}
[class*="-34"]{width: 34%;}
[class*="-35"]{width: 35%;}
[class*="-40"]{width: 40%;}
[class*="-45"]{width: 45%;}
[class*="-50"]{width: 50%;}
[class*="-55"]{width: 55%;}
[class*="-60"]{width: 60%;}
[class*="-64"]{width: 64%;}
[class*="-65"]{width: 65%;}
[class*="-70"]{width: 70%;}
[class*="-75"]{width: 75%;}
[class*="-80"]{width: 80%;}
[class*="-85"]{width: 85%;}
[class*="-90"]{width: 90%;}
[class*="-95"]{width: 95%;}
[class*="-100"]{width: 100%;}

/*-------------- fin tabla ----------------*/

/* ==========================================================================
  COMPORTAMIENTO SEGÚN EL DISPOSITIVO
  ========================================================================== */

/* REGLA PARA PC: Mantiene el efecto Hover (pasar el mouse) */
@media (min-width: 769px) {
   .sidebar:hover {
       transform: translateX(0);
   }
}

/* REGLA PARA CELULARES Y TABLETS (Pantallas chicas) */
@media (max-width: 980px) {

   .menu-toggle {
       display: block; /* Muestra el botón hamburguesa */
       position: fixed; /* Lo fija en la pantalla para que no se mueva al hacer scroll */
       top: 15px;
       left: 15px;
       z-index: 10000; /* Siempre por encima de la barra lateral */
       background-color: #0056b3; /* Un color azul para que resalte, podés cambiarlo */
       color: white;
       border: none;
       padding: 10px 15px;
       font-size: 20px;
       border-radius: 5px;
       cursor: pointer;
       box-shadow: 0 2px 10px rgba(0,0,0,0.2);
   }

   .sidebar {
       /* SOLUCIÓN: Ocultamos el 100% de la barra fuera de la pantalla (ya no quedan 10px visibles) */
       transform: translateX(-100%); 
       width: 280px; 
   }

   /* SOLUCIÓN: Eliminamos la flecha flotante '➔' en celulares para que quede limpio */
   .sidebar::after {
       display: none;
   }

   /* Clase intermedia que activa JavaScript al tocar el botón */
   .sidebar.active {
       transform: translateX(0);
   }


   /* NUEVA CORRECCIÓN: Si la sidebar tiene la clase 'active', oculta el botón */
   .sidebar.active ~ .menu-toggle {
       display: none;
   }

   .card-25 {
       flex: 1 1 100%;
       max-width: 100%;
   }

   .card-50 {
       flex: 1 1 100%;
       max-width: 100%;
   }
   
   .card-option-25 {
       margin-top: 0px;
       flex: 1 1 100%;
       max-width: 100%;
       padding: 5px;
   }
   
   .content-login {
       width: 96%;
       margin-left: 2%;
       padding: 4%;
           
   }

   
.cards-container {
   display: flex;
   flex-direction: column;
   flex-wrap: wrap;  /*Permite que bajen si no hay espacio */
   gap: 20px;       /* Separación uniforme entre las tarjetas */
   margin-top: 0;
   margin-left: 0%;
   min-width: 100vw;
   padding-left: 1%;
   margin-top: 75vh;
/*   background-image: url("../imagenes/ET27-IMAGEN.png");
   background-size: cover;*/
}

   
.card-option-50 {
   padding: 15px; /* Un poco más de espacio para dedos en pantallas táctiles */
   border-radius: 8px;
   margin-top: 10px;
   text-align: center;
   cursor: pointer;
   
   /* Flexbox adaptable para móvil: Ocupa todo el ancho disponible */
   flex: 1 1 100%; 
   width: 100%;
   max-width: 100%;
    
   /* Fusión de sombras corregida: Ambas sombras ahora coexisten */
   box-shadow: 0 4px 6px rgba(0,0,0,0.05), inset 0 0px 18px 5px white;
   
   /* Ajustes para el efecto cortina */
   max-height: 600px; /* Aumentado por si el texto se estira hacia abajo en móvil */
   opacity: 1;
   display: block;
   
   /* Transición fluida */
   transition: 
     transform 0.1s ease, 
     box-shadow 0.2s ease,
     max-height 0.4s cubic-bezier(0.1, 1, 0.1, 1), /* Un poco más lento para notar la cortina */
     opacity 0.4s ease,
     padding 0.4s ease,
     margin-top 0.4s ease;   
}

/* Clases utilitarias adaptadas a móvil */
[class*="-bot"]{
    margin-top: 75vh; /* Bajado de 75vh a 20vh para que no desaparezca de la pantalla del celular */
}

[class*="-fs3"]{
    font-size: 4em; /* Bajado de 3em a 1.8em para evitar que el texto se corte en móviles */
}

[class*="-fbd"]{
    font-weight: bold;
}

/* === ESTADO DE LA CORTINA === */
.card-option-50.fade-out {
   max-height: 0 !important;
   opacity: 0 !important;
   padding-top: 0 !important;
   padding-bottom: 0 !important;
   margin-top: 0 !important;
   box-shadow: none !important;
   pointer-events: none;
}

/* En celulares NO existe el hover clásico. Esto evita fallos visuales al tocar */
@media (hover: hover) {
   .card-option-50:hover {
      box-shadow: 0 0px 18px 5px blue, inset 0 0px 18px 5px white; 
   }
}

/* Efecto de hundimiento (Ideal para la pulsación táctil en celulares) */
.card-option-50:active {
   transform: scale(0.95); /* Un poco más pronunciado para que se note en el dedo */
   box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2); 
}


   [class*="input"]{
       font-size:1.5em;
   }
   
   [class*="boton"]{
       font-size: 3em;
   }
   
   h1 {
       /*display: flex;*/
       flex:1 1 100%;
       width:70%;
       font-size: 1.3em;
       margin-left: 15%;
   }
   
   .loader {
           background-size: 60%;
   }
   
   
}               