@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");

/* =========================================================
   EASY ON — 칼럼/블로그 스킨
   main.css는 GeneratePress보다 먼저 로드되므로 body 접두로 우선순위를 확보한다.
   ========================================================= */
:root {
    --ez-navy: #18336a;
    --ez-red: #e73732;
    --ez-ink: #1a1d24;
    --ez-text: #3d4350;
    --ez-muted: #8a909c;
    --ez-line: #e7e9ee;
    --ez-bg: #ffffff;
    --ez-soft: #f5f6f9;
    --ez-wrap: 1400px;
    --ez-read: 1200px;
    --ez-text-w: 1200px;
}

html body {
    background: var(--ez-bg);
    color: var(--ez-text);
    font-family: "Pretendard Variable", Pretendard, -apple-system, "Malgun Gothic", sans-serif;
    letter-spacing: -0.01em;
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
}

body a { color: var(--ez-navy); }

/* 글이 적어도 푸터가 화면 하단에 붙도록 */
html body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body #page {
    flex: 1 0 auto;
    width: 100%;
}

/* ---------- 헤더 ---------- */
body .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, .94);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    backdrop-filter: saturate(180%) blur(10px);
    border-bottom: 1px solid var(--ez-line);
}

body.admin-bar .site-header { top: 32px; }

body .site-header .inside-header {
    max-width: var(--ez-wrap);
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body .site-header .inside-header::after {
    content: "병원 마케팅 칼럼";
    font-size: 13px;
    font-weight: 600;
    color: var(--ez-muted);
    letter-spacing: 0.02em;
}

body .site-branding .main-title {
    margin: 0;
    line-height: 1;
}

body .site-branding .main-title a {
    display: block;
    width: 176px;
    height: 43px;
    background: url("../images/logo.png") left center / contain no-repeat;
    font-size: 0;
    color: transparent;
    overflow: hidden;
}

/* ---------- 공통 레이아웃 ---------- */
body.separate-containers .site-main { margin: 0; }

body .site.grid-container {
    max-width: var(--ez-wrap) !important;
    padding: 0 24px;
    background: transparent;
}

body.separate-containers .inside-article,
body.one-container .site-content {
    background: transparent;
    padding: 0;
}

body .site-content { padding: 0; }

/* ---------- 메인(칼럼 목록) ---------- */
body.home .entry-content > .gb-element-7f88b63a::before {
    content: "EASY ON COLUMN\A병원 마케팅 인사이트";
    white-space: pre-line;
    display: block;
    padding: 64px 0 36px;
    margin-bottom: 40px;
    border-bottom: 2px solid var(--ez-ink);
    font-size: 40px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.035em;
    color: var(--ez-ink);
}

body.home .entry-content > .gb-element-7f88b63a::first-line {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--ez-red);
}

body.home .entry-content > .gb-element-7f88b63a { max-width: none; }

body.home .entry-content p:empty,
body.home .entry-content .wp-block-separator,
body.home .entry-content .gb-element-c752fcee { display: none; }

body .wp-block-uagb-post-grid.uagb-post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 56px;
    margin: 0 0 96px;
}

body .uagb-post-grid .uagb-post__inner-wrap {
    display: flex;
    flex-direction: column;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    box-shadow: none !important;
    border: 0 !important;
}

body .uagb-post-grid .uagb-post__image {
    margin: 0 0 20px !important;
    padding: 0 !important;
    border-radius: 14px;
    overflow: hidden;
    background: var(--ez-soft);
}

body .uagb-post-grid .uagb-post__image a {
    display: block;
    height: auto !important;
    padding: 0 !important;
}

body .uagb-post-grid .uagb-post__image img {
    position: static !important;
    display: block;
    height: auto;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform .5s ease;
}

body .uagb-post-grid .uagb-post__inner-wrap:hover .uagb-post__image img {
    transform: scale(1.04);
}

body .uagb-post-grid .uagb-post__title {
    order: 1;
    margin: 0 0 12px !important;
    padding: 0 !important;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -0.03em;
}

