/*
Theme Name: 연세발렌타인치과 블로그 테마
Theme URI: https://yonseivalentine.com
Author: Dental Marketing Team
Author URI: https://yonseivalentine.com
Description: 딥브라운 + 와인레드 + 샴페인골드 색상의 SEO/GEO/AEO 최적화 교정 전문 블로그 테마. 연세발렌타인치과교정과치과의원 전용.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Private
Text Domain: yonseivalentine
*/

/* ═══════════════════════════════════════
   CSS VARIABLES
═══════════════════════════════════════ */
:root {
  --brown:        #2C2418;
  --brown-mid:    #3A2E1E;
  --brown-light:  #4A3828;
  --wine:         #8B2635;
  --wine-mid:     #6B1A28;
  --wine-light:   #A83A4A;
  --gold:         #C49060;
  --gold-bright:  #E8C4A0;
  --gold-pale:    #F8F4EE;
  --bg:           #F5F0E8;
  --bg-card:      #FFFFFF;
  --bg-section:   #FBF6F0;
  --text-dark:    #1A0E08;
  --text-body:    #3A2A1A;
  --text-sub:     #5A4030;
  --text-muted:   #8A6A50;
  --text-light:   #B09A80;
  --border:       #E0D0BC;
  --border-light: #EDE0D0;
  --white:        #FFFFFF;
  --shadow-sm:    0 1px 4px rgba(44,36,24,.07);
  --shadow-md:    0 2px 8px rgba(44,36,24,.10);
  --shadow-lg:    0 6px 20px rgba(44,36,24,.14);
  --font:         'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --max-w:        1200px;
  --r-sm:         4px;
  --r-md:         6px;
  --r-lg:         10px;
  --r-pill:       24px;
}

/* ═══════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════ */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box }
html {
  scroll-behavior: smooth;
  font-size: 16px;
  overflow-x: hidden;
}
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text-dark);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  word-break: keep-all;
  -webkit-text-size-adjust: 100%;
}
a { color: var(--wine); text-decoration: none; transition: color .2s }
a:hover { color: var(--wine-mid) }
img { max-width: 100%; height: auto; display: block }
ul, ol { list-style: none }
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font);
  font-weight: 700;
  line-height: 1.3;
  color: var(--text-dark);
  word-break: keep-all;
}
h1 { font-size: clamp(1.5rem,3.8vw,2.3rem) }
h2 { font-size: clamp(1.2rem,2.8vw,1.75rem) }
h3 { font-size: clamp(1rem,2.2vw,1.25rem) }
p { margin-bottom: 1rem; color: var(--text-body) }
.container { max-width: var(--max-w); margin: 0 auto; padding: 0 24px }
.visually-hidden {
  position: absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); border:0;
}

