/* ============================================================
   LUMI FEMALE THEME — Warm Cute Trendy Edition
   ============================================================
   Activated by adding class "theme-female" to <html>
   This overrides the default cyberpunk :root variables
   ============================================================ */

.theme-female {
  /* ── Core Color Palette — Warm Cute ── */
  --bg-cream:      #FFF8F0;
  --bg-soft:       #FFF2E8;
  --bg-warm:       #FFEBD9;
  --primary:       #FF6B35;
  --primary-light: #FF8F5E;
  --primary-pale:  rgba(255, 107, 53, 0.08);
  --accent-pink:   #FF6B9D;
  --accent-purple: #B088F9;
  --accent-blue:   #7EC8E3;
  --accent-yellow: #FFD93D;
  --accent-green:  #6BCB77;
  --neon-purple:   #B088F9;
  --neon-cyan:     #7EC8E3;
  --neon-pink:     #FF6B9D;
  --neon-blue:     #7EC8E3;
  --text-dark:     #2D1B0E;
  --text-body:     #5C4A3A;
  --text-muted:    #9E8E80;
  --card-bg:       rgba(255, 255, 255, 0.75);
  --card-border:   rgba(255, 107, 53, 0.08);
  --shadow-soft:   0 4px 24px rgba(255, 107, 53, 0.06), 0 1px 3px rgba(0,0,0,0.04);
  --shadow-hover:  0 12px 40px rgba(255, 107, 53, 0.12), 0 2px 8px rgba(0,0,0,0.06);
  --radius-sm:     10px;
  --radius-md:     16px;
  --radius-lg:     22px;
  --radius-xl:     28px;

  color-scheme: light;
}

/* ── Body Override ── */
.theme-female body {
  background: var(--bg-cream);
  color: var(--text-body);
}

/* ── Remove cyberpunk backgrounds ── */
.theme-female body::before {
  background: none;
}

.theme-female body::after {
  background: none;
}

/* ── Canvas Background — Soft warm ── */
.theme-female #bubble-canvas {
  background: 
    linear-gradient(180deg, rgba(255,107,53,0.008) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,107,53,0.008) 1px, transparent 1px);
  background-size: 80px 80px;
}

/* ── Scanline — hide ── */
.theme-female .scanline-overlay {
  display: none !important;
}

/* ── NAV ── */
.theme-female .nav {
  background: rgba(255, 248, 240, 0.88);
  border-bottom: 1px solid rgba(255, 107, 53, 0.06);
}

.theme-female .nav.scrolled {
  box-shadow: 0 2px 20px rgba(255, 107, 53, 0.06);
}

.theme-female .nav-logo-bear {
  filter: drop-shadow(0 2px 6px rgba(255, 107, 53, 0.2));
}

.theme-female .nav-logo:hover .nav-logo-bear {
  filter: drop-shadow(0 4px 12px rgba(255, 107, 53, 0.35));
}

