@charset "utf-8";

/* 리스트 */

/* =========================
   LIST PAGE (Gallery Cards)
   ========================= */

/* 상단 버튼/정보 */
#bo_btn_top{ margin-bottom:10px; }
.board_btn_wrap{ gap:6px; }

/* --- 필터바(서비스/시/구군: 단일 셀렉트) --- */
.pg-filter--compact .pg-row{
  display:flex; align-items:center; gap:8px;
  flex-wrap:nowrap;                 /* 데스크톱: 한 줄 유지 */
  margin:0 0 30px;
}

/* 셀렉트: 남는 공간을 균등 분배해 전폭 채우기 */
.pg-filter--compact .pg-row select.input_st{
  flex:1 1 0;                       /* 핵심: 0 basis + 동일 가중치 */
  min-width:0;                      /* 긴 항목도 줄어들 수 있게 */
  width:auto;
  height:55px;
}

/* 초기화 버튼: 자기 크기만 차지 */
.pg-filter--compact .pg-row #f_reset{
  flex:0 0 auto;
  box-sizing:border-box;
  display:inline-flex; align-items:center; justify-content:center;
  height:55px; padding:0 24px; border-radius:10px; line-height:1;
  font-weight:600; font-size:14px; text-decoration:none; white-space:nowrap; cursor:pointer;
  background:#fff; border:1px solid #d0d0d0; color:#111;
}
.pg-filter--compact .pg-row #f_reset:hover{ border-color:#111; }


/* 필터바 버튼 정렬/간격 보강 */
.pg-filter--compact .pg-row #f_reset,
.pg-filter--compact .pg-row #f_manage{
  flex:0 0 auto;
}



/* =========================
   Admin Manage Button (관리)
   ========================= */
.pg-filter--compact .pg-row #f_manage{
  flex:0 0 auto;
  height:55px; padding:0 16px; border-radius:12px;
  font-weight:800; letter-spacing:.02em;
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px;
  border:1px solid #0f1012;
  color:#fff;
  background:#ea5f65;
  transition:
    transform .08s ease,
    box-shadow .12s ease,
    background .12s ease,
    border-color .12s ease;
  text-decoration:none;
}
.pg-filter--compact .pg-row #f_manage:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.22);
  background:#ea5f65;
  border-color:#0b0c0e;
}
.pg-filter--compact .pg-row #f_manage:active{
  transform:translateY(0);
  box-shadow:0 4px 12px rgba(0,0,0,.18);
}

/* 아이콘 살짝 애니메이션 */
.pg-filter--compact .pg-row #f_manage i{
  font-size:16px; line-height:1;
  transform-origin:50% 50%;
  transition:transform .25s ease;
}
.pg-filter--compact .pg-row #f_manage:hover i{
  transform:rotate(90deg);
}

/* 접근성: 포커스 링 */
.pg-filter--compact .pg-row #f_manage:focus,
.pg-filter--compact .pg-row #f_manage:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(52,120,246,.35),
    0 10px 22px rgba(0,0,0,.22);
}

/* 초기화 버튼과 간격 */
.pg-filter--compact .pg-row #f_manage{ margin-left:6px; }

/* 모바일 최적화 */
@media (max-width:640px){
  .pg-filter--compact .pg-row #f_manage{
    height:36px; padding:0 12px; border-radius:10px;
    font-size:13px;
  }
  .pg-filter--compact .pg-row #f_manage i{ font-size:14px; }
}

/* 데스크톱 가독 폭(선택 사항) */
@media (min-width: 781px){
  .pg-filter--compact .pg-row select.input_st{ min-width:160px; }
}

/* 모바일: 줄바꿈 허용, 각 셀렉트는 100%로 떨어지게 */
@media (max-width: 640px){
  .pg-filter--compact .pg-row{ flex-wrap:wrap; }
  .pg-filter--compact .pg-row select.input_st{
    flex:1 1 100%;
    height:36px;
  }
  .pg-filter--compact .pg-row #f_reset{
    height:36px; padding:0 12px; border-radius:8px; font-size:13px;
    width:100%; justify-content:center;
    
  }
}


