
body {
  font-family: var(--fuente-principal); 
  color: var(--color-texto);           
  background-color: var(--color-fondo); 
  margin: 0;                            
  padding: 0;                           
  line-height: 1.6;
}

header {
    text-align: center;
}

h1, h2, h3 {
  font-family: var(--fuente-titulos);
  color: var(--color-primario);
}

a {
  color: var(--color-primario);
}


.anuncio {
  background-color: #fffbe6;        
  border-left: 5px solid #ffe58f;  
  padding: var(--padding-base);     
  margin-bottom: var(--margin-base);
}


.conBorde {
  border: 1px solid var(--color-borde); 
  padding: var(--padding-base);
  margin: var(--margin-base);
  background-color: var(--color-secundario);
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 3px solid var(--color-foco-visible);
  box-shadow: 0 0 5px var(--color-foco-visible);
}

.skip-link {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: static;
  width: auto;
  height: auto;
  padding: var(--padding-base);
  margin: var(--margin-base);
  background-color: var(--color-secundario);
  color: var(--color-primario);
  text-decoration: none;
  font-weight: bold;
}


form {
  background-color: var(--color-fondo);
  border: 1px solid var(--color-borde); 
  border-radius: 5px;
  padding: var(--padding-base); 
}


fieldset {
  border: none; 
  padding: 0;
  margin: 0; 
}

legend {
  font-family: var(--fuente-titulos);
  font-size: 1.3em;
  font-weight: bold;
  padding: 0;
  margin-bottom: var(--margin-base);
  color: var(--color-primario);
}

.grupo-formulario {
  display: flex;
  flex-wrap: wrap; 
  align-items: center;
  margin-bottom: var(--margin-base);
}

.grupo-formulario label {
  
  width: var(--ancho-label-formulario);
  margin-right: 10px;
  text-align: right;
  font-weight: bold;
}


.grupo-formulario input[type="text"],
.grupo-formulario input[type="email"],
.grupo-formulario input[type="tel"],
.grupo-formulario input[type="search"],
.grupo-formulario textarea {
  flex-grow: 1; 
  padding: 8px;
  border: 1px solid var(--color-borde);
  border-radius: 3px;
  font-family: var(--fuente-principal);
  font-size: 1em;
}

button[type="submit"] {
  display: block;
  margin: var(--margin-base) 0 0 var(--ancho-label-formulario);
  margin-left: calc(var(--ancho-label-formulario) + 10px); 
  padding: 10px 20px;
  background-color: var(--color-primario); 
  color: var(--color-fondo); 
  font-weight: bold;
  font-family: var(--fuente-principal);
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

button[type="submit"]:hover {
  background-color: var(--color-secundario);
  color: var(--color-primario);
}

h2#indice + nav ul {
  display: flex;            
  flex-wrap: wrap;          
  justify-content: center;  
  list-style-type: none;    
  padding: 0;              
  
  border: 1px solid var(--color-borde);
  padding: var(--padding-base);
  margin-top: var(--margin-base);
}

h2#indice + nav li {
  margin: 5px 10px;
}

#indice {
  text-align: center;
}

footer {
  text-align: center;
  
  border-top: 1px solid var(--color-borde);
  margin-top: 20px;
  padding-top: 20px;
}


nav#tablacontenidos ul {
  display: flex;            
  flex-wrap: wrap;          
  justify-content: center;  
  list-style-type: none;   
  padding: 0;              
  
  
  background-color: var(--color-fondo);
  padding: var(--padding-base);
  margin: var(--margin-base) 0;
  border: 1px solid var(--color-borde);
  border-radius: 5px; 
}

nav#tablacontenidos li {
  margin: 0 15px; 
}


.lista-simple {
  list-style-type: none; 
  padding-left: 0;       
}


.bloques-secciones {
  display: grid; 
  

  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  
  gap: 20px; 
  margin-top: var(--margin-base);
}


.bloques-secciones section {
  border: 1px solid var(--color-borde); 
  background-color: var(--color-fondo); 
  padding: var(--padding-base); 
  border-radius: 5px;
}

.tabla-estilizada {
  table-layout: fixed; 
  width: 100%;
  margin-top: var(--margin-base);
}

.tabla-estilizada thead th:nth-child(1) { width: 25%; }
.tabla-estilizada thead th:nth-child(2) { width: 40%; }
.tabla-estilizada thead th:nth-child(3) { width: 35%; }

.tabla-estilizada th,
.tabla-estilizada td {
  padding: 12px; /* */
}

.tabla-estilizada {
  border-collapse: collapse; 
  border: 2px solid var(--color-primario);
}
.tabla-estilizada th,
.tabla-estilizada td {
  border: 1px solid var(--color-borde); 
}

.tabla-estilizada caption {
  font-family: var(--fuente-titulos);
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: var(--margin-base);
}
.tabla-estilizada thead th {
  font-family: var(--fuente-titulos);
  letter-spacing: 1px;
}
.tabla-estilizada tbody th { 
  text-align: center;
}
.tabla-estilizada tbody td { 
  text-align: center;
}
.tabla-estilizada tfoot {
  font-weight: bold;
}

.tabla-estilizada thead,
.tabla-estilizada tfoot {
  background-color: var(--color-primario);
  color: var(--color-fondo);
}

.tabla-estilizada tbody tr:nth-child(odd) {
  background-color: var(--color-fondo); 
}
.tabla-estilizada tbody tr:nth-child(even) {
  background-color: var(--color-fondo); 
}

.tabla-estilizada tbody tr:hover {
  background-color: var(--color-anuncio-fondo);
}

.centrado {
  text-align: center;
}