/* =========================================================================
   PB 성공 창업스토리 ([pb_success_story]) — paris 테마용.
   디자인(issues/3874)의 layout/paint를 클래스 기반으로 통합. 폰트·slick은 테마 기존 자원 사용.
     - 폰트: "PBGothic"(400/700, font-pbgothic.css) · "Pretendard-Regular"(minus.css)
     - slick: assets/lib/slick (setup.php에서 전역 enqueue)
   ========================================================================= */
.pb-ss {
  --pbss-navy: #062f78;
  --pbss-ink: #1a1a1a;
  --pbss-black: #000000;
  --pbss-gray: #808080;
  --pbss-badge: #dfe7f0;
  --pbss-card-dark: #333333;
  --pbss-band: #f5f6f7;
  --pbss-dot: #b9b9b9;
  --pbss-white: #ffffff;
  --pbss-content-w: 1293px;
  --pbss-gutter: 16px;

  box-sizing: border-box;
  width: 100%;
  font-family: "PBGothic", "Pretendard-Regular", sans-serif;
  letter-spacing: -0.03em;
  background: #fff;
}
.pb-ss * { box-sizing: border-box; margin: 0; padding: 0; }
.pb-ss a { color: inherit; text-decoration: none; }
.pb-ss img { display: block; max-width: 100%; }
.pb-ss ul, .pb-ss li { list-style: none; }

.pb-ss .pb-ss__wrap { width: 100%; max-width: var(--pbss-content-w); margin: 0 auto; padding: 0 var(--pbss-gutter); }
.pb-ss .pb-ss__bleed { width: 100%; }

/* =========================================================================
   MOBILE-FIRST (기본 = 모바일 스택)
   ========================================================================= */

/* --- 헤더 타이틀 --- */
.pb-ss .pb-head { text-align: center; padding: 32px 0 18px; }
.pb-ss .pb-head__title {
  margin: 0 0 8px; color: var(--pbss-black);
  font-family: "PBGothic", sans-serif; font-weight: 700;
  font-size: 19.79px; line-height: 22.44px;
}
.pb-ss .pb-head__sub {
  margin: 0; color: var(--pbss-ink);
  font-family: "PBGothic", sans-serif; font-weight: 400;
  font-size: 9px; line-height: 14.4px; letter-spacing: -0.02em;
}

/* --- SECTION 1 슬라이더 --- */
.pb-ss .pb-slider-sec { padding-bottom: 24px; }
/* 회색 밴드 = featured 슬라이더 배경. 썸네일이 밴드 위로 오버행 → 밴드는 썸네일 중앙쯤에서 시작.
   top은 JS가 썸네일 실제 세로 중앙으로 셋(기본 30% 폴백). */
.pb-ss .pb-band-area { position: relative; padding: 28px 0 20px; }
.pb-ss .pb-band { position: absolute; left: 0; right: 0; top: 18%; bottom: 0; background: var(--pbss-band); z-index: 0; }
.pb-ss .pb-band-content { position: relative; z-index: 1; }

.pb-ss .pb-slider { margin: 0; }
.pb-ss .pb-slider .slick-slide { outline: none; }
/* 슬라이더 prev/next nav 화살표 — 모바일 숨김(dots/swipe 유지), 데스크톱만 표시 */
.pb-ss .pb-nav { display: none; }

/* featured 카드 (모바일: 썸네일 중앙 + 캡션 아래) */
.pb-ss .pb-feat__card { display: flex; flex-direction: column; align-items: center; width: 100%; }
.pb-ss .pb-feat__cap { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 22px; text-align: center; }
.pb-ss .pb-feat__thumb {
  position: relative; width: 75%; max-width: 270px; aspect-ratio: 270 / 153; margin: 0 auto;
  border-radius: 2px; overflow: hidden; background: var(--pbss-card-dark); cursor: pointer;
}
/* 모바일 슬라이드 콘텐츠 가운데 정렬(slick-slide 내부) */
.pb-ss .pb-slider .slick-slide { text-align: center; }
.pb-ss .pb-feat__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pb-ss .pb-feat__label {
  color: var(--pbss-navy); font-family: "PBGothic", sans-serif; font-weight: 700;
  font-size: 16.2px; line-height: 1.2;
}
.pb-ss .pb-feat__desc {
  color: var(--pbss-ink); font-family: "PBGothic", sans-serif; font-weight: 400;
  font-size: 12.24px; line-height: 18.55px; letter-spacing: -0.02em;
}

