/*
estilos.css
Sergio Quinto Perea
sergio.quinto18@gmail.com
*/

/* RESET BÁSICO Y TIPOGRAFÍA GENERAL */
html, body, div, span, h1, h2, h3, p, ul, li, dl, dt, dd, a {
    margin: 0;
    padding: 0;
    border: 0;
}

body {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #222;
    background-color: #e3e8f0;
}

a {
    color: #0a4f9e;
    text-decoration: none;
}

a:hover,
a:focus {
    text-decoration: underline;
}

/* CONTENEDOR GENERAL */
#contenedor {
    max-width: 1160px;
    margin: 20px auto;
    background-color: #ffffff;
    border-radius: 6px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    padding: 20px;
    box-sizing: border-box;
}

/* CABECERA / INTRO */
#intro {
    background: linear-gradient(to right, #0a4f9e, #1480be);
    color: #ffffff;
    padding: 20px;
    border-radius: 4px;
    margin-bottom: 20px;
}

#titulo h1 span {
    display: block;
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 1px;
}

#titulo h2 span {
    display: block;
    font-size: 16px;
    margin-top: 4px;
    font-weight: normal;
}

/* BLOQUE RESUMEN DENTRO DE INTRO */
#resumen {
    margin-top: 15px;
    background-color: rgba(255, 255, 255, 0.08);
    padding: 12px;
    border-radius: 4px;
}

#resumen p span,
#resumen ul li {
    color: #f4f7fc;
}

#resumen ul.ul1 {
    margin-left: 18px;
    list-style: disc;
}

/* COMENTARIO DENTRO DE INTRO */
#comentario {
    margin-top: 15px;
    background-color: rgba(0, 0, 0, 0.15);
    padding: 10px 12px;
    border-radius: 4px;
    font-size: 13px;
}

#comentario a {
    color: #ffeb99;
    text-decoration: underline;
}

/* BLOQUE PRINCIPAL Y LATERAL
   -------------------------------------- */
#apartados {
    /* columna principal */
}

#enlacesintra,
#enlaces,
#enlacesversiones {
    /* se usan en la barra lateral */
}

/* LAYOUT RESPONSIVE POR DEFECTO (MÓVIL PRIMERO)
   En móviles todo va en una sola columna */
#intro,
#enlacesintra,
#apartados,
#enlaces,
#enlacesversiones {
    margin-bottom: 20px;
}

/* BLOQUE DE ENLACES INTRAPÁGINA (MENÚ DE SECCIONES) */
#enlacesintra {
    background-color: #f2f5fb;
    border: 1px solid #d0d8e4;
    border-radius: 4px;
    padding: 12px 14px;
}

#enlacesintra h3.intra span {
    font-size: 15px;
    text-transform: uppercase;
    color: #0a4f9e;
    letter-spacing: 0.08em;
}

#enlacesintra ul.ul1 {
    margin-top: 8px;
    list-style: none;
}

#enlacesintra ul.ul1 li {
    margin: 4px 0;
}

#enlacesintra ul.ul1 li a {
    display: inline-block;
    padding-left: 12px;
    position: relative;
    color: #0a4f9e;
    font-weight: bold;
    font-size: 13px;
}

#enlacesintra ul.ul1 li a:before {
    content: "»";
    position: absolute;
    left: 0;
    top: 0;
    color: #1480be;
}

/* APARTADOS (OBJETIVOS, CONTENIDOS, PROFESORES, BIBLIOGRAFÍA) */
#apartados {
    background-color: #ffffff;
}

#apartados>div {
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e1e5ee;
}

#apartados h3 span {
    display: block;
    font-size: 18px;
    color: #0a4f9e;
    border-left: 4px solid #0a4f9e;
    padding-left: 8px;
    margin-bottom: 8px;
}

#apartados p span {
    display: block;
    margin-bottom: 6px;
}

/* LISTADOS DENTRO DE #apartados */
#apartados ul.ul1,
#apartados ul.ul2 {
    margin-left: 20px;
    margin-bottom: 8px;
}

#apartados ul.ul1 li,
#apartados ul.ul2 li {
    margin: 3px 0;
}

/* DEFINICIONES (PROFESORES Y BIBLIOGRAFÍA) */
#apartados dl {
    margin: 8px 0 8px 0;
}

#apartados dt {
    font-weight: bold;
    color: #0a4f9e;
    margin-top: 6px;
}

#apartados dd {
    margin-left: 12px;
    font-size: 13px;
}

