/* PJRN — Efemérides V2 / integrada y transparente sobre el hero */
.pjrn-efe-hero-host{position:relative !important}

#pjrn-efemeride{
  --efe-cyan:#72c7f2;
  position:absolute;
  left:50%;
  bottom:98px;
  transform:translateX(-50%);
  z-index:20;
  width:min(920px,calc(100% - 60px));
  box-sizing:border-box;
  font-family:Roboto,Arial,sans-serif;
  color:#fff;
  background:transparent !important;
  pointer-events:none;
}
#pjrn-efemeride *{box-sizing:border-box}
.pjrn-efe-inner{width:100%;padding:0}
.pjrn-efe-rule{height:1px;background:rgba(255,255,255,.60);width:100%}
.pjrn-efe-content{
  min-height:140px;
  display:grid;
  grid-template-columns:52px 108px 1px minmax(0,1fr) 44px;
  gap:20px;
  align-items:center;
  padding:25px 30px;
}
.pjrn-efe-calendar{
  width:55px;height:55px;border-radius:50%;
  display:grid;place-items:center;
  background:#1399AF;
  box-shadow:0 2px 7px rgba(0,0,0,.18);
}
.pjrn-efe-calendar svg{width:32px;height:32px;fill:none;stroke:#fff;stroke-width:1.7}
.pjrn-efe-date{text-align:center}
.pjrn-efe-day{font-size:60px;font-weight:600;line-height:.95;letter-spacing:1px;text-shadow:0 1px 3px rgba(0,0,0,.28)}
.pjrn-efe-month{font-size:18px;font-weight:300;letter-spacing: 1px;text-shadow:0 1px 3px rgba(0,0,0,.28)}
.pjrn-efe-divider{
    width:1px;
    height:auto;
    align-self:stretch;
    margin-top:10px;
    margin-bottom:10px;
    background:rgba(255,255,255,.48);
    transform:translateX(-7px);
}
.pjrn-efe-copy{text-shadow:0 1px 3px rgba(0,0,0,.32)}
.pjrn-efe-kicker{font-size:13px;letter-spacing: 0.8px;color:#fff;font-weight:350;margin-bottom:10px}
.pjrn-efe-title{font-size:20px;font-weight:600;color: #50e6ff;line-height:1.1;margin-bottom:7px}
.pjrn-efe-summary{font-size:15px;line-height:1.30;max-width:590px}
.pjrn-efe-info{
  pointer-events:auto;
  width:45px;height:45px;border-radius:50%;
  background:#fff;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(0,0,0,.20);
  transition:background-color .18s ease;
  display:grid;
  place-items:center;
  padding:0;
}
.pjrn-efe-info svg{
  width:32px;
  height:32px;
  fill:#fff;
  display:block;
}
.pjrn-efe-info:hover{background:#7cbbc5;}
.pjrn-efe-info:focus-visible{outline:2px solid #fff;outline-offset:3px;}

.pjrn-efe-info:hover,
.pjrn-efe-info:focus,
.pjrn-efe-info:active{
    text-decoration:none !important;
    box-shadow:none !important;
}

/* popup */
.pjrn-efe-modal[hidden]{display:none}
.pjrn-efe-modal{pointer-events:auto;position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}
.pjrn-efe-modal-backdrop{position:absolute;inset:0;background:rgba(6,25,43,.72)}
.pjrn-efe-modal-card{
  position:relative;z-index:1;width:min(620px,92vw);max-height:82vh;overflow:auto;
  background:#fff;color:#26394a;border-radius:15px;padding:34px 38px 30px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}
.pjrn-efe-modal-kicker{font-size:14px;font-weight:400;letter-spacing:1px;color:#1399af;margin-bottom:15px;}
.pjrn-efe-modal-card h2{font-size:25px;line-height:1.2;color:#1399aF;margin:7px 35px 18px 0}
.pjrn-efe-modal-text{font-size:16px;line-height:1.55}
.pjrn-efe-modal-text p{margin:0 0 12px}
.pjrn-efe-modal-close{position:absolute;right:15px;top:10px;border:0;background:transparent;color:#17487F;font-size:30px;cursor:pointer}
html.pjrn-efe-modal-open{overflow-y:scroll !important;}

@media(max-width:767px){
 #pjrn-efemeride{bottom:110px;width:calc(100% - 30px)}
 .pjrn-efe-content{min-height:120px;grid-template-columns:38px 67px 1px minmax(0,1fr) 28px;gap:5px}
 .pjrn-efe-calendar{width:36px;height:36px;margin-left: 10px}.pjrn-efe-calendar svg{width:19px;height:19px}
 .pjrn-efe-day{font-size:28px}.pjrn-efe-month{font-size:13px;margin-top:5px;letter-spacing: 1px;
    }
.pjrn-efe-divider{
    width:1px;
    height:auto;
    align-self:stretch;
    margin-top:10px;
    margin-bottom:10px;
    background:rgba(255,255,255,.48);
    transform:translateX(-7px);
}
 .pjrn-efe-title{font-size:13px;margin-bottom:4px}.pjrn-efe-summary{font-size:10px;line-height:1.3}
 .pjrn-efe-info{width:22px;height:22px;font-size:17px;border-width:2px}
 .pjrn-efe-modal{
   padding:16px;
   align-items:center;
 }
 .pjrn-efe-modal-card{
   width:100%;
   max-width:calc(100vw - 32px);
   max-height:calc(100dvh - 32px);
   padding:30px 22px 24px;
   overflow-y:auto;
   overscroll-behavior:contain;
   -webkit-overflow-scrolling:touch;
 }
 .pjrn-efe-modal-card h2{
   font-size:21px;
   line-height:1.25;
   margin-right:32px;
 }
 .pjrn-efe-modal-text{
   font-size:15px;
   line-height:1.5;
 }
 .pjrn-efe-modal-close{
   right:12px;
   top:9px;
 }
}

.pjrn-efe-calendar{transition:background-color .18s ease;}
.pjrn-efe-calendar:hover{background:#1399AF;}


/* V8 — popup 200 px más arriba, PC y móvil */
.pjrn-efe-modal-card{
  transform:translateY(-200px);
}

@media(max-width:767px){
  .pjrn-efe-modal-card{
    transform:translateY(-200px);
  }
}


/* V9 — popup sin velo/bloque azul de fondo */
.pjrn-efe-modal-backdrop{
  background:transparent !important;
}


/* V10 — icono de información corregido */
.pjrn-efe-info svg{
  display:none !important;
}
.pjrn-efe-info::before{
  content:"i";
  display:block;
  font-family:Arial, Helvetica, sans-serif;
  font-size:28px;
  font-weight:700;
  font-style:normal;
  line-height:1;
  color:#1399af;
  transform:translateY(-1px);
}

@media(max-width:767px){
  .pjrn-efe-info::before{
    font-size:15px;
    transform:translateY(-1px);
  }
}


/* V11 — impedir que Elementor convierta la i en mayúscula */
.pjrn-efe-info,
.pjrn-efe-info::before{
  text-transform:none !important;
}
.pjrn-efe-info::before{
  content:"\0069" !important;
}


/* V12 — i en Times New Roman, itálica y bold */
.pjrn-efe-info::before{
  font-family:"Times New Roman", Times, serif !important;
  font-style:italic !important;
  font-weight:700 !important;
  text-transform:none !important;
}


/* V13 — móvil: bloque de efemérides 100 px más arriba */
@media(max-width:767px){
  #pjrn-efemeride{
    bottom:210px !important;
  }
}

/* Cruz del popup: sin subrayado ni ningún efecto hover/focus */
.pjrn-efe-modal-close,
.pjrn-efe-modal-close:hover,
.pjrn-efe-modal-close:focus,
.pjrn-efe-modal-close:focus-visible,
.pjrn-efe-modal-close:active{
  text-decoration:none !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#6d6d6d !important;
  transform:none !important;
}


/* V14 — popup móvil: caja compacta, centrada y por encima del contenido */
@media(max-width:767px){
  .pjrn-efe-modal{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    padding:16px !important;
    display:flex;
    align-items:center !important;
    justify-content:center !important;
    z-index:9999999 !important;
  }

  .pjrn-efe-modal[hidden]{
    display:none !important;
  }

  .pjrn-efe-modal-card{
    position:relative !important;
    width:calc(100vw - 32px) !important;
    max-width:420px !important;
    max-height:calc(100dvh - 80px) !important;
    margin:0 !important;
    padding:30px 20px 24px !important;
    overflow-y:auto !important;
    transform:none !important;
    border-radius:5px;
    z-index:2 !important;
  }

  .pjrn-efe-modal-kicker{
    font-size:11px;
  }

  .pjrn-efe-modal-card h2{
    font-size:20px !important;
    line-height:1.22 !important;
    margin:6px 34px 16px 0 !important;
  }

  .pjrn-efe-modal-text{
    font-size:14px !important;
    line-height:1.45 !important;
  }

  .pjrn-efe-modal-close{
    top:10px !important;
    right:13px !important;
  }
}


/* V16 — MODAL FUERA DEL HERO: posición real respecto del viewport */
@media(max-width:767px){
  body > .pjrn-efe-modal{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    padding:0 16px !important;
    display:block !important;
    z-index:9999999 !important;
    pointer-events:auto !important;
  }

  body > .pjrn-efe-modal[hidden]{
    display:none !important;
  }

  body > .pjrn-efe-modal .pjrn-efe-modal-card{
    position:absolute !important;
    top:400px !important;
    left:16px !important;
    right:16px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 240px) !important;
    margin:0 !important;
    padding:30px 20px 24px !important;
    transform:none !important;
    overflow-y:auto !important;
  }

  body > .pjrn-efe-modal .pjrn-efe-modal-backdrop{
    position:absolute !important;
    inset:0 !important;
    background:transparent !important;
  }
}


/* V17 — PC: popup 80 px más abajo */
@media(min-width:768px){
  .pjrn-efe-modal-card{
    transform:translateY(-120px) !important;
  }

  /* Cruz más cerca del borde superior/derecho */
  .pjrn-efe-modal-close{
    top:8px !important;
    right:8px !important;
    padding:10px !important;
    margin:0 !important;
  }
}

/* Móvil: mantener posición V16, pero acercar también la cruz al borde */
@media(max-width:767px){
  .pjrn-efe-modal-close{
    top:8px !important;
    right:8px !important;
    padding:4px !important;
    margin:0 !important;
  }
}

#pjrn-efemeride .pjrn-efe-inner{
background: rgba(0, 0, 0, 0.40);
}

/* Cruz para cerrar la efeméride */
#pjrn-efemeride .pjrn-efe-dismiss{
  pointer-events:auto;
  position:absolute;
  top:95px;
  right:13px;
  z-index:10;

  width:24px;
  height:24px;
  padding:0 !important;
  margin:0 !important;

  border:0 !important;
  background:transparent !important;
  color:#fff !important;

  font-family:Arial,Helvetica,sans-serif;
  font-size:32px;
  font-weight:400;
  line-height:24px;
  text-align:center;

  cursor:pointer;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
}

@media(max-width:767px){
  #pjrn-efemeride .pjrn-efe-dismiss{
    top:60px;
    right:6px;
    width:20px;
    height:20px;
    font-size:22px;
    line-height:20px;
  }

  .pjrn-efe-content {
    display: grid;
    align-items: center;
    padding: 10px;
}
}

/* V18 — navegación limpia cuando hay dos o más efemérides */
#pjrn-efemeride .pjrn-efe-content{
  position:relative;
}

#pjrn-efemeride .pjrn-efe-next{
  pointer-events:auto;
  position:absolute;
  right:11px;
  bottom:9px;
  width:28px;
  height:28px;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
  cursor:pointer;
}

#pjrn-efemeride .pjrn-efe-next span{
    position: absolute;
    left: 7px;
    top: 7px;
    width: 14px;
    height: 14px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    border-radius: 3px;
transform: rotate(45deg);
}

#pjrn-efemeride .pjrn-efe-next:hover,
#pjrn-efemeride .pjrn-efe-next:focus,
#pjrn-efemeride .pjrn-efe-next:focus-visible,
#pjrn-efemeride .pjrn-efe-next:active{
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
}

@media(max-width:767px){
  #pjrn-efemeride .pjrn-efe-next{
    right:3px;
    bottom:4px;
    width:25px;
    height:25px;
  }

  #pjrn-efemeride .pjrn-efe-next span{
    left:6px;
    top:5px;
    width:10px;
    height:10px;
  }
}
