/* Ajustes finales de alineación y ritmo visual para las dos guías públicas. */
.fe-page .fe-intro,
.verifactu-guide-page .vf-guide-intro,
.fe-page .section-intro,
.verifactu-guide-page .section-intro {
  width: min(100%, 780px);
  max-width: 780px;
}

.fe-page .fe-intro--center,
.verifactu-guide-page .vf-guide-intro--center {
  margin-inline: auto;
  text-align: center;
}

/*
 * site.css conserva estilos históricos de estas páginas. Algunos convierten
 * secciones completas en grids de dos columnas y dejan la introducción en la
 * primera columna. Por eso un título podía tener text-align:center y seguir
 * viéndose desplazado respecto a la tabla, la captura o la tarjeta inferior.
 * Restablecemos aquí, únicamente dentro de las dos guías, las secciones cuya
 * composición actual es vertical.
 */
.verifactu-guide-page .vf-guide-cards-section,
.verifactu-guide-page .vf-guide-cuadrik,
.verifactu-guide-page .vf-guide-comparison,
.verifactu-guide-page .vf-guide-pricing,
.verifactu-guide-page .vf-guide-faq,
.fe-page .fe-product,
.fe-page .fe-table-section,
.fe-page .fe-faq {
  display: block !important;
  grid-template-columns: none !important;
  align-items: initial !important;
}

/* Todo encabezado que precede un bloque centrado comparte exactamente su eje. */
.verifactu-guide-page .vf-guide-cards-section > .vf-guide-intro,
.verifactu-guide-page .vf-guide-cuadrik > .vf-guide-intro,
.verifactu-guide-page .vf-guide-comparison > .vf-guide-intro,
.verifactu-guide-page .vf-guide-pricing > .vf-guide-intro,
.verifactu-guide-page .vf-guide-faq > .vf-guide-intro,
.fe-page .fe-section > .fe-intro,
.fe-page .fe-product > .fe-intro,
.fe-page .fe-table-section > .fe-intro,
.fe-page .fe-faq > .fe-intro {
  width: min(100%, 780px) !important;
  max-width: 780px !important;
  margin: 0 auto 34px !important;
  justify-self: center !important;
  text-align: center !important;
}

.verifactu-guide-page .vf-guide-cards-section > .vf-guide-intro .vf-guide-eyebrow,
.verifactu-guide-page .vf-guide-cuadrik > .vf-guide-intro .vf-guide-eyebrow,
.verifactu-guide-page .vf-guide-comparison > .vf-guide-intro .vf-guide-eyebrow,
.verifactu-guide-page .vf-guide-pricing > .vf-guide-intro .vf-guide-eyebrow,
.verifactu-guide-page .vf-guide-faq > .vf-guide-intro .vf-guide-eyebrow,
.fe-page .fe-section > .fe-intro .fe-eyebrow {
  margin-inline: auto;
}

