/* ============================================
   ANYNCAR Common Styles v2.0
   멀티페이지 리뉴얼 - 2026.05
   ============================================ */

:root {
  --primary: #1a1a2e;
  --accent: #e63946;
  --accent2: #0077b6;
  --white: #ffffff;
  --gray1: #f8f9fa;
  --gray2: #e9ecef;
  --gray3: #adb5bd;
  --text: #212529;
  --text2: #495057;
  --gold: #f4a261;
  --shadow: 0 4px 24px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.15);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Noto Sans KR',sans-serif; color:var(--text); background:#fff; }

/* ====== HEADER (Dark Transparent) ====== */
header {
  position:fixed; top:0; width:100%; z-index:1000;
  background:rgba(15,15,25,0.85);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.header-inner {
  max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 24px; height:64px;
}
.logo {
  display:flex; align-items:center; gap:10px; text-decoration:none;
}
.logo-mark {
  width:38px; height:38px; background:rgba(255,255,255,0.12);
  border:1.5px solid rgba(255,255,255,0.25);
  border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-family:'Bebas Neue',sans-serif; color:#fff; font-size:18px; letter-spacing:1px;
}
.logo-text { font-size:17px; font-weight:900; color:#fff; letter-spacing:-0.5px; }
.logo-text span { color:rgba(255,255,255,0.5); font-weight:400; }
.logo-sub { font-size:11px; color:rgba(255,255,255,0.45); font-weight:400; letter-spacing:0; margin-top:-2px; }
.header-nav { display:flex; gap:4px; align-items:center; }
.header-nav a {
  text-decoration:none; color:rgba(255,255,255,0.7); font-size:14px; font-weight:500;
  padding:8px 14px; border-radius:6px; transition:all 0.25s;
}
.header-nav a:hover { color:#fff; background:rgba(255,255,255,0.08); }
.header-nav a.active-nav { color:#fff; font-weight:700; }

/* nav 특수 버튼 (다크 헤더용) */
.header-nav a.nav-type-a,
.header-nav a.nav-type-b,
.header-nav a.nav-news,
.header-nav a.nav-notice,
.header-nav a.nav-review {
  color:rgba(255,255,255,0.75); font-weight:600; font-size:14px;
  border:none; background:none; padding:8px 14px;
}
.header-nav a.nav-type-a:hover,
.header-nav a.nav-type-b:hover,
.header-nav a.nav-news:hover,
.header-nav a.nav-notice:hover,
.header-nav a.nav-review:hover {
  color:#fff; background:rgba(255,255,255,0.1);
  transform:none; box-shadow:none;
}

.header-cta {
  background:var(--accent); color:#fff; border:none; border-radius:8px;
  padding:9px 20px; font-size:14px; font-weight:700; cursor:pointer;
  transition:all 0.2s; font-family:'Noto Sans KR',sans-serif; text-decoration:none;
}
.header-cta:hover { background:#c1121f; transform:translateY(-1px); }

/* ====== HERO (Photo Background) ====== */
.hero {
  padding-top:64px;
  background: #111 url('https://images.unsplash.com/photo-1494976388531-d1058494cdd8?w=1920&q=80') center/cover no-repeat;
  position:relative; overflow:hidden;
  min-height:600px; display:flex; align-items:center;
}
.hero::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(10,10,20,0.82) 0%, rgba(20,20,35,0.65) 50%, rgba(10,15,25,0.50) 100%);
  z-index:1;
}
.hero::after { display:none; }
.hero-inner {
  max-width:1200px; margin:0 auto; padding:80px 24px 40px;
  position:relative; z-index:2; width:100%;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; border:none;
  color:#7ecf6a; font-size:14px; font-weight:700;
  padding:0; margin-bottom:20px; letter-spacing:0.5px;
}
.hero-badge::before { display:none; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} }
.hero h1 {
  font-size:clamp(36px, 5.5vw, 60px); font-weight:900; color:#fff;
  line-height:1.15; letter-spacing:-1.5px; margin-bottom:20px;
}
.hero h1 span { color:#fff; }
.hero p {
  font-size:16px; color:rgba(255,255,255,0.65); margin-bottom:36px;
  font-weight:400; line-height:1.7; max-width:560px;
}
/* Hero CTA buttons */
.hero-cta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px; }
.hero-cta .btn-hero-primary {
  display:inline-flex; align-items:center; gap:8px;
  background:#3d6b35; color:#fff; border:none; border-radius:8px;
  padding:14px 28px; font-size:15px; font-weight:700; cursor:pointer;
  font-family:'Noto Sans KR',sans-serif; transition:all 0.2s; text-decoration:none;
}
.hero-cta .btn-hero-primary:hover { background:#2e5428; transform:translateY(-2px); box-shadow:0 6px 20px rgba(61,107,53,0.4); }
.hero-cta .btn-hero-outline {
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,0.5);
  border-radius:8px; padding:12px 24px; font-size:15px; font-weight:700;
  cursor:pointer; font-family:'Noto Sans KR',sans-serif; transition:all 0.2s; text-decoration:none;
}
.hero-cta .btn-hero-outline:hover { border-color:#fff; background:rgba(255,255,255,0.08); }
/* Hero Stats (bordered boxes) */
.hero-stats { display:flex; gap:0; margin-bottom:0; }
.stat {
  text-align:center; padding:24px 36px;
  border:1px solid rgba(255,255,255,0.2); background:rgba(255,255,255,0.04);
}
.stat:first-child { border-radius:12px 0 0 12px; }
.stat:last-child { border-radius:0 12px 12px 0; }
.stat + .stat { border-left:none; }
.stat-num { font-size:28px; font-weight:900; color:#fff; line-height:1; }
.stat-num span { color:rgba(255,255,255,0.6); font-size:16px; font-weight:500; }
.stat-label { font-size:12px; color:rgba(255,255,255,0.55); margin-top:6px; font-weight:400; }

/* Hero Contact Bar */
.hero-contact-bar {
  background:rgba(20,20,35,0.95); border-top:1px solid rgba(255,255,255,0.1);
  padding:16px 24px; position:relative; z-index:2;
}
.hero-contact-inner {
  max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap;
}
.hero-contact-item {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15);
  border-radius:8px; padding:10px 20px; color:#fff; font-size:14px; font-weight:600;
  text-decoration:none; transition:all 0.2s; white-space:nowrap;
}
.hero-contact-item:hover { background:rgba(255,255,255,0.15); border-color:rgba(255,255,255,0.3); }
a.hero-contact-item { cursor:pointer; }

/* ====== SELECTOR CARDS ====== */
.selector { max-width:1200px; margin:0 auto; padding:40px 24px 0; position:relative; z-index:10; }
.selector-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.selector-card {
  background:#fff; border-radius:16px; padding:32px 28px;
  box-shadow:var(--shadow-lg); cursor:pointer;
  border:2px solid transparent; transition:all 0.3s;
  position:relative; overflow:hidden; text-decoration:none; display:block; color:inherit;
}
.selector-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; }
.selector-card.type-a::before { background:var(--accent2); }
.selector-card.type-b::before { background:var(--gold); }
.selector-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,0.18); }
.selector-card.type-a:hover { border-color:var(--accent2); }
.selector-card.type-b:hover { border-color:var(--gold); }
.card-badge {
  display:inline-block; font-size:11px; font-weight:700;
  padding:4px 10px; border-radius:4px; margin-bottom:14px; letter-spacing:0.5px;
}
.type-a .card-badge { background:#e0f0ff; color:var(--accent2); }
.type-b .card-badge { background:#fff3e0; color:#e07b00; }
.selector-card h2 { font-size:22px; font-weight:900; color:var(--primary); margin-bottom:8px; }
.selector-card p { font-size:14px; color:var(--text2); line-height:1.6; }
.card-features { margin-top:16px; display:flex; flex-direction:column; gap:6px; }
.card-feature { font-size:13px; color:var(--text2); display:flex; align-items:center; gap:6px; }
.card-feature::before { content:'✓'; font-size:12px; font-weight:700; flex-shrink:0; }
.type-a .card-feature::before { color:var(--accent2); }
.type-b .card-feature::before { color:var(--gold); }
.card-arrow {
  margin-top:22px; display:inline-flex; align-items:center; gap:10px;
  padding:13px 22px; border-radius:12px; font-size:14px; font-weight:800;
  cursor:pointer; position:relative; transition:transform .15s, box-shadow .15s;
  text-decoration:none;
}
.card-arrow:active { transform:translateY(2px); }
.type-a .card-arrow {
  background:linear-gradient(160deg, #2563EB 0%, #1E3A8A 100%); color:#fff;
  box-shadow:0 6px 0 #1230a0, 0 8px 18px rgba(30,58,138,.35);
}
.type-a .card-arrow:hover { transform:translateY(-2px); box-shadow:0 8px 0 #1230a0, 0 12px 24px rgba(30,58,138,.4); }
.type-b .card-arrow {
  background:linear-gradient(160deg, #F97316 0%, #c45a00 100%); color:#fff;
  box-shadow:0 6px 0 #9a3f00, 0 8px 18px rgba(249,115,22,.35);
}
.type-b .card-arrow:hover { transform:translateY(-2px); box-shadow:0 8px 0 #9a3f00, 0 12px 24px rgba(249,115,22,.4); }
.card-arrow-icon {
  width:28px; height:28px; min-width:28px; border-radius:8px;
  background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; font-size:16px;
}
.card-arrow-text { line-height:1.2; }
.card-arrow-text span { display:block; font-size:10px; font-weight:600; opacity:.75; margin-bottom:1px; }
.card-arrow-chevron { margin-left:4px; font-size:16px; opacity:.8; }

/* ====== SECTION COMMON ====== */
.section { padding:80px 24px; }
.section-inner { max-width:1200px; margin:0 auto; }
.section-label { font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.section-title { font-size:clamp(24px,3vw,36px); font-weight:900; color:var(--primary); letter-spacing:-0.5px; margin-bottom:12px; }
.section-sub { font-size:15px; color:var(--text2); margin-bottom:48px; }

/* ====== TRUST ====== */
.trust-section { background:#fff; padding:60px 24px; }
.trust-inner { max-width:1200px; margin:0 auto; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.trust-item { text-align:center; padding:24px 16px; }
.trust-icon { font-size:36px; margin-bottom:12px; }
.trust-num { font-size:28px; font-weight:900; color:var(--primary); }
.trust-label { font-size:13px; color:var(--text2); margin-top:4px; }

/* ====== CAR GRID ====== */
.cars-header {
  background:linear-gradient(135deg, #0d1b2a, #1a1a2e);
  padding:60px 24px 40px; padding-top:104px;
}
.cars-header-inner { max-width:1200px; margin:0 auto; }
.cars-header .back-btn {
  display:inline-flex; align-items:center; gap:8px;
  color:rgba(255,255,255,0.6); font-size:14px; cursor:pointer;
  margin-bottom:24px; background:none; border:none; font-family:'Noto Sans KR',sans-serif;
  text-decoration:none;
}
.cars-header .back-btn:hover { color:#fff; }
.cars-header h2 { font-size:32px; font-weight:900; color:#fff; margin-bottom:8px; }
.cars-header p { font-size:15px; color:rgba(255,255,255,0.6); }
.type-a-header { background:linear-gradient(135deg, #023e8a, #0077b6); }
.type-b-header { background:linear-gradient(135deg, #7b3f00, #e07b00); }

.cars-section { padding:60px 24px; background:var(--gray1); }
.cars-inner { max-width:1200px; margin:0 auto; }
.cars-notice {
  background:#fff; border-radius:12px; padding:16px 20px;
  border-left:4px solid; font-size:14px; color:var(--text2); margin-bottom:32px;
  display:flex; gap:10px; align-items:flex-start;
}
.cars-notice.type-a { border-color:var(--accent2); }
.cars-notice.type-b { border-color:var(--gold); }
.cars-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:20px;
  margin-bottom:40px;
}
.car-card {
  background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,0.07); transition:all 0.25s;
  border:1px solid var(--gray2);
}
.car-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.car-img-wrap { width:100%; height:168px; position:relative; overflow:hidden; }
.car-real-img {
  width:100%; height:168px; object-fit:cover; object-position:center;
  display:block; transition:transform 0.3s ease;
}
.car-card:hover .car-real-img { transform:scale(1.05); }
.car-img-fallback {
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
}
.car-fallback-brand { font-size:12px; font-weight:700; color:rgba(255,255,255,0.6); letter-spacing:2px; text-transform:uppercase; }
.car-fallback-name { font-size:26px; font-weight:900; color:#fff; letter-spacing:-1px; }
.car-info { padding:18px; }
.car-brand { font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--gray3); margin-bottom:4px; }
.car-name { font-size:16px; font-weight:700; color:var(--primary); margin-bottom:4px; }
.car-spec { font-size:12px; color:var(--text2); margin-bottom:14px; }
.car-price-row { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:12px; }
.car-price-label { font-size:11px; color:var(--gray3); }
.car-price { font-size:22px; font-weight:900; color:var(--accent); }
.car-price small { font-size:12px; font-weight:400; color:var(--text2); }
.car-tags { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:14px; }
.car-tag { font-size:11px; padding:3px 8px; border-radius:4px; background:var(--gray1); color:var(--text2); }
.car-btn {
  width:100%; padding:10px; border:none; border-radius:8px;
  font-size:14px; font-weight:700; cursor:pointer;
  font-family:'Noto Sans KR',sans-serif; transition:all 0.2s;
}
.type-a .car-btn { background:#e0f0ff; color:var(--accent2); }
.type-a .car-btn:hover { background:var(--accent2); color:#fff; }
.type-b .car-btn { background:#fff3e0; color:#e07b00; }
.type-b .car-btn:hover { background:#e07b00; color:#fff; }

/* FILTER BAR */
.filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.filter-btn {
  padding:8px 18px; border-radius:20px; border:1.5px solid var(--gray2); background:#fff;
  font-size:13px; font-weight:600; cursor:pointer; font-family:'Noto Sans KR',sans-serif;
  color:var(--text2); transition:all 0.2s;
}
.filter-btn:hover { border-color:var(--accent2); color:var(--accent2); }
.type-a .filter-btn.active { background:var(--accent2); border-color:var(--accent2); color:#fff; }
.type-b .filter-btn.active { background:#e07b00; border-color:#e07b00; color:#fff; }
.filter-empty { grid-column:1/-1; text-align:center; padding:60px 20px; color:var(--gray3); font-size:15px; }

/* MORE QUOTE */
.more-quote-box {
  background:#fff; border-radius:16px; padding:32px; text-align:center; border:2px dashed var(--gray2);
}
.more-quote-box h3 { font-size:20px; font-weight:800; color:var(--primary); margin-bottom:8px; }
.more-quote-box p { font-size:14px; color:var(--text2); margin-bottom:20px; }
.more-quote-box .btn-group { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.btn-primary {
  background:var(--accent); color:#fff; border:none; border-radius:10px;
  padding:13px 28px; font-size:15px; font-weight:700; cursor:pointer;
  font-family:'Noto Sans KR',sans-serif; transition:all 0.2s; text-decoration:none; display:inline-block;
}
.btn-primary:hover { background:#c1121f; transform:translateY(-2px); }
.btn-kakao {
  background:#FEE500; color:#3c1e1e; border:none; border-radius:10px;
  padding:13px 28px; font-size:15px; font-weight:700; cursor:pointer;
  font-family:'Noto Sans KR',sans-serif; transition:all 0.2s; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-kakao:hover { filter:brightness(0.95); transform:translateY(-2px); }

/* ====== FORM TOGGLE BUTTONS (견적 폼 다중선택) ====== */
.toggle-group { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.toggle-btn {
  padding:8px 16px; border-radius:20px; border:1.5px solid var(--gray2); background:#fff;
  font-size:13px; font-weight:600; cursor:pointer; font-family:'Noto Sans KR',sans-serif;
  color:var(--text2); transition:all 0.2s; user-select:none;
}
.toggle-btn:hover { border-color:var(--accent2); color:var(--accent2); }
.toggle-btn.selected { background:var(--accent2); border-color:var(--accent2); color:#fff; }
.toggle-btn.selected:hover { background:#005f8a; }
.toggle-btn.max-reached { opacity:0.4; cursor:not-allowed; }
.toggle-btn.max-reached:hover { border-color:var(--gray2); color:var(--text2); }
.toggle-hint { font-size:11px; color:var(--gray3); font-weight:400; margin-left:4px; }

/* ====== MODAL ====== */
.modal-overlay {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,0.55);
  z-index:2000; align-items:center; justify-content:center; padding:20px;
}
.modal-overlay.open { display:flex; }
.modal {
  background:#fff; border-radius:20px; width:100%; max-width:520px;
  max-height:90vh; overflow-y:auto; box-shadow:0 24px 80px rgba(0,0,0,0.25);
  animation:slideUp 0.3s ease;
}
@keyframes slideUp { from{transform:translateY(30px);opacity:0} to{transform:translateY(0);opacity:1} }
.modal-header { padding:24px 24px 0; display:flex; justify-content:space-between; align-items:flex-start; }
.modal-car-info { display:flex; gap:14px; align-items:center; }
.modal-car-emoji { font-size:36px; background:var(--gray1); width:60px; height:60px; border-radius:10px; display:flex; align-items:center; justify-content:center; }
.modal-car-name { font-size:15px; font-weight:700; color:var(--primary); }
.modal-car-type { font-size:12px; font-weight:500; padding:3px 10px; border-radius:4px; margin-top:4px; display:inline-block; }
.type-a-badge { background:#e0f0ff; color:var(--accent2); }
.type-b-badge { background:#fff3e0; color:#e07b00; }
.modal-close { background:none; border:none; font-size:22px; cursor:pointer; color:var(--gray3); line-height:1; margin-top:-4px; }
.modal-body { padding:24px; }
.tab-switcher { display:flex; background:var(--gray1); border-radius:10px; padding:4px; margin-bottom:20px; }
.tab-btn {
  flex:1; padding:10px; border:none; border-radius:7px; background:transparent;
  font-size:14px; font-weight:500; cursor:pointer; font-family:'Noto Sans KR',sans-serif;
  transition:all 0.2s; color:var(--text2);
}
.tab-btn.active { background:#fff; font-weight:700; color:var(--primary); box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.form-fields { display:none; }
.form-fields.active { display:block; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:13px; font-weight:600; color:var(--text); margin-bottom:6px; }
.form-group input, .form-group textarea, .form-group select {
  width:100%; padding:12px 14px; border:1px solid var(--gray2); border-radius:8px;
  font-size:14px; font-family:'Noto Sans KR',sans-serif;
  transition:border-color 0.2s; outline:none; color:var(--text); background:#fff;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--accent2); }
.form-group textarea { resize:vertical; min-height:90px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.optional { font-size:11px; color:var(--gray3); font-weight:400; }
.privacy-agree { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text2); margin-bottom:20px; cursor:pointer; }
.privacy-agree input { width:16px; height:16px; cursor:pointer; }
.submit-btn {
  width:100%; padding:15px; background:var(--accent); color:#fff;
  border:none; border-radius:10px; font-size:16px; font-weight:700;
  cursor:pointer; font-family:'Noto Sans KR',sans-serif; transition:all 0.2s;
}
.submit-btn:hover { background:#c1121f; }
.submit-btn:disabled { background:var(--gray3); cursor:not-allowed; }

/* SUCCESS */
.success-view { display:none; text-align:center; padding:20px 0; }
.success-view.show { display:block; }
.success-icon { font-size:56px; margin-bottom:16px; }
.success-view h3 { font-size:22px; font-weight:900; color:var(--primary); margin-bottom:8px; }
.success-view p { font-size:14px; color:var(--text2); margin-bottom:24px; line-height:1.6; }
.kakao-btn {
  display:inline-flex; align-items:center; gap:10px;
  background:#FEE500; color:#3c1e1e; border:none; border-radius:12px;
  padding:14px 28px; font-size:16px; font-weight:700; cursor:pointer;
  font-family:'Noto Sans KR',sans-serif; transition:all 0.2s; text-decoration:none; margin-bottom:12px;
}
.kakao-btn:hover { filter:brightness(0.95); transform:translateY(-2px); }
.kakao-logo { font-size:20px; }

/* ====== FOOTER ====== */
footer {
  background:var(--primary); color:rgba(255,255,255,0.6); padding:48px 24px 32px;
}
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:32px; gap:24px; flex-wrap:wrap; }
.footer-brand .logo-text { color:#fff; font-size:20px; }
.footer-brand p { font-size:13px; margin-top:8px; line-height:1.6; }
.footer-contact { text-align:right; }
.footer-contact .phone { font-size:24px; font-weight:900; color:#fff; }
.footer-contact .email { font-size:13px; margin-top:4px; }
.footer-links { display:flex; gap:20px; flex-wrap:wrap; margin-top:12px; }
.footer-links a { color:rgba(255,255,255,0.5); font-size:13px; text-decoration:none; }
.footer-links a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; font-size:12px; }
.footer-info p { margin-bottom:4px; }

/* ====== FLOATING BUTTONS (우측 하단 3버튼) ====== */
.floating-buttons {
  position:fixed; bottom:28px; right:28px; z-index:999;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.float-item { display:flex; flex-direction:column; align-items:center; gap:4px; }
.float-btn {
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:24px; box-shadow:0 4px 20px rgba(0,0,0,0.18);
  text-decoration:none; transition:all 0.2s; border:none; cursor:pointer;
}
.float-btn:hover { transform:scale(1.1); }
.float-bookmark { background:linear-gradient(135deg,#FFD700,#FFA500); color:#fff; font-family:'Noto Sans KR',sans-serif; }
.float-kakao-chat { background:#FEE500; }
.float-kakao-add { background:#FEE500; font-size:20px; }
.float-label {
  font-size:10px; font-weight:700; color:var(--text2);
  background:#fff; padding:2px 8px; border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,0.1); white-space:nowrap;
}

/* 즐겨찾기 팝업 */
.bookmark-popup {
  display:none; position:fixed; bottom:210px; right:28px; z-index:1000;
  background:#fff; border-radius:16px; padding:20px 22px;
  box-shadow:0 8px 40px rgba(0,0,0,0.2); border:1px solid var(--gray2);
  width:320px; max-width:90vw;
  animation:slideUp 0.25s ease;
}
.bookmark-popup.show { display:block; }
.bp-header { font-size:16px; font-weight:900; color:var(--primary); margin-bottom:14px; }
.bp-row { display:flex; align-items:center; gap:10px; padding:8px 0; font-size:13px; color:var(--text2); line-height:1.5; border-bottom:1px solid var(--gray1); }
.bp-row:last-of-type { border-bottom:none; }
.bp-icon { font-size:18px; flex-shrink:0; }
.bp-row kbd { background:var(--gray1); padding:2px 6px; border-radius:4px; font-size:11px; font-weight:700; border:1px solid var(--gray2); }
.bp-link { display:block; margin-top:10px; font-size:12px; color:var(--accent2); word-break:break-all; text-decoration:none; }
.bp-link:hover { text-decoration:underline; }
.bp-close {
  display:block; width:100%; margin-top:12px; padding:10px;
  background:var(--gray1); border:none; border-radius:8px;
  font-size:13px; font-weight:700; color:var(--text2); cursor:pointer;
  font-family:'Noto Sans KR',sans-serif; transition:background 0.2s;
}
.bp-close:hover { background:var(--gray2); }

/* ====== 모바일 하단 탭 ====== */
.mobile-tab-bar {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:1100;
  background:#fff; border-top:1px solid var(--gray2); box-shadow:0 -4px 20px rgba(0,0,0,0.10); height:64px;
}
.mobile-tab-bar-inner { display:flex; height:100%; }
.mobile-tab-item {
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  cursor:pointer; border:none; background:transparent; font-family:'Noto Sans KR',sans-serif;
  color:var(--gray3); transition:color 0.2s; padding:8px 0; text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.mobile-tab-item:active { background:var(--gray1); }
.mobile-tab-item.active { color:var(--accent); }
.mobile-tab-item.tab-quote { background:var(--accent); }
.mobile-tab-item.tab-quote .mobile-tab-label, .mobile-tab-item.tab-quote .mobile-tab-icon { color:#fff; }
.mobile-tab-icon { font-size:22px; line-height:1; }
.mobile-tab-label { font-size:10px; font-weight:700; letter-spacing:-0.3px; }

/* ====== FAQ ====== */
.faq-section { background:#fff; padding:72px 24px; }
.faq-inner { max-width:860px; margin:0 auto; }
.faq-header { text-align:center; margin-bottom:48px; }
.faq-header .section-label { color:var(--accent2); text-align:center; }
.faq-header .section-title { text-align:center; }
.faq-header p { font-size:14px; color:var(--text2); margin-top:10px; }
.faq-tabs { display:flex; gap:8px; justify-content:center; margin-bottom:32px; flex-wrap:wrap; }
.faq-tab {
  padding:8px 20px; border-radius:20px; border:2px solid var(--gray2);
  background:#fff; font-size:13px; font-weight:700; cursor:pointer;
  transition:all .2s; font-family:'Noto Sans KR',sans-serif; color:var(--text2);
}
.faq-tab.active { background:var(--accent2); border-color:var(--accent2); color:#fff; }
.faq-tab:hover:not(.active) { border-color:var(--accent2); color:var(--accent2); }
.faq-list { display:flex; flex-direction:column; gap:10px; }
.faq-item { border:1px solid var(--gray2); border-radius:14px; overflow:hidden; transition:box-shadow .2s; }
.faq-item:hover { box-shadow:0 4px 20px rgba(0,0,0,.08); }
.faq-item.open { border-color:var(--accent2); box-shadow:0 4px 20px rgba(0,119,182,.12); }
.faq-q {
  display:flex; align-items:center; gap:14px; padding:20px 22px;
  cursor:pointer; user-select:none; background:#fff; transition:background .15s;
}
.faq-q:hover { background:var(--gray1); }
.faq-item.open .faq-q { background:#f0f8ff; }
.faq-num {
  min-width:30px; height:30px; border-radius:8px;
  background:var(--accent2); color:#fff; font-size:13px; font-weight:900;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.faq-item.open .faq-num { background:var(--accent); }
.faq-q-text { flex:1; font-size:15px; font-weight:700; color:var(--primary); line-height:1.4; }
.faq-arrow {
  width:28px; height:28px; border-radius:50%; background:var(--gray1);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; flex-shrink:0; transition:transform .3s; color:var(--text2);
}
.faq-item.open .faq-arrow { transform:rotate(180deg); background:var(--accent2); color:#fff; }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s ease, padding .3s ease; padding:0 22px; }
.faq-item.open .faq-a { max-height:1000px; padding:0 22px 22px; }
.faq-a-inner { padding-top:16px; border-top:1px solid var(--gray2); font-size:14px; color:var(--text2); line-height:1.85; }
.faq-a-inner strong { color:var(--primary); }
.faq-a-inner .tip-box {
  margin-top:14px; padding:12px 16px; border-radius:10px;
  background:#fef9c3; border-left:4px solid #f4a261;
  font-size:13px; color:#7c4700; line-height:1.7;
}
.faq-a-inner table { width:100%; border-collapse:collapse; margin-top:14px; font-size:13px; }
.faq-a-inner table th { background:#f0f8ff; padding:10px 12px; text-align:left; font-weight:700; color:var(--primary); border:1px solid var(--gray2); }
.faq-a-inner table td { padding:10px 12px; border:1px solid var(--gray2); vertical-align:top; line-height:1.6; }
.faq-a-inner table tr:nth-child(even) td { background:#fafbff; }
.faq-a-inner ul { padding-left:18px; margin-top:8px; }
.faq-a-inner ul li { margin-bottom:6px; }
.faq-cat { font-size:10px; font-weight:700; padding:2px 8px; border-radius:10px; flex-shrink:0; }
.cat-basic { background:#e0f0ff; color:var(--accent2); }
.cat-cost { background:#fef9e7; color:#b7770d; }
.cat-accident { background:#fde8e8; color:#c0392b; }
.cat-credit { background:#e8f8e8; color:#27ae60; }
.cat-contract { background:#f3e8ff; color:#7d3c98; }
.faq-item.faq-hidden { display:none !important; }
.faq-more-wrap { text-align:center; margin-top:20px; }
.faq-more-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 32px; border-radius:50px; background:#fff; border:2px solid var(--accent2);
  color:var(--accent2); font-size:15px; font-weight:700; cursor:pointer; transition:all .2s;
}
.faq-more-btn:hover { background:var(--accent2); color:#fff; transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,119,182,.2); }
.faq-bottom { text-align:center; margin-top:40px; padding:32px; background:linear-gradient(135deg,#f0f8ff,#e8f4fd); border-radius:16px; }
.faq-bottom p { font-size:15px; color:var(--text2); margin-bottom:16px; line-height:1.7; }
.faq-bottom-btn {
  display:inline-block; background:var(--accent); color:#fff;
  padding:13px 32px; border-radius:30px; font-size:14px; font-weight:900;
  text-decoration:none; border:none; cursor:pointer;
  font-family:'Noto Sans KR',sans-serif; transition:all .2s;
  box-shadow:0 6px 20px rgba(230,57,70,.35);
}
.faq-bottom-btn:hover { background:#c1121f; transform:translateY(-2px); }

/* ====== BRANDS ====== */
.brands-section { background:var(--gray1); padding:72px 24px; }
.brands-inner { max-width:1200px; margin:0 auto; }
.brands-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.brand-card {
  background:#fff; border-radius:16px; padding:28px 24px;
  display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  text-decoration:none; border:1.5px solid var(--gray2);
  box-shadow:0 2px 12px rgba(0,0,0,0.06); transition:all 0.25s;
  position:relative; overflow:hidden;
}
.brand-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; transition:height 0.25s; }
.brand-card:hover { transform:translateY(-5px); box-shadow:0 12px 36px rgba(0,0,0,0.13); border-color:transparent; }
.brand-card:hover::before { height:4px; }
.brand-genesis::before { background:linear-gradient(90deg,#b8a06e,#e0c97f); }
.brand-hyundai::before { background:#002c5f; }
.brand-kia::before { background:#05141f; }
.brand-kgm::before { background:#1a1a1a; }
.brand-renault::before { background:linear-gradient(90deg,#efdf00,#f5a623); }
.brand-chevrolet::before { background:linear-gradient(90deg,#c8a84b,#e8c86a); }
.brand-logo-wrap { height:44px; display:flex; align-items:center; }
.brand-logo { max-height:36px; max-width:140px; width:auto; object-fit:contain; }
.brand-info { flex:1; }
.brand-name { font-size:17px; font-weight:800; color:var(--primary); margin-bottom:4px; }
.brand-desc { font-size:13px; color:var(--text2); }
.brand-arrow { font-size:13px; font-weight:700; color:var(--accent); margin-top:4px; }

/* ====== REVIEW PAGE ====== */
.review-section { padding:60px 24px; background:var(--gray1); }
.review-inner { max-width:1000px; margin:0 auto; }
.review-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.review-card {
  background:#fff; border-radius:16px; padding:28px; position:relative;
  box-shadow:var(--shadow); border:1px solid var(--gray2); transition:all .25s;
}
.review-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.review-stars { color:#f4a261; font-size:16px; margin-bottom:10px; }
.review-text { font-size:14px; color:var(--text2); line-height:1.8; margin-bottom:16px; }
.review-author { display:flex; align-items:center; gap:10px; }
.review-avatar {
  width:40px; height:40px; border-radius:50%; background:var(--gray1);
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.review-name { font-size:14px; font-weight:700; color:var(--primary); }
.review-meta { font-size:12px; color:var(--gray3); }

/* ====== BLOG PAGE ====== */
.blog-section { padding:60px 24px; background:var(--gray1); }
.blog-inner { max-width:1000px; margin:0 auto; }
.blog-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.blog-card {
  background:#fff; border-radius:16px; overflow:hidden;
  box-shadow:var(--shadow); border:1px solid var(--gray2); transition:all .25s;
  text-decoration:none; color:inherit; display:block;
}
.blog-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.blog-card-img { height:180px; background:linear-gradient(135deg,#1a1a2e,#2e1a47); display:flex; align-items:center; justify-content:center; font-size:48px; }
.blog-card-body { padding:24px; }
.blog-card-cat { font-size:11px; font-weight:700; color:var(--accent2); margin-bottom:8px; text-transform:uppercase; letter-spacing:0.5px; }
.blog-card-title { font-size:17px; font-weight:800; color:var(--primary); margin-bottom:8px; line-height:1.4; }
.blog-card-summary { font-size:13px; color:var(--text2); line-height:1.6; }
.blog-card-date { font-size:12px; color:var(--gray3); margin-top:12px; }

/* ====== CONTACT PAGE ====== */
.contact-section { padding:60px 24px; }
.contact-inner { max-width:800px; margin:0 auto; }
.contact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-bottom:40px; }
.contact-card {
  background:#fff; border-radius:16px; padding:28px; text-align:center;
  box-shadow:var(--shadow); border:1px solid var(--gray2); transition:all .25s;
  text-decoration:none; color:inherit; display:block;
}
.contact-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.contact-card-icon { font-size:36px; margin-bottom:12px; }
.contact-card-title { font-size:16px; font-weight:800; color:var(--primary); margin-bottom:6px; }
.contact-card-desc { font-size:14px; color:var(--text2); line-height:1.6; }
.contact-card-link { font-size:14px; font-weight:700; color:var(--accent2); margin-top:10px; display:block; }

/* ====== LANDING SPECIFIC (nosimsa/credit) ====== */
.landing-hero {
  padding-top:64px; position:relative; overflow:hidden;
}
.landing-hero-inner { max-width:800px; margin:0 auto; padding:80px 24px 60px; position:relative; z-index:1; }
.landing-hero h1 { font-size:clamp(28px,5vw,48px); font-weight:900; color:#fff; line-height:1.25; margin-bottom:20px; }
.landing-hero p { font-size:16px; color:rgba(255,255,255,0.7); line-height:1.7; margin-bottom:32px; }
.landing-cta-group { display:flex; gap:14px; flex-wrap:wrap; }
.landing-cta {
  display:inline-flex; align-items:center; gap:8px;
  padding:16px 32px; border-radius:12px; font-size:16px; font-weight:800;
  text-decoration:none; transition:all .2s; cursor:pointer; border:none;
  font-family:'Noto Sans KR',sans-serif;
}
.landing-cta-primary { background:var(--accent); color:#fff; box-shadow:0 6px 20px rgba(230,57,70,.35); }
.landing-cta-primary:hover { background:#c1121f; transform:translateY(-2px); }
.landing-cta-kakao { background:#FEE500; color:#3c1e1e; }
.landing-cta-kakao:hover { filter:brightness(.95); transform:translateY(-2px); }
.landing-pain-points { max-width:800px; margin:0 auto; padding:60px 24px; }
.pain-point { display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; }
.pain-icon { font-size:28px; flex-shrink:0; }
.pain-text h3 { font-size:16px; font-weight:800; color:var(--primary); margin-bottom:4px; }
.pain-text p { font-size:14px; color:var(--text2); line-height:1.6; }

/* ====== 공지사항 미리보기 (메인 페이지) ====== */
.latest-notice-section { background:#fff; padding:60px 24px; border-bottom:1px solid var(--gray2); }
.latest-notice-inner { max-width:1100px; margin:0 auto; }
.latest-notice-card {
  background:#f0faf4; border-radius:18px; overflow:hidden;
  box-shadow:0 6px 32px rgba(39,174,96,0.10); border:1px solid #b7e4c7;
  cursor:pointer; transition:all 0.3s;
  display:grid; grid-template-columns:260px 1fr; min-height:200px;
}
.latest-notice-card:hover { transform:translateY(-4px); box-shadow:0 12px 48px rgba(39,174,96,0.18); }
.latest-notice-icon {
  background:linear-gradient(135deg,#1a7e3e,#27ae60);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; position:relative; overflow:hidden;
}
.latest-notice-icon::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 70% 30%, rgba(255,255,255,0.12), transparent 60%);
}
.latest-notice-icon-emoji { font-size:54px; line-height:1; }
.latest-notice-icon-badge {
  background:rgba(255,255,255,0.22); color:#fff;
  font-size:11px; font-weight:700; padding:4px 12px; border-radius:20px; letter-spacing:0.5px;
}
.latest-notice-body { padding:32px 36px; display:flex; flex-direction:column; justify-content:center; }
.latest-notice-cat { font-size:11px; font-weight:700; letter-spacing:0.5px; color:#1a7e3e; background:rgba(39,174,96,0.12); border-radius:4px; padding:3px 10px; margin-bottom:12px; display:inline-block; }
.latest-notice-title { font-size:20px; font-weight:900; color:var(--primary); line-height:1.4; margin-bottom:10px; }
.latest-notice-summary { font-size:14px; color:var(--text2); line-height:1.7; margin-bottom:16px; }
.latest-notice-meta { font-size:12px; color:var(--gray3); display:flex; gap:16px; margin-bottom:16px; }
.latest-notice-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:#27ae60; color:#fff; border-radius:8px;
  padding:10px 20px; font-size:13px; font-weight:700;
  width:fit-content; transition:all 0.2s;
}
.latest-notice-card:hover .latest-notice-btn { background:#1a7e3e; }
.latest-notice-more { text-align:center; margin-top:20px; }
.latest-notice-more a { font-size:14px; font-weight:700; color:#27ae60; text-decoration:none; }
.latest-notice-more a:hover { text-decoration:underline; }

/* ====== 최신 주간뉴스 미리보기 (메인 페이지) ====== */
.latest-news-section { background:var(--gray1); padding:60px 24px; }
.latest-news-inner { max-width:1100px; margin:0 auto; }
.latest-news-card {
  background:#fff; border-radius:18px; overflow:hidden;
  box-shadow:0 6px 32px rgba(0,0,0,0.10); border:1px solid var(--gray2);
  cursor:pointer; transition:all 0.3s;
  display:grid; grid-template-columns:320px 1fr; min-height:260px;
}
.latest-news-card:hover { transform:translateY(-4px); box-shadow:0 12px 48px rgba(0,0,0,0.16); }
.latest-news-img {
  background:linear-gradient(135deg,#1a1a2e,#4a235a);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.latest-news-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.92; transition:transform 0.4s; }
.latest-news-card:hover .latest-news-img img { transform:scale(1.04); }
.latest-news-img-badge {
  position:absolute; top:16px; left:16px; z-index:2;
  background:#9b59b6; color:#fff; font-size:11px; font-weight:700;
  padding:4px 10px; border-radius:20px; letter-spacing:0.5px;
}
.latest-news-body { padding:36px; display:flex; flex-direction:column; justify-content:center; }
.latest-news-cat { font-size:11px; font-weight:700; letter-spacing:0.5px; color:#9b59b6; background:rgba(155,89,182,0.1); border-radius:4px; padding:3px 10px; margin-bottom:14px; display:inline-block; }
.latest-news-title { font-size:22px; font-weight:900; color:var(--primary); line-height:1.35; margin-bottom:12px; }
.latest-news-summary { font-size:14px; color:var(--text2); line-height:1.7; margin-bottom:16px; }
.latest-news-meta { font-size:12px; color:var(--gray3); display:flex; gap:16px; align-items:center; margin-bottom:16px; }
.latest-news-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:#9b59b6; color:#fff; border-radius:8px;
  padding:10px 20px; font-size:13px; font-weight:700;
  width:fit-content; transition:all 0.2s;
}
.latest-news-card:hover .latest-news-btn { background:#7d3c98; }
.latest-news-more { text-align:center; margin-top:20px; }
.latest-news-more a { font-size:14px; font-weight:700; color:#9b59b6; text-decoration:none; }
.latest-news-more a:hover { text-decoration:underline; }

/* ====== 공지사항 페이지 ====== */
.notice-page { max-width:820px; margin:0 auto; padding:96px 24px 60px; min-height:100vh; }
.notice-page-title { font-size:28px; font-weight:900; color:var(--primary); margin-bottom:6px; letter-spacing:-0.5px; }
.notice-page-title span { color:#27ae60; }
.notice-page-sub { font-size:14px; color:var(--gray3); margin-bottom:36px; }
.notice-list { display:flex; flex-direction:column; gap:16px; }
.notice-item {
  background:#fff; border-radius:14px; padding:24px 28px;
  box-shadow:var(--shadow); border:1px solid var(--gray2);
  cursor:pointer; transition:all 0.25s; border-left:4px solid #27ae60;
}
.notice-item:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,0.12); }
.notice-item-title { font-size:17px; font-weight:700; color:var(--primary); margin-bottom:8px; }
.notice-item-meta { font-size:12px; color:var(--gray3); display:flex; gap:12px; margin-bottom:8px; }
.notice-item-summary { font-size:14px; color:var(--text2); line-height:1.6; }
.notice-empty { text-align:center; padding:60px 24px; color:var(--gray3); font-size:15px; line-height:1.8; }

/* ====== 주간뉴스 게시판 ====== */
.news-page { max-width:1100px; margin:0 auto; padding:96px 24px 60px; min-height:100vh; }
.news-page-title {
  font-size:28px; font-weight:900; color:var(--primary); margin-bottom:6px; letter-spacing:-0.5px;
}
.news-page-title span { color:#9b59b6; }
.news-page-sub { font-size:14px; color:var(--gray3); margin-bottom:36px; }

/* 최신 뉴스 (Featured) */
.news-featured {
  background:#fff; border-radius:18px; overflow:hidden;
  box-shadow:0 6px 32px rgba(0,0,0,0.10); margin-bottom:40px;
  border:1px solid var(--gray2); cursor:pointer; transition:all 0.3s;
  display:grid; grid-template-columns:1fr 1fr; min-height:280px;
}
.news-featured:hover { transform:translateY(-4px); box-shadow:0 12px 48px rgba(0,0,0,0.16); }
.news-featured-img {
  background:linear-gradient(135deg,#1a1a2e,#4a235a);
  display:flex; align-items:center; justify-content:center;
  font-size:64px; position:relative; overflow:hidden;
}
.news-featured-img::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(155,89,182,0.3),rgba(26,26,46,0.8));
}
.news-featured-img .fi-emoji { position:relative; z-index:1; filter:drop-shadow(0 4px 12px rgba(0,0,0,0.4)); }
.fi-news-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:1; opacity:0.92;
  transition:transform 0.4s;
}
.news-featured:hover .fi-news-img { transform:scale(1.04); }
.news-thumb-img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.4s;
}
.news-card:hover .news-thumb-img { transform:scale(1.06); }
.news-featured-badge {
  position:absolute; top:16px; left:16px; z-index:2;
  background:#9b59b6; color:#fff; font-size:11px; font-weight:700;
  padding:4px 10px; border-radius:20px; letter-spacing:0.5px;
}
.news-featured-body { padding:36px 36px 32px; display:flex; flex-direction:column; justify-content:center; }
.news-featured-cat {
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.5px;
  color:#9b59b6; background:rgba(155,89,182,0.1); border-radius:4px;
  padding:3px 10px; margin-bottom:14px;
}
.news-featured-title { font-size:22px; font-weight:900; color:var(--primary); line-height:1.35; margin-bottom:12px; }
.news-featured-summary { font-size:14px; color:var(--text2); line-height:1.7; margin-bottom:20px; }
.news-featured-meta { font-size:12px; color:var(--gray3); display:flex; gap:16px; align-items:center; }
.news-read-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:#9b59b6; color:#fff; border:none; border-radius:8px;
  padding:10px 20px; font-size:13px; font-weight:700; cursor:pointer;
  transition:all 0.2s; font-family:'Noto Sans KR',sans-serif; margin-top:4px; width:fit-content;
}
.news-read-btn:hover { background:#7d3c98; transform:translateX(2px); }

/* 뉴스 목록 */
.news-list-title { font-size:16px; font-weight:700; color:var(--text); margin-bottom:16px; padding-bottom:10px; border-bottom:2px solid var(--gray2); }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:40px; }
.news-card {
  background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:var(--shadow); border:1px solid var(--gray2);
  cursor:pointer; transition:all 0.28s;
}
.news-card:hover { transform:translateY(-4px); box-shadow:0 10px 36px rgba(0,0,0,0.14); border-color:#9b59b6; }
.news-card-thumb {
  height:160px; display:flex; align-items:center; justify-content:center;
  font-size:40px; background:linear-gradient(135deg,#1a1a2e,#2e1a47);
  position:relative; overflow:hidden; padding:0;
}
.news-card-body { padding:16px 18px 18px; }
.news-card-cat { font-size:10px; font-weight:700; color:#9b59b6; letter-spacing:0.5px; margin-bottom:6px; text-transform:uppercase; }
.news-card-title { font-size:14px; font-weight:700; color:var(--primary); line-height:1.4; margin-bottom:8px; }
.news-card-summary { font-size:12px; color:var(--text2); line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-card-meta { font-size:11px; color:var(--gray3); margin-top:10px; }

/* 뉴스 상세보기 오버레이 */
.news-detail-overlay {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,0.65);
  z-index:9999; align-items:flex-start; justify-content:center;
  padding:16px; overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.news-detail-overlay.open { display:flex; }
.news-detail-modal {
  background:#fff; border-radius:18px; max-width:760px; width:100%;
  min-height:200px; position:relative; margin:auto;
  box-shadow:0 20px 80px rgba(0,0,0,0.3);
}
.news-detail-header {
  background:linear-gradient(135deg,#1a1a2e,#4a235a); padding:40px 40px 32px;
  position:relative;
}
.news-detail-header-emoji { font-size:56px; margin-bottom:16px; display:block; }
.news-detail-cat {
  display:inline-block; font-size:11px; font-weight:700; color:#d7a8f0;
  background:rgba(155,89,182,0.3); border-radius:4px; padding:3px 10px; margin-bottom:12px;
}
.news-detail-title { font-size:24px; font-weight:900; color:#fff; line-height:1.35; }
.news-detail-meta { font-size:12px; color:rgba(255,255,255,0.5); margin-top:10px; }
.news-detail-close {
  position:absolute; top:16px; right:16px;
  background:rgba(255,255,255,0.15); border:none; color:#fff;
  width:36px; height:36px; border-radius:50%; font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background 0.2s;
}
.news-detail-close:hover { background:rgba(255,255,255,0.3); }
.news-detail-body { padding:36px 40px 40px; }
.news-detail-body h3 { font-size:17px; font-weight:700; color:var(--primary); margin:24px 0 10px; }
.news-detail-body h3:first-child { margin-top:0; }
.news-detail-body p { font-size:14px; color:var(--text2); line-height:1.8; margin-bottom:12px; }
.news-detail-body ul { margin:8px 0 14px 18px; }
.news-detail-body ul li { font-size:14px; color:var(--text2); line-height:1.8; }
.news-detail-body .highlight-box {
  background:rgba(155,89,182,0.07); border-left:4px solid #9b59b6;
  border-radius:0 8px 8px 0; padding:16px 20px; margin:16px 0; font-size:14px; color:var(--text2); line-height:1.7;
}
.news-detail-cta {
  background:linear-gradient(135deg,#9b59b6,#7d3c98); border-radius:12px;
  padding:24px; text-align:center; margin-top:28px;
}
.news-detail-cta p { color:#fff; font-size:15px; font-weight:700; margin-bottom:14px; }
.news-detail-cta a {
  display:inline-block; background:#fff; color:#7d3c98; font-weight:700;
  padding:10px 24px; border-radius:8px; text-decoration:none; font-size:14px; transition:all 0.2s;
}
.news-detail-cta a:hover { background:#f3e8ff; transform:translateY(-1px); }

/* ====== RESPONSIVE ====== */
@media(max-width:900px) {
  .brands-grid { grid-template-columns:repeat(2,1fr); }
  .review-grid { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px) {
  .selector-cards { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .header-nav { display:none; }
  .footer-top { flex-direction:column; }
  .footer-contact { text-align:left; }
  .cars-grid { grid-template-columns:1fr 1fr; }
  .form-row { grid-template-columns:1fr; }
  body { padding-bottom:64px; }
  .floating-buttons { bottom:80px; }
  .bookmark-popup { bottom:280px; }
  .mobile-tab-bar { display:flex; }
  .faq-section { padding:48px 16px; }
  .faq-q-text { font-size:14px; }
  .latest-notice-card { grid-template-columns:1fr; }
  .latest-notice-icon { min-height:120px; flex-direction:row; padding:20px; gap:14px; }
  .latest-notice-icon-emoji { font-size:36px; }
  .latest-news-card { grid-template-columns:1fr; }
  .latest-news-img { min-height:180px; }
  .news-featured { grid-template-columns:1fr; }
  .news-featured-img { min-height:160px; }
  .news-detail-header { padding:28px 24px; }
  .news-detail-body { padding:24px; }
  .hero { min-height:auto; }
  .hero-stats { flex-direction:column; gap:0; }
  .stat { border-radius:0 !important; }
  .stat:first-child { border-radius:12px 12px 0 0 !important; }
  .stat:last-child { border-radius:0 0 12px 12px !important; border-top:none; }
  .stat + .stat { border-left:1px solid rgba(255,255,255,0.2); border-top:none; }
  .hero-contact-inner { flex-direction:column; gap:8px; align-items:stretch; }
  .hero-contact-item { justify-content:center; }
}
@media(max-width:600px) {
  .news-grid { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .cars-grid { grid-template-columns:1fr; }
  .hero h1 { font-size:28px; letter-spacing:-0.5px; }
  .hero-stats { gap:0; }
  .hero-cta { flex-direction:column; }
  .hero-cta .btn-hero-primary,
  .hero-cta .btn-hero-outline { width:100%; justify-content:center; }
  .brands-grid { grid-template-columns:1fr; }
}
