/* 아임웹 섹션 구조 재현 + 텍스트/버튼 위젯 + 게시판 */
.section_wrap.ims { position: relative; background-size: cover; background-position: 50% 50%; }
.section_wrap.ims > .ims-main { display: block; padding: 0; }
.section_wrap.ims.extend_section > main { padding: 0; }
.section_wrap.ims .inside { margin: 0 auto; width: 100%; }
.section_wrap.ims .doz_row { display: flex; flex-wrap: wrap; }
.section_wrap.ims .col-dz { min-width: 0; width: 100%; }
.section_wrap.ims .col-dz-4 { width: 33.3333%; }
.section_wrap.ims .doz_row:has(> .col-dz-4, > .col-dz-6, > .col-dz-3, > .col-dz-8) > .col-dz { padding: 0 15px; }
.section_wrap.ims .col-dz-6 { width: 50%; }
.section_wrap.ims .col-dz-3 { width: 25%; }
.section_wrap.ims .col-dz-8 { width: 66.6667%; }
@media (max-width: 767px) {
  .section_wrap.ims .col-dz { width: 100%; }
}

/* 아임웹 위젯 기본 여백 */
.section_wrap.ims .widget { margin-top: 16px; margin-bottom: 16px; }

/* 텍스트 위젯 */
.widget_text_wrap { position: relative; font-family: 'Pretendard', 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; font-size: 16px; color: #1c2230; line-height: 1.6; word-break: keep-all; overflow-wrap: break-word; }
.widget_text_wrap.default_padding { padding-left: 32px; padding-right: 32px; }
@media (max-width: 767px) { .widget_text_wrap.default_padding { padding-left: 15px; padding-right: 15px; } }
.fr-view p, .fr-view h1, .fr-view h2, .fr-view h3, .fr-view h4, .fr-view h5, .fr-view h6 { margin: 0; }
.fr-view img { max-width: 100%; height: auto; }
.fr-view ul, .fr-view ol { padding-left: 1.5em; margin: .4em 0; }
.fr-view hr { border: 0; border-top: 1px solid #e4ddd2; margin: 1.2em 0; }
.fr-view table { border-collapse: collapse; max-width: 100%; }
.fr-view table td, .fr-view table th { border: 1px solid #e4ddd2; padding: 6px 8px; }
.fr-view a { color: #0b2140; }

/* 배경이 있는 텍스트 위젯 */
.widget_text_wrap .text-table { position: relative; z-index: 1; }
.widget_text_wrap .text_bg_img, .widget_text_wrap .text_bg_color { position: absolute; inset: 0; }
.fr-view table.noBorder td, .fr-view table.noBorder th { border: 0; padding: 0; }
.fr-view img.fr-dii { display: inline-block; vertical-align: middle; margin: 0 5px; max-width: calc(100% - 10px); }
a._fade_link { text-decoration: none; }

/* 이미지 위젯 */
.widget.image { padding: 0 15px; text-align: center; }
.widget.image img { display: inline-block; max-width: 100%; height: auto; }
.widget.image .overlay, .widget.image .hover_overlay { display: none; }

/* 버튼 위젯 */
.widget.button { padding: 0 15px; }
.widget.button.txt_c { text-align: center; }
.widget.button.txt_r { text-align: right; }
.widget.button .btn {
  display: inline-block; padding: 10px 26px; border-radius: 30px; font-size: 15px; font-weight: 500; line-height: 1.6;
  background: #10305a; color: #fff; text-decoration: none; border: 1px solid transparent; border-style: solid; cursor: pointer;
}
.widget.button .btn:hover { opacity: .92; }
.widget.button .cursor_default { cursor: default; }

/* 게시판: 아코디언형 */
.olb { max-width: 1280px; margin: 0 auto; padding: 0 16px; font-family: 'Pretendard', 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif; }
.olb-acc { border-top: 1px solid #1c2230; }
.olb-item { border-bottom: 1px solid #1c2230; }
.olb-item > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 10px; font-size: 16px; font-weight: 700; color: #1c2230; line-height: 1.3;
}
.olb-item > summary::-webkit-details-marker { display: none; }
.olb-item > summary i { color: #1c2230; font-size: 13px; transition: transform .2s; flex: none; }
.olb-item[open] > summary i { transform: rotate(180deg); }
.olb-item > summary:hover .olb-q { color: #0b2140; }
.olb-body { padding: 22px 10px 14px; font-size: 16px; line-height: 1.6; color: #1c2230; border-top: 1px solid #e4ddd2; }
.olb-body p { margin: 0 0 .6em; }

/* 게시판: 목록형 */
.olb-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #1c2230; }
.olb-list li { border-bottom: 1px solid #e4ddd2; }
.olb-list a { display: flex; justify-content: space-between; gap: 16px; padding: 16px 10px; text-decoration: none; color: #1c2230; }
.olb-list a:hover .olb-t { color: #0b2140; text-decoration: underline; }
.olb-t { font-size: 16px; font-weight: 500; min-width: 0; }
.olb-d { flex: none; color: #8a8f99; font-size: 14px; font-variant-numeric: tabular-nums; }
.olb-ficon { color: #8a8f99; font-size: 13px; margin-left: 6px; }
.olb-empty { text-align: center; color: #8a8f99; padding: 40px 0; }

/* 게시글 (아임웹 게시물 화면과 같은 배치) */
.olp { max-width: 880px; margin: 0 auto; padding: 56px 20px 40px; font-family: 'Pretendard', 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif; color: #1c2230; }
.olp-board { text-align: center; }
.olp-board a { font-size: 14px; color: #5b6170; text-decoration: none; }
.olp-board::after { content: ''; display: block; width: 24px; height: 1px; background: #cfc6b8; margin: 14px auto 0; }
.olp-title { text-align: center; font-size: 24px; font-weight: 500; line-height: 1.4; margin: 20px 0 0; color: #1c2230; }
.olp-meta { display: none; }
.olp-body { padding: 60px 0 30px; font-size: 16px; line-height: 1.8; color: #1c2230; word-break: keep-all; overflow-wrap: break-word; }
/* 칼럼 본문 중간 제목: 크기 차례를 일정하게 맞춤 (h5·h6가 본문보다 작게 나오던 문제) */
.olp-body h1, .olp-body h2, .olp-body h3, .olp-body h4, .olp-body h5, .olp-body h6 { font-weight: 700; line-height: 1.45; color: #10305a; margin: 1.4em 0 .5em; }
.olp-body :is(h1,h2,h3,h4,h5,h6) + :is(h1,h2,h3,h4,h5,h6) { margin-top: .3em; }
.olp-body > h1:first-child, .olp-body > h2:first-child, .olp-body > h3:first-child, .olp-body > h4:first-child, .olp-body > h5:first-child, .olp-body > h6:first-child { margin-top: 0; }
.olp-body h1, .olp-body h2 { font-size: 22px; }
.olp-body h3 { font-size: 20px; }
.olp-body h4 { font-size: 19px; }
.olp-body h5 { font-size: 18px; }
.olp-body h6 { font-size: 17px; color: #1c2230; }
.olp-body li { margin: .2em 0; }
.olp-body table { font-size: 15px; line-height: 1.6; margin: 1em 0; width: 100%; }
.olp-body hr { margin: 2em 0; }
.olp-body p { margin: 0; }
.olp-files { list-style: none; margin: 0 0 24px; padding: 12px 16px; background: #faf7f2; border-radius: 6px; }
.olp-files a { display: flex; align-items: center; gap: 10px; padding: 8px 4px; color: #1c2230; text-decoration: none; font-size: 14px; }
.olp-files a:hover span { text-decoration: underline; }
.olp-files i { color: #10305a; }
.olp-files em { margin-left: auto; color: #8a8f99; font-style: normal; font-size: 13px; }
.olp-nav { border-top: 1px solid #e4ddd2; }
.olp-nav a { display: block; padding: 12px 4px; border-bottom: 1px solid #e4ddd2; color: #1c2230; text-decoration: none; font-size: 14px; }
.olp-nav a em { font-style: normal; color: #8a8f99; font-size: 13px; margin-right: 14px; }
.olp-actions { margin-top: 16px; }
.olp-btn { display: inline-block; padding: 5px 16px; border-radius: 4px; background: #10305a; color: #fff; text-decoration: none; font-size: 13px; }
.olp-btn:hover { background: #1c2230; }
@media (max-width: 767px) {
  .olp { padding-top: 36px; }
  .olp-title { font-size: 20px; }
  .olp-body { padding-top: 36px; }
  .olp-body h1, .olp-body h2 { font-size: 20px; }
  .olp-body h3 { font-size: 19px; }
  .olp-body h4, .olp-body h5 { font-size: 18px; }
  .olp-body h6 { font-size: 17px; }
  .olp-body table { display: block; overflow-x: auto; }
}

/* 아임웹 섹션 테마 버튼 색상 (코드 위젯의 btn-primary에도 적용되던 규칙) */
#main .section_wrap .btn-primary { background-color: #10305a; border-color: #1c2230; color: #fff; border-width: 0; }
#main .section_wrap .btn-primary:hover { background-color: #1c2230; border-color: #1c2230; color: #fff; }

/* 서식 자동작성 페이지: 미리보기가 화면 밖으로 밀려나지 않게 */
.law-preview { min-width: 0; }


/* 서식 글: 해설·함께 볼 글·상담 한 줄 (2026-10-23) */
.olp-guide h2 { font-size: 18px; color: var(--h2-navy, #10305a); margin: 1.6em 0 .5em; }
.olp-guide > h2:first-child { margin-top: 0; }
.olp-guide p { margin: 0 0 .7em; }
.olp-body .olp-src { margin-top: 1.4em; font-size: 14px; color: var(--h2-sub, #5b6170); }
.olp-rel { margin: 8px 0 20px; padding: 18px 20px; border: 1px solid var(--h2-line, #d9d1c4); border-radius: 10px; background: #fff; }
.olp-rel h2 { margin: 0 0 8px; font-size: 16px; font-weight: 700; color: var(--h2-navy, #10305a); }
.olp-rel ul { list-style: none; margin: 0; padding: 0; }
.olp-rel li a { display: flex; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid #efe9df; color: var(--h2-ink, #1c2230); text-decoration: none; font-size: 15px; }
.olp-rel li:first-child a { border-top: 0; }
.olp-rel li a::after { content: '→'; margin-left: auto; color: var(--h2-accent, #e0603a); }
.olp-rel li a:hover { color: var(--h2-navy, #10305a); text-decoration: underline; }
.olp-help, .olb-help { margin: 0 0 28px; font-size: 14px; line-height: 1.7; color: var(--h2-sub, #5b6170); word-break: keep-all; }
.olp-help a, .olb-help a { color: var(--h2-navy, #10305a); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.olb-help { max-width: 1280px; margin: 36px auto 56px; padding: 18px 16px 0; border-top: 1px solid var(--h2-line, #d9d1c4); text-align: center; }

/* 아임웹에서 옮긴 페이지 머리(glass-widget): 흐릿한 색 번짐(오로라)과 그라데이션 글씨를 빼고 새 디자인처럼 단정하게 (2026-10-23) */
body .glass-widget-root { background: var(--h2-bg) !important; padding: 72px 20px 56px !important; overflow: visible; }
body .glass-widget-root .glass-blob { display: none !important; }
body .glass-widget-root .glass-container { max-width: 1240px; align-items: flex-start; text-align: left; }
body .glass-widget-root .glass-badge { color: var(--h2-accent) !important; font-weight: 600; background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; letter-spacing: -.01em; }
body .glass-widget-root .glass-title-main { color: var(--h2-ink) !important; text-shadow: none !important; letter-spacing: -.035em; }
body .glass-widget-root .glass-highlight {
  background: linear-gradient(transparent 68%, rgba(224, 96, 58, .28) 68%) !important;
  -webkit-background-clip: border-box !important; background-clip: border-box !important;
  -webkit-text-fill-color: var(--h2-navy) !important; color: var(--h2-navy) !important;
}
body .glass-widget-root .glass-text { color: var(--h2-sub) !important; max-width: 720px; }
@media (max-width: 768px) { body .glass-widget-root { padding: 44px 16px 36px !important; } }

/* 도구 페이지 머리의 흐릿한 색 번짐(오로라) 제거: PDF 분할기, PDF 용량 줄이기, 변호사 보수 계산기, 양육비 계산기 (2026-10-23) */
body .lg-scope-root .lg-blob,
body #mylaw-pdf-widget-container .mpl-blob { display: none !important; }
body .lg-scope-root { background: var(--h2-bg) !important; }
body .lg-scope-root .lg-card { background: #fff !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border: 1px solid var(--h2-line, #d9d1c4) !important; box-shadow: none !important; }
body #lawyer-fee-page::before, body #lawyer-fee-page::after,
body #cs-page-wrapper::before, body #cs-page-wrapper::after { display: none !important; }
body #cs-page-wrapper { background: var(--h2-bg) !important; }
