/* HUIL 3.1.1. Identidad institucional y cuadernos por módulo. */
.institutional-masthead { background: #fff; padding: 12px clamp(12px,4vw,60px) 6px; }
.institutional-masthead button { display: block; width: min(100%, 920px); margin-inline: auto; padding: 0; border: 0; background: #fff; cursor: pointer; }
.institutional-masthead img { display: block; width: 100%; height: auto; object-fit: contain; }
.topbar .brand { min-width: 0; }
.topbar .brand-copy strong { font-size: 1.1rem; }
.module-document-links { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 16px; }
.module-document-links > span { display: block; color: var(--muted); font-size: .875rem; margin-bottom: 10px; }
.theory-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.theory-actions a { text-decoration: none; }
.theory-actions a:focus-visible, .institutional-masthead button:focus-visible { outline: 3px solid #007eac; outline-offset: 5px; }
.theory-word { display: inline-flex; align-items: center; min-height: 44px; gap: 10px; color: var(--ink); font-size: .9rem; font-weight: 650; text-decoration: underline !important; text-underline-offset: 4px; }
.module-theory { display: flex; align-items: flex-start; gap: 22px; margin: 0 0 36px; padding: clamp(22px,3vw,36px); background: #eff5f5; border: 1px solid #cadbdd; border-radius: 12px; }
.theory-mark { flex: 0 0 52px; width: 52px; height: 52px; padding: 10px; border-radius: 10px; color: #155c6a; background: #fff; }
.theory-mark svg { width: 100%; height: 100%; }
.theory-copy { min-width: 0; }
.theory-copy h2 { margin: 8px 0 12px; font-size: clamp(1.45rem,2.3vw,2rem); }
.theory-copy p { margin: 0 0 18px; color: var(--muted); }
.theory-copy small { display: block; margin-top: 16px; font-size: .875rem; line-height: 1.5; color: var(--muted); }
.theory-library { padding-top: 42px; }
.theory-library h2 { font-size: 1.8rem; margin: 0 0 12px; }
.theory-library > p { color: var(--muted); max-width: 760px; }
.theory-library-list { list-style: none; padding: 0; margin: 24px 0 0; }
.theory-library-list li { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 18px 0; border-top: 1px solid var(--line); }
.theory-library-list strong { display: block; font-size: 1rem; }
.theory-library-list small { display: block; color: var(--muted); margin-top: 6px; }
body.night .module-theory { background: #173943; border-color: #355764; }
body.night .theory-mark { background: #244b56; color: #d2e7ad; }
body.high-contrast .module-theory { color: #000; background: #fff; border: 2px solid currentColor; }
@media (max-width: 600px) {
  .institutional-masthead { padding: 10px 8px 6px; }
  .module-theory { display: block; }
  .theory-mark { margin-bottom: 16px; }
  .theory-library-list li { align-items: flex-start; flex-direction: column; gap: 10px; }
  .theory-actions { gap: 8px 15px; }
}
@media print { .institutional-masthead { display: none !important; } }