/* 재생 ▶ 오버레이 — 유튜브(.is-video)일 때만: dark overlay + 흰 삼각형 */
.pb-ss .pb-feat__thumb.is-video::before,
.pb-ss .pb-card__thumb.is-video::before {
  content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.35); z-index: 1; pointer-events: none;
}
.pb-ss .pb-feat__thumb.is-video::after,
.pb-ss .pb-card__thumb.is-video::after {
  content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  background: var(--pbss-white); clip-path: polygon(0 0, 100% 50%, 0 100%); pointer-events: none; z-index: 2;
}
.pb-ss .pb-feat__thumb.is-video::after { width: 55px; height: 64px; }
.pb-ss .pb-card__thumb.is-video::after { width: 26px; height: 30px; }

/* 페이지네이션 dots (slick 기본 dots를 디자인에 맞게 스타일)
   ⚠️ slick-theme.css의 position:absolute; bottom:-45px 를 리셋(static)해야 카드와 안 겹친다. */
.pb-ss .slick-dots { position: static; bottom: auto; display: flex !important; justify-content: center; align-items: center; gap: 20px; width: 100%; margin: 22px 0 0; padding: 0; line-height: 0; }
.pb-ss .slick-dots li { width: auto; height: 12px; margin: 0; padding: 0; line-height: 0; }
.pb-ss .slick-dots li button { display: block; width: 12px; height: 12px; padding: 0; border: 0; border-radius: 6px; background: var(--pbss-dot); font-size: 0; line-height: 0; cursor: pointer; transition: width .2s, background .2s; }
.pb-ss .slick-dots li button:before { display: none; content: none; }
.pb-ss .slick-dots li.slick-active button { width: 48px; background: var(--pbss-navy); }

/* SPC 매거진 바로가기 */
.pb-ss .pb-spc { display: flex; justify-content: flex-end; padding-top: 18px; }
.pb-ss .pb-spc__link {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--pbss-ink); font-family: "PBGothic", sans-serif;
  font-size: 12.24px; line-height: 26.01px;
}
.pb-ss .pb-spc__arrow {
  width: 10px; height: 10px; flex: 0 0 auto; display: block;
  background: no-repeat center / contain
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23b2b2b2' stroke-width='2.5' stroke-linecap='square'%3E%3Cpath d='M6.54 0 L0 0 L0 19.54 L19.54 19.54 L19.54 12.96'/%3E%3Cpath d='M10.41 0 L19.54 0 L19.54 8.75'/%3E%3Cline x1='9.57' y1='9.58' x2='19.54' y2='0'/%3E%3C/svg%3E");
}

/* --- SECTION 2 목록 (모바일: 가로 행 — 썸네일 LEFT + 텍스트 RIGHT) --- */
.pb-ss .pb-list-sec { padding: 18px 0 40px; }
.pb-ss .pb-list { display: flex; flex-direction: column; gap: 20px; width: 100%; max-width: 328px; margin: 0 auto; }

.pb-ss .pb-card { display: flex; flex-direction: row; align-items: flex-start; gap: 17px; }
.pb-ss .pb-card__thumb {
  position: relative; flex: 0 0 50.3%; aspect-ratio: 165 / 93;
  border-radius: 5px; overflow: hidden; background: var(--pbss-card-dark); cursor: pointer;
}
.pb-ss .pb-card__thumb img { width: 100%; height: 100%; object-fit: cover; }

