.elementor-kit-5{--e-global-color-primary:#CCFF00;--e-global-color-secondary:#4D7300;--e-global-color-text:#1A2200;--e-global-color-accent:#F5FFD6;--e-global-color-dce8783:#0A0A0A;--e-global-color-c0dad0d:#FFFFFF;--e-global-color-27e8267:#99BF00;--e-global-color-45a609c:#E5FF80;--e-global-color-fa7b694:#F5F5F5;--e-global-color-f260037:#888888;--e-global-typography-primary-font-family:"General Sans";--e-global-typography-primary-font-size:16px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.6em;--e-global-typography-secondary-font-family:"General Sans";--e-global-typography-secondary-font-size:14px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-text-font-family:"General Sans";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Nyght Serif";--e-global-typography-accent-font-weight:400;--e-global-typography-accent-font-style:italic;background-color:var( --e-global-color-dce8783 );color:var( --e-global-color-text );font-family:"General Sans", General Sans, sans-serif;font-size:18px;font-weight:400;line-height:1.3em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-primary );font-family:"General Sans", General Sans, sans-serif;font-size:18px;font-weight:500;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:var( --e-global-color-text );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:100px 100px 100px 100px;padding:20px 30px 20px 30px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-45a609c );color:var( --e-global-color-text );box-shadow:0px 10px 20px 5px rgba(203.9999999999999, 255, 0, 0.18823529411764706);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-secondary );}.elementor-kit-5 a:hover{color:var( --e-global-color-primary );}.elementor-kit-5 h1{color:var( --e-global-color-c0dad0d );font-family:"Clash Display", General Sans, sans-serif;font-size:87px;font-weight:600;line-height:0.85em;}.elementor-kit-5 h2{color:var( --e-global-color-text );font-family:"Clash Display", General Sans, sans-serif;font-size:55px;font-weight:600;line-height:1em;}.elementor-kit-5 h3{color:var( --e-global-color-text );font-family:"Clash Display", General Sans, sans-serif;font-size:30px;font-weight:600;line-height:1.1em;}.elementor-kit-5 h4{color:var( --e-global-color-text );font-family:"Clash Display", General Sans, sans-serif;font-size:24px;font-weight:600;line-height:1.2em;}.elementor-kit-5 h5{color:var( --e-global-color-text );font-family:"Clash Display", General Sans, sans-serif;font-size:18px;font-weight:600;line-height:1.3em;}.elementor-kit-5 h6{color:var( --e-global-color-text );font-family:"Clash Display", General Sans, sans-serif;font-weight:500;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5 h2{font-size:36px;}.elementor-kit-5 h3{font-size:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =====================================================
   BANKOIN — CSS GLOBAL MAESTRO v6.3
   ÚNICO archivo global. Pegar en:
   Elementor > Site Settings > Custom CSS
   =====================================================
   
   ÍNDICE
   01 · Tokens de diseño
   02 · Reset y base global
   03 · Páginas legales (T&C, Aviso de Privacidad)
   04 · Utility classes (serif, lime, num outline, hovers genéricos)
   05 · Header global — barra superior + underline Mega Menu
       NOTA: El fondo del dropdown mobile/tablet del Mega Menu
       se gestiona desde el CSS local del Header en Theme Builder.
   06 · Hero
   07 · Marquee / Cintillo
   08 · About / Quiénes Somos
   09 · Process / Cómo Funciona
   10 · Why / Por Qué Bankoin
   11 · Audience / Para Quién
   12 · FAQ Accordion
   13 · CTA Final
   14 · Footer
   15 · Anclas (scroll-margin para sticky)
   16 · Reveal on scroll
   17 · WhatsApp flotante
   18 · Grano fílmico
   19 · Editor Elementor + reducción de movimiento
   20 · Single page content (legales, comunicados, informativos)
   ===================================================== */


/* =====================================================
   01 · TOKENS DE DISEÑO
   ===================================================== */
:root {
  /* Colores marca */
  --bnk-lime:        #CCFF00;
  --bnk-lime-mid:    #99BF00;
  --bnk-lime-soft:   #E5FF80;
  --bnk-lime-deep:   #4D7300;
  --bnk-accent:      #F5FFD6;
  --bnk-text:        #1A2200;
  --bnk-black:       #0A0A0A;
  --bnk-white:       #FFFFFF;
  --bnk-gray-light:  #F5F5F5;
  --bnk-gray-mid:    #888888;

  /* Spacing */
  --bnk-sec-y:       96px;
  --bnk-sec-x:       32px;
  --bnk-hero-min-h:  100vh;
  --bnk-strip-y:     40px;
  --bnk-cta-y:       120px;
  --bnk-container:   1280px;

  /* Tipografía */
  --bnk-font-display: "Clash Display", sans-serif;
  --bnk-font-serif:   "Nyght Serif", serif;
  --bnk-font-body:    "General Sans", sans-serif;

  /* Movimiento */
  --bnk-tr:          0.25s ease;
  --bnk-tr-smooth:   cubic-bezier(0.22, 0.61, 0.36, 1);
  --bnk-reveal-dur:  0.85s;
}

@media (max-width: 1024px) {
  :root {
    --bnk-sec-y:      72px;
    --bnk-sec-x:      24px;
    --bnk-hero-min-h: 90vh;
    --bnk-strip-y:    32px;
    --bnk-cta-y:      96px;
  }
}

@media (max-width: 767px) {
  :root {
    --bnk-sec-y:      56px;
    --bnk-sec-x:      20px;
    --bnk-hero-min-h: auto;
    --bnk-strip-y:    28px;
    --bnk-cta-y:      80px;
  }
}


/* =====================================================
   02 · RESET Y BASE GLOBAL
   ===================================================== */
html { scroll-behavior: smooth; }
body { margin: 0; padding: 0; }
html, body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }

body {
  font-family: "General Sans", system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Clash Display", sans-serif;
  letter-spacing: -0.02em;
}

::selection {
  background: var(--bnk-lime);
  color: var(--bnk-text);
}

*:focus-visible {
  outline: 2px solid var(--bnk-lime);
  outline-offset: 2px;
}

/* Ocultar título por defecto en páginas Elementor */
.elementor-default .entry-title,
.page.elementor-page .entry-title {
  display: none;
}

img[src$=".svg"] { display: inline-block; }


/* =====================================================
   03 · PÁGINAS LEGALES WP (si NO son Elementor)
   ===================================================== */
.page:not(.elementor-page) .entry-content {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 24px;
  line-height: 1.7;
  color: #2A2A2A;
  font-family: "General Sans", sans-serif;
}

.page:not(.elementor-page) .entry-content h1,
.page:not(.elementor-page) .entry-content h2 {
  margin-top: 2.4em;
  margin-bottom: 0.6em;
}

.page:not(.elementor-page) .entry-content a {
  color: var(--bnk-lime-deep);
  border-bottom: 1px solid var(--bnk-lime);
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.page:not(.elementor-page) .entry-content a:hover {
  color: var(--bnk-text);
  border-color: var(--bnk-text);
}


/* =====================================================
   04 · UTILITY CLASSES
   ===================================================== */

/* Serif italic (Nyght) — todas las variantes legacy */
.bnk-serif,
.hero-serif, .about-serif, .process-serif, .why-serif,
.audience-serif, .faq-serif, .final-cta-serif {
  font-family: var(--bnk-font-serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.03em;
}
.final-cta-serif { letter-spacing: -0.04em; }

/* Lima vibrante */
.bnk-lime,
.hero-lime, .about-lime, .faq-lime { color: var(--bnk-lime); }

/* Lima medio */
.bnk-lime-mid,
.about-lime-mid, .process-lime-mid, .why-lime-mid, .audience-lime-mid {
  color: var(--bnk-lime-mid);
}

.bnk-lime-soft { color: var(--bnk-lime-soft); }
.bnk-lime-dark { color: var(--bnk-lime-deep); }
.bnk-white     { color: var(--bnk-white); }
.bnk-text      { color: var(--bnk-text); }

/* Números outline */
.bnk-num-outline {
  color: transparent;
  -webkit-text-stroke: 1.5px var(--bnk-lime);
}
.bnk-num-outline-dark {
  color: transparent;
  -webkit-text-stroke: 1.5px var(--bnk-text);
}

/* Hover genérico de tarjetas */
.bnk-card-hover {
  transition: transform var(--bnk-tr), box-shadow var(--bnk-tr), border-color var(--bnk-tr);
  will-change: transform;
}
.bnk-card-hover:hover {
  transform: translateY(-5px);
  border-color: rgba(153, 191, 0, 0.45);
  box-shadow: 0 22px 50px rgba(10, 10, 10, 0.07);
}

/* Float suave continuo */
.bnk-soft-float { animation: bnk-soft-float 5.5s ease-in-out infinite; }
@keyframes bnk-soft-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}


/* =====================================================
   05 · HEADER GLOBAL
   Solo la barra superior + el underline del Mega Menu.
   El fondo del dropdown mobile/tablet vive en el CSS local
   del header (Theme Builder) para iterar sin recompilar maestro.
   ===================================================== */
.bnk-header {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  transition: background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

.bnk-header::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(204, 255, 0, 0.04),
    transparent 24%,
    transparent 76%,
    rgba(204, 255, 0, 0.035)
  );
  opacity: 0.8;
}

