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

/* 임시 이미지 코드 — 2026-10-02 실제 사진 반영: 카운터(1 / 2) 다시 표시.
   PC 의 오른쪽(블록 4)·작은(블록 5) 사진 칸은 사진이 1장이라 컨트롤 숨김(모바일 통합 슬라이더는 2장 그대로) */
.story-block-04 .sb04-img-right .pl-slider-controls,
.story-block-05 .sb05-img-wrap-small .pl-slider-controls {
  display: none !important;   /* 아래 PC 컨트롤 위치 규칙(display:flex !important)보다 우선 */
}

.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;
}

@media (max-width: 959px) {
  .prep-text-box .prep-title {
    font-size: 15px;
  }
  .prep-text-box .prep-desc {
    font-size: 10px;
  }
  
  .match-prep-text-box .match-prep-title {
    font-size: 15px;
  }
  .match-prep-text-box .match-prep-desc {
    font-size: 10px;
  }
}

/* [비주얼 섹션] */
.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, .story-title-d {
  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 br {
  display: none !important; 
}

/* 설명 */
.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 {
  width: 86%;
  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: 86%;
  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 { 
  margin-bottom: 240px; 
  display: flex; 
  flex-direction: column; 
  gap: 120px; 
}

.sb02-doctors { 
  display: flex; 
  gap: 40px; 
  justify-content: space-between; 
}

.doctor-item { 
  width: calc(50% - 20px); 
}

.doctor-item .pl-img-wrap { 
  aspect-ratio: 4 / 5 !important; 
  margin-bottom: 20px; 
  position: relative; 
  overflow: hidden; 
  background: #f9f9f9; 
  align-items: center !important; 
}

.doctor-item .pl-img-wrap img { 
  width: 100% !important; 
  height: 100% !important; 
  object-fit: cover; 
  position: absolute !important; 
  top:0 !important; 
  left:0 !important; 
  aspect-ratio: unset !important; 
}

/* 의료진 텍스트 */
.doctor-name { 
  display: flex; 
  align-items: baseline; 
  font-family: var(--font-en); 
  color: #1d1d1d; 
}

.doctor-name span { 
  font-size: 14px; 
  font-weight: 400; 
  margin-right: 12px; 
}

.doctor-name strong { 
  font-size: 18px; 
  font-weight: 700; 
  line-height: 1.4;
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
  cursor: pointer;
}

.doctor-name strong::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #e5e5e5;
}

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

.doctor-name strong:hover::before {
  transform: scaleX(1);
}

/* 하단 텍스트 레이아웃 */
.sb02-text-bottom { 
  display: flex; 
  flex-direction: column;
  gap: 80px;
  width: 100%;
}

.sb02-text-bottom .col-left { 
  width: 100%; 
}

.sb02-text-bottom .col-left .story-desc,
.sb02-text-bottom .col-left .story-desc.en {
  max-width: 76%; 
}

/* 최신 뉴스 텍스트 */
.sb02-text-bottom .col-right { 
  width: calc(50% - 20px);
  margin-left: calc(50% + 20px); 
}

.sb02-news h4 { 
  font-size: 18px; 
  font-weight: 700; 
  margin: 0 0 12px 0; 
  color: #1d1d1d; 
}

.sb02-news ul { 
  list-style: none !important; 
  padding: 0 !important; 
  margin: 0 !important; 
}

.sb02-news li { 
  margin-bottom: 10px; 
  position: relative; 
  padding-left: 14px;
}

.sb02-news li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 3px;
  height: 3px;
  background-color: #1d1d1d;
  border-radius: 50%;
}

.sb02-news li a { 
  font-size: 15px; 
  font-weight: 400; 
  color: #1d1d1d; 
  text-decoration: none; 
  border-bottom: 1px solid #1d1d1d; 
  padding-bottom: 2px; 
  transition: color 0.2s, 
  border-color 0.2s; 
}

.sb02-news li a:hover { 
  color: #999 !important; 
  border-color: #999 !important; 
}

/* Block 03 레이아웃 */
.story-block-03 { 
  margin-bottom: 240px; 
  display: flex; 
  flex-direction: column; 
}

.sb03-top { 
  position: relative; 
  margin-bottom: 48px; 
}

.sb03-top .pl-img-wrap { 
  width: 80%; 
  margin: 0 auto;
  aspect-ratio: 4 / 3 !important; 
  position: relative; 
  overflow: hidden; 
  align-items: center !important; 
}

.sb03-top .pl-img-wrap img { 
  width: 100% !important; 
  height: 100% !important; 
  object-fit: cover; 
  position: absolute !important; 
  top:0 !important; 
  left:0 !important; 
  aspect-ratio: unset !important; 
}

.sb03-overlap-box { 
  position: absolute; 
  right: 0; 
  bottom: -186px; 
  width: 60%; 
  background: #fff; 
  padding: 15px; 
  box-sizing: border-box; 
  z-index: 2; 
}

.sb03-bottom { 
  display: flex; 
  justify-content: space-between; 
  align-items: flex-start; 
}

.sb03-bottom .sb03-title-wrap { 
  width: 100%;
}

/* 공통: PC/MO 디바이스 분기 */
.mo-view { 
  display: none !important; 
}

.pc-view { 
  display: flex;
}

/* Block 04 레이아웃 */
.story-block-04 { 
  margin-bottom: 240px; 
  display: flex; 
  flex-direction: column; 
}

