/* ================================================================
   Botu Auto · Garage Theme
   ----------------------------------------------------------------
   深色车库主题层。加载顺序：styles.css / landing.css 之后。
   只改配色与装饰，不动布局尺寸，避免影响列表、筛选、详情页功能。
   汽车元素：车库顶灯光晕、地面网格、仪表刻度尺、金属描边、
            车灯扫光、方格旗、轮毂徽标。
   ================================================================ */

:root {
  --bg: #08090b;
  --bg-2: #0d1014;
  --card: #13171d;
  --card-2: #1a1f26;
  --ink: #f4f7fb;
  --ink2: #b3bdcb;
  --ink3: #78828f;
  --line: rgba(255, 255, 255, 0.085);
  --line-2: rgba(255, 255, 255, 0.16);
  --red: #ff3b4e;
  --red-soft: rgba(255, 59, 78, 0.12);
  --green: #25d366;
  --blue: #6ea8ff;
  --gold: #d9b981;
  --gold-2: #b99a63;
  --radius: 15px;
  --shadow: 0 22px 48px -28px rgba(0, 0, 0, 0.95), 0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

/* ---------- 车身底色：车库顶灯 + 地面网格 ---------- */
html {
  background: var(--bg);
}

body {
  background-color: var(--bg);
  background-image:
    /* 顶部一排冷白顶灯 */
    radial-gradient(1100px 380px at 50% -170px, rgba(120, 165, 220, 0.18), transparent 72%),
    /* 右上角暖光 */
    radial-gradient(680px 300px at 88% -60px, rgba(217, 185, 129, 0.10), transparent 70%),
    /* 地面网格 */
    linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.032) 1px, transparent 1px);
  background-size: auto, auto, 46px 46px, 46px 46px;
  color: var(--ink);
}

::selection {
  background: rgba(217, 185, 129, 0.28);
  color: #fff;
}

/* 滚动条：细碳灰 */
* {
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.14);
  border-radius: 99px;
  border: 3px solid transparent;
  background-clip: content-box;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.26);
  background-clip: content-box;
}

/* ================================================================
   列表页
   ================================================================ */

/* ---------- 顶部：深玻璃 + 仪表刻度尺 ---------- */
.topbar {
  background: rgba(8, 9, 11, 0.82);
  backdrop-filter: saturate(170%) blur(18px);
  -webkit-backdrop-filter: saturate(170%) blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  position: sticky;
  box-shadow:
    inset 0 1px 0 rgba(217, 185, 129, 0.22),
    0 12px 30px -22px rgba(0, 0, 0, 1);
}

/* 底部刻度尺（车速表/转速表观感） */
.topbar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 7px;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.2) 0 1px,
    transparent 1px 9px
  );
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  opacity: 0.55;
}

/* 左侧红区刻度（转速红线区） */
.topbar::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 18%;
  height: 7px;
  pointer-events: none;
  z-index: 1;
  background-image: repeating-linear-gradient(
    90deg,
    rgba(255, 59, 78, 0.55) 0 1px,
    transparent 1px 9px
  );
  -webkit-mask-image: linear-gradient(90deg, rgba(255, 59, 78, 0.9), transparent);
  mask-image: linear-gradient(90deg, rgba(255, 59, 78, 0.9), transparent);
}

/* ---------- 徽标：金属轮毂 ---------- */
.shop-logo {
  background: radial-gradient(circle at 30% 25%, #2a323d, #10141a 70%);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: var(--gold);
  font-weight: 800;
  letter-spacing: 0.5px;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.8),
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 10px 24px -14px rgba(0, 0, 0, 0.95);
  position: relative;
}

.shop-logo::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 9px;
  border: 1px dashed rgba(217, 185, 129, 0.28);
  pointer-events: none;
}

.shop-name {
  letter-spacing: 0.2px;
  color: #fff;
}

.shop-sub {
  color: var(--ink3);
  letter-spacing: 0.3px;
}

