.pill-menu-list,
.mobile-section,
.membership-section {
  display: none;
}

/* 임시 이미지 코드 */
.pl-slider-counter {
  display: none;
}

.prep-slide-wrap {
  position: relative;
  display: block;
}

/* 정중앙 배치 */
.prep-text-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
  text-align: center;
  width: 100%;
  z-index: 2; 
  pointer-events: none;
}

/* 영문 타이틀 */
.prep-text-box .prep-title {
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 500;
  color: #1d1d1d;
  margin: 0 0 2px 0 !important;
  letter-spacing: -0.01em;
}

/* 국문 서브 텍스트 */
.prep-text-box .prep-desc {
  font-size: 14px;
  font-weight: 400;
  color: #666;
  margin: 0 !important;
}

/* 매칭 텍스트 정중앙 배치 */
.match-prep-text-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  z-index: 2;
  pointer-events: none;
}

/* 영문 타이틀 */
.match-prep-text-box .match-prep-title {
  font-family: var(--font-en);
  font-size: 18px;
  font-weight: 500;
  color: #1d1d1d;
  margin: 0 0 2px 0 !important;
  letter-spacing: -0.01em;
}

/* 국문 서브 텍스트 */
.match-prep-text-box .match-prep-desc {
  font-size: 13px;
  font-weight: 400;
  color: #666;
  margin: 0 !important;
}

/* [비주얼 섹션] */
.detail-hero-section {
  width: 100%;
  max-width: 1344px;
  margin: 0 auto;
  padding: 0 72px;
  text-align: center;
  box-sizing: border-box;
}

/* 타이틀 */
.detail-hero-section .hero-title {
  font-family: var(--font-en);
  font-size: 42px;
  font-weight: 700;
  color: #1d1d1d !important;
  margin: 0 0 38px 0;
  padding-top: 100px;
  text-transform: uppercase;
}

/* 이미지 래퍼 (슬라이드 컨테이너 전체 뼈대) */
.detail-hero-section .hero-img-wrap {
  position: relative;
  width: 100%;
  padding: 0 120px;
  box-sizing: border-box;
  display: block;
  overflow: visible !important;
}

/* 히어로 섹션 슬라이더 */
.detail-hero-section .pl-slider {
  width: 100% !important;
  overflow: hidden !important;
}

.detail-hero-section .pl-slider .swiper-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

.detail-hero-section .pl-slider .swiper-slide {
  width: 100% !important;
  flex-shrink: 0 !important;
  display: block !important;
}

/* 슬라이더 내부 이미지 */
.detail-hero-section .pl-slider .swiper-slide img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 4 / 5 !important;
}

/* 컨트롤러 공통 UI 세팅 (기존 유지) */
.pl-slider-counter {
  font-family: var(--font-en);
  font-size: 14px;
  font-weight: 500;
  color: #1d1d1d !important;
}

.pl-slider-counter .total { 
  color: #999 !important; 
}

.pl-slider-arrows { 
  display: flex; 
  gap: 18px; 
}

.pl-slider-prev, .pl-slider-next {
  width: 10px; 
  height: 10px;
  background: url('https://pagelab.co.kr/wp-content/uploads/2026/05/icon_arrow_black.png') no-repeat center;
  background-size: contain;
  border: none; 
  cursor: pointer; 
  padding: 0;
}

.pl-slider-prev { 
  transform: scaleX(-1); 
}

/* PC 전용 컨트롤러 위치 */
@media (min-width: 960px) {
  .detail-hero-section .pl-slider-controls {
    position: absolute;
    right: 120px !important; 
    bottom: -38px !important; 
    z-index: 10;
    display: flex !important;
    align-items: center;
    gap: 16px; 
  }
}

/* [상세 섹션] Block 01 레이아웃 */
.detail-story-section {
  width: 100%;
  max-width: 1344px;
  padding: 0 72px 240px;
  margin: 0 auto;
  box-sizing: border-box;
}

.story-block-01 {
  margin: 80px 0 240px;
  padding: 0 120px;
}

/* 공통 타이틀 */
.story-tag {
  font-family: var(--font-en);
  font-size: 14px;
  font-weight: 400;
  color: #1d1d1d !important;
  display: block;
  margin-bottom: 18px;
  word-break: break-word;
}

.story-title {
  font-size: 30px !important;
  font-weight: 700;
  line-height: 1.3;
  color: #1d1d1d !important;
  margin: 0 0 40px 0;
  word-break: keep-all;
}

.story-title-d {
  font-size: 30px !important;
  font-weight: 700;
  line-height: 1.3;
  color: #1d1d1d !important;
  margin: 0 0 25px 0;
  word-break: keep-all;
}

/* 설명 */
.story-desc {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.68;
  color: #333 !important;
  margin: 0 0 18px;
  word-break: keep-all;
}

