/* 16코드랩 홈: 추천 콘텐츠 / 무료 테스트 영역. 다른 페이지에는 적용하지 않습니다. */
.home-discovery-section { padding-bottom: 58px; }
.home-discovery-heading { margin-bottom: 17px; }
.home-content-heading-row { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0 0 17px; }
.home-content-hint { font-size:14px; color:var(--muted); }
.home-content-all { color:var(--accent); font-weight:800; font-size:14px; white-space:nowrap; }
.home-content-all:hover { text-decoration:underline; text-underline-offset:4px; }
.home-content-list {
  counter-reset: featured-pick;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  min-width:0;
}
.home-content-list .featured-content-card { min-width:0; min-height:200px; }
.home-content-list .featured-content-card a { height:100%; }
.home-content-list .featured-content-card .card-link-text { margin-top:auto; padding-top:22px; }
.home-content-navigation { display:none; }
.home-test-section { padding-top:30px; }
.home-test-feature {
  display:grid;
  grid-template-columns:104px minmax(0,1fr) auto;
  align-items:center;
  gap:25px;
  min-height:168px;
  background:linear-gradient(120deg,rgba(215,255,66,.10),rgba(255,255,255,.055) 60%,rgba(255,255,255,.025));
  border-color:rgba(215,255,66,.32);
  transition:transform .18s ease,border-color .18s ease;
}
.home-test-feature:hover { transform:translateY(-3px); border-color:rgba(215,255,66,.75); }
.home-test-feature:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.home-test-feature-mark {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:104px;
  height:104px;
  border:1px solid rgba(215,255,66,.34);
  border-radius:21px;
  background:radial-gradient(circle at 25% 20%,rgba(215,255,66,.26),rgba(215,255,66,.055) 70%);
  color:var(--accent);
}
.home-test-feature-mark span { font-size:47px; font-weight:950; line-height:1.06; letter-spacing:-.09em; }
.home-test-feature-mark small { font-size:9px; font-weight:900; letter-spacing:.18em; }
.home-test-feature-label { display:block; margin-bottom:7px; color:var(--accent); font-size:12px; font-weight:800; }
.home-test-feature-copy { min-width:0; }
.home-test-feature-copy h3 { margin:0 0 7px; font-size:clamp(20px,2.4vw,26px); line-height:1.32; }
.home-test-feature-copy p { font-size:14px; line-height:1.65; }
.home-test-feature-cta { justify-self:end; color:var(--accent); font-size:15px; font-weight:900; white-space:nowrap; }
@media(max-width:920px) {
  .home-test-feature { grid-template-columns:88px minmax(0,1fr); gap:18px; }
  .home-test-feature-mark { width:88px; height:88px; }
  .home-test-feature-cta { grid-column:2; justify-self:start; }
}
@media(max-width:760px) {
  .home-discovery-section { padding-bottom:34px; }
  .home-content-heading-row { margin-bottom:12px; }
  .home-content-hint { font-size:12px; }
  .home-content-all { font-size:12px; }
  .home-content-list {
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc(100% - 34px);
    grid-template-columns:none;
    gap:12px;
    padding:2px 34px 10px 0;
    margin:0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:0;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .home-content-list::-webkit-scrollbar { display:none; }
  .home-content-list .featured-content-card {
    scroll-snap-align:start;
    scroll-snap-stop:always;
    min-height:186px;
  }
  .home-content-navigation { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:12px; }
  .home-content-counter { color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
  .home-content-counter strong { color:var(--accent); }
  .home-content-navigation-buttons { display:flex; gap:8px; }
  .home-content-navigation-buttons button { min-height:39px; padding:6px 13px; font-size:12px; }
  .home-content-navigation-buttons button:disabled { opacity:.4; cursor:default; }
  .home-test-section { padding-top:28px; }
  .home-test-feature { grid-template-columns:70px minmax(0,1fr); align-items:start; gap:13px; padding:19px; min-height:0; }
  .home-test-feature-mark { width:70px; height:70px; border-radius:15px; }
  .home-test-feature-mark span { font-size:34px; }
  .home-test-feature-mark small { font-size:7px; }
  .home-test-feature-label { font-size:11px; }
  .home-test-feature-copy h3 { font-size:19px; }
  .home-test-feature-copy p { font-size:13px; }
  .home-test-feature-cta { grid-column:1/-1; justify-self:end; font-size:13px; margin-top:3px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-test-feature { transition:none; }
  .home-content-list { scroll-behavior:auto; }
}