body .uagb-post-grid .uagb-post__title a {
    color: var(--ez-ink);
    text-decoration: none;
    background: linear-gradient(var(--ez-ink), var(--ez-ink)) left bottom / 0 1px no-repeat;
    transition: background-size .3s ease;
}

body .uagb-post-grid .uagb-post__inner-wrap:hover .uagb-post__title a {
    background-size: 100% 1px;
}

body .uagb-post-grid .uagb-post__excerpt {
    order: 2;
    margin: 0 0 16px !important;
    padding: 0 !important;
    font-size: 15px;
    line-height: 1.7;
    color: var(--ez-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    min-height: calc(1.7em * 2);
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body .uagb-post-grid .uagb-post__excerpt p { margin: 0; }

body .uagb-post-grid .uagb-post-grid-byline {
    order: 3;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px;
    color: var(--ez-muted) !important;
}

body .uagb-post-grid .uagb-post__date::after,
body .uagb-post-grid .uagb-post-grid-byline .dashicons,
body .uagb-post-grid .uagb-post__comment,
body .uagb-post-grid .uagb-post__cta { display: none !important; }

/* ---------- 단일 글(칼럼 본문) ---------- */
body.single .inside-article {
    max-width: var(--ez-read);
    margin: 0 auto;
    padding: 56px 0 96px;
}

body.single .entry-header {
    margin: 0 0 32px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--ez-line);
}

body.single .entry-header::before {
    content: "COLUMN";
    display: block;
    margin-bottom: 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--ez-red);
}

body.single .entry-title {
    margin: 0 0 16px;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.035em;
    color: var(--ez-ink);
}

body.single .entry-meta {
    font-size: 14px;
    color: var(--ez-muted);
}

body.single .entry-meta a { color: var(--ez-muted); }

body.single .featured-image.page-header-image-single {
    order: -1;
    margin: 0 0 40px;
    border-radius: 16px;
    overflow: hidden;
}

body.single .featured-image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

body.single .inside-article {
    display: flex;
    flex-direction: column;
}

body.single .entry-header { order: -2; }

body.single .entry-content {
    margin-top: 0;
    font-size: 17px;
    line-height: 1.85;
}

/* ---------- 글 본문 HTML 블록(.sk) — 칼럼 스타일로 재정의 ----------
   본문 인라인 <style>이 main.css 뒤에 오므로 body.single 접두로 우선순위를 확보한다. */
body.single .entry-header,
body.single .entry-content .sk {
    width: 100%;
    max-width: var(--ez-text-w);
    margin-left: auto;
    margin-right: auto;
}

body.single .entry-content .sk {
    padding: 8px 0 0;
    background: none;
    font-family: inherit;
    font-size: 17px;
    line-height: 1.9;
    color: var(--ez-text);
}

body.single .sk a { color: var(--ez-navy); text-decoration: underline; text-underline-offset: 3px; }

body.single .sk p {
    margin: 0 0 22px;
    font-size: 17px;
    color: var(--ez-text);
}

/* 머리 박스: 제목은 페이지 제목과 중복이라 숨기고 설명만 리드문으로 */
body.single .sk .sk-head {
    margin: 0 0 40px;
    padding: 0;
    background: none;
    border-radius: 0;
}

body.single .sk .sk-head span,
body.single .sk .sk-head h1 { display: none; }

body.single .sk .sk-head p {
    margin: 0;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: -0.02em;
    color: var(--ez-ink);
}

body.single .sk .sk-lead {
    margin: 0 0 48px;
    padding: 4px 0 4px 24px;
    background: none;
    border-left: 3px solid var(--ez-navy);
    border-radius: 0;
}

body.single .sk .sk-lead p {
    margin: 0 0 14px;
    font-size: 17px;
    color: var(--ez-text);
}

body.single .sk .sk-lead p:last-child { margin: 0; }

body.single .sk h2 {
    margin: 72px 0 20px;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -0.035em;
    color: var(--ez-ink);
}

body.single .sk h2::before {
    width: 28px;
    height: 3px;
    margin-bottom: 18px;
    background: var(--ez-red);
    border-radius: 0;
}

body.single .sk h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--ez-ink);
}

/* 업무 카드 */
body.single .sk .sk-cond {
    gap: 0 48px;
    margin: 28px 0 40px;
    border-top: 1px solid var(--ez-ink);
    counter-reset: skc;
}