/* 더보기 badge — 외부링크 카드(유튜브 아님)에만. 썸네일 우하단 오버레이 */
.pb-ss .pb-card__badge {
  position: absolute; right: 0; bottom: 0; z-index: 2;
  display: inline-flex; align-items: center; justify-content: center; gap: 3px;
  width: 56px; height: 22px; border-radius: 7px 0 0 0; background: var(--pbss-badge);
}
.pb-ss .pb-badge__plus { position: relative; width: 6px; height: 6px; flex: 0 0 auto; }
.pb-ss .pb-badge__plus::before,
.pb-ss .pb-badge__plus::after { content: ""; position: absolute; background: var(--pbss-navy); }
.pb-ss .pb-badge__plus::before { left: 50%; top: 0; width: 2px; height: 100%; transform: translateX(-50%); }
.pb-ss .pb-badge__plus::after { top: 50%; left: 0; height: 2px; width: 100%; transform: translateY(-50%); }
.pb-ss .pb-badge__txt { color: var(--pbss-navy); font-family: "PBGothic", sans-serif; font-size: 10.93px; line-height: 1; }

.pb-ss .pb-card__cap { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding-top: 26px; text-align: left; flex: 1; }
.pb-ss .pb-card__label {
  color: var(--pbss-navy); font-family: "PBGothic", sans-serif; font-weight: 400;
  font-size: 12.21px; line-height: 16.14px;
}
.pb-ss .pb-card__desc {
  color: var(--pbss-gray); font-family: "Pretendard-Regular", sans-serif;
  font-size: 10.95px; line-height: 14.34px;
}

