/* ── dd__store 스킨 ── store_map.php 스타일 동일 기반 ── */

/* 검색 + 필터 */
#bo_store .map_search {
    margin-bottom: 3.2rem;
}

#bo_store .search_wrap {
    display: flex;
    gap: 1.6rem;
    margin-bottom: 1.6rem;
}

#bo_store .search_wrap .frm_input {
    flex: 1;
    height: 5.6rem;
    padding: 0 2.4rem;
    border: 1px solid var(--line-color);
    font-size: 1.6rem;
}

#bo_store .search_btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    height: 5.6rem;
    padding: 0 2.4rem;
    background: var(--primary-color);
    color: var(--white-color);
    font-size: 1.6rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.3s;
    white-space: nowrap;
}

#bo_store .search_btn:hover {}

#bo_store .search_btn svg {
    width: 1.6rem;
    height: 1.6rem;
    stroke: var(--white-color);
}

#bo_store .region_filter {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

#bo_store .rf_btn {
    padding: 0.8rem 1.6rem;
    border: 1px solid var(--line-color);
    cursor: pointer;
    transition: all 0.2s;
    background: var(--white-color);
    color: var(--body-color);
    text-decoration: none;
    display: inline-block;
}

#bo_store .rf_btn.active,
#bo_store .rf_btn:hover {
    background: var(--primary-color);
    color: var(--white-color);
    border-color: var(--primary-color);
}

/* 관리자 글쓰기 */
#bo_store .store_admin_bar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 2.4rem;
}

#bo_store .btn_store_write {
    display: inline-flex;
    align-items: center;
    height: 4.4rem;
    padding: 0 2rem;
    background: var(--primary-color);
    color: var(--white-color);
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
}

/* 매장 목록 */
#bo_store .store_list {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* 매장 카드 — store_map.php .main_store_info 동일 */
#bo_store .main_store_info {
    padding: 3.2rem;
    border: 1px solid var(--line-color);
    transition: border-color 0.3s;
}

#bo_store .main_store_info:hover {
    border-color: var(--point-color);
}

#bo_store .msi_header {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 2.4rem;
}

#bo_store .msi_badge {
    padding: 0.8rem 1.6rem;
    background: var(--point-color);
    color: var(--white-color);
    font-weight: 700;
    flex-shrink: 0;
}

#bo_store .msi_header h3 {
    font-size: 2.4rem;
    font-weight: 700;
}

#bo_store .msi_header h3 a {
    color: inherit;
    text-decoration: none;
}

#bo_store .msi_header h3 a:hover {
    color: var(--point-color);
}

#bo_store .msi_body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3.2rem;
}

#bo_store .info_list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

#bo_store .info_list li {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    font-size: 1.6rem;
}

#bo_store .info_list svg {
    width: 1.6rem;
    height: 1.6rem;
    stroke: var(--point-color);
    flex-shrink: 0;
    margin-top: 0;
}

#bo_store .info_list a {
    text-decoration: underline;
    color: inherit;
}

#bo_store .msi_actions {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    flex-shrink: 0;
}

#bo_store .action_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    height: 4.8rem;
    width: 16rem;
    font-size: 1.6rem;
    font-weight: 600;
    transition: opacity 0.3s;
    text-decoration: none;
}

#bo_store .action_btn svg {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
}

#bo_store .tel_btn {
    background: var(--point-color);
    color: var(--white-color);
}

#bo_store .tel_btn svg { stroke: var(--white-color); }

#bo_store .map_btn {
    background: var(--background-color);
    color: var(--body-color);
    border: 1px solid var(--line-color);
}

#bo_store .action_btn:hover {}

#bo_store .store_empty {
    text-align: center;
    padding: 6rem 0;
    font-size: 1.6rem;
    color: var(--body-color);
    border: 1px solid var(--line-color);
}

/* ── write — fo_wrap 스타일 ── */
#bo_store_write .fo_wrap {
    border-top: 1px solid var(--line-color);
    color: var(--body-color);
    font-size: 1.6rem;
}

#bo_store_write .fo_wrap .input {
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

#bo_store_write .fo_wrap .tit {
    min-width: 16rem;
    padding: 1.6rem 2rem;
    font-weight: 600;
    background: var(--background-color);
    align-self: stretch;
    display: flex;
    align-items: center;
    border-right: 1px solid var(--line-color);
    flex-shrink: 0;
}

#bo_store_write .fo_wrap .tit em {
    color: var(--point-color);
    font-style: normal;
    margin-left: 0.3rem;
}

#bo_store_write .fo_wrap .field {
    flex: 1;
    padding: 1.2rem 2rem;
}

#bo_store_write .fo_wrap .frm_input {
    width: 100%;
    height: 4.4rem;
    padding: 0 1.2rem;
    border: 1px solid var(--line-color);
    font-size: 1.6rem;
    background: var(--white-color);
}

#bo_store_write .fo_wrap select.frm_input {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.2rem center;
    padding-right: 3.2rem;
}

#bo_store_write .fo_wrap textarea.frm_input {
    height: 12rem;
    padding: 1rem 1.2rem;
    resize: vertical;
}

#bo_store_write .store_write_btns {
    display: flex;
    justify-content: center;
    gap: 1.6rem;
    margin-top: 4rem;
}

