/* 黑馬影視官網：補回 Wix 互動元件的外觀（燈箱、影片播放、表單提示），盡量對齊原站 */
:root {
  --heyma-overlay: #000;
  --heyma-line: #fff;
  --heyma-now: rgba(0, 0, 0, .55);
  --heyma-err: #e5484d;
}

/* 照片燈箱：原站＝全黑底、置中大圖、細線左右箭頭、右上 X */
.heyma-lb, .heyma-yt {
  position: fixed; inset: 0; z-index: 99999; background: var(--heyma-overlay);
  display: none; align-items: center; justify-content: center;
}
.heyma-lb.on, .heyma-yt.on { display: flex; }
.heyma-lb img { max-width: calc(100vw - 160px); max-height: calc(100vh - 150px); object-fit: contain; }
.heyma-lb button, .heyma-yt > button {
  position: absolute; background: none; border: 0; padding: 0; cursor: pointer; width: 44px; height: 44px;
}
.heyma-lb-x { top: 32px; right: 32px; }
.heyma-lb-x::before, .heyma-lb-x::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 34px; height: 1.5px; background: var(--heyma-line);
}
.heyma-lb-x::before { transform: translate(-50%, -50%) rotate(45deg); }
.heyma-lb-x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.heyma-lb-prev, .heyma-lb-next { top: 50%; margin-top: -22px; }
.heyma-lb-prev { left: 28px; }
.heyma-lb-next { right: 28px; }
.heyma-lb-prev::before, .heyma-lb-next::before {
  content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px;
  border-top: 1.5px solid var(--heyma-line); border-right: 1.5px solid var(--heyma-line);
}
.heyma-lb-prev::before { transform: translate(-30%, -50%) rotate(-135deg); }
.heyma-lb-next::before { transform: translate(-70%, -50%) rotate(45deg); }