/* ═══════════════════════════════════════
   HEADER
═══════════════════════════════════════ */
#site-header {
  background: var(--brown);
  border-bottom: 3px solid var(--gold-bright);
  position: sticky; top: 0; z-index: 1000;
  box-shadow: 0 2px 12px rgba(44,36,24,.4);
}
.header-inner {
  max-width: var(--max-w); margin: 0 auto;
  padding: 10px 24px;
  display: flex; align-items: center; gap: 16px;
}
.site-branding {
  display: flex; align-items: center; gap: 10px;
  flex-shrink: 0; text-decoration: none; min-width: 0;
}
.logo-icon {
  width: 38px; height: 38px;
  background: var(--wine);
  border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold-bright); font-size: 10px; font-weight: 700;
  line-height: 1.2; text-align: center; flex-shrink: 0;
}
.site-name {
  font-size: 13px; font-weight: 700;
  color: var(--white); display: block; line-height: 1.2;
  white-space: nowrap;
}
.site-eng {
  font-size: 9px; color: rgba(255,255,255,.4);
  letter-spacing: .7px; display: block; margin-top: 1px;
}
#primary-navigation { flex: 1 }
#primary-navigation ul { display: flex; gap: 0 }
#primary-navigation ul li a {
  color: rgba(255,255,255,.75);
  font-size: 13px; font-weight: 500;
  padding: 6px 13px; display: block; transition: color .2s;
}
#primary-navigation ul li a:hover,
#primary-navigation ul li.current-menu-item > a { color: var(--gold-bright) }
#primary-navigation ul li.menu-intro > a {
  background: var(--gold-bright); color: var(--brown);
  border-radius: var(--r-sm); font-weight: 700; margin-left: 4px;
}
#primary-navigation ul li.menu-intro > a:hover {
  background: var(--white); color: var(--wine);
}
.header-search {
  display: flex; align-items: center;
  background: rgba(255,255,255,.12);
  border-radius: var(--r-sm); overflow: hidden;
  margin-left: auto; flex-shrink: 0;
}
.header-search input[type="search"] {
  background: transparent; border: none;
  color: var(--white); font-size: 12px; font-family: var(--font);
  padding: 7px 11px; width: 135px; outline: none;
}
.header-search input[type="search"]::placeholder { color: rgba(255,255,255,.38) }
.header-search button {
  background: var(--gold-bright); border: none; color: var(--brown);
  padding: 7px 10px; cursor: pointer; font-size: 13px; transition: background .2s;
}
.header-search button:hover { background: var(--white) }
.menu-toggle {
  display: none;
  background: transparent;
  border: 1.5px solid rgba(255,255,255,.4);
  color: var(--white);
  width: 36px; height: 36px;
  border-radius: var(--r-sm); cursor: pointer; font-size: 18px;
  align-items: center; justify-content: center; flex-shrink: 0;
}

/* ═══════════════════════════════════════
   HERO SECTION
═══════════════════════════════════════ */
#hero {
  background: var(--bg);
  padding: 48px 24px 0;
  position: relative; overflow: hidden;
}
#hero::before {
  content: '교정';
  position: absolute; right: -10px; bottom: 10px;
  font-size: 160px; font-weight: 900;
  color: rgba(139,38,53,.05); line-height: 1;
  pointer-events: none; font-family: var(--font);
}
.hero-inner {
  max-width: var(--max-w); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 320px;
  gap: 40px; align-items: start;
}
.hero-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--wine); color: var(--white);
  font-size: 11px; font-weight: 700;
  padding: 5px 13px; border-radius: var(--r-pill); margin-bottom: 16px;
}
.hero-title {
  font-size: clamp(1.5rem,3.8vw,2.3rem);
  font-weight: 700; color: var(--brown);
  line-height: 1.25; margin-bottom: 4px;
}
.hero-title-accent {
  color: var(--wine);
  font-size: clamp(1.6rem,4vw,2.4rem);
  display: block;
}
.hero-desc {
  font-size: 14px; color: var(--text-sub);
  line-height: 1.8; margin: 14px 0 22px;
}
.hero-desc strong { color: var(--wine) }
.hero-buttons {
  display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px;
}
.btn-primary {
  background: var(--wine); color: var(--white); border: none;
  padding: 10px 22px; border-radius: var(--r-sm);
  font-size: 13px; font-weight: 700; font-family: var(--font);
  cursor: pointer; transition: all .2s;
  display: inline-block; text-decoration: none;
}
.btn-primary:hover { background: var(--wine-mid); color: var(--white); transform: translateY(-1px) }
.btn-secondary {
  background: var(--white); color: var(--text-dark);
  border: 1.5px solid var(--border);
  padding: 9px 18px; border-radius: var(--r-sm);
  font-size: 13px; font-weight: 600; font-family: var(--font);
  cursor: pointer; transition: all .2s;
  display: inline-block; text-decoration: none;
}
.btn-secondary:hover { border-color: var(--wine); color: var(--wine) }
.hero-chips {
  display: flex; flex-wrap: wrap; gap: 7px; padding-bottom: 32px;
}
.hero-chip {
  background: var(--white); border: 1px solid var(--border);
  color: var(--text-sub); font-size: 11px;
  padding: 5px 11px; border-radius: var(--r-pill);
  display: flex; align-items: center; gap: 4px;
  box-shadow: var(--shadow-sm); transition: all .2s;
}
.hero-chip:hover { border-color: var(--wine); color: var(--wine) }

