/*
Theme Name: Avalon Blog
Template: twentytwentyfive
Description: Avalon 블로그 4개(옛 Blogger) 공용 하위 테마. 레이아웃은 jalsalgi 테마를 따르고, 사이트마다 이름·대표 색만 다르다(색은 옵션 avalon_accent, functions.php 가 CSS 변수로 싣는다).
Version: 1.0.1
Text Domain: avalon-blog
*/

/* ── 공통 ─────────────────────────────────────────────── */
:root { --avb-accent:#4F46E5; --avb-accent-soft:#EEF2FF;
        --avb-ink:#191F28; --avb-sub:#4E5968; --avb-mute:#8B95A1; --avb-line:#E5E8EB; --avb-bg2:#F2F4F6; }
body { -webkit-font-smoothing: antialiased; }
/* 한국어는 어절 단위로 줄을 바꾼다("판매처"가 "판/매처"로 끊기지 않게). 부모 테마가 제목 블록에
   word-break:break-word 를 직접 걸어 body 상속만으로는 안 된다 -- 글자를 담는 요소에 함께 건다.
   긴 URL·영문 토큰은 overflow-wrap:anywhere 로 넘칠 때만 끊는다. */
html[lang^="ko"] body,
html[lang^="ko"] :is(h1, h2, h3, h4, h5, h6, p, li, td, th, a, span, .wp-block-post-title, .wp-block-site-title) {
  word-break: keep-all; overflow-wrap: anywhere;
}
a { text-underline-offset: .18em; }

/* ── 헤더 ─────────────────────────────────────────────── */
.avb-header { border-bottom:1px solid var(--avb-line); position:sticky; top:0; z-index:50; background:#fff; }
.avb-brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--avb-ink); min-width:0; }
.avb-mark { width:34px; height:34px; flex:none; border-radius:10px; background:var(--avb-accent); color:#fff;
            display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; }
.avb-brand b { font-size:20px; font-weight:800; letter-spacing:-.03em; white-space:nowrap; }
.avb-brand small { display:block; font-size:12px; color:var(--avb-mute); font-weight:500; margin-top:-2px;
                   white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:52vw; }
.avb-topics { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.avb-topics::-webkit-scrollbar { display:none; }
.avb-topics a { flex:none; padding:6px 12px; border-radius:999px; border:1px solid var(--avb-line); color:var(--avb-sub);
                font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; }
.avb-topics a:hover { border-color:var(--avb-accent); color:var(--avb-accent); }
@media (max-width:780px){ .avb-header .avb-topics-wrap { display:none; } }

/* ── 홈 히어로 ────────────────────────────────────────── */
.avb-hero { background:linear-gradient(135deg,var(--avb-accent-soft) 0%,#fff 100%); border-radius:28px; }
.avb-hero h1 { letter-spacing:-.04em; }
.avb-hero p { color:var(--avb-sub); }

/* ── 카드 목록 ────────────────────────────────────────── */
.avb-section-title { letter-spacing:-.03em; }
.avb-cards .wp-block-post { background:#fff; border:1px solid var(--avb-line); border-radius:20px; overflow:hidden;
                            transition:transform .15s ease, box-shadow .15s ease; display:flex; flex-direction:column; }
.avb-cards .wp-block-post:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(0,0,0,.07); }
.avb-cards .wp-block-post-featured-image { margin:0; }
.avb-cards .wp-block-post-featured-image img { aspect-ratio:1200/630; object-fit:cover; width:100%; }
.avb-cards .avb-card-body { padding:16px 18px 20px; }
.avb-cards .wp-block-post-title { font-size:18px; line-height:1.4; letter-spacing:-.02em; margin:6px 0 8px; }
.avb-cards .wp-block-post-title a { text-decoration:none; color:var(--avb-ink); }
.avb-cards .wp-block-post-excerpt { color:var(--avb-sub); font-size:14.5px; }
.avb-cards .wp-block-post-excerpt__excerpt { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.avb-tag a, .avb-tag { color:var(--avb-accent); font-size:13px; font-weight:700; text-decoration:none; }
.avb-date { color:var(--avb-mute); font-size:13px; }

/* ── 글 본문(Blogger 에서 옮긴 HTML 그대로) ─────────────── */
.avb-meta { color:var(--avb-mute); font-size:14px; }
.avb-article { overflow-wrap:anywhere; }
.avb-article img { max-width:100%; height:auto; border-radius:12px; }
.avb-article iframe { max-width:100%; }
.avb-article iframe[src*="youtube"] { width:100%; height:auto; aspect-ratio:16/9; border:0; border-radius:12px; }
.avb-article table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.avb-article pre { overflow-x:auto; }
.avb-article h2 { font-size:1.45rem; letter-spacing:-.03em; margin-top:2.2em; }
.avb-article h3 { font-size:1.15rem; margin-top:1.6em; }
.avb-article p, .avb-article li { line-height:1.8; }
.avb-article > * { max-width:min(var(--wp--style--global--content-size), 100%); }

/* ── 하단 ─────────────────────────────────────────────── */
.avb-footer { background:var(--avb-bg2); }
.avb-footer a { color:var(--avb-sub); }
.avb-footer-line { color:var(--avb-mute); font-size:13px; }
