/* ═══════════════════════════════════════════════════════════
   K-EnterTech Hub · Premium Dark Grey Theme
   Inspired by Linear / Vercel / Google Stitch
   Slate #22252e · Surface #2a2d38 · Gold #c9a84c
════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=Noto+Serif+KR:wght@400;700&display=swap');

/* ─── Variables ─── */
:root {
  --bg:         #1e2128;
  --surface:    #262930;
  --surface2:   #2e3240;
  --card:       #262930;
  --card-h:     #2e3240;
  --line:       rgba(255,255,255,0.07);
  --line-h:     rgba(255,255,255,0.14);
  --gold:       #c9a84c;
  --gold-l:     #e4c97a;
  --gold-dim:   rgba(201,168,76,0.12);
  --red:        #e05252;
  --t1:         #eaedf4;
  --t2:         #9aa0b8;
  --t3:         #545d78;
  --serif:      'DM Serif Display','Noto Serif KR',Georgia,serif;
  --sans:       'DM Sans','Apple SD Gothic Neo',system-ui,sans-serif;
  --r:          10px;
  --r-lg:       18px;
  --sh:         0 2px 12px rgba(0,0,0,.28);
  --sh-h:       0 8px 40px rgba(0,0,0,.5);
  --glow:       0 0 0 3px rgba(201,168,76,.18);
  --max:        1200px;
  --nav-h:      56px;
}

/* ─── Reset & Base ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--t1);
  font-size: 15px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
::selection { background: rgba(201,168,76,.22); }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--line-h); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

/* ─── HEADER ─── */
.site-header {
  position: sticky; top: 0; z-index: 200;
  background: rgba(18,20,26,.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.header-banner {
  max-width: var(--max); margin: 0 auto;
  padding: 0 28px;
  height: 56px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.header-logo a, .site-name-text {
  font-family: var(--serif);
  font-size: 20px; font-weight: 700;
  color: var(--t1);
  letter-spacing: -.01em;
}
.site-logo { height: 34px; }
.header-right { display: flex; align-items: center; gap: 12px; }
.header-date { color: var(--t3); font-size: 11px; display: none; }
@media(min-width:900px){ .header-date { display: block; } }
.site-description { display: none; }

.header-member-btn {
  display: inline-flex; align-items: center;
  padding: 5px 14px; border-radius: 20px;
  font-size: 12px; font-weight: 500;
  border: 1px solid var(--line-h);
  color: var(--t2);
  transition: all .18s;
  cursor: pointer;
}
.header-member-btn:hover { border-color: var(--gold); color: var(--gold); background: var(--gold-dim); }
.header-member-btn--subscribe {
  background: var(--gold); border-color: var(--gold);
  color: #12141a; font-weight: 700;
}
.header-member-btn--subscribe:hover { background: var(--gold-l); border-color: var(--gold-l); color: #12141a; }

/* Nav */
.header-nav-bar {
  background: rgba(18,20,26,.92);
  border-bottom: 1px solid var(--line);
  padding: 0 28px;
}
.nav-inner {
  max-width: var(--max); margin: 0 auto;
  display: flex; align-items: center; gap: 2px;
}
.nav-inner a, .site-nav a {
  display: inline-block;
  padding: 10px 11px;
  font-size: 11px; font-weight: 600;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--t3);
  border-bottom: 2px solid transparent;
  transition: all .18s;
}
.nav-inner a:hover, .site-nav a:hover { color: var(--t1); border-bottom-color: var(--gold); }

/* Search */
.header-search-box { position: relative; }
.search-form { display: flex; align-items: center; gap: 4px; }
.search-input {
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line);
  color: var(--t1); border-radius: 6px;
  padding: 5px 12px; font-size: 12px; width: 140px;
  transition: all .2s; font-family: var(--sans);
}
.search-input:focus { border-color: var(--gold); width: 180px; outline: none; background: rgba(255,255,255,.09); }
.search-input::placeholder { color: var(--t3); }
.search-btn { background: none; border: none; color: var(--t3); cursor: pointer; padding: 4px; font-size: 14px; }
.search-results {
  position: absolute; top: calc(100% + 8px); right: 0;
  width: 320px; max-height: 400px; overflow-y: auto;
  background: var(--surface); border: 1px solid var(--line-h);
  border-radius: var(--r); box-shadow: var(--sh-h);
  display: none; z-index: 300;
}
.search-result-item {
  display: flex; gap: 12px; align-items: center;
  padding: 12px 16px; border-bottom: 1px solid var(--line);
  transition: background .15s;
}
.search-result-item:hover { background: var(--card-h); }
.search-result-img { width: 44px; height: 44px; border-radius: 6px; overflow: hidden; flex-shrink: 0; }
.search-result-img img { width: 100%; height: 100%; object-fit: cover; }
.search-result-title { font-size: 13px; font-weight: 500; color: var(--t1); line-height: 1.4; }
.search-result-date { font-size: 11px; color: var(--t3); margin-top: 3px; }
.search-loading, .search-empty { padding: 16px; color: var(--t3); font-size: 13px; text-align: center; }

/* ─── LAYOUT ─── */
main.main, .main { background: var(--bg); }
.kth-wrap { max-width: var(--max); margin: 0 auto; padding: 36px 28px 0; }

/* ─── HERO ─── */
.kth-hero {
  display: grid;
  grid-template-columns: 1fr 300px;
  grid-template-rows: repeat(3, auto);
  gap: 2px;
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 48px;
  min-height: 420px;
}
.kth-hero-main {
  grid-row: 1 / 4;
  position: relative;
  overflow: hidden;
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 420px;
  transition: opacity .2s;
}
.kth-hero-main:hover .kth-hero-img img { transform: scale(1.03); }
.kth-hero-img {
  position: absolute; inset: 0;
}
.kth-hero-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.kth-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(14,16,22,.95) 0%, rgba(14,16,22,.45) 50%, transparent 100%);
}
.kth-hero-body {
  position: relative; z-index: 2;
  padding: 32px 28px;
}
.kth-hero-title {
  font-family: var(--serif); font-size: clamp(22px,3vw,32px);
  font-weight: 700; line-height: 1.2;
  color: #fff; margin: 10px 0 10px;
}
.kth-hero-excerpt { color: rgba(255,255,255,.65); font-size: 14px; line-height: 1.6; margin-bottom: 14px; }

/* Hero side cards */
.kth-hero-side-card {
  display: flex; gap: 0;
  flex-direction: column;
  background: var(--surface);
  border-left: 2px solid var(--line);
  padding: 18px 20px;
  transition: background .18s;
}
.kth-hero-side-card:hover { background: var(--card-h); }
.kth-hero-side-img { width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: 6px; margin-bottom: 12px; }
.kth-hero-side-img img { width: 100%; height: 100%; object-fit: cover; }
.kth-hero-side-title { font-family: var(--serif); font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--t1); margin: 8px 0 6px; }

/* ─── BADGES ─── */
.kth-badge {
  display: inline-block;
  padding: 3px 10px; border-radius: 4px;
  font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  background: var(--gold-dim); color: var(--gold);
  border: 1px solid rgba(201,168,76,.25);
}
.kth-badge--sm { font-size: 9.5px; padding: 2px 8px; }

/* ─── META ─── */
.kth-meta { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--t3); }
.kth-meta--sm { font-size: 11px; }
.kth-meta-sep { opacity: .4; }
.kth-meta-author { font-weight: 500; color: var(--t2); }

/* ─── SECTION HEADER ─── */
.kth-section { margin-bottom: 48px; }
.kth-section-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 14px; margin-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.kth-section-title {
  font-family: var(--serif); font-size: 18px; font-weight: 700;
  color: var(--t1); display: flex; align-items: center; gap: 10px;
}
.kth-section-title::before {
  content: ''; display: block; width: 3px; height: 18px;
  background: var(--gold); border-radius: 2px; flex-shrink: 0;
}
.kth-section-title--light { color: var(--t1); }
.kth-section-title--light::before { background: var(--gold); }
.kth-section-more {
  font-size: 12px; font-weight: 600; color: var(--t3);
  border: 1px solid var(--line-h); padding: 5px 14px; border-radius: 20px;
  transition: all .18s;
}
.kth-section-more:hover { color: var(--gold); border-color: var(--gold); background: var(--gold-dim); }

/* ─── CARD GRID ─── */
.kth-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
}
.kth-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: all .22s;
  cursor: pointer;
}
.kth-card:hover {
  background: var(--card-h);
  border-color: var(--line-h);
  box-shadow: var(--sh-h);
  transform: translateY(-4px);
}
.kth-card-img {
  aspect-ratio: 16/9; overflow: hidden;
}
.kth-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.kth-card:hover .kth-card-img img { transform: scale(1.04); }
.kth-card-body { padding: 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.kth-card-title {
  font-family: var(--serif); font-size: 16px; font-weight: 700;
  line-height: 1.35; color: var(--t1);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.kth-card:hover .kth-card-title { color: var(--gold); }
.kth-card-excerpt {
  font-size: 13px; color: var(--t2); line-height: 1.6;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  flex: 1;
}

/* ─── PAGINATION ─── */
.kth-pagination { margin-top: 40px; }
.kth-pagination .pagination { display: flex; gap: 8px; justify-content: center; align-items: center; }
.kth-pagination a, .pagination a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 14px;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: 8px; color: var(--t2); font-size: 13px; font-weight: 500;
  transition: all .18s;
}
.kth-pagination a:hover, .pagination a:hover {
  border-color: var(--gold); color: var(--gold); background: var(--gold-dim);
}

/* ─── YOUTUBE ─── */
.kth-yt {
  background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 48px 0; margin-bottom: 0;
}
.kth-yt-inner { max-width: var(--max); margin: 0 auto; padding: 0 28px; }
.kth-yt-tabs { display: flex; gap: 8px; }
.kth-yt-tab {
  padding: 6px 16px; border-radius: 20px; font-size: 12px; font-weight: 600;
  border: 1px solid var(--line-h); color: var(--t3); background: transparent;
  cursor: pointer; transition: all .18s; font-family: var(--sans);
}
.kth-yt-tab.active, .kth-yt-tab:hover {
  background: var(--gold-dim); border-color: var(--gold); color: var(--gold);
}
.kth-yt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px; margin-top: 24px;
}
.kth-yt-card {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--r); overflow: hidden;
  transition: all .22s; display: flex; flex-direction: column;
}
.kth-yt-card:hover { border-color: var(--line-h); transform: translateY(-3px); box-shadow: var(--sh-h); }
.kth-yt-thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.kth-yt-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.kth-yt-card:hover .kth-yt-thumb img { transform: scale(1.05); }
.kth-yt-play {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.3); color: #fff; font-size: 22px;
  opacity: 0; transition: opacity .2s;
}
.kth-yt-card:hover .kth-yt-play { opacity: 1; }
.kth-yt-ttl {
  padding: 12px 14px; font-size: 12.5px; font-weight: 500; color: var(--t2); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  flex: 1;
}
.kth-yt-chlink { margin-top: 20px; text-align: right; }
.kth-yt-chlink a {
  font-size: 13px; font-weight: 600; color: var(--gold);
  border: 1px solid rgba(201,168,76,.3); padding: 8px 20px; border-radius: 20px;
  display: inline-block; transition: all .18s;
}
.kth-yt-chlink a:hover { background: var(--gold-dim); }

/* ─── NEWSLETTER ─── */
.kth-nl {
  background: linear-gradient(135deg, #1a1d25 0%, #22283a 100%);
  border-top: 1px solid var(--line); padding: 52px 28px;
}
.kth-nl-inner {
  max-width: var(--max); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap;
}
.kth-nl-left { display: flex; align-items: center; gap: 20px; }
.kth-nl-icon {
  width: 52px; height: 52px; border-radius: 14px;
  background: var(--gold-dim); border: 1px solid rgba(201,168,76,.25);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); flex-shrink: 0;
}
.kth-nl-title { font-family: var(--serif); font-size: 18px; font-weight: 700; color: var(--t1); margin-bottom: 4px; }
.kth-nl-desc { font-size: 13px; color: var(--t3); line-height: 1.5; }
.kth-nl-form { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; position: relative; }
.kth-nl-input {
  background: rgba(255,255,255,.07); border: 1px solid var(--line-h);
  color: var(--t1); border-radius: 8px; padding: 10px 18px;
  font-size: 14px; width: 260px; font-family: var(--sans);
  transition: all .2s;
}
.kth-nl-input:focus { outline: none; border-color: var(--gold); background: rgba(255,255,255,.1); box-shadow: var(--glow); }
.kth-nl-input::placeholder { color: var(--t3); }
.kth-nl-btn {
  background: var(--gold); color: #12141a; border: none;
  padding: 10px 24px; border-radius: 8px; font-size: 14px; font-weight: 700;
  cursor: pointer; font-family: var(--sans); transition: all .18s; white-space: nowrap;
}
.kth-nl-btn:hover { background: var(--gold-l); }
.kth-nl-ok, .kth-nl-err { display: none; font-size: 12px; color: var(--t2); margin-top: 6px; width: 100%; }

/* ─── FOOTER ─── */
.site-footer {
  background: #12141a; border-top: 1px solid var(--line);
  color: var(--t2);
}
.footer-inner { max-width: var(--max); margin: 0 auto; padding: 52px 28px 32px; }
.footer-top {
  display: grid; grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--line);
}
.footer-logo-img { height: 32px; opacity: .85; }
.footer-logo-text { font-family: var(--serif); font-size: 18px; color: var(--t1); }
.footer-tagline { font-size: 13px; color: var(--t3); margin-top: 10px; line-height: 1.6; }
.footer-col-title { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--t1); margin-bottom: 14px; }
.footer-nav-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.footer-nav-list a { font-size: 13px; color: var(--t3); transition: color .15s; }
.footer-nav-list a:hover { color: var(--gold); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px;
  padding-top: 24px; font-size: 11px; color: var(--t3);
}
.footer-social { display: flex; gap: 12px; }
.footer-social a { color: var(--t3); font-size: 14px; transition: color .15s; }
.footer-social a:hover { color: var(--gold); }

