/*
 * 방문자 화면 새 디자인(«디자인 v2») 전용 CSS — 뼈대 · 공용 조각 · 헤더 · 푸터.
 *
 * 규칙
 *  1. 모든 선택자는 [data-design="v2"] 아래에 둔다. <html> 에 그 속성이 있을 때(= Setting 'design' 을 켠 사이트)만 먹는다.
 *     속성이 없는 기존 사이트의 화면에는 어떤 규칙도 닿지 않는다. 클래스 이름은 전부 v2- 로 시작한다.
 *  2. 색 · 모서리 · 굵기 · 여백은 CSS 변수(--d-…)만 쓴다. 값은 layout 이 <html style> 에 얹는다
 *     (shared/design/design-style.ts createDesignStyle — 컨셉 기본값 + 관리자가 넣은 꾸밈 값 + 브랜드색에서 계산한 색).
 *     여기 적힌 숫자는 글자 크기 · 높이 같은 배치 치수뿐이다(피그마 PF-01 · PF-05~08 기준).
 *  3. Tailwind 의 components 층에 둔다 — 같은 요소에 Tailwind 유틸리티 클래스를 같이 쓰면 유틸리티가 이긴다.
 *     (층 순서 선언은 tailwindcss 와 같다. 이 파일이 먼저 읽혀도 순서가 바뀌지 않게 한 번 더 적는다.)
 *  4. 화면 폭: 기본이 휴대폰(피그마 390px) — 820px 까지 이 배치다. 51.3125rem(821px) 이상이 넓은 화면. 헤더의 메뉴 줄만 64rem(1024px)에서 바뀐다.
 *
 * 홈 · 글 목록 · 글 상세의 CSS 는 각 부품 폴더에 같은 규칙으로 따로 둔다(이 파일은 뼈대만).
 */
@layer theme, base, components, utilities;

