@import url('https://fonts.googleapis.com/css2?family=Anton&family=Antonio:wght@300;400;500;600;700&display=swap');


:root {
    --color-primary: #053858;
    --color-text: #11d9ff;
    --color-white: #fff;
    --color-light: #90dcd2;
    --color-dark: #70bcb1 ;
    --color-black: #00f7ff;
    --color-body-bg: #d9d9e4 ;
    --transition: all 300ms ease;

    --fuente-principal: Roboto, sans-serif;
    --fuente-secundaria: Roboto, sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    outline: 0;
    border: 0;
    text-decoration: none;
}

body {
    font-family: var(--fuente-principal);
    background: linear-gradient(120deg, #01404b, rgb(0, 0, 0));
    color: var(--color-dark);
    font-size: 0.9rem;
    display: grid;
    place-items: center;
    background: linear-gradient(120deg, #01404b, rgb(0, 0, 0));
    background-image: url('fondito2.png'); /* Aquí va la ruta a tu imagen */
    background-size: cover; /* Ajusta la imagen para que cubra todo el contenedor */
    background-position: center; /* Centra la imagen */
}

img {
    display: block;
    width: 100%;
    object-fit: cover;
}

h1 {
    color: var(--color-black);
    font-size: 2rem;
    margin-bottom: 0.3rem;
}

a, a:active, a:visited {
    color: var(--color-text);
    font-weight: 500;
}

.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    padding: 0.8rem 1.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: var(--transition);
}

.btn.primary {
    background: #1d6e6f;
    color: var(--color-white);
}

.btn:hover {
    background: var(--color-black);
    color: var(--color-white);
}

.btn img {
    width: 1.2rem;
}

/* SIGN IN */
.sign-in {
    /* background: var(--color-white); */
    width: 60rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    border-radius: 1rem;
    overflow: hidden;
}

.sign-in__details {
    padding: 2rem 4rem;
    margin-top: 59px;

}

.sign-in__form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 3rem;
}

.form__control {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

input:not([type="checkbox"]) {
    width: 100%;
    border: 1px solid var(--color-body-bg);
    padding: 0.7rem;
    border-radius: 0.5rem;
}

input::placeholder {
    color: var(--color-body-bg);
}

label {
    font-weight: 500;
    color: var(--color-light);
}

.sign-in__extras {
    display: flex;
    justify-content: space-between;
}

.sign-in__extras div {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

button:last-child {
    margin-top: -0.5rem;
}

.next__page {
    margin-top: 1rem;
    text-align: center;
    display: block;
}

.sign-in__logo {
    display: grid;
    place-content: center;
    /* background: linear-gradient(120deg, #01404b, rgb(0, 0, 0)); */
    height: 100%;
}



.error{
    color: #ff0000;
  }

.error2{
color: #ff0000;
}

.error1{
    color: #ff0000;
    }



/* MEDIA QUERIES (small screens) */
@media screen and (max-width: 600px) {
    body{
      background-image: url('fondito3.png');
    }


    body {
        display: block;
    }

    h1 {
        font-size: 1.5rem;
    }

    .sign-in {
        grid-template-columns: 1fr;
        width: 100vw;
        overflow: visible;
    }

    .sign-in__details {
        grid-row: 2/3;
        padding: 2rem 1.5rem;
    }

    .sign-in__form {
        gap: 1rem;
    }

    .sign-in__extras {
        flex-direction: column;
        gap: 0.8rem;
        margin-bottom: 1rem;
    }
}


.iti {
    width: 100%;
}

.iti__flag {
    background-image: url("https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/img/flags.png");
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .iti__flag {
        background-image: url("https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/img/flags@2x.png");
    }
}
    

/* nuevos inputs */
/* ——————————— Inputs y selects “glass” ——————————— */

.sign-in__form input[type="text"],
.sign-in__form input[type="email"],
.sign-in__form input[type="password"],
.sign-in__form input[type="date"],
.sign-in__form input[type="tel"],
.sign-in__form select {
  width: 100%;
  padding: 14px 18px;
  border-radius: 12px;
  border: none;
  background: rgba(255,255,255,0.12);
  color: #fff;
  font-size: 1rem;
  backdrop-filter: blur(6px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  transition: background 0.2s, box-shadow 0.2s, transform 0.1s;
  appearance: none;            /* quita flecha default de select */
}

/* placeholder más claro */
.sign-in__form input::placeholder {
  color: rgba(255,255,255,0.6);
}

/* foco con glow cyan */
.sign-in__form input:focus,
.sign-in__form select:focus {
  background: rgba(255,255,255,0.2);
  box-shadow: 0 0 12px rgb(17 217 255 / 16%);
  outline: none;
  transform: translateY(-1px);
}

/* para el select, una flechita custom:*/
.sign-in__form select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8L0 0h12L6 8z' fill='rgba(255,255,255,0.7)'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  padding-right: 40px;  /* espacio para la flecha */
}

/* asegúrate de que intl-tel-input use el mismo estilo */
.iti input {
  background: transparent;
  box-shadow: none;
  color: #fff;
  font-size: 1rem;
  padding: 14px 18px;
}
.iti__selected-flag, .iti__flag-container {
  background: rgba(255,255,255,0.12);
  border-radius: 12px 0 0 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
}
.iti__country-list, .iti__country-list .country {
  background: rgba(0,0,0,0.9);
  color: #fff;
}

/* estilo selector bandera */
/* Fondo y sombra del dropdown */
.iti__country-list {
  background: rgba(0,0,0,0.85) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.6) !important;
  max-height: 200px !important;
  overflow-y: auto !important;
  color: #fff !important;
  padding: 4px 0 !important;
}

/* Cada fila más cómoda de hacer click */
.iti__country {
  padding: 8px 16px !important;
  font-size: 0.95rem !important;
}
.iti__country:hover {
  background: rgba(17,217,255,0.2) !important;
}

/* Texto del país y código en un tono más claro */
.iti__country-name,
.iti__dial-code {
  color: #ddd !important;
}

/* Redondea el badge de la bandera al lado del input */
.iti__selected-flag {
  border-radius: 8px 0 0 8px !important;
  background: rgba(255,255,255,0.12) !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4) !important;
}

