/* Base styles */
body {
    font-family: Arial, sans-serif;
    background-color: white;
    color: black;
    transition: background-color 0.3s, color 0.3s;
    margin: 0;
}

.header-container {
    display: flex;
    justify-content: space-between; /* Espacio entre logo y menú */
    align-items: center; /* Alinear verticalmente */
    padding: 10px 20px;
    background-color: #1C1C1C;
    position: relative;
}

.footer-container {
    background-color: #1C1C1C;
    color: white;
    text-align: center;
    padding: 1em;
}

.footer-link {
    color: #ffcc00; /* Color del enlace */
    text-decoration: underline; /* Subrayado */
}

.footer-link:hover {
    color: #ffcc00; /* Color en hover */
    text-decoration: none; /* Sin subrayado en hover */
}

.logo img {
    max-height: 60px; /* Ajustar la altura del logo */
    justify-content: flex-end;
    flex-grow: 1;
}

nav {
    display: flex; /* Alinear elementos de la navegación en fila */
    flex-direction: row;
    
}

nav ul {
    display: flex; /* Alinear los elementos de la lista en fila */
    list-style-type: none; /* Sin puntos de lista */
    margin: 0; /* Sin margen */
    padding: 0; /* Sin padding */
}

nav ul li {
    margin-left: 20px; /* Espacio entre los elementos de navegación */
}

nav a {
    text-decoration: none; /* Sin subrayado */
    color: white; /* Color de texto */
    font-size: 1.1em; /* Tamaño de fuente */
    transition: color 0.3s; /* Transición de color */
}

nav a:hover {
    color: #ffcc00; /* Color al pasar el ratón */
}

nav a.active {
    color: #ffcc00; /* Color diferente para el enlace activo */
    font-weight: bold; /* Hacer el texto más grueso */
    border-bottom: 2px solid #ffcc00; /* Subrayado opcional */
}

.menu-icon {
    display: none; /* Ocultar el icono de menú por defecto */
    font-size: 30px; /* Tamaño del ícono */
    color: white; /* Color del ícono */
    cursor: pointer; /* Cambiar el cursor al pasar sobre el ícono */
}

@media (max-width: 768px) {

    nav {
        display: none; /* Ocultar el menú en pantallas pequeñas */
        flex-direction: column;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        background-color: #1C1C1C;
        z-index: 10;
    }

    nav.show {
        display: flex; /* Mostrar el menú cuando se añade la clase 'show' */
    }

    nav ul {
        flex-direction: column; /* Alinear elementos de la lista en columna */
    }

    .menu-icon {
        display: block; /* Mostrar el icono del menú en pantallas pequeñas */
    }

    #navbar {
        display: none; /* Ocultar el menú por defecto */
        position: absolute; /* Posicionar el menú de manera absoluta */
        background-color: #1C1C1C; /* Fondo del menú */
        top: 60px; /* Alineamos debajo de la cabecera */
        left: 0;
        width: 100%; /* Ancho del menú */
        z-index: 1000; /* Aseguramos que se muestre sobre otros elementos */
    }

    #navbar.show {
        display: block; /* Mostrar el menú cuando se añade la clase 'show' */
    }

}

/* Estilos para la sección de introducción */
.intro-section {
    padding: 2em;
    background-color: #f5f5f5;  /* Fondo gris claro */
}

.intro-content {
    display: flex; /* Usar flexbox */
    align-items: center; /* Centrar verticalmente */
    max-width: 1200px; /* Ancho máximo */
    margin: 0 auto; /* Centrar en la página */
}

.logo-container {
    flex: 1; /* Ocupa el espacio disponible */
    text-align: left; /* Alinear a la izquierda */
}

.logo-container img {
    max-width: 100%; /* Ajustar al contenedor */
    max-height: 200px; /* Altura máxima */
}

.intro-text {
    flex: 1; /* Ocupa el espacio restante */
    padding-left: 20px; /* Espaciado a la izquierda */
}

.intro-text h2 {
    font-size: 2em; /* Tamaño del título */
    color: #1C1C1C; /* Color del título */
}