/* Latest Posts 패널 */
.hero-latest { background: var(--brown); border-radius: var(--r-md); overflow: hidden }
.hero-latest-head {
  background: var(--brown-mid); padding: 12px 18px;
  font-size: 11px; font-weight: 700;
  color: rgba(255,255,255,.5); letter-spacing: 1.5px;
}
.hero-latest-body { padding: 14px 18px }
.lp-item {
  display: flex; gap: 10px;
  margin-bottom: 13px; padding-bottom: 13px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lp-item:last-child { margin: 0; padding: 0; border: none }
.lp-thumb {
  width: 52px; height: 42px;
  border-radius: var(--r-sm); flex-shrink: 0;
  background: var(--brown-mid); overflow: hidden;
  display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.lp-thumb img { width: 100%; height: 100%; object-fit: cover }
.lp-cat { font-size: 10px; font-weight: 700; color: var(--gold-bright); margin-bottom: 2px }
.lp-title { font-size: 12px; color: var(--white); font-weight: 500; line-height: 1.4 }
.lp-title a { color: inherit; transition: color .2s }
.lp-title a:hover { color: var(--gold-bright) }
.lp-date { font-size: 10px; color: rgba(255,255,255,.32); margin-top: 2px }

/* ═══════════════════════════════════════
   STATS BAR
═══════════════════════════════════════ */
#stats-bar { background: var(--brown); padding: 20px 24px }
.stats-inner {
  max-width: var(--max-w); margin: 0 auto;
  display: flex; align-items: center; gap: 20px;
}
.stats-icon {
  width: 44px; height: 44px; background: var(--wine); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; flex-shrink: 0;
}
.stats-text { font-size: 13px; color: rgba(255,255,255,.85); line-height: 1.65; flex-shrink: 0 }
.stats-text strong { color: var(--white) }
.stats-text em { color: var(--gold-bright); font-style: normal; font-weight: 600 }
.stats-desc { font-size: 12px; color: rgba(255,255,255,.52); line-height: 1.65; flex: 1; margin: 0 24px }
.stats-numbers { display: flex; gap: 0; margin-left: auto; flex-shrink: 0 }
.stat-item {
  text-align: center; padding: 0 24px;
  border-left: 1px solid rgba(255,255,255,.12);
}
.stat-num { font-size: 22px; font-weight: 700; color: var(--gold-bright) }
.stat-label { font-size: 10px; color: rgba(255,255,255,.42); margin-top: 2px }

/* ═══════════════════════════════════════
   INFO STRIP
═══════════════════════════════════════ */
#info-strip {
  background: var(--white);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 11px 24px;
}
.info-strip-inner {
  max-width: var(--max-w); margin: 0 auto;
  display: flex; gap: 28px; align-items: center; flex-wrap: wrap;
}
.info-strip-item {
  display: flex; align-items: center; gap: 7px;
  font-size: 12px; color: var(--text-sub);
}
.info-strip-item strong { color: var(--wine) }

/* ═══════════════════════════════════════
   CATEGORY TABS
═══════════════════════════════════════ */
#category-tabs { max-width: var(--max-w); margin: 24px auto 0; padding: 0 24px }
.tabs-inner { display: flex; gap: 0; border-bottom: 2px solid var(--border) }
.tab-btn {
  background: transparent; border: none;
  color: var(--text-light); font-size: 13px; font-weight: 600;
  font-family: var(--font);
  padding: 10px 20px; cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: all .2s; display: flex; align-items: center; gap: 5px;
  white-space: nowrap;
}
.tab-btn:hover { color: var(--text-dark) }
.tab-btn.active, [aria-current="true"] { color: var(--wine); border-bottom-color: var(--wine) }
.tab-count {
  background: var(--gold-pale); padding: 1px 7px;
  border-radius: 3px; font-size: 10px; font-weight: 700; color: var(--text-muted);
}
.tab-btn.active .tab-count { background: var(--wine); color: var(--white) }

/* ═══════════════════════════════════════
   CONTENT LAYOUT
═══════════════════════════════════════ */
#content-area {
  max-width: var(--max-w); margin: 28px auto;
  padding: 0 24px;
  display: grid; grid-template-columns: 1fr 300px; gap: 32px;
}

