/* ==========================================================================
   Section: Build Video
   Ported verbatim from .docs/mockup/css/howitworks.css lines 175-265
   (.buildvideo through .video-cap). No .buildvideo* selector appears in
   that file's pooled 900px responsive block, so there is nothing to port
   into a @media rule here — the fluid tokens already in use carry this
   section down to mobile on their own.
   ========================================================================== */

.buildvideo {
  padding-block: var(--section-space-m);
  padding-inline: var(--space-gutter);
  background: var(--pebble);
}

.buildvideo-inner {
  max-width: 960px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-l);
}

.buildvideo .section-title-group {
  align-items: center;
  text-align: center;
}

.buildvideo .section-title-group .eyebrow {
  justify-content: center;
}

.buildvideo h2 {
  font-size: var(--text-h2);
  font-weight: 800;
  line-height: 1.05;
}

.buildvideo h2 em {
  font-style: italic;
  font-weight: 500;
  color: var(--terracotta);
}

.video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-lg);
}

.video-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(20, 40, 50, 0.28);
}

.video-play {
  position: relative;
  width: 76px;
  height: 76px;
  border-radius: var(--radius-pill);
  background: var(--terracotta);
  color: var(--off-white);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-md);
  transition: transform var(--duration-normal) var(--ease-out), background var(--duration-fast);
}

.video-play:hover {
  transform: scale(1.08);
  background: var(--terracotta-hover);
}

.video-play:disabled {
  cursor: default;
}

.video-play .material-symbols-outlined {
  font-size: 40px;
}

.video-cap {
  position: absolute;
  left: var(--space-s);
  bottom: var(--space-s);
  font-size: var(--text-small);
  font-weight: 600;
  color: var(--white);
  background: rgba(20, 40, 50, 0.55);
  padding: 6px 14px;
  border-radius: var(--radius-pill);
}

/* --- Real embed state (not in the mockup: no video exists yet to show
   there). Swaps in once the Video URL field is filled — the coming-soon
   teaser above and this state are mutually exclusive, never stacked. --- */
.video-frame.has-video::before {
  content: none;
}

.video-frame.has-video iframe,
.video-frame.has-video video,
.video-frame.has-video .wp-video-shortcode {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