.bnk-header-inner { position: relative; z-index: 2; }

.bnk-header-logo {
  transition: transform 0.24s ease, opacity 0.24s ease;
}
.bnk-header-logo:hover {
  transform: translateY(-1px);
  opacity: 0.92;
}

/* Underline animado del Mega Menu */
.bnk-menu-animated .e-n-menu-title,
.bnk-menu-animated .e-n-menu-title-container,
.bnk-menu-animated .e-n-menu-title-text {
  border-bottom: 0 !important;
}

.bnk-menu-animated .e-n-menu-title-container {
  position: relative !important;
}

.bnk-menu-animated .e-n-menu-title-container::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 0%;
  height: 1px;
  background: var(--bnk-lime);
  transform: translateX(-50%);
  transition: width 0.32s ease;
  pointer-events: none;
}

.bnk-menu-animated .e-n-menu-title:hover .e-n-menu-title-container::after,
.bnk-menu-animated .e-n-menu-title-container:hover::after,
.bnk-menu-animated .e-n-menu-title.e-current .e-n-menu-title-container::after,
.bnk-menu-animated .e-n-menu-title.elementor-active .e-n-menu-title-container::after,
.bnk-menu-animated .e-n-menu-title[aria-expanded="true"] .e-n-menu-title-container::after,
.bnk-menu-animated .e-n-menu-title[aria-current="page"] .e-n-menu-title-container::after {
  width: 90%;
}


/* =====================================================
   06 · HERO
   ===================================================== */
.hero {
  position: relative;
  overflow: hidden;
  min-height: var(--bnk-hero-min-h);
}

.hero::before {
  content: "";
  position: absolute;
  top: 12%;
  right: -12%;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(204, 255, 0, 0.13), transparent 70%);
  filter: blur(55px);
  pointer-events: none;
  animation: bnk-hero-glow 7s ease-in-out infinite;
}

.hero-inner { position: relative; z-index: 2; }
.hero-right { position: relative; }

.hero-stat-card {
  position: absolute;
  left: -30px;
  bottom: 42px;
  z-index: 3;
}

.hero-wa-bubble {
  position: absolute;
  right: -22px;
  bottom: -22px;
  z-index: 4;
}

.hero-wa-float .elementor-button {
  padding: 0 !important;
  box-shadow: none !important;
}

.bnk-hero-intro {
  opacity: 0;
  transform: translateY(18px);
  animation: bnk-hero-enter 0.85s var(--bnk-tr-smooth) forwards;
}
.bnk-hero-delay-1 { animation-delay: 0.08s; }
.bnk-hero-delay-2 { animation-delay: 0.16s; }
.bnk-hero-delay-3 { animation-delay: 0.24s; }
.bnk-hero-delay-4 { animation-delay: 0.32s; }

