#wrap {
  background-attachment: fixed;
  min-height: fit-content;
}

/* header */
header {
  height: 58px;
}
header .header_wrap {
  padding: 0 20px;
}
header .header_wrap ul li:not(:last-child) {
  display: none !important;
}
header .header_wrap > a {
  width: 212px;
  height: 30px;
  font-size: 16px;
  margin-left: 0;
  background-size: contain;
}
header .header_wrap ul li button {
  width: 32px;
  height: 32px;
}
header .header_wrap ul li:last-child {
  width: 32px;
  height: 32px;
  margin-left: 0;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header_wrap ul li:last-child .btn_more {
  border-radius: 16px;
  background-size: 14px 14px;
}

/* 모바일 전체메뉴 (more 버튼 클릭 시 오픈) */
.mo_gnb {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(255, 255, 255, 0.77);
  -webkit-backdrop-filter: blur(7.5px);
  backdrop-filter: blur(7.5px);
  overflow-y: auto;
}
.mo_gnb.active {
  display: block;
}
.mo_gnb .mo_gnb_header {
  height: 52px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #95c8e4;
}
.mo_gnb .btn_close {
  flex: none;
  width: 52px;
  height: 52px;
  background: url("/next/images/olympic88/ico/ico_close.svg") center center no-repeat;
  cursor: pointer;
}
.mo_gnb > ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 64px 0 0;
}
.mo_gnb > ul > li {
  width: 100%;
}
.mo_gnb > ul > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  width: 100%;
  height: 52px;
  padding: 0 24px;
  border-radius: 6px;
  color: #303030;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.2px;
  color: #333;
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.18px;
}

/* =========================================================
   메인
   ========================================================= */
/* 화면 높이만큼 채움 (헤더 58px 제외) */
main .main_wrap {
  flex-direction: column;
  min-height: calc(100vh - 58px);
  min-height: calc(100dvh - 58px);
}

/* 제목: 고정 영역 */
main .main_wrap .title {
  flex: none;
  height: 263px;
  overflow: hidden;
  gap: 12px;
  padding: 43px 20px 0;
}
/* 곡선 배경: 360px 시안 기준 화면 폭에 비례, 아래 끝은 카드 위에 맞춤 (높이는 600px 폭까지만 비례) */
main .main_wrap .title::before {
  inset: calc(263px - min(100vw, 600px) * 201 / 360) auto auto
    calc(100vw * -168 / 360);
  width: calc(100vw * 572 / 360);
  height: calc(min(100vw, 600px) * 464 / 360);
  background: url("/next/images/olympic88/bg/img_main_bg_mo.svg") left top / 100%
    100% no-repeat;
}
main .main_wrap .title span {
  font-size: 40px;
  letter-spacing: -0.4px;
}
main .main_wrap .title p {
  font-size: 12px;
}

