/**
 * Modal shell, shared by the video and the forms.
 * Mobile uses the approved near full screen presentation rather than a
 * shrunken desktop dialog.
 */

.pa-sheet {
  position: fixed;
  inset: 0;
  z-index: var(--pa-z-modal);
  display: flex;
  padding: clamp(16px, 4vw, 48px);
  background: rgba(6, 7, 11, 0.82);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  overflow-y: auto;
}
.pa-sheet[hidden] { display: none; }

/* ---- Video panel --------------------------------------------------------- */

.pa-vpanel {
  width: min(1060px, 100%);
  margin: auto;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--pa-radius-lg);
  background: var(--pa-ink-deep);
  color: var(--pa-text-on-dark);
  box-shadow: var(--pa-shadow-panel);
  overflow: hidden;
}

.pa-vhead {
  padding: 16px clamp(16px, 1.8vw, 22px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.pa-vhead__title {
  margin: 0;
  color: #fff;
  font-family: var(--pa-font);
  font-size: var(--pa-body-sm);
  font-weight: 600;
  letter-spacing: var(--pa-tracking-body);
}
.pa-vhead__close {
  flex: 0 0 auto;
  padding: 9px 14px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--pa-radius-sm);
  background: transparent;
  color: #fff;
  font-family: var(--pa-font);
  font-size: var(--pa-meta);
  font-weight: 600;
  cursor: pointer;
  transition: border-color var(--pa-dur-fast) ease, background-color var(--pa-dur-fast) ease;
}
.pa-vhead__close:hover { border-color: rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.06); }

.pa-vstage { position: relative; background: #000; }
.pa-video { display: block; width: 100%; height: auto; max-height: 72vh; background: #000; }

.pa-vfallback {
  margin: 0;
  padding: 20px clamp(16px, 1.8vw, 22px);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  background: var(--pa-ink);
  color: var(--pa-text-on-dark-muted);
  font-size: var(--pa-body-sm);
}
.pa-vfallback strong { color: #fff; font-weight: 600; }
.pa-vfallback a { color: var(--pa-purple-on-dark); border-bottom: 1px solid rgba(142, 134, 228, 0.32); padding-bottom: 2px; }
.pa-vfallback[hidden] { display: none; }

.pa-transcript { border-top: 1px solid rgba(255, 255, 255, 0.08); }
.pa-transcript summary {
  padding: 14px clamp(16px, 1.8vw, 22px);
  color: var(--pa-purple-on-dark);
  font-family: var(--pa-font);
  font-size: var(--pa-meta);
  font-weight: 600;
  cursor: pointer;
}
.pa-transcript__body {
  padding: 0 clamp(16px, 1.8vw, 22px) 18px;
  max-height: 220px;
  overflow-y: auto;
  color: var(--pa-text-on-dark-muted);
  font-size: var(--pa-body-sm);
  line-height: 1.7;
}

.pa-vfoot {
  padding: clamp(16px, 1.8vw, 22px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.pa-vfoot__blurb { margin: 0; max-width: 54ch; color: var(--pa-text-on-dark-muted); font-size: var(--pa-body-sm); line-height: 1.6; }

@media (max-width: 640px) {
  .pa-sheet--video { padding: 0; align-items: stretch; background: var(--pa-ink-black); }
  .pa-vpanel {
    width: 100%;
    min-height: 0;
    margin: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
  }
  .pa-video { max-height: none; aspect-ratio: 16 / 9; object-fit: contain; }
  .pa-vhead { padding: 14px 16px; }
  .pa-vhead__close { min-height: 44px; padding: 11px 16px; }
  .pa-vfoot { padding: 18px 16px 24px; flex-direction: column; align-items: stretch; gap: 16px; }
  .pa-vfoot .pa-btn { width: 100%; justify-content: center; padding: 16px 20px; }
}

@media (max-height: 520px) and (orientation: landscape) {
  .pa-sheet--video { padding: 0; }
  .pa-vpanel { width: 100%; margin: 0; border-radius: 0; }
  .pa-video { max-height: 100vh; aspect-ratio: auto; }
  .pa-vhead { padding: 8px 14px; }
  .pa-vhead__close { min-height: 44px; padding: 11px 16px; }
  .pa-vfoot { display: none; }
}