@keyframes bnk-hero-enter {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes bnk-hero-glow {
  0%, 100% { transform: translate(0, 0) scale(1);       opacity: 1;    }
  50%      { transform: translate(-18px, 16px) scale(1.08); opacity: 0.75; }
}

.hero-cta-row .elementor-button {
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}
.hero-cta-row .elementor-button:hover {
  transform: translateY(-3px);
}

@media (max-width: 1024px) {
  .hero-stat-card { left: 24px; bottom: 30px; }
  .hero-wa-bubble { right: 18px; bottom: 18px; }
}

@media (max-width: 767px) {
  .hero-btn-primary,
  .hero-btn-secondary,
  .hero-btn-primary .elementor-button-wrapper,
  .hero-btn-secondary .elementor-button-wrapper,
  .hero-btn-primary .elementor-button,
  .hero-btn-secondary .elementor-button { width: 100%; }

  .hero-cta-row { width: 100%; }

  .hero-stat-card {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: -70px;
    align-self: flex-start;
    margin-left: 18px;
  }
  .hero-wa-bubble { right: 14px; bottom: 14px; }
}


/* =====================================================
   07 · MARQUEE / CINTILLO
   ===================================================== */
.marquee-strip {
  overflow: hidden;
  white-space: nowrap;
}

.marquee-track { min-width: max-content; }

.marquee-track .elementor-heading-title,
.bnk-marquee-track {
  display: inline-block;
  white-space: nowrap;
  animation: bankoin-marquee 32s linear infinite;
}

@keyframes bankoin-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (max-width: 767px) {
  .marquee-track .elementor-heading-title,
  .bnk-marquee-track { animation-duration: 24s; }
}


/* =====================================================
   08 · ABOUT / QUIÉNES SOMOS
   ===================================================== */
.about-copy strong,
.about-content strong {
  color: var(--bnk-black);
}


/* =====================================================
   09 · PROCESS / CÓMO FUNCIONA
   ===================================================== */
.process-card {
  transition: transform var(--bnk-tr), box-shadow var(--bnk-tr), border-color var(--bnk-tr);
}
.process-card:hover {
  transform: translateY(-4px);
  border-color: rgba(153, 191, 0, 0.45);
  box-shadow: 0 22px 50px rgba(10, 10, 10, 0.07);
}

.process-note p { margin: 0; }

.process-number .elementor-heading-title {
  color: var(--bnk-lime-soft) !important;
  -webkit-text-stroke: 1px var(--bnk-lime-mid);
}


/* =====================================================
   10 · WHY / POR QUÉ BANKOIN
   ===================================================== */
.why-card {
  transition: transform var(--bnk-tr), box-shadow var(--bnk-tr), border-color var(--bnk-tr);
}
.why-card:hover {
  transform: translateY(-4px);
  border-color: rgba(153, 191, 0, 0.45);
  box-shadow: 0 22px 50px rgba(10, 10, 10, 0.07);
}


/* =====================================================
   11 · AUDIENCE / PARA QUIÉN  (hover reforzado)
   ===================================================== */
.audience-row { position: relative; }

.audience-row.bnk-reveal.bnk-visible,
.audience-row.bnk-visible {
  transition:
    transform 0.32s var(--bnk-tr-smooth),
    padding-left 0.32s var(--bnk-tr-smooth),
    border-color 0.32s ease,
    opacity 0.32s ease;
}

.audience-row.bnk-visible:hover,
.audience-row:hover {
  transform: translateX(10px);
  border-color: rgba(153, 191, 0, 0.45) !important;
}

.audience-row:last-child {
  border-bottom: 0 !important;
}


/* =====================================================
   12 · FAQ ACCORDION
   ===================================================== */
.faq-accordion-visual .elementor-accordion-item {
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.18) !important;
}
.faq-accordion-visual .elementor-accordion-item:last-child {
  border-bottom: 0 !important;
}

.faq-accordion-visual .elementor-tab-title {
  position: relative !important;
  padding: 30px 54px 30px 0 !important;
  display: block !important;
  text-align: left !important;
  transition: padding-left 0.28s ease, color 0.28s ease;
}
.faq-accordion-visual .elementor-tab-title:hover {
  padding-left: 10px !important;
}

.faq-accordion-visual .elementor-accordion-title {
  display: block !important;
  color: var(--bnk-white) !important;
  text-align: left !important;
}
.faq-accordion-visual .elementor-tab-title:hover .elementor-accordion-title {
  color: var(--bnk-lime) !important;
}

.faq-accordion-visual .elementor-tab-content {
  padding: 0 0 30px 0 !important;
  border-top: 0 !important;
  background: transparent !important;
  max-width: 720px;
  color: #D9D9D9 !important;
}
.faq-accordion-visual .elementor-tab-content p { margin: 0; }

