@charset "utf-8";
/* =========================================================================
   학원 블로그 허브 (style.css 토큰 확장)
   ========================================================================= */

/* ── HERO ──────────────────────────────────────────────────────────────── */
.bhero{
  position:relative;background:var(--deep);color:var(--paper);overflow:hidden;
  padding:calc(var(--hdr-h) + 64px) 0 60px;
}
.bhero-bg{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    radial-gradient(58% 54% at 88% 0%,rgba(var(--soft-rgb),.30),transparent 70%),
    radial-gradient(46% 44% at 2% 100%,rgba(var(--sec-rgb),.20),transparent 70%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
}
.bhero .wrap{position:relative;z-index:1}
.crumb{display:flex;align-items:center;gap:9px;font-size:13.5px;color:rgba(250,249,245,.74);margin-bottom:18px}
.crumb a{color:var(--acc-400);font-weight:600}
.crumb a:hover{text-decoration:underline;text-underline-offset:4px}
.crumb b{font-weight:600;color:rgba(250,249,245,.8)}
.bhero h1{font-size:var(--fs-dl);font-weight:800;letter-spacing:-.04em;line-height:1.24}
.bhero h1 em{font-style:normal;color:var(--acc-400)}
.bhero .lede{margin-top:16px;max-width:640px;font-size:var(--fs-bl);line-height:1.76;color:rgba(250,249,245,.86)}
.bstats{display:grid;grid-template-columns:repeat(4,minmax(0,168px));gap:12px;margin-top:30px}
.bstats li{
  padding:16px 18px;border-radius:var(--r-m);border:1px solid var(--line-d);
  background:rgba(255,255,255,.05);backdrop-filter:blur(10px);
}
.bstats b{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--acc-400);line-height:1.15}
.bstats span{display:block;margin-top:4px;font-size:13px;color:rgba(250,249,245,.8)}
.bnote{margin-top:20px;font-size:13.5px;color:rgba(250,249,245,.78)}

/* ── TOOLBAR ───────────────────────────────────────────────────────────── */
.btoolbar{
  position:sticky;top:var(--hdr-h);z-index:100;
  background:rgba(250,249,245,.94);backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);padding:14px 0;
}
.btoolbar-in{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.filter-tabs{display:flex;flex-wrap:wrap;gap:7px}
.filter-tab{
  padding:9px 15px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:-.02em;
  color:var(--ink-700);background:transparent;border:1px solid var(--line-2);white-space:nowrap;
  transition:background .18s var(--e-std),color .18s var(--e-std),border-color .18s var(--e-std);
}
.filter-tab:hover{border-color:var(--pri-700);color:var(--pri-900);background:var(--pri-100)}
.filter-tab.is-active{background:var(--deep);border-color:var(--deep);color:var(--paper)}
.filter-tab .cnt{opacity:.6;font-weight:600;margin-left:4px;font-size:12.5px}
.search-box{position:relative;flex:0 0 auto}
.search-box input{
  width:266px;padding:11px 16px 11px 40px;border-radius:999px;border:1px solid var(--line-2);
  font:inherit;font-size:14.5px;color:var(--ink-950);background:var(--paper-3);
  transition:border-color .18s var(--e-std),box-shadow .18s var(--e-std);
}
.search-box input::placeholder{color:var(--ink-500)}
.search-box input:focus{outline:none;border-color:var(--pri-700);box-shadow:0 0 0 3px var(--pri-700)}
@media (forced-colors:active){
  .search-box input:focus{outline:2px solid ButtonText;outline-offset:2px}
}
.search-box .ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:16px;height:16px;fill:var(--ink-500);pointer-events:none}

/* ── POSTS ─────────────────────────────────────────────────────────────── */
.post-section{padding:44px 0 100px}
.post-count{font-size:14px;color:var(--ink-500);margin-bottom:20px}
.post-count b{color:var(--ink-950);font-weight:700}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.post-card{
  display:flex;flex-direction:column;background:var(--paper-3);border:1px solid var(--line);
  border-radius:var(--r-l);padding:24px 22px;box-shadow:var(--sh-1);
  transition:transform .22s var(--e-out),box-shadow .22s var(--e-out),border-color .22s var(--e-out);
}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--line-2)}
.post-badge{
  align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.06em;
  padding:5px 11px;border-radius:999px;background:transparent;border:1px solid currentColor;color:var(--ink-700);
}
.post-badge.b-exam{color:var(--pri-900)}
.post-badge.b-result{color:var(--sec-700)}
.post-badge.b-program{color:var(--acc-800)}
.post-badge.b-admission{color:var(--ink-ind)}
.post-badge.b-notice{color:var(--ink-700)}
.post-badge.b-column{color:var(--ink-moss)}
.post-card h3{
  margin-top:14px;font-size:16px;font-weight:700;line-height:1.55;letter-spacing:-.025em;color:var(--ink-950);
  flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.post-card .meta{margin-top:16px;padding-top:13px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.post-card .date{font-size:12.5px;color:var(--ink-500);font-variant-numeric:tabular-nums}
.post-card .go{font-size:12.5px;font-weight:700;color:var(--pri-900);white-space:nowrap}
.post-card:hover .go{text-decoration:underline;text-underline-offset:3px}

.blog-empty{
  text-align:center;padding:64px 20px;color:var(--ink-500);font-size:15.5px;
  border:1px dashed var(--line-2);border-radius:var(--r-l);background:var(--paper-3);
}
.load-more-wrap{display:flex;justify-content:center;margin-top:36px}
.load-more{
  padding:14px 34px;border-radius:999px;background:var(--paper-3);border:1px solid var(--line-2);
  font-size:15px;font-weight:700;color:var(--ink-700);
  transition:border-color .18s var(--e-std),color .18s var(--e-std),background .18s var(--e-std),transform .18s var(--e-std);
}
.load-more:hover{border-color:var(--pri-700);color:var(--pri-900);background:var(--pri-100);transform:translateY(-2px)}
.load-more[hidden]{display:none}
.blog-disc{margin-top:34px;text-align:center}

@media (max-width:960px){
  .post-grid{grid-template-columns:repeat(2,1fr)}
  .btoolbar-in{flex-direction:column;align-items:stretch}
  .search-box input{width:100%}
  .bstats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .bhero{padding-top:calc(var(--hdr-h) + 44px);padding-bottom:44px}
  .post-grid{grid-template-columns:1fr}
  .filter-tab{padding:8px 13px;font-size:13.5px}
}

/* 모바일 필터 버튼 44px · 건수 대비 */
.filter-tab{min-height:44px}
.filter-tab .cnt{opacity:1;font-weight:700}
@media print{.btoolbar{position:static}.load-more-wrap{display:none}}