.story-desc.en {
  font-family: var(--font-en);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.68;
  color: #333 !important;
  margin: 0;
  word-break: break-word;
}

.story-desc-1 {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.68;
  color: #333 !important;
  margin: 0 0 18px;
  word-break: keep-all;
}

.story-desc-1.en {
  width: 90%;
  font-family: var(--font-en);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.68;
  color: #333 !important;
  margin: 0;
  word-break: break-word;
}

.story-desc-5 {
  width: 80%;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.68;
  color: #333 !important;
  margin: 0 0 18px;
  word-break: keep-all;
}

.story-desc-5.en {
  width: 80%;
  font-family: var(--font-en);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.68;
  color: #333 !important;
  margin: 0;
  word-break: break-word;
}

/* Block 02 레이아웃 */
.story-block-02 {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 200px;
  position: relative;
}

/* 우측 이미지 */
.sb02-img-wrap {
  order: 1;
  width: 58%; 
  align-self: flex-end;
  margin-left: 0;
}

.sb02-img-wrap img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 3 / 4 !important; 
  object-fit: cover;
}

/* 타이틀 */
.sb02-title-wrap {
  order: 2; 
  width: 56%;
  margin-top: -352px;
  margin-left: 0;
  position: relative;
  z-index: 2;
  padding: 0 0 0 15px;
}

/* 오버레이 박스 */
.sb02-overlap-box {
  order: 3;
  width: 56%;
  background-color: #fff;
  padding: 15px; 
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  bottom: auto;
  left: auto;
}

/* Block 03 레이아웃 */
.story-block-03 {
  position: relative;
  width: 100%;
  margin-bottom: 200px;
}

.sb03-img-wrap {
  width: 46%;
}

.sb03-img-wrap img { 
  width: 100%; 
  height: auto; 
  display: block; 
  aspect-ratio: 3 / 4 !important; 
  object-fit: cover;
}

.sb03-content-wrap {
  position: absolute;
  top: 20%;
  right: 0;
  width: 60%;
  z-index: 2;
  display: flex;
  flex-direction: column;
}
.sb03-title-wrap {
  padding: 0 0 0 112px;
  box-sizing: border-box;
}

.sb03-overlap-box {
  background-color: #fff;
  padding: 15px;
  box-sizing: border-box;
}

/* Block 04 레이아웃 */
.story-block-04 {
  position: relative;
  width: 100%;
  margin-bottom: 200px;
}

.sb04-img-wrap {
  width: 66%;
}

.sb04-img-wrap img { 
  width: 100%; 
  height: auto; 
  display: block; 
  aspect-ratio: 3 / 4 !important; 
  object-fit: cover;
}

.sb04-content-wrap {
  position: absolute;
  top: -46px; 
  right: 0;
  width: 52%;
  z-index: 2;
}

.sb04-overlap-box {
  background-color: #fff;
  padding: 15px;
  box-sizing: border-box;
}

.sb04-title-wrap {
  padding-left: 254px;
  margin-top: 25px;
}

/* Block 05 레이아웃 */
.story-block-05 {
  width: 100%;
}

/* Flex 컨테이너 */
.sb05-images-flex {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

/* 좌측 영역 */
.sb05-col-left {
  width: 40%;
}

.sb05-col-left img {
  width: 100%; 
  height: auto; 
  display: block;
  aspect-ratio: 3 / 4 !important; 
  object-fit: cover;
}

/* 우측 영역 */
.sb05-col-right {
  width: 60%;
  margin-top: 160px;
}

.sb05-col-right img { 
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 3 / 4 !important; 
  object-fit: cover;
}

.sb05-desc-area {
  width: 100%;
  margin-top: 80px;
  margin-left: calc(40% + 18px); 
  width: calc(73%);
}

/* 추천대상 */
.detail-match-section {
  position: relative;
  width: 100%;
  max-width: 1344px;
  margin: 0 auto;
  padding: 240px 72px 200px;
  box-sizing: border-box;
  display: block !important;
}

.detail-match-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 72px;
  right: 72px;
  height: 1px;
  background-color: #e5e5e5;
}

.match-content-area {
  width: 100%;
  display: block;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

/* 타이틀 영역 */
.match-header {
  text-align: center;
  margin-bottom: 68px;
}

.match-main-title {
  font-size: 30px !important;
  font-weight: 700;
  line-height: 1.3;
  color: #1d1d1d !important;
  margin: 0;
}

/* 영문버튼 */

.match-slider-counter { 
  display: none; 
}

.match-top-controls { 
  display: contents; 
}

/* 버튼 가로 정렬 */

.match-thumbnail {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;
}

.match-item {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  margin-bottom: 60px;
}

.match-img-wrap {
  width: 340px;
  flex-shrink: 0;
}

.match-text-wrap {
  flex: 1;
  border-top: 1px solid #000;
  padding-top: 24px;
}

.match-title {
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.3;
  color: #1d1d1d !important;
  margin: 0 0 12px 0;
}

.match-desc {
  width: 93%;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.68;
  color: #333 !important;
  margin: 0 0 36px 0;
  word-break: keep-all;
}

.match-sub-title {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #1d1d1d !important;
  margin-bottom: 10px;
}

.match-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.match-tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  color: #333 !important;
  padding: 6px 20px;
  border: 1px solid #333;
  background-color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
}

