/* ============================================================
   Identidad visual — Universidad Austral
   Azul institucional : #0F29A2
   Azul secundario    : #348ADA
   Display / headings : Montserrat  (Google Fonts, libre)
   Cuerpo / UI        : Inter       (reemplaza Gotham, libre)
   Código             : JetBrains Mono
   ============================================================ */

/* Cargar Montserrat para headings (Inter lo carga mkdocs-material) */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");

/* --- Color primario (cabecera, nav activo, botones) --- */
[data-md-color-primary="custom"] {
  --md-primary-fg-color: #0F29A2;
  --md-primary-fg-color--light: #2B45CC;
  --md-primary-fg-color--dark: #001D9C;
  --md-primary-bg-color: #ffffff;
  --md-primary-bg-color--light: rgba(255, 255, 255, 0.7);
}

/* --- Color de acento (links, highlights, search) --- */
[data-md-color-accent="custom"] {
  --md-accent-fg-color: #348ADA;
  --md-accent-fg-color--transparent: rgba(52, 138, 218, 0.1);
  --md-accent-bg-color: #ffffff;
  --md-accent-bg-color--light: rgba(255, 255, 255, 0.7);
}

/* --- Modo oscuro: cabecera en azul más iluminado --- */
[data-md-color-scheme="slate"][data-md-color-primary="custom"] {
  --md-primary-fg-color: #1A3FD0;
  --md-primary-fg-color--light: #4A6FDB;
  --md-primary-fg-color--dark: #0F29A2;
}

/* --- Logo Austral en el header ---
   mix-blend-mode: screen funde el fondo blanco de la imagen con el header azul
   y deja visible el sello en tono claro sin mostrar el cuadrado blanco */
.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  /* Logo horizontal Austral: más ancho que alto — controlar por height */
  height: 1.6rem;
  width: auto;
  /* Convierte azul → blanco para que sea legible sobre el header #0F29A2 */
  filter: brightness(0) invert(1);
}

/* --- Headings en Montserrat (todo lo demás queda en Inter) --- */
.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6,
.md-header__topic,
.md-nav__title {
  font-family: "Montserrat", sans-serif;
}

.md-typeset h1 {
  font-weight: 700;
}

.md-typeset h2 {
  font-weight: 600;
}

.md-typeset h3 {
  font-weight: 600;
}

.md-typeset h4 {
  font-weight: 500;
}

/* --- Links --- */
.md-typeset a {
  color: #0F29A2;
}

.md-typeset a:hover {
  color: #348ADA;
}

/* --- Nav lateral: item activo --- */
.md-nav__item--active>.md-nav__link {
  color: #0F29A2;
  font-weight: 600;
}

/* --- Referencias APA: sangría francesa y anclas interactivas --- */
.ref-anchor {
  scroll-margin-top: 5.5rem;
  display: inline;
}

.md-typeset p:has(> .ref-anchor) {
  padding-left: 2.2em;
  text-indent: -2.2em;
  margin-bottom: 1.1em;
  line-height: 1.6;
}

/* Resaltado interactivo cuando se salta a una referencia desde un capítulo */
.md-typeset p:has(> .ref-anchor:target) {
  background-color: rgba(52, 138, 218, 0.12);
  border-left: 3px solid #0F29A2;
  padding-left: calc(2.2em + 8px);
  border-radius: 0 4px 4px 0;
  transition: background-color 0.4s ease;
}

/* ============================================================
   ESTILOS DE IMPRESIÓN / PDF
   Se aplican sobre la print_page.html de mkdocs-print-site
   ============================================================ */
