.crt-video{width:100%;max-width:960px;margin:8px auto 32px;text-align:center}
.crt-video--vertical{max-width:320px}

.crt-video__marco{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 8px 24px rgba(0,0,0,.18);border:1px solid #D9D9D9}
.crt-video--vertical .crt-video__marco{aspect-ratio:9/16;border-radius:20px}

.crt-video__thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}

.crt-video__btn{position:absolute;inset:0;width:100%;height:100%;border:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.6) 100%);cursor:pointer;padding:0}
.crt-video__btn:hover .crt-video__thumb,
.crt-video__btn:focus-visible .crt-video__thumb{transform:scale(1.04)}
.crt-video__btn:focus-visible{outline:3px solid #D4C19C;outline-offset:3px}

.crt-video__play{position:absolute;top:50%;left:50%;width:72px;height:72px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(0,0,0,.5);border:3px solid #fff;transition:background .25s,transform .25s}
.crt-video__play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:14px 0 14px 25px;border-color:transparent transparent transparent #fff}
.crt-video__btn:hover .crt-video__play{background:var(--crt-color-primario,#004d40);transform:translate(-50%,-50%) scale(1.08)}

.crt-video__titulo{position:absolute;left:18px;right:18px;bottom:18px;color:#fff;font-size:18px;font-weight:700;text-align:left;text-shadow:0 1px 4px rgba(0,0,0,.6)}

.crt-video__pie{margin:14px 4px 0;color:var(--crt-color-enlace,#0d4d4d);font-size:16px;font-weight:600}

.crt-video-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.88);opacity:0;transition:opacity .25s ease}
.crt-video-modal.is-open{opacity:1}
.crt-video-modal__caja{position:relative;width:min(90vw,1100px);aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6);transform:scale(.96);transition:transform .25s ease}
.crt-video-modal.is-open .crt-video-modal__caja{transform:scale(1)}
.crt-video-modal--vertical .crt-video-modal__caja{width:auto;height:min(88vh,860px);aspect-ratio:9/16;max-width:92vw;border-radius:20px}
.crt-video-modal__caja iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.crt-video-modal__cerrar{position:absolute;top:16px;right:16px;width:44px;height:44px;border:2px solid #fff;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.crt-video-modal__cerrar:hover,
.crt-video-modal__cerrar:focus-visible{background:#D4C19C;color:#000;border-color:#D4C19C;outline:none}
.crt-video-modal-abierto{overflow:hidden}

@media (max-width:600px){
  .crt-video--vertical{max-width:260px}
  .crt-video__marco{border-radius:12px}
  .crt-video__play{width:60px;height:60px}
  .crt-video__play::after{border-width:12px 0 12px 21px}
  .crt-video__titulo{font-size:16px;left:14px;right:14px;bottom:14px}
  .crt-video-modal{padding:12px}
  .crt-video-modal__caja{width:96vw;border-radius:12px}
  .crt-video-modal--vertical .crt-video-modal__caja{height:min(85vh,760px)}
  .crt-video-modal__cerrar{top:8px;right:8px;width:40px;height:40px}
}