.shop-sub b {
  color: var(--gold);
}

/* ---------- 语言按钮 ---------- */
.lang-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--ink2);
  transition: all 0.18s;
}

.lang-btn:hover {
  border-color: rgba(217, 185, 129, 0.5);
  color: var(--gold);
}

/* ---------- 搜索：凹陷式仪表框 ---------- */
.search-wrap input {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--ink);
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.45);
}

.search-wrap input::placeholder {
  color: #6c7784;
}

.search-wrap input:focus {
  background: rgba(255, 255, 255, 0.075);
  border-color: rgba(217, 185, 129, 0.55);
  box-shadow:
    inset 0 2px 6px rgba(0, 0, 0, 0.45),
    0 0 0 3px rgba(217, 185, 129, 0.13);
}

.search-icon {
  color: var(--ink3);
}

/* ---------- 筛选胶囊 ---------- */
.chip {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--ink2);
}

.chip:hover {
  border-color: rgba(255, 255, 255, 0.24);
  color: var(--ink);
}

.chip.on {
  background: linear-gradient(180deg, #ffffff, #dfe4ec);
  border-color: #fff;
  color: #0a0c10;
  font-weight: 700;
  box-shadow: 0 8px 22px -12px rgba(255, 255, 255, 0.55);
}

.sort-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.11);
  color: var(--ink2);
}

.result-line {
  color: var(--ink3);
}

.result-line b {
  color: var(--ink);
}

/* ---------- 车卡：金属边框 + 车灯扫光 ---------- */
.vcard {
  background: linear-gradient(180deg, #171c23, #12161c 62%);
  border: 1px solid rgba(255, 255, 255, 0.075);
  box-shadow: var(--shadow);
  transition:
    transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1),
    border-color 0.28s,
    box-shadow 0.28s;
}

/* 顶部 1px 金属高光 */
.vcard::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12%;
  right: 12%;
  height: 1px;
  z-index: 3;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  pointer-events: none;
}

/* 车灯扫光叠层 */
.vcard::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.35s;
  background: linear-gradient(
    115deg,
    transparent 32%,
    rgba(255, 255, 255, 0.05) 46%,
    rgba(217, 185, 129, 0.07) 52%,
    transparent 66%
  );
}

@media (hover: hover) {
  .vcard:hover {
    transform: translateY(-5px);
    border-color: rgba(217, 185, 129, 0.42);
    box-shadow:
      0 30px 60px -32px rgba(0, 0, 0, 1),
      0 0 0 1px rgba(217, 185, 129, 0.1);
  }

  .vcard:hover::after {
    opacity: 1;
  }

  .vcard:hover .vcard-img img {
    transform: scale(1.05);
  }

  .vcard:hover .price {
    text-shadow: 0 0 26px rgba(255, 59, 78, 0.45);
  }
}

.vcard-img {
  background: linear-gradient(135deg, #1a2028, #0e1217);
}

.vcard-img img {
  transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* 图片底部渐隐，让车图与卡片融合 */
.vcard-img::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(10, 12, 15, 0.55));
}

.vcard-img .ph {
  color: #4d5763;
}

/* 角标：车牌质感 */
.badge {
  z-index: 4;
  background: linear-gradient(180deg, rgba(24, 29, 36, 0.92), rgba(9, 11, 14, 0.94));
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #eef2f7;
  letter-spacing: 0.6px;
  box-shadow:
    0 6px 16px -8px rgba(0, 0, 0, 0.95),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.badge.hot {
  border-color: rgba(255, 59, 78, 0.55);
  color: #ffd9dd;
  background: linear-gradient(180deg, rgba(90, 16, 24, 0.92), rgba(40, 8, 12, 0.94));
}

.badge.booked {
  border-color: rgba(217, 185, 129, 0.5);
  color: #f3e4c8;
  background: linear-gradient(180deg, rgba(70, 52, 20, 0.92), rgba(34, 25, 10, 0.94));
}

.vcard-body {
  position: relative;
  z-index: 3;
}

.vcard-title {
  color: var(--ink);
  letter-spacing: 0.1px;
}

.vcard-meta {
  color: var(--ink3);
}

.price {
  color: var(--red);
  font-variant-numeric: tabular-nums;
  transition: text-shadow 0.3s;
}

.price-old {
  color: #69737f;
}

.tag-mini {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--ink2);
}

