/* Ajustes propios del sitio estático (cargados después del CSS del tema) */

/* CLS fix: el logo (SVG) reflowaba al cargar porque el CSS del tema le pone
   width:auto y se pierde la reserva de espacio por aspect-ratio. Lo fijamos. */
img[src*="abogado-rosario"] { aspect-ratio: 212 / 76; }

/* CLS fix: la barra superior del header mide 48px con el CSS completo, pero el
   critical (bloqueante) la pintaba a 88px, provocando un salto de ~40px al cargar
   el CSS async. Fijamos su altura final desde el primer paint. */
#top-nav-wrapper { height: 48px; overflow: hidden; }
#top-nav-wrapper .fl-row-content-wrap { display: flex; align-items: center; height: 48px; padding-top: 0; padding-bottom: 0; }

/* Botón flotante de WhatsApp (reemplaza al plugin joinchat) */
.em-whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.em-whatsapp-float:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  color: #fff;
}
.em-whatsapp-float svg {
  width: 32px;
  height: 32px;
}

/* Scroll-to-top: visible solo al bajar */
#scroll-to-top.vamtam-scroll-to-top {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
#scroll-to-top.vamtam-scroll-to-top.vamtam-visible {
  opacity: 1;
  visibility: visible;
}

/* Header sticky (el tema lo hacía vía JS clonando el header) */
.main-header {
  position: sticky;
  top: 0;
  z-index: 999;
}
.main-header.em-header-scrolled {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* --- Menú móvil (panel desplegable bajo el header) --- */
@media (max-width: 900px) {
  #vamtam-megamenu-main-menu-toggle {
    cursor: pointer;
  }
  #mega-menu-wrap-menu-header {
    position: relative;
  }
  #mega-menu-wrap-menu-header ul.mega-menu.em-mobile-open {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    background: #fff;
    padding: 8px 0 20px;
  }
  ul.mega-menu.em-mobile-open > li.mega-menu-item {
    display: block !important;
    float: none !important;
    width: 100% !important;
  }
  ul.mega-menu.em-mobile-open > li.mega-menu-item > a.mega-menu-link {
    display: block !important;
    padding: 10px 0 !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #2b3a4a !important;
    height: auto !important;
    background: transparent !important;
  }
  ul.mega-menu.em-mobile-open > li.mega-current-menu-item > a.mega-menu-link,
  ul.mega-menu.em-mobile-open > li.mega-current-menu-ancestor > a.mega-menu-link {
    color: #ff5e14 !important;
  }
  /* Submenús ocultos en móvil (igual que el original) */
  ul.mega-menu.em-mobile-open ul.mega-sub-menu {
    display: none !important;
  }
  ul.mega-menu.em-mobile-open .mega-indicator {
    display: none !important;
  }
}

/* Seguridad: nunca dejar contenido oculto por animaciones no inicializadas */
.fl-animation {
  opacity: 1 !important;
}

/* Videos de fondo (.fl-bg-video): cubrir la sección como el tema original */
.fl-bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.fl-bg-video video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  transform: none !important;
  object-fit: cover;
}

/* Testimonios CubePortfolio sin JS: grilla estática y sin spinner de carga.
   El slider original se inicializaba por JS; acá los mostramos todos en grilla. */
.vamtam-cubeportfolio,
.vamtam-cubeportfolio .cbp-wrapper-outer,
.vamtam-cubeportfolio .cbp-wrapper {
  background-image: none !important;
  height: auto !important;
  min-height: 0 !important;
  position: static !important;
  transform: none !important;
  width: auto !important;
  overflow: visible !important;
}
.vamtam-cubeportfolio::before,
.vamtam-cubeportfolio::after {
  display: none !important;
}
.vamtam-cubeportfolio .cbp-item,
.vamtam-cubeportfolio .cbp-item * {
  visibility: visible !important;
}
/* Opiniones en grilla estática (el slider JS quedó desactivado por CLS) */
.vamtam-cubeportfolio.em-slider {
  position: relative !important;
}
.vamtam-cubeportfolio.em-slider .cbp-item {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  transform: none !important;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.vamtam-cubeportfolio.em-slider .cbp-item.em-active {
  position: relative !important;
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}
.em-cbp-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
}
.em-cbp-dots button {
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}
.em-cbp-dots button::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #d4d8dd;
  transition: background 0.2s ease;
}
.em-cbp-dots button.em-active::before {
  background: #b89150;
}
