/* Overrides do clone estático — restauram comportamento visual sem o runtime do Next */

/* Accordion: garantir que o conteúdo aberto apareça (sem a var de altura do Radix) */
[role="region"][data-state="open"] {
  animation: none !important;
  height: auto !important;
  overflow: visible !important;
}
.faq-answer-body { color: #4b5563; line-height: 1.6; }

/* Carrossel: tornar a viewport rolável horizontalmente com snap */
.clone-carousel-vp {
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
  scroll-behavior: smooth;
}
.clone-carousel-vp::-webkit-scrollbar { display: none; }
.clone-carousel-vp > div > [role="group"] { scroll-snap-align: start; }

/* BUG 1 — Sobreposição dos cards: cada slide precisa ser o contexto de
   posicionamento dos seus próprios cards `absolute`. Sem isso, os cards
   ancoram no container `.relative` do carrossel e empilham no mesmo canto.
   Vale para os três modos de viewport do clone (hero, especialidades, legado). */
.clone-carousel-vp [role="group"],
.clone-hero-vp [role="group"],
.clone-marquee-vp [role="group"] { position: relative; }

/* BUG 2 — Setas duplicadas: os carrosséis de especialidades têm botões nativos
   (shadcn) que ficaram inertes sem o React. Escondê-los; valem só os do clone.
   As setas do clone usam texto ‹/› (não svg lucide), então não são afetadas. */
[aria-roledescription="carousel"] button:has(svg.lucide-chevron-left),
[aria-roledescription="carousel"] button:has(svg.lucide-chevron-right) {
  display: none !important;
}

/* Carrossel hero — avança sempre p/ frente via transform (JS), loop sem emenda. */
.clone-hero-vp { overflow: hidden !important; }
.clone-hero-vp > div { will-change: transform; }

/* Carrossel de especialidades — marquee contínuo controlado por transform (JS).
   Sem overflow-auto/snap aqui (brigaria com o transform); o track é movido por rAF. */
.clone-marquee-vp {
  overflow: hidden !important;
  cursor: grab;
  touch-action: pan-y;           /* arrasta horizontal, deixa a página rolar vertical */
  -webkit-user-select: none;
  user-select: none;
}
.clone-marquee-vp.grabbing { cursor: grabbing; }
.clone-marquee-vp > div {        /* o track flex */
  transition: none !important;   /* o movimento é por rAF, não por transition CSS */
  will-change: transform;
}
.clone-marquee-vp img { pointer-events: none; }  /* não "segura" a imagem ao arrastar */

/* Setas do carrossel */
.clone-car-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  border: none;
  background: rgba(255, 255, 255, 0.9);
  color: #1e3a8a;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, transform .2s;
}
.clone-car-btn:hover { background: #fff; }
.clone-car-prev { left: 12px; }
.clone-car-next { right: 12px; }

/* Menu mobile */
#clone-mobile-menu {
  position: fixed;
  top: 72px;
  right: 12px;
  left: 12px;
  z-index: 60;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
  padding: 12px;
  display: none;
  flex-direction: column;
  gap: 4px;
}
#clone-mobile-menu.open { display: flex; }
#clone-mobile-menu a {
  padding: 14px 16px;
  border-radius: 8px;
  font-weight: 600;
  color: #1e3a8a;
  text-decoration: none;
}
#clone-mobile-menu a:hover { background: #eff6ff; }
#clone-mobile-menu a.cta {
  background: #ff7a00;
  color: #fff;
  text-align: center;
  margin-top: 6px;
}
@media (min-width: 1024px) { #clone-mobile-menu { display: none !important; } }
