/* ============================================================
 * JOYN Form — Template: Editorial (v1.9.41+)
 *
 * 크림 페이퍼 + 세리프 한글 + 잉크 블랙 + 부르고뉴 액센트
 * 발행물·간행물·신학 저널·격식 있는 신청에 어울림
 *
 * 스코프: .jf-wrap.jf-tpl-editorial 이하 전체
 * ============================================================ */

.jf-wrap.jf-tpl-editorial {
  --e-bg:        #F4EFE3;
  --e-bg-2:      #EBE3D2;
  --e-paper:     #FBF7EC;
  --e-ink:       #0F0E0C;
  --e-ink-2:     #3A332B;
  --e-ink-3:     #7A6F61;
  --e-line:      #C8BDA8;
  --e-line-soft: #D8CDB7;
  --e-accent:    #7A1F1A;  /* 잉크 부르고뉴 */
  --e-accent-2:  #B07645;  /* 골드 브라운 */

  background: var(--e-bg);
  color: var(--e-ink);
  position: relative;
  border-radius: clamp(8px, 1.4vw, 16px);
  padding: clamp(36px, 6vw, 80px) clamp(24px, 5vw, 64px);
  overflow: hidden;

  /* 세리프 가족 */
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', 'Cormorant Garamond', 'Pretendard Variable', Pretendard, serif;
}

/* 종이 노이즈 텍스처 */
.jf-wrap.jf-tpl-editorial::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.05 0 0 0 0 0.04 0 0 0 0 0.03 0 0 0 0.22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: 0.55; mix-blend-mode: multiply;
}
.jf-wrap.jf-tpl-editorial > * { position: relative; z-index: 1; }

/* 링크 */
.jf-wrap.jf-tpl-editorial a { color: var(--e-accent); }
.jf-wrap.jf-tpl-editorial a:hover { color: var(--e-accent-2); }

/* ============ Event Side ============ */
.jf-wrap.jf-tpl-editorial .jf-block-hero {
  background: transparent;
  padding: 0;
  border-radius: 0;
  color: var(--e-ink);
}
.jf-wrap.jf-tpl-editorial .jf-hero-deco,
.jf-wrap.jf-tpl-editorial .jf-hero-grid-pattern,
.jf-wrap.jf-tpl-editorial .jf-hero-orb { display: none; }

/* 이슈 라벨 — 좌측 가로선이 있는 매거진 키커 */
.jf-wrap.jf-tpl-editorial .jf-hero-label {
  background: transparent;
  border: none;
  border-radius: 0;
  color: var(--e-accent);
  letter-spacing: 0.3em;
  font-weight: 700;
  font-size: 11px;
  padding: 0 0 0 50px;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  position: relative;
}
.jf-wrap.jf-tpl-editorial .jf-hero-label::before {
  content: "";
  width: 36px; height: 1.5px;
  background: var(--e-accent);
  border-radius: 0;
  box-shadow: none;
  animation: none;
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
}

.jf-wrap.jf-tpl-editorial .jf-hero-title {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  color: var(--e-ink);
  text-shadow: none;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.18;
}
.jf-wrap.jf-tpl-editorial .jf-hero-title em {
  font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
  font-style: italic;
  font-weight: 500;
  background: none;
  -webkit-background-clip: initial; background-clip: initial;
  -webkit-text-fill-color: var(--e-accent);
  color: var(--e-accent);
}
.jf-wrap.jf-tpl-editorial .jf-hero-title em::after { display: none; }

.jf-wrap.jf-tpl-editorial .jf-hero-sub {
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
  color: var(--e-ink-2);
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1.85;
}

/* Chips → 무테 라인 박스 */
.jf-wrap.jf-tpl-editorial .jf-chip {
  background: transparent;
  border: 1px solid var(--e-line);
  color: var(--e-ink);
  box-shadow: none;
  border-radius: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font-family: 'Pretendard Variable', sans-serif;
  font-weight: 600;
}
.jf-wrap.jf-tpl-editorial .jf-chip:hover {
  background: var(--e-paper);
  border-color: var(--e-ink);
  transform: none;
}
.jf-wrap.jf-tpl-editorial .jf-chip i {
  color: var(--e-accent);
  filter: none;
}

