/* ── tmpl0007 影片嵌入 ──────────────────────────────────────────────────── */

[data-domx-id="tmpl0007"] {
  margin: 50px 0;
  width: 100%;
  height: auto;
  background: #0d0f1a;
  color: #e8eaf2;
  /* 防止套用頁面的外層容器為 flex/grid 且預設 stretch 時，
     把本樣板撐高超出實際內容高度（背景色因此外溢出一大塊空白）。 */
  align-self: flex-start;
  justify-self: start;
}

[data-domx-id="tmpl0007"] .video-section {
  /* max-width: 860px; */
  margin: 0 auto;
  /* padding: 56px 40px; */
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* ── 外層 wrap（含 iframe + overlay）── */
[data-domx-id="tmpl0007"] .video-section__wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0, 0, 0, .55);
  background: #000;
  /* 防止子元素撐出造成 scrollbar */
  contain: strict;
}

/* ── 影片嵌入容器 ── */
[data-domx-id="tmpl0007"] .video-section__embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

[data-domx-id="tmpl0007"] .video-section__embed iframe {
  /* 延伸 1px 四邊，讓 overflow:hidden 裁掉 YouTube 可能的邊緣黑線 */
  position: absolute;
  inset: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  border: 0;
  display: block;
}

/* ── 空狀態佔位符 ── */
[data-domx-id="tmpl0007"] .video-section__embed:empty::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    -45deg,
    #1a1d2e 0px,
    #1a1d2e 8px,
    #141627 8px,
    #141627 16px
  );
  opacity: .6;
}

/* ── 控制 overlay ── */
[data-domx-id="tmpl0007"] .video-section__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  transition: background 300ms ease;
}

/* 暫停時加深色放射漸層，完全遮蔽 YT 中心圖示 */
[data-domx-id="tmpl0007"] .video-section__wrap:not([data-playing="true"]) .video-section__overlay {
  background: radial-gradient(circle at 50% 50%, rgba(5, 7, 18, .75) 0%, rgba(5, 7, 18, .38) 30%, transparent 60%);
}

/* ── 控制按鈕組 ── */
[data-domx-id="tmpl0007"] .video-section__controls {
  display: flex;
  align-items: center;
  gap: 18px;
  opacity: 0;
  transform: scale(.88);
  transition: opacity 220ms ease, transform 220ms ease;
  pointer-events: none;
}

/* 暫停時始終可見；播放中滑入才顯示 */
[data-domx-id="tmpl0007"] .video-section__wrap:hover .video-section__controls,
[data-domx-id="tmpl0007"] .video-section__wrap:not([data-playing="true"]) .video-section__controls {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

/* ── 圓形圖示按鈕共用基礎 ── */
[data-domx-id="tmpl0007"] .video-section__ctrl {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  color: #fff;
  flex-shrink: 0;
  user-select: none;
  transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

/* ── 從頭播放（48px 毛玻璃小圓）── */
[data-domx-id="tmpl0007"] .video-section__ctrl--restart {
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

[data-domx-id="tmpl0007"] .video-section__ctrl--restart svg {
  width: 22px;
  height: 22px;
  transition: transform 320ms ease;
}

[data-domx-id="tmpl0007"] .video-section__ctrl--restart:hover {
  background: rgba(255, 255, 255, .2);
  border-color: rgba(255, 255, 255, .38);
}

[data-domx-id="tmpl0007"] .video-section__ctrl--restart:hover svg {
  transform: rotate(-45deg);
}

[data-domx-id="tmpl0007"] .video-section__ctrl--restart:active svg {
  transform: rotate(-90deg);
}

/* ── 播放/暫停（72px 實心大圓，覆蓋 YT 中心按鈕）── */
[data-domx-id="tmpl0007"] .video-section__ctrl--primary {
  width: 72px;
  height: 72px;
  background: #1d6fdb;
  border: 2px solid rgba(255, 255, 255, .3);
  box-shadow: 0 0 0 7px rgba(29, 111, 219, .28), 0 4px 24px rgba(0, 0, 0, .55);
}

[data-domx-id="tmpl0007"] .video-section__ctrl--primary svg {
  width: 30px;
  height: 30px;
}

[data-domx-id="tmpl0007"] .video-section__ctrl--primary:hover {
  background: #2a7fe8;
  box-shadow: 0 0 0 11px rgba(29, 111, 219, .22), 0 4px 28px rgba(0, 0, 0, .6);
  transform: scale(1.07);
}

[data-domx-id="tmpl0007"] .video-section__ctrl--primary:active {
  transform: scale(.95);
  box-shadow: 0 0 0 4px rgba(29, 111, 219, .3), 0 2px 12px rgba(0, 0, 0, .5);
}

/* ── play / pause 圖示切換 ── */
[data-domx-id="tmpl0007"] .video-section__ctrl .icon-pause { display: none; }

[data-domx-id="tmpl0007"] .video-section__wrap[data-playing="true"] .icon-play  { display: none; }
[data-domx-id="tmpl0007"] .video-section__wrap[data-playing="true"] .icon-pause { display: block; }

/* ── 文字內容區 ── */
[data-domx-id="tmpl0007"] .video-section__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 10px 20px;
}

[data-domx-id="tmpl0007"] .video-section__title {
  margin: 0;
  font-size: clamp(20px, calc(15px + 1vw), 28px);
  font-weight: 800;
  line-height: 1.25;
  color: #ffffff;
  letter-spacing: -.02em;
}

[data-domx-id="tmpl0007"] .video-section__desc {
  margin: 0;
  font-size: 15.2px;
  font-weight: 400;
  line-height: 1.75;
  color: rgba(232, 234, 242, .65);
}
[data-domx-id="tmpl0007"] .video-section__desc p { margin: 0 0 .5em; }
[data-domx-id="tmpl0007"] .video-section__desc p:last-child { margin-bottom: 0; }

/* ── 裝飾線 ── */
[data-domx-id="tmpl0007"] .video-section__body::before {
  content: '';
  display: block;
  width: 36px;
  height: 3px;
  background: #1d6fdb;
}

/* ── RWD ── */
@media (max-width: 768px) {
  [data-domx-id="tmpl0007"] .video-section {
    /* padding: 36px 24px; */
    gap: 20px;
  }

  [data-domx-id="tmpl0007"] .video-section__ctrl {
    padding: 11px 14px;
    min-width: 62px;
    font-size: 10px;
  }

  [data-domx-id="tmpl0007"] .video-section__ctrl svg {
    width: 20px;
    height: 20px;
  }

  [data-domx-id="tmpl0007"] .video-section__ctrl--primary {
    padding: 13px 18px;
  }

  [data-domx-id="tmpl0007"] .video-section__ctrl--primary svg {
    width: 24px;
    height: 24px;
  }
}

@media (max-width: 480px) {
  [data-domx-id="tmpl0007"] .video-section {
    /* padding: 28px 16px; */
  }
}
