/* 初期は非表示・画面外：CLS回避 */
#exit-popup.ep-hidden { position: fixed; inset: 0; visibility: hidden; opacity: 0; }

/* 表示時 */
#exit-popup.ep-open { position: fixed; inset: 0; display: block; visibility: visible; opacity: 1; z-index: 99999; }

#exit-popup .ep-backdrop {
  position: absolute; inset: 0; background: rgba(0,0,0,.4);
}

#exit-popup .ep-dialog {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 520px);
  background: #fff; color:#1A2B5C;
  border: 2px solid #1A2B5C; border-radius: 10px;
  padding: 24px 20px; box-shadow: 0 8px 24px rgba(0,0,0,.15);
}

#exit-popup h2 { font-size: 1.3rem; margin: 0 0 .5em; }
#exit-popup p  { line-height: 1.7; margin: 0 0 1em; }

.ep-close {
  position: absolute; top: 8px; right: 10px;
  background: transparent; border: 0; font-size: 1.5rem; cursor: pointer;
}

.ep-cta { display: grid; gap: 12px; margin-top: 10px; }
.ep-btn {
  display: inline-block; text-align: center; font-weight: 700;
  text-decoration: none; padding: 12px 16px; border-radius: 6px;
}
.ep-btn--primary { background: #ff9000; color: #fff; }
.ep-btn--primary:hover { filter: brightness(.95); }

.ep-note { font-size: .85rem; color:#555; margin-top: 8px; }

/* SP最適化（既存のモバイル最適化方針に準拠） */
@media (max-width: 768px) {
  #exit-popup .ep-dialog { width: min(94vw, 520px); padding: 18px 16px; }
  #exit-popup h2 { font-size: 1.1rem; }
}