/* SHOW MORE */
.pb-ss .pb-more { display: flex; justify-content: center; padding-top: 36px; }
.pb-ss .pb-more__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 327px; height: 53px;
  color: var(--pbss-ink); font-family: "Pretendard-Regular", sans-serif;
  font-size: 15.01px; line-height: 19.82px;
  background: var(--pbss-white); border: 0.9px solid var(--pbss-ink); border-radius: 5.4px;
  cursor: pointer;
}
.pb-ss .pb-more__btn:hover { background: #fafafa; }
.pb-ss .pb-more.is-empty { display: none; }

/* =========================================================================
   MODAL — 유튜브 라이트박스
   ========================================================================= */
.pb-ss-modal[hidden] { display: none; }
.pb-ss-modal {
  position: fixed; inset: 0; z-index: 100000;
  display: flex; align-items: center; justify-content: center;
}
.pb-ss-modal__backdrop { position: absolute; inset: 0; background: rgba(26, 26, 26, 0.9); }
.pb-ss-modal__box { position: relative; z-index: 1; width: 92%; max-width: 327px; }
.pb-ss-modal__player {
  position: relative; width: 100%; aspect-ratio: 16 / 9;
  background: var(--pbss-ink, #1a1a1a); border-radius: 2px; overflow: hidden;
}
.pb-ss-modal__player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pb-ss-modal__close {
  position: absolute; right: 0; bottom: calc(100% + 12px);
  width: 30px; height: 30px; padding: 0; cursor: pointer;
  background: none; border: 2px solid #fff; border-radius: 50%;
}
.pb-ss-modal__x { position: absolute; inset: 0; }
.pb-ss-modal__x::before, .pb-ss-modal__x::after {
  content: ""; position: absolute; top: 50%; left: 50%; width: 50%; height: 2px;
  background: #fff; transform-origin: center;
}
.pb-ss-modal__x::before { transform: translate(-50%, -50%) rotate(45deg); }
.pb-ss-modal__x::after { transform: translate(-50%, -50%) rotate(-45deg); }

/* =========================================================================
   DESKTOP (≥1200px)
   ========================================================================= */
@media (min-width: 1200px) {
  .pb-ss .pb-ss__wrap { padding: 0; }

  .pb-ss .pb-head { padding: 0; }
  .pb-ss .pb-head__title { margin: 0 0 25px; font-size: 52.78px; line-height: 1; }
  .pb-ss .pb-head__sub { font-size: 25px; line-height: 45px; letter-spacing: -0.02em; }

  /* featured 슬라이더 영역 — 회색 밴드 배경 + 좌우 nav */
  .pb-ss .pb-band-area { padding: 60px 0 56px; margin-top: 49px; }
  .pb-ss .pb-band-content { position: relative; }

  /* featured 카드: 썸네일 위·캡션 아래(slick slidesToShow:2 → 슬라이드 폭 50%) */
  .pb-ss .pb-slider .slick-slide > div { height: 100%; }
  .pb-ss .pb-feat__card { padding: 0 16px; }
  .pb-ss .pb-feat__thumb { width: 100%; max-width: none; aspect-ratio: 574 / 321; }
  .pb-ss .pb-feat__thumb.is-video::after { width: 61px; height: 70px; }
  .pb-ss .pb-feat__cap { gap: 8px; margin-top: 32px; }
  .pb-ss .pb-feat__label { font-size: 35.82px; line-height: 47.99px; font-weight: 400; }
  .pb-ss .pb-feat__desc { color: var(--pbss-gray); font-family: "Pretendard-Regular", sans-serif; font-size: 27.86px; line-height: 38.21px; letter-spacing: -0.03em; }

  /* nav 화살표 (데스크톱) — featured 썸네일 세로 중앙. top은 JS가 썸네일 실제 중앙으로 셋(기본 35% 폴백). */
  .pb-ss .pb-nav {
    display: block; position: absolute; z-index: 5; top: 35%;
    transform: translateY(-50%); width: 22px; height: 44px;
    padding: 0; border: 0; background: none; cursor: pointer;
  }
  .pb-ss .pb-nav__ico { width: 100%; height: 100%; display: block; background: no-repeat center / contain; }
  .pb-ss .pb-nav--prev .pb-nav__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 30 51' fill='none' stroke='%23cccccc' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.67 0 L0 21.8 L21.67 43.6'/%3E%3C/svg%3E"); }
  .pb-ss .pb-nav--next .pb-nav__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 30 51' fill='none' stroke='%23cccccc' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0 L21.6 21.6 L0 43.2'/%3E%3C/svg%3E"); }
  .pb-ss .pb-nav--prev { left: -70px; }
  .pb-ss .pb-nav--next { right: -70px; }

  .pb-ss .slick-dots { margin-top: 36px; }

  .pb-ss .pb-spc { padding-top: 32px; }
  .pb-ss .pb-spc__link { font-size: 25px; line-height: 55px; }
  .pb-ss .pb-spc__arrow { width: 20px; height: 20px; }

  /* 목록 — 3열 그리드(세로 카드) */
  .pb-ss .pb-list-sec { padding: 40px 0 60px; }
  .pb-ss .pb-list { display: grid; grid-template-columns: repeat(3, 1fr); justify-content: center; column-gap: 28px; row-gap: 33px; max-width: none; margin: 0; }
  .pb-ss .pb-card { flex-direction: column; align-items: stretch; gap: 0; }
  .pb-ss .pb-card__thumb { flex: none; width: 100%; aspect-ratio: 412 / 232; border-radius: 5px; }
  .pb-ss .pb-card__thumb.is-video::after { width: 43px; height: 50px; }
  .pb-ss .pb-card__badge { width: 126px; height: 48px; border-radius: 15px 0 0 0; gap: 6px; }
  .pb-ss .pb-badge__plus { width: 12px; height: 12px; }
  .pb-ss .pb-badge__plus::before { width: 3px; }
  .pb-ss .pb-badge__plus::after { height: 3px; }
  .pb-ss .pb-badge__txt { font-size: 25px; }
  .pb-ss .pb-card__cap { flex-direction: column; align-items: center; text-align: center; padding-top: 48px; flex: none; }
  .pb-ss .pb-card__label { font-size: 24.91px; line-height: 42.36px; }
  .pb-ss .pb-card__desc { font-size: 24.91px; line-height: 32px; }

  /* 데스크톱 SHOW MORE = 섹션-폭 보더 버튼 */
  .pb-ss .pb-more { padding-top: 60px; }
  .pb-ss .pb-more__btn { min-width: 0; width: 100%; height: 61px; font-size: 18.14px; line-height: 23.95px; }

  /* 데스크톱 모달 — 큰 플레이어 */
  .pb-ss-modal__box { width: 80%; max-width: 1399px; }
  .pb-ss-modal__close { width: 90px; height: 90px; border-width: 3px; bottom: calc(100% + 28px); right: -10px; }
  .pb-ss-modal__x::before, .pb-ss-modal__x::after { height: 3px; }
}

/* 1430px 이하 — 슬라이드 좌/우 화살표 숨김(콘텐츠 폭 부족 시 오버플로 방지) */
@media (max-width: 1430px) {
  .pb-ss .pb-nav { display: none; }
}