#bo_store_write .btn_cancel {
    display: inline-flex;
    align-items: center;
    height: 4.8rem;
    padding: 0 3.2rem;
    border: 1px solid var(--line-color);
    color: var(--body-color);
    font-size: 1.6rem;
    text-decoration: none;
    background: var(--background-color);
}

#bo_store_write .btn_submit {
    display: inline-flex;
    align-items: center;
    height: 4.8rem;
    padding: 0 3.2rem;
    background: var(--primary-color);
    color: var(--white-color);
    font-size: 1.6rem;
    font-weight: 700;
    cursor: pointer;
}

/* ── view — store_map.php .main_store_info 동일 구조 ── */
#bo_store_view .main_store_info {
    padding: 3.2rem;
    border: 1px solid var(--line-color);
}

#bo_store_view .msi_header {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 2.4rem;
}

#bo_store_view .msi_badge {
    padding: 0.8rem 1.6rem;
    background: var(--point-color);
    color: var(--white-color);
    font-weight: 700;
}

#bo_store_view .msi_header h2 {
    font-size: 2.4rem;
    font-weight: 700;
}

#bo_store_view .msi_body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3.2rem;
}

#bo_store_view .msi_detail { flex: 1; }

#bo_store_view .info_list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

#bo_store_view .info_list li {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    font-size: 1.6rem;
}

#bo_store_view .info_list svg {
    width: 1.6rem;
    height: 1.6rem;
    stroke: var(--point-color);
    flex-shrink: 0;
    margin-top: 0;
}

#bo_store_view .info_list a {
    text-decoration: underline;
    color: inherit;
}

#bo_store_view .msi_actions {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    flex-shrink: 0;
}

#bo_store_view .action_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    height: 4.8rem;
    width: 16rem;
    font-size: 1.6rem;
    font-weight: 600;
    transition: opacity 0.3s;
    text-decoration: none;
}

#bo_store_view .action_btn svg {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
}

#bo_store_view .tel_btn {
    background: var(--point-color);
    color: var(--white-color);
}

#bo_store_view .tel_btn svg { stroke: var(--white-color); }

#bo_store_view .map_btn {
    background: var(--background-color);
    color: var(--body-color);
    border: 1px solid var(--line-color);
}

#bo_store_view .action_btn:hover {}

#bo_store_view .sv_content {
    margin-top: 3.2rem;
    padding: 2.4rem 3.2rem;
    border: 1px solid var(--line-color);
    font-size: 1.6rem;
    line-height: 1.8;
    color: var(--body-color);
}

#bo_store_view .sv_nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3.2rem;
    padding-top: 2.4rem;
    border-top: 1px solid var(--line-color);
}

#bo_store_view .sv_back {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    height: 4.8rem;
    padding: 0 2.4rem;
    background: var(--background-color);
    border: 1px solid var(--line-color);
    font-size: 1.5rem;
    color: var(--body-color);
    text-decoration: none;
}

#bo_store_view .sv_admin {
    display: flex;
    gap: 0.8rem;
}

#bo_store_view .sv_admin a {
    display: inline-flex;
    align-items: center;
    height: 4.8rem;
    padding: 0 1.6rem;
    border: 1px solid var(--line-color);
    font-size: 1.5rem;
    color: var(--body-color);
    text-decoration: none;
    background: var(--white-color);
}

#bo_store_write .map_code_area {
    height: 14rem;
    font-size: 1.3rem;
    font-family: monospace;
    resize: vertical;
}

/* 파일 업로드 */
#bo_store_write .file_row {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 0.4rem 0;
}

#bo_store_write .frm_file {
    font-size: 1.4rem;
}

#bo_store_write .file_name {
    font-size: 1.4rem;
    color: var(--body-color);
}

#bo_store_write .file_del_label {
    font-size: 1.4rem;
    color: #c00;
    cursor: pointer;
    white-space: nowrap;
}

/* 뷰 — 사진 그리드 */
#bo_store_view .sv_photos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
    margin-top: 2.4rem;
}

#bo_store_view .sv_photo {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--background-color);
}

#bo_store_view .sv_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 카카오맵 */
#bo_store .msi_map,
#bo_store_view .msi_map {
    margin-top: 2.4rem;
    overflow: hidden;
}

#bo_store .msi_map .root_daum_roughmap,
#bo_store_view .msi_map .root_daum_roughmap { width: 100% !important; }
#bo_store .msi_map .cont,
#bo_store_view .msi_map .cont { display: none; }
#bo_store .msi_map .wrap_controllers,
#bo_store_view .msi_map .wrap_controllers { display: none; }
#bo_store .msi_map .border2,
#bo_store_view .msi_map .border2 { display: block !important; }

/* 반응형 */
@media (max-width: 768px) {
    #bo_store .msi_body,
    #bo_store_view .msi_body {
        flex-direction: column;
    }

    #bo_store .msi_actions,
    #bo_store_view .msi_actions {
        flex-direction: row;
        width: 100%;
    }

    #bo_store .action_btn,
    #bo_store_view .action_btn {
        flex: 1;
        width: auto;
    }

    #bo_store_write .fo_wrap .input {
        flex-direction: column;
        align-items: stretch;
    }

    #bo_store_write .fo_wrap .tit {
        min-width: unset;
        border-right: none;
        border-bottom: 1px solid var(--line-color);
        padding: 1rem 1.6rem;
    }

    #bo_store_write .fo_wrap .field {
        padding: 1rem 1.6rem;
    }
}
