/* RESET BÁSICO */
* {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: Arial, sans-serif;
 }

 body {
     background-color: #f4f4f9;
     color: #333;
     line-height: 1.6;
 }

/* HERO / PRESENTACIÓN */
.hero {
    position: relative;
    width: 100%;
    height: 140px;             
    overflow: hidden;
}

/* Imagen alargada */
.hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;          
    filter: brightness(70%);    
}

/* Título centrado */
.hero h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 2rem;
    font-weight: 300;
    letter-spacing: 2px;
    text-align: center;
    text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}
/* Menú de navegación */
 nav.menu {
     background-color: #007acc;
     padding: 10px 0;
 }

 nav.menu ul {
     list-style: none;
     display: flex;
     justify-content: center;
     gap: 20px;
 }

 nav.menu ul li a {
     color: white;
     text-decoration: none;
     font-weight: bold;
     padding: 5px 10px;
     border-radius: 5px;
     transition: background 0.3s;
 }

 nav.menu ul li a:hover {
     background-color: #005f99;
 }

 /* Formulario de saludo */
 form {
     background-color: #fff;
     padding: 20px;
     margin: 20px auto;
     max-width: 500px;
     border-radius: 10px;
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
 }
div.bienvenida {
    text-align: center;
    margin: 20px auto;
    max-width: 500px;
    color: #804848;    
  font-style: italic;
}

/* div.bienvenida img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

div.bienvenida h1 {
    margin-top: 10px;
}
 */
form label {
     display: block;
     margin-bottom: 8px;
     font-weight: bold;
 }

 form input[type="text"] {
     width: 100%;
     padding: 10px;
     margin-bottom: 15px;
     border-radius: 5px;
     border: 1px solid #ccc;
 }

 form button {
     background-color: #007acc;
     color: white;
     border: none;
     padding: 10px 20px;
     border-radius: 5px;
     cursor: pointer;
     transition: background 0.3s;
 }

 form button:hover {
     background-color: #005f99;
 }

 /* Mensaje de saludo */
 p strong {
     display: block;
     background-color: #e0f7fa;
     color: #007acc;
     padding: 10px;
     margin: 20px auto;
     max-width: 500px;
     border-radius: 5px;
     text-align: center;
 }

 /* Paneles de secciones */
 .contenedor {
     max-width: 1200px;
     margin: auto;
     padding: 20px;
 }

 .panel {
     background-color: #fff;
     padding: 20px;
     margin-bottom: 20px;
     border-radius: 10px;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
 }

 .panel h2 {
     margin-bottom: 10px;
     color: #007acc;
 }

 .panel p {
    color: #ba1616;
    font-size: 0.95rem;
    font-style: italic;
     margin-bottom: 15px;
}


 .panel ul {
     list-style: none;
     padding-left: 0;
 }

 .panel ul li {
     margin-bottom: 8px;
 }

 .panel ul li a {
     text-decoration: none;
     color: #333;
     margin-right: 10px;
     transition: color 0.3s;
 }

 .panel ul li a:hover {
     color: #007acc;
 }

 /* Enlace arriba */
 a#arriba {
     display: block;
     height: 50px;
 }

 h2 a {
     font-size: 0.8rem;
     text-decoration: none;
     color: #007acc;
     margin-left: 10px;
 }

 h2 a:hover {
     color: #8eacc0;
 }
footer {
     text-align: center;
     color: #000;
 }

@media (max-width: 768px) {
    .hero {
        height: 100px;
    }

    .hero h1 {
        font-size: 1.4rem;
        letter-spacing: 1px;
    }
}
