/* v7/locale/css/shell.css — 다국어 사이트 공용 레이아웃 셸
 *
 * Iter 91 재설계 — 다크 레드 / 따뜻한 중립 / 모던 / 심플
 *   - 그라데이션 최소화 (로그인 위젯, NEW 배지만 예외)
 *   - 명암비 WCAG AA/AAA 보장
 *   - Light theme only
 *
 * 디자인 토큰:
 *   --philgo-red-*: 강조 색 (버튼/active/링크 호버)
 *   --surface-*: 따뜻한 중립 베이스
 *   --text-*: 위계 명확 (primary 16.5:1, secondary 9.7:1, muted 5.7:1)
 */

:root {
    /* Brand — 네이비/슬레이트 블루 (부동산 사이트 표준, 신뢰감)
       변수 이름은 호환성을 위해 --philgo-red-* 유지하고 값만 네이비로 변경. */
    --philgo-red-900: #1e3a8a;  /* navy-900 */
    --philgo-red-800: #1e40af;  /* navy-800 (main brand) */
    --philgo-red-700: #2563eb;  /* navy-700 (link/active) */
    --philgo-red-600: #3b82f6;  /* navy-600 */
    --philgo-red-50:  #eff6ff;  /* navy-50  (배경 fill) */

    /* Brand RGB (rgba 그림자/오버레이용) */
    --philgo-rgb: 30, 64, 175;

    /* Surface — 차분한 쿨 중립 (이전: 따뜻한 베이지) */
    --surface-page:     #f4f6f8;
    --surface-card:     #ffffff;
    --surface-elevated: #fafbfc;
    --border:           #e2e8f0;
    --border-strong:    #cbd5e1;

    /* Text */
    --text-primary:   #1a1a1a;
    --text-secondary: #4a4a4a;
    --text-muted:     #6b6b6b;

    /* Web Awesome brand override — 네이비 매핑 */
    --wa-color-brand-95: var(--philgo-red-50);
    --wa-color-brand-50: var(--philgo-red-800);
    --wa-color-brand-40: var(--philgo-red-900);
}

