/* Estilos propios de la página Doctrina Institucional y DIH */
.tl { position: relative; max-width: 860px; margin: 2.2rem auto 0; padding: 0; list-style: none; }
.tl::before { content: ""; position: absolute; left: 92px; top: 6px; bottom: 6px; width: 3px; background: linear-gradient(var(--ac), color-mix(in srgb, var(--ac) 20%, white)); border-radius: 3px; }
.tl li { position: relative; display: grid; grid-template-columns: 80px 1fr; gap: 0 34px; margin-bottom: 1.3rem; }
.tl .anio { text-align: right; font: 800 1.25rem 'Poppins','Inter',sans-serif; color: var(--ac); padding-top: .55rem; }
.tl .hecho { position: relative; padding: 1rem 1.2rem; background: #fff; border: 1px solid #E9ECEF; border-radius: 14px; box-shadow: 0 5px 16px rgba(0,0,0,.05); }
.tl .hecho::before { content: ""; position: absolute; left: -31px; top: 1rem; box-sizing: border-box; width: 20px; height: 20px; background: #fff; border: 4px solid var(--ac); border-radius: 50%; }
.tl .hecho small { display: block; margin-bottom: .15rem; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #6B7A8A; }
.tl .hecho h3 { margin: 0 0 .25rem; font: 800 1.05rem 'Poppins','Inter',sans-serif; color: #1A2530; }
.tl .hecho p { margin: 0; font-size: .93rem; line-height: 1.5; color: #4A5568; }

.grupo-tit { display: flex; align-items: center; gap: .7rem; margin: 2.2rem 0 .2rem; font: 800 1.05rem 'Poppins','Inter',sans-serif; color: #1A2530; }
.grupo-tit span { padding: .25rem .8rem; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--ac); border-radius: 999px; }
.pgi-card.mini { padding: 1.2rem 1.2rem; }
.pgi-card.mini .letra { width: 44px; height: 44px; font-size: 1.3rem; }

.emblemas { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.2rem; margin-top: 2rem; }
.emblema { padding: 1.5rem; text-align: center; background: #fff; border: 1px solid #E9ECEF; border-radius: 18px; box-shadow: 0 6px 18px rgba(0,0,0,.05); }
.emblema .sig { display: grid; place-items: center; width: 84px; height: 84px; margin: 0 auto .8rem; border: 2px solid #E2E8F0; border-radius: 16px; background: #fff; }
.emblema h3 { margin: 0 0 .3rem; font: 800 1.1rem 'Poppins','Inter',sans-serif; color: #1A2530; }
.emblema p { margin: 0; font-size: .92rem; line-height: 1.5; color: #4A5568; }
.uso2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.2rem; margin-top: 1.4rem; }
.uso { padding: 1.4rem 1.5rem; border-radius: 18px; color: #fff; }
.uso.prot { background: linear-gradient(120deg, #8B0000, #E50914); }
.uso.indi { background: linear-gradient(120deg, #0f1b27, #365F86); }
.uso h3 { margin: 0 0 .4rem; font: 800 1.1rem 'Poppins','Inter',sans-serif; color: #fff; }
.uso p { margin: 0; font-size: .94rem; line-height: 1.55; color: rgba(255,255,255,.95); }

.tabla-wrap { max-width: 860px; margin: 1.6rem auto 0; overflow-x: auto; border-radius: 16px; box-shadow: 0 6px 20px rgba(0,0,0,.07); }
.tabla-dih { width: 100%; border-collapse: collapse; background: #fff; font-size: .94rem; }
.tabla-dih th { padding: .9rem 1rem; text-align: left; color: #fff; background: var(--ac); font-family: 'Poppins','Inter',sans-serif; }
.tabla-dih td { padding: .8rem 1rem; line-height: 1.45; color: #2d3748; border-top: 1px solid #E9ECEF; vertical-align: top; }
.tabla-dih tr:nth-child(even) td { background: #F7F9FB; }
.tabla-dih td:first-child { font-weight: 700; color: #1A2530; }
.escenarios { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; margin-top: 1.6rem; }
.esc { padding: 1.2rem; background: #fff; border: 1px solid #E9ECEF; border-top: 5px solid var(--ac); border-radius: 16px; }
.esc h3 { margin: 0 0 .3rem; font: 800 1rem 'Poppins','Inter',sans-serif; color: #1A2530; }
.esc p { margin: 0; font-size: .9rem; line-height: 1.5; color: #4A5568; }
@media (max-width: 600px) { .tl::before { left: 14px; } .tl li { grid-template-columns: 1fr; padding-left: 40px; gap: 0; } .tl .anio { text-align: left; padding: 0 0 .3rem; } .tl .hecho::before { left: -34px; } }