body.single .sk .sk-cond-item {
    padding: 26px 0;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--ez-line);
    border-radius: 0;
    box-shadow: none;
    counter-increment: skc;
}

body.single .sk .sk-cond-item b {
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 700;
    color: var(--ez-ink);
}

body.single .sk .sk-cond-item b::before {
    content: counter(skc, decimal-leading-zero);
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--ez-red);
}

body.single .sk .sk-cond-item span {
    font-size: 15px;
    line-height: 1.8;
    color: var(--ez-text);
}

/* 이미지 + 캡션 */
body.single .sk .sk-media {
    margin: 48px 0;
    padding: 0;
    background: none;
    border-radius: 0;
}

body.single .sk .sk-media img { border-radius: 12px; }

body.single .sk .sk-media p {
    margin: 14px 0 0;
    padding-left: 12px;
    border-left: 2px solid var(--ez-line);
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
    color: var(--ez-muted);
}

/* 노트 */
body.single .sk .sk-note {
    margin: 40px 0;
    padding: 28px 30px;
    background: var(--ez-soft);
    border: 0;
    border-radius: 12px;
    font-size: 16px;
    line-height: 1.85;
    color: var(--ez-text);
}

body.single .sk .sk-note b {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--ez-navy);
}

/* 진행 단계 */
body.single .sk .sk-flow li {
    padding: 0 0 30px 44px;
    margin-left: 18px;
    border-left: 1px solid var(--ez-line);
}

body.single .sk .sk-flow li:last-child { border-left-color: transparent; }

body.single .sk .sk-flow li::before {
    left: -18px;
    width: 36px;
    height: 36px;
    background: #fff;
    border: 1.5px solid var(--ez-navy);
    color: var(--ez-navy);
    font-size: 13px;
    font-weight: 700;
}

body.single .sk .sk-flow b {
    margin-bottom: 6px;
    padding-top: 4px;
    font-size: 18px;
    font-weight: 700;
    color: var(--ez-ink);
}

body.single .sk .sk-flow span { font-size: 15px; color: var(--ez-text); }

/* 체크리스트 */
body.single .sk .sk-care { margin: 24px 0 32px; }

body.single .sk .sk-care li {
    margin: 0;
    padding: 16px 0 16px 34px;
    background: none;
    border-bottom: 1px solid var(--ez-line);
    border-radius: 0;
    font-size: 16px;
    color: var(--ez-text);
}

body.single .sk .sk-care li::before {
    left: 4px;
    top: 16px;
    color: var(--ez-red);
}

/* 상담 배너 */
body.single .sk .sk-band {
    margin: 64px 0;
    padding: 48px 40px;
    background: var(--ez-navy);
    border-radius: 16px;
    box-shadow: none;
}

body.single .sk .sk-band h2 {
    margin: 0 0 12px;
    font-size: 26px;
    color: #fff;
}

body.single .sk .sk-band p {
    margin: 0 0 24px;
    font-size: 16px;
    color: rgba(255, 255, 255, .78);
}

body.single .sk .sk-tel {
    min-width: 0;
    padding: 13px 28px;
    background: #fff;
    color: var(--ez-navy) !important;
    border-radius: 999px;
    box-shadow: none;
    font-size: 16px;
    font-weight: 700;
}

/* FAQ */
body.single .sk .sk-qa {
    margin-top: 24px;
    border-top: 1px solid var(--ez-ink);
}

body.single .sk .sk-qa dt {
    position: relative;
    margin: 0;
    padding: 22px 0 8px 34px;
    background: none;
    border-radius: 0;
    font-size: 17px;
    font-weight: 700;
    color: var(--ez-ink);
}

body.single .sk .sk-qa dt::before {
    content: "Q";
    position: absolute;
    left: 2px;
    top: 21px;
    font-weight: 800;
    color: var(--ez-red);
}

body.single .sk .sk-qa dd {
    margin: 0;
    padding: 0 0 22px 34px;
    border: 0;
    border-bottom: 1px solid var(--ez-line);
    border-radius: 0;
    font-size: 15px;
    line-height: 1.85;
    color: var(--ez-text);
}

