/*
Theme Name: 선한샵 (Sunhan Shop)
Theme URI: https://sunhan.shop
Author: 선한세무회계
Description: sunhan.shop 전용 워드프레스 테마. 세무·회계·노무 질문답변 아카이브 + 계산기 + 상담안내. 검색 유입(구글·네이버)에 최적화된 가벼운 구조.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.1
License: Proprietary
Text Domain: sunhanshop
*/

/* ══════════════════════════════════════════════════════════
   [1] 디자인 토큰
   화이트 기반 + 채도를 낮춘 살구·세이지·버터 계열.
   원색을 피하고 살짝 탁한 색을 써서 "만든 티"를 줄입니다.
   ────────────────────────────────────────────────────────── */
:root {
  /* 바탕 */
  --paper:#ffffff;
  --cream:#fdf8f2;      /* 섹션 교차 배경 */
  --cream-2:#faf3ea;    /* 더 진한 크림 */
  --mist:#f6f7f5;       /* 중립 회색 바탕 */

  /* 글자 */
  --ink:#2f2b27;        /* 본문 제목 (따뜻한 먹색) */
  --text:#4a443d;       /* 본문 */
  --text-sub:#6b6259;   /* 보조 */
  --text-light:#968c81; /* 입정보 */

  /* 선 */
  --line:#ece4d9;
  --line-soft:#f3ede4;

  /* 주색 — 살구빛 코랄 */
  --brand:#e08163;
  --brand-deep:#c76443;
  --brand-soft:#fdeee7;
  --brand-tint:#f9dccf;

  /* 보조색 — 세이지 그린 */
  --sage:#74ac95;
  --sage-deep:#548a74;
  --sage-soft:#e8f2ee;

  /* 포인트 — 버터 옐로 */
  --butter:#e8b95e;
  --butter-soft:#fdf2dc;

  /* 카테고리 색상 (질문답변 태그) */
  --c-start:#7fa8d4;  --c-start-bg:#eaf1f9;
  --c-income:#e08163; --c-income-bg:#fdeee7;
  --c-vat:#74ac95;    --c-vat-bg:#e8f2ee;
  --c-transfer:#b189c9;--c-transfer-bg:#f3ecf8;
  --c-gift:#d98fa6;   --c-gift-bg:#fbecf0;
  --c-corp:#6f9aa8;   --c-corp-bg:#e9f2f4;
  --c-fin:#d3a35c;    --c-fin-bg:#fbf1e0;

  --kakao:#FEE500;
  --kakao-ink:#3c1e1e;

  /* 레이아웃 */
  --nav-h:64px; --nav-h-mb:56px;
  --py:76px; --py-mb:48px;
  --px:5%;  --px-mb:18px;
  --max:1080px; --max-narrow:760px;
  --r:16px; --r-sm:10px; --r-pill:999px;
  --shadow:0 1px 2px rgba(47,43,39,.04), 0 8px 24px rgba(47,43,39,.06);
  --shadow-sm:0 1px 2px rgba(47,43,39,.05);
  --ease:cubic-bezier(.16,1,.3,1);

  /* ── 레거시 호환 토큰 ──────────────────────────────
     계산기 3종(income.css / vatcalc.css)은 sunhantax 테마에서
     그대로 가져왔습니다. 그 파일들이 참조하는 옛 변수명을
     새 팔레트로 다시 매핑해 두어, CSS 원본을 손대지 않고도
     선한샵 색으로 렌더링되게 합니다.
     ─────────────────────────────────────────────── */
  --navy-900:#3a332c;
  --navy-800:#4a4139;
  --navy-700:var(--brand);
  --navy-600:var(--brand-deep);
  --navy-100:var(--line);
  --navy-50:var(--cream);
  --gold:var(--butter);
  --gold-deep:#c2913c;
  --gold-light:var(--butter);
  --bg-page:var(--paper);
  --bg-soft:var(--cream);
  --bg-light:var(--cream);
  --bg-hero:var(--cream);
  --border:var(--line);
  --border-card:var(--line);
  --border-light:var(--line-soft);
  --primary:var(--brand);
  --primary-dark:var(--brand-deep);
  --primary-hover:var(--brand-deep);
  --primary-light:var(--brand-soft);
  --text-main:var(--text);
  --green:var(--sage);
  --orange:#d98a45;
  --radius-card:var(--r);
  --section-py:var(--py);
  --section-px:var(--px);
}