/* ═══════════════════════════════════════
   FEATURED POST
═══════════════════════════════════════ */
.post-featured {
  background: var(--bg-card); border-radius: var(--r-md); overflow: hidden;
  border: 1px solid var(--border); box-shadow: var(--shadow-md);
  margin-bottom: 18px; transition: box-shadow .3s, border-color .3s;
}
.post-featured:hover { box-shadow: var(--shadow-lg); border-color: var(--gold) }
.post-featured-thumb {
  height: 220px; overflow: hidden; position: relative;
  background: linear-gradient(135deg,var(--brown),var(--brown-mid),var(--brown-light));
}
.post-featured-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s }
.post-featured:hover .post-featured-thumb img { transform: scale(1.04) }
.post-featured-thumb .thumb-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.08) }
.post-featured-badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; z-index: 1 }
.badge-featured {
  background: var(--gold-bright); color: var(--brown);
  font-size: 10px; font-weight: 700; padding: 4px 10px; border-radius: var(--r-sm);
}
.badge-cat {
  background: rgba(44,36,24,.75); color: var(--gold-bright);
  font-size: 10px; font-weight: 700; padding: 4px 10px; border-radius: var(--r-sm);
}
.post-featured-body { padding: 20px 24px }
.schema-callout {
  background: var(--gold-pale); border-left: 4px solid var(--wine);
  padding: 12px 16px; margin-bottom: 14px;
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-size: 12px; color: var(--text-sub);
}
.schema-callout .sc-label {
  font-weight: 700; color: var(--brown); font-size: 11px;
  margin-bottom: 4px; letter-spacing: .4px;
}
.post-featured-title {
  font-size: 1.25rem; font-weight: 700; color: var(--text-dark);
  line-height: 1.4; margin-bottom: 10px;
}
.post-featured-title a { color: inherit }
.post-featured-title a:hover { color: var(--wine) }
.post-featured-excerpt { font-size: 14px; color: var(--text-sub); line-height: 1.75; margin-bottom: 12px }
.post-meta { display: flex; gap: 14px; font-size: 12px; color: var(--text-light); flex-wrap: wrap }
.post-meta span { display: flex; align-items: center; gap: 4px }
.btn-read-more {
  display: inline-block; margin-top: 14px;
  background: var(--wine); color: var(--white);
  padding: 8px 18px; border-radius: var(--r-sm);
  font-size: 13px; font-weight: 700; text-decoration: none; transition: all .2s;
}
.btn-read-more:hover { background: var(--wine-mid); color: var(--white); transform: translateX(2px) }

/* ═══════════════════════════════════════
   POST CARD
═══════════════════════════════════════ */
.post-card {
  background: var(--bg-card); border-radius: var(--r-md); overflow: hidden;
  border: 1px solid var(--border); box-shadow: var(--shadow-sm);
  margin-bottom: 14px;
  display: grid; grid-template-columns: 165px 1fr;
  transition: box-shadow .2s, border-color .2s;
}
.post-card:hover { box-shadow: var(--shadow-lg); border-color: var(--gold) }
.post-card-thumb {
  background: linear-gradient(135deg,var(--brown),var(--brown-light));
  display: flex; align-items: center; justify-content: center;
  font-size: 32px; min-height: 120px; overflow: hidden;
}
.post-card-thumb img { width: 100%; height: 100%; object-fit: cover }
.post-card-body { padding: 14px 18px }
.post-card-cat {
  display: inline-block; background: var(--wine); color: var(--white);
  font-size: 10px; font-weight: 700; padding: 3px 9px;
  border-radius: var(--r-sm); margin-bottom: 7px; text-decoration: none; transition: background .2s;
}
.post-card-cat:hover { background: var(--wine-mid) }
.post-card-title { font-size: 15px; font-weight: 700; color: var(--text-dark); line-height: 1.4; margin-bottom: 6px }
.post-card-title a { color: inherit }
.post-card-title a:hover { color: var(--wine) }
.post-card-excerpt { font-size: 13px; color: var(--text-sub); line-height: 1.6; margin-bottom: 8px }

