/*
 * f_partners_v2.0.css
 * 파트너스 성지 찾기 페이지 v2.0
 * 클래스 접두사: fpl2-
 */

/* ============================
   page-phone-list / page-phone-place 공통
   floating-action-btn 숨김
   ============================ */
body.page-phone-list  .floating-action-btn,
body.page-phone-place .floating-action-btn,
body.page-phone-place-write .floating-action-btn {
  display: none !important;
}

/* ============================
   page-phone-list 전역 레이아웃 제어
   main-header 숨김, padding-top 초기화, bottom-nav 활성화
   ============================ */

/* 헤더 숨김  */
.page-phone-list .main-header,
.page-phone-place .main-header,
.page-phone-place-write .main-header {
  display: none !important;
}

/* main-content 패딩 초기화 (고정 헤더 보상 제거) */
.page-phone-list .main-content,
.page-phone-place .main-content,
.page-phone-place-write .main-content {
  padding-top: 0 !important;
  padding-bottom: 0;
}

/* 바텀 네비 여백 (노출 자체는 new_style.css 전역 규칙 + _bottom_nav.html 서버사이드 스킵이 담당)
   page-phone-place(매장/게시물/시세표 상세)는 네비 미노출 — 패딩은 자체 하단바(fps-mcta/fpd-consult-bar) 클리어런스용 */
@media (max-width: 1024px) {
  .page-phone-list .main-content,
  .page-phone-place .main-content {
    padding-bottom: calc(50px + env(safe-area-inset-bottom, 0px));
  }
}

/* ============================
   CSS 변수
   ============================ */
:root {
  --fpl2-brand: var(--ssadang-brand);
  --fpl2-brand-bg: var(--ssadang-brand-bg);
  --fpl2-black: var(--ssadang-black);
  --fpl2-gray: #666;
  --fpl2-gray-light: #f5f5f5;
  --fpl2-border-gray: var(--ssadang-gray-2);
  --fpl2-shadow: 0 1px 6px rgba(186, 192, 199, 0.22);
  --fpl2-radius: 12px;
  --fpl2-thumb-size: 72px;
}

/* ============================
   페이지 레이아웃
   ============================ */
.fpl2-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: #fff;
  max-width: 720px;
  margin: 0 auto;
}

/* ============================
   헤더
   ============================ */
.fpl2-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 24px 16px;
  background: #fff;
}

.fpl2-header__title {
  font-size: 22px;
  font-weight: 700;
  color: var(--fpl2-black);
  margin: 0;
  line-height: 1.2;
}

/* ============================
   필터 바 (찜한 매장만 / 업로드순)
   ============================ */
.fpl2-filterbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 24px;
}
.fpl2-favfilter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 15px 8px 10px;
  border: 1px solid #e3e5e8;
  border-radius: 22px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
}
.fpl2-favfilter.active {
  border-color: var(--fpl2-brand);
  color: var(--fpl2-brand);
  background: var(--fpl2-brand-bg);
}
.fpl2-favfilter__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 7px;
  border: 1.5px solid #cfd3d8;
  background: #fff;
  color: transparent;
  flex-shrink: 0;
}
.fpl2-favfilter.active .fpl2-favfilter__check {
  background: var(--fpl2-brand);
  border-color: var(--fpl2-brand);
  color: #fff;
}
.fpl2-sort {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 15px;
  border: 1px solid #e3e5e8;
  border-radius: 22px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: #555;
  cursor: pointer;
}
.fpl2-sort svg { color: #999; flex-shrink: 0; }

/* ============================
   지역 탭
   ============================ */
.fpl2-tabs-wrap {
  background: #fff;  
  position: sticky;
  top: 0;
  z-index: 1;
}

.fpl2-tabs-scroll {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0 12px;
  gap: 0;
  cursor: grab;
}

.fpl2-tabs-scroll::-webkit-scrollbar {
  display: none;
}

.fpl2-tab {
  flex-shrink: 0;
  padding: 12px 14px;
  font-size: 24px;
  font-weight: 400;
  color: var(--ssadang-gray-2);
  background: none;
  border: none;  
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.4;
  transition: color 0.15s, border-color 0.15s;
}

.fpl2-tab.active {
  color: var(--fpl2-black);
  font-weight: 700;
  border-bottom-color: var(--fpl2-brand);
}

/* ============================
   업체 리스트
   ============================ */
.fpl2-list {
  display: flex;
  flex-direction: column;
  padding: 4px 0 8px;
  margin: 0 24px 40px;
  gap: 16px;
}

/* ============================
   업체 카드
   ============================ */
.fpl2-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--fpl2-shadow);
  border-radius: var(--fpl2-radius);
}

/* 썸네일 */
.fpl2-card__thumb {
  flex-shrink: 0;
  width: 88px;
  height: 88px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--fpl2-gray-light);
  display: flex;
  align-items: center;
  justify-content: center;
}

.fpl2-card__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.fpl2-card__thumb-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* 업체 정보 영역 */
.fpl2-card__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.fpl2-card__name {
  font-size: 16px;
  font-weight: 700;
  color: var(--fpl2-black);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 북마크 커스텀 모달 */
.fpl2-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9000;
  display: none;
  align-items: center;
  justify-content: center;
}
.fpl2-modal-overlay.open {
  display: flex;
}
.fpl2-modal-box {
  background: #fff;
  border-radius: 16px;
  padding: 24px 20px 16px;
  width: calc(100% - 48px);
  max-width: 340px;
  box-shadow: 0 8px 32px rgba(0,0,0,.16);
}
.fpl2-modal-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--ssadang-black);
  text-align: center;
  margin-bottom: 6px;
}
.fpl2-modal-desc {
  font-size: 13px;
  color: #888;
  text-align: center;
  margin-bottom: 20px;
}
.fpl2-modal-actions {
  display: flex;
  gap: 8px;
}
.fpl2-modal-btn {
  flex: 1;
  padding: 12px 0;
  border-radius: 10px;
  border: none;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.fpl2-modal-btn--cancel {
  background: #f0f1f3;
  color: #555;
}
.fpl2-modal-btn--confirm {
  background: var(--fpl2-brand);
  color: #fff;
}

/* 지역 */
.fpl2-card__region {
  font-size: 14px;
  color: #888;
  line-height: 1.3;
}

/* 메타 행 (업데이트 시간 + 찜 배지) */
.fpl2-card__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 2px;
}
.fpl2-card__update {
  font-size: 13px;
  color: #999;
}
.fpl2-card__faved {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ssadang-brand-2);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.fpl2-card__faved svg { flex-shrink: 0; }

/* ============================
   빈 상태
   ============================ */
.fpl2-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  gap: 14px;
}

.fpl2-empty__text {
  font-size: 14px;
  color: #adb2ba;
  margin: 0;
  text-align: center;
}

/* ============================
   페이지네이션
   ============================ */
.fpl2-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 24px 20px 32px;
}

.fpl2-page-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: none;
  border: 1px solid #e8eaed;
  color: var(--fpl2-gray);
  text-decoration: none;
  cursor: pointer;
}

.fpl2-page-btn--disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.fpl2-page-num {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 4px;
  border-radius: 8px;
  border: 1px solid #e8eaed;
  font-size: 14px;
  color: var(--fpl2-gray);
  text-decoration: none;
  cursor: pointer;
  background: #fff;
}

.fpl2-page-num.active {
  background: var(--fpl2-brand);
  border-color: var(--fpl2-brand);
  color: #fff;
  font-weight: 600;
}

/* ============================
   반응형 (모바일)
   ============================ */
@media (max-width: 1024px) {
  .fpl2-page {
    max-width: 600px;
  }

  .fpl2-list {
    margin: 0 16px;
  }

  .fpl2-filterbar {
    padding: 12px 16px;
  }

  .fpl2-header {
    padding: 18px 20px 14px;
  }

  .fpl2-header__title {
    font-size: 20px;
  }
}

/* ============================================================
   프론트 place 템플릿 공통 스타일 (index/notice_detail/post_detail)
   - 각 템플릿의 <style> 블록 이관. reviews.css 미사용.
   - 접두사: 헤더 .plc-header / index .plc- / notice .plcn- / post .plcd-
   ============================================================ */

/* place 공통 헤더 (구 reviews .rv-header/.rv-back 대체) */
.plc-header { display:flex; align-items:center; justify-content:space-between; height:63px; position:sticky; top:0; z-index:100; background:#fff; padding:0 8px;}
.plc-header__back { flex:0 0 40px; width:40px; height:40px; border:none; background:transparent; font-size:20px; color:var(--ssadang-black); cursor:pointer; display:flex; align-items:center; justify-content:center; }

/* ── [index] ─────────────────────────────── */
/* ── Place Index 전용 ──────────────────────────── */

/* 상단 헤더 (reviews .rv-header 통일 + 좌측정렬 업체명 + 공유) */
.plc-hd-title {
  flex: 1;
  min-width: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ssadang-black);
  margin: 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.plc-hd-share {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: var(--ssadang-black);
  font-size: 19px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 업체정보 상단 영역 */
.plc-profile__name {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 20px;
  font-weight: 700;
  color: var(--ssadang-black);
}
.plc-profile__rating {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 15px;
  font-weight: 600;
  color: var(--ssadang-black);
}
.plc-profile__rating-star { color: #ffc107; flex-shrink: 0; }
.plc-kakao-ch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--ssadang-variation-kakao-bg-color);
  color: #3C1E1E;
  flex-shrink: 0;
  text-decoration: none;
}
.plc-kakao-ch svg { display: block; }
.plc-profile__hours {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #666;
}
.plc-status {
  font-size: 14px;
  font-weight: 500;
  color: var(--ssadang-black)
}

/* 헤더 찜 버튼 */
.plc-hd-fav {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: #bbb;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plc-hd-fav.active { color: var(--ssadang-brand); }

/* 업체명 옆 공유 버튼 */
.plc-name-share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: none;
  background: none;
  color: #999;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}

/* 업체명 옆 찜(북마크) 버튼 */
.plc-header__spacer { flex: 1; }
/* 스크롤 시 헤더 중앙에 나타나는 업체명 */
.plc-header__title {
  flex: 1;
  min-width: 0;
  text-align: center;
  padding: 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--ssadang-black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.plc-header.is-scrolled .plc-header__title { opacity: 1; }
.plc-name-fav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  color: var(--ssadang-black);
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}
.plc-name-fav.active { color: var(--ssadang-brand-2); }

/* 영업시간 행 (좌: 영업시간 / 우: 카카오·찜 아이콘 그룹) */
.plc-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.plc-name-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* 영업시간 (오늘 요약 + 팝오버, 네이버플레이스 스타일) */
.plc-hours { position: relative; display: inline-flex; flex-direction: column; align-items: flex-start; }
.plc-hours-summary { display: inline-flex; align-items: center; gap: 6px; background: none; border: none; padding: 0; cursor: pointer; font-size: 12px; color: #666; text-align: left; }
.plc-hours-today { color: var(--ssadang-black); font-size: 14px; font-weight: 500;}
.plc-hours-chev { color: var(--ssadang-black); transition: transform 0.2s; flex-shrink: 0; }
.plc-hours-summary[aria-expanded="true"] .plc-hours-chev { transform: rotate(180deg); }
/* 아래로 열리는 팝오버 (레이아웃 밀지 않음) */
.plc-hours-acc {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 200;
  min-width: 200px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.plc-hours-accrow { display: flex; gap: 12px; font-size: 12px; color: #888; white-space: nowrap; }
.plc-hours-accday { flex: 0 0 24px; font-size: 14px; }
.plc-hours-accval { color: var(--ssadang-gray04); font-size: 14px; }
.plc-hours-accrow.is-today { color: var(--ssadang-black); font-weight: 700; }
.plc-hours-accrow.is-today .plc-hours-accval { color: var(--ssadang-black); }

.plc-wrap {
  display: flex;
  flex-direction: column;
  max-width: 720px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
}

/* 상단 헤더 바 */
.plc-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px 10px;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 100;
  border-bottom: 1px solid #f0f1f3;
}
.plc-topbar__back {
  display: flex;
  align-items: center;
  color: var(--ssadang-black);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.plc-topbar__title {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  color: var(--ssadang-black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 업체 프로필 */
.plc-profile {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-bottom: 1px solid #f0f1f3;
}
.plc-profile__thumb {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  overflow: hidden;
  background: #f5f5f5;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plc-profile__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.plc-profile__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.plc-profile__addr {
  font-size: 12px;
  color: #666;
}

/* 섹션 구분 divider (공지/커뮤니티 상단) */
.plc-divider {
  height: 9px;
  background: var(--ssadang-bg-gray);
}

/* 업체 공지 목록 */
/* 공지(시세표) 카드 */
.plc-notice-section {
  padding: 4px 20px 30px;
}
.plc-notice-card {
  display: flex;
  align-items: stretch;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 14px;
  box-shadow: 0 0px 9.8px var(--ssadang-bg-gray);
  padding: 16px;
  text-decoration: none;
  color: inherit;
}
.plc-notice-card__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
/* 우측 컬럼 (썸네일 + 문의수) — plc-comm-item__aside 동일 패턴 */
.plc-notice-card__aside {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
}
/* 시세표 썸네일 (phone/list.html .fpl-item-thumb-small 동일) */
.plc-notice-card__thumb {
  flex-shrink: 0;
  width: 82px;
  height: 82px;
  border-radius: 10px;
  color: var(--ssadang-gray-2);
  background: var(--ssadang-bg-gray);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plc-notice-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.plc-notice-card__badge {
  display: inline-block;
  background: var(--ssadang-brand-bg);
  color: var(--ssadang-brand-2);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 6px;
  margin-bottom: 9px;
}
.plc-notice-card__title {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  font-size: 16px;
  font-weight: 600;
  color: var(--ssadang-black);
}
.plc-notice-card__title-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.plc-notice-card__new {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #e53935;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  flex-shrink: 0;
}
.plc-notice-card__preview {
  margin-top: 5px;
  max-width: 100%;
  font-size: 14px;
  color: var(--ssadang-gray-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.plc-notice-card__meta {
  margin-top: 14px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--ssadang-gray-3);
}/*
.plc-notice-card__author { font-size: 14px; color: #8a8f98; font-weight: 500; }
.plc-notice-card__time { font-size: 14px; color: #adb2ba; }
.plc-notice-card__views { font-size: 14px; color: #adb2ba; }
.plc-notice-card__sep { font-size: 14px; color: #d4d7dc; }*/
.plc-notice-card__cmt {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  color: var(--ssadang-gray-3);
}

/* ── 커뮤니티 (카테고리 탭 + 글쓰기 + 게시글 목록) ── */
.plc-comm {
  display: flex;
  flex-direction: column;
  margin-bottom: 70px;
}
.plc-comm-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 30px 20px 8px;
}
/* 카테고리 탭 (reviews.css .pv2-info-tabs / .pv2-info-tab 동일 이식) */
.plc-comm-tabs {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 22px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.plc-comm-tabs::-webkit-scrollbar { display: none; }
.plc-comm-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 2px;
  font-size: 24px;
  font-weight: 600;
  color: var(--ssadang-gray-2);
  cursor: pointer;
  text-decoration: none;
}
.plc-comm-tab.active { color: var(--ssadang-black); }
@media (max-width: 767px) {
  .plc-comm-tab { font-size: 20px; }
}
.plc-comm-write {
  flex-shrink: 0;
  padding: 8px 16px;
  background: var(--ssadang-brand-2);
  color: #fff;
  border: none;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.plc-comm-list {
  display: flex;
  flex-direction: column;
}
.plc-comm-item {
  display: flex;
  align-items: stretch;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--ssadang-gray-1);
  text-decoration: none;
  color: inherit;
}
.plc-comm-item__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
}
/* 작성자 프로필 아바타 (좌측) */
.plc-comm-item__avatar {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--ssadang-bg-gray);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-gray-3);
  font-size: 15px;
}
.plc-comm-item__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.plc-comm-item__main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.plc-comm-badge {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  background: var(--ssadang-bg-gray);
  color: var(--ssadang-gray-3);
  padding: 3px 9px;
  border-radius: 6px;
  margin-bottom: 6px;
}
.plc-comm-badge--notice { background: var(--ssadang-variation-red-bg-color); color: var(--ssadang-variation-red-color); }
/* 뱃지 행 (뱃지 + 후기 별점 요약) */
.plc-comm-item__badges {
  display: flex;  
  flex-direction: column;
  gap: 4px;
  width: 100%;
  margin-bottom: 6px;
}
.plc-comm-item__badges .plc-comm-badge,
.plc-comm-item__meta .plc-comm-badge { margin-bottom: 0; }
/* 작성일 (배지 행 우측 정렬) */
.plc-comm-item__date {  
  font-size: 13px;
  color: var(--ssadang-gray-3);
}
/* 이미지 유무 표시 (조회수 자리) */
.plc-comm-item__imgs {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  color: var(--ssadang-gray-3);
}
.plc-comm-rv-score {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ssadang-black);
}
.plc-comm-rv-score svg { color: #ffc107; flex-shrink: 0; }
.plc-comm-item__title {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  font-size: 15px;
  font-weight: 600;
  color: #333;
}
.plc-comm-item__title-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.plc-comm-item__new {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #e53935;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  flex-shrink: 0;
}
.plc-comm-item__preview {
  margin-top: 4px;
  max-width: 100%;
  font-size: 14px;
  color: var(--ssadang-gray-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.plc-comm-item__meta {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: var(--ssadang-gray-3);
}
.plc-comm-item__nick {
  color: var(--ssadang-gray-3);
  font-size: 13px;
  font-weight: 500;
}
.plc-comm-item__sep { color: var(--ssadang-gray-3); }
.plc-comm-item__aside {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
}
.plc-comm-item__thumb {
  width: 82px;
  height: 82px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--ssadang-bg-gray);
}
.plc-comm-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.plc-comm-item__cmt {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  color: var(--ssadang-gray-3);
}

/* 후기 아코디언 상세 (카드 클릭 시 펼침) */
.plc-comm-rv {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 4px 20px 18px;
  border-bottom: 1px solid var(--ssadang-gray-1);
  background: var(--ssadang-bg-gray);
}
.plc-comm-rv.is-open { display: flex; }
.plc-comm-rv__stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-top: 12px;
}
.plc-comm-rv__star { color: #ffc107; }
.plc-comm-rv__star--off { color: var(--ssadang-gray-2); }
/* 상담정보 카드 (reviews.css review-detail-cards/.rdc-* 동일 이식) */
.review-detail-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 10px;
  width: 100%;
}
.rdc-card {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 0px 9.8px var(--ssadang-bg-gray);
  padding: 14px 16px;
  text-decoration: none;
  color: inherit;
}
.rdc-card--link { cursor: pointer; }
.rdc-thumb {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--ssadang-bg-gray);
  display: flex;
  align-items: center;
  justify-content: center;
}
.rdc-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.rdc-thumb--phone { background: var(--ssadang-bg-gray); }
.rdc-thumb--phone img { object-fit: contain; padding: 4px; }
.rdc-thumb-fallback { color: #c4bdf0; font-size: 24px; }
.rdc-card-info { flex: 1 1 auto; min-width: 0; }
.rdc-card-name {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-black);
  line-height: 1.35;
}
.rdc-chevron { color: var(--ssadang-black); font-size: 10px; }
.rdc-card-sub {
  margin-top: 4px;
  font-size: 13px;
  color: var(--ssadang-gray-3);
  font-weight: 500;
}
.plc-comm-rv__content {
  font-size: 14px;
  color: var(--ssadang-black);
  line-height: 1.7;
  word-break: break-word;
  width: 100%;
}
.plc-comm-rv__content p { margin: 0 0 8px; }
.plc-comm-rv__images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
}
.plc-comm-rv__img {
  display: block;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ssadang-gray-1);
}
.plc-comm-rv__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* 펼침 상태 카드: 하단 경계 제거(패널과 연결감) */
.plc-comm-item.is-expanded { border-bottom: none; }

/* ── 글쓰기/글수정 페이지 (review_write rvw-* 스타일 이식) ── */
.fplw-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
}
.fplw-header {
  display: flex;
  align-items: center;
  height: 63px;
  padding: 0 8px;  
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 1;
  background: #fff;
}
.fplw-back {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  font-size: 19px;
  color: var(--ssadang-black);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fplw-title {
  flex: 1;
  margin: 0;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--ssadang-black);
}
.fplw-spacer { flex: 0 0 40px; }
.fplw-body {
  flex: 1 0 auto;
  padding: 8px 20px 20px;
}
.fplw-sec {
  padding: 16px 0;
  margin: 0;  
}
.fplw-sec-title {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: var(--ssadang-black);
}
.fplw-sec-optional {
  font-size: 13px;
  font-weight: 500;
  color: #b8bcc2;
}
.fplw-cat {
  display: flex;
  gap: 8px;
}
.fplw-cat__btn {
  flex: 1;
  padding: 12px 0;
  border-radius: 10px;
  border: none;
  background: var(--ssadang-bg-gray);
  color: var(--ssadang-gray-2);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.fplw-cat__btn.active {  
  color: #fff;
  background: var(--ssadang-gray);
}
.fplw-input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 10px;
  font-size: 15px;
  color: var(--ssadang-black);
  background: var(--ssadang-bg-gray);   /* 작성 전: 회색 */
  box-sizing: border-box;
  font-family: inherit;
  transition: background .15s;
}
.fplw-input.fplw-has-text { background: #fff; }   /* 작성 시: 흰색 */
.fplw-input:focus { outline: none; border-color: var(--ssadang-gray-1); }   /* 포커스 검정 테두리 제거 */
.fplw-input::placeholder { color: var(--ssadang-gray-2); }
.fplw-textarea-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
}
.fplw-textarea {
  width: 100%;
  padding: 14px;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ssadang-black);
  background: var(--ssadang-bg-gray);   /* 작성 전: 회색 */
  box-sizing: border-box;
  resize: none;
  font-family: inherit;
  transition: background .15s;
}
.fplw-textarea.fplw-has-text { background: #fff; }   /* 작성 시: 흰색 */
.fplw-textarea:focus { outline: none; border-color: var(--ssadang-gray-1); }   /* 포커스 검정 테두리 제거 */
.fplw-textarea::placeholder { color: var(--ssadang-gray-2); }
.fplw-counter {
  margin-top: 8px;
  text-align: right;
  font-size: 12px;
  color: var(--ssadang-gray-2);
}
.fplw-count-num { color: var(--ssadang-black);}
/* 사진 (reviews.css .rvw-photos 동일) */
.fplw-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
/* 이미지가 하나도 없을 때: 추가 버튼 풀폭(가로형 박스) */
.fplw-photos.is-empty { display: block; }
.fplw-photos.is-empty .fplw-photo-add { width: 100%; aspect-ratio: auto; height: 96px; }
.fplw-photo-add {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 12px;
  background: var(--ssadang-bg-gray);
  color: var(--ssadang-border-gray);
  font-size: 22px;
  cursor: pointer;
  box-sizing: border-box;
}
.fplw-photo-item {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  background: var(--ssadang-bg-gray);
}
.fplw-photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* 이미지 로딩 스피너 (reviews.css rvw-photo-item.is-loading 동일) */
.fplw-photo-item.is-loading img { opacity: 0; }
.fplw-photo-item.is-loading::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 22px; height: 22px;
  margin: -11px 0 0 -11px;
  border: 3px solid rgba(0, 0, 0, .12);
  border-top-color: var(--ssadang-brand-2);
  border-radius: 50%;
  animation: fplwSpin .7s linear infinite;
}
@keyframes fplwSpin { to { transform: rotate(360deg); } }
.fplw-photo-remove {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, .6);
  color: #fff;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.fplw-cta-bar {
  flex-shrink: 0;
  position: sticky;
  bottom: 0;
  padding: 10px 20px calc(10px + env(safe-area-inset-bottom, 0px));  
  background: #fff;
}
.fplw-submit {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 12px;
  background: #cfc9ee;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s;
}
.fplw-submit--ready { background: var(--ssadang-brand-2); }