/* ══════════════════════════════════════════════════════════
   [2] 리셋 / 베이스
   ────────────────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;}
section[id],div[id]{scroll-margin-top:calc(var(--nav-h) + 16px);}
body{
  font-family:'Pretendard Variable',Pretendard,'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  color:var(--text);background:var(--paper);line-height:1.72;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
  word-break:keep-all;overflow-wrap:break-word;
  min-width:320px;-webkit-overflow-scrolling:touch;
}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;}
img{max-width:100%;height:auto;display:block;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
h1,h2,h3,h4{color:var(--ink);line-height:1.35;font-weight:700;letter-spacing:-.02em;}
ul,ol{list-style:none;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px;}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:9999;}
.skip-link:focus{left:8px;top:8px;}

.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--px);}
.wrap-narrow{max-width:var(--max-narrow);margin:0 auto;padding-inline:var(--px);}
.section{padding-block:var(--py);}
.section--cream{background:var(--cream);}
.section--mist{background:var(--mist);}
@media(max-width:768px){
  .wrap,.wrap-narrow{padding-inline:var(--px-mb);}
  .section{padding-block:var(--py-mb);}
}

/* ══════════════════════════════════════════════════════════
   [3] 공통 파츠 — 뱃지 / 버튼 / 섹션 제목
   ────────────────────────────────────────────────────────── */
.eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.8rem;font-weight:700;letter-spacing:.02em;
  color:var(--brand-deep);background:var(--brand-soft);
  padding:5px 13px;border-radius:var(--r-pill);margin-bottom:14px;
}
.section-title{font-size:clamp(1.45rem,3.4vw,2rem);margin-bottom:10px;}
.section-desc{color:var(--text-sub);font-size:.97rem;margin-bottom:28px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:13px 26px;border-radius:var(--r-pill);
  font-weight:700;font-size:.95rem;
  transition:transform .18s var(--ease),background .18s,box-shadow .18s;
  border:1px solid transparent;
}
.btn:hover{transform:translateY(-1px);}
.btn:active{transform:translateY(0);}
.btn--brand{background:var(--brand);color:#fff;box-shadow:0 4px 14px rgba(224,129,99,.28);}
.btn--brand:hover{background:var(--brand-deep);}
.btn--sage{background:var(--sage);color:#fff;box-shadow:0 4px 14px rgba(116,172,149,.26);}
.btn--sage:hover{background:var(--sage-deep);}
.btn--kakao{background:var(--kakao);color:var(--kakao-ink);box-shadow:0 4px 14px rgba(232,201,45,.3);}
.btn--ghost{background:var(--paper);color:var(--ink);border-color:var(--line);}
.btn--ghost:hover{border-color:var(--brand-tint);background:var(--brand-soft);}
.btn--block{width:100%;}
.btn--lg{padding:15px 32px;font-size:1rem;}

/* ══════════════════════════════════════════════════════════
   [4] 헤더 / 네비게이션
   ────────────────────────────────────────────────────────── */
#mainNav{
  position:sticky;top:0;z-index:900;height:var(--nav-h);
  background:rgba(255,255,255,.92);backdrop-filter:saturate(1.6) blur(12px);
  border-bottom:1px solid var(--line-soft);
}
.nav-inner{
  max-width:var(--max);margin:0 auto;padding-inline:var(--px);
  height:100%;display:flex;align-items:center;gap:22px;
}
.logo a{display:flex;align-items:baseline;gap:1px;font-weight:800;font-size:1.18rem;letter-spacing:-.03em;color:var(--ink);}
.logo .hash{color:var(--brand);}
.logo .dot{width:6px;height:6px;border-radius:50%;background:var(--butter);align-self:flex-end;margin-bottom:5px;margin-left:2px;}

.nav-links{display:flex;align-items:center;gap:4px;margin-left:auto;}
.nav-links a{
  display:block;padding:8px 14px;border-radius:var(--r-pill);
  font-size:.94rem;font-weight:600;color:var(--text-sub);
  transition:color .16s,background .16s;
}
.nav-links a:hover{color:var(--ink);background:var(--cream);}
.nav-links .is-current a{color:var(--brand-deep);background:var(--brand-soft);}

.nav-cta{
  padding:9px 18px;border-radius:var(--r-pill);
  background:var(--kakao);color:var(--kakao-ink);
  font-size:.88rem;font-weight:700;white-space:nowrap;
}

.hamburger{display:none;width:40px;height:40px;margin-left:auto;position:relative;}
.hamburger span{
  position:absolute;left:10px;width:20px;height:2px;border-radius:2px;
  background:var(--ink);transition:.28s var(--ease);
}
.hamburger span:nth-child(1){top:14px;}
.hamburger span:nth-child(2){top:19px;}
.hamburger span:nth-child(3){top:24px;}
.hamburger.is-open span:nth-child(1){top:19px;transform:rotate(45deg);}
.hamburger.is-open span:nth-child(2){opacity:0;}
.hamburger.is-open span:nth-child(3){top:19px;transform:rotate(-45deg);}

.mobile-menu{
  position:fixed;inset:var(--nav-h-mb) 0 auto 0;z-index:899;
  background:var(--paper);border-bottom:1px solid var(--line);
  padding:12px var(--px-mb) 22px;
  transform:translateY(-8px);opacity:0;pointer-events:none;
  transition:.24s var(--ease);
}
.mobile-menu.is-open{transform:translateY(0);opacity:1;pointer-events:auto;}
.mobile-menu a{display:block;padding:14px 6px;font-size:1.02rem;font-weight:600;border-bottom:1px solid var(--line-soft);}
.mobile-menu .is-current a{color:var(--brand-deep);}
.mobile-kakao{
  display:block;margin-top:16px;text-align:center;
  background:var(--kakao);color:var(--kakao-ink);
  border-radius:var(--r-pill);padding:13px !important;border:0 !important;font-weight:700;
}

@media(max-width:900px){
  #mainNav{height:var(--nav-h-mb);}
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:block;}
}

/* ══════════════════════════════════════════════════════════
   [5] 푸터 + 공통 상담 CTA
   ────────────────────────────────────────────────────────── */
.cta-band{background:var(--cream);border-top:1px solid var(--line-soft);padding-block:56px;text-align:center;}
.cta-band h2{font-size:clamp(1.3rem,3vw,1.7rem);margin-bottom:8px;}
.cta-band p{color:var(--text-sub);font-size:.96rem;margin-bottom:22px;}
.cta-band .cta-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

