/* General */
body {
    margin: 0;
    font-family: Arial, sans-serif;
    color: #0e0c0c;
    background: url('img/semaf.jpg') no-repeat center center fixed;
    background-size: cover;
    backdrop-filter: brightness(0.5);
}

/* Específico para formulario.php */
body.no-background {
    background: none;
    background-color: #f9f9f9; /* Fondo claro */
}

/* Header */
.header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 10px;
    background-color: rgb(255, 255, 255);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra para destacar */
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 20px; /* Espaciado entre los logos */
}

.logo {
    height: 80px;
}

/* Contenedor principal (Solo afecta formulario.php) */
body.no-background .content-container {
    display: flex;
    justify-content: space-between; /* Separar formulario y mapa */
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
}

/* Formulario (Solo afecta formulario.php) */
body.no-background .form-container {
    width: 45%;
    background-color: #ffffff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1); /* Sombra suave */
}

body.no-background .data-form h1 {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: bold; /* Título más destacado */
    color: #333;
    text-align: center; /* Centrar el título */
}

body.no-background .data-form label {
    display: block;
    margin: 10px 0 5px;
    font-size: 14px;
    font-weight: bold; /* Destaca las etiquetas */
    color: #555;
}

body.no-background .data-form input,
body.no-background .data-form select,
body.no-background .data-form textarea {
    width: 100%; /* Consistente para todos los campos */
    padding: 12px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 6px; /* Bordes redondeados */
    font-size: 14px;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Animación suave */
}

body.no-background .data-form input:focus,
body.no-background .data-form select:focus,
body.no-background .data-form textarea:focus {
    border-color: #007bff;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Resalta el campo activo */
    outline: none;
}

/* Botones */
body.no-background .data-form button {
    padding: 12px;
    background-color: #2967eb;
    border: none;
    border-radius: 6px; /* Bordes redondeados */
    color: #ffffff;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    text-align: center;
}

/* Botones en Rejilla */
body.no-background .button-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* Tres columnass: A1, B1, C1 */
    gap: 20px; /* Espaciado entre columnas */
    align-items: center; /* Centra verticalmente los botones */
    margin-top: 20px; /* Separación del formulario */
}

body.no-background .button-grid button {
    padding: 10px;
    background-color: #007bff;
    border: none;
    border-radius: 6px;
    color: #ffffff;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

body.no-background .button-grid button:hover {
    background-color: #0056b3;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Efecto de sombra */
}

/* Espaciado para el espacio vacío central (B1) */
body.no-background .button-grid .button-gap {
    background: none; /* Simplemente ocupa el espacio entre A1 y C1 */
}

/* Sugerencias (Autocompletado en formulario.php) */
body.no-background .suggestions {
    position: absolute; /* Flota debajo del input */
    top: 100%; /* Justo debajo del input */
    left: 0; /* Alinea al borde izquierdo */
    border: 1px solid #ccc;
    max-height: 150px;
    overflow-y: auto;
    background: white;
    z-index: 1000;
    width: 100%; /* Coincide con el ancho del input */
    box-sizing: border-box;
    border-radius: 4px; /* Bordes redondeados */
    padding: 0; /* Elimina relleno adicional */
    font-size: 14px;
}

body.no-background .suggestion-item {
    padding: 10px;
    cursor: pointer;
    transition: background-color 0.2s ease; /* Animación suave */
}

body.no-background .suggestion-item:hover {
    background-color: #f0f0f0;
}

/* Mapa (Solo afecta formulario.php) */
/* Ajustar tamaños del formulario y el mapa */
body.no-background .form-container,
body.no-background .map {
    width: 50%; /* Ambos elementos ocuparán el 50% del ancho del contenedor principal */
    height: auto; /* Para que mantengan su contenido dinámico */
    min-height: 400px; /* Establece una altura mínima para mantener uniformidad */
    max-height: auto;
    background-color: #FFF;
}


/* Footer */
.footer {
    background-color: rgba(0, 0, 0, 0.7);
    text-align: center;
    padding: 20px;
    color: rgb(255, 255, 255);
    font-size: 14px;
    width: 100%;
    position: relative;
    bottom: 0;
}

.footer p {
    margin: 5px 0; /* Separación entre las líneas de texto */
}

/* Logos en el footer */
.footer .logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px; /* Espaciado entre los logos */
    margin-top: 10px; /* Separación respecto al texto */
}

