/* =========================================================
   INGENIERÍA REAL v39
   Sistema base global para artículos técnicos editables
   Compatible con modo claro y modo oscuro del tema
   Clase principal manual: .ir-articulo-tecnico
   Aplicación automática: entradas del blog con .single-post .entry-content
   ========================================================= */

.ir-articulo-tecnico,
.single-post .entry-content {
  --ir-naranja: #F57404;
  --ir-cian: #087d85;
  --ir-cian-oscuro: #58F2F4;
  --ir-borde: rgba(127,127,127,0.28);
  --ir-borde-fuerte: rgba(127,127,127,0.42);
  --ir-suave: rgba(127,127,127,0.10);

  color: inherit;
  background: transparent;
  line-height: 1.72;
  font-size: 18px;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.ir-articulo-tecnico *,
.single-post .entry-content * {
  box-sizing: border-box;
}

.ir-articulo-tecnico h1,
.ir-articulo-tecnico h2,
.ir-articulo-tecnico h3,
.ir-articulo-tecnico h4,
.single-post .entry-content h1,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.ir-articulo-tecnico h1,
.single-post .entry-content h1 {
  color: inherit;
  font-size: clamp(2.1rem, 5vw, 4rem);
  margin-bottom: 22px;
}

.ir-articulo-tecnico h2,
.single-post .entry-content h2 {
  color: var(--ir-naranja);
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  margin-top: 56px;
  margin-bottom: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--ir-borde);
}

.ir-articulo-tecnico h3,
.single-post .entry-content h3 {
  color: var(--ir-cian);
  font-size: 1.28rem;
  margin-top: 34px;
  margin-bottom: 12px;
}

.ir-articulo-tecnico h4,
.single-post .entry-content h4 {
  color: inherit;
  font-size: 1.08rem;
  margin-top: 28px;
  margin-bottom: 10px;
}

.ir-articulo-tecnico p,
.single-post .entry-content p {
  margin-bottom: 20px;
}

