.pei-hero { background:linear-gradient(135deg,var(--color-azul),var(--color-azul-claro));color:var(--color-blanco);padding:var(--espaciado-xl) var(--espaciado-l);text-align:center;border-bottom:4px solid var(--color-dorado); }
.pei-hero h1 { font-family:var(--fuente-titulos);font-size:2rem;line-height:1.3;margin:.5rem 0; }
.pei-hero p { max-width:760px;margin:0 auto; }
.pei-edition { font-size:.78rem;font-weight:700;letter-spacing:.08em; }
.pei-pdf-bar { display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#eef4ff;border-bottom:2px solid var(--color-dorado);padding:.8rem var(--espaciado-l);font-size:.88rem;color:var(--color-azul-oscuro); }
.pei-download { display:inline-block;background:var(--color-azul);color:#fff;padding:.65rem 1rem;border-radius:4px;font-weight:700;text-decoration:none; }
.pei-download:hover { background:var(--color-azul-oscuro);color:#fff; }
.pei-wrapper { max-width:var(--ancho-maximo);margin:var(--espaciado-l) auto;padding:0 var(--espaciado-l);display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--espaciado-l);align-items:start; }
.pei-sidebar { position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto;border:1px solid #d9dfe6;border-radius:var(--radio-borde);background:var(--color-gris-claro); }
.pei-index > summary { background:var(--color-azul);color:#fff;font-family:var(--fuente-titulos);font-size:.9rem;font-weight:700;padding:1rem;cursor:pointer; }
.pei-index > summary span { float:right; }
.pei-search { padding:1rem;border-bottom:1px solid #d9dfe6; }
.pei-search label { display:block;font-size:.8rem;font-weight:700;margin-bottom:.4rem;color:var(--color-azul-oscuro); }
.pei-search input { width:100%;min-width:0;font:inherit;font-size:.85rem;padding:.65rem;border:1px solid #a8b6c5;border-radius:4px;background:#fff;color:#222; }
#pei-search-status { font-size:.78rem;margin:.5rem 0 0; }
.pei-sidebar nav ul { list-style:none;margin:0;padding:0; }
.pei-sidebar nav a { display:block;padding:.65rem .85rem;text-decoration:none;font-size:.81rem;line-height:1.5;color:var(--color-azul-oscuro);border-left:3px solid transparent;overflow-wrap:anywhere; }
.pei-sidebar nav summary { padding:.7rem .85rem;font-family:var(--fuente-titulos);font-size:.79rem;font-weight:700;line-height:1.5;color:var(--color-azul-oscuro);cursor:pointer;border-top:1px solid #d9dfe6; }
.pei-sidebar nav details ul { margin-left:.6rem;border-left:1px solid #d9dfe6;background:#fff; }
.pei-sidebar nav a:hover,.pei-sidebar nav a[aria-current="location"] { background:#e8edf5;border-left-color:var(--color-dorado); }
.pei-sidebar nav a[aria-current="location"] { font-weight:700;color:var(--color-azul); }
.pei-sidebar nav summary:hover { background:#e8edf5; }
.pei-reader { min-width:0; }
.pei-section { scroll-margin-top:90px;background:#fff;border:1px solid #d9dfe6;border-radius:var(--radio-borde);padding:clamp(1rem,3vw,2rem);margin-bottom:1.5rem; }
.pei-section[hidden],.pei-sidebar [hidden] { display:none !important; }
.pei-section h2 { font-family:var(--fuente-titulos);font-size:1.4rem;line-height:1.45;color:var(--color-azul-oscuro);border-bottom:3px solid var(--color-dorado);padding-bottom:.8rem;margin:0 0 1rem;overflow-wrap:anywhere; }
.pei-breadcrumb { color:#59677a;font-size:.78rem;line-height:1.5;margin:0 0 .6rem; }
.pei-content { font-size:.95rem;line-height:1.8;color:var(--color-gris-texto);overflow-wrap:anywhere; }
.pei-content p { margin:1rem 0; }
.pei-content a,.pei-section-contents a { color:var(--color-azul-oscuro);text-decoration:underline;text-underline-offset:3px; }
.pei-content ul,.pei-content ol { margin:.4rem 0;padding-left:1.6rem; }
.pei-content ul { list-style:disc outside; }
.pei-content ul.level-1 { list-style-type:circle; }
.pei-content ul.level-2 { list-style-type:square; }
.pei-content li { margin:.4rem 0; }
.pei-content .level-1 { margin-left:1rem; }.pei-content .level-2 { margin-left:2rem; }.pei-content .level-3 { margin-left:3rem; }
.pei-image { display:block;margin:1.5rem auto;max-width:760px;text-align:center; }
.pei-image img { max-width:100%;height:auto;cursor:zoom-in; }
#presentacion .pei-image { max-width:160px; }
.pei-symbol-title { font-family:var(--fuente-titulos);font-size:1.1rem;color:var(--color-azul-oscuro);margin:2rem 0 1rem; }
.pei-symbol-image .pei-image { max-width:220px; }
.pei-symbol-image img { width:100%;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15)); }
.pei-hymn { max-width:520px;margin:1.2rem auto;background:var(--color-gris-claro);border-left:4px solid var(--color-dorado);border-radius:var(--radio-borde);padding:clamp(1rem,3vw,1.8rem);line-height:2; }
.pei-hymn audio { display:block;width:100%;margin-bottom:1rem; }
.pei-verse { white-space:pre-line; }
.pei-table-wrap { max-width:100%;overflow-x:auto;margin:1.2rem 0; }
.pei-content table { width:100%;border-collapse:collapse;font-size:.88rem; }
.pei-content td { min-width:130px;border:1px solid #cdd5de;padding:.7rem;vertical-align:top; }
.pei-content td p:first-child { margin-top:0; }.pei-content td p:last-child { margin-bottom:0; }
.pei-content tr:nth-child(odd) { background:#f4f7fb; }
.pei-section-contents { margin-top:1.5rem; }
.pei-section-contents h3 { font-family:var(--fuente-titulos);font-size:.95rem;color:var(--color-azul-oscuro);margin-bottom:.6rem; }
.pei-section-contents ul { list-style:disc outside;padding-left:1.3rem; }.pei-section-contents li { padding:.35rem 0;font-size:.88rem; }
.pei-pagination { display:flex;gap:1rem;justify-content:space-between;border-top:1px solid #d9dfe6;margin-top:2rem;padding-top:1rem; }
.pei-pagination a { color:var(--color-azul-oscuro);text-decoration:none;font-size:.76rem;max-width:48%;overflow-wrap:anywhere; }
.pei-pagination a[rel="next"] { margin-left:auto;text-align:right; }
.pei-pagination span { display:block;font-weight:700;font-size:.9rem;margin-bottom:.4rem; }
.pei-wrapper :focus-visible,.pei-pdf-bar a:focus-visible { outline:3px solid #855b00;outline-offset:3px; }
@media(max-width:900px) {
  .pei-wrapper { grid-template-columns:minmax(0,1fr);padding:0 var(--espaciado-m); }
  .pei-sidebar { position:static;max-height:none; }
  .pei-sidebar nav { max-height:50vh;overflow:auto; }
  .pei-hero h1 { font-size:1.6rem; }
  .pei-section h2 { font-size:1.2rem; }
}
@media print {
  body > header,body > nav,body > footer,.pei-sidebar,.pei-pagination,.pei-pdf-bar,.pei-section-contents { display:none !important; }
  .pei-wrapper { display:block;margin:0;padding:0; }
  .pei-section[hidden] { display:block !important; }
  .pei-section { border:0;padding:0;break-before:page; }
  .pei-table-wrap { overflow:visible; }
}
