/* 지점안내 전용: 다른 배너/본문 스타일과 분리합니다. */
.woori_branches_page { padding-top: 64px; }
.woori_branches_page .woori_branch_intro {
    margin: 20px 0 0;
    color: var(--woori-gray);
    font-size: var(--woori-page-body-size);
    line-height: 1.7;
}
.woori_branches_page .woori_branch_maps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}
.woori_branches_page .woori_branch_map_panel {
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--woori-border);
    border-radius: 20px;
    background: #fff;
}
.woori_branches_page .woori_branch_panel_heading {
    display: flex;
    gap: 14px;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--woori-border);
}
.woori_branches_page .woori_branch_panel_heading > span {
    color: #01a0c7;
    font-family: var(--woori-font-number);
    font-size: 18px;
    font-weight: 600;
}
.woori_branches_page .woori_branch_panel_heading h3 {
    margin: 0;
    color: #0b2a6b;
    font-family: var(--woori-font-display);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.4;
}
.woori_branches_page .woori_branch_national,
.woori_branches_page .woori_branch_detail {
    aspect-ratio: 1;
    margin: 16px -8px;
}
.woori_branches_page svg { display: block; width: 100%; height: auto; }
.woori_branches_page .woori_map_shape {
    fill: #d8e2ed;
    stroke: #fff;
    stroke-width: 1.1px;
    stroke-linejoin: round;
    cursor: pointer;
    transition: fill 180ms ease;
}
.woori_branches_page .woori_map_shape:hover,
.woori_branches_page .woori_map_shape:focus-visible { fill: #01a0c7; outline: none; stroke: #0b2a6b; stroke-width: 2px; }
.woori_branches_page .woori_map_shape.is-selected { fill: #0b2a6b; }
.woori_branches_page .woori_map_label {
    fill: #0b2a6b;
    font-family: var(--woori-font-body);
    font-weight: 600;
    text-anchor: middle;
    dominant-baseline: middle;
    paint-order: stroke;
    stroke: #fff;
    stroke-width: 3px;
    stroke-linejoin: round;
    cursor: pointer;
}
.woori_branches_page .woori_map_leader { stroke: #8295ab; stroke-width: .8px; pointer-events: none; }
.woori_branches_page .woori_branch_select_label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0;
    color: var(--woori-text);
    font-size: 16px;
    font-weight: 600;
}
.woori_branches_page select {
    flex: 1;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--woori-border);
    border-radius: 8px;
    color: var(--woori-text);
    background: #fff;
    font: inherit;
}
.woori_branches_page .woori_branch_region_buttons,
.woori_branches_page .woori_branch_district_buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.woori_branches_page .woori_branch_district_buttons { max-height: 270px; overflow-y: auto; padding: 2px; }
.woori_branches_page .woori_branch_maps button {
    min-width: 0;
    min-height: 44px;
    padding: 9px 6px;
    border: 1px solid var(--woori-border);
    border-radius: 7px;
    background: #fff;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    word-break: keep-all;
    cursor: pointer;
    transition: color 180ms ease, background 180ms ease;
}
.woori_branches_page .woori_branch_maps button:hover { background: #edf7fa; }
.woori_branches_page .woori_branch_maps button[aria-pressed="true"] { border-color: #0b2a6b; background: #0b2a6b; color: #fff; }
.woori_branches_page button:focus-visible,
.woori_branches_page select:focus-visible,
.woori_branches_page a:focus-visible { outline: 2px solid #01a0c7; outline-offset: 3px; }
.woori_branches_page .woori_branch_district_count { margin: 20px 0 14px; color: var(--woori-gray); font-size: 16px; line-height: 1.5; }
.woori_branches_page .woori_branch_contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 36px;
    padding: 32px;
    border-radius: 16px;
    background: #f3f6fa;
}
.woori_branches_page .woori_branch_contact p { margin: 0; color: var(--woori-gray); font-size: 16px; line-height: 1.7; }
.woori_branches_page .woori_branch_contact h3 { margin: 8px 0; color: #0b2a6b; font-family: var(--woori-font-display); font-size: 24px; font-weight: 500; line-height: 1.5; }
.woori_branches_page .woori_branch_contact a { display: inline-flex; gap: 12px; align-items: center; flex-shrink: 0; color: #0b2a6b; font-family: var(--woori-font-number); font-size: clamp(24px, 2.5vw, 36px); font-weight: 600; text-decoration: none; }
.woori_branches_page .woori_branch_contact i { color: #01a0c7; }
.woori_branches_page .woori_branch_map_source { margin: 18px 0 0; color: var(--woori-gray); font-size: 13px; line-height: 1.7; }
.woori_branches_page .woori_branch_loading { padding: 16px; background: #f3f6fa; color: var(--woori-text); }
.woori_branches_page .woori_branch_loading[hidden] { display: none; }
@media (max-width: 800px) {
    .woori_branches_page { padding-top: 36px; }
    .woori_branches_page .woori_branch_maps { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .woori_branches_page .woori_branch_map_panel { padding: 20px; }
    .woori_branches_page .woori_branch_national,
    .woori_branches_page .woori_branch_detail { max-width: 520px; margin-right: auto; margin-left: auto; }
    .woori_branches_page .woori_branch_contact { flex-direction: column; align-items: flex-start; padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .woori_branches_page .woori_map_shape,
    .woori_branches_page .woori_branch_maps button { transition: none; }
}
