/* Scrolling Hero plugin */

/* Temas WP (Hostinger, etc.): overflow-x:hidden rompe sticky; clip no crea scroll container */
html:has(.latam-scroll-hero),
body:has(.latam-scroll-hero) {
  overflow-x: clip !important;
}

.entry-content:has(.latam-scroll-hero),
.site-content:has(.latam-scroll-hero),
.page-content:has(.latam-scroll-hero),
.wp-block-html:has(.latam-scroll-hero) {
  overflow: visible !important;
}

.latam-scroll-hero.scroll-animation {
    height: 320vh !important;
    min-height: 320vh !important;
    display: block !important;
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .sticky-viewport {
      position: -webkit-sticky !important;
      position: sticky !important;
      top: 0 !important;
      height: 100dvh !important;
      min-height: 100dvh !important;
    }

    body.admin-bar .latam-scroll-hero .sticky-viewport {
      top: 32px !important;
      min-height: calc(100dvh - 32px) !important;
      height: calc(100dvh - 32px) !important;
    }

    body.admin-bar .latam-scroll-hero .sticky-viewport.hero-sticky-fixed-fallback {
      top: 32px !important;
    }

    .latam-scroll-hero .sticky-viewport::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      background: #041e19 url(var(--latam-hero-poster, none)) center/cover no-repeat;
    }

    .latam-scroll-hero .latam-hero-canvas,
    .latam-scroll-hero #heroCanvas {
      z-index: 1;
    }

    .latam-scroll-hero.latam-hero-canvas-ready .sticky-viewport::before {
      opacity: 0;
      transition: opacity 0.2s linear;
    }
  }

  .entry-content,
  .site-content,
  #page,
  #content,
  .content-area,
  .wp-site-blocks,
  main.site-main,
  .ast-container,
  .elementor,
  .elementor-section-wrap,
  .e-con {
    overflow: visible !important;
  }