.match-tag:hover {
  background-color: #000;
  color: #fff !important;
}

.detail-match-section .match-item:last-child {
  margin-bottom: 0 !important;
}

#match-wrap-en .match-title,
#match-wrap-en .match-desc,
#match-wrap-en .match-sub-title,
#match-wrap-en .match-tag { 
  font-family: var(--font-en) !important;
}

#match-wrap-en .match-main-title { 
  letter-spacing: -0.01em !important; 
}

/* 해상도(960px 이상)에서는 하단 컨트롤러가 보이지 않도록  */
@media (min-width: 960px) {
  .match-bottom-controls {
    display: none !important;
  }
}

/* 가격표 */
.detail-price-section {
  position: relative;
  width: 100%;
  max-width: 1344px;
  margin: 0 auto;
  padding: 200px 72px;
  box-sizing: border-box;
  display: block !important;
  z-index: 1 !important;
}

.detail-price-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: calc(-50vw + 50%);
  right: calc(-50vw + 50%);
  height: 100%;
  background-color: #f9f9f9 !important;
  z-index: -1 !important;
}

.price-content-area {
  width: 100%;
  display: block;
  max-width: 800px;
  margin: 0 auto;
}

.price-header {
  text-align: center;
  margin-bottom: 68px;
}

.price-main-title {
  font-size: 30px !important;
  font-weight: 700;
  line-height: 1.3;
  color: #1d1d1d !important;
  margin: 0 0 18px 0;
}

.part-switcher {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.part-btn {
  background: none;
  border: none;
  padding: 0;
  font-size: 14px;
  font-weight: 500;
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}

.part-btn.active { 
  color: #1d1d1d !important; 
  font-weight: 700;
}

.part-switcher .divider { 
  color: #999; 
  font-size: 14px;
}

.price-list-container {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.list-header {
  display: flex;
  justify-content: space-between;
  gap: 60px;
}

.list-row {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 60px;
}

.col-name { 
  flex: 1;
  text-align: left; 
}

.col-price { 
  width: 200px;
  flex-shrink: 0;
  text-align: left; 
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.list-header .col-name,
.list-header .col-price {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  padding-bottom: 8px;
  border-bottom: 1px solid #000;
}

.list-row .col-name,
.list-row .col-price {
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
}

.list-row .col-name { 
  font-size: 18px; 
  font-weight: 600; 
  color: #1d1d1d; 
}

.list-row .col-price { 
  font-size: 18px; 
  font-weight: 700; 
  color: #1d1d1d; 
}

.price-notice {
  font-size: 14px;
  font-weight: 400;
  color: #999;
  text-align: left;
  margin-top: 18px;
}

/* 뉴스 */
.pagelab-news-container {
  position: relative;
  width: 100%;
  max-width: 1344px;
  margin: 0 auto; 
  padding: 200px 72px 200px;
  box-sizing: border-box;
  display: block !important;
}

.news-content-area { 
  width: 100%; 
  display: block;
  max-width: 1000px;
  margin: 0 auto;
}

.news-header {
  margin-bottom: 68px;
}

.news-main-title {
  font-size: 30px !important;
  font-weight: 700;
  line-height: 1.3;
  color: #1d1d1d !important;
  margin: 0;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 40px;
}

.news-item {
  display: flex;
  align-items: flex-start; 
  gap: 28px;
  padding-bottom: 38px;
  border-bottom: 1px solid #e5e5e5 !important;
  min-width: 0;
}

.news-img-wrap { 
  width: 200px; 
  flex-shrink: 0; 
}

.news-text-wrap { 
  flex: 1; 
  min-width: 0; 
}

.news-category {
  font-size: 12px;
  font-weight: 400;
  color: #999 !important;
  display: block;
  margin-bottom: 6px;
}

.news-title {
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.4;
  color: #1d1d1d !important;
  margin: 0 0 18px 0;
  text-decoration: none;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}

.news-meta {
  font-size: 14px;
  font-weight: 400;
  color: #1d1d1d !important;
}

.news-bottom-action {
  display: flex; 
  justify-content: 
  flex-end; margin-top: 28px;
}

.news-view-all {
  font-family: var(--font-en);
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
  color: #222 !important;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding-bottom: 0;
}

.news-view-all .txt {
  position: relative;
  padding-bottom: 4px;
}

.news-view-all .txt::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #d3d3d3;
}

.news-view-all .txt::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #000; 
  z-index: 1;
  transform: scaleX(0); 
  transform-origin: left; 
  transition: transform 0.3s ease-out; 
}

.news-view-all:hover .txt::before { 
  transform: scaleX(1); 
}

.news-view-all::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0 2px 6px;
  background: url('https://pagelab.co.kr/wp-content/uploads/2026/05/sub_black_arrow.png') no-repeat center;
  background-size: contain;
}