/* 통계 — 세리프 큰 숫자 */
.jf-wrap.jf-tpl-editorial .jf-stats-grid { background: transparent; border-top: 1px solid var(--e-ink); border-bottom: 1px solid var(--e-ink); border-radius: 0; gap: 0; }
.jf-wrap.jf-tpl-editorial .jf-stat-item {
  background: transparent;
  border: none;
  border-right: 1px solid var(--e-line);
  border-radius: 0;
  box-shadow: none;
  padding: 22px 18px;
  text-align: left;
}
.jf-wrap.jf-tpl-editorial .jf-stat-item:last-child { border-right: none; }
.jf-wrap.jf-tpl-editorial .jf-stat-item::before { display: none; }
.jf-wrap.jf-tpl-editorial .jf-stat-value {
  font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
  font-weight: 600;
  font-style: italic;
  color: var(--e-ink);
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: var(--e-ink);
}
.jf-wrap.jf-tpl-editorial .jf-stat-value small { color: var(--e-accent); }
.jf-wrap.jf-tpl-editorial .jf-stat-label {
  color: var(--e-ink-3);
  letter-spacing: 0.18em;
  font-family: 'Pretendard Variable', sans-serif;
  font-size: 11px;
  font-weight: 700;
}

/* Benefits */
.jf-wrap.jf-tpl-editorial .jf-benefit-card {
  background: var(--e-paper);
  border: 1px solid var(--e-line);
  border-radius: 0;
  color: var(--e-ink);
  font-family: 'Pretendard Variable', sans-serif;
}
.jf-wrap.jf-tpl-editorial .jf-benefit-card:hover { border-color: var(--e-ink); }

/* Block 헤딩 */
.jf-wrap.jf-tpl-editorial .jf-block-eyebrow {
  color: var(--e-accent);
  letter-spacing: 0.24em;
  font-family: 'Pretendard Variable', sans-serif;
}
.jf-wrap.jf-tpl-editorial .jf-block-eyebrow::before { background: var(--e-accent); }
.jf-wrap.jf-tpl-editorial .jf-block-title {
  font-family: 'Noto Serif KR', serif;
  color: var(--e-ink);
}
.jf-wrap.jf-tpl-editorial .jf-block-sub {
  font-family: 'Pretendard Variable', sans-serif;
  color: var(--e-ink-2);
}

/* ============ Form Card (Paper) ============ */
.jf-wrap.jf-tpl-editorial .jf-form-card {
  background: var(--e-paper);
  border: 1px solid var(--e-line);
  border-radius: 0;
  padding: clamp(28px, 4vw, 44px);
  box-shadow: none;
  position: relative;
  font-family: 'Pretendard Variable', Pretendard, sans-serif;
}
.jf-wrap.jf-tpl-editorial .jf-form-card::before {
  content: ""; position: absolute;
  top: 14px; left: 14px; right: 14px; bottom: 14px;
  border: 1px solid var(--e-line-soft);
  pointer-events: none;
}
.jf-wrap.jf-tpl-editorial .jf-form-card > * { position: relative; z-index: 1; }

