/*
Theme Name: Munhwanadri Atelier
Theme URI: https://munhwanadri.com/
Author: Munhwanadri
Description: 문화나들이를 위한 감각적인 문화예술 매거진 블록 테마.
Version: 1.0.6
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: munhwanadri-atelier
License: GPL-2.0-or-later
*/

@font-face {
  font-family: "SUIT Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./assets/fonts/SUIT-Variable.woff2") format("woff2-variations");
}

:root {
  --culture-ink: #211f1a;
  --culture-muted: #716b5f;
  --culture-cream: #f6f0e5;
  --culture-paper: #fffaf1;
  --culture-burgundy: #713b42;
  --culture-terracotta: #c86f4b;
  --culture-olive: #66705b;
  --culture-mint: #b8dfcd;
  --culture-line: #d8cdbb;
  --culture-display: "SUIT Variable", "Noto Sans KR", "Malgun Gothic", sans-serif;
  --culture-serif: "Noto Serif KR", "Nanum Myeongjo", "Malgun Myeongjo", Georgia, serif;
  --culture-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--culture-cream); color: var(--culture-ink); }
.wp-site-blocks { overflow: clip; }
a { text-underline-offset: .16em; }

.culture-header { background: var(--culture-cream); border-bottom: 1px solid var(--culture-ink); }
.culture-header__top { border-bottom: 1px solid var(--culture-line); min-height: 56px; padding: .55rem clamp(1rem, 3vw, 2rem); }
.culture-header__top .wp-block-navigation { font-size: .83rem; font-weight: 700; letter-spacing: .03em; }
.culture-header__top .wp-block-navigation-item__content { color: var(--culture-ink); text-decoration: none; }
.culture-header__top .wp-block-navigation-item__content:hover { color: var(--culture-burgundy); }
.culture-header__edition { color: var(--culture-muted); font-size: .7rem; font-weight: 700; letter-spacing: .16em; margin: 0; text-transform: uppercase; }
.culture-header__brand { align-items: end; display: grid !important; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: minmax(0, 2.25fr) minmax(260px, .75fr); margin-inline: auto; max-width: 1280px; padding: clamp(1.8rem, 3.2vw, 3rem) clamp(1rem, 3vw, 2rem) clamp(2rem, 3.6vw, 3.3rem); }
.culture-header__identity { min-width: 0; }
.culture-header__roman,
.culture-header__guide { font-family: var(--culture-display); font-size: .72rem; font-weight: 750; letter-spacing: .17em; margin: 0 0 .75rem; text-transform: uppercase; }
.culture-header__roman { align-items: center; color: var(--culture-burgundy); display: flex; gap: .8rem; letter-spacing: .2em; }
.culture-header__roman::after { background: currentColor; content: ""; height: 1px; opacity: .55; width: 3.5rem; }
.culture-header .wp-block-site-title { font-family: var(--culture-display); font-size: clamp(3.2rem, 5vw, 4.9rem); font-variation-settings: "wght" 550; font-weight: 550; letter-spacing: -.048em; line-height: 1; margin: 0; white-space: nowrap; }
.culture-header .wp-block-site-title a { color: var(--culture-ink); text-decoration: none; transition: color .2s ease; }
.culture-header .wp-block-site-title a:hover { color: var(--culture-burgundy); }
.culture-header__descriptor { border-left: 1px solid var(--culture-line); padding: .25rem 0 .25rem clamp(1.25rem, 2.5vw, 2.25rem); }
.culture-header__guide { color: var(--culture-ink); }
.culture-header__tagline { color: var(--culture-muted); font-family: var(--culture-display); font-size: clamp(.92rem, 1.1vw, 1.04rem); letter-spacing: -.015em; line-height: 1.65; margin: 0; max-width: 18rem; word-break: keep-all; }
.culture-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--culture-cream); color: var(--culture-ink); padding: 1.5rem; }

