/* OfficeWorknet Content Template - template-content.php 선택 시에만 로드 */
.ow-content-template {
  background: var(--bg, #fff);
  color: var(--text, #1a1a1a);
  font-family: 'Noto Sans KR', sans-serif;
  min-height: calc(100vh - var(--ow-header-height, 64px));
  padding: 72px 24px;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.ow-content-template .ow-content-article,
.ow-content-template .ow-content-body { max-width: 860px; margin: 0 auto; }
.ow-content-template .ow-content-body { font-size: 16px; line-height: 1.85; }
.ow-content-template h1,
.ow-content-template h2,
.ow-content-template h3,
.ow-content-template h4,
.ow-content-template h5,
.ow-content-template h6 { color: var(--text, #1a1a1a); letter-spacing: -0.02em; line-height: 1.45; }
.ow-content-template h1 { font-size: 38px; line-height: 1.35; letter-spacing: -1.2px; font-weight: 800; margin: 0 0 36px; padding-bottom: 18px; border-bottom: 2px solid var(--orange, #FF6B00); }
.ow-content-template h2 { font-size: 26px; font-weight: 800; margin: 56px 0 18px; }
.ow-content-template h3 { font-size: 22px; font-weight: 800; margin: 42px 0 14px; }
.ow-content-template h4 { font-size: 19px; font-weight: 700; margin: 34px 0 12px; }
.ow-content-template h5 { color: var(--orange-dark, #CC5500); font-size: 17px; font-weight: 700; margin: 28px 0 10px; }
.ow-content-template h6 { color: var(--text-sub, #666); font-size: 14px; font-weight: 800; letter-spacing: 0.02em; margin: 24px 0 8px; }
.ow-content-template p { color: var(--text, #1a1a1a); margin: 0 0 18px; }
.ow-content-template a { color: var(--orange-dark, #CC5500); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color 160ms ease, text-decoration-color 160ms ease, background 160ms ease, border-color 160ms ease; }
.ow-content-template a:hover { color: var(--orange, #FF6B00); }
.ow-content-template ul,
.ow-content-template ol { margin: 0 0 22px 1.35em; padding: 0; }
.ow-content-template li { margin: 7px 0; padding-left: 2px; }
.ow-content-template li::marker { color: var(--orange, #FF6B00); font-weight: 700; }
.ow-content-template section { margin: 0 0 42px; }
.ow-content-template blockquote { margin: 32px 0; padding: 20px 24px; border-left: 4px solid var(--orange, #FF6B00); background: var(--orange-bg, #FFF8F4); border-radius: 0 14px 14px 0; color: var(--text-sub, #666); }
.ow-content-template hr { border: 0; border-top: 1px solid var(--border, rgba(0,0,0,0.1)); margin: 44px 0; }
.ow-content-template table { width: 100%; border-collapse: collapse; margin: 26px 0 34px; font-size: 14px; line-height: 1.65; overflow: hidden; border-radius: 14px; box-shadow: 0 0 0 1px var(--border, rgba(0,0,0,0.1)); }
.ow-content-template thead { background: var(--orange, #FF6B00); color: #fff; }
.ow-content-template th,
.ow-content-template td { padding: 13px 14px; border-bottom: 1px solid var(--border, rgba(0,0,0,0.1)); vertical-align: top; }
.ow-content-template th { font-weight: 700; text-align: left; }
.ow-content-template tbody tr:nth-child(even) { background: var(--bg2, #f7f7f5); }
.ow-content-template img { max-width: 100%; height: auto; border-radius: 16px; }
.ow-content-template code { background: var(--orange-bg, #FFF8F4); color: var(--orange-dark, #CC5500); border-radius: 6px; padding: 2px 6px; font-size: 0.92em; }
.ow-content-template pre { background: #1a1a1a; color: #fff; border-radius: 16px; padding: 20px; overflow-x: auto; margin: 28px 0; }

/* 정책 페이지 상단 탭: 본문 템플릿 안에서만 적용 */
.ow-content-template .ow-policy-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 34px; padding: 14px; background: var(--orange-bg, #FFF8F4); border: 1px solid rgba(255,107,0,0.18); border-radius: 18px; }
.ow-content-template .ow-policy-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border-radius: 999px; background: #fff; border: 1px solid rgba(255,107,0,0.22); color: var(--orange-dark, #CC5500); font-size: 14px; font-weight: 700; line-height: 1.4; text-decoration: none; transition: background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.ow-content-template .ow-policy-tabs a:hover { color: var(--orange, #FF6B00); border-color: rgba(255,107,0,0.55); background: var(--orange-light, #FFF0E6); transform: translateY(-1px); }
.ow-content-template .ow-policy-tabs a.active,
.ow-content-template .ow-policy-tabs a[aria-current="page"] { color: var(--orange-dark, #CC5500); background: #fff; border-color: var(--orange, #FF6B00); box-shadow: 0 4px 14px rgba(255,107,0,0.14); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }

@media (max-width: 680px) {
  .ow-content-template { padding: 48px 20px; }
  .ow-content-template .ow-content-body { font-size: 15px; line-height: 1.8; }
  .ow-content-template h1 { font-size: 30px; margin-bottom: 28px; }
  .ow-content-template h2 { font-size: 23px; margin-top: 44px; }
  .ow-content-template h3 { font-size: 20px; }
  .ow-content-template table { display: block; overflow-x: auto; white-space: nowrap; }
  .ow-content-template .ow-policy-tabs { gap: 8px; padding: 12px; margin-bottom: 28px; }
  .ow-content-template .ow-policy-tabs a { flex: 1 1 calc(50% - 8px); min-height: 40px; padding: 0 12px; font-size: 13px; }
}