/* 서비스 표 */
body.single .sk .sk-time {
    margin: 24px 0 28px;
    border: 0;
    border-top: 1px solid var(--ez-ink);
}

body.single .sk .sk-time th,
body.single .sk .sk-time td {
    padding: 16px 12px;
    border: 0;
    border-bottom: 1px solid var(--ez-line);
    font-size: 15px;
    color: var(--ez-text);
}

body.single .sk .sk-time th {
    width: 22%;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--ez-navy);
}

/* 회사 정보 */
body.single .sk .sk-place {
    margin: 48px 0 24px;
    padding: 32px;
    background: var(--ez-soft);
    border-radius: 12px;
}

body.single .sk .sk-place h3 { margin: 0 0 18px; color: var(--ez-ink); }

body.single .sk .sk-place dl {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 10px 16px;
}

body.single .sk .sk-place dt {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--ez-navy);
}

body.single .sk .sk-place dd {
    margin: 0;
    font-size: 15px;
    color: var(--ez-text);
}

body.single .sk .sk-disc {
    margin-top: 24px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    font-size: 13px;
    line-height: 1.8;
    color: var(--ez-muted);
}

body.single .sk .sk-end {
    margin-top: 48px;
    padding: 32px 0 0;
    background: none;
    border-top: 1px solid var(--ez-line);
    border-radius: 0;
    text-align: left;
    font-size: 14px;
    line-height: 1.9;
    color: var(--ez-muted);
}

body.single .sk .sk-end strong {
    display: inline-block;
    margin-bottom: 4px;
    font-size: 16px;
    color: var(--ez-ink);
}

body.single .sk .sk-end a { color: var(--ez-navy); }

@media (max-width: 780px) {
    body.single .entry-content .sk,
    body.single .sk p { font-size: 16px; }
    body.single .sk .sk-head p { font-size: 18px; }
    body.single .sk h2 { margin-top: 56px; font-size: 23px; }
    body.single .sk .sk-cond-item { padding: 22px 0; }
    body.single .sk .sk-band { padding: 36px 24px; }
    body.single .sk .sk-place { padding: 24px 20px; }
    body.single .sk .sk-place dl { grid-template-columns: 1fr; gap: 2px; }
    body.single .sk .sk-place dd { margin-bottom: 10px; }
    body.single .sk .sk-time th { width: 30%; }
}

body .post-navigation,
body.single .site-main .comments-area {
    max-width: var(--ez-read);
    margin-left: auto;
    margin-right: auto;
}

/* ---------- 푸터 ---------- */
body .site-footer {
    background: var(--ez-navy);
    color: rgba(255, 255, 255, .7);
}

body .site-footer::before {
    content: "EASY ON COMMUNICATION\A병원 홈페이지 제작 · 온라인 마케팅\A\A© EASY ON COMMUNICATION. All rights reserved.";
    white-space: pre-line;
    display: block;
    max-width: var(--ez-wrap);
    margin: 0 auto;
    padding: 48px 24px;
    font-size: 13px;
    line-height: 1.8;
}

/* ---------- 칼럼 본문 컴포넌트 v2 (article.sk — 본문에 <style> 없이 쓰는 새 템플릿) ----------
   sk-section / sk-num / sk-cards / sk-card / sk-figure / sk-point / sk-list / sk-check
   sk-cta / sk-btn / sk-faq(details) / sk-outro / sk-note / sk-sign */
body.single .sk *,
body.single .sk *::before,
body.single .sk *::after { box-sizing: border-box; }

body.single .sk .sk-head .sk-kicker,
body.single .sk .sk-head .sk-head-title { display: none; }

body.single .sk .sk-section { margin-top: 80px; }

body.single .sk .sk-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 26px;
    padding: 0 10px;
    background: var(--ez-navy);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #fff;
}

body.single .sk .sk-section > h2 { margin-top: 14px; }

body.single .sk .sk-section > h2::before { display: none; }

body.single .sk .sk-section h3 {
    margin: 40px 0 12px;
    font-size: 20px;
    line-height: 1.5;
}