.intro-text p {
    font-size: 1.2em; /* Tamaño del párrafo */
    line-height: 1.6; /* Espaciado entre líneas */
    color: #333; /* Color del párrafo */
}

/* Media Query para pantallas pequeñas */
@media (max-width: 768px) {
    .intro-content {
        flex-direction: column; /* Cambiar a columna */
        text-align: center; /* Centrar texto */
    }

    .logo-container {
        display: none; /* Ocultar el logo en pantallas pequeñas */
    }

    .intro-text {
        padding-left: 0; /* Sin espaciado a la izquierda */
    }
}

.services-summary {
    padding: 2em;
    background-color: #f5f5f5; /* Fondo gris claro */
    max-width: 1200px; /* Ancho máximo de la sección */
    margin: 0 auto; /* Centrar la sección */
}

.services-summary h2 {
    text-align: center; /* Centrar el título */
    color: #1C1C1C; /* Color del título */
}

.service-category-title {
    color: #1C1C1C; /* Color del título de la categoría */
    text-align: center; /* Centrar el texto */
}

.services-category {
    display: grid; /* Usar grid para las columnas */
    grid-template-columns: repeat(3, 1fr); /* Tres columnas */
    gap: 20px; /* Espaciado entre columnas */
    margin-bottom: 2em; /* Espaciado entre las columnas y la sección de contacto */
}

.service-box {
    background-color: white; /* Fondo blanco para las cajas de servicio */
    border: 1px solid #ccc; /* Borde ligero */
    border-radius: 8px; /* Bordes redondeados */
    padding: 1.5em; /* Espaciado interno */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra suave */
}

.service-box h4 {
    color: #1C1C1C; /* Color del subtítulo */
}

.contact-section {
    text-align: center; /* Centrar el contenido de la sección de contacto */
    margin-top: 2em; /* Espacio superior para la sección de contacto */
}

.contact-button {
    display: inline-block; /* Botón en línea */
    margin-top: 10px; /* Espaciado superior */
    padding: 10px 15px; /* Espaciado interno */
    background-color: #691b0e; /* Color de fondo del botón */
    color: white; /* Color del texto del botón */
    text-decoration: none; /* Sin subrayado */
    border-radius: 5px; /* Bordes redondeados */
    transition: background-color 0.3s; /* Transición suave */
}

.contact-button:hover {
    background-color: #4a1b0e; /* Color de fondo en hover */
}

/* Media Query para pantallas pequeñas */
@media (max-width: 768px) {
    .services-category {
        grid-template-columns: 1fr; /* Una sola columna en pantallas pequeñas */
    }
}

.cookie-msg {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #1C1C1C; /* Color de fondo del aviso */
    color: white;
    padding: 1em;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); /* Sombra superior */
    z-index: 1000; /* Asegura que el aviso esté por encima de otros elementos */
    display: flex;
    justify-content: space-between; /* Separar el texto del botón */
    align-items: center; /* Alinear verticalmente los elementos */
    flex-wrap: wrap; /* Permitir que los elementos se acomoden en pantalla pequeña */
    gap: 1em; /* Espaciado entre el texto y el botón */
    max-width: 100%; /* Asegura que el contenedor no exceda el ancho de la pantalla */
    box-sizing: border-box; /* Incluir padding en el ancho */
}

.cookie-msg p {
    margin: 0;
    font-size: 0.9em;
    text-align: justify; /* Justificar el texto */
    flex: 1; /* Hacer que el párrafo ocupe el espacio disponible */
    word-wrap: break-word; /* Permitir que las palabras se rompan en líneas */
    max-width: 70%; /* Limitar el ancho máximo del texto */
}

.cookie-msg a {
    color: #ffcc00; /* Color de enlace */
    text-decoration: underline;
}

.cookie-msg a:hover {
    color: #ffcc00;
    text-decoration: none;
}

.cookie-button {
    background-color: #691b0e; /* Color del botón */
    color: white;
    border: none;
    padding: 0.5em 1em;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
    flex-shrink: 0; /* Evitar que el botón se reduzca en tamaño */
    white-space: nowrap; /* Evitar que el texto del botón se divida en varias líneas */
}

.cookie-button:hover {
    background-color: #9c2b1e; /* Color en hover */
}