@media (max-width: 1024px) {
  .match-desc {
    width: 100%;
  }
}

@media (max-width: 959px) {
  
  
  
  
  /* [모바일 전용] 하단 고정 내비게이션 */
  
  
  
  
  
  
  
  /* 공통 여백 및 타이포그래피 */
  .detail-hero-section, 
  .detail-story-section { 
    max-width: 100%;
    padding: 0;
  }
  
  /* 태그 */
  .story-tag { 
    font-size: 12px; 
    margin-bottom: 9px !important; 
  }
  
  .story-title { 
    font-size: 23px !important; 
    margin: 0 0 20px 0; 
  }
  
  .story-title-d {
    font-size: 23px !important; 
    margin: 0 0 28px 0; 
  }
  
  /* 본문 */
  .story-desc, 
  .story-desc-1, 
  .story-desc-5 { 
    width: 100% !important;
    font-size: 14px; 
    margin-bottom: 16px;
  }
  
  /* 영문 본문 */
  .story-desc.en, 
  .story-desc-1.en, 
  .story-desc-5.en { 
    width: 100% !important;
    font-size: 14px;
    margin-top: 0; 
  }
  
  .story-desc br, .story-desc-1 br, .story-desc-5 br,
  .story-desc.en br, .story-desc-1.en br, .story-desc-5.en br {
    display: none !important; 
  }
  
  /* 비주얼 섹션 (Hero) */
  .detail-hero-section {
    padding: 0 !important;
    width: 100vw !important; 
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    position: relative;
  }
  
  .detail-hero-section .hero-img-wrap {
    order: -1; 
    padding: 0 !important;
    margin-bottom: 28px !important; 
    position: relative !important;
    width: calc(100vw - 0) !important; 
    overflow: hidden !important; 
  }

  .detail-hero-section .pl-slider {
    width: 100% !important;
    overflow: visible !important;
  }

  .detail-hero-section .pl-slider .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important; 
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .detail-hero-section .pl-slider .swiper-slide {
    width: 100% !important; 
    flex-shrink: 0 !important;
    display: block !important;
    height: auto;
    margin-left: 0 !important;
  }

  .detail-hero-section .pl-slider .swiper-slide img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important; 
    object-fit: cover;
    aspect-ratio: 4 / 5 !important; 
  }
  
  .detail-hero-section .pl-slider-controls,
  .detail-hero-section .pl-slider-counter,
  .detail-hero-section .hero-title {
    display: none !important;
  }
  
  /* 히어로 섹션 라인(보더) 네비게이션 */
  .detail-hero-section .pl-slider-pagination { 
    display: none !important; /* flex로 전환하기 */
    position: absolute !important;
    bottom: 24px !important; 
    left: 48% !important;
    transform: translateX(-50%) !important;
    gap: 8px !important;
    z-index: 9999 !important; 
    pointer-events: auto !important;
    width: auto !important;
  }

  .detail-hero-section .pl-slider-dot {
    display: block !important;
    width: 30px !important; 
    height: 2px !important; 
    background-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important; 
    transition: all 0.3s ease !important;
    margin: 0 !important;
  }

  .detail-hero-section .pl-slider-dot.active {
    background-color: #fff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
  }

  /* 1. 레이아웃 */
  .story-block-01 { 
    padding: 0; 
    margin: 0 20px 100px; 
    display: flex;
    flex-direction: column;
  }
  
  .pl-slider-pagination { 
    display: flex !important; 
  }
  
  .story-block-01 .story-tag {
    order: 1;
    margin-bottom: 9px !important;
  }
  
  .story-block-01 .story-title {
    order: 2;
    margin-bottom: 20px !important;
  }

  .story-block-01 .desc-group {
    order: 3;
  }

  /* 2. 레이아웃 */
  .story-block-02 { 
    display: flex; 
    flex-direction: column; 
    margin-bottom: 100px;
  }
  
  .sb02-title-wrap { 
    order: -1; 
    margin: 0 20px;
    padding: 0;
    width: auto;
  }
  
  .sb02-img-wrap { 
    width: 60%; 
    margin-left: auto;
  }

  .sb02-img-wrap img {
    aspect-ratio: 3 / 4 !important; 
    object-fit: cover;
  }
  
  .sb02-overlap-box { 
    position: relative; 
    width: 80%; 
    padding: 12px 12px 12px 20px;
    bottom: auto; 
    left: 0; 
    margin-top: -240px;
    background: #fff; 
    box-sizing: border-box; 
    z-index: 2;
  }

  /* 3. 레이아웃 */
  .story-block-03 { 
    display: flex; 
    flex-direction: column;
    margin-bottom: 100px;
  }
  
  .sb03-content-wrap { 
    display: contents; 
  }
  
  .sb03-title-wrap { 
    order: 1;
    text-align: right;
    padding: 0; 
    margin: 0 20px;
  }
  
  .sb03-img-wrap { 
    order: 2;
    width: 52% !important; 
    margin-right: auto;
  }

  .sb03-img-wrap img {
    aspect-ratio: 3 / 4 !important; 
    object-fit: cover;
  }
  
  .sb03-overlap-box { 
    order: 3;
    position: relative; 
    width: 74%; 
    padding: 12px 20px 12px 12px;
    margin-left: auto; 
    margin-top: -160px;
    background: #fff; 
    box-sizing: border-box; 
    z-index: 2;
  }

  /* 4. 레이아웃 */
  .story-block-04 { 
    display: flex; 
    flex-direction: column; 
    margin-bottom: 100px; 
  }
  
  .sb04-content-wrap { 
    position: static; 
    width: 100%; 
    display: flex; 
    flex-direction: column; 
    order: -1;
  }
  
  .sb04-title-wrap { 
    padding: 0; 
    margin: 0 20px; 
    order: -1;
  }
  
  .sb04-overlap-box { 
    margin-bottom: 60px;
    padding: 0 20px;
  }
  
  .sb04-img-wrap { 
    width: 62%;
  }

  .sb04-img-wrap img {
    aspect-ratio: 3 / 4 !important; 
    object-fit: cover;
  }

  /* 5. 레이아웃 */
  .story-block-05 {
    margin-bottom: 100px;
  }
  
  .sb05-images-flex { 
    gap: 16px;
    margin-bottom: 38px;
  }
  
  .sb05-col-left { 
    width: calc(45% - 7.5px);
  }
  
  .sb05-col-right { 
    width: calc(55% - 7.5px);
    margin-top: 40px;
  }

  .sb05-col-left img,
  .sb05-col-right img {
    aspect-ratio: 3 / 4 !important;
    object-fit: cover;
  }
  
  .sb05-desc-area { 
    margin: 0 20px; 
    width: auto;
  }
  
  
  /* 추천대상 */
  .detail-match-section {
    padding: 100px 20px;
  }
  
  .detail-match-section::before {
    left: 20px;
    right: 20px;
  }
  
  /* 기존 카운터 숨김 */
  .match-top-controls .match-slider-counter {
    display: none !important;
  }
  
  /* 하단 컨트롤러 영역 */
  .match-bottom-controls {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 38px;
    width: 100%;
  }

  /* 카운터 스타일 */
  .match-bottom-controls .match-slider-counter {
    display: block; 
    font-family: var(--font-en);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: #1d1d1d;
    padding: 0;
  }

  .match-bottom-controls .match-slider-counter .total {
    color: #999 !important;
  }

  /* 화살표 버튼 스타일 */
  .match-slider-prev, .match-slider-next {
    width: 10px; 
    height: 10px;
    background: url('https://pagelab.co.kr/wp-content/uploads/2026/05/icon_arrow_black.png') no-repeat center;
    background-size: contain;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: opacity 0.2s;
  }

  .match-slider-prev { 
    transform: scaleX(-1); 
  }

  .match-slider-prev:hover, .match-slider-next:hover {
    opacity: 0.5;
  }

  /* 모바일 언어 버튼 절대위치 해제 */
  
  
  

  
  
  /* 타이틀 영역 */
  .match-header {
    margin-bottom: 30px;
  }
  
  .match-main-title {
    font-size: 23px !important;
  }

  /* 슬라이더 레일로 변경 */
  .detail-match-section .match-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden !important; 
    align-items: flex-start !important; 
    transition: height 0.3s ease-out;
    gap: 0 !important; 
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    width: 100%;
    padding-bottom: 0;
  }
  
  .detail-match-section .match-list::-webkit-scrollbar {
    display: none;
  }

  .detail-match-section .match-list::after {
    display: none !important; 
  }

  .detail-match-section .match-item {
    flex: 0 0 100% !important; 
    max-width: 100% !important; 
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    border: none;
    margin-bottom: 0 !important; 
    gap: 18px !important;
    height: auto !important;
  }
  
  .match-img-wrap { 
    width: 100%; 
  }
  
  .match-thumbnail {
    aspect-ratio: 4 / 3 !important; 
    object-fit: cover;
  }
  
  .detail-match-section .match-text-wrap {
    border: none;
    padding-top: 0;
    opacity: 0;
    pointer-events: none; 
    transition: opacity 0.3s ease-in-out;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  
  .detail-match-section .match-item.active .match-text-wrap {
    opacity: 1;
    pointer-events: auto;
  }

  .match-title {
    font-size: 16px !important;
    margin-bottom: 10px;
  }
  
  .match-desc {
    font-size: 14px;
  }
  
  .match-sub-title {
    font-size: 14px;
    margin-bottom: 10px;
  }
  
  .match-tags {
    display: flex;
    flex-wrap: nowrap; 
    overflow-x: auto; 
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    width: 100%;
    box-sizing: border-box;
    overscroll-behavior-x: none;
    touch-action: pan-x pan-y;
  }
  
  .match-tags::-webkit-scrollbar {
    display: none;
  }
  
  .match-tag {
    padding: 5px 12px;
  }
  
  #match-wrap-en .match-title {
    line-height: 1.4;
  }
  
  
  /* 가격 섹션 */
  .detail-price-section { 
    padding: 100px 20px; 
  }
  
  .price-header { 
    margin-bottom: 30px; 
  }
  
  .price-main-title { 
    font-size: 23px !important; 
    margin: 0 0 10px 0; 
  }
  
  .part-switcher { 
    gap: 8px; 
  }
  
  .part-btn {
    font-size: 13px; 
  }

  .list-header, .list-row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
  }

  .col-price {
    width: 100px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  
  .list-header .col-name, .list-header .col-price {
    font-size: 12px;
    padding-bottom: 6px;
  }
  
  .list-row .col-name, .list-row .col-price { 
    line-height: 1.4;
    padding: 14px 0; 
    font-size: 14px; 
  }
  
  .price-notice {
    font-size: 12px;
  }

  /* 뉴스 섹션 */
  .pagelab-news-container { 
    padding: 100px 20px 160px; 
  }
  
  .news-header { 
    margin-bottom: 30px; 
  }
  
  .news-main-title { 
    font-size: 23px !important; 
    text-align: center !important; 
    width: 100%; 
  }
  
  .news-grid { 
    display: flex; 
    flex-direction: column; 
    gap: 28px; 
    margin: 0;
    overflow-x: visible; 
    scroll-snap-type: none;
  }
  
  .news-item { 
    display: flex; 
    flex-direction: row; 
    gap: 18px; 
    align-items: top; 
    padding-bottom: 18px;
    min-width: auto;
  }
  
  .news-img-wrap { 
    width: 42%; 
    flex-shrink: 0; 
    margin: 0 !important; 
  }
  
  .news-text-wrap { 
    width: 58%; 
    text-align: left !important; 
  }
  
  .news-category { 
    margin-bottom: 4px; 
  }
  
  .news-title { 
    font-size: 14px !important;
    margin-bottom: 12px;
    word-break: keep-all; 
    white-space: normal; 
    display: -webkit-box; -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical; overflow: hidden;
  }
  
  .news-meta { 
    font-size: 12px; 
  }
  
  .news-view-all {
    font-size: 12px; 
  }
}

