/**
 * 2026-10-16: 메인 v13 (학회형) — 칸반 308
 *
 * 배치는 kast-main.pages.dev 시안. 글꼴은 사이트 공용(따로 불러오지 않음),
 * 강조색은 사이트 설정 강조색(--site-accent), 히어로 배경만 v13 설정값(--v13-hero-bg).
 *
 * 모든 규칙은 .main-v13 / .v13-* 안으로 스코프한다 — 메인 버전이 v13 인 학회는
 * 서브페이지에도 이 파일이 로드된다(head-seo.ejs). 전역 셀렉터를 쓰면 서브페이지가 흔들린다.
 */

.main-v13 {
  --v13-container: 1280px;
  --v13-gutter: 24px;
  --v13-accent: var(--site-accent, #1f5fd1);
  --v13-ink: #191f28;
  --v13-body: #333d4b;
  --v13-sub: #6b7684;
  --v13-muted: #8b95a1;
  --v13-line: #e5e8eb;
  --v13-tint: #eef4fc;
}

/* 강조색 기반 옅은 배경 — color-mix 를 모르는 브라우저는 위 고정값을 쓴다 */
@supports (background: color-mix(in srgb, red 10%, white)) {
  .main-v13 {
    --v13-tint: color-mix(in srgb, var(--v13-accent) 8%, #fff);
  }
}

.main-v13 #wrap {
  overflow-x: hidden;
}

.v13-container {
  max-width: calc(var(--v13-container) + var(--v13-gutter) * 2);
  margin: 0 auto;
  padding: 0 var(--v13-gutter);
  box-sizing: border-box;
}

.v13-hero h2,
.v13-hero p,
.v13-main h2,
.v13-quick h2,
.v13-sponsors h2,
.v13-main ul,
.v13-quick ul,
.v13-sponsors ul,
.v13-info,
.v13-info dd {
  margin: 0;
  padding: 0;
}

.v13-main ul,
.v13-quick ul,
.v13-sponsors ul {
  list-style: none;
}

/* ── 공용: 섹션 제목 · 더보기 · 이름-값 줄 · 빈 상태 ───────────────── */
.v13-section-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 16px;
}

/* 2026-10-16 (308 검수): base.css:36 의 전역 `h2 { ... !important }` 가 크기·굵기를 덮어
   게시판 탭(button)과 글자 형태가 달랐다. h2 제목은 v13 스코프 안에서만 !important 로 되받는다
   (common.css 서브 히어로 제목과 같은 방식). 굵기 700 — 게시판 탭과 통일 */
.v13-section-title {
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  color: var(--v13-ink);
}

.v13-more {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--v13-accent);
  text-decoration: none;
  white-space: nowrap;
}

.v13-more:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.v13-more[hidden] {
  display: none;
}

.v13-info {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 14px;
  font-size: 1rem;
  line-height: 1.5;
}

.v13-info dt {
  font-weight: 700;
}

.v13-arrow {
  display: inline-block;
  font-style: normal;
  margin-left: 8px;
  transition: transform 0.2s;
}

.v13-empty {
  margin: 0;
  padding: 40px 0;
  text-align: center;
  color: var(--v13-body);
  font-size: 1rem;
}

/* ── 1. 히어로 ─────────────────────────────────────────────── */
/* 2026-10-16 (308 검수): 시안과 같은 배경 — 120도 3단 그라데이션 + 오른쪽 위 광택.
   시작색(--v13-hero-bg)·끝색(--v13-hero-bg2)은 v13 설정값, 끝색이 없으면 시작색 한 가지.
   중간색(60%)·광택은 두 색에서 계산한다 (시안 #0A2A66 → #123C8C → #1A4FB0, 광택 rgba(80,140,255,.35)) */