.footer .logo {
    max-height: 50px; /* Altura máxima para los logos */
    max-width: 100px; /* Ancho máximo */
    object-fit: contain; /* Mantener proporciones */
}

/* Estilos específicos para index.html */
body.index {
    background: url('img/semaf.jpg') no-repeat center center fixed;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    color: #333;
}

body.index .main-content {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 30px 20px;
    border-radius: 10px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
    max-width: 400px;
    width: 90%;
    text-align: center;
}

body.index .login-form h1 {
    margin-bottom: 20px;
    font-size: 24px;
    color: #333;
}

body.index .login-form label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: bold;
    color: #555;
}

body.index .login-form input {
    width: 100%;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
    box-sizing: border-box;
}

body.index .login-form button {
    width: 100%;
    padding: 10px;
    background-color: #007bff;
    border: none;
    border-radius: 5px;
    color: white;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

body.index .login-form button:hover {
    background-color: #0056b3;
}

/* Footer específico para index.html */
body.index .footer {
    background-color: rgba(255, 255, 255, 0.5);
    text-align: center;
    padding: 20px;
    color: rgb(0, 0, 0);
    font-size: 14px;
    width: 100%;
    position: absolute;
    bottom: 0;
}
.logo {
    height: 80px;
    background: none; /* Asegúrate de no añadir un fondo */
    display: block; /* Evitar rellenos extra si hay estilos heredados */
}
/* Ajustes generales para pantallas pequeñas */
@media (max-width: 768px) {
    .header {
        flex-direction: column; /* Cambiar la disposición de los logos a una columna */
        padding: 10px; /* Reducir el padding */
    }

    .logo {
        height: 60px; /* Reducir el tamaño de los logos */
    }

    .main-content {
        padding: 15px;
    }

    .login-form {
        max-width: 100%; /* Que ocupe todo el ancho del dispositivo */
        padding: 20px;
        box-shadow: none; /* Elimina sombras en pantallas pequeñas */
    }

    .login-form h1 {
        font-size: 20px; /* Reducir tamaño del título */
    }

    .login-form label {
        font-size: 12px; /* Reducir tamaño de las etiquetas */
    }

    .login-form button {
        font-size: 14px; /* Ajustar tamaño del texto en el botón */
        padding: 8px;
    }

    .footer {
        font-size: 12px; /* Reducir el tamaño del texto en el footer */
        padding: 10px; /* Reducir padding del footer */
    }
}

/* Ajustes para pantallas aún más pequeñas (teléfonos pequeños) */
@media (max-width: 480px) {
    .header {
        gap: 10px; /* Reducir espacio entre logos */
    }

    .main-content {
        padding: 10px;
    }

    .login-form h1 {
        font-size: 18px; /* Aún más pequeño para caber en pantallas pequeñas */
    }

    .login-form input {
        font-size: 12px; /* Ajustar tamaño de los inputs */
    }

    .footer p {
        margin: 5px 0; /* Reducir separación entre las líneas del footer */
    }
}

/* Hacer que el contenedor principal sea flexible */
body.index .main-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%; /* Ocupar todo el ancho */
    max-width: 400px; /* Limitar el ancho máximo */
    padding: 20px;
    margin: auto;
}

/* Logos más pequeños en pantallas pequeñas */
@media (max-width: 768px) {
    .logo {
        height: 50px; /* Reducir el tamaño de los logos en tablets y móviles */
    }
}
/* Banner blanco para logos en index.html */
body.index .header {
    background-color: #ffffff; /* Fondo blanco */
    padding: 20px 10px; /* Espaciado alrededor del banner */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra para darle profundidad */
    border-bottom: 2px solid #f0f0f0; /* Línea suave en la parte inferior */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px; /* Espacio debajo del banner */
}

body.index .logo-container {
    display: flex;
    align-items: center;
    gap: 20px; /* Espaciado entre los logos */
}

body.index .logo {
    max-height: 70px; /* Altura máxima para evitar deformaciones */
    max-width: 100%; /* Garantiza que no se desborden en pantallas pequeñas */
    display: block;
    object-fit: contain; /* Asegura que los logos se mantengan en proporción */
}

/* Ajustes generales para pantallas pequeñas */
@media (max-width: 768px) {
    body.index .header {
        padding: 15px 10px; /* Reducir padding en tablets */
    }

    body.index .logo-container {
        gap: 15px; /* Reducir espacio entre los logos */
    }

    body.index .logo {
        max-height: 60px; /* Logos más pequeños */
    }
}