/* 정적 빌드: 섹션 언어 버튼은 헤더 전역 버튼으로 통합 */
.match-lang-sidebar { display: none !important; }


/* ===== 시술 상세 공통 보정 (2026-09-22) — details.extra_css 가 모든 시술 페이지 CSS 뒤에(페이지별 extra 보다 먼저) 자동 첨부 =====
   필러 양식에서 확정한 간격을 나머지 양식에 옮긴 것. 양식별 클래스가 있는 곳에만 걸리므로 다른 양식에는 영향 없음. PC 전용. */
@media (min-width: 960px) {
  /* 제목 위 영문 문구(story-tag) → 제목 간격 18 → 12 (전 시술 페이지) */
  .pl-main .story-tag { margin-bottom: 12px; }
  .sb01-top-line { margin-bottom: 12px; }                         /* 리쥬란형(4블록) 01: 상단 줄(문구) → 제목 26 → 12 */

  /* 사진 사이 간격 80 (의료진 사진 2장 나란한 곳은 원본 40 유지) */
  .sb05-images-flex { gap: 80px; }                                /* 온다형(5블록)·6블록형 05: 두 사진 30 → 80 */
  .sb05-desc-area { margin-left: calc(40% + 48px); width: calc(60% - 48px); }   /* 05 글 칸 = 오른쪽 사진 칸(왼쪽선·폭 일치; 원본 73% 폭은 컨테이너를 넘침) */
  .story-block-05:has(> .sb05-col-left) { gap: 80px; }            /* 리쥬란형 05: 사진 | 슬라이드 60 → 80 (:has 미지원 브라우저는 60 유지) */

  /* 사진 아래 글 간격 80 */
  .doc-top-row { margin-bottom: 80px; }                           /* 6블록형 의료진 사진·뉴스 → 글 120 → 80 */
}
/* 영문 제목 줄바꿈: 두 줄 이상이면 줄 길이를 고르게(text-wrap: balance) → "…Key / Doctor" 같은 한 단어 고아 줄 방지.
   미지원 브라우저(구형)는 기존 줄바꿈 유지. 국문은 pl-keep 수동 줄바꿈을 쓰므로 제외 (2026-09-22 사용자 요청) */
