/* Progressive enhancements for the original static FlevoPay page. */
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { overflow-x: clip; }
section[id], [id="contato"] { scroll-margin-top: 112px; }
a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
a:focus-visible, summary:focus-visible { outline: 2px solid var(--ring); outline-offset: 5px; }
header nav > img { width: auto; flex-shrink: 0; }
main > section:first-of-type h1 { font-size: 52px; overflow-wrap: normal; }
main > section:first-of-type h1 > span:first-child { white-space: normal; }
main > section:first-of-type [data-magnetic-button] { font-size: 16px; padding: 20px 24px; flex-shrink: 0; }
.marquee-track { padding-inline: 0; animation: flevo-marquee 80s linear infinite !important; }
.marquee-track:hover { animation-play-state: running; }
@keyframes flevo-marquee { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(-50% - 16px), 0, 0); } }
.marquee-track > div { transform: none !important; contain: layout paint; transition-property: translate; }
.marquee-track > div > [aria-hidden="true"] { display: none; }
.marquee-track:focus-within { animation-play-state: paused; }
.is-offscreen *, .is-offscreen *::before, .page-hidden *, .page-hidden *::before { animation-play-state: paused !important; }
#smartroute .opacity-0 { opacity: 1; translate: none; }
#smartroute .h-0 { height: 100%; }
#smartroute .md\:w-0 { width: 100%; }
.motion-ready #smartroute:not(.route-active) .opacity-0 { opacity: 0; }
.motion-ready #smartroute .opacity-0 { transition-property: opacity, translate; }
.motion-ready #smartroute.route-active .text-destructive { transition-delay: 350ms; }
.motion-ready #smartroute.route-active .text-primary { transition-delay: 1000ms; }
.motion-ready #smartroute.route-active .mt-6.opacity-0 { transition-delay: 1400ms; }
.motion-ready #smartroute .h-0 { transform: scaleY(0); transform-origin: top; transition: transform 650ms ease; }
.motion-ready #smartroute.route-active .h-0 { transform: scaleY(1); }
.motion-ready #smartroute.route-active .h-0:nth-child(1) { transition-delay: 150ms; }
.mobile-navigation { display: none; }
@media (min-width: 768px) {
  .motion-ready #smartroute .h-0 { transform: scaleX(0); transform-origin: left; }
  .motion-ready #smartroute.route-active .h-0 { transform: scaleX(1); }
}
@media (min-width: 1440px) { main > section:first-of-type h1 { font-size: 64px; } }
@media (max-width: 1023px) {
  header nav > ul { display: none; }
  html { scroll-padding-top: 88px; }
  section[id], [id="contato"] { scroll-margin-top: 88px; }
  main > section:first-of-type h1 { font-size: 36px; }
  header nav { position: relative; gap: 8px; }
  .mobile-navigation { display: block; order: 3; }
  .mobile-navigation summary { display: grid; width: 40px; height: 40px; place-items: center; list-style: none; cursor: pointer; border-radius: var(--radius); color: var(--foreground); }
  .mobile-navigation summary::-webkit-details-marker { display: none; }
  .mobile-navigation[open] summary { background: var(--accent); }
  .mobile-navigation ul { position: absolute; top: 100%; inset-inline: 16px; padding: 8px; list-style: none; background: var(--background); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-pill); }
  .mobile-navigation a { display: block; padding: 14px 16px; font-size: 14px; color: var(--foreground); border-radius: var(--radius); }
  .mobile-navigation a:hover { background: var(--accent); }
  header nav > .flex a { padding-inline: 12px; font-size: 12px; min-height: 40px; }
  header nav > img { max-width: 112px; height: auto; }
  .marquee-track { animation-duration: 55s !important; }
  main > section:first-of-type img { filter: none; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  main > section:first-of-type h1 { font-size: 44px; }
  #smartroute .md\:min-w-\[170px\] { min-width: 0; }
  #smartroute .md\:w-20 { width: 40px; }
  main > section:first-of-type .sm\:flex-row { flex-direction: column; align-items: stretch; }
}
@media (max-width: 359px) { main > section:first-of-type h1 { font-size: 32px; } }
@media (hover: none) {
  .marquee-track:hover { animation-play-state: running; }
  .btn-shine::before, .animate-ping { animation: none; }
  .blur-3xl, .blur-2xl { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .marquee-track { animation: none !important; transform: none; width: auto; overflow-x: auto; padding: 16px; scroll-snap-type: x mandatory; }
  .marquee-track > div { scroll-snap-align: start; }
  .marquee-track > div:nth-child(n+6) { display: none; }
}