/*
 Theme Name:   아침산책 에디토리얼 (mwb-editorial)
 Theme URI:    https://morningwalkbooks.com
 Description:  아침산책 — 칼럼을 책 한 장처럼 읽게 하는 GeneratePress 자식 테마. 명조 본문, 차례형 목록, 판권면 바닥글.
 Author:       아침산책
 Author URI:   https://morningwalkbooks.com
 Template:     generatepress
 Version:      2.1.3
 Requires PHP: 7.4
 Text Domain:  mwb-editorial
*/

/* 디자인 계획: DESIGN.md. 글꼴은 functions.php 에서 Google Fonts 로 싣는다(지금 사이트와 같은 방식). */

/* ─────────────────────────────────────────
   0. 토큰
───────────────────────────────────────── */
:root {
  --mw-paper:   #F5EFE6;
  --mw-sheet:   #FBF8F2;
  --mw-ink:     #1B2130;
  --mw-navy:    #1E3A8A;
  --mw-navy-d:  #172D6B;
  --mw-muted:   #5B6170;
  --mw-line:    #E2D8C9;
  --mw-white:   #ffffff;

  /* 2026-11-08 대표 지시: 사이트 전체 글꼴을 Pretendard 하나로 통일(제목·본문·메뉴·페이지 본문 HTML 모두) */
  --mw-font:  'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  --mw-serif: var(--mw-font);
  --mw-sans:  var(--mw-font);

  --mw-container: 1200px;
  --mw-measure:   40rem;   /* 칼럼 본문 행 길이: 한글 약 40자 */
  --mw-gutter:    16px;
}
@media (min-width: 640px)  { :root { --mw-gutter: 24px; } }
@media (min-width: 1024px) { :root { --mw-gutter: 32px; } }

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--mw-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--mw-ink);
  background-color: var(--mw-paper);
  -webkit-font-smoothing: antialiased;
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 다른 곳(부모 테마·플러그인)의 html/body overflow-x:hidden 은 body 를 스크롤 상자로 만들어
   머리글 sticky 가 작동하지 않고, 로그인 때 관리 막대 아래 32px 빈자리가 생겼다(2026-11-08). clip 은 가로 넘침만 자르고 sticky 를 살린다. */
html, body { overflow-x: clip !important; }

a { color: var(--mw-navy); }

/* 글꼴 통일: 페이지 본문 HTML 의 인라인 font-family(명조 등)·플러그인 글꼴까지 덮는다. 아이콘 글꼴·관리 막대·코드는 제외 */
body, body *:not(#wpadminbar):not(#wpadminbar *):not([class*="icon"]):not([class*="dashicons"]):not([class^="fa-"]):not(.fa):not(i):not(code):not(pre):not(kbd):not(samp) {
  font-family: var(--mw-font) !important;
}
body { letter-spacing: -0.005em; }
h1, h2, h3, h4, .mwb-entry__title, .mwb-page__title, .mwb-list__title, .mwb-toc__title, .mwb-logo__name, .mwb-colophon__title,
#morningwalk-app h1, #morningwalk-app h2, #morningwalk-app h3 { letter-spacing: -0.025em; }

:focus-visible { outline: 2px solid var(--mw-navy); outline-offset: 3px; border-radius: 2px; }
img { max-width: 100%; height: auto; }

.mw-container {
  max-width: var(--mw-container);
  margin: 0 auto;
  padding: 0 var(--mw-gutter);
}

.mwb-skip {
  position: absolute; left: -9999px; top: 0;
  background: var(--mw-navy); color: #fff; padding: 10px 16px; z-index: 10001;
}
.mwb-skip:focus { left: 16px; top: 12px; }

/* ─────────────────────────────────────────
   1. 부모 테마 머리글·바닥글 숨김 + GeneratePress 레이아웃 해제
   (기존 자식 테마 규칙 그대로 — 페이지 본문 HTML 이 같은 폭으로 나오게)
───────────────────────────────────────── */
#site-header, .site-header, header.site-header,
#site-footer, .site-footer, footer.site-footer, #colophon,
.main-navigation, #site-navigation, .nav-primary { display: none !important; }

