/* Página de Secretaría (category-secretaria.php). La cabecera es .pagina-hero, de style.css. */
.secretaria-pagina .sec-cuerpo { max-width: 1100px; margin: 0 auto; padding: var(--space-xl) var(--space-lg); box-sizing: border-box; }

.sec-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--space-md); margin-bottom: var(--space-xxl); }
.sec-tarjeta {
  display: flex; flex-direction: column; gap: var(--space-xs);
  padding: var(--space-lg); background: var(--card-bg);
  border: 1px solid var(--color-gris-claro); border-top: 3px solid var(--color-dorado);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  text-decoration: none; color: var(--text);
  transition: transform var(--transition), box-shadow var(--transition);
}
.sec-tarjeta:hover, .sec-tarjeta:focus-visible { transform: translateY(-3px); box-shadow: var(--shadow-hover); color: var(--text); }
.sec-tarjeta__icono { font-size: 2rem; line-height: 1; }
.sec-tarjeta__titulo { font-family: var(--font-titulo); font-size: var(--text-lg); font-weight: 700; }
.sec-tarjeta__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; }

.sec-bloque { margin-bottom: var(--space-xxl); scroll-margin-top: var(--space-xl); }
.sec-bloque__cabecera { margin-bottom: var(--space-md); }
.sec-bloque__pretitulo { margin: 0 0 var(--space-xs); font-size: var(--text-sm); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--color-dorado-hover); }
.sec-bloque__titulo { margin: 0; font-family: var(--font-titulo); font-size: var(--text-xl); }
.sec-vacio { padding: var(--space-lg); background: var(--color-fondo); border-radius: var(--radius-md); color: var(--text-muted); margin: 0; }