.v13-hero {
  --v13-hero-from: var(--v13-hero-bg, var(--site-accent, #0a2a66));
  --v13-hero-to: var(--v13-hero-bg2, var(--v13-hero-from));
  --v13-hero-mid: var(--v13-hero-to);
  --v13-hero-glow: rgba(255, 255, 255, 0.12);
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(900px 420px at 85% 10%, var(--v13-hero-glow), transparent 60%),
    linear-gradient(120deg, var(--v13-hero-from) 0%, var(--v13-hero-mid) 60%, var(--v13-hero-to) 100%);
}

/* color-mix 를 아는 브라우저 — 중간색은 시작 40 : 끝 60, 광택은 끝색을 밝게 해 35% 투명도 */
@supports (background: color-mix(in srgb, red 10%, white)) {
  .v13-hero {
    --v13-hero-mid: color-mix(in srgb, var(--v13-hero-from) 40%, var(--v13-hero-to));
    --v13-hero-glow: color-mix(in srgb, color-mix(in srgb, var(--v13-hero-to), #fff 35%) 35%, transparent);
  }
}

/* 오른쪽으로 갈수록 진해지는 격자 */
.v13-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 70%);
  mask-image: linear-gradient(90deg, transparent, #000 70%);
  pointer-events: none;
}

.v13-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 48px;
  align-items: center;
  min-height: 420px;
  padding-top: 56px;
  padding-bottom: 60px;
}

/* 탭이 없으면 문구만 */
.v13-hero__inner--solo {
  grid-template-columns: minmax(0, 1fr);
}

.v13-hero__inner--solo .v13-hero__copy {
  max-width: 880px;
}

/* 문구가 없으면 탭 패널만 가운데 */
.v13-hero__panel:only-child {
  grid-column: 1 / -1;
  justify-self: center;
  width: 100%;
  max-width: 640px;
}

.v13-hero__copy {
  min-width: 0;
}

.v13-hero__slides {
  width: 100%;
  overflow: hidden;
}

/* Swiper 가 뜨기 전(또는 CDN 실패) — 첫 장만 */
.v13-hero__slides:not(.swiper-initialized) .swiper-slide + .swiper-slide {
  display: none;
}

.v13-hero__slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

.v13-hero__eyebrow {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.72);
}

.v13-hero__eyebrow b {
  margin-right: 10px;
  font-size: 1.0625rem;
  letter-spacing: 0.12em;
  color: #fff;
}

.v13-hero .v13-hero__title {
  margin: 16px 0 20px;
  font-size: 2.75rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.015em !important;
  color: #fff;
  word-break: keep-all;
}

.v13-hero__title b {
  font-weight: 800;
}

.v13-hero__eyebrow + .v13-hero__sub,
.v13-hero__slide > .v13-hero__sub:first-child {
  margin-top: 16px;
}

.v13-hero__sub {
  font-size: 1.125rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
  word-break: keep-all;
}

.v13-hero__ctl {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
}

.v13-hero__count,
.v13-gallery__count {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-variant-numeric: tabular-nums;
}

.v13-hero__count {
  margin-right: 8px;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.7);
}

.v13-hero__count b {
  color: #fff;
  font-weight: 800;
}

.v13-hero__count i,
.v13-gallery__count i {
  display: inline-block;
  width: 24px;
  height: 1px;
  background: currentColor;
  opacity: 0.6;
}

.v13-hero__btn {
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.2s;
}

.v13-hero__btn:hover {
  background: rgba(255, 255, 255, 0.15);
}

.v13-hero__btn:focus-visible,
.v13-hero__tab:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.v13-hero__btn svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.v13-hero__btn .v13-icon-play {
  display: none;
  fill: currentColor;
  stroke: none;
  width: 14px;
  height: 14px;
}

.v13-hero__btn.is-paused .v13-icon-pause {
  display: none;
}

.v13-hero__btn.is-paused .v13-icon-play {
  display: block;
}

/* 오른쪽 탭 패널 */
.v13-hero__panel {
  min-width: 0;
}

.v13-hero__tabs {
  display: flex;
  flex-wrap: wrap;
}

.v13-hero__tab {
  padding: 11px 24px;
  border: 0;
  border-radius: 16px 16px 0 0;
  background: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.85);
  font: inherit;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}

.v13-hero__tab:hover {
  color: #fff;
}

.v13-hero__tab.is-active {
  background: rgba(4, 18, 52, 0.72);
  color: #fff;
}

/* 패널을 한 칸에 겹쳐 두어 탭을 바꿔도 상자 높이가 출렁이지 않게 한다 */
.v13-hero__box {
  display: grid;
  padding: 28px 28px 24px;
  border-radius: 0 20px 20px 20px;
  background: rgba(4, 18, 52, 0.72);
}

.v13-hero__tabpanel {
  grid-area: 1 / 1;
  align-self: center;
  min-width: 0;
}