.cookie-msg.hidden {
    display: none; /* Ocultar el aviso cuando se acepte */
}

/* Media Queries para pantallas más pequeñas */
@media (max-width: 600px) {
    .cookie-msg {
        flex-direction: column; /* Apilar el texto y el botón verticalmente en pantallas pequeñas */
        text-align: center;
        padding: 1.5em; /* Ajustar el padding para pantallas pequeñas */
    }

    .cookie-msg p {
        max-width: 100%; /* Permitir que el texto ocupe todo el ancho en pantallas pequeñas */
        text-align: left; /* Alinear el texto a la izquierda en pantallas pequeñas */
        word-wrap: break-word; /* Romper palabras largas si es necesario */
    }

    .cookie-button {
        margin-top: 1em; /* Asegurar que el botón tenga espacio superior en pantallas pequeñas */
    }
}

/* error-style.css */
.error-container {
    text-align: center;
    max-width: 600px;
    padding: 2em;
    margin: auto; /* Centrar horizontalmente */
}

h1 {
    font-size: 2.5em;
    color: #691b0e; /* Tu color terciario */
    margin: 0;
}

h2 {
    font-size: 1.5em;
    margin: 0.5em 0;
}

p {
    font-size: 1.2em;
    color: #666;
}

.error-button {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #691b0e; /* Color del botón */
    color: white;
    text-decoration: none;
    font-size: 1em;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.error-button:hover {
    background-color: #9c2b1e; /* Color más claro en hover */
}

.services-intro, .service-detail {
    padding: 2em;
    max-width: 800px; /* Limitar el ancho de la sección */
    margin: auto; /* Centrar la sección */
    background-color: #f5f5f5; /* Fondo gris claro */
    border-radius: 10px; /* Bordes redondeados */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra suave */
}

.services-intro h1, .service-detail h2 {
    color: #1C1C1C; /* Color del título */
    text-align: center; /* Centrar títulos */
}

.service-detail ul {
    list-style-type: disc; /* Marcadores de lista */
    padding-left: 20px; /* Espaciado de lista */
}

.back-button {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #691b0e; /* Color del botón */
    color: white;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.back-button:hover {
    background-color: #9c2b1e; /* Color más claro en hover */
}

.about-intro, .about-me, .about-mission {
    padding: 2em;
    max-width: 800px; /* Limitar el ancho de la sección */
    margin: auto; /* Centrar la sección */
    background-color: #f5f5f5; /* Fondo gris claro */
    border-radius: 10px; /* Bordes redondeados */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra suave */
    margin-bottom: 2em; /* Espaciado inferior entre secciones */
}

.about-intro h1, .about-me h2, .about-mission h2 {
    color: #1C1C1C; /* Color del título */
    text-align: center; /* Centrar títulos */
}

.about-intro p, .about-me p, .about-mission p {
    font-size: 1.2em; /* Tamaño de fuente del párrafo */
    line-height: 1.6; /* Espaciado entre líneas */
    color: #333; /* Color del texto */
}

.about-mission ul {
    list-style-type: disc; /* Marcadores de lista */
    padding-left: 20px; /* Espaciado de lista */
    color: #333;
}

.about-mission li {
    margin-bottom: 1em; /* Espaciado entre elementos de la lista */
}

.cookies-policy {
    padding: 2em;
    max-width: 800px;
    margin: auto;
    background-color: #f5f5f5;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.cookies-policy h1, .cookies-policy h2 {
    color: #1C1C1C; /* Color del título */
    margin-bottom: 1em;
    text-align: center; /* Centrar los títulos */
}

.cookies-policy p {
    font-size: 1.1em;
    line-height: 1.6;
    color: #333;
    text-align: justify;
}

.cookies-policy table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    text-align: left;
    border: 1px solid #ddd;
}

.cookies-policy th, .cookies-policy td {
    padding: 12px 15px;
    border: 1px solid #ddd;
}

.cookies-policy th {
    background-color: #691b0e;
    color: white;
}

.cookies-policy td {
    background-color: #fff;
    color: #333;
}

.cookies-policy em {
    font-size: 0.9em;
    color: #555;
}

