:root{
  --orange:#f36b21;
  --ink:#1f2023;
  --muted:#6f7478;
  --line:#e5e8e7;
  --soft:#f7f9f8;
  --navy:#17324b;
}

*{box-sizing:border-box}

body.legal-page{
  margin:0;
  font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;
  color:var(--ink);
  background:#f7f8f8;
}

.legal-top{
  background:#fff;
  border-bottom:1px solid #eee;
}

.legal-top .shell,
.legal-shell{
  width:min(1100px,calc(100% - 32px));
  margin:auto;
}

.legal-top .shell{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.legal-brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:var(--ink);
  font-weight:900;
}

.legal-brand img{
  width:145px;
  max-height:46px;
  object-fit:contain;
}

.legal-home-link{
  text-decoration:none;
  color:#555;
  font-weight:700;
  font-size:14px;
}

.legal-hero{
  background:#fff8f3;
  border-bottom:1px solid #f0ece9;
}

.legal-hero .legal-shell{
  padding:52px 0 44px;
}

.legal-eyebrow{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:#fff0e7;
  color:var(--orange);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}

.legal-hero h1{
  margin:14px 0 10px;
  font-size:36px;
  letter-spacing:-.04em;
}

.legal-hero p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}

.legal-main{
  padding:42px 0 70px;
}

.legal-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:34px;
  box-shadow:0 12px 35px rgba(20,30,26,.04);
}

.legal-tabs{
  display:flex;
  gap:10px;
  margin-bottom:24px;
}

.legal-tab{
  border:1px solid #ddd;
  background:#fff;
  border-radius:10px;
  padding:11px 18px;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
}

.legal-tab.active{
  border-color:var(--orange);
  background:#fff3eb;
  color:#d95712;
}

.legal-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  padding-bottom:18px;
  margin-bottom:24px;
  border-bottom:1px solid #eee;
  color:#777;
  font-size:14px;
}

.legal-meta b{
  color:#333;
}

.legal-content{
  font-size:16px;
  line-height:1.85;
  color:#333;
  word-break:keep-all;
}

.legal-content p{
  margin:.65em 0;
}

.legal-content h2,
.legal-content h3,
.legal-content h4{
  margin:1.4em 0 .55em;
  line-height:1.45;
}

.legal-loading,
.legal-error{
  padding:28px;
  text-align:center;
  color:#777;
}

.legal-error{
  color:#a43b30;
}

.legal-footer{
  background:var(--navy);
  color:#d8e3eb;
  padding:30px 0;
}

.legal-footer p{
  margin:0;
  font-size:13px;
  line-height:1.7;
}

@media(max-width:700px){
  .legal-top .shell{
    min-height:68px;
  }

  .legal-brand img{
    width:125px;
  }

  .legal-hero .legal-shell{
    padding:38px 0 32px;
  }

  .legal-hero h1{
    font-size:30px;
  }

  .legal-card{
    padding:22px;
    border-radius:16px;
  }

  .legal-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .legal-tab{
    width:100%;
  }

  .legal-content{
    font-size:16px;
    line-height:1.9;
  }
}


/* =========================================================
   개인정보처리방침 - 공식 문서형 Orange Style
   관리자 원문은 건드리지 않고 공개화면에서만 표현
   ========================================================= */

body[data-legal-page="privacy"] .legal-card{
  max-width:980px;
  margin:0 auto;
  padding:42px 46px;
}

/* 본문 기본 */
body[data-legal-page="privacy"] .legal-content{
  color:#333;
  font-size:16px;
  line-height:1.9;
}

body[data-legal-page="privacy"] .legal-content p{
  margin:10px 0 16px;
}

/* 문서 안에 중복된 최상단 제목이 있을 경우 */
body[data-legal-page="privacy"] .legal-content > h2:first-child{
  margin:0 0 8px;
  padding:20px 22px;
  border-radius:14px;
  background:#fff6ef;
  border:1px solid #ffd8bf;
  color:#252525;
  font-size:25px;
  letter-spacing:-.04em;
}

/* 각 조항 제목 */
body[data-legal-page="privacy"] .legal-content h3{
  position:relative;
  margin:38px 0 16px;
  padding:14px 18px 14px 56px;
  min-height:48px;
  display:flex;
  align-items:center;
  background:#fff8f3;
  border:1px solid #f6dfd0;
  border-radius:12px;
  color:#222;
  font-size:20px;
  line-height:1.45;
  letter-spacing:-.035em;
  counter-increment:privacy-section;
}

body[data-legal-page="privacy"] .legal-content{
  counter-reset:privacy-section;
}

