/* styles.css */

/* Paleta de colores */
:root {
    --color-fondo: #f6e8d7;
    --color-texto-principal: #5c463e;
    --color-texto-destacado: #946c56;
    --color-botones: #7b5a4f;
    --color-borde: #483a34;
}

/* Estilos generales */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--color-fondo);
    color: var(--color-texto-principal);
}

/* Encabezado */
header {
    background-image: url('textura_header.jpg');
    background-size: cover;
    background-repeat: repeat;
    color: var(--color-texto-principal);
    text-align: center;
    padding: 2rem;
    animation: backgroundAnimation 10s infinite alternate;
}

@keyframes backgroundAnimation {
    from {
        background-color: #333;
    }
    to {
        background-color: #555;
    }
}

/* Menú */
.menu {
    list-style: none;
    display: flex;
    justify-content: center;
}

.boton {
    display: inline-block;
    padding: 10px 20px;
    margin: 0 10px;
    background-color: var(--color-botones);
    color: white;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease-in-out, transform 0.2s ease-in-out;
}

.boton:hover {
    background-color: var(--color-texto-destacado);
    transform: scale(1.05);
}

.boton:active {
    transform: scale(0.95);
}

/* Animación de entrada para los servicios */
#servicios ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#servicios li {
    background-color: #f2f2f2;
    border-radius: 5px;
    padding: 10px;
    margin: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    opacity: 0;
    transform: translateY(20px);
    animation: serviceEntryAnimation 1s forwards;
}

@keyframes serviceEntryAnimation {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animación de zoom para el botón de contacto */
#contacto a {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--color-botones);
    color: white;
    border-radius: 5px;
    text-decoration: none;
    transform: scale(1);
    transition: transform 0.3s ease-in-out;
}

#contacto a:hover {
    transform: scale(1.1);
}

/* Estilos para pantallas pequeñas */
@media screen and (max-width: 768px) {
    header {
        padding: 1rem;
    }
    
    .menu {
        flex-direction: column;
        align-items: center;
    }
    
    .boton {
        margin: 10px 0;
    }
    
    #servicios ul {
        justify-content: center; /* Centra los servicios en dispositivos pequeños */
    }
    
    #servicios li {
        width: 100%;
        max-width: 300px; /* Limita el ancho máximo de cada servicio */
    }
}

/* Estilos para el pie de página */
footer {
    background-color: var(--color-fondo);
    color: var(--color-texto-principal);
    text-align: center;
    padding: 1rem;
    border-top: 1px solid var(--color-borde);
}

/* Estilos para los servicios como botones */
.servicios-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.servicio {
    width: 100%;
    border: 1px solid var(--color-borde);
    border-radius: 5px;
    margin: 10px 0;
    overflow: hidden;
}

.servicio-titulo {
    width: 100%;
    padding: 10px 20px;
    background-color: var(--color-botones);
    color: white;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out, transform 0.2s ease-in-out;
    text-align: left;
}

.servicio-titulo:hover {
    background-color: var(--color-texto-destacado);
    transform: scale(1.05);
}

.servicio-contenido {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
}

.servicio.activo .servicio-contenido {
    max-height: 1000px; /* Cambia el valor según tus necesidades */
    transition: max-height 0.5s ease-in-out; /* Ajusta la duración de la animación */
}