.widget-area, #sidebar, .sidebar, aside.sidebar,
.right-sidebar #secondary, .left-sidebar #secondary { display: none !important; }

#content, #content.site-content, .site-content, div#content {
  display: block !important; flex: none !important; width: 100% !important; padding: 0 !important;
}
#primary, #primary.content-area, .content-area, .site-main, .hentry {
  width: 100% !important; max-width: 100% !important;
  float: none !important; flex: none !important; margin: 0 !important; padding: 0 !important;
}
.inside-article, .inside-page-header, .entry-header,
.entry-content, .entry-footer, .page-header {
  max-width: 100% !important; padding: 0 !important; margin: 0 !important;
}
.generate-columns-container, .grid-container { padding: 0 !important; }

/* 위 해제 규칙(.hentry 폭·여백 0 !important)보다 우선: 글·페이지 article 은 post_class 로 .hentry 가 붙는다 */
article.mwb-sheet.hentry { max-width: 54rem !important; margin: 0 auto !important; padding: 32px var(--mw-gutter) 48px !important; }
@media (min-width: 768px) { article.mwb-sheet.hentry { padding: 64px 72px 80px !important; } }
article.mwb-page__inner.hentry { max-width: 56rem !important; margin: 0 auto !important; }
li.mwb-toc__item.hentry { width: auto !important; padding: 24px 0 !important; margin: 0 !important; }
@media (min-width: 768px) { li.mwb-toc__item.hentry { padding: 32px 0 !important; } }

/* 위 해제 규칙(.site-main padding 0 !important)보다 우선: 이 테마 템플릿의 위아래 여백 */
main.site-main.mwb-single { padding: 24px 0 72px !important; }
main.site-main.mwb-page   { padding: 32px 0 80px !important; }
main.site-main.mwb-list   { padding: 40px 0 80px !important; }
@media (min-width: 768px) {
  main.site-main.mwb-single { padding: 56px 0 112px !important; }
  main.site-main.mwb-page   { padding: 56px 0 112px !important; }
  main.site-main.mwb-list   { padding: 64px 0 112px !important; }
}

/* ─────────────────────────────────────────
   2. 머리글
───────────────────────────────────────── */
#mwb-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--mw-paper);
  border-bottom: 1px solid var(--mw-line);
}
.admin-bar #mwb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #mwb-header { top: 0; position: relative; } }

.mwb-header__inner {
  display: flex; align-items: center; gap: 24px;
  height: 64px;
}
@media (min-width: 1024px) { .mwb-header__inner { height: 76px; } }

.mwb-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; margin-right: auto;
}
.mwb-logo svg {
  width: 22px; height: 22px; color: var(--mw-navy);
  align-self: center; flex-shrink: 0; margin-right: -2px;
}
.mwb-logo__name {
  font-family: var(--mw-serif);
  font-size: 1.3125rem; font-weight: 700; letter-spacing: -0.02em;
  color: var(--mw-ink);
}
/* 2.1.3: 부제는 이름과 같은 크기(데스크톱), 보통 굵기·남색, 앞에 CSS 가는 세로선(글자 '|' 쓰지 않음) */
.mwb-logo__sub {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--mw-sans);
  font-size: 0.9375rem; font-weight: 400; letter-spacing: -0.02em;
  color: var(--mw-navy);
}
.mwb-logo__sub::before {
  content: ""; display: block; width: 1px; height: 12px; background: #C4B8A4;
}
@media (min-width: 1024px) {
  .mwb-logo__sub { font-size: 1.3125rem; gap: 12px; }
  .mwb-logo__sub::before { height: 16px; }
  .mwb-logo { gap: 12px; }
}
@media (max-width: 359px) { .mwb-logo__sub { display: none; } }