/* 기본 목록 */
body.single .sk ul:not([class]),
body.single .sk ol:not([class]) {
    margin: 0 0 24px;
    padding-left: 22px;
}

body.single .sk ul:not([class]) li,
body.single .sk ol:not([class]) li {
    margin-bottom: 8px;
    font-size: 16px;
    color: var(--ez-text);
}

body.single .sk ul:not([class]) li::marker { color: var(--ez-red); }

/* 카드 */
body.single .sk .sk-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0 36px;
}

body.single .sk .sk-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

body.single .sk .sk-card {
    padding: 26px 24px;
    background: #fff;
    border: 1px solid var(--ez-line);
    border-top: 3px solid var(--ez-navy);
    border-radius: 14px;
}

body.single .sk .sk-card h3 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--ez-ink);
}

body.single .sk .sk-card .sk-card-tag {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--ez-red);
}

body.single .sk .sk-card p {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.8;
}

body.single .sk .sk-card p:last-child { margin-bottom: 0; }

/* 이미지 */
body.single .sk .sk-figure { margin: 44px 0; }

body.single .sk .sk-figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
}

body.single .sk .sk-figure figcaption {
    margin-top: 14px;
    padding-left: 12px;
    border-left: 2px solid var(--ez-line);
    font-size: 14px;
    line-height: 1.7;
    color: var(--ez-muted);
}

/* 포인트 박스 */
body.single .sk .sk-point {
    position: relative;
    margin: 32px 0;
    padding: 24px 28px 24px 30px;
    background: var(--ez-soft);
    border-radius: 12px;
    overflow: hidden;
}

body.single .sk .sk-point::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--ez-red);
}

body.single .sk .sk-point p {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 500;
    color: var(--ez-ink);
}

body.single .sk .sk-point p:last-child { margin-bottom: 0; }

/* 항목 목록 (strong = 항목명) */
body.single .sk .sk-list {
    margin: 24px 0 32px;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--ez-ink);
}

body.single .sk .sk-list li {
    margin: 0;
    padding: 18px 0;
    border-bottom: 1px solid var(--ez-line);
    font-size: 15px;
    line-height: 1.8;
    color: var(--ez-text);
}

body.single .sk .sk-list li strong {
    display: block;
    margin-bottom: 4px;
    font-size: 17px;
    font-weight: 700;
    color: var(--ez-ink);
}

/* 체크리스트 */
body.single .sk .sk-check {
    margin: 24px 0 32px;
    padding: 0;
    list-style: none;
}

body.single .sk .sk-check li {
    position: relative;
    margin: 0;
    padding: 15px 0 15px 36px;
    border-bottom: 1px solid var(--ez-line);
    font-size: 16px;
    color: var(--ez-text);
}

body.single .sk .sk-check li::before {
    content: "✓";
    position: absolute;
    left: 4px;
    top: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: var(--ez-navy);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}

/* 주의 목록 (sk-check의 경고 버전) */
body.single .sk .sk-warn {
    margin: 24px 0 32px;
    padding: 0;
    list-style: none;
}

body.single .sk .sk-warn li {
    position: relative;
    margin: 0;
    padding: 15px 0 15px 36px;
    border-bottom: 1px solid var(--ez-line);
    font-size: 16px;
    color: var(--ez-text);
}

body.single .sk .sk-warn li::before {
    content: "×";
    position: absolute;
    left: 4px;
    top: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: var(--ez-red);
    border-radius: 6px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

/* 강조 배너 (본문 중간 메시지) */
body.single .sk .sk-banner {
    margin: 56px 0;
    padding: 44px 40px;
    background: var(--ez-navy);
    border-radius: 18px;
    text-align: center;
}

body.single .sk .sk-banner .sk-banner-title {
    margin: 0 0 14px;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: -0.03em;
    color: #fff;
}

body.single .sk .sk-banner p {
    margin: 0 0 6px;
    font-size: 16px;
    color: rgba(255, 255, 255, .78);
}

body.single .sk .sk-banner p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
    body.single .sk .sk-banner { padding: 32px 22px; }
    body.single .sk .sk-banner .sk-banner-title { font-size: 21px; }
}