/* 2026-10-16 (308 검수): 비활성 패널도 자리는 차지한다 — visibility 로 숨겨 초점·낭독에서는 빠진다.
   hidden 속성은 components.css 전역 `[hidden] { display: none !important }` 에 져서 탭을 바꿀 때마다
   히어로 높이가 바뀌었다. 그래서 is-active 클래스로만 전환한다 */
.v13-hero__tabpanel:not(.is-active) {
  visibility: hidden;
}

/* 표지 이미지 (탭 카드·행사 사진 공용)
   2026-10-16 (308 검수): 그림자·아래쪽 어둡게 덮는 그라데이션 제거 — 표지 그대로 */
.v13-cover {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1.24;
  overflow: hidden;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.1);
  transition: transform 0.25s;
}

.v13-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
}

.v13-covers {
  display: grid;
  grid-template-columns: repeat(var(--v13-cover-cols, 2), minmax(0, 1fr));
  gap: 28px;
  justify-items: center;
}

.v13-covers--1 { --v13-cover-cols: 1; }
.v13-covers--3 { --v13-cover-cols: 3; gap: 20px; }

.v13-covers__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 150px;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.v13-covers__title {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.35;
  word-break: keep-all;
}

a.v13-covers__item:hover .v13-cover,
a.v13-feature:hover .v13-cover {
  transform: translateY(-4px);
}

a.v13-covers__item:hover .v13-covers__title {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 행사형 탭: 사진 + 제목 + 일시·장소 */
.v13-feature {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 26px;
  align-items: center;
  color: #fff;
  text-decoration: none;
}

.v13-feature--text {
  grid-template-columns: minmax(0, 1fr);
}

.v13-feature__title {
  display: block;
  margin-bottom: 14px;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.4;
  word-break: keep-all;
}

.v13-feature .v13-arrow {
  color: rgba(255, 255, 255, 0.7);
}

.v13-feature .v13-info dt {
  color: rgba(255, 255, 255, 0.7);
}

a.v13-feature:hover .v13-arrow {
  transform: translateX(6px);
  color: #fff;
}

/* ── 2. 게시판 탭 + 학술대회 ───────────────────────────────── */
.v13-main {
  padding: 56px 0 0;
  background: #fff;
}

.v13-main__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: stretch;
}

.v13-main__grid--solo {
  grid-template-columns: minmax(0, 1fr);
}

.v13-board {
  min-width: 0;
}

.v13-board__head {
  display: flex;
  align-items: flex-end;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--v13-line);
}

.v13-board__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  min-width: 0;
}

.v13-board__tab {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--v13-muted);
  cursor: pointer;
}

.v13-board__tab:hover,
.v13-board__tab.is-active {
  color: var(--v13-ink);
}

.v13-board__tab:focus-visible {
  outline: 2px solid var(--v13-accent);
  outline-offset: 4px;
}

.v13-board__list {
  padding-top: 6px;
}

.v13-board__list a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 9px 0;
  line-height: 1.4;
  color: inherit;
  text-decoration: none;
}

.v13-board__subject {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.0625rem;
  font-weight: 600;
  color: #222;
}

.v13-board__list a:hover .v13-board__subject {
  color: var(--v13-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.v13-board__date {
  flex-shrink: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #777;
  font-variant-numeric: tabular-nums;
}

.v13-conf-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.v13-conf {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-height: 180px;
  padding: 22px 28px;
  overflow: hidden;
  border: 2px solid var(--v13-accent);
  border-radius: 20px;
  background: #f8f9fc;
  color: var(--v13-ink);
  text-decoration: none;
  box-sizing: border-box;
}

.v13-conf__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 45%;
  background-size: cover;
  background-position: 70% 60%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 45%);
  transform-origin: 85% 100%;
  transition: transform 0.35s ease;
}

a.v13-conf:hover .v13-conf__bg {
  transform: scale(1.06);
}

.v13-conf__title,
.v13-conf .v13-info {
  position: relative;
}

/* 사진을 넣으면 글자는 왼쪽 62% 안에 */
.v13-conf--image .v13-conf__title,
.v13-conf--image .v13-info {
  max-width: 62%;
}

.v13-conf__title {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.35;
  color: var(--v13-accent);
  word-break: keep-all;
}