.mwb-nav {
  display: none; list-style: none; margin: 0; padding: 0; gap: 24px;
}
@media (min-width: 1280px) { .mwb-nav { display: flex; align-items: center; } }
.mwb-nav li { list-style: none; margin: 0; }
.mwb-nav a {
  font-size: 0.875rem; font-weight: 500; white-space: nowrap;
  color: var(--mw-ink); text-decoration: none;
  padding: 6px 0; border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
.mwb-nav a:hover { color: var(--mw-navy); }
.mwb-nav .current-menu-item > a,
.mwb-nav .current_page_item > a,
.mwb-nav .current-menu-parent > a { color: var(--mw-navy); border-bottom-color: var(--mw-navy); }

.mwb-header__cta {
  display: none; align-items: center;
  padding: 10px 20px;
  background: var(--mw-navy); color: #fff !important;
  font-size: 0.875rem; font-weight: 700; text-decoration: none;
  border-radius: 4px; white-space: nowrap;
  transition: background-color .15s;
}
.mwb-header__cta:hover { background: var(--mw-navy-d); }
@media (min-width: 768px) { .mwb-header__cta { display: inline-flex; } }

.mwb-menu-toggle, button.mwb-menu-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-right: -10px; padding: 0 !important;
  background: none !important; border: 0; color: var(--mw-ink) !important; cursor: pointer;
}
.mwb-menu-toggle svg { flex-shrink: 0; width: 24px; height: 24px; }
@media (min-width: 1280px) { .mwb-menu-toggle, button.mwb-menu-toggle { display: none; } }
.mwb-menu-toggle .mwb-i-close { display: none; }
.mwb-menu-toggle[aria-expanded="true"] .mwb-i-open { display: none; }
.mwb-menu-toggle[aria-expanded="true"] .mwb-i-close { display: block; }

.mwb-mobile-menu {
  display: none;
  border-top: 1px solid var(--mw-line);
  background: var(--mw-sheet);
}
.mwb-mobile-menu.is-open { display: block; }
@media (min-width: 1280px) { .mwb-mobile-menu, .mwb-mobile-menu.is-open { display: none; } }
.mwb-mobile-menu__inner { padding: 8px var(--mw-gutter) 24px; }
.mwb-mobile-nav-list { list-style: none; margin: 0; padding: 0; }
.mwb-mobile-nav-list li { margin: 0; }
.mwb-mobile-menu a:not(.mwb-mobile-menu__cta) {
  display: block; padding: 14px 0;
  font-family: var(--mw-serif); font-size: 1.125rem; font-weight: 600;
  color: var(--mw-ink); text-decoration: none;
  border-bottom: 1px solid var(--mw-line);
}
.mwb-mobile-menu__cta {
  display: flex; justify-content: center; margin-top: 20px;
  padding: 14px; border-radius: 4px;
  background: var(--mw-navy); color: #fff !important;
  font-weight: 700; text-decoration: none;
}

/* ─────────────────────────────────────────
   3. 칼럼(글 한 편) — 원고 한 장
───────────────────────────────────────── */

.mwb-sheet {
  max-width: 54rem; margin: 0 auto;
  background: var(--mw-sheet);
  padding: 32px var(--mw-gutter) 48px;
}
@media (min-width: 768px) {
  .mwb-sheet {
    padding: 64px 72px 80px;
    border: 1px solid var(--mw-line);
    /* 뒤에 한 장 더 겹친 종이 */
    box-shadow: 8px 8px 0 -1px var(--mw-sheet), 8px 8px 0 0 var(--mw-line);
  }
}
@media (max-width: 767px) {
  .mwb-single > .mw-container { padding: 0; }
}

.mwb-entry__head, .mwb-prose--article { max-width: var(--mw-measure); margin-left: auto; margin-right: auto; }

.mwb-entry__cat {
  display: inline-block;
  font-size: 0.875rem; font-weight: 700; color: var(--mw-navy);
  text-decoration: none; margin-bottom: 14px;
}
.mwb-entry__cat:hover { text-decoration: underline; text-underline-offset: 4px; }