/* 등록 중 오버레이 (reviews.css rvw-loading-overlay 동일) */
.fplw-loading-overlay {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 11000;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: rgba(255, 255, 255, .82);
}
.fplw-loading-overlay.active { display: flex; }
.fplw-spinner {
  width: 40px; height: 40px;
  border: 4px solid rgba(0, 0, 0, .1);
  border-top-color: var(--ssadang-brand-2);
  border-radius: 50%;
  animation: fplwSpin .7s linear infinite;
}
.fplw-loading-text { font-size: 15px; font-weight: 600; color: var(--ssadang-gray); }

/* 빈 상태 */
.plc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 20px;
  gap: 10px;
  color: #ccc;
  font-size: 13px;
}

/* 토스트 */
.plc-toast {
  position: fixed;
  bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,.75);
  color: #fff;
  font-size: 13px;
  padding: 9px 18px;
  border-radius: 20px;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
  white-space: nowrap;
}
.plc-toast.show { opacity: 1; }

/* 네이버 지도 */
.plc-map-section {
  padding: 20px;
}
.plc-map {
  width: 100%;
  height: 220px;
  background: var(--ssadang-bg-gray);
  border-radius: 12px;
}
/* 플레이스 시세표 팝업 전용 페이지 (phone/place/notice_popup.html, iframe 내부)
   — 채널톡/전역 헤더/FAB 미노출 */
body.page-place-notice-popup #ch-plugin,
body.page-place-notice-popup .ch-plugin,
body.page-place-notice-popup [id^="ch-plugin"],
body.page-place-notice-popup .floating-action-btn {
  display: none !important;
}
body.page-place-notice-popup .main-header,
body.page-place-notice-popup .main-footer {
  display: none !important;
}
body.page-place-notice-popup .main-content {
  padding-top: 0 !important;
  padding-bottom: 0;
}
/* breadcrumb/header 제거로 생긴 상단 빈공간 제거 + sticky 탭 최상단 부착 */
body.page-place-notice-popup .fpd-detail-page { padding-top: 0; }
body.page-place-notice-popup .fpd-sticky-tabs { top: 0; }

/* 플레이스 시세표 상세(notice_detail.html) — page-phone-place + .fpd-detail-page 조합은 이 페이지뿐.
   /phone/list(list_detail.html, 오프라인)는 page-phone-place가 아니라 미영향. */
body.page-phone-place .fpd-detail-page {
  max-width: 720px;
  padding-top: 0;   /* 상단 plc-header가 fpd-detail-page 하위이므로 여백 제거 */
}
body.page-phone-place .fpd-detail-page > .plc-header {
  margin: 0 -20px;  /* 컨테이너 좌우 패딩(20px) 무시하고 풀폭 sticky */
  padding: 0 16px;
}
body.page-phone-place .fpd-sticky-tabs { top: 63px; }  /* plc-header(63px) 바로 아래에 sticky */

/* 시세표 게시물 팝업 (/phone/list/<slug> iframe) */
.plc-notice-popup {
  position: fixed;
  inset: 0;
  z-index: 9300;
  display: none;
  align-items: center;
  justify-content: center;
}
.plc-notice-popup.open { display: flex; }
.plc-notice-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .55);
}
.plc-notice-popup__panel {
  position: relative;
  width: calc(100% - 24px);
  max-width: 600px;
  height: calc(100% - 48px);
  max-height: 92vh;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
}
.plc-notice-popup__close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, .45);
  color: #fff;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.plc-notice-popup__frame {
  flex: 1;
  width: 100%;
  border: none;
  display: block;
  background: #fff;
}

/* ── [notice_detail] ─────────────────────── */
/* ── notice_detail 전용 ─────────────────────────── */
.plcn-wrap {
  display: flex;
  flex-direction: column;
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
  padding-bottom: 80px;
}

/* 상단 바 */
.plcn-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px 10px;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 100;
  border-bottom: 1px solid #f0f1f3;
}
.plcn-topbar__back {
  display: flex;
  align-items: center;
  color: var(--ssadang-black);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.plcn-topbar__title {
  flex: 1;
  font-size: 15px;
  font-weight: 600;
  color: var(--ssadang-black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
}

/* 공지 배지 */
.plcn-notice-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ssadang-brand);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  margin-right: 6px;
  vertical-align: middle;
}

/* 헤더 */
.plcn-post-header {
  padding: 16px 16px 12px;
  border-bottom: 1px solid #f0f1f3;
}
.plcn-post-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--ssadang-black);
  line-height: 1.45;
  margin-bottom: 10px;
}
.plcn-post-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.plcn-post-meta__item {
  font-size: 12px;
  color: #999;
}
.plcn-post-meta__item--brand {
  font-weight: 600;
  color: var(--ssadang-brand);
}

/* 갤러리 (list_detail.html의 fpd-gallery 동일 스타일) */
.plcn-gallery {
  display: flex;
  flex-direction: column;
}
.plcn-gallery-item {
  width: 100%;
}
.plcn-gallery-link {
  display: block;
  cursor: zoom-in;
}
.plcn-gallery-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* 썸네일 이미지 (단독 상단 이미지) */
.plcn-thumb-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* 본문 (list_detail.html의 fpd-detail-content 동일 스타일) */
.plcn-content {
  padding: 16px;
  font-size: 14px;
  color: #444;
  line-height: 1.75;
  word-break: break-word;
  border-bottom: 1px solid #f0f1f3;
}
.plcn-content a {
  color: #666;
  text-decoration: underline;
}

/* 문의 카운트 영역 */
.plcn-inquiry-section {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid #f5f5f5;
}
.plcn-inquiry-count {
  font-size: 13px;
  color: #888;
}
.plcn-inquiry-count strong {
  color: var(--ssadang-brand);
  font-size: 14px;
}

/* 하단 고정 문의 바 (list_detail.html의 fpd-consult-bar 동일 스타일) */
.plcn-consult-bar {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 600px;
  background: #fff;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #f0f1f3;
  z-index: 200;
  box-shadow: 0 -2px 12px rgba(0,0,0,.06);
}
.plcn-consult-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px;
  background: var(--ssadang-brand);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.plcn-consult-btn:disabled {
  background: #a89be0;
  cursor: not-allowed;
}
.plcn-consult-done {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px;
  background: var(--ssadang-brand-bg);
  color: var(--ssadang-brand);
  border: 1.5px solid var(--ssadang-brand);
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
}
.plcn-login-notice {
  text-align: center;
  font-size: 13px;
  color: #999;
  padding: 12px;
  background: var(--ssadang-bg-gray);
  border-radius: 10px;
}
.plcn-login-notice a {
  color: var(--ssadang-brand);
  font-weight: 600;
  text-decoration: none;
}

/* 라이트박스 */
.plcn-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.92);
  z-index: 9500;
  display: none;
  align-items: center;
  justify-content: center;
}
.plcn-lightbox.open { display: flex; }
.plcn-lightbox__img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  display: block;
}
.plcn-lightbox__close {
  position: absolute;
  top: 16px;
  right: 20px;
  color: #fff;
  font-size: 30px;
  font-weight: 300;
  background: none;
  border: none;
  cursor: pointer;
  line-height: 1;
  padding: 4px;
}

/* 토스트: 공용 .plc-toast (index 정의) 사용 */

/* ── [post_detail] (공용 .plc-toast 제외) ── */
/* ── Place Post Detail 전용 ───────────────── */
.plcd-wrap {
  display: flex;
  flex-direction: column;
  max-width: 720px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
}

/* 게시글 본문 */
.plcd-post {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 8px 20px 20px;
}

/* 작성자 영역 (프로필 + 닉네임/메타 + …관리) */
.plcd-author {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-bottom: 18px;
}
.plcd-author__thumb {
  flex-shrink: 0;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--ssadang-bg-gray);
  color: var(--ssadang-gray-2);
  font-size: 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plcd-author__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.plcd-author__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.plcd-author__nick {
  font-size: 15px;
  font-weight: 700;
  color: var(--ssadang-black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.plcd-author__meta {
  font-size: 13px;
  color: var(--ssadang-gray-3);
}
.plcd-author__more {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: none;
  background: none;
  color: var(--ssadang-black);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.plcd-post__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--ssadang-black);
  line-height: 1.45;
  margin: 10px 0 12px;
}
.plcd-post__content {
  font-size: 16px;
  color: var(--ssadang-black);
  font-weight: 400;
  line-height: 1.7;
  white-space: pre-wrap;
  word-break: break-word;
}

/* 게시글 관리 모달 (수정/삭제) */
.plcd-more-modal {
  position: fixed;
  inset: 0;
  z-index: 9400;
  display: none;
  align-items: center;
  justify-content: center;
}
.plcd-more-modal.open { display: flex; }
.plcd-more-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .45);
}
.plcd-more-modal__box {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc(100% - 80px);
  max-width: 300px;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .16);
}
.plcd-more-modal__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
  border: none;
  background: #fff;
  font-size: 15px;
  font-weight: 500;
  color: var(--ssadang-black);
  cursor: pointer;
  text-decoration: none;
  border-bottom: 1px solid var(--ssadang-gray-1);
}
.plcd-more-modal__item--del { color: var(--ssadang-variation-red-color); }
.plcd-more-modal__item--cancel {
  color: var(--ssadang-gray-3);
  border-bottom: none;
}

/* 게시글/댓글 관리 드롭다운 (fpd-detail-menu 스타일) */
.plcd-menu-wrap {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.plcd-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 120px;
  background: #fff;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 100;
  overflow: hidden;
}
.plcd-menu--float {
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  z-index: 9400;
}
.plcd-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 12px 16px;
  text-align: left;
  background: #fff;
  border: none;
  color: var(--ssadang-black);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
}
.plcd-menu-item:not(:last-child) {
  border-bottom: 1px solid var(--ssadang-gray-1);
}
.plcd-menu-item span {
  font-size: 14px;
  font-weight: 500;
}
.plcd-menu-item i {
  width: 16px;
  text-align: center;
  font-size: 13px;
}
.plcd-menu-item--del,
.plcd-menu-item--del span { color: var(--ssadang-variation-red-color); }

/* 첨부 이미지 갤러리 */
.plcd-post-images {
  padding: 12px 16px 4px;  
}
.plcd-post-images__grid {
  display: grid;
  gap: 4px;
  grid-template-columns: 1fr;
}
.plcd-post-images__grid--2 { grid-template-columns: 1fr 1fr; }
.plcd-post-images__grid--3 { grid-template-columns: 1fr 1fr; }
.plcd-post-images__grid--3 .plcd-img-thumb:first-child {
  grid-column: span 2;
}
.plcd-post-images__grid--multi { grid-template-columns: 1fr 1fr; }

.plcd-img-thumb {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  aspect-ratio: 4 / 3;
}
.plcd-img-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}
.plcd-img-thumb--more-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  border-radius: 8px;
}

/* 라이트박스 */
.plcd-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.9);
  z-index: 9500;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.plcd-lightbox.open { display: flex; }
.plcd-lightbox__img-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 12px 12px;
  width: 100%;
  overflow: hidden;
}
.plcd-lightbox__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 6px;
  display: block;
}
.plcd-lightbox__close {
  position: absolute;
  top: 14px;
  right: 18px;
  color: #fff;
  font-size: 28px;
  font-weight: 300;
  background: none;
  border: none;
  cursor: pointer;
  line-height: 1;
  padding: 4px;
  z-index: 1;
}
.plcd-lightbox__counter {
  color: rgba(255,255,255,.7);
  font-size: 13px;
  padding: 8px 0 16px;
  text-align: center;
  flex-shrink: 0;
}
.plcd-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255,255,255,.8);
  font-size: 32px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 12px;
  line-height: 1;
  z-index: 1;
}
.plcd-lightbox__nav--prev { left: 4px; }
.plcd-lightbox__nav--next { right: 4px; }
.plcd-lightbox__nav:disabled { opacity: .2; cursor: default; }

/* 댓글 영역 */
.plcd-comments {
  padding: 14px 0 0;
}
.plcd-comments__header {
  display: flex;
  align-items: center;
  padding: 0 16px 10px;
  gap: 6px;
}
.plcd-comments__label,
.plcd-comments__count {
  font-size: 18px;
  color: var(--ssadang-black);
  font-weight: 600;
}

