/* Shared navigation icons and interior pages. */
.ui-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.search-btn .ui-icon, .hamburger .ui-icon { width: 20px; height: 20px; }
.home-page .mobile-nav .search-btn::after, .home-page .mobile-nav .hamburger::after { content: none; }
.language-label { font-family: -apple-system, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .06em; }
body.subpage {
  --bg: #fafbf8; --surface: #f0f3ed; --surface2: #e8eee5;
  --text: #243a32; --text-muted: #67756c; --border: #dde5dc; --accent: #345d4d;
  min-height:100svh; display:flex; flex-direction:column;
  background: var(--bg); color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  font-weight: 400;
}
[data-theme="dark"] body.subpage { --bg:#111b16; --surface:#1d2b23; --surface2:#2b3c31; --text:#eaf0e9; --text-muted:#a4b2aa; --border:#34473a; --accent:#c2ded0; background:var(--bg); color:var(--text); }
.subpage .site-header { height:72px; background:var(--bg); border-bottom:1px solid var(--border); }
.subpage .header-inner { max-width:1240px; height:72px; padding:0 32px; }
.subpage .logo { font-size:14px; font-weight:600; color:var(--text); }
.subpage .site-footer { background:var(--surface); border-color:var(--border); }
.subpage .all-cats-page, .subpage .tags-page, .subpage .travel-map-page, .subpage .contact-page { max-width:1120px; margin:auto; padding:64px 32px 88px; }
.subpage .all-cats-header, .subpage .tags-header, .subpage .map-header, .subpage .contact-header { text-align:left; margin-bottom:36px; }
.subpage .all-cats-header h1, .subpage .tags-header h1, .subpage .map-header h1, .subpage .contact-header h1, .subpage .cat-title { font-family:inherit; font-size:clamp(30px,4vw,44px); font-weight:500; letter-spacing:-.045em; margin-bottom:14px; line-height:1.3; }
.subpage .all-cats-header p, .subpage .contact-header p, .subpage .cat-desc, .subpage .map-header p { color:var(--text-muted); line-height:1.8; font-size:14px; }
.subpage .all-cats-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.subpage .all-cat-card { display:flex; align-items:center; gap:20px; padding:28px; border:1px solid var(--border); border-radius:24px; background:transparent; }
.subpage .all-cat-card:hover { transform:translateY(-3px); background:var(--surface); box-shadow:none; }
.subpage .all-cat-icon, .subpage .contact-icon { display:flex; justify-content:center; align-items:center; width:56px; height:56px; flex-shrink:0; border-radius:18px; background:var(--surface); color:var(--accent); }
.subpage .all-cat-info { flex:1; min-width:0; }
.subpage .all-cat-info h3 { font-family:inherit; font-size:18px; font-weight:500; }
.subpage .all-cat-info p { font-size:11px; letter-spacing:.06em; color:var(--text-muted); margin-top:7px; }
.subpage .all-cat-count { font-size:12px; color:var(--text-muted); white-space:nowrap; }
.subpage .all-cat-arrow { font-size:20px; color:var(--accent); }
.subpage .cat-header { max-width:1120px; margin:auto; padding:56px 32px 36px; text-align:left; }
.subpage .cat-header .back-link { font-size:12px; color:var(--text-muted); margin-bottom:28px; }
.subpage .cat-icon-lg { display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin:0 0 22px; border-radius:18px; background:var(--surface); color:var(--accent); }
.subpage .grid-wrap { max-width:1120px; padding:0 32px 88px; }
.subpage .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; }
.subpage .card { background:transparent; border-radius:0; }
.subpage .card:hover { transform:translateY(-3px); box-shadow:none; }
.subpage .card-img { height:auto; aspect-ratio:4/3; border-radius:20px; }
.subpage .card-body { padding:18px 2px 0; }
.subpage .card-title { font-family:inherit; font-size:17px; font-weight:500; line-height:1.65; letter-spacing:-.025em; }
.subpage .card-excerpt { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.subpage .no-posts { grid-column:1/-1; padding:40px 0; }
.subpage .tag-search-label { display:block; font-size:12px; margin-bottom:10px; color:var(--text-muted); }
.subpage .tag-search { width:100%; max-width:540px; min-height:48px; border:1px solid var(--border); border-radius:14px; padding:12px 16px; font:inherit; font-size:16px; color:var(--text); background:var(--surface); margin-bottom:24px; }
.subpage .tag-cloud { gap:10px; padding-bottom:28px; border-bottom:1px solid var(--border); }
.subpage .tag-cloud-item { font-family:inherit; min-height:40px; padding:9px 14px; font-size:12px; background:transparent; border:1px solid var(--border); color:var(--text); }
.subpage .tag-cloud-item[hidden] { display:none; }
.subpage .tag-cloud-item.active { background:var(--accent); color:var(--bg); border-color:var(--accent); }
.subpage .tag-results { scroll-margin-top:90px; }
.subpage .tag-results .section-divider { padding:0; }
.subpage .tag-story { border-color:var(--border) !important; border-radius:16px !important; }
.subpage .contact-page { max-width:960px; }
.subpage .contact-card { border:1px solid var(--border); border-radius:24px; background:transparent; padding:28px; gap:20px; margin-bottom:18px; }
.subpage .contact-info { min-width:0; }
.subpage .contact-email { overflow-wrap:anywhere; line-height:1.8; }
.subpage .contact-cta { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border-radius:100px; background:var(--surface); white-space:nowrap; font-size:12px; }
.subpage .about-section { max-width:820px; padding:64px 32px 88px; }
.subpage .about-section h1 { font-family:inherit; font-size:38px; font-weight:500; letter-spacing:-.035em; margin-bottom:36px; }
.subpage .about-section h1 em { display:inline-block; font-family:inherit; font-size:20px; font-style:normal; margin-top:14px; }
.subpage .about-section p { font-size:16px; line-height:2; max-width:64ch; }
.subpage main > .container:has(> h1) { max-width:820px !important; padding:64px 32px 88px !important; font-size:15px; line-height:1.95; }
.subpage main > .container:has(> h1) h1, .subpage main > .container:has(> h1) h2 { font-family:inherit; font-weight:500; }
.subpage .map-stats { justify-content:flex-start; gap:48px; padding-top:24px; border-top:1px solid var(--border); }
.subpage .stat-item { align-items:flex-start; }
.subpage .stat-number { color:var(--accent); font-family:inherit; font-size:32px; }
.subpage .travel-map { height:500px; border:1px solid var(--border); border-radius:24px; box-shadow:none; margin-bottom:36px; }
.subpage .country-list { margin-top:36px; }
.subpage .country-list h2 { text-align:left; font-family:inherit; font-size:23px; }
.subpage .country-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.subpage .country-card { display:flex; align-items:center; gap:14px; text-align:left; padding:20px; border:1px solid var(--border); background:transparent; border-radius:18px; color:var(--text); font-family:inherit; }
.subpage .country-card:hover { background:var(--surface); box-shadow:none; transform:translateY(-2px); }
.subpage .country-flag { display:flex; align-items:center; margin:0; color:var(--accent); }
.subpage .country-name { font-size:14px; font-weight:500; flex:1; }
.subpage .post-count { color:var(--text-muted); background:var(--surface); white-space:nowrap; }
.subpage a:focus-visible, .subpage button:focus-visible, .subpage input:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@media (min-width:601px) and (max-width:900px) {
 .subpage .desktop-nav { gap:14px; }
 .subpage .header-inner { padding:0 24px; gap:16px; }
 .subpage .logo { font-size:12px; }
 .subpage .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .subpage .all-cat-card { padding:20px; gap:12px; }
 .subpage .country-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
 .subpage .site-header, .subpage .header-inner { height:64px; }
 .subpage .header-inner { padding:0 20px; gap:8px; }
 .subpage .logo { font-size:12px; }
 .subpage .mobile-nav { gap:2px; }
 .subpage .lang-btn { min-width:30px; }
 .subpage .mobile-menu { margin:0 12px; padding:8px; background:var(--bg); border:1px solid var(--border); border-radius:18px; }
 .subpage .mobile-menu a { padding:13px 16px; }
 .subpage .search-bar { background:var(--bg); padding:16px 20px; max-height:calc(100svh - 64px); overflow-y:auto; }
 .subpage .search-inner input { min-width:0; font-size:16px; }
 .subpage .search-result-item { flex-wrap:wrap; }
 .subpage .search-result-title { width:100%; }
 .subpage .all-cats-page, .subpage .tags-page, .subpage .travel-map-page, .subpage .contact-page, .subpage .about-section { padding:36px 20px 56px; }
 .subpage .all-cats-header, .subpage .tags-header, .subpage .map-header, .subpage .contact-header { margin-bottom:28px; }
 .subpage .all-cats-grid { grid-template-columns:1fr; gap:12px; }
 .subpage .all-cat-card { padding:20px 16px; gap:14px; border-radius:20px; }
 .subpage .all-cat-icon, .subpage .contact-icon { width:46px; height:46px; border-radius:15px; }
 .subpage .all-cat-info h3 { font-size:16px; }
 .subpage .all-cat-arrow { display:none; }
 .subpage .cat-header { padding:32px 20px 28px; }
 .subpage .cat-title { font-size:30px; }
 .subpage .grid-wrap { padding:0 20px 56px; }
 .subpage .card-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .subpage .card { display:grid; grid-template-columns:minmax(0,1fr) 104px; gap:16px; padding-bottom:24px; border-bottom:1px solid var(--border); align-items:center; }
 .subpage .card-img { grid-column:2; grid-row:1; width:104px; height:118px; border-radius:14px; }
 .subpage .card-img-wrap { grid-column:2; grid-row:1; width:104px; border-radius:14px; overflow:hidden; }
 .subpage .card-body { grid-column:1; grid-row:1; min-width:0; padding:0; }
 .subpage .card-title { font-size:15px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
 .subpage .card-excerpt { -webkit-line-clamp:1; font-size:11px; }
 .subpage .tag-cloud { gap:8px; }
 .subpage .tag-story { flex-wrap:wrap; gap:8px !important; padding:16px !important; }
 .subpage .tag-story > span:first-child { width:100%; }
 .subpage .tag-story > span:nth-child(2) { flex-basis:100% !important; font-size:14px !important; line-height:1.8; }
 .subpage .contact-card { display:grid; grid-template-columns:46px minmax(0,1fr); padding:20px 16px; gap:14px; }
 .subpage .contact-info { grid-column:2; grid-row:1; }
 .subpage .contact-cta { grid-column:2; justify-self:start; margin-left:0; }
 .subpage .contact-email { font-size:12px; }
 .subpage .about-section h1 { font-size:32px; }
 .subpage .about-section p { font-size:14px; }
 .subpage main > .container:has(> h1) { padding:36px 20px 56px !important; font-size:14px; }
 .subpage .map-stats { gap:32px; margin-top:24px; }
 .subpage .stat-number { font-size:27px; }
 .subpage .travel-map { height:380px; border-radius:20px; }
 .subpage .country-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .subpage .country-card { flex-wrap:wrap; gap:10px; padding:16px 12px; }
 .subpage .country-name { font-size:13px; }
 .subpage .post-count { font-size:10px; }
 .subpage .site-footer { padding:32px 0; }
}
@media (prefers-reduced-motion:reduce) { .subpage *, .subpage *::before, .subpage *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }

.subpage > main { flex:1; width:100%; }
.subpage > header, .subpage > footer { flex-shrink:0; }
.subpage main > .container:has(> h1) { margin:0 auto; }
.subpage main > .container:has(> h1) h2 { margin:32px 0 12px; font-size:21px; }
.subpage main > .container:has(> h1) p { margin-bottom:16px; }
.subpage main > .container:has(> h1) ul { padding-left:20px; margin-bottom:20px; }

.subpage .cat-desc { text-transform:none; letter-spacing:0; }

.home-page .pagination[hidden] { display:none; }
.home-page .pagination button { font-family:inherit; cursor:pointer; }
.home-page .pagination button:disabled { opacity:.3; cursor:default; }
html[lang="en"] .home-page .home-section-heading h2 { letter-spacing:-.035em; }

.error-page { text-align:center; }
.error-code { font-size:64px; color:var(--text-muted); }
.error-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
@media (max-width:600px) {
 .home-page .card-title, .subpage .card-title { display:block; -webkit-line-clamp:unset; overflow:visible; font-size:16px; line-height:1.65; }
 .home-page .card-meta, .subpage .card-meta, .home-page .featured-meta { font-size:12px; line-height:1.6; }
 .home-page .card-excerpt, .subpage .card-excerpt { display:none; }
 .home-page .featured-excerpt { font-size:14px; }
 .home-page .card { align-items:start; }
 .subpage .card { align-items:start; }
 .subpage .tag-story > span:first-child { font-size:12px !important; }
}
@media (min-width:601px) and (max-width:1050px) {
 html[lang="en"] .desktop-nav { gap:12px; }
 html[lang="en"] .header-inner { padding-left:20px; padding-right:20px; }
 html[lang="en"] .logo { font-size:12px; }
}

@media (min-width: 601px) and (max-width: 850px) {
  .subpage .all-cats-grid { grid-template-columns: 1fr; }
}
