@charset "utf-8";
/* ==========================================================================
   Mega Sign — 모달 공통 셸
   오버레이 · 헤더 · 바디 · 푸터 버튼 (1:1 문의 · 상품 등록 등에서 재사용)
   ※ 내용부 스타일은 각 화면 CSS 에서 정의합니다.
   ========================================================================== */

.modal-overlay{position:fixed;inset:0;background:rgba(23,27,46,.45);display:none;align-items:center;justify-content:center;padding:32px;z-index:210}
.modal-overlay.open{display:flex}
.modal{background:var(--white);border-radius:16px;width:100%;max-width:640px;max-height:calc(100vh - 64px);display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(23,27,46,.28);overflow:hidden}
.modal-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.modal-head h3{margin:0;font-size:17px;font-weight:800;letter-spacing:-0.01em;color:var(--ink-900)}
.modal-close{background:transparent;border:0;width:32px;height:32px;border-radius:8px;color:var(--gray-500);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}
.modal-close:hover{background:var(--surface);color:var(--ink-900)}
.modal-body{padding:22px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}
.modal-foot{padding:14px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}

.btn-cancel{padding:10px 18px;border-radius:8px;background:var(--white);border:1px solid var(--line);color:var(--ink-700);font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .15s ease}
.btn-cancel:hover{border-color:var(--gray-300);background:var(--surface)}
.btn-primary{padding:10px 22px;border-radius:8px;background:var(--primary-600);color:#fff;border:0;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 3px 8px rgba(109,120,219,.28);transition:background .15s ease}
.btn-primary:hover{background:var(--primary-700)}

/* ── 반응형 (모바일 풀스크린) ── */
@media (max-width:768px){
  .modal-overlay{padding:0}
  .modal{max-width:none;height:100vh;max-height:100vh;border-radius:0}
  .modal-head{padding:14px 16px}
  .modal-head h3{font-size:16px}
  .modal-body{padding:16px;gap:16px}
  .modal-foot{padding:12px 16px 16px}
  .btn-cancel,.btn-primary{font-size:14px;padding:12px 16px}
}
