/* ============================================================
   한우프라자 v2 — 개발 연동 보조 스타일 (퍼블 style.css 뒤에 로드)
   퍼블 원본은 수정하지 않고, 실데이터 연동에 필요한 최소 보정만 둔다.
   ============================================================ */

/* 네이버 지도: 메인(.store_map_img) / 매장찾기(.fm_map) 자리에 실제 지도 */
.store_map_img.hw-map, .fm_map.hw-map{ display:block; background-image:none !important; overflow:hidden; }
.hw-map .naver-map, .hw-map > div{ font-family:inherit; }
.hw-map-fail{ height:100%; display:flex; align-items:center; justify-content:center; text-align:center; padding:20px; font-size:14px; line-height:1.7; color:#777; background:#f3efe8; }

/* 지도 핀(엠블럼) + 클러스터 (map_test 와 동일) */
.hw-pin{ position:relative; width:44px; height:54px; cursor:pointer; filter:drop-shadow(0 3px 4px rgba(0,0,0,.35)); }
.hw-pin .em{ position:absolute; left:0; top:0; width:44px; height:44px; border-radius:50%; background:#fff url(../img/pin-emblem.png) center/40px no-repeat; border:2px solid #c20f2f; box-sizing:border-box; }
.hw-pin .tail{ position:absolute; left:16px; top:41px; width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-top:11px solid #c20f2f; }
.hw-pin.is_on .em{ border-color:#c9974e; box-shadow:0 0 0 3px rgba(201,151,78,.35); }
.hw-cluster{ background:#c20f2f; color:#fff; border-radius:50%; text-align:center; font-weight:800; border:3px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.35); cursor:pointer; box-sizing:border-box; font-family:'Pretendard',sans-serif; }
.hw-c1{ width:36px; height:36px; line-height:30px; font-size:14px; } .hw-c2{ width:44px; height:44px; line-height:38px; font-size:16px; } .hw-c3{ width:54px; height:54px; line-height:48px; font-size:18px; }
.leaflet-popup-tip-container{ display:none; } /* 지도 말풍선 꼬리 제거 */
.hw-iw{ padding:12px 14px; min-width:200px; max-width:260px; font-family:'Pretendard',sans-serif; line-height:1.5; border-radius:6px; box-shadow:0 6px 18px rgba(0,0,0,.18); background:#fff; } /* 꼬리 없는 박스. 메인은 마커 기준으로 열려 네이버가 핀 위에 배치, 매장찾기(.hw-iw-pt)는 좌표 기준이라 CSS로 핀 위 가운데로 이동 */
.hw-iw.hw-iw-pt{ transform:translate(-50%, calc(-100% - 62px)); }
div:has(> div > .hw-iw), div:has(> .hw-iw){ background:transparent !important; border:0 !important; box-shadow:none !important; pointer-events:none; } /* 네이버 인포윈도우 바탕 상자(흰 네모) 숨김 */
.hw-iw{ pointer-events:auto; }
.hw-iw b{ display:block; font-size:15px; color:#c20f2f; margin-bottom:4px; } .hw-iw span{ display:block; font-size:12px; color:#444; }
.hw-iw a{ display:inline-block; margin-top:6px; margin-right:6px; font-size:12px; font-weight:600; color:#a07b3f; }

/* 커스텀 셀렉트 안의 실제 select 폼 전송용 hidden 은 퍼블이 이미 제공 — 네이티브 폴백 없음 */

/* 페이지네이션 비활성 */
.paging_box .pg_page.is_disabled{ opacity:.35; pointer-events:none; }

/* 빈 목록 */
.hw-empty{ padding:80px 0; text-align:center; color:#9a9a9a; font-size:15px; }

/* 그누보드 기본 요소 보정 */
.bo_v_con img, .hw-content img{ max-width:100%; height:auto; }
#captcha{ display:inline-block; }
.blind{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
#hd_pop{ position:absolute; top:0; left:0; z-index:1000; }
#hd_pop h2{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

/* 로그인 상태 배지: 헤더 우측 회원명 (퍼블에 없음, 필요 시 사용) */
.hw-hd-name{ display:none; }
.is_login .hw-hd-name{ display:inline-flex; align-items:center; font-size:14px; margin-right:6px; }

/* 매장소식 카드 빈 썸네일 아이콘 */
.sn_photo.empty, .sc_thumb.empty, .evc_thumb:not(.has_img), .sp_img.empty, .mp_card .sn_photo.empty, .nc_thumb.empty, .sr_thumb.empty{ background:url(../img_pub/noimage.jpg) no-repeat center/cover #191410; }

/* 그누보드 required 표시(빨간 별 배경) 제거 — 퍼블 디자인에 없음 */
.login_page input.required, .login_page textarea.required, .login_page select.required, .jn_form .required, .lg_form .required{ background-image:none !important; }

/* 이용약관·개인정보처리방침 본문 (policy.inc.php → 푸터 팝업 .contentBox / privacy.php·terms.php .pv_body) */
.privacyPopup .contentBox .policy_title, .pv_body .policy_title{ font-size:17px; margin:0 0 18px; }
.privacyPopup .contentBox h4, .pv_body h4{ font-size:15px; font-weight:700; margin:22px 0 8px; color:#222; }
.privacyPopup .contentBox p, .pv_body p{ margin:0 0 8px; line-height:1.7; word-break:keep-all; }
.privacyPopup .contentBox ul, .pv_body ul{ margin:4px 0 10px 18px; padding:0; }
.privacyPopup .contentBox li, .pv_body li{ list-style:disc; line-height:1.7; margin:0 0 3px; }

/* 매장찾기 목록 펼침 상세: 3열 균등 + 라벨/값 정렬 (2026-10-13) */
.store_detail{ padding:28px 44px 24px; }
.sd_cols{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0; }
.sd_col{ padding:0 28px; min-width:0; }
.sd_col:first-child{ padding-left:0; } .sd_col:last-child{ padding-right:0; }
.sd_col + .sd_col{ border-left:1px solid #ececec; }
.sd_tit{ padding-bottom:8px; margin-bottom:14px; }
.sd_row{ display:grid; grid-template-columns:92px minmax(0,1fr); column-gap:12px; align-items:start; }
.sd_row + .sd_row{ margin-top:11px; }
.sd_row dt{ padding-top:1px; }
.sd_row dd{ margin-top:0; word-break:keep-all; overflow-wrap:anywhere; }
.sd_btn_box{ margin-top:24px; padding-top:18px; border-top:1px solid #ececec; }
@media screen and (max-width:1024px){
  .sd_cols{ grid-template-columns:1fr; }
  .sd_col{ padding:0; }
  .sd_col + .sd_col{ border-left:0; border-top:1px solid #ececec; padding-top:20px; margin-top:20px; }
}
@media screen and (max-width:650px){
  .store_detail{ padding:20px 14px 18px; }
  .sd_row{ grid-template-columns:76px minmax(0,1fr); }
}
