/*
Theme Name: Nammyeon Hanwoo (남면한우마을)
Theme URI: https://jordinary.blog
Author: nmhanwoo
Description: 전남 장성 남면한우마을 공식 블로그 테마. 한우/한식 전문점의 따뜻한 인테리어 톤을 반영한 모바일 우선 디자인.
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: nmhanwoo
*/

/* ══════════ FONT ══════════ */
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

/* ══════════ DESIGN TOKENS ══════════ */
:root {
  --maroon: #5C2E2E;
  --maroon-deep: #3E1C1C;
  --sienna: #A0522D;
  --cream: #FAF6F0;
  --cream-dark: #F0E8DA;
  --wood: #8B6F47;
  --gold: #D4A853;
  --text: #3A2A1E;
  --text-light: #6B5A4A;
  --line: #E8DFD0;
  --accent: var(--maroon);
}

/* ══════════ RESET ══════════ */
* { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; }
body {
  background:#FAF6F0;
  color:#3A2A1E;
  font-family:'Noto Sans KR', sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}

a, a *, .menu-row *, .menu-featured-card * {
  color: inherit;
  text-decoration: none !important;
}
del, s, strike { text-decoration: none !important; }
img { max-width:100%; display:block; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }

/* ══════════ APP FRAME (mobile-first) ══════════ */
.app-frame {
  max-width: 480px;
  margin: 0 auto;
  background: var(--cream);
  min-height: 100vh;
}

@media (min-width: 768px) {
  body {
    background:
      radial-gradient(ellipse at 20% 30%, rgba(92,46,46,0.04) 0%, transparent 50%),
      radial-gradient(ellipse at 80% 70%, rgba(160,82,45,0.04) 0%, transparent 50%),
      linear-gradient(180deg, #F5EFE3 0%, #EDE4D2 100%);
    padding: 32px 20px;
  }
  .app-frame {
    min-height: auto;
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
      0 30px 80px -20px rgba(58,42,30,0.25),
      0 10px 30px -10px rgba(58,42,30,0.15);
  }
}
@media (min-width: 1200px) {
  body { padding: 48px 20px; }
}

/* ══════════ HERO ══════════ */
.hero {
  position: relative;
  height: 70vh;
  min-height: 500px;
  max-height: 720px;
  background: var(--maroon-deep);
  overflow: hidden;
  color: #FAF6F0;
}
.hero__image {
  position: absolute;
  inset: 0;
  background-image: url('assets/images/hero-interior.png');
  background-size: cover;
  background-position: center;
  filter: brightness(0.85) saturate(1.1);
}
.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 60%, rgba(62,28,28,0.95) 100%);
}
.hero__content {
  position: absolute;
  inset: 0;
  padding: 60px 28px 50px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 2;
}
.hero__since {
  font-family: 'Nanum Myeongjo', serif;
  font-size:13px;
  letter-spacing: 4px;
  color: #D4A853;
  margin-bottom: 16px;
  font-weight: 700;
}
.hero__title {
  font-family: 'Nanum Myeongjo', serif;
  font-size:46px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 14px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
  color: #FAF6F0;
}
.hero__sub {
  font-size:15px;
  color: rgba(250,246,240,0.92);
  font-weight: 300;
  line-height: 1.6;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

/* ══════════ NAV ══════════ */
.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250,246,240,0.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.nav__inner {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
}
.nav__inner::-webkit-scrollbar { display: none; }
.nav__item {
  flex-shrink: 0;
  padding: 16px 18px;
  font-size:15px;
  font-weight: 500;
  color: var(--text-light);
  position: relative;
  white-space: nowrap;
  transition: color 0.2s;
}
.nav__item:first-child { padding-left: 24px; }
.nav__item:last-child { padding-right: 24px; }
.nav__item:hover {
  color: var(--maroon);
}
.nav__item:hover::after {
  content: "";
  position: absolute;
  left: 18px; right: 18px; bottom: 0;
  height: 2px;
  background: rgba(92,46,46,0.35);
}
.nav__item.is-active { color: var(--maroon); font-weight: 700; }
.nav__item.is-active::after {
  content: "";
  position: absolute;
  left: 18px; right: 18px; bottom: 0;
  height: 3px;
  background: var(--maroon);
  border-radius: 2px 2px 0 0;
}
.nav__item.is-active:hover::after {
  background: var(--maroon);
  height: 3px;
}

/* ══════════ SECTION TITLE ══════════ */
.section-title {
  padding: 32px 24px 20px;
}
.section-title__sub {
  font-family: 'Nanum Myeongjo', serif;
  font-size:13px;
  letter-spacing: 3px;
  color: var(--sienna);
  margin-bottom: 6px;
  font-weight: 700;
}
.section-title__main {
  font-family: 'Nanum Myeongjo', serif;
  font-size:26px;
  font-weight: 800;
  color: var(--text);
}

/* ══════════ MENU — original-spec port ══════════ */
/* Tabs: solid maroon pill style (원본 디자인) */
.menu-tabs {
  display: flex;
  gap: 8px;
  padding: 0 24px 16px;
}
.menu-tab {
  flex: 1;
  padding: 12px 10px;
  background: #fff;
  color: var(--text-light);
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(58,42,30,0.06);
  transition: all 0.2s;
  font-family: 'Noto Sans KR', sans-serif;
  text-align: center;
}
.menu-tab .menu-tab__l {
  font-family: 'Nanum Myeongjo', serif;
  font-size:18px;
  font-weight: 700;
}
.menu-tab .menu-tab__s {
  font-size:12px;
  opacity: 0.75;
  margin-top: 2px;
}
.menu-tab:hover {
  background: rgba(92,46,46,0.08);
  border-color: var(--maroon);
  color: var(--maroon);
}
.menu-tab.is-active {
  background: var(--maroon);
  color: #fff;
  box-shadow: 0 3px 10px rgba(92,46,46,0.25);
}
.menu-tab.is-active:hover {
  background: var(--maroon);
  color: #fff;
}

/* Featured 3-card grid — 빗금 패턴 + "사진" 플레이스홀더 */
.menu-featured {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 0 24px;
}
.menu-featured-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(58,42,30,0.08);
}
.menu-featured-card__img {
  aspect-ratio: 1 / 1;
  background: repeating-linear-gradient(45deg, var(--cream-dark), var(--cream-dark) 6px, var(--cream) 6px, var(--cream) 12px);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.menu-featured-card__img::after {
  content: '사진';
  font-family: monospace;
  font-size:12px;
  color: var(--wood);
  opacity: 0.6;
}
.menu-featured-card__tag {
  position: absolute;
  top: 8px; left: 8px;
  font-size:12px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 10px;
  background: var(--sienna);
  color: #fff;
}
.menu-featured-card__tag.tag-recommend { background: var(--maroon); }
.menu-featured-card__tag.tag-popular   { background: var(--sienna); }

.menu-featured-card__body { padding: 10px 10px 12px; }
.menu-featured-card__name {
  font-size:15px;
  font-weight: 600;
  color: var(--text);
}
.menu-featured-card__desc {
  font-size:12px;
  color: var(--text-light);
  margin-top: 3px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.menu-featured-card__price {
  font-size:15px;
  font-weight: 700;
  color: var(--maroon);
  margin-top: 5px;
}
.menu-featured-card__variants {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.menu-featured-card__variant {
  font-size:13px;
  color: var(--maroon);
  font-weight: 600;
}
.menu-featured-card__variant small {
  font-size:12px;
  color: var(--text-light);
  font-weight: 400;
  margin-right: 2px;
}

/* Full list */
.menu-list-wrap { padding: 16px 24px 8px; }
.menu-list {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(58,42,30,0.06);
}
.menu-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--cream-dark);
}
.menu-row:last-child { border-bottom: none; }

.menu-row__left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.menu-row__icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--cream-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:11px;
  color: var(--wood);
  font-family: monospace;
  flex-shrink: 0;
}
.menu-row__icon::before { content: '사진'; opacity: 0.7; }
.menu-row__body { min-width: 0; }
.menu-row__name {
  font-size:16px;
  font-weight: 500;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 6px;
}
.menu-row__desc {
  font-size:13px;
  color: var(--text-light);
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Tag badges (outline style — 원본과 동일) */
.menu-tag {
  font-size:11px;
  font-weight: 700;
  letter-spacing: 0.3px;
  padding: 2px 6px;
  border-radius: 4px;
}
.menu-tag.tag-recommend {           /* 대표 */
  color: var(--maroon);
  background: rgba(92,46,46,0.08);
  border: 1px solid rgba(92,46,46,0.22);
}
.menu-tag.tag-popular {              /* 인기 */
  color: var(--sienna);
  background: rgba(160,82,45,0.10);
  border: 1px solid rgba(160,82,45,0.28);
}
.menu-tag.tag-default {
  color: var(--wood);
  background: rgba(122,92,62,0.10);
  border: 1px solid rgba(122,92,62,0.24);
}

.menu-row__price {
  font-size:15px;
  font-weight: 700;
  color: var(--maroon);
  flex-shrink: 0;
  margin-left: 8px;
}
.menu-row__variants {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  flex-shrink: 0;
  margin-left: 8px;
}
.menu-row__variant {
  font-size:14px;
  color: var(--text);
  display: flex;
  gap: 6px;
  align-items: baseline;
}
.menu-row__variant small {
  font-size:12px;
  color: var(--text-light);
}
.menu-row__variant strong {
  font-weight: 700;
  color: var(--maroon);
}
.menu-row__chev {
  flex-shrink: 0;
  color: var(--wood);
  opacity: 0.6;
}

/* Section sub-titles (한우 부위별 / 후식메뉴 등) */
.menu-section-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 28px 10px;
  padding-top: 16px;
  font-size:15px;
  font-weight: 600;
  color: var(--wood);
}
.menu-section-title small {
  font-size:13px;
  font-weight: 400;
  color: var(--text-light);
}

