/**
 * Página Financiación – KTM Via Motos
 * Estilos específicos: bloques de beneficios (Archivo 2), grid, CTA.
 * Minimalista, lectura rápida, compatible con paleta KTM/Husqvarna y tema claro/oscuro.
 */

/* ----- Intro: valor y confianza ----- */
.jvm-financiacion-intro {
  max-width: 65ch;
  margin-bottom: var(--jvm--space-4, 2rem);
}

.jvm-financiacion-intro .jvm-section__lead {
  margin-bottom: var(--jvm--space-2, 1rem);
}

/* Justificación del texto intro para mejor lectura en bloques */
.jvm-financiacion-intro .jvm-prose {
  text-align: justify;
  text-justify: inter-word;
}

/* Subtítulo de sección dentro del mismo contenedor */
.jvm-financiacion-subtitle {
  margin-top: 2.5rem;
}

/* ----- Grid de bloques (beneficios) ----- */
.jvm-financiacion-grid {
  display: grid;
  gap: var(--jvm--space-3, 1.5rem);
  grid-template-columns: 1fr;
  margin-top: var(--jvm--space-3, 1.5rem);
  margin-bottom: var(--jvm--space-4, 2rem);
}

@media (min-width: 640px) {
  .jvm-financiacion-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .jvm-financiacion-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Bloque con icono: título + texto breve */
.jvm-financiacion-block {
  display: flex;
  flex-direction: column;
  gap: var(--jvm--space-2, 1rem);
  padding: var(--jvm--space-3, 1.5rem);
  background: var(--jvm-bg-surface, var(--jvm-background-white));
  border: 1px solid var(--jvm-border-subtle, rgba(0, 0, 0, 0.08));
  transition: border-color var(--jvm--transition), box-shadow var(--jvm--transition);
}

.jvm-financiacion-block:hover {
  border-color: var(--jvm-border-orange);
  box-shadow: var(--jvm--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.06));
}

.jvm-section--dark .jvm-financiacion-block {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--jvm-gray-border, rgba(255, 255, 255, 0.2));
}

.jvm-section--dark .jvm-financiacion-block:hover {
  border-color: var(--jvm-background-orange);
}

.jvm-financiacion-block__icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  color: var(--jvm-color-text-orange);
}

body[data-brand="husqvarna"] .jvm-financiacion-block__icon {
  color: var(--jvm-color-text-orange, #ffed00);
}

.jvm-section--dark .jvm-financiacion-block__icon {
  color: var(--jvm-background-orange);
}

.jvm-financiacion-block__title {
  font-family: var(--jvm-font-trade-gothic);
  font-size: var(--jvm--font-size-sm, 1.125rem);
  font-weight: var(--jvm-font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0;
  color: var(--jvm-color-text);
}

.jvm-section--dark .jvm-financiacion-block__title {
  color: var(--jvm-color-text-white);
}

.jvm-financiacion-block__text {
  font-size: var(--jvm--font-size-m, 0.875rem);
  line-height: var(--jvm--line-height-relaxed);
  margin: 0;
  color: var(--jvm-color-text);
  opacity: 0.95;
}

.jvm-section--dark .jvm-financiacion-block__text {
  color: var(--jvm-color-text-white);
}

/* Beneficios: texto justificado en los bloques */
#financiacion-beneficios .jvm-financiacion-block__text {
  text-align: justify;
  text-justify: inter-word;
}

/* Entidades aliadas: texto breve antes del CTA */
.jvm-financiacion-aliados {
  font-size: var(--jvm--font-size-m, 0.875rem);
  color: var(--jvm-color-text);
  margin: 0 0 var(--jvm--space-2, 1rem);
}

.jvm-section--alt .jvm-financiacion-aliados {
  color: var(--jvm-color-text);
}

/* CTA bloque: alineación horizontal, tamaño simétrico */
.jvm-financiacion-cta {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: var(--jvm--space-2, 1rem);
  margin-top: var(--jvm--space-4, 2rem);
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
}

.jvm-financiacion-cta .jvm-cta {
  flex: 1 1 0;
  min-width: 10ch;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  white-space: nowrap;
}

/* Texto largo en desktop */
.jvm-financiacion-cta .jvm-cta__text-desktop {
  display: inline;
}

.jvm-financiacion-cta .jvm-cta__text-mobile {
  display: none;
}

/* Móvil y tablet: texto corto y tamaño reducido */
@media (max-width: 1023px) {
  .jvm-financiacion-cta .jvm-cta {
    font-size: var(--jvm--font-size-m, 0.875rem);
    padding: 0.6rem 1rem;
    min-height: 44px;
  }

  .jvm-financiacion-cta .jvm-cta__text-desktop {
    display: none;
  }

  .jvm-financiacion-cta .jvm-cta__text-mobile {
    display: inline;
  }
}

@media (max-width: 479px) {
  .jvm-financiacion-cta {
    gap: 0.75rem;
  }

  .jvm-financiacion-cta .jvm-cta {
    font-size: var(--jvm--font-size-s, 0.8125rem);
    padding: 0.5rem 0.75rem;
    min-height: 40px;
    min-width: 5rem;
  }
}

/* Resumen citeable */
#financiacion .jvm-resumen-citeable,
#financiacion-cta .jvm-resumen-citeable {
  margin-top: var(--jvm--space-4, 2rem);
  padding-top: var(--jvm--space-3, 1.5rem);
  border-top: 1px solid var(--jvm-border-subtle, rgba(0, 0, 0, 0.1));
  text-align: justify;
  text-justify: inter-word;
}