/* ═══════════════════════════════════════
   FAQ SECTION (AEO)
═══════════════════════════════════════ */
.faq-section {
  background: var(--brown); border-radius: var(--r-md); padding: 22px; margin-top: 4px;
}
.faq-section-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px }
.faq-head-icon {
  width: 32px; height: 32px; background: var(--wine); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--white); font-size: 14px; font-weight: 700; flex-shrink: 0;
}
.faq-head-title { font-size: 14px; font-weight: 700; color: var(--white) }
.faq-head-sub { font-size: 11px; color: rgba(255,255,255,.42); margin-top: 2px }
.faq-item {
  border-top: 1px solid rgba(255,255,255,.09);
  padding: 13px 0;
  display: flex; align-items: flex-start; gap: 10px;
}
.faq-q-icon {
  width: 22px; height: 22px; background: var(--wine); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--white); font-size: 11px; font-weight: 700;
  flex-shrink: 0; margin-top: 1px;
}
.faq-q-text { font-size: 13px; font-weight: 700; color: var(--white); margin-bottom: 6px }
.faq-a-text { font-size: 12px; color: rgba(255,255,255,.62); line-height: 1.65; display: none }
.faq-toggle {
  margin-left: auto; color: var(--gold-bright); font-size: 18px;
  cursor: pointer; align-self: flex-start; line-height: 1; flex-shrink: 0;
}

/* ═══════════════════════════════════════
   SINGLE POST
═══════════════════════════════════════ */
.single-post-header {
  background: linear-gradient(135deg,var(--brown),var(--brown-mid));
  color: var(--white); padding: 48px 24px 40px;
}
.single-post-header-inner { max-width: var(--max-w); margin: 0 auto }
.breadcrumb {
  font-size: 13px; color: rgba(255,255,255,.52);
  margin-bottom: 16px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.breadcrumb a { color: rgba(255,255,255,.8) }
.breadcrumb a:hover { color: var(--gold-bright) }
.single-post-title {
  font-size: clamp(1.3rem,3.2vw,1.9rem);
  font-weight: 700; color: var(--white); line-height: 1.3; margin-bottom: 14px;
}
.single-post-meta { display: flex; gap: 16px; font-size: 13px; color: rgba(255,255,255,.6); flex-wrap: wrap }
.entry-content { padding: 32px 0 }
.entry-content h2 {
  font-size: 1.35rem; color: var(--brown);
  margin: 32px 0 16px; padding-left: 12px; border-left: 4px solid var(--wine);
}
.entry-content h3 { font-size: 1.15rem; color: var(--text-dark); margin: 24px 0 12px }
.entry-content p { font-size: 15px; line-height: 1.85; color: var(--text-body); margin-bottom: 16px }
.entry-content ul, .entry-content ol { margin: 16px 0 16px 24px }
.entry-content ul { list-style: disc }
.entry-content ol { list-style: decimal }
.entry-content li { font-size: 15px; line-height: 1.75; color: var(--text-body); margin-bottom: 8px }
.entry-content strong { color: var(--text-dark) }
.post-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--border) }
.post-tag {
  background: var(--bg-section); color: var(--text-sub);
  padding: 4px 12px; border-radius: var(--r-sm); font-size: 12px;
  border: 1px solid var(--border); text-decoration: none; transition: all .2s;
}
.post-tag:hover { background: var(--wine); color: var(--white); border-color: var(--wine) }