/* 首頁 YouTube 播放視窗：原站＝黑底、中間大播放器、底部縮圖列標「現在播放中」 */
.heyma-yt { flex-direction: column; justify-content: flex-start; }
.heyma-yt-frame { width: min(1048px, 92vw); aspect-ratio: 16 / 9; margin-top: max(60px, 8vh); }
.heyma-yt-frame iframe { width: 100%; height: 100%; border: 0; }
.heyma-yt .heyma-lb-x { top: 14px; right: 14px; }
.heyma-yt .heyma-lb-next { right: 14px; top: 45%; }
.heyma-yt-list { position: absolute; left: 8px; right: 8px; bottom: 0; display: flex; gap: 4px; overflow-x: auto; }
.heyma-yt-thumb { position: relative; flex: 0 0 auto; width: 262px; aspect-ratio: 16 / 9; border: 0; padding: 0; background: #111; cursor: pointer; }
.heyma-yt-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.heyma-yt-thumb span {
  position: absolute; inset: 0; display: none; align-items: center; justify-content: center;
  background: var(--heyma-now); color: #fff; font: 600 13px/1 "Noto Sans TC", sans-serif;
}
.heyma-yt-thumb.now span { display: flex; }
@media (max-width: 750px) {
  .heyma-yt-frame { margin-top: 70px; }
  .heyma-yt-thumb { width: 160px; }
  .heyma-lb img { max-width: 100vw; max-height: calc(100vh - 120px); }
  .heyma-lb-prev { left: 4px; } .heyma-lb-next { right: 4px; } .heyma-lb-x { top: 12px; right: 12px; }
}

/* 作品集播放器／相簿影片：影片蓋滿原本的播放區 */
.heyma-vod-video, .heyma-inline-video {
  position: absolute; inset: 0; width: 100%; height: 100%; background: #000; object-fit: contain; z-index: 5;
}
[data-hook="player"] { position: relative; }

/* 表單 */
.heyma-invalid { outline: 1px solid var(--heyma-err) !important; outline-offset: -1px; }
.heyma-form-msg { margin-top: 10px; font: 14px/1.5 "Noto Sans TC", sans-serif; color: inherit; text-align: center; }
.heyma-form-msg.err { color: var(--heyma-err); }

@media (prefers-reduced-motion: reduce) {
  .heyma-lb, .heyma-yt { transition: none; }
}

/* ── Aaron 10-14 修改 ── */
/* 團隊只留 Gigi、Aaron（Darstan、Hardy 已離開） */
[id^="comp-mq4ydlzi1__item-97911101-66ce-4170-bbc8-6f3598030f13"],
[id^="comp-mq4ydlzi1__item-kf51yt5v"] { display: none !important; }

/* 預約洽談區：原本 Wix 內容藏起來，換成新排版 */
#comp-mqahcf7m > :not(.heyma-contact) { display: none !important; }
#comp-mqahcf7m { height: auto !important; min-height: 0 !important; }
.heyma-contact {
  --hc-bg: #000; --hc-fg: #fff; --hc-dim: rgba(255, 255, 255, .55); --hc-line: rgba(255, 255, 255, .28);
  position: relative; background: var(--hc-bg); color: var(--hc-fg);
  font-family: poppins-extralight, poppins, "Noto Sans TC", "PingFang TC", sans-serif;
  padding: 96px 24px 56px;
}
.hc-inner { max-width: 980px; margin: 0 auto; }
.hc-head { display: flex; align-items: baseline; gap: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--hc-line); margin-bottom: 48px; }
.hc-head h2 { margin: 0; font-size: 30px; font-weight: 700; letter-spacing: .04em; color: var(--hc-fg); }
.hc-head p { margin: 0; font-size: 15px; letter-spacing: .12em; color: var(--hc-dim); }
.hc-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 72px; align-items: start; }
.hc-form { display: grid; gap: 26px; }
.hc-field { display: grid; gap: 8px; }
.hc-field label { font-size: 14px; letter-spacing: .06em; color: var(--hc-dim); }
.hc-field input, .hc-field textarea {
  font: 16px/1.5 inherit; font-family: inherit; color: var(--hc-fg); background: transparent;
  border: 0; border-bottom: 1px solid var(--hc-line); border-radius: 0; padding: 8px 0; outline: none;
  transition: border-color .2s;
}
.hc-field textarea { resize: vertical; min-height: 96px; }
.hc-field input:focus, .hc-field textarea:focus { border-bottom-color: var(--hc-fg); }
.hc-form button {
  justify-self: start; min-width: 200px; padding: 15px 36px; margin-top: 6px; cursor: pointer;
  font: 600 15px/1 inherit; font-family: inherit; letter-spacing: .14em;
  color: #000; background: var(--hc-fg); border: 1px solid var(--hc-fg); border-radius: 0;
  transition: background .2s, color .2s;
}
.hc-form button:hover { background: transparent; color: var(--hc-fg); }
.hc-form button:disabled { opacity: .5; cursor: default; }
.hc-form .heyma-form-msg { text-align: left; color: var(--hc-dim); margin-top: 0; }
.hc-form .heyma-form-msg.err { color: #ff7a7a; }
.hc-form .heyma-invalid { outline: none !important; border-bottom-color: #ff7a7a !important; }
.hc-info { display: grid; gap: 22px; padding-top: 6px; }
.hc-row { display: flex; align-items: center; gap: 14px; font-size: 16px; color: var(--hc-fg); text-decoration: none; letter-spacing: .02em; }
a.hc-row:hover span:last-child { text-decoration: underline; text-underline-offset: 4px; }
.hc-ic { flex: 0 0 34px; width: 34px; height: 34px; color: var(--hc-fg); }
.hc-line { display: grid; place-items: center; border-radius: 50%; background: var(--hc-fg); color: #000; font: 800 9px/1 Arial, sans-serif; letter-spacing: 0; }
.hc-map { width: 100%; aspect-ratio: 4 / 3; border: 0; margin-top: 6px; filter: grayscale(1) contrast(1.05); }
.hc-copy { margin: 64px 0 0; font-size: 13px; color: var(--hc-dim); text-align: center; letter-spacing: .04em; }
@media (max-width: 750px) {
  .heyma-contact { padding: 64px 20px 40px; }
  .hc-head { margin-bottom: 32px; flex-wrap: wrap; gap: 6px 12px; }
  .hc-head h2 { font-size: 24px; }
  .hc-grid { grid-template-columns: 1fr; gap: 48px; }
  .hc-form button { justify-self: stretch; }
  .hc-copy { margin-top: 40px; }
}

/* 影像製作服務流程：標題置中（Aaron 10-14 要求電腦／手機都完整置中） */
#comp-mqrf3avn { translate: var(--heyma-cx, 0px) 0; }
.device-mobile-optimized #comp-mqrf3avn [data-testid="richTextElement"] { text-align: center !important; justify-self: stretch !important; }
.device-mobile-optimized #comp-mqrf3avn h2 { text-align: center !important; display: block !important; width: 100% !important; }
/* 手機版團隊照片是另外擺的獨立圖片：Darstan、Hardy 的照片一起藏 */
#comp-mqhrwiu9, #comp-mqhrywl3 { display: none !important; }
/* 手機版首頁大圖改播影片（Aaron 10-14） */
.heyma-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
