/* GA – Elementor YouTube Player (yt.css) */
.ga-yt{ position: relative; width: 100%; display: block; background: #000; aspect-ratio: 16 / 9; }
.ga-yt::before{ content:""; display:block; padding-top: var(--ga-yt-ratio,56.25%); }
.ga-yt > *{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.ga-yt__iframe{ display:block; }

.ga-yt__btn{ display:block; width:100%; height:100%; background-size: cover; background-position: center; cursor: pointer; border:0; margin:0; padding:0; position: relative; isolation:isolate; }
.ga-yt__btn::after{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.35)); transition: opacity .2s ease; z-index:1; }
.ga-yt__btn:hover::after{ opacity:.85; }
.ga-yt__play{ position:absolute; left:50%; top:50%; transform: translate(-50%,-50%); width: 88px; height: 62px; background: rgba(0,0,0,.6); border-radius: 12px; box-shadow: 0 6px 18px rgba(0,0,0,.25); z-index:2; }
.ga-yt__play::before{ content:""; position:absolute; left:50%; top:50%; transform: translate(-40%,-50%); width:0; height:0; border-left: 22px solid #fff; border-top: 14px solid transparent; border-bottom: 14px solid transparent; }
.ga-yt--error{ display:grid; place-items:center; color:#fff; min-height:180px; }

/* Overlay trigger (optional) */
.ga-yt__overlay-btn{
  position:absolute; right:10px; bottom:10px; z-index:3;
  width:44px; height:44px; border-radius:12px; border:0; cursor:pointer; background:#fff;
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}
.ga-yt__overlay-btn::before{
  content:""; position:absolute; left:50%; top:50%; transform: translate(-40%,-50%);
  width:0; height:0; border-left: 16px solid #111; border-top: 10px solid transparent; border-bottom: 10px solid transparent;
}

/* ===== Modal overlay ===== */
.ga-yt-lock{ overflow:hidden; }
.ga-yt-modal{ position: fixed; inset:0; z-index: 999999; display: grid; grid-template-rows: 1fr; place-items:center; }
.ga-yt-modal__backdrop{ position:absolute; inset:0; background: rgba(0,0,0,.76); opacity:0; transition: opacity .18s ease; }
.ga-yt-modal__inner{ position:relative; width:min(1200px,92vw); transform: scale(.96); opacity:0; transition: transform .18s ease, opacity .18s ease; }
.ga-yt-modal__frame-wrap{ position:relative; }
.ga-yt-modal__frame-wrap::before{ content:""; display:block; padding-top: var(--ga-yt-ratio,56.25%); }
.ga-yt-modal__frame-wrap > iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.ga-yt-modal.is-open .ga-yt-modal__backdrop{ opacity:1; }
.ga-yt-modal.is-open .ga-yt-modal__inner{ transform: scale(1); opacity:1; }
.ga-yt__close{ position:absolute; top:-44px; right:0; width:40px; height:40px; border-radius:10px; border:0; cursor:pointer; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
.ga-yt__close:before, .ga-yt__close:after{ content:""; position:absolute; left:50%; top:50%; width:20px; height:2px; background:#111; }
.ga-yt__close:before{ transform: translate(-50%,-50%) rotate(45deg); }
.ga-yt__close:after{  transform: translate(-50%,-50%) rotate(-45deg); }
@media (max-width:640px){ .ga-yt__close{ top:-50px; right:0; } }
