

body {
    background-color: #f0f5fc;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

#welcomeText {
  font-size: 3rem;
  font-weight: 800;
  text-align: center;
  padding: 25px 50px;
  background: linear-gradient(135deg, #1f5dda, #ff711f,#46ea6f);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Pantalla de carga */
#loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(240, 245, 252, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/* Spinner sencillo */
.spinner {
    border: 8px solid rgba(0, 0, 0, 0.2);
    border-top: 8px solid rgba(109, 217, 151,1);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 1s linear infinite;
}

/* Animación del spinner */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Transición al desaparecer */
#loading-screen.fade-out {
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

#darkener {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2;
    display: none;
    pointer-events: none; /* Esto evita que intercepte clicks */
}
#darkener.active {
    pointer-events: auto; /* Permitir clicks solo cuando está activo */
}
.top-left {
    top: -12vh;
    left: 0;
}

.top-right {
    top: -12vh;
    right: 0;
    transform: rotateY(180deg);
}

.bottom-left {
    bottom: -12vh;
    left: 0;
    transform: rotateX(180deg);
}

.bottom-right {
    bottom: -12vh;
    right: 0;
    transform: rotate(180deg);
}
.corner {
    position: absolute;
    height: 28vh;
    aspect-ratio: 1/1;
    
    background-image: url('../../src/circulos.svg');
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
}
    #logout{
      position: absolute;
      top: 3%;
      right: 17%;
      background-color: #FF4E24;
      border: 0.15vh, solid #CC3434;
      border-radius: 15vh;
      height: 4vh;
      width: 12vh;
      font-weight: bold;
      font-size: 1.4vh;
      z-index: 2;
    }

    .logo{
      height: 100%;
    }

    .logosWrapper{
      top: 0px;
      left: 0px;
      right: 0px;
      height: 15vh;
      width: 100%;
      display: flex;
      justify-content: center;
      z-index: 1;
      margin-top: 1vh;
    }

    .welcome{
      top: 0px;
      left: 0px;
      right: 0px;
      width: 100%;
      display: flex;
      justify-content: center;
      z-index: 1;
      font-family: "Aleo" ;
      margin-bottom: 2vh;
      margin-top: 2vh;
    }

    .optionsWrapper{
      top: 0px;
      left: 0px;
      right: 0px;
      width: 100%;
      display: flex;
      flex-direction: row;
      z-index: 1;
      gap : 2vh;
      justify-content: center;
    }

    .option{
      top: 0px;
      left: 0px;
      right: 0px;
      width: 20%;
      display: flex;
      flex-direction: column;
      z-index: 1;
      justify-content: center;
    }
    .option{
        display: flex;
        flex-direction: column; 
        align-items: center;
    }

    .optionImg{
      height: 7vw;
    }

    .option h2 {
      font-family: "Aleo";
      font-size: 2.5vh;
      text-align: center;
      margin-top: 2vh;
    }
    .userIcon {
        height: 10vh;
    }

.feedbackWrapper {
    margin-top: 4vh;
    display: flex; 
    flex-direction: row;
    align-items: center;
    justify-content: flex-start; /* Cambiar de center a flex-start */
    gap: 1vh;
    width: 100%; /* Asegurar que ocupe todo el ancho disponible */
    padding-left: 10%;
}

#patientImgContainer, #categoriesImgContainer {
    flex-shrink: 0; /* Evita que la imagen se encoja */
    width: 12vh; /* Ancho fijo para la imagen */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Contenedor de texto que se expande */
.feedbackWrapper > div:last-child {
    flex: 1; /* El texto ocupa el espacio restante */
    min-width: 0; /* Permite que el texto se ajuste correctamente */
    text-align: left; /* Alinear texto a la izquierda */
}

/* Estilos para los h3 del feedback */
.feedbackWrapper h3 {
    margin: 0; /* Quitar márgenes por defecto */
    padding: 2px 0; /* Pequeño padding vertical */
    font-size: 1.8vh; /* Tamaño consistente */
    white-space: nowrap; /* Evitar salto de línea */
    overflow: hidden; /* Ocultar texto que sobresale */
    text-overflow: ellipsis; /* Mostrar ... si el texto es muy largo */
}

/* Asegurar que el contenedor de la opción tenga suficiente espacio */
.option {
    min-height: 25vh; /* Altura mínima para acomodar contenido */
    max-width: 25%; /* Limitar ancho máximo */
}