.latam-scroll-hero {
    --background: #041e19;
    --foreground: #fbfbfa;
    --muted: #8a9a94;
    --accent: #D4A359;
    --accent-soft: rgba(212, 163, 89, 0.14);
    --card-bg: rgba(4, 30, 25, 0.55);
    --card-border: rgba(212, 163, 89, 0.15);
    --font-sans: "Inter", system-ui, sans-serif;
    --font-heading: "Caros", Georgia, "Times New Roman", serif;
    --font-mono: "Inter", system-ui, sans-serif;
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: visible;
    overflow-x: clip;
    padding: 0 !important;
    background: var(--background);
    color: var(--foreground);
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    isolation: isolate;
  }

  .latam-scroll-hero.scroll-animation {
    height: 320vh;
    background: var(--background);
  }

  @media (max-width: 1023px) {
    .latam-scroll-hero.scroll-animation,
    .latam-scroll-hero.hero-mobile-static.scroll-animation {
      height: auto;
      min-height: auto;
    }

    .latam-scroll-hero,
    .latam-scroll-hero.hero-mobile-static {
      --background: #ffffff;
      --foreground: #041e19;
      background: #ffffff;
    }

    .latam-scroll-hero #heroCanvas,
    .latam-scroll-hero .radial-overlay,
    .latam-scroll-hero .hud-corner,
    .latam-scroll-hero #bigLeftText,
    .latam-scroll-hero .progress-footer,
    .latam-scroll-hero .card-desktop,
    .latam-scroll-hero .cards-mobile,
    .latam-scroll-hero .hero-text .eyebrow-badge {
      display: none !important;
    }

    .latam-scroll-hero .hero-text h1,
    .latam-scroll-hero #vk-hero-heading {
      max-width: none;
      font-size: clamp(2rem, 8vw, 2.75rem);
      color: #041e19;
      text-shadow: none !important;
      text-align: center;
      margin-inline: auto;
    }

    .latam-scroll-hero .hero-text h1 .accent {
      color: #D4A359;
    }

    .latam-scroll-hero .hero-text p {
      max-width: 36ch;
      font-size: clamp(1.0625rem, 3.5vw, 1.1875rem);
      color: #000000;
      text-shadow: none;
      text-align: center;
      margin-inline: auto;
    }

    .latam-scroll-hero .hero-actions {
      flex-direction: column;
      align-items: center;
      width: 100%;
      margin-top: 0.25rem;
    }

    .latam-scroll-hero .hero-actions .vk-btn-agendar {
      width: 100%;
      max-width: 320px;
    }
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .sticky-viewport {
      position: sticky;
      top: 0;
      width: 100%;
      min-height: 100dvh;
      height: 100dvh;
      overflow: hidden;
      background: var(--background);
      will-change: transform;
      transform: translateZ(0);
    }
  }

  .latam-scroll-hero .sticky-viewport {
    width: 100%;
    background: var(--background);
  }

  .latam-scroll-hero canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: translateZ(0);
  }

  @media (min-width: 769px) {
    .latam-scroll-hero canvas {
      will-change: contents;
    }
  }

  .latam-scroll-hero .radial-overlay {
    pointer-events: none;
    position: absolute;
    inset: 0;
    z-index: 1;
    background: radial-gradient(
      120% 80% at 50% 10%,
      transparent 30%,
      rgba(0, 0, 0, 0.45) 70%,
      rgba(0, 0, 0, 0.85) 100%
    );
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .radial-overlay {
      background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.78) 0%,
        rgba(0, 0, 0, 0.52) 42%,
        rgba(0, 0, 0, 0.18) 68%,
        transparent 88%
      );
    }
  }
  }

  .latam-scroll-hero .hud-corner {
    pointer-events: none;
    position: absolute;
    z-index: 5;
    color: var(--accent);
  }

  .latam-scroll-hero .hud-bl { bottom: 3.5rem; left: 1.5rem; }
  .latam-scroll-hero .hud-br { bottom: 3.5rem; right: 1.5rem; }

  @media (min-width: 768px) {
    .latam-scroll-hero .hud-bl { bottom: 4rem; left: 2.5rem; }
    .latam-scroll-hero .hud-br { bottom: 4rem; right: 2.5rem; }
  }

  .latam-scroll-hero .card-surface {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 20px;
    backdrop-filter: blur(20px) saturate(140%);
    -webkit-backdrop-filter: blur(20px) saturate(140%);
    box-shadow:
      0 1px 0 0 rgba(255, 255, 255, 0.04) inset,
      0 20px 40px -20px rgba(0, 0, 0, 0.6);
  }

  .latam-scroll-hero .eyebrow-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(30, 41, 59, 0.88);
    padding: 0.3rem 0.625rem;
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: rgba(251, 251, 250, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .latam-scroll-hero .accent-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 8px rgba(212, 163, 89, 0.6);
  }

  .latam-scroll-hero .vk-hero-eyebrow-gold,
  .latam-scroll-hero .protocol-label.vk-hero-eyebrow-gold {
    color: #D4A359;
  }

  .latam-scroll-hero .big-left-text h2 .accent {
    color: #D4A359;
  }

  @keyframes heroFadeIn {
    from {
      opacity: 0;
      transform: translateY(12px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .hero-text {
      position: absolute;
      inset-inline: 0;
      bottom: 0;
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1.25rem;
      padding: 0 3rem 6.5rem;
      transition: opacity 80ms linear;
      pointer-events: none;
    }

    .latam-scroll-hero .hero-text .eyebrow-badge {
      font-size: 10px;
      padding: 0.375rem 0.75rem;
      letter-spacing: 0.2em;
    }
  }

  .latam-scroll-hero .hero-text a {
    pointer-events: auto;
  }

  .latam-scroll-hero .hero-text h1,
  .latam-scroll-hero #vk-hero-heading {
    max-width: 14ch;
    font-family: var(--font-heading);
    font-size: 2.75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--foreground);
    margin: 0;
    animation: none;
    opacity: 1;
    transform: none;
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .hero-text h1,
    .latam-scroll-hero #vk-hero-heading {
      text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.55),
        0 8px 24px rgba(0, 0, 0, 0.45),
        0 16px 48px rgba(0, 0, 0, 0.35);
      font-size: clamp(2.25rem, 3.6vw, 3.5rem);
      max-width: 16ch;
    }
  }

  @media (min-width: 1280px) {
    .latam-scroll-hero .hero-text h1,
    .latam-scroll-hero #vk-hero-heading {
      font-size: clamp(3rem, 3.8vw, 4.25rem);
      max-width: 14ch;
    }
  }

  @media (min-width: 1537px) {
    .latam-scroll-hero .hero-text h1,
    .latam-scroll-hero #vk-hero-heading {
      font-size: clamp(3.75rem, 4vw, 5.5rem);
      max-width: 12ch;
    }
  }

  .latam-scroll-hero .hero-text h1 .accent { color: var(--accent); }

  .latam-scroll-hero .hero-text p {
    max-width: 38ch;
    font-family: var(--font-sans);
    font-size: clamp(1.125rem, 1rem + 0.35vw, 1.25rem);
    font-weight: 400;
    line-height: 1.55;
    margin: 0;
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .hero-text p {
      color: rgba(251, 251, 250, 0.82);
    }
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .hero-text p {
      max-width: 42ch;
      line-height: 1.6;
      font-size: 1.25rem;
    }
  }

  .latam-scroll-hero .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 0.25rem;
    pointer-events: auto;
  }

  .latam-scroll-hero .hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 9999px;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease;
  }

  .latam-scroll-hero .hero-btn-secondary {
    border: 1px solid rgba(251, 251, 250, 0.35);
    background: rgba(251, 251, 250, 0.08);
    color: var(--foreground);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .latam-scroll-hero .hero-btn-secondary:hover {
    background: rgba(251, 251, 250, 0.14);
    border-color: rgba(251, 251, 250, 0.5);
  }

  .latam-scroll-hero .big-left-text {
    pointer-events: none;
    position: absolute;
    bottom: 6rem;
    left: 1.5rem;
    z-index: 10;
    display: none;
    max-width: 58%;
    flex-direction: column;
    gap: 1.25rem;
    opacity: 0;
    transition: opacity 80ms linear;
  }

  @media (min-width: 768px) {
    .latam-scroll-hero .big-left-text {
      display: flex;
      bottom: 7rem;
      left: 3rem;
      max-width: 62%;
      gap: 1.5rem;
    }
  }

  .latam-scroll-hero .protocol-label {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    font-family: var(--font-mono);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: var(--accent);
  }

  .latam-scroll-hero .big-left-text h2 {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: -0.04em;
    color: var(--foreground);
    margin: 0;
  }

  @media (min-width: 1280px) {
    .latam-scroll-hero .big-left-text h2 {
      font-size: clamp(2.5rem, 4.5vw, 4rem);
    }
  }

  @media (min-width: 1537px) {
    .latam-scroll-hero .big-left-text h2 {
      font-size: clamp(3rem, 5vw, 5rem);
    }
  }

  .latam-scroll-hero .big-left-text h2 .accent { color: var(--accent); }

  .latam-scroll-hero .big-left-text .sub {
    max-width: 36ch;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--muted);
    margin: 0;
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .big-left-text .sub { font-size: 0.8125rem; }
  }

  .latam-scroll-hero .progress-footer {
    pointer-events: none;
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    z-index: 10;
  }

  .latam-scroll-hero .progress-track {
    margin: 0 1.5rem 0.75rem;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
  }

  @media (min-width: 768px) {
    .latam-scroll-hero .progress-track { margin-inline: 2.5rem; }
  }

  .latam-scroll-hero .progress-fill {
    height: 100%;
    background: var(--accent);
    transform-origin: left;
    transform: scaleX(0);
    transition: transform 80ms linear;
  }

  .latam-scroll-hero .progress-labels {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 1.5rem;
    padding-bottom: 1rem;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: var(--muted);
  }

  @media (min-width: 768px) {
    .latam-scroll-hero .progress-labels { margin-inline: 2.5rem; }
  }

  .latam-scroll-hero .card-desktop {
    pointer-events: none;
    position: absolute;
    z-index: 20;
    width: min(90vw, 480px);
    max-width: 90vw;
    display: block;
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .card-desktop { width: 540px; }
  }

  .latam-scroll-hero .card-desktop.d1 { top: 22%; right: 1.5rem; }
  .latam-scroll-hero .card-desktop.d2 {
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
    pointer-events: none;
  }
  .latam-scroll-hero .card-desktop.d2 figure { pointer-events: auto; }
  .latam-scroll-hero .card-desktop.d3 { bottom: 6rem; right: 1.5rem; }

  @media (max-width: 1023px) {
    .latam-scroll-hero .card-desktop {
      width: min(88vw, 420px);
    }
    .latam-scroll-hero .card-desktop.d1 {
      top: clamp(18%, 22vh, 26%);
      right: clamp(0.75rem, 3vw, 1.5rem);
    }
    .latam-scroll-hero .card-desktop.d2 {
      right: clamp(0.75rem, 3vw, 1.5rem);
    }
    .latam-scroll-hero .card-desktop.d3 {
      bottom: clamp(4.5rem, 12vh, 6rem);
      right: clamp(0.75rem, 3vw, 1.5rem);
    }
    .latam-scroll-hero .card-desktop blockquote {
      font-size: clamp(1.125rem, 3.5vw, 1.5rem);
    }
    .latam-scroll-hero .card-desktop figure {
      padding: 1.25rem;
    }
  }

  @media (min-width: 768px) {
    .latam-scroll-hero .card-desktop.d1 { right: 3rem; }
    .latam-scroll-hero .card-desktop.d2 { right: 3rem; }
    .latam-scroll-hero .card-desktop.d3 { bottom: 7rem; right: 3rem; }
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .hero-text {
      padding-right: calc(min(42vw, 480px) + clamp(2rem, 4vw, 3rem));
    }

    .latam-scroll-hero .big-left-text {
      max-width: min(50%, calc(100% - min(42vw, 480px) - clamp(3rem, 5vw, 4rem)));
    }
  }

  @media (min-width: 1024px) and (max-width: 1280px) {
    .latam-scroll-hero .card-desktop {
      width: min(42vw, 480px);
    }

    .latam-scroll-hero .card-desktop.d1,
    .latam-scroll-hero .card-desktop.d2,
    .latam-scroll-hero .card-desktop.d3 {
      right: clamp(1.5rem, 2.5vw, 2.5rem);
    }

    .latam-scroll-hero .card-desktop.d3 {
      bottom: clamp(5.5rem, 10vh, 6.5rem);
    }

    .latam-scroll-hero .hero-text {
      padding-right: calc(min(42vw, 480px) + clamp(2rem, 4vw, 3rem));
    }

    .latam-scroll-hero .big-left-text {
      max-width: min(50%, calc(100% - min(42vw, 480px) - clamp(3rem, 5vw, 4rem)));
    }
  }

  @media (min-width: 1068px) {
    .latam-scroll-hero .hero-text {
      padding-left: max(40px, env(safe-area-inset-left));
      padding-right: max(40px, env(safe-area-inset-right));
    }

    .latam-scroll-hero .progress-track {
      margin-inline: max(40px, env(safe-area-inset-left))
        max(40px, env(safe-area-inset-right));
    }

    .latam-scroll-hero .progress-labels {
      margin-inline: max(40px, env(safe-area-inset-left))
        max(40px, env(safe-area-inset-right));
    }

    .latam-scroll-hero .big-left-text {
      left: max(40px, env(safe-area-inset-left));
    }
  }

  @media (min-width: 1068px) and (max-width: 1280px) {
    .latam-scroll-hero .hero-text {
      padding-right: calc(min(42vw, 480px) + clamp(2rem, 4vw, 3rem));
    }
  }

  @media (min-width: 1281px) and (max-width: 1440px) {
    .latam-scroll-hero .hero-text h1,
    .latam-scroll-hero #vk-hero-heading {
      max-width: min(
        12ch,
        calc(
          100vw - 540px - max(40px, env(safe-area-inset-left)) -
            max(40px, env(safe-area-inset-right)) - 3rem
        )
      );
    }
  }

  .latam-scroll-hero .card-desktop figure {
    pointer-events: auto;
    padding: 2rem;
    transition: all 400ms ease-out;
    opacity: 0;
    transform: translateY(1.25rem);
  }

  .latam-scroll-hero .card-desktop figure.visible {
    opacity: 1;
    transform: translateY(0);
  }

  .latam-scroll-hero .card-desktop blockquote {
    font-family: var(--font-sans);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.375;
    letter-spacing: -0.025em;
    color: var(--foreground);
    margin: 0;
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .card-desktop blockquote { font-size: 1.75rem; }
  }

  .latam-scroll-hero .card-desktop figcaption {
    margin-top: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  .latam-scroll-hero .card-desktop figcaption .speaker {
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 500;
    color: rgba(251, 251, 250, 0.75);
  }

  .latam-scroll-hero .card-desktop figcaption .film {
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    color: var(--accent);
  }

  .latam-scroll-hero .cards-mobile {
    display: none !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .latam-scroll-hero .hero-text h1 {
      animation: none;
      opacity: 1;
      transform: none;
    }
  }

  .latam-scroll-hero.hero-reduced-motion.scroll-animation {
    height: auto;
    min-height: 100dvh;
  }

  .latam-scroll-hero.hero-reduced-motion .sticky-viewport {
    position: relative;
    top: auto;
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
  }

  .latam-scroll-hero.hero-reduced-motion #bigLeftText,
  .latam-scroll-hero.hero-reduced-motion .card-desktop,
  .latam-scroll-hero.hero-reduced-motion .progress-footer,
  .latam-scroll-hero.hero-reduced-motion .hud-corner {
    display: none !important;
  }

  .latam-scroll-hero.hero-reduced-motion .hero-text {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    z-index: 10;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    padding: 0 3rem 8.5rem;
    pointer-events: none;
  }

  .latam-scroll-hero.hero-reduced-motion .hero-text a {
    pointer-events: auto;
  }

  @media (max-width: 1023px) {
    .latam-scroll-hero .sticky-viewport,
    .latam-scroll-hero.hero-mobile-static .sticky-viewport {
      position: relative;
      top: auto;
      height: auto;
      min-height: min(440px, 72dvh);
      overflow: visible;
      background: #ffffff;
      will-change: auto;
      transform: none;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
    }

    .latam-scroll-hero .hero-text {
      position: relative !important;
      inset: auto;
      bottom: auto;
      flex: 0 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      text-align: center;
      gap: 0.625rem;
      padding: calc(6.5rem + env(safe-area-inset-top, 0px)) 1.25rem 0.75rem;
      padding-left: max(1.25rem, env(safe-area-inset-left));
      padding-right: max(1.25rem, env(safe-area-inset-right));
      opacity: 1 !important;
      transform: none !important;
      pointer-events: auto;
    }
  }

  @media (min-width: 1024px) {
    .latam-scroll-hero .sticky-viewport.hero-sticky-fixed-fallback {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 20;
    }

    body.admin-bar .latam-scroll-hero .sticky-viewport.hero-sticky-fixed-fallback {
      top: 32px;
    }
  }
.latam-scroll-hero a.vk-btn-agendar {
          font-family: inherit;
          font-size: 20px;
          background: var(--vk-cta, #D4A359);
          color: var(--vk-cta-text, #ffffff);
          padding: 0.7em 1em;
          padding-left: 0.9em;
          padding-right: 1.1em;
          display: inline-flex;
          align-items: center;
          border: none;
          border-radius: 16px;
          overflow: hidden;
          transition: all 0.2s;
          cursor: pointer;
          text-decoration: none;
          box-sizing: border-box;
          min-height: 48px;
          font-weight: 600;
          line-height: 1.2;
        }

        .latam-scroll-hero a.vk-btn-agendar:hover {
          background: var(--vk-cta-hover, #C4934A);
          color: var(--vk-cta-text, #ffffff);
        }

        .latam-scroll-hero a.vk-btn-agendar .vk-btn-agendar__labels {
          position: relative;
          display: block;
          margin-left: 1.35em;
          padding-left: 0.15em;
          min-height: 1.2em;
        }

        .latam-scroll-hero a.vk-btn-agendar .vk-btn-agendar__label {
          display: block;
          transition: opacity 0.25s ease-in-out;
          white-space: nowrap;
        }

        .latam-scroll-hero a.vk-btn-agendar .vk-btn-agendar__label--hover {
          position: absolute;
          left: 1em;
          top: 0;
          opacity: 0;
        }

        .latam-scroll-hero a.vk-btn-agendar:hover .vk-btn-agendar__label:not(.vk-btn-agendar__label--hover) {
          opacity: 0;
        }

        .latam-scroll-hero a.vk-btn-agendar:hover .vk-btn-agendar__label--hover {
          opacity: 1;
        }

        .latam-scroll-hero a.vk-btn-agendar svg {
          display: block;
          transform-origin: center center;
          transition: transform 0.3s ease-in-out;
        }

        .latam-scroll-hero a.vk-btn-agendar:hover .vk-btn-agendar__icon-inner {
          animation: vk-btn-fly-1 0.6s ease-in-out infinite alternate;
        }

        .latam-scroll-hero a.vk-btn-agendar:hover svg {
          transform: translateX(1.2em) rotate(45deg) scale(1.1);
        }

        .latam-scroll-hero a.vk-btn-agendar:active {
          transform: scale(0.95);
        }

        .latam-scroll-hero a.vk-btn-agendar:focus-visible {
          outline: 3px solid rgba(212, 163, 89, 0.55);
          outline-offset: 2px;
        }

        @keyframes vk-btn-fly-1 {
          from {
            transform: translateY(0.1em);
          }
          to {
            transform: translateY(-0.1em);
          }
        }

        .latam-scroll-hero a.vk-btn-agendar--nav {
          font-size: clamp(11px, 0.85vw, 13px);
          padding: 0.55em 0.85em;
          padding-left: 0.75em;
          min-height: 46px;
          height: 46px;
          border-radius: 12px;
          flex-shrink: 0;
        }

        .latam-scroll-hero a.vk-btn-agendar--nav .vk-btn-agendar__label {
          letter-spacing: 0.03em;
        }

        .latam-scroll-hero a.vk-btn-agendar--nav svg {
          width: 18px;
          height: 18px;
        }

        .latam-scroll-hero a.vk-btn-agendar--hero {
          font-size: clamp(14px, 1.6vw, 17px);
          border-radius: 16px;
        }

        .latam-scroll-hero a.vk-btn-agendar--sticky {
          flex: 1;
          font-size: 12px;
          min-height: 48px;
          justify-content: center;
          border-radius: 12px;
          padding: 0.55em 0.75em;
          padding-left: 0.65em;
        }

        .latam-scroll-hero a.vk-btn-agendar--sticky svg {
          width: 18px;
          height: 18px;
        }

        .latam-scroll-hero a.vk-btn-agendar--sticky .vk-btn-agendar__label {
          font-size: 11px;
          letter-spacing: 0.02em;
        }

        @media (prefers-reduced-motion: reduce) {
          .latam-scroll-hero a.vk-btn-agendar:hover .vk-btn-agendar__icon-inner {
            animation: none;
          }

          .latam-scroll-hero a.vk-btn-agendar:hover svg,
          .latam-scroll-hero a.vk-btn-agendar:hover .vk-btn-agendar__label--hover {
            transform: none;
          }

          .latam-scroll-hero a.vk-btn-agendar:active {
            transform: none;
          }
        }
/* WordPress / Gutenberg full-bleed */
  .wp-block-html:has(.latam-scroll-hero),
  .entry-content .wp-block-html,
  .site-content .wp-block-html {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .entry-content:has(.latam-scroll-hero),
  .site-content:has(.latam-scroll-hero),
  .page-content:has(.latam-scroll-hero) {
    overflow: visible !important;
  }

  .latam-scroll-hero {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