.mwb-entry__title {
  font-family: var(--mw-serif);
  font-size: 1.75rem; line-height: 1.38; font-weight: 700; letter-spacing: -0.02em;
  color: var(--mw-ink);
  margin: 0;
}
@media (min-width: 768px) { .mwb-entry__title { font-size: 2.25rem; line-height: 1.34; } }

.mwb-entry__date {
  display: block; margin-top: 16px;
  font-size: 0.875rem; color: var(--mw-muted);
}
.mwb-entry__rule {
  width: 48px; height: 3px; background: var(--mw-navy);
  margin: 24px 0 0; border: 0;
}

.mwb-entry__cover { margin: 32px 0 0; }
@media (min-width: 768px) { .mwb-entry__cover { margin: 40px -32px 0; } }
.mwb-entry__cover img { display: block; width: 100%; height: auto; border-radius: 2px; }

.mwb-entry__body { margin-top: 36px; }
@media (min-width: 768px) { .mwb-entry__body { margin-top: 48px; } }

/* ─────────────────────────────────────────
   4. 본문 글꼴(칼럼만). 페이지 본문(.mwb-prose 만 있는 곳)에는 걸지 않는다.
───────────────────────────────────────── */
.mwb-prose--article {
  font-family: var(--mw-serif);
  font-size: 1.0625rem; line-height: 1.85;
  color: var(--mw-ink);
}
@media (min-width: 768px) { .mwb-prose--article { font-size: 1.125rem; } }

.mwb-prose--article > * { margin-top: 0; margin-bottom: 1.25em; }
.mwb-prose--article > *:last-child { margin-bottom: 0; }

.mwb-prose--article h2 {
  font-family: var(--mw-serif);
  font-size: 1.375rem; line-height: 1.5; font-weight: 700; letter-spacing: -0.015em;
  margin: 2.4em 0 0.8em;
  padding-top: 1.1em; border-top: 1px solid var(--mw-line);
}
@media (min-width: 768px) { .mwb-prose--article h2 { font-size: 1.5rem; } }
.mwb-prose--article h3 {
  font-family: var(--mw-sans);
  font-size: 1.0625rem; line-height: 1.6; font-weight: 700;
  margin: 2em 0 0.6em;
}
.mwb-prose--article p em:only-child { color: var(--mw-muted); font-style: normal; font-family: var(--mw-sans); font-size: .9375rem; }

.mwb-prose--article a {
  color: var(--mw-navy);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
}
.mwb-prose--article a:hover { text-decoration-thickness: 2px; }
.mwb-prose--article strong { font-weight: 700; }

.mwb-prose--article ul, .mwb-prose--article ol { padding-left: 1.3em; }
.mwb-prose--article li { margin-bottom: 0.4em; }
.mwb-prose--article li::marker { color: var(--mw-navy); }

.mwb-prose--article hr {
  border: 0; height: 1px; background: var(--mw-line); margin: 2.5em 0;
}

.mwb-prose--article figure { margin: 2em 0; }
.mwb-prose--article figcaption,
.mwb-prose--article .wp-element-caption {
  font-family: var(--mw-sans); font-size: 0.875rem; color: var(--mw-muted);
  margin-top: 10px; line-height: 1.6;
}

.mwb-prose--article table {
  width: 100%; border-collapse: collapse;
  font-family: var(--mw-sans); font-size: 0.9375rem; line-height: 1.6;
}
.mwb-prose--article th, .mwb-prose--article td {
  padding: 10px 12px; border-bottom: 1px solid var(--mw-line); text-align: left; vertical-align: top;
}
.mwb-prose--article th { font-weight: 700; border-bottom: 2px solid var(--mw-ink); }
.mwb-prose--article .wp-block-table { overflow-x: auto; }