/* ---------- 空状态 ---------- */
.empty {
  color: var(--ink3);
}

.empty h3 {
  color: var(--ink2);
}

/* ---------- 页脚：方格旗 ---------- */
.site-foot {
  background: #0b0e12;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  color: var(--ink3);
  position: relative;
}

.site-foot::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 9px;
  pointer-events: none;
  background-image:
    linear-gradient(45deg, rgba(255, 255, 255, 0.16) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.16) 75%),
    linear-gradient(45deg, rgba(255, 255, 255, 0.16) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.16) 75%);
  background-size: 16px 16px;
  background-position: 0 0, 8px 8px;
  opacity: 0.3;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent);
  mask-image: linear-gradient(180deg, #000, transparent);
}

.site-foot .foot-name {
  color: var(--ink);
}

.site-foot a {
  color: var(--gold);
}

.admin-link {
  color: #5c6572;
  border-color: rgba(255, 255, 255, 0.09);
}

/* ---------- 联系方式主卡：展厅接待台 ---------- */
.contact-hero {
  background: linear-gradient(168deg, #181d24, #101318 62%);
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow:
    0 30px 64px -36px rgba(0, 0, 0, 1),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  position: relative;
  overflow: hidden;
}

/* 顶部金色引线 */
.contact-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(217, 185, 129, 0.75), transparent);
}

/* 右上角氛围光（展厅射灯） */
.contact-hero::after {
  content: "";
  position: absolute;
  right: -110px;
  top: -130px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(217, 185, 129, 0.13), transparent 66%);
}

.contact-hero .ch-title {
  color: var(--ink);
  letter-spacing: 0.2px;
}

.contact-hero .ch-sub {
  color: var(--ink3);
}

.contact-hero .ch-number {
  color: #fff;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.3px;
  text-shadow: 0 0 28px rgba(255, 255, 255, 0.14);
}

.contact-hero .ch-btn {
  border-width: 1px;
  border-style: solid;
  border-radius: 12px;
  font-weight: 700;
  transition: transform 0.16s, box-shadow 0.2s, border-color 0.2s;
}

.contact-hero .ch-btn-wa {
  background: linear-gradient(180deg, #2fe472, #1cbb57);
  border-color: rgba(255, 255, 255, 0.28);
  color: #05230f;
  box-shadow:
    0 14px 30px -14px rgba(37, 211, 102, 0.75),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.contact-hero .ch-btn-wa:hover {
  box-shadow:
    0 18px 38px -14px rgba(37, 211, 102, 0.9),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.contact-hero .ch-btn-call,
.contact-hero .ch-btn:not(.ch-btn-wa) {
  background: linear-gradient(180deg, #262d37, #171b21);
  border-color: rgba(255, 255, 255, 0.15);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 12px 26px -16px rgba(0, 0, 0, 0.9);
}

.contact-hero .ch-extra {
  color: var(--ink3);
}

/* ================================================================
   详情页 / 政策页（landing.css 之后加载）
   ================================================================ */

.ld-page {
  background: var(--bg);
}

.ld-top {
  background: rgba(8, 9, 11, 0.86);
  backdrop-filter: saturate(170%) blur(18px);
  -webkit-backdrop-filter: saturate(170%) blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.ld-top::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.18) 0 1px,
    transparent 1px 9px
  );
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  opacity: 0.5;
}

.ld-brand {
  color: var(--ink);
}

.ld-brand small {
  color: var(--ink3);
}

.ld-lang {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--ink2);
}

.ld-gallery {
  background: #06070a;
}

.ld-head,
.ld-block,
.ld-shop,
.ld-more {
  background: transparent;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  position: relative;
}

.ld-head {
  border-top: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 70%);
}

