/* -------------------------------
   건강똑똑 강좌 뷰 페이지 view.css  
   강좌 뷰 / 강연자 뷰
-------------------------------- */
.section.view-page {
  padding: 0px 0;
  margin: 40px 0 120px;
}
.view-page > * {
  content-visibility: auto;
  contain-intrinsic-size: 800px;
}
/* ====== 헤더 (포스터+강좌내용) ====== */
.view-hd {
  padding: 0px;
  margin-bottom: 56px;
}
.view-hd__grid {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 74px;
  align-items: stretch;
}
.poster {
  margin: 0;
  width: 100%;
}
.poster img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 400 / 566;
  object-fit: cover;
  border:1px solid var(--line);
}
.view-meta {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.view-header-wrap {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.view-tit-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.view-header {
  display: flex;
  justify-content: space-between;
}
.chip--view {
  background: var(--white);
  border: 1px solid var(--primary);
  color: var(--primary);
  border-radius: 50px;
  font-weight: var(--fw-500);
  padding: 3.5px 12.5px;
}
.icon-btn {
  inline-size: 44px;
  block-size: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--grey-d5);
  border-radius: 44px;
  background: var(--white);
}
.icon-btn:hover {
  cursor: pointer;
}
.icon-btn:focus-visible {
  outline: 2px solid var(--focus-bg);
  outline-offset: 2px;
}
.icon-btn img {
  display: block;
  pointer-events: none;
  transform: translateX(-1.4px);
}
.view-title {
  font-weight: var(--fw-700);
  font-size: 32px;
  line-height: 140%;
  color: var(--text);
  width: 726px;
  height: 90px;
	display: -webkit-box;         
  -webkit-box-orient: vertical;  
  -webkit-line-clamp: 2;        
  overflow: hidden;              
  text-overflow: ellipsis;      
}
.meta-list {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  isolation: isolate;
  border-top: 1px solid var(--black);
}
.meta-row {
  display: grid;
  grid-template-columns: 100px 1fr;
  column-gap: 28px;
  row-gap: 12px;
  padding: 24px 12px;
  align-items: center;
  width: 100%;
  border-top: 1px solid var(--grey-e9);
}
.meta-row:first-child {
  border-top: 0;
}
.meta-row dt {
  display: flex;
  gap: 4px;
  color: var(--text);
  font-weight: var(--fw-600);
  grid-column: 1;
  grid-row: 1 / -1;
  height: 27px;
  font-size: 19px;
  line-height: 140%;
  align-items: center;
}
.meta-row dt img {
  width: 22px;
  height: 22px;
}
.meta-row dd {
  position: relative;
  margin: 0;
  color: var(--text);
  font-weight: var(--fw-500);
  grid-column: 2;
  font-size: 19px;
  line-height: 140%;
  height: 27px;
  
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;                 
}
.meta-row:last-child dd {
  padding-left: 14px;
  height: 30px;
}
.meta-row:last-child dd::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12.98px;
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background: currentColor;
  transform: translateY(-50%);
}
.view-ctas .btn.btn--primary {
  justify-content: center;
  width: 100%;
  min-height: 50px;
  box-sizing: border-box;
  border-radius: 10px;
  font-weight: var(--fw-600);
  font-size: 20px;
  line-height: 140%;
  color: var(--primary);
  background: var(--primary-5);
}
.view-ctas .btn.btn--end {
  justify-content: center;
  width: 100%;
  min-height: 50px;
  box-sizing: border-box;
  border-radius: 10px;
  font-weight: var(--fw-600);
  font-size: 20px;
  line-height: 140%;
    color: var(--grey-39);
    background: var(--grey-e9);
}
.subtabs {
  /*position: sticky; 메뉴와 함꼐 상단에 고정할지 
  top: 70px;
  z-index: 20;*/
  background: var(--white);
}
.subtabs__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: 0px;
  overflow: hidden;
}
.subtab {
  display: grid;
  place-items: center;
  height: 60px;
  padding: 0 8px;
  font-weight: var(--fw-700);
  font-size: 18px;
  line-height: 1;
  color: var(--grey-91);
  text-decoration: none;
  background: var(--white);
}
.subtabs__list > li {
  border: 1px solid var(--grey-d5);
}
.subtabs__list > li:first-child {
  box-shadow: none;
  border: 1px solid var(--primary);
}
.subtabs__list > li:last-child {
  box-shadow: none;
  border-left: 0px;
}
.subtab.is-active, .subtab[aria-selected="true"] {
  background: var(--primary);
  color: var(--white);
  border: 1px solid var(--primary);
}
/* ====== 연사소개 ====== */
.view-speakers {
  margin-top: 32px;
  padding: 0px 0;
}
.intro-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.intro-card .btn--gicon {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 22px;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: var(--grey-59);
  gap: 4px;
  width: 281px;
  height: 55px;
  background: var(--bg-f4);
  border-radius: 4px;
  border: 0;
}
.intro-card .btn--gicon img {
  width: 22px;
  height: 22px;
}
.view-speakers h2 {
  height: 45px;
  font-weight: var(--fw-600);
  font-size: 32px;
  line-height: 140%;
  color: var(--grey-39);
}
.speaker {
  display: grid;
  grid-template-columns: 354px 1fr;
  gap: 60px;
  padding: 0px 0px 60px;
}
.speaker:first-of-type {
  border-top: 0;
}
.speaker__media {
  aspect-ratio: 354 / 460;
  width: 354px;
  height: 460px;
  background: linear-gradient(180deg, #ECEEF2 0%, #ACAEBA 100%);
}
.speaker__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 354 / 460;
  object-fit: cover;
}
.speaker__hd {
  display: flex;
  flex-direction: column;
  gap:4px;
  font-weight: var(--fw-700);
  margin-bottom: 16px;
}
.speaker__name {
  margin-right: 8px;
  height: 56px;
  font-weight: var(--fw-700);
  font-size: 40px;
  line-height: 140%;
  color: var(--grey-39);
}
.speaker__title {
  margin-right: 8px;
  height: 56px;
  font-weight: var(--fw-400);
  font-size: 28px;
  line-height: 140%;
  color: var(--grey-39);
}
.speaker__dept {
  height: 27px;
  font-weight: var(--fw-600);
  font-size: 19px;
  line-height: 140%;
  color: var(--primary-75);
}
.speaker__bullets {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 52px;
}
.speaker__bullets li {
  /*height: 25px;*/
  font-weight: var(--fw-400);
  font-size: 18px;
  line-height: 140%;
  color: var(--grey-59);
  padding-left: 12px;
}
.speaker__bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  color: var(--primary);
  background: var(--primary);
  transform: translateY(-50%);
}
.btn--picon {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: 0em;
  color: var(--primary);
  gap: 8px;
  width: 141.58px;
  height: 46px;
  background: var(--primary-10);
  border-radius: 50px;
  border: 0;
}
.btn--picon img {
  height: 11.62px;
}
/* ====== 프로그램(테이블) ====== */
.view-program {
  padding: 0px 0;
}
.view-program h2 {
  margin-bottom: 24px;
  height: 45px;
  font-weight: var(--fw-600);
  font-size: 32px;
  line-height: 140%;
  color: var(--grey-39);
}
/* 프로그램 테이블 기존 데이터 스타일 */
.view-program .table-wrap {
  overflow-x: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.view-program table  {
	width: 100%;
    border-collapse: collapse;
    background: var(--whtie);
    border-top: 2.5px solid var(--primary);
    color: var(--grey-59);
    font-size: 20px;
}
.view-program table th, .view-program table td {
    padding: 16px 0px 15px;
    text-align: center;
    vertical-align: center;
    border-top: 1px solid var(--grey-d5);
    line-height: 1.6;
}
.view-program thead th {
    padding: 19px 0px;
    font-weight: var(--fw-600);
    border-top: 0;
    color: var(--text);
}
.view-program table tbody td:nth-child(1) {
  font-weight: var(--fw-400, 400);
  color: var(--grey-59);
  font-size: 19px;
} 
.view-program table tbody td:nth-child(3) b {
  display: block;
  font-weight: var(--fw-700, 700);
  color: var(--primary); font-size: 20px;
}
.view-program table tbody td:nth-child(3) span {
  display: block;  
	font-weight: var(--fw-400, 400);
  color: var(--grey-59);  
} 
.view-program table tbody td:nth-child(3) div {
  font-weight: var(--fw-400, 400);
  color: var(--grey-59);  
} 
.view-program table tbody td:nth-child(4) {
  font-weight: var(--fw-500);
  color: var(--grey-39);
} 
table thead th + th, table tbody td + td {
  border-left: 1px solid var(--grey-d5);
}
table tbody tr {
  border-bottom: 1px solid var(--grey-d5);
}
table tbody tr:last-child {
  border-bottom: 1px solid var(--grey-d5);
}
/* 프로그램 테이블 기존 데이터 스타일 */

/* 프로그램 테이블 클래스명을 부여 할 수 있을 때 스타일 */
.table-wrap {
  overflow-x: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.table-wrap .program_info {
  font-weight: var(--fw-300);
  font-size: 14px;
  line-height: 140%;
  color: var(--grey-91);
}
.tbl {
  width: 100%;
  border-collapse: collapse;
  background: var(--whtie);
  border-top: 2.5px solid var(--primary);
  color: var(--grey-59);
  font-size: 20px;
}
.tbl th, .tbl td {
  padding: 16px 0px 15px;
  text-align: center;
  vertical-align: center;
  border-top: 1px solid var(--grey-d5);
  line-height: 1.6;
}
.tbl thead th {
  padding: 19px 0px;
  font-weight: var(--fw-600);
  border-top: 0;
  color: var(--text);
}
.table-wrap .tbl tbody td:nth-child(1) {
  font-weight: var(--fw-400, 400);
} /* 시간 */
.table-wrap .tbl tbody td:nth-child(2) b {
  display: block;
  font-weight: var(--fw-700, 700);
  color: var(--primary);
} /* 구분 */
.table-wrap .tbl tbody td:nth-child(2) span {
  display: block;
  padding-top: 8px;
  font-size: 19px;
} /* 구분 */
.table-wrap .tbl tbody td:nth-child(3) {
  font-weight: var(--fw-500);
  color: var(--grey-39);
} /* 내용 */
.tbl thead th + th, .tbl tbody td + td {
  border-left: 1px solid var(--grey-d5);
}
.tbl tbody tr {
  border-bottom: 1px solid var(--grey-d5);
}
.tbl tbody tr:last-child {
  border-bottom: 1px solid var(--grey-d5);
}
/* 프로그램 테이블 클래스명을 부여 할 수 있을 때 스타일 */
/* ====== 오시는 길 ====== */
.view-directions {
  padding: 60px 0 0;
}
.view-directions h2 {
    height: 45px;
    font-weight: var(--fw-600);
    font-size: 32px;
    line-height: 140%;
    color: var(--grey-39);
  margin-bottom: 12px;
}
.btn--p-licon {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: var(--fw-700);
  font-size: 15px;
  line-height: 140%;
  letter-spacing: 0em;
  color: var(--primary-75);
  border: 1px solid var(--primary-75);
  gap: 4px;
  width: 173px;
  height: 42px;
  background: var(--white);
  border-radius: 4px;
}
.btn--picon img {
  height: 11.62px;
}

/* 건강똑똑 뷰 오시는길 */
.dir-grid {
  display: grid;
  grid-template-columns: 680px 1fr;
  gap: 40px;
  align-items: start;
}
/* 지도 마커 스타일*/
.ddok_marker-wrap {
	 position: relative;   
  z-index: 10;
}
.ddok_marker {
  /*position: absolute;
  bottom: 50%;
  left: 50%;
  z-index: 10; */
	position: relative;      /* 네이버가 이 박스를 size(140x53)로 본다고 생각하면 됨 */
  width: 140px;
  height: 53px;
}
.ddok_marker .bdmarker {
  display: table;
  table-layout: auto;
  padding: 6.5px 21px;
  border-radius: 30px;
  border: 1px solid #DA585D;
  background: var(--primary-75, #DA585D);
}
.ddok_marker .bdmarker .icon_area {
  overflow: hidden;
  position: relative;
  z-index: 1;
  border-radius: 50%;
  display: table-cell;
  vertical-align: middle;
}
.bdmarker .icon_area .icon.-hospital {
  overflow: hidden;
  display: inline-block;
  font-size: 1px;
  line-height: 1px;
  color: transparent;
  vertical-align: top;
  background-image: url(https://health.chosun.com/ddok/img/map_icon.png);
  width: 36px;
  height: 38px;
  mask-image: none;
}
.ddok_marker .btn_more {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  border: 1px solid #DA585D;
}
.ddok_marker .btn_more::after {
  position: absolute;
  bottom: 1px;
  left: 12px;
  width: 15px;
  height: 15px;
  transform: rotate(55deg) skew(17deg);
  content: "";
}
.ddok_marker .text_area {
  display: table-cell;
  vertical-align: middle;
  overflow: hidden;
  white-space: nowrap;
}
.ddok_marker .main_text {
  padding: 2px 0px;
  margin: -2px 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 16px;
  line-height: 16px;
}
.ddok_marker .main_text .hos_name {
  font-size: 16px;
  letter-spacing: -0.4px;
  font-weight: 700;
  color: #fff;
  padding: 0px 0px 0 2px;
}
.ddok_marker .dummy {
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);  
  width: 0;
  height: 0;
}
.ddok_marker .dummy::before {
  opacity: 0.1;
  position: absolute;
  bottom: -2px;
  left: -5px;
  width: 10px;
  height: 3px;
  background-color: rgb(0, 0, 0);
  filter: blur(1px);
  content: "";
}
.ddok_marker .dummy::after {
  width: 0px;
  height: 0px;
  border-width: 10px 10px 0px;
  border-style: solid;
  border-color: #DA585D  transparent transparent;
  position: absolute;
  top: -10px;
  left: -10px;
  content: "";
}

.map img {
  width: 100%;
  height: auto;
  aspect-ratio: 680 / 359;
  object-fit: cover;
  border-radius: 4px;
  box-sizing: border-box;
  border: 1px solid var(--line);
}
.map-btn {
  margin-top: 10px;
}

.dir-list {
  margin: 0;
}
.dir-tit {
  margin-top: 12px;
  margin-bottom: 40px;
}
.dir-tit h3 {
  font-weight: var(--fw-700);
  font-size: 24px;
  line-height: 140%;
  letter-spacing: -0.02em;
  color: var(--grey-39);
}
.dir-row {
  display: grid;
  grid-template-columns: 24px 1fr;
  column-gap: 6px;
  row-gap: 0px;
  padding: 24px 0px;
  align-items: flex-start;
  border-bottom: 1px solid var(--grey-d5);
}
.dir-row dd {
	font-weight: var(--fw-400);
	font-size: 20px;
	line-height: 140%;
	letter-spacing: -0.02em;
	color: var(--grey-39);
}
.dir-list > .dir-row:nth-child(2) {
  border-top: 0;
  padding-top: 0;
}
.dir-list > .dir-row:last-child {
  border-bottom: 0;
}
.dir-row dt {
  font-weight: var(--fw-700);
  color: var(--gray-dark);
  grid-column: 1;
  grid-row: 1 / -1;
}
.dir-row dd {
  margin: 0;
  grid-column: 2;
}
/* 지하철 배지 */
.metro-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  border: 2.11px solid var(--badge-bg);
  border-radius: 32px;
  background: var(--whtie);
  color: var(--badge-bg);
  font-weight: var(--fw-600);
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.02em;
  margin-right: 2px;
}
/* 서울 지하철 라인 컬러 (필요시 값만 조정) */
.metro--s1 {
  --badge-bg: #0033A0;
} /* 1호선 남색 */
.metro--s2 {
  --badge-bg: #00B140;
} /* 2호선 녹색 */
.metro--s3 {
  --badge-bg: #FC4C02;
} /* 3호선 주황 */
.metro--s4 {
  --badge-bg: #00BFFF;
} /* 4호선 하늘 */
.metro--s5 {
  --badge-bg: #A05EB5;
} /* 5호선 보라 */
.metro--s6 {
  --badge-bg: #C75D28;
} /* 6호선 갈색 */
.metro--s7 {
  --badge-bg: #6D712E;
} /* 7호선 올리브 */
.metro--s8 {
  --badge-bg: #E31C79;
} /* 8호선 분홍 */
.metro--s9 {
  --badge-bg: #BDB092;
} /* 9호선 금색 */
.metro--s10 {
  --badge-bg: #787878;
} /* SLR 남색 */
.metro--s11 {
  --badge-bg: #A7B300;
} /* 우이신설선 */
.metro--s12 {
  --badge-bg:#558BCF;
} /* 신림선 */
.metro--s13 {
  --badge-bg: #B21E36;
} /* 동북선 */
.metro--s14 {
  --badge-bg: #BFBFBF;
} /* 위례선 보라 */
.metro--s15 {
  --badge-bg: #CCCCCC;
} /* 위례신설선 갈색 */
.metro--i1 {
  --badge-bg: #759CCE;
} /* 인천1호선 */
.metro--i2 {
  --badge-bg: #F5A251;
} /* 인천2호선 */
.metro--k1 {
  --badge-bg: #BDB092;
} /* 경의중앙선 금색 */
.metro--k2 {
  --badge-bg: #0052A4;
} /* 경춘선 */
.metro--k3 {
  --badge-bg: #F2A900;
} /* 수인분당선  */
.metro--k4 {
  --badge-bg: #0066FF;
} /* 경강선 */
.metro--k5 {
  --badge-bg: #84BD00;
} /* 서해선 */
.metro--k6 {
  --badge-bg: #33BAFF;
} /* 인천국제공항철도 */
.metro--k7{
  --badge-bg: #F68A1E;
} /* 공항철도 직통열차 */
.metro--k8 {
  --badge-bg: #BA0C2F;
} /* 신분당선 */
.metro--k9 {
  --badge-bg: #F04938;
} /* 신안산선 분홍 */
.metro--k10 {
  --badge-bg: #AB087D;
} /* GTXA */
.metro--k11 {
  --badge-bg: #2346994;
} /* GTXB */
.metro--k12 {
  --badge-bg: #37B549;
} /* GTXC 녹색 */
.metro--k13 {
  --badge-bg: #FFA100;
} /* 의정부경전철 */
.metro--k14 {
  --badge-bg: #5CD919;
} /* 용인에버라인 */
.metro--k15 {
  --badge-bg: #AD8605;
} /* 김포골드라인 */
.metro--k16 {
  --badge-bg: #FFAE43;
} /* 인천공항 자기부상철도 */
.metro--p1 {
  --badge-bg: #EB5F0A;
} /* 부산1호선 */
.metro--p2 {
  --badge-bg: #50B748;
} /* 부산2호선 */
.metro--p3 {
  --badge-bg: #D18F1D;
} /* 부산3호선 */
.metro--p4 {
  --badge-bg: #426AB3;
} /* 부산4호선 */
.metro--p5 {
  --badge-bg: #D6406A;
} /* 사상하단 */
.metro--p6 {
  --badge-bg: #8652A1;
} /* BGL */
.metro--p7 {
  --badge-bg: #00A5DE;
} /* 동해선  */
.metro--p8 {
  --badge-bg: #A2272A;
} /* 경전선 */
.metro--p9 {
  --badge-bg: #CD7C2F;
} /* 양산선 갈색 */
.metro--p10 {
  --badge-bg: #178C72;
} /* 오륙도선 */
.metro--t1 {
  --badge-bg: #EE1132;
} /* 대구1호선 */
.metro--t2 {
  --badge-bg: #1C9F7B;
} /* 대구2호선  */
.metro--t3 {
  --badge-bg: #FFB100;
} /* 대구3호선  */
.metro--t4 {
  --badge-bg: #0099CC;
} /* EXCO  */
.metro--t5 {
  --badge-bg: #005BAC;
} /* 대경선  */
.metro--g1 {
  --badge-bg: #009088;
} /* 광주1호선  */
.metro--g2 {
  --badge-bg: #0471C3;
} /* 광주2호선  */
.metro--d1 {
  --badge-bg: #007448;
} /* 대전1호선 갈색 */
.metro--d2 {
  --badge-bg: #5FC0B9;
} /* 대전2호선  */
.metro--d3 {
  --badge-bg: #005BAC;
} /* 충천권 광역철도  */




.dir-ctas {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-block: 60px 0;
}
.dir-ctas .btn {
  width: 360px;
  font-size: 20px;
  appearance: none;
  display: inline-grid;
  place-items: center;
  gap: 8px;
  min-inline-size: 180px;
  min-block-size: 56px;
  border: 0px;
  border-radius: 10px;
  font-weight: var(--fw-600);
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.dir-ctas .btn.btn--primary {
  background: var(--primary);
  color: var(--white);
  border-color: var(--primary);
}
.dir-ctas .btn.btn--d5line {
  justify-content: center;
  min-height: 56px;
  font-weight: var(--fw-600);
  color: var(--primary);
  background: var(--primary-5);
}
.dir-ctas .btn.btn--end {
  box-sizing: border-box;
    border-radius: 10px;
    font-weight: var(--fw-600);
    font-size: 20px;
    line-height: 140%;
    color: var(--grey-39);
    background: var(--grey-e9);
}
/* ============================
   강연자 뷰 시작
============================ */
.speaker-view {
  margin: 0px 0 120px;
}
.speaker-view > * {
  content-visibility: auto;
  contain-intrinsic-size: 800px;
}
/* Hero */
.speaker-view .sv-hero {
  width: 100%;
  height: 636px;
  background: linear-gradient(90deg, rgba(245, 245, 245, 0) 32.89%, #F5F5F5 58.02%), url(/ddok/img/view_bg.png), #FFFFFF;
}
.speaker-view .sv-hero-wrap {
  width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 541px 1fr;
  gap: 68px;
  align-items: center;
  overflow: hidden;
  min-height: 636px;
}
.speaker-view .sv-hero__photo {
  aspect-ratio: 541 / 636;
  border-radius: 0px;
  overflow: hidden;
}
.speaker-view .sv-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.speaker-view .sv-hero__body {
  display: grid;
  gap: 20px;
  align-content: start;
}
.speaker-view .sv-hero__c_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.speaker-view .sv-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.speaker-view .sv-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 29px;
  padding: 0 16px;
  border-radius: 50px;
  font-size: 16px;
  border: 1px solid var(--primary);
  color: var(--white);
  background: var(--primary);
  font-weight: var(--fw-500);
  line-height: 140%;
  letter-spacing: -0.02em;
	
}
.speaker-view .sv-hero__name {
	height: 56px;
	font-weight: var(--fw-700);
	font-size: 40px;
	color: var(--text);
}
.speaker-view .sv-hero__cols{
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items:start;
}

.speaker-view .sv-hero__cwrap{
  display:grid;
  grid-template-rows: auto 1fr;
  gap:16px; 
  max-width: 508px;
}

.speaker-view .sv-title{
  font-weight: var(--fw-700);
  font-size: 20px;
  line-height: 140%;
	padding-left: 10px; 
  color: var(--grey-39);
}
.speaker-view .sv-title::before{
  content: "";
  position: absolute;
  left: 0; 
  top: 5px;          
  width: 2px;                  
  height: 18px;                
  background: var(--primary-75);     
}
.speaker-view .sv-list{
  margin:0;
  padding: 0px 0px;
  border-radius: 0px;
  max-block-size: 78px;            
  overflow: auto;
}
.speaker-view .sv-list::-webkit-scrollbar{ width: 3px; }
.speaker-view .sv-list::-webkit-scrollbar-thumb{
  background: var(--grey-59);
  border-radius: 3px;
  border:3px solid transparent;
}
.speaker-view .sv-list::-webkit-scrollbar-track{
  background: var(--grey-d5);
	width: 3px;
}
.speaker-view ul li{
 position: relative;
 padding-left: 12px;
 list-style: none; 
 font-weight: var(--fw-400);
 font-size: 18px;
 line-height: 140%;
 color: var(--grey-59);   
}
.speaker-view .sv-list li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 12.98px;
    width: 4px;
    height: 4px;
    border-radius: 4px;
    background: var(--primary);
    transform: translateY(-50%);
}

.speaker-view .sv-list-scroll{
  margin:0;
  padding: 0px 0px;
  border-radius: 8px;
  max-block-size: 228px;            
  overflow: auto;
  width: 508px;
}
.speaker-view .sv-list-scroll li{
  position: relative;
  padding-left: 12px;
  margin: 0px 0 4px;
  list-style: none;                 
}
.speaker-view .sv-list-scroll li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 12.98px;
    width: 4px;
    height: 4px;
    border-radius: 4px;
    background: var(--primary);
    transform: translateY(-50%);
}

.speaker-view .sv-list-scroll::-webkit-scrollbar{ width: 3px; }
.speaker-view .sv-list-scroll::-webkit-scrollbar-thumb{
  background: var(--grey-59);
  border-radius: 3px;
  border:3px solid transparent;
}
.speaker-view .sv-list-scroll::-webkit-scrollbar-track{
  background: var(--grey-d5);
	width: 3px;
}

.speaker-view .sv-list-scroll:focus-visible{
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}


/*----------------기사 ----------------------*/
.sv-articles-wrap {
	margin-top: 40px;
}

.speaker-view .sv-sec-title {
  display: flex;
  align-items: center;
  margin: 0px 0 24px;
  font-size: 32px;
  padding-bottom: 24px;
  font-weight: var(--fw-700);	
  border-bottom: 2px solid var(--primary);
}
.speaker-view .sv-articles {
  display: grid;
  gap: 0px;
}
.speaker-view .sv-article a{
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 28px;	
	padding-bottom: 24px;
  border-bottom: 1px solid var(--grey-d5);
  border-radius: 0px;
}
.speaker-view .sv-article:nth-child(2) a {
		padding-top: 24px;
}
.sv-article__wrap {
	display: flex;
	flex-direction: column;
    gap:8px;
}
.speaker-view .sv-article__thumb {
  width: 200px;
  aspect-ratio: 200 /133;
  overflow: hidden;
  display: block;
  box-sizing: border-box;
	height: 133px;
	border: 1px solid var(--line);
}
.speaker-view .sv-article__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.speaker-view .sv-article__title {
  font-size: 24px;
  font-weight: var(--fw-600);
  line-height: 140%;
  color: var(--text);
}
.speaker-view .sv-article__title a {
  text-decoration: none;
}
.speaker-view .sv-article__meta {
  color: var(--grey-91);
  font-size: 18px;
  display: flex;
	gap: 8px;
	font-weight: var(--fw-400);
}
.speaker-view .sv-article__desc {
  color: var(--grey-91);
  font-size: 18px;
  line-height: 140%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sv-add-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	margin-top: 12px;
}
.sv-add-wrap a {
	display: flex;
	gap:8px;
}
/* ------------- 리뷰 리스트 --------------- */
.sv-reviews-wrap {
	margin-top: 60px;
}
.sv-reviews__list{
  list-style:none; margin: 0; padding: 0;
  display:flex; flex-direction:column; 
	gap: 24px;
}

.sv-review a{  
  position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
  padding: 0 24px 24px;
   border-bottom: 1px solid var(--grey-d5);
	
}

.sv-review > div:first-of-type > img{
  position:absolute; left:16px; top:18px;
  width:22px; height:22px; object-fit:contain;
  opacity:.9;
}
.sv-review__meta{
  display:flex; 
	flex-wrap:wrap; 
	gap: 20px 16px;
  align-items:center; 
	margin: 0 0px;
  font-size: 15px;
}
.sv-review__meta span:first-child{
  color: var(--primary);
  font-weight: var(--fw-600);
}
.sv-review__meta span:nth-child(2) {
	font-weight:  var(--fw-600);
	text-align: center;
	color: var(--text);
}
.sv-review__meta span:last-child{ 
	font-style: normal;
	font-weight:  var(--fw-400);
	text-align: center;
	color: var(--grey-91); 
}

.sv-review__review {
	display: flex;
	gap:10px;	
	justify-content: flex-start;
	align-items: flex-start;
}
.sv-review__text{
  color: var(--grey-91) ;
  font-size: 18px;
  line-height: 140%; 
font-weight: var(--fw-400);
}


/* ========== 페이지네이션 ========== */
.page_control {
			display: flex;
			justify-content: center;
			align-items: center;
			list-style: none;
			padding: 40px 0 0;
			margin: 0;
			gap:20px;
		}
		.pagination {
			display: flex;
			justify-content: center;
			align-items: center;
			list-style: none;
			margin: 0;
			gap:24px;
		}

		.page_control ul.pagination li {
			margin: 0 0px;
			padding: 0px;
		}

		.pagination a {
			display: flex;
			align-items: center;
			justify-content: center;	
			text-decoration: none;	
			height: 28px;
			font-weight: var(--fw-700);
			font-size: 20px;
			line-height: 140%;
			text-align: center;
			color: var(--grey-91);

		}

		.pagination a:hover {
			color: var(--text);
			font-size: 20px;
			line-height: 140%;
			text-align: center;
		}

		.pagination .active a {			
			color: var(--text);
			font-size: 20px;
			line-height: 140%;
			text-align: center;
		}		
.prev-prev a {
    width: 40px;
    height: 40px;    
    border: 1px solid var(--grey-d9);
    position: relative;
    display: inline-block;
    vertical-align: top;
    border-radius: 50%;
    cursor: pointer;
    background: url('/ddok/img/paging_arw_r.svg') no-repeat; 
	background-position: center;
    background-size: 8px 13px; 
    transform: scaleX(-1);
}
.prev-next a {
    width: 40px;
    height: 40px;    
    border: 1px solid var(--grey-d5);
    position: relative;
    display: inline-block;
    vertical-align: top;
    border-radius: 50%;
    cursor: pointer;
    background: url('/ddok/img/paging_arw_59.svg') no-repeat; 
	background-position: calc(50% + 1px) center;
    background-size: 21px 18px; 
}
.prev-prev a:hover, .prev-next a:hover {
    background-color: var(--grey-f8);
}
.prev-prev.endp a:hover, .prev-next.endp a:hover {
    background-color: white;
}
.prev-prev.endp a {
    width: 40px;
    height: 40px;    
    border: 1px solid var(--grey-d5);
    position: relative;
    display: inline-block;
    vertical-align: top;
    border-radius: 50%;
    cursor: pointer;
    background: url('/ddok/img/paging_arw_d5.svg') no-repeat center; 
    background-size: 21px 18px; 
    transform: scaleX(1);
}
.prev-next.endp a {
    width: 40px;
    height: 40px;    
    border: 1px solid var(--grey-d9);
    position: relative;
    display: inline-block;
    vertical-align: top;
    border-radius: 50%;
    cursor: pointer;
    background: url('/ddok/img/paging_arw_d9.svg') no-repeat center; 
    background-size: 8px 13px; 
	transform: scaleX(-1);
}
.blind {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
}
/* --------------참여 강좌 ----------------*/
.sv-sessions-wrap {
	margin-top: 60px;
}
.sv-sessions {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.sv-session a{
	display: flex;
	gap: 20px;
	align-items: center;
	padding: 0 0 24px 0;
	border-bottom: 1px solid var(--grey-d5);
	
}
.sv-session .sv-badge {
	width: 160px;
	height: 34px;
	font-weight: var(--fw-500);
	font-size: 24px;
	line-height: 140%;
	text-align: center;
	color: var(--text);
}
.sv-session .sv-wrap{
	display: flex;
	flex-direction: column;
	gap:8px;
}
/* 리스트에도 있는데 공통으로 뺄지 고민 */
.past-card__chips {
	display: flex;
	align-items: flex-start;
	gap: 4px;
}
.past-chip {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 4px 10px;
    border-radius: 4px;
    font-weight: var(--fw-600);
    font-size: 14px;
    line-height: 140%;
}
.past-chip--red {
    background: var(--primary);
    color: var(--white);
}
.past-chip--grey {
    color: var(--white);
    background: var(--grey-39);
}
/* 리스트에도 있는데 공통으로 뺄지 고민 end */
.sv-session__title {	
	font-weight: var(--fw-600);
	font-size: 24px;
	line-height: 140%;
	color: var(--text);
}
.speaker-view .dir-ctas {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-block: 40px 0;
}