/* ─── POST / PAGE ─── */
.post-header, .article-header { background: var(--bg); padding: 52px 28px 0; }
.post-title-wrap { max-width: 780px; margin: 0 auto; }
.post-title, .article-title { font-family: var(--serif); font-size: clamp(26px,4vw,42px); font-weight: 700; line-height: 1.2; color: var(--t1); }
.post-meta, .article-meta { color: var(--t3); font-size: 13px; margin-top: 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.post-feature-image { max-width: 900px; margin: 32px auto; border-radius: var(--r-lg); overflow: hidden; }
.post-feature-image img { width: 100%; }
.gh-content, .post-content, .article-content {
  max-width: 720px; margin: 0 auto; padding: 40px 28px 80px;
  color: var(--t1);
}
.gh-content h2, .gh-content h3, .gh-content h4 { font-family: var(--serif); color: var(--t1); margin: 36px 0 16px; line-height: 1.3; }
.gh-content p { color: #c8ccda; line-height: 1.85; margin-bottom: 22px; }
.gh-content a { color: var(--gold); }
.gh-content a:hover { color: var(--gold-l); }
.gh-content blockquote {
  border-left: 3px solid var(--gold); background: var(--surface);
  padding: 18px 24px; border-radius: 0 var(--r) var(--r) 0; margin: 28px 0;
  color: var(--t2); font-style: italic;
}
.gh-content code, .gh-content pre {
  background: var(--surface2); color: var(--t1); border-radius: 6px;
  font-size: 13px; border: 1px solid var(--line);
}
.gh-content code { padding: 2px 7px; }
.gh-content pre { padding: 20px; overflow-x: auto; margin: 24px 0; }
.gh-content hr { border: none; border-top: 1px solid var(--line); margin: 40px 0; }
.gh-content img { border-radius: var(--r); margin: 28px auto; }
.gh-content figure { margin: 28px 0; }
.gh-content figcaption { font-size: 12px; color: var(--t3); text-align: center; margin-top: 8px; }

/* kg-bookmark */
.kg-bookmark-card {
  display: block; border: 1px solid var(--line-h); border-left: 4px solid var(--gold);
  border-radius: var(--r); background: var(--surface); margin: 24px 0; overflow: hidden;
}
.kg-bookmark-container { display: flex; align-items: stretch; text-decoration: none; color: inherit; }
.kg-bookmark-content { flex: 1; padding: 16px 20px; }
.kg-bookmark-title { font-size: 16px; font-weight: 700; color: var(--t1); margin-bottom: 6px; line-height: 1.4; }
.kg-bookmark-description { font-size: 13px; color: var(--t2); line-height: 1.5; }
.kg-bookmark-metadata { display: flex; gap: 6px; font-size: 11px; color: var(--t3); margin-top: 10px; }
.kg-bookmark-thumbnail { width: 140px; flex-shrink: 0; overflow: hidden; }
.kg-bookmark-thumbnail img { width: 100%; height: 100%; object-fit: cover; }

/* ─── TAG / AUTHOR pages ─── */
.tag-header, .author-header {
  background: linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%);
  padding: 52px 28px 40px; border-bottom: 1px solid var(--line);
}
.tag-name, .author-name { font-family: var(--serif); font-size: 32px; font-weight: 700; color: var(--t1); }
.tag-description, .author-bio { color: var(--t2); margin-top: 10px; font-size: 14px; }

/* ─── Error page ─── */
.error-page { max-width: 600px; margin: 100px auto; text-align: center; padding: 0 28px; }
.error-title { font-family: var(--serif); font-size: 80px; font-weight: 700; color: var(--t3); line-height: 1; }
.error-description { color: var(--t2); margin: 16px 0 32px; font-size: 16px; }
.error-page a {
  display: inline-block; padding: 12px 28px; border-radius: 8px;
  background: var(--gold); color: #12141a; font-weight: 700;
}

/* ─── PORTAL 숨기기 ─── */
iframe.gh-portal-triggerbtn-iframe,
iframe[title="membersjs-trigger"] { display: none !important; }

/* ─── RESPONSIVE ─── */
@media (max-width: 900px) {
  .kth-hero { grid-template-columns: 1fr; grid-template-rows: auto; min-height: auto; }
  .kth-hero-main { min-height: 300px; grid-row: auto; }
  .kth-hero-side-card { border-left: none; border-top: 1px solid var(--line); }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 28px; }
  .kth-nl-inner { flex-direction: column; gap: 28px; }
  .kth-nl-input { width: 100%; }
}
@media (max-width: 600px) {
  :root { --max: 100%; }
  .kth-wrap { padding: 24px 16px 0; }
  .header-banner { padding: 0 16px; }
  .header-nav-bar { padding: 0 16px; }
  .kth-grid { grid-template-columns: 1fr; }
  .kth-yt-grid { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .kth-hero { border-radius: var(--r); }
  .kth-hero-body { padding: 20px 16px; }
  .kth-hero-title { font-size: 20px; }
  .kth-section-head { flex-wrap: wrap; gap: 10px; }
}

/* ─── NAV ul/li 가로 배치 fix ─── */
.nav-inner ul, .site-nav ul { 
  display: flex !important; flex-direction: row !important;
  list-style: none !important; padding: 0 !important; margin: 0 !important;
  flex-wrap: wrap; gap: 0;
}
.nav-inner ul li, .site-nav ul li { display: inline-flex !important; }
.nav-inner ul li a, .site-nav ul li a {
  display: inline-block !important;
  padding: 10px 12px !important; font-size: 11px !important;
  font-weight: 600 !important; letter-spacing: .07em !important;
  text-transform: uppercase !important; color: var(--t3) !important;
  border-bottom: 2px solid transparent !important; transition: all .18s !important;
  white-space: nowrap;
}
.nav-inner ul li a:hover, .site-nav ul li a:hover,
.nav-inner ul li.nav-current a, .site-nav ul li.nav-current a {
  color: var(--t1) !important; border-bottom-color: var(--gold) !important;
}

/* ─── Hero 이미지 없을 때 fallback ─── */
.kth-hero-main:not(:has(.kth-hero-img)) {
  background: linear-gradient(135deg, #1a1f2e 0%, #2d3450 100%);
  min-height: 340px;
}

/* ─── 카드 이미지 없을 때 fallback ─── */
.kth-card:not(:has(.kth-card-img)) .kth-card-body { padding-top: 22px; }
.kth-card:not(:has(.kth-card-img)) {
  background: linear-gradient(135deg, var(--card) 0%, var(--surface2) 100%);
  border-top: 3px solid var(--gold);
}

/* ─── YouTube 이미지 없을때 ─── */
.kth-yt-thumb:not(:has(img)) { background: var(--surface2); }

/* ─── Header nav-bar 안 nav-inner max-width 적용 ─── */
.header-nav-bar {
  max-width: 100% !important;
}
.header-nav-bar .nav-inner {
  max-width: var(--max) !important;
  margin: 0 auto !important;
}
.header-nav-bar .header-search-box {
  flex-shrink: 0;
}

/* ─── Ghost pagination 스타일 fix ─── */
.pagination { 
  display: flex !important; gap: 8px !important; 
  justify-content: center !important; align-items: center !important;
  padding: 20px 0 !important;
}
.pagination .page-number { color: var(--t3) !important; font-size: 13px !important; }

/* ─── Featured 기사 없을 때 hero 숨김 ─── */
.kth-hero:empty { display: none; }

/* ─── FINE TUNING v3 ─── */

/* 헤더 위 여백 제거 */
body { margin: 0 !important; padding: 0 !important; }
.site-header { top: 0 !important; margin-top: 0 !important; }

/* Breaking banner가 있으면 hero와 붙게 */
.nyt-breaking-banner + .main .kth-wrap,
.main .kth-wrap { padding-top: 32px; }

/* Hero 더 임팩트 있게 */
.kth-hero { min-height: 460px; margin-bottom: 56px; }
.kth-hero-main { min-height: 460px; }
.kth-hero-title { 
  font-size: clamp(24px, 2.8vw, 38px) !important; 
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
  margin-bottom: 12px;
}
.kth-hero-excerpt { font-size: 15px !important; max-width: 520px; }
.kth-hero-body { padding: 36px 32px !important; }

/* Side cards 더 깔끔하게 */
.kth-hero-side-card { padding: 16px !important; }
.kth-hero-side-title { font-size: 14px !important; line-height: 1.4 !important; }
.kth-hero-side-card:nth-child(2) { border-top: none; }

/* 카드 제목 세리프 강조 */
.kth-card-title { font-size: 15px !important; letter-spacing: -.01em; }

/* 이미지 없는 카드 최소 높이 */
.kth-card:not(:has(.kth-card-img)) { min-height: 180px; }
.kth-card:not(:has(.kth-card-img)) .kth-card-body { padding: 22px 18px 20px !important; }

/* Section header 간격 */
.kth-section-head { margin-bottom: 20px !important; }

/* YouTube 섹션 개선 */
.kth-yt { padding: 52px 0 !important; }
.kth-yt-inner { padding: 0 28px !important; }
.kth-yt-grid { 
  grid-template-columns: repeat(6, 1fr) !important; 
  gap: 14px !important; 
  margin-top: 20px !important;
}
@media(max-width:1100px){ .kth-yt-grid { grid-template-columns: repeat(3,1fr) !important; } }
@media(max-width:600px){ .kth-yt-grid { grid-template-columns: repeat(2,1fr) !important; } }
.kth-yt-card { border-radius: 8px !important; }
.kth-yt-ttl { 
  font-size: 12px !important; padding: 10px 12px !important; 
  color: var(--t2) !important; 
  -webkit-line-clamp: 3 !important;
}
.kth-yt-thumb { aspect-ratio: 16/9 !important; background: var(--surface2); }

/* Newsletter 가로 정렬 개선 */
.kth-nl { padding: 56px 28px !important; }
.kth-nl-inner { 
  max-width: 900px !important; margin: 0 auto !important;
  display: flex !important; align-items: center !important;
  gap: 48px !important; justify-content: space-between !important;
}
.kth-nl-left { max-width: 400px; }
.kth-nl-form { flex-direction: row !important; flex-wrap: nowrap !important; }
.kth-nl-input { 
  width: 240px !important; min-width: 200px;
  padding: 11px 18px !important; font-size: 14px !important;
}
.kth-nl-btn { 
  padding: 11px 22px !important; font-size: 14px !important;
  white-space: nowrap !important; flex-shrink: 0 !important;
}
@media(max-width:700px){
  .kth-nl-inner { flex-direction: column !important; gap: 28px !important; }
  .kth-nl-form { flex-wrap: wrap !important; }
  .kth-nl-input { width: 100% !important; }
}

/* Footer 개선 */
.footer-top { padding-bottom: 48px !important; }
.footer-brand { max-width: 260px; }
.site-footer { padding-bottom: 0 !important; }

/* Ghost portal 버튼 확실히 숨기기 */
iframe[data-testid="portal-popup-frame"] { display: block !important; }
#ghost-portal-root { z-index: 9999 !important; }

/* codeinjection_foot 결제 팝업 z-index */
#kth-modal-overlay { z-index: 5000 !important; }

/* 페이지 하단 빈 공간 제거 */
.kth-pagination { margin-top: 32px !important; margin-bottom: 16px !important; }
.kth-wrap { padding-bottom: 8px !important; }

/* ─── YouTube 썸네일 fallback 배경 ─── */
.kth-yt-thumb {
  background: var(--surface2) !important;
  position: relative;
}
.kth-yt-thumb::before {
  content: '▶';
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.2); font-size: 28px;
  z-index: 0;
}
.kth-yt-thumb img { position: relative; z-index: 1; }

/* ─── Hero 상단 여백 완전 제거 ─── */
.main > .kth-wrap { padding-top: 0 !important; }
.kth-wrap { padding-top: 32px !important; }

/* ─── Hero 오버레이 텍스트 가독성 ─── */
.kth-hero-body {
  background: linear-gradient(to top, rgba(10,12,18,.98) 0%, rgba(10,12,18,.6) 60%, transparent 100%);
  padding: 40px 32px 32px !important;
}
.kth-hero-title {
  font-size: clamp(20px, 2.4vw, 32px) !important;
  color: #fff !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.6) !important;
}

/* ─── Section "Latest Articles" 간격 ─── */
.kth-section { padding: 0 !important; }
.kth-wrap .kth-section { margin-bottom: 40px !important; }

/* ─── Card 3열 고정 (데스크탑) ─── */
@media(min-width:900px){
  .kth-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media(min-width:1200px){
  .kth-grid { grid-template-columns: repeat(4, 1fr) !important; }
}

/* ─── 빈 카드 row 숨기기 (이미지+텍스트 없는 경우) ─── */
.kth-card:empty { display: none !important; }

/* ─── Footer 컬럼 간격 ─── */
@media(min-width:900px){
  .footer-top { grid-template-columns: 2fr 1fr 1fr 1fr !important; }
}

/* ─── Ads/Widget 위 search 바 숨기기 ─── */
.header-nav-bar > .header-search-box {
  margin-left: auto;
  padding-right: 0;
}

/* ─── HEADER FINAL FIX ─── */

/* header-banner: 로고 + 날짜 + 멤버버튼 한 줄 */
.header-banner {
  height: 52px !important;
  border-bottom: 1px solid var(--line) !important;
}
.header-right {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}
.site-description { display: none !important; }

/* nav-bar: 네비 + 서치 한 줄 가로 */
.header-nav-bar {
  display: flex !important;
  align-items: center !important;
  height: 40px !important;
  padding: 0 28px !important;
  border-bottom: 1px solid var(--line) !important;
}
.site-nav { flex: 1 !important; overflow: hidden !important; }
.nav-inner { max-width: none !important; }
.header-search-box {
  flex-shrink: 0 !important;
  position: relative !important;
}
.search-input { width: 130px !important; }
.search-input:focus { width: 180px !important; }

/* 서치바 별도 줄 방지 */
.header-nav-bar > * { display: flex !important; align-items: center !important; }

/* ─── NEWSLETTER FINAL FIX ─── */
.kth-nl { padding: 52px 0 !important; }
.kth-nl-inner {
  max-width: var(--max) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px !important;
  flex-wrap: wrap !important;
}
.kth-nl-left {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex: 1 !important;
  min-width: 280px !important;
}
.kth-nl-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}
.kth-nl-input {
  width: 220px !important;
  min-width: 160px !important;
}
.kth-nl-ok, .kth-nl-err {
  position: absolute !important;
  bottom: -22px !important;
  left: 0 !important;
  font-size: 11px !important;
}
.kth-nl-form { position: relative !important; }

/* ─── Hero "Reels Trending Ads" 등 오버레이 광고 숨기기 ─── */
.kth-hero-img iframe,
.kth-hero-img [class*="ad"],
.kth-hero-img [id*="ad"],
.kth-hero-img [class*="embed"],
.kth-hero-img [class*="widget"] {
  display: none !important;
}

/* ─── Card grid 균일하게 ─── */
.kth-grid {
  align-items: stretch !important;
}
.kth-card { height: 100% !important; }

/* ─── Footer 하단 여백 ─── */
.footer-bottom {
  padding: 20px 28px !important;
  font-size: 11px !important;
}

/* ─── FINAL POLISH ─── */

/* Pinterest/외부 위젯 완전 숨기기 */
.kth-hero-main [data-pin-do],
.kth-hero-main [class*="pinterest"],
.kth-hero-main [class*="social"],
.kth-hero-main [class*="share"],
.kth-hero-img > *:not(img):not(.kth-hero-overlay) { display: none !important; }

/* 이미지 없는 카드 — 골드 상단 라인 + 적절한 높이 */
.kth-card:not(:has(.kth-card-img)) {
  border-top: 3px solid var(--gold) !important;
  min-height: 0 !important;
}
.kth-card:not(:has(.kth-card-img)) .kth-card-body {
  padding: 20px !important;
}

/* 카드 그리드 행 정렬 */
.kth-grid {
  align-items: start !important;
}

/* 뉴스레터 배경 그라디언트 강화 */
.kth-nl {
  background: linear-gradient(135deg, #181b24 0%, #1e2436 50%, #232940 100%) !important;
  border-top: 1px solid rgba(201,168,76,.2) !important;
  border-bottom: 1px solid var(--line) !important;
}
.kth-nl-icon { color: var(--gold) !important; }
.kth-nl-title { font-size: 20px !important; margin-bottom: 6px !important; }

/* YouTube 섹션 배경 구분감 */
.kth-yt { 
  background: var(--surface) !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
}
.kth-yt-inner .kth-section-head { margin-bottom: 18px !important; }

/* 섹션 타이틀 앞 골드 바 항상 표시 */
.kth-section-title { padding-left: 14px !important; position: relative !important; }
.kth-section-title::before {
  position: absolute !important; left: 0 !important; top: 50% !important;
  transform: translateY(-50%) !important;
}

/* 페이지네이션 중앙 정렬 개선 */
.kth-pagination .pagination,
.pagination { 
  list-style: none !important;
  display: flex !important; 
  justify-content: center !important; 
  align-items: center !important;
  gap: 8px !important; 
  padding: 24px 0 32px !important; 
}
.pagination li { display: inline-flex !important; }
.pagination li a, .pagination li span {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-width: 36px !important; height: 36px !important; padding: 0 12px !important;
  background: var(--surface) !important; border: 1px solid var(--line) !important;
  border-radius: 8px !important; color: var(--t2) !important; font-size: 13px !important;
  transition: all .18s !important;
}
.pagination li a:hover { border-color: var(--gold) !important; color: var(--gold) !important; background: var(--gold-dim) !important; }
.pagination .page-number { color: var(--t3) !important; border: none !important; background: none !important; min-width: auto !important; }

/* Footer 개선 */
.footer-inner { padding: 48px 28px 28px !important; }
.footer-nav-list a:hover { color: var(--gold) !important; }
.footer-bottom { padding: 18px 28px !important; }
.footer-bottom a:hover { color: var(--gold) !important; }

/* 전체 max-width 패딩 통일 */
@media(max-width:768px) {
  .kth-yt-inner, .kth-nl-inner, .footer-inner { padding-left: 16px !important; padding-right: 16px !important; }
  .kth-wrap { padding-left: 16px !important; padding-right: 16px !important; }
  .header-banner, .header-nav-bar { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ══════════════════════════════════════════
   TAG / AUTHOR PAGE
══════════════════════════════════════════ */
.kth-tag-header {
  background: linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%);
  border-bottom: 1px solid var(--line);
  position: relative; overflow: hidden;
}
.kth-tag-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: .12; filter: blur(2px);
}
.kth-tag-inner {
  max-width: var(--max); margin: 0 auto;
  padding: 52px 28px 40px; position: relative; z-index: 1;
}
.kth-tag-content { max-width: 680px; }
.kth-tag-name {
  font-family: var(--serif); font-size: clamp(28px,4vw,44px);
  font-weight: 700; color: var(--t1);
  margin: 12px 0 10px; line-height: 1.2;
}
.kth-tag-desc { font-size: 15px; color: var(--t2); line-height: 1.7; margin-bottom: 10px; }
.kth-tag-count { font-size: 12px; color: var(--t3); font-weight: 600; }
.kth-tag-wrap { padding-top: 36px !important; padding-bottom: 40px !important; }

/* author */
.kth-author-content { display: flex; flex-direction: column; align-items: flex-start; }
.kth-author-avatar {
  width: 72px; height: 72px; border-radius: 50%;
  border: 2px solid var(--line-h); margin-bottom: 16px; object-fit: cover;
}
.kth-author-link { font-size: 13px; color: var(--gold); margin-top: 6px; }
.kth-author-link:hover { color: var(--gold-l); }

/* ══════════════════════════════════════════
   POST PAGE  (nyt-post-* 클래스)
══════════════════════════════════════════ */
.nyt-post-wrap {
  max-width: 800px; margin: 0 auto; padding: 0 28px 80px;
}
.nyt-post-header {
  padding: 48px 0 32px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 32px;
}
.nyt-post-tag {
  display: inline-block; margin-bottom: 16px;
  padding: 3px 10px; border-radius: 4px;
  font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  background: var(--gold-dim); color: var(--gold);
  border: 1px solid rgba(201,168,76,.25);
}
.nyt-post-title {
  font-family: var(--serif);
  font-size: clamp(26px, 4vw, 42px);
  font-weight: 700; line-height: 1.2;
  color: var(--t1); margin-bottom: 16px;
}
.nyt-post-excerpt {
  font-size: 18px; color: var(--t2); line-height: 1.6;
  font-style: italic; margin-bottom: 20px;
}
.nyt-post-meta {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; color: var(--t3); flex-wrap: wrap;
}
.nyt-post-author { color: var(--t2); font-weight: 600; }
.nyt-post-date, .nyt-post-read { color: var(--t3); }
.nyt-post-meta::before { display: none; }

.nyt-post-image {
  margin: 0 0 36px; border-radius: var(--r-lg); overflow: hidden;
}
.nyt-post-image img { width: 100%; height: auto; display: block; }
.nyt-post-image figcaption {
  font-size: 12px; color: var(--t3); text-align: center;
  padding: 10px 0; background: var(--bg);
}

.nyt-post-content, .c-content {
  color: var(--t1); line-height: 1.85;
}
.nyt-post-content h2, .c-content h2 {
  font-family: var(--serif); font-size: 26px; font-weight: 700;
  color: var(--t1); margin: 40px 0 16px; line-height: 1.3;
}
.nyt-post-content h3, .c-content h3 {
  font-family: var(--serif); font-size: 20px; font-weight: 700;
  color: var(--t1); margin: 32px 0 12px;
}
.nyt-post-content h4, .c-content h4 {
  font-size: 16px; font-weight: 700; color: var(--t1); margin: 24px 0 10px;
}
.nyt-post-content p, .c-content p {
  color: #c8ccda; margin-bottom: 22px; font-size: 16px; line-height: 1.85;
}
.nyt-post-content a, .c-content a { color: var(--gold); }
.nyt-post-content a:hover, .c-content a:hover { color: var(--gold-l); }
.nyt-post-content blockquote, .c-content blockquote {
  border-left: 3px solid var(--gold); background: var(--surface);
  padding: 18px 24px; border-radius: 0 var(--r) var(--r) 0;
  margin: 28px 0; color: var(--t2); font-style: italic; font-size: 17px;
}
.nyt-post-content img, .c-content img {
  border-radius: var(--r); margin: 28px auto; max-width: 100%;
}
.nyt-post-content figure, .c-content figure { margin: 28px 0; }
.nyt-post-content figcaption, .c-content figcaption {
  font-size: 12px; color: var(--t3); text-align: center; margin-top: 8px;
}
.nyt-post-content hr, .c-content hr {
  border: none; border-top: 1px solid var(--line); margin: 40px 0;
}
.nyt-post-content ul, .c-content ul,
.nyt-post-content ol, .c-content ol {
  padding-left: 24px; margin-bottom: 20px; color: #c8ccda;
}
.nyt-post-content li, .c-content li { margin-bottom: 8px; line-height: 1.7; }
.nyt-post-content code, .c-content code {
  background: var(--surface2); color: var(--gold-l);
  padding: 2px 7px; border-radius: 4px; font-size: 13px;
  border: 1px solid var(--line);
}
.nyt-post-content pre, .c-content pre {
  background: var(--surface2); padding: 20px; border-radius: var(--r);
  overflow-x: auto; margin: 24px 0; border: 1px solid var(--line);
}
.nyt-post-content pre code, .c-content pre code {
  background: none; border: none; padding: 0; color: var(--t1);
}

/* kg-bookmark (post 안) */
.nyt-post-content .kg-bookmark-card,
.c-content .kg-bookmark-card {
  border: 1px solid var(--line-h) !important;
  border-left: 4px solid var(--gold) !important;
  background: var(--surface) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important; margin: 24px 0 !important;
}
.nyt-post-content .kg-bookmark-title,
.c-content .kg-bookmark-title { color: var(--t1) !important; }
.nyt-post-content .kg-bookmark-description,
.c-content .kg-bookmark-description { color: var(--t2) !important; }

/* 페이월 */
.nyt-paywall {
  background: linear-gradient(to bottom, transparent, var(--bg) 70%);
  margin-top: -80px; padding-top: 80px;
  text-align: center; padding-bottom: 40px;
}
.nyt-paywall-box {
  background: var(--surface); border: 1px solid var(--line-h);
  border-top: 3px solid var(--gold); border-radius: var(--r-lg);
  padding: 40px 32px; max-width: 520px; margin: 0 auto;
}
.nyt-paywall-title { font-family: var(--serif); font-size: 24px; color: var(--t1); margin-bottom: 12px; }
.nyt-paywall-desc { color: var(--t2); font-size: 14px; margin-bottom: 24px; line-height: 1.6; }
.nyt-paywall-btn {
  display: inline-block; padding: 12px 32px;
  background: var(--gold); color: #12141a; font-weight: 700;
  border-radius: 8px; font-size: 15px; transition: background .18s;
}
.nyt-paywall-btn:hover { background: var(--gold-l) !important; color: #12141a !important; }

/* ══════════════════════════════════════════
   PAGE (page.hbs generic)
══════════════════════════════════════════ */
.nyt-page-wrap, .page-wrap {
  max-width: 860px; margin: 0 auto; padding: 52px 28px 80px;
}
.nyt-page-title, .page-title {
  font-family: var(--serif); font-size: clamp(26px,4vw,40px);
  font-weight: 700; color: var(--t1); margin-bottom: 32px; line-height: 1.2;
}
.nyt-page-content, .page-content {
  color: #c8ccda; line-height: 1.85; font-size: 16px;
}
.nyt-page-content h2,.page-content h2 { font-family:var(--serif);color:var(--t1);font-size:24px;margin:36px 0 14px; }
.nyt-page-content p,.page-content p { margin-bottom:20px; }
.nyt-page-content a,.page-content a { color:var(--gold); }

/* ══════════════════════════════════════════
   홈 뉴스레터 기존 nyt-nl-* 클래스 (Bluedot 기본 폼)
══════════════════════════════════════════ */
.nyt-nl-wrap, .nyt-newsletter-section {
  background: linear-gradient(135deg, #181b24 0%, #1e2436 50%, #232940 100%) !important;
  border-top: 1px solid rgba(201,168,76,.2) !important;
  padding: 0 !important;
}
/* Bluedot 기본 subscribe 폼 (검은 배경으로 안보이는 것 수정) */
[data-members-form] input[type="email"] {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid var(--line-h) !important;
  color: var(--t1) !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
}
[data-members-form] input[type="email"]::placeholder { color: var(--t3) !important; }
[data-members-form] input[type="email"]:focus {
  outline: none !important; border-color: var(--gold) !important;
}
[data-members-form] button[type="submit"] {
  background: var(--gold) !important; color: #12141a !important;
  border: none !important; border-radius: 8px !important;
  padding: 10px 24px !important; font-weight: 700 !important;
  cursor: pointer !important; font-size: 14px !important;
  transition: background .18s !important;
}
[data-members-form] button[type="submit"]:hover { background: var(--gold-l) !important; }

/* ══════════════════════════════════════════
   MISC — 여전히 흰 배경 나오는 요소들
══════════════════════════════════════════ */
.site-main, .site-content, main { background: var(--bg) !important; color: var(--t1) !important; }
.post-card, .post-grid { background: transparent !important; }
.post-card-title, h1, h2, h3, h4, h5 { color: var(--t1) !important; }
.post-card-excerpt, .post-card-meta { color: var(--t2) !important; }
.tag-header h1, .author-header h1 { color: var(--t1) !important; }
.tag-header, .author-header {
  background: linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%) !important;
  padding: 52px 28px 40px !important;
}

/* 흰 배경 남은 곳 전수 제거 */
div, section, article, aside, header, footer, main, nav {
  /* 특정 클래스만 타겟 — 전체에 적용하면 너무 광범위 */
}
.bg-white, [class*="bg-white"], [style*="background: white"],
[style*="background:#fff"], [style*="background: #fff"] {
  background: var(--surface) !important; color: var(--t1) !important;
}

/* 글씨 안보이는 텍스트 전수 수정 */
p, span, li, td, th, div { color: inherit; }
.text-dark, .text-black, [class*="text-dark"] { color: var(--t1) !important; }
.text-muted, [class*="text-muted"] { color: var(--t3) !important; }

/* Bluedot 기본 UI 다크 처리 */
.bluedot-post-card, .bd-card {
  background: var(--card) !important; border: 1px solid var(--line) !important;
  border-radius: var(--r) !important; color: var(--t1) !important;
}
.bluedot-post-card:hover, .bd-card:hover { background: var(--card-h) !important; }

/* ══════════════════════════════════════════
   NEWSLETTER & VISIBILITY FIXES
══════════════════════════════════════════ */

/* 뉴스레터 텍스트 밝게 */
.kth-nl-desc { color: rgba(255,255,255,0.55) !important; }
.kth-nl-title { color: var(--t1) !important; }
.kth-nl-icon { color: var(--gold) !important; }

/* Hero 외부 위젯/임베드 숨기기 */
.kth-hero-main > *:not(.kth-hero-img):not(.kth-hero-body) { display: none !important; }
.kth-hero-img > *:not(img):not(.kth-hero-overlay) { display: none !important; }

/* Hero 이미지 자체 object-fit 강제 */
.kth-hero-img img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center top !important;
  position: relative !important; z-index: 1 !important;
  display: block !important;
}
.kth-hero-overlay { z-index: 2 !important; }
.kth-hero-body { z-index: 3 !important; }

/* 카드 Read More 버튼 색상 */
.kth-card-read { color: var(--gold) !important; font-size: 12px !important; font-weight: 600 !important; margin-top: auto !important; }

/* 홈 뉴스레터 배경 확실히 적용 */
.kth-nl {
  background: linear-gradient(135deg, #181b24 0%, #1e2436 50%, #232940 100%) !important;
  padding: 56px 0 !important;
}

/* 스크롤 중 헤더 그림자 강화 */
.site-header {
  box-shadow: 0 1px 0 rgba(255,255,255,0.05), 0 4px 20px rgba(0,0,0,0.4) !important;
}

/* Latest Articles 섹션 타이틀 "View all" 링크 */
.kth-section-more { color: var(--t3) !important; }
.kth-section-more:hover { color: var(--gold) !important; border-color: var(--gold) !important; }

/* 카드 badge 없을 때 간격 */
.kth-card-body > .kth-badge + .kth-card-title { margin-top: 6px !important; }
.kth-card-body > .kth-card-title:first-child { margin-top: 0 !important; }

/* Post 페이지 배경 */
body.post-template { background: var(--bg) !important; }
body.post-template .nyt-post-wrap { background: transparent !important; }

/* 혹시 남은 흰 박스 */
.nyt-post-content > *, .c-content > * { background: transparent; }
.nyt-post-content table { background: var(--surface) !important; }
.nyt-post-content th { background: var(--surface2) !important; color: var(--t1) !important; }
.nyt-post-content td { color: var(--t2) !important; border-color: var(--line) !important; }
/* ═══════════════════════════════════════════════════
   KTH COMPREHENSIVE FIX v2
   - 밝기 조정 (배경 #242731 → #2a2d37)
   - 폰트 크기 전면 정규화
   - Hero 높이 축소
   - 기사 본문 완전 정비
   - 모바일 완전 대응
═══════════════════════════════════════════════════ */

/* ── 색상 밝기 조정 ── */
:root {
  --bg:       #22252e !important;
  --surface:  #2a2d38 !important;
  --surface2: #32364a !important;
  --card:     #2a2d38 !important;
  --card-h:   #32364a !important;
  --t1:       #edf0f7 !important;
  --t2:       #a0a9c0 !important;
  --t3:       #606880 !important;
  --line:     rgba(255,255,255,0.09) !important;
  --line-h:   rgba(255,255,255,0.17) !important;
}
body { background: #22252e !important; }
main.main, .main { background: #22252e !important; }
.site-header, .header-nav-bar { background: rgba(20,22,30,0.95) !important; }
.site-footer { background: #14161e !important; }
.kth-yt { background: #2a2d38 !important; }
.kth-nl { background: linear-gradient(135deg,#1c2030 0%,#22293e 50%,#262f48 100%) !important; }

/* ── HERO 크기 축소 ── */
.kth-hero {
  min-height: 340px !important;
  max-height: 480px !important;
  margin-bottom: 36px !important;
}
.kth-hero-main { min-height: 340px !important; max-height: 480px !important; }
.kth-hero-title {
  font-size: clamp(17px, 2vw, 26px) !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
}
.kth-hero-excerpt { font-size: 13px !important; margin-bottom: 10px !important; }
.kth-hero-body { padding: 24px 22px !important; }

/* Hero side cards 크기 줄이기 */
.kth-hero-side-card { padding: 12px 14px !important; }
.kth-hero-side-title { font-size: 13px !important; line-height: 1.35 !important; }
.kth-hero-side-img { margin-bottom: 8px !important; }

/* ── CARD 폰트 정규화 ── */
.kth-card-title { font-size: 14px !important; line-height: 1.4 !important; }
.kth-card-excerpt { font-size: 12px !important; line-height: 1.5 !important; }
.kth-meta--sm { font-size: 10.5px !important; }

/* ── SECTION HEADER ── */
.kth-section-title { font-size: 15px !important; }
.kth-section-head { margin-bottom: 16px !important; padding-bottom: 12px !important; }

/* ═══════════════════════════════════════
   POST 기사 본문 완전 재정비
═══════════════════════════════════════ */
.nyt-post-wrap {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 20px 60px !important;
}

/* 기사 헤더 */
.nyt-post-header {
  padding: 32px 0 24px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  margin-bottom: 24px !important;
}
.nyt-post-tag {
  font-size: 10px !important; padding: 3px 10px !important;
  margin-bottom: 12px !important; display: inline-block !important;
}
.nyt-post-title {
  font-family: 'DM Serif Display','Noto Serif KR',Georgia,serif !important;
  font-size: clamp(20px, 3vw, 32px) !important;
  font-weight: 700 !important; line-height: 1.25 !important;
  color: #edf0f7 !important; margin-bottom: 14px !important;
}
.nyt-post-excerpt {
  font-size: 15px !important; line-height: 1.65 !important;
  color: #a0a9c0 !important; font-style: italic !important;
  margin-bottom: 16px !important;
}
.nyt-post-meta {
  font-size: 12px !important; color: #606880 !important;
  display: flex !important; align-items: center !important;
  gap: 8px !important; flex-wrap: wrap !important;
}
.nyt-post-author { color: #a0a9c0 !important; font-weight: 600 !important; font-size: 12px !important; }

/* 기사 피처 이미지 */
.nyt-post-image {
  margin: 0 0 28px !important;
  border-radius: 10px !important; overflow: hidden !important;
}
.nyt-post-image img { width: 100% !important; height: auto !important; max-height: 420px !important; object-fit: cover !important; }

/* 기사 본문 텍스트 */
.nyt-post-content, .c-content {
  font-size: 15px !important;
  line-height: 1.82 !important;
  color: #c8cdd8 !important;
}
.nyt-post-content p, .c-content p {
  font-size: 15px !important;
  line-height: 1.82 !important;
  color: #c8cdd8 !important;
  margin-bottom: 18px !important;
}
.nyt-post-content h2, .c-content h2 {
  font-family: 'DM Serif Display',Georgia,serif !important;
  font-size: 22px !important; font-weight: 700 !important;
  color: #edf0f7 !important;
  margin: 36px 0 14px !important; line-height: 1.3 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-bottom: 10px !important;
}
.nyt-post-content h3, .c-content h3 {
  font-family: 'DM Serif Display',Georgia,serif !important;
  font-size: 18px !important; font-weight: 700 !important;
  color: #edf0f7 !important; margin: 28px 0 10px !important;
}
.nyt-post-content h4, .c-content h4 {
  font-size: 15px !important; font-weight: 700 !important;
  color: #c8cdd8 !important; margin: 22px 0 8px !important;
}
.nyt-post-content a, .c-content a {
  color: #d4aa55 !important; text-decoration: underline !important;
  text-decoration-color: rgba(212,170,85,.35) !important;
  text-underline-offset: 3px !important;
}
.nyt-post-content a:hover, .c-content a:hover { color: #e4c97a !important; }

/* 리스트 완전 정비 */
.nyt-post-content ul, .c-content ul {
  list-style: none !important;
  padding: 0 0 0 0 !important;
  margin: 0 0 20px !important;
}
.nyt-post-content ul li, .c-content ul li {
  padding: 6px 0 6px 20px !important;
  position: relative !important;
  color: #c8cdd8 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  border-bottom: none !important;
}
.nyt-post-content ul li::before, .c-content ul li::before {
  content: '–' !important;
  position: absolute !important; left: 0 !important;
  color: #c9a84c !important; font-weight: 700 !important;
}

.nyt-post-content ol, .c-content ol {
  list-style: decimal !important;
  padding: 0 0 0 22px !important;
  margin: 0 0 20px !important;
}
.nyt-post-content ol li, .c-content ol li {
  padding: 4px 0 4px 6px !important;
  color: #c8cdd8 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  border-bottom: none !important;
}
.nyt-post-content ol li::marker, .c-content ol li::marker {
  color: #c9a84c !important; font-weight: 700 !important;
}

/* blockquote */
.nyt-post-content blockquote, .c-content blockquote {
  border-left: 3px solid #c9a84c !important;
  background: #2a2d38 !important;
  padding: 16px 20px !important;
  border-radius: 0 8px 8px 0 !important;
  margin: 24px 0 !important;
  color: #a0a9c0 !important;
  font-style: italic !important;
  font-size: 15px !important;
}
.nyt-post-content blockquote p, .c-content blockquote p {
  margin: 0 !important; color: #a0a9c0 !important;
}

/* hr */
.nyt-post-content hr, .c-content hr {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  margin: 36px 0 !important;
}

/* 이미지 */
.nyt-post-content img, .c-content img {
  border-radius: 8px !important; margin: 20px auto !important;
  max-width: 100% !important; height: auto !important;
}
.nyt-post-content figure, .c-content figure { margin: 20px 0 !important; }
.nyt-post-content figcaption, .c-content figcaption {
  font-size: 11px !important; color: #606880 !important;
  text-align: center !important; margin-top: 6px !important;
}

/* strong/em */
.nyt-post-content strong, .c-content strong {
  color: #edf0f7 !important; font-weight: 700 !important;
}
.nyt-post-content em, .c-content em { color: #a0a9c0 !important; }

/* code */
.nyt-post-content code, .c-content code {
  background: #32364a !important; color: #e4c97a !important;
  padding: 2px 6px !important; border-radius: 4px !important;
  font-size: 13px !important; border: none !important;
}

/* ═══════════════════════════════════════
   MOBILE 완전 대응
═══════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════
   모바일 전면 재정비 v29 (2026-04-01)
════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── 헤더 배너 ── */
  .header-banner {
    height: auto !important;
    min-height: 56px !important;
    padding: 8px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .header-logo { flex-shrink: 0 !important; }
  .site-logo { height: 30px !important; width: auto !important; }
  .site-name-text { font-size: 15px !important; }
  .header-date, .site-description { display: none !important; }

  /* 로그인 + 구독 버튼 — 모두 표시 */
  .header-right {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
  }
  .header-member { display: flex !important; gap: 6px !important; }
  .header-member-btn--signin {
    display: inline-flex !important;
    padding: 5px 10px !important;
    font-size: 11px !important;
    border-color: rgba(255,255,255,0.3) !important;
  }
  .header-member-btn--subscribe {
    padding: 5px 10px !important;
    font-size: 11px !important;
  }

  /* ── 네비게이션 바 ── */
  .header-nav-bar {
    padding: 0 14px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .header-nav-bar::-webkit-scrollbar { display: none !important; }
  .nav-inner ul, .site-nav ul {
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }
  .nav-inner ul li a, .site-nav ul li a {
    padding: 8px 9px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  .search-input { width: 80px !important; }
  .search-input:focus { width: 110px !important; }

  /* ── 구글 광고 모바일 — 넘침 방지 ── */
  ins.adsbygoogle {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* ── Hero 섹션 ── */
  .kth-hero {
    grid-template-columns: 1fr !important;
    min-height: 280px !important;
    max-height: none !important;
    border-radius: 10px !important;
    margin-bottom: 20px !important;
  }
  .kth-hero-main { min-height: 280px !important; max-height: none !important; }
  .kth-hero-left { width: 100% !important; }
  .kth-hero-right { display: none !important; }
  .kth-hero-title { font-size: 17px !important; line-height: 1.35 !important; }
  .kth-hero-body { padding: 16px !important; }
  .kth-hero-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

  /* ── 기사 카드 그리드 — 1열 ── */
  .kth-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 0 !important;
  }
  .kth-card {
    display: grid !important;
    grid-template-columns: 100px 1fr !important;
    gap: 12px !important;
    align-items: start !important;
  }
  .kth-card-thumb {
    width: 100px !important;
    height: 70px !important;
    flex-shrink: 0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
  }
  .kth-card-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .kth-card-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 3 !important;
  }
  .kth-card-meta { font-size: 11px !important; }

  /* ── Shop 스트립 ── */
  .kth-shop-strip { padding: 20px 0 !important; }
  .kth-shop-strip-inner { padding: 0 14px !important; }
  .kth-shop-strip-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .kth-shop-strip-thumb { aspect-ratio: 1/1 !important; }
  .kth-shop-strip-name { font-size: 12px !important; }
  .kth-shop-strip-price { font-size: 11px !important; }

  /* ── YouTube 섹션 ── */
  .kth-yt { padding: 28px 0 !important; }
  .kth-yt-inner { padding: 0 14px !important; }
  .kth-yt-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .kth-yt-title-text { font-size: 12px !important; -webkit-line-clamp: 2 !important; }

  /* ── 뉴스레터 섹션 ── */
  .kth-nl { padding: 32px 0 !important; }
  .kth-nl-inner {
    padding: 0 16px !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .kth-nl-left { flex-direction: column !important; align-items: flex-start !important; }
  .kth-nl-form { flex-direction: column !important; width: 100% !important; gap: 8px !important; }
  .kth-nl-input { width: 100% !important; }
  .kth-nl-btn { width: 100% !important; justify-content: center !important; }

  /* ── 기사 본문 ── */
  .nyt-post-wrap { padding: 0 16px 48px !important; }
  .nyt-post-title { font-size: 22px !important; line-height: 1.3 !important; }
  .nyt-post-excerpt { font-size: 14px !important; }
  .nyt-post-content p, .c-content p { font-size: 15px !important; line-height: 1.75 !important; }
  .nyt-post-content h2, .c-content h2 { font-size: 19px !important; }
  .nyt-post-content h3, .c-content h3 { font-size: 17px !important; }
  .nyt-post-image { margin: 0 -16px !important; border-radius: 0 !important; }
  .nyt-post-image img { max-height: none !important; width: 100% !important; }

  /* ── 태그 페이지 ── */
  .kth-tag-inner { padding: 24px 14px !important; }
  .kth-tag-name { font-size: 24px !important; }
  .kth-tag-wrap { padding: 16px 14px 32px !important; }

  /* ── 메인 래퍼 ── */
  .kth-wrap { padding: 16px 14px 0 !important; }

  /* ── 푸터 ── */
  .footer-inner { padding: 28px 16px 16px !important; }
  .footer-top { grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
  .footer-bottom {
    padding: 12px 16px !important;
    flex-direction: column !important;
    gap: 6px !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  /* 매우 좁은 화면 추가 조정 */
  .kth-hero { min-height: 240px !important; }
  .kth-hero-title { font-size: 15px !important; }
  .kth-card { grid-template-columns: 88px 1fr !important; }
  .kth-card-thumb { width: 88px !important; height: 62px !important; }
  .kth-shop-strip-grid { grid-template-columns: 1fr 1fr !important; }
  .kth-yt-grid { grid-template-columns: 1fr 1fr !important; }
  .footer-top { grid-template-columns: 1fr !important; }
  .header-member-btn--signin { display: none !important; } /* 480 미만엔 공간 부족해서 숨김 */
}

/* ── 태그 페이지 모바일 ── */
@media (max-width: 768px) {
  .kth-grid { padding: 0 !important; }
}


/* ═══════════════════════════════════════
   MOBILE FIX v3 — 정밀 조정
═══════════════════════════════════════ */

/* 모바일 카드 2열 */
@media (max-width: 768px) {
  .kth-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .kth-card-title { font-size: 12.5px !important; -webkit-line-clamp: 3 !important; }
  .kth-card-excerpt { display: none !important; }
  .kth-card-body { padding: 12px !important; gap: 6px !important; }
  .kth-card-img { aspect-ratio: 16/9 !important; }
}
@media (max-width: 480px) {
  .kth-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .kth-card-title { font-size: 12px !important; }
}

/* Hero 모바일 제목 확실히 줄이기 */
@media (max-width: 768px) {
  .kth-hero {
    grid-template-columns: 1fr !important;
    min-height: 220px !important;
    max-height: 260px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }
  .kth-hero-main {
    min-height: 220px !important;
    max-height: 260px !important;
    grid-row: 1 !important;
    grid-column: 1 !important;
  }
  .kth-hero-title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    -webkit-line-clamp: 3 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .kth-hero-excerpt { display: none !important; }
  .kth-hero-body { padding: 12px 14px !important; }
  .kth-badge { font-size: 9px !important; padding: 2px 7px !important; }
  /* 사이드 카드 모바일 완전 숨김 */
  .kth-hero > .kth-hero-side-card { display: none !important; }
}

/* Numbered list 들여쓰기 fix */
.nyt-post-content ol, .c-content ol {
  padding-left: 20px !important;
  margin-left: 0 !important;
}
.nyt-post-content ol li, .c-content ol li {
  padding-left: 4px !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}
.nyt-post-content ol li::marker, .c-content ol li::marker {
  color: #c9a84c !important;
}

/* ul 들여쓰기도 */
.nyt-post-content ul, .c-content ul {
  margin-left: 0 !important;
  padding-left: 4px !important;
}
.nyt-post-content ul li, .c-content ul li {
  padding-left: 18px !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}

/* Bluedot 내장 위젯 (video generator 등) 스타일 정비 */
.bluedot-widget, .bd-widget,
[class*="bluedot-video"], [class*="bd-video"],
[class*="generate-video"], [class*="video-gen"] {
  background: #2a2d38 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin: 20px 0 !important;
  color: #a0a9c0 !important;
}
.bluedot-widget button, .bd-widget button,
[class*="generate-video"] button {
  background: #c9a84c !important;
  color: #12141a !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}
/* 위젯 텍스트 흰색으로 */
.bluedot-widget *, .bd-widget * { color: #a0a9c0 !important; }
.bluedot-widget h3, .bd-widget h3 { color: #edf0f7 !important; }

/* 기사 본문 너무 넓은 이미지 제한 */
.c-content img, .nyt-post-content img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
}

/* 모바일 기사 페이지 */
@media (max-width: 768px) {
  .nyt-post-wrap { padding: 0 14px 48px !important; }
  .nyt-post-title { font-size: 19px !important; line-height: 1.3 !important; }
  .nyt-post-content p, .c-content p { font-size: 14px !important; }
  .nyt-post-content h2, .c-content h2 { font-size: 17px !important; }
  .nyt-post-content h3, .c-content h3 { font-size: 15px !important; }
  .nyt-post-content ol li, .c-content ol li { font-size: 14px !important; }
  .nyt-post-content ul li, .c-content ul li { font-size: 14px !important; }
  .nyt-post-image img { max-height: 200px !important; }

  /* 기사 내 overflow 방지 */
  .c-content, .nyt-post-content {
    overflow-x: hidden !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
  .c-content * { max-width: 100% !important; }
}

/* YouTube 섹션 모바일 탭 */
@media (max-width: 768px) {
  .kth-section-head { flex-wrap: wrap !important; gap: 8px !important; }
  .kth-yt-tabs { gap: 6px !important; }
  .kth-yt-tab { padding: 5px 10px !important; font-size: 11px !important; }
  .kth-yt-ttl { font-size: 11px !important; padding: 8px 10px !important; }
  .kth-yt-chlink { margin-top: 14px !important; }
  .kth-yt-chlink a { font-size: 12px !important; padding: 6px 14px !important; }
}

/* 뉴스레터 모바일 */
@media (max-width: 768px) {
  .kth-nl-title { font-size: 16px !important; }
  .kth-nl-desc { font-size: 12px !important; }
  .kth-nl-icon { width: 40px !important; height: 40px !important; }
}

/* 페이지네이션 모바일 */
@media (max-width: 768px) {
  .kth-pagination .pagination, .pagination {
    gap: 6px !important; flex-wrap: wrap !important;
  }
  .pagination li a, .pagination li span {
    min-width: 32px !important; height: 32px !important;
    font-size: 12px !important;
  }
}

/* 섹션 헤더 모바일 */
@media (max-width: 768px) {
  .kth-section-title { font-size: 14px !important; }
  .kth-section-more { font-size: 11px !important; padding: 4px 10px !important; }
}

/* ═══════════════════════════════════════
   MOBILE PRECISION FIX v4
   실제 390px 뷰포트 기준 정밀 수정
═══════════════════════════════════════ */

/* 전체 overflow 차단 */
html, body { overflow-x: hidden !important; }
.nyt-post-wrap, .c-content, .nyt-post-content {
  overflow-x: hidden !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}

/* 기사 제목 모바일 강제 */
@media (max-width: 480px) {
  .nyt-post-title {
    font-size: 18px !important;
    line-height: 1.3 !important;
    word-break: keep-all !important;
  }
  .nyt-post-excerpt { font-size: 13px !important; }
  .nyt-post-header { padding: 20px 0 16px !important; }
}

/* ol/ul 모바일 — 번호 절대 밖으로 안 나가게 */
@media (max-width: 768px) {
  .c-content ol,
  .nyt-post-content ol {
    padding-left: 22px !important;
    margin: 0 0 16px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .c-content ol li,
  .nyt-post-content ol li {
    padding-left: 2px !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
  .c-content ul,
  .nyt-post-content ul {
    padding-left: 16px !important;
    margin: 0 0 16px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .c-content ul li,
  .nyt-post-content ul li {
    padding-left: 4px !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    word-break: keep-all !important;
  }
  .c-content ul li::before,
  .nyt-post-content ul li::before {
    left: -12px !important;
  }
}

/* Bluedot 인라인 위젯 (video gen, TTS 등) 다크 처리 */
.c-content iframe,
.nyt-post-content iframe {
  max-width: 100% !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}

/* 흰 배경 버튼/위젯 강제 다크 */
.c-content [class*="generate"],
.c-content [class*="widget"],
.c-content [class*="tool"],
.nyt-post-content [class*="generate"],
.nyt-post-content [class*="widget"] {
  background: #2a2d38 !important;
  color: #edf0f7 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 8px !important;
}

/* Bluedot video generator 버튼 배경 */
.c-content button,
.nyt-post-content button {
  background: #c9a84c !important;
  color: #12141a !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-size: 13px !important;
}

/* 기사 내 table overflow */
.c-content table,
.nyt-post-content table {
  display: block !important;
  overflow-x: auto !important;
  max-width: 100% !important;
  background: #2a2d38 !important;
  border-radius: 8px !important;
  border-collapse: collapse !important;
}
.c-content th, .c-content td,
.nyt-post-content th, .nyt-post-content td {
  padding: 10px 14px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #c8cdd8 !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}
.c-content th, .nyt-post-content th {
  background: #32364a !important;
  color: #edf0f7 !important;
  font-weight: 700 !important;
}

/* 기사 본문 내 링크 overflow */
.c-content a, .nyt-post-content a {
  word-break: break-all !important;
}

/* KG card 위젯들 다크 */
.kg-card {
  background: transparent !important;
}
.kg-image-card img { border-radius: 8px !important; }
.kg-gallery-card { border-radius: 8px !important; overflow: hidden !important; }
.kg-embed-card {
  max-width: 100% !important;
}
.kg-video-card {
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #2a2d38 !important;
}

/* Hero 모바일 — 데스크탑 사이드 완전 숨김 */
@media (max-width: 767px) {
  .kth-hero {
    display: block !important;
    min-height: 200px !important;
    max-height: 240px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
  }
  .kth-hero > a.kth-hero-side-card {
    display: none !important;
  }
  .kth-hero-main {
    display: flex !important;
    min-height: 200px !important;
    max-height: 240px !important;
    width: 100% !important;
  }
  .kth-hero-title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .kth-hero-body { padding: 12px !important; }
}

/* 카드 2열 모바일 확실히 */
@media (max-width: 767px) {
  .kth-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .kth-card-title {
    font-size: 11.5px !important;
    -webkit-line-clamp: 3 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
  }
  .kth-card-excerpt { display: none !important; }
  .kth-card-body { padding: 10px 8px !important; gap: 5px !important; }
  .kth-meta--sm { font-size: 10px !important; }
  .kth-badge--sm { font-size: 9px !important; padding: 2px 6px !important; }
}

/* 섹션 헤더 모바일 */
@media (max-width: 767px) {
  .kth-wrap { padding: 16px 12px 0 !important; }
  .kth-section-head { margin-bottom: 12px !important; }
  .kth-section-title { font-size: 13px !important; padding-left: 12px !important; }
  .kth-section-title::before { height: 14px !important; }
  .kth-section-more { font-size: 10px !important; padding: 3px 9px !important; }
}

/* ═══════════════════════════════════════
   GOOGLE DOCS HTML 인라인 스타일 강제 오버라이드
   (background-color 인라인 → 다크 강제)
═══════════════════════════════════════ */

/* 본문 내 table/td 인라인 배경 완전 덮어쓰기 */
.c-content table,
.nyt-post-content table {
  background-color: transparent !important;
  border-color: rgba(255,255,255,0.08) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.c-content td,
.nyt-post-content td,
.c-content th,
.nyt-post-content th {
  background-color: var(--surface) !important;
  color: #c8cdd8 !important;
  border-color: rgba(255,255,255,0.08) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  padding: 10px 14px !important;
  white-space: normal !important;
  word-break: break-word !important;
}
/* 파란 왼쪽 테두리 callout (td with border-left:#0d3b6e) */
.c-content td[style*="border-left"],
.nyt-post-content td[style*="border-left"] {
  background-color: rgba(42,61,96,0.35) !important;
  border-left-color: #c9a84c !important;
  border-left-width: 3px !important;
  border-radius: 0 6px 6px 0 !important;
}
/* 회색 헤더 td */
.c-content td[style*="background-color:#f2f4f8"],
.c-content td[style*="background-color: #f2f4f8"],
.nyt-post-content td[style*="background-color:#f2f4f8"] {
  background-color: var(--surface2) !important;
  color: #edf0f7 !important;
  font-weight: 600 !important;
}

/* p 태그 인라인 스타일 덮어쓰기 */
.c-content p[style],
.nyt-post-content p[style] {
  color: #c8cdd8 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}
.c-content span[style],
.nyt-post-content span[style] {
  color: inherit !important;
  background-color: transparent !important;
}
/* 볼드 span */
.c-content span[style*="font-weight:700"],
.c-content span[style*="font-weight: 700"],
.c-content span[style*="font-weight:bold"] {
  color: #edf0f7 !important;
}

/* colgroup col width 무시 — 가득 채우기 */
.c-content col, .nyt-post-content col {
  width: auto !important;
}

/* 테이블 행 hover */
.c-content tr:hover td,
.nyt-post-content tr:hover td {
  background-color: var(--surface2) !important;
}

/* 번호 리스트 (table 안 p에 숫자 있는 경우) */
.c-content td p, .nyt-post-content td p {
  margin: 0 0 6px !important;
  color: #c8cdd8 !important;
  font-size: 14px !important;
}
.c-content td p:last-child, .nyt-post-content td p:last-child {
  margin-bottom: 0 !important;
}

/* 기사 본문 전체 폰트 크기 재통일 */
.c-content, .nyt-post-content {
  font-size: 15px !important;
}
@media (max-width: 768px) {
  .c-content, .nyt-post-content { font-size: 14px !important; }
  .c-content td, .nyt-post-content td { font-size: 13px !important; padding: 8px 10px !important; }
  .c-content p[style], .nyt-post-content p[style] { font-size: 13px !important; }
}

/* 기사 wrap 배경 확실히 */
.nyt-post-wrap { background: transparent !important; }
body.post-template { background: #22252e !important; }

/* ═══════════════════════════════════════
   FINAL POLISH v5
═══════════════════════════════════════ */

/* Hero 제목 최종 축소 */
.kth-hero-title {
  font-size: clamp(15px, 1.8vw, 24px) !important;
  line-height: 1.28 !important;
  -webkit-line-clamp: 3 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-height: none !important;
}
.kth-hero-excerpt {
  font-size: 12.5px !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.kth-hero { min-height: 320px !important; max-height: 400px !important; }
.kth-hero-main { min-height: 320px !important; max-height: 400px !important; }
.kth-hero-body { padding: 20px 24px !important; }

/* 카드 excerpt 2줄로 제한 */
.kth-card-excerpt {
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}

/* 카드 본문 간격 타이트하게 */
.kth-card-body { gap: 6px !important; padding: 14px !important; }
.kth-card-title {
  font-size: 13.5px !important;
  -webkit-line-clamp: 3 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* 사이드 카드 타이틀 줄이기 */
.kth-hero-side-title {
  font-size: 12.5px !important;
  -webkit-line-clamp: 3 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.kth-hero-side-card { padding: 12px 14px !important; }

/* 섹션 간격 */
.kth-section { margin-bottom: 32px !important; }
.kth-wrap { padding-top: 24px !important; }

/* 기사 본문 이미지 센터링 */
.c-content img, .nyt-post-content img {
  display: block !important;
  margin: 18px auto !important;
  border-radius: 8px !important;
}

/* 기사 본문 video embed */
.c-content .kg-embed-card,
.nyt-post-content .kg-embed-card {
  max-width: 100% !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  margin: 20px 0 !important;
}

/* ═══════════════════════════════════════
   MOBILE FINAL v6 — 고정값으로 확실히
═══════════════════════════════════════ */

/* Hero 제목 모바일 강제 고정 (vw 무시하고 px로 덮어씀) */
@media screen and (max-width: 767px) {
  .kth-hero-title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .kth-hero { max-height: 220px !important; min-height: 180px !important; }
  .kth-hero-main { max-height: 220px !important; min-height: 180px !important; }
  .kth-hero-body { padding: 10px 12px 14px !important; }
  .kth-hero-excerpt { display: none !important; }

  /* 카드 이미지 없는 경우 높이 통일 */
  .kth-card { min-height: 0 !important; }
  .kth-card-body { 
    padding: 10px 8px 12px !important; 
    min-height: 80px !important;
  }
  .kth-card-title {
    font-size: 11.5px !important;
    -webkit-line-clamp: 4 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
    word-break: keep-all !important;
  }
  .kth-meta--sm {
    font-size: 9.5px !important;
    gap: 3px !important;
  }
  .kth-badge--sm {
    font-size: 8.5px !important;
    padding: 2px 5px !important;
    letter-spacing: .04em !important;
  }

  /* 카드 이미지 비율 고정 */
  .kth-card-img {
    aspect-ratio: 16/9 !important;
    max-height: 120px !important;
  }
  .kth-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* 섹션 제목 */
  .kth-section-head { 
    padding-bottom: 10px !important; 
    margin-bottom: 12px !important; 
  }
  .kth-section-title {
    font-size: 13px !important;
    padding-left: 11px !important;
  }

  /* 페이지네이션 */
  .kth-pagination { margin-top: 20px !important; margin-bottom: 8px !important; }

  /* YouTube 타이틀 */
  .kth-section-title--light { font-size: 13px !important; }
  .kth-yt-tab { 
    padding: 4px 10px !important;
    font-size: 10.5px !important;
  }
  .kth-yt-ttl { 
    font-size: 10.5px !important;
    padding: 8px 8px !important;
    -webkit-line-clamp: 2 !important;
  }
  .kth-yt-grid { gap: 8px !important; }

  /* 뉴스레터 */
  .kth-nl-title { font-size: 15px !important; }
  .kth-nl-desc { font-size: 12px !important; }
  .kth-nl-input { padding: 9px 14px !important; font-size: 13px !important; }
  .kth-nl-btn { padding: 9px 18px !important; font-size: 13px !important; }

  /* 헤더 Subscribe 버튼 크기 */
  .header-member-btn--subscribe {
    padding: 5px 10px !important;
    font-size: 11px !important;
    border-radius: 16px !important;
  }
  .header-member-btn--signin { display: none !important; }
}

@media screen and (max-width: 400px) {
  .kth-hero-title { font-size: 13px !important; }
  .kth-card-title { font-size: 11px !important; }
}

/* ═══════════════════════════════════════
   BRIGHTNESS UP + FINAL HARMONY v7
═══════════════════════════════════════ */

/* 배경 더 밝게 */
:root {
  --bg:       #282c38 !important;
  --surface:  #30354a !important;
  --surface2: #373d55 !important;
  --card:     #2e3347 !important;
  --card-h:   #373d55 !important;
  --t1:       #f0f2f8 !important;
  --t2:       #adb5cc !important;
  --t3:       #6b7490 !important;
  --line:     rgba(255,255,255,0.10) !important;
  --line-h:   rgba(255,255,255,0.18) !important;
  --gold:     #d4aa55 !important;
  --gold-l:   #e8c870 !important;
  --gold-dim: rgba(212,170,85,0.14) !important;
}
body { background: #282c38 !important; color: #f0f2f8 !important; }
main.main, .main { background: #282c38 !important; }
.site-header, .header-nav-bar { background: rgba(22,25,36,0.96) !important; }
.kth-yt { background: #2e3347 !important; }
.kth-nl { background: linear-gradient(135deg, #1e2235 0%, #252b42 60%, #2a3050 100%) !important; }
.site-footer { background: #16192a !important; }
.kth-tag-header { background: linear-gradient(180deg, #2e3347 0%, #282c38 100%) !important; }

/* ── Hero 최종 축소 ── */
.kth-hero {
  min-height: 260px !important;
  max-height: 320px !important;
  margin-bottom: 28px !important;
}
.kth-hero-main {
  min-height: 260px !important;
  max-height: 320px !important;
}
.kth-hero-title {
  font-size: clamp(13px, 1.6vw, 20px) !important;
  line-height: 1.3 !important;
  margin-bottom: 6px !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.kth-hero-excerpt { display: none !important; }
.kth-hero-body { padding: 16px 20px !important; }
.kth-meta { font-size: 11px !important; }

/* 사이드 카드 높이 균일하게 */
.kth-hero-side-card {
  padding: 10px 12px !important;
  justify-content: space-between !important;
}
.kth-hero-side-title {
  font-size: 11.5px !important;
  -webkit-line-clamp: 3 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  line-height: 1.35 !important;
}
.kth-hero-side-img {
  aspect-ratio: 16/9 !important;
  max-height: 90px !important;
  margin-bottom: 8px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

/* ── 카드 통일감 ── */
.kth-card {
  background: #2e3347 !important;
  border-color: rgba(255,255,255,0.09) !important;
  border-radius: 10px !important;
}
.kth-card:hover {
  background: #373d55 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 28px rgba(0,0,0,0.35) !important;
}
.kth-card-title { color: #f0f2f8 !important; font-size: 13px !important; }
.kth-card:hover .kth-card-title { color: #d4aa55 !important; }
.kth-card-excerpt { color: #9098b0 !important; font-size: 12px !important; }

/* ── 배지 통일 ── */
.kth-badge {
  background: rgba(212,170,85,0.13) !important;
  color: #d4aa55 !important;
  border-color: rgba(212,170,85,0.28) !important;
}

/* ── 섹션 헤더 ── */
.kth-section-title { color: #f0f2f8 !important; font-size: 15px !important; }
.kth-section-title::before { background: #d4aa55 !important; }
.kth-section-more { color: #6b7490 !important; border-color: rgba(255,255,255,0.12) !important; }
.kth-section-more:hover { color: #d4aa55 !important; border-color: #d4aa55 !important; }

/* ── YouTube 카드 밝게 ── */
.kth-yt-card { background: #373d55 !important; border-color: rgba(255,255,255,0.1) !important; }
.kth-yt-card:hover { background: #404768 !important; }
.kth-yt-ttl { color: #adb5cc !important; }
.kth-yt-tab { background: rgba(255,255,255,0.07) !important; color: #6b7490 !important; }
.kth-yt-tab.active, .kth-yt-tab:hover { background: rgba(212,170,85,0.14) !important; color: #d4aa55 !important; border-color: #d4aa55 !important; }
.kth-yt-chlink a { color: #d4aa55 !important; border-color: rgba(212,170,85,0.3) !important; }

/* ── 뉴스레터 조화 ── */
.kth-nl-title { color: #f0f2f8 !important; }
.kth-nl-desc { color: rgba(255,255,255,0.5) !important; }
.kth-nl-icon { color: #d4aa55 !important; background: rgba(212,170,85,0.12) !important; border-color: rgba(212,170,85,0.22) !important; }
.kth-nl-input { background: rgba(255,255,255,0.08) !important; border-color: rgba(255,255,255,0.15) !important; color: #f0f2f8 !important; }
.kth-nl-input::placeholder { color: rgba(255,255,255,0.3) !important; }
.kth-nl-btn { background: #d4aa55 !important; color: #16192a !important; }
.kth-nl-btn:hover { background: #e8c870 !important; }

/* ── 검색 결과 박스 ── */
.search-results {
  background: #2e3347 !important;
  border-color: rgba(255,255,255,0.12) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
}
.search-result-item { border-bottom-color: rgba(255,255,255,0.07) !important; }
.search-result-item:hover { background: #373d55 !important; }
.search-result-title { color: #f0f2f8 !important; }
.search-result-date { color: #6b7490 !important; }
.search-loading, .search-empty { color: #6b7490 !important; }

/* ── 모바일 검색 — 풀스크린 오버레이 방식 ── */
@media screen and (max-width: 767px) {
  .header-nav-bar {
    display: flex !important;
    align-items: center !important;
    height: 38px !important;
    padding: 0 10px !important;
    overflow: visible !important;
  }
  .site-nav { flex: 1 !important; overflow-x: auto !important; overflow-y: hidden !important; }
  .header-search-box { flex-shrink: 0 !important; position: static !important; }
  .search-input { width: 70px !important; font-size: 11px !important; padding: 4px 8px !important; }
  .search-input:focus { width: 110px !important; }
  /* 검색 결과 — 헤더 아래 전체 너비 */
  .search-results {
    position: fixed !important;
    top: 88px !important;
    left: 0 !important; right: 0 !important;
    width: 100% !important;
    max-height: 60vh !important;
    border-radius: 0 0 12px 12px !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
  }
  .search-result-item { padding: 12px 16px !important; }
  .search-result-img { width: 48px !important; height: 48px !important; }
}

/* ── 모바일 배너(YouTube/Newsletter) 표시 보장 ── */
@media screen and (max-width: 767px) {
  .kth-yt, .kth-nl {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }
  .kth-yt { padding: 28px 0 !important; }
  .kth-nl { padding: 32px 0 !important; }
  .kth-yt-inner { padding: 0 12px !important; }
  .kth-nl-inner { padding: 0 14px !important; }

  /* YouTube 탭 버튼 가로 유지 */
  .kth-section-head { flex-wrap: nowrap !important; gap: 6px !important; }
  .kth-yt-tabs { display: flex !important; gap: 5px !important; flex-shrink: 0 !important; }
  .kth-yt-tab { padding: 4px 8px !important; font-size: 10px !important; white-space: nowrap !important; }

  /* YouTube 2열 */
  .kth-yt-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .kth-yt-ttl { font-size: 10px !important; padding: 6px 8px !important; line-height: 1.45 !important; }

  /* 뉴스레터 */
  .kth-nl-left { gap: 12px !important; }
  .kth-nl-title { font-size: 14px !important; }
  .kth-nl-desc { font-size: 11.5px !important; }
}

/* ── 페이지네이션 밝게 ── */
.pagination a, .kth-pagination a {
  background: #2e3347 !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: #adb5cc !important;
}
.pagination a:hover { border-color: #d4aa55 !important; color: #d4aa55 !important; background: rgba(212,170,85,0.1) !important; }

/* ── 태그 페이지 카드 밝게 ── */
.kth-tag-header { border-bottom-color: rgba(255,255,255,0.08) !important; }
.kth-tag-name { color: #f0f2f8 !important; }
.kth-tag-desc { color: #adb5cc !important; }

/* ── 푸터 통일 ── */
.footer-col-title { color: #f0f2f8 !important; }
.site-footer a { color: #6b7490 !important; }
.site-footer a:hover { color: #d4aa55 !important; }
.footer-bottom { color: #3d4460 !important; }
.footer-tagline { color: #6b7490 !important; }

/* ── 기사 본문 밝게 ── */
.nyt-post-content p, .c-content p { color: #cdd2e0 !important; }
.nyt-post-title { color: #f0f2f8 !important; }
.nyt-post-content h2, .c-content h2 { color: #f0f2f8 !important; }
.nyt-post-content h3, .c-content h3 { color: #e8eaf2 !important; }
.nyt-post-content blockquote, .c-content blockquote { background: #2e3347 !important; }
.c-content td, .nyt-post-content td { background-color: #2e3347 !important; color: #cdd2e0 !important; }
.c-content th, .nyt-post-content th { background-color: #373d55 !important; color: #f0f2f8 !important; }

/* ═══════════════════════════════════════
   HARMONY FINAL v8
═══════════════════════════════════════ */

/* 카드 그리드 간격 균일 */
.kth-grid { gap: 14px !important; }
@media screen and (max-width:767px) {
  .kth-grid { gap: 8px !important; }
}

/* 카드 이미지 없을 때 골드 상단선 */
.kth-card:not(:has(.kth-card-img)) {
  border-top: 2px solid rgba(212,170,85,0.5) !important;
}

/* section 간격 */
.kth-section { margin-bottom: 28px !important; }
.kth-wrap { padding-top: 22px !important; }

/* Latest Articles 텍스트 더 밝게 */
.kth-card-title { color: #edf0f8 !important; }
.kth-card-excerpt { color: #8a93aa !important; }
.kth-meta--sm, .kth-meta { color: #606880 !important; }
.kth-meta-author { color: #9098b0 !important; }

/* Hero side cards 텍스트 */
.kth-hero-side-title { color: #e8eaf0 !important; }
.kth-hero-side-card { background: rgba(22,25,36,0.75) !important; border-left-color: rgba(255,255,255,0.07) !important; }
.kth-hero-side-card:hover { background: rgba(55,61,85,0.9) !important; }

/* Hero 오버레이 그라디언트 개선 */
.kth-hero-overlay {
  background: linear-gradient(to top, rgba(10,12,20,0.97) 0%, rgba(10,12,20,0.5) 55%, rgba(0,0,0,0.1) 100%) !important;
}

/* 헤더 로고 텍스트 */
.site-name-text { color: #fff !important; font-size: 18px !important; letter-spacing: .02em !important; }

/* 네비 링크 현재 페이지 표시 */
.nav-inner ul li.nav-current a,
.site-nav ul li.nav-current a {
  color: #fff !important;
  border-bottom-color: #d4aa55 !important;
}

/* 구독 버튼 더 선명하게 */
.header-member-btn--subscribe {
  background: #d4aa55 !important;
  color: #12141e !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 10px rgba(212,170,85,0.3) !important;
}

/* 모바일 카드 — 짝수번째 카드 약간 다른 톤 */
@media screen and (max-width:767px) {
  .kth-card:nth-child(even) { background: #323754 !important; }
  .kth-card { border-radius: 8px !important; }
}

/* YouTube 섹션 제목 왼쪽 금색 바 */
.kth-yt .kth-section-title { padding-left: 14px !important; position: relative !important; }
.kth-yt .kth-section-title::before {
  content: '' !important; position: absolute !important;
  left: 0 !important; top: 50% !important; transform: translateY(-50%) !important;
  width: 3px !important; height: 16px !important;
  background: #d4aa55 !important; border-radius: 2px !important;
}

/* Newsletter 아이콘 SVG 색 */
.kth-nl-icon svg path { stroke: #d4aa55 !important; }

/* Footer 밝게 */
.footer-inner { border-top: none !important; }
.footer-col-title { letter-spacing: .08em !important; }
.footer-nav-list a { font-size: 13px !important; }
.footer-bottom { font-size: 11px !important; }

/* 기사 본문 페이지 배경 */
body.post-template { background: #282c38 !important; }
.nyt-post-header { border-bottom-color: rgba(255,255,255,0.09) !important; }

/* 오버플로 완전 차단 */
html { overflow-x: hidden !important; }
body { overflow-x: hidden !important; }

/* ═══════════════════════════════════════
   DESKTOP FINE TUNE v9
═══════════════════════════════════════ */

/* Hero 제목 데스크탑 강제 2줄 */
@media screen and (min-width: 768px) {
  .kth-hero { min-height: 280px !important; max-height: 340px !important; }
  .kth-hero-main { min-height: 280px !important; max-height: 340px !important; }
  .kth-hero-title {
    font-size: 19px !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.3 !important;
  }
  .kth-hero-excerpt {
    display: block !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.6) !important;
    -webkit-line-clamp: 1 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .kth-hero-body { padding: 18px 22px !important; }
}

/* 카드 4열 데스크탑 */
@media screen and (min-width: 1100px) {
  .kth-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 14px !important; }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  .kth-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
}

/* 카드 본문 높이 균일 */
.kth-card { display: flex !important; flex-direction: column !important; }
.kth-card-body { flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 6px !important; }
.kth-card-title { flex-shrink: 0 !important; }
.kth-card-excerpt { flex: 1 !important; }
.kth-meta--sm { margin-top: auto !important; padding-top: 6px !important; }

/* YouTube 섹션 헤더 — 탭 오른쪽 정렬 */
.kth-yt .kth-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.kth-yt-tabs { margin-left: auto !important; }

/* YouTube 6열 데스크탑 */
@media screen and (min-width: 900px) {
  .kth-yt-grid { grid-template-columns: repeat(6, 1fr) !important; gap: 12px !important; }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
  .kth-yt-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* 뉴스레터 가로 레이아웃 데스크탑 */
@media screen and (min-width: 768px) {
  .kth-nl-inner {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .kth-nl-left { max-width: 420px !important; }
  .kth-nl-form { flex-direction: row !important; flex-wrap: nowrap !important; }
  .kth-nl-input { width: 220px !important; }
}

/* 섹션 헤더 일관성 */
.kth-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* 페이지네이션 중앙 정렬 */
.kth-pagination { text-align: center !important; padding: 20px 0 !important; }

/* 사이드 Hero 카드 3개 균일 분할 */
@media screen and (min-width: 768px) {
  .kth-hero {
    grid-template-columns: 1fr 280px !important;
    grid-template-rows: repeat(3, 1fr) !important;
  }
  .kth-hero-main { grid-row: 1 / 4 !important; }
  .kth-hero-side-card { border-left: 1px solid rgba(255,255,255,0.07) !important; border-top: 1px solid rgba(255,255,255,0.05) !important; }
  .kth-hero-side-card:first-of-type { border-top: none !important; }
}

/* 전체 래퍼 max-width 패딩 */
.kth-wrap { max-width: 1200px !important; margin: 0 auto !important; }
.kth-yt-inner, .kth-nl-inner { max-width: 1200px !important; margin: 0 auto !important; }

/* ═══════════════════════════════════════
   MICRO POLISH v10
═══════════════════════════════════════ */

/* Hero excerpt 완전 숨김 */
.kth-hero-excerpt { display: none !important; }

/* Hero body 간결하게 */
.kth-hero-body {
  padding: 20px 22px !important;
  gap: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}
.kth-hero-body > * { margin: 0 !important; }
.kth-hero-title { margin-bottom: 4px !important; }

/* 카드 meta 하단 고정 */
.kth-card-body {
  padding: 14px 12px 12px !important;
  justify-content: space-between !important;
}
.kth-card-excerpt {
  color: #8a93aa !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
  flex: 0 !important;
  -webkit-line-clamp: 2 !important;
}
.kth-meta--sm {
  color: #555d78 !important;
  font-size: 10px !important;
  margin-top: 8px !important;
}

/* 카드 이미지 비율 고정 */
.kth-card-img {
  aspect-ratio: 16/9 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.kth-card-img img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s ease !important;
}
.kth-card:hover .kth-card-img img { transform: scale(1.04) !important; }

/* 카드 최소 높이 없애기 */
.kth-card { min-height: 0 !important; height: auto !important; }

/* Latest Articles 섹션 wrap 간격 */
.kth-wrap .kth-section { padding-bottom: 0 !important; }

/* 카드 없는 이미지 — 상단 금색 라인만 */
.kth-card:not(:has(.kth-card-img)) .kth-card-body {
  padding-top: 16px !important;
}

/* 페이지 1/100 텍스트 */
.page-number { font-size: 12px !important; color: #555d78 !important; }

/* YouTube Korean/Global 버튼 정렬 */
.kth-yt .kth-section-head {
  align-items: center !important;
  gap: 12px !important;
}
.kth-section-title svg { vertical-align: middle !important; margin-right: 6px !important; }

/* 뉴스레터 섹션 좌우 padding */
.kth-nl { padding: 48px 0 !important; }

/* 검색창 플레이스홀더 */
.search-input::placeholder { font-size: 11px !important; }
.search-btn { font-size: 13px !important; opacity: 0.6 !important; }
.search-btn:hover { opacity: 1 !important; }

/* 헤더 날짜 텍스트 */
#nyt-header-date { font-size: 10.5px !important; color: rgba(255,255,255,0.35) !important; }

/* 기사 태그 페이지 카드 간격 */
.kth-tag-wrap .kth-grid { padding-bottom: 16px !important; }
.kth-tag-wrap { padding-bottom: 48px !important; }

/* footer 로고 */
.footer-logo-img { height: 28px !important; opacity: 0.85 !important; }
.footer-logo-text { font-size: 17px !important; }
.footer-brand { margin-bottom: 16px !important; }

/* ═══════════════════════════════════════
   BUG FIXES v11: 퀵링크 + 페이지네이션 + 파비콘
═══════════════════════════════════════ */

/* 퀵링크 — .footer-nav-links 클래스 스타일 */
.footer-nav-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
}
.footer-nav-links a {
  color: #7a83a0 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: color .15s !important;
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.footer-nav-links a:hover { color: #d4aa55 !important; }

/* 푸터 nav-block 레이아웃 */
.footer-nav-block { min-width: 160px !important; }
.footer-nav-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: #f0f2f8 !important;
  margin-bottom: 14px !important;
}
.footer-contact-item { color: #7a83a0 !important; font-size: 13px !important; margin-bottom: 6px !important; }
.footer-contact-item a { color: #7a83a0 !important; }
.footer-contact-item a:hover { color: #d4aa55 !important; }

/* 페이지네이션 — Ghost 기본 출력 완전 스타일 */
.pagination { 
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important;
  gap: 10px !important;
  margin: 24px 0 !important;
}
.pagination .page-number {
  color: #6b7490 !important;
  font-size: 13px !important;
  padding: 0 8px !important;
}
.pagination a.prev-page,
.pagination a.next-page,
.pagination a.older-posts,
.pagination a.newer-posts {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 8px 18px !important;
  background: #2e3347 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 6px !important;
  color: #adb5cc !important;
  font-size: 13px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition: all .2s !important;
}
.pagination a.prev-page:hover,
.pagination a.next-page:hover,
.pagination a.older-posts:hover,
.pagination a.newer-posts:hover {
  border-color: #d4aa55 !important;
  color: #d4aa55 !important;
  background: rgba(212,170,85,0.08) !important;
}

/* 태그 페이지 페이지네이션 */
.kth-tag-wrap .pagination { padding: 16px 0 32px !important; }

/* ═══════════════════════════════════════
   SHOP PAGE + HOME SHOP STRIP
═══════════════════════════════════════ */

/* ── 숍 페이지 헤더 ── */
.kth-shop-wrap {
  background: linear-gradient(135deg, #1e2235 0%, #252b42 100%);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  padding: 28px 0 20px;
  margin-bottom: 0;
}
.kth-shop-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.kth-shop-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 20px; font-weight: 700; color: #f0f2f8;
  margin: 0 0 6px;
}
.kth-shop-title svg { color: #d4aa55; flex-shrink: 0; }
.kth-shop-desc { color: #6b7490; font-size: 13px; margin: 0; }

/* ── Bluedot shop 카드 다크 오버라이드 ── */
.tc-shop { max-width: 1200px !important; padding: 24px 20px 48px !important; }

.bluedot-products-list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
}
@media screen and (max-width: 1100px) {
  .bluedot-products-list { grid-template-columns: repeat(3, 1fr) !important; }
}
@media screen and (max-width: 767px) {
  .bluedot-products-list { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .tc-shop { padding: 16px 12px 32px !important; }
}
@media screen and (max-width: 420px) {
  .bluedot-products-list { grid-template-columns: 1fr !important; }
}

.bluedot-product-card {
  background: #2e3347 !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: transform .2s, box-shadow .2s !important;
  display: flex !important;
  flex-direction: column !important;
}
.bluedot-product-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.4) !important;
  border-color: rgba(212,170,85,0.3) !important;
}
.bluedot-product-card-content {
  background: #2e3347 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* 커버 이미지 비율 고정 */
.bluedot-product-card .cover-wrap {
  width: 100% !important;
  aspect-ratio: 16/9 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.bluedot-product-card .cover-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* info 영역 */
.bluedot-product-card .info {
  background: #2e3347 !important;
  padding: 12px 14px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.bluedot-product-card .info h3 {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.bluedot-product-card .info h3 a {
  color: #e8eaf0 !important;
  text-decoration: none !important;
}
.bluedot-product-card .info h3 a:hover { color: #d4aa55 !important; }

.bluedot-product-card .info p {
  color: #6b7490 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* 가격 영역 */
.bluedot-product-card .prices {
  margin-top: auto !important;
  padding-top: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.bluedot-product-card .price {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
}
.bluedot-product-card .price-label {
  color: #6b7490 !important;
  font-size: 10px !important;
  min-width: 72px !important;
}
.bluedot-product-card .price-text {
  color: #d4aa55 !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}

/* 배지 */
.bluedot-product-card .badge,
.bluedot-product-card [class*="badge"],
.bluedot-product-card .label {
  background: rgba(212,170,85,0.14) !important;
  color: #d4aa55 !important;
  border: 1px solid rgba(212,170,85,0.25) !important;
  font-size: 9px !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

/* 구매 버튼 */
.bluedot-product-card .btn,
.bluedot-product-card button,
.bluedot-product-card a.gh-button-buy {
  background: #d4aa55 !important;
  color: #12141e !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  padding: 7px 14px !important;
  text-align: center !important;
  margin-top: 8px !important;
  display: block !important;
  width: 100% !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .15s !important;
}
.bluedot-product-card .btn:hover,
.bluedot-product-card button:hover { background: #e8c870 !important; }

/* 페이지네이션 */
.bluedot-pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 24px 0 !important;
}
.bluedot-pagination a,
.bluedot-pagination button {
  background: #2e3347 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: #adb5cc !important;
  padding: 7px 16px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.bluedot-pagination a:hover { border-color: #d4aa55 !important; color: #d4aa55 !important; }
.bluedot-pagination .active,
.bluedot-pagination [aria-current] {
  background: rgba(212,170,85,0.14) !important;
  border-color: #d4aa55 !important;
  color: #d4aa55 !important;
}

/* ── 홈 숍 스트립 ── */
.kth-shop-strip {
  background: linear-gradient(135deg, #1e2235 0%, #25283a 100%);
  border-top: 1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  padding: 22px 0;
  margin: 28px 0 0;
}
.kth-shop-strip-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.kth-shop-strip-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.kth-shop-strip-title {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 700;
  color: #f0f2f8;
  letter-spacing: .03em;
}
.kth-shop-strip-title svg { color: #d4aa55; }
.kth-shop-strip-more {
  font-size: 12px;
  color: #6b7490;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.12);
  padding: 4px 12px;
  border-radius: 20px;
  transition: all .2s;
}
.kth-shop-strip-more:hover { color: #d4aa55; border-color: #d4aa55; }

/* 숍 스트립 가로 스크롤 */
.kth-shop-strip-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
@media screen and (max-width: 1100px) {
  .kth-shop-strip-grid { grid-template-columns: repeat(4, 1fr); }
}
@media screen and (max-width: 767px) {
  .kth-shop-strip { padding: 16px 0; margin: 20px 0 0; }
  .kth-shop-strip-grid {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding-bottom: 6px;
    scrollbar-width: none;
  }
  .kth-shop-strip-grid::-webkit-scrollbar { display: none; }
  .kth-shop-strip-item { flex-shrink: 0; width: 140px; }
}

.kth-shop-strip-item {
  background: #2e3347;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  overflow: hidden;
  transition: transform .2s, border-color .2s;
  text-decoration: none;
  display: flex;
  flex-direction: column;
}
.kth-shop-strip-item:hover {
  transform: translateY(-2px);
  border-color: rgba(212,170,85,0.35);
}
.kth-shop-strip-thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
  flex-shrink: 0;
}
.kth-shop-strip-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.kth-shop-strip-info {
  padding: 8px 10px 10px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.kth-shop-strip-name {
  font-size: 11px;
  font-weight: 600;
  color: #e0e3ee;
  line-height: 1.4;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kth-shop-strip-price {
  font-size: 10.5px;
  color: #d4aa55;
  font-weight: 600;
  margin-top: auto;
}

/* ═══════════════════════════════════════
   SHOP CARD COMPACT v2
═══════════════════════════════════════ */

/* 커버 이미지 비율 더 작게 */
.bluedot-product-card .cover-wrap,
.bluedot-product-card .cover-wrap.have-cover-image {
  aspect-ratio: 16/9 !important;
  height: auto !important;
  max-height: 130px !important;
  overflow: hidden !important;
}
.bluedot-product-card .cover-wrap img,
.bluedot-product-card .cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Digital Book 배지 작게 */
.bluedot-product-card .badge-wrap,
.bluedot-product-card [class*="badge"],
.bluedot-product-card .label,
.bluedot-product-card .tag {
  position: absolute !important;
  top: 6px !important; left: 8px !important;
  background: rgba(18,20,30,0.82) !important;
  color: #d4aa55 !important;
  border: none !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  z-index: 2 !important;
}
.bluedot-product-card .cover-wrap { position: relative !important; }

/* 이미지 없는 카드 — 커버 영역 최소화 */
.bluedot-product-card .cover-wrap:not(.have-cover-image) {
  display: none !important;
}

/* info 영역 더 compact */
.bluedot-product-card .info {
  padding: 10px 12px !important;
}
.bluedot-product-card .info h3 {
  font-size: 12px !important;
  line-height: 1.38 !important;
  margin-bottom: 4px !important;
}
.bluedot-product-card .info p {
  font-size: 10.5px !important;
  color: #6b7490 !important;
  display: none !important;   /* 설명 숨김 — 제목+가격만 */
}

/* 가격 줄 */
.bluedot-product-card .prices.full-price-list {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.bluedot-product-card .price {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.bluedot-product-card .price-label {
  font-size: 9.5px !important;
  color: #555d78 !important;
  min-width: 68px !important;
}
.bluedot-product-card .price-text {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #d4aa55 !important;
}

/* 아바타 숨김 */
.bluedot-product-card .author,
.bluedot-product-card .avatar,
.bluedot-product-card .author-wrap {
  display: none !important;
}

/* 5열로 더 촘촘하게 */
@media screen and (min-width: 1200px) {
  .bluedot-products-list {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 14px !important;
  }
}
@media screen and (min-width: 900px) and (max-width: 1199px) {
  .bluedot-products-list {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
  }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
  .bluedot-products-list {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
}
@media screen and (max-width: 599px) {
  .bluedot-products-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}

/* tc-shop 좌우 여백 */
.tc-shop.container {
  max-width: 1200px !important;
  padding: 20px 20px 40px !important;
}

/* ═══════════════════════════════════════
   ABOUT PAGE — 다크 테마 오버라이드
═══════════════════════════════════════ */
.nyt-page-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  min-height: 60vh;
}

/* About 기존 스타일 다크 오버라이드 */
.about-wrap { color: #cdd2e0 !important; }
.about-hero { border-bottom-color: rgba(255,255,255,0.1) !important; }
.about-title { color: #f0f2f8 !important; }
.about-subtitle { color: #adb5cc !important; }
.about-section-title {
  color: #f0f2f8 !important;
  border-bottom-color: rgba(212,170,85,0.4) !important;
}
.about-cover-card {
  background: #2e3347 !important;
  border-color: rgba(255,255,255,0.09) !important;
}
.about-cover-icon { background: rgba(212,170,85,0.12) !important; color: #d4aa55 !important; }
.about-cover-title { color: #f0f2f8 !important; }
.about-cover-desc { color: #8a93aa !important; }
.about-info-table { border-color: rgba(255,255,255,0.08) !important; }
.about-info-table th {
  background: #2e3347 !important;
  color: #adb5cc !important;
  border-color: rgba(255,255,255,0.08) !important;
}
.about-info-table td {
  color: #cdd2e0 !important;
  background: transparent !important;
  border-color: rgba(255,255,255,0.06) !important;
}
.about-contact { background: #2e3347 !important; border-color: rgba(255,255,255,0.09) !important; }
.about-contact-title { color: #f0f2f8 !important; }
.about-contact a { color: #d4aa55 !important; }

/* codeinjection 스타일 모두 다크로 */
#about-content-wrap * { box-sizing: border-box; }
#about-content-wrap h1,
#about-content-wrap h2,
#about-content-wrap h3 { color: #f0f2f8 !important; }
#about-content-wrap p,
#about-content-wrap li { color: #cdd2e0 !important; }
#about-content-wrap table th {
  background: #2e3347 !important;
  color: #adb5cc !important;
  border-color: rgba(255,255,255,0.1) !important;
}
#about-content-wrap table td {
  color: #cdd2e0 !important;
  background: transparent !important;
  border-color: rgba(255,255,255,0.07) !important;
}
#about-content-wrap a { color: #d4aa55 !important; }
#about-content-wrap [style*="background:#f"] {
  background: #2e3347 !important;
}
#about-content-wrap [style*="background: #f"] {
  background: #2e3347 !important;
}
#about-content-wrap [style*="border-bottom:3px solid #121212"] {
  border-bottom-color: rgba(255,255,255,0.1) !important;
}

/* ═══════════════════════════════════════
   ABOUT PAGE — topic card 다크 fix
═══════════════════════════════════════ */
.about-topic-card {
  background: #2e3347 !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  border-radius: 10px !important;
  color: #cdd2e0 !important;
}
.about-topic-card:hover {
  background: #373d55 !important;
  border-color: rgba(212,170,85,0.3) !important;
}
.about-topic-card * { color: inherit !important; }
.about-topic-card h3,
.about-topic-card .topic-title,
.about-topic-card strong { color: #f0f2f8 !important; }
.about-topic-card p,
.about-topic-card .topic-desc { color: #8a93aa !important; }
.about-topic-card .topic-icon,
.about-topic-card [class*="icon"] {
  color: #d4aa55 !important;
  background: rgba(212,170,85,0.12) !important;
}

/* About 섹션 타이틀 구분선 */
.about-section-title,
#about-content-wrap h2 {
  color: #f0f2f8 !important;
  border-bottom: 2px solid rgba(212,170,85,0.35) !important;
  padding-bottom: 8px !important;
  margin-bottom: 20px !important;
}

/* About 텍스트 전체 */
#about-content-wrap { color: #cdd2e0 !important; }
#about-content-wrap h1 { color: #f0f2f8 !important; font-size: 32px !important; }
#about-content-wrap p { color: #adb5cc !important; }

/* About Hero 섹션 */
.about-hero { border-bottom-color: rgba(255,255,255,0.1) !important; }
.about-hero-subtitle,
.about-subtitle { color: #8a93aa !important; }
.about-tags span,
.about-tag {
  background: rgba(212,170,85,0.12) !important;
  color: #d4aa55 !important;
  border-color: rgba(212,170,85,0.25) !important;
}

/* Company Info 테이블 */
#about-content-wrap table {
  border-color: rgba(255,255,255,0.08) !important;
  width: 100% !important;
}
#about-content-wrap table tr {
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
#about-content-wrap table td:first-child {
  color: #6b7490 !important;
  font-weight: 600 !important;
  width: 130px !important;
}
#about-content-wrap table td {
  color: #cdd2e0 !important;
  padding: 10px 12px !important;
}

/* Contact 섹션 */
.about-contact-section,
#about-content-wrap [class*="contact"] {
  text-align: center !important;
}
#about-content-wrap a[href*="mailto"] {
  background: #1a56db !important;
  color: #fff !important;
  padding: 10px 24px !important;
  border-radius: 6px !important;
  display: inline-block !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  font-size: 14px !important;
}
#about-content-wrap a[href*="mailto"]:hover {
  background: #1e40af !important;
}
#about-content-wrap a[href*="youtube"],
#about-content-wrap a[href*="facebook"] {
  color: #6b7490 !important;
  font-size: 13px !important;
  text-decoration: none !important;
}
#about-content-wrap a[href*="youtube"]:hover,
#about-content-wrap a[href*="facebook"]:hover {
  color: #d4aa55 !important;
}

/* ═══════════════════════════════════════
   CARD SIZE UP + HERO DOWN v12
═══════════════════════════════════════ */

/* ── Hero 더 작게 ── */
@media screen and (min-width: 768px) {
  .kth-hero { min-height: 220px !important; max-height: 260px !important; }
  .kth-hero-main { min-height: 220px !important; max-height: 260px !important; }
  .kth-hero-title { font-size: 17px !important; }
}
@media screen and (max-width: 767px) {
  .kth-hero { min-height: 150px !important; max-height: 190px !important; }
  .kth-hero-main { min-height: 150px !important; max-height: 190px !important; }
  .kth-hero-title { font-size: 13px !important; }
}

/* ── 카드 3열로 줄여서 각 카드 크게 ── */
@media screen and (min-width: 1100px) {
  .kth-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important; }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  .kth-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
}
@media screen and (max-width: 767px) {
  .kth-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
}

/* ── 카드 이미지 더 크게 ── */
.kth-card-img {
  aspect-ratio: 16/9 !important;
  max-height: 200px !important;
}

/* ── 카드 본문 ── */
.kth-card-body { padding: 16px 16px 14px !important; gap: 8px !important; }

/* ── 카드 제목 크게 ── */
.kth-card-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  -webkit-line-clamp: 3 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: #edf0f8 !important;
}

/* ── 부제(excerpt) 반드시 표시 ── */
.kth-card-excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 12.5px !important;
  color: #8a93aa !important;
  line-height: 1.55 !important;
}

/* ── 메타 정보 ── */
.kth-meta--sm {
  font-size: 11px !important;
  color: #555d78 !important;
  margin-top: 6px !important;
}

/* ── 모바일 카드 가로 배치 (이미지 왼쪽 + 텍스트 오른쪽) ── */
@media screen and (max-width: 767px) {
  .kth-card {
    flex-direction: row !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 100px !important;
  }
  .kth-card-img {
    width: 120px !important;
    flex-shrink: 0 !important;
    aspect-ratio: auto !important;
    max-height: none !important;
    height: auto !important;
    min-height: 100px !important;
  }
  .kth-card-body { 
    padding: 12px 12px 10px !important; 
    flex: 1 !important;
  }
  .kth-card-title { font-size: 13px !important; -webkit-line-clamp: 3 !important; }
  .kth-card-excerpt { font-size: 11.5px !important; -webkit-line-clamp: 2 !important; display: -webkit-box !important; }
}

/* ═══════════════════════════════════════
   CARD EXCERPT FORCE SHOW v13
═══════════════════════════════════════ */

/* excerpt 강제 표시 — display flow-root 덮어쓰기 */
.kth-card .kth-card-excerpt,
.kth-card-body .kth-card-excerpt,
a.kth-card .kth-card-excerpt {
  display: block !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: #8a93aa !important;
  max-height: 3.9em !important;
}

/* 카드 이미지 비율 고정 + 크게 */
.kth-card .kth-card-img,
a.kth-card .kth-card-img {
  aspect-ratio: 16/9 !important;
  height: auto !important;
  min-height: 180px !important;
  max-height: 210px !important;
  overflow: hidden !important;
}

/* 카드 전체 높이 auto, flex column */
a.kth-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
}
a.kth-card .kth-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 16px !important;
  gap: 7px !important;
}
a.kth-card .kth-card-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
  color: #edf0f8 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
a.kth-card .kth-meta--sm {
  margin-top: auto !important;
  padding-top: 8px !important;
  font-size: 11px !important;
  color: #555d78 !important;
}

/* 모바일: 세로 레이아웃으로 변경 (excerpt 표시 우선) */
@media screen and (max-width: 767px) {
  a.kth-card {
    flex-direction: column !important;
  }
  a.kth-card .kth-card-img {
    width: 100% !important;
    min-height: 160px !important;
    max-height: 180px !important;
    aspect-ratio: 16/9 !important;
  }
  a.kth-card .kth-card-title { font-size: 14px !important; }
  a.kth-card .kth-card-excerpt {
    font-size: 12px !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
  }
  .kth-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
}

/* ═══════════════════════════════════════
   HERO 4:3 + CARDS BIGGER v14
═══════════════════════════════════════ */

/* ── Hero 4:3 비율 ── */
@media screen and (min-width: 768px) {
  .kth-hero {
    grid-template-columns: 1fr 300px !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
  }
  .kth-hero-main {
    aspect-ratio: 4/3 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
  }
  .kth-hero-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .kth-hero-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  /* 사이드 카드 3개 → Hero와 같은 높이 맞춤 */
  .kth-hero-side-card {
    flex: 1 !important;
    min-height: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .kth-hero-main {
    aspect-ratio: 4/3 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
  }
}

/* ── 카드 2열로 크게 ── */
@media screen and (min-width: 1100px) {
  .kth-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  .kth-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}
@media screen and (max-width: 767px) {
  .kth-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* ── 카드 이미지 16:9 더 크게 ── */
a.kth-card .kth-card-img {
  aspect-ratio: 16/9 !important;
  min-height: 200px !important;
  max-height: 240px !important;
}

/* ── 카드 제목 크게 ── */
a.kth-card .kth-card-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ── 카드 부제 더 크게 ── */
a.kth-card .kth-card-excerpt,
.kth-card .kth-card-excerpt,
.kth-card-body .kth-card-excerpt {
  display: block !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: #8a93aa !important;
  overflow: hidden !important;
  max-height: 4.8em !important;
  -webkit-line-clamp: 3 !important;
}

/* ── 카드 패딩 여유 ── */
a.kth-card .kth-card-body {
  padding: 18px 18px 16px !important;
  gap: 9px !important;
}

/* ── 배지 ── */
a.kth-card .kth-badge--sm {
  font-size: 10px !important;
  padding: 2px 8px !important;
}

/* ── 메타 ── */
a.kth-card .kth-meta--sm {
  font-size: 11.5px !important;
  color: #555d78 !important;
}

/* 모바일 카드 세로 + 제목 크게 */
@media screen and (max-width: 767px) {
  a.kth-card { flex-direction: column !important; }
  a.kth-card .kth-card-img {
    width: 100% !important;
    min-height: 180px !important;
    max-height: 200px !important;
  }
  a.kth-card .kth-card-title { font-size: 15px !important; }
  a.kth-card .kth-card-excerpt { font-size: 12.5px !important; }
}

/* ═══════════════════════════════════════
   CARD NO-IMAGE STYLE + MIN HEIGHT v15
═══════════════════════════════════════ */

/* 이미지 없는 카드 — 골드 상단 + 큰 패딩 */
a.kth-card:not(:has(.kth-card-img)) {
  border-top: 3px solid rgba(212,170,85,0.6) !important;
  min-height: 160px !important;
}
a.kth-card:not(:has(.kth-card-img)) .kth-card-body {
  padding: 22px 20px 18px !important;
  justify-content: flex-start !important;
}
a.kth-card:not(:has(.kth-card-img)) .kth-card-title {
  font-size: 18px !important;
  -webkit-line-clamp: 3 !important;
  margin-bottom: 8px !important;
}
a.kth-card:not(:has(.kth-card-img)) .kth-card-excerpt {
  font-size: 13.5px !important;
  max-height: 6em !important;
  -webkit-line-clamp: 4 !important;
  color: #8a93aa !important;
}

/* 이미지 있는 카드 — 이미지 크게 */
a.kth-card:has(.kth-card-img) .kth-card-img {
  aspect-ratio: 16/9 !important;
  min-height: 220px !important;
  max-height: 260px !important;
}
a.kth-card:has(.kth-card-img) .kth-card-title {
  font-size: 16px !important;
  -webkit-line-clamp: 2 !important;
}
a.kth-card:has(.kth-card-img) .kth-card-excerpt {
  -webkit-line-clamp: 2 !important;
  max-height: 4em !important;
}

/* 전체 카드 min-height */
a.kth-card { min-height: 150px !important; }

/* 카드 hover 효과 개선 */
a.kth-card:hover .kth-card-title { color: #d4aa55 !important; }

/* ═══════════════════════════════════════
   HERO SMALLER v16
═══════════════════════════════════════ */
@media screen and (min-width: 768px) {
  .kth-hero {
    grid-template-columns: 1fr 260px !important;
    max-height: 280px !important;
  }
  .kth-hero-main {
    aspect-ratio: unset !important;
    height: 280px !important;
    min-height: 0 !important;
    max-height: 280px !important;
  }
  .kth-hero-title {
    font-size: 16px !important;
    -webkit-line-clamp: 2 !important;
  }
  .kth-hero-body { padding: 14px 18px !important; }
  .kth-hero-side-card { max-height: 93px !important; overflow: hidden !important; }
  .kth-hero-side-title { font-size: 11px !important; -webkit-line-clamp: 2 !important; }
  .kth-hero-side-img { max-height: 52px !important; }
}
@media screen and (max-width: 767px) {
  .kth-hero-main {
    aspect-ratio: unset !important;
    height: 160px !important;
    min-height: 0 !important;
    max-height: 160px !important;
  }
  .kth-hero-title { font-size: 13px !important; -webkit-line-clamp: 2 !important; }
}

/* ═══════════════════════════════════════
   HERO COMPACT v17 — 200px
═══════════════════════════════════════ */
@media screen and (min-width: 768px) {
  .kth-hero,
  .kth-hero-main {
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
  }
  .kth-hero { grid-template-columns: 1fr 240px !important; }
  .kth-hero-title { font-size: 15px !important; -webkit-line-clamp: 2 !important; margin-bottom: 4px !important; }
  .kth-hero-body { padding: 12px 16px !important; gap: 5px !important; }
  .kth-meta { font-size: 10px !important; }
  .kth-hero-side-card { max-height: 66px !important; padding: 8px 10px !important; }
  .kth-hero-side-title { font-size: 10.5px !important; -webkit-line-clamp: 2 !important; }
  .kth-hero-side-img { display: none !important; }
}
@media screen and (max-width: 767px) {
  .kth-hero-main {
    height: 140px !important;
    min-height: 140px !important;
    max-height: 140px !important;
  }
  .kth-hero-title { font-size: 12px !important; }
}

/* Hero 전체 섹션 margin 줄이기 */
.kth-hero { margin-bottom: 20px !important; }
.kth-wrap { padding-top: 16px !important; }

/* ═══════════════════════════════════════
   HERO 4:3 SMALL + CARDS 3열 v18
═══════════════════════════════════════ */
@media screen and (min-width: 768px) {
  /* Hero 전체 그리드 — 4:3 메인 + 사이드 */
  .kth-hero {
    display: grid !important;
    grid-template-columns: auto 260px !important;
    grid-template-rows: repeat(3, 1fr) !important;
    max-height: 320px !important;
    min-height: 0 !important;
    width: 100% !important;
  }
  /* 메인 Hero: 4:3 비율, 최대 너비 제한 */
  .kth-hero-main {
    grid-row: 1 / 4 !important;
    aspect-ratio: 4/3 !important;
    width: 100% !important;
    max-width: 420px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 320px !important;
  }
  /* 사이드 카드 균등 분할 */
  .kth-hero-side-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: 106px !important;
    overflow: hidden !important;
    padding: 8px 12px !important;
  }
  .kth-hero-side-title {
    font-size: 11px !important;
    -webkit-line-clamp: 3 !important;
    line-height: 1.4 !important;
  }
  .kth-hero-side-img { display: none !important; }
  .kth-hero-title { font-size: 15px !important; -webkit-line-clamp: 2 !important; }
  .kth-hero-body { padding: 14px 16px !important; }
}

/* ── 카드 3열 ── */
@media screen and (min-width: 1100px) {
  .kth-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  .kth-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}
@media screen and (max-width: 767px) {
  .kth-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
}

/* 카드 이미지 크기 3열에 맞게 */
a.kth-card .kth-card-img {
  aspect-ratio: 16/9 !important;
  min-height: 160px !important;
  max-height: 190px !important;
}
a.kth-card:has(.kth-card-img) .kth-card-img {
  min-height: 160px !important;
  max-height: 190px !important;
}

/* 카드 제목/부제 */
a.kth-card .kth-card-title {
  font-size: 14px !important;
  -webkit-line-clamp: 3 !important;
}
a.kth-card .kth-card-excerpt,
.kth-card .kth-card-excerpt {
  font-size: 12px !important;
  max-height: 3.8em !important;
  -webkit-line-clamp: 2 !important;
}
a.kth-card:not(:has(.kth-card-img)) .kth-card-title {
  font-size: 15px !important;
}
a.kth-card .kth-card-body {
  padding: 14px 14px 12px !important;
  gap: 7px !important;
}

/* ═══════════════════════════════════════
   HERO REDESIGN v19 — 4:3 LEFT + LIST RIGHT
═══════════════════════════════════════ */

/* Hero 전체 래퍼 */
.kth-hero-wrap {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 0 !important;
  background: #1e2235 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* 왼쪽: 4:3 메인 기사 */
.kth-hero-left { flex-shrink: 0; }
.kth-hero-wrap .kth-hero-main {
  display: block !important;
  position: relative !important;
  width: 360px !important;
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}
.kth-hero-wrap .kth-hero-img {
  position: absolute !important;
  inset: 0 !important;
}
.kth-hero-wrap .kth-hero-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.kth-hero-wrap .kth-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(8,10,20,0.95) 0%, rgba(8,10,20,0.3) 60%, transparent 100%) !important;
}
.kth-hero-wrap .kth-hero-body {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
.kth-hero-wrap .kth-hero-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.kth-hero-wrap .kth-badge {
  font-size: 9px !important;
  padding: 2px 7px !important;
}
.kth-hero-wrap .kth-meta { font-size: 10px !important; color: rgba(255,255,255,0.55) !important; }

/* 오른쪽: 사이드 기사 3개 리스트 */
.kth-hero-right {
  display: flex !important;
  flex-direction: column !important;
  border-left: 1px solid rgba(255,255,255,0.08) !important;
}
.kth-hero-wrap .kth-hero-side-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  flex: 1 !important;
  transition: background .15s !important;
}
.kth-hero-wrap .kth-hero-side-card:last-child { border-bottom: none !important; }
.kth-hero-wrap .kth-hero-side-card:hover { background: rgba(255,255,255,0.04) !important; }

.kth-hero-wrap .kth-hero-side-img {
  width: 80px !important;
  height: 56px !important;
  flex-shrink: 0 !important;
  border-radius: 5px !important;
  overflow: hidden !important;
  display: block !important;
}
.kth-hero-wrap .kth-hero-side-img img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
}
.kth-hero-wrap .kth-hero-side-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
}
.kth-hero-wrap .kth-hero-side-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #e0e3ee !important;
  line-height: 1.45 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.kth-hero-wrap .kth-hero-side-card:hover .kth-hero-side-title { color: #d4aa55 !important; }
.kth-hero-wrap .kth-badge--sm { font-size: 9px !important; }
.kth-hero-wrap .kth-meta--sm { font-size: 10px !important; color: #555d78 !important; }

/* 모바일: 세로 스택 */
@media screen and (max-width: 767px) {
  .kth-hero-wrap {
    grid-template-columns: 1fr !important;
    margin-bottom: 16px !important;
  }
  .kth-hero-wrap .kth-hero-main {
    width: 100% !important;
    aspect-ratio: 16/9 !important;
  }
  .kth-hero-right { border-left: none !important; border-top: 1px solid rgba(255,255,255,0.08) !important; }
  .kth-hero-wrap .kth-hero-side-card { padding: 10px 12px !important; }
  .kth-hero-wrap .kth-hero-side-img { width: 64px !important; height: 44px !important; }
  .kth-hero-wrap .kth-hero-side-title { font-size: 11px !important; -webkit-line-clamp: 2 !important; }
}

/* 카드 3열 — 최종 */
@media screen and (min-width: 1100px) {
  .kth-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  .kth-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
}
@media screen and (max-width: 767px) {
  .kth-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
}

/* ═══════════════════════════════════════
   HERO FINAL OVERRIDE + CARD 3열 v20
   (이전 모든 kth-hero 스타일 완전 덮어쓰기)
═══════════════════════════════════════ */

/* 구 .kth-hero 완전 무력화 */
.kth-hero { all: unset !important; display: none !important; }

/* ── 새 Hero 래퍼 ── */
.kth-hero-wrap {
  display: flex !important;
  flex-direction: row !important;
  gap: 0 !important;
  background: #1e2235 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 22px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  height: 270px !important;
}

/* ── 왼쪽: 4:3 메인 기사 ── */
.kth-hero-left {
  flex: 0 0 360px !important;
  width: 360px !important;
  height: 270px !important;
  overflow: hidden !important;
}
.kth-hero-left .kth-hero-main {
  display: block !important;
  position: relative !important;
  width: 360px !important;
  height: 270px !important;
  text-decoration: none !important;
  overflow: hidden !important;
}
.kth-hero-left .kth-hero-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.kth-hero-left .kth-hero-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.kth-hero-left .kth-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(5,7,18,0.97) 0%, rgba(5,7,18,0.25) 55%, transparent 100%) !important;
}
.kth-hero-left .kth-hero-body {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  z-index: 2 !important;
}
.kth-hero-left .kth-hero-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.kth-hero-left .kth-badge {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  background: rgba(212,170,85,0.2) !important;
  color: #d4aa55 !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
  border: 1px solid rgba(212,170,85,0.3) !important;
  display: inline-block !important;
  width: fit-content !important;
}
.kth-hero-left .kth-meta {
  font-size: 10px !important;
  color: rgba(255,255,255,0.45) !important;
  display: flex !important;
  gap: 4px !important;
  align-items: center !important;
}

/* ── 오른쪽: 사이드 3개 리스트 ── */
.kth-hero-right {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  border-left: 1px solid rgba(255,255,255,0.07) !important;
  overflow: hidden !important;
}
.kth-hero-right .kth-hero-side-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px 14px !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  flex: 1 !important;
  transition: background .15s !important;
  overflow: hidden !important;
  min-height: 0 !important;
}
.kth-hero-right .kth-hero-side-card:last-child { border-bottom: none !important; }
.kth-hero-right .kth-hero-side-card:hover { background: rgba(255,255,255,0.04) !important; }
.kth-hero-right .kth-hero-side-img {
  width: 80px !important;
  height: 55px !important;
  flex-shrink: 0 !important;
  border-radius: 5px !important;
  overflow: hidden !important;
}
.kth-hero-right .kth-hero-side-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.kth-hero-right .kth-hero-side-body {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.kth-hero-right .kth-hero-side-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #dde0ee !important;
  line-height: 1.45 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.kth-hero-right .kth-hero-side-card:hover .kth-hero-side-title { color: #d4aa55 !important; }
.kth-hero-right .kth-badge--sm {
  font-size: 9px !important;
  background: rgba(212,170,85,0.12) !important;
  color: #d4aa55 !important;
  padding: 1px 5px !important;
  border-radius: 3px !important;
  display: inline-block !important;
  width: fit-content !important;
}
.kth-hero-right .kth-meta--sm { font-size: 10px !important; color: #555d78 !important; }

/* ── 모바일 Hero ── */
@media screen and (max-width: 767px) {
  .kth-hero-wrap {
    flex-direction: column !important;
    height: auto !important;
  }
  .kth-hero-left,
  .kth-hero-left .kth-hero-main {
    flex: none !important;
    width: 100% !important;
    height: 180px !important;
  }
  .kth-hero-right { border-left: none !important; border-top: 1px solid rgba(255,255,255,0.07) !important; }
  .kth-hero-right .kth-hero-side-card { padding: 9px 12px !important; }
  .kth-hero-right .kth-hero-side-img { width: 60px !important; height: 42px !important; }
  .kth-hero-right .kth-hero-side-title { font-size: 11px !important; -webkit-line-clamp: 2 !important; }
}

/* ── 카드 3열 최종 ── */
@media screen and (min-width: 1100px) {
  .kth-grid { grid-template-columns: repeat(3,1fr) !important; gap: 16px !important; }
}
@media screen and (min-width: 768px) and (max-width:1099px) {
  .kth-grid { grid-template-columns: repeat(2,1fr) !important; gap: 14px !important; }
}
@media screen and (max-width: 767px) {
  .kth-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
}

/* 카드 크기 3열 기준 */
a.kth-card .kth-card-img { aspect-ratio: 16/9 !important; min-height: 160px !important; max-height: 185px !important; }
a.kth-card .kth-card-title { font-size: 14px !important; font-weight: 700 !important; -webkit-line-clamp: 3 !important; }
a.kth-card .kth-card-excerpt, .kth-card .kth-card-excerpt { font-size: 12px !important; max-height: 3.8em !important; display: block !important; color: #8a93aa !important; }
a.kth-card .kth-card-body { padding: 14px !important; gap: 7px !important; }
a.kth-card:not(:has(.kth-card-img)) { border-top: 3px solid rgba(212,170,85,0.55) !important; }
a.kth-card:not(:has(.kth-card-img)) .kth-card-title { font-size: 15px !important; }

/* ═══════════════════════════════════════
   HERO BALANCE v21 — 더 크게 균형
═══════════════════════════════════════ */
.kth-hero-wrap {
  height: 340px !important;
}
.kth-hero-left,
.kth-hero-left .kth-hero-main {
  flex: 0 0 453px !important;
  width: 453px !important;
  height: 340px !important;
}
/* 사이드 제목 더 크게 */
.kth-hero-right .kth-hero-side-title {
  font-size: 13px !important;
  -webkit-line-clamp: 3 !important;
}
.kth-hero-right .kth-hero-side-card {
  padding: 14px 16px !important;
  gap: 12px !important;
}
.kth-hero-right .kth-hero-side-img {
  width: 90px !important;
  height: 64px !important;
}
/* 모바일 */
@media screen and (max-width: 767px) {
  .kth-hero-wrap { height: auto !important; }
  .kth-hero-left,
  .kth-hero-left .kth-hero-main {
    flex: none !important;
    width: 100% !important;
    height: 200px !important;
  }
}

/* ══════════════════════════════════════════════════════
   POST PAGE — NYT Style Redesign v30
   좁은 본문 컬럼, 신문형 레이아웃
═══════════════════════════════════════════════════════ */

/* 외부 래퍼: 최대 1060px, 중앙 정렬 */
.nyt-post-wrap {
  max-width: 1060px !important;
  margin: 0 auto !important;
  padding: 0 20px 80px !important;
}

/* ── 헤더 영역 (제목/태그/메타): 본문과 같은 680px 중앙 */
.nyt-post-header {
  max-width: 700px !important;
  margin: 0 auto 0 !important;
  padding: 40px 0 24px !important;
  border-bottom: none !important;
}
.nyt-post-tag {
  font-size: 10px !important; letter-spacing: .09em !important;
  font-weight: 800 !important; text-transform: uppercase !important;
  color: #d4aa55 !important; background: rgba(212,170,85,.1) !important;
  border: 1px solid rgba(212,170,85,.25) !important;
  padding: 3px 9px !important; border-radius: 3px !important;
  display: inline-block !important; margin-bottom: 16px !important;
}
.nyt-post-title {
  font-family: 'DM Serif Display','Noto Serif KR',Georgia,serif !important;
  font-size: clamp(24px, 3.5vw, 40px) !important;
  font-weight: 700 !important; line-height: 1.18 !important;
  color: #f0f2f8 !important; margin-bottom: 18px !important;
  letter-spacing: -.01em !important;
}
.nyt-post-excerpt {
  font-size: 17px !important; line-height: 1.6 !important;
  color: #8a93b0 !important; font-style: italic !important;
  margin-bottom: 20px !important; font-family: Georgia, serif !important;
}
.nyt-post-meta {
  display: flex !important; align-items: center !important;
  gap: 0 !important; flex-wrap: wrap !important;
  font-size: 12.5px !important; color: #606880 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 14px !important; margin-top: 4px !important;
}
.nyt-post-author {
  color: #9aa3bc !important; font-weight: 700 !important;
  font-size: 12.5px !important; margin-right: 6px !important;
}
.nyt-post-date, .nyt-post-read {
  color: #555e78 !important; font-size: 12px !important;
}
.nyt-post-date::before { content: "·"; margin: 0 6px; color: #40485e; }
.nyt-post-read::before { content: "·"; margin: 0 6px; color: #40485e; }

/* ── Feature 이미지: 전체 컨테이너 너비(1060px)로 넓게 */
.nyt-post-image {
  max-width: 900px !important;
  margin: 28px auto 36px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.nyt-post-image img {
  width: 100% !important;
  height: auto !important;
  max-height: 500px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 8px !important;
}
.nyt-post-image figcaption {
  font-size: 11.5px !important; color: #4a5268 !important;
  text-align: center !important; padding: 8px 0 0 !important;
  font-style: italic !important;
}

/* ── 본문 영역: 680px 좁은 컬럼, 중앙 */
.nyt-post-content {
  max-width: 700px !important;
  margin: 0 auto !important;
}
.c-content {
  max-width: 700px !important;
  margin: 0 auto !important;
}
.nyt-post-content p, .c-content p {
  font-size: 17px !important;
  line-height: 1.88 !important;
  color: #c0c8da !important;
  margin-bottom: 22px !important;
  font-family: Georgia, 'Noto Serif KR', serif !important;
}
.nyt-post-content h2, .c-content h2 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 23px !important; font-weight: 700 !important;
  color: #edf0f7 !important;
  margin: 44px 0 16px !important; line-height: 1.28 !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  padding-bottom: 10px !important;
}
.nyt-post-content h3, .c-content h3 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 19px !important; font-weight: 700 !important;
  color: #edf0f7 !important; margin: 34px 0 12px !important;
}
.nyt-post-content h4, .c-content h4 {
  font-size: 15px !important; font-weight: 800 !important;
  color: #d4aa55 !important; margin: 26px 0 8px !important;
  letter-spacing: .03em !important; text-transform: uppercase !important;
}
.nyt-post-content a, .c-content a {
  color: #d4aa55 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(212,170,85,.3) !important;
  text-underline-offset: 3px !important;
}
.nyt-post-content blockquote, .c-content blockquote {
  border-left: 3px solid #d4aa55 !important;
  background: rgba(212,170,85,.05) !important;
  padding: 16px 22px !important;
  margin: 28px 0 !important;
  color: #a0a9c0 !important;
  font-style: italic !important;
  font-size: 17px !important;
  font-family: Georgia, serif !important;
  border-radius: 0 6px 6px 0 !important;
}
/* 본문 안 이미지는 본문 너비로 */
.nyt-post-content img, .c-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 6px !important;
  margin: 24px auto !important;
  display: block !important;
}
/* 본문 안 figure(KG카드)는 약간 넓게 */
.nyt-post-content figure, .c-content figure {
  margin: 28px -20px !important;
}
@media(max-width: 780px){
  .nyt-post-content figure, .c-content figure { margin: 24px 0 !important; }
  .nyt-post-image { margin: 20px auto 24px !important; }
}
.nyt-post-content figcaption, .c-content figcaption {
  font-size: 11.5px !important; color: #4a5268 !important;
  text-align: center !important; margin-top: 6px !important;
  font-style: italic !important;
}
.nyt-post-content ul, .c-content ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 22px !important;
}
.nyt-post-content ul li, .c-content ul li {
  padding-left: 18px !important;
  position: relative !important;
  margin-bottom: 10px !important;
  line-height: 1.75 !important;
  color: #c0c8da !important;
  font-size: 16px !important;
  font-family: Georgia, serif !important;
}
.nyt-post-content ul li::before, .c-content ul li::before {
  content: "▪" !important;
  position: absolute !important; left: 0 !important;
  color: #d4aa55 !important; font-size: 10px !important; top: 6px !important;
}
.nyt-post-content ol, .c-content ol {
  padding-left: 24px !important; margin-bottom: 22px !important;
  overflow: visible !important;
}
.nyt-post-content ol li, .c-content ol li {
  margin-bottom: 10px !important; line-height: 1.75 !important;
  color: #c0c8da !important; font-size: 16px !important;
  font-family: Georgia, serif !important;
  overflow: visible !important;
}
.nyt-post-content hr, .c-content hr {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  margin: 44px 0 !important;
}
/* 테이블 (Google Docs callout) */
.nyt-post-content table, .c-content table {
  max-width: 100% !important;
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 24px 0 !important;
  font-size: 14px !important;
  background: #252b40 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  color: #c0c8da !important;
}
.nyt-post-content table td, .c-content table td,
.nyt-post-content table th, .c-content table th {
  padding: 10px 14px !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  background: transparent !important;
  color: #c0c8da !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.nyt-post-content table th, .c-content table th {
  background: rgba(212,170,85,.1) !important;
  color: #d4aa55 !important;
  font-weight: 700 !important;
}

/* 모바일 */
@media(max-width: 640px){
  .nyt-post-title { font-size: 22px !important; }
  .nyt-post-excerpt { font-size: 15px !important; }
  .nyt-post-content p, .c-content p { font-size: 15.5px !important; }
  .nyt-post-image img { max-height: 240px !important; }
}

/* ── v31: feature image 16:9 고정, 상단 여백 조정 */
.nyt-post-image {
  max-width: 900px !important;
  margin: 24px auto 32px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  aspect-ratio: 16/9 !important;
}
.nyt-post-image img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border-radius: 8px !important;
}
/* 헤더 상단 브레드크럼 숨기기 (작은 "AI" 텍스트) */
.nyt-post-wrap > *:first-child:not(.nyt-post-header):not(.nyt-post-image) {
  font-size: 11px !important;
  color: #555e78 !important;
  padding: 12px 0 0 !important;
  max-width: 700px !important;
  margin: 0 auto !important;
}

/* ── v32: feature image 고정 높이 480px, 16:9 강제 */
.nyt-post-image {
  max-width: 900px !important;
  width: 100% !important;
  margin: 24px auto 36px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  aspect-ratio: unset !important;
  height: 460px !important;
}
.nyt-post-image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 460px !important;
  object-fit: cover !important;
  object-position: center 20% !important;
  display: block !important;
  border-radius: 0 !important;
}

/* post-wrap 최대 너비 줄이기 */
.nyt-post-wrap {
  max-width: 980px !important;
}

/* 헤더 구분선 복원 */
.nyt-post-header {
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}

/* 본문 폰트 serif 계열로 */
.nyt-post-content p, .c-content p {
  font-family: Georgia, 'Times New Roman', 'Noto Serif KR', serif !important;
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: #bcc4d6 !important;
}

/* 모바일 */
@media(max-width:640px){
  .nyt-post-image { height: 220px !important; }
  .nyt-post-image img { max-height: 220px !important; }
}

/* ═══════════════════════════════════════════════════════════
   모바일 기사 테이블 반응형 픽스 (2026-04-01)
   인라인 col width 고정값 무력화 + 스크롤 래퍼
════════════════════════════════════════════════════════════ */

/* col 고정 폭 무력화 */
.gh-content col,
.nyt-post-content col,
.c-content col,
.post-content col { width: auto !important; }

/* 테이블 래퍼: 가로 스크롤 허용 */
.gh-content table,
.nyt-post-content table,
.c-content table,
.post-content table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-collapse: collapse !important;
  white-space: normal !important;
  word-break: break-word !important;
  font-size: 13px !important;
}

/* 인라인 width 고정값 무력화 */
.gh-content table td,
.nyt-post-content table td,
.c-content table td,
.gh-content table th,
.nyt-post-content table th,
.c-content table th {
  min-width: 60px !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* 이미지 모바일 100% */
.gh-content img,
.nyt-post-content img,
.c-content img,
.post-content img {
  max-width: 100% !important;
  height: auto !important;
  width: auto !important;
}

/* 모바일 전용 */
@media (max-width: 640px) {
  .gh-content table,
  .nyt-post-content table,
  .c-content table {
    font-size: 12px !important;
  }

  .gh-content table td,
  .nyt-post-content table td,
  .c-content table td,
  .gh-content table th,
  .nyt-post-content table th,
  .c-content table th {
    padding: 6px 8px !important;
    font-size: 12px !important;
  }

  /* 본문 글자 크기 */
  .gh-content p,
  .nyt-post-content p,
  .c-content p {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  /* 본문 컨테이너 패딩 */
  .gh-content,
  .nyt-post-content,
  .c-content,
  .post-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   모바일 Hero 완전 재설계 v30b (2026-04-01)
   이미지 위에 텍스트 오버레이 → 이미지/텍스트 분리 레이아웃
════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Hero 컨테이너 — 세로 flex */
  .kth-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    max-height: none !important;
    margin-bottom: 20px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  /* 메인 카드 — 이미지 고정 높이 + 텍스트 아래 분리 */
  .kth-hero-main {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    max-height: none !important;
    position: relative !important;
  }

  /* 이미지 영역 — 고정 비율 */
  .kth-hero-img {
    position: relative !important;
    width: 100% !important;
    height: 200px !important;
    flex-shrink: 0 !important;
  }
  .kth-hero-img img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  /* 오버레이 — 이미지 영역에만 */
  .kth-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom,
      rgba(14,16,22,0) 0%,
      rgba(14,16,22,0.7) 100%) !important;
    height: 200px !important;
  }

  /* 텍스트 본문 — 이미지 아래 어두운 배경 */
  .kth-hero-body {
    position: relative !important;
    z-index: 3 !important;
    background: var(--surface) !important;
    padding: 14px 16px 18px !important;
    border-top: 2px solid var(--gold) !important;
  }
  .kth-hero-title {
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: var(--t1) !important;
    margin: 8px 0 6px !important;
  }
  .kth-hero-excerpt {
    font-size: 13px !important;
    color: var(--t2) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .kth-meta { font-size: 11px !important; color: var(--t3) !important; }

  /* 사이드 카드 — 모바일에서 숨김 */
  .kth-hero-right,
  .kth-hero-side-card { display: none !important; }
}

@media (max-width: 480px) {
  .kth-hero-img,
  .kth-hero-img img { height: 180px !important; }
  .kth-hero-overlay { height: 180px !important; }
  .kth-hero-title { font-size: 15px !important; }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE FINAL OVERRIDE v31 — 모든 이전 규칙보다 우선
   (파일 맨 끝에 위치해 cascade 최우선 적용)
════════════════════════════════════════════════════════════ */
@media screen and (max-width: 768px) {

  /* ─── 헤더: Sign In 복원 ─── */
  .header-member-btn--signin {
    display: inline-flex !important;
    padding: 4px 9px !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
    border-color: rgba(255,255,255,0.25) !important;
    color: var(--t2) !important;
    background: transparent !important;
  }
  .header-member-btn--subscribe {
    padding: 4px 9px !important;
    font-size: 11px !important;
  }
  .header-member { display: flex !important; gap: 5px !important; align-items: center !important; }
  .header-right { display: flex !important; align-items: center !important; gap: 8px !important; flex-shrink: 0 !important; }

  /* ─── Hero: 이미지/텍스트 분리 레이아웃 ─── */
  .kth-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    max-height: none !important;
    grid-template-columns: unset !important;
    margin-bottom: 20px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: var(--surface) !important;
  }
  .kth-hero-left { width: 100% !important; display: block !important; }
  .kth-hero-right,
  .kth-hero-side-card { display: none !important; }

  .kth-hero-main {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* 이미지: 고정 높이 */
  .kth-hero-img {
    position: relative !important;
    width: 100% !important;
    height: 210px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
  }
  .kth-hero-img img {
    position: static !important;
    width: 100% !important;
    height: 210px !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    transform: none !important;
  }
  .kth-hero-overlay {
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 210px !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 40%, rgba(14,16,22,0.6) 100%) !important;
    z-index: 1 !important;
  }

  /* 텍스트: 이미지 아래 별도 영역 */
  .kth-hero-body {
    position: relative !important;
    z-index: 2 !important;
    background: var(--surface) !important;
    padding: 14px 16px 18px !important;
    border-top: 2px solid var(--gold) !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
  }
  .kth-hero-title {
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: var(--t1) !important;
    margin: 8px 0 8px !important;
  }
  .kth-hero-excerpt { display: none !important; }
  .kth-meta { font-size: 11px !important; }

  /* ─── 기사 카드: 2열 그리드 ─── */
  .kth-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .kth-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .kth-card-thumb {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    border-radius: 6px 6px 0 0 !important;
  }
  .kth-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .kth-card-body { padding: 8px !important; }
  .kth-card-title {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 3 !important;
  }
  .kth-card-meta { font-size: 10px !important; }
  .kth-card-excerpt { display: none !important; }

  /* ─── 뉴스레터 "Subscribe Free" → 한글 ─── */
  .kth-nl-btn { font-size: 13px !important; }

  /* ─── 전체 패딩 ─── */
  .kth-wrap { padding: 16px 12px 0 !important; }
  .kth-section-head { margin-bottom: 12px !important; }
}

@media screen and (max-width: 480px) {
  .header-member-btn--signin { display: none !important; }
  .kth-hero-img,
  .kth-hero-img img { height: 185px !important; }
  .kth-hero-overlay { height: 185px !important; }
  .kth-hero-title { font-size: 15px !important; }
  .kth-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .kth-card-title { font-size: 12px !important; }
}

/* ═══════════════════════════════════════════════
   본문 이미지 크기 강제 제한 FINAL v38
   kg-image-card 컨테이너 폭 = fit-content
════════════════════════════════════════════════ */

/* PC: 이미지 컨테이너 폭을 이미지 자연 크기로 제한 */
.nyt-post-content .kg-image-card,
.c-content .kg-image-card,
.gh-content .kg-image-card {
  width: fit-content !important;
  max-width: 100% !important;
  margin: 20px auto !important;
  display: block !important;
}

/* 이미지 자체: max-height로 크기 제한 */
.nyt-post-content .kg-image-card img,
.c-content .kg-image-card img,
.gh-content .kg-image-card img,
.nyt-post-content .kg-image,
.c-content .kg-image,
.gh-content .kg-image {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 400px !important;
  display: block !important;
  object-fit: contain !important;
  border-radius: 8px !important;
}

/* HTML 카드 내 figure 이미지 */
.nyt-post-content figure,
.c-content figure,
.gh-content figure {
  width: fit-content !important;
  max-width: 100% !important;
  margin: 20px auto !important;
}
.nyt-post-content figure img,
.c-content figure img,
.gh-content figure img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 400px !important;
  height: auto !important;
  object-fit: contain !important;
}

/* 모바일: 더 작게 */
@media (max-width: 768px) {
  .nyt-post-content .kg-image-card img,
  .c-content .kg-image-card img,
  .gh-content .kg-image-card img,
  .nyt-post-content .kg-image,
  .c-content .kg-image {
    max-height: 200px !important;
  }
  .nyt-post-content figure img,
  .c-content figure img {
    max-height: 200px !important;
  }
  /* HTML 카드(table 등) 내부 이미지 */
  .nyt-post-content td img,
  .c-content td img {
    max-width: 80px !important;
    max-height: 60px !important;
  }
}

/* ═══════════════════════════════════════════════
   본문 이미지 폭 직접 제한 FINAL v38c
   max-width를 픽셀값으로 강제
════════════════════════════════════════════════ */
/* PC: 최대 560px */
.nyt-post-content .kg-image-card img,
.c-content .kg-image-card img,
.gh-content .kg-image-card img,
.nyt-post-content .kg-image,
.c-content .kg-image,
.gh-content .kg-image {
  max-width: 560px !important;
  max-height: 400px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.nyt-post-content figure img,
.c-content figure img,
.gh-content figure img {
  max-width: 560px !important;
  max-height: 400px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* 모바일: 최대 260px */
@media (max-width: 768px) {
  .nyt-post-content .kg-image-card img,
  .c-content .kg-image-card img,
  .gh-content .kg-image-card img,
  .nyt-post-content .kg-image,
  .c-content .kg-image,
  .gh-content .kg-image {
    max-width: 260px !important;
    max-height: 180px !important;
  }
  .nyt-post-content figure img,
  .c-content figure img {
    max-width: 260px !important;
    max-height: 180px !important;
  }
}


/* ═══ FINAL IMAGE SIZE OVERRIDE ═══ */
.nyt-post-content .kg-image-card img,
.c-content .kg-image-card img,
.gh-content .kg-image-card img,
.nyt-post-content .kg-image,
.c-content .kg-image,
.gh-content .kg-image,
.nyt-post-content figure img,
.c-content figure img,
.gh-content figure img {
  max-width: 560px !important;
  max-height: 400px !important;
  width: auto !important;
  height: auto !important;
}
/* MOBILE */
@media (max-width: 768px) {
  .nyt-post-content .kg-image-card img,
  .c-content .kg-image-card img,
  .gh-content .kg-image-card img,
  .nyt-post-content .kg-image,
  .c-content .kg-image,
  .gh-content .kg-image,
  .nyt-post-content figure img,
  .c-content figure img,
  .gh-content figure img {
    max-width: 240px !important;
    max-height: 160px !important;
    width: auto !important;
    height: auto !important;
  }
}
