/* Variates Contents 3.0.1 - carruseles y corrección de nitidez 3D */
.mvc-news_slider .mvc-items,.mvc-carousel .mvc-items { display:block; }
.mvc-news_slider .mvc-item,.mvc-carousel .mvc-item { display:none; }
.mvc-news_slider .mvc-item.is-active,.mvc-carousel .mvc-item.is-active {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);
  min-height:var(--mvc-minh);
}
.mvc-news_slider .mvc-card-surface,.mvc-carousel .mvc-card-surface { display:contents; }
.mvc-news_slider .mvc-media,.mvc-carousel .mvc-media { height:100%; border-radius:var(--mvc-radius) 0 0 var(--mvc-radius); }
.mvc-news_slider .mvc-media img,.mvc-carousel .mvc-media img { height:100%; aspect-ratio:auto; }
.mvc-news_slider .mvc-content,.mvc-carousel .mvc-content { padding:clamp(20px,3vw,42px); background:var(--mvc-card-bg,#fff); border-radius:0 var(--mvc-radius) var(--mvc-radius) 0; }
.mvc-news_slider .mvc-title,.mvc-carousel .mvc-title { font-size:clamp(30px,4vw,58px); }

/* Carrusel plano de varias tarjetas */
.mvc-modern_carousel .mvc-stage,.mvc-center_carousel .mvc-stage { overflow:hidden; padding:12px 2px 24px; }
.mvc-modern_carousel .mvc-items,.mvc-center_carousel .mvc-items {
  display:flex;
  gap:var(--mvc-gap);
  transform:translate3d(0,0,0);
  transition:transform var(--mvc-transition) cubic-bezier(.2,.7,.2,1);
  will-change:transform;
}
.mvc-modern_carousel .mvc-item,.mvc-center_carousel .mvc-item {
  flex:0 0 calc((100% - (var(--mvc-visible) - 1) * var(--mvc-gap)) / var(--mvc-visible));
}
.mvc-center_carousel .mvc-stage { overflow:visible; perspective:1200px; }
.mvc-center_carousel .mvc-items { align-items:center; }
.mvc-center_carousel .mvc-item { opacity:.58; transform:scale(.88); transition:transform var(--mvc-transition),opacity var(--mvc-transition),filter var(--mvc-transition); }
.mvc-center_carousel .mvc-item.is-active { opacity:1; transform:scale(1); z-index:3; }
.mvc-center_carousel .mvc-item:not(.is-active) .mvc-image-layer { filter:brightness(.78); }

/* Hero */
.mvc-hero .mvc-item { opacity:0; visibility:hidden; pointer-events:none; transition:opacity var(--mvc-transition); }
.mvc-hero .mvc-item.is-active { opacity:1; visibility:visible; pointer-events:auto; }

/* Estructura 3D: nunca se reduce la opacidad del contenedor textual. */
.mvc-carousel3d,.mvc-carousel3d_stack,.mvc-carousel3d_ring { overflow:visible; }
.mvc-carousel3d .mvc-stage,.mvc-carousel3d_stack .mvc-stage,.mvc-carousel3d_ring .mvc-stage {
  height:max(460px,calc(var(--mvc-minh) + 180px));
  min-height:460px;
  perspective:var(--mvc-perspective);
  overflow:visible;
  isolation:isolate;
}
.mvc-carousel3d .mvc-items,.mvc-carousel3d_stack .mvc-items,.mvc-carousel3d_ring .mvc-items {
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr;
  place-items:center;
  transform-style:preserve-3d;
}
.mvc-carousel3d .mvc-item,.mvc-carousel3d_stack .mvc-item,.mvc-carousel3d_ring .mvc-item {
  --mvc-card-visual-opacity:1;
  --mvc-card-visual-brightness:1;
  --mvc-card-visual-blur:0px;
  position:relative;
  grid-area:1 / 1;
  left:auto;
  top:auto;
  width:min(72%,760px);
  height:min(90%,590px);
  z-index:1;
  opacity:1 !important;
  visibility:visible;
  transform-style:flat;
  backface-visibility:hidden;
  transition:transform var(--mvc-transition) cubic-bezier(.2,.72,.2,1),visibility .01s linear var(--mvc-transition);
  will-change:transform;
}
.mvc-carousel3d_ring .mvc-item { width:min(50%,540px); }
.mvc-carousel3d .mvc-card-surface,.mvc-carousel3d_stack .mvc-card-surface,.mvc-carousel3d_ring .mvc-card-surface {
  display:grid;
  grid-template-rows:minmax(0,62%) minmax(0,38%);
  height:100%;
  min-height:0;
  overflow:hidden;
  background:var(--mvc-card-bg,#fff);
  transform-style:flat;
  backface-visibility:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,var(--mvc-shadow-strength,.35));
}
.mvc-carousel3d .mvc-media,.mvc-carousel3d_stack .mvc-media,.mvc-carousel3d_ring .mvc-media {
  height:100%;
  min-height:0;
  border-radius:var(--mvc-radius) var(--mvc-radius) 0 0;
  transform:none;
}
.mvc-carousel3d .mvc-image-layer,.mvc-carousel3d_stack .mvc-image-layer,.mvc-carousel3d_ring .mvc-image-layer {
  height:100%;
  opacity:var(--mvc-card-visual-opacity) !important;
  filter:brightness(var(--mvc-card-visual-brightness)) blur(var(--mvc-card-visual-blur));
}
.mvc-carousel3d .mvc-media img,.mvc-carousel3d_stack .mvc-media img,.mvc-carousel3d_ring .mvc-media img { height:100%; aspect-ratio:auto; }
.mvc-carousel3d .mvc-content,.mvc-carousel3d_stack .mvc-content,.mvc-carousel3d_ring .mvc-content {
  position:relative !important;
  z-index:10 !important;
  min-height:0;
  overflow:hidden;
  padding:18px 20px;
  color:var(--mvc-text,#111) !important;
  background:var(--mvc-card-bg,#fff);
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  transform:none !important;
  backface-visibility:hidden !important;
  -webkit-text-fill-color:currentColor !important;
}
.mvc-carousel3d .mvc-title,.mvc-carousel3d_stack .mvc-title,.mvc-carousel3d_ring .mvc-title,
.mvc-carousel3d .mvc-title a,.mvc-carousel3d_stack .mvc-title a,.mvc-carousel3d_ring .mvc-title a,
.mvc-carousel3d .mvc-summary,.mvc-carousel3d_stack .mvc-summary,.mvc-carousel3d_ring .mvc-summary,
.mvc-carousel3d .mvc-meta,.mvc-carousel3d_stack .mvc-meta,.mvc-carousel3d_ring .mvc-meta {
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  -webkit-text-fill-color:currentColor !important;
}
.mvc-carousel3d .mvc-item.is-active,.mvc-carousel3d_stack .mvc-item.is-active,.mvc-carousel3d_ring .mvc-item.is-active { z-index:1000 !important; will-change:auto; }
.mvc-carousel3d .mvc-item.is-far,.mvc-carousel3d_stack .mvc-item.is-far,.mvc-carousel3d_ring .mvc-item.is-far { visibility:hidden; pointer-events:none; }
/* La tarjeta central no se transforma: evita el rasterizado borroso del texto. */
.mvc-carousel3d .mvc-item.is-active,
.mvc-carousel3d_stack .mvc-item.is-active,
.mvc-carousel3d_ring .mvc-item.is-active {
  transform:none;
  filter:none !important;
}
.mvc-carousel3d .mvc-item.is-active .mvc-card-surface,
.mvc-carousel3d_stack .mvc-item.is-active .mvc-card-surface,
.mvc-carousel3d_ring .mvc-item.is-active .mvc-card-surface,
.mvc-carousel3d .mvc-item.is-active .mvc-content,
.mvc-carousel3d_stack .mvc-item.is-active .mvc-content,
.mvc-carousel3d_ring .mvc-item.is-active .mvc-content {
  transform:none !important;
  filter:none !important;
}

.mvc-hide-side-text.mvc-carousel3d .mvc-item:not(.is-active) .mvc-content,
.mvc-hide-side-text.mvc-carousel3d_stack .mvc-item:not(.is-active) .mvc-content,
.mvc-hide-side-text.mvc-carousel3d_ring .mvc-item:not(.is-active) .mvc-content { visibility:hidden !important; }

@media(max-width:980px) {
  .mvc-modern_carousel .mvc-item,.mvc-center_carousel .mvc-item { flex-basis:calc((100% - (var(--mvc-visible-tablet) - 1) * var(--mvc-gap-tablet)) / var(--mvc-visible-tablet)); }
  .mvc-modern_carousel .mvc-items,.mvc-center_carousel .mvc-items { gap:var(--mvc-gap-tablet); }
  .mvc-carousel3d .mvc-item,.mvc-carousel3d_stack .mvc-item,.mvc-carousel3d_ring .mvc-item { width:min(82%,680px); }
}
@media(max-width:680px) {
  .mvc-news_slider .mvc-item.is-active,.mvc-carousel .mvc-item.is-active { grid-template-columns:1fr; }
  .mvc-news_slider .mvc-media,.mvc-carousel .mvc-media { border-radius:var(--mvc-radius) var(--mvc-radius) 0 0; }
  .mvc-news_slider .mvc-content,.mvc-carousel .mvc-content { border-radius:0 0 var(--mvc-radius) var(--mvc-radius); }
  .mvc-modern_carousel .mvc-item,.mvc-center_carousel .mvc-item { flex-basis:calc((100% - (var(--mvc-visible-mobile) - 1) * var(--mvc-gap-mobile)) / var(--mvc-visible-mobile)); }
  .mvc-modern_carousel .mvc-items,.mvc-center_carousel .mvc-items { gap:var(--mvc-gap-mobile); }
  .mvc-carousel3d .mvc-stage,.mvc-carousel3d_stack .mvc-stage,.mvc-carousel3d_ring .mvc-stage { min-height:450px; height:540px; }
  .mvc-carousel3d .mvc-item,.mvc-carousel3d_stack .mvc-item,.mvc-carousel3d_ring .mvc-item { width:88%; height:92%; }

  /* Conversión automática a carrusel plano en móvil. */
  .mvc-flat-mobile.mvc-carousel3d .mvc-stage,.mvc-flat-mobile.mvc-carousel3d_stack .mvc-stage,.mvc-flat-mobile.mvc-carousel3d_ring .mvc-stage { height:auto; min-height:0; overflow:hidden; perspective:none; }
  .mvc-flat-mobile.mvc-carousel3d .mvc-items,.mvc-flat-mobile.mvc-carousel3d_stack .mvc-items,.mvc-flat-mobile.mvc-carousel3d_ring .mvc-items { position:relative; inset:auto; display:flex; gap:var(--mvc-gap-mobile); transform:none !important; }
  .mvc-flat-mobile.mvc-carousel3d .mvc-item,.mvc-flat-mobile.mvc-carousel3d_stack .mvc-item,.mvc-flat-mobile.mvc-carousel3d_ring .mvc-item { position:relative; left:auto; top:auto; flex:0 0 88%; width:auto; height:auto; min-height:430px; transform:none !important; visibility:visible; }
  .mvc-flat-mobile.mvc-carousel3d .mvc-item:not(.is-active),.mvc-flat-mobile.mvc-carousel3d_stack .mvc-item:not(.is-active),.mvc-flat-mobile.mvc-carousel3d_ring .mvc-item:not(.is-active) { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .mvc-carousel3d .mvc-item,.mvc-carousel3d_stack .mvc-item,.mvc-carousel3d_ring .mvc-item { transition:none !important; }
  .mvc-center_carousel .mvc-item { transform:none; opacity:1; }
}

/* Contraste automático para el caso crítico: tarjetas 3D sobre fondos oscuros. */
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d .mvc-content,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_stack .mvc-content,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_ring .mvc-content {
  color:#fff !important;
  background:rgba(10,12,16,.90) !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d .mvc-title,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_stack .mvc-title,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_ring .mvc-title,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d .mvc-title a,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_stack .mvc-title a,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_ring .mvc-title a,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d .mvc-summary,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_stack .mvc-summary,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_ring .mvc-summary,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d .mvc-meta,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_stack .mvc-meta,
.mvc-auto-contrast.mvc-textbg-transparent.mvc-carousel3d_ring .mvc-meta {
  color:#fff !important;
  -webkit-text-fill-color:currentColor !important;
}