/* 링크 버튼 박스 */
body.single .sk .sk-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 40px 0;
    padding: 26px 28px;
    background: #fff;
    border: 1px solid var(--ez-line);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(24, 51, 106, .07);
}

body.single .sk .sk-cta p {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.6;
    color: var(--ez-ink);
}

body.single .sk a.sk-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 14px 22px;
    background: var(--ez-navy);
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    transition: background .2s ease, transform .2s ease;
}

body.single .sk a.sk-btn:hover {
    background: var(--ez-red);
    color: #fff;
    transform: translateY(-1px);
}

/* FAQ (details) */
body.single .sk .sk-faq details {
    border-bottom: 1px solid var(--ez-line);
}

body.single .sk .sk-faq > h2 + details { border-top: 1px solid var(--ez-ink); margin-top: 24px; }

body.single .sk .sk-faq summary {
    position: relative;
    padding: 20px 44px 20px 34px;
    list-style: none;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.6;
    color: var(--ez-ink);
}

body.single .sk .sk-faq summary::-webkit-details-marker { display: none; }

body.single .sk .sk-faq summary::before {
    content: "Q";
    position: absolute;
    left: 2px;
    top: 20px;
    font-weight: 800;
    color: var(--ez-red);
}

body.single .sk .sk-faq summary::after {
    content: "+";
    position: absolute;
    right: 6px;
    top: 50%;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ez-soft);
    border-radius: 50%;
    font-size: 18px;
    font-weight: 500;
    color: var(--ez-navy);
}

body.single .sk .sk-faq details[open] summary::after {
    content: "−";
    background: var(--ez-navy);
    color: #fff;
}

body.single .sk .sk-faq details p {
    margin: 0;
    padding: 0 0 22px 34px;
    font-size: 15px;
    line-height: 1.85;
}

/* 마무리 */
body.single .sk .sk-outro {
    margin-top: 88px;
    padding: 40px 40px 36px;
    background: var(--ez-soft);
    border-radius: 18px;
}

body.single .sk .sk-outro h2 { margin-top: 0; }

body.single .sk .sk-outro p:last-child { margin-bottom: 0; }

body.single .sk p.sk-note {
    margin: 24px 0 0;
    padding: 0;
    background: none;
    border-radius: 0;
    font-size: 13px;
    line-height: 1.8;
    color: var(--ez-muted);
}

body.single .sk .sk-sign {
    margin-top: 48px;
    padding-top: 28px;
    border-top: 1px solid var(--ez-line);
    font-size: 14px;
    line-height: 1.9;
    color: var(--ez-muted);
}

body.single .sk .sk-sign strong {
    display: block;
    margin-bottom: 4px;
    font-size: 16px;
    color: var(--ez-ink);
}

