/* ============================================================
 * Midday AARP — 디자인 토큰 + 컴포넌트
 * 단일 소스 오브 트루스: Plans_f.md (UI 개선안_260427)
 * 톤: AARP The Magazine 미국 본지의 디지털 모바일 번역
 * ============================================================ */

/* ---------- 1.1 색상 ---------- */
:root {
  --midday-red:           #D7262C;
  --midday-red-light:     #FFD0D0;
  --midday-red-bg-soft:   #FFE0E0;
  --midday-black:         #000000;
  --midday-ink:           #1A1A1A;
  --midday-white:         #FFFFFF;
  --midday-gray-50:       #F5F5F5;
  --midday-gray-200:      #DDDDDD;
  --midday-gray-500:      #888888;
  --midday-gray-700:      #444444;
  --midday-footer:        #1A1A1A;

  /* 1.2 타이포 */
  --font-serif: 'Noto Serif KR', 'Source Serif Pro', Georgia, serif;
  --font-sans: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --text-h1-hero: 32px;
  --text-h1: 28px;
  --text-h2: 24px;
  --text-h3: 17px;
  --text-body: 17px;
  --text-dek: 16px;
  --text-meta: 11px;
  --text-caption: 12px;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;

  --lh-headline: 1.05;
  --lh-h2: 1.15;
  --lh-body: 1.7;
  --lh-meta: 1.4;

  --ls-headline: -1px;
  --ls-h2: -0.5px;
  --ls-meta: 1.5px;
  --ls-meta-loose: 2px;

  /* 1.3 간격 */
  --pad-mobile-side: 18px;
  --gap-section: 32px;
  --gap-block: 24px;
  --gap-inline: 14px;
  --divider-thick: 6px;
  --divider-medium: 2px;
  --divider-thin: 0.5px;
  --progress-bar: 3px;
}