/* ═══════════════════════════════════════
   SIDEBAR
═══════════════════════════════════════ */
#sidebar { display: flex; flex-direction: column; gap: 16px }

/* 예약 위젯 */
.widget-appointment {
  background: var(--wine); border-radius: var(--r-md); padding: 18px; color: var(--white);
}
.appt-title { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; margin-bottom: 14px }
.appt-phone-btn {
  background: var(--brown); color: var(--white);
  font-size: 16px; font-weight: 700; font-family: var(--font);
  padding: 11px; border-radius: var(--r-sm);
  display: block; width: 100%; text-align: center;
  margin-bottom: 10px; cursor: pointer; border: none;
  transition: background .2s; text-decoration: none;
}
.appt-phone-btn:hover { background: var(--brown-mid); color: var(--white) }
.appt-note { font-size: 11px; color: rgba(255,255,255,.65); text-align: center; margin-bottom: 12px }
.appt-table { width: 100%; border-collapse: collapse; font-size: 11px }
.appt-table td { padding: 5px 3px; border-bottom: 1px solid rgba(255,255,255,.12) }
.appt-table td:first-child { color: rgba(255,255,255,.68) }
.appt-table td:last-child { text-align: right; font-weight: 600; color: var(--white) }
.appt-badge-night {
  background: var(--white); color: var(--wine);
  font-size: 9px; font-weight: 700; padding: 1px 5px; border-radius: 2px; margin-left: 4px;
}
.appt-footer { font-size: 10px; color: rgba(255,255,255,.38); margin-top: 8px; text-align: center }

/* 의료진 카드 */
.widget-doctor {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--r-md); overflow: hidden; box-shadow: var(--shadow-sm);
}
.doc-header {
  background: linear-gradient(135deg,var(--brown),var(--brown-light));
  padding: 14px; color: var(--white); display: flex; align-items: center; gap: 10px;
}
.doc-avatar {
  width: 42px; height: 42px; background: var(--wine); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0;
}
.doc-name { font-size: 14px; font-weight: 700; color: var(--white) }
.doc-role { font-size: 10px; color: rgba(255,255,255,.62); margin-top: 2px }
.doc-body { padding: 12px 14px }
.doc-badge {
  display: inline-block; background: var(--gold-pale); color: var(--wine);
  font-size: 10px; font-weight: 700; padding: 3px 8px;
  border-radius: var(--r-sm); margin: 2px 2px 2px 0;
}
.doc-career { font-size: 11px; color: var(--text-sub); line-height: 1.65; margin-top: 8px }

/* 일반 위젯 */
.sidebar-widget {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--r-md); overflow: hidden; box-shadow: var(--shadow-sm);
}
.widget-title {
  background: var(--brown); color: var(--gold-bright);
  padding: 10px 14px; font-size: 12px; font-weight: 700;
  display: flex; align-items: center; gap: 6px; margin: 0;
}
.widget-body { padding: 12px 14px }
.menu-widget li { border-bottom: 1px solid var(--border-light); padding: 8px 0 }
.menu-widget li:last-child { border-bottom: none }
.menu-widget a {
  color: var(--text-dark); font-size: 12px; font-weight: 500;
  display: flex; align-items: center; gap: 5px; transition: color .2s;
}
.menu-widget a:hover { color: var(--wine) }
.recent-posts-list li { display: flex; gap: 7px; padding: 8px 0; border-bottom: 1px solid var(--border-light) }
.recent-posts-list li:last-child { border-bottom: none }
.rp-num {
  width: 18px; height: 18px; background: var(--wine); color: var(--white);
  border-radius: 3px; font-size: 9px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px;
}
.rp-link { color: var(--text-dark); font-size: 11.5px; font-weight: 500; line-height: 1.4; display: block; transition: color .2s }
.rp-link:hover { color: var(--wine) }
.rp-date { font-size: 10px; color: var(--text-light); margin-top: 1px }
.location-box {
  background: var(--bg-section); border: 1px solid var(--border);
  border-radius: var(--r-sm); padding: 11px; font-size: 11.5px; color: var(--text-sub); line-height: 1.75;
}
.location-box strong { color: var(--text-dark); display: block; margin-top: 9px; margin-bottom: 1px; font-size: 10.5px; font-weight: 700 }
.location-box strong:first-child { margin-top: 0 }