.v13-conf .v13-arrow,
.v13-conf .v13-info dt {
  color: var(--v13-accent);
}

a.v13-conf:hover .v13-arrow {
  transform: translateX(6px);
}

/* ── 3. 포토갤러리 + 바로가기 ──────────────────────────────── */
.v13-quick {
  padding: 56px 0 64px;
  background: #fff;
}

.v13-quick__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: stretch;
}

.v13-quick__grid--solo {
  grid-template-columns: minmax(0, 1fr);
}

.v13-gallery {
  min-width: 0;
}

.v13-gallery__count {
  padding-left: 6px;
  font-size: 0.9375rem;
  color: var(--v13-body);
}

.v13-gallery__count b {
  color: var(--v13-accent);
  font-weight: 800;
}

.v13-gallery__nav {
  width: 34px;
  height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: none;
  color: var(--v13-ink);
  cursor: pointer;
}

/* PC 에서 2장뿐이면 다 보여 넘길 것이 없다 — Swiper 가 잠근 버튼은 숨긴다 */
.v13-gallery__nav.swiper-button-lock {
  display: none;
}

.v13-gallery__nav + .v13-gallery__nav {
  margin-left: -10px;
}

.v13-gallery__nav:hover {
  background: var(--v13-tint);
  color: var(--v13-accent);
}

.v13-gallery__nav svg,
.v13-sponsors__nav svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.v13-gallery__slides {
  overflow: hidden;
}

/* Swiper 를 쓰지 않을 때(2장 이하·CDN 실패) — 두 장 나란히 */
.v13-gallery__slides:not(.swiper-initialized) .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.v13-gallery__slides:not(.swiper-initialized) .swiper-slide {
  width: auto;
}

.v13-gallery__slides:not(.swiper-initialized) .swiper-slide:nth-child(n + 3) {
  display: none;
}

.v13-gallery__slide {
  height: auto;
}

.v13-photo {
  display: flex;
  flex-direction: column;
  color: var(--v13-ink);
  text-decoration: none;
}

.v13-photo__thumb {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 8px;
  background: #dce3ec;
}

.v13-photo__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}

.v13-photo__thumb.is-empty img {
  object-fit: contain;
}

.v13-photo:hover .v13-photo__thumb img {
  transform: scale(1.03);
}

.v13-photo__cap {
  display: block;
  padding: 14px 2px 0;
}

.v13-photo__date {
  display: block;
  font-size: 0.9375rem;
  color: var(--v13-sub);
  font-variant-numeric: tabular-nums;
}

.v13-photo__title {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.4;
}

