/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: 승마 전문 매거진 — 말과 함께하는 라이더의 삶
Author: Rider's Notes
Author URI:
Template: generatepress
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: master-child
*/

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

/* ==========================================================================
   WY Diary — Equestrian Magazine Polish
   CSS-only visual refinement layer. Parent theme, PHP, DB, posts, plugins untouched.
   ========================================================================== */

:root {
  --wy-bg: #fcfbfa;
  --wy-surface: #ffffff;
  --wy-soft: #f4efe8;
  --wy-soft-strong: #ede4d8;
  --wy-primary: #1b4332;
  --wy-primary-dark: #10281e;
  --wy-accent: #a06a42;
  --wy-accent-dark: #754a2e;
  --wy-text: #1f2933;
  --wy-muted: #6b7280;
  --wy-border: #e7dfd5;
  --wy-shadow: 0 16px 42px rgb(27 67 50 / 0.09);
  --wy-shadow-soft: 0 8px 24px rgb(27 67 50 / 0.06);

  --color-bg: var(--wy-bg);
  --color-bg-subtle: var(--wy-soft);
  --color-bg-muted: var(--wy-soft-strong);
  --color-surface: var(--wy-surface);
  --color-border: var(--wy-border);
  --color-border-strong: #d8cbbb;
  --color-text: var(--wy-text);
  --color-text-muted: var(--wy-muted);
  --color-link: var(--wy-primary);
  --color-link-hover: var(--wy-accent-dark);
  --color-link-visited: #6f4a8e;
}

html {
  background: var(--wy-bg);
}