/* BLOQUE ENLACES: selecciona diseño, histórico, recursos */
#enlaces {
    background-color: #f7f9fd;
    border: 1px solid #d0d8e4;
    border-radius: 4px;
    padding: 12px 14px;
}

#enlaces h3.selecciona span,
#enlaces h3.historico span,
#enlaces h3.recursos span {
    display: block;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    color: #0a4f9e;
    margin-bottom: 4px;
}

#enlaces ul {
    list-style: none;
    margin-bottom: 10px;
}

#enlaces ul li {
    margin: 3px 0;
}

#enlaces ul li a {
    font-size: 13px;
}

/* BLOQUE VERSIONES ANTERIORES */
#enlacesversiones {
    background-color: #f2f5fb;
    border: 1px solid #d0d8e4;
    border-radius: 4px;
    padding: 10px 12px;
}

#enlacesversiones h3.versiones span {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    color: #0a4f9e;
    margin-bottom: 4px;
    display: block;
}

#enlacesversiones ul.ul1 {
    list-style: none;
    margin-top: 4px;
}

#enlacesversiones ul.ul1 li {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 4px;
}

#enlacesversiones ul.ul1 li a {
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 3px;
    background-color: #ffffff;
    border: 1px solid #c5cfde;
}

/* CLASES EXTRA EN BIBLIOGRAFÍA */
.autores {
    font-weight: bold;
}

.editorial {
    color: #555;
}

.isbn {
    font-style: italic;
}

/* EXTRA DIVS PARA IMÁGENES DECORATIVAS */
#extraDiv1 span,
#extraDiv2 span,
#extraDiv3 span,
#extraDiv4 span,
#extraDiv5 span,
#extraDiv6 span {
    display: block;
}

/* Ejemplo: logotipo decorativo en la esquina superior derecha */
#extraDiv1 {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 120px;
    height: 60px;
    background-image: url("logo-pi.png");
    /* opcional, pon tu imagen si quieres */
    background-repeat: no-repeat;
    background-size: contain;
}

/* Aseguramos que el body sepa que hay posición absoluta dentro */
body#pi {
    position: relative;
}

/* TIPOGRAFÍA DE PÁRRAFOS CON CLASE */
p.p1 span,
p.p2 span,
p.p3 span,
p.p4 span {
    display: block;
    margin-bottom: 6px;
}

/* ESTILOS GENERALES DE TÍTULOS */
h1,
h2,
h3 {
    font-weight: normal;
}

/* MEDIA QUERIES PARA RESPONSIVE
   =============================== */

/* = 900px: layout de dos columnas (contenido + lateral) */
@media screen and (min-width: 900px) {

    #contenedor {
        display: grid;
        grid-template-columns: 250px 1fr 220px;
        grid-template-rows: auto auto auto;
        grid-template-areas:
            "intro   intro   intro"
            "enlacesintra apartados enlaces"
            "enlacesversiones apartados enlaces";
        column-gap: 20px;
    }

    #intro {
        grid-area: intro;
        margin-bottom: 20px;
    }

    #enlacesintra {
        grid-area: enlacesintra;
    }

    #apartados {
        grid-area: apartados;
    }

    #enlaces {
        grid-area: enlaces;
    }

    #enlacesversiones {
        grid-area: enlacesversiones;
        margin-top: 0;
    }

    /* Quitamos márgenes verticales que ya controla el grid */
    #intro,
    #enlacesintra,
    #apartados,
    #enlaces,
    #enlacesversiones {
        margin-bottom: 0;
    }
}

/* Entre 640 y 899px: dos bloques principales apilados, sin solapamientos */
@media screen and (min-width: 640px) and (max-width: 899px) {

    #contenedor {
        display: block;
    }

    #intro {
        margin-bottom: 18px;
    }

    #enlacesintra {
        margin-bottom: 16px;
    }

    #apartados {
        margin-bottom: 16px;
    }

    #enlaces {
        margin-bottom: 12px;
    }

    #enlacesversiones {
        margin-bottom: 0;
    }
}

/* < 640px: móvil, todo a una columna, tamaños algo más pequeños */
@media screen and (max-width: 639px) {

    body {
        font-size: 13px;
    }

    #contenedor {
        margin: 10px;
        padding: 12px;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.10);
    }

    #intro {
        padding: 14px;
    }

    #titulo h1 span {
        font-size: 22px;
    }

    #titulo h2 span {
        font-size: 14px;
    }

    #enlacesintra,
    #enlaces,
    #enlacesversiones {
        padding: 10px;
    }

    #extraDiv1 {
        position: static;
        width: 100%;
        height: 40px;
        margin-bottom: 8px;
        background-position: center;
    }
}