/* Ajustes para dispositivos muy pequeños */
@media (max-width: 480px) {
    body.index .header {
        padding: 10px 5px; /* Padding más compacto */
        flex-direction: column; /* Coloca los logos en columna */
        gap: 10px;
    }

    body.index .logo {
        max-height: 50px; /* Logos aún más pequeños */
    }
}
/* Estilo para el select */
.ticket-select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    margin-top: 10px;
    box-sizing: border-box;
}

/* Estilo para los detalles del ticket */
.ticket-details {
    background-color: #ffffff;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.ticket-details h3 {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    color: #333;
}
/* ✅ GENERAL */
body {
    margin: 0;
    font-family: Arial, sans-serif;
    color: #0e0c0c;
    background: url('img/semaf.jpg') no-repeat center center fixed;
    background-size: cover;
}

/* ✅ HEADER */
.header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 10px;
    background-color: rgb(255, 255, 255);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    width: 100%;
}

/* ✅ Contenedor de logos */
.logo-container {
    display: flex;
    align-items: center;
    gap: 20px;
}

.logo {
    height: 80px;
}

/* ✅ ESTILOS PARA `index.html` */
body.index {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    margin: 0;
    background: url('img/semaf.jpg') no-repeat center center fixed;
    background-size: cover;
}

/* ✅ AJUSTE DEL FORMULARIO */
body.index .main-content {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 30px 20px;
    border-radius: 10px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
    max-width: 400px;
    width: 90%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ✅ Estilos del formulario */
body.index .login-form h1 {
    margin-bottom: 20px;
    font-size: 24px;
    color: #333;
}

body.index .login-form label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: bold;
    color: #555;
}

body.index .login-form input {
    width: 100%;
    padding: 12px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    box-sizing: border-box;
}

/* ✅ Botón de login */
body.index .login-form button {
    width: 100%;
    padding: 12px;
    background-color: #007bff;
    border: none;
    border-radius: 6px;
    color: white;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

body.index .login-form button:hover {
    background-color: #0056b3;
}

/* ✅ Footer */
body.index .footer {
    background-color: rgba(255, 255, 255, 0.5);
    text-align: center;
    padding: 20px;
    color: rgb(0, 0, 0);
    font-size: 14px;
    width: 100%;
    position: absolute;
    bottom: 0;
}

/* ✅ RESPONSIVIDAD */

/* 🔹 Ajustes para Tablets */
@media (max-width: 768px) {
    .header {
        flex-direction: column;
        padding: 10px;
    }

    .logo {
        height: 60px;
    }

    .main-content {
        padding: 20px;
        width: 90%;
    }

    .login-form h1 {
        font-size: 20px;
    }

    .login-form label {
        font-size: 12px;
    }

    .login-form button {
        font-size: 14px;
        padding: 8px;
    }

    .footer {
        font-size: 12px;
        padding: 15px;
    }
}

/* 🔹 Ajustes para Teléfonos */
@media (max-width: 480px) {
    .header {
        padding: 10px 5px;
        flex-direction: column;
        gap: 10px;
    }

    .logo {
        max-width: 80px;
    }

    .main-content {
        padding: 15px;
        width: 95%;
    }

    .login-form h1 {
        font-size: 18px;
    }

    .login-form input {
        font-size: 12px;
    }

    .footer {
        font-size: 10px;
        padding: 10px;
    }
}

/* ✅ Ajuste del Header para Móviles */
body.index .header {
    background-color: #ffffff;
    padding: 20px 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}

body.index .logo-container {
    display: flex;
    align-items: center;
    gap: 20px;
}

body.index .logo {
    max-height: 70px;
    max-width: 100%;
    display: block;
    object-fit: contain;
}

/* 🔹 Ajustes para Tablets */
@media (max-width: 768px) {
    body.index .header {
        padding: 15px 10px;
    }

    body.index .logo-container {
        gap: 15px;
    }

    body.index .logo {
        max-height: 60px;
    }
}

/* 🔹 Ajustes para Dispositivos Muy Pequeños */
@media (max-width: 480px) {
    body.index .header {
        padding: 10px 5px;
        flex-direction: column;
        gap: 10px;
    }

    body.index .logo {
        max-height: 50px;
    }
}
