.winner-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;z-index:9999;align-items:center;justify-content:center;overflow-y: scroll;}
.winner-card{background:#fff;border-radius:12px;max-width:420px;width:90%;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.winner-title{font-size:20px;margin:0 0 8px;color:#d3664a;font-weight:700;text-align:center}
.winner-sub{font-size:14px;color:#7c7f7e;text-align:center;margin-bottom:12px}
.winner-form label{display:block;margin:10px 0 6px;color:#333}
.winner-form input[type="text"], .winner-form input[type="tel"]{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;box-sizing:border-box}
.winner-actions{margin-top:14px;display:flex;gap:8px}
.winner-btn{flex:1;padding:10px;border:none;border-radius:8px;cursor:pointer}
.winner-btn.primary{background:#d3664a;color:#fff}
.winner-btn.secondary{background:#eee;color:#333}
.winner-privacy{margin-top:10px;font-size:12px;color:#555;line-height:1.5;background:#fafafa;border:1px solid #eee;border-radius:8px;padding:10px}
.winner-privacy-toggle{display:flex;align-items:center;gap:8px;margin-top:8px}
.winner-err{margin-top:8px;color:#b00020;font-size:13px;display:none}
.winner-result{ opacity:.9; }
.bb-hint{ margin-top:8px; padding:8px 10px; border-radius:8px; background:#f6f7fb; font-weight:600; display:inline-block; }
.winner-center { text-align: center; }
.winner-result { margin-left: 8px; }
.winner-spacer { height: 16px; } /* 想更寬鬆就調大 */
/* 讓隱藏或透明的遮罩不吃點擊（解幽靈遮罩） */
.modal-backdrop.fade:not(.show),
.lightbox-mask[aria-hidden="true"],
.viewer-backdrop[aria-hidden="true"],
.viewer-container[aria-hidden="true"],
.viewer-backdrop[style*="opacity: 0"],
.viewer-container[style*="opacity: 0"] {
  pointer-events: none !important;
  display: none !important; 
}

/*自己的表單遮罩要可點 */
.winner-overlay { pointer-events: auto; }
/* 覆蓋到你的中獎表單容器（擇一命中即可） */
#winnerModal,
#kmWinnerModal {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  max-height: var(--dvh, 100dvh); /* 搭配下方JS，可更準確 */
  z-index: 5200;
}

/* 中間內容區：要能捲動 */
#winnerModal .modal-body,
#winnerModal .winner-body,
#kmWinnerModal .kmw-body {
  flex: 1 1 auto;
  min-height: 0;                 /* 關鍵：允許壓縮 */
  overflow-y: auto;              /* 關鍵：能垂直捲動 */
  -webkit-overflow-scrolling: touch; /* iOS 慣性捲動 */
  padding: 16px;
  overscroll-behavior: contain;
}

/* 底部操作區（確認/送出）固定在內層底部，避免跑出畫面 */
#winnerModal .modal-footer,
#winnerModal .winner-footer,
#kmWinnerModal .kmw-footer {
  position: sticky;              /* 比 fixed 更相容 */
  bottom: 0;
  background: #fff;
  padding: 12px 16px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid #eee;
  box-shadow: 0 -6px 12px rgba(0,0,0,.06);
  z-index: 1;
}

/* 橫置時再多留一點高度；數值可微調（header 約48、footer 約64） */
@media (orientation: landscape) {
  #winnerModal .modal-body,
  #winnerModal .winner-body,
  #kmWinnerModal .kmw-body {
    max-height: calc(100dvh - 48px - 64px);
  }
}

/* 背景頁面不捲，但不影響內層（避免整頁被鎖住） */
body.km-modal-open { overflow: hidden; }