/* Ajuste para que los inputs no afecten el layout */
.search-input {
    box-sizing: border-box; /* Incluir padding y border en el ancho */
}

/* Contenedor de sugerencias con ancho controlado */
.suggestions-visible {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
    width: 100%; /* Usar 100% del contenedor padre */
    min-width: 250px; /* Ancho mínimo para legibilidad */
}

    #start.buttonEnabled{
        cursor: pointer;
        margin-top: 10vh;
        width: 30vw;
        height: 8vh;
        border-radius: 1vh;
        background-color: rgba( 109, 217, 151,1);
        border: none;
        color: #000;
        font-size: 2.5vw;
        font-family: "Aleo";
        font-weight: bold;
        box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
        outline: none;
    }

        #start.buttonDisabled{
        cursor: not-allowed;
        margin-top: 10vh;
        width: 30vw;
        height: 8vh;
        border-radius: 1vh;
        background-color: rgba( 156, 156, 156,0.7);
        border: none;
        color: #000;
        font-size: 2.5vw;
        font-family: "Aleo";
        font-weight: bold;

    }
    #start.buttonEnabled:hover, #acceptPatient.buttonEnabled:hover, #acceptCategories.buttonEnabled:hover{
       background-color: rgba( 115, 230, 151,1);
    }

    #start.buttonEnabled:active, #acceptPatient.buttonEnabled:active, #acceptCategories.buttonEnabled:active{
        box-shadow: none;
        transform: translate(2px, 2px);
        outline: none;
    }

.buttonWrapper {
    display: flex;
    justify-content: center;  /* Centra horizontalmente */
    align-items: center;      /* Centra verticalmente */
    width: 100%;
    margin-top:2%;            /* Asegura que el contenedor ocupe todo el ancho */
}

    .clikable{
        cursor: pointer;
    }

#picker{
    display: block;
}

#patientPicker {

    display: none;
}

#categoriesPicker {
    display: none;
    position: absolute;
    z-index: 4;
    width: 97.5%;
    height: 100%;
    pointer-events: auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1vh;
}
.picker.categories{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -45%);
    z-index: 3;
    width: 50%;
    height: 70%;
    pointer-events: auto;
    background-color: #f0f5fc;
    border-radius: 2vh;
  
   
}

#categoriesGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(250px, auto);
    gap: 1vh;
    width: 100%;
    height: 77%;
    overflow-y: auto;
    overflow-x: hidden;
    padding-left: 4%;
    outline: none;
}

    .category {
      display: flex;
      text-align: center;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      align-items: center;
      text-decoration: none;
      color: black;
      border-radius: 30px;
      border: 2px solid rgba(103,70,216,0.7);
    }

    .category:hover {
      cursor: pointer;
      background-color: rgba(180,180,230,1);
    }

    .category img {
      width: 15vw;
      height: auto;
      border-radius: 20px;
    }

.category.selected {
    background-color:  rgba(103,70,216,0.7);
}
.category.selected:hover {
    background-color:   rgba(103,70,216,0.52);
}




.picker.patient {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #f0f5fc;
    z-index: 3; /* Mayor z-index que el darkener */
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 2vh;
    box-shadow: 4px 4px 8px rgba(0,0,0,0.2);
    gap: 0.1vh;
    width: fit-content;
    height: fit-content;
    padding: 3vh;
    padding-top: 3%;
    padding-bottom: 40px;
    pointer-events: auto; /* Permitir clicks dentro del contenedor */
}


#search-input {
    position: relative;
    padding: 1vh;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 60%;
}

.suggestions-container {
    position: absolute;
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #ddd;
    border-top: none;
    background: white;
    z-index: 1000;
}

.suggestion-item {
    padding: 8px 10px;
    cursor: pointer;
}

.suggestion-item:hover {
    background-color: #f0f0f0;
}

.suggestions-hidden {
    display: none;
}

.searchInputWrapper{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1vh;
    width: 100%;
    margin-left: 3vw;
}

.searchInputsWrapper{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1vh;
    width: 30vw;
}
#orientationDiv 
{
    display: flex;
    flex-direction: column;
    gap: 1vh;
    width: 30vw;
}

.search-input {
    position: relative;
    padding: 1vh;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 90%;
}

