/* Bloques dinámicos de la portada: usados dentro de widgets Shortcode de Elementor. */
.trb-home-section { max-width: 1200px; margin-inline: auto; }
.trb-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.trb-feature-card { min-height:255px; overflow:hidden; background:#173f78 var(--trb-card-image) center/cover no-repeat; position:relative; }
.trb-card-link { display:block; height:100%; color:#fff !important; text-decoration:none !important; }
.trb-feature-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,26,56,.05) 15%,rgba(7,27,63,.86) 100%); transition:background .25s ease; }
.trb-feature-card:hover .trb-feature-overlay { background:linear-gradient(180deg,rgba(8,26,56,.12),rgba(7,27,63,.96)); }
.trb-feature-copy { position:absolute; z-index:1; left:22px; right:22px; bottom:18px; }
.trb-feature-copy span,.trb-recent-copy span { display:block; color:#2f66ad; font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.trb-feature-copy span { color:#e7eefb; }
.trb-feature-copy h3 { margin:8px 0 0; color:#fff; font-size:21px; line-height:1.2; font-weight:700; }
.trb-recent-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.trb-recent-card { min-width:0; border:1px solid #e4e7ec; background:#fff; box-shadow:0 7px 20px rgba(17,40,76,.08); transition:transform .2s ease, box-shadow .2s ease; }
.trb-recent-card:hover { transform:translateY(-4px); box-shadow:0 12px 26px rgba(17,40,76,.16); }
.trb-recent-image { height:168px; background:#e8edf4 var(--trb-card-image) center/cover no-repeat; }
.trb-recent-copy { padding:17px 17px 20px; }
.trb-recent-copy h3 { color:#1b3155; font-size:18px; line-height:1.26; margin:8px 0 10px; font-weight:700; }
.trb-recent-copy p { color:#657386; font-size:14px; line-height:1.45; margin:0; }
.trb-topic-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.trb-topic-card { min-height:150px; display:flex; align-items:flex-end; padding:18px; background:#173f78 var(--trb-topic-image) center/cover no-repeat; color:#fff !important; text-decoration:none !important; position:relative; overflow:hidden; isolation:isolate; }
.trb-topic-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,48,95,.08),rgba(11,41,89,.84)); z-index:-1; transition:background .2s ease; }
.trb-topic-card:hover::before { background:linear-gradient(180deg,rgba(15,48,95,.16),rgba(11,41,89,.96)); }
.trb-topic-card span { font-size:17px; font-weight:700; line-height:1.15; text-transform:uppercase; }
.trb-empty { text-align:center; color:#657386; padding:20px; }
@media (max-width: 1024px) { .trb-recent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .trb-topic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 640px) { .trb-feature-grid,.trb-recent-grid { grid-template-columns:1fr; } .trb-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .trb-topic-card { min-height:120px; padding:13px; } .trb-topic-card span { font-size:14px; } .trb-recent-image { height:190px; } }
/* Ajustes de fidelidad para el bloque Operación Espadas y Temas de interés. */
.trb-feature-grid { gap: 12px; }
.trb-feature-card { min-height: 238px; }
.trb-topic-card {
  aspect-ratio: 1 / 1;
  min-height: 0;
  align-items: center;
  justify-content: center;
  padding: 16px;
  text-align: center;
}
.trb-topic-card span { max-width: 15ch; }


/* Operación Espadas de Hierro: réplica de la composición editorial original. */
.trb-iron {
  display: grid;
  grid-template-columns: 2.12fr 1fr 1fr;
  gap: 10px;
  max-width: 1200px;
  margin: 0 auto;
}
.trb-iron-lead,
.trb-iron-story {
  position: relative;
  min-height: 200px;
  overflow: hidden;
  background: #1d3145 center/cover no-repeat;
}
.trb-iron-lead {
  background-image: url("https://tribuna.org.mx/wp-content/uploads/2023/11/Rectangle-311.png");
  color: #fff !important;
  text-decoration: none !important;
}
.trb-iron-story {
  background-image: var(--trb-iron-image);
}
.trb-iron-lead-overlay,
.trb-iron-story-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,14,22,.03) 18%, rgba(5,13,23,.82) 100%);
}
.trb-iron-lead-content,
.trb-iron-story-content {
  position: absolute;
  z-index: 1;
  inset: auto 17px 18px;
  display: block;
  color: #fff;
}
.trb-iron-lead-content { inset: auto 17px 28px; }
.trb-iron-lead-content strong {
  display: block;
  max-width: 27ch;
  font-size: 23px;
  line-height: 1.18;
}
.trb-iron-button {
  display: inline-block;
  margin-top: 17px;
  padding: 12px 22px;
  background: #2154a1;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.trb-iron-story-link { display:block; height:100%; color:#fff !important; text-decoration:none !important; }
.trb-iron-story-content strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 17px;
  line-height: 1.06;
  font-weight: 700;
}
.trb-iron-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 11px;
  font-size: 11px;
  font-weight: 700;
}
.trb-iron-meta span { white-space: nowrap; }
.trb-iron-lead:hover .trb-iron-lead-overlay,
.trb-iron-story:hover .trb-iron-story-overlay { background: linear-gradient(180deg, rgba(8,14,22,.14), rgba(5,13,23,.94)); }
@media (max-width: 767px) {
  .trb-iron { grid-template-columns: 1fr; }
  .trb-iron-lead, .trb-iron-story { min-height: 220px; }
  .trb-iron-story-content strong { font-size: 19px; }
}
