/* ── 홈 공통 ── */
.home { max-width: 1600px; margin: 0 auto; }

/* bd-cat-badge (board.css 미로드 시 동일 스타일 적용) */
.bd-cat-badge {
  display: inline-block;
  flex-shrink: 0;
  font-size: .72em;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  border: 1px solid;
  white-space: nowrap;
  vertical-align: middle;
}

/* 로고 영역 */
.home-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px 0 24px;
}
.home-logo {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  width: 280px;
  max-width: 70vw;
  padding-bottom: 50px;
  animation: mainLogoFloat 4.8s ease-in-out infinite;
}
.home-logo-aura {
  position: absolute;
  inset: -20px;
  pointer-events: none;
  background: radial-gradient(circle,rgba(140,220,255,.28) 0%,rgba(60,120,255,.1) 38%,rgba(0,0,0,0) 68%);
  filter: blur(12px);
  mix-blend-mode: screen;
  animation: mainLogoAura 5.2s ease-in-out infinite;
}
.home-logo-main { position: relative; width: 100%; height: auto; }
.home-logo-change {
  position: relative;
  margin-top: -98px;
  height: 88px;
  width: auto;
  animation: gohChangeGlow 2s ease-in-out infinite;
}
.home-logo-cross {
  position: relative;
  margin-top: -100px;
  height: 60px;
  width: auto;
  pointer-events: none;
}
@keyframes mainLogoFloat {
  0%,100% { transform: translate3d(0,0,0) rotate(-.3deg) scale(1); }
  50%      { transform: translate3d(0,-8px,0) rotate(.4deg) scale(1.01); }
}
@keyframes mainLogoAura {
  0%,100% { opacity: .12; transform: scale(.98); }
  50%      { opacity: .22; transform: scale(1.04); }
}
@keyframes gohChangeGlow {
  0%,100% { filter: brightness(1) drop-shadow(0 0 6px rgba(255,200,50,.5)); transform: scale(1); }
  50%      { filter: brightness(1.25) drop-shadow(0 0 16px rgba(255,180,30,.8)) drop-shadow(0 0 32px rgba(255,150,0,.4)); transform: scale(1.04); }
}
.home-title { font-size: 1.3em; font-weight: 800; margin-top: 10px; }
.home-sub   { font-size: .82em; color: var(--text-muted); margin-top: 3px; }
.home-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 4px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: .78em;
  color: var(--text-muted);
}

/* ── 투컬럼 레이아웃 ── */
.home-body {
  display: grid;
  grid-template-columns: minmax(380px, 2fr) 3fr;
  gap: 28px;
  align-items: start;
}
@media (max-width: 900px) {
  .home-body { grid-template-columns: 1fr; }
}

/* 사이드(board) 위젯 스택 */
.home-board-col { display: flex; flex-direction: column; gap: 14px; }

/* ── 새소식 위젯 ── */
.home-board-widget {
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}
.home-board-widget-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 14px 10px;
  font-size: .78em;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: .05em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border);
}
.home-board-widget-title a {
  font-weight: 500;
  font-size: .95em;
  color: var(--primary);
  text-transform: none;
  letter-spacing: 0;
}
.home-board-item {
  display: block;
  padding: 9px 14px;
  border-bottom: 1px solid var(--border);
  border-left: 3px solid transparent;
  text-decoration: none;
  color: var(--text);
  transition: background .12s, border-left-color .12s, padding-left .12s;
}
.home-board-item:last-child { border-bottom: none; }
.home-board-item:hover,
.home-board-item:hover * {
  text-decoration: none;
}
.home-board-item:hover {
  background: var(--primary-light);
  border-left-color: var(--primary);
  padding-left: 18px;
}
.home-board-item-top {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 3px;
  overflow: hidden;
}
.home-board-item-top .bd-cat-badge {
  flex-shrink: 0;
}
.home-board-item-title {
  font-size: .87em;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.home-board-item-date {
  font-size: .72em;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.home-board-new {
  display: inline-block;
  font-size: .62em;
  font-weight: 800;
  padding: 1px 6px;
  margin-left: 6px;
  background: linear-gradient(135deg,#f43f5e,#e11d48);
  color: #fff;
  border-radius: 10px;
  letter-spacing: .06em;
  vertical-align: middle;
  box-shadow: 0 0 6px rgba(244,63,94,.5);
  animation: homeNewPulse 1.8s ease-in-out infinite;
}
@keyframes homeNewPulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .75; transform: scale(.95); }
}

/* ── 바로가기 ── */
.home-nav { }
.home-nav-section { margin-bottom: 20px; }
.home-nav-title {
  font-size: .72em;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 7px;
  padding-left: 2px;
}
.home-nav-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
}
.home-nav-item {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  text-decoration: none;
  font-size: .82em;
  font-weight: 500;
  transition: all .13s;
}
.home-nav-item:hover,
.home-nav-item:hover * {
  text-decoration: none;
}
.home-nav-item:hover {
  background: var(--primary-light);
  border-color: var(--primary);
  color: var(--primary);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(30, 58, 95, .15);
}
.home-nav-icon {
  font-size: 1em;
  width: 18px;
  text-align: center;
  color: var(--primary);
  opacity: .75;
  flex-shrink: 0;
}
@media (max-width: 480px) {
  .home-logo { width: 220px; }
  .home-logo-change { margin-top: -78px; height: 70px; }
  .home-logo-cross  { margin-top: -80px; height: 48px; }
}