/* 01~04 카드: 가로 스크롤 */
main .main_wrap .hero_container {
  flex: 1;
  position: relative;
  z-index: 1;
}
main .main_wrap .hero_dots {
  position: absolute;
  left: 20px;
  top: -16px;
  display: flex;
  gap: 6px;
}
main .main_wrap .hero_dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  transition: background 0.2s ease;
}
main .main_wrap .hero_dots span.active {
  background: #0d0e3e;
}
main .main_wrap .hero_contents {
  flex: 1 0 auto;
  gap: 2px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
main .main_wrap .hero_contents::-webkit-scrollbar {
  display: none;
}
/* 카드 4장이 다 들어가는 넓은 화면은 폭을 나눠 채움 */
main .main_wrap .hero_item {
  flex: 1 0 212px;
  width: auto;
  min-width: 212px;
  min-height: 352px;
  padding: 28px 20px;
  scroll-snap-align: start;
}
/* 사진은 카드 아래에 붙임 */
main .main_wrap .hero_item .thumb {
  top: auto;
  bottom: 0;
  background-size: cover;
}
main .main_wrap .hero_contents .hero_item:nth-child(1) .thumb {
  height: 319px;
  background-image: url("/next/images/olympic88/bg/img_main_mo_01.png");
}
main .main_wrap .hero_contents .hero_item:nth-child(2) .thumb {
  height: 248px;
  background-image: url("/next/images/olympic88/bg/img_main_mo_02.png");
}
main .main_wrap .hero_contents .hero_item:nth-child(3) .thumb {
  height: 203px;
  background-image: url("/next/images/olympic88/bg/img_main_mo_03.png");
}
main .main_wrap .hero_contents .hero_item:nth-child(4) .thumb {
  height: 209px;
  background-image: url("/next/images/olympic88/bg/img_main_mo_04.png");
}
/* 사진 위 그라데이션: 01은 위쪽을 남색으로, 02는 전체 오버레이 */
main .main_wrap .hero_contents .hero_item:nth-child(1)::after,
main .main_wrap .hero_contents .hero_item:nth-child(2)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: 0;
  pointer-events: none;
}
main .main_wrap .hero_contents .hero_item:nth-child(1)::after {
  top: -1px;
  height: 214px;
  background: linear-gradient(#0d0e3e 36%, rgba(13, 14, 62, 0));
}
main .main_wrap .hero_contents .hero_item:nth-child(2)::after {
  top: 0;
  bottom: 0;
  background: linear-gradient(
    rgba(13, 14, 62, 0),
    rgba(13, 14, 62, 0.45) 31%,
    #0d0e3e
  );
  mix-blend-mode: overlay;
}
main .main_wrap .hero_item .num {
  font-size: 50px;
  letter-spacing: -0.5px;
}
main .main_wrap .hero_item .label {
  margin: 6px 0 0;
  font-size: 18px;
}
main .main_wrap .hero_item.theme_gray .label,
main .main_wrap .hero_item.theme_green .label {
  font-size: 22px;
}
main .main_wrap .hero_item .label::after {
  margin-top: 10px;
}

/* 슬라이드 (is-slider, --hero-x 는 layout.js 에서 지정) */
main .main_wrap .hero_contents.is-slider {
  overflow: hidden;
  scroll-snap-type: none;
  touch-action: pan-y;
}
/* 카드·사진 크기: 360px 시안 기준 화면 폭에 비례 */
main .main_wrap .hero_contents.is-slider .hero_item {
  flex: 0 0 calc(100vw * 212 / 360);
  min-height: calc(100vw * 352 / 360);
  transform: translateX(var(--hero-x, 0px));
  -webkit-user-drag: none;
  user-select: none;
}
main .main_wrap .hero_contents.is-slider .hero_item:nth-child(1) .thumb {
  height: calc(100vw * 319 / 360);
}
main .main_wrap .hero_contents.is-slider .hero_item:nth-child(2) .thumb {
  height: calc(100vw * 248 / 360);
}
main .main_wrap .hero_contents.is-slider .hero_item:nth-child(3) .thumb {
  height: calc(100vw * 203 / 360);
}
main .main_wrap .hero_contents.is-slider .hero_item:nth-child(4) .thumb {
  height: calc(100vw * 209 / 360);
}
main .main_wrap .hero_contents.is-slider .hero_item:nth-child(1)::after {
  height: calc(100vw * 214 / 360);
}
main .main_wrap .hero_contents.is-slider.is-animated .hero_item {
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 타임라인 · 기록물 검색가이드 */
main .main_wrap .hero_footer {
  flex-direction: column;
  height: auto;
  gap: 0;
}
main .main_wrap .hero_footer .footer_link {
  padding: 22px 24px;
}
main .main_wrap .hero_footer .footer_link .txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
main .main_wrap .hero_footer .footer_link .btn_arrow {
  width: 36px;
  height: 36px;
  background-size: 18px 18px;
}
main .main_wrap .hero_footer .footer_link.timeline .txt {
  color: #1df052;
}
main .main_wrap .hero_footer .footer_link.timeline .btn_arrow {
  background-color: #1df052;
}
main .main_wrap .hero_footer .footer_link.record {
  width: 100%;
}

/* =========================================================
   서브페이지
   ========================================================= */
.sub_main {
  background: #fff;
}
.subpage {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0 20px 60px;
}
.subpage .content {
  width: 100%;
  padding: 0;
}
.mo {
  display: block;
}
.subpage .lnb.pc {
  display: none;
}

/* 모바일 LNB */
.subpage .lnb_mo {
  margin: 0 -20px 0;
  padding: 20px;
  background: #fbfaff;
  border-bottom: 1px solid #b8b5c3;
}
.subpage .lnb_mo .lnb_mo_label {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 8px;
}
.subpage .lnb_mo .lnb_select_btn {
  padding: 10px 14px;
  font-size: 14px;
  line-height: 1.5;
  border: 1px solid #111143;
  background: #fff;
}
.subpage .lnb_mo .lnb_select_btn span {
  line-height: 1.5;
}
.subpage .lnb_mo .lnb_select_btn svg {
  width: 24px;
  height: 24px;
  margin: -2px 0;
}

/* 카드 */
.subpage .card {
  border: none;
  border-radius: 0;
  padding: 0;
  gap: 0;
}
/* 페이지 제목은 LNB 드롭다운이 대신한다 */
.subpage .page_title {
  display: none;
}

/* 탭: 한 줄에 하나씩 쌓기 */
.subpage .tabs {
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 6px;
  margin: 0 -20px;
  padding: 20px;
  background: none;
  border: none;
  border-bottom: 1px solid #b8b5c3;
  border-radius: 0;
}
.subpage .tabs .tab {
  width: 100%;
  padding: 8px 16px;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: normal;
  word-break: keep-all;
  text-align: center;
  border: 1px solid #e4e2e9;
  background: #fbfaff;
  color: #111143;
}
.subpage .tabs .tab.active {
  background: #1df052;
  border-width: 0;
  color: #111143;
}
.subpage .tab_panel.active {
  padding-top: 20px;
}

/* 본문 */
.subpage .para_group {
  margin-bottom: 44px;
}
.subpage .para_group p {
  font-size: 14px;
  line-height: 24px;
}
.subpage .img_row {
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 44px;
}
/* 블록 사이 간격은 margin-bottom 44px 하나로 */
.img_row + .para_group,
.img_row + .img_slider,
.slider_ctrl + .para_group {
  padding-top: 0;
}
.subpage .img_box {
  aspect-ratio: 320 / 174;
}
.subpage .para_group > .img_box:only-child {
  width: 100%;
}
/* 본문 옆 이미지: 글 → 이미지 → 이어지는 문단 순으로 세로 배치 */
.subpage .para_group.with_img {
  display: flex;
}
.subpage .para_group.with_img > :nth-child(2) {
  margin: 44px 0;
}
/* 첫 칸이 여러 문단 묶음(div)이면 모바일은 한 문단으로 이어 붙임 (PC 는 설계서대로 줄바꿈)
   p 사이 공백이 띄어쓰기 한 칸이 되고, 줄 높이는 본문(.para_group p)과 맞춤 */
.subpage .para_group.with_img > div:first-child {
  font-size: 14px;
  line-height: 24px;
}
.subpage .para_group.with_img > div:first-child > p {
  display: inline;
}
/* 두 장 나란히: 도면이라 잘리지 않게 원본 비율 유지 */
.subpage .img_pair .img_box {
  aspect-ratio: auto;
}
.subpage .img_item .caption {
  font-size: 16px;
  margin-top: 10px;
}

/* 슬라이더 */
.subpage .img_slider {
  margin-bottom: 44px;
}
.subpage .slider_ctrl {
  justify-content: flex-start;
  gap: 0;
  margin-top: 24px;
}
.subpage .slider_ctrl .track {
  flex: 0 0 146px;
}
.subpage .slider_ctrl .counter {
  margin-left: 31px;
}
.subpage .slider_ctrl .nav {
  margin-left: auto;
}

/* 참고문헌 */
.subpage .refs {
  padding-top: 24px;
}

/* =========================================================
   개요 (일러두기 · 타임라인 · 기록물 목록/상세 공통)
   ========================================================= */
.sub_main.guide_page,
.sub_main.timeline_page,
.sub_main.records_page {
  background-color: #fff;
}
.subpage.guide {
  padding-bottom: 24px;
}
.subpage.guide .lnb_mo {
  margin-bottom: 24px;
}
.subpage.guide .card {
  padding: 0;
}

/* =========================================================
   일러두기
   ========================================================= */
.guide_sections {
  gap: 32px;
}
.guide_sec {
  gap: 12px;
}
.guide_sec > h2 {
  font-size: 20px;
  letter-spacing: -0.2px;
}
.guide_sec > p,
.guide_sec > p.sm {
  font-size: 14px;
  line-height: 24px;
  text-align: justify;
}
.guide_sec > p + p {
  margin-top: 12px;
}

/* 안내 박스 */
.guide_infobox {
  gap: 20px;
  padding: 16px;
}
.guide_infobox .row {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.guide_infobox .row .label {
  font-size: 14px;
  line-height: 24px;
}

/* 열람문의: 지역별 한 줄씩 */
.guide_contact {
  padding: 16px;
}
.guide_contact p {
  font-size: 14px;
  line-height: 30px;
}
.guide_contact .bul,
.guide_contact .sep,
.guide_contact br {
  display: none;
}
.guide_contact .tel {
  display: block;
  line-height: inherit;
}

/* 메뉴소개 및 내용 집필 표: 메뉴별로 쌓기 */
.guide_table,
.guide_table tbody,
.guide_table tr,
.guide_table th,
.guide_table td {
  display: block;
}
.guide_table colgroup,
.guide_table thead {
  display: none;
}
.guide_table {
  margin-top: 20px;
}
.guide_table th,
.guide_table td {
  line-height: 1.5;
  word-break: normal;
}
.guide_table .gt_desc {
  font-size: 14px;
  line-height: 1.6;
}
.guide_table .gt_author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  border-bottom-color: #111143;
}
.guide_table .gt_author b,
.guide_table .gt_author span {
  display: inline;
  line-height: 1.5;
}
.guide_table .gt_author br {
  display: none;
}
.guide_table th[rowspan] + th,
.guide_table tbody tr:last-child th {
  font-weight: 400;
}
.guide_table tbody tr:last-child th,
.guide_table tbody tr:nth-last-child(2) th[rowspan] {
  border-bottom-color: #e7e9ed;
}

/* =========================================================
   타임라인
   ========================================================= */
.tl {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  overflow: visible;
}
.tl_band,
.tl_green,
.tl_img,
.tl_div,
.tl_row::before {
  display: none;
}
.tl_rows {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.tl_row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.tl_year {
  margin-right: 0;
  transform: none;
  padding: 8px;
  background: var(--tl-band);
  font-family: "S-CoreDream", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.18px;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
}
.tl_group .ev {
  flex-direction: column;
  gap: 2px;
}
.tl_group .ev_date {
  width: auto;
  font-size: 16px;
  line-height: 1.5;
}
.tl_group .ev_desc {
  padding-left: 21px;
  font-size: 16px;
  line-height: 1.5;
}

/* =========================================================
   기록물 목록
   ========================================================= */
.subpage.records .content {
  padding-top: 0;
}
.subpage.records .card {
  overflow: visible;
}

/* 검색 영역: 검색어 + 구분만 */
.records_search {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin-bottom: 12px;
}
.records_search .search_box {
  flex: none;
  gap: 12px;
  padding: 0 20px;
}
.records_search .search_box select,
.records_search .btn_download {
  display: none;
}
.records_search .filter {
  width: 100%;
  font-weight: 600;
}

/* 목록 표 -> 카드형 목록 */
.records_table,
.records_table tbody {
  display: block;
}
.records_table colgroup,
.records_table thead,
.records_table td.rt_num {
  display: none;
}
.records_table tr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 8px;
  padding: 16px 0;
  border-bottom: 1px solid #e8e5e0;
}
.records_table td {
  grid-column: 1 / -1;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  text-align: left;
}
.records_table td + td {
  margin-top: 4px;
}
.records_table .rt_title {
  order: -1;
  margin-top: 0;
  font-size: 16px;
  font-weight: 500;
}
.records_table td.rt_type {
  margin-top: 6px;
}
.records_table .rt_title a {
  line-height: inherit;
}
.records_table .rt_type::before {
  content: "구분 : ";
}
.records_table .rt_org::before {
  content: "생산기관 : ";
}
.records_table .rt_year::before {
  content: "생산년도 : ";
}
.records_table td.rt_view {
  margin-top: 8px;
}

/* 원문보기·동영상 보기 버튼 (목록·상세 공통) */
.records_table .tools button,
.record_btns button {
  flex: 1;
  width: 100%;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #fff;
  border: 1px solid #d8dee2;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: #111143;
}
.record_btns button svg {
  flex: none;
  width: 24px;
  height: 24px;
}

/* 페이지네이션 */
.paging {
  padding: 12px 0 0;
}
.paging .pages {
  gap: 1px;
}
.paging .pages a {
  width: 24px;
  height: 22px;
  font-size: 12px;
}

/* =========================================================
   기록물 상세
   ========================================================= */
.record_view {
  align-items: stretch;
  gap: 32px;
}
.record_view .card {
  overflow: visible;
}

/* 기록물명은 제목으로, 나머지는 생산기관·생산년도·소장처·관리번호·건번호 순 */
.record_info colgroup {
  display: none;
}
.record_info {
  display: block;
}
.record_info tbody {
  display: grid;
  grid-template-columns: 74px 1fr;
}
.record_info tr {
  display: contents;
}
.record_info tr:nth-child(3) > * {
  order: 1;
}
.record_info tr:nth-child(4) > * {
  order: 2;
}
.record_info tr:nth-child(2) > * {
  order: 3;
}
.record_info th,
.record_info td,
.record_info td.half {
  height: auto;
  padding: 8px 0;
  font-size: 14px;
  line-height: 16px;
  border-right: 0;
  border-bottom: 1px solid #cecee9;
}
.record_info th {
  padding-right: 6px;
  text-align: left;
}
.record_info tr:first-child th {
  display: none;
}
.record_info tr:first-child td {
  grid-column: 1 / -1;
  margin-bottom: 20px;
  padding: 0;
  border-bottom: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}
.record_view .record_btns {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}
.record_desc {
  min-height: 0;
  margin-top: 24px;
  padding: 12px;
  background: #fbfaff;
  border-top: 0;
  border-radius: 8px;
}
.record_desc p {
  font-size: 14px;
}
.record_view .btn_list {
  padding: 12px;
}

/* =========================================================
   기록물 이미지 크게 보기
   ========================================================= */
.img_viewer {
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
/* 시안 360x640 기준 이미지 영역 128~487px, 툴바 아래 64px */
.img_viewer .v_stage {
  padding: 128px 0 60px;
}
.img_viewer .btn_close {
  right: 19px;
}
.img_viewer .v_tools {
  gap: 4px;
  margin-bottom: 64px;
}
.img_viewer .v_tools button {
  width: 29px;
  height: 29px;
  border-radius: 10px;
}
.img_viewer .v_tools button img {
  width: 19px;
  height: 19px;
}
.img_viewer .v_thumbs {
  display: none;
}

/* =========================================================
   기록물 설명보기 레이어
   ========================================================= */
.rec_modal .modal_box {
  width: 320px;
  gap: 0;
  padding-bottom: 20px;
}
.rec_modal .m_top {
  height: 45px;
  padding: 0 12px 0 20px;
}
.rec_modal .m_body {
  gap: 11px;
  padding: 0 20px;
}
.rec_modal .record_info {
  border: 0;
}
/* 기록물명·생산기관·소장처·생산년도·관리번호·건번호 순 (상세 페이지와 순서가 다름)
   기록물명은 모바일 시안에 없던 항목으로 디자인에 추가 요청 후 선반영. 상세 페이지처럼 제목으로 빼지 않고 다른 항목과 같은 줄로 */
.rec_modal .record_info tr:first-child th {
  display: block;
}
.rec_modal .record_info tr:first-child td {
  grid-column: auto;
  margin-bottom: 0;
  padding: 8px 0;
  border-bottom: 1px solid #cecee9;
  font-size: 14px;
  font-weight: 500;
  line-height: 16px;
}
.rec_modal .record_info tr:nth-child(3) > :nth-child(n + 3) {
  order: 3;
}
.rec_modal .record_info tr:nth-child(2) > :nth-child(-n + 2) {
  order: 4;
}
.rec_modal .record_info tr:nth-child(2) > :nth-child(n + 3) {
  order: 5;
}
.rec_modal .m_desc {
  font-size: 14px;
}

/* 종목 필터 칩 */
.subpage .sport_filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 8px;
  padding-left: 0;
  margin-bottom: 40px;
}
.subpage .sport_chip {
  font-size: 16px;
  padding: 8px 18px;
}

/* 종목 픽토그램 그리드 */
.subpage .para_group:has(+ .sport_grid) {
  margin-bottom: 32px;
}
.subpage .sport_grid {
  column-gap: 8px;
  row-gap: 8px;
}

/* =========================================================
   종목 상세 레이어(모달)
   ========================================================= */
.sport_modal {
  align-items: flex-start;
  padding: 20px;
  overflow-y: auto;
}
.sport_modal .dim {
  position: fixed;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.sport_modal .modal_box {
  position: relative;
  width: 100%;
  max-width: 320px;
  margin: auto;
  padding: 0 20px 20px;
  gap: 11px;
}
.sport_modal .m_top {
  height: 45px;
  margin: 0 -8px -11px 0;
  padding: 0;
}
.sport_modal .m_head {
  border-radius: 8px;
  padding: 10px 32px;
}
.sport_modal .m_head h2 {
  font-size: 16px;
}

/* 관리정보: 한 줄에 하나씩 */
.sport_modal .m_meta {
  flex-direction: column;
  height: auto;
  border: 0;
}
.sport_modal .m_pair,
.sport_modal .m_pair.grow,
.sport_modal .m_meta .m_pair:first-child,
.sport_modal .m_meta .m_pair:last-child {
  flex: none;
  width: auto;
  gap: 6px;
  padding: 8px 0;
  border-bottom: 1px solid #cecee9;
}
.sport_modal .m_pair .m_l,
.sport_modal .m_pair .m_v {
  height: auto;
  font-size: 14px;
  line-height: 1.2;
}
.sport_modal .m_pair .m_l {
  width: 68px;
  background: none;
  justify-content: flex-start;
}
.sport_modal .m_pair .m_v {
  white-space: normal;
}
.sport_modal .m_desc {
  padding: 12px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

/* 갤러리: 썸네일·이미지 위 화살표 없이 아래 컨트롤만 */
.sport_modal .m_gallery {
  width: 100%;
  gap: 11px;
}
.sport_modal .m_main {
  height: 154px;
  border-radius: 0;
}
.sport_modal .m_slide .ov {
  border-radius: 0;
}
.sport_modal .m_arrow,
.sport_modal .m_thumbs {
  display: none;
}
.sport_modal .m_ctrl {
  gap: 20px;
}
.sport_modal .m_prog {
  width: 176px;
  justify-content: space-between;
  gap: 0;
}
.sport_modal .m_track {
  width: 121px;
}
.sport_modal .m_counter {
  font-size: 14px;
}