.site-footer{background:#332e28;color:rgba(255,255,255,.62);font-size:.87rem;padding-block:44px;}
.footer-inner{
  max-width:var(--max);margin:0 auto;padding-inline:var(--px);
  display:grid;grid-template-columns:1.4fr 1fr;gap:34px;
}
.footer-brand{color:#fff;font-weight:700;font-size:1.02rem;margin-bottom:10px;}
.site-footer div{line-height:1.85;}
.footer-tel{color:rgba(255,255,255,.86);font-weight:600;}
.footer-ad-manager{margin-top:6px;}
.footer-sns{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;}
.footer-sns a{font-weight:600;}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:18px;}
.footer-links a{color:rgba(255,255,255,.76);font-weight:600;}
.footer-links a:hover{color:#fff;}
.footer-copy{font-size:.8rem;color:rgba(255,255,255,.4);}
@media(max-width:768px){
  .footer-inner{grid-template-columns:1fr;padding-inline:var(--px-mb);gap:26px;}
}

/* ══════════════════════════════════════════════════════════
   [6] 상담 신청 폼 (질문답변 하단 / 상담안내 페이지 공용)
   ────────────────────────────────────────────────────────── */
.consult-box{
  background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);padding:28px;box-shadow:var(--shadow-sm);
}
.consult-box h3{font-size:1.12rem;margin-bottom:6px;}
.consult-box .lead{color:var(--text-sub);font-size:.92rem;margin-bottom:20px;}
.consult-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;}
.form-row{margin-bottom:14px;}
.form-row label{display:block;font-size:.86rem;font-weight:700;color:var(--ink);margin-bottom:6px;}
.form-row label .req{color:var(--brand);margin-left:3px;}
.form-row input,.form-row select,.form-row textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--paper);
  font-size:.95rem;transition:border-color .16s,box-shadow .16s;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);
}
.form-row textarea{min-height:120px;resize:vertical;}
.form-agree{display:flex;gap:9px;align-items:flex-start;font-size:.84rem;color:var(--text-sub);margin:16px 0 18px;}
.form-agree input{margin-top:4px;flex:0 0 auto;width:15px;height:15px;accent-color:var(--brand);}
.form-agree a{text-decoration:underline;}
.form-note{font-size:.8rem;color:var(--text-light);margin-top:12px;text-align:center;}
.form-status{margin-top:12px;padding:11px 14px;border-radius:var(--r-sm);font-size:.88rem;display:none;}
.form-status.is-ok{display:block;background:var(--sage-soft);color:var(--sage-deep);}
.form-status.is-err{display:block;background:var(--brand-soft);color:var(--brand-deep);}
/* 스팸 방지용 허니팟 — 사람 눈에는 보이지 않습니다 */
.hp-field{position:absolute!important;left:-9999px!important;opacity:0;height:0;}
@media(max-width:600px){
  .consult-box{padding:22px 18px;}
  .consult-quick{grid-template-columns:1fr;}
}

/* ══════════════════════════════════════════════════════════
   [7] 면책 문구 박스
   ────────────────────────────────────────────────────────── */
.disclaimer{
  background:var(--butter-soft);border:1px solid #f0dcae;
  border-radius:var(--r-sm);padding:16px 18px;
  font-size:.88rem;color:#7a5f22;line-height:1.7;
  display:flex;gap:11px;align-items:flex-start;
}
.disclaimer .ico{flex:0 0 auto;font-size:1rem;line-height:1.5;}

/* ══════════════════════════════════════════════════════════
   [8] 페이지 공통 히어로 (서브 페이지)
   ※ 계산기 3종이 쓰는 .hero 클래스와 호환됩니다.
   ────────────────────────────────────────────────────────── */
.hero,.page-hero{
  background:var(--cream);border-bottom:1px solid var(--line-soft);
  padding-block:56px 48px;text-align:center;
}
.hero-inner,.page-hero-inner{max-width:var(--max-narrow);margin:0 auto;padding-inline:var(--px);}
.hero h1,.page-hero h1{font-size:clamp(1.6rem,4vw,2.3rem);margin-bottom:12px;}
.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--brand);}
.hero p,.page-hero p{color:var(--text-sub);font-size:.98rem;}
.hero-badge{
  display:inline-block;font-size:.8rem;font-weight:700;
  color:var(--brand-deep);background:var(--brand-soft);
  padding:5px 13px;border-radius:var(--r-pill);margin-bottom:14px;
}
@media(max-width:768px){
  .hero,.page-hero{padding-block:38px 34px;}
  .hero-inner,.page-hero-inner{padding-inline:var(--px-mb);}
}

/* ══════════════════════════════════════════════════════════
   [9] 빵부스러기 (Breadcrumb) — 검색엔진 경로 인식용
   ────────────────────────────────────────────────────────── */
.crumb{font-size:.82rem;color:var(--text-light);padding-block:16px 0;}
.crumb a:hover{color:var(--brand-deep);}
.crumb .sep{margin-inline:7px;opacity:.5;}

/* 인쇄 시 불필요한 요소 숨김 */
@media print{
  #mainNav,.mobile-menu,.cta-band,.site-footer,.consult-box{display:none!important;}
}