.jf-wrap.jf-tpl-editorial .jf-form-eyebrow {
  background: transparent;
  color: var(--e-accent);
  letter-spacing: 0.32em;
  font-weight: 700;
  padding: 0;
  border-bottom: 1px solid var(--e-accent);
  border-radius: 0;
  display: inline-block;
  margin-bottom: 12px;
  padding-bottom: 4px;
}
.jf-wrap.jf-tpl-editorial .jf-form-eyebrow::before { display: none; }
.jf-wrap.jf-tpl-editorial .jf-form-title {
  font-family: 'Noto Serif KR', serif;
  color: var(--e-ink);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.jf-wrap.jf-tpl-editorial .jf-form-desc {
  color: var(--e-ink-3);
  border-bottom-color: var(--e-line);
}

/* 섹션 헤딩 */
.jf-wrap.jf-tpl-editorial .jf-field-heading {
  border-top: 1px solid var(--e-line);
}
.jf-wrap.jf-tpl-editorial .jf-field-heading h3 {
  font-family: 'Noto Serif KR', serif;
  color: var(--e-ink);
}
.jf-wrap.jf-tpl-editorial .jf-field-heading h3::before {
  background: var(--e-accent);
}

/* 라벨 */
.jf-wrap.jf-tpl-editorial .jf-field-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--e-ink-2);
  text-transform: uppercase;
}
.jf-wrap.jf-tpl-editorial .jf-field-required,
.jf-wrap.jf-tpl-editorial .jf-asterisk {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  color: var(--e-accent);
  letter-spacing: 0;
}

/* 입력 — 언더라인만 */
.jf-wrap.jf-tpl-editorial .jf-field input[type="text"],
.jf-wrap.jf-tpl-editorial .jf-field input[type="email"],
.jf-wrap.jf-tpl-editorial .jf-field input[type="tel"],
.jf-wrap.jf-tpl-editorial .jf-field input[type="phone"],
.jf-wrap.jf-tpl-editorial .jf-field input[type="url"],
.jf-wrap.jf-tpl-editorial .jf-field input[type="number"],
.jf-wrap.jf-tpl-editorial .jf-field input[type="date"],
.jf-wrap.jf-tpl-editorial .jf-field input[type="time"],
.jf-wrap.jf-tpl-editorial .jf-field textarea,
.jf-wrap.jf-tpl-editorial .jf-field select {
  background: transparent;
  border: none;
  border-bottom: 1.2px solid var(--e-ink-2);
  border-radius: 0;
  padding: 10px 4px;
  color: var(--e-ink);
  font-family: 'Pretendard Variable', sans-serif;
}
.jf-wrap.jf-tpl-editorial .jf-field input:focus,
.jf-wrap.jf-tpl-editorial .jf-field textarea:focus,
.jf-wrap.jf-tpl-editorial .jf-field select:focus {
  border-bottom-color: var(--e-accent);
  background: transparent;
  box-shadow: none;
}
.jf-wrap.jf-tpl-editorial .jf-field input::placeholder,
.jf-wrap.jf-tpl-editorial .jf-field textarea::placeholder {
  color: var(--e-ink-3);
}
.jf-wrap.jf-tpl-editorial .jf-field select {
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%230F0E0C' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  padding-right: 24px;
}

/* 라디오 / 체크박스 — 사각 박스 */
.jf-wrap.jf-tpl-editorial .jf-radio,
.jf-wrap.jf-tpl-editorial .jf-checkbox {
  background: transparent;
  border: none;
  border-radius: 0;
  color: var(--e-ink);
  padding: 6px 0;
  min-height: auto;
}
.jf-wrap.jf-tpl-editorial .jf-radio:hover,
.jf-wrap.jf-tpl-editorial .jf-checkbox:hover {
  background: transparent;
  border-color: transparent;
}
.jf-wrap.jf-tpl-editorial .jf-radio:has(input:checked),
.jf-wrap.jf-tpl-editorial .jf-checkbox:has(input:checked) {
  background: transparent;
  border-color: transparent;
  color: var(--e-accent);
  font-weight: 600;
}
.jf-wrap.jf-tpl-editorial .jf-radio input[type="radio"],
.jf-wrap.jf-tpl-editorial .jf-checkbox input[type="checkbox"] {
  accent-color: var(--e-ink);
}

/* Consent — 점선 박스 */
.jf-wrap.jf-tpl-editorial .jf-consent {
  background: transparent;
  border: 1px dashed var(--e-line);
  border-radius: 0;
  color: var(--e-ink-3);
}
.jf-wrap.jf-tpl-editorial .jf-consent:has(input:checked) {
  background: rgba(122,31,26,0.04);
  border-color: var(--e-accent);
  border-style: solid;
}
.jf-wrap.jf-tpl-editorial .jf-consent span { color: var(--e-ink-2); }
.jf-wrap.jf-tpl-editorial .jf-consent input { accent-color: var(--e-accent); }