/* Add-on (후식·주류) — 2열 그리드 */
.menu-addons { padding: 8px 24px; display: flex; flex-direction: column; gap: 14px; }
.menu-addon-grid {
  background: #fff;
  border-radius: 12px;
  padding: 4px;
  box-shadow: 0 1px 8px rgba(58,42,30,0.06);
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 4px;
}
.menu-addon-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  font-size:15px;
}
.menu-addon-row span:first-child { color: var(--text); }
.menu-addon-row span:last-child {
  font-weight: 700;
  color: var(--maroon);
}

/* ══════════ INFOBAR (오시는길) — 원본 디자인 ══════════ */
.infobar-card {
  margin: 0 24px 24px;
  padding: 18px 20px;
  background: var(--maroon);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #fff;
}
.infobar-card__label {
  font-size:14px;
  color: rgba(255,255,255,0.75);
  letter-spacing: 1px;
}
.infobar-card__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.infobar-card__body { flex: 1; min-width: 0; }
.infobar-card__hours {
  font-size:16px;
  font-weight: 600;
  color: #fff;
  margin-top: 4px;
}
.infobar-card__hours:first-child { margin-top: 0; }
.infobar-card__addr {
  font-size:15px;
  color: rgba(255,255,255,0.85);
  margin-top: 4px;
  line-height: 1.5;
}
.infobar-card__addr small {
  display: block;
  font-size:13px;
  color: rgba(255,255,255,0.6);
  margin-top: 2px;
}
.infobar-card__btn {
  padding: 8px 16px;
  background: rgba(255,255,255,0.15);
  border-radius: 8px;
  font-size:14px;
  font-weight: 500;
  color: #fff !important;
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ══════════ NOTICE — 원본 디자인 ══════════ */
.notice-header {
  padding: 28px 24px 16px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.notice-header__title {
  font-family: 'Nanum Myeongjo', serif;
  font-size:22px;
  font-weight: 700;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 10px;
}
.notice-header__bar {
  width: 3px;
  height: 20px;
  background: var(--maroon);
  border-radius: 2px;
}
.notice-header__more {
  font-size:14px;
  color: var(--maroon) !important;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 3px;
  text-decoration: none !important;
}
.notice-list-wrap { padding: 0 24px 24px; }
.notice-list {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(58,42,30,0.06);
}
.notice-row {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--cream-dark);
  text-decoration: none !important;
  color: inherit !important;
}
.notice-row:last-child { border-bottom: none; }
.notice-row__left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.notice-row__dot {
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: var(--sienna);
  flex-shrink: 0;
}
.notice-row__title {
  font-size:16px;
  font-weight: 500;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.notice-row__date {
  font-size:13px;
  color: var(--text-light);
  flex-shrink: 0;
  margin-left: 12px;
}

/* ══════════ BLOG FEED — 원본 디자인 ══════════ */
.blog-feed {
  padding: 0 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.blog-item {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(58,42,30,0.06);
  display: flex;
  text-decoration: none !important;
  color: inherit !important;
}
.blog-item__thumb {
  flex: 0 0 100px;
  min-height: 100px;
  background: repeating-linear-gradient(45deg, var(--cream-dark), var(--cream-dark) 6px, var(--cream) 6px, var(--cream) 12px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.blog-item__thumb span {
  font-family: monospace;
  font-size:11px;
  color: var(--wood);
  opacity: 0.7;
}
.blog-item__body {
  padding: 14px 16px;
  flex: 1;
  min-width: 0;
}
.blog-item__title {
  font-size:16px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.4;
  margin-bottom: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.blog-item__excerpt {
  font-size:14px;
  color: var(--text-light);
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.blog-item__date {
  font-size:13px;
  color: var(--wood);
  margin-top: 8px;
}
.blog-more {
  text-align: center;
  padding: 12px;
  font-size:15px;
  font-weight: 500;
  color: var(--maroon) !important;
  text-decoration: none !important;
  display: block;
}

/* hide info-bar (옛 버전 잔재) */
.info-bar { display: none !important; }
.section-link { display: none !important; }
/* Notice archive cards are visible; shared card styles are defined below. */
/* Blog archive cards remain visible. */
.info-bar {
  background: var(--maroon);
  color: #fff;
  padding: 24px;
}
.info-bar__row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 8px 0;
}
.info-bar__row + .info-bar__row {
  border-top: 1px solid rgba(255,255,255,0.12);
  margin-top: 4px;
  padding-top: 12px;
}
.info-bar__label {
  font-size:12px;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.75);
  width: 60px;
  flex-shrink: 0;
  padding-top: 2px;
  font-weight: 500;
}
.info-bar__value {
  font-size:16px;
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
}
.info-bar__value small {
  display: block;
  font-size:13px;
  color: rgba(255,255,255,0.7);
  margin-top: 2px;
}

/* ══════════ NOTICE / BLOG SECTIONS ══════════ */
.list-card {
  background: #fff;
  border-radius: 12px;
  margin: 0 24px 12px;
  padding: 16px;
  border: 1px solid var(--line);
  box-shadow: 0 1px 8px rgba(58,42,30,0.04);
  display: block;
  transition: transform 0.15s;
}
.list-card:hover { transform: translateY(-1px); }
.list-card__title {
  font-size:16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.list-card__date {
  font-size:13px;
  color: var(--text-light);
}
.list-card__excerpt {
  font-size:14px;
  color: var(--text-light);
  line-height: 1.5;
  margin-top: 6px;
}
.badge-new {
  font-size:11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  background: var(--maroon);
  color: #fff;
  letter-spacing: 0.5px;
}

.section-link {
  text-align: right;
  padding: 0 24px 24px;
}
.section-link a {
  font-size:14px;
  color: var(--sienna);
  font-weight: 500;
}

/* ══════════ BLOG ══════════ */
.blog-card {
  display: flex;
  gap: 12px;
  background: #fff;
  border-radius: 12px;
  margin: 0 24px 12px;
  padding: 12px;
  border: 1px solid var(--line);
  box-shadow: 0 1px 8px rgba(58,42,30,0.04);
}
.blog-card__thumb {
  width: 84px;
  height: 84px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--cream-dark), var(--wood));
  flex-shrink: 0;
  background-size: cover;
  background-position: center;
}
.blog-card__body { flex: 1; min-width: 0; }
.blog-card__title {
  font-size:16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
  line-height: 1.4;
}
.blog-card__excerpt {
  font-size:13px;
  color: var(--text-light);
  line-height: 1.5;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-card__date { font-size:13px; color: var(--text-light); }

/* ══════════ SINGLE POST ══════════ */
.single-header {
  padding: 32px 24px 24px;
  border-bottom: 1px solid var(--line);
}
.single-header__cat {
  font-family: 'Nanum Myeongjo', serif;
  font-size:13px;
  letter-spacing: 3px;
  color: var(--sienna);
  margin-bottom: 8px;
  font-weight: 700;
}
.single-header__title {
  font-family: 'Nanum Myeongjo', serif;
  font-size:26px;
  font-weight: 800;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: 12px;
}
.single-header__date {
  font-size:14px;
  color: var(--text-light);
}
.single-content {
  padding: 24px;
  font-size:17px;
  line-height: 1.8;
  color: var(--text);
}
.single-content p { margin-bottom: 14px; }
.single-content h2 {
  font-family: 'Nanum Myeongjo', serif;
  font-size:22px;
  margin: 24px 0 12px;
  color: var(--maroon);
}
.single-content h3 {
  font-size:19px;
  margin: 20px 0 10px;
  color: var(--text);
}
.single-content img {
  border-radius: 8px;
  margin: 16px 0;
}
.single-content blockquote {
  border-left: 3px solid var(--maroon);
  padding: 8px 16px;
  margin: 16px 0;
  background: var(--cream-dark);
  font-style: italic;
  color: var(--text-light);
}
.single-back {
  padding: 16px 24px;
  border-top: 1px solid var(--line);
}
.single-back a {
  font-size:15px;
  color: var(--sienna);
  font-weight: 500;
}

/* ══════════ FOOTER ══════════ */
.site-footer {
  background: var(--maroon-deep);
  color: #fff;
  padding: 32px 24px 24px;
}
.site-footer__brand {
  font-family: 'Nanum Myeongjo', serif;
  font-size:18px;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  margin-bottom: 4px;
}
.site-footer__since {
  font-size:13px;
  color: var(--gold);
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.site-footer__info {
  font-size:14px;
  color: rgba(255,255,255,0.7);
  line-height: 1.9;
}
.site-footer__sns {
  display: flex;
  gap: 10px;
  margin: 16px 0 4px;
}
.site-footer__sns a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.site-footer__sns a:hover {
  background: var(--gold);
  color: var(--maroon-deep);
}
.site-footer__copy {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size:13px;
  color: rgba(255,255,255,0.4);
}

/* ══════════ DIRECTIONS PAGE ══════════ */
/* Hero */
.dir-hero {
  text-align: center;
  padding: 32px 20px 20px;
}
.dir-hero__sub {
  font-family: 'Nanum Myeongjo', serif;
  font-size:13px;
  letter-spacing: 4px;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 10px;
}
.dir-hero__title {
  font-family: 'Nanum Myeongjo', serif;
  font-size:34px;
  font-weight: 800;
  color: var(--maroon);
  margin: 0 0 12px;
  letter-spacing: -0.5px;
}
.dir-hero__desc {
  font-size:15px;
  color: var(--text-light);
  line-height: 1.7;
  margin: 0;
}

/* Map preview card (with footer) */
.dir-mapcard {
  margin: 0 20px 24px;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(58,42,30,0.1);
  border: 1px solid var(--line);
}
.dir-mapcard__map {
  display: block;
  position: relative;
  aspect-ratio: 4/3;
  background: var(--cream-dark);
  overflow: hidden;
}
.dir-mapcard__map img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dir-mapcard__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border-top: 1px solid var(--cream-dark);
}
.dir-mapcard__info { min-width: 0; }
.dir-mapcard__name {
  font-size:16px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 2px;
}
.dir-mapcard__addr {
  font-size:14px;
  color: var(--text-light);
}
.dir-mapcard__more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size:13px;
  font-weight: 600;
  color: var(--maroon);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Nav section header */
.dir-nav {
  margin: 0 20px 16px;
}
.dir-nav__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.dir-nav__bar {
  width: 3px;
  height: 14px;
  background: var(--maroon);
  border-radius: 2px;
}
.dir-nav__title {
  font-size:17px;
  font-weight: 700;
  color: var(--text);
}
.dir-nav__hint {
  margin-left: auto;
  font-size:13px;
  color: var(--text-light);
}

/* 2x2 nav buttons */
.dir-nav__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.dir-navbtn {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 14px;
  text-decoration: none;
  transition: all 0.2s;
}
.dir-navbtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(58,42,30,0.1);
}
.dir-navbtn__glyph {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size:18px;
  flex-shrink: 0;
}
.dir-navbtn__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.dir-navbtn__label {
  font-size:15px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.dir-navbtn__sub {
  font-size:13px;
  color: var(--text-light);
  margin-top: 2px;
}
.dir-nav__hintbox {
  margin-top: 10px;
  padding: 10px 12px;
  background: rgba(212,175,55,0.08);
  border: 1px solid rgba(212,175,55,0.25);
  border-radius: 8px;
  font-size:13px;
  color: var(--text-light);
  line-height: 1.5;
}

/* Info card: Address / Tel / Hours */
.dir-info {
  margin: 0 20px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
}
.dir-info__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--cream-dark);
}
.dir-info__row--last { border-bottom: 0; }
.dir-info__main { flex: 1; min-width: 0; }
.dir-info__label {
  font-size:12px;
  letter-spacing: 1.5px;
  color: var(--wood);
  font-weight: 600;
  margin-bottom: 6px;
}
.dir-info__value {
  font-size:16px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.6;
}
.dir-info__value--tel {
  font-size:20px;
  font-weight: 800;
  color: var(--maroon);
  letter-spacing: 0.3px;
}
.dir-info__sub {
  font-size:14px;
  color: var(--text-light);
  margin-top: 3px;
}
.dir-info__closed {
  font-size:14px;
  color: var(--maroon);
  font-weight: 600;
  margin-top: 6px;
}
.dir-info__copy {
  appearance: none;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 12px;
  font-size:13px;
  font-weight: 600;
  color: var(--text);
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.dir-info__copy:hover { background: #fff; }
.dir-info__copy.is-copied {
  background: var(--maroon);
  color: #fff;
  border-color: var(--maroon);
}
.dir-info__call {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--maroon);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-decoration: none;
  transition: transform 0.2s;
}
.dir-info__call:hover { transform: scale(1.05); }

/* Extras 2-up */
.dir-extras {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 20px 24px;
}
.dir-extra {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px;
  text-align: left;
}
.dir-extra__icon {
  font-size:22px;
  margin-bottom: 8px;
}
.dir-extra__title {
  font-size:15px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 4px;
}
.dir-extra__desc {
  font-size:13px;
  color: var(--text-light);
  line-height: 1.5;
}

/* Storefront refinement — 2026-09-07 */
html { scroll-behavior:smooth; }
#menu-section, #online-store { scroll-margin-top:80px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid var(--sienna); outline-offset:4px; }
.menu-row__icon:empty { display:none; }
.menu-featured-card__img { aspect-ratio:auto; min-height:46px; background:var(--cream-dark); }
.menu-featured-card__img::after { content:none; }
.menu-featured-card__tag { position:static; margin:12px; }
.menu-featured-card__body { padding:16px; }
.menu-featured-card__name { font-size:19px; }
.menu-featured-card__desc { font-size:14px; line-height:1.7; display:block; }
.menu-row { gap:12px; }
.menu-row__name { flex-wrap:wrap; }
.menu-row__desc { white-space:normal; line-height:1.65; }
.menu-row__inquiry { color:var(--maroon); font-size:14px; font-weight:600; white-space:nowrap; padding:10px 0; }
.nm-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
a.nm-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border-radius:6px; background:var(--maroon); color:var(--cream); font-size:16px; font-weight:600; border:1px solid var(--maroon); }
a.nm-button--light { background:var(--cream); color:var(--maroon-deep); border-color:var(--cream); }
a.nm-button--outline { background:transparent; color:var(--maroon); }
.nm-store { margin:32px 24px; padding:28px 24px; background:var(--cream-dark); border:1px solid var(--line); border-radius:12px; }
.nm-store__eyebrow { color:var(--sienna); font-size:13px; letter-spacing:2px; margin-bottom:10px; }
.nm-store h2 { font-family:'Nanum Myeongjo',serif; font-size:28px; line-height:1.5; margin-bottom:12px; }
.nm-store p { color:var(--text-light); line-height:1.8; font-size:16px; }
.dir-nav__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dir-navbtn { min-width:0; }
.dir-mapcard__map img { width:100%; height:auto; object-fit:contain; }
.dir-nav__hintbox { line-height:1.7; }
.nm-contactbar { position:fixed; bottom:0; left:0; right:0; z-index:90; display:flex; justify-content:center; gap:1px; background:var(--line); padding-bottom:env(safe-area-inset-bottom); box-shadow:0 -4px 20px #3e1c1c12; }
.nm-contactbar a { display:flex; flex:1; align-items:center; justify-content:center; min-height:56px; padding:12px; font-size:16px; font-weight:600; color:var(--maroon); background:var(--cream); }
.nm-contactbar a:last-child { background:var(--maroon); color:var(--cream); }
.site-footer { padding-bottom:96px; }
.site-footer__sns:empty { display:none; }
.app-frame > .woocommerce { padding:28px 24px; }
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit { background:var(--maroon); color:var(--cream); border-radius:6px; padding:14px 20px; }
.woocommerce .price { color:var(--maroon)!important; }
.woocommerce input.input-text, .woocommerce select, .woocommerce textarea { min-height:44px; border:1px solid var(--line); border-radius:6px; padding:10px; background:white; }
@media(min-width:768px) {
 body { padding:0; background:var(--cream); }
 .app-frame { width:100%; max-width:1120px; min-height:100vh; border-radius:0; overflow:visible; box-shadow:none; }
 .hero { min-height:520px; height:65vh; max-height:720px; }
 .hero__content { padding:64px; }
 .hero__title { font-size:66px; }
 .hero__sub { font-size:19px; }
 .hero__since { font-size:14px; }
 .nav__inner { justify-content:center; }
 .nav__item { padding:20px 30px; font-size:17px; }
 .section-title { padding:56px 48px 24px; }
 .section-title__main { font-size:36px; }
 .menu-tabs { max-width:520px; margin:0 auto 16px; }
 .menu-featured { padding:0 48px; gap:20px; }
 .menu-featured-card__body { padding:24px; }
 .menu-featured-card__name { font-size:25px; }
 .menu-featured-card__desc { font-size:16px; }
 .menu-section-title { margin-left:48px; margin-right:48px; padding-top:32px; }
 .menu-list-wrap { padding:8px 48px 16px; }
 .menu-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .menu-row { padding:20px; border-bottom:1px solid var(--line); }
 .menu-row:nth-child(odd) { border-right:1px solid var(--line); }
 .menu-row__name { font-size:18px; }
 .menu-row__desc { font-size:14px; }
 .menu-addons { margin:24px 48px; padding:0; }
 .infobar-card, .notice-header, .notice-list-wrap, .blog-feed { margin-left:48px; margin-right:48px; }
 .nm-store { margin:48px; padding:40px; }
 .nm-store h2 { font-size:36px; }
 .dir-hero { padding-top:56px; }
 .dir-mapcard, .dir-nav, .dir-info, .dir-extras { max-width:760px; margin-left:auto; margin-right:auto; }
 .dir-mapcard__map { max-height:none; }
 .dir-mapcard__map img { max-height:480px; }
 .nm-contactbar { display:none; }
 .site-footer { padding:48px; }
 .app-frame > .woocommerce { padding:40px 48px; }
}
@media(max-width:374px) { .hero__title { font-size:38px; } .menu-featured { gap:6px; padding:0 16px; } .menu-featured-card__body { padding:10px; } .menu-featured-card__name { font-size:17px; } .dir-nav__grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none!important; } }

.menu-featured-card__img:has(img) { aspect-ratio:4/3; }
.menu-featured-card__img img { display:block; width:100%; height:100%; object-fit:contain; }
.menu-featured-card__img:has(img) .menu-featured-card__tag { position:absolute; top:0; left:0; }
.menu-row__icon:has(img)::before { content:none; }
.menu-row__icon img { display:block; width:100%; height:100%; object-fit:contain; border-radius:0; }
.admin-bar .nav { top:32px; }
@media(max-width:782px) { .admin-bar .nav { top:46px; } }

@media(max-width:767px) { .dir-nav__grid { grid-template-columns:1fr; } .dir-navbtn__label { word-break:keep-all; } }

/* Keep article photos fully visible without pushing the introduction far down. */
.single-post .wp-post-image { max-height:420px; object-fit:contain; }

/* Editorial redesign · 2026-09-16. Existing restaurant palette retained. */
body { background:var(--cream); padding:0; }
.app-frame { max-width:none; width:100%; overflow:visible; border-radius:0; box-shadow:none; }
.nav { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:22px max(28px,calc((100vw - 1280px)/2)); background:var(--cream); }
.nm-wordmark { display:flex; flex-direction:column; flex-shrink:0; color:var(--maroon); }
.nm-wordmark span { font-family:'Nanum Myeongjo',serif; font-size:27px; font-weight:800; letter-spacing:-1px; }
.nm-wordmark small { font-size:11px; letter-spacing:2.6px; margin-top:7px; }
.nav__inner { gap:28px; justify-content:flex-end; }
.nav__item { padding:12px 0; font-size:16px; letter-spacing:0; }
.nav__item.is-active { background:none; color:var(--maroon); }
.nav__item.is-active::after { bottom:4px; height:1px; left:0; right:0; }
.nm-hero { display:grid; grid-template-columns:48% 52%; max-width:1600px; margin:auto; background:var(--maroon); color:var(--cream); }
.nm-hero__copy { display:flex; flex-direction:column; justify-content:center; padding:64px clamp(30px,5vw,90px); }
.nm-eyebrow { font-size:13px; font-weight:500; letter-spacing:3px; }
.nm-hero h1 { font-size:18px; font-weight:400; margin:42px 0 20px; letter-spacing:2px; }
.nm-hero__headline { font-family:'Nanum Myeongjo',serif; font-size:calc(clamp(40px,4.1vw,64px) + 2px); font-weight:700; line-height:1.35; letter-spacing:-2.5px; word-break:keep-all; }
.nm-hero__desc { font-size:17px; line-height:1.95; margin-top:26px; color:var(--cream-dark); }
.nm-hero .nm-actions { gap:26px; align-items:center; margin-top:32px; }
a.nm-button { border-radius:0; min-height:50px; padding:14px 22px; gap:28px; transition:background .2s; }
a.nm-button:hover { background:var(--maroon-deep); color:var(--cream); }
a.nm-button--light:hover { background:var(--cream-dark); color:var(--maroon-deep); }
.nm-hero__link { color:var(--cream); font-size:16px; border-bottom:1px solid #faf6f080; padding:12px 0; }
.nm-hero__foot { margin-top:48px; font-size:13px; letter-spacing:2px; color:var(--cream-dark); }
.nm-hero__photo { position:relative; min-width:0; }
.nm-hero__photo img { width:100%; height:100%; object-fit:cover; }
.nm-hero__photo figcaption { position:absolute; bottom:24px; right:28px; font-size:11px; letter-spacing:3px; color:var(--cream); }
.nm-quickfacts { display:flex; justify-content:center; gap:0; padding:24px 20px; border-bottom:1px solid var(--line); color:var(--text-light); font-size:14px; }
.nm-quickfacts span { padding:0 32px; border-right:1px solid var(--line); }
.nm-quickfacts span:last-child { border:0; }
.nm-intro { max-width:1280px; margin:100px auto 0; padding:0 28px; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.nm-intro__photo { position:relative; }
.nm-intro__photo img { width:100%; aspect-ratio:4/5; object-fit:cover; max-height:600px; }
.nm-store { margin:0; padding:0; background:none; border:0; border-radius:0; }
.nm-store__eyebrow { font-size:13px; letter-spacing:3px; color:var(--sienna); margin-bottom:22px; }
.nm-store h2 { font-size:calc(clamp(28px,2.8vw,40px) + 2px); line-height:1.5; letter-spacing:-1.5px; margin-bottom:26px; }
.nm-store p { font-size:16px; line-height:1.95; margin:0 0 18px; word-break:keep-all; }
.nm-store p a { border-bottom:1px solid var(--wood); padding-bottom:4px; color:var(--maroon); font-size:15px; }
.section-title { max-width:1280px; margin:auto; padding:100px 28px 36px; text-align:left; }
.section-title__sub { font-size:13px; letter-spacing:2.5px; color:var(--sienna); margin-bottom:16px; }
.section-title__main { font-size:calc(clamp(28px,3vw,42px) + 2px); line-height:1.45; letter-spacing:-1.5px; }
.menu-tabs { display:flex; justify-content:flex-start; gap:24px; width:auto; max-width:1224px; margin:0 auto 30px; padding:0; border:0; background:none; border-radius:0; }
.menu-tab { flex:0 0 auto; min-width:120px; padding:14px 22px; border:1px solid var(--line); border-radius:0; background:none; color:var(--text-light); }
.menu-tab.is-active { background:var(--maroon); color:var(--cream); border-color:var(--maroon); box-shadow:none; }
.menu-tab__l { font-size:18px; }.menu-tab__s { font-size:13px; margin-top:3px; }
.menu-pane { max-width:1280px; margin:auto; padding:0 28px; }
.menu-featured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; gap:28px; }
.menu-featured-card { border:0; border-radius:0; box-shadow:none; background:none; overflow:visible; }
.menu-featured-card__img:has(img) { aspect-ratio:4/3; background:var(--cream-dark); overflow:hidden; }
.menu-featured-card__img img { object-fit:contain; }
.menu-featured-card__tag { border-radius:0; padding:6px 10px; box-shadow:none; font-size:12px; }
.menu-featured-card__body { padding:22px 0; border-bottom:1px solid var(--line); }
.menu-featured-card__name { font-size:26px; font-weight:500; }
.menu-featured-card__desc { font-size:15px; margin-top:8px; min-height:40px; line-height:1.8; }
.menu-featured-card__price,.menu-featured-card__variants { margin-top:16px; }
.nm-menu-details { margin-top:34px; border-top:1px solid var(--text); border-bottom:1px solid var(--line); }
.nm-menu-details summary { cursor:pointer; padding:24px 0; display:flex; justify-content:space-between; font-size:18px; font-weight:500; list-style:none; }
.nm-menu-details summary::-webkit-details-marker { display:none; }.nm-menu-details[open] summary span { transform:rotate(45deg); }
.menu-section-title { margin:0 0 16px; padding-top:20px; }.menu-list-wrap { padding:0; }.menu-list { border-radius:0; background:none; }.menu-row { padding:24px 20px; }.menu-addons { margin:32px 0; }.menu-addon-grid { border-radius:0; }
.infobar-card { max-width:1224px; margin:0 auto 64px; padding:36px 40px; border-radius:0; background:var(--maroon); border:0; color:var(--cream); box-shadow:none; }
.infobar-card__label { color:var(--gold); letter-spacing:3px; margin-bottom:22px; }.infobar-card__hours { color:var(--cream); font-size:18px; line-height:1.9; }.infobar-card__addr { color:var(--cream-dark); font-size:16px; line-height:1.9; margin-top:14px; }.infobar-card__addr small { font-size:14px; color:var(--cream-dark); }.infobar-card__btn { border-radius:0; background:var(--cream); color:var(--maroon); padding:14px 24px; }
.notice-header,.notice-list-wrap { max-width:1224px; margin-left:auto; margin-right:auto; }.notice-header { padding:0 0 20px; }.notice-header__title { font-size:26px; }.notice-header__bar { display:none; }.notice-list { border-radius:0; background:none; border-left:0; border-right:0; border-top:1px solid var(--text); }.notice-row { padding:24px 0; }.notice-row__title { font-size:17px; }.notice-row__date { font-size:14px; }
.blog-feed { max-width:1224px; margin:0 auto 90px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; border:0; border-radius:0; background:none; }
.blog-item { display:flex; flex-direction:column; padding:0 0 26px; gap:24px; border-bottom:1px solid var(--line); background:none; }
.blog-item__thumb { width:100%!important; flex:auto!important; aspect-ratio:16/10!important; border-radius:0; }.blog-item__thumb img { object-fit:contain!important; background:var(--cream-dark); }
.blog-item__body { width:100%; }.blog-item__title { font-size:24px; font-weight:500; line-height:1.5; -webkit-line-clamp:3; }.blog-item__excerpt { font-size:16px; line-height:1.9; margin-top:14px; }.blog-item__date { font-size:13px; margin-top:22px; }.blog-more { grid-column:1/-1; justify-self:start; border-bottom:1px solid var(--maroon); padding:8px 0; font-size:16px; }
.site-footer { margin:0; padding:64px max(28px,calc((100vw - 1224px)/2)); background:var(--maroon-deep); text-align:left; color:var(--cream); }.site-footer__brand { color:var(--cream); font-size:32px; }.site-footer__since { color:var(--gold); }.site-footer__info { color:var(--cream-dark); font-size:15px; line-height:2; }.site-footer__copy { border-top:1px solid #faf6f030; padding-top:24px; margin-top:30px; color:var(--cream-dark); }.site-footer__sns { justify-content:flex-start; }
body .nm-blog-archive { max-width:1280px; margin:auto; padding:70px 28px 100px; }
body .nm-blog-archive h1 { font-size:54px; margin-bottom:48px; letter-spacing:-2px; }
body .nm-story-grid { gap:50px 32px; }body .nm-story-card { border:0; border-radius:0; background:none; border-bottom:1px solid var(--line); }body .nm-story-card__media { aspect-ratio:16/10; }body .nm-story-card__media img { object-fit:contain; }body .nm-story-card__body { padding:24px 0; }body .nm-story-card h2 { font-size:26px; font-weight:500; }body .nm-story-card__excerpt { line-height:1.9; }
body .nm-story-card:first-child { grid-column:1/-1; }body .nm-story-card:first-child>a { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }body .nm-story-card:first-child h2 { font-family:'Nanum Myeongjo',serif; font-size:36px; line-height:1.5; }
.single-post .app-frame>article,.page .app-frame>article { max-width:900px; margin-left:auto; margin-right:auto; }
@media (min-width:768px) and (max-width:1280px) { .menu-tabs,.infobar-card,.notice-header,.notice-list-wrap,.blog-feed { margin-left:28px; margin-right:28px; } .nav__inner { gap:20px; }.nm-hero__copy { padding:40px; }.nm-hero h1 { margin-top:24px; }.nm-hero__foot { margin-top:28px; }.nm-intro { gap:40px; } }
@media(max-width:767px) {
 .nav { display:block; padding:18px 20px 0; }.nm-wordmark { align-items:center; }.nm-wordmark span { font-size:25px; }.nm-wordmark small { font-size:10px; }.nav__inner { margin-top:14px; gap:24px; justify-content:flex-start; }.nav__item { font-size:14px; padding:14px 0; }
 .nm-hero { grid-template-columns:1fr; }.nm-hero__copy { padding:40px 24px; }.nm-eyebrow { font-size:11px; }.nm-hero h1 { margin:28px 0 16px; font-size:16px; }.nm-hero__headline { font-size:46px; letter-spacing:-1.8px; }.nm-hero__desc { font-size:15px; margin-top:22px; }.nm-hero__foot { margin-top:32px; font-size:12px; }.nm-hero .nm-actions { gap:20px; margin-top:26px; }.nm-hero__photo img { height:auto; aspect-ratio:1; object-fit:contain; }.nm-quickfacts { display:grid; grid-template-columns:1fr 1fr; gap:14px 0; padding:22px 12px; text-align:center; font-size:13px; }.nm-quickfacts span { padding:0 8px; }.nm-quickfacts span:nth-child(2) { border:0; }
 .nm-intro { display:flex; flex-direction:column; margin-top:56px; padding:0 24px; gap:32px; }.nm-intro__photo { width:100%; }.nm-intro__photo img { aspect-ratio:4/3; }.nm-store h2 { font-size:31px; }.nm-store p { font-size:15px; }.nm-store .nm-actions { gap:10px; }a.nm-button { font-size:14px; padding:12px 16px; min-height:48px; gap:20px; }
 .section-title { padding:60px 24px 28px; }.section-title__main { font-size:32px; }.section-title__sub { font-size:11px; }.menu-tabs { margin:0 24px 24px; gap:12px; }.menu-tab { min-width:110px; }.menu-pane { padding:0 24px; }.menu-featured { display:flex; flex-direction:column; gap:28px; }.menu-featured-card { display:grid; grid-template-columns:42% 1fr; gap:18px; align-items:center; }.menu-featured-card__img:has(img) { aspect-ratio:1; }.menu-featured-card__body { padding:12px 0; border:0; }.menu-featured-card__name { font-size:23px; }.menu-featured-card__desc { min-height:0; font-size:14px; }.menu-featured-card__tag { margin:6px; padding:4px 6px; }.menu-featured-card__variant { font-size:16px; }.menu-row { padding:18px 0; }.menu-list { display:block; }.menu-row__name { font-size:16px; }.menu-row__desc { font-size:13px; }.menu-row__icon { width:48px; height:48px; }.menu-addons { padding:0; }.menu-section-title { font-size:18px; }.nm-menu-details summary { font-size:16px; }.menu-row__variants { gap:6px; }.menu-row__variant { font-size:15px; }
 .infobar-card { margin:0 24px 46px; padding:26px 22px; }.infobar-card__row { align-items:flex-start; flex-direction:column; gap:24px; }.infobar-card__hours { font-size:15px; }.infobar-card__addr { font-size:14px; }.notice-header,.notice-list-wrap { margin-left:24px; margin-right:24px; }.notice-header__title { font-size:24px; }.notice-row { padding:20px 0; gap:14px; }.notice-row__title { font-size:15px; white-space:normal; }.notice-row__date { font-size:12px; flex-shrink:0; }
 .blog-feed { margin:0 24px 60px; grid-template-columns:1fr; gap:30px; }.blog-item { gap:20px; }.blog-item__title { font-size:23px; }.blog-item__excerpt { font-size:15px; }.site-footer { padding:44px 24px 100px; }.site-footer__brand { font-size:28px; }
 body .nm-blog-archive { padding:44px 24px 60px; }body .nm-blog-archive h1 { font-size:38px; margin-bottom:32px; }body .nm-story-grid { grid-template-columns:1fr; gap:30px; }body .nm-story-card:first-child>a { display:block; }body .nm-story-card:first-child h2 { font-size:28px; }body .nm-story-card h2 { font-size:24px; }
}
@media(max-width:767px) { .nav__inner { gap:0; justify-content:space-between; }.nav__item { font-size:13px; } }

/* Light editorial refinement — 2026-09-16 */
:root{--cream:#FCFBF8;--cream-dark:#F2F0EB;--text:#292927;--text-light:#696862;--line:#E5E2DC;--sienna:#75665D;--wood:#75665D;}
body{background:var(--cream);color:var(--text);}
.nm-wordmark span{font-family:'Noto Sans KR',sans-serif;font-size:25px;font-weight:700;letter-spacing:-1.3px;}
.nm-wordmark small{font-size:10px;letter-spacing:2.2px;color:var(--text-light);}
.nav{padding-top:20px;padding-bottom:20px;background:var(--cream);}
.nav__item{font-size:15px;color:var(--text-light);}
.nm-hero{grid-template-columns:46% 54%;max-width:1360px;margin:36px auto 0;padding:0 28px;background:transparent;color:var(--text);}
.nm-hero__copy{padding:48px 48px 48px 0;}
.nm-eyebrow{font-size:12px;color:var(--text-light);letter-spacing:2px;}
.nm-hero h1{font-size:16px;letter-spacing:0;margin:38px 0 18px;color:var(--maroon);font-weight:500;}
.nm-hero__headline{font-family:'Noto Sans KR',sans-serif;font-weight:500;font-size:calc(clamp(36px,4vw,56px) + 2px);line-height:1.35;letter-spacing:-2.8px;}
.nm-hero__desc{color:var(--text-light);font-size:16px;line-height:1.9;margin-top:24px;}
.nm-hero .nm-actions{gap:24px;margin-top:30px;}
.nm-hero a.nm-button--light{background:var(--maroon);color:#fff;border-color:var(--maroon);}
.nm-hero a.nm-button--light:hover{background:var(--maroon-deep);color:#fff;}
.nm-hero__link{color:var(--text);border-color:var(--line);font-size:15px;}
.nm-hero__foot{color:var(--text-light);font-size:12px;letter-spacing:1px;margin-top:38px;}
.nm-hero__photo img{aspect-ratio:1;object-fit:contain;height:auto;}
.nm-hero__photo figcaption{display:none;}
.nm-quickfacts{max-width:1304px;margin:auto;padding:26px 0;border-top:0;font-size:13px;}
.nm-intro{margin-top:80px;gap:64px;}
.nm-intro__photo img{aspect-ratio:4/3;max-height:440px;}
.nm-store h2,.section-title__main,body .nm-blog-archive h1,body .nm-story-card:first-child h2,.site-footer__brand{font-family:'Noto Sans KR',sans-serif;font-weight:500;}
.nm-store h2{font-size:34px;line-height:1.5;letter-spacing:-1.4px;}
.nm-store p{font-size:15px;}
.nm-store__eyebrow,.section-title__sub,body .nm-blog-archive__eyebrow{color:var(--text-light);letter-spacing:2px;}
.section-title{padding-top:80px;}.section-title__main{font-size:38px;line-height:1.45;letter-spacing:-1.6px;}
.menu-tabs{gap:0;border-bottom:1px solid var(--line);}
.menu-tab,.menu-tab.is-active{padding:12px 24px 18px;background:none;border:0;color:var(--text-light);box-shadow:none;position:relative;}
.menu-tab.is-active{color:var(--maroon);border-bottom:2px solid var(--maroon);}
.menu-tab__l{font-size:17px;}.menu-tab__s{font-size:12px;}
.menu-featured-card__name{font-size:24px;}.menu-featured-card__body{padding:20px 0;}
.infobar-card{background:var(--cream-dark);color:var(--text);padding:32px 36px;}
.infobar-card__label{color:var(--maroon);letter-spacing:1px;}
.infobar-card__hours{color:var(--text);font-size:17px;}
.infobar-card__addr,.infobar-card__addr small{color:var(--text-light);}
.infobar-card__btn{background:var(--maroon);color:#fff;}
.notice-header__title{font-weight:500;font-size:25px;}
.blog-item__title{font-size:23px;}.blog-item__date{color:var(--text-light);}
.site-footer{background:var(--cream-dark);border-top:1px solid var(--line);color:var(--text);}
.site-footer__brand{font-size:27px;color:var(--maroon);letter-spacing:-1px;}
.site-footer__since{color:var(--text-light);}.site-footer__info,.site-footer__copy{color:var(--text-light);}.site-footer__copy{border-top-color:var(--line);}
body .nm-blog-archive h1{font-size:46px;letter-spacing:-2px;}
body .nm-story-card:first-child h2{font-size:32px;letter-spacing:-1px;}
@media(min-width:768px) and (max-width:1100px){.nm-hero__copy{padding:28px 24px 28px 0;}.nm-hero__headline{font-size:40px;}.nm-hero h1{margin-top:22px;}.nm-hero__foot{margin-top:26px;}.nm-hero .nm-actions{gap:16px;}.nm-intro{gap:32px;}.nm-store h2{font-size:30px;}}
@media(max-width:767px){
.nav{padding:16px 20px 0;}.nav__item{font-size:13px;}.nm-wordmark span{font-size:24px;}
.nm-hero{display:flex;flex-direction:column;margin:0;padding:0 24px;}.nm-hero__copy{padding:34px 0 30px;}.nm-eyebrow{font-size:11px;}.nm-hero h1{margin:24px 0 14px;font-size:14px;}.nm-hero__headline{font-size:41px;letter-spacing:-2px;}.nm-hero__desc{font-size:15px;margin-top:20px;}.nm-hero .nm-actions{margin-top:24px;gap:20px;}.nm-hero__foot{display:none;}.nm-hero__photo{width:100%;}.nm-hero__photo img{width:100%;aspect-ratio:1;}
.nm-quickfacts{margin:0 24px;padding:20px 0;font-size:12px;}.nm-intro{margin-top:52px;gap:28px;}.nm-store h2{font-size:29px;}.section-title{padding-top:56px;}.section-title__main{font-size:30px;letter-spacing:-1.3px;}.menu-tab{min-width:100px;}.menu-featured-card__name{font-size:21px;}.menu-featured-card__desc{font-size:13px;}.infobar-card{padding:26px 22px;}.infobar-card__hours{font-size:15px;}.site-footer__brand{font-size:25px;}body .nm-blog-archive h1{font-size:36px;}body .nm-story-card:first-child h2{font-size:27px;}
}

/* Public livestock news — 2026-09-16 */
.page-id-649 .app-frame>article{max-width:1040px;margin:0 auto;padding:0 28px;}
.page-id-649 .single-header{padding:58px 0 24px;margin:0;border:0;}
.page-id-649 .single-header__title{font-family:'Noto Sans KR',sans-serif;font-size:44px;font-weight:500;letter-spacing:-1.8px;}
.page-id-649 .single-content{padding:0;margin:0;max-width:none;}
.nm-market{padding-bottom:72px;}.nm-market p{font-size:17px;line-height:1.9;word-break:keep-all;}
.nm-market .nm-market-kicker{font-size:12px;letter-spacing:2px;color:var(--text-light);margin:0 0 16px;}
.nm-market .nm-market-intro{font-size:24px;line-height:1.65;letter-spacing:-.6px;margin:0 0 14px;}
.nm-market .nm-market-updated{font-size:14px;color:var(--text-light);margin:0 0 24px;}
.nm-market-principle{font-size:15px;line-height:1.8;padding:20px 24px;background:var(--cream-dark);border-left:2px solid var(--maroon);color:var(--text-light);}
.nm-market h2{font-family:'Noto Sans KR',sans-serif;font-size:27px;font-weight:500;letter-spacing:-.7px;margin:44px 0 20px;}
.nm-market-summary{padding-bottom:20px;color:var(--text-light);}
.nm-market-card{padding:30px 0;border-top:1px solid var(--line);}
.nm-market .nm-market-tag{font-size:13px;font-weight:500;letter-spacing:.4px;color:var(--maroon);margin:0 0 12px;}
.nm-market h3{font-family:'Noto Sans KR',sans-serif;font-size:25px;font-weight:500;line-height:1.5;letter-spacing:-.6px;margin:0 0 18px;}
.nm-market-impact{padding:20px 24px;background:var(--cream-dark);margin:22px 0;}.nm-market-impact strong{font-size:15px;color:var(--text);}.nm-market-impact p{font-size:16px;margin:8px 0 0;}
.nm-market .nm-market-source{font-size:14px;color:var(--text-light);line-height:1.9;margin:20px 0 0;}.nm-market a{color:var(--maroon);border-bottom:1px solid var(--line);}
.nm-market details{border-top:1px solid var(--line);padding:18px 0;}.nm-market summary{cursor:pointer;font-size:17px;line-height:1.7;font-weight:500;}.nm-market details>p{font-size:16px;margin:16px 0;}.nm-market-guide{margin:30px 0 40px;padding-top:4px;border-top:1px solid var(--line);}
.nm-market .nm-market-method{font-size:14px;color:var(--text-light);padding-top:24px;border-top:1px solid var(--line);}
@media(max-width:767px){.nav__inner{flex-wrap:wrap;justify-content:center;gap:0 20px;margin-top:10px;}.nav__item{padding:10px 0;}.page-id-649 .app-frame>article{padding:0 24px;}.page-id-649 .single-header{padding:38px 0 22px;}.page-id-649 .single-header__title{font-size:34px;}.nm-market .nm-market-intro{font-size:21px;}.nm-market h2{font-size:24px;}.nm-market h3{font-size:22px;}.nm-market p{font-size:16px;}.nm-market-principle,.nm-market-impact{padding:18px;}.nm-market-card{padding:26px 0;}#menu-section,#online-store{scroll-margin-top:148px;}}

/* Uniform blog archive cards — 2026-09-16 */
body .nm-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 32px; }
body .nm-story-card, body .nm-story-card:first-child { grid-column:auto; min-width:0; }
body .nm-story-card > a, body .nm-story-card:first-child > a { display:flex; flex-direction:column; gap:0; align-items:stretch; height:100%; }
body .nm-story-card__media { flex:none; width:100%; aspect-ratio:16/10; }
body .nm-story-card__media img { width:100%; height:100%; object-fit:contain; }
body .nm-story-card > a:not(:has(.nm-story-card__media))::before { content:'남면한우마을 · 블로그'; display:flex; align-items:center; justify-content:center; aspect-ratio:16/10; flex:none; width:100%; background:var(--cream-dark); color:var(--text-light); font-size:18px; letter-spacing:2px; }
body .nm-story-card__body { display:flex; flex-direction:column; padding:24px 0; flex:1; min-width:0; }
body .nm-story-card h2, body .nm-story-card:first-child h2 { font-family:'Noto Sans KR',sans-serif; font-size:24px; font-weight:500; line-height:1.5; letter-spacing:-.6px; height:3em; margin:0 0 12px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
body .nm-story-card__excerpt { line-height:1.9; height:3.8em; margin:0 0 20px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
body .nm-story-card__meta { margin-top:auto; }
@media(max-width:767px) { body .nm-story-grid { grid-template-columns:1fr; gap:28px; } body .nm-story-card h2, body .nm-story-card:first-child h2 { font-size:22px; } }

/* Blend thumbnail letterboxing into the page, preserving complete posters. */
body .nm-story-card__media { background:transparent; }

/* Menu photographs: square frames, full composition, centered — 2026-09-17. */
.menu-featured-card__img:has(img){position:relative;width:100%;aspect-ratio:1 / 1;min-height:0;overflow:hidden;background:#f3efe8;}
.menu-featured-card__img img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center center;}
.menu-row__icon:has(img){width:72px;height:72px;aspect-ratio:1 / 1;flex:0 0 72px;overflow:hidden;background:#f3efe8;}
.menu-row__icon img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;}
.menu-addon-row img{width:72px!important;height:72px!important;aspect-ratio:1 / 1;object-fit:contain!important;object-position:center center;background:#f3efe8;}
.nm-menu-banchan img{aspect-ratio:1 / 1;width:100%;height:auto!important;object-fit:contain;object-position:center center;background:#f3efe8;}
@media(max-width:767px){.menu-row__icon:has(img){width:64px;height:64px;flex-basis:64px;}.menu-addon-row img{width:64px!important;height:64px!important;}}

/* Readability: default body text +2px, 2026-09-17. */
body{font-size:18px;}

/* Main-page category navigation: reduced 30 percent from 30px / 26px. */
.home .nav{flex-wrap:wrap;justify-content:center;}
.home .nav__inner{flex-wrap:wrap;justify-content:center;overflow:visible;gap:8px 26px;}
.home .nav__item{font-size:21px;line-height:1.4;white-space:nowrap;}
@media(max-width:767px){.home .nav__inner{gap:0 20px;}.home .nav__item{font-size:18.2px;padding:10px 0;}.home #menu-section,.home #online-store{scroll-margin-top:290px;}}

/* Header alignment and introduction labels — 2026-09-17. */
.nav,.home .nav{justify-content:space-between;}
.nav .nm-wordmark{align-items:flex-start;text-align:left;margin-right:auto;}
.nav .nav__inner,.home .nav__inner{justify-content:flex-end;margin-left:auto;}
.home .nm-hero .nm-eyebrow,.home .nm-hero h1{font-size:16px;}
@media(max-width:767px){.nav .nm-wordmark{align-items:flex-start;}.nav .nav__inner,.home .nav__inner{justify-content:flex-end;}}

/* Mobile single post: nav scrolls away instead of covering text - 2026-09-23. */
@media(max-width:767px){body.single .nav{position:static;}}
