/* Partners workspace renewal — Notion ver3, 2026-09-01
   Typography and navigation values follow insight-renewal.css. */
:root {
  --p-bg: #fff;
  --p-panel: #fff;
  --p-card: #fff;
  --p-ink: #25262b;
  --p-muted: #6e7076;
  --p-line: #e8e8e8;
  --p-accent: #c3ff00;
  --p-display-size: var(--moneying-public-display-size, 58px);
  --p-lead-size: var(--moneying-public-lead-size, 23px);
  --p-nav-size: 17px;
}

body { background: #fff !important; color: var(--p-ink) !important; }
.partners-main,
.partners-main button,
.partners-main input,
.partners-main select,
.partners-main textarea {
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.025em;
}
.partners-main { min-height: 100vh; padding: 64px 0 0; background: #fff; color: var(--p-ink); }
.p-shell { max-width: none; margin: 0; padding: 0 0 112px; }

.p-heading-row {
  min-height: 335px;
  padding: 88px 24px 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.p-heading-row > div { width: 100%; }
.p-kicker, .p-business-link { display: none; }
/* 공용 계약과 같은 값이어야 한다 — public-page-system.css 의 .moneying-archive-title */
.p-title {
  margin: 0;
  color: #25262b;
  font-size: var(--p-display-size);
  font-weight: var(--moneying-public-display-weight, 700);
  line-height: var(--moneying-public-display-leading, 1.24);
  letter-spacing: var(--moneying-public-display-tracking, .01em);
}
.p-sub {
  margin: 22px auto 0;
  color: #41434a;
  font-size: var(--p-lead-size);
  font-weight: 500;
  line-height: var(--moneying-public-lead-leading, 1.55);
  letter-spacing: var(--moneying-public-lead-tracking, -.015em);
}
.p-sub span { display: block; }
.p-campaign-entry {
  width: fit-content;
  min-height: 46px;
  margin: 28px auto 0;
  padding: 0 19px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  border: 1px solid #d8d8d8;
  border-radius: 999px;
  color: #242424;
  background: #fff;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}
.p-campaign-entry:hover { border-color: #aaa; background: #fafafa; }
.p-campaign-entry span { font-size: 18px; }

/* 노하우 스토어(.store-category-tabs)·인사이트(.insight-tabs)와 같은 모양이어야 한다.
   예전엔 #fafafa 배경 띠(높이 88px)에 들어 있어 파트너스만 빽빽해 보였다
   (2026-09-02 대표 지적). 배경·고정 높이를 빼고 여백만 같은 값으로 둔다. */
.p-tabs {
  width: min(1120px, calc(100% - 48px));
  margin: 68px auto 54px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--moneying-section-tab-gap, 0px);
  overflow-x: auto;
  border: 0;
  background: transparent;
  scrollbar-width: none;
}
.p-tabs::-webkit-scrollbar { display: none; }
.p-tab {
  position: relative;
  min-height: 42px;
  padding: 10px var(--moneying-section-tab-pad, 22px);
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  border: 0;
  color: #606268;
  background: transparent;
  font-family: inherit;
  font-size: var(--p-nav-size);
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.p-tab:hover { color: var(--p-ink); }
.p-tab.active { color: var(--p-ink); border-bottom: 0; font-weight: 750; }
.p-tab.active::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 50%;
  width: 6px;
  height: 6px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: var(--p-accent);
}
.p-tab:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 16px;
  transform: translateY(-50%);
  background: #cfd0d3;
}
/* ⚠️ .p-tabs 는 overflow-x: auto 라 세로도 잘린다 — 탭 위로 빼면 뱃지 윗부분이
   잘린다(2026-09-02 대표 지적). 탭 박스 안에 들어오게 둔다.
   ⚠️ 2026-09-07 — 탭 좌우 패딩이 0 에서 22px 로 바뀌었다(간격 개선).
   right 를 음수로 두면 넓어진 패딩 밖으로 나가 다음 탭 쪽으로 밀린다.
   패딩 **안쪽**에 두어 글자 오른쪽에 붙게 한다. */
.p-tab-badge {
  position: absolute;
  top: 0;
  right: 5px;
  min-width: 18px;
  height: 18px;
  margin: 0;
  padding: 0 5px;
  color: #1a1a1a;
  background: var(--p-accent);
  font-size: 10px;
}
.p-tab.active .p-tab-badge { top: 0; right: 5px; }

.p-search-panel,
.p-section,
.p-request-panel,
.p-video-panel,
.p-seller-panel,
.p-preview-note,
.p-business-banner {
  width: min(1120px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
}
.p-search-panel {
  margin-top: 58px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.p-product-scope {
  display: inline-flex;
  gap: 4px;
  margin-bottom: 14px;
  padding: 4px;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  background: #f4f4f4;
}
.p-product-scope button {
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #777;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.p-product-scope button.active {
  background: #fff;
  color: #171717;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .08);
}
.p-product-scope i { margin-right: 4px; color: #7047e8; }
.p-growth-note {
  margin: 11px 0 0;
  color: #666;
  font-size: 12px;
  line-height: 1.5;
}
.p-search-row { grid-template-columns: minmax(0, 1fr) 66px; gap: 12px; }
.p-search, .p-image-btn {
  height: 58px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .025);
}
.p-search { padding: 0 21px; }
.p-search i { margin-right: 14px; color: #b9b9b9; }
.p-search input { color: #191919; font-size: 14px; }
.p-search input::placeholder { color: #b9b9b9; }
.p-image-btn { width: 66px; color: #aaa; font-size: 19px; }
.p-image-btn:hover { color: #111; background: #fafafa; }
.p-image-work.open {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid #e7e7e7;
  border-radius: 8px;
  background: #fafafa;
}

.p-section { margin-top: 72px; }
.p-section-head { margin-bottom: 22px; align-items: flex-end; }
.p-section h2,
.p-video-head h2,
.p-request-panel .p-section-head h2 {
  color: var(--p-ink);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}
.p-section-desc { margin-top: 8px; color: var(--p-muted); font-size: 15px; line-height: 1.55; }
.p-share-actions { gap: 8px; }
.p-share, .p-section-more, .p-video-more, .p-popular-more {
  min-width: 78px;
  height: 38px;
  padding: 0 17px;
  border: 1px solid #e6e6e6;
  border-radius: 7px;
  color: #333;
  background: #fff;
  box-shadow: none;
  font-size: 12px;
  font-weight: 700;
}
.p-section-more, .p-video-more, .p-popular-more { margin-top: 36px; }
.p-section-more:hover, .p-video-more:hover, .p-popular-more:hover, .p-share:hover { background: #f7f7f7; }

.p-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 42px 20px; }
.p-card {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transition: opacity .16s ease;
}
.p-card:hover, .p-card:focus-visible {
  transform: none;
  border-color: transparent;
  box-shadow: none;
  opacity: .88;
}
.p-thumb {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin-bottom: 0;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background: #f8f8f8;
}
.p-thumb img { border-radius: 8px; transition: transform .25s ease; }
.p-card:hover .p-thumb img { transform: scale(1.015); }
.p-card-badges {
  min-height: 20px;
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.p-card-body { min-height: 142px; padding: 7px 0 0; display: flex; flex-direction: column; }
.p-brand { margin-top: 7px; color: #8a8c92; font-size: 13px; font-weight: 500; }
.p-name {
  height: 42px;
  margin-top: 8px;
  color: var(--p-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}
.p-meta { min-height: 21px; margin-top: 0; }
.p-price { color: var(--p-ink); font-size: 16px; font-weight: 750; }
.p-live { display: none; }
.p-add {
  height: 39px;
  margin-top: 12px;
  border: 1px solid #e6e6e6;
  border-radius: 7px;
  color: #222;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
}
.p-add:hover { border-color: #cfcfcf; background: #fafafa; }
.p-add.selected { border-color: #191919; color: #fff; background: #191919; }
.p-badge, .p-growth-badge, .p-rank-badge {
  position: static;
  padding: 5px 8px;
  border-radius: 5px;
  box-shadow: none;
  font-size: 10px;
  line-height: 1;
}
.p-badge, .p-rank-badge { color: #fff; background: #292929; }
.p-growth-badge { color: #fff; background: #7047e8; }

.p-cats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid #e5e5e5;
  border-radius: 7px;
}
.p-cat {
  height: 42px;
  padding: 0 10px;
  border: 0;
  border-right: 1px solid #ededed;
  border-bottom: 1px solid #ededed;
  border-radius: 0;
  color: #555;
  background: #fff;
  font-size: 12px;
  font-weight: 600;
}
.p-cat:nth-child(5n) { border-right: 0; }
.p-cat:nth-child(n + 6) { border-bottom: 0; }
.p-cat.active { border-color: #ededed; color: #111; background: var(--p-accent); font-weight: 800; }
.p-preview-note {
  margin-top: 22px;
  padding: 11px 14px;
  border: 0;
  border-radius: 0;
  color: #9c9c9c;
  background: transparent;
  text-align: center;
}
.p-pagination { margin-top: 36px; }
.p-pagination.show { display: flex; }
.p-page-btn { min-width: 78px; height: 38px; border-color: #e6e6e6; border-radius: 7px; background: #fff; }
.p-page-current { display: none; }
.p-filter-empty, .p-empty {
  min-height: 220px;
  padding: 60px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e7e7e7;
  border-radius: 8px;
  color: #777;
  background: #fff;
}

.p-business-banner {
  min-height: 116px;
  margin-top: 92px;
  padding: 24px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-radius: 20px;
  color: #141414;
  background: var(--p-accent);
  text-decoration: none;
}
.p-business-eyebrow { display: block; font-size: 12px; font-weight: 700; }
.p-business-title { display: block; margin-top: 9px; font-size: 18px; font-weight: 800; letter-spacing: -.035em; }
.p-business-copy { display: block; margin-top: 7px; font-size: 12px; line-height: 1.5; }
.p-business-arrow {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #111;
  background: #fff;
}

.p-request-panel, .p-video-panel, .p-seller-panel { margin-top: 58px; }
.p-request-panel.show, .p-video-panel.show { display: block; }
.p-request-box {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.p-request-form { grid-template-columns: minmax(0, 1fr) 190px; gap: 12px; }
.p-request-input, .p-request-submit {
  height: 58px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
}
.p-request-input { padding: 0 20px; }
.p-request-submit { color: #222; font-weight: 800; }
.p-request-submit:hover { background: #f7f7f7; }
.p-request-note { margin: 17px 0 0; color: #8a8c92; font-size: 13px; line-height: 1.55; text-align: center; }
.p-request-list { gap: 14px; margin-top: 42px; }
.p-request-row {
  padding: 20px 22px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  background: #fff;
}
.p-request-row-head b { color: #222; font-size: 15px; font-weight: 800; }
.p-request-links { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.p-request-links > a:first-child { min-width: 0; flex: 1 1 420px; justify-content: flex-start; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p-request-status { color: #222; background: var(--p-accent); }
.p-request-status.completed, .p-request-status.resolved, .p-request-status.unavailable { color: #555; background: #ddd; }
.p-request-links a, .p-request-links button, .p-sync-btn {
  min-height: 42px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e5e5e5;
  border-radius: 7px;
  color: #222;
  background: #fff;
}
.p-manage-url { grid-template-columns: minmax(0, 1fr) 180px; }
.p-manage-url input { height: 44px; border-color: #e5e5e5; }
#requestManagementPanel .p-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 24px; }
#requestManagementPanel .p-cat { border-bottom: 0; }

.p-seller-panel {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.p-seller-grid {
  margin-top: 24px;
  padding: 30px;
  border: 1px solid #e7e7e7;
  border-radius: 8px;
  background: #fff;
}
.p-field span { margin-bottom: 10px; color: #222; font-size: 13px; }
.p-field input { height: 52px; border-color: #e6e6e6; border-radius: 7px; background: #fafafa; }
.p-field-wide { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.p-connect-btn { min-width: 190px; height: 52px; margin-left: auto; color: #171717; background: var(--p-accent); }
.p-connect-help { margin: -49px 220px 0 30px; color: #aaa; }
.p-seller-list { margin-top: 30px; }
.p-seller-item { border-color: #e6e6e6; background: #fff; }

.p-video-head { margin-bottom: 22px; }
.p-video-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 42px 20px; }
.p-video-card {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: default;
}
.p-video-card:hover, .p-video-card:focus-visible { transform: none; border-color: transparent; box-shadow: none; }
.p-video-thumb { aspect-ratio: 9 / 13; border: 1px solid #efefef; border-radius: 8px; background: #f8f8f8; cursor: pointer; }
.p-video-card.is-playing .p-video-thumb { background: #111; }
.p-video-card.is-playing .p-video-thumb > img,
.p-video-card.is-playing .p-video-thumb > .p-video-play,
.p-video-card.is-playing .p-video-thumb > .p-video-label,
.p-video-card.is-playing .p-video-thumb > .p-video-lock { display: none; }
.p-video-thumb video, .p-video-thumb iframe, .p-video-thumb .p-video-origin {
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  object-fit: contain;
}
.p-video-body { padding: 11px 0 0; }
.p-video-title { height: 42px; color: #333; font-size: 14px; font-weight: 500; line-height: 1.5; }
.p-video-author { margin-top: 6px; color: #aaa; font-size: 11px; }
.p-video-meta { display: none; }
.p-video-actions { display: grid; gap: 7px; margin-top: 12px; }
.p-video-actions a, .p-video-actions button {
  height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e6e6e6;
  border-radius: 7px;
  color: #222;
  background: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.p-video-actions button:disabled { color: #aaa; background: #fafafa; }
.p-video-play { width: 38px; height: 38px; background: rgba(255,255,255,.82); color: #999; box-shadow: none; }
.p-video-label { top: 10px; left: 10px; }

.p-modal-bg { background: rgba(0, 0, 0, .56); backdrop-filter: none; }
.p-modal-panel { width: min(900px, 92vw); border: 0; border-radius: 10px; background: #fff; box-shadow: 0 20px 70px rgba(0,0,0,.22); }
.p-modal-grid { grid-template-columns: 1fr 1fr; }
.p-modal-img { min-height: 440px; background: #fafafa; }
.p-modal-info { position: relative; padding: 42px 34px 32px; border-left: 1px solid #f0f0f0; color: var(--p-ink); }
.p-modal-share { position: absolute; top: 32px; right: 32px; margin: 0; color: #444; background: #fff; border-color: #e8e8e8; }
.p-modal-share { min-height: 34px; padding: 0 13px; font-size: 12px; font-weight: 700; }
.p-modal-badges { min-height: 24px; display: flex; align-items: center; gap: 6px; padding-right: 86px; }
.p-modal-badges > * { padding: 5px 8px; border-radius: 5px; color: #fff; background: #2b2b2b; font-size: 11px; font-weight: 700; }
.p-modal-badges > *.rocket { background: #7047e8; }
.p-modal-price { margin-top: 24px; color: var(--p-ink); font-size: 22px; font-weight: 750; line-height: 1.3; }
.p-modal-title { margin-top: 11px; color: var(--p-ink); font-size: 24px; font-weight: 700; line-height: 1.4; letter-spacing: 0; }
.p-modal-brand { margin-top: 7px; color: #8a8c92; font-size: 14px; font-weight: 500; }
.p-modal-actions { margin-top: 30px; gap: 10px; }
.p-modal-actions a, .p-modal-actions button { height: 48px; border-radius: 7px; font-size: 13px; font-weight: 700; }
.p-modal-out { border-color: #e5e5e5; background: #fff; }
.p-modal-add { color: #171717; background: var(--p-accent); }
.p-classify { gap: 8px; margin-top: 18px; }
.p-classify button { height: 42px; border-color: #e5e5e5; border-radius: 7px; color: #4e5055; background: #fff; font-size: 12px; font-weight: 700; }
.p-classify button.active { color: #111; background: var(--p-accent); border-color: var(--p-accent); }
.p-report-actions { gap: 8px; margin-top: 10px; }
.p-report-actions button { min-height: 40px; border-color: #e5e5e5; border-radius: 7px; color: #606268; background: #fff; font-size: 11px; font-weight: 650; }
.p-modal-hint { margin-top: 10px; color: #8a8c92; font-size: 13px; line-height: 1.5; }
.p-picker-panel { width: min(460px, 92vw); }
.p-picker-title { color: var(--p-ink); font-size: 22px; font-weight: 800; letter-spacing: -.035em; }
.p-picker-sub { margin-top: 8px; color: var(--p-muted); font-size: 14px; line-height: 1.55; }
.p-picker-label { color: #4e5055; font-size: 13px; font-weight: 700; }
.p-page-name { color: var(--p-ink); font-size: 14px; font-weight: 700; }
.p-page-slug { margin-top: 3px; color: #8a8c92; font-size: 11px; }
.p-toast { background: #202020; }

@media (max-width: 1050px) and (min-width: 821px) {
  .p-rail, .p-video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .partners-main { padding-top: 64px; }
  .p-shell { padding-bottom: 72px; }
  /* ⚠️ 높이·여백은 public-page-system.css 의 .moneying-archive-hero-inner 가 갖는다.
     여기에 남겨 두면 768~820px 구간에서만 옛 260px 가 되살아난다 —
     이 파일의 분기(820px)와 그쪽 분기(767px)가 달라서다(2026-09-10 검수).
     좌우 여백만 남긴다. */
  .p-heading-row { padding-inline: 20px; }
  .p-title { font-size: var(--moneying-public-display-size, clamp(34px, 9.4vw, 44px)); }
  .p-sub { margin-top: 16px; font-size: var(--moneying-public-lead-size, 16px); }
  .p-tabs {
    width: min(100% - 32px, 1120px);
    margin: 42px auto 34px;
    padding: 0;
  gap: var(--moneying-section-tab-gap, 0px);
    justify-content: flex-start;
    scroll-padding-inline: 0;
  }
  /* ⚠️ 여기서 gap·정렬을 다시 잡으면 파트너스 탭만 좁아 보인다(2026-09-02 대표 지적).
     노하우 스토어·인사이트와 같은 값(gap 12px, 넘치면 왼쪽부터)을 쓴다 —
     공용 계약 .moneying-section-tabs 가 정한다. */
  .p-tab { min-height: 38px; padding: 10px var(--moneying-section-tab-pad, 11px); font-size: 15px; }
  .p-tab:not(:last-child)::after { right: 0; }
  .p-tab-badge, .p-tab.active .p-tab-badge { top: 0; right: 1px; }
  .p-search-panel, .p-section, .p-request-panel, .p-video-panel, .p-seller-panel, .p-preview-note, .p-business-banner {
    width: calc(100% - 32px);
  }
  .p-search-panel { margin-top: 34px; }
  .p-search-row { grid-template-columns: minmax(0, 1fr) 50px; }
  .p-search, .p-image-btn { height: 50px; }
  .p-image-btn { width: 50px; }
  .p-section { margin-top: 52px; }
  .p-section-head { margin-bottom: 17px; }
  .p-section h2, .p-video-head h2, .p-request-panel .p-section-head h2 { font-size: 20px; }
  .p-rail, #allProductsGrid, #imageResultGrid, #popularGrid, .p-video-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 12px;
    margin: 0;
    padding: 0;
    overflow: visible;
  }
  .p-recommend-section .p-card { width: auto; max-width: none; min-width: 0; }
  .p-card-body, #allProductsGrid .p-card-body, #imageResultGrid .p-card-body, .p-recommend-section .p-card-body { padding: 9px 0 0; }
  .p-card-body, #allProductsGrid .p-card-body, #imageResultGrid .p-card-body, .p-recommend-section .p-card-body { min-height: 132px; }
  .p-thumb, #allProductsGrid .p-thumb, #imageResultGrid .p-thumb, .p-recommend-section .p-thumb { aspect-ratio: 1; }
  .p-name, #allProductsGrid .p-name, #imageResultGrid .p-name, .p-recommend-section .p-name { height: 40px; font-size: 13px; line-height: 1.5; }
  .p-price, #allProductsGrid .p-price, #imageResultGrid .p-price, .p-recommend-section .p-price { font-size: 14px; }
  .p-brand, #allProductsGrid .p-brand, #imageResultGrid .p-brand, .p-recommend-section .p-brand { font-size: 11px; }
  .p-add, #allProductsGrid .p-add, #imageResultGrid .p-add, .p-recommend-section .p-add { height: 38px; margin-top: 9px; font-size: 12px; }
  .p-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
  .p-cat, .p-cat:nth-child(5n), .p-cat:nth-child(n + 6) { border-right: 1px solid #ededed; border-bottom: 1px solid #ededed; }
  .p-cat:nth-child(3n) { border-right: 0; }
  .p-cat:nth-last-child(-n + 3) { border-bottom: 0; }
  .p-business-banner { min-height: 142px; margin-top: 64px; padding: 24px 22px; border-radius: 16px; }
  .p-business-copy { max-width: 245px; }
  .p-request-panel, .p-video-panel, .p-seller-panel { margin-top: 38px; }
  .p-request-form, .p-manage-url { grid-template-columns: 1fr; }
  .p-request-submit { width: 100%; }
  .p-request-row { padding: 17px 16px; }
  #requestManagementPanel .p-cats { grid-template-columns: repeat(4, minmax(105px, 1fr)); overflow-x: auto; }
  .p-seller-grid { grid-template-columns: 1fr; padding: 20px 16px; }
  .p-field-wide { display: block; }
  .p-connect-btn { width: 100%; margin-top: 18px; }
  .p-connect-help { margin: 14px 0 0; }
  .p-video-thumb { aspect-ratio: 9 / 13; }
  .p-video-body { padding: 9px 0 0; }
  .p-video-title { height: 38px; font-size: 12px; line-height: 1.55; }
  .p-modal-panel { border-radius: 18px 18px 0 0; }
  .p-modal-img { min-height: 0; aspect-ratio: 1; }
  .p-modal-share { top: 20px; right: 20px; }
  .p-modal-info { padding: 26px 20px 30px; }
  .p-modal-info { border-top: 1px solid #f0f0f0; border-left: 0; }
  .p-modal-price { font-size: 20px; }
  .p-modal-title { font-size: 20px; }
  .p-modal-brand { font-size: 13px; }
  .p-modal-actions a, .p-modal-actions button { font-size: 13px; }
}

@media (max-width: 430px) {
  .p-heading-row { display: flex; }
  /* ⚠️ span 을 inline 으로 풀면 두 문장이 이어져 3줄로 흐른다.
     모바일에서도 문장 단위로 2줄이어야 한다(2026-09-02 대표 지적). */
  .p-sub span { display: block; }
}

/* Campaign integration: campaign pages share the Partners surface and rhythm. */
.cp-partners-main{background:#fff;color:var(--p-ink);padding-top:64px}
.cp-partners-main .cp-shell{width:auto;max-width:none;margin:0;padding:0 0 88px}
.cp-partners-main>.cp-shell>*:not(dialog):not(script):not(.moneying-archive-hero){width:min(1120px,calc(100% - 40px));margin-left:auto;margin-right:auto}
.cp-partners-main .moneying-section-band{margin-inline:calc(50% - 50vw)}
.cp-partners-main .p-tabs{width:min(1120px,calc(100% - 48px));margin:68px auto 54px}
.cp-partners-main .cp-detail-back-action{margin-bottom:18px}
.cp-campaign-workspace-head{margin-top:-26px;margin-bottom:34px;padding:0;border:0;background:transparent;box-shadow:none}
.cp-campaign-tabs{display:flex;align-items:center;justify-content:space-between;gap:20px;overflow-x:auto;overflow-y:hidden;padding:0 0 4px;white-space:nowrap;scrollbar-width:none}
.cp-campaign-primary-tabs{display:flex;gap:8px}
.cp-campaign-tabs::-webkit-scrollbar{display:none}
.cp-campaign-tabs a{flex:0 0 auto;padding:10px 15px;border:1px solid #e8e8e8;border-radius:999px;background:#fff;color:#777;font-size:13px;font-weight:750;text-decoration:none}
.cp-campaign-tabs a.active{border-color:#202020;background:#202020;color:#fff}
.cp-campaign-tabs .cp-advertiser-switch{border-color:transparent;color:#555;font-weight:700}
.cp-campaign-tabs .cp-advertiser-switch:hover{border-color:#ddd;color:#111}
.cp-private-inline{margin:0 0 28px;border:1px solid #edf0e5;border-radius:8px;background:#fbfdef;color:#676b5d}
.cp-list-top{padding:30px 0 28px;border:0;background:transparent}
.cp-list-title,.cp-detail-title{color:var(--p-ink);font-weight:800;letter-spacing:-.045em}
.cp-list-title{font-size:clamp(30px,4vw,44px)}
.cp-list-actions a,.cp-partners-main .cp-btn{border-radius:7px}
.cp-filter-bar{gap:0;margin:8px 0 16px;border-bottom:1px solid #ededed}
.cp-filter-bar .cp-chip{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#888}
.cp-filter-bar .cp-chip.active{border-color:#202020;background:transparent;color:#202020}
.cp-discovery-filter{padding:18px;border:1px solid #ededed;border-radius:8px;background:#fafafa}
.cp-discovery-filter select,.cp-partners-main input,.cp-partners-main textarea,.cp-partners-main select{border-color:#e5e5e5;border-radius:7px;background:#fff}
.cp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 20px}
.cp-grid .cp-card{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.cp-grid .cp-card:hover{transform:none;box-shadow:none}
.cp-grid .cp-thumb{border:1px solid #efefef;border-radius:8px;background:#f8f8f8}
.cp-grid .cp-card-body{padding:14px 2px 0}
.cp-grid .cp-card-title{font-size:18px;line-height:1.42}
.cp-grid .cp-card-summary{color:#777}
.cp-grid .cp-reward{color:#202020}
.cp-card-decision,.cp-decision-grid,.cp-final-grid,.cp-applicant-facts{gap:10px}
.cp-card-decision>div,.cp-decision-grid>div,.cp-final-grid>article,.cp-applicant-facts>article,.cp-panel,.cp-section,.cp-fold{border-color:#e9e9e9;border-radius:8px;background:#fff;box-shadow:none}
.cp-list-title,.cp-detail-title,.cp-card-title,.cp-panel h2,.cp-panel h3,.cp-copy,.cp-notice,.mp-campaign-title,.mp-campaign-next{overflow-wrap:anywhere}.cp-thumb img,.cp-hero-img img{object-fit:cover}.cp-thumb:empty,.cp-hero-img:empty{background:linear-gradient(135deg,#f7f7f4,#eceee6)}
.cp-detail-lead{gap:32px}
.cp-detail-lead .cp-hero-img{border-radius:8px;background:#f7f7f7}
.cp-section-kicker,.cp-eyebrow{color:#7b7f70}
.cp-status.recruiting,.cp-notice.lime,.cp-btn.lime{border-color:var(--p-accent);background:var(--p-accent);color:#171717}
.cp-status.upcoming{background:#f1f1f1;color:#606268}.cp-status.selection{background:#fff3ce;color:#755800}.cp-status.progress,.cp-status.review{background:#e9f1ff;color:#315f97}.cp-status.closed{background:#f0f0f0;color:#777}
.cp-status.eligible,.cp-status.applied{background:#e8f7c4;color:#415d00}.cp-status.mismatch{background:#f7e6e6;color:#923f3f}.cp-status.unknown{background:#fff3ce;color:#755800}
.cp-card-trust,.cp-detail-trust{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.cp-card-trust span,.cp-detail-trust span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid #e6e6e6;border-radius:999px;color:#777;background:#fafafa;font-size:10px;font-weight:750}.cp-card-trust span.verified,.cp-detail-trust span.verified{border-color:#dfeac5;background:#f6faeb;color:#52652c}.cp-card-trust span.verified:before,.cp-detail-trust span.verified:before{margin-right:4px;content:'✓'}.cp-detail-trust{width:min(1120px,calc(100% - 40px));margin:14px auto 0}
.cp-sheet-card{border-radius:12px;background:#fff}
.cp-builder,.cp-business-main .cp-shell{max-width:1120px}
.cp-builder-stage,.cp-quote-card,.cp-business-head,.cp-dashboard-head,.cp-now-action{border-color:#e8e8e8;border-radius:8px;box-shadow:none}
.cp-goal-grid label>span,.cp-connect-grid label>span{border-radius:8px}
.cp-goal-grid label[aria-disabled=true]{opacity:.48;cursor:not-allowed}
.mp-campaign-next{margin-top:8px;color:#596251}.mp-campaign-next b{color:#17210f}
.cp-final-edit{margin-top:12px;padding:0;border:0;background:transparent;color:#59651f;font:inherit;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer}
.cp-applicant-tools{display:flex;align-items:end;gap:10px;margin-top:16px;padding:12px;border:1px solid #e9e9e9;border-radius:8px;background:#fafafa}.cp-applicant-tools label{display:grid;gap:5px;color:#666;font-size:12px;font-weight:800}.cp-applicant-tools select{min-height:40px;padding:0 34px 0 11px;border:1px solid #ddd;border-radius:7px;background:#fff;color:#222}.cp-applicant-tools .cp-help{margin-left:auto;padding-bottom:10px}
.cp-compare-check{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:#555;font-size:13px;font-weight:750;cursor:pointer}.cp-compare-check input{width:18px;height:18px;accent-color:#202020}.cp-compare-dialog{width:min(1080px,calc(100% - 32px));max-height:86vh;padding:24px;border:0;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.cp-compare-dialog::backdrop{background:rgba(0,0,0,.45)}.cp-compare-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.cp-compare-head h2{margin:5px 0 0}.cp-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;overflow:auto}.cp-compare-grid>article{min-width:0;padding:16px;border:1px solid #e8e8e8;border-radius:8px}.cp-compare-grid h3{margin:0 0 12px}.cp-compare-grid .cp-applicant-facts{grid-template-columns:1fr 1fr}.cp-compare-grid .cp-notice{margin-top:12px!important}
.cp-acceptance-extend{margin-top:10px}.cp-selection-complete{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;margin-top:16px}.cp-selection-complete p{margin:5px 0 0}

@media(max-width:820px){
  .cp-partners-main .cp-shell{width:auto;padding:0 0 78px}
  .cp-partners-main>.cp-shell>*:not(dialog):not(script):not(.moneying-archive-hero){width:calc(100% - 32px)}
  .cp-partners-main .p-tabs{width:calc(100% - 32px);margin:44px auto 36px}
  .cp-partners-main .cp-detail-back-action{margin-bottom:10px}
  .cp-campaign-workspace-head{margin-top:-12px;margin-bottom:24px}
  .cp-campaign-tabs{align-items:flex-start;flex-direction:column;gap:8px;overflow:visible}
  .cp-campaign-primary-tabs{max-width:100%;overflow-x:auto}
  .cp-campaign-tabs .cp-advertiser-switch{padding-left:0}
  .cp-private-inline{padding:10px 12px}
  .cp-list-top{display:block;padding:18px 0 22px}
  .cp-list-actions{margin-top:16px}
  .cp-filter-bar{overflow-x:auto;flex-wrap:nowrap}
  .cp-discovery-filter{grid-template-columns:1fr 1fr;padding:14px}
  .cp-discovery-filter>*{min-width:0}
  .cp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}
  .cp-grid .cp-card-body{padding-top:10px}
  .cp-grid .cp-card-title{font-size:15px}
  .cp-card-decision{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .cp-card-decision>div{min-height:0;padding:9px}.cp-card-decision span{font-size:10px}.cp-card-decision b{font-size:11px;line-height:1.35}
  .cp-detail-lead,.cp-detail-columns{grid-template-columns:1fr}
  .cp-decision-grid,.cp-final-grid,.cp-applicant-facts{grid-template-columns:1fr 1fr}
  .cp-applicant-tools{align-items:stretch;flex-wrap:wrap}.cp-applicant-tools label{flex:1 1 180px}.cp-applicant-tools .cp-help{width:100%;margin:0;padding:0}
  .cp-selection-complete{grid-template-columns:1fr}.cp-selection-complete .cp-btn{width:100%}
  .cp-builder{display:block}
  .cp-quote-card{position:static;margin-top:18px}
  .cp-builder-steps{overflow-x:auto;flex-wrap:nowrap}
  .cp-builder-steps button{flex:0 0 auto;min-width:104px}
}

@media(max-width:480px){
  .cp-grid,.cp-compare-grid{grid-template-columns:1fr}
  .cp-discovery-filter,.cp-decision-grid,.cp-final-grid,.cp-applicant-facts{grid-template-columns:1fr}
}