html[lang="en"] .pl-main .story-title,
html[lang="en"] .pl-main .story-title-d,
html[lang="en"] .pl-main .story-title-01,
html[lang="en"] .pl-main .match-main-title,
html[lang="en"] .pl-main .match-title,
html[lang="en"] .pl-main .price-main-title { text-wrap: balance; }

/* 시술 상세 제목 행간 1.3 → 1.4 — 국·영문 공통 (2026-09-22 사용자 확인: 영문 먼저, 이어서 국문도) */
.pl-main .story-title,
.pl-main .story-title-d,
.pl-main .story-title-01,
.pl-main .match-main-title,
.pl-main .price-main-title { line-height: 1.4; }
/* 01 제목(story-title-d)의 <br> 은 원본이 PC 에서 숨기지만, 지정 줄바꿈(pl-keep)은 영문 PC 에서도 살린다 */
html[lang="en"] .pl-main .story-title-d br.pl-keep { display: inline !important; }

/* 영문 페이지: 제목이 이미 영문이므로 제목 위 영문 문구를 숨김 (2026-09-22 사용자 요청) */
html[lang="en"] .pl-main .story-tag,
html[lang="en"] .sb01-top-line .story-tag-01:first-child { display: none; }
html[lang="en"] .sb01-top-line { justify-content: flex-end; }     /* 남는 브랜드명(예: Rejuran)은 오른쪽에 */