/* ---------- 글로벌 리셋 (Kadence 위 오버라이드) ---------- */
html, body {
  background: var(--midday-white) !important;
  color: var(--midday-ink) !important;
  font-family: var(--font-sans);
  font-size: var(--text-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 1.4 라디우스 0 — Plans 명시: 카드/박스/버튼 모두 각진 모서리 */
.midday-aarp .card,
.midday-aarp .button,
.midday-aarp .box,
.midday-aarp button,
.midday-aarp input,
.midday-aarp textarea,
.midday-aarp select {
  border-radius: 0 !important;
}

/* ============================================================
 * 헤더
 * ============================================================ */
.midday-header {
  background: var(--midday-red);
  padding: 14px var(--pad-mobile-side) 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 100;
}
.midday-header__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.midday-header__back {
  font-size: 18px;
  color: var(--midday-white);
  font-weight: var(--weight-bold);
  text-decoration: none;
}
.midday-header__wordmark {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: var(--weight-bold);
  color: var(--midday-white);
  letter-spacing: -0.8px;
  line-height: 1;
}
@media (min-width: 768px) {
  .midday-header__wordmark { font-size: 28px; letter-spacing: -1px; }
}
.midday-header__icons {
  display: flex;
  gap: 14px;
  align-items: center;
}
.midday-header__icons svg {
  stroke: var(--midday-white);
  stroke-width: 2.5;
  width: 18px;
  height: 18px;
}

/* 발행 정보 띠 (홈만) */
.midday-issue-strip {
  background: var(--midday-black);
  padding: 8px var(--pad-mobile-side);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.5px;
  color: var(--midday-white);
}
.midday-issue-strip__vol { color: #FFB8B8; }

/* 진행률 바 (글 상세) */
.midday-progress {
  height: var(--progress-bar);
  background: #EEE;
  position: sticky;
  top: 50px;
  z-index: 99;
}
.midday-progress__fill {
  height: 100%;
  width: 0;
  background: var(--midday-red);
  transition: width 0.05s linear;
}

/* ============================================================
 * 5기둥 내비
 * ============================================================ */
.midday-pillar-nav {
  background: var(--midday-white);
  border-bottom: 3px solid var(--midday-black);
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.midday-pillar-nav::-webkit-scrollbar { display: none; }
.midday-pillar-nav__item {
  flex-shrink: 0;
  padding: 12px 14px;
  border-right: 0.5px solid var(--midday-gray-200);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--midday-gray-700);
  text-decoration: none;
  white-space: nowrap;
}
.midday-pillar-nav__item:last-child { border-right: none; }
.midday-pillar-nav__item.is-active,
.midday-pillar-nav__item:hover {
  background: var(--midday-gray-50);
  color: var(--midday-black);
  font-weight: var(--weight-bold);
}

/* ============================================================
 * 글 상세 — 키커
 * ============================================================ */
.midday-kicker {
  padding: 22px var(--pad-mobile-side) 0;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.midday-kicker__cover {
  background: var(--midday-red);
  color: var(--midday-white);
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  padding: 4px 8px;
}
.midday-kicker__cat {
  font-size: 10px;
  color: var(--midday-black);
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
}

/* 헤드라인 영역 */
.midday-article__head {
  padding: 18px var(--pad-mobile-side) 0;
}
.midday-article__h1 {
  font-family: var(--font-serif);
  font-size: var(--text-h1-hero);
  font-weight: var(--weight-bold);
  line-height: var(--lh-headline);
  letter-spacing: var(--ls-headline);
  color: var(--midday-black);
  margin: 0 0 16px;
}
.midday-article__dek {
  font-size: 17px;
  line-height: 1.45;
  color: #2A2A2A;
  margin: 0 0 20px;
  font-weight: var(--weight-regular);
}

/* BYLINE */
.midday-byline {
  padding: 12px 0;
  border-top: 2px solid var(--midday-black);
  border-bottom: 0.5px solid var(--midday-black);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.midday-byline__author {
  font-size: 11px;
  color: var(--midday-black);
  letter-spacing: 1px;
}
.midday-byline__author-name {
  font-weight: var(--weight-bold);
  margin-bottom: 2px;
}
.midday-byline__supervisor {
  color: #666;
  font-weight: 500;
}
.midday-byline__meta {
  font-size: 11px;
  color: #666;
  letter-spacing: 0.5px;
  text-align: right;
}

/* HERO 이미지 */
.midday-hero {
  margin: 18px 0 0;
}
.midday-hero__img-wrap {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--midday-ink);
  position: relative;
  overflow: hidden;
}
.midday-hero__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.midday-hero__caption {
  padding: 8px var(--pad-mobile-side) 14px;
  border-bottom: 0.5px solid var(--midday-gray-200);
  font-size: 11px;
  color: #666;
  line-height: 1.4;
  font-style: italic;
  font-family: var(--font-serif);
}

/* ============================================================
 * 본문
 * ============================================================ */
.midday-content {
  padding: 24px var(--pad-mobile-side) 0;
}
.midday-content p {
  font-size: var(--text-body);
  line-height: var(--lh-body);
  color: var(--midday-ink);
  margin: 0 0 18px;
}
.midday-content p strong { font-weight: var(--weight-bold); color: var(--midday-black); }

/* Drop Cap — 첫 단락 첫 글자 */
.midday-content .midday-dropcap-paragraph::first-letter,
.midday-content > p:first-of-type::first-letter,
.midday-dropcap-paragraph::first-letter {
  font-family: var(--font-serif);
  font-size: 56px;
  font-weight: var(--weight-bold);
  float: left;
  line-height: 0.85;
  padding: 4px 8px 0 0;
  color: var(--midday-red);
}

/* H2 — 번호 + 검정 라인 + 타이틀 */
.midday-content h2 {
  font-family: var(--font-serif);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: var(--lh-h2);
  letter-spacing: var(--ls-h2);
  color: var(--midday-black);
  margin: 28px 0 14px;
  padding-top: 28px;
  position: relative;
  counter-increment: midday-h2;
}
.midday-content h2::before {
  content: counter(midday-h2, decimal-leading-zero);
  display: block;
  font-family: var(--font-serif);
  font-size: 36px;
  font-weight: var(--weight-bold);
  color: var(--midday-red);
  line-height: 1;
  margin-bottom: 14px;
}
.midday-content h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 100%;
  background: var(--midday-black);
  position: absolute;
  top: 76px;
  left: 0;
}
.midday-content { counter-reset: midday-h2; }

/* H3 (FAQ Q 등) */
.midday-content h3 {
  font-family: var(--font-serif);
  font-size: var(--text-h3);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: var(--midday-black);
  margin: 18px 0 10px;
}

/* ============================================================
 * KEY TAKEAWAY 박스 (chg-083 신뢰 게이트 가시화 핵심)
 * ============================================================ */
.midday-key-takeaway {
  margin: 8px var(--pad-mobile-side) 24px;
  background: var(--midday-gray-50);
  border-left: 6px solid var(--midday-red);
  padding: 18px 18px 18px 16px;
}
.midday-key-takeaway__label {
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  color: var(--midday-red);
  margin-bottom: 10px;
}
.midday-key-takeaway__body {
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 1.55;
  color: var(--midday-black);
  font-weight: var(--weight-medium);
}
.midday-key-takeaway__body strong { font-weight: var(--weight-bold); }
.midday-key-takeaway__body ol,
.midday-key-takeaway__body ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

/* ============================================================
 * 풀 인용 박스 (전문가 인용)
 * ============================================================ */
.midday-pullquote {
  margin: 22px var(--pad-mobile-side);
  padding: 22px 18px;
  background: var(--midday-black);
  color: var(--midday-white);
}
.midday-pullquote__mark {
  font-size: 36px;
  font-family: var(--font-serif);
  color: var(--midday-red);
  line-height: 0.5;
  margin-bottom: 8px;
  font-weight: var(--weight-bold);
}
.midday-pullquote__body {
  font-family: var(--font-serif);
  font-size: 18px;
  line-height: 1.45;
  color: var(--midday-white);
  font-weight: var(--weight-medium);
  margin-bottom: 16px;
}
.midday-pullquote__line {
  height: 1px;
  width: 32px;
  background: var(--midday-red);
  margin-bottom: 10px;
}
.midday-pullquote__cite {
  font-size: 11px;
  color: #BBB;
  letter-spacing: 1px;
  font-weight: 600;
}

/* ============================================================
 * EDITOR'S PICK (쿠팡 추천 박스)
 * ============================================================ */
.midday-editor-pick {
  margin: 24px var(--pad-mobile-side);
  border: 2px solid var(--midday-black);
}
.midday-editor-pick__header {
  background: var(--midday-black);
  color: var(--midday-white);
  padding: 8px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.midday-editor-pick__label {
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
}
.midday-editor-pick__ad {
  font-size: 9px;
  color: #999;
  letter-spacing: 1px;
}
.midday-editor-pick__body { padding: 16px; }
.midday-editor-pick__row {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
}
.midday-editor-pick__img {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  background: linear-gradient(135deg, #E8DAC0, #B89876);
  background-size: cover;
  background-position: center;
}
.midday-editor-pick__info { flex: 1; }
.midday-editor-pick__kicker {
  font-size: 10px;
  color: var(--midday-red);
  font-weight: var(--weight-bold);
  letter-spacing: 1.5px;
  margin-bottom: 4px;
}
.midday-editor-pick__name {
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: var(--weight-bold);
  color: var(--midday-black);
  margin: 0 0 6px;
  line-height: 1.25;
}
.midday-editor-pick__price {
  font-size: 13px;
  color: var(--midday-black);
  font-weight: var(--weight-bold);
}
.midday-editor-pick__price-original {
  font-size: 11px;
  color: var(--midday-gray-500);
  font-weight: var(--weight-regular);
  text-decoration: line-through;
  margin-left: 4px;
}
.midday-editor-pick__why {
  font-size: 13px;
  line-height: 1.5;
  color: var(--midday-gray-700);
  margin-bottom: 14px;
  padding: 10px 12px;
  background: var(--midday-gray-50);
  border-left: 3px solid var(--midday-red);
}
.midday-editor-pick__why strong {
  font-weight: var(--weight-bold);
  color: var(--midday-black);
}
.midday-editor-pick__cta {
  display: block;
  width: 100%;
  padding: 14px;
  background: var(--midday-red);
  color: var(--midday-white) !important;
  border: none;
  font-size: 14px;
  font-weight: var(--weight-bold);
  letter-spacing: 1px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.midday-editor-pick__cta:hover { background: #B81F25; }

/* ============================================================
 * FAQ 섹션
 * ============================================================ */
.midday-faq {
  padding: 24px var(--pad-mobile-side) 0;
}
.midday-faq__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.midday-faq__label {
  background: var(--midday-black);
  color: var(--midday-white);
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  padding: 5px 10px;
}
.midday-faq__sub {
  font-size: 11px;
  color: #666;
  letter-spacing: 1px;
  font-weight: 600;
}
.midday-faq__list { border-top: 0.5px solid var(--midday-black); }
.midday-faq__item {
  padding: 16px 0;
  border-bottom: 0.5px solid var(--midday-gray-200);
}
.midday-faq__q,
.midday-faq__a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.midday-faq__q { margin-bottom: 8px; }
.midday-faq__q-mark,
.midday-faq__a-mark {
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: var(--weight-bold);
  line-height: 1.3;
  flex-shrink: 0;
}
.midday-faq__q-mark { color: var(--midday-red); }
.midday-faq__a-mark { color: var(--midday-gray-500); }
.midday-faq__q-text {
  font-size: 15px;
  font-weight: var(--weight-bold);
  color: var(--midday-black);
  line-height: 1.35;
}
.midday-faq__a-text {
  font-size: 14px;
  color: #333;
  line-height: 1.55;
}

/* ============================================================
 * SOURCES 박스
 * ============================================================ */
.midday-sources {
  margin: 28px var(--pad-mobile-side) 0;
  padding: 18px;
  background: var(--midday-gray-50);
  border: 0.5px solid var(--midday-gray-200);
}
.midday-sources__label {
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  color: var(--midday-black);
  margin-bottom: 12px;
}
.midday-sources__list {
  font-size: 12px;
  line-height: 1.6;
  color: var(--midday-gray-700);
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.midday-sources__list li { margin-bottom: 8px; padding-left: 18px; text-indent: -18px; }
.midday-sources__list li em,
.midday-sources__list li i {
  font-family: var(--font-serif);
  font-style: italic;
}

/* ============================================================
 * 굵은 검정 구분선
 * ============================================================ */
.midday-divider-thick {
  height: var(--divider-thick);
  background: var(--midday-black);
  margin: 32px 0 0;
}

/* ============================================================
 * KEEP READING (관련 글)
 * ============================================================ */
.midday-related {
  padding: 24px var(--pad-mobile-side) 0;
}
.midday-related__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.midday-related__label {
  background: var(--midday-black);
  color: var(--midday-white);
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  padding: 5px 10px;
}
.midday-related__sub {
  font-size: 11px;
  color: #666;
  letter-spacing: 1px;
  font-weight: 600;
}
.midday-related__item {
  display: flex;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 0.5px solid var(--midday-gray-200);
  text-decoration: none;
}
.midday-related__item:last-child { border-bottom: none; }
.midday-related__img {
  width: 90px;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  background: linear-gradient(135deg, #6B4A2A, #3A2818);
  background-size: cover;
  background-position: center;
}
.midday-related__info { flex: 1; padding: 2px 0; }
.midday-related__kicker {
  font-size: 10px;
  color: var(--midday-red);
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  margin-bottom: 6px;
}
.midday-related__title {
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: var(--midday-black);
  margin: 0 0 6px;
}
.midday-related__meta { font-size: 11px; color: #888; }

/* ============================================================
 * 뉴스레터 CTA (한낮의 편지)
 * ============================================================ */
.midday-newsletter {
  margin: 32px 0 0;
  padding: 28px var(--pad-mobile-side);
  background: var(--midday-red);
  color: var(--midday-white);
}
.midday-newsletter__kicker {
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: 3px;
  margin-bottom: 10px;
  color: var(--midday-red-light);
}
.midday-newsletter__title {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: var(--weight-bold);
  line-height: 1.15;
  letter-spacing: var(--ls-h2);
  margin: 0 0 14px;
  color: var(--midday-white);
}
@media (min-width: 768px) {
  .midday-newsletter__title { font-size: 24px; }
}
.midday-newsletter__form {
  display: flex;
  gap: 0;
}
.midday-newsletter__input {
  flex: 1;
  padding: 12px 14px;
  border: none;
  background: var(--midday-white);
  font-size: 14px;
  color: var(--midday-black);
  font-weight: var(--weight-medium);
}
.midday-newsletter__btn {
  padding: 12px 18px;
  background: var(--midday-black);
  color: var(--midday-white);
  border: none;
  font-size: 12px;
  font-weight: var(--weight-bold);
  letter-spacing: 1.5px;
  cursor: pointer;
}

/* ============================================================
 * 푸터
 * ============================================================ */
.midday-footer {
  background: var(--midday-footer);
  padding: 20px var(--pad-mobile-side);
  text-align: center;
}
.midday-footer__brand {
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: var(--weight-bold);
  color: var(--midday-white);
  letter-spacing: -0.5px;
  margin-bottom: 6px;
}
.midday-footer__copy {
  font-size: 10px;
  color: #888;
  letter-spacing: 1px;
}

/* ============================================================
 * 데스크톱 — 단일 컬럼 max-width 720px (Plans 4.2)
 * ============================================================ */
@media (min-width: 1025px) {
  .midday-aarp-page { max-width: 720px; margin: 0 auto; box-shadow: 0 0 40px rgba(0,0,0,0.04); }
  .midday-content { padding-left: var(--pad-mobile-side); padding-right: var(--pad-mobile-side); }
}

/* ============================================================
 * Kadence 기본 요소 오버라이드 — site-header/footer 등 충돌 방지
 * ============================================================ */
.site-header,
.site-footer,
.kadence-header { display: none !important; }
body.midday-aarp-active .entry-header,
body.midday-aarp-active .entry-footer { display: none; }

/* 외부 링크 표시 (Plans 신뢰 가시화) */
.midday-content a[href^="http"]:not([href*="midday.life"]) {
  color: var(--midday-red);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.midday-content a[rel*="nofollow"]::after {
  content: " ↗";
  font-size: 0.85em;
  color: var(--midday-gray-500);
}

/* 본문 내 내장 strong 인용 형식 (서울아산병원(2023) 등) */
.midday-content p strong {
  font-weight: var(--weight-bold);
  color: var(--midday-black);
}

/* ============================================================
 * Phase 2 — 홈 (front-page.php)
 * Plans 2.2 — COVER STORY · THIS WEEK · DEPARTMENTS · EDITOR'S NOTE
 * ============================================================ */

/* COVER STORY */
.midday-cover { padding-top: 0; }
.midday-cover__kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px var(--pad-mobile-side) 14px;
}
.midday-cover__cover-label {
  background: var(--midday-red);
  color: var(--midday-white);
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  padding: 4px 8px;
}
.midday-cover__rule {
  flex: 1;
  height: 1px;
  background: var(--midday-black);
}
.midday-cover__cat {
  font-size: 10px;
  color: var(--midday-black);
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
}
.midday-cover__img-link { display: block; text-decoration: none; }
.midday-cover__img-wrap {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--midday-ink);
  overflow: hidden;
}
.midday-cover__img-wrap--placeholder {
  background: linear-gradient(135deg, #6B4A2A, #2D2A26);
}
.midday-cover__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.midday-cover__head {
  padding: 18px var(--pad-mobile-side) 24px;
}
.midday-cover__catline {
  font-size: 11px;
  color: var(--midday-red);
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  margin-bottom: 10px;
}
.midday-cover__title {
  font-family: var(--font-serif);
  font-size: var(--text-h1-hero);
  font-weight: var(--weight-bold);
  line-height: var(--lh-headline);
  letter-spacing: var(--ls-headline);
  color: var(--midday-black);
  margin: 0 0 14px;
}
.midday-cover__title a {
  color: inherit;
  text-decoration: none;
}
.midday-cover__title a:hover { color: var(--midday-red); }
.midday-cover__dek {
  font-size: var(--text-dek);
  line-height: 1.45;
  color: #2A2A2A;
  margin: 0 0 18px;
  font-weight: var(--weight-regular);
}
.midday-cover__byline {
  padding: 12px 0;
  border-top: 1px solid var(--midday-black);
  border-bottom: 0.5px solid var(--midday-black);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
}
.midday-cover__byline-author {
  font-weight: var(--weight-bold);
  color: var(--midday-black);
  letter-spacing: 1px;
}
.midday-cover__byline-meta {
  color: #666;
  letter-spacing: 0.5px;
}

/* THIS WEEK 섹션 헤드 */
.midday-this-week { padding: 24px var(--pad-mobile-side) 0; }
.midday-this-week__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.midday-this-week__label {
  background: var(--midday-black);
  color: var(--midday-white);
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  padding: 5px 10px;
}
.midday-this-week__sub {
  font-size: 11px;
  color: #666;
  letter-spacing: 1px;
  font-weight: 600;
}

/* THIS WEEK 카드 (홈 + 카테고리 공통) */
.midday-tw-card {
  display: block;
  text-decoration: none;
  color: inherit;
}
/* HERO 카드 (큰 카드) */
.midday-tw-card--hero {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 2px solid var(--midday-black);
}
.midday-tw-card__img-hero {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #8A6B4A, #3A2818);
  background-size: cover;
  background-position: center;
  margin-bottom: 14px;
}
.midday-tw-card--hero .midday-tw-card__title {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: var(--midday-black);
  margin: 0 0 8px;
}
.midday-tw-card--hero .midday-tw-card__dek {
  font-size: 14px;
  color: var(--midday-gray-700);
  line-height: 1.45;
  margin: 0 0 8px;
}
/* STANDARD 카드 (좌 썸네일 + 우 텍스트) */
.midday-tw-card--standard {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 0.5px solid var(--midday-gray-200);
}
.midday-tw-card--standard:last-of-type { border-bottom: none; }
.midday-tw-card__img-square {
  width: 110px;
  height: 110px;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  background: linear-gradient(135deg, #6B4A2A, #3A2818);
  background-size: cover;
  background-position: center;
}
.midday-tw-card--standard .midday-tw-card__info {
  flex: 1;
  padding: 2px 0;
}
.midday-tw-card--standard .midday-tw-card__title {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: var(--midday-black);
  margin: 4px 0 6px;
}
.midday-tw-card__kicker {
  font-size: 10px;
  color: var(--midday-red);
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
}
.midday-tw-card__meta {
  font-size: 11px;
  color: var(--midday-gray-500);
  letter-spacing: 0.5px;
  margin-top: 4px;
}

/* DEPARTMENTS (5기둥 리스트) */
.midday-departments { padding: 24px var(--pad-mobile-side) 0; }
.midday-departments__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.midday-departments__label {
  background: var(--midday-black);
  color: var(--midday-white);
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  padding: 5px 10px;
}
.midday-departments__sub {
  font-size: 11px;
  color: #666;
  letter-spacing: 1px;
  font-weight: 600;
}
.midday-departments__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.midday-departments__item {
  border-bottom: 0.5px solid var(--midday-gray-200);
}
.midday-departments__item:last-child { border-bottom: none; }
.midday-departments__item a {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 16px 0;
}
.midday-departments__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}
.midday-departments__en {
  font-size: 11px;
  color: var(--midday-red);
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  margin-bottom: 4px;
}
.midday-departments__ko {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: var(--weight-bold);
  color: var(--midday-black);
  margin-bottom: 4px;
  line-height: 1.2;
}
.midday-departments__blurb {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
}
.midday-departments__arrow {
  font-size: 18px;
  color: var(--midday-black);
  font-weight: var(--weight-bold);
  flex-shrink: 0;
}

/* EDITOR'S NOTE 박스 (홈 하단, 검정 풀블리드) */
.midday-editor-note {
  margin: 32px 0 0;
  padding: 28px var(--pad-mobile-side);
  background: var(--midday-black);
  color: var(--midday-white);
}
.midday-editor-note__label {
  font-size: 10px;
  font-weight: var(--weight-bold);
  letter-spacing: 3px;
  color: var(--midday-red);
  margin-bottom: 14px;
}
.midday-editor-note__body {
  font-family: var(--font-serif);
  font-size: 19px;
  line-height: 1.45;
  color: var(--midday-white);
  font-weight: var(--weight-medium);
  margin: 0 0 16px;
}
.midday-editor-note__line {
  height: 1px;
  width: 32px;
  background: var(--midday-red);
  margin-bottom: 10px;
}
.midday-editor-note__cite {
  font-size: 11px;
  color: var(--midday-gray-500);
  letter-spacing: 1px;
  font-weight: 600;
}

/* ============================================================
 * Phase 4 — 카테고리 페이지 (category.php)
 * Plans 2.4 — 인트로 + 글 리스트 + 페이지네이션
 * ============================================================ */
.midday-cat-intro {
  padding: 22px var(--pad-mobile-side);
}
.midday-cat-intro__en {
  font-size: 11px;
  color: var(--midday-red);
  font-weight: var(--weight-bold);
  letter-spacing: var(--ls-meta-loose);
  margin-bottom: 8px;
}
.midday-cat-intro__ko {
  font-family: var(--font-serif);
  font-size: var(--text-h1-hero);
  font-weight: var(--weight-bold);
  color: var(--midday-black);
  letter-spacing: var(--ls-headline);
  line-height: var(--lh-headline);
  margin: 0 0 12px;
}
.midday-cat-intro__blurb {
  font-size: 16px;
  line-height: 1.5;
  color: var(--midday-gray-700);
  margin: 0;
}
.midday-cat-list { padding: 24px var(--pad-mobile-side) 0; }
.midday-cat-empty {
  padding: 40px var(--pad-mobile-side);
  text-align: center;
  color: var(--midday-gray-500);
  font-size: 14px;
}

/* 페이지네이션 */
.midday-pagination {
  padding: 32px var(--pad-mobile-side);
  display: flex;
  justify-content: center;
}
.midday-pagination .nav-links {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}
.midday-pagination .page-numbers {
  display: inline-block;
  min-width: 40px;
  padding: 10px 12px;
  background: var(--midday-white);
  border: 1px solid var(--midday-black);
  color: var(--midday-black);
  font-size: 13px;
  font-weight: var(--weight-bold);
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.5px;
}
.midday-pagination .page-numbers:hover,
.midday-pagination .page-numbers.current {
  background: var(--midday-black);
  color: var(--midday-white);
}
.midday-pagination .page-numbers.dots { border-color: transparent; }

/* ============================================================
 * 검색 폼 (헤더 토글)
 * ============================================================ */
.midday-search {
  display: none;
  background: var(--midday-black);
  padding: 12px var(--pad-mobile-side);
}
.midday-search.is-open { display: block; }
.midday-search__form {
  display: flex;
  gap: 0;
}
.midday-search__input {
  flex: 1;
  padding: 10px 14px;
  border: none;
  background: var(--midday-white);
  font-size: 14px;
  color: var(--midday-black);
  font-weight: var(--weight-medium);
}
.midday-search__btn {
  padding: 10px 16px;
  background: var(--midday-red);
  color: var(--midday-white);
  border: none;
  font-size: 12px;
  font-weight: var(--weight-bold);
  letter-spacing: 1.5px;
  cursor: pointer;
}

/* ============================================================
 * 햄버거 풀스크린 메뉴 (Plans 2.5)
 * ============================================================ */
body.midday-menu-open { overflow: hidden; }
.midday-menu {
  position: fixed;
  inset: 0;
  background: var(--midday-black);
  z-index: 999;
  display: none;
  flex-direction: column;
  padding: 20px 0;
  overflow-y: auto;
}
.midday-menu.is-open { display: flex; }
.midday-menu__close {
  align-self: flex-end;
  margin: 0 18px 8px;
  background: transparent;
  border: none;
  color: var(--midday-white);
  font-size: 28px;
  font-weight: var(--weight-regular);
  cursor: pointer;
  line-height: 1;
  padding: 6px 10px;
}
.midday-menu__nav {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.midday-menu__item {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: var(--weight-bold);
  color: var(--midday-white);
  padding: 18px 24px;
  text-decoration: none;
  border-left: 4px solid transparent;
}
.midday-menu__item.is-active,
.midday-menu__item:hover {
  border-left-color: var(--midday-red);
  background: rgba(255,255,255,0.04);
}
.midday-menu__divider {
  height: 0.5px;
  background: #444;
  margin: 6px 24px;
}
.midday-menu__footer {
  padding: 18px 24px;
  border-top: 0.5px solid #444;
  margin-top: 14px;
}
.midday-menu__copy {
  font-size: 11px;
  color: var(--midday-gray-500);
  letter-spacing: 1px;
}

/* ============================================================
 * 사용자 피드백 1·2·4 패치 (2026-04-27 chg-092)
 * - 4050 가독성: 본문 19px + Noto Serif KR + 행간 1.85 + 자간 0.01em
 * - 테이블: 명확한 보더 + 헤더 배경
 * - SOURCES 끝 모음 박스: 회색 인용 출처
 * ============================================================ */

/* 4050 가독성 — 본문 폰트 키움 + 세리프 (지하철 4050 여성이 큰 글씨 + 바탕체로 소설 읽음) */
.midday-content p,
.midday-content li {
  font-family: var(--font-serif) !important;
  font-size: 19px !important;
  line-height: 1.85 !important;
  letter-spacing: 0.01em !important;
}

/* Drop Cap 첫 글자 — 본문 폰트 커지면 비율 맞춤 */
.midday-content .midday-dropcap-paragraph::first-letter,
.midday-content > p:first-of-type::first-letter,
.midday-dropcap-paragraph::first-letter {
  font-size: 64px !important;
}

/* 테이블 보더 명확화 — 구획 선명 */
.midday-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  border: 2px solid var(--midday-black);
}
.midday-content table th,
.midday-content table td {
  border: 1px solid var(--midday-gray-200);
  padding: 12px 14px;
  text-align: left;
  line-height: 1.6;
  vertical-align: top;
  font-size: 15px;
  font-family: var(--font-serif);
}
.midday-content table thead th {
  background: var(--midday-black);
  color: var(--midday-white);
  font-weight: var(--weight-bold);
  font-family: var(--font-sans);
  font-size: 13px;
  letter-spacing: 1px;
  border: 1px solid var(--midday-black);
}
.midday-content table tbody tr:nth-child(even) td {
  background: var(--midday-gray-50);
}

/* SOURCES 끝 모음 박스 — 회색, 본문 끝 (몰입 보호) */
.midday-sources-end {
  margin: 40px var(--pad-mobile-side) 0;
  padding: 20px 18px;
  background: var(--midday-gray-50);
  border-top: 0.5px solid var(--midday-gray-200);
  border-bottom: 0.5px solid var(--midday-gray-200);
}
.midday-sources-end__label {
  font-size: 12px;
  font-weight: var(--weight-bold);
  letter-spacing: 1.5px;
  color: var(--midday-gray-500);
  margin-bottom: 14px;
}
.midday-sources-end__list {
  font-size: 13px;
  line-height: 1.7;
  color: var(--midday-gray-500);
  margin: 0;
  padding-left: 22px;
  list-style: decimal;
}
.midday-sources-end__list li {
  margin-bottom: 8px;
  font-family: var(--font-serif);
}
.midday-sources-end__list a {
  color: var(--midday-gray-700);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.midday-sources-end__list a:hover { color: var(--midday-red); }

/* ============================================================
 * 사용자 피드백 v2 (2026-04-27 chg-093)
 * - 표 셀 보더 진하게 (사용자: "표 안 보여")
 * - FAQ ↔ SOURCES-end 사이 굵은 divider
 * - SOURCES-end 더 회색 (사용자: "잘 티 안 나도록")
 * ============================================================ */

/* 표 보더 v2 — gray-200 너무 옅음 → 검정 0.5px */
.midday-content table {
  border: 2px solid var(--midday-black) !important;
}
.midday-content table th,
.midday-content table td {
  border: 0.5px solid var(--midday-black) !important;
}
.midday-content table thead th {
  background: var(--midday-black) !important;
  color: var(--midday-white) !important;
}

/* FAQ ↔ SOURCES-end 사이 divider — FAQ 끝 + SOURCES 시작 사이 6px 검정 */
.midday-sources-end {
  margin-top: 0 !important;
  border-top: none !important;
}
.midday-sources-end::before {
  content: "";
  display: block;
  height: 6px;
  background: var(--midday-black);
  margin: 32px -18px 24px;
}

/* SOURCES-end 글자 더 흐리게 — gray-700 → gray-500 + 박스 배경 더 옅게 */
.midday-sources-end {
  background: #FAFAFA !important;
  padding: 8px 18px 24px !important;
  border-bottom: none !important;
}
.midday-sources-end__label {
  color: #AAA !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: 1.2px !important;
}
.midday-sources-end__list {
  color: #AAA !important;
  font-size: 12px !important;
}
.midday-sources-end__list a {
  color: #999 !important;
  text-decoration: underline !important;
  text-decoration-color: #DDD !important;
}
.midday-sources-end__list a:hover {
  color: var(--midday-gray-700) !important;
  text-decoration-color: var(--midday-gray-500) !important;
}
