html{
    height:100%;
}

body{
    min-height:100vh;

    display:flex;
    flex-direction:column;

    margin:0;
    font-family:"Montserrat",Arial, sans-serif;
    background:#f5f5f5;
}

header{

    background:#1b4332;
    color:white;

    padding:22px 35px;

}

.cabecera{

        position:relative;

    max-width:1200px;

    margin:0 auto;

    display:flex;

    justify-content:center;

    align-items:center;

}

.izquierda{

    display:flex;

    align-items:center;

    gap:20px;

}

.titulo h1{

    margin:0;

    font-family:"Cinzel", serif;

    font-size:2.8rem;

}

.titulo p{

    margin-top:6px;

    font-size:1.2rem;

    opacity:.9;

}

.volver{

    position:absolute;

    right:0;

    top:50%;

    transform:translateY(-50%);

    display:flex;

    align-items:center;

    gap:10px;

}

.volver a{

    color:white;

    text-decoration:none;

    font-size:18px;

    font-weight:600;

}

.volver a:hover{

    text-decoration:underline;

}

.volver span{

    color:rgba(255,255,255,.7);

}
.titulo{

    display:flex;

    flex-direction:column;

}

.titulo h1{

    margin:0;

    font-family:"Cinzel", serif;

    font-size:2.5rem;

}

.titulo p{

    margin-top:6px;

    font-size:1rem;

}
.contenido{

    flex:1;

    max-width:1280px;
    width:100%;

    margin:20px auto 50px auto;
    padding:0 25px;

    box-sizing:border-box;

}

.resumen{

    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;

}

.tarjeta{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:16px;

    width:220px;

    padding:18px;

    background:white;

    border-radius:14px;

    box-shadow:0 4px 12px rgba(0,0,0,.08);

}

.icono-tarjeta{

    width:46px;

    height:46px;

    object-fit:contain;

    flex-shrink:0;

}

.tarjeta img{

    width:60px;
    height:60px;

}

.numero{

    font-size:1.5rem;

    line-height:1;

    color:#1b4332;

    font-weight:600;

}

.texto{

    margin-top:5px;

    font-size:1rem;

    color:#666;

}

.bloque{

    margin-top:18px;

}

.bloque h3{

    color:#1b4332;

    font-size:28px;

    margin-bottom:25px;

    border-bottom:3px solid #1b4332;

    padding-bottom:10px;

}

.lista-numenes{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

}

.numen{

    text-decoration:none;

    background:#edf7f1;

    color:#1b4332;

    border:1px solid #d5eadf;

    padding:8px 15px;

    border-radius:18px;

    font-size:15px;

    font-weight:600;

    transition:.2s;

}

.numen:hover{

    background:#1b4332;

    color:white;

    border-color:#1b4332;

    transform:translateY(-2px);

}


.bibliografia{

    padding-left:25px;

}

.bibliografia li{

    margin-bottom:10px;

    font-size:17px;

    line-height:1.5;

}

/* ===========================
   CABECERA
=========================== */

.cabecera{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:18px;

    max-width:1280px;

    margin:auto;

}

.logo{

    width:75px;

    height:75px;

    object-fit:contain;

    display:block;

}

.titulo h1{

    margin:0;

}

.titulo p{

    margin-top:4px;

}
footer{

    margin-top:60px;

    background:#1f4d37;

    color:white;

    padding:30px 20px;

}

.footerContenido{

    max-width:1280px;

    margin:auto;

    text-align:center;

}

.footerContenido h3{

    font-size:1.9rem;

    margin:0 0 8px;

    font-family:'Cinzel',serif;

}

.footerContenido p{

    margin:6px 0;

    line-height:1.5;

}

.footerContenido a{

    color:white;

    text-decoration:none;

    transition:.25s;

}

.footerContenido a:hover{

    color:#d8c17a;

}

.footerLinks{

    display:flex;

    justify-content:center;

    gap:22px;

    flex-wrap:wrap;

    margin:18px 0 14px;

}

.copyright{

    opacity:.6;

    font-size:.85rem;

    margin-top:14px;

}

.footerLogo{

    width:65px;

    margin-bottom:6px;

}

.lista-numenes{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:22px;

}

.lista-numenes h4{

    width:100%;

}

.categoria-numenes{

    margin-top:25px;

}

.categoria-numenes h4{

    margin:0 0 12px 0;

    padding-bottom:6px;

    border-bottom:2px solid #e8e8e8;

    font-size:16px;

    color:#1b4332;

    text-transform:uppercase;

    letter-spacing:.5px;

    text-align: justify;

}
.informacion{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:40px;

    align-items:start;

}

.sin-datos{

    background:#f8fbf9;

    border:1px solid #d6e8dd;

    border-left:5px solid #1b4332;

    padding:20px;

    border-radius:10px;

    margin-bottom:25px;

}