.verifactu-guide-page .vf-guide-cards-section > .vf-guide-intro > p:last-child,
.verifactu-guide-page .vf-guide-cuadrik > .vf-guide-intro > p:last-child,
.verifactu-guide-page .vf-guide-comparison > .vf-guide-intro > p:last-child,
.verifactu-guide-page .vf-guide-pricing > .vf-guide-intro > p:last-child,
.verifactu-guide-page .vf-guide-faq > .vf-guide-intro > p:last-child,
.fe-page .fe-section > .fe-intro > p:last-child {
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Los bloques inferiores también se centran sobre el contenedor general. */
.verifactu-guide-page .vf-guide-product-image,
.verifactu-guide-page .vf-guide-table-wrap,
.verifactu-guide-page .vf-guide-price-card,
.verifactu-guide-page .faq-list,
.fe-page .fe-product__image,
.fe-page .fe-table-wrap,
.fe-page .faq-list {
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Aclaraciones y plazos: cabecera y cards comparten el mismo eje. */
.verifactu-guide-page .vf-guide-clarity,
.verifactu-guide-page .vf-guide-decision {
  display: grid;
  gap: 28px;
  margin: 18px 0;
  padding: 36px;
  border: 1px solid var(--guide-border);
  border-radius: 24px;
  background: var(--guide-surface);
  box-shadow: var(--guide-shadow-soft);
}

.verifactu-guide-page .vf-guide-clarity + .vf-guide-decision {
  margin-top: 28px;
}

.verifactu-guide-page .vf-guide-clarity .vf-guide-intro,
.verifactu-guide-page .vf-guide-decision .vf-guide-intro {
  width: min(100%, 780px) !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.verifactu-guide-page .vf-guide-clarity .vf-guide-eyebrow,
.verifactu-guide-page .vf-guide-decision .vf-guide-eyebrow {
  margin: 0 auto 10px;
}

/*
 * Remisión a la AEAT: cabecera centrada a ancho completo y cuerpo a dos
 * columnas. Se neutraliza la estructura histórica sin tocar otras páginas.
 */
.verifactu-guide-page .vf-guide-visual-block {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr) !important;
  column-gap: clamp(42px, 7vw, 78px);
  row-gap: 0;
  align-items: center !important;
}

.verifactu-guide-page .vf-guide-visual-block__copy {
  display: contents;
}

.verifactu-guide-page .vf-guide-visual-block__copy > .vf-guide-eyebrow {
  grid-column: 1 / -1;
  justify-self: center;
  margin: 0 auto 12px;
}

.verifactu-guide-page .vf-guide-visual-block__copy > h2 {
  grid-column: 1 / -1;
  justify-self: center;
  max-width: 20ch;
  margin: 0;
  text-align: center;
}

.verifactu-guide-page .vf-guide-visual-block__copy > p:not(.vf-guide-eyebrow):not(.vf-guide-note) {
  grid-column: 1 / -1;
  justify-self: center;
  max-width: 66ch;
  margin: 16px auto 34px;
  text-align: center;
}

.verifactu-guide-page .vf-guide-visual-block__copy > ul {
  grid-column: 1;
  grid-row: 4;
  align-self: center;
  margin-top: 0;
}

.verifactu-guide-page .vf-guide-visual-block__copy > .vf-guide-note {
  grid-column: 1;
  grid-row: 5;
  margin-top: 20px;
}

.verifactu-guide-page .vf-guide-visual-block__image {
  grid-column: 2;
  grid-row: 4 / span 2;
  align-self: center;
}

/* Cards con ritmo vertical consistente. */
.verifactu-guide-page .vf-guide-card-grid,
.verifactu-guide-page .vf-guide-choice-grid,
.fe-page .fe-card-grid,
.fe-page .fe-step-grid {
  align-items: stretch;
}

.verifactu-guide-page .vf-guide-card,
.verifactu-guide-page .vf-guide-choice-card,
.fe-page .fe-card,
.fe-page .fe-step {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.verifactu-guide-page .vf-guide-card h3,
.verifactu-guide-page .vf-guide-choice-card h3,
.fe-page .fe-card h3,
.fe-page .fe-step h3 {
  min-height: 2.7em;
}

.verifactu-guide-page .vf-guide-card p,
.verifactu-guide-page .vf-guide-choice-card p,
.fe-page .fe-card p,
.fe-page .fe-step p {
  margin-top: 10px;
}

.fe-page .fe-card-grid--3,
.fe-page .fe-card-grid--4,
.verifactu-guide-page .vf-guide-card-grid--3,
.verifactu-guide-page .vf-guide-card-grid--4 {
  gap: 18px;
}

.fe-page .fe-demo,
.fe-page .fe-faq,
.verifactu-guide-page .vf-guide-faq {
  scroll-margin-top: 96px;
}

@media (max-width: 1080px) {
  .verifactu-guide-page .vf-guide-visual-block {
    grid-template-columns: 1fr !important;
  }

  .verifactu-guide-page .vf-guide-visual-block__copy > ul,
  .verifactu-guide-page .vf-guide-visual-block__copy > .vf-guide-note,
  .verifactu-guide-page .vf-guide-visual-block__image {
    grid-column: 1;
    grid-row: auto;
  }

  .verifactu-guide-page .vf-guide-visual-block__image {
    margin-top: 28px;
  }
}

@media (max-width: 820px) {
  .verifactu-guide-page .vf-guide-clarity,
  .verifactu-guide-page .vf-guide-decision {
    padding: 26px;
  }

  .verifactu-guide-page .vf-guide-card h3,
  .verifactu-guide-page .vf-guide-choice-card h3,
  .fe-page .fe-card h3,
  .fe-page .fe-step h3 {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .verifactu-guide-page .vf-guide-clarity,
  .verifactu-guide-page .vf-guide-decision {
    padding: 22px;
    border-radius: 20px;
  }
}