body[data-legal-page="privacy"] .legal-content h3::before{
  content:counter(privacy-section, decimal-leading-zero);
  position:absolute;
  left:16px;
  top:50%;
  width:28px;
  height:28px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f36b21;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

/* 세부 소제목 */
body[data-legal-page="privacy"] .legal-content h4{
  margin:22px 0 8px;
  color:#d95c18;
  font-size:16px;
  font-weight:900;
}

/* 목록 */
body[data-legal-page="privacy"] .legal-content ul,
body[data-legal-page="privacy"] .legal-content ol{
  margin:12px 0 20px;
  padding:18px 22px 18px 42px;
  background:#fafafa;
  border:1px solid #ece8e5;
  border-radius:12px;
}

body[data-legal-page="privacy"] .legal-content li{
  margin:6px 0;
  line-height:1.75;
}

/* 중요문구 */
body[data-legal-page="privacy"] .legal-content strong{
  color:#c94f10;
}

/* 표 */
body[data-legal-page="privacy"] .legal-content table{
  width:100%;
  margin:16px 0 22px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #eadfd8;
  border-radius:12px;
  background:#fff;
}

body[data-legal-page="privacy"] .legal-content th,
body[data-legal-page="privacy"] .legal-content td{
  padding:13px 16px;
  border-bottom:1px solid #eee;
  text-align:left;
  vertical-align:top;
}

body[data-legal-page="privacy"] .legal-content th{
  width:190px;
  background:#fff4ec;
  color:#9a4619;
  font-weight:900;
}

body[data-legal-page="privacy"] .legal-content tr:last-child th,
body[data-legal-page="privacy"] .legal-content tr:last-child td{
  border-bottom:0;
}

/* 구분선 */
body[data-legal-page="privacy"] .legal-content hr{
  border:0;
  border-top:1px solid #eadfd8;
  margin:36px 0;
}

/* 메타정보 */
body[data-legal-page="privacy"] .legal-meta{
  padding:0 0 20px;
  margin-bottom:26px;
  border-bottom:1px solid #eee;
}

body[data-legal-page="privacy"] .legal-meta span{
  padding:7px 10px;
  border-radius:8px;
  background:#fff7f1;
  color:#8c5a3d;
}

/* 모바일 */
@media(max-width:700px){

  body[data-legal-page="privacy"] .legal-card{
    padding:24px 20px;
  }

  body[data-legal-page="privacy"] .legal-content{
    font-size:16px;
    line-height:1.9;
  }

  body[data-legal-page="privacy"] .legal-content h3{
    margin-top:30px;
    padding:13px 14px 13px 52px;
    font-size:18px;
  }

  body[data-legal-page="privacy"] .legal-content h3::before{
    left:14px;
  }

  body[data-legal-page="privacy"] .legal-content ul,
  body[data-legal-page="privacy"] .legal-content ol{
    padding:16px 16px 16px 34px;
  }

  body[data-legal-page="privacy"] .legal-content table{
    display:block;
    overflow-x:auto;
  }

  body[data-legal-page="privacy"] .legal-content th{
    min-width:145px;
  }
}



/* =========================================================
   이용약관 - 공식 문서형 Orange Style
   개인회원 / 기업회원 공통
   ========================================================= */

body[data-legal-page="terms"] .legal-card{
  max-width:980px;
  margin:0 auto;
  padding:42px 46px;
}

body[data-legal-page="terms"] .legal-content{
  color:#333;
  font-size:16px;
  line-height:1.9;
  counter-reset:terms-section;
}

body[data-legal-page="terms"] .legal-content p{
  margin:10px 0 16px;
}

/* 관리자 원문 내부의 문서 제목 */
body[data-legal-page="terms"] .legal-content > h2:first-child{
  margin:0 0 18px;
  padding:20px 22px;
  border-radius:14px;
  background:#fff6ef;
  border:1px solid #ffd8bf;
  color:#222;
  font-size:25px;
  letter-spacing:-.04em;
}

/* 각 조항 */
body[data-legal-page="terms"] .legal-content h3{
  position:relative;
  margin:38px 0 16px;
  padding:14px 18px 14px 56px;
  min-height:48px;
  display:flex;
  align-items:center;
  background:#fff8f3;
  border:1px solid #f6dfd0;
  border-radius:12px;
  color:#222;
  font-size:20px;
  line-height:1.45;
  letter-spacing:-.035em;
  counter-increment:terms-section;
}

body[data-legal-page="terms"] .legal-content h3::before{
  content:counter(terms-section, decimal-leading-zero);
  position:absolute;
  left:16px;
  top:50%;
  width:28px;
  height:28px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f36b21;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

/* 목록 */
body[data-legal-page="terms"] .legal-content ul,
body[data-legal-page="terms"] .legal-content ol{
  margin:12px 0 20px;
  padding:18px 22px 18px 42px;
  background:#fafafa;
  border:1px solid #ece8e5;
  border-radius:12px;
}

body[data-legal-page="terms"] .legal-content li{
  margin:7px 0;
  line-height:1.75;
}

body[data-legal-page="terms"] .legal-content strong{
  color:#c94f10;
}

/* 서비스 운영자 정보 */
body[data-legal-page="terms"] .legal-content table{
  width:100%;
  margin:16px 0 22px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #eadfd8;
  border-radius:12px;
  background:#fff;
}

body[data-legal-page="terms"] .legal-content th,
body[data-legal-page="terms"] .legal-content td{
  padding:13px 16px;
  border-bottom:1px solid #eee;
  text-align:left;
  vertical-align:top;
}

body[data-legal-page="terms"] .legal-content th{
  width:190px;
  background:#fff4ec;
  color:#9a4619;
  font-weight:900;
}

body[data-legal-page="terms"] .legal-content tr:last-child th,
body[data-legal-page="terms"] .legal-content tr:last-child td{
  border-bottom:0;
}

body[data-legal-page="terms"] .legal-content hr{
  border:0;
  border-top:1px solid #eadfd8;
  margin:36px 0;
}

/* 개인회원 / 기업회원 탭 */
body[data-legal-page="terms"] .legal-tabs{
  margin-bottom:18px;
}

body[data-legal-page="terms"] .legal-tab{
  min-width:110px;
  padding:12px 20px;
  font-size:15px;
}

body[data-legal-page="terms"] .legal-tab.active{
  background:#f36b21;
  border-color:#f36b21;
  color:#fff;
}

/* 버전 / 시행일 */
body[data-legal-page="terms"] .legal-meta span{
  padding:7px 10px;
  border-radius:8px;
  background:#fff7f1;
  color:#8c5a3d;
}


/* 모바일 */
@media(max-width:700px){

  body[data-legal-page="terms"] .legal-card{
    padding:24px 20px;
  }

  body[data-legal-page="terms"] .legal-content{
    font-size:16px;
    line-height:1.9;
  }

  body[data-legal-page="terms"] .legal-content h3{
    margin-top:30px;
    padding:13px 14px 13px 52px;
    font-size:18px;
  }

  body[data-legal-page="terms"] .legal-content h3::before{
    left:14px;
  }

  body[data-legal-page="terms"] .legal-content ul,
  body[data-legal-page="terms"] .legal-content ol{
    padding:16px 16px 16px 34px;
  }

  body[data-legal-page="terms"] .legal-content table{
    display:block;
    overflow-x:auto;
  }

  body[data-legal-page="terms"] .legal-content th{
    min-width:145px;
  }
}



/* =========================================================
   이용약관 공개화면 통일 스타일
   개인회원 + 기업회원 공통
   ========================================================= */

body[data-legal-page="terms"] .legal-card{
  max-width:980px;
  margin:0 auto;
  padding:42px 46px;
}

body[data-legal-page="terms"] .legal-content{
  color:#333;
  font-size:16px;
  line-height:1.9;
}

/* 본문 첫 제목 */
body[data-legal-page="terms"] .legal-content > h2:first-child{
  margin:0 0 20px;
  padding:20px 22px;
  border:1px solid #ffd8bf;
  border-radius:14px;
  background:#fff6ef;
  color:#222;
  font-size:25px;
  letter-spacing:-.04em;
}

/* 조항 제목 */
body[data-legal-page="terms"] .legal-content h3{
  margin:34px 0 14px;
  padding:13px 18px;
  border-left:4px solid #f36b21;
  border-radius:8px;
  background:#fff8f3;
  color:#222;
  font-size:19px;
  line-height:1.5;
  letter-spacing:-.03em;
}

/* 본문 */
body[data-legal-page="terms"] .legal-content p{
  margin:10px 0 15px;
}

/* 목록 */
body[data-legal-page="terms"] .legal-content ul,
body[data-legal-page="terms"] .legal-content ol{
  margin:12px 0 20px;
  padding:18px 24px 18px 42px;
  border:1px solid #ece8e5;
  border-radius:12px;
  background:#fafafa;
}

body[data-legal-page="terms"] .legal-content li{
  margin:7px 0;
  line-height:1.75;
}

body[data-legal-page="terms"] .legal-content strong{
  color:#c94f10;
}

/* 운영자 정보 표 */
body[data-legal-page="terms"] .legal-content table{
  width:100%;
  margin:16px 0 22px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #eadfd8;
  border-radius:12px;
  background:#fff;
}

body[data-legal-page="terms"] .legal-content th,
body[data-legal-page="terms"] .legal-content td{
  padding:13px 16px;
  border-bottom:1px solid #eee;
  text-align:left;
  vertical-align:top;
}

body[data-legal-page="terms"] .legal-content th{
  width:190px;
  background:#fff4ec;
  color:#9a4619;
  font-weight:900;
}

body[data-legal-page="terms"] .legal-content tr:last-child th,
body[data-legal-page="terms"] .legal-content tr:last-child td{
  border-bottom:0;
}

/* 구분선 */
body[data-legal-page="terms"] .legal-content hr{
  border:0;
  border-top:1px solid #eadfd8;
  margin:34px 0;
}

/* 개인회원 / 기업회원 탭 */
body[data-legal-page="terms"] .legal-tabs{
  gap:8px;
  margin-bottom:18px;
}

body[data-legal-page="terms"] .legal-tab{
  min-width:108px;
  padding:11px 18px;
  border-radius:9px;
  font-size:15px;
  font-weight:800;
}

body[data-legal-page="terms"] .legal-tab.active{
  background:#f36b21;
  border-color:#f36b21;
  color:#fff;
}

/* 버전 / 시행일 메타정보 */
body[data-legal-page="terms"] .legal-meta{
  padding-bottom:18px;
  margin-bottom:24px;
}

body[data-legal-page="terms"] .legal-meta span{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:8px;
  background:#fff7f1;
  color:#8c5a3d;
  font-size:13px;
}

/* 모바일 */
@media(max-width:700px){

  body[data-legal-page="terms"] .legal-card{
    padding:24px 20px;
  }

  body[data-legal-page="terms"] .legal-content{
    font-size:16px;
    line-height:1.9;
  }

  body[data-legal-page="terms"] .legal-content h3{
    margin-top:28px;
    padding:12px 14px;
    font-size:18px;
  }

  body[data-legal-page="terms"] .legal-content ul,
  body[data-legal-page="terms"] .legal-content ol{
    padding:16px 16px 16px 34px;
  }

  body[data-legal-page="terms"] .legal-content table{
    display:block;
    overflow-x:auto;
  }

  body[data-legal-page="terms"] .legal-content th{
    min-width:145px;
  }
}


/* =========================================================
   이용약관 관리자 저장형(p/span) 대응
   개인회원 + 기업회원 공통
   ========================================================= */

/* 관리자에서 저장된 중복 메타정보 숨김 */
body[data-legal-page="terms"] .terms-source-meta{
  display:none !important;
}

/* 제1조, 제2조 ... */
body[data-legal-page="terms"] .terms-article-title{
  margin:34px 0 14px !important;
  padding:14px 18px !important;
  border-left:5px solid #f36b21;
  border-radius:9px;
  background:#fff7f1;
  color:#222 !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.45;
  letter-spacing:-.03em;
}

/* 회사 정보 / 서비스 운영자 정보 / 부칙 */
body[data-legal-page="terms"] .terms-section-title{
  margin:36px 0 14px !important;
  padding:0 0 10px !important;
  border-bottom:2px solid #f36b21;
  color:#222 !important;
  font-size:20px !important;
  font-weight:900 !important;
}

/* 일반 본문 */
body[data-legal-page="terms"] .legal-content > p:not(.terms-article-title):not(.terms-section-title):not(.terms-source-meta){
  margin:0 0 11px;
  color:#444;
  font-size:15px;
  line-height:1.85;
}

/* ① ② ③ 같은 번호 */
body[data-legal-page="terms"] .legal-content > p span:first-child{
  font-weight:700;
}

/* 부칙의 마지막 시행문 */
body[data-legal-page="terms"] .legal-content > p:last-child{
  margin-top:18px;
  padding:16px 18px;
  border:1px solid #ffd7bd;
  border-radius:10px;
  background:#fff8f3;
  color:#9a4619;
  font-weight:800;
}

@media(max-width:700px){

  body[data-legal-page="terms"] .terms-article-title{
    margin-top:28px !important;
    padding:13px 14px !important;
    font-size:18px !important;
  }

  body[data-legal-page="terms"] .terms-section-title{
    font-size:18px !important;
  }

  body[data-legal-page="terms"] .legal-content > p:not(.terms-article-title):not(.terms-section-title):not(.terms-source-meta){
    font-size:16px;
    line-height:1.9;
  }
}

