/* General styles */

@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap');

body {
    font-family: Arial, sans-serif;
    background-color: #ffffff;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.container {
    text-align: center;
    margin-top: 15%;
    display:flex;
    flex-direction: column;
    align-items: center;
    width: 600px;
}

form {
    margin-top: 10px;
}

/* ============= Logo ============= */

.logo img {
    height: 92px;
    margin-bottom: 20px;
}

/* ============= Formulario de busqueda ============= */

#search-form {
    width:100%;
}

.search-bar {
    position: relative;
    display: inline-block;
    width: 100%;
    min-width: 250px;
}

.search-bar input[type="text"] {
    width: 100%;
    padding: 14px 50px 14px 14px; /* Padding para el boton de busqueda */
    border: 1px solid #dfe1e5;
    border-radius: 24px;
    font-size: 16px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.3s;
    box-shadow: 0 1px 6px rgba(32,33,36,0.28);
}

.search-bar input[type="text"]:focus {
    border-color: #4285f4;
}

/* Botón de lupa dentro del campo de búsqueda */
.search-bar button#submit-btn {
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    border: none;
    padding: 0 15px;
    cursor: pointer;
    outline: none;
}

.search-bar button#submit-btn svg {
    fill: #4285f4; 
    width: 24px;
    height: 24px;
}

.search-bar button#submit-btn:hover svg {
    fill: #006aff;
}

/* ============= Sugerencias ============= */

/* Suggestions dropdown */
.suggestions {
    position: absolute;
    background-color: white;
    max-height: 211px;
    overflow-y: auto;
    z-index: 1000;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dfe1e5;
    border-top: none;
    border-radius: 0 0 24px 24px;
    scrollbar-width: none;
    box-shadow: 0 1px 6px rgba(32,33,36,0.28);
    transition: border-color 0.3s;
    padding: 10px 0;
}

.suggestion-item {
    padding: 10px;
    cursor: pointer;
    font-size: 16px;
    text-align:left;
    padding-left: 2rem;
    color:#666;
}

.suggestion-item:hover {
    background-color: #3f7de2;
    color:white;
}

/* Ocultar la caja de sugerencias por defecto */
.suggestions {
    display: none;
}

/* Mostrar la caja de sugerencias cuando esté visible */
.suggestions.visible {
    display: block;
}

/* Sincronizar el borde del contenedor de sugerencias con el del campo de búsqueda */
.search-bar input[type="text"]:focus ~ #suggestions {
    border-color: #4285f4;
}

/* Estilos para quitar las esquinas inferiores redondeadas del campo de texto */
input[type="text"].no-bottom-radius {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Ajustes adicionales */
.search-bar input[type="text"]:focus {
    border-color: #4285f4;
}

.search-bar input[type="text"]::placeholder {
    color: #a0a0a0;
}


/* ============= Mensajes ============= */


.message {
    color: #155724;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    padding: 10px;
    border-radius: 4px;
    display: none;
    margin: 20px auto;
    width: 50%;
}

.error {
    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
}

.message {
    margin-top: 20px;
}

#result-container {
    width: 100%;
}


/* ============= Botones ============= */

.button-container {
    margin-top:1.5rem;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 15px;
}

.abrir {
    background-color: #4285f4;
    color: white;
    border: none;
    border-radius: 100px;
    width: 40%;
    font-weight:600;
    padding: 10px 0px;
    width:250px;
    font-size: 16px;
}

.abrir:hover {
    background-color: #3073d1;
}


a.abrir {
    display: inline-block;
    text-decoration: none;
}

#go-to-ficha-btn {
    background-color: #349c24;
    cursor: pointer;
}

#go-to-ficha-btn:hover {
    background-color: #247018;
}

#go-to-ficha-btn:disabled {
    background-color: #e6e6e6;
    color: black;
    cursor: not-allowed;
}

/* ============= Resultados ============= */

.result-container {
    margin: 3rem 0;
    padding: 2rem;
    border: 1px solid #dfe1e5;
    border-radius: 8px;
    max-width: 600px;
    text-align: left;
    box-shadow: 0 1px 6px rgba(32,33,36,0.28);
}

/* ============= Contenedor info ============= */

.url-ip-container {
    margin-bottom:2rem;
    display:flex;
    flex-direction: column;
    gap:1rem;
}

.url-ip-container svg {
    width:1.2rem;
    height:1.2rem;
    
}

.url-ip-container p, .url-ip-container button, .url-ip-container a {
    margin:0;
    font-family: "Source Code Pro", monospace;
    font-weight:500;
    color:black;
    font-size:1rem;
    display:flex;
    flex-direction: row;
    align-items: center;
    gap:0.5rem;
    text-decoration: none;
}

.url-ip-container a:hover, .url-ip-container button:hover {
    filter: invert(42%) sepia(93%) saturate(900%) hue-rotate(200deg) brightness(119%) contrast(119%);
}

#update-ip-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}


/* ============= Campos info ============= */

/* Campos de ID y Dominio en la misma línea */
.fields-container {
    display: flex;
    justify-content: space-between;
    align-items: center;

}

.fields-container input[type="text"], .fields-container input[type="number"] {
    padding: 14px 50px 14px 14px; /* Padding para el boton de busqueda */
    border: 1px solid #dfe1e5;
    border-radius: 24px;
    font-size: 16px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.3s;
    padding: 10px;
}


.fields-container input[type="text"] {
    width: calc(100% - 100px);
    border-radius: 100px 0 0 100px;
}

.fields-container input[type="number"] {
    width: 80px;
    border-radius: 0 100px 100px 0;
    border-left-color:white;
}

.fields-container input[type="number"]:nth-of-type(2) {
    border-radius: 0px;
}


.fields-container input[type="text"]:focus, .fields-container input[type="number"]:focus {
    border-color: #4285f4;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}