.culture-home,
.culture-archive,
.culture-search,
.culture-page { padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 3vw, 2rem); }
.culture-kicker { color: var(--culture-burgundy); font-family: var(--culture-sans); font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.culture-lead-layout { align-items: flex-start; gap: clamp(2.2rem, 4vw, 4rem); }
.culture-lead-query { margin: 0; }
.culture-lead-story .wp-block-post-terms { color: var(--culture-burgundy); font-family: var(--culture-sans); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.culture-lead-story .wp-block-post-terms a { color: inherit; text-decoration: none; }
.culture-lead-story .wp-block-post-title { font-family: var(--culture-serif); font-size: clamp(2.5rem, 5vw, 5.3rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.08; margin: .85rem 0 1rem; max-width: 1000px; text-wrap: balance; word-break: keep-all; }
.culture-lead-story .wp-block-post-title a { color: var(--culture-ink); text-decoration: none; }
.culture-lead-meta { color: var(--culture-muted); font-family: var(--culture-sans); font-size: .8rem; }
.culture-lead-story .wp-block-post-featured-image { margin: 1.3rem 0 0; }
.culture-lead-story .wp-block-post-featured-image img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.culture-lead-story .wp-block-post-excerpt { color: var(--culture-muted); font-size: .98rem; line-height: 1.7; max-width: 760px; }

.culture-latest-rail { border-left: 1px solid var(--culture-line); padding-left: clamp(1.3rem, 2.8vw, 2.3rem); }
.culture-latest-rail h2 { border-bottom: 1px solid var(--culture-ink); font-family: var(--culture-sans); font-size: .9rem; letter-spacing: .08em; margin: 0 0 1.2rem; padding-bottom: .65rem; text-transform: uppercase; }
.culture-latest-grid { gap: 1.5rem 1rem; }
.culture-mini-card .wp-block-post-featured-image { background: #e5ddcf; margin: 0 0 .55rem; }
.culture-mini-card .wp-block-post-featured-image img { aspect-ratio: 1/1; object-fit: cover; width: 100%; }
.culture-mini-card .wp-block-post-title { font-family: var(--culture-sans); font-size: .9rem; font-weight: 650; line-height: 1.35; margin: 0; word-break: keep-all; }
.culture-mini-card .wp-block-post-title a { color: var(--culture-ink); text-decoration: none; }
.culture-mini-card .wp-block-post-date { color: var(--culture-muted); font-family: var(--culture-sans); font-size: .72rem; margin-top: .42rem; }

.culture-manifesto { border-bottom: 1px solid var(--culture-line); border-top: 1px solid var(--culture-line); margin: clamp(3.5rem, 7vw, 7rem) 0; padding: clamp(2rem, 4vw, 3.5rem) 0; }
.culture-manifesto h2 { font-family: var(--culture-serif); font-size: clamp(2rem, 4vw, 3.7rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.16; margin: 0; max-width: 900px; text-wrap: balance; word-break: keep-all; }
.culture-manifesto p { color: var(--culture-muted); font-family: var(--culture-sans); font-size: .9rem; line-height: 1.8; }
.culture-section-heading { align-items: end; margin: 0 0 1.4rem; }
.culture-section-heading h2 { font-family: var(--culture-serif); font-size: clamp(2rem, 4vw, 3.8rem); font-weight: 500; letter-spacing: -.05em; margin: 0; }
.culture-section-heading p { color: var(--culture-muted); font-family: var(--culture-sans); font-size: .8rem; margin: 0; }
.culture-story-grid { border-top: 1px solid var(--culture-ink); gap: 0; }
.culture-story-card { border-bottom: 1px solid var(--culture-line); border-right: 1px solid var(--culture-line); height: 100%; padding: clamp(1rem, 2vw, 1.6rem); }
.culture-story-grid > li:nth-child(3n) .culture-story-card { border-right: 0; }
.culture-story-card .wp-block-post-featured-image { margin: 0 0 1rem; overflow: hidden; }
.culture-story-card .wp-block-post-featured-image img { aspect-ratio: 4/3; object-fit: cover; transition: transform .45s ease; width: 100%; }
.culture-story-card:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.culture-story-card .wp-block-post-terms { color: var(--culture-burgundy); font-family: var(--culture-sans); font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.culture-story-card .wp-block-post-terms a { color: inherit; text-decoration: none; }
.culture-story-card .wp-block-post-title { font-family: var(--culture-serif); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 500; line-height: 1.38; margin: .5rem 0; word-break: keep-all; }
.culture-story-card .wp-block-post-title a { color: var(--culture-ink); text-decoration: none; }
.culture-story-card .wp-block-post-excerpt { color: var(--culture-muted); font-family: var(--culture-sans); font-size: .87rem; line-height: 1.65; }
.culture-story-card .wp-block-post-date { color: var(--culture-muted); font-family: var(--culture-sans); font-size: .72rem; }

.culture-category-bar { align-items: center; background: var(--culture-mint); margin-top: clamp(4rem, 8vw, 7rem); padding: clamp(1.4rem, 3vw, 2.3rem); }
.culture-category-bar h2 { font-family: var(--culture-serif); font-size: clamp(1.5rem, 3vw, 2.6rem); font-weight: 500; margin: 0; }
.culture-category-links { gap: .55rem; }
.culture-category-links .wp-block-button__link { background: transparent; border: 1px solid var(--culture-ink); border-radius: 0; color: var(--culture-ink); font-family: var(--culture-sans); font-size: .8rem; font-weight: 700; padding: .58rem .8rem; }
.culture-category-links .wp-block-button__link:hover { background: var(--culture-ink); color: var(--culture-cream); }

.culture-single { padding: clamp(2rem, 4vw, 4.5rem) clamp(1rem, 3vw, 2rem) 0; }
.culture-single-top { align-items: flex-start; gap: clamp(2.5rem, 5vw, 5rem); }
.culture-single-story .wp-block-post-terms { color: var(--culture-burgundy); font-family: var(--culture-sans); font-size: .73rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.culture-single-story .wp-block-post-terms a { color: inherit; text-decoration: none; }
.culture-single-story .wp-block-post-title { font-family: var(--culture-serif); font-size: clamp(2.1rem, 2.8vw, 3.2rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.18; margin: .8rem 0 1rem; max-width: 920px; text-wrap: balance; word-break: keep-all; }
.culture-single-meta { color: var(--culture-muted); font-family: var(--culture-sans); font-size: .8rem; gap: .5rem; }
.culture-single-meta p,
.culture-single-meta .wp-block-post-author-name,
.culture-lead-meta .wp-block-post-author-name { margin: 0; }
.culture-single-story > .wp-block-post-featured-image { margin: 1.4rem 0 0; }
.culture-single-story > .wp-block-post-featured-image img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.culture-image-note { color: var(--culture-muted); font-family: var(--culture-sans); font-size: .72rem; margin: .55rem 0 0; }
.culture-single-rail { border-left: 1px solid var(--culture-line); padding-left: clamp(1.25rem, 2.6vw, 2rem); position: sticky; top: 1rem; }
.culture-single-rail h2 { border-bottom: 1px solid var(--culture-ink); font-family: var(--culture-sans); font-size: .9rem; letter-spacing: .08em; margin: 0 0 1.2rem; padding-bottom: .65rem; text-transform: uppercase; }
.culture-single-rail .culture-latest-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

.culture-article-shell { border-top: 1px solid var(--culture-ink); margin-top: clamp(3.5rem, 7vw, 6.5rem); padding: clamp(3rem, 6vw, 5.5rem) 0; }
.single-post .entry-content { font-family: var(--culture-sans); font-size: clamp(1rem, .97rem + .16vw, 1.08rem); line-height: 1.88; margin-inline: auto; max-width: 780px; }
.single-post .entry-content > :first-child { margin-top: 0; }
.single-post .entry-content p { color: #38342d; }
.single-post .entry-content h2 { color: var(--culture-burgundy); font-family: var(--culture-serif); font-size: clamp(1.65rem, 3vw, 2.3rem); font-weight: 500; line-height: 1.4; margin-top: 2.7em; padding-bottom: .45em; position: relative; word-break: keep-all; }
.single-post .entry-content h2::after { background: linear-gradient(90deg,var(--culture-terracotta),transparent); bottom: 0; content: ""; height: 2px; left: 0; position: absolute; width: 100px; }
.single-post .entry-content h3 { font-family: var(--culture-serif); font-size: 1.35rem; font-weight: 600; margin-top: 2.1em; }
.single-post .entry-content a { color: var(--culture-burgundy); }
.single-post .entry-content blockquote,
.single-post .entry-content .is-style-editorial-note { background: var(--culture-paper); border: 1px solid var(--culture-line); border-left: 5px solid var(--culture-terracotta); margin: 1.7em 0; padding: 1.15em 1.3em; }
.single-post .entry-content .wp-block-table { overflow-x: auto; }
.single-post .entry-content table { border: 1px solid var(--culture-line); border-collapse: separate; border-radius: 12px; border-spacing: 0; display: table; max-width: 100%; overflow: hidden; width: 100%; }
.single-post .entry-content th { background: #eee5d7; color: var(--culture-burgundy); }
.single-post .entry-content th,
.single-post .entry-content td { border-bottom: 1px solid var(--culture-line); padding: .76em .9em; }
.single-post .entry-content .editorial-sources { border-top: 1px solid var(--culture-line); margin-top: 4.8rem; padding-top: 2rem; }
.single-post .entry-content .editorial-sources h2 { color: var(--culture-ink); font-family: var(--culture-sans); font-size: 1.08rem; margin: 0 0 1rem; padding: 0; }
.single-post .entry-content .editorial-sources h2::after { display: none; }
.single-post .entry-content .editorial-disclosure { background: transparent; border-top: 1px solid var(--culture-line); color: var(--culture-muted); font-size: .82rem; margin-top: 3.5rem; padding: 1.3rem 0 0; }
.single-post .entry-content .editorial-disclosure p { margin: 0; }
.culture-post-nav { border-top: 1px solid var(--culture-line); font-family: var(--culture-sans); margin: 4rem auto 0; max-width: 780px; padding-top: 1.2rem; }
.culture-post-nav a { color: var(--culture-ink); font-weight: 700; text-decoration: none; }
.culture-more { background: var(--culture-paper); margin-inline: calc(50% - 50vw); margin-top: clamp(4rem, 8vw, 7rem); padding: clamp(2.5rem, 5vw, 5rem) max(clamp(1rem, 3vw, 2rem), calc((100vw - 1280px) / 2)); width: 100vw; }

.culture-archive__header { align-items: end; border-bottom: 1px solid var(--culture-ink); margin-bottom: 0; padding-bottom: 1rem; }
.culture-archive__header h1,
.culture-search h1,
.culture-page .wp-block-post-title { font-family: var(--culture-serif); font-size: clamp(2.8rem, 6vw, 6rem); font-weight: 500; letter-spacing: -.065em; line-height: 1.05; text-wrap: balance; word-break: keep-all; }
.culture-pagination { border-top: 1px solid var(--culture-line); font-family: var(--culture-sans); margin-top: 2.5rem; padding-top: 1.3rem; }
.culture-empty { border: 1px solid var(--culture-line); font-family: var(--culture-sans); padding: 2rem; }

.culture-footer { background: var(--culture-ink); color: var(--culture-cream); padding: clamp(3rem, 6vw, 6rem) clamp(1rem, 3vw, 2rem); }
.culture-footer .wp-block-site-title { font-family: var(--culture-serif); font-size: clamp(2.5rem, 5vw, 5.5rem); font-weight: 500; letter-spacing: -.07em; }
.culture-footer .wp-block-site-title a { color: var(--culture-cream); text-decoration: none; }
.culture-footer p { color: #c8bead; font-family: var(--culture-sans); font-size: .82rem; line-height: 1.7; }
.culture-footer a { color: var(--culture-mint); }
.culture-footer code { background: transparent; border: 0; color: inherit; font-family: inherit; font-size: inherit; padding: 0; }

@media (max-width: 980px) {
  .culture-lead-layout,
  .culture-single-top { display: block; }
  .culture-latest-rail,
  .culture-single-rail { border-left: 0; border-top: 1px solid var(--culture-line); margin-top: 3rem; padding: 2rem 0 0; position: static; }
  .culture-latest-grid,
  .culture-single-rail .culture-latest-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .culture-header__edition { display: none; }
  .culture-header__brand { display: block !important; padding-block: 2rem 2.4rem; }
  .culture-header__roman::after { width: 2.5rem; }
  .culture-header .wp-block-site-title { font-size: clamp(2.65rem, 12vw, 3.7rem); font-variation-settings: "wght" 580; font-weight: 580; }
  .culture-single-story .wp-block-post-title { font-size: clamp(2rem, 9vw, 2.8rem); }
  .culture-header__descriptor { border-left: 0; border-top: 1px solid var(--culture-line); margin-top: 1.6rem; padding: 1.25rem 0 0; }
  .culture-header__tagline { max-width: 22rem; }
  .culture-story-grid { grid-template-columns: 1fr !important; }
  .culture-story-card { border-right: 0; }
  .culture-latest-grid,
  .culture-single-rail .culture-latest-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .culture-category-bar { display: block; }
  .culture-category-links { margin-top: 1rem; }
  .culture-home,
  .culture-single,
  .culture-archive,
  .culture-search,
  .culture-page { padding-inline: 1rem; }
  .single-post .entry-content { line-height: 1.78; }
}