/* 댓글 아이템 (프로필 썸네일 + 본문) */
.plcd-cmt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 20px;
  border-bottom: 1px solid var(--ssadang-gray-1);
}
.plcd-cmt__thumb {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ssadang-gray-1);
  color: var(--ssadang-gray-2);
  font-size: 15px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plcd-cmt__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.plcd-cmt__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.plcd-cmt__head {
  display: flex;
  align-items: center;
  gap: 7px;
}
.plcd-cmt__nick {
  font-size: 14px;
  font-weight: 700;
  color: var(--ssadang-black);
}
.plcd-cmt__owner {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;  
  background: var(--ssadang-bg-gray);
  color: var(--ssadang-gray-3);
}
/* 업체 댓글 칩 */
.plcd-cmt__owner--partner {
  background: var(--ssadang-brand-bg);
  color: var(--ssadang-brand-2);
  border-color: var(--ssadang-brand-bg);
}
.plcd-cmt__time {
  font-size: 12px;
  color: var(--ssadang-gray-3);
}
.plcd-cmt__more {
  margin-left: auto;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  color: var(--ssadang-gray-3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.plcd-cmt__content {
  font-size: 15px;
  color: var(--ssadang-black);
  line-height: 1.6;
  word-break: break-word;
}
/* 사용자 본문 줄바꿈만 보존 — 컨테이너에 pre-wrap을 걸면 템플릿 들여쓰기/개행까지 렌더돼 하단 여백 발생 */
.plcd-cmt__text {
  white-space: pre-wrap;
  word-break: break-word;
}
.plcd-cmt__mention {
  color: var(--ssadang-variation-blue-color);
  font-weight: 600;
}
.plcd-cmt__foot {
  display: flex;
  align-items: center;
  gap: 12px;
}
.plcd-cmt__replybtn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--ssadang-gray-3);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.plcd-cmt__replybtn svg { flex-shrink: 0; }

/* 대댓글 목록 (부모 댓글 body 내부, ㄴ 마커 + 들여쓰기) */
.plcd-cmt__replies {
  display: flex;
  flex-direction: column;
  margin-top: 4px;
}
.plcd-cmt--reply {
  position: relative;
  padding: 12px 0 0 20px;
  border-bottom: none;
}
.plcd-cmt--reply::before {
  content: '';
  position: absolute;
  left: 2px;
  top: 18px;
  width: 10px;
  height: 14px;
  border-left: 2.5px solid var(--ssadang-gray-2);
  border-bottom: 2.5px solid var(--ssadang-gray-2);
  border-bottom-left-radius: 6px;
}

/* 인라인 수정 폼 */
.plcd-cmt-editform {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}

/* 접힌 대댓글 (기본 2개 초과분) */
.plcd-cmt.is-collapsed { display: none; }

/* 답글 N개 보기 버튼 */
.plcd-replies-more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  margin: 10px auto;
  padding: 10px 0;
  border: 1px solid var(--ssadang-border-gray);
  border-radius: 12px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray);
  cursor: pointer;
}

/* 답글 입력 폼 (토글) */
.plcd-reply-form {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 8px 0 0;
}
.plcd-reply-form[hidden] { display: none; }
.plcd-reply-form__input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--ssadang-border-gray);
  border-radius: 8px;
  font-size: 13px;
  color: var(--ssadang-black);
  background: #fff;
  box-sizing: border-box;
  resize: none;
  font-family: inherit;
  min-height: 52px;
}
/* 포커스 시 검정 테두리 미표시 (기존 테두리색 유지) */
.plcd-reply-form__input:focus { outline: none; border-color: var(--ssadang-border-gray); }
.plcd-reply-form__input::placeholder { color: var(--ssadang-gray-2); }
.plcd-reply-form__row {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
}
.plcd-reply-cancel {
  padding: 6px 12px;
  background: none;
  border: 1px solid var(--ssadang-border-gray);
  border-radius: 8px;
  font-size: 12px;
  color: var(--ssadang-gray);
  cursor: pointer;
}
.plcd-reply-submit {
  padding: 6px 14px;
  background: var(--ssadang-brand-2);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

/* 댓글 입력 (라운드 카드) */
.plcd-cbox {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 12px 20px 20px;
  padding: 16px;
  border: 1px solid var(--ssadang-border-gray);
  border-radius: 16px;
  background: #fff;
}
.plcd-cbox__input {
  width: 100%;
  min-height: 72px;
  border: none;
  outline: none;
  resize: none;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ssadang-black);
  background: transparent;
  box-sizing: border-box;
  font-family: inherit;
}
.plcd-cbox__input::placeholder { color: var(--ssadang-gray-2); }
.plcd-cbox__row {
  display: flex;
  justify-content: flex-end;
}
.plcd-cbox__submit {
  padding: 8px 18px;
  border: none;
  border-radius: 10px;
  background: var(--ssadang-brand-bg);
  color: var(--ssadang-gray-2);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.plcd-cbox__submit.is-ready {
  background: var(--ssadang-brand-2);
  color: #fff;
}

/* 비로그인 안내 */
/* 비로그인 댓글 안내 — 공통 로그인 모달(phone-login-modal-body)과 동일한 카카오 버튼 */
.plcd-login-notice {
  padding: 4px 20px 8px;
}
.plcd-login-notice .phone-kakao-login-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 18px 25px;
  background-color: var(--ssadang-variation-kakao-bg-color);
  color: var(--ssadang-variation-kakao-color);
  border-radius: 8px;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  margin: 8px 0;
}
.plcd-login-notice .phone-kakao-login-btn svg {
  margin-right: 10px;
  flex-shrink: 0;
}

/* 토스트 */

/* ── place 인라인 스타일 이관용 유틸 ── */
.plc-hidden { display: none; }
.plc-pagination { display: flex; justify-content: center; gap: 4px; padding: 20px 16px 28px; }
.plc-page-num { display: flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; border-radius: 6px; border: 1px solid #e8eaed; font-size: 13px; color: #666; text-decoration: none; }
.plc-page-num.active { background: var(--ssadang-brand); border-color: var(--ssadang-brand); color: #fff; font-weight: 600; }
.plcd-empty-comment { padding: 20px 16px; font-size: 13px; color: #bbb; text-align: center; }

/* 커뮤니티 무한스크롤 로더 */
.plc-comm-loader { display: flex; justify-content: center; padding: 18px 0 24px; }
.plc-comm-loader[hidden] { display: none; }
.plc-comm-spinner {
  width: 22px;
  height: 22px;
  border: 2.5px solid var(--ssadang-gray-1);
  border-top-color: var(--ssadang-brand);
  border-radius: 50%;
  animation: plc-comm-spin 0.7s linear infinite;
}
@keyframes plc-comm-spin { to { transform: rotate(360deg); } }

/* ============================================================
   [이관] f_partners.detail.css 전체 사본 (시세표 상세 fpd-* 스타일)
   - 플레이스 시세표 팝업(phone/place/notice_popup.html)용
   - 원본 f_partners.detail.css는 기존 list_detail.html에서 계속 사용
   ============================================================ */
/* Phone Post Detail Page Styles */

/* ============================================================================
 * list_detail: 로그인 유도/성공 모달
 * - compare_detail과 동일 UX를 detail 페이지에 적용
 * ========================================================================== */
.fpd-no-scroll {
  overflow: hidden;
}

.fpd-login-modal,
.fpd-success-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 12px;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.65);
  z-index: 10000;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.fpd-login-modal.active,
.fpd-success-modal.active {
  display: flex;
  opacity: 1;
}

.fpd-login-modal-content,
.fpd-success-modal-content {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 16px;
  padding: 26px 22px;
  position: relative;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  transform: translateY(16px);
  transition: transform 0.25s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
}

.fpd-login-modal.active .fpd-login-modal-content,
.fpd-success-modal.active .fpd-success-modal-content {
  transform: translateY(0);
}

.fpd-login-modal-close,
.fpd-success-modal-close {
  position: absolute;
  top: -5px;
  right: 0px;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  color: var(--ssadang-gray, #666);
  display: flex;
  align-items: center;
  justify-content: center;
}

.fpd-login-modal-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fpd-login-modal-header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ssadang-black, #333);
}

.fpd-login-modal-header p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--ssadang-gray, #666);
}

.fpd-kakao-login-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 12px;
  background: var(--ssadang-variation-kakao-bg-color);
  color: var(--ssadang-variation-kakao-color);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  border: none;
}

.fpd-kakao-login-btn svg {
  flex-shrink: 0;
}

.fpd-success-message {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 14px 6px 6px;
}

.fpd-success-icon {
  width: 80px;
  height: 80px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-weight: 800;
  color: var(--ssadang-point-color-mint-four);
  background: var(--ssadang-point-color-mint-bg, var(--ssadang-brand-bg));
  border: 1px solid var(--ssadang-point-color-mint-bg, var(--ssadang-brand-bg));
}

.fpd-success-text {
  font-size: 16px;
  color: var(--ssadang-gray);
  font-weight: 500;
  line-height: 1.6;
}

.fpd-success-text strong {
  display: block;
  font-size: 26px;
  color: var(--ssadang-point-color-mint-four);
  line-height: 1.5;
}

.fpd-copy-notice {
  width: 100%;
  margin-top: 12px;
  padding: 12px 14px;
  background: #f5f5f5;
  border-radius: 10px;
  text-align: left;
}

.fpd-copy-notice-label {
  font-size: 14px;
  color: var(--ssadang-gray);
  text-align: center;
  margin-bottom: 6px;
}

.fpd-copy-notice-text {
  font-size: 12px;
  color: var(--ssadang-black);
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  word-break: keep-all;
}

@media (max-width: 1024px) {
  .fpd-login-modal-content,
  .fpd-success-modal-content {
    max-width: 360px;
    padding: 22px 18px;
    border-radius: 14px;
  }

  .fpd-login-modal-header h3 {
    font-size: 18px;
  }

  .fpd-success-text strong {
    font-size: 20px;
  }

  .fpd-success-text {
    font-size: 14px;
  }

  .fpd-kakao-login-btn {
    font-size: 15px;
  }
}

/* 전화번호 입력 모달 내 스타일 */
.fpd-phone-update-modal-content {
  align-items: stretch;
}

.fpd-phone-update-modal-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  
  margin-bottom: 20px;
}

.fpd-phone-update-modal-icon-inner {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #ffe5e5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  font-weight: bold;
  color: #ff4444;
  line-height: 1;
}

@media (max-width: 1024px) {
  .fpd-phone-update-modal-icon {
    margin-top: 12px;
    margin-bottom: 16px;
  }

  .fpd-phone-update-modal-icon-inner {
    width: 50px;
    height: 50px;
    font-size: 30px;
  }
}

.fpd-phone-input-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  margin-bottom: 8px;
}

.fpd-phone-input {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  color: #333;
  text-align: center;
  letter-spacing: 1px;
  outline: none;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.fpd-phone-input:focus {
  border-color: #7d65f2;
}

.fpd-phone-error {
  font-size: 13px;
  color: #e53e3e;
  min-height: 18px;
  margin: 0;
  text-align: center;
  line-height: 1.4;
}

.fpd-phone-save-btn {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 12px;
  background: #7d65f2;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
}

.fpd-phone-save-btn:hover {
  background: #6b56d9;
}

.fpd-phone-save-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 1024px) {
  .fpd-phone-input {
    font-size: 15px;
    padding: 10px 14px;
  }

  .fpd-phone-save-btn {
    font-size: 15px;
    padding: 13px;
  }
}

/* Detail Page Layout (tips.detail.html 스타일 참고) */
.fpd-detail-page {
  max-width: 768px;
  margin: 0 auto;
  padding: 40px 20px 10px;
}

.fpd-detail-breadcrumb {
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 12px 0;
  background: #fff;
}

.fpd-detail-breadcrumb-left {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 8px;
}

.fpd-detail-back-btn svg {
  width: 24px;
  height: 24px;
  color: var(--ssadang-gray);
}

/* 중앙: 아이콘 + 타이틀 */
.fpd-detail-breadcrumb-center {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  justify-content: flex-start;
}

.fpd-breadcrumb-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.fpd-breadcrumb-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--ssadang-black, #333);
}

.fpd-detail-breadcrumb-right {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

/* 네비게이션 버튼 (집, X) */
.fpd-detail-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--ssadang-gray, #888);
  text-decoration: none;
  transition: color 0.2s ease;
}

.fpd-detail-nav-btn:hover {
  color: var(--ssadang-black, #333);
}

.fpd-detail-nav-btn i {
  font-size: 14px;
}

/* 구분선 */
.fpd-breadcrumb-divider {
  color: var(--ssadang-border-gray, #e0e0e0);
  font-size: 14px;
  font-weight: 300;
}

.fpd-detail-menu-toggle {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 24px;
  height: 40px;
  border-radius: 8px;
  background: transparent;
  border: none;
  color: var(--ssadang-gray);
  cursor: pointer;
  transition: background-color 0.2s;
}


.fpd-detail-menu-toggle svg {
  width: 24px;
  height: 24px;
}

.fpd-detail-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border: 1px solid #eef1f4;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  min-width: 120px;
  z-index: 100;
  overflow: hidden;
}

.fpd-detail-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 12px 16px;
  text-align: left;
  background: transparent;
  border: none;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.fpd-detail-menu-item:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}

.fpd-detail-menu-item span {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.fpd-detail-menu-item i {
  width: 16px;
  text-align: center;
  font-size: 14px;
}

.fpd-detail-card {
  background: #fff;
  margin-bottom: 60px;
}

.fpd-detail-header {
  margin-bottom: 8px;
  display: block;
  position: relative;
}

.fpd-detail-header-meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  min-height: 60px;
}

.fpd-detail-header-left {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fpd-detail-header-content {
  flex: 1;
  min-width: 0;
}

.fpd-detail-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  letter-spacing: -1.2px;
  line-height: 1.25;
  margin: 0 0 8px 0;
}

.fpd-detail-title .fpl-item-prefix {
  font-size: 20px;
  color: var(--f-gray);
  font-weight: 500;
}

.fpd-detail-author {
  font-size: 14px;
  color: #333;
  font-weight: 500;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.fpd-detail-author-info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fpd-detail-author-info[role="button"] {
  cursor: pointer;
}

.fpd-detail-author-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 8px;
}

.fpd-detail-grade-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}

.fpd-detail-company-name {
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  margin-bottom: 0;
}

.fpd-detail-no-addservice-icon,
.fpd-detail-verified-icon {
  width: 60px;
  height: auto;
  object-fit: contain;
  flex-shrink: 0;
}

.fpd-detail-price-plan-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: var(--f-brand, var(--ssadang-brand));
  padding: 2px 8px;
  border-radius: 4px;
  flex-shrink: 0;
}

.fpd-detail-info {
  font-size: 12px;
  color: var(--ssadang-gray-2);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.fpd-detail-media {
  margin-bottom: 24px;
}

.fpd-detail-main-img {
  width: 100%;
  border-radius: 12px;
  border: 1px solid #eef1f4;
  background: #fff;
  display: block;
}

.fpd-detail-gallery {
  margin-bottom: 24px;
}

.fpd-detail-gallery-title {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin: 0 0 16px 0;
  letter-spacing: -0.6px;
}

.fpd-detail-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

.fpd-detail-gallery-item {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
}

.fpd-detail-gallery-item:hover {
  transform: translateY(-1px);
}

.fpd-detail-gallery-link {
  display: block;
  text-decoration: none;
}

.fpd-detail-gallery-image {
  width: 100%;
  height: auto;
  display: block;
}

.fpd-detail-content {
  font-size: 16px;
  color: #333;
  line-height: 1.6;
  word-break: break-word;
  margin-bottom: 24px;
}

.fpd-detail-content img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.fpd-detail-content .article-caption {
  font-size: 12px;
  color: var(--f-gray);
  text-align: center;
  line-height: 0;
}

.fpd-detail-content strong {
  font-size: 16px;
}

.fpd-detail-section {
  margin-bottom: 42px;
  padding: 0;

}

.fpd-detail-section-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin: 0;
  letter-spacing: -0.6px;
  padding: 16px 0;
}

.fpd-detail-section-content {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  word-break: break-all;
}

/* 아코디언 스타일 */
.fpd-detail-accordion-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.2s;
}


.fpd-detail-accordion-header .fpd-detail-section-title {
  flex: 1;
  margin: 0;
}

.fpd-detail-accordion-icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: 12px;
}

.fpd-detail-accordion.active .fpd-detail-accordion-icon {
  transform: rotate(180deg);
}

.fpd-detail-accordion-content {
  padding: 16px;
  border-radius: 12px;
  background: var(--ssadang-bg-gray);
  animation: slideDown 0.3s ease;
}

.fpd-detail-accordion-content .fpd-detail-section-content {
  margin-top: 0;
}

/* 사전승낙서 섹션 */
.fpd-detail-approval-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex-shrink: 0;
  align-items: flex-start;
}

.fpd-detail-approval-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.2s ease;
  width: 60px;
}

.fpd-detail-approval-badge:hover {
  opacity: 0.8;
}

.fpd-detail-approval-img {
  max-width: 100%;
  height: auto;
  display: block;
}

.fpd-detail-approval-text {
  display: inline-block;
  padding: 8px 16px;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  color: #333;
  font-size: 14px;
  font-weight: 500;
}

.fpd-detail-accordion-content .fpd-detail-section-content:not(:last-child) {
  margin-bottom: 16px;
}

@keyframes slideDown {
  from {
    opacity: 0;
    max-height: 0;
  }

  to {
    opacity: 1;
    max-height: 1000px;
  }
}

.fpd-detail-back-section {
  text-align: center;
  margin-bottom: 24px;
}

.fpd-detail-back-section .fpd-detail-back-btn:hover {
  background: #e8e8e8;
}

.breadcrumb-mobile {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.breadcrumb-back {
  flex-shrink: 0;
}

.breadcrumb-back a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: #333;
  text-decoration: none;
  border: none;
  border-radius: 10px;
  background: #fff;
  transition: background 0.2s ease;
}