/* 도움말 */
.jf-wrap.jf-tpl-editorial .jf-field-help { color: var(--e-ink-3); font-family: 'Pretendard Variable', sans-serif; }

/* 제출 버튼 — 잉크 블랙, 이탤릭 세리프 */
.jf-wrap.jf-tpl-editorial .jf-submit-btn {
  background: var(--e-ink) !important;
  color: var(--e-paper) !important;
  border-radius: 0;
  font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(16px, 2vw, 18px);
  letter-spacing: 0.06em;
  box-shadow: none;
  border: none;
}
.jf-wrap.jf-tpl-editorial .jf-submit-btn::before { display: none; }
.jf-wrap.jf-tpl-editorial .jf-submit-btn:hover:not(:disabled) {
  background: var(--e-accent) !important;
  color: var(--e-paper) !important;
  letter-spacing: 0.08em;
  transform: none;
}

/* 메시지 */
.jf-wrap.jf-tpl-editorial .jf-form-msg.success {
  background: rgba(176,118,69,0.10);
  color: var(--e-accent);
  border: 1px solid var(--e-accent);
}
.jf-wrap.jf-tpl-editorial .jf-form-msg.error {
  background: rgba(122,31,26,0.10);
  color: var(--e-accent);
  border: 1px solid var(--e-accent);
}

/* 테이블 행 */
.jf-wrap.jf-tpl-editorial .jf-table-rows {
  background: var(--e-paper);
  border: 1px solid var(--e-line);
  border-radius: 0;
}
.jf-wrap.jf-tpl-editorial .jf-table-head {
  background: var(--e-bg-2);
  color: var(--e-ink-2);
  font-family: 'Pretendard Variable', sans-serif;
  letter-spacing: 0.12em;
}
.jf-wrap.jf-tpl-editorial .jf-table-row { border-color: var(--e-line); }
.jf-wrap.jf-tpl-editorial .jf-table-add {
  background: transparent;
  color: var(--e-ink);
  border: 1px solid var(--e-ink);
  border-radius: 0;
}
.jf-wrap.jf-tpl-editorial .jf-table-add:hover { background: var(--e-ink); color: var(--e-paper); }

/* 멀티스텝 */
.jf-wrap.jf-tpl-editorial .jf-step-dot {
  background: transparent;
  border: 1px solid var(--e-line);
  color: var(--e-ink-3);
  border-radius: 0;
}
.jf-wrap.jf-tpl-editorial .jf-step-dot span { background: var(--e-bg-2); color: var(--e-ink-2); border-radius: 0; }
.jf-wrap.jf-tpl-editorial .jf-step-dot.is-active {
  background: var(--e-paper); border-color: var(--e-accent); color: var(--e-accent);
}
.jf-wrap.jf-tpl-editorial .jf-step-dot.is-active span,
.jf-wrap.jf-tpl-editorial .jf-step-dot.is-done span {
  background: var(--e-accent); color: var(--e-paper);
}
.jf-wrap.jf-tpl-editorial .jf-step-btn {
  background: transparent; border: 1px solid var(--e-ink); color: var(--e-ink); border-radius: 0;
}
.jf-wrap.jf-tpl-editorial .jf-step-next {
  background: var(--e-ink); color: var(--e-paper); border-color: var(--e-ink);
}

/* poster / notice 블록 */
.jf-wrap.jf-tpl-editorial .jf-block-poster .jf-poster-caption {
  color: var(--e-ink-3);
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
}
.jf-wrap.jf-tpl-editorial .jf-block-notice {
  background: var(--e-paper); border: 1px solid var(--e-line); color: var(--e-ink-2); border-radius: 0;
}

/* 본문 색 (일반 p, li 등) */
.jf-wrap.jf-tpl-editorial p,
.jf-wrap.jf-tpl-editorial li { color: var(--e-ink-2); }