.sb04-images { 
  position: relative; 
  gap: 80px;
}

.sb04-img-left { 
  width: 40%; 
  position: relative; 
  z-index: 2; 
}

.sb04-img-left .pl-img-wrap { 
  aspect-ratio: 3 / 4 !important; 
  position: relative; 
  overflow: hidden; 
  align-items: center !important; 
}

.sb04-img-left .pl-img-wrap img { 
  width: 100% !important; 
  height: 100% !important; 

  max-width: 100% !important; 
  max-height: 100% !important; 
  display: block !important;
  
  object-fit: cover; 
  position: absolute !important; 
  top: 0 !important; 
  left: 0 !important; 
  aspect-ratio: unset !important;
}

.sb04-title-wrap .story-title {
  margin: 0; 
}

.sb04-overlap-text { 
  position: relative;
  width: 111%; 
  background: #fff; 
  padding: 0 15px 0 0; 
  box-sizing: border-box; 
  margin-top: 48px;
  z-index: 10;
}

/* 우측 슬라이더 */
.sb04-img-right { 
  width: 60%; 
  margin-top: 160px; 
  position: relative;
  z-index: 1; 
}

.sb04-img-right .pl-img-wrap { 
  aspect-ratio: 3 / 4 !important; 
  position: relative; 
  overflow: hidden; 
  align-items: center !important; 
}