.breadcrumb-product-name {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.breadcrumb-product-name-line1 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.breadcrumb-product-name-line1 .breadcrumb-icon {
  width: 16px;
  height: 16px;
  color: var(--f-brand-2, #7d65f2);
  flex-shrink: 0;
}

.breadcrumb-product-name-line1 .breadcrumb-grade-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.breadcrumb-product-name-line1 .breadcrumb-company {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.breadcrumb-product-name-line2 {
  font-size: 12px;
  color: #666;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.breadcrumb-product-name-line2 .breadcrumb-time,
.breadcrumb-product-name-line2 .breadcrumb-hits {
  font-size: 12px;
}

.breadcrumb-product-name-line2 .breadcrumb-sep {
  margin: 0 4px;
  color: #999;
}

.breadcrumb-product-name-line2 img {
  width: 60px;
  height: auto;
  object-fit: contain;
  flex-shrink: 0;
}

.breadcrumb-title {
  font-size: 16px;
  font-weight: 700;
  color: #333;
  margin-top: 8px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.breadcrumb-actions {
  flex-shrink: 0;
  position: relative;
}

.breadcrumb-menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: #333;
  border: none;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: background 0.2s ease;
}

.breadcrumb-menu-toggle:hover {
  background: #f5f5f5;
}

.breadcrumb-menu-toggle i {
  font-size: 18px;
}

.breadcrumb-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  min-width: 160px;
  z-index: 100;
  overflow: hidden;
}

.breadcrumb-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 16px;
  border: none;
  background: transparent;
  color: #333;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease;
}

.breadcrumb-menu-item:hover {
  background: #f5f5f5;
}

.breadcrumb-menu-item i {
  font-size: 14px;
  width: 16px;
  text-align: center;
}

/* 하단 고정 바로 문의하기 버튼 */
.fpd-consult-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 40px 0;
  z-index: 3;
  max-width: 728px;
  margin: 0 auto;
}

.fpd-consult-btn {
  width: 82%;
  background-color: var(--ssadang-brand-2);
  color: #fff;
  border: none;
  padding: 22px;
  margin: 0 auto;
  border-radius: 16px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.fpd-consult-btn img {
  width: 18px;
  height: 18px;
}

.fpd-consult-btn:hover {
  background-color: var(--ssadang-brand);
}

.fpd-page {
  padding-bottom: 100px;
}

@media (max-width: 768px) {
  .breadcrumb-container {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #fff;
    padding: 10px 0;
  }

  .breadcrumb-product-name-line1 {
    font-size: 13px;
  }

  .breadcrumb-product-name-line2 {
    font-size: 11px;
  }

  .breadcrumb-title {
    font-size: 14px;
    margin-top: 0;
  }

  .fpd-consult-bar {
    padding: 0;
  }

  .fpd-consult-btn {
    width: 100%;
    padding: 20px 0;
    font-size: 16px;
    border-radius: 0;
  }

  .fpd-page {
    padding-bottom: 90px;
  }
}


/* 부가서비스 스타일 */
.fpd-detail-addservices-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.fpd-detail-addservice-item {
  display: flex;
  padding: 14px;
  background: #fff;
  border: 1px solid #eef1f4;
  border-radius: 12px;
}

.fpd-detail-addservice-content {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.fpd-detail-provider-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}

.fpd-detail-addservice-name {
  font-size: 14px;
  color: #333;
  flex: 1;
  min-width: 0;
  word-break: break-word;
}

.fpd-detail-addservice-price {
  font-size: 14px;
  font-weight: 700;
  color: var(--f-brand, var(--ssadang-brand));
  flex-shrink: 0;
  white-space: nowrap;
}

/* 테이블 스타일 (wiki.css 참조) */
.fpd-detail-table-wrap {
  margin-top: 12px;
  overflow-x: auto;
}

.fpd-detail-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.fpd-detail-table thead {
  border: 1px solid var(--ssadang-border-gray);
}

.fpd-detail-table tr {
  font-size: 14px;
  color: #33333380;
  text-align: center;
}

.fpd-detail-table th {
  padding: 12px 8px;
  background: var(--ssadang-black);
  border: 1px solid var(--ssadang-border-gray);
  font-weight: 400;
  color: #fff;
  font-size: 14px;
}

.fpd-detail-table td {
  background: #fff;
  border: 1px solid var(--ssadang-border-gray);
  font-size: 14px;
  color: #333;
  padding: 10px;
}

.fpd-detail-table-provider {
  width: 60px;
  text-align: center;
}

.fpd-detail-table-provider .fpd-detail-provider-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.fpd-detail-svc-name {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}

.fpd-detail-svc-name__text {
  color: #333;
  font-size: 14px;
}

.fpd-detail-svc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ssadang-brand-bg);
  border: 1px solid var(--ssadang-brand-bg);
  color: var(--ssadang-brand);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.fpd-detail-table-price {
  font-weight: 500;
  color: var(--f-brand, var(--ssadang-brand));
  white-space: nowrap;
}

.fpd-detail-table-extra {
  font-weight: 500;
  color: #333;
  white-space: nowrap;
}

/* 아코디언 미리보기 스타일 (3줄 + 강한 페이드 효과) */
.fpd-detail-accordion-content {
  position: relative;
  padding: 24px 32px;
  border-radius: 12px;
  background: var(--ssadang-bg-gray);
  animation: slideDown 0.3s ease;
}

.fpd-detail-accordion:not(.active) .fpd-detail-accordion-content {
  display: block !important;
  max-height: 120px;
  overflow: hidden;
}

.fpd-detail-accordion:not(.active) .fpd-detail-accordion-content::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom,
      rgba(248, 249, 250, 0) 0%,
      rgba(248, 249, 250, 0) 20%,
      rgba(248, 249, 250, 0.3) 40%,
      rgba(248, 249, 250, 0.6) 60%,
      rgba(248, 249, 250, 0.85) 80%,
      rgba(248, 249, 250, 1) 100%);
  pointer-events: none;
}

.fpd-detail-accordion.active .fpd-detail-accordion-content {
  max-height: none;
  overflow: visible;
}

.fpd-detail-accordion.active .fpd-detail-accordion-content::after {
  display: none;
}

@media (max-width: 768px) {
  .fpd-detail-page {
    padding: 0 20px;
  }

  .fpd-detail-title .fpl-item-prefix,
  .fpd-detail-title {
    font-size: 16px;
    letter-spacing: -0.6px;
  }

  .fpd-detail-grade-icon {
    width: 20px;
    height: 20px;
  }

  .fpd-detail-verified-icon {
    width: 50px;
  }

  .fpd-detail-addservice-item {
    padding: 12px;
  }

  .fpd-detail-provider-logo {
    width: 20px;
    height: 20px;
  }

  .fpd-detail-approval-badge {
    width: 48px;
  }

  .fpd-detail-svc-name__text {
    font-size: 12px;
  }

  .fpd-detail-addservice-name {
    font-size: 12px;
  }

  .fpd-detail-addservice-price {
    font-size: 12px;
  }

  .fpd-detail-addservice-content {
    gap: 8px;
  }

  .fpd-detail-card {
    margin-bottom: 0;
  }

  .fpd-detail-section-title {
    font-size: 16px;
  }

  .fpd-detail-table th,
  .fpd-detail-table td {
    padding: 8px 6px;
    font-size: 12px;
  }

  .fpd-detail-table-provider {
    width: 50px;
  }

  .fpd-detail-table-provider .fpd-detail-provider-logo {
    width: 20px;
    height: 20px;
  }
}

/* ========================================
   Sticky Tabs Styles
   ======================================== */

/* Sticky Tabs Container */
.fpd-sticky-tabs {
  position: sticky;
  top: 52px;
  /* breadcrumb 높이 */
  z-index: 1;
  background: #fff;
  margin: 0 -20px;
  padding: 0 20px;
}

/* Tab Navigation */
.fpd-tabs {
  display: flex;
  border-bottom: 1px solid var(--ssadang-border-gray);
  background: #fff;
  gap: 0;
}

.fpd-tab {
  flex: 1;
  padding: 14px 12px;
  font-size: 16px;
  font-weight: 500;
  color: var(--ssadang-gray);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.2s ease;
  position: relative;
  text-align: center;
}

.fpd-tab::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  transition: background 0.2s ease;
}

.fpd-tab:hover {
  color: var(--ssadang-black);
}

.fpd-tab.active {
  color: var(--ssadang-black);
  font-weight: 600;
}

.fpd-tab.active::after {
  background: var(--ssadang-black);
}

/* Tab Content Container */
/* ── 특별 이벤트 오프라인 시세표 이미지 배너 ──────────────────── */
.fpd-event-price-banner {
    width: 100%;
    margin-bottom: 0;
}

.fpd-event-price-banner__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
}

/* PC 이미지: 기본 표시 */
.fpd-event-price-banner__img--pc { display: block; }
/* MO 이미지: 기본 숨김 */
.fpd-event-price-banner__img--mo { display: none; }

@media (max-width: 768px) {
    .fpd-event-price-banner__img--pc { display: none; }
    .fpd-event-price-banner__img--mo { display: block; }
}

.fpd-tab-contents {
  padding: 16px 0 40px;
}

.fpd-tab-content {
  display: none;
  padding: 0;
}

.fpd-tab-content.active {
  display: block;
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Tab Section Title */
.fpd-tab-section-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--ssadang-black);
  line-height: 1.5;
  margin-bottom: 20px;
  letter-spacing: -0.5px;
}

/* ========================================
   Addservice Tab Styles
   ======================================== */

.fpd-addservice-table-wrap {
  overflow-x: auto;
  margin-bottom: 24px;
}

.fpd-addservice-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.fpd-addservice-table thead tr {
  border-bottom: 1px solid var(--ssadang-border-gray);
}

.fpd-addservice-table th {
  padding: 12px 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ssadang-gray);
  text-align: center;
  border-bottom: 1px solid var(--ssadang-border-gray);
}

.fpd-addservice-th-provider {
  width: 60px;
}

.fpd-addservice-th-name {
  text-align: left;
}

.fpd-addservice-th-price {
  width: 80px;
  text-align: right;
}

.fpd-addservice-table tbody tr {
  border-bottom: 1px solid var(--ssadang-border-gray);
}

.fpd-addservice-table tbody tr:last-child {
  border-bottom: none;
}

.fpd-addservice-table td {
  padding: 14px 8px;
  font-size: 14px;
  color: var(--ssadang-black);
  vertical-align: middle;
}

.fpd-addservice-td-provider {
  text-align: center;
}

.fpd-addservice-provider-logo {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.fpd-addservice-td-name {
  text-align: left;
  font-size: 14px;
}

.fpd-addservice-td-price {
  text-align: right;
  font-weight: 500;
  color: var(--ssadang-black);
}

/* Addservice Empty State */
.fpd-addservice-empty {
  text-align: center;
  padding: 40px 20px;
  background: #fff8e1;
  border-radius: 12px;
  margin: 0 0 80px;
}

.fpd-addservice-empty-text {
  font-size: 20px;
  font-weight: 600;
  color: #ffa100;
  margin-bottom: 8px;
}

.fpd-addservice-empty-desc {
  font-size: 14px;
  color: var(--ssadang-black);
}

/* Addservice Notice Box */
.fpd-addservice-notice {
  background: var(--ssadang-bg-gray);
  border-radius: 12px;
  padding: 20px;
  margin: 30px 0;  
}

.fpd-addservice-notice-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #333;
  margin-bottom: 12px;
}

.fpd-addservice-notice-title i {
  color: var(--f-brand, var(--ssadang-brand));
}

.fpd-addservice-notice-content {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
}

.fpd-addservice-notice-content p {
  margin: 0 0 16px 0;
}

.fpd-addservice-notice-badge {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e0e7ff;
}

.fpd-addservice-notice-badge-icon {
  width: 60px;
  height: auto;
  margin-right: 6px;
}

.fpd-addservice-notice-badge span {
  font-size: 13px;
  color: #555;
  line-height: 1.5;
}

/* ========================================
   Branch Info Tab Styles
   ======================================== */

.fpd-branch-info-container {
  background: #fff;
}

.fpd-branch-slider {
  margin-bottom: 20px;
  border-radius: 12px;
  overflow: hidden;
}

.fpd-branch-swiper {
  width: 100%;
  border-radius: 12px;
  height: 380px;
  z-index: 0 !important;
}

.fpd-branch-swiper .swiper-slide {
  height: 100%;
}

.fpd-branch-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fpd-branch-swiper .swiper-button-prev,
.fpd-branch-swiper .swiper-button-next {
  color: #fff;
  background: rgba(0, 0, 0, 0.3);
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.fpd-branch-swiper .swiper-button-prev::after,
.fpd-branch-swiper .swiper-button-next::after {
  font-size: 14px;
}

.fpd-branch-swiper .swiper-pagination-bullet {
  background: #fff;
  opacity: 0.5;
}

.fpd-branch-swiper .swiper-pagination-bullet-active {
  opacity: 1;
}

.fpd-branch-info-section {
  padding: 8px 0;
  margin-bottom: 40px;
}

.fpd-branch-name {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 600;
  color: var(--ssadang-black);
  margin: 0 0 20px 0;
  border-bottom: 1px solid var(--ssadang-border-gray);
  padding-bottom: 20px;
}

.fpd-branch-grade {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.fpd-branch-info-row {
  display: flex;
  padding: 14px 0;
  border-bottom: 1px solid #f5f5f5;
}

.fpd-branch-info-row:last-child {
  border-bottom: none;
}

.fpd-branch-label {
  width: 80px;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--ssadang-gray);
}

.fpd-branch-value {
  flex: 1;
  font-size: 16px;
  color: var(--ssadang-black);
  line-height: 1.5;
}

.fpd-text-preline {
  white-space: pre-line;
}

.fpd-branch-link {
  color: var(--f-brand, var(--ssadang-brand));
  text-decoration: none;
  font-weight: 500;
}

.fpd-branch-link:hover {
  text-decoration: underline;
}

/* Branch Intro Accordion */
.fpd-branch-intro-wrap {
  position: relative;
}

.fpd-branch-intro-wrap.has-overflow .fpd-branch-intro-toggle {
  display: block;
}

.fpd-branch-intro-content {
  white-space: pre-line;
  line-height: 1.6;
}

.fpd-branch-intro-content.is-collapsed {
  max-height: 4.8em;
  overflow: hidden;
  position: relative;
}

.fpd-branch-intro-content.is-collapsed::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1.6em;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
}

.fpd-branch-intro-toggle {
  display: none;
  margin-top: 8px;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 13px;
  color: var(--ssadang-gray);
  cursor: pointer;
}

.fpd-branch-intro-toggle i {
  margin-left: 4px;
  font-size: 11px;
}

/* Branch Empty State */
.fpd-branch-empty {
  text-align: center;
  padding: 60px 20px;
}

.fpd-branch-empty-icon {
  font-size: 48px;
  color: #ccc;
  margin-bottom: 16px;
}

.fpd-branch-empty-text {
  font-size: 16px;
  font-weight: 500;
  color: #666;
}

/* ========================================
   Mobile Responsive Styles
   ======================================== */

@media (max-width: 768px) {
  .fpd-tab {
    font-size: 14px;
    padding: 12px 8px;
  }

  .fpd-tab-section-title {
    font-size: 16px;
  }

  .fpd-addservice-table th {
    font-size: 12px;
    padding: 10px 6px;
  }

  .fpd-addservice-table td {
    font-size: 13px;
    padding: 12px 6px;
  }

  .fpd-addservice-provider-logo {
    width: 24px;
    height: 24px;
  }

  .fpd-addservice-th-provider {
    width: 50px;
  }

  .fpd-addservice-th-price {
    width: 70px;
  }

  .fpd-branch-name {
    font-size: 18px;
  }

  .fpd-branch-label {
    width: 32px;
  }

  .fpd-branch-value {
    font-size: 14px;
  }

  .fpd-addservice-notice {
    padding: 16px;
  }

  .fpd-addservice-notice-title {
    font-size: 15px;
  }

  .fpd-addservice-notice-content {
    font-size: 13px;
  }

  .fpd-addservice-empty {
    margin: 40px 0;
  }

  .fpd-branch-info-section {
    margin-bottom: 0;
  }

  .fpd-detail-header-meta {
    min-height: 48px;
  }

  .fpd-branch-swiper {
    height: 280px;
  }
}




/* 최신글 알림 모달 */
.fpd-latest-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fpd-latest-modal {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: 40px 24px 32px;
  width: 100%;
  max-width: 360px;
  text-align: center;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  animation: slideUp 0.3s ease;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fpd-latest-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--ssadang-gray);
  transition: color 0.2s;
}

.fpd-latest-modal-close:hover {
  color: #333;
}

.fpd-latest-modal-icon {
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
}

.fpd-latest-modal-icon svg {
  width: 44px;
  height: 44px;
  color: var(--ssadang-variation-red-color);
}

.fpd-latest-modal-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--ssadang-black);
  margin: 0 0 12px;
  letter-spacing: -0.5px;
}

.fpd-latest-modal-desc {
  font-size: 14px;
  color: var(--ssadang-gray);
  line-height: 1.6;
  margin: 0 0 24px;
}

.fpd-latest-modal-btn {
  display: block;
  width: 100%;
  padding: 16px 24px;
  background: var(--ssadang-point-color-mint-four, #2cc4b7);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.fpd-latest-modal-btn:hover {
  background: var(--ssadang-point-color-mint-five, #25b0a4);
}


.main-content {
  padding-top: 0;
}

/* 유통망지원금표 다운로드 섹션 */
.fpd-dist-subsidy-download {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  box-shadow: 0 1px 5.2px 0 rgba(0, 0, 0, 0.25);
  border-radius: 12px;  
  text-decoration: none;
  color: #333;
  transition: border-color 0.15s, background 0.15s;
}

.fpd-dist-subsidy-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;  
  color: var(--ssadang-gray);
  flex-shrink: 0;
}

.fpd-dist-subsidy-label {
  flex: 1;
  font-size: 14px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fpd-dist-subsidy-btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-gray);
  background: var(--ssadang-bg-gray);
  border-radius: 6px;
  padding: 6px 10px;
}

@media (max-width: 1024px) {
  .scroll-to-top-btn {
    bottom: 130px;
    z-index: 3;
  }
}

/* ============================================================
   성지 찾기 리뉴얼 (phone/place/list.html, fpl3-*)
   reference_files/offline-sungji 스타일 이식 (:hover 미사용)
   ============================================================ */
.fpl3-page {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
  color: var(--ssadang-black);
  letter-spacing: -0.01em;
  line-height: 1.5;
}
.fpl3-stack {
  display: flex;
  flex-direction: column;
  padding: 0 0 90px;
}

.fpl3-comm-layout { order: 2; }

.fpl3-section { padding: 40px 0; margin: 0; }

.fpl3-region-row { margin-bottom: 60px; }
.fpl3-sec-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 20px;
}
.fpl3-sec-title { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color:var(--ssadang-black); margin-bottom: 0;}
.fpl3-sec-sub { margin-top: 5px; font-size: 14px; color: var(--ssadang-gray-3); font-weight: 500; margin-bottom: 0;}
.fpl3-sec-more {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
  padding: 4px 0 4px 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray-3);
  text-decoration: none;
}
.fpl3-sec-more svg { width: 14px; height: 14px; }