.sec-avisos {
  --sec-aviso-alto: 9.5rem;
  display: grid; gap: var(--space-md);
  /* Ventana de 4 avisos: el resto se ve desplazando. */
  max-height: calc(4 * var(--sec-aviso-alto) + 3 * var(--space-md) + 4px);
  overflow-y: auto; padding: 2px var(--space-xs) 2px 2px; scrollbar-gutter: stable;
}
.sec-avisos:focus-visible { outline: 2px solid var(--color-dorado); outline-offset: 2px; }
.sec-aviso { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-lg); align-items: center; padding: var(--space-md); box-sizing: border-box; height: var(--sec-aviso-alto); overflow: hidden; background: var(--card-bg); border: 1px solid var(--color-gris-claro); border-radius: var(--radius-lg); }
/* Miniatura recortada a 4:3: las imágenes destacadas tienen proporciones distintas y así la lista no baila. */
.sec-aviso__miniatura { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-md); background: var(--color-fondo); }
.sec-aviso__miniatura img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sec-aviso__sin-imagen { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 2.2rem; opacity: .5; }
@media (max-width: 600px) { .sec-avisos { --sec-aviso-alto: 7.5rem; } .sec-aviso { grid-template-columns: 96px 1fr; gap: var(--space-md); } .sec-aviso__extracto { display: none; } }
.sec-aviso__fecha { font-size: var(--text-sm); color: var(--text-muted); }
.sec-aviso__titulo { margin: var(--space-xs) 0; font-size: var(--text-lg); line-height: 1.3; }
.sec-aviso__titulo a { text-decoration: none; }
.sec-aviso__extracto { margin: 0; color: var(--text-muted); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sec-aviso__titulo { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.secretaria-pagina .pagination { margin-top: var(--space-lg); }
.secretaria-pagina .nav-links { display: flex; gap: var(--space-sm); flex-wrap: wrap; justify-content: center; }
@media (max-width: 600px) { .secretaria-pagina .sec-cuerpo { padding: var(--space-lg) var(--space-md); } }

/* ── Formularios (acordeón por formulario) ── */
.sec-form { background: var(--card-bg); border: 1px solid var(--color-gris-claro); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; }
/* style.css viste TODO <button> (ancho completo, fondo dorado): se anula aquí. */
.sec-form .sec-form__cabecera { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: var(--space-md); width: 100%; padding: var(--space-md) var(--space-lg); cursor: pointer; }
.sec-form .sec-form__cabecera:focus-visible { outline: 2px solid var(--color-dorado); outline-offset: -2px; }
.sec-form__icono { font-size: 1.8rem; }
.sec-form__texto { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.sec-form__titulo { font-family: var(--font-titulo); font-size: var(--text-lg); font-weight: 700; color: var(--text); }
.sec-form__desc { font-size: var(--text-sm); color: var(--text-muted); }
.sec-form__flecha { transition: transform var(--transition); }
.sec-form__cabecera[aria-expanded="true"] .sec-form__flecha { transform: rotate(180deg); }
.sec-form__cuerpo { padding: var(--space-lg); border-top: 1px solid var(--color-gris-claro); }
.sec-form__paso[hidden], .sec-form__cuerpo[hidden], .sec-campo[hidden], .sec-form__error[hidden] { display: none; }
.sec-form__ayuda { margin: 0 0 var(--space-md); color: var(--text-muted); font-size: var(--text-sm); }
.sec-campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-md); margin-bottom: var(--space-md); }
.sec-campo { display: flex; flex-direction: column; gap: var(--space-xs); font-weight: 600; font-size: var(--text-sm); }
.sec-campo--ancho { grid-column: 1 / -1; }
.sec-campo input, .sec-campo select, .sec-campo textarea { width: 100%; box-sizing: border-box; font-weight: 400; font-size: var(--text-base); }
.sec-campo__nota { font-weight: 400; color: var(--text-muted); }
.sec-datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-sm) var(--space-md); padding: var(--space-md); background: var(--color-fondo); border-radius: var(--radius-md); margin-bottom: var(--space-md); }
.sec-datos > div { display: flex; flex-direction: column; }
.sec-datos__k { font-size: var(--text-sm); color: var(--text-muted); }
.sec-datos__v { font-weight: 600; }
.sec-check { display: flex; gap: var(--space-sm); align-items: flex-start; margin-bottom: var(--space-md); font-size: var(--text-sm); }
.sec-check input { margin-top: 3px; width: auto; }
.sec-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sec-form__error { padding: var(--space-sm) var(--space-md); background: #fdecea; color: #8a1f17; border-radius: var(--radius-sm); margin: 0 0 var(--space-md); }
.sec-form .sec-boton { width: auto; }
.sec-form__hecho-titulo { font-family: var(--font-titulo); font-size: var(--text-lg); font-weight: 700; margin: 0 0 var(--space-sm); }

/* ── Asignatura del cambio y su modal ── */
.sec-asig { margin-bottom: var(--space-md); padding: var(--space-md); background: var(--color-fondo); border-radius: var(--radius-md); }
.sec-asig__etiqueta { display: block; font-size: var(--text-sm); color: var(--text-muted); margin-bottom: var(--space-xs); }
.sec-asig__fila { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); flex-wrap: wrap; }
.sec-asig__nombre { font-family: var(--font-titulo); font-size: var(--text-lg); }
/* Botón secundario: style.css viste todo <button> en dorado macizo. */
.sec-form .sec-boton--sec { width: auto; background: transparent; color: var(--text); border: 1px solid var(--color-gris-medio); }
.sec-form .sec-boton--sec:hover { background: var(--color-gris-claro); }
.sec-modal { max-width: 32rem; width: calc(100% - 2 * var(--space-lg)); padding: 0; border: none; border-radius: var(--radius-lg); box-shadow: var(--shadow-hover); }
.sec-modal::backdrop { background: rgba(0, 0, 0, .55); }
.sec-modal__cuerpo { padding: var(--space-lg); }
.sec-modal__titulo { margin: 0 0 var(--space-md); font-family: var(--font-titulo); font-size: var(--text-lg); }
.sec-modal__opciones { display: grid; gap: var(--space-sm); margin-bottom: var(--space-md); }
.sec-opcion { display: grid; grid-template-columns: auto 1fr; gap: var(--space-sm) var(--space-md); align-items: start; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-gris-claro); border-radius: var(--radius-md); cursor: pointer; }
.sec-opcion:has(input:checked) { border-color: var(--color-dorado); background: #fff8e1; }
.sec-opcion input[type="radio"] { margin-top: 4px; width: auto; }
.sec-opcion__texto { display: flex; flex-direction: column; }
.sec-opcion__texto small { color: var(--text-muted); }
.sec-opcion__sel, .sec-opcion__txt { grid-column: 2; width: 100%; box-sizing: border-box; }
.sec-opcion__txt[hidden] { display: none; }
.sec-modal__botones { display: flex; justify-content: flex-end; gap: var(--space-sm); }
.sec-modal .sec-boton { width: auto; }
.sec-modal .sec-boton--sec { background: transparent; color: var(--text); border: 1px solid var(--color-gris-medio); }
