/* 엘템 나이스페이 결제 - 프론트엔드 */
.enp-wrap { max-width: 760px; margin: 0 auto; padding: 10px 0 40px; font-size: 15px; line-height: 1.6; color: #222; }
.enp-card { background: #fff; border: 1px solid #e3e5e8; border-radius: 10px; padding: 32px 36px; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.enp-title { font-size: 24px; font-weight: 700; margin: 0 0 12px; color: #1d3557; }
.enp-desc { color: #555; margin: 0 0 22px; }
.enp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.enp-fieldset { border: 1px solid #e6e8eb; border-radius: 8px; padding: 18px 20px 6px; margin: 0 0 20px; }
.enp-fieldset legend { font-weight: 700; color: #1d3557; padding: 0 8px; font-size: 15px; }
.enp-row { margin-bottom: 14px; }
.enp-row label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; color: #333; }
.enp-row input[type=text], .enp-row input[type=tel], .enp-row input[type=email], .enp-row input[type=number], .enp-row select, .enp-row textarea {
	width: 100%; box-sizing: border-box; border: 1px solid #cfd4da; border-radius: 6px; padding: 10px 12px; font-size: 15px; background: #fff; color: #222; }
.enp-row input:focus, .enp-row select:focus, .enp-row textarea:focus { outline: none; border-color: #1d3557; box-shadow: 0 0 0 3px rgba(29,53,87,.12); }
.enp-row input[readonly] { background: #f5f6f8; }
.enp-row-inline { display: flex; gap: 14px; }
.enp-row-inline > div { flex: 1; min-width: 0; }
.enp-amount { font-size: 20px; font-weight: 700; color: #e63946; padding: 8px 0; }
.enp-req { color: #e63946; }
.enp-radios label { display: inline-block; margin-right: 18px; font-weight: 500; }
.enp-radios input { margin-right: 4px; }
.enp-agree label { font-weight: 500; }
.enp-small { font-size: 13px; color: #666; margin: 8px 0 0; }
.enp-error { color: #c0392b; }

.enp-actions { text-align: center; margin: 24px 0 8px; }
.enp-btn { display: inline-block; background: #e9ecef; color: #222; text-decoration: none !important; padding: 10px 22px; border-radius: 6px; font-size: 15px; font-weight: 600; border: 0; cursor: pointer; line-height: 1.4; }
.enp-btn-primary { background: #e63946; color: #fff !important; }
.enp-btn-primary:hover { background: #c92f3b; color: #fff; }
.enp-btn-lg { font-size: 18px; padding: 14px 40px; }
.enp-btn:disabled { opacity: .55; cursor: not-allowed; }

.enp-notice { padding: 12px 14px; border-radius: 6px; margin: 0 0 16px; font-size: 14px; }
.enp-notice-error { background: #fdecea; color: #b3261e; border: 1px solid #f5c6c2; }
.enp-notice-warn { background: #fff8e1; color: #7a5b00; border: 1px solid #f1e3a0; }
.enp-notice-ok { background: #e8f5e9; color: #1b5e20; border: 1px solid #c8e6c9; }

.enp-table { width: 100%; border-collapse: collapse; margin: 10px 0 20px; font-size: 15px; }
.enp-table th, .enp-table td { border: 1px solid #e6e8eb; padding: 10px 12px; text-align: left; vertical-align: top; }
.enp-table th { width: 120px; background: #f7f8fa; font-weight: 600; color: #333; }
.enp-table .enp-total td { color: #e63946; font-size: 17px; }
.enp-link { color: #1d3557; text-decoration: underline; }

.enp-result { text-align: center; padding: 10px 0 20px; }
.enp-result-icon { width: 64px; height: 64px; line-height: 64px; border-radius: 50%; margin: 0 auto 12px; font-size: 30px; color: #fff; }
.enp-result-ok .enp-result-icon { background: #2a9d8f; }
.enp-result-fail .enp-result-icon { background: #e63946; }
.enp-result-fail .enp-title { color: #e63946; }
.enp-vbank { font-size: 18px; font-weight: 700; color: #1d3557; }
.enp-company { margin-top: 24px; padding-top: 14px; border-top: 1px dashed #dde1e6; font-size: 12px; color: #777; line-height: 1.7; }

@media (max-width: 600px) {
	.enp-card { padding: 20px 16px; }
	.enp-row-inline { flex-direction: column; gap: 0; }
	.enp-table th { width: 90px; }
	.enp-btn-lg { width: 100%; }
}