.faq-accordion-visual .elementor-accordion-icon {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border: 1px solid var(--bnk-lime);
  border-radius: 999px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  color: var(--bnk-lime) !important;
  transition: background 0.4s ease, color 0.4s ease, transform 0.4s ease;
}
.faq-accordion-visual .elementor-accordion-icon i,
.faq-accordion-visual .elementor-accordion-icon svg,
.faq-accordion-visual .elementor-accordion-icon-opened,
.faq-accordion-visual .elementor-accordion-icon-closed {
  display: none !important;
}
.faq-accordion-visual .elementor-accordion-icon::before {
  content: "+";
  font-family: var(--bnk-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform 0.4s ease;
}
.faq-accordion-visual .elementor-active .elementor-accordion-icon {
  background: var(--bnk-lime);
  color: var(--bnk-black) !important;
}
.faq-accordion-visual .elementor-active .elementor-accordion-icon::before {
  transform: rotate(45deg);
}

@media (max-width: 767px) {
  .faq-accordion-visual .elementor-tab-title { padding: 24px 46px 24px 0 !important; }
  .faq-accordion-visual .elementor-tab-content { padding: 0 0 24px 0 !important; }
  .faq-accordion-visual .elementor-accordion-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
  }
  .faq-accordion-visual .elementor-accordion-icon::before { font-size: 11px; }
}


/* =====================================================
   13 · CTA FINAL
   ===================================================== */
.final-cta-section {
  position: relative;
  overflow: hidden;
}