body {
  background:
    linear-gradient(180deg, rgb(244 239 232 / 0.72) 0, rgb(252 251 250 / 0) 420px),
    var(--wy-bg);
  color: var(--wy-text);
  font-family: var(--font-sans);
  line-height: 1.72;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-title,
.main-title,
.widget-title {
  color: var(--wy-primary-dark);
  font-family: var(--font-serif);
  line-height: 1.28;
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}

a {
  color: var(--wy-primary);
  text-underline-offset: 0.18em;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

a:hover {
  color: var(--wy-accent-dark);
}

a:visited {
  color: #6f4a8e;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgb(160 106 66 / 0.48);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgb(244 239 232 / 0.95);
}

.screen-reader-text:focus,
.skip-link:focus {
  background: var(--wy-primary-dark);
  color: #fff;
  border-radius: 0;
  box-shadow: var(--wy-shadow-soft);
  font-weight: 700;
  outline: 3px solid var(--wy-accent);
  outline-offset: 2px;
}

/* Header / site title / navigation */
.site-header {
  background: rgb(252 251 250 / 0.96);
  border-bottom: 1px solid var(--wy-border);
  box-shadow: 0 6px 22px rgb(27 67 50 / 0.05);
  backdrop-filter: blur(10px);
}

.site-header.scrolled {
  box-shadow: 0 10px 28px rgb(27 67 50 / 0.11);
}

.inside-header {
  padding: 18px 24px;
}

.site-branding,
.site-logo {
  min-width: 0;
}

.site-title,
.main-title {
  align-items: center;
  display: flex;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: 0;
}

.site-title a,
.site-title a:visited,
.main-title a,
.main-title a:visited {
  color: var(--wy-primary-dark);
  text-decoration: none;
}

.site-title a:hover,
.main-title a:hover {
  color: var(--wy-primary);
}

.site-description {
  color: var(--wy-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  margin-top: 0.25rem;
}

.horse-logo-icon {
  color: var(--wy-accent);
}

.site-header .site-branding .horse-logo-icon,
.site-header .main-title .horse-logo-icon {
  display: none;
}

.main-navigation {
  background: transparent;
}

.main-navigation .inside-navigation {
  min-height: 0;
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .mobile-menu-control-wrapper .menu-toggle {
  color: var(--wy-primary-dark);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
}

.main-navigation .main-nav ul li a {
  border-radius: 999px;
  margin: 0 2px;
  padding: 10px 14px;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus-within > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li[class*="current_page_"] > a {
  background: var(--wy-soft);
  color: var(--wy-primary);
}

.main-navigation .main-nav ul ul {
  background: var(--wy-surface);
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  box-shadow: var(--wy-shadow-soft);
  padding: 8px;
}

.main-navigation .main-nav ul ul li a {
  border-radius: 6px;
  margin: 0;
}

.menu-toggle,
.mc-search-toggle {
  border-radius: 999px;
}

.menu-toggle:hover,
.menu-toggle:focus-visible,
.mc-search-toggle:hover,
.mc-search-toggle:focus-visible {
  background: var(--wy-soft);
  color: var(--wy-primary);
}

.mc-search-overlay {
  background: rgb(252 251 250 / 0.98);
  border-bottom: 1px solid var(--wy-border);
  box-shadow: var(--wy-shadow-soft);
}

/* Layout shell */
.site-content {
  padding-top: clamp(28px, 5vw, 56px);
  padding-bottom: clamp(48px, 7vw, 88px);
}

.inside-article,
.comments-area,
.page-header {
  border-color: var(--wy-border);
}

/* Archive / blog cards */
.mc-archive-header,
.mc-search-header {
  background: linear-gradient(135deg, var(--wy-soft), #fff);
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  box-shadow: var(--wy-shadow-soft);
  margin-bottom: 28px;
  padding: clamp(24px, 4vw, 42px);
}

.mc-archive-label {
  color: var(--wy-accent-dark);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
}

.mc-archive-title {
  color: var(--wy-primary-dark);
  margin-top: 0.35rem;
}

.mc-archive-desc,
.mc-archive-count {
  color: var(--wy-muted);
}

.blog .entry,
.archive .entry,
.search-results .entry,
.blog article.post,
.archive article.post,
.search-results article.post,
.home.blog article.post {
  background: var(--wy-surface);
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  box-shadow: var(--wy-shadow-soft);
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.blog .entry:hover,
.archive .entry:hover,
.search-results .entry:hover,
.blog article.post:hover,
.archive article.post:hover,
.search-results article.post:hover,
.home.blog article.post:hover {
  border-color: #d7c8b8;
  box-shadow: var(--wy-shadow);
  transform: translateY(-3px);
}

.blog .inside-article,
.archive .inside-article,
.search-results .inside-article,
.home.blog .inside-article {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.blog .post-image,
.archive .post-image,
.search-results .post-image {
  background: linear-gradient(135deg, var(--wy-soft), #faf7f2);
}

.blog .post-image img,
.archive .post-image img,
.search-results .post-image img {
  filter: saturate(0.92) contrast(1.02);
}

.blog .entry-title,
.archive .entry-title,
.search-results .entry-title {
  font-size: clamp(1.25rem, 2.2vw, 1.72rem);
  margin-bottom: 0.6rem;
}

.blog .entry-title a,
.archive .entry-title a,
.search-results .entry-title a {
  color: var(--wy-primary-dark);
  text-decoration: none;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover,
.search-results .entry-title a:hover {
  color: var(--wy-accent-dark);
}

.entry-meta,
.blog .entry-meta,
.archive .entry-meta,
.search-results .entry-meta,
.mc-card-extra-meta,
.mc-related__date {
  color: var(--wy-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.entry-meta a,
.entry-meta a:visited {
  color: var(--wy-accent-dark);
}

.entry-summary,
.entry-summary p {
  color: #47515d;
  line-height: 1.78;
}

.mc-category-badge,
.mc-related__badge,
.single-post .entry-footer .tags-links a,
.tagcloud a,
.mc-cat-tag {
  background: rgb(160 106 66 / 0.11);
  border: 1px solid rgb(160 106 66 / 0.24);
  border-radius: 999px;
  color: var(--wy-accent-dark);
  font-weight: 700;
}

.mc-category-badge:hover,
.mc-related__badge:hover,
.single-post .entry-footer .tags-links a:hover,
.tagcloud a:hover,
.mc-cat-tag:hover {
  background: var(--wy-accent);
  border-color: var(--wy-accent);
  color: #fff;
}

.more-link,
.button,
button,
input[type="submit"] {
  border-radius: 999px;
}

.blog .more-link,
.archive .more-link,
.search-results .more-link {
  color: var(--wy-primary);
  font-weight: 700;
}

/* Single post readability */
.single-post .inside-article {
  background: var(--wy-surface);
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  box-shadow: var(--wy-shadow-soft);
  padding: clamp(26px, 5vw, 58px);
}

.single-post .entry-header {
  border-bottom: 1px solid var(--wy-border);
  margin-bottom: clamp(24px, 4vw, 40px);
  padding-bottom: clamp(18px, 3vw, 30px);
}

.single-post .entry-title {
  color: var(--wy-primary-dark);
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1.22;
  margin-bottom: 0.75rem;
}

.single-post .entry-content {
  color: var(--wy-text);
  font-size: clamp(1rem, 1.35vw, 1.08rem);
  line-height: 1.86;
  max-width: 760px;
}

.single-post .entry-content > * + * {
  margin-top: 1.2em;
}

.single-post .entry-content h2 {
  border-top: 1px solid var(--wy-border);
  color: var(--wy-primary-dark);
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  margin-top: 2.25em;
  padding-top: 1.1em;
}

.single-post .entry-content h3 {
  color: var(--wy-primary);
  font-size: clamp(1.25rem, 2.3vw, 1.62rem);
  margin-top: 1.85em;
}

.single-post .entry-content p,
.single-post .entry-content li {
  line-height: 1.86;
}

.single-post .entry-content a {
  color: var(--wy-primary);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgb(160 106 66 / 0.38);
}

.single-post .entry-content a:hover {
  color: var(--wy-accent-dark);
  text-decoration-color: currentColor;
}

.single-post .entry-content blockquote {
  background: var(--wy-soft);
  border-left: 4px solid var(--wy-accent);
  border-radius: 0 8px 8px 0;
  color: var(--wy-primary-dark);
  font-family: var(--font-serif);
  line-height: 1.75;
  margin: 2rem 0;
  padding: 1.2rem 1.4rem;
}

.single-post .entry-content ul,
.single-post .entry-content ol {
  padding-left: 1.35em;
}

.single-post .entry-content li + li {
  margin-top: 0.45em;
}

.single-post .entry-content img,
.single-post .entry-content figure,
.single-post .post-image img,
.single-post .featured-image img {
  border-radius: 8px;
}

.single-post .entry-content figcaption {
  color: var(--wy-muted);
  font-size: 0.9rem;
  line-height: 1.55;
  margin-top: 0.65rem;
  text-align: center;
}

.single-post .entry-content pre,
.single-post .entry-content code {
  word-break: normal;
  overflow-wrap: normal;
}

.mc-toc,
.mc-related,
.mc-cta,
.mc-author-box {
  border-color: var(--wy-border);
  border-radius: 8px;
  box-shadow: var(--wy-shadow-soft);
}

.mc-toc {
  background: #fffdfb;
}

.mc-toc__toggle,
.mc-toc__item > a {
  color: var(--wy-primary-dark);
}

.mc-related__title,
.mc-cta__title,
.mc-author-box__name {
  color: var(--wy-primary-dark);
}

/* Sidebar widgets */
.widget-area .widget,
.sidebar .widget,
.inside-right-sidebar .widget,
.inside-left-sidebar .widget {
  background: var(--wy-surface);
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  box-shadow: var(--wy-shadow-soft);
  color: var(--wy-text);
  padding: 24px;
}

.widget-title {
  border-bottom: 1px solid var(--wy-border);
  color: var(--wy-primary-dark);
  font-size: 1.05rem;
  margin-bottom: 1rem;
  padding-bottom: 0.72rem;
}

.widget a,
.widget a:visited {
  color: var(--wy-primary);
  text-decoration: none;
}

.widget a:hover {
  color: var(--wy-accent-dark);
}

.widget ul li {
  border-bottom: 1px solid rgb(231 223 213 / 0.78);
  line-height: 1.6;
  padding: 0.58rem 0;
}

.widget ul li:last-child {
  border-bottom: 0;
}

.widget .search-field,
.mc-search-overlay .search-field,
.error-404 .search-field,
.comment-form input,
.comment-form textarea {
  background: #fffdfb;
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  color: var(--wy-text);
}

.widget .search-field:focus,
.mc-search-overlay .search-field:focus,
.error-404 .search-field:focus,
.comment-form input:focus,
.comment-form textarea:focus {
  border-color: var(--wy-accent);
}

/* Footer */
#footer-widgets,
.site-footer {
  background: var(--wy-primary-dark);
  color: rgb(255 255 255 / 0.78);
}

#footer-widgets {
  border-top: 1px solid rgb(160 106 66 / 0.36);
}

#footer-widgets .widget {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

#footer-widgets .widget-title {
  border-bottom-color: rgb(160 106 66 / 0.55);
  color: #fffaf4;
}

#footer-widgets a,
#footer-widgets a:visited,
.site-footer a,
.site-footer a:visited {
  color: rgb(255 250 244 / 0.88);
}

#footer-widgets a:hover,
.site-footer a:hover {
  color: #f1c896;
}

#footer-widgets .widget ul li {
  border-bottom-color: rgb(255 255 255 / 0.11);
}

.mc-footer-divider {
  background: linear-gradient(90deg, transparent, rgb(160 106 66 / 0.65), transparent);
}

.inside-site-info {
  border-top: 1px solid rgb(255 255 255 / 0.1);
  color: rgb(255 255 255 / 0.68);
  padding-top: 22px;
  padding-bottom: 22px;
}

/* Pagination / comments / utility surfaces */
.pagination .page-numbers,
.pagination a.page-numbers,
.post-navigation .nav-previous,
.post-navigation .nav-next,
.comments-area,
.comment-body,
.error-404 .inside-article,
.mc-404-extras {
  border-color: var(--wy-border);
  border-radius: 8px;
}

.pagination .current,
.pagination .page-numbers:hover,
.pagination a.page-numbers:hover,
.comment-form .submit,
.search-submit,
.button,
.btn,
.btn:visited,
button:not(.menu-toggle):not(.mc-search-toggle):not(.mc-search-close):not(.mc-toc__toggle):not(.mc-scroll-top) {
  background: var(--wy-primary);
  border-color: var(--wy-primary);
  color: #fff;
}

.comment-form .submit:hover,
.search-submit:hover,
.button:hover,
.btn:hover {
  background: var(--wy-accent-dark);
  border-color: var(--wy-accent-dark);
  color: #fff;
}

@media (max-width: 768px) {
  .inside-header {
    padding: 14px 18px;
  }

  .site-title,
  .main-title {
    font-size: 1.42rem;
  }

  .main-navigation.toggled .main-nav > ul,
  .main-navigation .main-nav ul {
    background: var(--wy-surface);
    border-top: 1px solid var(--wy-border);
    padding: 8px 0;
  }

  .main-navigation .main-nav ul li a {
    border-radius: 6px;
    margin: 2px 10px;
    padding: 12px 14px;
  }

  .single-post .inside-article,
  .widget-area .widget,
  .sidebar .widget,
  .inside-right-sidebar .widget,
  .inside-left-sidebar .widget {
    padding: 20px;
  }

  .blog .entry,
  .archive .entry,
  .search-results .entry,
  .blog article.post,
  .archive article.post,
  .search-results article.post,
  .home.blog article.post,
  .single-post .inside-article,
  .mc-archive-header,
  .mc-search-header {
    border-radius: 8px;
  }
}

/* ==========================================================================
   WY Diary — Magazine content polish
   DOM verified: hero .mc-hero, thumbnail wrapper .post-image, card .inside-article.
   ========================================================================== */

:root {
  --wy-bg: #fbfaf7;
  --wy-surface: #ffffff;
  --wy-primary: #1c352d;
  --wy-primary-dark: #1c352d;
  --wy-accent: #a3704c;
  --wy-accent-dark: #a3704c;
  --wy-border: #eae7e2;
  --wy-shadow: 0 20px 46px rgb(28 53 45 / 0.14);
  --wy-shadow-soft: 0 10px 30px rgb(28 53 45 / 0.08);

  --color-bg: #fbfaf7;
  --color-bg-subtle: #fbfaf7;
  --color-surface: #ffffff;
  --color-border: #eae7e2;
  --color-text: #1f2933;
  --color-link: #1c352d;
  --color-link-hover: #a3704c;
}

html,
body {
  background: #fbfaf7;
}

body {
  color: #1f2933;
  font-family: -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

.mc-hero {
  position: relative;
}

.mc-hero::after {
  background: linear-gradient(180deg, rgb(251 250 247 / 0), #fbfaf7);
  bottom: 0;
  content: "";
  height: 100px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 2;
}

.mc-hero__inner {
  position: relative;
  z-index: 3;
}

.blog .site-main article.post,
.archive .site-main article.post,
.search-results .site-main article.post,
.home.blog .site-main article.post {
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.blog .site-main article.post > .inside-article,
.archive .site-main article.post > .inside-article,
.search-results .site-main article.post > .inside-article,
.home.blog .site-main article.post > .inside-article {
  background: #ffffff;
  border: 1px solid #eae7e2;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgb(28 53 45 / 0.08);
  overflow: hidden;
  padding: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.blog .site-main article.post:hover > .inside-article,
.archive .site-main article.post:hover > .inside-article,
.search-results .site-main article.post:hover > .inside-article,
.home.blog .site-main article.post:hover > .inside-article {
  border-color: rgb(28 53 45 / 0.22);
  box-shadow: 0 24px 56px rgb(28 53 45 / 0.18);
  transform: translateY(-4px);
}

.blog .site-main article.post .entry-header,
.archive .site-main article.post .entry-header,
.search-results .site-main article.post .entry-header,
.home.blog .site-main article.post .entry-header {
  margin-top: 25px;
  padding: 0 28px;
}

.blog .site-main article.post .entry-summary,
.archive .site-main article.post .entry-summary,
.search-results .site-main article.post .entry-summary,
.home.blog .site-main article.post .entry-summary,
.blog .site-main article.post .entry-content,
.archive .site-main article.post .entry-content,
.search-results .site-main article.post .entry-content,
.home.blog .site-main article.post .entry-content {
  padding: 0 28px;
}

.blog .site-main article.post footer.entry-meta,
.archive .site-main article.post footer.entry-meta,
.search-results .site-main article.post footer.entry-meta,
.home.blog .site-main article.post footer.entry-meta {
  padding: 0 28px 25px;
}

.blog .site-main article.post .post-image,
.archive .site-main article.post .post-image,
.search-results .site-main article.post .post-image,
.home.blog .site-main article.post .post-image {
  aspect-ratio: 16 / 9;
  background: #fbfaf7;
  margin: 0;
  order: -1;
  overflow: hidden;
  width: 100%;
}

.blog .site-main article.post .post-image a,
.archive .site-main article.post .post-image a,
.search-results .site-main article.post .post-image a,
.home.blog .site-main article.post .post-image a {
  display: block;
  height: 100%;
  width: 100%;
}

.blog .site-main article.post .post-image img,
.archive .site-main article.post .post-image img,
.search-results .site-main article.post .post-image img,
.home.blog .site-main article.post .post-image img,
.blog .site-main article.post img.wp-post-image,
.archive .site-main article.post img.wp-post-image,
.search-results .site-main article.post img.wp-post-image,
.home.blog .site-main article.post img.wp-post-image {
  aspect-ratio: 16 / 9;
  border-radius: 0;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.blog .site-main article.post .entry-title,
.archive .site-main article.post .entry-title,
.search-results .site-main article.post .entry-title,
.home.blog .site-main article.post .entry-title {
  color: #1c352d;
  font-family: 'Playfair Display', 'Noto Serif KR', serif;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.28;
}

.blog .site-main article.post .entry-title a,
.archive .site-main article.post .entry-title a,
.search-results .site-main article.post .entry-title a,
.home.blog .site-main article.post .entry-title a {
  color: #1c352d;
  transition: color 0.2s ease;
}

.blog .site-main article.post .entry-title a:hover,
.archive .site-main article.post .entry-title a:hover,
.search-results .site-main article.post .entry-title a:hover,
.home.blog .site-main article.post .entry-title a:hover {
  color: #a3704c;
}

.blog .site-main article.post .mc-category-badge,
.archive .site-main article.post .mc-category-badge,
.search-results .site-main article.post .mc-category-badge,
.home.blog .site-main article.post .mc-category-badge {
  background: rgba(28, 53, 45, 0.08);
  border: 0;
  border-radius: 30px;
  color: #1c352d;
  display: inline-flex;
  padding: 4px 12px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.blog .site-main article.post .mc-category-badge:hover,
.archive .site-main article.post .mc-category-badge:hover,
.search-results .site-main article.post .mc-category-badge:hover,
.home.blog .site-main article.post .mc-category-badge:hover {
  background: #1c352d;
  color: #ffffff;
}

.blog .site-main article.post .more-link,
.archive .site-main article.post .more-link,
.search-results .site-main article.post .more-link,
.home.blog .site-main article.post .more-link {
  background: #1c352d;
  border-radius: 4px;
  color: #ffffff;
  display: inline-flex;
  padding: 10px 16px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.blog .site-main article.post .more-link:hover,
.archive .site-main article.post .more-link:hover,
.search-results .site-main article.post .more-link:hover,
.home.blog .site-main article.post .more-link:hover {
  background: #a3704c;
  color: #ffffff;
}

.blog .widget-area .widget,
.archive .widget-area .widget,
.search-results .widget-area .widget,
.single .widget-area .widget,
.home.blog .widget-area .widget {
  background: #ffffff;
  border: 1px solid #eae7e2;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgb(28 53 45 / 0.08);
}

.blog .widget-area .widget-title,
.archive .widget-area .widget-title,
.search-results .widget-area .widget-title,
.single .widget-area .widget-title,
.home.blog .widget-area .widget-title,
.blog .widget-area .wp-block-heading,
.archive .widget-area .wp-block-heading,
.search-results .widget-area .wp-block-heading,
.single .widget-area .wp-block-heading,
.home.blog .widget-area .wp-block-heading {
  border-bottom: 1px solid #a3704c;
  color: #1c352d;
  font-family: 'Playfair Display', 'Noto Serif KR', serif;
  font-size: clamp(18px, 1.8vw, 22px);
  padding-bottom: 10px;
}

.blog .widget-area .wp-block-search .wp-block-search__input,
.archive .widget-area .wp-block-search .wp-block-search__input,
.search-results .widget-area .wp-block-search .wp-block-search__input,
.single .widget-area .wp-block-search .wp-block-search__input,
.home.blog .widget-area .wp-block-search .wp-block-search__input {
  background: #faf9f6 !important;
  border: 1px solid #eae7e2 !important;
  border-radius: 8px 0 0 8px !important;
}

.blog .widget-area .wp-block-search .wp-block-search__button,
.archive .widget-area .wp-block-search .wp-block-search__button,
.search-results .widget-area .wp-block-search .wp-block-search__button,
.single .widget-area .wp-block-search .wp-block-search__button,
.home.blog .widget-area .wp-block-search .wp-block-search__button {
  background: #1c352d !important;
  border-radius: 0 8px 8px 0 !important;
  color: #ffffff !important;
}

.blog .widget-area .wp-block-search .wp-block-search__button:hover,
.archive .widget-area .wp-block-search .wp-block-search__button:hover,
.search-results .widget-area .wp-block-search .wp-block-search__button:hover,
.single .widget-area .wp-block-search .wp-block-search__button:hover,
.home.blog .widget-area .wp-block-search .wp-block-search__button:hover {
  background: #a3704c !important;
}

@media (max-width: 768px) {
  .blog .site-main article.post .entry-header,
  .archive .site-main article.post .entry-header,
  .search-results .site-main article.post .entry-header,
  .home.blog .site-main article.post .entry-header,
  .blog .site-main article.post .entry-summary,
  .archive .site-main article.post .entry-summary,
  .search-results .site-main article.post .entry-summary,
  .home.blog .site-main article.post .entry-summary,
  .blog .site-main article.post .entry-content,
  .archive .site-main article.post .entry-content,
  .search-results .site-main article.post .entry-content,
  .home.blog .site-main article.post .entry-content {
    padding-left: 20px;
    padding-right: 20px;
  }

  .blog .site-main article.post footer.entry-meta,
  .archive .site-main article.post footer.entry-meta,
  .search-results .site-main article.post footer.entry-meta,
  .home.blog .site-main article.post footer.entry-meta {
    padding: 0 20px 22px;
  }
}

@media (max-width: 480px) {
  .single-post .entry-content {
    font-size: 1rem;
    line-height: 1.82;
  }

  .mc-archive-header,
  .mc-search-header {
    padding: 22px 18px;
  }
}

/* ==========================================================================
   WY Diary — Phase 2: hero image, guidebook, curation, expanded footer widgets
   ========================================================================== */

.mc-hero {
  min-height: clamp(520px, 72vh, 760px);
  overflow: hidden;
  padding: clamp(72px, 11vw, 132px) 0 clamp(64px, 10vw, 116px);
}

.mc-hero__bg {
  background:
    linear-gradient(90deg, rgb(16 40 30 / 0.84) 0%, rgb(16 40 30 / 0.68) 34%, rgb(16 40 30 / 0.22) 64%, rgb(16 40 30 / 0.08) 100%),
    linear-gradient(180deg, rgb(16 40 30 / 0.12), rgb(16 40 30 / 0.42)),
    url("assets/images/wy-diary-hero.png") center right / cover no-repeat;
}

.mc-hero__bg::after {
  background:
    radial-gradient(circle at 18% 24%, rgb(241 200 150 / 0.22), transparent 34%),
    linear-gradient(180deg, transparent 72%, rgb(16 40 30 / 0.34));
}

.mc-hero__content {
  max-width: 680px;
  padding: clamp(18px, 3vw, 34px) 0;
}

.mc-hero__eyebrow {
  background: rgb(252 251 250 / 0.13);
  border: 1px solid rgb(241 200 150 / 0.34);
  color: #f8e2c7;
  letter-spacing: 0;
}

.mc-hero__title {
  color: #fffaf4;
  font-size: clamp(2.65rem, 7vw, 5.8rem);
  line-height: 1.08;
  max-width: 11ch;
  text-shadow: 0 3px 20px rgb(0 0 0 / 0.22);
}

.mc-hero__desc {
  color: rgb(255 250 244 / 0.86);
  font-size: clamp(1.04rem, 1.6vw, 1.28rem);
  line-height: 1.78;
  max-width: 34rem;
}

.mc-hero .btn {
  box-shadow: 0 12px 30px rgb(0 0 0 / 0.18);
}

.mc-hero__cta-ghost,
.mc-hero__cta-ghost:visited {
  background: rgb(255 255 255 / 0.08);
  border-color: rgb(255 250 244 / 0.5);
  color: #fffaf4;
}

.mc-hero__cta-ghost:hover {
  background: rgb(255 250 244 / 0.18);
  border-color: #fffaf4;
  color: #fffaf4;
}

.wy-section-head {
  margin: 0 auto clamp(22px, 4vw, 34px);
  max-width: 760px;
  text-align: center;
}

.wy-section-eyebrow {
  color: var(--wy-accent-dark);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  margin-bottom: 0.55rem;
  text-transform: uppercase;
}

.wy-section-title {
  color: var(--wy-primary-dark);
  font-size: clamp(1.85rem, 4vw, 3rem);
  margin-bottom: 0.75rem;
}

.wy-section-desc {
  color: var(--wy-muted);
  font-size: 1rem;
  line-height: 1.75;
  margin-left: auto;
  margin-right: auto;
  max-width: 620px;
}

.wy-curation {
  background: linear-gradient(135deg, #fffdfb, var(--wy-soft));
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  box-shadow: var(--wy-shadow-soft);
  margin: clamp(34px, 6vw, 66px) auto;
  padding: clamp(26px, 5vw, 52px);
}

.wy-curation--home {
  max-width: var(--container-xl);
}

.wy-curation-grid {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

@media (min-width: 760px) {
  .wy-curation-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.wy-curation-card {
  background: var(--wy-surface);
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  box-shadow: 0 10px 26px rgb(27 67 50 / 0.07);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.wy-curation-card:hover {
  border-color: #d7c8b8;
  box-shadow: var(--wy-shadow);
  transform: translateY(-3px);
}

.wy-curation-card__media {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, var(--wy-soft), #fffaf4);
  display: block;
  overflow: hidden;
}

.wy-curation-card__img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 240ms ease, filter 240ms ease;
  width: 100%;
}

.wy-curation-card:hover .wy-curation-card__img {
  filter: saturate(0.94) contrast(1.03);
  transform: scale(1.035);
}

.wy-curation-card__placeholder {
  background:
    linear-gradient(135deg, rgb(27 67 50 / 0.12), rgb(160 106 66 / 0.18)),
    var(--wy-soft);
  display: block;
  height: 100%;
  position: relative;
}

.wy-curation-card__placeholder::after {
  color: rgb(117 74 46 / 0.5);
  content: "WY";
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 800;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.wy-curation-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.wy-curation-card__cat {
  align-self: flex-start;
  background: rgb(160 106 66 / 0.11);
  border: 1px solid rgb(160 106 66 / 0.24);
  border-radius: 999px;
  color: var(--wy-accent-dark);
  font-size: 0.76rem;
  font-weight: 800;
  margin-bottom: 0.85rem;
  padding: 0.24rem 0.62rem;
  text-decoration: none;
}

.wy-curation-card__title {
  font-size: clamp(1.12rem, 2vw, 1.34rem);
  margin: 0 0 0.55rem;
}

.wy-curation-card__title a,
.wy-curation-card__title a:visited {
  color: var(--wy-primary-dark);
  text-decoration: none;
}

.wy-curation-card__title a:hover {
  color: var(--wy-accent-dark);
}

.wy-curation-card__meta {
  color: var(--wy-muted);
  font-size: 0.84rem;
  margin: 0 0 0.7rem;
}

.wy-curation-card__excerpt {
  color: #47515d;
  font-size: 0.94rem;
  line-height: 1.72;
  margin: 0;
}

.wy-section-action {
  margin-top: clamp(22px, 4vw, 34px);
  text-align: center;
}

.wy-section-more {
  display: inline-flex;
  text-decoration: none;
}

.wy-guidebook {
  margin: 0 auto;
  max-width: var(--container-xl);
  padding: clamp(28px, 5vw, 58px) var(--container-padding) clamp(56px, 8vw, 96px);
}

.wy-guide-hero {
  background:
    linear-gradient(135deg, rgb(16 40 30 / 0.93), rgb(27 67 50 / 0.72)),
    url("assets/images/wy-diary-hero.png") center right / cover no-repeat;
  border-radius: 8px;
  box-shadow: var(--wy-shadow);
  color: #fffaf4;
  margin-bottom: clamp(28px, 5vw, 56px);
  overflow: hidden;
  padding: clamp(42px, 8vw, 86px);
  position: relative;
}

.wy-guide-hero::after {
  background: linear-gradient(90deg, rgb(16 40 30 / 0.16), transparent);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.wy-guide-hero__inner {
  max-width: 680px;
  position: relative;
  z-index: 1;
}

.wy-guide-hero .wy-section-eyebrow {
  color: #f1c896;
}

.wy-guide-hero__title {
  color: #fffaf4;
  font-size: clamp(2.25rem, 6vw, 4.5rem);
  line-height: 1.08;
  margin-bottom: 1rem;
}

.wy-guide-hero__desc {
  color: rgb(255 250 244 / 0.86);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  line-height: 1.78;
  max-width: 620px;
}

.wy-guide-intro {
  background: var(--wy-surface);
  border: 1px solid var(--wy-border);
  border-radius: 8px;
  box-shadow: var(--wy-shadow-soft);
  margin-bottom: clamp(28px, 5vw, 52px);
  padding: clamp(24px, 4vw, 44px);
}

.wy-guide-intro .entry-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

#footer-widgets .inside-footer-widgets {
  display: grid;
  gap: clamp(24px, 4vw, 42px);
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  #footer-widgets .inside-footer-widgets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1040px) {
  #footer-widgets .inside-footer-widgets {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

#footer-widgets .inside-footer-widgets > .footer-widget {
  width: auto;
}

@media (max-width: 768px) {
  .mc-hero {
    min-height: 560px;
    padding: 72px 0;
  }

  .mc-hero__bg {
    background:
      linear-gradient(180deg, rgb(16 40 30 / 0.78) 0%, rgb(16 40 30 / 0.64) 48%, rgb(16 40 30 / 0.42) 100%),
      url("assets/images/wy-diary-hero.png") 66% center / cover no-repeat;
  }

  .mc-hero__title {
    max-width: 10ch;
  }

  .wy-curation,
  .wy-guide-hero,
  .wy-guide-intro {
    border-radius: 8px;
  }

  .wy-guidebook {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }

  .wy-guide-hero {
    padding: 34px 24px;
  }
}

/* ==========================================================================
   WY Diary — footer and back-to-top button polish
   CSS-only finish layer for the GeneratePress footer/button surface.
   ========================================================================== */

a.generate-back-to-top,
a.generate-back-to-top:visited,
body button.mc-scroll-top {
  align-items: center;
  background: #f3e7d7;
  border: 2px solid rgb(28 53 45 / 0.22);
  border-radius: 999px;
  bottom: 28px;
  box-shadow: 0 8px 18px rgb(0 0 0 / 0.18);
  color: #1c352d;
  display: flex;
  font-size: 0;
  height: 52px;
  justify-content: center;
  line-height: 1;
  position: fixed;
  right: 28px;
  text-decoration: none;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
  width: 52px;
  z-index: 999;
}

a.generate-back-to-top::before,
body button.mc-scroll-top::before {
  color: #1c352d;
  content: "↑";
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

a.generate-back-to-top:hover,
a.generate-back-to-top:focus,
a.generate-back-to-top:focus-visible,
body button.mc-scroll-top:hover,
body button.mc-scroll-top:focus,
body button.mc-scroll-top:focus-visible {
  background: #d9b38c;
  border-color: rgb(28 53 45 / 0.32);
  box-shadow: 0 12px 24px rgb(0 0 0 / 0.22);
  color: #10281e;
  outline: 2px solid rgb(163 112 76 / 0.45);
  outline-offset: 3px;
  transform: translateY(-4px);
}

a.generate-back-to-top:hover::before,
a.generate-back-to-top:focus::before,
a.generate-back-to-top:focus-visible::before,
body button.mc-scroll-top:hover::before,
body button.mc-scroll-top:focus::before,
body button.mc-scroll-top:focus-visible::before {
  color: #10281e;
}

body button.mc-scroll-top svg {
  display: none;
}

.site-footer,
.site-footer .site-info,
.site-footer .inside-site-info,
.site-footer .inside-site-footer,
.site-footer .footer-bar,
#footer-widgets,
.footer-widgets,
.footer-widgets-container,
#footer-widgets .inside-footer-widgets {
  background-color: var(--wy-primary);
  color: rgb(251 250 247 / 0.72);
}

.site-footer {
  border-top: 3px solid var(--wy-accent);
}

.site-footer .site-info,
.site-footer .inside-site-info {
  border-top: 1px solid rgb(251 250 247 / 0.1);
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 0.04em;
  padding-bottom: 32px;
  padding-top: 32px;
  text-align: center;
}

.site-footer .inside-site-info {
  display: block;
}

.site-footer .copyright-bar {
  text-align: center;
}

.site-footer a,
.site-footer a:visited,
.footer-widgets a,
.footer-widgets a:visited,
#footer-widgets a,
#footer-widgets a:visited {
  color: rgb(251 250 247 / 0.92);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease;
}

.site-footer a:hover,
.site-footer a:focus,
.site-footer a:focus-visible,
.footer-widgets a:hover,
.footer-widgets a:focus,
.footer-widgets a:focus-visible,
#footer-widgets a:hover,
#footer-widgets a:focus,
#footer-widgets a:focus-visible {
  color: var(--wy-accent);
}

#footer-widgets .widget-title,
.footer-widgets .widget-title {
  border-bottom-color: rgb(163 112 76 / 0.58);
  color: rgb(251 250 247 / 0.96);
}

#footer-widgets .widget,
.footer-widgets .widget {
  color: rgb(251 250 247 / 0.72);
}

#footer-widgets .widget ul li,
.footer-widgets .widget ul li {
  border-bottom-color: rgb(251 250 247 / 0.12);
}

/* ==========================================================================
   WY Diary Footer Branding
   Lightweight footer brand block above copyright.
   ========================================================================== */

.site-footer .wy-footer-branding {
  padding: 8px 20px 18px;
  text-align: center;
}

.site-footer .wy-footer-branding-inner {
  margin: 0 auto;
  max-width: 760px;
}

.site-footer .wy-footer-brand-title {
  color: var(--wy-bg, #fbfaf7);
  font-family: inherit;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  margin: 0 0 8px;
  overflow-wrap: break-word;
  word-break: keep-all;
}

.site-footer .wy-footer-brand-tagline {
  color: rgb(251 250 247 / 0.72);
  font-size: 13px;
  line-height: 1.7;
  margin: 0 0 22px;
  overflow-wrap: break-word;
  word-break: keep-all;
}

.site-footer .wy-footer-mini-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  justify-content: center;
}

.site-footer .wy-footer-mini-nav a,
.site-footer .wy-footer-mini-nav a:visited {
  border-bottom: 1px solid transparent;
  color: rgb(251 250 247 / 0.86);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  padding-bottom: 3px;
  text-decoration: none;
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}

.site-footer .wy-footer-mini-nav a:hover,
.site-footer .wy-footer-mini-nav a:focus,
.site-footer .wy-footer-mini-nav a:focus-visible {
  border-bottom-color: var(--wy-accent, #a3704c);
  color: var(--wy-accent, #a3704c);
}

.site-footer .wy-footer-mini-nav a:focus-visible {
  border-radius: 4px;
  outline: 2px solid rgb(163 112 76 / 0.45);
  outline-offset: 4px;
}

.site-footer .wy-footer-divider {
  background: rgb(163 112 76 / 0.28);
  border: 0;
  height: 1px;
  margin: 18px auto 20px;
  width: min(600px, calc(100% - 40px));
}

@media (prefers-reduced-motion: reduce) {
  a.generate-back-to-top,
  a.generate-back-to-top:hover,
  a.generate-back-to-top:focus,
  a.generate-back-to-top:focus-visible,
  body button.mc-scroll-top,
  body button.mc-scroll-top:hover,
  body button.mc-scroll-top:focus,
  body button.mc-scroll-top:focus-visible {
    transition: none;
    transform: none;
  }
}

@media (max-width: 768px) {
  a.generate-back-to-top,
  a.generate-back-to-top:visited,
  body button.mc-scroll-top {
    bottom: 18px;
    height: 48px;
    right: 18px;
    width: 48px;
  }

  a.generate-back-to-top::before,
  body button.mc-scroll-top::before {
    font-size: 22px;
  }

  .site-footer .site-info,
  .site-footer .inside-site-info {
    font-size: 12px;
    padding-bottom: 28px;
    padding-top: 28px;
  }

  .site-footer .wy-footer-branding {
    padding: 4px 18px 16px;
  }

  .site-footer .wy-footer-brand-title {
    font-size: 21px;
  }

  .site-footer .wy-footer-brand-tagline {
    font-size: 12.5px;
    margin-bottom: 18px;
  }

  .site-footer .wy-footer-mini-nav {
    gap: 9px 16px;
  }

  .site-footer .wy-footer-mini-nav a,
  .site-footer .wy-footer-mini-nav a:visited {
    font-size: 12.5px;
  }
}

/* ==========================================================================
   WY Diary Top Category Navigation
   Header-adjacent magazine navigation.
   ========================================================================== */

.main-navigation .main-nav {
  display: none;
}

.wy-top-category-nav {
  background: #fcfbfa;
  border-bottom: 1px solid rgb(28 53 45 / 0.12);
  border-top: 1px solid rgb(28 53 45 / 0.08);
}

.wy-top-category-nav-inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  justify-content: center;
  margin: 0 auto;
  max-width: 1120px;
  padding: 12px 20px;
}

.wy-top-category-nav a,
.wy-top-category-nav a:visited {
  border-bottom: 1px solid transparent;
  color: #1c352d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding-bottom: 3px;
  text-decoration: none;
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}

.wy-top-category-nav a:hover,
.wy-top-category-nav a:focus,
.wy-top-category-nav a:focus-visible {
  border-bottom-color: #a3704c;
  color: #a3704c;
}

.wy-top-category-nav a:focus-visible {
  border-radius: 4px;
  outline: 2px solid rgb(163 112 76 / 0.45);
  outline-offset: 4px;
}

.wy-latest-posts-anchor {
  display: block;
  scroll-margin-top: 140px;
}

@media (max-width: 768px) {
  .wy-top-category-nav-inner {
    flex-wrap: nowrap;
    gap: 18px;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 11px 16px;
    scrollbar-width: none;
  }

  .wy-top-category-nav-inner::-webkit-scrollbar {
    display: none;
  }

  .wy-top-category-nav a,
  .wy-top-category-nav a:visited {
    font-size: 12.5px;
    white-space: nowrap;
  }
}

/* ==========================================================================
   Header alignment refinement
   Site title and category nav share the same left column.
   ========================================================================== */

.site-header .inside-header,
.wy-top-category-nav-inner {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 1120px;
  padding-left: 20px;
  padding-right: 20px;
}

.wy-top-category-nav-inner {
  justify-content: flex-start;
}

.site-header .mc-search-toggle,
.site-header .menu-bar-items .search-item,
.main-navigation .menu-bar-items .search-item,
.site-header .navigation-search {
  display: none;
}

@media (max-width: 768px) {
  .site-header .inside-header,
  .wy-top-category-nav-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .wy-top-category-nav-inner {
    justify-content: flex-start;
  }
}