.ld-price {
  color: var(--red);
  text-shadow: 0 0 30px rgba(255, 59, 78, 0.28);
}

.ld-price small {
  color: var(--ink3);
}

.ld-title {
  color: var(--ink);
}

.ld-sub {
  color: var(--ink2);
}

.ld-badge {
  background: rgba(37, 211, 102, 0.14);
  border: 1px solid rgba(37, 211, 102, 0.35);
  color: #6ee7a0;
}

.ld-h2 {
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: 0.2px;
}

/* 小节标题前的赛道斜纹 */
.ld-h2::before {
  content: "";
  width: 14px;
  height: 10px;
  flex: 0 0 auto;
  background-image: repeating-linear-gradient(
    115deg,
    var(--gold) 0 2px,
    transparent 2px 5px
  );
  opacity: 0.85;
  border-radius: 1px;
}

.ld-specs {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.ld-spec {
  background: #12161c;
}

.ld-spec .k {
  color: var(--ink3);
  letter-spacing: 0.3px;
}

.ld-spec .v {
  color: var(--ink);
}

.ld-desc {
  color: var(--ink2);
}

.ld-tag {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--ink2);
}

.ld-shop-name {
  color: var(--ink);
}

.ld-shop-line {
  color: var(--ink2);
}

.ld-shop-line a {
  color: var(--gold);
}

.ld-steps li {
  color: var(--ink2);
}

.ld-steps li::before {
  background: linear-gradient(180deg, #2a323d, #14181e);
  border: 1px solid rgba(217, 185, 129, 0.4);
  color: var(--gold);
}

/* 底部固定 CTA：深玻璃 + 绿色辉光 */
.ld-cta {
  background: rgba(9, 11, 14, 0.92);
  backdrop-filter: saturate(170%) blur(16px);
  -webkit-backdrop-filter: saturate(170%) blur(16px);
  border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.ld-cta a {
  border: 1px solid transparent;
}

.ld-cta .wa {
  background: linear-gradient(180deg, #2fe472, #1cbb57);
  border-color: rgba(255, 255, 255, 0.26);
  color: #05230f;
  box-shadow: 0 12px 28px -14px rgba(37, 211, 102, 0.8);
}

.ld-cta .call {
  background: linear-gradient(180deg, #262d37, #171b21);
  border-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.ld-more-item {
  border-color: rgba(255, 255, 255, 0.08);
  background: #12161c;
  transition: border-color 0.2s, transform 0.2s;
}

.ld-more-item:hover {
  border-color: rgba(217, 185, 129, 0.4);
  transform: translateY(-2px);
}

.ld-more-item img {
  background: #171c23;
}

.ld-more-item .t {
  color: var(--ink);
}

.ld-more-item .p {
  color: var(--red);
}

.ld-foot {
  color: var(--ink3);
}

.ld-foot a {
  color: var(--gold);
}

/* 政策页 */
.ld-doc {
  background: transparent;
  color: var(--ink2);
}

.ld-doc h1,
.ld-doc h2 {
  color: var(--ink);
}

.ld-doc .upd {
  color: var(--ink3);
}

.ld-doc p,
.ld-doc li {
  color: var(--ink2);
}

.ld-doc a {
  color: var(--gold);
}

/* 详情页计数气泡 */
.ld-count {
  background: rgba(8, 9, 11, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.16);
}

/* ================================================================
   移动端微调
   ================================================================ */
@media (max-width: 699px) {
  .vcard:hover {
    transform: none;
  }

  .contact-hero .ch-number {
    font-size: 24px;
  }
}

/* 尊重「减少动态效果」偏好 */
@media (prefers-reduced-motion: reduce) {
  .vcard,
  .vcard::after,
  .vcard-img img,
  .ld-more-item {
    transition: none !important;
  }

  .vcard:hover {
    transform: none;
  }
}