.final-cta-section::before {
  content: "BANKOIN";
  position: absolute;
  left: 50%;
  bottom: -24px;
  transform: translateX(-50%);
  font-family: var(--bnk-font-display);
  font-size: clamp(86px, 18vw, 245px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.78;
  color: rgba(10, 10, 10, 0.06);
  white-space: nowrap;
  pointer-events: none;
  z-index: 1;
}

.final-cta-content { position: relative; z-index: 2; }
.final-cta-copy    { max-width: 620px; }

.final-cta-button .elementor-button {
  box-shadow: 0 18px 45px rgba(10, 10, 10, 0.18);
  transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease, color 0.28s ease;
}
.final-cta-button .elementor-button:hover {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 24px 56px rgba(10, 10, 10, 0.24);
}

@media (max-width: 767px) {
  .final-cta-section::before {
    bottom: -10px;
    font-size: clamp(72px, 30vw, 140px);
  }
  .final-cta-copy { max-width: 100%; }
}


/* =====================================================
   14 · FOOTER
   ===================================================== */
.bnk-footer { position: relative; }

.bnk-footer-logo {
  transition: transform 0.24s ease, opacity 0.24s ease;
}
.bnk-footer-logo:hover {
  transform: translateY(-1px);
  opacity: 0.9;
}

.bnk-footer-disclaimer {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.bnk-footer-disclaimer-text { font-style: italic; }

.bnk-footer-nav .elementor-icon-list-text,
.bnk-footer-contact .elementor-icon-list-text {
  transition: color 0.22s ease, transform 0.22s ease;
  display: inline-block;
}
.bnk-footer-nav .elementor-icon-list-item:hover .elementor-icon-list-text,
.bnk-footer-contact .elementor-icon-list-item:hover .elementor-icon-list-text {
  transform: translateX(4px);
}

@media (max-width: 767px) {
  .bnk-footer-bottom { text-align: center; }
}


/* =====================================================
   15 · ANCLAS (offset para header sticky)
   ===================================================== */
section[id],
.elementor-element[id^="elementor-element-"] > [id] {
  scroll-margin-top: 110px;
}
@media (max-width: 767px) {
  section[id],
  .elementor-element[id^="elementor-element-"] > [id] {
    scroll-margin-top: 85px;
  }
}


/* =====================================================
   16 · REVEAL ON SCROLL
   ===================================================== */
.bnk-reveal,
.bnk-reveal-left,
.bnk-reveal-right,
.bnk-reveal-scale {
  opacity: 0;
  transition:
    opacity var(--bnk-reveal-dur) ease,
    transform var(--bnk-reveal-dur) var(--bnk-tr-smooth);
  will-change: opacity, transform;
}

.bnk-reveal       { transform: translateY(34px); }
.bnk-reveal-left  { transform: translateX(-34px); }
.bnk-reveal-right { transform: translateX(34px); }
.bnk-reveal-scale { transform: scale(0.96); }

.bnk-reveal.bnk-visible,
.bnk-reveal-left.bnk-visible,
.bnk-reveal-right.bnk-visible,
.bnk-reveal-scale.bnk-visible,
.bnk-reveal.visible,
.bnk-reveal-left.visible,
.bnk-reveal-right.visible,
.bnk-reveal-scale.visible {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

.bnk-delay-1 { transition-delay: 0.08s; }
.bnk-delay-2 { transition-delay: 0.16s; }
.bnk-delay-3 { transition-delay: 0.24s; }
.bnk-delay-4 { transition-delay: 0.32s; }
.bnk-delay-5 { transition-delay: 0.40s; }


/* =====================================================
   17 · WHATSAPP FLOTANTE
   ===================================================== */
.bnk-wa-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 62px;
  height: 62px;
  border-radius: 999px;
  background: var(--bnk-lime);
  color: var(--bnk-black);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9998;
  text-decoration: none;
  box-shadow: 0 10px 34px rgba(204, 255, 0, 0.42);
  animation: bnk-wa-pulse 2.2s ease-in-out infinite;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.bnk-wa-float:hover {
  transform: translateY(-4px) scale(1.06);
  box-shadow: 0 16px 48px rgba(204, 255, 0, 0.58);
  background: var(--bnk-lime-soft);
}
.bnk-wa-float svg {
  width: 28px;
  height: 28px;
  display: block;
}
.bnk-wa-float::after {
  content: "WhatsApp";
  position: absolute;
  right: 74px;
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  background: var(--bnk-black);
  color: var(--bnk-white);
  font-family: var(--bnk-font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 8px 12px;
  border-radius: 999px;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.bnk-wa-float:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

@keyframes bnk-wa-pulse {
  0%, 100% {
    box-shadow:
      0 10px 34px rgba(204, 255, 0, 0.42),
      0 0 0 0  rgba(204, 255, 0, 0.28);
  }
  50% {
    box-shadow:
      0 10px 34px rgba(204, 255, 0, 0.68),
      0 0 0 13px rgba(204, 255, 0, 0.08);
  }
}

@media (max-width: 767px) {
  .bnk-wa-float {
    right: 18px;
    bottom: 18px;
    width: 56px;
    height: 56px;
  }
  .bnk-wa-float svg     { width: 25px; height: 25px; }
  .bnk-wa-float::after  { display: none; }
}


/* =====================================================
   18 · GRANO FÍLMICO
   ===================================================== */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.045;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}


/* =====================================================
   19 · EDITOR ELEMENTOR + REDUCCIÓN DE MOVIMIENTO
   ===================================================== */
body.elementor-editor-active .bnk-reveal,
body.elementor-editor-active .bnk-reveal-left,
body.elementor-editor-active .bnk-reveal-right,
body.elementor-editor-active .bnk-reveal-scale,
body.elementor-editor-active .bnk-hero-intro {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

body.elementor-editor-active .bnk-soft-float,
body.elementor-editor-active .bnk-wa-float,
body.elementor-editor-active .marquee-track .elementor-heading-title,
body.elementor-editor-active .bnk-marquee-track,
body.elementor-editor-active .hero::before {
  animation: none !important;
}

body.elementor-editor-active .bnk-wa-float {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .bnk-reveal,
  .bnk-reveal-left,
  .bnk-reveal-right,
  .bnk-reveal-scale,
  .bnk-hero-intro {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  .bnk-soft-float,
  .bnk-wa-float,
  .hero::before,
  .marquee-track .elementor-heading-title,
  .bnk-marquee-track {
    animation: none !important;
  }
  html { scroll-behavior: auto; }
}


/* =====================================================
   20 · SINGLE PAGE CONTENT (legales, informativos)
   Clases:  single-content-card · single-content-text · single-note
   Compatible con clases viejas: legal-content-card · legal-content-text · legal-note
   ===================================================== */

/* El contenido largo no depende del reveal */
.single-content-card.bnk-reveal,
.single-note.bnk-reveal,
.single-content-card.bnk-reveal.bnk-visible,
.single-note.bnk-reveal.bnk-visible,
.legal-content-card.bnk-reveal,
.legal-note.bnk-reveal,
.legal-content-card.bnk-reveal.bnk-visible,
.legal-note.bnk-reveal.bnk-visible {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.single-content-text,
.legal-content-text {
  color: var(--bnk-text);
  line-height: 1.68;
}

.single-content-text p,
.legal-content-text p {
  margin: 0 0 18px;
}

.single-content-text ul,
.single-content-text ol,
.legal-content-text ul,
.legal-content-text ol {
  margin: 6px 0 20px;
  padding-left: 1.18em;
}

.single-content-text li,
.legal-content-text li {
  margin-bottom: 2px;
  padding-left: 2px;
  line-height: 1.45;
}

.single-content-text ul + h2,
.single-content-text ol + h2,
.legal-content-text ul + h2,
.legal-content-text ol + h2 {
  margin-top: 42px;
}

.single-content-text h2,
.legal-content-text h2 {
  margin: 40px 0 14px;
  font-family: var(--bnk-font-display);
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--bnk-text);
}

.single-content-text p + h2,
.legal-content-text p + h2 {
  margin-top: 40px;
}

.single-content-text h2:first-child,
.legal-content-text h2:first-child {
  margin-top: 0;
}

.single-content-text strong,
.legal-content-text strong {
  font-weight: 700;
  color: var(--bnk-text);
}

.single-content-text a,
.legal-content-text a {
  color: var(--bnk-lime-deep);
  text-decoration: none;
  border-bottom: 1px solid var(--bnk-lime);
  transition: color 0.2s ease, border-color 0.2s ease;
}
.single-content-text a:hover,
.legal-content-text a:hover {
  color: var(--bnk-text);
  border-color: var(--bnk-text);
}

.single-intro p,
.single-meta p,
.single-note-text p,
.legal-intro p,
.legal-meta p,
.legal-note-text p {
  margin: 0;
}

@media (max-width: 767px) {
  .single-content-text,
  .legal-content-text { line-height: 1.62; }

  .single-content-text p,
  .legal-content-text p { margin-bottom: 16px; }

  .single-content-text ul,
  .single-content-text ol,
  .legal-content-text ul,
  .legal-content-text ol {
    margin: 4px 0 18px;
    padding-left: 1.1em;
  }

  .single-content-text li,
  .legal-content-text li {
    margin-bottom: 1px;
    line-height: 1.42;
  }

  .single-content-text h2,
  .legal-content-text h2 {
    margin-top: 32px;
    margin-bottom: 12px;
    font-size: clamp(21px, 7vw, 26px);
    line-height: 1.16;
  }

  .single-content-text ul + h2,
  .single-content-text ol + h2,
  .legal-content-text ul + h2,
  .legal-content-text ol + h2 {
    margin-top: 34px;
  }

  .single-content-text p + h2,
  .legal-content-text p + h2 {
    margin-top: 32px;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'General Sans';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-Extralight.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-Light.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-Semibold.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: italic;
	font-weight: 200;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-ExtralightItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: italic;
	font-weight: 300;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-LightItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-Italic.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: italic;
	font-weight: 500;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-SemiboldItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'General Sans';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: ;
}
@font-face {
	font-family: 'General Sans';
	font-style: italic;
	font-weight: 700;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/GeneralSans-BoldItalic.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Nyght Serif';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-Light.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: italic;
	font-weight: 300;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-LightItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-RegularItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: italic;
	font-weight: 500;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-MediumItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-Dark.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: italic;
	font-weight: 700;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-DarkItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'Nyght Serif';
	font-style: italic;
	font-weight: 600;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/NyghtSerif-BoldItalic.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Clash Display';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/ClashDisplay-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Clash Display';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/ClashDisplay-Semibold.woff2') format('woff2');
}
@font-face {
	font-family: 'Clash Display';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/ClashDisplay-Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'Clash Display';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/ClashDisplay-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Clash Display';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/ClashDisplay-Light.woff2') format('woff2');
}
@font-face {
	font-family: 'Clash Display';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://bankoincambios.com/wp-content/uploads/ClashDisplay-Extralight.woff2') format('woff2');
}
/* End Custom Fonts CSS */