/* ============================================================
   한마음추모공원 — 브랜드 컬러 시스템
   Brand Blue  : #1469B2
   Deep Navy   : #173B57
   Warm Ivory  : #F7F4EE
   Light Blue  : #EEF5FA
   Body Text   : #263746
   Border      : #D8E2EA
   Point Beige : #B99A62
   ============================================================ */

:root {
  --brand-blue   : #1469B2;
  --brand-blue-h : #0F568F;   /* hover */
  --deep-navy    : #173B57;
  --warm-ivory   : #F7F4EE;
  --light-blue   : #EEF5FA;
  --body-text    : #263746;
  --border-color : #D8E2EA;
  --beige        : #B99A62;
}

/* ── 기본 텍스트 ── */
body {
  color: var(--body-text);
}

h1, h2, h3, h4, h5, h6 {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--deep-navy);
}

/* ── 헤더 (흰색 배경, 딥네이비 상단바는 .header-top CSS 변수로 제어) ── */
header {
  background-color: #ffffff !important;
}
/* PC nav 링크 */
header .nav-link {
  color: #263746 !important;
}
header .nav-link:hover,
header .nav-link.active {
  color: #1469B2 !important;
}
/* 모바일 햄버거 버튼 */
header #menuBtn {
  color: #263746 !important;
}

/* ── 모바일 메뉴 드로어 (흰색 배경) ── */
#mobileMenu {
  background-color: #ffffff !important;
}
#mobileMenu a,
#mobileMenu button,
#mobileMenu span {
  color: #263746 !important;
}
#mobileMenu .border-gray-700,
#mobileMenu .border-gray-800 {
  border-color: #D8E2EA !important;
}

/* ── 공지 배너 ── */
.notice-banner {
  background-color: var(--light-blue) !important;
  border-bottom: 1px solid var(--border-color) !important;
  color: var(--deep-navy) !important;
}

/* ── 푸터 ── */
footer,
footer > div {
  background-color: var(--deep-navy) !important;
}
footer p,
footer a,
footer span,
footer li {
  color: rgba(255,255,255,0.75) !important;
}
footer a:hover {
  color: #ffffff !important;
}
footer .border-gray-700,
footer hr {
  border-color: rgba(255,255,255,0.12) !important;
}

/* ── 모바일 하단바 ── */
#mobileCallBar {
  background-color: var(--deep-navy) !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}
#mobileCallBar a,
#mobileCallBar span {
  color: #ffffff !important;
}

/* ── CTA 전화상담 버튼 (기본) ── */
.btn-cta-primary {
  background-color: var(--brand-blue) !important;
  color: #ffffff !important;
  border: none !important;
  transition: background-color 0.2s ease;
}
.btn-cta-primary:hover {
  background-color: var(--brand-blue-h) !important;
}

/* ── 보조 버튼 (흰 배경 + 블루 테두리) ── */
.btn-cta-secondary {
  background-color: #ffffff !important;
  color: var(--brand-blue) !important;
  border: 1.5px solid var(--brand-blue) !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btn-cta-secondary:hover {
  background-color: var(--light-blue) !important;
}

/* ── 섹션 배지 ── */
.section-badge {
  background-color: var(--light-blue) !important;
  color: var(--brand-blue) !important;
  border: 1px solid var(--border-color) !important;
}

/* ── 카드 (info-card) ── */
.info-card {
  background-color: #ffffff !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: 0 1px 4px rgba(23,59,87,0.07) !important;
}
.info-card:hover {
  box-shadow: 0 4px 14px rgba(23,59,87,0.11) !important;
}

/* ── FAQ 아코디언 ── */
.faq-item {
  border-color: var(--border-color) !important;
  background-color: #ffffff !important;
}
.faq-btn {
  background-color: #ffffff !important;
}
.faq-btn:hover {
  background-color: var(--light-blue) !important;
}
.faq-btn[aria-expanded="true"] {
  background-color: var(--light-blue) !important;
}
.faq-icon {
  background-color: var(--light-blue) !important;
  color: var(--brand-blue) !important;
}
.faq-answer {
  border-left-color: var(--brand-blue) !important;
  color: var(--body-text) !important;
}
.faq-question {
  color: var(--deep-navy) !important;
}
/* Q번호 강조 */
.faq-question .text-green-600 {
  color: var(--brand-blue) !important;
}

/* ── 공지사항(notice) 아코디언 ── */
.notice-item {
  border-color: var(--border-color) !important;
}
.notice-btn {
  background-color: #ffffff !important;
}
.notice-btn:hover {
  background-color: var(--light-blue) !important;
}
.notice-btn[aria-expanded="true"] {
  background-color: var(--light-blue) !important;
}
.notice-number {
  color: var(--brand-blue) !important;
}

/* ── hero 슬라이더 내 텍스트 ── */
.hero-sub {
  color: rgba(214,235,252,0.9) !important;
}

/* ── why-us 섹션 ── */
.why-us-card {
  background-color: #ffffff !important;
  border: 1px solid var(--border-color) !important;
}

/* ── 플로팅 버튼 ── */
#floatingBtn {
  background-color: var(--brand-blue) !important;
  box-shadow: 0 4px 16px rgba(20,105,178,0.35) !important;
}
#floatingBtn:hover {
  background-color: var(--brand-blue-h) !important;
}