.ir-articulo-tecnico a,
.single-post .entry-content a {
  color: var(--ir-cian);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.ir-articulo-tecnico a:hover,
.single-post .entry-content a:hover {
  opacity: 0.84;
}

.ir-articulo-tecnico strong,
.single-post .entry-content strong {
  font-weight: 800;
}

.ir-articulo-tecnico ul,
.ir-articulo-tecnico ol,
.single-post .entry-content ul,
.single-post .entry-content ol {
  margin-bottom: 24px;
  padding-left: 1.35em;
}

.ir-articulo-tecnico li,
.single-post .entry-content li {
  margin-bottom: 10px;
}

/* Bloque principal tipo portada interna */
.ir-hero {
  background: transparent;
  border: 1px solid var(--ir-borde);
  border-left: 8px solid var(--ir-naranja);
  border-radius: 24px;
  padding: clamp(24px, 5vw, 48px);
  margin-bottom: 34px;
}

.ir-kicker {
  display: inline-block;
  color: var(--ir-cian);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.ir-lead {
  color: inherit;
  font-size: clamp(1.12rem, 2vw, 1.38rem);
  max-width: 880px;
  margin-bottom: 0;
}

/* Cajas editoriales */
.ir-nota,
.ir-alerta,
.ir-frase,
.ir-dato,
.ir-criterio {
  background: transparent;
  border: 1px solid var(--ir-borde);
  border-radius: 18px;
  padding: 20px;
  margin: 28px 0;
}

.ir-nota {
  border-left: 6px solid var(--ir-cian);
}

.ir-alerta,
.ir-frase {
  border-left: 6px solid var(--ir-naranja);
}

.ir-dato {
  border-left: 6px solid var(--ir-cian);
}

.ir-criterio {
  border-left: 6px solid var(--ir-naranja);
}

.ir-frase {
  font-size: 1.15rem;
}

.ir-nota strong,
.ir-alerta strong,
.ir-frase strong,
.ir-dato strong,
.ir-criterio strong {
  color: var(--ir-naranja);
}

/* Tarjetas de datos */
.ir-card {
  background: transparent;
  border: 1px solid var(--ir-borde);
  border-radius: 22px;
  padding: 22px;
}

.ir-card strong {
  display: block;
  color: var(--ir-naranja);
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 10px;
}

.ir-card span {
  display: block;
  color: inherit;
  opacity: 0.86;
  font-size: 0.98rem;
  line-height: 1.48;
}

/* Columnas Gutenberg dentro de artículos */
.ir-articulo-tecnico .wp-block-columns,
.single-post .entry-content .wp-block-columns {
  gap: 18px;
  margin-top: 32px;
  margin-bottom: 32px;
}

/* Tablas */
.ir-articulo-tecnico .wp-block-table,
.single-post .entry-content .wp-block-table {
  overflow-x: auto;
  margin: 30px 0;
  border: 1px solid var(--ir-borde);
  border-radius: 20px;
}

.ir-articulo-tecnico table,
.single-post .entry-content table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: transparent;
}

.ir-articulo-tecnico th,
.single-post .entry-content th {
  background: transparent;
  color: var(--ir-naranja);
  text-align: left;
  padding: 15px;
  font-size: 0.95rem;
  border-bottom: 2px solid var(--ir-naranja);
}

.ir-articulo-tecnico td,
.single-post .entry-content td {
  padding: 15px;
  vertical-align: top;
  border-bottom: 1px solid var(--ir-borde);
  color: inherit;
}

.ir-articulo-tecnico tr:last-child td,
.single-post .entry-content tr:last-child td {
  border-bottom: none;
}

/* Preguntas frecuentes */
.ir-faq details,
.ir-articulo-tecnico details,
.single-post .entry-content details {
  background: transparent;
  border: 1px solid var(--ir-borde);
  border-radius: 16px;
  padding: 16px 18px;
  margin-bottom: 14px;
}

.ir-faq summary,
.ir-articulo-tecnico summary,
.single-post .entry-content summary {
  cursor: pointer;
  color: var(--ir-cian);
  font-weight: 800;
}

/* Fuentes */
.ir-fuentes {
  background: transparent;
  border: 1px solid var(--ir-borde);
  border-radius: 24px;
  padding: 26px;
  margin-top: 46px;
  font-size: 0.96rem;
}

.ir-fuentes h2 {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

/* Firma */
.ir-firma {
  color: var(--ir-naranja);
  font-weight: 800;
  text-align: center;
  margin-top: 34px;
}

/* Imágenes */
.ir-articulo-tecnico img,
.single-post .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
}

.ir-articulo-tecnico figure,
.single-post .entry-content figure {
  margin-top: 28px;
  margin-bottom: 28px;
}

.ir-articulo-tecnico figcaption,
.single-post .entry-content figcaption {
  color: inherit;
  opacity: 0.76;
  font-size: 0.92rem;
  text-align: center;
  margin-top: 10px;
}

/* Citas */
.ir-articulo-tecnico blockquote,
.single-post .entry-content blockquote {
  border-left: 6px solid var(--ir-naranja);
  margin: 30px 0;
  padding: 16px 22px;
  background: transparent;
  color: inherit;
  font-size: 1.08rem;
}

/* Separadores */
.ir-articulo-tecnico hr,
.single-post .entry-content hr {
  border: none;
  border-top: 1px solid var(--ir-borde);
  margin: 42px 0;
}

/* Compatibilidad real con el modo oscuro del tema */
html.ir-v2-mode-oscuro .ir-articulo-tecnico,
html.ir-v2-mode-oscuro .single-post .entry-content,
body.ir-v2-mode-oscuro .ir-articulo-tecnico,
body.ir-v2-mode-oscuro.single-post .entry-content,
.dark .ir-articulo-tecnico,
.theme-dark .ir-articulo-tecnico,
.dark-mode .ir-articulo-tecnico,
.wp-dark-mode-active .ir-articulo-tecnico,
[data-theme="dark"] .ir-articulo-tecnico,
[data-color-mode="dark"] .ir-articulo-tecnico,
body.dark .ir-articulo-tecnico,
body.dark-mode .ir-articulo-tecnico {
  --ir-cian: #58F2F4;
  --ir-borde: rgba(88,242,244,0.28);
  --ir-borde-fuerte: rgba(88,242,244,0.42);
}

html.ir-v2-mode-claro .ir-articulo-tecnico,
html.ir-v2-mode-claro .single-post .entry-content,
body.ir-v2-mode-claro .ir-articulo-tecnico,
body.ir-v2-mode-claro.single-post .entry-content {
  --ir-cian: #087d85;
  --ir-borde: rgba(127,127,127,0.28);
  --ir-borde-fuerte: rgba(127,127,127,0.42);
}

/* Patrón de artículo completo */
.ir-indice,
.ir-resumen {
  background: transparent;
  border: 1px solid var(--ir-borde);
  border-radius: 20px;
  padding: 22px;
  margin: 28px 0;
}

.ir-indice h2,
.ir-resumen h2 {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

.ir-indice a {
  color: var(--ir-cian);
  text-decoration: none;
}

.ir-indice a:hover {
  color: var(--ir-naranja);
}

/* Responsive */
@media (max-width: 760px) {
  .ir-articulo-tecnico,
  .single-post .entry-content {
    font-size: 16px;
  }

  .ir-hero {
    border-radius: 18px;
    padding: 22px;
  }

  .ir-nota,
  .ir-alerta,
  .ir-frase,
  .ir-dato,
  .ir-criterio,
  .ir-fuentes,
  .ir-indice,
  .ir-resumen {
    padding: 18px;
  }

  .ir-articulo-tecnico table,
  .single-post .entry-content table {
    min-width: 680px;
  }
}