/* 지역 퀵필터 칩 (펼쳐진 형태) — 레퍼런스 .region-chips/.rchip (:hover 미사용) */
.fpl3-region-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.fpl3-rchip {
  flex: none;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray);
  padding: 8px 16px;
  border-radius: 100px;
  background: #fff;
  border: 1px solid var(--ssadang-border-gray);
  cursor: pointer;
}
.fpl3-rchip.on { background: var(--ssadang-black); border-color: var(--ssadang-black); color: #fff; }
/* 제목 + > 아이콘 링크 (시세표 전체 리스트로) */
.fpl3-sec-title-link {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 2px 6px;
  min-width: 0;
  text-decoration: none;
}
.fpl3-sec-title-link .fpl3-sec-title { grid-column: 1; }
.fpl3-sec-arrow {
  grid-column: 2;
  justify-self: start;
  width: 18px;
  height: 18px;
  color: var(--ssadang-gray-2);
}
.fpl3-sec-title-link .fpl3-sec-sub { grid-column: 1 / -1; }
/* 매장 검색 창 (rail-search) */
.fpl3-rail-search {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  width: 240px;
  padding: 10px 14px;
  border-radius: 100px;
  background: var(--ssadang-gray-1);
  font-size: 12px;
  font-weight: 500;
  color: var(--ssadang-gray-2);
  text-align: left;
  border: none;
  cursor: pointer;
}
.fpl3-rail-search svg { width: 16px; height: 16px; color: var(--ssadang-gray-3); flex: none; }
/* 시세표 전체보기 카드 (레일 우측 끝) */
.fpl3-rail-end {
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: var(--ssadang-bg-gray);
  text-align: center;
  text-decoration: none;
}
.fpl3-re-ic {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  margin-bottom: 6px;
  background: #fff;
  color: var(--ssadang-gray-3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fpl3-re-ic svg { width: 20px; height: 20px; }
.fpl3-re-t { font-size: 16px; font-weight: 600; color: var(--ssadang-gray); }
.fpl3-re-s { font-size: 12px; font-weight: 500; color: var(--ssadang-gray-3); }

/* 매장 바로가기 (아이콘 그리드) — 레퍼런스 shortcut-grid/sc (:hover 미사용) */
.fpl3-shortcut-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px; }
.fpl3-sc {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.fpl3-sc-ava {
  width: 74px;
  height: 74px;
  border-radius: 20px;
  overflow: hidden;
  flex: none;
  border: 1px solid var(--ssadang-gray-1);
  background: var(--ssadang-gray-1);
  color: var(--ssadang-gray-2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.fpl3-sc-ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fpl3-sc-name {
  max-width: 100%;
  font-size: 12px;
  font-weight: 600;
  color: var(--ssadang-gray);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
.fpl3-sc-more-tile .fpl3-sc-ava { background: var(--ssadang-bg-gray); color: var(--ssadang-gray-3); }
.fpl3-sc-more-tile .fpl3-sc-ava svg { width: 22px; height: 22px; }
.fpl3-sc--hidden { display: none; }
.fpl3-shortcut-grid.is-open .fpl3-sc--hidden { display: flex; }
/* 커뮤니티 섹션 제목 (그리드 전체폭) */
.fpl3-comm-title { grid-column: 1 / -1; margin-bottom: -24px; }

.fpl3-empty {
  padding: 40px 0;
  text-align: center;
  font-size: 13.5px;
  color: var(--ssadang-gray-2);
}

/* 빈 상태 — phone/list.html .fpl-empty와 동일 (아이콘 + 타이틀 + CTA) */
.fpl-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
  gap: 16px;
}
.fpl-empty-icon { color: var(--ssadang-gray-2); }
.fpl-empty-icon svg { width: 64px; height: 64px; }
.fpl-empty-title {
  font-size: 16px;
  font-weight: 500;
  color: var(--ssadang-gray-2,);
}
.fpl-empty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-gray-2);
  text-decoration: underline;
  font-size: 15px;
  font-weight: 500;
  border-radius: 50px;
}

/* 이미지 빈 슬롯 */
.fpl3-imgslot-empty {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ssadang-gray-1);
  color: var(--ssadang-gray-2);
  font-size: 20px;
}

/* ── 지역 버튼 ── */
.fpl3-region-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 13px;
  border-radius: 99px;
  border: none;
  background: var(--ssadang-gray-1);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ssadang-gray);
  cursor: pointer;
}
.fpl3-region-btn svg { width: 11px; height: 11px; }

/* ── 지역 선택 바텀시트 ── */
.fpl3-sheet-overlay {
  position: fixed;
  inset: 0;
  z-index: 9400;
  background: rgba(0, 0, 0, .45);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.fpl3-sheet-overlay.open { opacity: 1; pointer-events: auto; }
.fpl3-sheet-panel {
  width: 100%;
  max-width: 640px;
  max-height: 72vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 20px 20px 0 0;
  padding: 10px 20px calc(24px + env(safe-area-inset-bottom));
  transform: translateY(100%);
  transition: transform .28s ease;
}
.fpl3-sheet-overlay.open .fpl3-sheet-panel { transform: translateY(0); }

/* 지역 선택 중앙 모달 (레퍼런스 rmodal — gnb 스크롤 지역 버튼용, 모바일은 바텀시트) */
.fpl3-rmodal-dim {
  position: fixed;
  inset: 0;
  z-index: 9400;
  background: rgba(51, 51, 51, .4);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.fpl3-rmodal-dim.open { opacity: 1; pointer-events: auto; }
.fpl3-rmodal {
  position: fixed;
  z-index: 9401;
  left: 50%;
  top: 50%;
  width: 400px;
  max-width: calc(100% - 40px);
  background: #fff;
  border-radius: 20px;
  padding: 20px 22px 24px;
  transform: translate(-50%, -50%) scale(.96);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
  box-shadow: 0 20px 50px rgba(51, 51, 51, .18);
}
.fpl3-rmodal.open { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1); }
.fpl3-rmodal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.fpl3-rmodal-title { font-size: 16px; font-weight: 700; }
.fpl3-rmodal-close {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  margin-right: -6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-gray);
  background: none;
  border: none;
  cursor: pointer;
}
.fpl3-rmodal-close svg { width: 18px; height: 18px; }
.fpl3-rmodal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.fpl3-rm-chip {
  padding: 12px 4px;
  border-radius: 12px;
  text-align: center;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ssadang-gray-3);
  background: var(--ssadang-gray-1);
  border: none;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
}
.fpl3-rm-chip.on { background: var(--ssadang-black); color: #fff; }
@media (max-width: 768px) {
  .fpl3-rmodal {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    border-radius: 20px 20px 0 0;
    transform: translateY(24px);
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }
  .fpl3-rmodal.open { transform: none; }
}
.fpl3-sheet-grab {
  position: relative;
  width: 44px;
  height: 4px;
  border-radius: 2px;
  background: var(--ssadang-border-gray);
  margin: 6px auto 14px;
  touch-action: none;   /* 드래그 제스처가 스크롤로 처리되지 않도록 */
  cursor: grab;
}
/* 터치 히트 영역 확장 (시각적 바는 그대로) */
.fpl3-sheet-grab::before {
  content: "";
  position: absolute;
  inset: -14px -40px;
}
.fpl3-sheet-title {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 10px;
}
.fpl3-sheet-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 4px;
  border: none;
  border-bottom: 1px solid var(--ssadang-gray-1);
  background: none;
  font-size: 15px;
  font-weight: 600;
  color: var(--ssadang-black);
  cursor: pointer;
  text-align: left;
}
.fpl3-sheet-item:last-child { border-bottom: none; }
.fpl3-sheet-count {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ssadang-gray-3);
}
.fpl3-sheet-check {
  margin-left: auto;
  color: var(--ssadang-brand);
  visibility: hidden;
}
.fpl3-sheet-item.on { color: var(--ssadang-brand); }
.fpl3-sheet-item.on .fpl3-sheet-check { visibility: visible; }

