:root{
  --gold:#9C7A22; --rose:#9C4E6E; --text-main:#251C36; --text-muted:#6E6580;
  --line:rgba(37,28,54,0.14); --cream:#FFFDFA;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:
    radial-gradient(ellipse 70% 40% at 50% -6%, rgba(176,107,132,0.16), transparent),
    radial-gradient(ellipse 50% 30% at 95% 100%, rgba(199,162,76,0.09), transparent),
    #FFFFFF;
  color:var(--text-main);
  font-family:'Pretendard','Noto Serif KR',sans-serif;
  min-height:100vh;
}
.serif{font-family:'Cormorant Garamond','Noto Serif KR',serif;}
a{color:inherit;}

/* nav */
nav.site-nav{
  max-width:960px; margin:0 auto; padding:28px 24px;
  display:flex; justify-content:space-between; align-items:center;
  border-bottom:1px solid var(--line); flex-wrap:wrap; gap:12px;
}
nav.site-nav .brand{
  font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:500;
  font-size:17px; color:var(--gold); text-decoration:none; letter-spacing:0.02em;
}
nav.site-nav .links{ display:flex; gap:20px; flex-wrap:wrap; }
nav.site-nav a.navlink{
  color:var(--text-muted); text-decoration:none; font-size:14px; font-weight:500;
  transition:color .2s ease;
}
nav.site-nav a.navlink:hover, nav.site-nav a.navlink.active{ color:var(--gold); }

/* footer */
footer.site-footer{
  max-width:960px; margin:40px auto 0; padding:24px 24px 60px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  border-top:1px solid var(--line); font-size:12.5px; color:var(--text-muted);
}
footer.site-footer a{ text-decoration:none; color:var(--text-muted); }
footer.site-footer a:hover{ color:var(--gold); }
footer.site-footer .flinks{ display:flex; gap:16px; flex-wrap:wrap; }

/* category cards */
.cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media (max-width:640px){ .cat-grid{ grid-template-columns:repeat(2,1fr); } }
.cat-card{
  display:block; text-decoration:none; color:inherit; border-radius:16px;
  padding:22px 18px; border:1px solid var(--line); transition:border-color .2s, transform .2s;
}
.cat-card:hover{ transform:translateY(-2px); }
.cat-card.active{ border-color:var(--gold); background:rgba(156,122,34,0.04); }
.cat-card.soon{ opacity:0.55; cursor:default; }
.cat-card .cat-name{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:19px; margin-bottom:4px; }
.cat-card .cat-sub{ font-size:12.5px; color:var(--text-muted); }
.cat-card .cat-badge{ display:inline-block; margin-top:10px; font-size:11px; color:var(--gold); border:1px solid var(--gold); border-radius:999px; padding:2px 10px; }

/* share bar */
.share-bar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:20px 0; }
.share-btn-main{
  display:inline-flex; align-items:center; padding:12px 24px; border-radius:999px; border:none;
  background:linear-gradient(135deg, var(--gold), var(--rose)); color:#fff; text-decoration:none;
  font-weight:600; font-size:13.5px; cursor:pointer; box-shadow:0 6px 18px rgba(156,122,34,0.25);
  transition:opacity .2s;
}
.share-btn-main:hover{ opacity:0.9; }
.share-btn-main:active{ transform:scale(0.98); }
.toast{
  position:fixed; bottom:28px; left:50%; transform:translateX(-50%);
  background:var(--text-main); color:#fff; padding:10px 20px; border-radius:999px;
  font-size:13px; opacity:0; pointer-events:none; transition:opacity .25s; z-index:999;
}
.toast.show{ opacity:0.95; }

/* soon badge / notice */
.soon-notice{
  margin:24px 0; padding:16px 20px; border:1px solid var(--line); border-radius:12px;
  background:rgba(156,122,34,0.05); font-size:13.5px; color:var(--text-muted); line-height:1.7;
}
.soon-notice strong{ color:var(--gold); }