/* ═══════════════════════════════════════
   PAGINATION
═══════════════════════════════════════ */
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 32px; flex-wrap: wrap }
.pagination .page-numbers {
  padding: 7px 13px; border: 1px solid var(--border);
  border-radius: var(--r-sm); font-size: 13px; color: var(--text-body); transition: all .2s; background: var(--bg-card);
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current { background: var(--wine); color: var(--white); border-color: var(--wine) }

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
#site-footer {
  background: var(--brown); color: rgba(255,255,255,.42);
  text-align: center; padding: 22px;
  font-size: 11.5px; margin-top: 48px;
  border-top: 2px solid var(--gold-bright); line-height: 1.9;
}
#site-footer strong { color: var(--gold-bright) }
#site-footer a { color: rgba(255,255,255,.55); transition: color .2s }
#site-footer a:hover { color: var(--gold-bright) }

/* ═══════════════════════════════════════
   RESPONSIVE — 1024px
═══════════════════════════════════════ */
@media (max-width:1024px) {
  #content-area { grid-template-columns: 1fr 260px; gap: 24px }
  .hero-inner    { grid-template-columns: 1fr 260px; gap: 24px }
  .stats-desc    { display: none }
}

/* ═══════════════════════════════════════
   RESPONSIVE — 768px
═══════════════════════════════════════ */
@media (max-width:768px) {
  html, body { overflow-x: hidden !important }
  .header-inner { padding: 8px 14px; gap: 10px }
  .site-branding { flex: 1; min-width: 0 }
  .logo-icon { width: 32px; height: 32px; font-size: 9px }
  .site-name { font-size: 11px }
  .site-eng { display: none }
  .menu-toggle { display: flex !important }
  .header-search { display: none }
  #primary-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--brown-mid); z-index: 9999; box-shadow: 0 6px 20px rgba(0,0,0,.4) }
  #primary-navigation.is-open { display: block !important }
  #primary-navigation ul { flex-direction: column; padding: 8px 0 }
  #primary-navigation ul li a { padding: 12px 20px; font-size: 14px; border-bottom: 1px solid rgba(255,255,255,.06); display: block }
  #primary-navigation ul li:last-child a { border-bottom: none }
  #hero { padding: 24px 14px 0; overflow: hidden }
  #hero::before { display: none }
  .hero-inner { display: block !important; padding: 0 }
  .hero-latest { display: none }
  .hero-badge { font-size: 10px; padding: 4px 11px; margin-bottom: 12px }
  .hero-title { font-size: 1.4rem }
  .hero-title-accent { font-size: 1.5rem }
  .hero-desc { font-size: 13px; margin: 10px 0 16px }
  .hero-buttons { flex-direction: column; gap: 8px; margin-bottom: 16px }
  .btn-primary, .btn-secondary { width: 100%; text-align: center; display: block; padding: 12px 16px; font-size: 14px }
  .hero-chips { gap: 5px; padding-bottom: 20px }
  .hero-chip { font-size: 10px; padding: 4px 9px }
  #stats-bar { padding: 14px; overflow: hidden }
  .stats-inner { flex-wrap: wrap; gap: 10px }
  .stats-icon { width: 36px; height: 36px; font-size: 16px; flex-shrink: 0 }
  .stats-text { font-size: 12px; flex: 1; min-width: 0 }
  .stats-desc { display: none }
  .stats-numbers { width: 100%; margin-left: 0; display: flex; flex-direction: row; justify-content: space-around; border-top: 1px solid rgba(255,255,255,.1); padding-top: 10px }
  .stat-item { border-left: none; padding: 0 10px; flex: 1 }
  .stat-item:not(:last-child) { border-right: 1px solid rgba(255,255,255,.15) }
  .stat-num { font-size: 14px; white-space: nowrap }
  .stat-label { font-size: 9px }
  #info-strip { padding: 10px 14px }
  .info-strip-inner { flex-direction: column; gap: 6px; align-items: flex-start }
  .info-strip-item { font-size: 11px }
  #category-tabs { padding: 0; margin-top: 16px; background: var(--bg) }
  .tabs-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0 14px; background: var(--bg); white-space: nowrap; display: flex; flex-wrap: nowrap }
  .tabs-inner::-webkit-scrollbar { display: none }
  .tab-btn { padding: 8px 14px; font-size: 12px; flex-shrink: 0 }
  #content-area { display: flex !important; flex-direction: column !important; padding: 0 14px; margin-top: 20px; gap: 20px; width: 100% }
  #content-area > main { order: 1; width: 100% }
  #sidebar { order: 2; width: 100% }
  .post-featured { margin-bottom: 14px }
  .post-featured-thumb { height: 180px }
  .post-featured-body { padding: 14px 16px }
  .post-featured-title { font-size: 1.05rem }
  .post-featured-excerpt { font-size: 13px }
  .schema-callout { font-size: 11px; padding: 10px 12px }
  .post-meta { font-size: 11px; gap: 8px }
  .post-card { grid-template-columns: 105px 1fr; margin-bottom: 10px }
  .post-card-thumb { min-height: 95px }
  .post-card-body { padding: 10px 12px }
  .post-card-title { font-size: 13px }
  .faq-section { padding: 16px 14px }
  .faq-head-title { font-size: 13px }
  .faq-q-text { font-size: 12px }
  .faq-a-text { font-size: 11px }
  .widget-appointment { padding: 14px }
  .appt-phone-btn { font-size: 13px; padding: 10px }
  .appt-table { font-size: 11px }
  .doc-header { padding: 12px }
  .doc-name { font-size: 13px }
  .doc-body { padding: 10px 12px }
  .doc-badge { font-size: 9px; padding: 2px 6px }
  .widget-title { font-size: 11px; padding: 8px 12px }
  .widget-body { padding: 10px 12px }
  .menu-widget a { font-size: 11.5px }
  .rp-link { font-size: 11px }
  .location-box { font-size: 11px }
  .widget_recent_entries, .widget_recent_comments,
  .widget_archives, .widget_categories { display: none }
  #site-footer { padding: 16px 14px; font-size: 11px; margin-top: 24px }
  .single-post-header { padding: 28px 14px 24px }
  .single-post-title { font-size: 1.2rem }
  .entry-content p { font-size: 14px }
}

