/* 공개 홈페이지(메인)·지도 검색 화면용 밝은(흰색 바탕) 테마.
   index.css 의 어두운 색상 변수를 덮어써서 두 화면에서만 적용한다(관리자 화면에는 영향 없음). */
:root {
  --bg-main: #f7f9fc;
  --bg-card: #ffffff;
  --bg-card-hover: #f1f5f9;
  --bg-input: #ffffff;

  --primary: #1d4ed8;
  --primary-glow: rgba(29, 78, 216, 0.10);
  --secondary: #0f766e;
  --accent: #b45309;

  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-muted: #64748b;

  --border-color: rgba(15, 23, 42, 0.12);
  --border-hover: rgba(29, 78, 216, 0.45);

  --shadow-sm: 0 1px 4px rgba(15, 23, 42, 0.08);
  --shadow-md: 0 6px 24px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 12px 40px rgba(15, 23, 42, 0.14);
  color-scheme: light;
}
html, body { background: var(--bg-main); color: var(--text-primary); }
::-webkit-scrollbar-track { background: #eef2f7; }
::-webkit-scrollbar-thumb { background: rgba(15, 23, 42, 0.22); }

/* 유리 느낌 카드 → 흰 카드 */
.glass { background: rgba(255, 255, 255, 0.92); box-shadow: var(--shadow-sm); }
.glass-premium { background: #ffffff; box-shadow: var(--shadow-md); border: 1px solid var(--border-color); }
header.glass { background: rgba(255, 255, 255, 0.96); }

/* 글자 그라디언트: 흰 바탕에서도 진하게 */
.text-gradient { background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 60%, #1e3a8a 100%); -webkit-background-clip: text; background-clip: text; }
.text-gradient-emerald { background: linear-gradient(135deg, #0f766e 0%, #047857 100%); -webkit-background-clip: text; background-clip: text; }
.text-gradient-gold { background: linear-gradient(135deg, #b45309 0%, #92400e 100%); -webkit-background-clip: text; background-clip: text; }

/* 메인 화면 배경 장식(어두운 방사형) → 아주 연한 색 */
body::before, .hero-section::before { opacity: .5; }

/* 지도 시뮬레이션/자리표시 영역 */
.map-container { background: #e8eef6; }
.simulated-map { background: radial-gradient(circle, #f4f7fb 10%, #dfe7f1 90%); }
.map-grid-lines { background-image: linear-gradient(to right, rgba(15,23,42,.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(15,23,42,.05) 1px, transparent 1px); }
.map-road { background: rgba(15, 23, 42, 0.07); }
.map-marker-label { background: rgba(255, 255, 255, 0.96); color: var(--text-primary); box-shadow: var(--shadow-sm); }

/* 모달 */
.modal-overlay { background: rgba(15, 23, 42, 0.55); }
.modal-close { background: rgba(15, 23, 42, 0.08); color: var(--text-primary); }
.modal-close:hover { background: rgba(15, 23, 42, 0.16); }
.modal-slider { background: #e8eef6; }

/* 입력창·선택창 */
.input-field, .select-field, input, select, textarea { color-scheme: light; }
.input-field, .select-field { background-color: #fff; color: var(--text-primary); border-color: rgba(15, 23, 42, 0.18); }
.input-field::placeholder { color: #94a3b8; }
option { background: #fff; color: #0f172a; }

/* 버튼: 파란 배경 위 흰 글씨는 유지 */
.btn-primary, .toolbar-btn { color: #fff; }
.btn-primary:hover { background: #1e40af; box-shadow: 0 4px 14px rgba(29, 78, 216, 0.28); }
.btn-nav { background: #eaf1ff; border: 1px solid rgba(29, 78, 216, 0.35); color: var(--primary); }
.btn-nav:hover { background: var(--primary); color: #fff; box-shadow: 0 4px 14px rgba(29, 78, 216, 0.28); }
.btn-secondary { background: #ffffff; color: var(--text-primary); border: 1px solid rgba(15, 23, 42, 0.2); }
.btn-secondary:hover { background: #f1f5f9; border-color: var(--text-secondary); }
.btn-accent { background: var(--accent); color: #fff; }
.btn-accent:hover { background: #92400e; box-shadow: 0 4px 14px rgba(180, 83, 9, 0.28); }
nav a { color: var(--text-secondary); }
nav a:hover, nav a.active { color: var(--primary); }

/* 지도 검색 화면 */
.map-toolbar { background: #ffffff; border-bottom: 1px solid var(--border-color); }
.toolbar-select {
  background-color: #fff; color: var(--text-primary); border-color: rgba(15, 23, 42, 0.18);
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
}
.toolbar-input { background: #fff; color: var(--text-primary); border-color: rgba(15, 23, 42, 0.18); }
.toolbar-btn.outline { color: var(--text-primary); border-color: rgba(15, 23, 42, 0.2); }
.map-area-container { background: #e8eef6; }
.map-sidebar, .sidebar { background: #ffffff; border-left: 1px solid var(--border-color); color: var(--text-primary); }
.map-placeholder, .map-loading { color: var(--text-secondary); }

/* 작은 배지·태그: 흰 바탕에서 읽히도록 진하게 */
.hero-badge { color: #1e40af; background: #e8f0ff; border-color: rgba(29, 78, 216, 0.3); }
.card-badge.premium { background: #b45309; color: #fff; }
.card-badge.regular { background: #1e3a8a; color: #fff; }
