/* Landing Plan de Ahorro Crypton Finn 2026.
   Base: copia de /imagenes/crypton-finn-2026/lanzamiento/landing-crypton-finn-lanzamiento.css
   (estructura de la XMAX 300 Connected), para que las dos landings sean independientes.
   Los ajustes propios del plan van al final. */

@font-face {
  font-family: "Futura Std";
  src: url("fonts/FuturaStdBook.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura Std";
  src: url("fonts/FuturaStdBookOblique.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Futura Std";
  src: url("fonts/FuturaStdMedium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura Std";
  src: url("fonts/FuturaStdBold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura Std";
  src: url("fonts/FuturaStdHeavy.otf") format("opentype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura Std";
  src: url("fonts/FuturaStdExtraBold.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --cf-azul: #0d1e8c;
  --cf-font: "Futura Std", "Futura", "Trebuchet MS", Arial, sans-serif;
}

/* Toda la gráfica va en Futura: pisa Estricta / Roboto Condensed / Montserrat de los CSS base.
   Los pseudo-elementos (íconos de Swiper) no se ven afectados. */
body,
body *:not(.fa):not([class*="fa-"]) {
  font-family: var(--cf-font) !important;
}

body {
  background: #fff !important;
}

/* ---------- Header ---------- */
.cf-hero {
  /* fascino-v2 le pone margin-bottom: 3rem !important a todo <header> por debajo de 992px */
  margin-bottom: 0 !important;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1920 / 644;
  background-color: #2b2b2b;
}

.cf-hero__bg,
.cf-hero__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.cf-hero__nav {
  position: absolute;
  top: 3.6%;
  left: 13.2%;
  right: 13.2%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  z-index: 2;
}

.cf-hero__yamaha {
  width: 8.6vw;
  max-width: 165px;
}

.cf-hero__garantia {
  width: 5.5vw;
  max-width: 106px;
}

.cf-hero__claim {
  position: absolute;
  top: 24%;
  left: 33%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}

.cf-hero__frase {
  width: 26.2vw;
}

.cf-hero__logo {
  width: 15vw;
  margin-top: 1.9vw;
  margin-left: 4vw;
}

.cf-hero__precio {
  width: 23.3vw;
  margin-top: 3.4vw;
}

.cf-hero__claim img {
  max-width: none;
  height: auto;
}

@media (max-width: 767px) {
  .cf-hero {
    aspect-ratio: 480 / 819;
  }

  .cf-hero__nav {
    top: 2.8%;
    left: 5%;
    right: 6%;
  }

  .cf-hero__yamaha {
    width: 28vw;
  }

  .cf-hero__garantia {
    width: 18vw;
  }

  .cf-hero__claim {
    top: 15.5%;
    left: 50%;
  }

  .cf-hero__frase {
    width: 71vw;
  }

  .cf-hero__logo {
    width: 40vw;
    margin-top: 5vw;
    margin-left: 6vw;
  }

  .cf-hero__precio {
    width: 63vw;
    margin-top: 4vw;
  }
}

/* ---------- Moto principal y textos ---------- */
.cf-landing .section-moto-detalle-texto {
  background-image: url("/imagenes/crypton-finn-2026/lanzamiento/desktop/logo_fondo.png");
  background-size: min(1248px, 90%) auto;
  background-position: top center;
  background-repeat: no-repeat;
  padding-top: 2rem;
}

.cf-landing .section-moto-detalle-texto .ybr-detalle-moto {
  max-width: min(937px, 100%);
  height: auto;
}

.cf-landing .section-moto-tu-opcion .p-titulo {
  color: var(--cf-azul);
  font-weight: 700;
  text-transform: uppercase;
}

.cf-landing .section-moto-tu-opcion .p-descripcion {
  font-weight: 400;
  line-height: 1.45;
}

/* ---------- Highlights (slider vertical) ---------- */
.cf-landing .ymh-vertical {
  margin-top: 5rem;
}

.cf-landing .ymh-vertical-gallery .swiper-slide {
  background-image: var(--cf-bg-desktop);
}

.cf-landing .ymh-vertical-gallery .ymh-vertical-content h2 {
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  .cf-landing .swiper-container.ymh-vertical-gallery {
    height: 104vw !important;
  }

  .cf-landing .ymh-vertical-gallery .swiper-slide {
    background-image: var(--cf-bg-mobile);
  }
}

/* ---------- Galería ---------- */
.cf-landing .ymh-fascino-grid-items > div {
  background-image: var(--cf-bg-desktop);
  cursor: pointer;
}

@media (max-width: 767px) {
  .cf-landing .ymh-fascino-grid-items > div {
    background-image: var(--cf-bg-mobile);
  }
}

/* ---------- Ficha técnica ---------- */
/* Título y etiquetas en Futura Bold (las etiquetas van en <strong>, que si no hereda un peso más). */
.cf-landing .titulo-ficha-tecnica,
.cf-landing .ymh-table-ficha .ficha-tipo,
.cf-landing .ymh-table-ficha .ficha-tipo strong {
  font-weight: 700;
}

/* fichatecnica_rojo.css fija 14px con !important. */
.cf-landing .ymh-table-ficha .ficha-caracteristica {
  font-size: 16px !important;
}

/* ---------- Colores ---------- */
/* La primera imagen queda en flujo (da la altura al wrapper) y el resto va absoluta
   centrada; sin display:block el margin auto no la centra y queda corrida a la izquierda. */
.cf-landing .img-colores-wrapper2 img:first-of-type {
  display: block;
}

/* Un solo color por modelo: el swatch ocupa todo el círculo (la base lo parte en 3 gajos). */
.cf-landing .color-choose2 input[type="radio"] + label .cf-color-swatch {
  width: 100%;
  height: 100%;
  float: none;
  display: block;
}

.cf-landing .colores-financia img {
  max-width: 100%;
  height: auto;
}

.cf-landing .contactame-colores {
  font-weight: 700;
}

/* ---------- Bloque azul del formulario ---------- */
/* fascino-v2 fija el padding con !important. */
.cf-landing .ymh-form-full-col-1 {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.cf-landing .ymh-form-full-col-1 h4 {
  font-weight: 400;
}

/* ---------- Cierre de la sección de colores (logo, frase, precio y botón) ---------- */
/* Más chicos que el tamaño natural de las piezas y con más aire entre ellos. */
/* Cada pieza va en un <picture> que, sin esto, toma el ancho natural de la imagen y la deja
   corrida a la izquierda del centro (desalineada con el botón). */
.cf-landing .colores-financia > picture {
  display: block;
  width: 100%;
  text-align: center;
}

.cf-landing .colores-financia .cf-cierre__logo {
  width: 300px;
  max-width: 70%;
  margin-bottom: 34px;
}

.cf-landing .colores-financia .cf-cierre__frase {
  width: 340px;
  max-width: 78%;
}

.cf-landing .colores-financia .cf-cierre__precio {
  width: 300px;
  max-width: 70%;
  margin-top: 24px;
}

.cf-landing .colores-financia .cf-cierre__cta {
  margin-top: 30px;
}

@media (max-width: 767px) {
  .cf-landing .colores-financia .cf-cierre__logo {
    width: 58vw;
    margin-bottom: 20px;
  }

  .cf-landing .colores-financia .cf-cierre__frase {
    width: 66vw;
  }

  .cf-landing .colores-financia .cf-cierre__precio {
    width: 58vw;
    margin-top: 18px;
  }

  .cf-landing .colores-financia .cf-cierre__cta {
    margin-top: 24px;
  }
}

/* ==========================================================================
   Ajustes del plan: header (logo Yamaha Plan, "Cuotas desde" y legal de la cuota)
   y check de términos del formulario.
   ========================================================================== */

/* Frase, logo y precio en la posición exacta del arte (Header_desktop.jpg 1920x644 y
   m_Header_desktop.jpg 480x819), en % de la foto. Reemplaza el bloque centrado de lanzamiento. */
.cf-landing .cf-hero__claim {
  inset: 0;
  left: 0;
  top: 0;
  transform: none;
  display: block;
}

.cf-landing .cf-hero__claim img {
  position: absolute;
  margin: 0;
  height: auto;
}

.cf-landing .cf-hero__frase {
  left: 20%;
  top: 25.16%;
  width: 26.2%;
}

.cf-landing .cf-hero__logo {
  left: 25.625%;
  top: 43.32%;
  width: 14.9%;
}

.cf-landing .cf-hero__precio {
  left: 23.385%;
  top: 66.77%;
  width: 19.01%;
}

@media (max-width: 767px) {
  .cf-landing .cf-hero__frase {
    left: 13.75%;
    top: 16.36%;
    width: 70.83%;
  }

  .cf-landing .cf-hero__logo {
    left: 28.75%;
    top: 26.5%;
    width: 40.42%;
  }

  .cf-landing .cf-hero__precio {
    left: 22.92%;
    top: 36.14%;
    width: 51.67%;
  }
}

/* Legal de la cuota estimada, abajo sobre la foto del header (como en el arte). */
.cf-hero__legal {
  position: absolute;
  left: 50%;
  top: 92.6%;
  z-index: 2;
  width: 52%;
  margin: 0;
  transform: translateX(-50%);
  color: #fff;
  font-size: 0.72vw;
  line-height: 1.3;
  text-align: center;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

@media (max-width: 767px) {
  .cf-hero__legal {
    top: 91.5%;
    width: 96%;
    font-size: 2.15vw;
  }
}

/* Check de términos (obligatorio en el plan), debajo del de novedades. */
.cf-landing .ymh-form-full .cf-terminos {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.4rem 0 0;
}

.cf-landing .ymh-form-full .cf-terminos a {
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}


/* Franja con los datos del plan, entre el formulario y el video. */
.cf-oferta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(40px, 8vw, 140px);
  /* Arriba ya hay ~48px de aire del formulario: así queda el mismo espacio arriba y abajo. */
  padding: 12px 20px 60px;
  background: #fff;
  color: #1d2a6b;
  text-transform: uppercase;
}

.cf-oferta__item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.cf-oferta__item img {
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
}

.cf-oferta__item span {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.cf-oferta__item b {
  font-size: 28px;
  font-weight: 700;
}

.cf-oferta__item small {
  font-size: 15px;
  font-weight: 400;
}

.cf-oferta__item b + small {
  margin-top: 4px;
}

@media (max-width: 767px) {
  .cf-oferta {
    gap: 10px;
    justify-content: space-between;
    padding: 0 12px 48px;
  }

  .cf-oferta__item {
    gap: 6px;
  }

  .cf-oferta__item img {
    width: 24px;
    height: 24px;
  }

  .cf-oferta__item b {
    font-size: 15px;
  }

  .cf-oferta__item small {
    font-size: 10px;
  }
}

/* ==========================================================================
   Footer de Yamaha Plan (el de la versión anterior de esta landing) y su modal de términos.
   ========================================================================== */
.cf-landing .yp-footer {
  display: grid;
  grid-template-columns: 163px minmax(0, 1060px);
  gap: 107px;
  justify-content: center;
  align-items: start;
  padding: 72px max(24px, calc((100% - 1330px) / 2)) 30px;
  background: #313131;
  color: #fff;
  font-size: 11px;
  font-weight: 300;
  line-height: 16px;
}

.cf-landing .yp-footer__logos {
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.cf-landing .yp-footer__logos img {
  display: block;
  width: 163px;
  height: auto;
  margin: 0;
}

.cf-landing .yp-footer__legal {
  margin: 0;
  color: #fff;
  font-size: 11px;
  line-height: 16px;
}

.cf-landing .yp-footer__legal + .yp-footer__legal {
  margin-top: 10px;
}

.cf-landing .yp-footer__legal a {
  color: #fff;
  text-decoration: underline;
}

.cf-landing .yp-footer__bottom {
  display: flex;
  align-items: center;
  margin-top: 32px;
}

.cf-landing .yp-footer__social {
  display: flex;
  align-items: center;
  gap: 9px;
}

.cf-landing .yp-footer__social > span {
  width: 70px;
}

.cf-landing .yp-footer__social img {
  display: block;
  width: 32px;
  height: 32px;
}

.cf-landing .yp-footer__bottom small {
  margin-left: 32px;
  color: #fff;
  font-size: 11px;
}

@media (max-width: 991px) {
  .cf-landing .yp-footer {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 42px 25px;
  }

  .cf-landing .yp-footer__logos {
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }

  .cf-landing .yp-footer__logos img {
    width: min(42vw, 130px);
  }

  .cf-landing .yp-footer__legal {
    font-size: 10px;
    line-height: 15px;
  }

  .cf-landing .yp-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 22px;
    margin-top: 28px;
  }

  .cf-landing .yp-footer__social {
    flex-wrap: wrap;
  }

  .cf-landing .yp-footer__bottom small {
    margin-left: 0;
    font-size: 10px;
  }
}

.cf-landing .terms-modal {
  max-height: 88vh;
  overflow: hidden;
  border: 1px solid #4082fd;
  border-radius: 0;
  background: #fff;
  color: #252525;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.25);
}

.cf-landing .terms-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px 20px;
  border-bottom: 1px solid #e3e3e3;
}

.cf-landing .terms-title {
  margin: 0;
  color: #252525;
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
}

.cf-landing .terms-close-custom {
  padding: 2px;
  border: 0;
  background: transparent;
  color: #252525;
  font-size: 34px;
  line-height: 0.75;
  cursor: pointer;
}

.cf-landing .terms-body {
  padding: 24px 28px 28px;
  overflow-y: auto;
  font-size: 16px;
  line-height: 1.55;
}

.cf-landing .terms-body p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .cf-landing .terms-header {
    padding: 18px 16px 15px;
  }

  .cf-landing .terms-title {
    font-size: 17px;
  }

  .cf-landing .terms-body {
    padding: 18px 16px 22px;
    font-size: 14px;
  }
}