.theme-female .nav-logo-text {
  background: linear-gradient(135deg, #FF6B35, #FF6B9D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.theme-female .nav-links a {
  color: var(--text-muted);
}

.theme-female .nav-links a::after {
  background: linear-gradient(90deg, #FF6B35, #FF6B9D);
}

.theme-female .nav-links a:hover {
  color: #FF6B35;
}

.theme-female .nav-cta {
  background: linear-gradient(135deg, #FF6B35, #FF6B9D);
  box-shadow: 0 4px 16px rgba(255, 107, 53, 0.2);
  border: none;
  color: #fff;
}

.theme-female .nav-cta:hover {
  box-shadow: 0 6px 24px rgba(255, 107, 53, 0.35);
}

/* ── HERO ── */
.theme-female .hero-badge {
  background: rgba(255, 107, 53, 0.06);
  border-color: rgba(255, 107, 53, 0.15);
  color: #FF6B35;
  box-shadow: none;
}

.theme-female .badge-dot {
  background: #FF6B35;
  box-shadow: 0 0 8px rgba(255, 107, 53, 0.4);
}

.theme-female .lumi-bear {
  filter: drop-shadow(0 8px 20px rgba(255, 107, 53, 0.2));
}

.theme-female .lumi-bear:hover {
  filter: drop-shadow(0 12px 30px rgba(255, 107, 53, 0.35));
}

/* Halo rings — warm pastel */
.theme-female .bear-halo-1 {
  border-color: rgba(255, 107, 53, 0.12);
  box-shadow: 0 0 10px rgba(255, 107, 53, 0.04);
}

.theme-female .bear-halo-2 {
  border-color: rgba(255, 107, 157, 0.1);
  box-shadow: 0 0 10px rgba(255, 107, 157, 0.03);
}

.theme-female .bear-halo-3 {
  border-color: rgba(176, 136, 249, 0.06);
}

.theme-female .hero-tag {
  color: #FF6B9D;
}

.theme-female .title-line-1 {
  background: linear-gradient(135deg, #FF6B35 0%, #FF6B9D 50%, #B088F9 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradient-shift 4s ease infinite;
}

.theme-female .hero-slogan .slogan-highlight {
  color: #FF6B35;
}

.theme-female .btn-primary {
  background: linear-gradient(135deg, #FF6B35, #FF6B9D);
  box-shadow: 0 6px 24px rgba(255, 107, 53, 0.25), inset 0 1px 0 rgba(255,255,255,0.2);
  border: none;
  color: #fff;
}

.theme-female .btn-primary:hover {
  box-shadow: 0 10px 36px rgba(255, 107, 53, 0.4);
}

.theme-female .btn-primary::after {
  background: linear-gradient(135deg, #B088F9, #FF6B9D);
}

.theme-female .btn-secondary {
  color: #FF6B35;
  background: rgba(255, 107, 53, 0.04);
  border-color: rgba(255, 107, 53, 0.2);
}

.theme-female .btn-secondary:hover {
  border-color: #FF6B35;
  background: rgba(255, 107, 53, 0.08);
  box-shadow: 0 6px 20px rgba(255, 107, 53, 0.1);
}

.theme-female .hero-tag-item {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 107, 53, 0.1);
  color: var(--text-body);
}

.theme-female .hero-tag-item:hover {
  border-color: #FF6B35;
  color: #FF6B35;
  box-shadow: 0 4px 12px rgba(255, 107, 53, 0.1);
}

.theme-female .scroll-hint-arrow {
  border-color: #FF6B35;
  opacity: 0.4;
}

/* ── MARQUEE ── */
.theme-female .marquee-strip {
  background: linear-gradient(90deg, rgba(255,107,53,0.02), rgba(255,107,157,0.02), rgba(176,136,249,0.02));
  border-color: rgba(255, 107, 53, 0.04);
}

.theme-female .marquee-item {
  color: #FF6B35;
}

.theme-female .marquee-sep {
  color: #FF6B9D;
}

/* ── SECTION LABELS ── */
.theme-female .section-label {
  color: #FF6B35;
  opacity: 0.6;
}

.theme-female .section-title {
  color: var(--text-dark);
}

.theme-female .section-title span {
  background: linear-gradient(135deg, #FF6B35, #FF6B9D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.theme-female .section-desc {
  color: var(--text-muted);
}

/* ── THREE STEPS — Warm Pastel ── */
.theme-female .step-glow {
  filter: blur(16px);
  opacity: 0.4;
}

.theme-female .step-island:nth-child(1) .step-glow { background: linear-gradient(135deg, #FF6B35, #FF6B9D); }
.theme-female .step-island:nth-child(3) .step-glow { background: linear-gradient(135deg, #B088F9, #FF6B9D); }
.theme-female .step-island:nth-child(5) .step-glow { background: linear-gradient(135deg, #7EC8E3, #6BCB77); }

.theme-female .step-ring {
  border-color: rgba(255, 107, 53, 0.08);
}

.theme-female .step-island:nth-child(1) .step-ring { border-color: rgba(255, 107, 53, 0.08); }
.theme-female .step-island:nth-child(3) .step-ring { border-color: rgba(255, 107, 157, 0.08); }
.theme-female .step-island:nth-child(5) .step-ring { border-color: rgba(126, 200, 227, 0.08); }

.theme-female .step-bear-img {
  filter: drop-shadow(0 6px 16px rgba(0,0,0,0.06));
}

.theme-female .step-island:hover .step-bear-img {
  filter: drop-shadow(0 10px 24px rgba(0,0,0,0.1));
}

.theme-female .step-num-badge {
  background: linear-gradient(135deg, #FF6B35, #FF6B9D);
  box-shadow: 0 3px 12px rgba(255, 107, 53, 0.2);
  text-shadow: none;
}

.theme-female .step-island:nth-child(1) .step-num-badge { background: linear-gradient(135deg, #FF6B35, #FF6B9D); }
.theme-female .step-island:nth-child(3) .step-num-badge { background: linear-gradient(135deg, #B088F9, #FF6B9D); }
.theme-female .step-island:nth-child(5) .step-num-badge { background: linear-gradient(135deg, #7EC8E3, #6BCB77); }

.theme-female .step-title {
  color: var(--text-dark);
}

.theme-female .step-desc {
  color: var(--text-muted);
}

.theme-female .step-island:nth-child(1) .step-pill { background: rgba(255,107,53,0.08); color: #FF6B35; }
.theme-female .step-island:nth-child(3) .step-pill { background: rgba(176,136,249,0.08); color: #B088F9; }
.theme-female .step-island:nth-child(5) .step-pill { background: rgba(126,200,227,0.08); color: #7EC8E3; }

.theme-female .steps-connector::before {
  background: repeating-linear-gradient(
    90deg,
    #FF6B35 0,
    #FF6B35 8px,
    transparent 8px,
    transparent 16px
  );
  opacity: 0.2;
}

.theme-female .steps-connector::after {
  border-left-color: #FF6B35;
  opacity: 0.2;
}

/* ── LISTINGS ── */
.theme-female .listing-card {
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(255, 255, 255, 0.8);
  box-shadow: var(--shadow-soft);
}

.theme-female .listing-card:hover {
  box-shadow: var(--shadow-hover);
}

.theme-female .listing-badge.hot {
  background: linear-gradient(135deg, #FF6B35, #FF6B9D);
  color: #fff;
  box-shadow: 0 3px 10px rgba(255, 107, 53, 0.3);
}

.theme-female .listing-badge.new {
  background: linear-gradient(135deg, #B088F9, #7EC8E3);
  color: #fff;
  box-shadow: 0 3px 10px rgba(176, 136, 249, 0.3);
}

.theme-female .listing-price {
  color: #FF6B35;
}

.theme-female .listing-title {
  color: var(--text-dark);
}

.theme-female .listing-meta {
  color: var(--text-muted);
}

.theme-female .listing-tag.orange { background: rgba(255,107,53,0.08); color: #FF6B35; }
.theme-female .listing-tag.pink { background: rgba(255,107,157,0.08); color: #FF6B9D; }
.theme-female .listing-tag.purple { background: rgba(176,136,249,0.08); color: #B088F9; }
.theme-female .listing-tag.blue { background: rgba(126,200,227,0.08); color: #7EC8E3; }
.theme-female .listing-tag.green { background: rgba(107,203,119,0.08); color: #6BCB77; }

/* ── SVG Room Colors — Warm Override ── */
.theme-female .listing-img-bg svg rect[fill="url(#room1)"],
.theme-female .listing-img-bg svg rect[fill="#1A1A2E"] {
  fill: #FFF5EB !important;
}

.theme-female .listing-img-bg svg rect[fill="url(#room2)"],
.theme-female .listing-img-bg svg rect[fill="#1A102E"] {
  fill: #F0E6FF !important;
}

.theme-female .listing-img-bg svg rect[fill="url(#room3)"],
.theme-female .listing-img-bg svg rect[fill="#0F1A2E"] {
  fill: #E6F7FF !important;
}

.theme-female .listing-img-bg svg rect[fill="url(#room4)"],
.theme-female .listing-img-bg svg rect[fill="#1A0F1E"] {
  fill: #FFE4E8 !important;
}

/* ── STATS ── */
.theme-female .stats-section {
  background: linear-gradient(135deg, #FF6B35 0%, #FF6B9D 50%, #B088F9 100%);
  border: none;
  box-shadow: none;
}

.theme-female .stat-num {
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.theme-female .stat-label {
  color: rgba(255,255,255,0.8);
}

/* ── WHY LUMI — Warm Cute Cards ── */
.theme-female .why-card {
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(255, 255, 255, 0.8);
  box-shadow: var(--shadow-soft);
}

.theme-female .why-card:hover {
  box-shadow: var(--shadow-hover);
  border-color: rgba(255, 107, 53, 0.15);
}

.theme-female .why-card:nth-child(1)::before { background: linear-gradient(90deg, #FF6B35, #FFD93D); }
.theme-female .why-card:nth-child(2)::before { background: linear-gradient(90deg, #B088F9, #FF6B9D); }
.theme-female .why-card:nth-child(3)::before { background: linear-gradient(90deg, #7EC8E3, #6BCB77); }
.theme-female .why-card:nth-child(4)::before { background: linear-gradient(90deg, #FF6B9D, #FFD93D); }

.theme-female .why-card:nth-child(1)::after { background: linear-gradient(90deg, #FF6B35, #FFD93D); }
.theme-female .why-card:nth-child(2)::after { background: linear-gradient(90deg, #B088F9, #FF6B9D); }
.theme-female .why-card:nth-child(3)::after { background: linear-gradient(90deg, #7EC8E3, #6BCB77); }
.theme-female .why-card:nth-child(4)::after { background: linear-gradient(90deg, #FF6B9D, #FFD93D); }

/* Avatar rings — warm pastel */
.theme-female .why-avatar-ring {
  border-color: rgba(255, 107, 53, 0.12) !important;
  box-shadow: none !important;
}

.theme-female .why-card:nth-child(1) .why-avatar-circle { background: linear-gradient(135deg, #FFF0E8, #FFECD2); }
.theme-female .why-card:nth-child(2) .why-avatar-circle { background: linear-gradient(135deg, #F3EAFF, #FCE4F3); }
.theme-female .why-card:nth-child(3) .why-avatar-circle { background: linear-gradient(135deg, #E6F7FF, #E8F8F0); }
.theme-female .why-card:nth-child(4) .why-avatar-circle { background: linear-gradient(135deg, #FFE4F0, #FFF5E0); }

.theme-female .why-avatar-img {
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.06));
}

.theme-female .why-card:hover .why-avatar-img {
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.1));
}

/* Sparkles — warm colors */
.theme-female .why-card:nth-child(1) .why-sparkle { color: #FF6B35; }
.theme-female .why-card:nth-child(2) .why-sparkle { color: #B088F9; }
.theme-female .why-card:nth-child(3) .why-sparkle { color: #7EC8E3; }
.theme-female .why-card:nth-child(4) .why-sparkle { color: #FF6B9D; }

.theme-female .why-title {
  color: var(--text-dark);
}

.theme-female .why-desc {
  color: var(--text-muted);
}

.theme-female .why-card:nth-child(1) .why-tag { background: rgba(255,107,53,0.08); color: #FF6B35; }
.theme-female .why-card:nth-child(2) .why-tag { background: rgba(176,136,249,0.08); color: #B088F9; }
.theme-female .why-card:nth-child(3) .why-tag { background: rgba(126,200,227,0.1); color: #4AA8C7; }
.theme-female .why-card:nth-child(4) .why-tag { background: rgba(255,107,157,0.08); color: #FF6B9D; }

/* ── FOOTER ── */
.theme-female .footer {
  border-top-color: rgba(255, 107, 53, 0.06);
}

.theme-female .footer-logo-bear {
  filter: none;
}

.theme-female .footer-logo-text {
  background: linear-gradient(135deg, #FF6B35, #FF6B9D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.theme-female .footer-tagline {
  color: var(--text-muted);
}

.theme-female .footer-tagline span {
  color: #FF6B35;
}

.theme-female .footer-links a {
  color: var(--text-muted);
}

.theme-female .footer-links a:hover {
  color: #FF6B35;
}

.theme-female .footer-copy {
  color: var(--text-muted);
}

/* ── MODAL ── */
.theme-female .modal-overlay {
  background: rgba(255, 240, 225, 0.5);
}

.theme-female .modal-box {
  background: #fff;
  box-shadow: 0 20px 60px rgba(255, 107, 53, 0.15), 0 4px 16px rgba(0,0,0,0.06);
  border: none;
}

.theme-female .modal-box::before {
  background: linear-gradient(90deg, #FF6B35, #FF6B9D, #B088F9);
}

.theme-female .modal-title {
  color: var(--text-dark);
}

.theme-female .modal-desc {
  color: var(--text-muted);
}

.theme-female .modal-close {
  background: linear-gradient(135deg, #FF6B35, #FF6B9D);
  box-shadow: 0 4px 16px rgba(255, 107, 53, 0.25);
  color: #fff;
}

.theme-female .modal-close:hover {
  box-shadow: 0 6px 24px rgba(255, 107, 53, 0.4);
}

/* ── Theme Toggle Button (hidden – now handled by #btnThemeSwitch in main HTML) ── */
.theme-toggle {
  display: none !important;
}

/* ── Price color overrides ── */
.theme-female .listing-price[style*="purple"] {
  color: #B088F9 !important;
}

.theme-female .listing-price[style*="blue"] {
  color: #7EC8E3 !important;
}

.theme-female .listing-price[style*="pink"] {
  color: #FF6B9D !important;
}

/* ── View More Button Override ── */
.theme-female .btn-secondary {
  color: #FF6B35;
  background: rgba(255, 107, 53, 0.04);
  border-color: rgba(255, 107, 53, 0.2);
}

/* ── Why LUMI 女版头像圆背景 — 暖色覆盖 ── */
.theme-female .why-card:nth-child(1) .why-avatar-circle { background: linear-gradient(135deg, #FFF0E8, #FFECD2) !important; }
.theme-female .why-card:nth-child(2) .why-avatar-circle { background: linear-gradient(135deg, #F3EAFF, #FCE4F3) !important; }
.theme-female .why-card:nth-child(3) .why-avatar-circle { background: linear-gradient(135deg, #E6F7FF, #E8F8F0) !important; }
.theme-female .why-card:nth-child(4) .why-avatar-circle { background: linear-gradient(135deg, #FFE4F0, #FFF5E0) !important; }

/* ============================================================
   详情页（listing_detail.html）覆盖
============================================================ */
.theme-female .info-card {
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 24px rgba(255,107,53,0.06), 0 1px 3px rgba(0,0,0,0.04);
}
.theme-female .info-card h1 { color: var(--text-dark); }
.theme-female .lumi-say { background: rgba(255,107,53,0.04); border-color: rgba(255,107,53,0.08); }
.theme-female .lumi-say .say-body h3 { color: #FF6B35; }
.theme-female .lumi-say .bear-icon { filter: drop-shadow(0 2px 6px rgba(255,107,53,0.2)); }
.theme-female .attr-item { background: rgba(255,107,53,0.03); border-color: rgba(255,107,53,0.06); }
.theme-female .attr-item .val { color: var(--text-dark); }
.theme-female .attr-item .lbl { color: var(--text-muted); }
.theme-female .tag-inline { background: rgba(255,107,53,0.06); color: #FF6B35; border-color: rgba(255,107,53,0.1); }
.theme-female .highlight-item { background: rgba(255,255,255,0.75); border-color: rgba(255,255,255,0.8); box-shadow: 0 4px 24px rgba(255,107,53,0.04); }
.theme-female .highlight-item .hl-text h4 { color: var(--text-dark); }
.theme-female .highlight-item .hl-text p { color: var(--text-muted); }
.theme-female .content-section h2 { border-left-color: #FF6B35; color: var(--text-dark); }
.theme-female .content-section p { color: var(--text-body); }
.theme-female .map-container { background: rgba(255,255,255,0.75); border-color: rgba(255,255,255,0.8); }
.theme-female .map-placeholder { color: var(--text-muted); }
.theme-female .map-section h2 { border-left-color: #FF6B35; color: var(--text-dark); }
.theme-female .breadcrumb a { color: #FF6B35; }
.theme-female .breadcrumb a:hover { color: #FF6B9D; }
.theme-female .service-btn { background: linear-gradient(135deg, #FF6B35, #FF6B9D); box-shadow: 0 4px 16px rgba(255,107,53,0.2); border: none; color: #fff; }
.theme-female .service-btn:hover { box-shadow: 0 6px 20px rgba(255,107,53,0.35); }

/* ============================================================
   列表页（listing_list.html）覆盖
============================================================ */
.theme-female .section-header h1 { color: var(--text-dark); }
.theme-female .section-header .sub { color: var(--text-muted); }
.theme-female .listing-card .card-img { background: linear-gradient(135deg, rgba(255,107,53,0.08), rgba(255,107,157,0.06)); }
.theme-female .listing-card .tag { background: rgba(255,107,53,0.08); color: #FF6B35; }
.theme-female .listing-card h3 { color: var(--text-dark); }
.theme-female .listing-card .meta { color: var(--text-muted); }
.theme-female .listing-card .price-unit { color: var(--text-muted); }

/* ============================================================
   关于页（about.html）覆盖
============================================================ */
.theme-female .hero h1 { color: var(--text-dark); }
.theme-female .hero p { color: var(--text-muted); }
.theme-female .content h2 { border-left-color: #FF6B35; color: var(--text-dark); }
.theme-female .content p { color: var(--text-body); }
.theme-female .content .highlight { background: rgba(255,255,255,0.75); border-color: rgba(255,255,255,0.8); box-shadow: 0 4px 24px rgba(255,107,53,0.06); }
.theme-female .content .highlight b { color: #FF6B35; }
.theme-female .deer { filter: drop-shadow(0 0 20px rgba(255,107,53,0.2)); }

/* ============================================================
   导航和底部统一覆盖
============================================================ */
.theme-female .theme-switch { background: rgba(255,248,240,0.9); border-color: rgba(255,107,53,0.15); }
.theme-female .theme-switch:hover { color: #FF6B35; border-color: rgba(255,107,53,0.3); }
.theme-female .xiaolu-fab-label { background: rgba(255,248,240,0.95); border-color: rgba(255,107,53,0.15); color: var(--text-body); }
.theme-female .xiaolu-fab-label:hover { background: rgba(255,107,53,0.1); border-color: rgba(255,107,53,0.3); color: #FF6B35; }


/* ============================================================
   BACKGROUND FIX - 清雅版全站背景覆盖
============================================================ */
.theme-female #bubble-canvas {
  background: linear-gradient(180deg, rgba(255,107,53,0.006) 1px, transparent 1px),
              linear-gradient(90deg, rgba(255,107,53,0.006) 1px, transparent 1px) !important;
  background-size: 80px 80px !important;
}

.theme-female body,
.theme-female html {
  background: #FFF8F0 !important;
}

.theme-female .scanline-overlay {
  display: none !important;
}