@layer components {
  /* ── 바탕 ─────────────────────────────────────────── */
  [data-design="v2"] .v2-body {
    background: var(--d-bg);
    color: var(--d-ink-2);
  }

  [data-design="v2"] .v2-container {
    width: 100%;
    max-width: calc(1112px + 40px);
    margin-inline: auto;
    padding-inline: 20px;
  }
  [data-design="v2"] .v2-container--wide {
    max-width: calc(1180px + 40px);
  }

  /* ── 섹션 · 머리말 ────────────────────────────────── */
  [data-design="v2"] .v2-section {
    padding-block: calc(var(--d-section-gap) * 0.75);
  }
  [data-design="v2"] .v2-section--alt {
    background: var(--d-bg-alt);
  }
  [data-design="v2"] .v2-section-head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
  }
  [data-design="v2"] .v2-section-head--center {
    align-items: center;
    text-align: center;
  }
  [data-design="v2"] .v2-section-head-text {
    min-width: 0;
  }
  [data-design="v2"] .v2-section-head-action {
    flex-shrink: 0;
  }
  [data-design="v2"] .v2-eyebrow {
    margin-bottom: 8px;
    color: var(--d-accent);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: var(--d-eyebrow-tracking);
    text-transform: uppercase;
  }
  [data-design="v2"] .v2-title {
    color: var(--d-ink);
    font-size: 24px;
    font-weight: var(--d-title-weight);
    line-height: 1.3;
    letter-spacing: var(--d-title-tracking);
    word-break: keep-all;
  }
  /* 제목 안의 강조 낱말 — <em> · <strong> · <mark> */
  [data-design="v2"] .v2-title em,
  [data-design="v2"] .v2-title strong,
  [data-design="v2"] .v2-title mark {
    background: none;
    color: var(--d-brand-ink);
    font-style: normal;
    font-weight: inherit;
  }
  [data-design="v2"] .v2-desc {
    margin-top: 10px;
    color: var(--d-muted);
    font-size: 14px;
    line-height: 1.7;
    word-break: keep-all;
  }

  /* ── 단추 ─────────────────────────────────────────── */
  [data-design="v2"] .v2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 44px;
    padding-inline: 20px;
    border: 1px solid transparent;
    border-radius: var(--d-radius-button);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition:
      background-color 0.15s,
      border-color 0.15s,
      color 0.15s;
  }
  [data-design="v2"] .v2-btn--sm {
    height: 36px;
    padding-inline: 14px;
    font-size: 12px;
  }
  [data-design="v2"] .v2-btn--lg {
    height: 50px;
    padding-inline: 27px;
    font-size: 14px;
  }
  [data-design="v2"] .v2-btn--fill {
    border-color: var(--d-brand-ink);
    background: var(--d-brand-ink);
    color: #fff;
  }
  [data-design="v2"] .v2-btn--fill:hover {
    border-color: var(--d-brand-deep);
    background: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-btn--line {
    border-color: var(--d-line);
    background: var(--d-surface);
    color: var(--d-ink-2);
  }
  [data-design="v2"] .v2-btn--line:hover {
    border-color: var(--d-brand-line);
    background: var(--d-brand-tint);
    color: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-btn--text {
    height: auto;
    padding-inline: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-btn--text:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  /* 어두운 바탕 위 — 채움은 흰 바탕, 테두리는 흰 줄 */
  [data-design="v2"] .v2-btn--fill.v2-btn--invert {
    border-color: #fff;
    background: #fff;
    color: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-btn--fill.v2-btn--invert:hover {
    background: rgba(255, 255, 255, 0.9);
  }
  [data-design="v2"] .v2-btn--line.v2-btn--invert {
    border-color: rgba(255, 255, 255, 0.34);
    background: transparent;
    color: #fff;
  }
  [data-design="v2"] .v2-btn--line.v2-btn--invert:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
  [data-design="v2"] .v2-btn--text.v2-btn--invert {
    color: #fff;
  }

  /* ── 칩 ───────────────────────────────────────────── */
  [data-design="v2"] .v2-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding-inline: 11px;
    border: 1px solid transparent;
    border-radius: var(--d-radius-button);
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }
  [data-design="v2"] .v2-chip--md {
    height: 38px;
    padding-inline: 16px;
    font-size: 13px;
  }
  [data-design="v2"] .v2-chip--soft {
    background: var(--d-brand-tint);
    color: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-chip--line {
    border-color: var(--d-brand-line);
    background: var(--d-surface);
    color: var(--d-brand-deep);
  }
  [data-design="v2"] a.v2-chip:hover,
  [data-design="v2"] button.v2-chip:hover {
    border-color: var(--d-brand-ink);
  }
  [data-design="v2"] button.v2-chip {
    cursor: pointer;
  }
  [data-design="v2"] .v2-chip-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--d-accent);
  }

  /* ── 카드 · 이미지 ────────────────────────────────── */
  [data-design="v2"] .v2-card {
    display: block;
    overflow: hidden;
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius-card);
    background: var(--d-surface);
    box-shadow: var(--d-shadow-card);
  }
  [data-design="v2"] .v2-card--flat {
    box-shadow: none;
  }
  [data-design="v2"] .v2-card--plain {
    border-color: transparent;
    background: none;
    box-shadow: none;
  }
  [data-design="v2"] .v2-card--hover {
    transition:
      transform 0.2s,
      border-color 0.2s;
  }
  [data-design="v2"] .v2-card--hover:hover {
    border-color: var(--d-brand-line);
    transform: translateY(-2px);
  }
  [data-design="v2"] .v2-card-body {
    padding: 20px 22px 22px;
  }
  [data-design="v2"] .v2-media {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    background: var(--d-bg-alt);
  }
  [data-design="v2"] .v2-media--rounded {
    border-radius: var(--d-radius-image);
  }
  [data-design="v2"] .v2-media-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  [data-design="v2"] .v2-media-img--contain {
    object-fit: contain;
    object-position: center bottom;
  }

  /* ── 초점 표시 ────────────────────────────────────── */
  [data-design="v2"] .v2-btn:focus-visible,
  [data-design="v2"] .v2-chip:focus-visible,
  [data-design="v2"] .v2-icon-btn:focus-visible,
  [data-design="v2"] .v2-logo:focus-visible,
  [data-design="v2"] .v2-nav-link:focus-visible,
  [data-design="v2"] .v2-util a:focus-visible,
  [data-design="v2"] .v2-locale button:focus-visible,
  [data-design="v2"] .v2-mobile-menu a:focus-visible,
  [data-design="v2"] .v2-header-sns a:focus-visible,
  [data-design="v2"] .v2-footer a:focus-visible {
    outline: 2px solid var(--d-brand-ink);
    outline-offset: 2px;
  }

  /* ── 로고 (헤더 · 푸터 공용) ──────────────────────── */
  [data-design="v2"] .v2-logo {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    color: var(--d-ink);
  }
  [data-design="v2"] .v2-logo-mark {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    object-fit: contain;
  }
  [data-design="v2"] .v2-logo-name {
    overflow: hidden;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* 에디토리얼형 — 심볼 없이 이름 글자를 크게, 넓은 자간으로 */
  [data-design="v2"] .v2-logo--wordmark .v2-logo-name {
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  /* 올린 로고 이미지(브랜드 자산 › 로고 — 헤더는 밝은 바탕용, 푸터는 바탕에 맞는 것) — 높이를 맞추고 폭은 그림 비율대로.
     높이 · 좌우 여백을 넣은 사이트의 헤더는 인라인 style 로 덮는다 */
  [data-design="v2"] .v2-logo-img {
    display: block;
    flex-shrink: 1;
    width: auto;
    min-width: 0;
    max-width: 220px;
    height: 34px;
    object-fit: contain;
  }

  /* ── 유틸 띠 (유틸바형, 넓은 화면만) ──────────────── */
  [data-design="v2"] .v2-util {
    display: none;
    border-bottom: 1px solid var(--d-line);
    background: var(--d-bg-alt);
    color: var(--d-muted);
    font-size: 12px;
    font-weight: 700;
  }
  [data-design="v2"] .v2-util-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    height: 38px;
  }
  [data-design="v2"] .v2-util-links,
  [data-design="v2"] .v2-util-side {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
  }
  [data-design="v2"] .v2-util-side {
    gap: 14px;
  }
  [data-design="v2"] .v2-util-links a:hover {
    color: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-util-home {
    display: inline-flex;
    align-items: center;
    height: 27px;
    padding-inline: 12px;
    border: 1px solid var(--d-brand-line);
    border-radius: var(--d-radius-button);
    background: var(--d-brand-tint);
    color: var(--d-brand-ink);
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
  }
  [data-design="v2"] .v2-util-home:hover {
    border-color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-locale {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  [data-design="v2"] .v2-locale[aria-busy="true"] {
    opacity: 0.6;
  }
  [data-design="v2"] .v2-locale button {
    color: inherit;
    font: inherit;
    cursor: pointer;
  }
  [data-design="v2"] .v2-locale button[aria-pressed="true"] {
    color: var(--d-ink);
  }
  [data-design="v2"] .v2-locale-sep {
    font-weight: 400;
    opacity: 0.4;
  }

  /* ── 헤더 ─────────────────────────────────────────── */
  [data-design="v2"] .v2-header {
    position: sticky;
    top: 0;
    z-index: 30;
    border-bottom: 1px solid var(--d-line);
    background: var(--d-surface);
  }
  [data-design="v2"] .v2-header-row {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 64px;
  }
  [data-design="v2"] .v2-header .v2-logo {
    flex: 1 1 auto;
  }
  [data-design="v2"] .v2-header-nav,
  [data-design="v2"] .v2-header-navrow,
  [data-design="v2"] .v2-header-sns {
    display: none;
  }
  [data-design="v2"] .v2-header-actions {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 10px;
  }
  [data-design="v2"] .v2-nav {
    display: flex;
    align-items: center;
    gap: 2px;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  [data-design="v2"] .v2-nav::-webkit-scrollbar {
    display: none;
  }
  [data-design="v2"] .v2-nav-link {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    height: 38px;
    padding-inline: 13px;
    border-radius: var(--d-radius-button);
    color: var(--d-ink-2);
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition:
      background-color 0.15s,
      color 0.15s;
  }
  /* 올리면 아래에 짧은 줄이 자란다 (피그마 a::after) */
  [data-design="v2"] .v2-nav-link::after {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--d-brand-ink);
    transform: translateX(-50%);
    transition: width 0.2s;
  }
  [data-design="v2"] .v2-nav-link:hover::after {
    width: calc(100% - 26px);
  }
  [data-design="v2"] .v2-nav-link[aria-current="page"] {
    background: var(--d-brand-tint);
    color: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-nav-link[aria-current="page"]::after {
    width: 0;
  }
  [data-design="v2"] .v2-icon-btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius-button);
    background: var(--d-surface);
    color: var(--d-ink-2);
    cursor: pointer;
    transition:
      background-color 0.15s,
      border-color 0.15s;
  }
  [data-design="v2"] .v2-icon-btn:hover {
    border-color: var(--d-brand-line);
    background: var(--d-brand-tint);
  }
  /* 헤더 오른쪽 단추 — 좁은 화면에서는 글자가 길어도 로고를 밀어내지 않게 줄인다 */
  [data-design="v2"] .v2-header-cta {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 검색 — 헤더 아래로 펼친다 */
  [data-design="v2"] .v2-search-panel {
    padding-block: 18px 20px;
    border-top: 1px solid var(--d-line-soft);
    background: var(--d-surface);
  }
  [data-design="v2"] .v2-search {
    display: flex;
    overflow: hidden;
    max-width: 640px;
    height: 54px;
    margin-inline: auto;
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius-card);
    background: var(--d-surface);
  }
  [data-design="v2"] .v2-search:focus-within {
    border-color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-search input {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: 18px;
    background: transparent;
    color: var(--d-ink);
    font-size: 15px;
    outline: none;
  }
  [data-design="v2"] .v2-search input::placeholder {
    color: var(--d-faint);
  }
  [data-design="v2"] .v2-search button {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 60px;
    background: var(--d-brand-ink);
    color: #fff;
    cursor: pointer;
  }
  [data-design="v2"] .v2-search button:hover {
    background: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-search-keywords {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    color: var(--d-muted);
    font-size: 12.5px;
    font-weight: 700;
  }

  /* 좁은 화면의 펼침 메뉴 (PF-08) */
  [data-design="v2"] .v2-mobile-menu {
    overflow-y: auto;
    max-height: calc(100dvh - 64px);
    padding-block: 8px 20px;
    border-top: 1px solid var(--d-line-soft);
    background: var(--d-surface);
  }
  [data-design="v2"] .v2-mobile-nav a,
  [data-design="v2"] .v2-mobile-nav > li > span {
    display: block;
    padding-block: 14px;
    border-bottom: 1px solid var(--d-line-soft);
    color: var(--d-ink);
    font-size: 15px;
    font-weight: 700;
  }
  [data-design="v2"] .v2-mobile-nav a[aria-current="page"] {
    color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-mobile-util {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    padding-top: 16px;
    color: var(--d-muted);
    font-size: 13px;
    font-weight: 700;
  }
  [data-design="v2"] .v2-mobile-locale {
    padding-top: 16px;
    color: var(--d-muted);
    font-size: 13px;
    font-weight: 700;
  }
  /* hidden 속성으로 접은 것은 위의 display 값보다 먼저다 */
  [data-design="v2"] .v2-search-panel[hidden],
  [data-design="v2"] .v2-mobile-menu[hidden] {
    display: none;
  }

  /* ── 푸터 ─────────────────────────────────────────── */
  [data-design="v2"] .v2-footer {
    padding-block: 44px 28px;
    border-top: 1px solid var(--d-footer-line);
    background: var(--d-footer-bg);
    color: var(--d-footer-text);
    font-size: 13.2px;
    line-height: 1.7;
  }
  [data-design="v2"] .v2-footer .v2-logo {
    color: var(--d-footer-ink);
  }
  [data-design="v2"] .v2-footer-cols {
    display: grid;
    gap: 30px;
  }
  [data-design="v2"] .v2-footer-intro {
    max-width: 330px;
    margin-top: 12px;
    line-height: 1.8;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-footer-sns {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 12px;
    color: var(--d-footer-muted);
    font-size: 12px;
    font-weight: 700;
  }
  [data-design="v2"] .v2-footer-title {
    margin-bottom: 10px;
    color: var(--d-footer-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  [data-design="v2"] .v2-footer-col li {
    padding-block: 3px;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-footer a:hover {
    color: var(--d-footer-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  [data-design="v2"] .v2-footer-maps {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 12px;
    color: var(--d-footer-muted);
    font-size: 12px;
  }
  [data-design="v2"] .v2-footer-notice {
    color: var(--d-footer-muted);
  }
  [data-design="v2"] .v2-footer-notice[data-emphasis] {
    color: var(--d-footer-ink);
    font-weight: 700;
  }
  [data-design="v2"] .v2-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 20px;
    margin-top: 32px;
    padding-top: 18px;
    border-top: 1px solid var(--d-footer-line);
    color: var(--d-footer-muted);
    font-size: 12px;
  }
  [data-design="v2"] .v2-footer-bottom ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 0;
  }
  [data-design="v2"] .v2-footer-bottom li + li::before {
    content: "·";
    margin-inline: 6px;
  }

  /* ── 좁은 화면의 머리말 (820px 이하, 피그마 PF-08) ── */
  /* 오른쪽 단추를 제목 아래 줄로 내리지 않고 설명(설명이 없으면 제목)과 같은 줄 오른쪽에 둔다.
     글 묶음(.v2-section-head-text)을 풀어(display: contents) 윗글 · 제목 · 설명 · 단추를 줄바꿈하는 한 줄 틀에 놓는다.
     설명 칸이 170px 아래로 줄어야 할 만큼 단추 글자가 길면 단추는 지금처럼 아래 줄 왼쪽으로 내려간다. */
  @media (max-width: 51.25rem) {
    [data-design="v2"] .v2-section-head:not(.v2-section-head--center) {
      flex-flow: row wrap;
      align-items: center;
      gap: 0 12px;
    }
    [data-design="v2"] .v2-section-head:not(.v2-section-head--center) > .v2-section-head-text {
      display: contents;
    }
    [data-design="v2"] .v2-section-head:not(.v2-section-head--center) > .v2-section-head-text > .v2-eyebrow,
    [data-design="v2"] .v2-section-head:not(.v2-section-head--center) > .v2-section-head-text > .v2-title {
      flex: 0 0 100%;
    }
    [data-design="v2"] .v2-section-head:not(.v2-section-head--center) > .v2-section-head-text > .v2-desc {
      flex: 1 1 170px;
      min-width: 0;
    }
    [data-design="v2"] .v2-section-head:not(.v2-section-head--center) > .v2-section-head-action {
      margin-top: 12px;
    }
    /* 설명이 없는 머리말 — 제목과 같은 줄 */
    [data-design="v2"] .v2-section-head:not(.v2-section-head--center):not(:has(.v2-desc)) > .v2-section-head-text > .v2-title {
      flex: 1 1 170px;
      min-width: 0;
    }
    [data-design="v2"] .v2-section-head:not(.v2-section-head--center):not(:has(.v2-desc)) > .v2-section-head-action {
      margin-top: 0;
    }
  }

  /* ── 넓은 화면 (821px 이상) ───────────────────────── */
  @media (min-width: 51.3125rem) {
    [data-design="v2"] .v2-container {
      max-width: calc(1112px + 64px);
      padding-inline: 32px;
    }
    [data-design="v2"] .v2-container--wide {
      max-width: calc(1180px + 64px);
    }
    [data-design="v2"] .v2-section {
      padding-block: var(--d-section-gap);
    }
    [data-design="v2"] .v2-section-head {
      flex-direction: row;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 26px;
    }
    [data-design="v2"] .v2-section-head--center {
      flex-direction: column;
      align-items: center;
    }
    [data-design="v2"] .v2-title {
      font-size: 30px;
      line-height: 1.28;
    }
    [data-design="v2"] .v2-footer {
      padding-block: 46px 30px;
    }
    /* 피그마 3단: 로고 열 x164 · 가운데 열 x628 · 오른쪽 열 x970 (본문 폭 1112) */
    [data-design="v2"] .v2-footer-cols {
      grid-template-columns: minmax(0, 464fr) minmax(0, 342fr) minmax(0, 306fr);
      gap: 24px;
    }
  }

  /* ── 헤더의 메뉴 줄 (1024px 이상) ─────────────────── */
  @media (min-width: 64rem) {
    [data-design="v2"] .v2-util {
      display: block;
    }
    [data-design="v2"] .v2-header-row {
      gap: 0;
      height: 76px;
    }
    [data-design="v2"] .v2-header .v2-logo {
      flex: 0 1 auto;
    }
    [data-design="v2"] .v2-logo-name {
      font-size: 22px;
    }
    [data-design="v2"] .v2-header-nav {
      display: flex;
      flex: 1 1 auto;
      min-width: 0;
      margin-left: 44px;
    }
    [data-design="v2"] .v2-header-actions {
      margin-left: 16px;
    }
    [data-design="v2"] .v2-header-cta {
      max-width: none;
    }
    /* 채운 단추(기본형, PF-05)는 조금 크게 */
    [data-design="v2"] .v2-header-cta.v2-btn--fill {
      height: 48px;
      padding-inline: 25px;
    }
    [data-design="v2"] .v2-menu-btn,
    [data-design="v2"] .v2-mobile-menu {
      display: none;
    }

    /* 센터형 · 에디토리얼형 (PF-06) — 윗줄: SNS | 로고(가운데) | 단추, 아랫줄: 가운데 메뉴 */
    [data-design="v2"] .v2-header[data-stacked] .v2-header-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    }
    [data-design="v2"] .v2-header[data-stacked] .v2-header-sns {
      display: flex;
      align-items: center;
      gap: 16px;
      color: var(--d-muted);
      font-size: 13px;
    }
    [data-design="v2"] .v2-header[data-stacked] .v2-header-sns a:hover {
      color: var(--d-ink);
    }
    [data-design="v2"] .v2-header[data-stacked] .v2-header-actions {
      justify-content: flex-end;
    }
    [data-design="v2"] .v2-header[data-stacked] .v2-header-navrow {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 50px;
      border-top: 1px solid var(--d-line-soft);
    }
    [data-design="v2"] .v2-header[data-header="editorial"] .v2-logo-name {
      font-size: 24px;
    }
  }
}