.closePicker{
    position: absolute;
    width: 20px;
    height: 20px;
    background-image: url('../../src/img/mainmenu/close.png');
    background-size: contain; 
    z-index: 5;
    top: 8px;
    right: 10px;
}

#acceptCategories{
    width: 30%;               /* Este porcentaje ahora es relativo al buttonWrapper */
    height: auto;             /* Mejor usar auto o un valor fijo */
    min-height: 40px;         /* Altura mínima para mantener usabilidad */
    border-radius: 1vh;
    border: none;
    color: #000;
    padding: 10px 20px;       /* Más padding horizontal para mejor apariencia */
    font-size: 1.5vw;
    font-family: "Aleo";
    z-index: 5;
    outline: none;
    align-self: center; /* Centra el botón dentro del flex container */
    margin-left: auto;
    margin-right: auto;
    display: block; /* Asegura que ocupe solo su ancho y pueda centrarse */

}

#acceptCategories.buttonEnabled {
    cursor: pointer;
    background-color: rgba(109, 217, 151, 1);
    box-shadow: 2px 2px 4px rgba(0,0,0,0.2)

}

#acceptCategories.buttonDisabled {
    cursor: not-allowed;
    background-color: rgba(156, 156, 156, 0.7);
}

#acceptPatient {
    margin-top: 5%;
    width: 30%;               /* Este porcentaje ahora es relativo al buttonWrapper */
    height: auto;             /* Mejor usar auto o un valor fijo */
    min-height: 40px;         /* Altura mínima para mantener usabilidad */
    border-radius: 1vh;
    border: none;
    color: #000;
    padding: 10px 20px;       /* Más padding horizontal para mejor apariencia */
    font-size: 1.5vw;
    font-family: "Aleo";
    z-index: 5;
    outline: none;
    align-self: center; /* Centra el botón dentro del flex container */
    margin-left: auto;
    margin-right: auto;
    display: block; /* Asegura que ocupe solo su ancho y pueda centrarse */
}

#acceptPatient.buttonEnabled {
    cursor: pointer;
    background-color: rgba(109, 217, 151, 1);
    box-shadow: 2px 2px 4px rgba(0,0,0,0.2);}

#acceptPatient.buttonDisabled {
    cursor: not-allowed;
    background-color: rgba(156, 156, 156, 0.7);
}

.clickable{
    cursor: pointer;
}


.suggestions-hidden {
    display: none;
}

.suggestions-visible {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
    width: 90%; /* Match your input width */
}

.suggestion-item {
    padding: 12px 16px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
}

.suggestion-item:last-child {
    border-bottom: none;
}

.suggestion-item:hover,
.suggestion-highlighted {
    background-color: #f5f5f5;
}

.suggestion-name {
    font-weight: 500;
    color: #333;
    margin-bottom: 2px;
}

.suggestion-key {
    font-size: 0.9em;
    color: #666;
}

.suggestion-name strong,
.suggestion-key strong {
    background-color: #fff3cd;
    padding: 1px 2px;
    border-radius: 2px;
}

/* Make sure the input containers have relative positioning for suggestions */
.searchInputsWrapper.suggestionsDiv {
    position: relative;
}

@keyframes fadein {
    0% { opacity: 0; }
    100% { opacity: 1; }
  
}

@keyframes fadeout {
    0% { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes beatEffect {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

@keyframes beatEffectBtn {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

@keyframes scaleout {
    0% { transform: scale(1); }
    100% { transform: scale(0); }
}

@keyframes scalein {
    0% { transform: scale(0); }
    100% { transform: scale(1); }
}

@keyframes wiggle {
    0% { transform: rotate(0deg); }
    12.5% { transform: rotate(5deg); }
    25% { transform: rotate(0deg); }
    37.5% { transform: rotate(-5deg); }
    50% { transform: rotate(0deg); }
    62.5% { transform: rotate(5deg); } 
    75% { transform: rotate(0deg); }
    87.5% { transform: rotate(-5deg); }
    100% { transform: rotate(0deg); }
}
.scalingin{
    animation: scalein 0.3s

}

.scalingout{
    animation: scaleout 0.3s;
}

.wiggle{
    animation: wiggle 0.6s;
}

.beating{
    animation: beatEffect 0.8s infinite;
}
button.beating{
    animation: beatEffectBtn 0.8s infinite;
}

.fadingIn{
    animation: fadein 0.3s;
}
.fadingOut{
    animation: fadeout 0.3s;
}