/* 시술 페이지가 없는 시너지 태그는 링크처럼 보이지 않게 (2026-09-28) */
.pl-main .match-tag[href="#"] { cursor: default; }

/* 밑줄 링크(회색 줄 + 검은 줄 채움)는 글자와 밑줄 사이 2px 로 통일 (2026-09-30 사용자: 링크 버튼 padding-bottom 2px, 밑줄 효과 공통) */
.news-view-all .txt,
.package-link .txt,
.lineup-view-btn .txt,
.pl-main .doctor-name strong { padding-bottom: 2px; }

/* 키닥터 이름 → 의료진 페이지 해당 원장 카드(#doctor-xxx) 링크, 밑줄 효과는 그대로 (2026-09-30 사용자) */
.pl-main .doctor-name strong a { color: inherit; text-decoration: none; }

/* 제목 자연스럽게 줄바꿈 — 단어 단위 + 줄 길이 고르게 (2026-09-30 사용자) */
.pl-main .hero-title,
.pl-main .story-title,
.pl-main .story-title-d,
.pl-main .story-title-01,
.pl-main .match-main-title,
.pl-main .match-title,
.pl-main .match-prep-title,
.pl-main .prep-title,
.pl-main .price-main-title { word-break: keep-all; text-wrap: balance; }

/* ===== 사진 자리 '이미지 준비중' 표기 (2026-10-06 사용자 "이미지가 안 올라간 상세 페이지들 이미지 준비중 표기") =====
   사진이 아직 없는 자리는 본문에서 /assets/img/preparing_image.svg(투명, 1120×1400 — 예전 회색 jpg 와 같은 비율)를 쓰고,
   여기서 연회색 바탕 + 가운데 글자 그림(assets/img/preparing-label-ko|en.png — 기존 덮개 .prep-text-box 와 같은 Inter 20/500 · Pretendard 14 #666 을 2배로 찍은 것)을 깐다.
   글자는 배경이라 칸 크기와 상관없이 같은 크기. 영문 페이지는 'Preparing image' 한 줄. 예전부터 HTML 글자 덮개(prep-text-box)가 있는 자리는 회색 jpg 그대로라 겹치지 않는다.
   사진을 넣으면(tools/img.py program … --replace "preparing_image.svg?n=N") 자리 표시가 저절로 사라진다. */
