/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://morningwalkbooks.com
 Description:  아침산책 — GeneratePress Child Theme
 Author:       아침산책
 Author URI:   https://morningwalkbooks.com
 Template:     generatepress
 Version:      1.1.0
 Text Domain:  generatepress-child
*/

/* ─────────────────────────────────────────
   DESIGN TOKENS
───────────────────────────────────────── */
:root {
  --mw-beige:      #F5EFE6;
  --mw-navy:       #1e3a8a;
  --mw-blue:       #2563eb;
  --mw-white:      #ffffff;
  --mw-gray-50:    #f9fafb;
  --mw-gray-100:   #f3f4f6;
  --mw-gray-200:   #e5e7eb;
  --mw-gray-500:   #6b7280;
  --mw-gray-600:   #4b5563;
  --mw-gray-700:   #374151;
  --mw-gray-800:   #1f2937;
  --mw-gray-900:   #111827;
  --mw-container:  1280px;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Noto+Serif+KR:wght@400;600;700&display=swap');

body {
  font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--mw-gray-900);
  background-color: var(--mw-beige);
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

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

/* ─────────────────────────────────────────
   부모 테마 헤더/푸터/네비 숨김
───────────────────────────────────────── */
#site-header, .site-header, header.site-header,
#site-footer, .site-footer, footer.site-footer,
.main-navigation { display: none !important; }

/* ─────────────────────────────────────────
   CONTAINER
───────────────────────────────────────── */
.mw-container {
  max-width: var(--mw-container);
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px)  { .mw-container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .mw-container { padding: 0 2rem; } }

/* ─────────────────────────────────────────
   HEADER
───────────────────────────────────────── */
#mwb-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background-color: rgba(245, 239, 230, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--mw-gray-200);
}

.mwb-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80px;
}

.mwb-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.mwb-logo svg {
  width: 24px; height: 24px;
  color: var(--mw-navy);
  margin-right: 8px;
  flex-shrink: 0;
}
.mwb-logo__name {
  font-family: 'Noto Serif KR', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--mw-gray-900);
  letter-spacing: -0.025em;
}
.mwb-logo__sub {
  font-family: 'Noto Serif KR', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--mw-gray-500);
  letter-spacing: -0.025em;
  margin-left: 8px;
  padding-left: 8px;
  border-left: 1px solid var(--mw-gray-500);
}
@media (max-width: 639px) { .mwb-logo__sub { display: none; } }

.mwb-nav {
  display: none;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 1024px) { .mwb-nav { display: flex; align-items: center; } }
.mwb-nav li { list-style: none; }
.mwb-nav li a {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--mw-gray-700);
  text-decoration: none;
  transition: color 0.15s;
}
.mwb-nav li a:hover { color: var(--mw-navy); }
.mwb-nav .current-menu-item > a,
.mwb-nav .current_page_item > a {
  color: var(--mw-navy);
  font-weight: 700;
}

.mwb-header__cta {
  display: none;
  align-items: center;
  padding: 0.625rem 1.25rem;
  background-color: var(--mw-navy);
  color: #ffffff !important;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 2px;
  transition: background-color 0.15s;
  white-space: nowrap;
}
@media (min-width: 768px) { .mwb-header__cta { display: inline-flex; } }
.mwb-header__cta:hover { background-color: #1e40af; }

.mwb-menu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--mw-gray-600);
}
@media (min-width: 768px) { .mwb-menu-toggle { display: none; } }

.mwb-mobile-menu {
  display: none;
  background-color: var(--mw-white);
  border-top: 1px solid var(--mw-gray-100);
  position: absolute;
  width: 100%;
  left: 0;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
  z-index: 9999;
}
.mwb-mobile-menu.is-open { display: block; }
.mwb-mobile-menu__inner { padding: 0.5rem 1rem 1.5rem; }
.mwb-mobile-menu a {
  display: block;
  padding: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--mw-gray-700);
  text-decoration: none;
  border-bottom: 1px solid var(--mw-gray-100);
}
.mwb-mobile-menu a:hover { background-color: var(--mw-gray-50); }
.mwb-mobile-menu__cta {
  display: block;
  text-align: center;
  margin-top: 1rem;
  padding: 0.75rem;
  background-color: var(--mw-navy);
  color: #ffffff !important;
  font-weight: 700;
  border-radius: 2px;
  text-decoration: none;
  border-bottom: none !important;
}
.mwb-mobile-nav-list { list-style: none; margin: 0; padding: 0; }
.mwb-mobile-nav-list li { margin: 0; }
.mwb-mobile-nav-list li a {
  display: block;
  padding: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--mw-gray-700);
  text-decoration: none;
  border-bottom: 1px solid var(--mw-gray-100);
}
.mwb-mobile-nav-list li a:hover { background-color: var(--mw-gray-50); }

/* ─────────────────────────────────────────
   STICKY MOBILE CTA
───────────────────────────────────────── */
.mwb-sticky-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 10000;
  background: rgba(255,255,255,0.98);
  border-top: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 -10px 30px rgba(0,0,0,0.12);
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  display: none;
}
.mwb-sticky-cta__inner { max-width: 560px; margin: 0 auto; width: 100%; }
.mwb-sticky-cta__btn {
  display: flex !important;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  background: var(--mw-navy);
  color: #ffffff !important;
  font-size: 1rem;
  font-weight: 800;
  border-radius: 10px;
  text-decoration: none;
  border: none;
}
@media (max-width: 768px) {
  .mwb-sticky-cta { display: block; }
  body { padding-bottom: 96px; }
}