/* ── 배지 ── */
.fpl3-badge {
  font-size: 12px;
  font-weight: 600;
  padding: 3.5px 8px;
  border-radius: 6px;
}
.fpl3-badge--price { background: var(--ssadang-brand-bg); color: var(--ssadang-brand-2); }
.fpl3-badge--gray { background: var(--ssadang-gray-1); color: var(--ssadang-gray-3); }
.fpl3-badge--answered { background: #ecf7ff; color: var(--ssadang-variation-blue-color); }
.fpl3-badge--notice { background: var(--ssadang-variation-red-bg-color); color: var(--ssadang-variation-red-color); }
.fpl3-nnew {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--ssadang-variation-red-color);
  color: #fff;
  font-size: 8px;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
/* 무부가 조건 뱃지 (시세표 뱃지와 동일 크기·굵기, 노랑 계열) */
.fpl3-badge--noadd { background: #e8f7ee; color: #21a45d; }

/* ── 시세표 레일 (Swiper) ── */
.fpl3-rail-swiper {
  width: 100%;
  padding: 2px;
  margin: -2px;
  overflow: hidden;
}
.fpl3-rail-swiper .swiper-slide {
  /* 슬라이드 폭은 CSS 전담 (slidesPerView:'auto') — 데스크탑 330px, 모바일 82% */
  width: min(330px, 82%);
  height: auto;
  display: flex;
}
.fpl3-price-card {
  width: 100%;
  background: #fff;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 16px;
  padding: 16px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 2px 10px rgba(68, 73, 78, .05);
  text-decoration: none;
  color: inherit;
}
.fpl3-pc-thumb {
  aspect-ratio: 4/3;
  border-radius: 11px;
  overflow: hidden;
  margin-bottom: 4px;
  background: var(--ssadang-gray-1);
}
.fpl3-pc-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fpl3-pc-top { display: flex; align-items: center; gap: 7px; }
.fpl3-pc-date { margin-left: auto; font-size: 12.5px; color: var(--ssadang-gray-3); font-weight: 500; }
.fpl3-pc-title {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fpl3-pc-desc {
  font-size: 13.5px;
  color: var(--ssadang-gray);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fpl3-pc-foot {
  display: flex;
  align-items: center;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--ssadang-gray-1);
}
.fpl3-store-link { font-size: 13px; font-weight: 600; color: var(--ssadang-gray-3); cursor: pointer; }
.fpl3-pc-meta { margin-left: auto; display: flex; gap: 10px; font-size: 12.5px; color: var(--ssadang-gray-3); }

/* ── 시세표 카드 v2 (레일 전용) — 상단 클릭영역 + 업체 미니 프로필 + 액션 버튼 ── */
.fpl3-pc-link {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.fpl3-pc-store {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--ssadang-gray-1);
  text-decoration: none;
  color: inherit;
}
.fpl3-pc-store-ava {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex: none;
  overflow: hidden;
  border: 1px solid var(--ssadang-gray-1);
  background: var(--ssadang-bg-gray);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-gray-2);
  font-size: 14px;
}
.fpl3-pc-store-ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fpl3-pc-store-txt {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.fpl3-pc-store-row { display: flex; align-items: center; gap: 6px; min-width: 0; }
.fpl3-pc-store-name {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.02em;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fpl3-pc-store-star { font-size: 12px; font-weight: 700; color: var(--ssadang-gray); flex: none; }
.fpl3-pc-store-sub {
  font-size: 12px;
  color: var(--ssadang-gray-3);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fpl3-pc-actions { display: flex; gap: 8px; margin-top: 2px; }
.fpl3-pc-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 38px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  background: var(--ssadang-gray-1);
  color: var(--ssadang-gray);
  text-decoration: none;
  transition: transform .15s;
}
.fpl3-pc-btn--primary { background: var(--ssadang-brand-bg); color: var(--ssadang-brand-2); }
.fpl3-pc-btn:active { transform: scale(.97); }

/* ── 커뮤니티 ── */
.fpl3-comm-main { padding: 0; margin: 0;}
.fpl3-comm-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 48px;
  align-items: start;
  padding: 40px 0;
}
.fpl3-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  border-bottom: 1px solid var(--ssadang-gray-1);
  margin-bottom: 4px;
}
.fpl3-tab {
  padding: 10px 12px;
  font-size: 18px;
  font-weight: 700;
  color: var(--ssadang-gray-2);
  position: relative;
  text-decoration: none;
  border-radius: 9px 9px 0 0;
  transition: color .15s, background .15s;
}
.fpl3-tab:hover { background: var(--ssadang-bg-gray); color: var(--ssadang-gray-3); }
.fpl3-tab.on { color: #333; }
.fpl3-tab.on::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -1px;
  height: 2px;
  background: var(--ssadang-black);
  border-radius: 2px;
}

.fpl3-post {
  position: relative;   /* 카드 전체 클릭(stretched-link)용 컨테이너 */
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 0;
  border-bottom: 1px solid var(--ssadang-gray-1);
  cursor: pointer;
}
.fpl3-post:last-of-type { border-bottom: none; }
.fpl3-post-main { flex: 1; min-width: 0; }
.fpl3-post-badges {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
}
.fpl3-store-pill {
  font-size: 13px;
  font-weight: 600;
  color: var(--ssadang-black);
  text-decoration: none;
}
.fpl3-post-title {
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
/* 제목 텍스트: 길어도 1줄 말줄임(N 뱃지는 유지) — flex 자식에서 text-overflow가
   안 먹는 브라우저 특성 회피 위해 desc와 동일한 -webkit-line-clamp 방식 사용 */
.fpl3-post-title-text {
  flex: 1;
  min-width: 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-all;
}
/* stretched-link: 제목 링크의 오버레이가 카드 전체를 덮어 어디를 눌러도 상세로 이동
   (후기 카드는 index.html JS가 article[data-review-acc] 클릭을 아코디언 토글로 인터셉트) */
.fpl3-post-title::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}
/* 다른 목적지 링크(업체명 pill)는 오버레이 위로 → 개별 클릭 유지 */
.fpl3-store-pill { position: relative; z-index: 2; }
.fpl3-post-desc {
  margin-top: 4px;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
  color: var(--ssadang-gray);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fpl3-post-meta {
  margin-top: 9px;
  font-size: 13px;
  color: var(--ssadang-gray-3);
  display: flex;
  align-items: center;
  gap: 6px;
}
.fpl3-sep { color: var(--ssadang-gray-2); }
.fpl3-cmt { color: var(--ssadang-gray-3); }
.fpl3-author { display: inline-flex; align-items: center; gap: 6px; }
/* 작성자 아바타 — plc-comm-item__avatar와 동일 스타일 */
.fpl3-ava {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex: none;
  background: var(--ssadang-bg-gray);
  color: var(--ssadang-gray-2);
  font-size: 15px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.fpl3-ava img { width: 100%; height: 100%; object-fit: cover; }
.fpl3-thumb {
  width: 80px;
  height: 80px;
  flex: none;
  border-radius: 12px;
  overflow: hidden;
  background: var(--ssadang-gray-1);
}
.fpl3-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 페이지네이션 */
.fpl3-paging {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  margin-top: 24px;
}
.fpl3-page-btn {
  width: 76px;
  height: 48px;
  border: 1px solid var(--ssadang-border-gray);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-gray);
  text-decoration: none;
}
.fpl3-page-btn--off { opacity: .35; pointer-events: none; }
.fpl3-page-btn svg { width: 16px; height: 16px; }
.fpl3-page-num { font-size: 15px; font-weight: 600; color: var(--ssadang-gray-3); }
.fpl3-page-num b { font-weight: 700; color: var(--ssadang-black); }

/* 사이드바 */
.fpl3-side {
  position: sticky;
  top: 100px;   /* 데스크탑 gnb 80px + 20px 여백 */
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.fpl3-side-box {
  border-radius: 16px;
  padding: 24px;
  background: var(--ssadang-bg-gray);
}
.fpl3-side-box h4 { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.fpl3-rank-list { margin-top: 12px; }
.fpl3-rank-item {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 8px;
  margin: 0 -8px;
  position: relative;
  border-radius: 11px;
  text-decoration: none;
  color: inherit;
}
.fpl3-rank-item--top { overflow: hidden; border-radius: 10px; }
.fpl3-confetti { position: absolute; inset: 0; pointer-events: none; }
.fpl3-confetti i {
  position: absolute;
  top: -8px;
  width: 5px;
  height: 8px;
  border-radius: 1.5px;
  opacity: 0;
  animation: fpl3-confall 3.2s linear infinite;
}
.fpl3-confetti i:nth-child(1) { left: 8%;  background: var(--ssadang-brand); animation-delay: 0s; }
.fpl3-confetti i:nth-child(2) { left: 24%; background: var(--ssadang-variation-kakao-bg-color); animation-delay: .6s; }
.fpl3-confetti i:nth-child(3) { left: 45%; background: var(--ssadang-variation-blue-color); animation-delay: 1.2s; }
.fpl3-confetti i:nth-child(4) { left: 62%; background: var(--ssadang-brand); animation-delay: 1.8s; }
.fpl3-confetti i:nth-child(5) { left: 78%; background: var(--ssadang-variation-kakao-bg-color); animation-delay: 2.4s; }
.fpl3-confetti i:nth-child(6) { left: 92%; background: var(--ssadang-variation-blue-color); animation-delay: .9s; }
@keyframes fpl3-confall {
  0% { transform: translateY(0) rotate(0deg); opacity: 0; }
  8% { opacity: .85; }
  85% { opacity: .85; }
  100% { transform: translateY(64px) rotate(220deg); opacity: 0; }
}
.fpl3-rank-num {
  width: 22px;
  height: 22px;
  flex: none;
  border-radius: 50%;
  background: #fff;
  color: var(--ssadang-gray-3);
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fpl3-rank-info { min-width: 0; flex: 1; }
.fpl3-rank-name {
  font-size: 13.5px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fpl3-rank-loc { font-size: 12px; color: var(--ssadang-gray-3); }
.fpl3-rank-star { font-size: 12.5px; font-weight: 600; color: var(--ssadang-gray); }
.fpl3-st { color: var(--ssadang-variation-kakao-bg-color); text-shadow: 0 0 0 var(--ssadang-variation-kakao-bg-color); }
.fpl3-side-tip {
  border-radius: 14px;
  background: var(--ssadang-bg-gray);
  padding: 16px 20px;
  font-size: 12.5px;
  color: var(--ssadang-gray);
  font-weight: 500;
  line-height: 1.55;
}
.fpl3-side-tip b { font-weight: 700; color: var(--ssadang-black); }

/* 사이드바 입점 문의 이미지 배너 (side-tip 하단) */
.fpl3-side-banner {
  display: block;  
  border-radius: 14px;
  overflow: hidden;
}
.fpl3-side-banner img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===== 최근 본 시세표 — 데스크탑 우측 플로팅 버튼 + 모달 (phone/list.html .fpl-recent-* 이식) ===== */
/* 플로팅 버튼 (네모, 데스크탑 전용) */
.fpl3-recent-fab {
  display: none;
  position: fixed;
  right: 200px;
  bottom: calc( env(safe-area-inset-bottom) + 81px );
  z-index: 1;
  width: 62px;
  height: 62px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border: none;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--ssadang-brand-2) 0%, var(--ssadang-brand) 100%);
  color: #fff;
  box-shadow: 0 8px 22px rgba(120, 92, 255, .40);
  cursor: pointer;
}
.fpl3-recent-fab svg { width: 22px; height: 22px; color: #fff; }
.fpl3-recent-fab-label { font-size: 10px; font-weight: 700; line-height: 1.15; text-align: center; color: #fff; }
.fpl3-recent-fab::after {
  content: '';
  position: absolute;
  top: 6px;
  right: 6px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ssadang-variation-red-color);
  border: 1.5px solid #fff;
  opacity: 0;
}
.fpl3-recent-fab.has-recent::after { opacity: 1; }
/* 최소 1회 이상 열람(fpl_recent_posts 존재)한 경우에만 노출: JS가 .is-on 부여 */
@media (min-width: 1024px) {
  .fpl3-recent-fab.is-on { display: flex; animation: fpl3RecentPulse 2.4s ease-in-out infinite; }
}
/* 은은한 그림자 펄스로 시선 유도 (:hover 미사용) */
@keyframes fpl3RecentPulse {
  0%, 100% { box-shadow: 0 8px 22px rgba(120, 92, 255, .40); }
  50%      { box-shadow: 0 10px 28px rgba(120, 92, 255, .68); }
}
@media (prefers-reduced-motion: reduce) {
  .fpl3-recent-fab.is-on { animation: none; }
}

/* ── 모바일: bottom-nav 우측 상단에 붙는 책갈피 버튼 (열람 기록 있을 때만) ── */
.fpl3-recent-tab {
  display: none;
  position: fixed;
  right: 14px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 54px);
  z-index: 3;   /* bottom-nav(z:2) 위에 붙음 */
  align-items: center;
  gap: 5px;
  padding: 7px 12px 8px;
  border: none;
  border-radius: 12px 12px 0 0;   /* 위쪽만 둥근 책갈피/탭 형태 */
  background: var(--ssadang-brand-2);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 -3px 10px rgba(0, 0, 0, .12);
  cursor: pointer;
}
.fpl3-recent-tab svg { width: 15px; height: 15px; flex: none; }
@media (max-width: 1023px) { 
  .fpl3-recent-tab.is-on { display: inline-flex; } 
  .fpl3-region-row { margin-bottom: 32px; }

}

/* 모달 (phone/list.html과 동일, :hover 제외) */
.fpl-recent-modal { display: none; position: fixed; inset: 0; z-index: 9990; }
.fpl-recent-modal.open { display: block; }
.fpl-recent-modal-overlay { position: absolute; inset: 0; background: transparent; }
.fpl-recent-modal-panel {
  /* 플로팅 아이콘(.fpl3-recent-fab, 우하단 right:24/bottom:96) 왼쪽 위에 앵커 */
  position: fixed;
  right: 200px;
  bottom: 160px;
  width: min(320px, calc(100vw - 40px));
  max-height: 60vh;
  background: #ffffff;
  border: 1px solid var(--ssadang-gray-1, #f2f4f8);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: -1px 0 17px 0 rgba(51, 51, 51, .07);
  transform-origin: bottom right;
  animation: fplRecentPopIn 0.18s ease;
  z-index: 1;
}
@keyframes fplRecentPopIn {
  from { transform: scale(0.92); opacity: 0; }
  to   { transform: scale(1);    opacity: 1; }
}
@keyframes fplRecentSheetUp {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}
/* 모바일: 하단 바텀시트 슬라이드업 + 배경 딤.
   모달 오버레이 z=9990(기본) 유지 — bottom-nav(z:2)·gnb(z:101) 모두 위에 놓여 배경 전체가 균일하게 어두워짐 */
@media (max-width: 1023px) {
  .fpl-recent-modal-overlay { background: rgba(0, 0, 0, .45); }   /* 배경 어둡게 */
  .fpl-recent-modal-panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    width: 100%;
    max-width: 100%;
    height: 68vh;   /* 고정 높이 (게시물 수와 무관) — 내부 body가 스크롤 */
    max-height: 68vh;
    border: none;
    border-radius: 20px 20px 0 0;
    transform-origin: bottom;
    animation: fplRecentSheetUp 0.26s ease;
  }
  
}
.fpl-recent-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 12px; flex-shrink: 0; }
.fpl-recent-modal-title { display: flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 600; color: var(--ssadang-black); }
.fpl-recent-modal-title svg { width: 16px; height: 16px; }
.fpl-recent-modal-close {
  width: 30px; height: 30px; margin-right: -8px; border: none; background: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center; border-radius: 10px;
  color: var(--ssadang-gray); font-size: 16px;
}
.fpl-recent-modal-close svg { width: 16px; height: 16px; }
.fpl-recent-modal-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 8px 10px; }
/* 레퍼런스 방식: 타임라인 레일/도트 없이 날짜 라벨 + 라운드 항목 리스트 */
.fpl-recent-timeline { padding: 0; }
.fpl-recent-date-group { margin-bottom: 4px; }
.fpl-recent-date-label {
  display: flex; align-items: center; gap: 6px;
  padding: 10px 12px 6px; font-size: 12px; font-weight: 600; color: var(--ssadang-gray-3);
}
.fpl-recent-item {
  display: flex; align-items: center; gap: 12px;
  cursor: pointer; text-decoration: none; color: var(--ssadang-black); background: transparent;
  border-radius: 12px; padding: 10px 12px; margin-bottom: 2px;
}
.fpl-recent-item:last-child { margin-bottom: 0; }
/* 왼쪽 썸네일 (매장 대표 이미지, 없으면 store 아이콘) */
.fpl-recent-item-thumb {
  width: 44px; height: 44px; border-radius: 12px; flex: none; overflow: hidden;
  border: 1px solid var(--ssadang-gray-1, #f2f4f8); background: var(--ssadang-gray-1, #f2f4f8);
}
.fpl-recent-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fpl-recent-item-thumb--empty {
  display: flex; align-items: center; justify-content: center;
  color: var(--ssadang-gray-3, #737B84); font-size: 15px;
}
/* 가운데 매장명 */
.fpl-recent-item-store {
  flex: 1; min-width: 0; font-size: 14px; font-weight: 500; line-height: 1.4;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  color: var(--ssadang-black);
}
/* 오른쪽 끝 화살표 */
.fpl-recent-item-arrow { width: 14px; height: 14px; color: var(--ssadang-gray-2); flex: none; }
.fpl-recent-empty {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; padding: 36px 16px; color: var(--ssadang-gray-2); font-size: 13px;
}
.fpl-recent-empty svg { width: 36px; height: 36px; color: var(--ssadang-gray-2); }


/* ── 모션 ── */
.fpl3-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .6s ease, transform .6s ease;
}
.fpl3-reveal.in { opacity: 1; transform: none; }
.fpl3-reveal .fpl3-price-card {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .5s ease, transform .5s ease;
}
.fpl3-reveal.in .fpl3-price-card { opacity: 1; transform: none; }
.fpl3-reveal.in .swiper-slide:nth-child(2) .fpl3-price-card { transition-delay: .07s; }
.fpl3-reveal.in .swiper-slide:nth-child(3) .fpl3-price-card { transition-delay: .14s; }
.fpl3-reveal.in .swiper-slide:nth-child(4) .fpl3-price-card { transition-delay: .21s; }

/* ── 반응형 ──
   사이트 모바일 기준(≤1023px, bottom-nav 노출)과 동일 브레이크포인트 사용 */
@media (max-width: 1200px) {
  .fpl3-comm-layout { grid-template-columns: 1fr; }
  .fpl3-side { position: static; }
}
@media (max-width: 1023px) {
  .fpl3-stack { padding-bottom: 0px; }
  .fpl3-comm-layout { order: 3; }
  .fpl3-section { padding: 30px 0; }
  .fpl3-comm-layout { padding: 30px 0; }
  .fpl3-sec-title { font-size: 19px; }
  /* 지역 칩: 가로 스크롤, sec-head 줄바꿈, 검색창 풀폭 (레퍼런스 모바일) */
  .fpl3-region-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px; }
  .fpl3-region-chips::-webkit-scrollbar { display: none; }
  .fpl3-sec-head { flex-wrap: wrap; }
  .fpl3-rail-search { width: 100%; margin-top: 12px; }
  /* 매장 바로가기: 모바일 4열 + 아바타 축소, 커뮤니티 제목 여백 */
  .fpl3-shortcut-grid { grid-template-columns: repeat(4, 1fr); gap: 14px 10px; }
  .fpl3-sc-ava { width: 64px; height: 64px; border-radius: 18px; }
  .fpl3-comm-title { margin-bottom: -16px; }
  .fpl3-sec-arrow { width: 16px; height: 16px; }
  .fpl3-pc-title { font-size: 15.5px; }
  .fpl3-pc-desc { font-size: 13px; }
  .fpl3-tab { padding: 10px 10px; font-size: 16px; }
  .fpl3-post { gap: 12px; padding: 18px 0; }
  .fpl3-thumb { display: none; }
  .fpl3-page-btn { width: 64px; height: 44px; }
  /* 모바일 리스트 항목: 흰 카드 + 테두리 (레퍼런스 방식) */
  .fpl-recent-modal-body { padding: 0 16px 16px; }
  .fpl-recent-timeline { padding: 8px 0 4px; }
  .fpl-recent-item {
    background: #ffffff;
    border: 1px solid var(--ssadang-gray-1, #f2f4f8);
    border-radius: 14px;
    margin-bottom: 8px;
    padding: 14px 16px;
    box-shadow: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fpl3-reveal,
  .fpl3-reveal .fpl3-price-card {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .fpl3-confetti i { animation: none !important; }
}


/* ── 플레이스 전역 상단 네비 (fpl3-gnb, reference gnb 이식 — :hover 미사용) ── */
.fpl3-gnb {
  position: sticky;
  top: 0;
  z-index: 101;
  background: #fff;  
}
.fpl3-gnb-in {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  height: 80px;
}
.fpl3-gnb-logo { display: flex; align-items: center; }
.fpl3-gnb-logo img { height: 36px; display: block; }
.fpl3-gnb-menu {
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0 0 0 26px;
  padding: 0;
  list-style: none;
}
.fpl3-gnb-menu li { display: flex; align-items: center; }
.fpl3-gnb-menu-sep { width: 1px; height: 14px; background: var(--ssadang-border-gray, #d8dce4); }
.fpl3-gnb-menu a {
  font-size: 18px;
  font-weight: 600;
  color: var(--ssadang-gray-2);
  text-decoration: none;
}
.fpl3-gnb-menu a.on { color: var(--ssadang-black); font-weight: 700; }
.fpl3-gnb-right {
  position: relative;   /* ctx-actions 오버레이 기준 */
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}
/* 알림 슬롯 — 이동된 notification-dropdown(absolute)의 기준 컨테이너 */
.fpl3-gnb-noti {
  /* position:relative 제거 — 알림 드롭다운이 상위 .fpl3-gnb-right(전역 .header-right와 동일 역할)에
     앵커되어 공용 gnb와 동일한 우측 정렬 위치로 노출되도록 함 */
  display: flex;
  align-items: center;
}
.fpl3-gnb-noti .notification-icon {  
  top: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-black);
  font-size: 17px;
}
.fpl3-gnb-profile {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px 5px 5px;
  border-radius: 99px;
  text-decoration: none;
  color: inherit;
}
.fpl3-gnb-ava {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex: none;
  background: var(--ssadang-gray-1);
  color: var(--ssadang-gray-3);
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.fpl3-gnb-ava img { width: 100%; height: 100%; object-fit: cover; }
.fpl3-gnb-name { font-size: 14px; font-weight: 600; color: var(--ssadang-gray); }
/* new_layout .auth-link와 동일 스타일 */
.fpl3-gnb-login {
  padding: 6px 12px;
  border: none;
  border-radius: 6px;
  background: var(--ssadang-brand-bg);
  color: var(--ssadang-brand-2);
  font-size: 12px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
}
/* 로그인 버튼 텍스트: 데스크탑=풀("로그인/회원가입") / 모바일=단축("로그인") */
.fpl3-gnb-login-short { display: none; }
@media (max-width: 1023px) {
  .fpl3-gnb-login { font-size: 13px; }
  .fpl3-gnb-login-full { display: none; }
  .fpl3-gnb-login-short { display: inline; }
  .fpl3-gnb-in { height: 56px; }
  .fpl3-gnb-menu { display: none; }
  .fpl3-gnb-name { display: none; }
  .fpl3-gnb-profile { padding: 5px; }
  .fpl3-gnb-logo img { height: 32px;}  
}


/* gnb 컨텍스트 전환 (스크롤 시 타이틀+지역 버튼 노출 — reference gnb-context) */
.fpl3-gnb-in { position: relative; }
.fpl3-gnb-default {
  display: flex;
  align-items: center;
  gap: 12px;
  transition: opacity .25s ease, transform .25s ease;
}
.fpl3-gnb-context {
  position: absolute;
  left: 20px;
  top: 0;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}
.fpl3-gnb-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;   /* 긴 업체명이 아이콘 덮지 않도록 말줄임 */
  min-width: 0;              /* flex 자식 축소 허용 (ellipsis 동작) */
}
/* 스크롤 컨텍스트 뒤로가기 화살표 (gnb_back 페이지: prices/index) — 타이틀 왼쪽 */
.fpl3-gnb-ctx-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-left: -6px;
  padding: 0;
  border: none;
  background: none;
  color: var(--ssadang-black);
  cursor: pointer;
  flex: none;
}
.fpl3-gnb-ctx-back svg { width: 22px; height: 22px; }
/* 매장 모드 모바일은 gnb 상단에 이미 뒤로가기(.fpl3-gnb-back)가 있어 컨텍스트 back 숨김(중복 방지) */
@media (max-width: 1023px) {
  .fpl3-gnb--store .fpl3-gnb-ctx-back { display: none; }
}
/* 스크롤 컨텍스트: 매장명 우측 영업상태 + 오늘 영업시간 (fps-store-status 데이터) */
.fpl3-gnb-status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  white-space: nowrap;
}
.fpl3-gnb-status-text { color: var(--ssadang-gray); font-weight: 600; }
.fpl3-gnb-status-sep { color: var(--ssadang-gray-2); }
.fpl3-gnb-status-hours { color: var(--ssadang-gray-3); font-weight: 500; }
.fpl3-gnb.scrolled .fpl3-gnb-default {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}
.fpl3-gnb.scrolled .fpl3-gnb-context {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.fpl3-gnb-menu button {
  font-size: 18px;
  font-weight: 600;
  color: var(--ssadang-gray-2);
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
}

/* 매장 찾기 모달 (중앙) */
.fpl3-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 9400;
  background: rgba(0, 0, 0, .45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.fpl3-search-overlay.open { opacity: 1; pointer-events: auto; }
.fpl3-search-box {
  width: 100%;
  max-width: 440px;
  max-height: 72vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 18px;
  padding: 18px 20px 10px;
  transform: translateY(12px);
  transition: transform .22s ease;
}
.fpl3-search-overlay.open .fpl3-search-box { transform: none; }
.fpl3-search-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.fpl3-search-title { font-size: 17px; font-weight: 700; }
.fpl3-search-close {
  border: none;
  background: none;
  font-size: 24px;
  line-height: 1;
  color: var(--ssadang-gray-3);
  cursor: pointer;
  padding: 2px 4px;
}
.fpl3-search-inputwrap {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  border-radius: 12px;
  background: var(--ssadang-gray-1);
  color: var(--ssadang-gray-3);
}
.fpl3-search-input {
  flex: 1;
  min-width: 0;
  border: none;
  background: none;
  font-size: 15px;
  font-family: inherit;
  color: var(--ssadang-black);
  outline: none;
}
.fpl3-search-list {
  margin-top: 8px;
  overflow-y: auto;
  flex: 1;
  min-height: 120px;
}
.fpl3-search-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 4px;
  border-bottom: 1px solid var(--ssadang-gray-1);
  text-decoration: none;
  color: inherit;
}
.fpl3-search-item:last-of-type { border-bottom: none; }
.fpl3-search-item__ic {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  flex: none;
  background: var(--ssadang-bg-gray);
  color: var(--ssadang-gray-3);
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fpl3-search-item__name {
  font-size: 14.5px;
  font-weight: 700;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fpl3-search-item__loc {
  margin-left: auto;
  flex: none;
  font-size: 12.5px;
  color: var(--ssadang-gray-3);
}
.fpl3-search-empty {
  padding: 36px 0;
  text-align: center;
  font-size: 13.5px;
  color: var(--ssadang-gray-2);
}
@media (max-width: 1023px) {
  .fpl3-gnb-context { left: 16px; }
  /* 모바일: 기본 메뉴가 숨겨지므로 매장 찾기 버튼도 컨텍스트만 노출 */

  /* 매장 찾기 모달: 세로 중앙 정렬 시 키보드가 입력창을 가리는 문제 →
     상단 고정 풀높이 시트로 전환. 입력창은 상단에 고정, 결과 리스트만 스크롤.
     dvh(동적 뷰포트)로 키보드가 열려도 보이는 영역만큼만 차지 */
  .fpl3-search-overlay {
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }
  .fpl3-search-box {
    width: 100%;
    max-width: none;
    max-height: none;
    height: 100svh;
    height: 100dvh;
    border-radius: 0;
    padding: 14px 16px 8px;
    transform: translateY(100%);
  }
  .fpl3-search-overlay.open .fpl3-search-box { transform: none; }
}


/* ============================================================
   매장 상세 리뉴얼 (phone/place/index.html, fps-*)
   reference_files/매장 상세 스타일 이식 (:hover 미사용)
   ============================================================ */
.fps-page {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
  color: var(--ssadang-black);
  letter-spacing: -0.01em;
  line-height: 1.5;
}

/* ── gnb 매장 모드 ── */
.fpl3-gnb-back {
  display: none;
  width: 36px;
  height: 36px;
  margin-left: -8px;
  flex: none;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-black);
  border-radius: 10px;
}
.fpl3-gnb-back svg { width: 22px; height: 22px; }
.fpl3-ctx-actions {
  position: absolute;
  right: 46px;   /* 햄버거(38px)+gap(8px) 왼쪽에 배치 → 스크롤 시 카톡/찜이 햄버거 왼쪽에 노출 */
  top: 50%;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(calc(-50% + 10px));
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}
.fpl3-gnb.scrolled .fpl3-ctx-actions {
  opacity: 1;
  transform: translateY(-50%);
  pointer-events: auto;
}
/* 알림/프로필/로그인은 display 토글 대신 크로스페이드 (ctx-actions가 위에 오버레이됨) */
.fpl3-gnb--store .fpl3-gnb-noti,
.fpl3-gnb--store .fpl3-gnb-profile,
.fpl3-gnb--store .fpl3-gnb-login {
  transition: opacity .25s ease, transform .25s ease;
}
.fpl3-gnb--store.scrolled .fpl3-gnb-noti,
.fpl3-gnb--store.scrolled .fpl3-gnb-profile,
.fpl3-gnb--store.scrolled .fpl3-gnb-login {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}
/* 비로그인/로그인 공통: 스크롤 시 카톡/찜(ctx-actions) 노출 + 로그인/알림/프로필 숨김, 햄버거는 유지 */
.fpl3-gnb--store .fpl3-gnb-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 40vw;
}
.fpl3-gnb-icon {
  display: none;
  width: 38px;
  height: 38px;
  border: none;
  background: none;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-black);
  cursor: pointer;
}
[data-fav-btn].is-fav { color: var(--ssadang-brand-2); }

/* ── 카톡/액션 버튼 ── */
.fps-kakao-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 12px;
  border: none;
  background: var(--ssadang-variation-kakao-bg-color);
  color: var(--ssadang-variation-kakao-color);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.fps-kakao-btn svg { width: 20px; height: 20px; }
.fps-kakao-btn--sm { padding: 8px 14px; font-size: 14px; border-radius: 10px; }
.fps-kakao-btn--sm svg { width: 15px; height: 15px; }
.fps-act-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--ssadang-border-gray);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-gray);
  cursor: pointer;
}
.fps-act-btn svg { width: 19px; height: 19px; }
.fps-act-btn--sm { width: 38px; height: 38px; border-radius: 10px; }
.fps-act-btn--sm svg { width: 17px; height: 17px; }

/* ── 매장 헤더 ── */
.fps-pagetop { padding: 30px 0 0; }
.fps-crumb {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray-3);
  margin-bottom: 18px;
  text-decoration: none;
}
.fps-crumb svg { width: 14px; height: 14px; }
.fps-store-head {
  display: flex;
  align-items: center;
  gap: 20px;
}
.fps-store-photo {
  width: 84px;
  height: 84px;
  flex: none;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid var(--ssadang-gray-1);
  background: var(--ssadang-gray-1);
}
.fps-store-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fps-store-main { flex: 1; min-width: 0; }
.fps-store-title {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.025em;
  word-break: keep-all;
}
/* 사이드 최상단 사전승낙서 바 ([아이콘] 업체명 사전승낙서) */
.fps-approval-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 12px;
  background: #fff;
  text-decoration: none;
  color: var(--ssadang-black);
}
.fps-approval-bar__icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 6px;
}
.fps-approval-bar__icon--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-brand);
  font-size: 18px;
}
.fps-approval-bar__text {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--ssadang-gray-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fps-approval-bar__chev {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: var(--ssadang-gray-2);
}
/* 매장명 클릭 → 업체정보 팝업 (클릭 가능 표시) */
.fps-store-title.is-clickable {
  cursor: pointer;
}
/* 매장명 행: 타이틀 + (모바일) 사전승낙 아이콘 우측 끝 정렬 */
.fps-store-titlerow {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fps-store-titlerow .fps-store-title { flex: 1 1 auto; min-width: 0; }
/* 모바일 전용 사전승낙 아이콘 — 데스크탑 숨김(데스크탑은 사이드 fps-approval-bar 사용) */
.fps-approval-icon-m {
  display: none;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--ssadang-gray-1);
  background: #fff;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-brand);
  text-decoration: none;
}
.fps-approval-icon-m img { width: 100%; height: 100%; object-fit: contain; display: block; }
.fps-approval-icon-m i { font-size: 16px; }
.fps-store-status {
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray);
}
.fps-open-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2c93ef;
  animation: fps-dotpulse 2.2s ease-in-out infinite;
}
@keyframes fps-dotpulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .35; }
}
.fps-sep { color: var(--ssadang-gray-2); }
.fps-store-rating {
  font-weight: 600;
  color: var(--ssadang-black);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.fps-store-status .fps-hours { color: var(--ssadang-gray-3); font-weight: 500; }
.fps-store-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
}

