/*
 * Walmong Design System polish 2026-10-10.
 * Presentation-only layer loaded AFTER Home + Editorial for public editorial surfaces.
 * Explicitly excludes checkout, cart, WooCommerce endpoints and embedded readers by
 * reusing Walmong_Home::editorial_surface(). No new external font or image requests.
 * Works with Blocksy 2.1.53 and WordPress system font fallbacks.
 */
body.walmong-editorial {
  --wm-ui: 'Pretendard', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', -apple-system, BlinkMacSystemFont, sans-serif;
  --wm-display: 'Noto Serif KR', 'Nanum Myeongjo', 'AppleMyungjo', 'Batang', Georgia, serif;
  --wm-text-sm: 13px;
  --wm-text-md: 15px;
  --wm-text-lg: 17px;
  --wm-space-1: 8px;
  --wm-space-2: 16px;
  --wm-space-3: 24px;
  --wm-space-4: 32px;
  --wm-space-5: 48px;
  --wm-radius-sm: 6px;
  --wm-radius-md: 10px;
  --wm-shadow-hover: 0 12px 28px rgba(37,43,39,.065);
  --wm-serif: var(--wm-display);
  font-family: var(--wm-ui);
  font-size: 16px;
  line-height: 1.75;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}
/* Uniform sans-serif interface, while literary titles and reading text retain their editorial voice. */
.walmong-editorial :is(#header, #footer, .wmh-home, .wmh-wolha, .wmh-mongji, .wmh-my-page,
  .wmh-challenge-hub, .wmhome-mem-shell, .wvp-shell, .wmx-shell, .wmr-hub,
  .wmc-wrap, .wah-course-catalog) {
  font-family: var(--wm-ui);
}
.walmong-editorial :is(button, input, select, textarea) { font-family: inherit; }
.walmong-editorial :is(.wah-course-catalog, .wmc-wrap, .wvp-shell) :is(h1,h2,h3,h4) {
  word-break: keep-all;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
.walmong-editorial :is(.wmh-hero h1, .wmh-wolha-title-row h1, .wmh-mongji-head h1,
  .wmh-article-header h1, .wmh-story-lead-copy h3, .wmh-pick-copy h3,
  .wmh-archive-row h3, .wmhome-mem-head h1) {
  font-family: var(--wm-display);
  text-wrap: balance;
  overflow-wrap: break-word;
}
/* Article/body copy: Korean phrases wrap at word boundaries; no overstretched line lengths. */
.walmong-editorial .wmh-reading-body {
  max-width: 720px;
  margin-inline: auto;
  overflow-wrap: break-word;
}
.walmong-editorial .wmh-reading-body :is(p,li,blockquote) {
  word-break: keep-all;
  overflow-wrap: break-word;
  hanging-punctuation: first;
}
.walmong-editorial .wmh-reading-body :is(h2,h3) {
  font-family: var(--wm-display);
  line-height: 1.5;
  letter-spacing: -.028em;
  text-wrap: balance;
}
.walmong-editorial .wmh-reading-body p { font-size: 18px; line-height: 2; }
.walmong-editorial .wmh-article-deck { max-width: 64ch; }
/* A single header font rhythm, without disturbing the navigation/approval logic. */
@media (min-width: 1000px) {
  .walmong-editorial #header .menu > li > a,
  .walmong-editorial #header .menu > li.wmh-desktop-account-entry > a,
  .walmong-editorial #header .menu > li.wmh-desktop-membership-entry > a {
    font-family: var(--wm-ui) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    letter-spacing: -.015em !important;
    line-height: 1.4 !important;
  }
  .walmong-editorial #header .menu > li > a:focus-visible,
  .walmong-editorial #header .menu > li > a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 7px;
  }
}
@media (max-width: 999px) {
  .walmong-editorial #offcanvas .mobile-menu > ul > li > a,
  .walmong-editorial #offcanvas .mobile-menu > ul > li > a > span,
  .walmong-editorial #offcanvas .wmh-mobile-account-entry > a,
  .walmong-editorial #offcanvas .wmh-mobile-signup-entry > a {
    font-family: var(--wm-ui) !important;
    letter-spacing: -.02em !important;
    text-transform: none !important;
  }
}
/* Quiet interactive feedback with keyboard-visible focus. */
.walmong-editorial :where(#main-container, #header, #footer) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #3e6955;
  outline-offset: 3px;
}
.walmong-editorial :is(.wmh-my-subnav a, .wvp-subnav a, .wmh-topic-chips a,
  .wmc-tabs a, .wah-course-cta, .wah-course-tab) {
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.walmong-editorial :is(.wmh-my-subnav a, .wvp-subnav a, .wmc-tabs a, .wmh-topic-chips a) {
  font-family: var(--wm-ui);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: -.012em;
}
.walmong-editorial :is(.wmh-my-more a, .wmh-my-subnav a, .wvp-subnav a, .wmc-tabs a) { min-height: 44px; }
/* Refined card density and uniform title rhythm for archive, challenge and MY. */
.walmong-editorial :is(.wmh-wolha-card, .wmh-archive-card, .wmh-mongji-card,
  .wmh-my-core-card, .wmh-my-home-grid > a, .wmc-card, .wvp-author-card) {
  border-radius: var(--wm-radius-md);
}
.walmong-editorial :is(.wmh-wolha-card, .wmh-archive-card, .wmh-mongji-card,
  .wmh-my-core-card, .wmh-my-home-grid > a, .wmc-card, .wvp-author-card) :is(h2, h3) {
  line-height: 1.48;
  letter-spacing: -.024em;
  word-break: keep-all;
  overflow-wrap: break-word;
}
@media (hover: hover) and (pointer: fine) {
  .walmong-editorial :is(.wmh-wolha-card, .wmh-archive-card, .wmh-mongji-card,
    .wmh-my-core-card, .wmh-my-home-grid > a, .wmc-card, .wvp-author-card):hover {
    box-shadow: var(--wm-shadow-hover);
  }
}
/* Feature headings and muted descriptions should be comparable across pages. */
.walmong-editorial :is(.wmh-section-head, .wmh-wolha-section-head, .wmh-my-section-head,
  .wmc-head, .wah-course-section-title) :is(h2,h3) {
  letter-spacing: -.033em;
  line-height: 1.45;
  text-wrap: balance;
}
.walmong-editorial :is(.wmh-mongji-desc, .wmc-card-body > p, .wmh-archive-row-copy > p,
  .wmh-section-intro, .wmh-wolha-signature-grid p) {
  color: var(--wm-muted);
  line-height: 1.75;
  word-break: keep-all;
  overflow-wrap: break-word;
}
/* The standalone lesson inventory belongs visually to the same literary service. */
.walmong-editorial .wah-course-catalog {
  --lc-ink: var(--wm-ink);
  --lc-muted: var(--wm-muted);
  --lc-line: var(--wm-line);
  --lc-paper: var(--wm-paper);
  --lc-violet: var(--wm-accent);
  font-family: var(--wm-ui);
}
.walmong-editorial .wah-course-catalog :is(.wah-course-card, .wah-course-item, .wah-learning-visual) {
  border-radius: var(--wm-radius-md);
}
.walmong-editorial .wah-course-catalog :is(.wah-course-hero h1, .wah-course-section-title h2) {
  font-family: var(--wm-display);
  line-height: 1.4;
  letter-spacing: -.035em;
}
.walmong-editorial .wah-course-catalog :is(.wah-course-eyebrow, .wah-learning-diagram small) {
  font-size: 13px !important;
  letter-spacing: .01em;
}
.walmong-editorial .wah-course-catalog .wah-sample-lesson-body { line-height: 1.8; }
.walmong-editorial .wah-course-catalog .wah-sample-lesson-body > p { max-width: 72ch; }
.walmong-editorial .wah-course-catalog .wah-learning-visual figcaption { font-size: 13px; }
/* Feature forms: touch-friendly fields and form copy, excluding financial widgets. */
.walmong-editorial :is(.wmh-mongji, .wmh-my-page, .wmh-challenge-hub,
  .wvp-shell, .wmx-shell, .wah-course-catalog) :is(input[type="text"], input[type="search"],
  input[type="email"], input[type="number"], select, textarea) {
  font-family: var(--wm-ui);
  font-size: 16px;
  line-height: 1.5;
  max-width: 100%;
  min-height: 44px;
}
.walmong-editorial :is(.wmh-mongji, .wmh-my-page, .wmh-challenge-hub,
  .wvp-shell, .wmx-shell, .wah-course-catalog) :is(input,select,textarea)::placeholder {
  color: #666e68;
  opacity: 1;
}
/* Readable long labels, without altering button state/checkout code. */
.walmong-editorial :is(.wmh-my-page, .wmh-challenge-hub, .wah-course-catalog, .wvp-shell)
  :is(button, .wmh-primary-link, .wah-course-cta) {
  font-family: var(--wm-ui);
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.walmong-editorial .wmh-my-subnav-groups a { text-align: center; }
/* Tablet and small laptop: reduce oversized section gaps and preserve card edges. */
@media (max-width: 1024px) {
  .walmong-editorial :is(.wmh-home, .wmh-wolha, .wmh-mongji, .wmh-challenge-hub,
    .wmh-my-page, .wmhome-mem-shell, .wmx-shell) {
    max-width: calc(100% - 40px);
  }
  .walmong-editorial :is(.wmh-section, .wmh-wolha-desk, .wmh-wolha-archive-section) {
    scroll-margin-top: 88px;
  }
}
/* Mobile editorial rhythm and scrollable, legible 5-destination MY navigation. */
@media (max-width: 760px) {
  body.walmong-editorial { font-size: 15px; line-height: 1.75; }
  .walmong-editorial :is(.wmh-home, .wmh-wolha, .wmh-mongji, .wmh-challenge-hub,
    .wmh-my-page, .wmhome-mem-shell, .wmx-shell) {
    width: calc(100% - 32px);
    max-width: none;
    min-width: 0;
    margin-inline: auto;
  }
  .walmong-editorial :is(.wmh-hero-copy h1, .wmh-wolha-title-row h1, .wmh-mongji-head h1,
    .wmh-challenge-hub-head h1, .wmh-my-hero h1, .wmhome-mem-head h1) {
    font-size: clamp(29px, 8vw, 36px) !important;
    line-height: 1.38 !important;
  }
  .walmong-editorial .wmh-reading-body p { font-size: 17px; line-height: 1.95; }
  .walmong-editorial :is(.wmh-section-head, .wmh-wolha-section-head, .wmh-my-section-head) {
    align-items: flex-start;
    row-gap: 10px;
  }
  .walmong-editorial :is(.wmh-section, .wmh-wolha-desk, .wmh-wolha-archive-section) {
    padding-block: 28px;
  }
  .walmong-editorial .wmh-my-subnav.wmh-my-subnav-groups {
    display: flex;
    flex-wrap: nowrap;
    gap: 7px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 0 0 7px;
    margin-inline: 0;
    -webkit-overflow-scrolling: touch;
  }
  .walmong-editorial .wmh-my-subnav.wmh-my-subnav-groups::-webkit-scrollbar { display: none; }
  .walmong-editorial .wmh-my-subnav-groups > a {
    flex: 0 0 auto;
    min-width: 97px;
    min-height: 48px;
    padding: 10px 12px;
    scroll-snap-align: start;
  }
  .walmong-editorial .wmh-my-subnav-groups > a strong {
    font-size: 14px;
    line-height: 1.45;
  }
  .walmong-editorial .wah-course-catalog { padding-inline: 14px !important; }
  .walmong-editorial .wah-course-catalog .wah-sample-lesson-body { padding: 18px; }
}
@media (max-width: 390px) {
  .walmong-editorial :is(.wmh-home, .wmh-wolha, .wmh-mongji, .wmh-challenge-hub,
    .wmh-my-page, .wmhome-mem-shell, .wmx-shell) {
    width: calc(100% - 28px);
  }
  .walmong-editorial .wmh-my-subnav-groups > a { min-width: 92px; }
  .walmong-editorial .wah-course-catalog .wah-course-hero { padding-inline: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .walmong-editorial :is(.wmh-my-subnav a, .wvp-subnav a, .wmh-topic-chips a,
    .wmc-tabs a, .wah-course-cta) { transition: none; }
}

/* FAST accessibility pass: ensure editorial pages remain usable without hover. */
.walmong-editorial :is(.wmh-reading-body, .wah-sample-lesson-body) a:not([class]) {
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}
.walmong-editorial :is(.wmh-reading-body, .wah-sample-lesson-body) a:not([class]):focus-visible {
  text-decoration-thickness: .14em;
}
/* Inputs and navigation should not lose visible keyboard focus behind later CSS. */
.walmong-editorial :is(.wmh-my-subnav-groups, .wah-course-catalog) :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #285d4a !important;
  outline-offset: 3px;
}
/* Large-text users and 200% zoom: controls and long Korean labels may wrap safely. */
@media (max-width: 600px) {
  .walmong-editorial :is(.wmh-my-page, .wah-course-catalog) :is(button, .wah-course-cta) {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .walmong-editorial .wmh-reading-body :is(p, li) { hyphens: manual; }
}
/* Respect OS high-contrast settings without replacing the site's brand palette. */
@media (prefers-contrast: more) {
  .walmong-editorial :is(.wmh-my-subnav-groups > a, .wah-course-cta, .wmc-card) {
    border-width: 2px;
  }
  .walmong-editorial :is(.wmh-reading-body, .wah-sample-lesson-body) a:not([class]) {
    text-decoration-thickness: 2px;
  }
}
@media (forced-colors: active) {
  .walmong-editorial :is(.wmh-my-subnav-groups > a, .wah-course-cta, .wmc-card) {
    border: 1px solid ButtonText;
  }
  .walmong-editorial :is(a, button, input, select, textarea):focus-visible {
    outline: 2px solid Highlight !important;
  }
}

/* Branded social-login surface. Existing Google/Kakao elements remain owned by auth providers. */
.walmong-editorial .wmh-login-experience {
  --login-ink:#22362f;
  width:min(1040px,calc(100% - 40px));
  margin:clamp(32px,5vw,72px) auto;
  display:grid;
  grid-template-columns:minmax(0,1.07fr) minmax(340px,.93fr);
  background:#fffdf8;
  border:1px solid #e6e4dc;
  border-radius:22px;
  box-shadow:0 24px 64px rgba(25,43,38,.09);
  overflow:hidden;
  color:var(--login-ink);
}
.walmong-editorial .wmh-login-intro {
  position:relative;
  padding:clamp(36px,5vw,64px);
  min-height:480px;
  background:linear-gradient(156deg,#e2e9de 0%,#f0efe4 51%,#d9e6e2 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  isolation:isolate;
}
.walmong-editorial .wmh-login-intro::after {
  content:"";pointer-events:none;position:absolute;width:280px;height:280px;
  right:-82px;bottom:-110px;border:1px solid rgba(61,101,91,.16);
  border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.16),0 0 0 91px rgba(255,255,255,.11);z-index:-1;
}
.walmong-editorial .wmh-login-eyebrow {font:700 11px/1.5 var(--wm-ui);letter-spacing:.17em;color:#466657;margin:0 0 14px;}
.walmong-editorial .wmh-login-glyph {font:normal 68px/1 var(--wm-display);color:#607866;margin:0 0 22px;}
.walmong-editorial .wmh-login-intro h1 {font:600 clamp(29px,3.2vw,39px)/1.42 var(--wm-display);letter-spacing:-.052em;color:#203a32;margin:0 0 18px;}
.walmong-editorial .wmh-login-intro>p {font:400 15px/1.95 var(--wm-ui);letter-spacing:-.016em;color:#4e6259;margin:0;}
.walmong-editorial .wmh-login-features {display:flex;flex-wrap:wrap;gap:7px;margin:24px 0;}
.walmong-editorial .wmh-login-features span {padding:7px 11px;border:1px solid rgba(42,83,66,.25);border-radius:50px;font:600 12px/1.35 var(--wm-ui);background:rgba(255,255,255,.45);color:#345748;}
.walmong-editorial .wmh-login-return {font:650 13px/1.5 var(--wm-ui);color:#2d5947;text-decoration:underline;text-underline-offset:5px;align-self:flex-start;}
.walmong-editorial .wmh-login-form-panel {padding:clamp(34px,5vw,66px) clamp(28px,4vw,54px);display:flex;flex-direction:column;justify-content:center;min-width:0;}
.walmong-editorial .wmh-login-form-heading h2 {font:700 clamp(26px,3vw,32px)/1.35 var(--wm-ui);letter-spacing:-.045em;color:#233e33;margin:0 0 10px;}
.walmong-editorial .wmh-login-form-heading>p:last-child {font:400 14px/1.7 var(--wm-ui);color:#65766e;margin:0 0 26px;}
.walmong-editorial .wmh-login-provider-area {min-width:0;}
.walmong-editorial .wmh-login-provider-area :is(.nsl-container,.nsl-container-block,.nsl-container-inline) {max-width:100%;width:100%;}
.walmong-editorial .wmh-login-provider-area :is(.nsl-button,a[class*="kakao" i],a[href*="loginSocial"],button) {min-height:48px;max-width:100%;border-radius:10px;}
.walmong-editorial .wmh-login-help {font:400 13px/1.7 var(--wm-ui);color:#64746b;margin:24px 0 0;}
.walmong-editorial .wmh-login-help a {color:#285d4a;text-decoration:underline;text-underline-offset:3px;font-weight:650;}
.walmong-editorial .wmh-login-experience :is(a,button):focus-visible {outline:3px solid #285d4a !important;outline-offset:3px;}
@media(max-width:760px) {
  .walmong-editorial .wmh-login-experience {width:calc(100% - 28px);grid-template-columns:minmax(0,1fr);margin:22px auto 46px;border-radius:16px;}
  .walmong-editorial .wmh-login-intro {min-height:0;padding:34px 26px 30px;}
  .walmong-editorial .wmh-login-glyph {font-size:42px;margin-bottom:10px;}
  .walmong-editorial .wmh-login-intro h1 {font-size:29px;margin-bottom:12px;}
  .walmong-editorial .wmh-login-intro>p {font-size:14px;}
  .walmong-editorial .wmh-login-features {margin:16px 0;}
  .walmong-editorial .wmh-login-form-panel {padding:32px 26px 38px;}
}
@media(max-width:390px) {.walmong-editorial .wmh-login-experience {width:calc(100% - 20px)} .walmong-editorial .wmh-login-form-panel {padding-inline:20px;}}
@media(forced-colors:active) {.walmong-editorial .wmh-login-experience {border:1px solid CanvasText;} .walmong-editorial .wmh-login-features span {border-color:CanvasText;}}

/* Signup shares the login's visual vocabulary without changing fields or consent logic. */
.walmong-editorial .wmh-signup-experience .wmh-login-intro {
  background:linear-gradient(152deg,#e8e7df 0%,#e2ebe4 54%,#d7e7e2 100%);
}
.walmong-editorial .wmh-signup-experience .wmh-login-provider-area :is(form,fieldset) {max-width:100%;min-width:0;}
.walmong-editorial .wmh-signup-experience .wmh-login-provider-area :is(input,select,textarea) {
  max-width:100%;font-family:var(--wm-ui);font-size:16px;
}
.walmong-editorial .wmh-signup-experience .wmh-login-provider-area :is(label,legend) {
  color:#294739;font-weight:600;word-break:keep-all;
}
.walmong-editorial .wmh-signup-experience .wmh-login-provider-area :is(button,input[type="submit"]) {
  min-height:44px;border-radius:10px;
}
@media(max-width:760px) {
  .walmong-editorial .wmh-signup-experience .wmh-login-provider-area {
    overflow-wrap:anywhere;min-width:0;
  }
}

/* Login/signup use a route class because page IDs differ across environments.
   Release the theme's 420px content constraint before sizing the two-column card. */
body.walmong-editorial.wmh-auth-page .entry-content {
  box-sizing:border-box;
  width:100%!important;
  max-width:none!important;
  min-width:0;
}
body.walmong-editorial.wmh-auth-page .entry-content > .wmh-login-experience {
  box-sizing:border-box;
  width:min(1040px,calc(100% - 40px))!important;
  max-width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)!important;
  margin-inline:auto!important;
}
body.walmong-editorial .wmh-login-experience > :is(.wmh-login-intro,.wmh-login-form-panel) {
  min-width:0;
  overflow-wrap:normal;
  word-break:keep-all;
}
@media(max-width:760px){
  body.walmong-editorial.wmh-auth-page .entry-content > .wmh-login-experience {
    width:calc(100% - 28px)!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* Social provider legibility: presentation only; native provider icons and links remain intact. */
.walmong-editorial .wmh-login-provider-area :is(.nsl-button, a[href*="loginSocial"], a[class*="kakao" i]) {
  display:flex;align-items:center;justify-content:center;gap:12px;
  min-height:52px;max-width:100%;width:100%;box-sizing:border-box;
  font-family:var(--wm-ui,system-ui,sans-serif);font-size:15px;
  font-weight:600;line-height:1.45;letter-spacing:-.025em;
  text-align:center;white-space:normal;word-break:keep-all;
}
.walmong-editorial .wmh-login-provider-area .nsl-button :is(span,div) {line-height:1.45;}
.walmong-editorial .wmh-login-provider-area :is(.nsl-button, a[href*="loginSocial"], a[class*="kakao" i]) :is(img,svg) {flex-shrink:0;}
.walmong-editorial .wmh-login-provider-area :is(.nsl-container,.nsl-container-block) {margin-inline:auto;}
@media(max-width:420px){.walmong-editorial .wmh-login-provider-area :is(.nsl-button,a[href*="loginSocial"],a[class*="kakao" i]){gap:9px;font-size:14px;padding-inline:12px;}}

/* Keep the native Google icon and label in separate flex items at narrow widths.
   Provider hrefs, data attributes, popup handling and OAuth callbacks stay native. */
.walmong-editorial .wmh-login-provider-area .nsl-container .nsl-button.nsl-button-google {
  gap:10px!important;padding:12px 14px!important;min-height:52px!important;
  height:auto!important;box-sizing:border-box;justify-content:center;
}
.walmong-editorial .wmh-login-provider-area .nsl-container .nsl-button-google .nsl-button-svg-container {
  position:static!important;flex:0 0 24px!important;width:24px!important;
  height:24px!important;padding:0!important;margin:0!important;
}
.walmong-editorial .wmh-login-provider-area .nsl-container .nsl-button-google .nsl-button-label-container {
  display:block!important;flex:0 1 auto!important;min-width:0;height:auto!important;
  padding:0!important;margin:0!important;white-space:normal!important;
  line-height:1.45!important;text-align:center;
}
.walmong-editorial .wmh-login-provider-area .nsl-container-buttons > a[data-provider="google"] {
  padding:0!important;
}
