.lc-pcmap-wrap{
  width:100%;
  max-width: 1200px;
  margin: 0 auto;
}
.lc-pcmap-search{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:12px;
}
.lc-pcmap-input{
  width:100%;
  box-sizing:border-box;
  padding:14px 12px;
  font-size:16px;
  border:1px solid #d0d0d0;
  border-radius:0;
  outline:none;
}
.lc-pcmap-btn{
  width:100%;
  padding:14px 12px;
  font-size:16px;
  font-weight:700;
  background:#000 !important;
  color:#fff !important;
  border:none;
  border-radius:0;
  cursor:pointer;
}
.lc-pcmap-btn:hover{ opacity:0.9; }
.lc-pcmap-alert{
  margin: 10px 0 14px;
  padding: 12px;
  background:#fff3cd;
  border:1px solid #ffeeba;
  color:#856404;
  font-size:14px;
}
.lc-pcmap-content{
  width:100%;
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
.lc-pcmap-list{
  width:100%;
  border:1px solid #e5e5e5;
  background:#fff;
  max-height:none;
  overflow:visible;
}
.lc-pcmap-item{
  padding:12px;
  border-bottom:1px solid #eee;
  cursor:pointer;
}
.lc-pcmap-item:hover{ background:#fafafa; }
.lc-pcmap-name{ font-weight:800; margin-bottom:6px; }
.lc-pcmap-tag{
  display:inline-block;
  margin-left:6px;
  font-size:12px;
  padding:2px 6px;
  background:#000;
  color:#fff;
  border-radius:0;
  font-weight:700;
}
.lc-pcmap-addr{ font-size:13px; line-height:1.45; }
.lc-pcmap-addr2{ font-size:12px; line-height:1.45; opacity:.75; margin-top:4px; }
.lc-pcmap-map{
  width:100%;
  height:520px;
  border:1px solid #e5e5e5;
  background:#f7f7f7;
}
.lc-pcmap-empty{
  padding:14px;
  font-size:14px;
  color:#333;
}
@media (min-width: 980px){
  .lc-pcmap-content{
    grid-template-columns: 420px 1fr;
    align-items:start;
  }
  .lc-pcmap-list{ max-height: 640px; }
  .lc-pcmap-map{ height: 640px; }
}



/* v0.1.4 additions */
.lc-pcmap-content{
  display:flex;
  gap:16px;
}

.lc-pcmap-left{
  flex: 0 0 380px;
  max-width: 420px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

@media (max-width: 900px){
  .lc-pcmap-content{
    flex-direction: column;
  }
  .lc-pcmap-left{
    flex: 1 1 auto;
    max-width: 100%;
  }
}

.lc-pcmap-topbar{
  display:flex;
  gap:10px;
}

.lc-pcmap-list{
  border: 1px solid #e5e5e5;
  border-radius: 0;
  padding: 10px;
  background: #fff;
  max-height: 520px;
  overflow: auto;
}

.lc-pcmap-item{
  border: 1px solid #f0f0f0;
  padding: 12px;
  margin-bottom: 10px;
  display:flex;
  justify-content: space-between;
  gap:12px;
}

.lc-pcmap-item:last-child{ margin-bottom:0; }

.lc-pcmap-item-title{
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 6px;
}

.lc-pcmap-item-meta{
  font-size: 12px;
  color: #666;
  margin-bottom: 6px;
}

.lc-pcmap-item-addr{
  font-size: 12px;
  color: #333;
  line-height: 1.5;
}


.lc-pcmap-item-support{ font-size:12px; color:#333; opacity:.9; margin-top:6px; line-height:1.35; }
.lc-pcmap-major{ font-weight:700; }
.lc-pcmap-addr-line{ margin-top: 4px; }
.lc-pcmap-addr-tag{
  display:inline-block;
  font-size:11px;
  padding: 1px 6px;
  border:1px solid #ddd;
  margin-right:6px;
}

/* 주소 복사 버튼 */
.lc-pcmap-addr-line{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.lc-pcmap-addr-text{ flex:1 1 auto; min-width:0; }
.lc-pcmap-copy{
  flex:0 0 auto;
  padding:4px 8px;
  font-size:12px;
  font-weight:700;
  border:1px solid #ddd;
  background:#fff;
  color:#111;
  border-radius:8px;
  cursor:pointer;
}
.lc-pcmap-copy:hover{ background:#f6f6f6; }
.lc-pcmap-copy[disabled]{ opacity:.6; cursor:default; }


/* 가능/불가 컬러 (요청: 불가=빨간색, 가능=파란색) */
.lc-pcmap-yn{ font-weight:800; }
.lc-pcmap-yn.is-yes{ color:#1e5bff; }
.lc-pcmap-yn.is-no{ color:#d1242f; }

/* 목록: 주차/예약 + 연락처 같은 줄 */
.lc-pcmap-item-supportRow{
  margin-top:6px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:6px;
  font-size:12px;
  color:#333;
  opacity:.9;
  line-height:1.35;
}
.lc-pcmap-item-supportLeft{ flex:1 1 auto; min-width:0; }

/* 연락처: 예약 옆에 붙여서 표시 (모바일 탭 가능) */
.lc-pcmap-contactWrap{ white-space:nowrap; }
.lc-pcmap-contactTel{ color: inherit; text-decoration: none; cursor: default; }

/* 모바일에서만 탭(전화걸기) UX 제공 */
@media (max-width: 900px){
  /* 밑줄 제거 + 탭 시 전화 연결은 JS로 처리 */
  .lc-pcmap-contactTel[data-tel]{ cursor: pointer; text-decoration: none !important; border-bottom: 0 !important; }
}

/* 태블릿/데스크톱 모드(넓은 화면)에서도 터치 디바이스는 탭 UX 유지 */
@media (hover: none) and (pointer: coarse){
  .lc-pcmap-contactTel[data-tel]{ cursor: pointer; text-decoration: none !important; border-bottom: 0 !important; }
}

/* 기존 단독 연락처 줄은 사용하지 않습니다(하위호환: 숨김) */
.lc-pcmap-item-contact{ display:none; }

/* 모바일: 주소 + 복사 버튼을 한 줄로 */
@media (max-width: 900px){
  .lc-pcmap-addr-line{ flex-wrap:nowrap; }
}

.lc-pcmap-item-actions{
  flex: 0 0 88px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
}

.lc-pcmap-btn[disabled]{
  opacity: .6;
  cursor: not-allowed;
}


.lc-pcmap-empty{
  padding: 14px;
  border: 1px dashed #ddd;
  text-align: center;
  color: #555;
}

.lc-pcmap-wrap.is-loading{
  opacity: 0.85;
  pointer-events: none;
}

.lc-pcmap-alert-soft{
  background:#fafafa;
  border: 1px solid #eee;
  padding: 10px;
  margin-top: 10px;
}

/* pagination */
.lc-pcmap-pager{
  padding: 12px;
  border-top: 1px solid #eee;
  background:#fff;
}
.lc-pcmap-pager-inner{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-start;
}
.lc-pcmap-page-links{
  display:flex;
  gap:6px;
  align-items:center;
}
.lc-pcmap-page-btn{
  padding:10px 12px;
  font-size:14px;
  font-weight:700;
  background:#000 !important;
  color:#fff !important;
  border:none;
  border-radius:0;
  cursor:pointer;
}
.lc-pcmap-page-btn[disabled]{
  opacity:.35;
  cursor:default;
}
.lc-pcmap-page-btn.is-active{
  outline:2px solid #000;
  background:#fff !important;
  color:#000 !important;
}
.lc-pcmap-page-meta{
  font-size:12px;
  opacity:.75;
  margin-left:4px;
}


/* v0.1.7 overrides */
@media (min-width: 980px){
  .lc-pcmap-content{
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    gap:12px !important;
  }
  .lc-pcmap-left{
    flex:0 0 420px !important;
    width:420px !important;
    max-width:420px !important;
    height:640px !important; /* 지도와 동일 */
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }
  .lc-pcmap-map{
    height:640px !important; /* 기준 높이 */
    flex:1 1 auto !important;
  }
  .lc-pcmap-topbar{ flex:0 0 auto !important; }
  .lc-pcmap-list{
    flex:1 1 auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .lc-pcmap-pager{ flex:0 0 auto !important; }
}

/* 페이지네이션 가운데 정렬 */
.lc-pcmap-pager-inner{
  width:100%;
  justify-content:center !important;
}
.lc-pcmap-page-links{ justify-content:center; }
.lc-pcmap-page-meta{
  width:100%;
  text-align:center;
}

/* 목록 클릭 선택 강조 */
.lc-pcmap-item.is-selected{
  background:#f5f5f5;
  border-left:4px solid #000;
}


/* v0.1.8 layout: map full width, list overlay on map */
.lc-pcmap-wrap.is-initial .lc-pcmap-content{
  display:none !important; /* 검색 전에는 지도/목록 숨김 */
}

.lc-pcmap-content{
  position:relative !important;
}

.lc-pcmap-map{
  width:100% !important;
  height:640px !important;
}

.lc-pcmap-left{
  position:absolute !important;
  top:12px !important;
  left:12px !important;
  right:12px !important;
  z-index:50 !important;
  background:rgba(255,255,255,0.96) !important;
  border:1px solid #eee !important;
  box-shadow:0 8px 24px rgba(0,0,0,0.12) !important;
  border-radius:0 !important;
  max-width:520px;
}

@media (min-width: 980px){
  .lc-pcmap-left{
    right:auto !important;
    width:520px !important;
  }
}

.lc-pcmap-list{
  overflow:visible !important; /* 스크롤 없이 */
  max-height:none !important;
}

.lc-pcmap-item{
  cursor:pointer;
}



/* v0.1.9 layout: map always visible, list appears between search and map */
.lc-pcmap-wrap.is-initial .lc-pcmap-content{
  display:block !important; /* 지도는 검색 전에도 보여야 함 */
}
.lc-pcmap-wrap.is-initial .lc-pcmap-left{
  display:none !important; /* 검색 전에는 목록/길찾기 숨김 */
}

.lc-pcmap-content{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}

.lc-pcmap-left{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  z-index:auto !important;
  width:100% !important;
  max-width:none !important;
  background:#fff !important;
  border:1px solid #eee !important;
  box-shadow:0 6px 18px rgba(0,0,0,0.08) !important;
  border-radius:0 !important;
}

.lc-pcmap-list{
  overflow:visible !important;
  max-height:none !important;
}


/* v0.2.1: 작은 액션 버튼 */
.lc-pcmap-btn.lc-pcmap-btn--mini{
  width:auto;
  display:inline-block;
  padding:10px 12px;
  font-size:14px;
  line-height:1.2;
  text-decoration:none;
}

/* v0.2.3: 목록 높이 자동(고정 높이 제거) + 5개/페이지 페이지네이션에 맞춤 */
/*
  과거 버전에서 데스크톱(>=980px)에서 .lc-pcmap-left 가 height:640px 로 고정되어
  - 결과가 많으면 목록/페이지네이션이 잘리고
  - 결과가 적으면 빈 공간이 크게 남는 문제가 있었습니다.
  아래 오버라이드로 컨테이너 높이를 콘텐츠(목록) 길이에 맞춰 자동으로 동작하게 합니다.
*/
.lc-pcmap-left{
  height:auto !important;
  overflow:visible !important;
}

@media (min-width: 980px){
  .lc-pcmap-left{
    height:auto !important;
    overflow:visible !important;
  }
}

.lc-pcmap-list{
  max-height:none !important;
  overflow:visible !important;
}


/* v0.3.1: 지도는 처음부터 노출 + 평점내역은 평균 평점 아래(5개/페이지) */
/* 검색 전: 목록은 숨기고 지도만 보여줍니다 */
.lc-pcmap-wrap.is-initial .lc-pcmap-content{
  display:grid !important;
}
.lc-pcmap-wrap.is-initial .lc-pcmap-left{
  display:none !important;
}

/* 지도 영역은 항상 표시 */
.lc-pcmap-right{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}

/* 리뷰/평점 UI는 PC방 선택 후에만 표시 */
.lc-pcmap-wrap:not(.has-selection) .lc-pcmap-review{ display:none; }
.lc-pcmap-wrap.has-selection .lc-pcmap-review{ display:block; }

/* 리뷰 박스/입력 UI 기본 스타일 */
.lc-pcmap-review{
  border:1px solid #eee;
  background:#fff;
  padding:12px;
}

.lc-pcmap-review-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.lc-pcmap-review-row--textarea{
  align-items:flex-start;
}

.lc-pcmap-review-label{
  flex:0 0 52px;
  font-size:13px;
  font-weight:700;
}

.lc-pcmap-review-select{
  flex:1 1 auto;
  padding:10px 10px;
  border:1px solid #d0d0d0;
  border-radius:0;
  font-size:14px;
  background:#fff;
}

.lc-pcmap-review-text{
  flex:1 1 auto;
  width:100%;
  padding:10px 10px;
  border:1px solid #d0d0d0;
  border-radius:0;
  font-size:14px;
  box-sizing:border-box;
}

.lc-pcmap-review-msg{
  margin-top:8px;
  font-size:13px;
  color:#b00020;
}

.lc-pcmap-review-item{
  border-top:1px solid #f0f0f0;
  padding:10px 0;
}

.lc-pcmap-review-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-size:13px;
  color:#444;
}

.lc-pcmap-review-nick{ font-weight:800; }
.lc-pcmap-review-stars{ letter-spacing:1px; }

.lc-pcmap-review-body{
  margin-top:8px;
  font-size:14px;
  line-height:1.6;
  white-space:pre-wrap;
}

.lc-pcmap-review-flags{
  margin-top:6px;
  font-size:12px;
  color:#666;
}


/* 평균 평점(크게) + 별 표시 */
.lc-pcmap-review-head{
  margin-bottom:10px;
}
.lc-pcmap-review-avgMain{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:22px;
  font-weight:800;
  line-height:1.1;
}
.lc-pcmap-review-avgStars{
  letter-spacing:2px;
}
.lc-pcmap-review-avgNum{
  font-size:22px;
}
.lc-pcmap-review-avgSub{
  margin-top:6px;
  font-size:12px;
  color:#666;
}

/* 평점 내역 목록: 글자 크기 조금 키움 */
.lc-pcmap-review-meta{ font-size:13px; }
.lc-pcmap-review-body{ font-size:14px; }

/* 관리자 삭제 버튼 */
.lc-pcmap-review-del{
  margin-left:auto;
  padding:6px 10px;
  font-size:12px;
  font-weight:700;
  background:#000 !important;
  color:#fff !important;
  border:none;
  border-radius:0;
  cursor:pointer;
}

/* 리뷰 페이지네이션 스타일은 기본 페이지네이션을 재사용 */
.lc-pcmap-review-pager{ margin-top:10px; }

@media (max-width: 900px){
  .lc-pcmap-map{
    height:40vh !important; /* 2/5 */
    min-height:240px;
    max-height:360px;
  }
}

.lc-pcmap-review-actions{ display:flex; gap:8px; align-items:center; }
.lc-pcmap-btn--secondary{ background:#f3f3f3; color:#111; border:1px solid #ddd; }
.lc-pcmap-btn--secondary:hover{ background:#e9e9e9; }

.lc-pcmap-review-edit, .lc-pcmap-review-del{ border:1px solid #ddd; background:#fff; color:#111; padding:4px 8px; border-radius:8px; font-size:12px; cursor:pointer; }
.lc-pcmap-review-edit:hover, .lc-pcmap-review-del:hover{ background:#f6f6f6; }

/* v0.3.3: 평균 평점 헤더 중앙 정렬 + 검색 전(PC) 지도 가로 100% */
.lc-pcmap-review-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.lc-pcmap-review-avgMain{
  justify-content:center;
}

/* 검색 전(목록 클릭 전)에는 목록이 숨겨지면서 레이아웃이 바뀌는데,
   이때 PC에서 지도 컨테이너가 shrink 되는 케이스를 강제로 100%로 고정합니다. */
.lc-pcmap-wrap.is-initial .lc-pcmap-content{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
}
.lc-pcmap-wrap.is-initial .lc-pcmap-right,
.lc-pcmap-right,
.lc-pcmap-map{
  width:100% !important;
  max-width:none !important;
}
.lc-pcmap-map{ display:block; min-width:0; }

/* v0.3.4: 검색 전(PC)에도 지도 가로 100% 강제
   - 일부 테마/이전 규칙에서 grid 2열(420px + 1fr)이 적용된 상태에서
     왼쪽 컬럼이 숨겨지면, 오른쪽(지도)이 420px만 차지하고 우측에 빈공간이 생깁니다.
   - 아예 column layout을 강제로 고정해서 빈 칸이 발생하지 않도록 처리합니다.
*/
.lc-pcmap-content{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  max-width:none !important;
}
@media (min-width: 980px){
  .lc-pcmap-content{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
  }
}
.lc-pcmap-wrap.is-initial .lc-pcmap-content{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
}
.lc-pcmap-wrap.is-initial .lc-pcmap-right{ width:100% !important; }
