/* 🎨 Paleta de colores */
:root {
    --color-white: #ffffff;
    --color-gold: #f5d55f;
    /* dorado suave */
    --color-black: #111111;
    --color-green: #c8eacb;
    /* verde pastel */
    --color-gray: #9aa097;
    /* gris verdoso */
    --color-bg: #FCFBE8;
    /* blanco grisáceo de fondo */
}

/* Reset básico */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Helvetica Neue", Arial, sans-serif;
    background-color: var(--color-bg);
    color: var(--color-black);
    line-height: 1.6;
}

/* ===================== HEADER ===================== */
header {
    width: 100%;
    position: relative;
    text-align: center;
    border-bottom: 3px solid var(--color-gold);
    padding: 0;
    overflow: hidden;
}

/* Contenedor de logos */
header .logo {
    position: relative;
    width: 100%;
}

/* Imagen de fondo (grande) */
header .logo .logo-grande {
    width: 100%;
    /* ocupa todo el ancho */
    height: auto;
    /* mantiene proporción */
    display: block;
    max-height: 190px;
    /* ajusta según prefieras */
}

/* Imagen pequeña encima */
header .logo .logo-pequeno {
    position: absolute;
    /* se superpone sobre la grande */
    top: 50%;
    /* verticalmente en el centro del header */
    left: 50%;
    /* horizontalmente centrada */
    transform: translate(-50%, -50%);
    /* centra perfectamente */
    max-height: 400px;
    /* tamaño de la imagen pequeña */
    height: auto;
}

/* Navegación debajo */
nav {
    margin-top: 1rem;
}

nav a {
    margin: 0 1rem;
    text-decoration: none;
    color: var(--color-black);
    font-weight: 600;
    transition: 0.3s;
}

nav a:hover {
    color: var(--color-gold);
}

/* ===================== CONTENIDO ===================== */

body {
    margin: 0;
    /* quitamos márgenes raros */
    padding: 0;
    /* quitamos padding por defecto */
    font-family: sans-serif;
    /* fuente más limpia */
    line-height: 1.6;
    /* más legible */
    color: var(--color-black);
}

/* Contenedor general para dar márgenes */
.container {
    max-width: 1000px;
    /* ancho máximo de lectura */
    margin: 0 auto;
    /* centra horizontalmente */
    padding: 0 1.5rem;
    /* deja espacio a izquierda/derecha */
}

/* Márgenes para párrafos */
p {
    margin-bottom: 1rem;
}

main {
    max-width: 1000px;
    margin: 2rem auto;
    padding: 0 1rem;
}

h1,
h2,
h3 {
    color: var(--color-gold);
    margin-bottom: 1rem;
}

h2 {
    border-left: 4px solid var(--color-gold);
    padding-left: 0.5rem;
    margin-top: 2rem;
}

/* ===================== BOTONES ===================== */
button,
.btn {
    background: var(--color-gold);
    border: none;
    padding: 0.6rem 1.2rem;
    font-size: 1rem;
    font-weight: bold;
    border-radius: 6px;
    cursor: pointer;
    transition: 0.3s;
    color: var(--color-black);
}

button:hover,
.btn:hover {
    background: var(--color-green);
}

/* ---------- FOOTER ---------- */
footer {
    background: var(--color-gray);
    color: #fff;
    padding: 3rem 2rem;
    margin-top: 3rem;
    border-top: 3px solid var(--color-gold);
}

.footer-container {
    max-width: 1100px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.footer-info h2 {
    color: var(--color-gold);
    margin-bottom: 1rem;
}

.footer-info p {
    margin: 0.4rem 0;
    color: var(--color-black);
}

/* Formulario dentro del footer */
.footer-form h2 {
    color: var(--color-black);
    margin-bottom: 1rem;
}

.footer-form form {
    background: var(--color-green);
    padding: 1.5rem;
    border-radius: 8px;
    color: var(--color-black);
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.2);
}

.footer-form label {
    font-weight: 500;
    display: block;
    margin: 0.5rem 0 0.2rem;
}

.footer-form input,
.footer-form textarea {
    width: 100%;
    padding: 0.6rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 1rem;
    font-size: 1rem;
}

.footer-form input:focus,
.footer-form textarea:focus {
    outline: none;
    border-color: var(--color-gold);
}

.footer-form input[type="submit"] {
    background: var(--color-gold);
    color: #fff;
    border: none;
    cursor: pointer;
    font-weight: bold;
    transition: background 0.3s;
}

.footer-form input[type="submit"]:hover {
    background: #b39545;
}

/* Responsive */
@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr;
    }
}


/* ===================== LISTAS DE SERVICIOS ===================== */
ul {
    list-style: none;
    margin: 0.5rem 0;
    padding: 0.5rem;
    background: var(--color-white);
    border: 1px solid #eee;
    border-radius: 6px;
    transition: 0.3s;
}

ul:hover {
    background: var(--color-green);
}

/* ======== FIX navegación ======== */
nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 2rem;
    /* espacio entre botones */
}

nav li {
    display: inline;
}

nav {
    position: relative;
    /* necesario para que z-index funcione */
    z-index: 50;
    /* obliga al nav a estar por encima de las imágenes */
}

.texto-imagen {
  display: flex;
  align-items: center; /* centra verticalmente */
  gap: 2rem;           /* espacio entre texto e imagen */
}

.texto {
  flex: 1; /* el texto ocupa el espacio restante */
}

.imagen img {
  max-width: 250px;
  height: auto;
  border-radius: 8px;
}

.footer-info i {
  margin-right: 8px;
}

/* Contenedor de las dos opciones */
.opciones-container {
  display: flex;
  gap: 20px; /* espacio entre los cuadros */
  justify-content: center;
  flex-wrap: wrap; /* para que se adapten en pantallas pequeñas */
  margin-top: 15px;
}

/* Cada cuadro individual */
.service-box {
  background-color: #f8f5e8;
  border: 1px solid #e0d8a8;
  border-radius: 10px;
  padding: 15px 20px;
  width: 45%; /* 2 cuadros por fila */
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* Texto interno */
.service-box p {
  margin: 0;
}