/* ─────────────────────────────────────────
   FOOTER
───────────────────────────────────────── */
#mwb-footer {
  background-color: var(--mw-white);
  border-top: 1px solid var(--mw-gray-200);
  padding: 4rem 0 2rem;
}
@media (max-width: 768px) {
  #mwb-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
}

.mwb-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .mwb-footer__grid { grid-template-columns: repeat(4, 1fr); gap: 3rem; margin-bottom: 4rem; }
}

.mwb-footer__brand-name {
  font-family: 'Noto Serif KR', serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--mw-navy);
  margin-bottom: 0.75rem;
}
.mwb-footer__brand-desc {
  font-size: 0.875rem;
  color: var(--mw-gray-500);
  line-height: 1.75;
  margin: 0;
}
.mwb-footer__col-title { font-weight: 700; color: var(--mw-gray-800); margin-bottom: 0.75rem; }
.mwb-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.mwb-footer__links a { font-size: 0.875rem; color: var(--mw-gray-600); text-decoration: none; transition: color 0.15s; }
.mwb-footer__links a:hover { color: var(--mw-navy); }
.mwb-footer__col-cta { display: none; }
@media (min-width: 768px) { .mwb-footer__col-cta { display: block; } }
.mwb-footer__cta-btn {
  display: block; width: 100%;
  background-color: var(--mw-navy);
  color: #ffffff !important;
  text-align: center; padding: 0.75rem;
  border-radius: 2px; font-weight: 700;
  text-decoration: none; transition: background-color 0.15s;
}
.mwb-footer__cta-btn:hover { background-color: #1e40af; }

.mwb-footer__bottom { border-top: 1px solid var(--mw-gray-100); padding-top: 1.5rem; text-align: center; }
@media (min-width: 768px) { .mwb-footer__bottom { text-align: left; } }
.mwb-footer__legal-links { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 0.5rem; }
@media (min-width: 640px) { .mwb-footer__legal-links { flex-direction: row; gap: 1rem; } }
.mwb-footer__legal-links a { font-size: 0.875rem; color: var(--mw-gray-600); text-decoration: none; }
.mwb-footer__legal-links a:hover { color: var(--mw-navy); }
.mwb-footer__legal-text { font-size: 0.75rem; color: var(--mw-gray-500); line-height: 1.8; margin: 0; word-break: keep-all; }
.mwb-footer__copyright { font-size: 0.75rem; color: var(--mw-gray-500); margin: 0.25rem 0 0; }

/* ─────────────────────────────────────────
   GENERATEPRESS 레이아웃 오버라이드
───────────────────────────────────────── */
.widget-area, #sidebar, .sidebar, aside.sidebar { display: none !important; }

.site-content .content-area, .site-main, #primary, .hentry {
  width: 100% !important; max-width: 100% !important;
  float: none !important; padding: 0 !important; margin: 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;
}

.site-content { padding: 0 !important; }
.single .entry-header, .single .entry-footer { display: none !important; }
.generate-columns-container, .grid-container { padding: 0 !important; }
.blog .site-main, .archive .site-main, .search .site-main {
  padding: 2rem 1.5rem !important;
  max-width: var(--mw-container) !important;
  margin: 0 auto !important;
}
.page .site-main { padding: 0 !important; max-width: 100% !important; }
.site-header, .main-navigation, #site-navigation, .nav-primary { display: none !important; }
.site-footer, #colophon { display: none !important; }

/* right-sidebar 강제 해제 */
.right-sidebar #primary, .left-sidebar #primary,
.right-sidebar .content-area, .left-sidebar .content-area {
  width: 100% !important; float: none !important; margin: 0 !important;
}
.right-sidebar #secondary, .left-sidebar #secondary,
.right-sidebar .widget-area, .left-sidebar .widget-area { display: none !important; }

#content, #content.site-content, .site-content, div#content {
  display: block !important; flex: none !important; width: 100% !important;
}
#primary, #primary.content-area, .content-area {
  width: 100% !important; max-width: 100% !important;
  float: none !important; flex: none !important; margin: 0 !important; padding: 0 !important;
}

/* ─────────────────────────────────────────
   TAILWIND 색상 강제 복원
───────────────────────────────────────── */
#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; }

/* ─────────────────────────────────────────
   모바일 하단 고정 CTA 강제 표시
───────────────────────────────────────── */
.mw-mobile-cta {
  display: block !important;
}
@media (min-width: 992px) {
  .mw-mobile-cta {
    display: none !important;
  }
}

/* ─────────────────────────────────────────
   Post Grid 이미지 흐림 효과 제거
───────────────────────────────────────── */
.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;
}

/* ─────────────────────────────────────────
   Post Grid overlay 제거 (home_post_grid)
───────────────────────────────────────── */
.home_post_grid .overlay,
.home_post_grid .overlay::before,
.home_post_grid .overlay::after {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}