/* ─────── 전역 배경 + 본문 가독성 ─────── */
body {
    background: var(--surface-page);
    color: var(--text-primary);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ─────── 셸 레이아웃 (사이드바 + 메인) ─────── */
.locale-shell {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 1.25rem;
    align-items: flex-start;
}

.locale-shell-no-sidebar {
    display: block;
    max-width: 720px;
}

.locale-main {
    min-width: 0;  /* grid 항목이 flex-shrink 안되는 문제 회피 */
}

/* ─────── 사이드바 ─────── */
.locale-sidebar {
    position: sticky;
    top: 1rem;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* 태블릿(992px 미만): 사이드바 숨김, 메인만 — 일반 규칙 뒤에 배치하여 우선 적용 */
@media (max-width: 991px) {
    .locale-shell {
        grid-template-columns: 1fr;
        padding: 0.75rem;
        gap: 1rem;
    }
    .locale-sidebar {
        display: none;
    }
}

/* 모바일(640px 미만): padding 더 축소 */
@media (max-width: 640px) {
    .locale-shell {
        padding: 0.5rem;
        gap: 0.75rem;
    }
    .locale-shell-no-sidebar {
        padding: 0.75rem;
    }
}

/* 사이드바 위젯 카드 통일 (Iter 4) */
.locale-widget {
    background: var(--surface-card, #ffffff);
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--border, #e5ddd9);
}

.locale-widget-title {
    padding: 0.875rem 1.125rem;
    background: var(--surface-card, #ffffff);
    border-bottom: 1px solid var(--border, #e5ddd9);
    color: var(--text-primary, #1a1a1a);
    font-weight: 700;
    font-size: 0.9375rem;
    letter-spacing: -0.005em;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.locale-widget-title i {
    color: var(--philgo-red-800, #7a1d22);
    font-size: 0.8125rem;
}

.locale-widget-body {
    padding: 0.625rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.locale-widget-empty {
    margin: 0;
    padding: 1rem 0.5rem;
    text-align: center;
    color: var(--text-muted, #6b6b6b);
    font-size: 0.8125rem;
}

/* 부동산 메뉴 위젯 */
.locale-widget-menu {
    padding: 0.25rem;
}

.locale-widget-menu-item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    text-decoration: none;
    color: var(--text-secondary, #4a4a4a);
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}

.locale-widget-menu-item:hover {
    background: var(--philgo-red-50, #fdf2f2);
    color: var(--philgo-red-900, #5f1518);
    transform: translateX(2px);
}
.locale-widget-menu-item:active {
    transform: translateX(2px) scale(0.985);
}
.locale-widget-menu-item:focus-visible {
    outline: 2px solid var(--philgo-red-800, #7a1d22);
    outline-offset: 2px;
}

.locale-widget-menu-item i {
    width: 18px;
    text-align: center;
    color: var(--text-muted, #6b6b6b);
}

.locale-widget-menu-item:hover i {
    color: var(--philgo-red-800, #7a1d22);
}

/* ─────── 최근 본 매물 카드 (사이드바 안) ─────── */
.locale-recent-item {
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem;
    text-decoration: none;
    color: inherit;
    border-radius: 8px;
    transition: background 0.2s, transform 0.2s;
}

.locale-recent-item:hover {
    background: var(--philgo-red-50, #fdf2f2);
    color: inherit;
    transform: translateX(2px);
}
.locale-recent-item:hover .locale-recent-item-title {
    color: var(--philgo-red-900, #5f1518);
}
.locale-recent-item:active {
    transform: translateX(2px) scale(0.985);
}

.locale-recent-item-thumb {
    width: 60px;
    height: 45px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--surface-elevated, #fafafa);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.locale-recent-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* 시드 PNG에만 zoom (R2 Iter 46) */
.locale-recent-item-thumb img[src$=".png"] {
    object-position: center top;
    transform: scale(1.35);
    transform-origin: center top;
}

.locale-recent-item-thumb i {
    color: var(--border-strong, #d4c8c0);
}

.locale-recent-item-info {
    flex: 1;
    min-width: 0;
}

.locale-recent-item-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary, #1a1a1a);
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.locale-recent-item-price {
    margin: 0.1875rem 0 0;
    font-size: 0.8125rem;
    color: var(--philgo-red-800, #7a1d22);
    font-weight: 700;
}

/* 최근 검색 위젯 (Iter 42) */
.locale-recent-search-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    color: var(--text-secondary, #4a4a4a);
    text-decoration: none;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}
.locale-recent-search-item:hover {
    background: var(--philgo-red-50, #fdf2f2);
    color: var(--philgo-red-900, #5f1518);
    transform: translateX(2px);
}
.locale-recent-search-item:active {
    transform: translateX(2px) scale(0.985);
}
.locale-recent-search-item:focus-visible {
    outline: 2px solid var(--philgo-red-800, #7a1d22);
    outline-offset: 2px;
}
.locale-recent-search-item i {
    color: var(--text-muted, #6b6b6b);
    font-size: 0.75rem;
    flex-shrink: 0;
}
.locale-recent-search-item:hover i {
    color: var(--philgo-red-800, #7a1d22);
}
.locale-recent-search-item span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* "더 보기" 링크 (위젯 하단) */
.locale-widget-more {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0.25rem 0.5rem 0;
    padding: 0.375rem 0.625rem;
    color: var(--philgo-red-800, #7a1d22);
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 999px;
    transition: gap 0.2s, background 0.2s, color 0.2s;
}
.locale-widget-more:hover {
    gap: 0.4375rem;
    background: var(--philgo-red-50, #fdf2f2);
    color: var(--philgo-red-900, #5f1518);
}
.locale-widget-more i {
    font-size: 0.6875rem;
}

/* 매물 카드 hover는 list.css가 단독 정의 (R2 Iter 54) */

/* WCAG 2.1 SC 2.3.3 — 모션 감소 환경 (R2 Iter 66) */
@media (prefers-reduced-motion: reduce) {
    .locale-home-card,
    .locale-re-card,
    .locale-re-view-similar-card,
    .locale-recent-item,
    .locale-widget-menu-item,
    .locale-recent-search-item,
    .locale-sidebar-user-action,
    .locale-mainbar-link,
    .locale-topbar-link,
    .locale-home-section-more,
    .locale-widget-more,
    .locale-footer-links a,
    .locale-footer-aux a,
    .locale-footer-lang,
    .locale-re-list-page-btn,
    .locale-re-view-broker-contact {
        transition: none !important;
    }
    .locale-home-card:hover,
    .locale-re-card:hover,
    .locale-re-view-similar-card:hover,
    .locale-recent-item:hover,
    .locale-widget-menu-item:hover,
    .locale-recent-search-item:hover,
    .locale-sidebar-user-action:hover {
        transform: none !important;
    }
}

/* ─────── 페이지 컨테이너 보정 ─────── */
.locale-re-list-page,
.locale-re-view-page,
.locale-re-my-page,
.locale-re-broker-page {
    padding: 0;
}

.locale-re-list-container,
.locale-re-view-container,
.locale-re-my-container,
.locale-re-broker-container {
    max-width: none;
    margin: 0;
}

/* ─────── 다국어 사이트 푸터 (Iter 91/4 컴팩트) ─────── */
.locale-footer {
    margin-top: 2rem;
    background: var(--surface-card, #ffffff);
    border-top: 1px solid var(--border, #e5ddd9);
    padding: 1.75rem 1rem 1.25rem;
}
.locale-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
}
.locale-footer-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 1rem;
}
@media (max-width: 640px) {
    .locale-footer-top { flex-direction: column; gap: 1rem; }
}
.locale-footer-brand {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    text-align: left;
}
.locale-footer-brand i {
    font-size: 1.5rem;
    color: var(--philgo-red-800, #7a1d22);
}
.locale-footer-brand strong {
    display: block;
    color: var(--text-primary, #1a1a1a);
    font-weight: 800;
    letter-spacing: 0.05em;
    font-size: 0.9375rem;
}
.locale-footer-brand p {
    margin: 0.125rem 0 0;
    color: var(--text-muted, #6b6b6b);
    font-size: 0.8125rem;
}
.locale-footer-links {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    justify-content: center;
}
.locale-footer-links a {
    color: var(--text-secondary, #4a4a4a);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s;
}
.locale-footer-links a:hover {
    color: var(--philgo-red-800, #7a1d22);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.locale-footer-links a:focus-visible {
    outline: 2px solid var(--philgo-red-800, #7a1d22);
    outline-offset: 4px;
    border-radius: 2px;
}

/* 다국어 토글 — 명확하게 (사용자 핵심 요청) */
.locale-footer-langs {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0.75rem 0;
    border-top: 1px solid var(--border, #e5ddd9);
    border-bottom: 1px solid var(--border, #e5ddd9);
    width: 100%;
}
.locale-footer-lang {
    padding: 0.3125rem 0.75rem;
    color: var(--text-secondary, #4a4a4a);
    background: var(--surface-elevated, #fafafa);
    border: 1px solid var(--border, #e5ddd9);
    text-decoration: none;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.locale-footer-lang:hover {
    background: var(--philgo-red-50, #fdf2f2);
    color: var(--philgo-red-800, #7a1d22);
    border-color: var(--philgo-red-800, #7a1d22);
}
.locale-footer-lang.is-active {
    background: var(--philgo-red-800, #7a1d22);
    color: #ffffff;
    border-color: var(--philgo-red-800, #7a1d22);
}
.locale-footer-lang:focus-visible {
    outline: 2px solid var(--philgo-red-800, #7a1d22);
    outline-offset: 2px;
}

.locale-footer-copy {
    text-align: center;
    color: var(--text-muted, #6b6b6b);
    font-size: 0.75rem;
}

/* ─────── 푸터 보조 링크 (Iter 45 — Iter 91 라이트화) ─────── */
.locale-footer-aux {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.625rem;
    padding: 0;
    font-size: 0.8125rem;
    color: var(--text-muted, #6b6b6b);
}
.locale-footer-aux a {
    color: var(--text-secondary, #4a4a4a);
    text-decoration: none;
    transition: color 0.15s;
}
.locale-footer-aux a:hover {
    color: var(--philgo-red-800, #7a1d22);
    text-decoration: underline;
}
.locale-footer-aux a:focus-visible {
    outline: 2px solid var(--philgo-red-800, #7a1d22);
    outline-offset: 3px;
    border-radius: 2px;
}
.locale-footer-aux span {
    color: var(--border-strong, #d4c8c0);
}
@media (max-width: 768px) {
    .locale-footer-aux {
        font-size: 0.75rem;
        gap: 0.375rem 0.5rem;
    }
}

/* ─────── view.php 공유 버튼 (Iter 35) ─────── */
.locale-re-view-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4rem 0.875rem;
    background: #ffffff;
    border: 1px solid var(--border-strong, #d4c8c0);
    border-radius: 999px;
    color: var(--text-secondary, #4a4a4a);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.locale-re-view-share-btn:hover {
    background: var(--philgo-red-50, #fdf2f2);
    border-color: var(--philgo-red-800, #7a1d22);
    color: var(--philgo-red-900, #5f1518);
}

/* ─────── 사이드바 사용자 정보 위젯 (Iter 34) ─────── */
.locale-sidebar-user {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border, #e5ddd9);
    border-radius: 12px;
    overflow: hidden;
}
.locale-sidebar-user-top {
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--surface-elevated);
    border-bottom: 1px solid var(--border);
}
.locale-sidebar-user-photo {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--surface-elevated, #fafafa);
    flex-shrink: 0;
}
.locale-sidebar-user-photo-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--philgo-red-800);
    color: #ffffff;
    font-weight: 700;
    font-size: 1.125rem;
}
.locale-sidebar-user-info {
    flex: 1;
    min-width: 0;
}
.locale-sidebar-user-nick {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text-primary, #1a1a1a);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.locale-sidebar-user-name {
    margin: 0.125rem 0 0;
    color: var(--text-muted, #6b6b6b);
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.locale-sidebar-user-actions {
    padding: 0.375rem;
    display: flex;
    flex-direction: column;
}
.locale-sidebar-user-action {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    color: var(--text-secondary, #4a4a4a);
    text-decoration: none;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}
.locale-sidebar-user-action i {
    width: 16px;
    text-align: center;
    color: var(--text-muted, #6b6b6b);
    font-size: 0.8125rem;
}
.locale-sidebar-user-action:hover {
    background: var(--philgo-red-50, #fdf2f2);
    color: var(--philgo-red-800, #7a1d22);
    transform: translateX(2px);
}
.locale-sidebar-user-action:active {
    transform: translateX(2px) scale(0.985);
}
.locale-sidebar-user-action:focus-visible {
    outline: 2px solid var(--philgo-red-800, #7a1d22);
    outline-offset: 2px;
}
.locale-sidebar-user-action:hover i {
    color: var(--philgo-red-800, #7a1d22);
}
.locale-sidebar-user-action-logout {
    color: var(--philgo-red-700, #98242b);
}
.locale-sidebar-user-action-logout i {
    color: var(--philgo-red-700, #98242b);
}
.locale-sidebar-user-action-logout:hover {
    background: var(--philgo-red-50, #fdf2f2);
    color: var(--philgo-red-800, #7a1d22);
}
.locale-sidebar-user-action-logout:hover i {
    color: var(--philgo-red-800, #7a1d22);
}

/* ─────── 사이드바 로그인 위젯 — R2: 옅은 네이비 + 검정 텍스트 ─────── */
.locale-sidebar-login {
    background: var(--philgo-red-50);   /* 옅은 네이비-50 */
    color: var(--text-primary);          /* 검정 텍스트 */
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 14px;
    padding: 1.25rem 1rem;
    text-align: center;
}
.locale-sidebar-login-icon {
    width: 44px;
    height: 44px;
    margin: 0 auto 0.625rem;
    background: var(--philgo-red-800);   /* 네이비 아이콘 배경 (액센트) */
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    box-shadow: 0 2px 6px rgba(var(--philgo-rgb, 30, 64, 175), 0.2);
}
.locale-sidebar-login-title {
    margin: 0 0 0.25rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -0.005em;
}
.locale-sidebar-login-sub {
    margin: 0 0 0.875rem;
    font-size: 0.75rem;
    color: var(--text-secondary);
    line-height: 1.45;
}
.locale-sidebar-google-btn {
    width: 100%;
    padding: 0.625rem 0.875rem;
    background: #ffffff;
    color: var(--text-primary, #1a1a1a);
    border: 1px solid var(--border-strong, #cbd5e1);
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.locale-sidebar-google-btn:hover:not(:disabled) {
    background: #ffffff;
    border-color: var(--philgo-red-800, #1e40af);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(var(--philgo-rgb, 30, 64, 175), 0.12);
}
.locale-sidebar-google-btn:disabled {
    opacity: 0.7;
    cursor: wait;
}
.locale-sidebar-google-btn i {
    color: #ea4335;
    font-size: 0.9375rem;
}
.locale-sidebar-login-msg {
    margin: 0.625rem 0 0;
    font-size: 0.75rem;
    color: var(--text-secondary);
    min-height: 1em;
}
.locale-sidebar-login-msg.is-error {
    color: #b91c1c;
}
.locale-sidebar-login-msg.is-success {
    color: #15803d;
    font-weight: 600;
}
.locale-sidebar-login-msg.is-info {
    color: var(--text-secondary);
}
.locale-sidebar-login-more {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.625rem;
    color: var(--philgo-red-800);
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 600;
}
.locale-sidebar-login-more:hover {
    color: var(--philgo-red-900);
    text-decoration: underline;
}
.locale-sidebar-login-more i {
    font-size: 0.625rem;
}

/* Breadcrumb (공용) */
.locale-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
    font-size: 0.8125rem;
    color: var(--text-muted, #6b6b6b);
}
.locale-breadcrumb a {
    color: var(--text-secondary, #4a4a4a);
    text-decoration: none;
    transition: color 0.15s;
}
.locale-breadcrumb a:hover {
    color: var(--philgo-red-800, #7a1d22);
    text-decoration: underline;
}
.locale-breadcrumb span {
    color: var(--text-primary, #1a1a1a);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 240px;
}
.locale-breadcrumb i {
    font-size: 0.6875rem;
    color: var(--border-strong, #d4c8c0);
}

/* ─────── 페이지 카드 컨테이너 (메인 영역 화이트 카드) ─────── */
.locale-page-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 1.5rem;
    border: 1px solid var(--border, #e5ddd9);
    margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .locale-page-card {
        padding: 1rem;
        border-radius: 8px;
    }
}

/* ─────── NEW 배지 (Iter 67/68 — index.php + list.php 공용) ─────── */
.locale-re-card-new-badge {
    position: absolute;
    top: 0.5rem;
    left: 4.5rem;
    padding: 0.25rem 0.5rem;
    background: var(--philgo-red-700, #98242b);
    color: #ffffff;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    box-shadow: 0 2px 6px rgba(239, 68, 68, 0.25);
    animation: locale-re-new-pulse 2s ease-in-out infinite;
    z-index: 2;
}
.locale-re-card-new-badge i {
    font-size: 0.625rem;
}
@keyframes locale-re-new-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* 작은 변형 (Iter 77 — view.php 비슷한 매물 카드용) */
.locale-re-card-new-badge-sm {
    top: 0.375rem;
    left: 0.375rem;  /* transaction 배지 없으므로 좌측 끝 */
    padding: 0.1875rem 0.4375rem;
    font-size: 0.625rem;
}
.locale-re-card-new-badge-sm i {
    font-size: 0.5625rem;
}

/* 사이드바 통계 위젯 (Iter 83) */
.locale-sidebar-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}
.locale-sidebar-stat {
    text-align: center;
    padding: 0.625rem 0.375rem;
    background: var(--surface-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
a.locale-sidebar-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(30, 64, 175, 0.12);
    border-color: var(--philgo-red-800, #7a1d22);
}
a.locale-sidebar-stat:hover .locale-sidebar-stat-num {
    color: var(--philgo-red-800, #7a1d22);
}
.locale-sidebar-stat-static {
    cursor: default;
}
.locale-sidebar-stat-num {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--philgo-red-900, #5f1518);
    line-height: 1.2;
}
.locale-sidebar-stat-label {
    margin-top: 0.25rem;
    font-size: 0.6875rem;
    color: var(--text-muted, #6b6b6b);
    font-weight: 500;
}

/* 사이드바 인라인 dot 배지 (Iter 78 — 사이드바 인기 매물용) */
.locale-sidebar-new-dot {
    display: inline-block;
    margin-left: 0.25rem;
    padding: 0.0625rem 0.375rem;
    background: var(--philgo-red-700, #98242b);
    color: #ffffff;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    vertical-align: middle;
}

/* ─────── 카드 면적당 가격 (Iter 88 / R2 Iter 21 — 색 강화) ─────── */
.locale-re-card-price-per-sqm {
    margin-top: 0.125rem;
    color: var(--text-secondary, #4a4a4a);
    font-size: 0.8125rem;
    font-weight: 600;
}

/* ─────── 카드 조회수 (Iter 69/70 — index.php + list.php 공용) ─────── */
.locale-re-card-views {
    margin-top: 0.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    color: var(--text-muted, #6b6b6b);
    font-size: 0.75rem;
    font-weight: 500;
}
.locale-re-card-views i {
    font-size: 0.6875rem;
    color: var(--border-strong, #d4c8c0);
}