@media (max-width: 900px) {
    body.single .sk .sk-cards-3 { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    body.single .sk .sk-section { margin-top: 60px; }
    body.single .sk .sk-cards { grid-template-columns: 1fr; }
    body.single .sk .sk-cta { flex-direction: column; align-items: stretch; padding: 22px 20px; }
    body.single .sk a.sk-btn { justify-content: center; white-space: normal; text-align: center; }
    body.single .sk .sk-outro { padding: 28px 22px; }
    body.single .sk .sk-faq summary { font-size: 16px; }
}

/* ---------- Spectra 지도: 부모 컨테이너 너비에 맞춘다. ---------- */
.uagb-google-map__wrap {
    display: flex;
}

.uagb-google-map__wrap .uagb-google-map__iframe {
    width: 100%;
    box-shadow: none;
    border: none;
    padding: 0;
    margin: 0;
}

/* ---------- 반응형 ---------- */
@media (max-width: 1024px) {
    body .wp-block-uagb-post-grid.uagb-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body .site-header .inside-header { padding: 14px 16px; }
    body .site-header .inside-header::after { display: none; }
    body .site-branding .main-title a { width: 140px; height: 34px; }
    body .site.grid-container { padding: 0 16px; }

    body.home .entry-content > .gb-element-7f88b63a::before {
        padding: 40px 0 24px;
        margin-bottom: 28px;
        font-size: 28px;
    }

    body .wp-block-uagb-post-grid.uagb-post-grid {
        grid-template-columns: 1fr;
        row-gap: 44px;
        margin-bottom: 64px;
    }

    body .uagb-post-grid .uagb-post__title { font-size: 19px; }

    body.single .inside-article { padding: 32px 0 64px; }
    body.single .entry-title { font-size: 27px; }
    body.single .featured-image.page-header-image-single { margin-bottom: 28px; border-radius: 12px; }
    body.single .entry-content { font-size: 16px; }
}
/* ---------- 글 상세 — 왼쪽 고정 목차 (assets/js/toc.js가 생성) ---------- */
body.single .entry-content.has-toc {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    column-gap: 56px;
    align-items: start;
    width: 100%;
    max-width: var(--ez-read);
    margin: 0 auto;
}

body.single .entry-content.has-toc .sk { max-width: none; }

/* 상위 .inside-article이 flex라 가로 탭바 길이만큼 본문이 늘어나지 않도록 */
body.single .inside-article > * { min-width: 0; }

body.single .ez-toc {
    position: sticky;
    top: calc(var(--ez-header-h, 80px) + 32px);
    max-height: calc(100vh - var(--ez-header-h, 80px) - 64px);
    overflow-y: auto;
    padding: 20px;
    background: var(--ez-soft);
    border-radius: 16px;
    scrollbar-width: none;
}

body.single .ez-toc::-webkit-scrollbar { display: none; }

body.single .ez-toc__label {
    margin: 0 0 14px 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--ez-red);
}

body.single .ez-toc__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.single .ez-toc__list li { margin: 0; }

body.single .ez-toc__list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--ez-line);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(24, 51, 106, .04);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    color: var(--ez-text);
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.single .ez-toc__num {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--ez-soft);
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    color: var(--ez-navy);
    transition: background .2s ease, color .2s ease;
}

body.single .ez-toc__list a:hover {
    border-color: var(--ez-navy);
    color: var(--ez-navy);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(24, 51, 106, .10);
}

body.single .ez-toc__list a.is-active {
    background: var(--ez-navy);
    border-color: var(--ez-navy);
    color: #fff;
    box-shadow: 0 8px 20px rgba(24, 51, 106, .22);
}

body.single .ez-toc__list a.is-active .ez-toc__num {
    background: var(--ez-red);
    color: #fff;
}

body.single .ez-toc__top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 14px;
    padding: 12px;
    background: transparent;
    border: 1px dashed #c9cfdb;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ez-muted);
    text-decoration: none;
    transition: border-color .2s ease, color .2s ease, background .2s ease;
}

body.single .ez-toc__top::before { content: "↑"; }

body.single .ez-toc__top:hover {
    background: #fff;
    border-style: solid;
    border-color: var(--ez-navy);
    color: var(--ez-navy);
}

/* 태블릿·모바일: 헤더 아래 가로 칩 버튼 */
@media (max-width: 1023px) {
    body.single .entry-content.has-toc { display: block; }

    body.single .ez-toc {
        top: var(--ez-header-h, 64px);
        z-index: 90;
        max-height: none;
        overflow: visible;
        margin: 0 -24px 32px;
        padding: 10px 0;
        background: rgba(255, 255, 255, .96);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid var(--ez-line);
        border-radius: 0;
    }

    body.single .ez-toc__label,
    body.single .ez-toc__top { display: none; }

    body.single .ez-toc__list {
        flex-direction: row;
        gap: 8px;
        padding: 0 16px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    body.single .ez-toc__list::-webkit-scrollbar { display: none; }

    body.single .ez-toc__list li { flex: none; }

    body.single .ez-toc__list a {
        gap: 8px;
        padding: 7px 14px 7px 7px;
        border-radius: 999px;
        font-size: 13px;
        white-space: nowrap;
        box-shadow: none;
    }

    body.single .ez-toc__list a:hover { transform: none; box-shadow: none; }

    body.single .ez-toc__num {
        width: 24px;
        height: 24px;
        border-radius: 999px;
        font-size: 10px;
    }
}

@media (max-width: 767px) {
    body.single .ez-toc { margin: 0 -16px 28px; }
}
