/* Mobile layout hardening for the static export. */
html,
body,
#root {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
canvas,
iframe,
picture {
  max-width: 100%;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

.sgp-mobile-menu-toggle {
  display: none;
}

p,
li,
h1,
h2,
h3,
h4,
h5,
h6,
a,
span,
div {
  overflow-wrap: normal;
  word-break: normal;
}

@media screen and (max-width: 991px) {
  .padding-global {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .container-large,
  .container-medium,
  .container-small,
  .w-container {
    width: 100%;
    max-width: 100% !important;
  }

  .nav_fixed,
  .navbar,
  .navbar_container {
    width: 100%;
    max-width: 100vw;
  }

  .navbar_container {
    min-height: 4.5rem;
  }

  .sgp-mobile-menu-toggle {
    appearance: none;
    background: rgba(15, 15, 15, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.5rem;
    display: inline-flex;
    flex-direction: column;
    gap: 0.28rem;
    height: 2.75rem;
    justify-content: center;
    margin-left: auto;
    padding: 0 0.7rem;
    width: 2.9rem;
    z-index: 1001;
  }

  .sgp-mobile-menu-toggle span {
    background: #fff;
    border-radius: 999px;
    display: block;
    height: 2px;
    transition: transform 180ms ease, opacity 180ms ease;
    width: 100%;
  }

  .sgp-mobile-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  .sgp-mobile-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
  }

  .sgp-mobile-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  .navbar_logo {
    width: auto;
    max-width: 8.75rem;
    height: auto;
  }

  .navbar_menu.w-nav-menu {
    background: rgba(15, 15, 15, 0.98);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.25);
    display: none !important;
    left: 0;
    max-height: calc(100vh - 4.5rem);
    max-width: 100vw;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.75rem 1.25rem 1.25rem;
    position: absolute;
    right: 0;
    top: 100%;
    width: 100%;
    z-index: 1000;
  }

  .navbar_menu.w-nav-menu.is-mobile-open {
    display: block !important;
  }

  .nav_menu-2,
  .navbar_menu-links,
  .navbar_menu-buttons {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem;
    width: 100%;
  }

  .navbar_link,
  .navbar_dropdown-toggle {
    align-items: center;
    border-radius: 0.5rem;
    color: #fff !important;
    display: flex !important;
    justify-content: space-between;
    padding: 0.9rem 0.75rem !important;
    white-space: normal !important;
    width: 100%;
  }

  .navbar_dropdown-list,
  .navbar_dropdown-link-list {
    background: transparent !important;
    display: none !important;
    position: static !important;
    width: 100%;
    max-width: 100%;
  }

  /* Estado aberto do dropdown mobile — especificidade máxima */
  .navbar_dropdown-list.w--open,
  .navbar_dropdown-list.w-dropdown-list.w--open,
  nav.navbar_dropdown-list.w--open,
  .w-dropdown .navbar_dropdown-list.w--open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    pointer-events: auto !important;
  }

  /* Lista de links dentro do dropdown aberto */
  .navbar_dropdown-list.w--open .navbar_dropdown-link-list,
  .w-dropdown .navbar_dropdown-list.w--open .navbar_dropdown-link-list {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .navbar_dropdown-link {
    align-items: flex-start;
    border-radius: 0.5rem;
    color: #fff !important;
    display: flex !important;
    gap: 0.75rem;
    padding: 0.75rem !important;
    white-space: normal;
  }

  .button,
  .w-button {
    white-space: normal;
    text-align: center;
  }

  .button-group {
    flex-wrap: wrap;
    width: 100%;
  }

  .header-full-left_content {
    align-items: center;
    min-height: 100svh !important;
    max-height: none !important;
    padding-top: 6rem;
    padding-bottom: 3rem;
  }

  .section_header-full-left {
    min-height: 100svh;
    overflow: hidden;
  }

  .header-full-left_background-image-wrapper {
    inset: 0;
    min-width: 0;
    max-width: none;
    position: absolute;
    width: 100%;
    height: 100%;
  }

  .header-full-left_background-image-wrapper picture,
  .header-full-left_background-image-wrapper img,
  .cta-left-align_background-image {
    display: block;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
    width: 100% !important;
  }

  .w-layout-grid,
  .audience_grid-list,
  .audience_row,
  .solutions_list,
  .pricing_plans,
  .footer_top-wrapper,
  .footer_left-wrapper,
  .footer_bottom-wrapper,
  .grid-image-left-full_block {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .audience_card,
  .audience_card-content,
  .solutions_item,
  .pricing_plan,
  .footer_right-wrapper,
  .footer_form-block,
  .contact-section_block,
  .inscription_form,
  .inscription_form-left,
  .inscription_form-right,
  .inscription_order-summary {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .grid-image-left-full_image-wrapper,
  .grid-image-left-full_image,
  .cta-left-align_background-image {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .rfm-marquee-container,
  .logo_component {
    max-width: 100vw;
    overflow: hidden;
  }

  .testimonial_grid,
  .slick-list {
    max-width: 100%;
    overflow: hidden;
  }

  .section_testimonial .slick-arrow,
  .section_timeline .slick-arrow,
  .section_event .slick-arrow {
    align-items: center !important;
    background: rgba(15, 15, 15, 0.86) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 999px !important;
    bottom: -0.5rem !important;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.25);
    color: #fff !important;
    display: flex !important;
    height: 2.75rem !important;
    justify-content: center !important;
    opacity: 1 !important;
    padding: 0 !important;
    top: auto !important;
    transform: none !important;
    width: 2.75rem !important;
    z-index: 5;
  }

  .section_testimonial .slick-prev,
  .section_timeline .slick-prev,
  .section_event .slick-prev {
    left: auto !important;
    right: 4.25rem !important;
  }

  .section_testimonial .slick-next,
  .section_timeline .slick-next,
  .section_event .slick-next {
    left: auto !important;
    right: 0.75rem !important;
  }

  .section_testimonial .slick-slider,
  .section_timeline .slick-slider,
  .section_event .slick-slider {
    padding-bottom: 3.5rem;
  }
}

@media screen and (max-width: 767px) {
  h1,
  .heading-style-h1,
  .heading-style-h2 {
    font-size: clamp(2rem, 8.8vw, 2.75rem) !important;
    line-height: 1.12 !important;
  }

  h2,
  .heading-style-h3 {
    font-size: clamp(1.55rem, 6.2vw, 2rem) !important;
    line-height: 1.18 !important;
  }

  h3 {
    font-size: clamp(1.25rem, 5.6vw, 1.625rem) !important;
    line-height: 1.2 !important;
  }

  p,
  li,
  .text-size-regular,
  .text-color-primary {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .padding-section-large,
  .padding-section-medium,
  .padding-vertical.padding-xxlarge {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .margin-xxlarge {
    margin-bottom: 2rem !important;
  }

  .button-group,
  .footer_form,
  .inscription_row,
  .inscription_row.is-number {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.875rem;
  }

  .button,
  .w-button,
  .footer_form .button,
  .inscription_form .button {
    width: 100%;
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1rem !important;
  }

  .slick-arrow {
    min-height: 0 !important;
  }

  .audience_card-content,
  .solutions_item,
  .pricing_plan,
  .inscription_info,
  .inscription_order-summary {
    padding: 1.25rem !important;
  }

  .solutions_tabs-menu {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .tab1_tab-link {
    flex: 1 0 auto;
    min-width: max-content;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .inscription_checkout {
    padding-top: 5.5rem;
  }

  .inscription_padding {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .inscription_form {
    gap: 1rem !important;
  }

  .incription_field-wrapper,
  .inscription_text-field,
  .form_input,
  .w-input,
  .w-select {
    width: 100% !important;
  }

  .inscription_text-field,
  .form_input,
  .w-input,
  .w-select {
    min-height: 3rem;
    font-size: 1rem !important;
  }

  .inscription_line-item {
    align-items: flex-start;
    gap: 0.5rem;
  }

  .footer_top-wrapper,
  .footer_bottom-wrapper,
  .footer_legal-list {
    gap: 1.5rem !important;
  }

  .footer_form {
    width: 100%;
  }

  .footer_social-list {
    flex-wrap: wrap;
  }

  .whatsapp-button {
    right: 1rem !important;
    bottom: 1rem !important;
    width: 3.25rem !important;
    height: 3.25rem !important;
    /* Centraliza o ícone dentro do círculo */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .whatsapp-button_image,
  .whatsapp-button img,
  .whatsapp-button svg {
    width: 1.75rem !important;
    height: 1.75rem !important;
    max-width: 1.75rem !important;
    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
  }

  .timeline_item,
  .event_item,
  .testimonial_wrapper {
    min-width: 0 !important;
  }

  .section_timeline .slick-track,
  .section_event .slick-track {
    align-items: stretch;
    display: flex !important;
  }

  .section_timeline .timeline_item,
  .section_event .event_item {
    height: auto !important;
    padding: 0 0.125rem !important;
  }

  .section_timeline .timeline_progress-wrapper {
    display: none !important;
  }

  .timeline_item-content,
  .event_item-content,
  .testimonial_card {
    width: 100%;
    max-width: 100%;
  }

  .section_timeline .timeline_item-content,
  .section_event .event_item-content {
    border-radius: 0.75rem;
    min-height: 100%;
    padding: 1.25rem !important;
  }

  .section_timeline .text-size-tiny,
  .section_event .text-size-tiny,
  .testimonial_card p {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
  }

  .section_timeline .heading-style-h5 {
    font-size: 1.6rem !important;
    line-height: 1.1 !important;
  }

  /* ── Timeline & Eventos: 1 slide por vez em mobile ── */

  /* Faz o slick-list não cortar o conteúdo horizontalmente */
  .section_timeline .slick-list,
  .section_event .slick-list {
    overflow: hidden !important;
    touch-action: pan-y !important;
  }

  /* Cada slide ocupa a largura do container calculado pelo JS */
  .section_timeline .slick-slide,
  .section_event .slick-slide {
    box-sizing: border-box !important;
    padding: 0 1rem !important;
  }

  /* O track deve ter largura automática para o Slick calcular */
  .section_timeline .slick-track,
  .section_event .slick-track {
    display: flex !important;
  }

  /* Cada card de evento e jornada: largura total, visual espaçado */
  .section_event .event_item-content {
    border-radius: 1rem;
    min-height: 220px;
    padding: 1.5rem !important;
    box-sizing: border-box;
  }

  .section_timeline .timeline_item-content {
    border-radius: 1rem;
    min-height: 180px;
    padding: 1.5rem !important;
    box-sizing: border-box;
  }

  /* Indicadores de posição (dots) visíveis em mobile */
  .section_timeline .slick-dots,
  .section_event .slick-dots {
    display: flex !important;
    justify-content: center;
    gap: 0.45rem;
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 0;
  }

  .section_timeline .slick-dots li button,
  .section_event .slick-dots li button {
    background: rgba(255, 255, 255, 0.25);
    border: none;
    border-radius: 999px;
    color: transparent;
    cursor: pointer;
    font-size: 0;
    height: 8px;
    padding: 0;
    transition: background 0.25s;
    width: 8px;
  }

  .section_timeline .slick-dots li.slick-active button,
  .section_event .slick-dots li.slick-active button {
    background: #ff5d00;
  }
}

@media screen and (max-width: 479px) {
  .padding-global {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .navbar_container {
    min-height: 4rem;
  }

  .navbar_logo {
    max-width: 7.5rem;
  }

  .header-full-left_content {
    padding-top: 5.75rem;
    padding-bottom: 3rem;
  }

  .header-full-left_background-image-wrapper img {
    object-position: center center;
  }

  .section_header-full-left,
  .contact-section_header {
    text-align: left;
  }

  .audience_card-content,
  .solutions_item,
  .pricing_plan,
  .inscription_info,
  .inscription_order-summary,
  ._main-inscricao-agfs_p6y0l_1 .agf-card-content,
  ._main-inscricao-seller_5k0uu_1 .card-content {
    padding: 1rem !important;
  }

  ._main-policy_y79bs_1 h1 {
    font-size: 2rem !important;
  }

  ._main-policy_y79bs_1 h2 {
    font-size: 1.45rem !important;
  }

  ._main-policy_y79bs_1 p,
  ._main-policy_y79bs_1 li {
    font-size: 0.98rem !important;
  }

  ._main-inscricao-agfs_p6y0l_1,
  ._main-inscricao-seller_5k0uu_1 {
    margin-top: 64px;
  }

  ._main-inscricao-agfs_p6y0l_1 .agf-title,
  ._main-inscricao-seller_5k0uu_1 .title-success {
    font-size: 1.55rem;
    line-height: 1.15;
  }

  ._main-inscricao-agfs_p6y0l_1 .agf-subtitle,
  ._main-inscricao-seller_5k0uu_1 .subtitle-success {
    font-size: 1rem;
    line-height: 1.35;
  }

  .logo_wrapper {
    min-width: 7rem;
  }

  /* Eventos: bloco de título e texto introdutório ocupa a largura total */
  .section_event .event_block > .margin-bottom,
  .section_event .max-width-large {
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Timeline: idem */
  .section_timeline .timeline_block > .margin-bottom,
  .section_timeline .max-width-large {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* ── Custom Event Card and Schedule Styling ── */
.event_single-card {
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
}

.event_schedule {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.event_schedule-item {
  flex: 1;
  min-width: 160px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.75rem;
  padding: 1.25rem;
  box-sizing: border-box;
}

.event_schedule-date {
  font-weight: 700;
  color: #ff5d00 !important;
  margin-bottom: 0.35rem;
  font-size: 1.1rem;
}

@media screen and (max-width: 767px) {
  .event_schedule {
    flex-direction: column;
    gap: 0.85rem;
  }
  .event_schedule-item {
    width: 100%;
    min-width: 0;
    padding: 1rem;
  }
}

/* ── Timeline Navigation Arrows ── */
.section_timeline .slick-slider .slick-arrow {
  display: flex !important; /* Force them to be visible */
  position: absolute !important;
  top: 60px !important; /* Align vertically with the year card area on desktop */
  transform: translateY(-50%) !important;
  z-index: 100 !important;
  background: rgba(17, 17, 17, 0.85) !important;
  border: 1.5px solid rgba(255, 93, 0, 0.4) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  align-items: center !important;
  justify-content: center !important;
}

.section_timeline .slick-slider .slick-prev {
  left: -20px !important;
}

.section_timeline .slick-slider .slick-next {
  right: -20px !important;
}

.section_timeline .slick-slider .slick-prev svg,
.section_timeline .slick-slider .slick-next svg {
  width: 20px !important;
  height: 20px !important;
}

@media screen and (max-width: 767px) {
  .section_timeline .slick-slider .slick-arrow {
    top: 40px !important; /* On mobile, since the progress wrapper is hidden, the year is higher up */
    width: 36px !important;
    height: 36px !important;
  }
  .section_timeline .slick-slider .slick-prev {
    left: -10px !important;
  }
  .section_timeline .slick-slider .slick-next {
    right: -10px !important;
  }
}

/* ── Comparison Table Mobile/Tablet Layout ── */
@media screen and (max-width: 991px) {
  .comparison_top-row,
  .comparison_row {
    grid-template-columns: 2.2fr 1fr 1fr !important;
    gap: 0.5rem !important;
    align-items: center !important;
  }

  .comparison_top-row-content:nth-child(2) {
    grid-column: 2 !important;
  }

  .comparison_top-row-content:nth-child(3) {
    grid-column: 3 !important;
  }

  .comparison_top-row-title h3 {
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
  }

  .comparison_top-row-content {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  .comparrison-image {
    max-width: 90% !important;
    height: auto !important;
    max-height: 22px !important;
    object-fit: contain;
    display: block;
    margin: 0 auto;
  }

  .comparison_top-row h4 {
    font-size: 0.95rem !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .comparison_feature {
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
    padding-left: 0.25rem !important;
  }

  .comparison_row-content {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: auto !important;
    padding: 0.5rem 0.25rem !important;
  }

  .comparison_icon-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .comparison_icon-wrapper svg {
    width: 18px !important;
    height: auto !important;
  }

  .comparison_text {
    font-size: 0.9rem !important;
  }
}

@media screen and (max-width: 479px) {
  .comparison_top-row,
  .comparison_row {
    grid-template-columns: 1.8fr 1fr 1fr !important;
  }

  .comparison_top-row-title h3 {
    font-size: 0.8rem !important;
  }

  .comparison_top-row h4 {
    font-size: 0.8rem !important;
  }

  .comparrison-image {
    max-height: 16px !important;
  }

  .comparison_feature {
    font-size: 0.72rem !important;
  }

  .comparison_text {
    font-size: 0.8rem !important;
  }

  .comparison_icon-wrapper svg {
    width: 14px !important;
  }
}

/* ── Central de Ajuda Header Spacing ── */
@media screen and (max-width: 991px) {
  .main-central-ajuda {
    padding-top: 6.5rem !important;
  }
}

/* ── Infinite Logo Marquee & Distortion Fixes ── */
.logo_component {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.rfm-marquee-container {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.rfm-marquee {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: max-content !important;
  flex: 0 0 auto !important;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.rfm-initial-child-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: max-content !important;
  min-width: max-content !important;
  flex: 0 0 auto !important;
}

.rfm-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.logo_wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 9rem !important;
  height: 4.5rem !important;
  padding: 0 1.5rem !important;
  box-sizing: border-box !important;
}

.logo_logo {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (hover: none) and (pointer: coarse) {
  .rfm-marquee-container:active div {
    animation-play-state: var(--play) !important;
  }
}

@media screen and (max-width: 767px) {
  .section_logo .logo_component {
    overflow: hidden !important;
  }

  .section_logo .logo_wrapper {
    min-width: 6.75rem !important;
    height: 3.25rem !important;
    padding: 0 0.75rem !important;
  }

  .section_logo .logo_logo {
    max-width: 5.75rem !important;
    max-height: 1.65rem !important;
  }

  .section_logo .rfm-marquee,
  .section_logo .rfm-initial-child-container,
  .section_logo .rfm-child {
    flex-shrink: 0 !important;
  }
}
