/* Start custom CSS *//* --------- VIDEO --------- */
body.elementor-page-22291 .video-shell{
  display:flex; justify-content:center; margin:16px 0; width:100%;
}
body.elementor-page-22291 .video-frame{
  position:relative; width:100%; max-width:1400px;
  aspect-ratio:16/9; background:#000; border-radius:8px; overflow:hidden;
}
body.elementor-page-22291 .video-frame iframe,
body.elementor-page-22291 #playerLab1{
  position:absolute; inset:0; width:100% !important; height:100% !important; border:0; display:block;
}

/* Elementor video widget hard-heights, just in case */
body.elementor-page-22291 .elementor-widget-video iframe{ width:100% !important; height:100% !important; }

/* --------- BUTTON (can be hidden independently) --------- */
body.elementor-page-22291 .lab-launch .lab-btn{
  background:#2196f3; color:#fff; font-weight:700; font-size:16px;
  padding:12px 28px; border:0; border-radius:8px; cursor:pointer;
  transition:background-color .2s, transform .1s;
}
body.elementor-page-22291 .lab-launch .lab-btn:hover:not([disabled]){ background:#0b7dda; transform:translateY(-1px); }
body.elementor-page-22291 .lab-launch .lab-btn[disabled]{ background:#b0c7e8; color:#f9f9f9; cursor:not-allowed; transform:none; }

/* Utility so PMS/Elementor can hide just the button widget */
body.elementor-page-22291 body.hide-lab-button .lab-launch { display:none !important; }

/* --------- MODAL --------- */
body.elementor-page-22291 .lab-modal{ display:none; }
body.elementor-page-22291 .lab-modal[open]{
  position:fixed; inset:0; display:flex; justify-content:center; align-items:center;
  background:rgba(0,0,0,.6); z-index:99999;
}
body.elementor-page-22291 .lab-modal-container{
  display:flex; justify-content:center; align-items:center; max-width:95vw; max-height:95vh;
}
body.elementor-page-22291 .lab-stage{
  position:relative; width:1366px; height:768px; background:#000; border-radius:8px; overflow:hidden;
}
body.elementor-page-22291 .lab-frame{ position:absolute; inset:0; width:100%; height:100%; border:0; background:#000; }
body.elementor-page-22291 .lab-loading{ position:absolute; inset:0; display:grid; place-items:center; background:rgba(0,0,0,.2); }
body.elementor-page-22291 .spinner{ width:42px; height:42px; border:4px solid #fff3; border-top-color:#fff; border-radius:50%; animation:spin 1s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
body.elementor-page-22291 .lab-close-external{
  position:absolute; bottom:12px; right:12px; z-index:100000;
  width:44px; height:44px; border:0; border-radius:50%; background:#fff; color:#111;
  font-size:22px; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center;
}
body.elementor-page-22291 .lab-locked{ overflow:hidden; }
body.elementor-page-22291 .sr-only{ position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }/* End custom CSS */