/* Sección de video institucional en la página de inicio: usa la paleta PALPA. */
.palpa-video-section{
  position:relative;
  overflow:hidden;
  background:#ff4f01 !important;
  padding:60px 16px 75px !important;
  color:#fff;
  text-align:center;
}
.palpa-video-section .container{position:relative; z-index:1;}
.palpa-video-trigger{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:102px;
  height:102px;
  margin:0 auto 32px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#ff4f01;
  cursor:pointer;
}
.palpa-video-trigger .ttm-play-icon-animation{position:relative; display:inline-flex; width:72px; height:72px; align-items:center; justify-content:center;}
.palpa-video-trigger .ttm-play-icon-animation .ttm-icon{
  width:72px; height:72px; line-height:72px; margin:0;
  border-radius:50%; background:#fff; color:#ff4f01;
  box-shadow:0 0 0 7px rgba(255,255,255,.22);
  position:relative; z-index:2;
}
.palpa-video-trigger .ttm-play-icon-animation .ttm-icon i{display:none;}
/* Triángulo dibujado en CSS para no depender de una fuente de iconos. */
.palpa-video-trigger .ttm-play-icon-animation .ttm-icon::after{
  content:""; display:block; position:absolute; left:50%; top:50%;
  transform:translate(-35%,-50%); width:0; height:0;
  border-top:12px solid transparent; border-bottom:12px solid transparent;
  border-left:20px solid #ff4f01; z-index:3;
}
.palpa-video-trigger .ttm-play-icon-animation::before,
.palpa-video-trigger .ttm-play-icon-animation::after{
  content:''; position:absolute; left:50%; top:50%; border-radius:50%;
  transform:translate(-50%,-50%); background:rgba(255,255,255,.18);
  width:88px; height:88px; pointer-events:none;
  animation:palpa-video-pulse 2.2s ease-out infinite;
}
.palpa-video-trigger .ttm-play-icon-animation::after{animation-delay:1.1s;}
@keyframes palpa-video-pulse{
  0%{width:74px;height:74px;opacity:.68;}
  100%{width:112px;height:112px;opacity:0;}
}
.palpa-video-trigger:focus-visible,.palpa-video-details:focus-visible{
  outline:3px solid #fff; outline-offset:5px;
}
.palpa-video-eyebrow{
  margin:2px 0 17px; font-size:15px; font-weight:700;
  letter-spacing:1.4px; color:#fff;
}
.palpa-video-heading{
  margin:0 auto 34px; max-width:1040px; color:#fff !important;
  font-size:clamp(28px,3.9vw,50px); line-height:1.2; font-weight:700;
}
.palpa-video-details{
  display:inline-block; padding:13px 33px; min-height:46px;
  border:1px solid #fff; color:#fff !important;
  background:transparent; font-weight:700;
  font-size:14px; text-decoration:none; transition:background-color .2s,color .2s;
}
.palpa-video-details:hover{background:#fff; color:#ff4f01 !important;}
.palpa-video-modal[hidden]{display:none !important;}
.palpa-video-modal{position:fixed; z-index:99999; inset:0; display:flex;
  align-items:center; justify-content:center; padding:20px;}
.palpa-video-modal-backdrop{position:absolute; inset:0; background:rgba(8,16,30,.85);}
.palpa-video-modal-panel{position:relative; width:min(94vw,850px); max-height:94vh;
  overflow:auto; background:#fff; border-radius:8px; padding:27px; color:#13284a;}
.palpa-video-modal-panel h2{font-size:24px; margin:0 40px 20px 0; color:#13284a;}
.palpa-video-modal-close{position:absolute; top:10px; right:12px; width:42px; height:42px;
  border:0; border-radius:50%; background:transparent; color:#182540;
  font-size:32px; cursor:pointer;}
.palpa-video-modal-content iframe,.palpa-video-modal-content video{
  display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; background:#000;
}
@media(max-width:767px){
  .palpa-video-section{padding:44px 14px 54px !important;}
  .palpa-video-trigger{margin-bottom:22px;}
  .palpa-video-heading{font-size:clamp(25px,6vw,34px); margin-bottom:25px;}
  .palpa-video-eyebrow{font-size:12px; letter-spacing:.9px;}
  .palpa-video-modal-panel{padding:18px;}
}
@media(prefers-reduced-motion:reduce){
  .palpa-video-trigger .ttm-play-icon-animation::before,
  .palpa-video-trigger .ttm-play-icon-animation::after{animation:none;}
}

/* Aviso de error, mostrado solo si falta el MP4 o el navegador no puede reproducirlo. */
.palpa-video-error{font-size:14px;line-height:1.6;color:#202e46;margin:12px 0 0;}
.palpa-video-error[hidden]{display:none!important;}
.palpa-video-error a{color:#e74700;text-decoration:underline;margin-left:5px;}
.palpa-video-modal-content video{max-height:min(70vh,540px);object-fit:contain;}
