
/* =====================================================
   프로그램 다운로드 인증(게이트) 모달
   ===================================================== */
/* 다운로드 버튼을 다른 nav 링크(연락처 등)와 완전히 동일하게 보이도록,
   브라우저 기본 버튼 모양만 지워서 <a class="nav-link">에 맞춥니다. */
.nav-link-reset{
  border:none;
  background:none;
  appearance:none;
  text-align:left;
}

.mobile-nav-link-reset{
  display:block;
  width:100%;
  text-align:left;
  border:none;
  background:none;
  appearance:none;
  color:#fff;
  font-size:20px;
  font-weight:800;
  padding:16px 4px;
}

.dl-gate-overlay{
  position:fixed;
  inset:0;
  background:rgba(11,17,32,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:200;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease;
}
.dl-gate-overlay.open{ opacity:1; visibility:visible; }
.dl-gate-modal{
  background:var(--white);
  border-radius:var(--radius);
  max-width:520px;
  width:100%;
  max-height:90vh;
  overflow-y:auto;
  padding:32px 28px;
  position:relative;
  box-shadow:var(--shadow-lg);
}
.dl-gate-close{
  position:absolute;
  top:16px; right:16px;
  width:36px; height:36px;
  border:none;
  background:var(--gray-100);
  border-radius:50%;
  font-size:20px;
  color:var(--gray-700);
  line-height:1;
}
.dl-gate-close:hover{ background:var(--gray-300); }
.dl-gate-title{
  font-size:clamp(20px,2.4vw,26px);
  font-weight:800;
  color:var(--navy-900);
  margin-bottom:8px;
  padding-right:30px;
}
.dl-gate-desc{
  font-size:14.5px;
  color:var(--gray-700);
  line-height:1.6;
  margin-bottom:22px;
}
.dl-gate-field{ margin-bottom:14px; }
.dl-gate-field label{
  display:block;
  font-size:13.5px;
  font-weight:700;
  color:var(--navy-800);
  margin-bottom:6px;
}
.dl-gate-field input,
.dl-gate-field select{
  width:100%;
  padding:12px 14px;
  border:1.5px solid var(--gray-300);
  border-radius:10px;
  font-size:15px;
  font-family:inherit;
  color:var(--ink);
  background:var(--white);
}
.dl-gate-field input:focus,
.dl-gate-field select:focus{
  outline:none;
  border-color:var(--navy-500);
}
.dl-gate-consent{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background:var(--navy-050);
  border-radius:10px;
  padding:14px;
  margin:18px 0;
}
.dl-gate-consent input{ margin-top:3px; flex:0 0 auto; }
.dl-gate-consent .consent-text{ font-size:13px; color:var(--gray-700); line-height:1.6; }
.dl-gate-consent details{ margin-top:6px; }
.dl-gate-consent summary{ cursor:pointer; font-weight:700; color:var(--navy-600); font-size:12.5px; }
.dl-gate-consent .consent-detail{ margin-top:8px; font-size:12px; color:var(--gray-500); line-height:1.6; white-space:pre-line; }

.dl-gate-error{
  background:#fdecec;
  color:#b3261e;
  border-radius:8px;
  padding:10px 12px;
  font-size:13.5px;
  margin-bottom:14px;
  font-weight:600;
}
.dl-gate-submit{
  width:100%;
  border:none;
  background:var(--orange-500);
  color:#191008;
  font-weight:800;
  font-size:16px;
  padding:14px;
  border-radius:12px;
  margin-top:6px;
}
.dl-gate-submit:hover:not(:disabled){ background:var(--orange-600); color:#fff; }
.dl-gate-submit:disabled{ opacity:.6; cursor:not-allowed; }
.dl-gate-back{
  display:block;
  margin:14px auto 0;
  border:none;
  background:none;
  color:var(--gray-500);
  font-size:13.5px;
  font-weight:700;
  text-decoration:underline;
}
.dl-gate-code-email{ font-weight:800; color:var(--navy-800); }
.dl-gate-done-icon{ font-size:44px; margin-bottom:10px; }
.dl-gate-download-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:16px;
  padding:14px;
  border-radius:12px;
  background:var(--navy-800);
  color:#fff;
  font-weight:800;
  font-size:15px;
}
.dl-gate-download-link:hover{ background:var(--navy-900); }