/* ── TOP 버튼 ── */
#topBtn {
  background-color: var(--deep-navy) !important;
  color: #ffffff !important;
}
#topBtn:hover {
  background-color: var(--brand-blue) !important;
}

/* ── 브레드크럼 ── */
nav[aria-label="breadcrumb"] {
  background-color: var(--warm-ivory) !important;
  border-bottom: 1px solid var(--border-color) !important;
}
nav[aria-label="breadcrumb"] a,
nav[aria-label="breadcrumb"] span {
  color: var(--body-text) !important;
}
nav[aria-label="breadcrumb"] .text-green-600,
nav[aria-label="breadcrumb"] .text-blue-600,
nav[aria-label="breadcrumb"] .text-amber-600 {
  color: var(--brand-blue) !important;
}

/* ── 테이블 (pricing 등) ── */
table thead th {
  background-color: var(--deep-navy) !important;
  color: #ffffff !important;
}
table tbody tr:nth-child(even) {
  background-color: var(--warm-ivory) !important;
}

/* ── 페이지 메인 섹션 배경 교대 ── */
section.bg-gray-50 {
  background-color: var(--warm-ivory) !important;
}
section.bg-green-50,
section.bg-blue-50,
section.bg-amber-50 {
  background-color: var(--light-blue) !important;
}

/* ── 아이콘 컬러 재정의 ── */
.text-green-600, .text-green-700, .text-green-500, .text-green-400 {
  color: var(--brand-blue) !important;
}
.text-green-300, .text-green-200 {
  color: rgba(214,235,252,0.85) !important;
}
.bg-green-600, .bg-green-700 {
  background-color: var(--brand-blue) !important;
}
.bg-green-500 {
  background-color: var(--brand-blue) !important;
}
.bg-green-400 {
  background-color: #2880C8 !important;
}
.bg-green-100, .bg-green-50 {
  background-color: var(--light-blue) !important;
}
.border-green-200, .border-green-400 {
  border-color: var(--border-color) !important;
}
.border-l-4.border-green-400 {
  border-left-color: var(--brand-blue) !important;
}

/* blue 계열 (ossuary 등) 통일 */
.text-blue-600, .text-blue-700, .text-blue-500, .text-blue-400 {
  color: var(--brand-blue) !important;
}
.bg-blue-600, .bg-blue-700, .bg-blue-500 {
  background-color: var(--brand-blue) !important;
}
.bg-blue-400 {
  background-color: #2880C8 !important;
}
.bg-blue-100 {
  background-color: var(--light-blue) !important;
}
.border-blue-200 {
  border-color: var(--border-color) !important;
}

/* amber 계열 (cemetery 등) → beige 포인트로 */
.text-amber-600, .text-amber-700, .text-amber-500 {
  color: var(--beige) !important;
}
.text-amber-400 {
  color: #C9A970 !important;
}
.bg-amber-600, .bg-amber-700 {
  background-color: var(--beige) !important;
}
.bg-amber-100 {
  background-color: #FAF5EC !important;
}
.border-amber-200 {
  border-color: #E8D9BC !important;
}

/* 배경색 교대 */
.bg-gray-900, .bg-gray-800 {
  background-color: var(--deep-navy) !important;
}
.bg-gray-700 {
  background-color: #1E4A6A !important;
}

/* 텍스트 gray → body-text 계열 */
.text-gray-800 {
  color: var(--deep-navy) !important;
}
.text-gray-700 {
  color: var(--body-text) !important;
}
.text-gray-600 {
  color: #3A5068 !important;
}
.text-gray-500 {
  color: #5A7080 !important;
}
.text-gray-400 {
  color: #8AABB8 !important;
}
.text-gray-300 {
  color: #AABFCC !important;
}
.text-gray-200 {
  color: rgba(255,255,255,0.7) !important;
}

/* 배경 gray */
.bg-gray-50 {
  background-color: var(--warm-ivory) !important;
}
.bg-gray-100 {
  background-color: var(--light-blue) !important;
}

/* 테두리 */
.border-gray-100 {
  border-color: var(--border-color) !important;
}
.border-gray-200 {
  border-color: var(--border-color) !important;
}
.border-gray-700,
.border-gray-800 {
  border-color: rgba(255,255,255,0.12) !important;
}

/* ── speakable summary 블록 ── */
#speakable-summary {
  background-color: var(--warm-ivory) !important;
  border-left: 4px solid var(--brand-blue) !important;
  color: var(--body-text) !important;
}

/* ── 구분선 강조 (beige) ── */
.divider-beige {
  border-color: var(--beige) !important;
  opacity: 0.45;
}

/* ── 가로 구분선 (bg-green-600 등을 사용한 것) ── */
.w-16.h-1.bg-green-600,
.w-16.h-1.bg-blue-600,
.w-16.h-1.bg-amber-600 {
  background-color: var(--brand-blue) !important;
}
