/* Video modal for the Reserve a Seat form.
   Only loaded when the shortcode is given a video_url. */

/* Hidden POST target. The lead still reaches Pardot; the page never navigates. */
.svm-sink{
  position:absolute;
  width:0;
  height:0;
  border:0;
  visibility:hidden;
}

.svm-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000; /* above the consent manager, which sits at 2e9 */
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
  background:rgba(16,8,32,.82);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}

/* [hidden] alone loses to display:flex, so restate it. */
.svm-overlay[hidden]{ display:none; }

.svm-dialog{
  position:relative;
  width:100%;
  max-width:1040px;
  font-family:"Manrope",sans-serif;
  outline:none;
}

.svm-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,.5);
}

.svm-video{
  display:block;
  width:100%;
  height:100%;
  background:#000;
}

/* Sits inside the frame's top-right corner. Negative offsets only have room on
   wide viewports and clip everywhere else, so the button stays within bounds. */
.svm-close{
  position:absolute;
  z-index:1;
  top:12px;
  right:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:none;
  border-radius:50%;
  background:linear-gradient(90deg,#8900FF 0%,#FF675F 100%);
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.45);
  transition:transform .2s ease;
}
.svm-close:hover{ transform:translateY(-2px); }
.svm-close:focus-visible{ outline:3px solid #fff; outline-offset:2px; }

@media (max-width:768px){
  .svm-overlay{ padding:16px; }
  .svm-close{
    top:8px;
    right:8px;
    width:38px;
    height:38px;
    font-size:22px;
  }
}

/* Confirmation shown under the form once the lead is on its way to Pardot. */
.svm-success{
  margin-top:18px;
  padding:16px 20px;
  border:1px solid rgba(137,0,255,.25);
  border-radius:var(--soho-radius,10px);
  background:linear-gradient(90deg,rgba(137,0,255,.06) 0%,rgba(255,103,95,.06) 100%);
  font-family:"Manrope",sans-serif;
  color:var(--soho-text,#2b2b2b);
}
.svm-success[hidden]{ display:none; }

.svm-success-text{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
}

.svm-replay{
  margin-top:10px;
  padding:0;
  border:none;
  background:none;
  font-family:inherit;
  font-size:13px;
  font-weight:600;
  color:#8900FF;
  text-decoration:underline;
  cursor:pointer;
}
.svm-replay:hover{ color:#FF675F; }
