/* ============================================================
   SOLUTION DETAIL PAGES — clean white, single-column (pentasecurity 톤)
   화이트 배경 · 단일 컬럼 · 카드 없음 · 제목+텍스트 블록 세로 나열 · CTA 최하단
   ※ 콘텐츠 바인딩(page.*)·관리자 기능과 무관한 '디자인 전용' 스타일.
   ============================================================ */

:root {
    --sol-font: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont,
                'Noto Sans KR', 'Segoe UI', Roboto, sans-serif;
    --sol-navy:   #15183a;
    --sol-accent: #3f51b5;
    --sol-ink:    #20242f;
    --sol-body:   #4b5263;
    --sol-line:   rgba(20, 24, 58, 0.10);
}

.soln {
    font-family: var(--sol-font);
    word-break: keep-all;            /* 한글 단어 단위 줄바꿈 */
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: #ffffff;
    color: var(--sol-ink);
}

.soln-inner { max-width: 920px; margin: 0 auto; padding: 0 2rem; }

/* ── HERO ── */
.soln-hero { padding: calc(var(--nav-h) + 2.4rem) 0 2.2rem; }
.soln-breadcrumb {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #8b90a0;
    margin-bottom: 3.25rem;
}
.soln-breadcrumb a { color: #8b90a0; text-decoration: none; transition: color 0.15s ease; }
.soln-breadcrumb a:hover { color: var(--sol-accent); }
.soln-bc-sep { color: #c2c6d2; }
.soln-bc-current { color: var(--sol-navy); font-weight: 600; }
.soln-title {
    font-size: clamp(1.7rem, 3.4vw, 2.3rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--sol-navy);
    text-align: center;
}
.soln-lead {
    margin-top: 1.1rem;
    font-size: 1.02rem;
    line-height: 1.85;
    color: var(--sol-body);
}

/* ── 다이어그램/이미지 ── */
.soln-figure-sec { padding: 1.2rem 0 0.4rem; }
.soln-figure { text-align: center; padding: 1.4rem 0; }
.soln-figure img { max-width: 100%; height: auto; border-radius: 10px; }

/* ── 콘텐츠 섹션 (단일 컬럼 · 카드 없음) ── */
.soln-section { padding: 2.8rem 0; }
.soln-section + .soln-section,
.soln-figure-sec + .soln-section { border-top: 1px solid var(--sol-line); }
.soln-section-title {
    font-size: clamp(1.3rem, 2.4vw, 1.6rem);
    font-weight: 700;
    color: var(--sol-navy);
    letter-spacing: -0.015em;
    line-height: 1.3;
    margin-bottom: 1.6rem;
}

/* 기능/특징 블록: 굵은 소제목 + 항목/설명, 세로로 쌓기 */
.soln-block { margin-bottom: 2rem; }
.soln-block:last-child { margin-bottom: 0; }
.soln-block-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--sol-ink);
    line-height: 1.5;
    margin-bottom: 0.55rem;
}
.soln-list { list-style: none; margin: 0; padding: 0; }
.soln-list li {
    position: relative;
    padding-left: 1.05rem;
    font-size: 0.97rem;
    line-height: 1.9;
    color: var(--sol-body);
}
.soln-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.78em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--sol-accent);
}
.soln-block-desc {
    font-size: 0.97rem;
    line-height: 1.85;
    color: var(--sol-body);
}
.soln-list + .soln-block-desc { margin-top: 0.6rem; }

/* ── CTA (페이지 최하단 — 다 읽은 뒤 문의) ── */
.soln-cta-sec {
    padding: 3.2rem 0 4rem;
    border-top: 1px solid var(--sol-line);
    text-align: center;
}
.soln-cta-lead {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--sol-navy);
    margin-bottom: 1.1rem;
}
.soln-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.8rem;
    background: var(--sol-navy);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: transform 0.15s ease, background 0.2s ease;
}
.soln-cta:hover { background: var(--sol-accent); transform: translateY(-1px); }

/* ── 반응형 ── */
@media (max-width: 640px) {
    .soln-inner { padding: 0 1.3rem; }
    .soln-hero { padding: calc(var(--nav-h) + 1.8rem) 0 1.6rem; }
    .soln-section { padding: 2.2rem 0; }
    .soln-cta-sec { padding: 2.6rem 0 3.2rem; }
}