@media print {

  /* Fuente base y párrafos para A4 */
  body,
  .md-typeset {
    font-size: 15pt !important;
    line-height: 1.65 !important;
  }

  /* Párrafos justificados (solo en impresión) */
  .md-typeset p {
    text-align: justify !important;
    hyphens: none !important;
  }

  /* Ocultar toda la navegación, cabecera y barra de búsqueda */
  .md-header,
  .md-sidebar,
  .md-nav,
  .md-search,
  .md-tabs,
  .md-footer,
  .md-top,
  .md-content__button,
  [data-md-component="skip"],
  .md-announce {
    display: none !important;
  }

  /* Contenido a ancho completo — eliminar padding/margin del tema */
  .md-main,
  .md-content,
  .md-grid,
  .md-content__inner,
  #print-site-page {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Página A4 — sobreescribir @page del plugin (print-site-material.css)
     Chrome sí renderiza margin boxes (@bottom-right / @bottom-center) */
  @page {
    size: A4 portrait;
    /* Mantener margen inferior generoso para que quepa el número de página */
    margin: 2cm 1.5cm 2.5cm 2cm;

    /* Quitar el "Page N" del plugin (bottom-right) */
    @bottom-right {
      content: none;
    }

    /* Quitar el chapter string del centro (si lo hay) */
    @bottom-left {
      content: none;
    }

    /* Número solo, centrado, en Inter, tamaño menor al cuerpo */
    @bottom-center {
      content: counter(page);
      font-family: "Inter", sans-serif;
      font-size: 8.5pt;
      color: #666;
    }
  }

  /* Suprimir la renumeración automática del plugin (h1/h2/h3::before con content:'N ')
     Los capítulos ya llevan sus propios números en el título — la doble numeración
     produce "2 1. Introducción", "15.1 A1. Exploración…", etc.
     !important gana a cualquier especificidad sin !important del plugin */
  .print-site-enumerate-headings h1::before,
  .print-site-enumerate-headings h2::before,
  .print-site-enumerate-headings h3::before,
  .print-site-enumerate-headings h4::before {
    content: none !important;
  }

  /* TOC: quitar numeración del <ol>/<ul> generado por generate_toc() */
  .print-page-toc-nav ol,
  .print-page-toc-nav ul,
  #print-page-toc ol,
  #print-page-toc ul {
    list-style: none !important;
    padding-left: 1em !important;
  }

  /* Tablas: quitar el contenedor de scroll horizontal para que no se corten */
  .md-typeset__scrollwrap {
    overflow: visible !important;
    margin: 0 !important;
  }

  /* Las tablas se ajustan al ancho de la página */
  .md-typeset table:not([class]),
  .md-typeset__scrollwrap table {
    display: table !important;
    width: 100% !important;
    table-layout: auto !important;
    font-size: 0.78em;
    /* ligeramente más pequeño para que entren columnas anchas */
    word-break: break-word;
    overflow-wrap: break-word;
  }

  /* Celdas: texto siempre envuelto, sin truncar */
  .md-typeset table:not([class]) td,
  .md-typeset table:not([class]) th,
  .md-typeset__scrollwrap td,
  .md-typeset__scrollwrap th {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  /* Evitar cortes dentro de bloques de código y figuras */
  pre,
  figure,
  img {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Las tablas pueden cortarse entre páginas (necesario para tablas largas) */
  table {
    page-break-inside: auto;
  }

  tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Headings: no cortar justo antes de un título */
  h1,
  h2,
  h3,
  h4 {
    page-break-after: avoid;
    break-after: avoid;
  }

  /* Salto de página antes de cada capítulo (h1) en la print_page */
  .print-page-chapter {
    page-break-before: always;
    break-before: page;
  }

  .print-page-chapter:first-child {
    page-break-before: avoid;
    break-before: avoid;
  }

  /* Salto de página explícito para separar secciones (e.g. carátula y resumen) */
  .page-break {
    page-break-before: always !important;
    break-before: page !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Colores planos para impresión (ahorrar tinta, mantener legibilidad) */
  a {
    color: #0F29A2 !important;
    text-decoration: none;
  }

  a[href]::after {
    content: "";
  }

  /* no mostrar URLs inline */

  /* Bloques de código: fondo gris claro, sin borde decorativo */
  code,
  pre {
    background: #f5f5f5 !important;
    color: #222 !important;
    border: 1px solid #ddd !important;
  }
}