/* JUNTA FV C4-D10: una sola superficie HERO + banners publicos. */
.jfv-hero-carousel [hidden]{display:none!important}
body.portal-ux-a4 .hero.jfv-hero-carousel{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:360px; height:clamp(380px,32vw,525px);
  display:flex;align-items:center; padding:0;
  background-image:linear-gradient(90deg,rgba(5,44,92,.96) 0%,rgba(5,44,92,.86) 34%,rgba(5,44,92,.38) 62%,rgba(5,44,92,.08) 100%),url('/assets/hero.jpg');
  background-size:cover;background-position:center;
}
body.portal-ux-a4 .hero.jfv-hero-carousel .inner{position:relative;z-index:2;opacity:1;visibility:visible;transition:opacity 700ms ease,visibility 0s linear 0s}
body.portal-ux-a4 .hero.jfv-hero-carousel.is-showing-banner .inner{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 700ms ease,visibility 0s linear 700ms}
.jfv-hero-stage{position:absolute;inset:0;z-index:1;pointer-events:none}
.jfv-hero-pane{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 700ms ease,visibility 0s linear 700ms;overflow:hidden;background:#123154}
.jfv-hero-pane.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 700ms ease,visibility 0s linear 0s}
.jfv-hero-blur{position:absolute;inset:-18px;background-size:cover;background-position:center;filter:blur(22px) brightness(.63);transform:scale(1.07);pointer-events:none}
.jfv-hero-image{position:relative;display:flex;width:100%;height:100%;justify-content:center;align-items:center;overflow:hidden}
.jfv-hero-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 0 12px rgba(0,0,0,.14))}
.jfv-hero-image:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.jfv-hero-nav{position:absolute;z-index:8;top:50%;transform:translateY(-50%);display:grid;place-items:center;cursor:pointer;border:1px solid rgba(255,255,255,.58);border-radius:50%;height:46px;width:46px;padding:0;font-size:30px;line-height:1;background:rgba(7,29,52,.68);color:#fff;transition:background .2s}
.jfv-hero-nav:hover,.jfv-hero-nav:focus-visible{background:#082b54;outline:2px solid #fff;outline-offset:3px}
.jfv-hero-prev{left:16px}.jfv-hero-next{right:16px}
.jfv-hero-controls{position:absolute;z-index:9;right:18px;bottom:12px;display:flex;align-items:center;gap:14px;max-width:55%;background:rgba(7,28,52,.76);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:6px 8px 6px 15px;box-shadow:0 4px 20px rgba(0,0,0,.12)}
.jfv-hero-dots{display:flex;align-items:center;gap:8px;overflow-x:auto;max-width:38vw;scrollbar-width:thin;padding:6px 1px}
.jfv-hero-dot{flex:0 0 10px;width:10px;height:10px;border:0;border-radius:99px;background:#adc5df;cursor:pointer;padding:0}
.jfv-hero-dot[aria-current="true"]{width:26px;flex-basis:26px;background:#fff}
.jfv-hero-dot:focus-visible,.jfv-hero-pause:focus-visible{outline:2px solid #fff;outline-offset:3px}
.jfv-hero-pause{font:inherit;font-size:12px;font-weight:800;color:#07376f;background:#fff;border:0;border-radius:999px;cursor:pointer;min-height:30px;padding:4px 12px}
.jfv-hero-caption{position:absolute;z-index:4;left:0;right:0;bottom:0;min-height:92px;padding:20px 220px 18px 76px;display:flex;flex-direction:column;justify-content:end;gap:3px;background:linear-gradient(0deg,rgba(4,25,49,.93),rgba(4,25,49,0));color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.32);pointer-events:none}
.jfv-hero-caption strong{font-size:clamp(17px,2vw,23px);line-height:1.2}
.jfv-hero-caption span{font-size:14px;line-height:1.35;max-width:760px}
@media(max-width:900px){
  body.portal-ux-a4 .hero.jfv-hero-carousel{min-height:360px;height:auto;padding:34px 0}
  body.portal-ux-a4 .hero.jfv-hero-carousel .inner{min-height:0}
  .jfv-hero-nav{width:40px;height:40px;font-size:26px}
  .jfv-hero-caption{padding:20px 120px 62px 55px}
  .jfv-hero-controls{right:12px;bottom:10px;max-width:calc(100% - 24px)}
}
@media(max-width:620px){
  body.portal-ux-a4 .hero.jfv-hero-carousel{min-height:440px;padding:34px 0}
  .jfv-hero-nav{width:34px;height:34px;font-size:23px}
  .jfv-hero-prev{left:7px}.jfv-hero-next{right:7px}
  .jfv-hero-caption{padding:18px 44px 72px 44px;min-height:110px}
  .jfv-hero-caption strong{font-size:17px}
  .jfv-hero-caption span{font-size:12px}
  .jfv-hero-controls{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 84px);justify-content:center}
  .jfv-hero-dots{max-width:38vw}
}
@media(prefers-reduced-motion:reduce){
  body.portal-ux-a4 .hero.jfv-hero-carousel .inner,.jfv-hero-pane,.jfv-hero-nav{transition:none!important}
}

/* C4-D10-UX-MOVIL-R1: retoque visual limitado, sin cambios de logica. */
@media(max-width:620px){
  /* Objetivo tactil >= 44px para navegacion de diapositivas. */
  body.portal-ux-a4 .hero.jfv-hero-carousel .jfv-hero-nav{
    width:44px;height:44px;font-size:26px;
  }
  /* Primera diapositiva: flecha fuera de la zona de botones del Hero. */
  body.portal-ux-a4 .hero.jfv-hero-carousel:not(.is-showing-banner) .jfv-hero-next{
    top:12px;right:12px;transform:none;
  }
  /* Banners: menos franja desenfocada superior, sin recortar la imagen. */
  body.portal-ux-a4 .hero.jfv-hero-carousel.is-showing-banner .jfv-hero-image img{
    object-position:center 18%;
  }
}