/* ── 레이아웃 ── */
.fps-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 60px 48px;
  grid-template-areas: "main side";
  align-items: start;
  padding: 38px 0 90px;
}
/* min-width:0 — 그리드 아이템 기본 min-width:auto로 인한 가로 오버플로우(모바일 사이드박스 잘림) 방지 */
.fps-area-main { grid-area: main; min-width: 0; }
.fps-area-today { padding: 0; margin: 0; min-width: 0; }
.fps-area-comm { padding: 0; margin: 0; min-width: 0; }
.fps-area-side { grid-area: side; min-width: 0; }

/* 매장 서브탭 (시세표 | 커뮤니티) — 레퍼런스 store-detail-v2 main-tabs 스타일 */
.fps-store-tabs {
  position: sticky;
  top: 80px;   /* 데스크탑 gnb(.fpl3-gnb-in) 높이 바로 아래 고정 */
  z-index: 30;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 2px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--ssadang-gray-1);
}
.fps-store-tab {
  padding: 12px 16px;
  border: none;
  background: none;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  color: var(--ssadang-gray-2);
  cursor: pointer;
  position: relative;
  border-radius: 10px 10px 0 0;
  transition: color .15s, background .15s;
}
.fps-store-tab:hover { background: var(--ssadang-bg-gray); color: var(--ssadang-gray-3); }
/* "매장 정보" 탭 — 모바일 전용(데스크탑은 사이드바가 우측 컬럼으로 상시 노출) */
.fps-store-tab--info { display: none; }
.fps-store-tab.on { color: #333; font-weight: 700;}
.fps-store-tab.on::after {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -1px;
  height: 2px;
  background: var(--ssadang-black);
  border-radius: 2px;
}
/* 커뮤니티 새글 red dot (탭 라벨 우측 상단) */
.fps-tab-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 3px;
  border-radius: 50%;
  background: var(--ssadang-variation-red-color, #ff3b30);
  vertical-align: top;
}
.fps-tab-dot[hidden] { display: none; }
/* 커뮤니티 탭에서만 노출되는 글쓰기 버튼 (탭 바 우측 끝) — 레퍼런스 .write-btn */
.fps-store-write {
  margin-left: auto;
  margin-bottom: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--ssadang-border-gray);
  color: var(--ssadang-gray);
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s, color .15s;
}

.fps-store-write svg { width: 12px; height: 12px; }
.fps-store-write[hidden] { display: none; }
/* 탭 전환: 비활성 패널 숨김 (hidden 속성 보강) */
.fps-area-main [data-stab-panel][hidden] { display: none; }
/* 업체 공지 행 (레퍼런스 .store-notice) — 여러 개 스택 */
.fps-store-notice {
  display: flex;
  align-items: center;  
  padding: 12px 16px;
  margin-bottom: 14px;
  background: var(--ssadang-bg-gray);
  text-decoration: none;
  border-radius: 12px;
}
.fps-sn-badge { color: var(--ssadang-variation-red-color); font-size: 14px;}
.fps-sn-title {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fps-store-notice svg { width: 14px; height: 14px; color: var(--ssadang-gray-2); flex: none; }

/* ── 오늘의 시세표 (전체 내용 인라인 + 펼쳐서 보기) ── */
.fps-sise {
  position: relative;
  background: #fff;
  overflow: hidden;
}
.fps-sise-clip { position: relative; }
.fps-sise-head { margin-bottom: 14px; }
.fps-sise-title {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 700;
  color: var(--ssadang-black);
  line-height: 1.4;
  margin-bottom: 6px;
}
.fps-sise-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--ssadang-gray-3);
}
/* 시세표 이미지 — 본문은 세로로 길게 나열 (클릭 시 확대보기 라이트박스) */
.fps-sise-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 10px;
  cursor: zoom-in;
}
/* 부가서비스 — 시세표 내용 하단 */
.fps-sise-adds { margin-top: 22px; }
.fps-sise-adds__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--ssadang-black);
  margin-bottom: 10px;
}
.fps-adds-tablewrap { overflow-x: auto; border-radius: 10px; border: 1px solid var(--ssadang-gray-1); }
.fps-adds-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.fps-adds-table th {
  background: var(--ssadang-black);
  color: #fff;
  font-weight: 600;
  padding: 9px 10px;
  text-align: center;
  white-space: nowrap;
  border-bottom: 1px solid var(--ssadang-gray-1);
}
.fps-adds-table td {
  padding: 10px;
  text-align: center;
  color: var(--ssadang-gray);
  border-bottom: 1px solid var(--ssadang-gray-1);
  vertical-align: middle;
}
.fps-adds-table tr:last-child td { border-bottom: none; }
.fps-adds-logo { height: 18px; width: auto; vertical-align: middle; }
.fps-adds-price { font-weight: 600; color: var(--ssadang-black); white-space: nowrap; }
.fps-adds-extra { white-space: nowrap; }
.fps-adds-note {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ssadang-gray-3);
}
.fps-adds-empty {
  padding: 16px;
  border-radius: 10px;
  background: #e8f7ee;
  font-size: 13px;
  color: #21a45d;
  text-align: center;
}
/* 유통망지원금표 / 상품 및 선택사항 안내 (부가서비스 하단, 기본 노출) */
.fps-sise-sub { margin-top: 22px; }
.fps-sise-sub__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--ssadang-black);
  margin-bottom: 10px;
}
.fps-sise-dist {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;  
  border-radius: 10px;
  background: var(--ssadang-bg-gray);
  text-decoration: none;
}
.fps-sise-dist__ic {
  display: flex;
  flex-shrink: 0;
  color: var(--ssadang-gray-2);
}
.fps-sise-dist__ic svg { width: 22px; height: 22px; }
.fps-sise-dist__label {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--ssadang-gray-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fps-sise-dist__dl {
  display: flex;
  flex-shrink: 0;
  color: var(--ssadang-gray-2);
}
.fps-sise-dist__dl svg { width: 18px; height: 18px; }
.fps-sise-guide {
  font-size: 13px;
  line-height: 1.7;
  color: var(--ssadang-gray-3);
  background: var(--ssadang-bg-gray);
  padding: 12px 14px;
  border-radius: 12px;
  word-break: break-word;
}
.fps-sise-guide + .fps-sise-guide { margin-top: 10px; }
/* 상품 및 선택사항 안내 — 아코디언 (기본 접힘, 클릭 시 펼침) */
.fps-sise-acc__btn {
  display: flex;
  align-items: center;  
  gap: 10px;
  width: 100%;
  margin: 0;                /* .fps-sise-sub__title margin-bottom 상쇄 */
  padding: 0;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.fps-sise-acc__chev {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--ssadang-gray-2);
  transition: transform .2s ease;
}
.fps-sise-acc.is-open .fps-sise-acc__chev { transform: rotate(180deg); }
.fps-sise-acc__body { display: none; margin-top: 12px; }
.fps-sise-acc.is-open .fps-sise-acc__body { display: block; }
/* 시세표 이미지 확대보기 (라이트박스) */
.fps-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, .9);
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.fps-lightbox.active { display: flex; }
.fps-lb-img {
  max-width: 92vw;
  max-height: 88vh;
  object-fit: contain;
  border-radius: 6px;
  user-select: none;
}
.fps-lb-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border: none;
  background: rgba(255, 255, 255, .15);
  color: #fff;
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.fps-lb-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 51%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
}
.fps-lb-nav svg { width: 22px; height: 22px; }
.fps-lb-nav--prev { left: 12px; }
.fps-lb-nav--next { right: 12px; }

/* ── 오늘의 시세 ── */
.fps-today-card {
  display: flex;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 2px 10px rgba(68, 73, 78, .05);
  text-decoration: none;
  color: inherit;
}
.fps-today-thumb {
  width: 164px;
  aspect-ratio: 16/10;
  border-radius: 12px;
  overflow: hidden;
  flex: none;
  background: var(--ssadang-gray-1);
}
.fps-today-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fps-today-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 4px 2px 0;
}
.fps-today-title-row { display: flex; align-items: center; gap: 10px; }
.fps-today-title {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.02em;
  flex: 1;
  min-width: 0;
}
.fps-today-meta {
  margin-top: auto;
  font-size: 12px;
  color: var(--ssadang-gray-3);
  display: flex;
  gap: 10px;
}
/* ── 업체 소개문구 (구 fps-history 자리) — 2줄 클램프 + 오버레이 펼침 ── */
.fps-intro {
  position: relative;
  margin-top: 14px;
}
.fps-intro-text {
  font-size: 14px;
  color: var(--ssadang-gray);
  line-height: 1.6;
  white-space: pre-line;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fps-intro-more {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  padding: 2px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--ssadang-gray-3);
  font-family: inherit;
  cursor: pointer;
}
.fps-intro-more svg { width: 13px; height: 13px; }
/* 펼침 = 절대배치 오버레이 (아래 본문 밀지 않음) */
.fps-intro-pop {
  position: absolute;
  top: -14px;
  left: -16px;
  right: -16px;
  z-index: 5;
  background: #fff;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(68, 73, 78, .16);
}
.fps-intro-pop__text {
  font-size: 14px;
  color: var(--ssadang-gray);
  line-height: 1.6;
  white-space: pre-line;
}
.fps-intro-fold {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  padding: 2px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--ssadang-gray-3);
  font-family: inherit;
  cursor: pointer;
}
.fps-intro-fold svg { width: 13px; height: 13px; }

.fps-history { margin-top: 12px; display: flex; flex-direction: column; }
.fps-history-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 6px;
  border-bottom: 1px solid var(--ssadang-gray-1);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
}
.fps-history-row:last-child { border-bottom: none; }
.fps-history-thumb {
  width: 52px;
  height: 36px;
  flex: none;
  border-radius: 8px;
  overflow: hidden;
  background: var(--ssadang-gray-1);
}
.fps-history-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fps-history-thumb .fpl3-imgslot-empty { font-size: 12px; }
.fps-history-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--ssadang-gray);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fps-history-meta {
  margin-left: auto;
  flex: none;
  font-size: 12px;
  color: var(--ssadang-gray-3);
}

/* 후기 아코디언 행 커서 */
.fps-post--review { cursor: pointer; }

/* ── 사이드바 ── */
.fps-side {
  position: sticky;
  top: 100px;   /* 데스크탑 gnb 80px + 20px 여백 */
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.fps-side-box {
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ssadang-gray-1);
  box-shadow: 0 2px 10px rgba(68, 73, 78, .05);
  overflow: hidden;
  padding: 20px 22px 22px;
}
.fps-side-box h4 { font-size: 14px; font-weight: 700; margin-bottom: 12px; }
/* 지점 소개 헤딩 — intro-box 바깥 그룹 라벨 (사전승낙서·매장이미지 위) */
.fps-side-heading {
  font-size: 18px;
  font-weight: 700;
  color: var(--ssadang-black);
  letter-spacing: -0.01em;
  margin-bottom: -4px;   /* fps-side gap(16px) 축소 → 헤딩과 하위 그룹을 붙임 */
}
.fps-map {
  /* 박스 패딩을 상쇄해 지도는 가장자리까지 (하단 14px 간격 → 주소 노출) */
  width: auto;
  margin: -20px -22px 14px;
  aspect-ratio: 4/3;
  background: var(--ssadang-gray-1);
}
.fps-addr {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 14px;
  color: var(--ssadang-gray);
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
}
/* 주소 복사 아이콘 (행 우측 끝) */
.fps-addr-copy {
  width: 15px;
  height: 15px;
  flex: none;
  margin-left: auto;
  margin-top: 2px;
  color: var(--ssadang-gray-3);
}
.fps-addr-ic {
  flex: none;
  margin-top: 3px;
  font-size: 13px;
  color: var(--ssadang-gray-3);
}
/* 지점 소개 박스 — 등록 이미지 갤러리(좌우 슬라이드) + 소개문구 */
.fps-gallery {
  position: relative;
  border-radius: 10px;       /* 제목 아래 인셋 라운드 이미지 카드 (상단 음수마진 제거 → 제목 침범 방지) */
  overflow: hidden;
  background: var(--ssadang-gray-1);
}
.fps-gallery__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.fps-gallery__track::-webkit-scrollbar { display: none; }
.fps-gallery__slide {
  flex: 0 0 100%;
  scroll-snap-align: center;
  aspect-ratio: 4/3;
}
.fps-gallery__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.fps-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, .42);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
}
.fps-gallery__nav svg { width: 16px; height: 16px; }
.fps-gallery__nav--prev { left: 8px; }
.fps-gallery__nav--next { right: 8px; }
.fps-gallery__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
  display: flex;
  justify-content: center;
  gap: 5px;
  z-index: 2;
}
.fps-gallery__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .5);
  transition: width .2s ease;
}
.fps-gallery__dot.on { background: #fff; width: 16px; border-radius: 3px; }
.fps-intro-desc {
  margin-top: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ssadang-gray);
  font-weight: 500;
  white-space: pre-line;
  word-break: break-word;
}
.fps-gallery + .fps-intro-descwrap { margin-top: 16px; }
/* 지점 소개 3줄 클램프 + 하단 페이드 + 펼쳐보기 */
.fps-intro-descwrap { position: relative; }
.fps-intro-descwrap--clamped:not(.is-open) .fps-intro-desc {
  position: relative;
  max-height: 4.8em;   /* line-height 1.6 × 3줄 */
  overflow: hidden;
}
.fps-intro-descwrap--clamped:not(.is-open) .fps-intro-desc::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2.2em;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
  pointer-events: none;
}
/* 지점 소개 더보기 토글 — 영업시간 핸들(fps-hours-handle)과 동일: 아이콘만, 상단 보더, gray-2 */
.fps-intro-toggle {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  padding: 8px 0 0;
  background: none;
  border: none;
  border-top: 1px solid var(--ssadang-gray-1);
  color: var(--ssadang-gray-2);
  cursor: pointer;
}
.fps-intro-descwrap--clamped .fps-intro-toggle { display: flex; }
.fps-intro-toggle svg { width: 16px; height: 16px; transition: transform .22s ease; }
.fps-intro-toggle.is-open svg { transform: rotate(180deg); }