/* Input “hueco” cuando usas separateDialCode */
.iti--separate-dial-code .iti__selected-dial-code {
  margin-left: 8px !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
}

/* Haz que el input de teléfono abra la lista con un hueco mayor */
.iti__flag-container {
  margin-right: -40px !important; /* ajusta para que no tape el padding */
}

.select2-container .select2-selection--single {
    height: 42px;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 6px 8px;
    font-size: 15px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
    right: 10px;
}
.select2-results__option {
    font-size: 15px;
}
.select2-container--default .select2-selection--single{
    background: rgba(255,255,255,0.12) !important;
    color: #fff;
    border : none !important;
    border-radius: 11px !important;
}

span.select2-container .select2-selection--single{
    height: 44px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(6px)!important;
    
}

span.select2-container .select2-selection--single::selection{
border-color: rgba(17,217,255,0.2) !important;
}

/* === PERSONALIZACIÓN SELECT2 === */

/* contenedor del select principal */
.select2-container .select2-selection--single {
    display: block;
    user-select: none;
    -webkit-user-select: none;
    border: none;
}

/* texto del país seleccionado (dentro del select cerrado) */
.select2-container .select2-selection--single .select2-selection__rendered {
    display: block;
    padding-left: 8px;
    padding-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* menú desplegable general */
.select2-dropdown {
    background-color: white;
    border: 1px solid #aaa;
    border-radius: 4px;
    box-sizing: border-box;
    display: block;
    position: absolute;
    left: -100000px;
    width: 100%;
    z-index: 1051;
}

/* fondo de resultados */
.select2-results {
    display: block;
    /* background-color: #445; */
}

/* cada opción dentro del menú */
.select2-results__option {
    padding: 6px;
    user-select: none;
    -webkit-user-select: none;
    background-color: #444;
}

/* color de las opciones seleccionables */
.select2-results__option[aria-selected] {
    cursor: pointer;
    background-color: #444;
    color: white!important;
}

/* campo de búsqueda dentro del dropdown */
.select2-search--dropdown {
    display: block;
    padding: 4px;
    background-color: #444344;
}

/* input de búsqueda dentro del menú */
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa;
    background-color: #444;
    color: white!important;
}

/* texto del elemento seleccionado */
.select2-container--default .select2-selection--single .select2-selection__rendered {

    color: #fff !important;
    line-height: 28px;
}

/* opción actualmente seleccionada */
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #6a6262;
}

/* opción resaltada al pasar el cursor o con teclado */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color:#656a70 !important; 
    color:white !important; 
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #b0b0b0;
    font-size: 1rem;    
}

span.select2-selection.select2-selection--single:focus{
    
    box-shadow: 0 0 12px rgb(17 217 255 / 16%)!important;
}