/* SECPEC revisión 4: retícula de portada, marcos uniformes y ritmo entre bloques. */
body.home .entry-content .gb-grid-wrapper-b94a53b0,
body.home .entry-content .gb-grid-wrapper-92551b95 {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch;
  gap: 24px; width: 100%; max-width: none; margin: 0 auto; padding: 0; box-sizing: border-box;
}
body.home .entry-content .gb-grid-wrapper-b94a53b0 > .gb-grid-column,
body.home .entry-content .gb-grid-wrapper-92551b95 > .gb-grid-column { display: flex; width: auto; min-width: 0; padding: 0; }
body.home .entry-content .gb-grid-wrapper-b94a53b0 > .gb-grid-column > .gb-container,
body.home .entry-content .gb-grid-wrapper-92551b95 > .gb-grid-column > .gb-container {
  display: flex; flex: 1 1 auto; flex-direction: column; align-items: stretch; box-sizing: border-box;
  width: 100%; min-width: 0; height: 100%; gap: 12px; padding: 16px !important;
  border: 1px solid #d9e1ea; border-radius: 6px; background: #fff !important; box-shadow: 0 4px 14px #10284a0d;
}
/* GenerateBlocks añade cajas internas sin función visual: aplanar solo su caja. */
body.home .entry-content .gb-grid-wrapper-b94a53b0 > .gb-grid-column > .gb-container > .gb-container,
body.home .entry-content .gb-grid-wrapper-92551b95 > .gb-grid-column > .gb-container > .gb-container {
  display: contents !important; height: auto; min-width: 0; padding: 0 !important; border: 0;
  border-radius: 0; background: transparent !important; box-shadow: none;
}
body.home .entry-content .gb-grid-wrapper-b94a53b0 .gb-headline,
body.home .entry-content .gb-grid-wrapper-92551b95 .gb-headline {
  min-height: 54px; margin: 0; padding: 0 !important; border: 0; background: transparent !important;
  color: #1a3661 !important; font-size: 20px !important; line-height: 1.35; text-align: left !important;
}
body.home .entry-content .gb-grid-wrapper-b94a53b0 .gb-block-image,
body.home .entry-content .gb-grid-wrapper-92551b95 .gb-block-image {
  position: relative; flex: 0 0 auto; box-sizing: border-box; width: min(100%, 320px);
  max-width: 100%; min-height: 0; aspect-ratio: 1 / 1; margin: 0 auto; background: #f4f7fa;
}
body.home .entry-content .gb-grid-wrapper-b94a53b0 .gb-block-image > img,
body.home .entry-content .gb-grid-wrapper-92551b95 .gb-block-image > img {
  position: absolute; inset: 0; display: block; width: 100%; max-width: 100%; height: 100%; max-height: none;
  margin: 0; object-fit: contain; object-position: center;
}
body.home .entry-content .gb-grid-wrapper-b94a53b0 .gb-button,
body.home .entry-content .gb-grid-wrapper-92551b95 .gb-button {
  display: flex; align-self: stretch; justify-content: center; align-items: center; box-sizing: border-box;
  width: 100%; max-width: 100%; min-height: 64px; margin: auto 0 0; padding: 6px 8px;
  color: #fff; font-size: 16px !important; text-align: center; line-height: 1.35;
  white-space: normal; overflow-wrap: anywhere;
}
/* Ritmo de portada: un margen de sección y un separador corto por transición. */
body.home .site-content { padding-inline: 0 !important; padding-bottom: 0 !important; }
body.home .entry-content .gb-container-99e2cc03,
body.home .entry-content .gb-container-588ff812,
body.home .entry-content .gb-container-3bb3824b { margin-top: 24px !important; margin-bottom: 8px !important; }
/* 0.6.0: la banda Destacados arranca donde acaba la superficie del banner, sin rendija blanca entre ambas. */
body.home .entry-content .secpec-carousel + .gb-container-99e2cc03 { margin-top: 0 !important; }
body.home .entry-content .gb-container-99e2cc03 + .wp-block-spacer,
body.home .entry-content .gb-container-588ff812 + .wp-block-spacer,
body.home .entry-content .gb-container-3bb3824b + .wp-block-spacer,
body.home .entry-content .gb-grid-wrapper-b94a53b0 + .wp-block-spacer,
body.home .entry-content .gb-container-e4ca6511 + .wp-block-spacer { height: 16px !important; min-height: 16px !important; }
body.home .entry-content .gb-container-e4ca6511 { margin-block: 0 !important; }
body.home .entry-content .gb-grid-wrapper-92551b95 + .wp-block-spacer { height: 24px !important; min-height: 24px !important; }
body.home .entry-content .gb-grid-wrapper-b94a53b0,
body.home .entry-content .gb-grid-wrapper-92551b95 { margin-bottom: 0 !important; }
/* El mosaico ocupa el ancho de contenido; su arte cabe completo en marcos 4:3. */
body.home .entry-content .gb-grid-wrapper-afb7a91f {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; max-width: none;
  gap: 24px; margin: 0; padding: 0; box-sizing: border-box;
}
body.home .entry-content .gb-grid-wrapper-afb7a91f > .gb-grid-column { width: auto; min-width: 0; padding: 0; }
body.home .entry-content .gb-grid-wrapper-afb7a91f .gb-block-image {
  position: relative; width: min(100%, 480px); max-width: 100%; aspect-ratio: 350 / 298;
  margin-inline: auto;
}
body.home .entry-content .gb-grid-wrapper-afb7a91f .gb-block-image > img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: 100%; max-height: none;
  object-fit: contain; object-position: center;
}
@media (max-width: 600px) {
  body.home .entry-content .gb-grid-wrapper-b94a53b0,
  body.home .entry-content .gb-grid-wrapper-92551b95 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.home .entry-content .gb-grid-wrapper-afb7a91f { gap: 16px; }
  body.home .entry-content .gb-container-99e2cc03,
  body.home .entry-content .gb-container-588ff812,
  body.home .entry-content .gb-container-3bb3824b { margin-top: 16px !important; margin-bottom: 8px !important; }
}
@media (max-width: 1024px) {
  body.home .entry-content .gb-grid-wrapper-afb7a91f { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  body.home .entry-content .gb-grid-wrapper-b94a53b0 > .gb-grid-column > .gb-container,
  body.home .entry-content .gb-grid-wrapper-92551b95 > .gb-grid-column > .gb-container { padding: 14px !important; }
}
@media (max-width: 359px) {
  body.home .entry-content .gb-grid-wrapper-afb7a91f { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 768px) {
  body.home .entry-content .gb-container-e4ca6511 + .wp-block-spacer { height: 8px !important; min-height: 8px !important; }
}

@media (min-width: 601px) and (max-width: 900px) {
  body.home .entry-content .gb-grid-wrapper-b94a53b0 .gb-headline,
  body.home .entry-content .gb-grid-wrapper-92551b95 .gb-headline { min-height: 81px; }
}
