/* 도담바이크 블로그 공통 스타일 */
:root { --bg:#0B1220; --card:#111A2E; --line:rgba(255,255,255,.1); --text:#E6ECF7; --muted:#A9B4C7; --brand:#4C8DFF; --accent:#FFB020; --accent2:#FF8A1F; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin:0; font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif; background:var(--bg); color:var(--text); line-height:1.75; word-break: keep-all; }
a { color: var(--brand); }
.header { position: sticky; top:0; z-index:10; background: rgba(11,18,32,.9); backdrop-filter: blur(12px); border-bottom:1px solid var(--line); }
.header .in { max-width: 860px; margin:0 auto; padding: 0 16px; height: 56px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.logo { display:flex; align-items:center; gap:8px; text-decoration:none; color:#fff; font-weight:800; font-size:18px; }
.logo b { display:inline-flex; width:32px; height:32px; border-radius:8px; background:#2F6FF0; align-items:center; justify-content:center; font-size:14px; }
.logo span { color: var(--brand); }
.header nav { display:flex; gap:14px; font-size:13px; }
.header nav a { color: var(--muted); text-decoration:none; }
.header nav a:hover { color:#fff; }
.btn-call { display:inline-flex; align-items:center; gap:6px; background:linear-gradient(90deg,var(--accent2),var(--accent)); color:#0B1220; font-weight:800; font-size:13px; padding:8px 14px; border-radius:999px; text-decoration:none; white-space:nowrap; }
main { max-width: 860px; margin:0 auto; padding: 32px 16px 80px; }
.crumb { font-size:12px; color:var(--muted); margin-bottom:12px; }
.crumb a { color:var(--muted); text-decoration:none; }
h1 { font-size: clamp(24px, 4.5vw, 34px); line-height:1.3; margin:0 0 10px; font-weight:900; letter-spacing:-.01em; }
.meta { font-size:13px; color:var(--muted); margin-bottom:28px; }
.lead { font-size:17px; color:#CBD5E1; border-left:3px solid var(--accent); padding-left:14px; margin: 0 0 28px; }
h2 { font-size: 21px; margin: 40px 0 12px; font-weight:800; color:#fff; }
h3 { font-size: 17px; margin: 24px 0 8px; font-weight:700; color:#fff; }
p { margin: 0 0 14px; color:#D3DBE8; }
ul, ol { padding-left: 22px; color:#D3DBE8; }
li { margin-bottom: 6px; }
table { width:100%; border-collapse: collapse; font-size:14px; margin: 12px 0 20px; }
th, td { border:1px solid var(--line); padding: 10px 12px; text-align:left; vertical-align: top; }
th { background: rgba(255,255,255,.05); color:#fff; white-space:nowrap; }
.table-wrap { overflow-x:auto; }
.tip { background: rgba(76,141,255,.1); border:1px solid rgba(76,141,255,.3); border-radius: 12px; padding: 14px 16px; margin: 18px 0; font-size:15px; }
.warn { background: rgba(255,138,31,.1); border:1px solid rgba(255,138,31,.35); border-radius: 12px; padding: 14px 16px; margin: 18px 0; font-size:15px; }
.cta { margin: 44px 0 0; border-radius: 20px; padding: 26px 22px; background: linear-gradient(135deg,#1F56C9,#2F6FF0 60%,#1745A6); text-align:center; }
.cta h2 { margin:0 0 6px; font-size:22px; }
.cta p { color:#DCE7FF; margin:0 0 16px; }
.cta .row { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.cta a.primary { background:linear-gradient(90deg,var(--accent2),var(--accent)); color:#0B1220; font-weight:900; padding:14px 22px; border-radius:12px; text-decoration:none; font-size:16px; }
.cta a.ghost { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; font-weight:700; padding:14px 22px; border-radius:12px; text-decoration:none; }
.faq details { border:1px solid var(--line); border-radius:12px; padding: 12px 16px; margin-bottom:10px; background: var(--card); }
.faq summary { cursor:pointer; font-weight:700; color:#fff; }
.faq p { margin: 10px 0 0; font-size:15px; }
.related { margin-top: 40px; }
.related h2 { font-size:18px; }
.related a { display:block; padding: 12px 14px; border:1px solid var(--line); border-radius:12px; text-decoration:none; color:#fff; margin-bottom:8px; background:var(--card); }
.related a:hover { border-color: var(--brand); }
.related small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
/* 목록 페이지 */
.post-list { display:grid; gap:12px; }
.post-card { display:block; text-decoration:none; color:#fff; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:18px 18px; transition: border-color .2s, transform .2s; }
.post-card:hover { border-color: var(--brand); transform: translateY(-2px); }
.post-card .tag { display:inline-block; font-size:11px; font-weight:700; color:var(--accent); background: rgba(255,176,32,.12); border:1px solid rgba(255,176,32,.3); border-radius:6px; padding:2px 8px; margin-bottom:8px; }
.post-card h2 { margin:0 0 6px; font-size:18px; }
.post-card p { margin:0; font-size:14px; color:var(--muted); }
.post-card time { display:block; font-size:12px; color:var(--muted); margin-top:8px; }
footer { border-top:1px solid var(--line); padding: 24px 16px 40px; font-size:12px; color:#6B7A93; }
footer .in { max-width:860px; margin:0 auto; }
footer a { color:#94A3B8; }
.floating { position:fixed; left:12px; right:12px; bottom: calc(env(safe-area-inset-bottom,0px) + 12px); z-index:20; }
.floating a { display:flex; align-items:center; justify-content:center; gap:8px; background:linear-gradient(90deg,var(--accent2),var(--accent)); color:#0B1220; font-weight:900; padding:15px; border-radius:14px; text-decoration:none; box-shadow:0 10px 30px -8px rgba(255,138,31,.65); font-size:15px; }
@media (min-width: 768px) { .floating { display:none; } }
@media (max-width: 480px) { .header nav { display:none; } }