/* ═══════════════════════════════════════
   RESPONSIVE — 480px
═══════════════════════════════════════ */
@media (max-width:480px) {
  .hero-title { font-size: 1.25rem }
  .hero-title-accent { font-size: 1.3rem }
  .hero-chip { font-size: 9.5px; padding: 3px 8px }
  .post-card { display: flex !important; flex-direction: column }
  .post-card-thumb { height: 140px; min-height: unset }
  .post-featured-thumb { height: 155px }
}

/* ═══════════════════════════════════════
   iOS Safe Area
═══════════════════════════════════════ */
@supports (padding: max(0px)) {
  .header-inner {
    padding-left:  max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
  }
  #site-footer { padding-bottom: max(22px, env(safe-area-inset-bottom)) }
}

@media print {
  #site-header, #sidebar, #site-footer,
  #stats-bar, #info-strip, #category-tabs, .hero-latest { display: none }
  #content-area { grid-template-columns: 1fr }
  body { background: #fff; color: #000 }
}


/* ==============================================
   푸터 텍스트 가시성 수정
   ============================================== */
#site-footer {
  color: rgba(255, 255, 255, 0.85);
}
#site-footer p {
  color: rgba(255, 255, 255, 0.80);
  margin: 0;
}
#site-footer strong {
  color: #ffffff;
  font-weight: 700;
}
#site-footer a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}
#site-footer a:hover {
  color: #C9A84C;
  text-decoration: underline;
}