/* UltraSlider WebVitals PRO - Public (minimal, performance first) */
.ultraslider { position: relative; overflow: hidden; display: block; color: #fff;  --us-viewport-bg: transparent; --us-accent: #3b82f6; }
.ultraslider__viewport { position: relative; width: 100%; background: var(--us-viewport-bg, transparent); border-radius: 0; overflow: clip; }
.ultraslider__track { display: flex; height: 100%; will-change: transform; touch-action: pan-y pan-x; }
.ultraslider__slide { position: relative; flex: 0 0 100%; height: 100%; }
.ultraslider__media { position: absolute; inset: 0; z-index: 0; height: 100%;  background: transparent; }
.ultraslider__media img { width: 100%; height: 100%; object-fit: var(--us-object-fit, cover); display: block; }
.ultraslider__overlay { position:absolute; inset:0; z-index:1; pointer-events:none; }
.ultraslider__content { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:center; padding: clamp(14px, 4vw, 52px); gap: 10px; }
.ultraslider__content--left { text-align:left; align-items:flex-start; }
.ultraslider__content--center { text-align:center; align-items:center; }
.ultraslider__content--right { text-align:right; align-items:flex-end; }
.ultraslider__title {margin:0; line-height:1.05; font-weight:800; letter-spacing:-0.02em; font-size: var(--us-title-d, 42px); text-wrap: balance; color: var(--us-title-color, #fff); font-family: var(--us-title-font, inherit); font-weight: var(--us-title-weight, 800); font-style: var(--us-title-style, normal); }
.ultraslider__subtitle {font-size: var(--us-text-d, 18px); opacity:.92; font-weight:600; color: var(--us-subtitle-color, rgba(255,255,255,.92)); font-family: var(--us-subtitle-font, inherit); font-weight: var(--us-subtitle-weight, 600); font-style: var(--us-subtitle-style, normal); }
.ultraslider__text {font-size: var(--us-text-d, 18px); opacity:.9; max-width: 68ch; color: var(--us-text-color, rgba(255,255,255,.90)); font-family: var(--us-text-font, inherit); font-weight: var(--us-text-weight, 400); font-style: var(--us-text-style, normal); }
.ultraslider__buttons { display:flex; gap:10px; margin-top: 6px; flex-wrap:wrap; }
.ultraslider__btn { display:inline-flex; align-items:center; justify-content:center; padding: 10px 14px; border-radius: 999px; text-decoration:none; font-weight:700; font-size: var(--us-btn-d, 15px); transition: transform .18s ease, opacity .18s ease; will-change: transform; }
.ultraslider__btn--primary { background:#2563eb; color:#fff; }
.ultraslider__btn--secondary { background:rgba(255,255,255,.16); color:#fff; border:1px solid rgba(255,255,255,.24); }
.ultraslider__btn:focus-visible { outline: 2px solid #93c5fd; outline-offset: 2px; }
.ultraslider__btn:hover { transform: translateY(-1px); }
.ultraslider__link { position:absolute; inset:0; z-index:3; }
.ultraslider__arrow { 
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, .52);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  -webkit-appearance: none;
  appearance: none;
}
.ultraslider__arrow--prev { left: 10px; }
.ultraslider__arrow--next { right: 10px; }
.ultraslider__arrow span { font-size: 26px; line-height: 1; }
.ultraslider__bullets { pointer-events:auto; position:absolute; left: 0; right:0; bottom: 14px; display:flex; justify-content:center; gap:10px; z-index:6; width: fit-content; margin-left:auto; margin-right:auto; padding:8px 10px; background: rgba(15, 23, 42, .42); border: 1px solid rgba(255,255,255,.20); border-radius: 999px; backdrop-filter: blur(10px); }
.ultraslider__bullet { -webkit-appearance:none; appearance:none; width: 10px; height: 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.18); cursor:pointer; padding:0; margin:0; box-sizing:border-box; }
.ultraslider__bullet[aria-selected="true"] { background: #fff; border-color:#fff; box-shadow: 0 0 0 3px rgba(255,255,255,.18); }
.ultraslider__thumbs { position:absolute; left:10px; right:10px; bottom: 10px; display:flex; gap:8px; z-index:6; overflow:auto; padding-bottom: 2px; }
.ultraslider__thumb { width: 62px; height: 38px; border-radius: 10px; border: 1px solid rgba(255,255,255,.22); overflow:hidden; cursor:pointer; flex: 0 0 auto; opacity:.9; }
.ultraslider__thumb[aria-selected="true"] { opacity:1; border-color:#fff; }
.ultraslider__thumb img { width:100%; height:100%; object-fit:cover; display:block; }

.ultraslider__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter: saturate(1.1); }

@media (max-width: 768px) {
  .ultraslider__title { font-size: var(--us-title-t, 32px); }
  .ultraslider__subtitle, .ultraslider__text { font-size: var(--us-text-t, 16px); }
  .ultraslider__btn { font-size: var(--us-btn-t, 14px); }
}
@media (max-width: 480px) {
  .ultraslider__title { font-size: var(--us-title-m, 24px); }
  .ultraslider__subtitle, .ultraslider__text { font-size: var(--us-text-m, 14px); }
  .ultraslider__btn { font-size: var(--us-btn-m, 14px); padding: 9px 12px; }
  .ultraslider__arrow { width:40px; height:40px; }
}

@media (prefers-reduced-motion: reduce) {
  .ultraslider__btn, .ultraslider__arrow { transition: none !important; }
}

.ultraslider--zoom .ultraslider__slide.is-active .ultraslider__media img{ transform: scale(1.02); transition: transform 1200ms ease; }
.ultraslider--zoom .ultraslider__media img{ transform: scale(1); }


/* --- Bullets PRO (visible en desktop y móvil) --- */
.ultraslider__bullets{ display:flex !important; }
.ultraslider__bullet{
  width: 11px;
  height: 11px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.25);
  opacity: .45;
  transform: scale(1);
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
}
.ultraslider__bullet[aria-selected="true"]{
  opacity: 1;
  transform: scale(1.15);
  box-shadow: 0 0 0 3px rgba(255,255,255,.18);
}



/* --- Elementor safety: ensure pagination is visible on desktop too --- */
.ultraslider .ultraslider__bullets{
  display:flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events:auto !important;
}
.ultraslider .ultraslider__bullet{
  width: 12px !important;
  height: 12px !important;
  border-radius: 999px !important;
  border-width: 2px !important;
  border-style: solid !important;
  background-clip: padding-box !important;
}
.ultraslider .ultraslider__bullets{
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 999px !important;
}



/* --- FIX: always fill viewport even with Elementor/theme img rules --- */
.ultraslider__media picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.ultraslider__media .ultraslider__img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit: var(--us-object-fit, cover) !important;
  object-position: var(--us-object-position, 50% 50%) !important;
  display:block;
}


.ultraslider__viewport{background: transparent !important;}