/* 인용구: 추가 CSS(2026-10-12) 규칙을 테마로 옮김 — 기울임 없이 배경과 왼쪽 선 */
.mwb-prose blockquote {
  font-style: normal; font-size: 1em; line-height: 1.8;
  background: #fdfbf7;
  border-left: 4px solid var(--mw-navy);
  border-radius: 0 12px 12px 0;
  padding: 24px 24px 4px;
  margin-left: 0; margin-right: 0;
}
.mwb-prose--article blockquote {
  background: var(--mw-paper); border-radius: 0; border-left-width: 3px;
  padding: 20px 24px;
}
.mwb-prose--article blockquote > :last-child { margin-bottom: 0; }

/* 글 끝 작성자 서명(마지막 hr 뒤 굵은 이름) */
.mwb-prose--article hr + p strong:only-child { font-family: var(--mw-sans); font-size: .9375rem; }

/* ─────────────────────────────────────────
   5. 페이지(소개·FAQ·견적 등) — 본문 HTML 은 그대로 두고 틀만
───────────────────────────────────────── */
.mwb-page__inner { max-width: 56rem; margin: 0 auto; }
.mwb-page__title {
  font-family: var(--mw-serif);
  font-size: 1.75rem; line-height: 1.35; font-weight: 700; letter-spacing: -0.02em;
  margin: 0;
}
@media (min-width: 768px) { .mwb-page__title { font-size: 2.25rem; } }
.mwb-page__head { margin-bottom: 32px; }
.mwb-page__head .mwb-entry__rule { margin-top: 20px; }
.mwb-page__cover { margin: 0 0 32px; }
.mwb-page__cover img { display: block; width: 100%; height: auto; border-radius: 2px; }
.mwb-page__body {
  background: var(--mw-sheet);
  border: 1px solid var(--mw-line);
  padding: 20px;
}
@media (min-width: 768px) { .mwb-page__body { padding: 28px; } }

/* ─────────────────────────────────────────
   6. 목록(분류·태그·검색) — 차례처럼
───────────────────────────────────────── */
.mwb-list__inner { max-width: 60rem; margin: 0 auto; }

.mwb-list__head { padding-bottom: 20px; border-bottom: 2px solid var(--mw-ink); }
.mwb-list__kicker { display: block; font-size: 0.875rem; font-weight: 700; color: var(--mw-navy); margin-bottom: 8px; }
.mwb-list__title {
  font-family: var(--mw-serif);
  font-size: 1.75rem; line-height: 1.35; font-weight: 700; letter-spacing: -0.02em; margin: 0;
}
@media (min-width: 768px) { .mwb-list__title { font-size: 2.25rem; } }
.mwb-list__desc { margin: 10px 0 0; color: var(--mw-muted); font-size: 0.9375rem; }

.mwb-toc { list-style: none; margin: 0; padding: 0; }
.mwb-toc__item {
  display: grid; grid-template-columns: 1fr 104px; gap: 16px;
  align-items: start;
  padding: 24px 0;
  border-bottom: 1px solid var(--mw-line);
  margin: 0;
}
@media (min-width: 768px) {
  .mwb-toc__item { grid-template-columns: 1fr 240px; gap: 40px; padding: 32px 0; }
}
.mwb-toc__item--no-thumb { grid-template-columns: 1fr; }

.mwb-toc__title {
  font-family: var(--mw-serif);
  font-size: 1.125rem; line-height: 1.5; font-weight: 700; letter-spacing: -0.01em;
  margin: 0;
}
@media (min-width: 768px) { .mwb-toc__title { font-size: 1.375rem; line-height: 1.45; } }
.mwb-toc__title a { color: var(--mw-ink); text-decoration: none; }
.mwb-toc__title a:hover { color: var(--mw-navy); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }

.mwb-toc__excerpt {
  margin: 10px 0 0; color: var(--mw-muted); font-size: 0.9375rem; line-height: 1.7;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (max-width: 767px) { .mwb-toc__excerpt { display: none; } }
.mwb-toc__date { display: block; margin-top: 10px; font-size: 0.8125rem; color: var(--mw-muted); }

.mwb-toc__thumb { display: block; line-height: 0; }
.mwb-toc__thumb img {
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 2px; display: block;
}
@media (min-width: 768px) {
  /* 2.1.1: 데스크톱 목록 썸네일은 자르지 않고 전체 표시(책 표지·세로 사진), 남는 칸은 옅은 바탕 */
  .mwb-toc__thumb img { aspect-ratio: 3 / 2; object-fit: contain; background: #EDE5D8; }
}

.mwb-pager { margin-top: 40px; }
.mwb-pager .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.mwb-pager .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; height: 44px; padding: 0 12px;
  border: 1px solid var(--mw-line); border-radius: 2px;
  color: var(--mw-ink); text-decoration: none; font-size: 0.9375rem;
}
.mwb-pager .page-numbers.current { background: var(--mw-ink); border-color: var(--mw-ink); color: #fff; }
.mwb-pager a.page-numbers:hover { border-color: var(--mw-navy); color: var(--mw-navy); }
.mwb-pager .screen-reader-text { position: absolute; left: -9999px; }

.mwb-empty { padding: 48px 0; color: var(--mw-muted); }

/* ─────────────────────────────────────────
   7. 바닥글 — 판권면
───────────────────────────────────────── */
#mwb-footer {
  background: var(--mw-sheet);
  border-top: 1px solid var(--mw-line);
  padding: 56px 0 40px;
}
@media (min-width: 1024px) { #mwb-footer { padding: 80px 0 56px; } }

.mwb-footer__grid { display: grid; gap: 48px; }
@media (min-width: 1024px) {
  .mwb-footer__grid { grid-template-columns: 1fr 30rem; gap: 80px; align-items: start; }
}

.mwb-footer__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
@media (min-width: 640px) { .mwb-footer__nav { grid-template-columns: 1fr 1fr 1.2fr; } }
.mwb-footer__col-title {
  font-size: 0.875rem; font-weight: 700; color: var(--mw-muted); margin: 0 0 12px;
}
.mwb-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mwb-footer__links li { margin: 0; }
.mwb-footer__links a { font-size: 0.9375rem; color: var(--mw-ink); text-decoration: none; }
.mwb-footer__links a:hover { color: var(--mw-navy); text-decoration: underline; text-underline-offset: 4px; }

.mwb-footer__cta { grid-column: 1 / -1; }
@media (min-width: 640px) { .mwb-footer__cta { grid-column: auto; } }
.mwb-footer__cta p { margin: 0 0 14px; font-size: 0.9375rem; line-height: 1.7; color: var(--mw-ink); }
.mwb-footer__cta-btn {
  display: inline-flex; padding: 12px 22px; border-radius: 4px;
  background: var(--mw-navy); color: #fff !important;
  font-size: 0.9375rem; font-weight: 700; text-decoration: none;
}
.mwb-footer__cta-btn:hover { background: var(--mw-navy-d); }

/* 판권면 */
.mwb-colophon { font-size: 0.8125rem; line-height: 1.7; color: var(--mw-ink); }
.mwb-colophon__title {
  font-family: var(--mw-serif); font-size: 1.375rem; font-weight: 700; letter-spacing: -0.02em;
  margin: 0; padding-bottom: 12px;
  border-bottom: 3px double var(--mw-ink);
}
.mwb-colophon__lede {
  font-family: var(--mw-serif); font-size: 0.9375rem; line-height: 1.75;
  margin: 14px 0 18px;
}
.mwb-colophon__facts {
  display: grid; grid-template-columns: 7.5em 1fr; gap: 6px 12px;
  margin: 0; padding: 14px 0; border-top: 1px solid var(--mw-line); border-bottom: 1px solid var(--mw-line);
}
.mwb-colophon__facts dt { color: var(--mw-muted); margin: 0; }
.mwb-colophon__facts dd { margin: 0; }
.mwb-colophon__facts a { color: inherit; text-decoration: none; }
.mwb-colophon__legal { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 14px 0 0; padding: 0; list-style: none; }
.mwb-colophon__legal li { margin: 0; }
.mwb-colophon__legal a { color: var(--mw-ink); font-weight: 500; text-decoration: none; }
.mwb-colophon__legal a:hover { color: var(--mw-navy); text-decoration: underline; text-underline-offset: 4px; }
.mwb-colophon__copy { margin: 8px 0 0; color: var(--mw-muted); }

@media (max-width: 768px) {
  #mwb-footer { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
}

/* ─────────────────────────────────────────
   8. 모바일 하단 고정 견적 버튼 — #mwb-sticky-cta
   ※ 전역 요소: 출판팀 자사 판매 페이지에도 같은 모양으로 나온다.
───────────────────────────────────────── */
.mwb-sticky-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 10000;
  display: none;
  background: var(--mw-sheet);
  border-top: 1px solid var(--mw-line);
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
}
.mwb-sticky-cta__inner { max-width: 560px; margin: 0 auto; width: 100%; }
.mwb-sticky-cta__btn {
  display: flex !important; align-items: center; justify-content: center;
  width: 100%; min-height: 52px; padding: 0 16px;
  background: var(--mw-navy); color: #fff !important;
  font-size: 1rem; font-weight: 700; text-decoration: none;
  border-radius: 4px; border: 0;
}
@media (max-width: 768px) {
  .mwb-sticky-cta { display: block; }
  body { padding-bottom: 76px; }
}

/* ─────────────────────────────────────────
   9. 기존 페이지 호환 (지금 자식 테마 규칙 그대로)
───────────────────────────────────────── */
#morningwalk-app, #morningwalk-app p, #morningwalk-app h1,
#morningwalk-app h2, #morningwalk-app h3, #morningwalk-app h4,
#morningwalk-app h5, #morningwalk-app h6, #morningwalk-app span,
#morningwalk-app a, #morningwalk-app li, #morningwalk-app div { color: inherit; }
#morningwalk-app .text-white    { color: #ffffff !important; }
#morningwalk-app .text-gray-900 { color: #111827 !important; }
#morningwalk-app .text-gray-800 { color: #1f2937 !important; }
#morningwalk-app .text-gray-700 { color: #374151 !important; }
#morningwalk-app .text-gray-600 { color: #4b5563 !important; }
#morningwalk-app .text-gray-500 { color: #6b7280 !important; }
#morningwalk-app .text-gray-400 { color: #9ca3af !important; }
#morningwalk-app .text-gray-300 { color: #d1d5db !important; }
#morningwalk-app .text-blue-300 { color: #93c5fd !important; }
#morningwalk-app .text-blue-100 { color: #dbeafe !important; }
#morningwalk-app .text-blue-200 { color: #bfdbfe !important; }
#morningwalk-app .text-\[\#1e3a8a\] { color: #1e3a8a !important; }
#morningwalk-app .text-\[\#2563eb\] { color: #2563eb !important; }
#morningwalk-app .hover\:text-white:hover { color: #ffffff !important; }

.mw-mobile-cta { display: block !important; }
@media (min-width: 992px) { .mw-mobile-cta { display: none !important; } }

.home_post_grid img, .home_post_grid .tpg-el-image, .home_post_grid .tpg-post-thumbnail,
.home_post_grid .tpg-el-image-wrap, .home_post_grid .tpg-el-image-wrap img,
.home_post_grid [class*="image"] img {
  filter: none !important; -webkit-filter: none !important; opacity: 1 !important; backdrop-filter: none !important;
}
.home_post_grid .overlay, .home_post_grid .overlay::before, .home_post_grid .overlay::after {
  display: none !important; opacity: 0 !important; background: none !important;
}

/* ─────────────────────────────────────────
   10. 움직임 줄이기
───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