.sin-datos h3{

    margin-top:0;

    color:#1b4332;

}

.sin-datos p{

    margin-bottom:10px;

    line-height:1.6;

}
#contenido{

    flex:1;

}
.titulo-municipio{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:20px;

}

.icono-titulo{

    width:56px;

    height:56px;

    border-radius:50%;

    background:#f5f5ef;

    padding:10px;

    object-fit:contain;

    flex-shrink:0;

}


#accionesCabecera{

    position:absolute;

    top:18px;

    right:25px;

    display:flex;

    flex-direction:column;

    align-items:flex-end;

    gap:8px;

}

#botonesAccesibilidad{
    display:flex;
    gap:10px;
    justify-content: center;
}

.accesibilidad{

    width:30px;
    height:24px;

    border:1px solid transparent;

    background:transparent;

    color:#d4af37;

    cursor:pointer;

    font-size:14px;

    border-radius:4px;

    transition:.2s;

}

.accesibilidad.activo{

    border:1px solid #d4af37;

    background:#d4af37;

    color:#1b4332;

}

.accesibilidad:hover{

    border:1px solid #d4af37;

    background:rgba(212,175,55,.15);

}
/* ===========================
   MODO ALTO CONTRASTE
=========================== */

body.alto-contraste{

    background:#fff;
    color:#000;

}

body.alto-contraste header{

    background:#102b20;

}

body.alto-contraste header h1,
body.alto-contraste header p,
body.alto-contraste .volver a{

    color:#fff;

}

body.alto-contraste .tarjeta{

    border:2px solid #000;
    box-shadow:0 4px 12px rgba(0,0,0,.25);

}

body.alto-contraste .sin-datos{

    background:#fff;
    border:2px solid #000;
    border-left:6px solid #000;

}

body.alto-contraste .categoria-numenes h4{

    color:#000;
    border-bottom:2px solid #000;

}

body.alto-contraste .numen{

    background:#fff;
    color:#000;
    border:2px solid #000;

}

body.alto-contraste .numen:hover{

    background:#000;
    color:#fff;

}

body.alto-contraste button:focus,
body.alto-contraste a:focus{

    outline:4px solid #ffbf47;
    outline-offset:4px;

}

@media (max-width:900px){

    .contenido{

    padding:0 14px;
    margin:10px auto 30px;

    }

    .informacion{

        display:flex;
        flex-direction:column;
        gap:30px;

    }

    .bloque{

        width:100%;

    }

    .resumen{

    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;

    width:100%;
    max-width:400px;

    margin:0 auto;

    }


}

@media (max-width:768px){

    /* CABECERA */

    header{

        padding:18px;

    }

    .cabecera{

        flex-direction:column;
        text-align:center;
        gap:14px;

    }

    .izquierda{

        flex-direction:column;
        gap:12px;

    }

    .logo{

        width:65px;
        height:65px;

    }

    .titulo{

        align-items:center;

    }

    .titulo h1{

        font-size:2rem;
        line-height:1.15;

    }

    .titulo p{

        font-size:1rem;
        text-align:center;

    }

    .volver{

        position:static;
        transform:none;

        justify-content:center;
        flex-wrap:wrap;

        margin-top:10px;

    }

    /* CONTENIDO */

    .contenido{

        padding:0 14px;
        margin:10px auto 30px;

    }

    .informacion{

        display:flex;
        flex-direction:column;
        gap:28px;

    }

    /* TARJETAS */

    .resumen{

        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:12px;

    }

    .tarjeta{

        width:100%;
        max-width:150px;
        /*min-height: 110px;*/

        padding:16px;

    }

    .icono-tarjeta{

        width:40px;
        height:40px;

    }

    .numero{

        font-size:2rem;

    }

    .texto{

        font-size:15px;

    }

    /* TÍTULOS */

    .bloque h3{

        font-size:32px;

    }

    .categoria-numenes h4{

        font-size:20px;
        text-align: left;

    }

    /* LISTA DE NÚMENES */

    .lista-numenes{

        gap:10px;

    }

    .numen{

        font-size:15px;

    }

    /* BIBLIOGRAFÍA */

    .bibliografia li{

        font-size:17px;

    }

}

/* ===========================
   TEXTO GRANDE
=========================== */

body.texto-grande{

    font-size:112.5%;

}

body.texto-grande .numero{

    font-size:2rem;

}

body.texto-grande .texto{

    font-size:1.15rem;

}

body.texto-grande .bloque h3{

    font-size:32px;

}

body.texto-grande .categoria-numenes h4{

    font-size:20px;

}

body.texto-grande .numen{

    font-size:17px;

}

body.texto-grande .bibliografia li{

    font-size:19px;

}

body.texto-grande .sin-datos p{

    font-size:1.15rem;

    line-height:1.8;

}