body {
    background-color: #f4f7fe;
    font-family: Arial, sans-serif;
}

.registro-container {
    width: 650px;
    margin: 50px auto;
    background-color: #ffffff;
    border-radius: 30px;
    text-align: center;
    box-shadow: 0px 20px 70px rgba(45, 54, 173, 0.11);
    padding: 20px 60px 50px 60px;
}

h2 {
    margin-bottom: 20px;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="file"] {
    width: calc(100% - 20px);
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    display: block;
}

button {
    background-color: #4CAF50;
    font-weight: bold;
    color: white;
    padding: 10px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    cursor: pointer;
    margin-bottom: 20px;
}

button:hover {
    background-image: linear-gradient(288deg, rgb(26, 115, 232) 0%, rgb(26, 115, 232) 100%);
    box-shadow: 0px 15px 40px 0px rgba(26, 115, 232, 0.57);
}
.btn {
    background-image: linear-gradient(288deg, rgb(26, 115, 232) 0%, rgb(26, 115, 232) 100%);
    box-shadow: rgba(26, 115, 232, 0.15) 0rem 0.1875rem 0.1875rem 0rem, rgba(26, 115, 232, 0.2) 0rem 0.1875rem 0.0625rem -0.125rem, rgba(26, 115, 232, 0.15) 0rem 0.0625rem 0.3125rem 0rem;
}
.btn:hover {
    background-image: linear-gradient(288deg, rgb(26, 115, 232) 0%, rgb(26, 115, 232) 100%);
    box-shadow: rgba(26, 115, 232, 0.4) 0rem 0.875rem 1.625rem -0.75rem, rgba(26, 115, 232, 0.15) 0rem 0.25rem 1.4375rem 0rem, rgba(26, 115, 232, 0.2) 0rem 0.5rem 0.625rem -0.3125rem;
}
.btn1 {
    background-image: linear-gradient(288deg, #ffa369 0%, #ff436b 100%);
    box-shadow: 0px 15px 40px 0px rgba(255,115,106,.66);
    width: 100%;
    padding: 19px 30px;
    border-radius: 8px;
    margin-top: 10px;
    font-size: 16px;
}
.error {
    color: red;
    margin-bottom: 10px;
}

.success {
    color: green;
    margin-bottom: 10px;
}

.error-message {
    color: red;
    font-size: 12px;
}

/* Estilo para el modal */
.modal-registro {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.modal-content {
    background-color: #fff;
    padding: 60px!important;
    border-radius: 15px!important;
    text-align: center!important;
    width: 80%;
    max-width: 500px;
    box-shadow: 0 0 65px rgba(0, 0, 0, 0.23);
    animation: fadeIn 0.3s ease-in-out;
}
.modal-01 {
  max-width: 800px;
  margin: 1% auto !important;
  text-align: left !important;
}
/* Animación de entrada */
@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.8); }
    to { opacity: 1; transform: scale(1); }
}
/* ✅ Estilo del icono de éxito */
.icono-check {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.icono-check svg {
    width: 80px;
    height: 80px;
    stroke: #28a745; /* Verde éxito */
}
/* Estilo del botón de cerrar */
.btn-cerrar {
    background-color: #007BFF;
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s ease;
    margin-top: 15px;
    width: 50%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
/* Hover y efecto al presionar */
.btn-cerrar:hover {
    background-image: linear-gradient(288deg, rgb(26, 115, 232) 0%, rgb(26, 115, 232) 100%);
    box-shadow: 0px 15px 40px 0px rgba(26, 115, 232, 0.44);
    transition: transform 0.2s ease;
}
.modal-content h3 {
    margin-bottom: 15px;
    color: #000;
}

.modal-content button {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
}

.modal-content button:hover {
    background-color: #0056b3;
}
/* Contenedor general */
.photo-upload {
    margin-bottom: 20px;
}

label {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
}

/* Contenedor del archivo */
.custom-file-upload {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.file-input-container {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

/* Campo de texto para mostrar el archivo seleccionado */
.file-path {
    flex-grow: 1;
    padding: 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    color: #333;
    outline: none;
    cursor: pointer; /* Hace que el campo parezca interactivo */
}

.select-container {
    display: flex;  /* Poner los selects en línea */
    flex-wrap: wrap; /* Si no caben, se acomodan en la siguiente línea */
    gap: 1px; /* Espacio entre los selects */
    justify-content: space-between; /* Distribuir los elementos uniformemente */
    margin-bottom: 10px;
    margin-top: 10px;
}

.select-wrapper {
    position: relative;
    width: calc(33.33% - 4px); /* Ajustar el ancho de cada select (3 por fila) */
    min-width: 150px; /* Evitar que sean muy pequeños */
}

.select-wrapper select {
    width: 100%;
    padding: 13px 35px 13px 10px;
    font-size: 14px;
    border: 1px solid #ccc0;
    border-radius: 8px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: all 0.3s ease;
    outline: none;
    cursor: pointer;
    margin-bottom: 15px;
}

select:focus {
    border-color: #007BFF;
    box-shadow: 0 0 8px rgba(0, 123, 255, 0.5);
}

select option {
    font-size: 14px;
    padding: 10px; /* Espaciado interno */
    background-color: #fff; /* Fondo de opciones */
    color: #333; /* Color del texto */
}

select option:hover {
    background-color: #f1f1f1; /* Fondo al pasar el mouse */
    color: #007BFF; /* Color del texto al pasar el mouse */
}

.select-wrapper:hover select {
    background-color: #f9f9f9;
}

.select-icon {
    position: absolute;
    top: 35%;
    right: 10px;
    transform: translateY(-50%);
    pointer-events: none; /* Previene interacción */
    font-size: 14px;
    color: #666;
}

select:focus + .select-icon {
    color: #007BFF;
}

    /* Botón estilizado */
.btn-examinar {
    display: inline-block;
    padding: 10px 20px;
    font-size: 14px;
    color: #fff;
    background-image: linear-gradient(195deg, rgb(73, 163, 241), rgb(26, 115, 232));
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    text-align: center;
    font-weight: bold;
    white-space: nowrap; /* Evita que el texto se divida */
    margin-bottom: 19px;
    box-shadow: rgba(26, 115, 232, 0.15) 0rem 0.1875rem 0.1875rem 0rem, rgba(26, 115, 232, 0.2) 0rem 0.1875rem 0.0625rem -0.125rem, rgba(26, 115, 232, 0.15) 0rem 0.0625rem 0.3125rem 0rem;
}

.btn-examinar:hover {
    background-color: rgb(255, 255, 255);
    box-shadow: rgba(26, 115, 232, 0.4) 0rem 0.875rem 1.625rem -0.75rem, rgba(26, 115, 232, 0.15) 0rem 0.25rem 1.4375rem 0rem, rgba(26, 115, 232, 0.2) 0rem 0.5rem 0.625rem -0.3125rem;
}

.btn-examinar:active {
    background-color: #004494;
    box-shadow: none;
}
.close {
  font-size: 30px;
}

/* Fondo difuminado */
.background {
   /*background-image: url('../img/fondo.avif');  AquÃ­ va tu imagen difuminada */
    background-size: cover;
    background-position: center;
    /*filter: blur(8px);  Efecto borroso */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 450px;
    z-index: -1;
    background-image: linear-gradient(288deg, #2f59cc 0%, #4b71ff 100%);
}

.background::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../../../assets/img/shape_header.svg') no-repeat;
    opacity: 1;
    z-index: 1;
}

.wave {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: auto;
}

/* Botón circular (móvil) */
.btn-circular {
    width: 50px !important; /* Fijar el ancho */
    height: 50px !important; /* Fijar la altura */
    border-radius: 50% !important; /* Convertirlo en un círculo perfecto */
    background: linear-gradient(288deg, #ffa369 0%, #ff436b 100%);
    box-shadow: 0px 15px 40px 0px rgba(255, 115, 106, 0.66);
    color: white;
    border: none;
    cursor: pointer;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px !important; /* Evitar padding que deforme el botón */
    overflow: hidden; /* Evitar que el contenido modifique la forma */
    position: relative;
}

/* Asegurar que el icono dentro del botón no altere su forma */
.btn-circular i {
    font-size: 22px; /* Ajustar tamaño del ícono */
    max-width: 80%; /* Evitar que el ícono sea más grande que el botón */
    max-height: 80%; /* Evitar que el ícono sea más grande que el botón */
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-circular:hover {
    transform: scale(1.05);
    background: linear-gradient(288deg, rgb(26, 115, 232) 0%, rgb(26, 115, 232) 100%);
    box-shadow: 0px 15px 40px 0px rgba(26, 115, 232, 0.57);
}
/* Contenedor general para botón circular y el input */
.file-upload-container {
    display: flex;
    align-items: center;
    gap: 10px; /* Espaciado entre el botón y el input */
    width: 100%;
    justify-content: flex-start;
}
/* Input para el nombre del archivo */
.file-path {
    flex-grow: 1; /* Hace que el input ocupe el resto del espacio */
    padding: 10px;
    border: 1px solid #cccccc4d;
    border-radius: 5px;
    font-size: 14px;
    box-sizing: border-box;
}
.footer {
    text-align: center;
    font-size: 14px;
    color:#16243D;
    padding: 10px;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
}

.footer a {
    color: #007bff;
    text-decoration: none;
}

.footer a:hover {
    text-decoration: underline;
}

/* Ajustes para pantallas pequeñas */
@media screen and (max-width: 1200px) {
    .desktop-title {
        display: none;
    }

    .mobile-banner {
        display: block;
    }
    
    .content {
     margin-top: 100px;
     z-index: 2;
     position: relative;
    }
    
    .btn-circular {
     display: flex;
    }
    .desktop-only label {
          display: none!important; /* Ocultar botón "Examinar" en móvil */
    }
   .file-upload-container {
        flex-direction: row; /* Asegura que estén en línea */
        justify-content: flex-start;
    }

    .file-path {
        flex-grow: 1; /* Input ocupa el espacio restante */
    }
    .background {
    height: 350px;
    }
}
@media (min-width: 1201px) {
    .mobile-only {
        display: none; /* Ocultar botón circular en escritorio */
    }
}
@media screen and (max-width: 768px) {
   .registro-container {
     width: 100%;
     padding: 40px 20px 50px 20px;
     box-sizing: border-box;
     z-index: 2;
     position: relative;
     margin-top: 60px;
    }
    .modal-content {
     padding: 30px!important;
     width: 75%!important;
    }
    input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="file"]{
     box-sizing: border-box;
     width: 100%;
    }

    .select-wrapper {
     width: calc(50% - 4px); /* Ajustar el ancho de cada select (3 por fila) */
    }
    
    .tercer-select{
     width: calc(100% - 4px);
    }

    .select-container {
     margin-bottom: 15px;
     margin-top: 15px;
    }
}
@media screen and (max-width: 480px){
    .mobile-banner h1 {
     font-size: 28px;
    }
    .registro-container {
     width: 96%;
    }
    input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="file"] {
     margin-bottom: 10px;
    }
    .photo-upload {
     margin-bottom: 5px;
    }
    button {
     font-size: 12px;
    }
    .btn1 {
     padding: 14px 30px;
     margin-top: 5px;
     font-size: 15px;
    }
    .registro-container {
     padding: 20px 20px 30px 20px;
    }
    .background {
     height: 300px;
    }
    h2 {
     font-size: 20px;
    }
    .footer {
     margin-left: auto;
     margin-right: auto;
    }
    .modal-content {
    margin: 50% auto!important;
    }
    .modal-01 {
     margin: 1% auto !important;
    }
}  
@media screen and (max-width: 371px){
    .select-wrapper {
       width: calc(100% - 4px);
    }
}