/* ── 자영업체 — 홈 표시(소개글·수정 버튼) + 수정 폼 (map.html/gmap.html/biz.html 공용) ──
   폼(#bzeForm .bze-form)은 PC 오른쪽 확장 패널(.pc-side2#pcBizEdit)과 모바일 모달(.bze-modal) 두 컨테이너에 옮겨 붙는다 */

/* 영업시간 표시 — 평일/주말/공휴일 줄 */
.biz-hours{ display: block; }
.biz-hours-row{ display: flex; gap: 8px; align-items: baseline; font-weight: 500; line-height: 1.6; }
.biz-hours-row em{ flex: none; min-width: 38px; font-style: normal; font-size: 11px; font-weight: 700; color: #9aa1ab; }

/* 영업시간 입력 — 라벨(평일/주말/공휴일) + 입력 3줄 */
.bze-hours{ display: flex; flex-direction: column; gap: 6px; }
.bze-hours-row{ display: flex; align-items: center; gap: 8px; }
.bze-hours-row span{ flex: none; width: 40px; font-size: 12px; font-weight: 600; color: #6b7280; }
.bze-hours-row input{ flex: 1 1 auto; min-width: 0; }

/* 소개글 — 줄바꿈 유지, 일반 굵기 */
.biz-intro{ white-space: pre-wrap; word-break: break-word; font-weight: 500; line-height: 1.6; }

/* 수정 버튼 — 필드 카드 아래 가운데 캡슐 */
.biz-edit-row{ display: flex; justify-content: center; padding: 8px 14px 12px; }
.biz-edit-btn{ display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 18px; border-radius: 999px;
    background: #fff3e8; color: #e8590c !important; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: none !important; }
.biz-edit-btn:active{ opacity: .75; }

/* ── 폼 공통 ── */
.bze-form{ display: flex; flex-direction: column; min-height: 0; }
.bze-fields{ padding: 0 2px; min-height: 0; }
.bze-lbl{ display: block; margin: 10px 2px 4px; font-size: 11px; font-weight: 600; color: #9aa1ab; }
.bze-lbl:first-child{ margin-top: 0; }
.bze-lbl b{ color: #e8590c; font-weight: 700; }
.bze-form input[type=text], .bze-form input[type=tel], .bze-form input[type=url], .bze-form select, .bze-form textarea{
    width: 100%; box-sizing: border-box; border: 1px solid rgba(25,32,50,.14); border-radius: 12px; padding: 10px 12px;
    font-size: 14px; line-height: 1.5; outline: none; background: #fff; color: #222; -webkit-appearance: none; appearance: none; }
/* 업종 select — 화살표 표시 (appearance:none 으로 기본 화살표가 사라지므로) */
.bze-form select{ height: 44px; padding-right: 36px; cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238a919e' stroke-width='1.8' stroke-linecap='round'/></svg>");
    background-repeat: no-repeat; background-position: right 14px center; }
.bze-form textarea{ height: 110px; resize: none; }
.bze-form input:focus, .bze-form select:focus, .bze-form textarea:focus{ border-color: #e8590c; box-shadow: 0 0 0 3px rgba(232,89,12,.12); }
.bze-note{ margin: 6px 2px 0; font-size: 11px; color: #8a919e; line-height: 1.5; }
/* 주소 + 검색 버튼 + 후보 목록 (공공지도 데이터) */
.bze-addr-row{ display: flex; gap: 6px; align-items: stretch; }
.bze-form .bze-addr2{ margin-top: 6px; }   /* 상세주소 — 주소 검색줄 바로 아래 */
.bze-addr-row input{ flex: 1 1 auto; min-width: 0; }
.bze-addr-btn{ flex: none; display: inline-flex; align-items: center; gap: 5px; padding: 0 13px; border-radius: 12px;
    background: #f1f3f6; color: #333 !important; font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; text-decoration: none !important; }
.bze-addr-list{ list-style: none; margin: 6px 0 0; padding: 4px 0; border: 1px solid rgba(25,32,50,.14); border-radius: 12px; background: #fff;
    max-height: 190px; overflow-y: auto; box-shadow: 0 6px 18px rgba(0,0,0,.10); }
.bze-addr-list li{ padding: 9px 12px; font-size: 13px; line-height: 1.45; color: #222; }
.bze-addr-item{ cursor: pointer; border-bottom: 1px solid rgba(25,32,50,.06); }
.bze-addr-item:last-child{ border-bottom: 0; }
.bze-addr-item:hover, .bze-addr-item:active{ background: #fff3e8; }
.bze-addr-item i{ color: #e8590c; margin-right: 2px; }
.bze-addr-sub{ display: block; margin-top: 2px; padding-left: 18px; font-size: 11px; color: #8a919e; }   /* 지번 보조 표기 */
.bze-addr-msg{ color: #8a919e; }
.bze-photo{ position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
    min-height: 96px; border: 2px dashed rgba(25,32,50,.16); border-radius: 14px; padding: 12px; cursor: pointer; text-align: center; }
.bze-photo img{ width: 140px; max-width: 100%; border-radius: 10px; display: block; }
.bze-photo-hint{ font-size: 13px; color: #8a919e; }
.bze-btns{ display: flex; gap: 8px; margin-top: 14px; flex: none; }
.bze-cancel, .bze-save{ flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; height: 38px; border-radius: 999px;
    font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: none !important; }
.bze-cancel{ background: #f1f3f6; color: #333 !important; }
.bze-save{ background: #e8590c; color: #fff !important; }
.bze-save.busy{ opacity: .6; pointer-events: none; }

/* ── PC 오른쪽 확장 패널 안 — 패널 자체가 스크롤, 카드 안에 폼 ── */
.pc-biz-edit .bze-host{ padding: 16px 14px; }
/* 지도(PC 확장 패널) — 취소/저장을 작게: 가운데 정렬 소형 캡슐 */
.pc-biz-edit .bze-btns{ justify-content: center; margin-top: 12px; }
.pc-biz-edit .bze-cancel, .pc-biz-edit .bze-save{ flex: 0 0 auto; height: 32px; padding: 0 18px; font-size: 12px; }
.pc-biz-edit .bze-form input[type=text], .pc-biz-edit .bze-form input[type=tel], .pc-biz-edit .bze-form input[type=url], .pc-biz-edit .bze-form select, .pc-biz-edit .bze-form textarea{ background-color: #f7f8fa; }
.pc-biz-edit .bze-form input:focus, .pc-biz-edit .bze-form select:focus, .pc-biz-edit .bze-form textarea:focus{ background-color: #fff; }

/* ── 모바일 모달 (방명록 신고 모달 .gbr-modal 과 같은 등장 방식) — 폼 영역만 스크롤 ── */
.bze-modal{ position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 3300; visibility: hidden; pointer-events: none; transition: visibility 0s linear .3s; }
.bze-modal.on{ visibility: visible; pointer-events: auto; transition: visibility 0s; }
.bze-backdrop{ position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(15,20,30,.45); opacity: 0; transition: opacity .3s ease; }
.bze-modal.on .bze-backdrop{ opacity: 1; }
.bze-box{ position: absolute; left: 50%; top: 50%; width: 400px; max-width: calc(100vw - 32px); max-height: calc(100vh - 40px);
    display: flex; flex-direction: column; box-sizing: border-box;
    opacity: 0; transform: translate(-50%, calc(-50% + 28px)); transition: transform .3s cubic-bezier(.2,.7,.3,1), opacity .3s ease;
    background: #fff; border-radius: 26px; box-shadow: 0 2px 2px rgba(0,0,0,.1), 0 2px 10px rgba(0,0,0,.2); padding: 20px 18px 14px; }
.bze-modal.on .bze-box{ opacity: 1; transform: translate(-50%, -50%); }
.bze-title{ margin: 0 2px 10px; font-size: 17px; font-weight: 700; color: #111; flex: none; }
.bze-box .bze-host, .bze-box .bze-form{ display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.bze-box .bze-fields{ overflow-y: auto; -webkit-overflow-scrolling: touch; flex: 1 1 auto; }

/* 다크모드 — dark.css 팔레트(패널 #0a2733 · 칩 #123748 · 라인 rgba(255,255,255,.14)) */
@media (prefers-color-scheme: dark){
    .biz-edit-btn{ background: rgba(232,89,12,.18); color: #ff9a5c !important; }
    .bze-box{ background: #0a2733; color: #fff; }
    .bze-title{ color: #fff; }
    .bze-lbl{ color: rgba(255,255,255,.6); }
    .bze-hours-row span, .biz-hours-row em{ color: rgba(255,255,255,.6); }
    .bze-form input[type=text], .bze-form input[type=tel], .bze-form input[type=url], .bze-form select, .bze-form textarea,
    .pc-biz-edit .bze-form input[type=text], .pc-biz-edit .bze-form input[type=tel], .pc-biz-edit .bze-form input[type=url], .pc-biz-edit .bze-form select, .pc-biz-edit .bze-form textarea,
    .pc-biz-edit .bze-form input:focus, .pc-biz-edit .bze-form select:focus, .pc-biz-edit .bze-form textarea:focus{
        background-color: #123748; color: #fff; border-color: rgba(255,255,255,.14); }
    .bze-form select option{ background: #123748; color: #fff; }
    .bze-photo{ border-color: rgba(255,255,255,.2); }
    .bze-cancel{ background: rgba(255,255,255,.12); color: #fff !important; }
    .bze-addr-btn{ background: rgba(255,255,255,.12); color: #fff !important; }
    .bze-addr-list{ background: #123748; border-color: rgba(255,255,255,.14); }
    .bze-addr-list li{ color: #fff; }
    .bze-addr-item{ border-bottom-color: rgba(255,255,255,.08); }
    .bze-addr-item:hover, .bze-addr-item:active{ background: rgba(232,89,12,.22); }
    .bze-note, .bze-photo-hint, .bze-addr-sub{ color: rgba(255,255,255,.55); }
}