/* --- 카드 그리드 --- */
.partner-grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px; margin:10px 0;
}
@media (max-width:1200px){ .partner-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:780px){ .partner-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.empty_list{
  grid-column:1 / -1; text-align:center; padding:40px 0; color:#666;
}

/* --- 카드 박스 + 호버 --- */
.partner-card .gall_box{
  position:relative;
  border:1px solid #eee; border-radius:14px; overflow:hidden; background:#fff;
  transition:transform .08s ease, box-shadow .08s ease;
  /* ↓ 추가: 카드 높이 통일을 위해 세로 레이아웃 고정 */
  display:flex; flex-direction:column; height:100%;
}
.partner-card .gall_box:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.partner-card .pc-link{ position:relative; display:block; z-index:1; text-decoration:none; color:inherit; }

/* --- 썸네일 --- */
.partner-card .thumb{ aspect-ratio:3/2; background:#f6f6f6; overflow:hidden; }
.partner-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* --- 체크박스: 이미지 좌상단 오버레이 --- */
.partner-card .gall_chk{
  position:absolute; top:8px; left:8px; z-index:5;
  margin:0; padding:4px 6px; line-height:1;
  background:rgba(255,255,255,.88); border-radius:8px;
}
.partner-card .gall_chk .selec_chk{ width:16px; height:16px; }

/* --- 텍스트(협력사명/연락처) --- */
.partner-card .meta{
  padding:12px 14px 14px;
  background:linear-gradient(180deg,#fff,#fbfbfb);
  /* ↓ 추가: 본문 영역이 균일하게 늘어나도록 */
  flex:1 1 auto;
}
.partner-card .name{
  display:block; font-weight:900;
  font-size:clamp(18px,2.4vw,22px);
  letter-spacing:-.01em; margin-bottom:4px;
  /* ↓ 추가: 한 줄 고정 */
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.partner-card .phone{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700; font-size:clamp(15px,2vw,17px); color:#1d1d1f;
  /* ↓ 추가: 한 줄 고정 */
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* 전화 아이콘 배지 */
.partner-card .phone i{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%;
  background:#111; color:#fff; border:1px solid #111;
  font-size:12px; line-height:1; box-shadow:0 1px 0 rgba(0,0,0,.06);
}

/* --- 서비스 뱃지 리스트 --- */
.partner-card .services{
  margin-top:10px; display:flex; flex-wrap:wrap; gap:6px;
  /* ↓ 추가: 2줄 고정 높이로 카드 높이 통일 */
  height:52px; overflow:hidden;
}


@media (max-width: 640px){
  /* 서비스 영역 높이/숨김 해제 */
  .partner-card .services{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  /* 데스크톱에서 7개 이후 숨기던 규칙 해제 */
  .partner-card .services .svc-badge:nth-child(n+7){
    display:inline-block !important;
  }
}

@media (max-width:480px){
  .partner-card .services{ height:44px; }
}
.partner-card .svc-badge{
  display:inline-block; padding:5px 8px;
  border:1px solid #e2e2e2; border-radius:999px;
  background:#fff; font-size:12.5px; line-height:1; color:#333;
  /* ↓ 추가: 뱃지 라인 높이 고정 */
  height:24px; line-height:24px; padding:0 8px;
}
/* (선택) 7개 이상은 숨겨서 2줄 안에서 안정화 */
.partner-card .services .svc-badge:nth-child(n+7){ display:none; }


/* =========================
   AJAX Pager (partnerlist)
   ========================= */
.partner-results .partner-pager{
  margin:50px 0 10px;
  display:flex; justify-content:center;
}

.partner-results .pg_ajax{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}

/* 기본 버튼/번호 */
.partner-results .pg_ajax a,
.partner-results .pg_ajax strong{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 12px;
  border-radius:10px; border:1px solid #e3e3e3;
  background:#fff; color:#111; text-decoration:none;
  font-weight:700; line-height:1;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  transition:border-color .12s ease, transform .06s ease;
}

/* 호버/활성 */
.partner-results .pg_ajax a:hover{ border-color:#111; transform:translateY(-1px); }
.partner-results .pg_ajax strong.pg_current{
  background:#0072e6; color:#fff; border-color:#111;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}

/* 처음/이전/다음/끝은 폭 살짝 줄이기 */
.partner-results .pg_ajax .pg_first,
.partner-results .pg_ajax .pg_prev,
.partner-results .pg_ajax .pg_next,
.partner-results .pg_ajax .pg_last{
  min-width:auto; padding:0 12px; font-weight:600;
}

/* 모바일 최적화 */
@media (max-width:640px){
  .partner-results .pg_ajax a,
  .partner-results .pg_ajax strong{
    min-width:34px; height:34px; padding:0 10px;
    border-radius:8px; font-size:13px;
  }
  .partner-results .pg_ajax{ gap:6px; }
}

/* (옵션) 비활성 상태가 있을 경우를 대비한 클래스 */
.partner-results .pg_ajax .is-disabled{
  pointer-events:none; opacity:.45; filter:grayscale(20%);
}


/* 아이콘 페이지네이션 */
.partner-results .pg_ajax .pg_first i,
.partner-results .pg_ajax .pg_prev  i,
.partner-results .pg_ajax .pg_next  i,
.partner-results .pg_ajax .pg_last  i{
  font-size:16px; line-height:1;
}

.partner-results .pg_ajax .pg_first,
.partner-results .pg_ajax .pg_prev,
.partner-results .pg_ajax .pg_next,
.partner-results .pg_ajax .pg_last{
  min-width:40px; height:40px; padding:0 12px; /* 버튼 크기 유지 */
  display:inline-flex; align-items:center; justify-content:center;
}

@media (max-width:640px){
  .partner-results .pg_ajax .pg_first,
  .partner-results .pg_ajax .pg_prev,
  .partner-results .pg_ajax .pg_next,
  .partner-results .pg_ajax .pg_last{
    min-width:34px; height:34px; padding:0 10px;
  }
  .partner-results .pg_ajax .pg_first i,
  .partner-results .pg_ajax .pg_prev  i,
  .partner-results .pg_ajax .pg_next  i,
  .partner-results .pg_ajax .pg_last  i{
    font-size:14px;
  }
}