/* 업체 공지 — 커뮤니티(fpsCommBody) 상단 고정 아코디언 */
.fps-notice-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}
.fps-notice {
  border: 1px solid var(--ssadang-brand-2);
  background: var(--ssadang-brand-bg);
  border-radius: 12px;
  overflow: hidden;
}
.fps-notice-head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 13px 14px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.fps-notice-badge {
  flex: none;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: var(--ssadang-brand);
  padding: 3px 8px;
  border-radius: 6px;
}
.fps-notice-title {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fps-notice-chev {
  flex: none;
  width: 18px;
  height: 18px;
  color: var(--ssadang-brand-2);
  transition: transform .2s ease;
}
.fps-notice.is-open .fps-notice-chev { transform: rotate(180deg); }
.fps-notice-body { display: none; padding: 0 14px 14px; }
.fps-notice.is-open .fps-notice-body { display: block; }
.fps-notice-content {
  font-size: 14px;
  line-height: 1.65;
  color: var(--ssadang-gray);
  word-break: break-word;
}
.fps-notice-content p { margin: 0 0 6px; }
.fps-notice-content p:last-child { margin-bottom: 0; }
.fps-notice-content h2,
.fps-notice-content h3,
.fps-notice-content h4 { margin: 10px 0 6px; color: var(--ssadang-black); font-weight: 700; }
.fps-notice-content ul,
.fps-notice-content ol { margin: 0 0 6px; padding-left: 20px; }
.fps-notice-content a { color: var(--ssadang-brand); text-decoration: underline; }
.fps-notice-content img { max-width: 100%; height: auto; border-radius: 6px; }
.fps-notice-content strong { font-weight: 700; }
.fps-notice-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.fps-notice-img {
  display: block;
  width: calc((100% - 16px) / 3);
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
}
.fps-notice-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.fps-hours-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
}
.fps-hours-row .day { color: var(--ssadang-gray-3); font-weight: 500; }
.fps-hours-row .time { color: var(--ssadang-gray); font-weight: 600; }
.fps-hours-row .time.off { color: var(--ssadang-variation-red-color) !important; }
.fps-hours-row.today .day,
.fps-hours-row.today .time { color: var(--ssadang-black); font-weight: 600; }
/* 영업시간 축약 텍스트 (휴무 요일 + 공휴일) — 오늘 라인 아래 한 줄 */
.fps-hours-summary {
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px solid var(--ssadang-border-gray);
  font-size: 13px;
  font-weight: 500;
  color: var(--ssadang-gray-3);
  line-height: 1.5;
}
/* 사이드 영업시간 박스: 요약(평일/토·일) ↔ 요일별 전체 토글 (레퍼런스 매장상세) */
.fps-hours-detail { display: none; }
.fps-hours-box.hours-open .fps-hours-detail { display: block; }
.fps-hours-box.hours-open .fps-hours-summary-rows { display: none; }
.fps-hours-handle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 8px;
  padding: 8px 0 0;
  background: none;
  border: none;
  border-top: 1px solid var(--ssadang-gray-1);
  color: var(--ssadang-gray-2);
  cursor: pointer;
}
.fps-hours-handle svg { width: 16px; height: 16px; transition: transform .22s ease; }
.fps-hours-box.hours-open .fps-hours-handle svg { transform: rotate(180deg); }
.fps-hours-pop .fps-hours-summary { margin-top: 4px; }
/* 헤더 "오늘 영업시간" 버튼 (모바일: 화살표 노출 + 클릭 시 전체 모달) */
.fps-hours-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: none;
  background: none;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
  color: var(--ssadang-gray-3);
  cursor: pointer;
}
.fps-hours-chev {
  display: none;
  width: 13px;
  height: 13px;
  color: var(--ssadang-gray-3);
}

/* 영업시간 팝오버 (헤더 "오늘 시간" 버튼 바로 아래) */
.fps-hours-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.fps-hours-pop {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 100;
  min-width: 250px;
  background: #fff;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(68, 73, 78, .14);
  padding: 10px 16px;
}
.fps-hours-pop[hidden] { display: none; }
.fps-hours-pop .fps-hours-row { padding: 7px 0; }
@media (max-width: 1023px) {
  /* 모바일: 버튼이 행 우측에 있어 left 기준이면 화면 밖으로 잘림 → 우측 기준 앵커 */
  .fps-hours-pop {
    left: auto;
    right: 0;
    max-width: calc(100vw - 40px);
  }
}
.fps-side-cta {
  padding: 24px;
  border-radius: 16px;
  background: var(--ssadang-bg-gray);
}
.fps-side-cta h4 { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.fps-side-cta .desc { font-size: 12px; color: var(--ssadang-gray-3); font-weight: 500; }
.fps-write-btn {
  display: block;
  text-align: center;
  margin-top: 16px;
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 12px;
  background: var(--ssadang-brand-2);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}

/* ── 글쓰기 FAB / 모바일 하단 카톡 ── */
.fps-fab {
  display: none;
  position: fixed;
  right: 16px;
  bottom: calc(110px + env(safe-area-inset-bottom));
  z-index: 101;
  width: 54px;
  height: 54px;
  border: none;
  border-radius: 18px;
  background: var(--ssadang-brand-2);
  color: #fff;
  align-items: center;
  justify-content: center;  
  cursor: pointer;
}
.fps-fab svg { width: 22px; height: 22px; }
.fps-mcta { display: none; }

/* 매장 문의 알림톡 플로우 모달 (전화번호 입력 / 발송 완료) */
.fps-modal {
  position: fixed;
  inset: 0;
  z-index: 9500;
  background: rgba(0, 0, 0, .45);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.fps-modal.active { display: flex; }
.fps-modal-box {
  position: relative;
  width: 100%;
  max-width: 340px;
  background: #fff;
  border-radius: 18px;
  padding: 34px 24px 24px;
  text-align: center;
  box-shadow: 0 20px 50px rgba(51, 51, 51, .18);
}
.fps-modal-x {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  color: var(--ssadang-gray-3);
  cursor: pointer;
}
.fps-modal-ic {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--ssadang-brand-bg);
  color: var(--ssadang-brand);
  font-size: 26px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fps-modal-ic--ok { background: #e8f7ee; color: #21a45d; }
.fps-modal-title { font-size: 17px; font-weight: 700; color: var(--ssadang-black); margin-bottom: 8px; }
.fps-modal-desc { font-size: 13.5px; color: var(--ssadang-gray); line-height: 1.6; margin-bottom: 18px; }
.fps-modal-input {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--ssadang-gray-1);
  border-radius: 10px;
  font-size: 15px;
  margin-bottom: 6px;
}
.fps-modal-err { font-size: 12px; color: var(--ssadang-variation-red-color); min-height: 16px; margin-bottom: 10px; text-align: left; }
.fps-modal-btn {
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  background: var(--ssadang-brand-2);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  border: none;
  cursor: pointer;
}
.fps-modal-btn--kakao { background: #fee500; color: #3c201f; }
.fps-modal-btn + .fps-modal-btn { margin-top: 8px; }
.fps-modal-btn--ghost { background: var(--ssadang-bg-gray); color: var(--ssadang-gray); }
.fps-modal-note {
  font-size: 11.5px;
  color: var(--ssadang-gray-2);
  line-height: 1.55;
  margin: -8px 0 16px;
}

/* ── 반응형 ── */
@media (max-width: 1023px) {
  .fps-side { position: static; }
  .fpl3-gnb--store .fpl3-gnb-back { display: flex; }
  .fpl3-gnb--store .fpl3-gnb-default { display: none; }
  .fpl3-gnb--store .fpl3-gnb-noti,
  .fpl3-gnb--store .fpl3-gnb-profile { display: none; }
  .fpl3-gnb--store .fpl3-ctx-actions { display: none; }
  .fpl3-gnb--store .fpl3-gnb-icon { display: flex; }
  .fpl3-gnb--store .fpl3-gnb-context { left: 42px; right: 104px; }
  .fpl3-gnb--store .fpl3-gnb-title { max-width: none; width: 100%; }
  .fpl3-gnb-status { display: none; }   /* 모바일: 컨텍스트 폭 제약으로 영업정보 숨김(매장명만) */
  /* 모바일: 스크롤해도 로그인 버튼 유지 (데스크탑과 달리 ctx-actions로 대체되지 않으므로) */
  .fpl3-gnb--store.scrolled .fpl3-gnb-login { opacity: 1; transform: none; pointer-events: auto; }

  .fps-pagetop { padding: 14px 0 0; }
  .fps-crumb { display: none; }
  .fps-store-head { gap: 14px; align-items: center; }
  .fps-store-photo { width: 58px; height: 58px; border-radius: 16px; }
  .fps-store-title { font-size: 20px; line-height: 1.3; }
  .fps-store-tabs { top: 56px; }   /* 모바일 gnb 높이 바로 아래 고정 */
  .fps-store-tab { font-size: 16px; padding: 11px 10px; }
  .fps-store-tab--info { display: block; }   /* 모바일: 매장 정보 탭 노출 (맨 앞) */
  /* 매장 정보(사이드바)는 모바일에서 탭 제어 — info 탭 아닐 땐 숨김 */
  .fps-area-side.is-tab-hidden { display: none; }
  .fps-side-heading { display: none; }   /* 모바일: 지점 소개 헤딩 미노출 (탭명이 '매장 정보'라 중복) */
  .fps-store-write { display: none; }   /* 모바일: 탭바 글쓰기 숨김 → 글쓰기 FAB 사용 (레퍼런스와 동일) */
  .fps-store-status { margin-top: 4px; font-size: 13px; flex-wrap: wrap; gap: 6px; }
  .fps-store-actions { display: none; }
  /* 모바일: 사이드 사전승낙 바 숨김 → 타이틀 우측 끝 아이콘으로 대체 */
  .fps-approval-bar { display: none; }
  .fps-approval-icon-m { display: inline-flex; }
  /* 모바일: flex 컬럼 + main 박스 해제(display:contents)로 탭/시세표/커뮤니티/매장정보를
     .fps-layout 직속 항목으로 승격 → 서브탭 sticky가 '매장 정보' 등 모든 탭 콘텐츠 위에서 유지됨 */
  .fps-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;   /* base의 align-items:start 상속 해제 → 탭/패널이 전체폭으로 늘어남 */
    padding: 22px 0 30px;
    gap: 0;
  }
  .fps-area-main { display: contents; }
  .fps-today-card { gap: 12px; padding: 12px; }
  .fps-today-thumb { width: 112px; aspect-ratio: 4/3; }
  .fps-today-body { padding: 2px 2px 2px 0; gap: 6px; }
  .fps-today-title { font-size: 16px; }
  .fps-history-row { padding: 12px 4px; }
  .fps-map { aspect-ratio: 16/9; }
  /* ── 지점 소개(모바일): 박스 테두리·패딩·라운드 제거 ── */
  .fps-intro-box {
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }
  /* 소개문구: 열고닫기 없이 전체 표시 (클램프·페이드·토글 해제) */
  .fps-intro-box .fps-intro-descwrap--clamped:not(.is-open) .fps-intro-desc {
    max-height: none;
    overflow: visible;
  }
  .fps-side-box h4 {
    font-size: 18px;
  }
  .fps-intro-box .fps-intro-descwrap--clamped:not(.is-open) .fps-intro-desc::after { display: none; }
  .fps-intro-box .fps-intro-toggle { display: none !important; }
  /* 소개문구 밑 지도 — 소개 영역 안에 더 작은 박스로 배치 */
  .fps-intro-box + #fpsMapBox {
    margin-top: -6px;   /* .fps-side gap(16px) 축소 → 소개문구 바로 밑에 붙임 */
    padding: 0;
    border: 1px solid var(--ssadang-gray-1);
    border-radius: 12px;
    box-shadow: none;
  }
  .fps-intro-box + #fpsMapBox .fps-map {
    margin: 0 0 10px;   /* 음수마진 제거 → 작은 박스 안쪽 인셋 */
    aspect-ratio: 16/9;
  }
  .fps-intro-box + #fpsMapBox .fps-addr { padding: 0 12px 12px; }
  /* 영업시간: 모바일에서도 사이드 박스 표시 */
  .fps-hours-chev { display: inline-block; }
  .fps-side-cta { display: none; }
  .fps-fab { display: flex; }
  /* 모바일 하단 고정 카톡 문의 (사이트 bottom-nav 위에 배치) */
  .fps-mcta {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(0px + env(safe-area-inset-bottom, 0px));
    z-index: 100;
    padding: 10px 16px;
    gap: 8px;    
  }
  .fps-mcta .fps-kakao-btn {
    flex: 1;
    justify-content: center;
    padding: 14px;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgb(68 73 78 / 46%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .fps-open-dot { animation: none !important; }
}


/* ============================================================
   시세표 전체보기 (phone/place/prices.html, fpp-*)
   reference_files/시세표 리스트 스타일 이식 (:hover 미사용)
   카드/배지/페이징 등은 fpl3-* 재사용
   ============================================================ */
.fpp-page {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
  color: var(--ssadang-black);
  letter-spacing: -0.01em;
  line-height: 1.5;
}

/* ── 페이지 상단 ── */
.fpp-pagetop { padding: 34px 0 6px; }
.fpp-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fpp-title {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.025em;
  margin-bottom: 0;
}
.fpp-back {
  display: none;
  width: 32px;
  height: 32px;
  margin-left: -6px;
  align-items: center;
  justify-content: center;
  color: var(--ssadang-black);
  border-radius: 10px;
}
.fpp-back svg { width: 22px; height: 22px; }
.fpp-title-region { display: none; margin-left: auto; }

/* ── 필터 줄 (sticky) ── */
.fpp-filter-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 0 18px;
  position: sticky;
  top: 80px;   /* 데스크탑 gnb(.fpl3-gnb-in) 높이 80px 바로 아래 */
  z-index: 1;
  background: #fff;
  border-bottom: 1px solid var(--ssadang-gray-1);
  margin-bottom: 20px;
}
.fpp-chips {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.fpp-chip {
  flex: none;
  white-space: nowrap;
  padding: 8px 14px;
  border-radius: 99px;
  background: #fff;
  border: 1px solid var(--ssadang-border-gray);
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray);
  cursor: pointer;
  font-family: inherit;
}
.fpp-chip.on {
  background: #333;
  border-color: #333;
  color: #fff;
}
.fpp-sort {
  margin-left: auto;
  display: flex;
  gap: 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray-2);
  flex: none;
}
.fpp-sort a {
  white-space: nowrap;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.fpp-sort a.on { color: var(--ssadang-black); }
.fpp-chips .fpp-sort { margin-left: 0; font-size: 13px; }

/* 상단 검색바 (타이틀 우측) / 모바일 검색바 / 지역 칩 스트립 */
.fpp-pc-search { margin-left: auto; width: 240px; }
.fpp-list-search { display: none; padding: 16px 0 0; }
.fpp-list-search .fpl3-rail-search { width: 100%; max-width: 400px; }
.fpp-region-strip { padding: 14px 0 0; }

/* 찜한 매장 칩 (체크 원 + 텍스트, 레퍼런스 fav-chip) */
.fpp-fav-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray-3);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  flex: none;
}
.fpp-cc { width: 18px; height: 18px; flex: none; }
.fpp-cc circle { fill: none; stroke: var(--ssadang-gray-2); stroke-width: 1.6; }
.fpp-cc path { fill: none; stroke: var(--ssadang-gray-2); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fpp-fav-chip.on { color: var(--ssadang-gray); }
.fpp-fav-chip.on .fpp-cc circle { fill: var(--ssadang-brand-2); stroke: var(--ssadang-brand-2); }
.fpp-fav-chip.on .fpp-cc path { stroke: #fff; }

/* 카드형/리스트형 뷰 토글 */
.fpp-view-toggle { margin-left: auto; display: flex; gap: 14px; flex: none; }
.fpp-vt {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ssadang-gray-2);
  white-space: nowrap;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
}
.fpp-vt svg { width: 16px; height: 16px; }
.fpp-vt.on { color: var(--ssadang-gray); }

/* ── 리스트형 뷰 (레퍼런스 view-list) — .fpp-grid 기본(grid repeat3)보다 특이성 높여 항상 1열 ── */
.fpp-grid.fpp-grid--list { display: flex; flex-direction: column; gap: 0; }
.fpp-grid--list .fpl3-price-card {
  display: grid;
  grid-template-columns: 132px 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 16px;
  row-gap: 3px;
  align-items: center;
  border: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid var(--ssadang-gray-1);
  padding: 16px 4px;
}
.fpp-grid--list .fpl3-pc-link { display: contents; }
.fpp-grid--list .fpl3-pc-thumb {
  grid-column: 1;
  grid-row: 1 / span 3;
  aspect-ratio: 1/1;
  margin-bottom: 0;
  border-radius: 10px;
  align-self: center;
}
.fpp-grid--list .fpl3-pc-top { grid-column: 2; grid-row: 1; align-self: end; }
.fpp-grid--list .fpl3-pc-title {
  grid-column: 2;
  grid-row: 2;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fpp-grid--list .fpl3-pc-store {
  grid-column: 2;
  grid-row: 3;
  margin-top: 0;
  padding-top: 4px;
  border-top: none;
  align-self: start;
}

.fpp-grid--list .fpl3-pc-actions { display: none; }

/* ── 시세표 그리드 ── */
.fpp-grid {
  display: grid;
  /* minmax(0,1fr): 긴 URL 등 min-content가 컬럼 폭을 벌리는 blowout 방지 → 모든 칸 동일 폭 */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding-bottom: 48px;
}
.fpp-grid .fpl3-price-card { min-width: 0; }
.fpp-grid .fpl3-pc-title,
.fpp-grid .fpl3-pc-desc { overflow-wrap: anywhere; word-break: break-word; }
/* 그리드용 카드 등장 스태거 */
.fpl3-reveal.in .fpp-grid .fpl3-price-card,
.fpp-grid.fpl3-reveal.in .fpl3-price-card { opacity: 1; transform: none; }
.fpp-grid.fpl3-reveal.in .fpl3-price-card:nth-child(3n+2) { transition-delay: .07s; }
.fpp-grid.fpl3-reveal.in .fpl3-price-card:nth-child(3n) { transition-delay: .14s; }

/* 찜한 매장 북마크 아이콘 */
.fpp-bm {
  width: 14px;
  height: 14px;
  color: var(--ssadang-brand-2);
  display: inline-block;
  vertical-align: -1px;
  margin-right: 4px;
}

.fpp-paging { padding: 0 0 90px; margin-top: 0; }

/* ── 반응형 ── */
@media (max-width: 1200px) {
  .fpp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fpp-grid.fpl3-reveal.in .fpl3-price-card { transition-delay: 0s; }
  .fpp-grid.fpl3-reveal.in .fpl3-price-card:nth-child(2n) { transition-delay: .07s; }
}
@media (max-width: 1023px) {
  .fpp-pagetop { padding: 16px 0 2px; }
  .fpp-pagetop .fps-crumb { display: none; }
  .fpp-back { display: flex; }
  .fpp-title { font-size: 20px; }
  .fpp-title-region { display: flex; }
  .fpp-filter-row {
    top: 56px;
    padding: 14px 0;
    gap: 8px;
  }
  .fpp-filter-region { display: none; }
  .fpp-chips {
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .fpp-chips::-webkit-scrollbar { display: none; }
  .fpp-chip { font-size: 12px; padding: 8px 12px; }
  .fpp-grid { grid-template-columns: 1fr; gap: 14px; }
  .fpp-paging { padding: 28px 0 130px; }
  /* 모바일: 상단 검색 숨기고 별도 검색바 노출, 뷰토글은 유지 */
  .fpp-pc-search { display: none; }
  .fpp-list-search { display: block; padding: 18px 0 0; }
  .fpp-region-strip { padding: 16px 0 0; }
  .fpp-view-toggle { gap: 10px; }
  .fpp-vt { font-size: 12px; }
  /* 리스트형 모바일 */
  .fpp-grid--list .fpl3-price-card { grid-template-columns: 96px 1fr; column-gap: 12px; padding: 14px 0; }
  .fpp-grid--list .fpl3-pc-thumb { border-radius: 8px; }
  .fpp-grid--list .fpl3-pc-title { font-size: 15px; }
}