.jvm-section--alt #financiacion-cta .jvm-resumen-citeable {
  border-top-color: rgba(0, 0, 0, 0.12);
}

/* Título de la sección centrado */
#financiacion-heading {
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .jvm-financiacion-block:hover {
    transition-duration: 0.01ms;
  }
}

/* ----- Entidades financieras (desde BD) ----- */
.jvm-financieras-loading {
  padding: var(--jvm--space-4, 2rem);
  text-align: center;
  color: var(--jvm-color-text-muted, var(--jvm-color-text));
}

.jvm-financieras-loading__text {
  font-size: var(--jvm--font-size-m, 0.875rem);
}

.jvm-financieras-grid {
  display: grid;
  gap: var(--jvm--space-3, 1.5rem);
  grid-template-columns: 1fr;
  margin-top: var(--jvm--space-3, 1.5rem);
  margin-bottom: var(--jvm--space-4, 2rem);
}

@media (min-width: 640px) {
  .jvm-financieras-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .jvm-financieras-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.jvm-fin-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--jvm--space-3, 1.5rem);
  background: var(--jvm-bg-surface, var(--jvm-background-white));
  border: 1px solid var(--jvm-border-subtle, rgba(0, 0, 0, 0.08));
  border-radius: var(--jvm--radius, 4px);
  transition: border-color var(--jvm--transition), box-shadow var(--jvm--transition);
}

.jvm-fin-card:hover {
  border-color: var(--jvm-border-orange);
  box-shadow: var(--jvm--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.06));
}

.jvm-fin-card__logo {
  width: 120px;
  height: 60px;
  object-fit: contain;
  margin-bottom: var(--jvm--space-2, 1rem);
}

.jvm-fin-card__title {
  font-family: var(--jvm-font-trade-gothic);
  font-size: var(--jvm--font-size-sm, 1.125rem);
  font-weight: var(--jvm-font-weight-semibold);
  margin: 0 0 0.25rem;
  color: var(--jvm-color-text);
}

.jvm-fin-card__tipo {
  font-size: var(--jvm--font-size-s, 0.8125rem);
  color: var(--jvm-color-text-muted, var(--jvm-color-text));
  margin: 0 0 var(--jvm--space-2, 1rem);
}

.jvm-fin-card__condiciones {
  font-size: var(--jvm--font-size-s, 0.8125rem);
  color: var(--jvm-color-text);
  margin: 0 0 var(--jvm--space-2, 1rem);
  line-height: 1.4;
}

.jvm-fin-card__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: auto;
  padding-top: var(--jvm--space-2, 1rem);
}

.jvm-fin-card__cta {
  min-height: 40px;
  padding: 0.5rem 1rem;
  font-size: var(--jvm--font-size-s, 0.8125rem);
}

.jvm-financieras-empty {
  text-align: center;
  padding: var(--jvm--space-4, 2rem);
  color: var(--jvm-color-text);
  margin: 0;
}

.jvm-financieras-empty a {
  color: var(--jvm-color-orange);
  text-decoration: underline;
}

.jvm-financieras-empty a:hover {
  text-decoration: none;
}
