/* ===== Video de la Dra. Amalia ===== */
.doctor-photo{ position:relative; }

.video-play{
  position:absolute;
  left:50%; bottom:64px;            /* abajo, sobre el pecho: no tapa la cara */
  transform:translateX(-50%);
  display:flex; align-items:center; gap:10px;
  background:rgba(11,44,93,.88);
  border:0; padding:6px 18px 6px 6px;
  border-radius:999px;
  cursor:pointer;
  color:#fff;
  z-index:3;
  box-shadow:0 8px 22px rgba(11,44,93,.35);
  transition:transform .25s ease, background .25s ease;
  -webkit-tap-highlight-color:transparent;
  max-width:calc(100% - 24px);
}
.video-play .vp-circle{
  position:relative;
  flex:none;
  width:50px; height:50px;
  border-radius:50%;
  background:#5468E8;
  display:grid; place-items:center;
  transition:background .25s ease;
}
.video-play .vp-circle::before{
  content:"";
  position:absolute; inset:-5px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.7);
  animation:vpPulse 2.2s ease-out infinite;
}
.video-play .vp-circle svg{ width:22px; height:22px; margin-left:3px; fill:#fff; }
.video-play .vp-label{
  font-size:13px; font-weight:800;
  line-height:1.2;
  text-align:left;
  white-space:nowrap;
}
.video-play:hover, .video-play:focus-visible{ transform:translateX(-50%) scale(1.04); background:rgba(11,44,93,.96); }
.video-play:hover .vp-circle, .video-play:focus-visible .vp-circle{ background:#43B7F5; }
.video-play:focus-visible{ outline:3px solid #fff; outline-offset:4px; }
@keyframes vpPulse{
  0%{ transform:scale(.92); opacity:.9; }
  100%{ transform:scale(1.3); opacity:0; }
}

/* Ventana del video */
.dv-modal{
  position:fixed; inset:0;
  z-index:2000;
  display:none;
  align-items:center; justify-content:center;
  padding:16px;
  background:rgba(8,22,48,.82);
  backdrop-filter:blur(3px);
}
.dv-modal.open{ display:flex; animation:dvFade .2s ease; }
@keyframes dvFade{ from{ opacity:0; } to{ opacity:1; } }

.dv-box{
  position:relative;
  width:min(420px, 100%);
  max-height:100%;
  display:flex; flex-direction:column;
  background:#0B2C5D;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.dv-box video{
  display:block;
  width:100%;
  aspect-ratio:9 / 16;
  max-height:calc(100vh - 130px);
  max-height:calc(100dvh - 130px);
  background:#000;
  object-fit:contain;
}
.dv-foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 14px;
  color:#fff;
}
.dv-foot b{ display:block; font-size:14px; }
.dv-foot span{ font-size:12px; opacity:.8; }
.dv-close{
  position:absolute; top:10px; right:10px; z-index:2;
  width:38px; height:38px;
  border:0; border-radius:50%;
  background:rgba(11,44,93,.85); color:#fff;
  font-size:18px; line-height:1; cursor:pointer;
}
.dv-close:focus-visible{ outline:3px solid #43B7F5; }

@media (min-width: 900px){
  .dv-box{ width:min(400px, 100%); }
}
body.dv-open{ overflow:hidden; }

@media (prefers-reduced-motion: reduce){
  .video-play .vp-circle::before{ animation:none; }
  .dv-modal.open{ animation:none; }
}