img[src*="preparing_image.svg"] { background: #ececec url("../../img/preparing-label-ko.png") center / 169px auto no-repeat !important; }
html[lang="en"] img[src*="preparing_image.svg"] { background-image: url("../../img/preparing-label-en.png") !important; }


/* ===== 온다형 양식(onda · sofwave · titanium · opus · linearz-2 · aptos · density · thermage-flx · ultherapy-prime):
   국·영문 분리 후 레이아웃 정리 (2026-09-22, 필러에서 확정한 규칙을 옮김) — PC 전용, 모바일은 원본 그대로 =====
   원칙: 글이 사진 위에 얹히던 흰 박스를 없애고, 사진 옆/아래 칸에 제목 → 본문 순서로 둔다. 사진 사이 80, 사진 → 글 80, 제목 위 문구 → 제목 12.
   details.extra_css 가 양식이 onda 인 시술 페이지 CSS 뒤에 자동 첨부. HTML 구조는 그대로 두고 PC 에서만 재배치. */
@media (min-width: 960px) {
  /* 01. 도입 문단 92% → 80% (필러와 동일) */
  .story-block-01 .story-desc-1, .story-block-01 .story-desc-1.en { width: 80%; }

  /* 02. 사진 오른쪽 58% | 왼쪽에 제목 → 본문, 본문 마지막 줄을 사진 하단선에 (필러 06 방식). 원본: 제목이 -352/-432px 로 사진 위에 올라감 */
  .story-block-02 { display: grid; grid-template-columns: 1fr 58%; grid-template-rows: 1fr auto; column-gap: 40px; }
  .sb02-img-wrap { grid-column: 2; grid-row: 1 / 3; width: 100%; align-self: start; margin: 0; }
  .sb02-title-wrap, .pl-main .sb02-title-wrap { grid-column: 1; grid-row: 1; width: 100%; margin: 0; padding: 0; align-self: end; }   /* common.css 의 제목 폭 40%(사진 겹침 방지용)는 이제 불필요 → 칸 폭 전체 */
  .sb02-overlap-box { grid-column: 1; grid-row: 2; width: 100%; background: none; padding: 0; align-self: end; }
  .sb02-overlap-box .story-desc, .sb02-overlap-box .story-desc.en { margin-bottom: 0; }

  /* 03. 사진 왼쪽 46% | 오른쪽 제목 → 본문(사진 윗선 기준), 사진 사이 80. 원본: 글 상자가 absolute 로 사진에 겹침, 제목만 80px 들여쓰기 */
  .story-block-03 { display: grid; grid-template-columns: 46% 1fr; column-gap: 80px; align-items: start; }
  .sb03-img-wrap { grid-column: 1; width: 100%; }
  .sb03-content-wrap { grid-column: 2; position: static; width: 100%; }
  .sb03-title-wrap { padding: 0; }
  .sb03-overlap-box { background: none; padding: 0; }
  .sb03-overlap-box .story-desc, .sb03-overlap-box .story-desc.en { margin-bottom: 0; }

  /* 04. 사진 왼쪽(나머지) | 오른쪽 40% 제목 → 본문, 사진 하단선 기준(원본 구도 유지). 원본: 흰 상자가 사진 오른쪽 아래에 겹치고 제목이 본문 아래 254px 들여쓰기 */
  .story-block-04 { display: grid; grid-template-columns: 1fr 40%; column-gap: 80px; align-items: end; margin-bottom: 200px; }
  .sb04-img-wrap { grid-column: 1; width: 100%; }
  .sb04-content-wrap { grid-column: 2; position: static; width: 100%; display: flex; flex-direction: column; }
  .sb04-title-wrap { order: 1; padding: 0; margin: 0; }          /* 제목을 본문 위로 */
  .sb04-overlap-box { order: 2; background: none; padding: 0; }
  .sb04-overlap-box .story-desc, .sb04-overlap-box .story-desc.en { margin-bottom: 0; }

  /* 05. 두 사진(40 | 60) 사이 80 + 글은 오른쪽 사진 칸 — _common.css 에서 처리 */
}


/* ===== 온다 4블록 2장 슬라이더 (2026-09-18 이미지 가이드: 04 영역에 두 컷 → 슬라이더) =====
   이 파일은 details.prepare_programs 가 페이지 CSS 뒤에 자동으로 붙인다. */
.sb04-img-wrap { position: relative; }
.sb04-img-wrap .pl-slider { width: 100%; overflow: hidden; }
.sb04-img-wrap .pl-slider .swiper-slide { width: 100% !important; flex-shrink: 0 !important; display: block !important; }
.sb04-img-wrap .pl-slider .swiper-slide img { width: 100%; height: auto; display: block; aspect-ratio: 3 / 4 !important; object-fit: cover; }
.sb04-img-wrap .pl-slider-controls { position: absolute; right: 0; bottom: -38px; z-index: 10; display: flex; align-items: center; gap: 16px; }
.sb04-img-wrap .pl-slider-pagination { display: none; }
.sb04-img-wrap .pl-slider-counter { display: block; }   /* 번호(1 / 2) 표시 — 상단 "임시 이미지 코드"의 display:none 을 04 블록에서만 해제 */
@media (max-width: 959px) {
  .sb04-img-wrap .pl-slider-controls { display: none !important; }
}