.sb04-img-right .pl-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.sb04-img-right .pl-slider .swiper-wrapper {
  width: auto !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

.sb04-img-right .pl-slider .swiper-slide {
  width: 100%;
  height: 100% !important;
  position: relative;
  overflow: hidden;
  display: block;
}

.sb04-img-right .pl-img-wrap img { 
  width: 100% !important; 
  height: 100% !important; 
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover; 
  display: block !important; 
  position: absolute !important;
  top: 0 !important; 
  left: 0 !important; 
  aspect-ratio: unset !important;
}

.story-block-04 .sb04-title-wrap { 
  width: 100%; 
}

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

.sb05-wrapper {
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  gap: 80px
}

.sb05-img-wrap { 
  width: 58%; 
  align-self: flex-start;
  margin-right: 0;
  margin-top: 160px;
}

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

/* 우측 슬라이더 */
.sb05-img-wrap-small {
  width: 35%;
  margin-top: 0;
}

.sb05-img-wrap-small .pl-img-wrap {
  aspect-ratio: 3 / 4 !important; 
  position: relative; 
  overflow: hidden; 
}

.sb05-img-wrap-small .pl-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.sb05-img-wrap-small .pl-slider .swiper-wrapper {
  width: auto !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

.sb05-img-wrap-small .pl-slider .swiper-slide {
  width: 100%;
  height: 100% !important;
  position: relative;
  overflow: hidden;
  display: block;
}

.sb05-img-wrap-small .pl-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover;
  display: block !important;
  position: absolute !important;
  top: 0 !important; 
  left: 0 !important; 
  aspect-ratio: unset !important;
}

/* 타이틀 & 텍스트 */
.sb05-title-wrap {
  order: 2; 
  width: 39%;
  margin-top: -380px;
  align-self: flex-end;
  text-align: left;
  position: relative;
  z-index: 2;
  padding: 0;
}

.sb05-title-wrap .story-title {
  margin-bottom: 25px;
}

.sb05-overlap-box { 
  order: 3;
  width: 54%;
  align-self: flex-end;
  background-color: #fff;
  padding: 15px 0 15px 15px; 
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

/* PC 전용 컨트롤러 위치 (4번, 5번) */
@media (min-width: 960px) {
  .story-block-04 .pl-slider-controls,
  .story-block-05 .pl-slider-controls {
    position: absolute;
    right: 0 !important;
    bottom: -38px !important; 
    z-index: 10;
    display: flex !important;
    align-items: center;
    gap: 16px; 
  }

  .sb04-img-right .pl-img-wrap,
  .sb05-img-wrap-small .pl-img-wrap {
    overflow: visible !important;
  }
  
  .sb04-img-right .pl-slider,
  .sb05-img-wrap-small .pl-slider {
    overflow: hidden !important;
  }
}

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

.sb06-img-wrap {
  order: 1;
  width: 58%; 
  align-self: flex-end;
  margin-left: 0;
}

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

.sb06-title-wrap {
  order: 2; 
  width: 54%;
  margin-top: -330px;
  align-self: flex-start;
  position: relative;
  z-index: 2;
  padding: 0;
}

.sb06-title-wrap .story-title {
  margin-bottom: 25px;
}

/* 오버레이 박스 */
.sb06-overlap-box {
  order: 3;
  width: 56%;
  align-self: flex-start;
  background-color: #fff;
  padding: 15px 15px 15px 0; 
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

/* 추천대상 */
.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: 92%;
  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, .list-row {
  display: flex;
  align-items: center; 
  justify-content: space-between;
}

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

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

/* 가격 컬럼 1개인 경우 (type-1col) */
.price-list-container.type-1col .list-header,
.price-list-container.type-1col .list-row {
  gap: 60px;
}

.price-list-container.type-1col .col-price {
  width: 200px;
}

/*가격 컬럼 2개인 경우 (type-2col) */
.price-list-container.type-2col .list-header,
.price-list-container.type-2col .list-row {
  gap: 30px;
}

.price-list-container.type-2col .col-price {
  width: 160px;
}

/* 리스트 라인 및 텍스트 스타일 */
.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: 8px !important; 
  }
  
  .story-title, .story-title-d { 
    font-size: 24px !important; 
    margin: 0 0 18px 0 !important; 
  }
  
  .story-title-d br {
    display: inline !important; 
  }
  
  /* 본문 */
  .story-desc, 
  .story-desc-1 { 
    width: 100% !important;
    font-size: 14px; 
    margin-bottom: 14px;
  }
  
  /* 영문 본문 */
  .story-desc.en, 
  .story-desc-1.en { 
    width: 100% !important;
    font-size: 14px;
    margin-top: 0; 
  }
  
  /* 비주얼 섹션 (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: 38px !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: flex !important; 
    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;
  }
  
  /* PC 화살표 숨기고 모바일 도트 활성화 */
  .pl-slider-controls { 
    display: none !important; 
  }
  
  .pl-slider-pagination { 
    display: flex !important; 
  }
  
  .story-block-01 .story-tag {
    order: 1;
    margin-bottom: 8px !important;
  }
  
  .story-block-01 .story-title-d {
    order: 2;
    margin-bottom: 18px !important;
  }

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

  /* 2. 레이아웃 */
  .story-block-02 { 
    margin: 0 20px 100px; 
    display: flex; 
    flex-direction: column; 
    gap: 68px;
  }
  
  .sb02-doctors { 
    display: flex; 
    gap: 8px; 
    justify-content: space-between; 
  }
  
  .doctor-item { 
    width: calc(50% - 4px); 
  }
  
  .doctor-item .pl-img-wrap { 
    margin-bottom: 12px; 
  }
  
  .doctor-name { 
    display: flex; 
    flex-direction: column; 
    align-items: flex-start; 
  }
  
  .doctor-name span { 
    font-size: 8px;
    margin-bottom: 2px; 
  }
  
  .doctor-name strong {
    font-size: 12px;
    padding-bottom: 2px;
  }
  
  .sb02-text-bottom { 
    display: flex; 
    flex-direction: column; 
    gap: 48px; 
    width: 100%;
  }
  
  .sb02-news h4 {
    font-size: 16px;
    margin: 0 0 12px 0;
  }
  
  .sb02-news li a { 
    font-size: 14px; 
  }
  
  .sb02-text-bottom .col-left, 
  .sb02-text-bottom .col-right { 
    width: 100%; 
    margin: 0; 
  }
  
  .sb02-text-bottom .col-left .story-desc,
  .sb02-text-bottom .col-left .story-desc.en { 
    max-width: 100%; 
  }

  /* 3. 레이아웃 */
  .story-block-03 {
    margin-bottom: 100px;
  }
  
  .sb03-top, .sb03-bottom { 
    display: contents; 
  }
  
  .sb03-bottom .sb03-title-wrap { 
    order: 1; 
    margin: 0 20px; 
    padding: 0; 
    text-align: left;
    width: auto;
  }
  
  .sb03-top .pl-img-wrap { 
    order: 2; 
    width: calc(80% - 20px) !important;
    margin: 0 0 38px 20px !important;
    aspect-ratio: 4 / 3 !important; 
    box-sizing: border-box;
  }
  
  .sb03-overlap-box { 
    order: 3; 
    position: static; 
    width: 100%; 
    margin: 0; 
    padding: 0 20px; 
    background: transparent; 
  }
  
  .pc-view {
    display: none !important;
  }
  
  .mo-view {
    display: block !important;
    width: 100%;
  }

  /* 4. 레이아웃 */
  .story-block-04 { 
    margin: 0 0 100px; 
    display: flex; 
    flex-direction: column; 
  }
  
  .story-block-04 .mo-view {
    display: contents !important;
  }
  
  /* 슬라이더 영역 80% */
  .story-block-04 .mo-view .pl-img-wrap {
    order: 1;
    width: 80% !important;
    padding: 0 20px;
    box-sizing: border-box;
    margin: 0 auto 38px 0 !important; 
    overflow: hidden !important;
  }

  .story-block-04 .mo-view .pl-slider img {
    aspect-ratio: 3 / 4 !important; 
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
    display: block;
  }
  
  .story-block-04 .sb04-title-wrap { 
    order: 2; 
    margin: 0 0 0 20px; 
    padding: 0;
    width: auto;
  }
  
  .story-block-04 .sb04-overlap-text { 
    order: 3;
    position: static; 
    width: 100%; 
    padding: 0 20px; 
    margin-top: 0;
  }

  /* 5. 레이아웃 */
  .story-block-05 { 
    padding: 0 0 100px;
    margin: 0;
    display: flex; 
    flex-direction: column; 
  }

  .story-block-05 .sb05-title-wrap { 
    order: 1; 
    width: 100% !important; 
    margin: 0 !important;
    padding: 0 20px !important;
    align-self: flex-start !important;
    text-align: left !important;
  }
  
  /* 슬라이더 영역 60% */
  .story-block-05 .mo-view .pl-img-wrap { 
    order: 2; 
    width: 60% !important;
    padding: 0 20px;
    box-sizing: border-box;
    margin: 0 auto 38px 0 !important;
    overflow: hidden !important;
  }

  .story-block-05 .mo-view .pl-slider img {
    aspect-ratio: 3 / 4 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
    display: block;
  }
  
  .story-block-05 .sb05-overlap-box { 
    order: 3; 
    position: static; 
    width: 100% !important; 
    margin: 0; 
    padding: 0 20px; 
    transform: none; 
    background: transparent; 
    align-self: flex-start !important;
  }
  
  /* 6. 레이아웃 */
  .story-block-06 { 
    padding: 0 0 100px;
    margin: 0;
    display: flex; 
    flex-direction: column;
  }
  
  .sb06-img-wrap { 
    order: 1; 
    width: calc(52% - 20px) !important; 
    margin: 0 0 0 20px !important;
    padding: 0 !important;
    align-self: flex-start !important;
  }
  
  .sb06-img-wrap img { 
    aspect-ratio: 3 / 4 !important;
    margin-bottom: 38px; 
  }

  .sb06-title-wrap { 
    order: 2; 
    width: 100% !important; 
    margin: 0 !important; 
    padding: 0 20px !important; 
    align-self: flex-start !important;
    text-align: left !important;
  }

  .sb06-overlap-box { 
    order: 3; 
    position: static; 
    width: 100%; 
    margin: 0; 
    padding: 0 20px; 
    transform: none; 
    background: transparent; 
    align-self: flex-start !important;
  }
  
  
  /* 추천대상 */
  .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 / min(169px, 86%) auto no-repeat !important; }
html:not([lang="ko"]) img[src*="preparing_image.svg"] { background-image: url("../../img/preparing-label-en.png") !important; }   /* 2026-10-15 중·일 공개: 영문만이 아니라 국문이 아닌 모든 페이지 */

/* ===== 키닥터 한 명 양식 (2026-10-08 사용자 — 울쎄라피 프라임 · 써마지 FLX · 덴서티 · 압토스) =====
   [사진 | 02 제목 → 글] — 오른쪽에 있던 '최신 뉴스/칼럼'은 빼고(맨 아래 '관련 뉴스/칼럼' 섹션으로 옮김), 그 자리에 02 글을 둔다.
   글 칸은 사진 아랫선에 맞춤 — 글 마지막 줄 = 사진 아랫선(2026-10-08 사용자 "이미지 하단에 맞춰서"; 위 정렬 → 아래 정렬).
   사진 아래에 원장 이름 줄(사진과 20 + 이름 18px × 1.4 + 밑줄 2)이 있으므로 그만큼 띄운다. 원장이 두 명인 양식(필러 등)은 그대로. */
@media (min-width: 960px) {
  .detail-doctor-section--solo .doc-top-row { margin-bottom: 0; align-items: flex-end; }
  .detail-doctor-section--solo .doc-text-col { width: calc(50% - 20px); margin-bottom: calc(20px + 18px * 1.4 + 2px); }
  .detail-doctor-section--solo .sb-doc-title-wrap { margin: 0 0 40px; }
  .detail-doctor-section--solo .sb-doc-desc-wrap { margin: 0; }
  .detail-doctor-section--solo .story-desc-dr { width: auto; margin-bottom: 0; }
}
@media (max-width: 959px) {
  .detail-doctor-section--solo .doc-text-col { display: contents; }   /* 모바일은 원래 순서(사진 → 제목 → 글) 그대로 */
  .detail-doctor-section--solo .sb-doc-desc-wrap { margin-bottom: 0 !important; }
  .detail-doctor-section--solo .story-desc-dr { margin-bottom: 0; }
}

/* ===== 관련 소식 — 2026-10-15 사용자 확정 'B 펼침'(preview/relnews-drafts/variants/k.* 를 .pl-relnews 이름으로 옮김, gen.related_news).
   이전 목록형(2026-10-08)은 대체. 아래 원문 주석의 .rn-k = .pl-relnews. 화살표는 다른 시술 CSS 와 같은 업로드 주소. */
/* 시안 D(k) — 펼친 지면 (.pl-relnews-) · 2026-10-08 '매거진 양식을 서칭해서'
   참고: Fantastic Man 이 호의 펼침면을 보여 주는 방식(글 지면 | 사진 지면 한 덩어리) + 인쇄 피처 오프닝 관례
        (사진 면은 재단선까지, 글 면은 위 제목 · 아래 바이라인, 쪽번호(폴리오)는 바깥 아래 모서리).
   격자 = 02 키닥터 580 | 40 | 580 (1440 에서 x 120–700 · 740–1320). 글 하나 = 펼침면 하나(링크 하나) = 290×387 두 면.
   모든 펼침면 [글|사진] — 사진은 오른쪽, 글 지면·폴리오는 왼쪽(2026-10-12 사용자; 전에는 한 줄 안에서 마주 봄).
   글 지면 = 흰 종이를 위·아래 1px #e5e5e5 선이 잡아 줌(색면 #f9f9f9 는 가격 띠·사진 자리에만 남김). 머리는 고정(sticky)하지 않음.
   테두리·그림자·모서리·확대 없음. */
.pl-relnews { width: 100%; max-width: 1344px; margin: 0 auto; padding: 0 72px 240px; box-sizing: border-box; color: #1d1d1d; }
.pl-relnews *, .pl-relnews *::before, .pl-relnews *::after { box-sizing: border-box; }
.pl-relnews ::selection { background: #1d1d1d; color: #fff; }

/* 이야기 구역 아래 240 → 200 (C 와 같은 규칙, 관련 소식이 바로 뒤에 올 때만) */
@media (min-width: 960px) {
  .detail-story-section:has(+ .pl-relnews) { padding-bottom: 200px; }
}

/* ---- 머리 = C 와 같은 글, 왼쪽 580(x 120–700)에 쌓음 → 68 → 펼침면 ---- */
.pl-relnews__head { width: calc(50% - 20px); margin-bottom: 68px; }
.pl-relnews__tag { margin: 0 0 12px; font-family: var(--font-en); font-size: 14px; font-weight: 400; line-height: 1.6; color: #1d1d1d; word-break: break-word; }   /* = .story-tag */
html[lang="en"] .pl-relnews__tag { display: none; }
.pl-relnews__title { margin: 0; font-size: 30px; font-weight: 700; line-height: 1.4; letter-spacing: 0; color: #1d1d1d; word-break: keep-all; text-wrap: balance; }   /* = 이야기 제목 */
.pl-relnews__title span { display: inline-block; }                  /* 줄이 바뀌면 쉼표 뒤에서만 */
.pl-relnews__desc { margin: 25px 0 0; font-size: 15px; font-weight: 400; line-height: 1.68; letter-spacing: 0; color: #333; word-break: keep-all; }   /* = .story-desc, 제목 아래 25 = .story-title-d */
html[lang="en"] .pl-relnews__desc { word-break: break-word; }

/* ---- 펼침면 격자: 2열 580 · 40, 줄 사이 80 ---- */
.pl-relnews__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; row-gap: 80px; margin: 0; padding: 0; list-style: none; }
.pl-relnews__item { margin: 0; min-width: 0; }

/* 펼침면 = 링크 하나, 두 면 사이 간격 없음(책등 = 사진이 종이에 닿는 자리, 선 없음) */
.pl-relnews__spread { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); height: 100%; color: inherit; text-decoration: none; }   /* 높이 100% = 한 줄의 두 펼침면 아랫선이 늘 같음 */
.pl-relnews__spread:focus { outline: none; }
.pl-relnews__spread:focus-visible { outline: 1px solid #1d1d1d; outline-offset: 6px; }
/* 마우스·키보드 초점 = 제목에 1px 밑줄(2026-10-12 테두리를 빼면서 '아랫선 채우기' 대신) */
.pl-relnews__spread:hover .pl-relnews__name, .pl-relnews__spread:focus-visible .pl-relnews__name { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }

/* 사진 면 — 3:4, 재단선까지 꽉(cover). 글이 길어 글 면이 늘어나는 좁은 화면에서는 같이 늘어남 */
.pl-relnews__photo { position: relative; display: block; width: 100%; align-self: stretch; aspect-ratio: 3 / 4; overflow: hidden; background: #f9f9f9; }   /* 폭은 늘 칸 폭(늘어난 높이가 폭을 밀지 않게) */
.pl-relnews__photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }

/* 글 면 = 흰 종이(2026-10-12 사용자: 위·아래 선과 쪽번호 뺌). 제목 윗선 = 사진 윗선, 바이라인 마지막 줄 = 사진 아랫선.
   바깥쪽은 글이 칸 끝에 붙고(0), 책등 쪽만 여백(1440 에서 28, 960 에서 20) */
.pl-relnews__type { --pl-relnews-spine: clamp(20px, calc(1.6667vw + 4px), 28px);
  display: flex; flex-direction: column; min-width: 0; padding: 0 var(--pl-relnews-spine) 0 0; background: #fff; }
/* 제목 = 피처 오프닝: 1440 에서 22/600/1.4, 960 에서 18 까지만 줄어듦. 국문 네 줄 · 영문 여섯 줄까지 */
.pl-relnews__name { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin-top: -0.22em;   /* 글자 윗선 ≈ 사진 윗선 */
  font-size: clamp(18px, calc(.8333vw + 10px), 22px); font-weight: 600; line-height: 1.4; letter-spacing: 0; color: #1d1d1d;
  word-break: keep-all; overflow-wrap: break-word; text-wrap: balance; }
html[lang="en"] .pl-relnews__name { -webkit-line-clamp: 6; }
/* 바이라인 = .news-meta 14/400 #1d1d1d, 지면 아래로(margin-top auto). 좁으면 '|' 뒤에서만 줄이 바뀜(작성자는 한 덩어리).
   구분자는 작성자 앞 여백(.9em) 안에 있고, 줄 묶음을 왼쪽으로 .9em 당겨 두어 작성자가 줄 맨 앞으로 내려가면 구분자가 잘려 사라짐 */
.pl-relnews__meta { display: block; margin-top: auto; margin-bottom: -0.3em; padding-top: 12px; overflow: hidden;   /* 기준선 ≈ 사진 아랫선 */ font-size: 14px; font-weight: 400; line-height: 1.4; color: #1d1d1d; }
.pl-relnews__row { display: flex; flex-wrap: wrap; margin-left: -.9em; }
.pl-relnews__date, .pl-relnews__by { position: relative; padding-left: .9em; white-space: nowrap; }
.pl-relnews__sep { position: absolute; top: 0; left: 0; width: .9em; text-align: center; }

/* ---- 개수 1 = 02 키닥터 문법: 머리 왼쪽 580, 마지막 줄 = 펼침면 아랫선 | 펼침면 [글|사진] 오른쪽 740–1320 ---- */
.pl-relnews--one .pl-relnews__in { display: grid; grid-template-columns: calc(50% - 20px) minmax(0, 1fr); column-gap: 40px; align-items: end; }
.pl-relnews--one .pl-relnews__head { width: auto; margin-bottom: 0; }
.pl-relnews--one .pl-relnews__grid { grid-template-columns: minmax(0, 1fr); }


/* ---- 모바일: 머리 → 28 → 펼침면 한 줄에 하나(350, 태블릿 최대 640), 사이 28. 방향은 늘 [글|사진] ---- */
@media (max-width: 959px) {
  .pl-relnews { padding: 0 20px 100px; }
  .pl-relnews__in, .pl-relnews--one .pl-relnews__in { display: block; max-width: 640px; }
  .pl-relnews__head, .pl-relnews--one .pl-relnews__head { width: auto; margin-bottom: 28px; }
  .pl-relnews__tag { margin-bottom: 9px; font-size: 12px; }
  .pl-relnews__title { font-size: 23px; }
  .pl-relnews__desc { margin-top: 20px; font-size: 14px; }
  .pl-relnews__grid { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
  .pl-relnews__type { padding: 0 16px 0 0; }
  .pl-relnews__name { font-size: 15px; }                             /* 국문 네 줄 · 영문 여섯 줄까지(위와 같음) */
  .pl-relnews__meta { padding-top: 10px; font-size: 12px; }
  /* 2026-10-13 사용자 "모바일 날짜·작성자 한 줄로" — 작성자를 둘째 줄로 내리던 규칙을 뺌: PC 처럼 '날짜 | by 작성자' 한 줄,
     칸이 좁아 안 들어가면 작성자만 다음 줄(줄머리 '|' 는 칸 밖으로 밀려 안 보임) */
}

/* ===== 2026-10-13 사용자 — 날짜 | 작성자를 제목 위로, 마우스·포커스 밑줄 2px.
   글 지면 = 위에서부터 '날짜 | by 작성자'(글자 윗선 ≈ 사진 윗선) → 14 → 제목 */
.pl-relnews__meta { margin: -0.2em 0 0; padding-top: 0; }
.pl-relnews__name { margin-top: 14px; }
.pl-relnews__spread:hover .pl-relnews__name, .pl-relnews__spread:focus-visible .pl-relnews__name { text-decoration-thickness: 2px; }
@media (max-width: 959px) {
  .pl-relnews__meta { padding-top: 0; }
  .pl-relnews__name { margin-top: 10px; }
}
/* 2026-10-13 사용자 — 날짜 | 작성자 회색(사이트 캡션 색 #999) */
.pl-relnews__meta, .pl-relnews__meta .pl-relnews__sep { color: #999; }
/* 2026-10-13 사용자 ".pl-relnews__head 하단 마진 더 늘려 줘" — 머리 → 펼침면 68 → 100(이 페이지의 100 리듬), 모바일 28 → 48 */
.pl-relnews__head { margin-bottom: 100px; }
.pl-relnews--one .pl-relnews__head { margin-bottom: 0; }
@media (max-width: 959px) { .pl-relnews__head, .pl-relnews--one .pl-relnews__head { margin-bottom: 48px; } }
/* 2026-10-13 사용자 "B 이미지 사이즈 줄여 줘" — 펼침면 [글 | 사진] 반반 → 글 60 · 사진 40(1440 에서 사진 290×387 → 232×309, 모바일 175 → 140) */
.pl-relnews__spread { grid-template-columns: minmax(0, 1fr) 40%; }
/* 2026-10-13 사용자 "column-gap 60px 로" — 두 펼침면 사이 40 → 60 (PC, 모바일은 한 줄씩이라 해당 없음) */
.pl-relnews__grid { column-gap: 60px; }
/* 2026-10-13 사용자 지정 — 제목 20px, 글 지면 오른쪽(사진 쪽) 여백 36px (PC. 모바일은 15px · 16 그대로) */
@media (min-width: 960px) {
  .pl-relnews__name { font-size: 20px; }
  .pl-relnews__type { padding-right: 36px; }
}
/* 2026-10-13 사용자 "1열과 2열 사이에 그레이 보더 — 지금 위치(세로) 말고 아래에" → 첫째 줄과 둘째 줄 사이(줄 간격 80 한가운데)에
   1px #e5e5e5 가로선, 두 펼침면을 잇는 한 줄(1200). 모바일은 한 줄씩이라 펼침면 사이(28 한가운데)마다 같은 선 */
.pl-relnews__item { position: relative; }
@media (min-width: 960px) {
  .pl-relnews__grid > .pl-relnews__item:nth-child(n+3):nth-child(odd)::before { content: ""; position: absolute; left: 0; top: -40.5px; width: calc(200% + 60px); height: 1px; background: #e5e5e5; pointer-events: none; }
}
@media (max-width: 959px) {
  .pl-relnews__grid > .pl-relnews__item + .pl-relnews__item::before { content: ""; position: absolute; left: 0; right: 0; top: -14.5px; height: 1px; background: #e5e5e5; pointer-events: none; }
}

/* 2026-10-13 사용자 "게시물들에 MORE 버튼 + 기존 대각선 png" — 글 지면 맨 아래(사진 아랫선)에 MORE ↗.
   모양은 사이트 'VIEW MORE'(.detail-link)와 같음: Inter 13/500 #1d1d1d, 글자 아래 2px #d3d3d3 줄 → 올리면 검정이 왼쪽부터 채워짐(0.3s),
   오른쪽 8px 대각선 화살표(assets/img/sub_black_arrow.png). 펼침면 전체가 링크라 따로 링크는 아님 */
.pl-relnews__more { display: inline-flex; align-items: center; align-self: flex-start; margin-top: auto; padding-top: 16px;
  font-family: var(--font-en); font-size: 13px; font-weight: 500; line-height: 1.4; letter-spacing: 0; color: #1d1d1d; }
.pl-relnews__more .txt { position: relative; padding-bottom: 2px; }
.pl-relnews__more .txt::after, .pl-relnews__more .txt::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; }
.pl-relnews__more .txt::after { background: #d3d3d3; }
.pl-relnews__more .txt::before { z-index: 1; background: #000; transform: scaleX(0); transform-origin: left; transition: transform .3s ease-out; }
.pl-relnews__spread:hover .pl-relnews__more .txt::before, .pl-relnews__spread:focus-visible .pl-relnews__more .txt::before { transform: scaleX(1); }
.pl-relnews__more::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 / contain; }
@media (prefers-reduced-motion: reduce) { .pl-relnews__more .txt::before { transition: none; } }
@media (max-width: 959px) { .pl-relnews__more { padding-top: 12px; font-size: 12px; } }

/* ===== 2026-10-13 사용자 "MORE 는 밑줄 빼고 회색, 링크는 제목·이미지·버튼을 눌렀을 때만(여백은 선택 안 되게)" =====
   펼침면은 이제 링크가 아닌 칸(div) — 제목(a.pl-relnews__name) · 사진(a.pl-relnews__photo) · MORE(a.pl-relnews__more)만 같은 주소로.
   셋 중 어디에 올려도 제목에 밑줄(2px), MORE 는 회색 #999 → 올리면 #1d1d1d(화살표도 같이 진해짐), 밑줄 없음 */
.pl-relnews__spread:focus-visible { outline: none; }
.pl-relnews__spread:hover .pl-relnews__name { text-decoration: none; }
.pl-relnews__name { color: inherit; text-decoration: none; }
.pl-relnews__name:focus { outline: none; }
.pl-relnews__name:focus-visible { outline: 1px solid #1d1d1d; outline-offset: 4px; }
.pl-relnews__spread:has(a:hover) .pl-relnews__name, .pl-relnews__name:focus-visible { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.pl-relnews__photo { display: block; }
.pl-relnews__more { color: #999; text-decoration: none; transition: color .3s ease-out; }
.pl-relnews__more .txt { padding-bottom: 0; }
.pl-relnews__more .txt::after, .pl-relnews__more .txt::before { content: none; }
.pl-relnews__more::after { opacity: .4; transition: opacity .3s ease-out; }   /* 검정 화살표 png 를 회색(#999 쯤)으로 */
.pl-relnews__spread:has(a:hover) .pl-relnews__more { color: #1d1d1d; }
.pl-relnews__spread:has(a:hover) .pl-relnews__more::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .pl-relnews__more, .pl-relnews__more::after { transition: none; } }
/* 2026-10-13 사용자 "버튼 옆 텍스트랑 png 가운데 정렬?" — 실측: 화살표 가운데가 대문자 가운데보다 1.25px 위(사이트 VIEW MORE 의 밑줄용 아래 여백 2px 때문).
   밑줄을 뺐으니 아래 여백 0 → 대문자 MORE 의 가운데와 화살표 가운데를 맞춤 */
.pl-relnews__more::after { margin: 0 0 0 6px; }

/* 2026-10-15 공개 전 점검: 설명 끝에 한두 글자만 남는 줄을 줄임(일본어) */
.pl-relnews__desc { text-wrap: pretty; }
/* 2026-10-15 설명은 문장마다 <p>(gen.related_news) — 글꼴·색은 .pl-relnews__desc 그대로 이어받고, 문장마다 끝 줄 다듬기 */
.pl-relnews__desc p { margin: 0; font: inherit; color: inherit; letter-spacing: inherit; word-break: inherit; text-wrap: pretty; }

/* 2026-10-15 사용자 '관련 소식 — 이미지 위로 보더를 추가해서 위 타이틀·본문과 경계' → 글 칸(펼침면) 위에 검은 1px 선(사이트 섹션 선과 같은 #1d1d1d).
   머리 → 80 → 선 → 40 → 첫 줄(줄 사이 회색 선과 같은 40 간격). 1개일 때(--one)는 오른쪽 펼침면 위에만.
   2026-10-16 사용자 '머리 아래 마진 더 넓혀 주고 보더 컬러 그레이로' → 60 → 80(모바일 28 → 36), 선 회색으로 했다가 같은 날 '다시 블랙으로' → #1d1d1d.
   모바일: 머리 → 36 → 선 → 24 → 첫 펼침면 */
.pl-relnews__head { margin-bottom: 80px; }
.pl-relnews--one .pl-relnews__head { margin-bottom: 0; }
.pl-relnews__grid { border-top: 1px solid #1d1d1d; padding-top: 40px; }   /* 2026-10-16 사용자 '보더는 다시 블랙으로' (잠깐 #e5e5e5) */
@media (max-width: 959px) {
  .pl-relnews__head, .pl-relnews--one .pl-relnews__head { margin-bottom: 36px; }
  .pl-relnews__grid { padding-top: 24px; }
}


/* ===== 필러형 양식(fille · lifting-filler): 국·영문 분리 후 레이아웃 정리 (2026-09-21~22, 필러에서 사용자와 확정한 규칙) — PC 전용, 모바일은 원본 그대로 =====
   details.extra_css 가 양식이 fille 인 시술 페이지 CSS 뒤에 자동 첨부(_common 다음, 페이지별 다음 전). HTML 구조는 그대로 두고(모바일 순서 유지) PC 에서만 재배치. */
@media (min-width: 960px) {
  /* 공통: 제목 위 영문 문구(story-tag) → 제목 간격 18 → 12 */
  .story-tag { margin-bottom: 12px; }

  /* 01. 도입 문단: 94%(약 900px) → 80%(약 720px) */
  .story-block-01 .story-desc-1 { width: 80%; }

  /* 02. 최신 뉴스/칼럼은 원위치. 의료진 이름 → 의료진 소개 해당 원장 카드로 이동(링크) */
  .doctor-name strong a { color: inherit; text-decoration: none; }
  .story-block-02 { gap: 80px; }                                            /* 사진(이름) → 글 간격: 120 → 80 (03·04·05 와 통일) */
  /* 02 사진 사이 간격은 원본 40px 유지(04·05 는 80) — 2026-09-21 사용자 결정 */
  .sb02-text-bottom .col-left .story-desc,
  .sb02-text-bottom .col-left .story-desc.en { max-width: calc(50% - 20px); }   /* 본문 폭: 76% → 왼쪽 의료진 칸 폭(약 550px), 영문(.en 특이도) 포함 */
  .sb02-text-bottom .col-left .story-title { max-width: 60%; }                /* 제목 두 줄(국문은 pl-keep 줄바꿈, 영문은 폭으로) */

  /* 03. 흰 박스 제거. 사진 아래에 제목(왼쪽 40%, 두 줄) | 본문(오른쪽 56%) 을 한 선상에 */
  .story-block-03 { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
  .sb03-top, .sb03-bottom { display: contents; }
  .sb03-top .pl-img-wrap { order: 1; width: 80%; margin: 0 auto 80px; }   /* 사진 → 글 80 */
  .sb03-bottom .sb03-title-wrap { order: 2; width: 40%; }
  .sb03-overlap-box { order: 3; position: static; width: 56%; background: none; padding: 34px 0 0; }   /* 34px = 태그 줄(22)+간격(12) → 본문 첫 줄을 제목 윗선에 */
  .sb03-overlap-box .story-desc { margin-bottom: 0; }
  html[lang="en"] .sb03-overlap-box { padding-top: 0; }             /* 영문은 제목 위 문구가 없어 보정 불필요 */

  /* 04. 흰 박스 제거. 왼쪽 사진 폭(37%) 안에 사진 → 제목 → 본문, 오른쪽 슬라이드는 그대로 */
  .story-block-04 { display: grid; grid-template-columns: 40% 1fr; grid-template-rows: auto auto 1fr; column-gap: 80px; }   /* 왼쪽 40%, 사진 사이 80(02·05 와 통일) */
  .story-block-04 .sb04-images, .story-block-04 .sb04-img-left { display: contents; }
  .sb04-img-left .pl-img-wrap { grid-column: 1; grid-row: 1; }
  .story-block-04 .sb04-title-wrap { grid-column: 1; grid-row: 2; width: 100%; margin-top: 80px; }   /* 사진 → 제목 80 */
  .story-block-04 .sb04-title-wrap .story-title { margin-bottom: 40px; }
  .sb04-overlap-text { grid-column: 1; grid-row: 3; width: 100%; background: none; padding: 0; margin-top: 0; }
  .sb04-overlap-text .story-desc { margin-bottom: 0; }
  .sb04-img-right { grid-column: 2; grid-row: 1 / 4; width: 100%; margin-top: 240px; align-self: start; }   /* 오른쪽 슬라이드 160 → 240 아래로 */

  /* 05. 흰 박스 제거. 오른쪽 슬라이드(35%) 아래 같은 폭·같은 왼쪽선으로 제목 → 본문 */
  .story-block-05 { display: grid; grid-template-columns: 1fr 40%; grid-template-rows: auto auto 1fr; column-gap: 80px; }   /* 04 좌우반전 */
  .story-block-05 .sb05-wrapper { display: contents; }
  .sb05-img-wrap { grid-column: 1; grid-row: 1 / 4; width: 100%; margin-top: 240px; align-self: start; }   /* 04 와 동일하게 240 */
  .sb05-img-wrap-small { grid-column: 2; grid-row: 1; width: 100%; margin-top: 0; }
  .sb05-title-wrap { grid-column: 2; grid-row: 2; width: 100%; margin-top: 80px; align-self: start; }   /* 슬라이드(컨트롤 -38px 포함) → 제목 80 */
  .sb05-overlap-box { grid-column: 2; grid-row: 3; width: 100%; background: none; padding: 0; align-self: start; }
  .sb05-overlap-box .story-desc { margin-bottom: 0; }

  /* 06. 흰 박스 제거. 왼쪽(사진 왼쪽까지 = 1fr) 제목 → 본문, 본문 마지막 줄을 사진 하단선에 맞춤 */
  .story-block-06 { display: grid; grid-template-columns: 1fr 58%; grid-template-rows: 1fr auto; column-gap: 40px; }   /* 제목·본문 마지막 줄을 사진 하단선 기준으로 */
  .sb06-img-wrap { grid-column: 2; grid-row: 1 / 3; width: 100%; }
  .sb06-title-wrap { grid-column: 1; grid-row: 1; width: 100%; margin-top: 0; align-self: end; }
  .sb06-overlap-box { grid-column: 1; grid-row: 2; width: 100%; background: none; padding: 0; align-self: end; }
  .sb06-overlap-box .story-desc { margin-bottom: 0; }
}