.v13-photo:hover .v13-photo__title {
  color: var(--v13-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.v13-links {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* 제목 줄 높이를 포토 쪽(버튼 34px)과 맞춘다 */
.v13-links .v13-section-head {
  min-height: 34px;
}

/* PC 4열, 행 높이는 왼쪽 포토 높이를 나눠 갖는다 */
.v13-links__grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(112px, 1fr);
  gap: 10px;
}

.v13-links__item {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  border-radius: 8px;
  background: var(--v13-tint);
  color: #333;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

/* 2026-10-16 (308 검수): 마우스 올림 — 두 겹.
   평소 면 위에 반전 면(마우스 올림색 바탕 + 흰 아이콘·글자)을 겹쳐 두고 clip-path 로 아래에서 위로 덮는다.
   예전처럼 배경·글자·아이콘 색을 서로 반대로 섞으면 중간에 같은 색이 되어, 오가다 전환이 뒤집힐 때
   아이콘·글자가 사라졌다 나타났다(깜박임). 덮기는 매 순간 원래 색 아니면 반전 색이라 사라지는 순간이 없고,
   중간에 뒤집혀도 덮인 선이 그 자리에서 되돌아간다. 버튼 크기·위치는 그대로.
   들어올 때: 0.45s 감속 곡선(부드럽게) / 나갈 때: 0.2s 가속 곡선(빠르게) — 전환은 도착 상태 규칙의 값을 쓴다 */
.v13-links__face {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 8px;
  box-sizing: border-box;
}

.v13-links__face--on {
  position: absolute;
  inset: 0;
  height: auto;
  background-color: var(--v13-quick-hover, var(--site-accent, #06367d));
  color: #fff;
  clip-path: inset(100% 0 0 0);
  transition: clip-path 0.2s cubic-bezier(0.4, 0, 1, 1);
}

/* 키보드 초점 — 기기와 상관없이 덮는다 */
a.v13-links__item:focus-visible .v13-links__face--on {
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 2026-10-16 (308 검수): 마우스 올림은 마우스가 있는 기기에서만. 터치 기기는 탭할 때 :hover 가 같이 잡혀
   덮다가 이동했다 — 터치는 효과 없이 바로 이동한다 */
@media (hover: hover) and (pointer: fine) {
  a.v13-links__item:hover .v13-links__face--on {
    clip-path: inset(0 0 0 0);
    transition: clip-path 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }
}

a.v13-links__item:focus-visible {
  outline: 2px solid var(--v13-quick-hover, var(--site-accent, #06367d));
  outline-offset: 2px;
}

.v13-links__icon {
  position: relative;
  flex: none;
  width: 44px;
  height: 44px;
}

.v13-links__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 반전 면의 아이콘 — 아이콘은 이미지라 색을 직접 못 바꾼다. 같은 그림을 mask 로 써서 흰색으로 칠한다 */
.v13-links__icon-on {
  position: absolute;
  inset: 0;
  background-color: #fff;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

/* 움직임 줄이기를 켠 사용자 — 덮기 없이 바로 바뀐다 */
@media (prefers-reduced-motion: reduce) {
  .v13-links__face--on {
    transition: none !important;
  }
}

.v13-links__label {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  word-break: keep-all;
}

/* ── 4. 후원기관 ───────────────────────────────────────────── */
.v13-sponsors {
  padding: 26px 0;
  border-top: 1px solid var(--v13-line);
  background: #fff;
}

.v13-sponsors__line {
  display: flex;
  align-items: center;
  gap: 20px;
}

.v13-sponsors__line + .v13-sponsors__line {
  margin-top: 16px;
}

.v13-sponsors__title {
  flex: none;
  font-size: 1.125rem !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  color: var(--v13-ink);
}

.v13-sponsors__track {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.v13-sponsors__track::-webkit-scrollbar {
  display: none;
}

.v13-sponsors__belt {
  display: flex;
  gap: 14px;
  width: max-content;
}

.v13-sponsors__line.is-static .v13-sponsors__belt {
  margin: 0 auto;
}

.v13-sponsors__item {
  display: block;
  padding: 4px 8px;
  border: 1px solid var(--v13-line);
  border-radius: 10px;
  background: #fff;
}

.v13-sponsors__item img {
  display: block;
  width: auto;
  height: 46px;
  max-width: none;
}

.v13-sponsors__nav {
  flex: none;
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--v13-line);
  border-radius: 10px;
  background: #fff;
  color: var(--v13-ink);
  cursor: pointer;
}

.v13-sponsors__nav:hover:not(:disabled) {
  border-color: var(--v13-accent);
  color: var(--v13-accent);
}

.v13-sponsors__nav:disabled {
  opacity: 0.35;
  cursor: default;
}

/* 한 줄에 다 들어오면 버튼이 필요 없다 (main-v13.js 가 판정) */
.v13-sponsors__line.is-static .v13-sponsors__nav {
  display: none;
}

/* ── 모바일 메뉴 한/영 토글 ─────────────────────────────────── */
/* 2026-10-16 (308 검수): site.js 가 그리는 `한국어 | EN` 은 공용 스타일이 없고 main-v7.css 에만 있어,
   v13 에서는 링크 2개와 구분선이 한 줄씩(3행) 나왔다. v7 과 같은 모양을 v13 스코프로 둔다 */
.main-v13 #nav .mobile-lang-switch {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.main-v13 #nav .mobile-lang-switch a {
  display: inline-block;
}

.main-v13 #nav .mobile-lang-switch .lang-active {
  color: var(--v13-accent);
  font-weight: 600;
}

.main-v13 #nav .mobile-lang-switch .lang-inactive {
  color: #999;
}

.main-v13 #nav .mobile-lang-switch .lang-divider {
  color: #ccc;
  font-size: 12px;
}

/* ── 모바일 풋터 링크 ───────────────────────────────────────── */
/* 2026-10-16 (308 검수): 공용 layout.css(600px 이하)는 이용약관·개인정보·학회소개·찾아오시는길을 한 줄에 하나씩
   세로로 쌓는다(간격 25px). 가로 줄바꿈은 폭에 따라 1~2줄로 들쭉날쭉해 2열 격자로 고정한다 —
   어느 폭이든 2개씩 2행, 열 시작선이 맞고 아래 주소 글과 같은 왼쪽 시작선 */
@media (max-width: 600px) {
  /* 공용 layout.css:322 의 오른쪽 정렬을 물려받으면 칸 안에서 글자가 오른쪽으로 붙는다 */
  .main-v13 .foot_sub_link {
    text-align: left;
  }

  .main-v13 .foot_sub_link ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 24px;
  }
}

/* ── 반응형 ────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .v13-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    min-height: 0;
    padding-top: 44px;
    padding-bottom: 48px;
  }

  .v13-hero__panel:only-child {
    max-width: none;
  }

  .v13-main__grid,
  .v13-quick__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }
}

@media (max-width: 640px) {
  .main-v13 {
    --v13-gutter: 16px;
  }

  .v13-hero__inner {
    padding-top: 36px;
    padding-bottom: 40px;
  }

  .v13-hero__eyebrow {
    font-size: 0.8125rem;
  }

  .v13-hero__eyebrow b {
    font-size: 0.9375rem;
  }

  .v13-hero .v13-hero__title {
    margin: 12px 0 14px;
    font-size: 1.875rem !important;
  }

  .v13-hero__sub {
    font-size: 1rem;
  }

  .v13-hero__tab {
    padding: 10px 16px;
    font-size: 0.9375rem;
  }

  .v13-hero__box {
    padding: 20px;
  }

  .v13-covers,
  .v13-covers--3 {
    gap: 14px;
  }

  .v13-covers__title {
    font-size: 0.9375rem;
  }

  .v13-feature {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .v13-feature .v13-cover {
    aspect-ratio: 16 / 10;
  }

  /* 2026-10-16 (308 검수): 가로로 잘리는 모바일에서는 행사 포스터 제목(위쪽)이 보이게 위 기준으로 자른다 */
  .v13-feature .v13-cover img {
    object-position: 50% 0;
  }

  .v13-feature__title {
    font-size: 1.125rem;
  }

  .v13-main {
    padding-top: 40px;
  }

  .v13-board__tab {
    font-size: 1.375rem;
  }

  .v13-section-title {
    font-size: 1.375rem !important;
  }

  .v13-board__subject,
  .v13-photo__title {
    font-size: 1rem;
  }

  .v13-board__date,
  .v13-photo__date {
    font-size: 0.8125rem;
  }

  .v13-conf {
    padding: 20px;
  }

  .v13-conf__title {
    font-size: 1.25rem;
  }

  /* 2026-10-16 (308 검수): 사진(캐릭터)을 옅게 깔던 처리 제거 — 원래 진하기 그대로,
     사진 폭 40% · 글자 폭 60% 로 나눠 겹치지 않게 한다 */
  .v13-conf__bg {
    width: 40%;
    /* 2026-10-16 (308 검수): 좁은 칸에서 70% 기준으로 자르면 캐릭터 오른쪽(망토)이 잘렸다 — 오른쪽 끝 기준.
       왼쪽 흐림 구간도 25% 로 줄여 캐릭터 손이 흐려지지 않게 */
    background-position: 100% 60%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 25%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 25%);
  }

  .v13-conf--image .v13-conf__title,
  .v13-conf--image .v13-info {
    max-width: 60%;
  }

  .v13-info {
    font-size: 0.9375rem;
  }

  .v13-quick {
    padding: 40px 0 48px;
  }

  /* 2026-10-16 (308 검수): 모바일 포토는 1장씩 (Swiper 를 못 쓸 때도 첫 장만) */
  .v13-gallery__slides:not(.swiper-initialized) .swiper-wrapper {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .v13-gallery__slides:not(.swiper-initialized) .swiper-slide:nth-child(n + 2) {
    display: none;
  }

  .v13-links__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 110px;
  }

  .v13-sponsors__line {
    gap: 10px;
  }

  .v13-sponsors__title {
    font-size: 1rem !important;
  }

  .v13-sponsors__nav {
    width: 34px;
    height: 34px;
  }

  .v13-sponsors__item img {
    height: 38px;
  }
}
