/* ═══════════════════════════════════════════════════════════════════
   Fans88 Theme · Warm (酒紅米白) v1.0.0
   先在 index.php 試用，body.theme-warm 啟用，後置 override new_app.css
   色票：
     bg          #FFFFFF / #FBFAF7 / #F4ECDC
     ink         #1A1815 (replace #0B0810/#fff text)
     accent      #8B2942 (replace #C8A24B 金)
     accent-soft #D89BAA (replace #E8D08A)
     accent-deep #5C1A2C (replace #8E6F26)
   章節編號對齊 new_app.css
   ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════
   1 · Base
   ═══════════════════════════════════════ */
body.theme-warm {
  background: #FFFFFF;
  color: #1A1815;
}
body.theme-warm ::-webkit-scrollbar-thumb { background: #8B2942; }

/* active nav highlight 改成酒紅 */
body.theme-warm[data-active-nav="home"] [data-nav="home"],
body.theme-warm[data-active-nav="how"] [data-nav="how"],
body.theme-warm[data-active-nav="pricing"] [data-nav="pricing"],
body.theme-warm[data-active-nav="offline"] [data-nav="offline"],
body.theme-warm[data-active-nav="creator"] [data-nav="creator"] {
  color: #8B2942;
}


/* ═══════════════════════════════════════
   2 · Nav
   ═══════════════════════════════════════ */
body.theme-warm nav {
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(26,24,21,.08);
  box-shadow: 0 1px 0 rgba(26,24,21,.04);
}
body.theme-warm nav.scrolled {
  background: rgba(255,255,255,.96);
  box-shadow: 0 2px 8px rgba(26,24,21,.06);
}
body.theme-warm .nav-logo { color: #1A1815; }
body.theme-warm .nav-logo em { color: #8B2942; }
body.theme-warm .nav-logo b { color: #1A1815; }

body.theme-warm .nav-links a { color: rgba(26,24,21,.82); font-weight: 700; }
body.theme-warm .nav-links a:hover { color: #8B2942; }

body.theme-warm .btn-outline-sm {
  border: 1px solid rgba(139,41,66,.45); color: #8B2942;
}
body.theme-warm .btn-outline-sm:hover { background: rgba(139,41,66,.12); }

body.theme-warm .btn-solid-sm {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
  box-shadow: 0 4px 14px -4px rgba(139,41,66,.5);
}

body.theme-warm .nav-icon-btn {
  border: 1px solid rgba(26,24,21,.08);
  background: rgba(26,24,21,.03);
  color: rgba(26,24,21,.7);
}
body.theme-warm .nav-icon-btn:hover {
  background: rgba(139,41,66,.08); color: #8B2942;
  border-color: rgba(139,41,66,.25);
}
body.theme-warm .nav-dot {
  border: 2px solid #FFFFFF;
}

body.theme-warm .nav-wallet {
  background: rgba(139,41,66,.08);
  border: 1px solid rgba(139,41,66,.25);
  color: #8B2942;
}
body.theme-warm .nav-wallet:hover { background: rgba(139,41,66,.14); }

body.theme-warm .nav-avatar {
  background: rgba(26,24,21,.04);
  border-color: rgba(26,24,21,.08);
}
body.theme-warm .nav-avatar:hover {
  background: rgba(139,41,66,.08);
  border-color: rgba(139,41,66,.3);
}

body.theme-warm .nav-dropdown {
  background: #FFFFFF;
  border: 1px solid rgba(26,24,21,.08);
  box-shadow: 0 20px 60px -20px rgba(26,24,21,.15);
}
body.theme-warm .dd-who .dd-name { color: #1A1815; }
body.theme-warm .dd-who .dd-name em { color: #8B2942; }
body.theme-warm .dd-who .dd-handle { color: rgba(26,24,21,.5); }
body.theme-warm .dd-stats { background: rgba(26,24,21,.03); }
body.theme-warm .dd-n { color: #8B2942; }
body.theme-warm .dd-l { color: rgba(26,24,21,.5); }
body.theme-warm .dd-divider { background: rgba(26,24,21,.08); }
body.theme-warm .dd-item { color: rgba(26,24,21,.78); }
body.theme-warm .dd-item svg { color: rgba(26,24,21,.5); }
body.theme-warm .dd-item:hover { background: rgba(139,41,66,.06); color: #8B2942; }
body.theme-warm .dd-item:hover svg { color: #8B2942; }
body.theme-warm .dd-creator svg { color: #8B2942; }
body.theme-warm .dd-creator:hover {
  background: linear-gradient(135deg, rgba(139,41,66,.12), rgba(216,155,170,.18));
}
body.theme-warm .dd-logout { color: rgba(26,24,21,.55); }
body.theme-warm .dd-logout:hover { color: #C8422E; }
body.theme-warm .dd-logout:hover svg { color: #C8422E; }

body.theme-warm .nav-mobile-post {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
  box-shadow: 0 4px 14px -4px rgba(139,41,66,.5);
}

body.theme-warm .nav-lang-menu {
  background: #FFFFFF;
  border: 1px solid rgba(26,24,21,.08);
  box-shadow: 0 20px 60px -20px rgba(26,24,21,.15);
}
body.theme-warm .nav-lang-menu a { color: rgba(26,24,21,.78); }
body.theme-warm .nav-lang-menu a:hover { background: rgba(139,41,66,.06); color: #8B2942; }
body.theme-warm .nav-lang-menu a.active {
  color: #8B2942;
  background: rgba(139,41,66,.08);
}


/* ═══════════════════════════════════════
   3 · Hamburger & Drawer
   ═══════════════════════════════════════ */
body.theme-warm .hamburger {
  border: 1px solid rgba(26,24,21,.08);
  background: rgba(26,24,21,.03);
}
body.theme-warm .hamburger:hover {
  background: rgba(139,41,66,.07);
  border-color: rgba(139,41,66,.25);
}
body.theme-warm .hamburger span { background: rgba(26,24,21,.85); }
body.theme-warm .hamburger.open span:nth-child(1),
body.theme-warm .hamburger.open span:nth-child(3) { background: #8B2942; }

body.theme-warm .drawer-scrim {
  background: rgba(26,24,21,.45);
}

body.theme-warm .drawer {
  background: linear-gradient(180deg, #FFFFFF 0%, #FBFAF7 100%);
  border-right: 1px solid rgba(139,41,66,.12);
  box-shadow: 24px 0 60px -12px rgba(26,24,21,.18);
}
body.theme-warm .drawer-head {
  border-bottom: 1px solid rgba(26,24,21,.06);
  background: linear-gradient(180deg, #FFFFFF 80%, rgba(255,255,255,0));
}
body.theme-warm .drawer-logo { color: #1A1815; }
body.theme-warm .drawer-logo em { color: #8B2942; }
body.theme-warm .drawer-close {
  background: rgba(26,24,21,.04);
  border: 1px solid rgba(26,24,21,.08);
  color: rgba(26,24,21,.7);
}
body.theme-warm .drawer-close:hover {
  background: rgba(139,41,66,.07);
  color: #8B2942;
  border-color: rgba(139,41,66,.25);
}

body.theme-warm .drawer-user {
  background: linear-gradient(160deg, rgba(139,41,66,.08) 0%, rgba(216,155,170,.18) 100%);
  border: 1px solid rgba(139,41,66,.2);
}
body.theme-warm .du-name { color: #1A1815; }
body.theme-warm .du-name em { color: #8B2942; }
body.theme-warm .du-handle { color: rgba(26,24,21,.55); }
body.theme-warm .du-stats { background: rgba(255,255,255,.55); }

body.theme-warm .drawer-label { color: rgba(139,41,66,.7); }
body.theme-warm .drawer-item { color: rgba(26,24,21,.78); }
body.theme-warm .drawer-item svg { color: rgba(26,24,21,.45); }
body.theme-warm .drawer-item:hover,
body.theme-warm .drawer-item:active {
  background: rgba(139,41,66,.06); color: #8B2942;
}
body.theme-warm .drawer-item:hover svg { color: #8B2942; }
body.theme-warm .drawer-item.dd-logout { color: rgba(26,24,21,.55); }
body.theme-warm .drawer-item.dd-logout:hover {
  color: #C8422E; background: rgba(226,109,90,.08);
}
body.theme-warm .drawer-item.dd-logout:hover svg { color: #C8422E; }
body.theme-warm .drawer-divider { background: rgba(26,24,21,.06); }

body.theme-warm .drawer-foot { border-top: 1px solid rgba(26,24,21,.06); }
body.theme-warm .drawer-legal { color: rgba(26,24,21,.45); }
body.theme-warm .drawer-legal a { color: rgba(26,24,21,.55); }
body.theme-warm .drawer-legal a:hover { color: #8B2942; }


/* ═══════════════════════════════════════
   4 · Age Gate
   ═══════════════════════════════════════ */
body.theme-warm .age-gate-bg {
  background:
    radial-gradient(ellipse 60% 50% at 30% 30%, rgba(139,41,66,.35) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 75% 75%, rgba(216,155,170,.3) 0%, transparent 60%),
    rgba(26,24,21,.55);
}
body.theme-warm .age-gate-card {
  background: linear-gradient(165deg, #FFFFFF 0%, #FBFAF7 100%);
  border: 1px solid rgba(139,41,66,.2);
  box-shadow: 0 40px 80px -20px rgba(26,24,21,.25), 0 0 0 1px rgba(139,41,66,.08);
}
body.theme-warm .ag-eyebrow {
  background: rgba(139,41,66,.1);
  border: 1px solid rgba(139,41,66,.35);
  color: #8B2942;
}
body.theme-warm .ag-eyebrow .pulse { background: #8B2942; }
body.theme-warm .ag-logo { color: #1A1815; }
body.theme-warm .ag-logo em { color: #8B2942; }
body.theme-warm .ag-title { color: #1A1815; }
body.theme-warm .ag-title em { color: #8B2942; }
body.theme-warm .ag-desc { color: rgba(26,24,21,.7); }
body.theme-warm .ag-desc b { color: #8B2942; }
body.theme-warm .ag-rules {
  background: rgba(26,24,21,.03);
  border: 1px solid rgba(26,24,21,.06);
}
body.theme-warm .ag-rules li { color: rgba(26,24,21,.75); }
body.theme-warm .ag-rules li svg { color: #8B2942; }
body.theme-warm .ag-foot { color: rgba(26,24,21,.5); }
body.theme-warm .ag-foot a { color: #8B2942; }
body.theme-warm .ag-foot a:hover { color: #5C1A2C; }


/* ═══════════════════════════════════════
   5 · Hero (gallery wall)
   ═══════════════════════════════════════ */
body.theme-warm .hero,
body.theme-warm .hero-gal {
  background:
    radial-gradient(ellipse 100% 70% at 50% 0%, rgba(244,236,220,.55) 0%, transparent 65%),
    radial-gradient(ellipse 70% 60% at 15% 85%, rgba(139,41,66,.18) 0%, transparent 55%),
    radial-gradient(ellipse 70% 60% at 85% 90%, rgba(232,216,184,.55) 0%, transparent 55%),
    #FFFFFF;
}
body.theme-warm .hero::before,
body.theme-warm .hero-gal::before {
  background: repeating-linear-gradient(135deg, transparent 0 22px, rgba(26,24,21,.012) 22px 23px);
}
body.theme-warm .orb-1 { background: #8B2942; }
body.theme-warm .orb-2 { background: #8B2942; opacity: .25; }
body.theme-warm .orb-3 { background: #5C1A2C; opacity: .4; }

body.theme-warm .hero-eyebrow,
body.theme-warm .gal-eyebrow {
  background: rgba(139,41,66,.1);
  border: 1px solid rgba(139,41,66,.35);
  color: #8B2942;
}
body.theme-warm .hero-eyebrow .pulse,
body.theme-warm .gal-eyebrow .pulse { background: #8B2942; }

body.theme-warm .hero h1,
body.theme-warm .gal-title { color: #1A1815; }
body.theme-warm .hero h1 em,
body.theme-warm .gal-title em { color: #8B2942; }

body.theme-warm .hero-sub,
body.theme-warm .gal-sub { color: rgba(26,24,21,.65); }
body.theme-warm .hero-sub b,
body.theme-warm .gal-sub b { color: #8B2942; }

/* hero CTA buttons —— landing 自身有對比 bug，這裡改成白字確保可讀 */
body.theme-warm .btn-hero-primary {
  background: linear-gradient(135deg, #D89BAA 0%, #8B2942 45%, #5C1A2C 100%);
  color: #FFFFFF;
  box-shadow: 0 12px 36px -10px rgba(139,41,66,.55);
}
body.theme-warm .btn-hero-primary:hover {
  transform: translateY(-2px); filter: brightness(1.08);
  box-shadow: 0 18px 44px -14px rgba(139,41,66,.6);
}
body.theme-warm .btn-hero-secondary {
  border: 1px solid rgba(26,24,21,.2);
  color: rgba(26,24,21,.85);
  background: rgba(255,255,255,.5);
}
body.theme-warm .btn-hero-secondary:hover {
  background: rgba(26,24,21,.06);
  border-color: rgba(26,24,21,.45);
}

/* gallery masthead 雜誌刊頭 */
body.theme-warm .gal-masthead {
  border-top: 1px solid rgba(26,24,21,.18);
  border-bottom: 1px solid rgba(26,24,21,.18);
}
body.theme-warm .gal-mh-left,
body.theme-warm .gal-mh-right {
  color: rgba(26,24,21,.7);
}
body.theme-warm .gal-mh-dot { background: #8B2942; }
body.theme-warm .gal-mh-price { color: #8B2942; }

/* gallery tile (5 張創作者卡，圖片底但帶 hover 漸層) */
body.theme-warm .gal-tile {
  border: 1px solid rgba(26,24,21,.08);
  box-shadow: 0 12px 30px -10px rgba(26,24,21,.18);
}
body.theme-warm .gal-tile::after {
  background: linear-gradient(180deg, transparent 50%, rgba(26,24,21,.85) 100%);
}
body.theme-warm .hv-g1 { background: linear-gradient(155deg, #1A1815, #5C1A2C 60%, #8B2942); }
body.theme-warm .hv-g2 { background: linear-gradient(160deg, #1A1815, #5C1A2C 70%, #B05978); }
body.theme-warm .hv-g3 { background: linear-gradient(155deg, #5C1A2C, #1A1815 80%); }
body.theme-warm .hv-g4 { background: linear-gradient(135deg, #1A1815, #3D2A26); }

body.theme-warm .gal-portrait { /* 不動 layout，只確保上方 mask 用米色感 */
  filter: saturate(1.05);
}
body.theme-warm .gal-tag {
  background: rgba(255,255,255,.85);
  color: #1A1815;
  border: 1px solid rgba(26,24,21,.1);
}
body.theme-warm .gal-feature-label {
  background: rgba(139,41,66,.95);
  color: #FFFFFF;
  letter-spacing: .15em;
}
body.theme-warm .gal-badge { color: #FFFFFF; }
body.theme-warm .gal-new { background: rgba(139,41,66,.85); }
body.theme-warm .gal-hot { background: rgba(226,109,90,.9); }
body.theme-warm .gal-vip { background: linear-gradient(135deg, #5C1A2C, #1A1815); color: #D89BAA; }
body.theme-warm .gal-feat { background: linear-gradient(135deg, #8B2942, #5C1A2C); }
body.theme-warm .gal-gold { background: linear-gradient(135deg, #D89BAA, #8B2942); }

body.theme-warm .gal-plate { color: #FFFFFF; }  /* 圖片漸層底上保持白字 */
body.theme-warm .gal-plate .gn { color: #FFFFFF; }
body.theme-warm .gal-plate .gn .verify { color: #D89BAA; }
body.theme-warm .gal-plate .gm { color: rgba(255,255,255,.8); }

/* hero stats (gallery 版) */
body.theme-warm .hero-gal .hero-stats,
body.theme-warm .gal-stats {
  border: 1px solid rgba(26,24,21,.08);
  background: rgba(26,24,21,.04);
}
body.theme-warm .hero-gal .h-stat,
body.theme-warm .gal-stat {
  border-right: 1px solid rgba(26,24,21,.08);
}
body.theme-warm .hero-gal .h-stat .n,
body.theme-warm .gal-stat .n { color: #8B2942; }
body.theme-warm .hero-gal .h-stat .l,
body.theme-warm .gal-stat .l { color: rgba(26,24,21,.55); }


/* ═══════════════════════════════════════
   6 · Section shell
   ═══════════════════════════════════════ */
body.theme-warm .section-eyebrow { color: #8B2942; }
body.theme-warm .section-eyebrow::after {
  background: linear-gradient(90deg, rgba(139,41,66,.4), transparent);
}
body.theme-warm .section-title { color: #1A1815; }
body.theme-warm .section-title strong { color: #1A1815; }
body.theme-warm .section-sub { color: rgba(26,24,21,.6); }


/* ═══════════════════════════════════════
   7 · Mosaic
   ═══════════════════════════════════════ */
body.theme-warm .mosaic-section {
  background:
    radial-gradient(ellipse 80% 60% at 0% 50%, rgba(244,236,220,.55) 0%, transparent 60%),
    #FBFAF7;
}
body.theme-warm .mc-grad {
  background: linear-gradient(180deg, transparent 40%, rgba(26,24,21,.78) 100%);
}
/* 圖片底 + 深漸層 → 字維持白色 */
body.theme-warm .mc-name { color: #FFFFFF; }
body.theme-warm .mc-name svg { color: #D89BAA; }
body.theme-warm .mc-sub { color: rgba(255,255,255,.7); }
body.theme-warm .mb-new { background: rgba(139,41,66,.85); color: #FFFFFF; }
body.theme-warm .mb-hot { background: rgba(226,109,90,.85); color: #FFFFFF; }
body.theme-warm .mb-gold {
  background: linear-gradient(135deg, rgba(139,41,66,.9), rgba(92,26,44,.9));
  color: #FFFFFF;
}
body.theme-warm .mc-label { color: rgba(255,255,255,.18); }

body.theme-warm .g-1 { background: radial-gradient(70% 70% at 25% 30%, rgba(139,41,66,.6), transparent 60%), linear-gradient(155deg, #1A1815, #5C1A2C 60%, #8B2942); }
body.theme-warm .g-2 { background: radial-gradient(60% 60% at 80% 80%, rgba(139,41,66,.4), transparent 60%), linear-gradient(160deg, #1A1815, #5C1A2C 70%, #B05978); }
body.theme-warm .g-3 { background: linear-gradient(155deg, #5C1A2C, #1A1815 80%); }
body.theme-warm .g-4 { background: radial-gradient(70% 60% at 20% 80%, rgba(244,236,220,.4), transparent 60%), linear-gradient(135deg, #1A1815, #3D2A26); }
body.theme-warm .g-5 { background: linear-gradient(145deg, #8B2942, #8B2942 120%); }
body.theme-warm .g-6 { background: radial-gradient(60% 80% at 70% 20%, rgba(216,155,170,.5), transparent 55%), linear-gradient(160deg, #1A1815, #5C1A2C); }
body.theme-warm .g-7 { background: linear-gradient(135deg, #5C1A2C, #1A1815); }
body.theme-warm .g-8 { background: radial-gradient(70% 60% at 30% 70%, rgba(139,41,66,.35), transparent 55%), linear-gradient(155deg, #1A1815, #5C1A2C 60%); }


/* ═══════════════════════════════════════
   8 · How / Steps
   ═══════════════════════════════════════ */
body.theme-warm .how { background: #FFFFFF; }
body.theme-warm .step-card {
  background: rgba(26,24,21,.03);
  border: 1px solid rgba(26,24,21,.06);
}
body.theme-warm .step-card:hover {
  background: rgba(26,24,21,.05);
  border-color: rgba(139,41,66,.3);
}
body.theme-warm .step-card::before {
  background: radial-gradient(circle, rgba(244,236,220,.4), transparent 60%);
}
body.theme-warm .step-n { color: rgba(139,41,66,.18); }
body.theme-warm .step-ico {
  background: linear-gradient(135deg, rgba(139,41,66,.2), rgba(139,41,66,.05));
  border: 1px solid rgba(139,41,66,.3);
  color: #8B2942;
}
body.theme-warm .step-title { color: #1A1815; }
body.theme-warm .step-desc { color: rgba(26,24,21,.6); }


/* ═══════════════════════════════════════
   9 · Pricing
   ═══════════════════════════════════════ */
body.theme-warm .pricing-section {
  background: linear-gradient(180deg, #FFFFFF 0%, #FBFAF7 100%);
}
body.theme-warm .price-card {
  background: rgba(26,24,21,.03);
  border: 1px solid rgba(26,24,21,.06);
}
body.theme-warm .price-card.featured {
  background: linear-gradient(160deg, #1A1815 0%, #5C1A2C 100%);
  border-color: rgba(139,41,66,.4);
  box-shadow: 0 0 0 1px rgba(139,41,66,.15), 0 30px 60px -20px rgba(26,24,21,.5);
}
body.theme-warm .price-card.featured::before {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
}
body.theme-warm .pc-tier { color: #8B2942; }
body.theme-warm .pc-price { color: #1A1815; }
body.theme-warm .pc-price small { color: rgba(26,24,21,.55); }
body.theme-warm .pc-orig { color: rgba(26,24,21,.4); }
body.theme-warm .pc-save {
  background: rgba(139,41,66,.15);
  color: #8B2942;
}
body.theme-warm .pc-divider { background: rgba(26,24,21,.07); }
body.theme-warm .pc-feature { color: rgba(26,24,21,.7); }
body.theme-warm .pc-feature svg { color: #8B2942; }

body.theme-warm .pc-cta-default {
  background: rgba(26,24,21,.06);
  color: #1A1815;
  border: 1px solid rgba(26,24,21,.12);
}
body.theme-warm .pc-cta-default:hover { background: rgba(26,24,21,.1); }
body.theme-warm .pc-cta-featured {
  background: linear-gradient(135deg, #D89BAA, #8B2942 50%, #5C1A2C);
  color: #FFFFFF;
  box-shadow: 0 8px 24px -8px rgba(139,41,66,.5);
}

/* featured 卡是深底，內部小字反白 */
body.theme-warm .price-card.featured .pc-tier { color: #D89BAA; }
body.theme-warm .price-card.featured .pc-price { color: #FFFFFF; }
body.theme-warm .price-card.featured .pc-price small { color: rgba(255,255,255,.6); }
body.theme-warm .price-card.featured .pc-orig { color: rgba(255,255,255,.4); }
body.theme-warm .price-card.featured .pc-save {
  background: rgba(216,155,170,.18);
  color: #D89BAA;
}
body.theme-warm .price-card.featured .pc-divider { background: rgba(255,255,255,.1); }
body.theme-warm .price-card.featured .pc-feature { color: rgba(255,255,255,.78); }
body.theme-warm .price-card.featured .pc-feature svg { color: #D89BAA; }
body.theme-warm .price-card.featured .pc-cta-default {
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.18);
}


/* ═══════════════════════════════════════
   10 · Perks (含 income chart)
   ═══════════════════════════════════════ */
body.theme-warm .perks-section {
  background:
    radial-gradient(ellipse 80% 70% at 100% 50%, rgba(244,236,220,.55) 0%, transparent 65%),
    #FFFFFF;
}
body.theme-warm .perk {
  background: rgba(26,24,21,.03);
  border: 1px solid rgba(26,24,21,.06);
}
body.theme-warm .perk:hover {
  background: rgba(26,24,21,.05);
  border-color: rgba(139,41,66,.2);
}
body.theme-warm .perk-ico {
  background: linear-gradient(135deg, rgba(139,41,66,.25), rgba(139,41,66,.05));
  border: 1px solid rgba(139,41,66,.25);
  color: #8B2942;
}
body.theme-warm .perk-t { color: #1A1815; }
body.theme-warm .perk-s { color: rgba(26,24,21,.55); }

/* income chart 維持深底（強對比的 hero element）*/
body.theme-warm .income-card {
  background: linear-gradient(160deg, #1A1815 0%, #3D2A26 100%);
  border: 1px solid rgba(139,41,66,.25);
  box-shadow: 0 30px 60px -20px rgba(26,24,21,.4);
}
body.theme-warm .income-card::before {
  background: radial-gradient(circle, rgba(139,41,66,.25), transparent 65%);
}
body.theme-warm .ic-kicker { color: #D89BAA; }
body.theme-warm .ic-title { color: #FFFFFF; }
body.theme-warm .ic-title em { color: #D89BAA; }
body.theme-warm .ic-month { color: rgba(255,255,255,.45); }
body.theme-warm .bar-w {
  background: linear-gradient(180deg, #8B2942 0%, #5C1A2C 100%);
}
body.theme-warm .bar-w.hi { box-shadow: 0 -4px 14px -4px rgba(216,155,170,.6); }
body.theme-warm .total-row { border-top: 1px solid rgba(255,255,255,.1); }
body.theme-warm .total-ccy { color: rgba(255,255,255,.55); }
body.theme-warm .total-n { color: #FFFFFF; }
body.theme-warm .total-l { color: rgba(255,255,255,.5); }
body.theme-warm .pct-on {
  background: rgba(216,155,170,.18);
  color: #D89BAA;
  border: 1px solid rgba(216,155,170,.3);
}
body.theme-warm .pct-off {
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.45);
  border: 1px solid rgba(255,255,255,.08);
}


/* ═══════════════════════════════════════
   11 · Testimonials
   ═══════════════════════════════════════ */
body.theme-warm .testimonials { background: #FBFAF7; }
body.theme-warm .testi-card {
  background: rgba(26,24,21,.03);
  border: 1px solid rgba(26,24,21,.06);
}
body.theme-warm .testi-card.hi {
  border-color: rgba(139,41,66,.3);
  background: linear-gradient(180deg, rgba(139,41,66,.06) 0%, rgba(255,255,255,.4) 100%);
}
body.theme-warm .testi-stars { color: #8B2942; }
body.theme-warm .testi-q { color: rgba(26,24,21,.78); }
body.theme-warm .testi-q::before { color: #8B2942; }
body.theme-warm .testi-ava {
  border: 1.5px solid rgba(139,41,66,.35);
  color: #FFFFFF;
}
body.theme-warm .testi-name { color: #1A1815; }
body.theme-warm .testi-role { color: rgba(26,24,21,.5); }


/* ═══════════════════════════════════════
   12 · CTA strip
   ═══════════════════════════════════════ */
body.theme-warm .cta-strip {
  background:
    radial-gradient(ellipse 80% 100% at 50% 100%, rgba(244,236,220,.85) 0%, transparent 65%),
    radial-gradient(ellipse 60% 80% at 80% 30%, rgba(216,155,170,.3) 0%, transparent 60%),
    #FFFFFF;
}
body.theme-warm .cta-strip::before {
  background: repeating-linear-gradient(135deg, transparent 0 22px, rgba(26,24,21,.012) 22px 23px);
}
body.theme-warm .cta-strip h2 { color: #1A1815; }
body.theme-warm .cta-strip h2 em { color: #8B2942; }
body.theme-warm .cta-strip p { color: rgba(26,24,21,.6); }
body.theme-warm .cta-note { color: rgba(26,24,21,.45); }


/* ═══════════════════════════════════════
   13 · Footer (深底 #1A1815，仿 landing.html)
   ═══════════════════════════════════════ */
body.theme-warm footer {
  background: #1A1815;
  border-top: 1px solid rgba(26,24,21,.04);
}
/* footer 深底 → 修正 landing 自身 bug，logo / 連結 / 版權字全部用淺色 */
body.theme-warm .f-logo { color: #FFFFFF; }
body.theme-warm .f-logo em { color: #D89BAA; }
body.theme-warm .f-tagline { color: rgba(255,255,255,.5); }
body.theme-warm .f-col-title { color: rgba(255,255,255,.45); }
body.theme-warm .f-col a { color: rgba(255,255,255,.6); }
body.theme-warm .f-col a:hover { color: #D89BAA; }
body.theme-warm .f-bottom {
  border-top: 1px solid rgba(255,255,255,.06);
  color: rgba(255,255,255,.35);
}
body.theme-warm .f-bottom a { color: rgba(255,255,255,.45); }
body.theme-warm .f-bottom a:hover { color: #D89BAA; }
body.theme-warm .age-badge {
  background: rgba(216,155,170,.12);
  border: 1px solid rgba(216,155,170,.3);
  color: #D89BAA;
}


/* ═══════════════════════════════════════
   14 · RWD 補強（保留 new_app.css 的 layout，僅補必要色覆蓋）
   ═══════════════════════════════════════ */
@media (max-width: 768px) {
  body.theme-warm .hero-gal .h-stat,
  body.theme-warm .gal-stat {
    border-right: none;
    border-bottom: 1px solid rgba(26,24,21,.08);
  }
}


/* ═══════════════════════════════════════
   15 · Search page (body.search-page.theme-warm)
   ═══════════════════════════════════════ */
body.theme-warm.search-page { background: #FFFFFF; color: #1A1815; }

body.theme-warm .search-title { color: #1A1815; }
body.theme-warm .search-title::before {
  background: linear-gradient(180deg, #D89BAA 0%, #8B2942 50%, #5C1A2C 100%);
}
body.theme-warm .search-sub { color: rgba(26,24,21,.6); }

body.theme-warm .search-input-wrap {
  border: 1px solid rgba(139,41,66,.2);
  background: rgba(26,24,21,.03);
}
body.theme-warm .search-input-wrap:focus-within {
  border-color: #8B2942;
  box-shadow: 0 0 0 3px rgba(139,41,66,.12);
}
body.theme-warm .search-icon { color: #8B2942; }
body.theme-warm .search-input-wrap input {
  color: #1A1815;
  background: transparent;
}
body.theme-warm .search-input-wrap input::placeholder {
  color: rgba(26,24,21,.4);
}
/* #search-input 在 new_app.css 用 ID 選擇器強制 color:#fff 特異性 100，
   theme-warm 的 .search-input-wrap input 21 打不過 → 用 ID 提到 110 勝出 */
body.theme-warm #search-input { color: #1A1815; }
body.theme-warm #search-input::placeholder { color: rgba(26,24,21,.4); }

body.theme-warm .search-btn {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
  box-shadow: 0 8px 24px -8px rgba(139,41,66,.5);
}
body.theme-warm .search-btn:hover {
  filter: brightness(1.08);
  box-shadow: 0 12px 30px -10px rgba(139,41,66,.6);
}

body.theme-warm .search-meta { color: rgba(26,24,21,.6); }
body.theme-warm .search-meta b { color: #8B2942; }

body.theme-warm .search-card {
  border: 1px solid rgba(139,41,66,.12);
  background: rgba(26,24,21,.03);
}
body.theme-warm .search-card:hover {
  border-color: rgba(139,41,66,.35);
  box-shadow: 0 12px 30px -10px rgba(139,41,66,.25);
}
body.theme-warm .sc-banner {
  background-image: linear-gradient(135deg, #5C1A2C, #8B2942);
}
body.theme-warm .sc-cat {
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(139,41,66,.4);
  color: #8B2942;
}
body.theme-warm .sc-avatar {
  border: 2px solid rgba(139,41,66,.55);
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
}
body.theme-warm .sc-name { color: #1A1815; }
body.theme-warm .sc-bio { color: rgba(26,24,21,.6); }

body.theme-warm .search-spinner {
  border: 3px solid rgba(139,41,66,.15);
  border-top-color: #8B2942;
}
body.theme-warm .search-loading { color: rgba(26,24,21,.5); }
body.theme-warm .search-empty,
body.theme-warm .search-no-result { color: rgba(26,24,21,.55); }
body.theme-warm .search-empty svg,
body.theme-warm .search-no-result svg { color: #8B2942; }
body.theme-warm .search-no-result b { color: #8B2942; }
body.theme-warm .search-no-result .hint { color: rgba(26,24,21,.45); }


/* ═══════════════════════════════════════
   16 · Legal pages (body.legal-page.theme-warm — terms / privacy / creatorrule)
   ═══════════════════════════════════════ */
body.theme-warm.legal-page { background: #FFFFFF; color: #1A1815; }

body.theme-warm .legal-title { color: #1A1815; }
body.theme-warm .legal-title::before {
  background: linear-gradient(180deg, #8B2942 0%, #5C1A2C 100%);
}
body.theme-warm .legal-intro { color: rgba(26,24,21,.7); }

body.theme-warm .legal-body { color: rgba(26,24,21,.78); }
body.theme-warm .legal-body h2 { color: #1A1815; }
body.theme-warm .legal-body h2::before {
  background: linear-gradient(180deg, #8B2942, #5C1A2C);
}
body.theme-warm .legal-body p { color: rgba(26,24,21,.72); }
body.theme-warm .legal-body a { color: #8B2942; }
body.theme-warm .legal-body a:hover { color: #5C1A2C; }

/* legal-hero：套 brand-side 風格的米白 + 酒紅 radial 暈染卡片（對齊 login/register brand-side 視覺）*/
body.theme-warm .legal-hero {
  position: relative;
  padding: 40px 36px 32px;
  border-radius: 20px;
  border: 1px solid rgba(26,24,21,.06);
  background:
    radial-gradient(70% 80% at 12% 10%, rgba(139,41,66,.08) 0%, transparent 55%),
    radial-gradient(85% 85% at 90% 90%, rgba(139,41,66,.10) 0%, transparent 60%),
    linear-gradient(155deg, #FFFFFF 0%, #FBFAF7 100%);
  overflow: hidden;
  margin-bottom: 32px;
  box-shadow: 0 10px 28px -18px rgba(139,41,66,.18);
}
body.theme-warm .legal-hero::before {
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(120deg, transparent 0 9px, rgba(26,24,21,.025) 9px 10px);
  mix-blend-mode: multiply;
}
body.theme-warm .legal-hero > * { position: relative; z-index: 2; }

@media (max-width: 768px) {
  body.theme-warm .legal-hero { padding: 28px 22px 22px; border-radius: 16px; }
}


/* ═══════════════════════════════════════
   17 · Auth pages (body.theme-warm + register/login inline 殘留兜底)
   ═══════════════════════════════════════ */
/* register/login 主要用直接改 inline style 處理，這裡只為「萬一漏改的 selector」做兜底 override，
   特別是 .form-side / .brand-side 容器的 background / color */
body.theme-warm .form-side { background: #FFFFFF; color: #1A1815; }
body.theme-warm .form-side .inp { color: #1A1815; }
body.theme-warm .form-side .inp input { color: #1A1815; }
body.theme-warm .form-side .inp input::placeholder { color: rgba(26,24,21,.4); }


/* ═══════════════════════════════════════
   18 · Modals (follow confirm / body lock card / media blur fallback)
   override new_app.css 的 default 深紫金 modal 樣式
   ═══════════════════════════════════════ */

/* Follow confirm modal — 主題感酒紅米白 */
body.theme-warm .follow-confirm-overlay {
  background: rgba(26,24,21,.65);
}
body.theme-warm .follow-confirm-card {
  background: linear-gradient(160deg, #FFFFFF 0%, #FBFAF7 100%);
  border: 1px solid rgba(139,41,66,.25);
  box-shadow: 0 30px 80px -20px rgba(26,24,21,.3);
  color: #1A1815;
}
body.theme-warm .follow-confirm-title { color: #8B2942; }
body.theme-warm .follow-confirm-msg { color: rgba(26,24,21,.78); }
body.theme-warm .follow-confirm-msg-en { color: rgba(139,41,66,.7); }

/* Media blur fallback (未解鎖貼文 fallback gradient) — 用酒紅漸層 */
body.theme-warm .media-blur-fallback {
  background: linear-gradient(160deg, #1A1815, #5C1A2C 60%, #8B2942);
}

/* Body lock card (純文字付費貼文 lock) — 米白底配酒紅 */
body.theme-warm .body-lock-card {
  background: rgba(139,41,66,.04);
  border: 1px dashed rgba(139,41,66,.3);
}
body.theme-warm .body-lock-title { color: #1A1815; }
body.theme-warm .body-lock-sub { color: rgba(26,24,21,.6); }


/* ═══════════════════════════════════════════════════════════════════
   19 · Dashboard Pages (共用 dash-* / tabs / pager / 個別 page-class)
   ═══════════════════════════════════════════════════════════════════ */

/* 19.1 dash-* 容器 + 文字色基底 */
body.theme-warm .dash-title { color: #1A1815; }
body.theme-warm .dash-subtitle { color: rgba(26,24,21,.55); }
body.theme-warm .dash-eyebrow { color: #8B2942; }

/* 19.2 dash-card 卡片 */
body.theme-warm .dash-card {
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(139,41,66,.18);
  box-shadow: 0 10px 24px -16px rgba(139,41,66,.18);
}

/* 19.3 dash-field / input */
body.theme-warm .dash-label { color: #8B2942; }
body.theme-warm .dash-input,
body.theme-warm .dash-select {
  background: rgba(26,24,21,.03);
  border: 1px solid rgba(139,41,66,.22);
  color: #1A1815;
}
body.theme-warm .dash-input::placeholder { color: rgba(26,24,21,.4); }
body.theme-warm .dash-input:focus,
body.theme-warm .dash-select:focus {
  background: rgba(26,24,21,.05);
  border-color: #8B2942;
  box-shadow: 0 0 0 4px rgba(139,41,66,.12);
}

/* 19.4 dash-btn-gold / btn-gold → 酒紅漸層 */
body.theme-warm .dash-btn-gold,
body.theme-warm .btn-gold {
  background: linear-gradient(135deg, #D89BAA 0%, #8B2942 50%, #5C1A2C 100%);
  color: #FFFFFF;
  box-shadow: 0 10px 24px -12px rgba(139,41,66,.55);
}

/* 19.5 tabs-underline 共用 tab */
body.theme-warm .tabs-underline { border-bottom-color: rgba(26,24,21,.08); }
body.theme-warm .tabs-underline .tab-item { color: rgba(26,24,21,.5); }
body.theme-warm .tabs-underline .tab-item:hover { color: #8B2942; }
body.theme-warm .tabs-underline .tab-item.active { color: #1A1815; }
body.theme-warm .tabs-indicator {
  background: linear-gradient(90deg, #D89BAA, #8B2942);
}

/* 19.6 pager 分頁共用 */
body.theme-warm .pager-btn {
  background: rgba(26,24,21,.03);
  border: 1px solid rgba(139,41,66,.18);
  color: #1A1815;
}
body.theme-warm .pager-btn:hover:not(:disabled) {
  background: rgba(139,41,66,.08);
  border-color: #8B2942;
  color: #8B2942;
}
body.theme-warm .pager-btn.is-active,
body.theme-warm .pager-btn:disabled {
  background: #8B2942;
  border-color: #8B2942;
  color: #FFFFFF;
}
body.theme-warm .pager-gap { color: rgba(26,24,21,.4); }

/* 19.7 推薦獎金 .ref-* override（creator_invite.php）*/
body.theme-warm .ref-filter {
  color: rgba(26,24,21,.6);
  background: rgba(26,24,21,.03);
  border: 1px solid rgba(139,41,66,.22);
}
body.theme-warm .ref-filter:hover { color: #8B2942; border-color: #8B2942; }
body.theme-warm .ref-filter.active {
  color: #FFFFFF;
  background: linear-gradient(135deg, #D89BAA 0%, #8B2942 50%, #5C1A2C 100%);
  border-color: transparent;
}
body.theme-warm .ref-list-card {
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(139,41,66,.18);
}
body.theme-warm .ref-row { border-bottom: 1px solid rgba(139,41,66,.1); }
body.theme-warm .ref-row:hover { background: rgba(139,41,66,.04); }
body.theme-warm .ref-name { color: #1A1815; }
body.theme-warm .ref-meta { color: rgba(26,24,21,.6); }
body.theme-warm .ref-amount { color: #8B2942; }
body.theme-warm .ref-badge {
  background: linear-gradient(135deg, #D89BAA 0%, #8B2942 100%);
  color: #FFFFFF;
}
body.theme-warm .ref-empty svg { stroke: #8B2942; opacity: .5; }

/* 19.8 我的追隨 .follower-* override（my_follower.php）*/
body.theme-warm .follower-page { color: #1A1815; }
body.theme-warm .follower-title { color: #1A1815; }
body.theme-warm .follower-subtitle { color: rgba(26,24,21,.6); }
body.theme-warm .follower-stats .stat-num,
body.theme-warm .follower-stats .stat-num-active { color: #8B2942; }
body.theme-warm .follower-stats .stat-label { color: rgba(26,24,21,.55); }
body.theme-warm .follower-row { border-bottom: 1px solid rgba(139,41,66,.1); }
body.theme-warm .follower-row:hover { background: rgba(139,41,66,.04); }
body.theme-warm .fr-avatar {
  background: linear-gradient(135deg, #D89BAA, #8B2942);
}
body.theme-warm .fr-name { color: #1A1815; }
body.theme-warm .fr-name:hover { color: #8B2942; }
body.theme-warm .fr-time { color: rgba(26,24,21,.5); }
body.theme-warm .fr-unfollow-btn {
  background: rgba(139,41,66,.06);
  color: #8B2942;
  border-color: rgba(139,41,66,.32);
}
body.theme-warm .fr-unfollow-btn:hover {
  background: rgba(139,41,66,.14);
  color: #5C1A2C;
}
body.theme-warm .follower-empty svg { stroke: #8B2942; opacity: .55; }
body.theme-warm .follower-spinner { border-top-color: #8B2942; }

/* 19.9 返回頂部按鈕 .back-to-top（layout_new component）*/
body.theme-warm .back-to-top {
  background: linear-gradient(135deg, #D89BAA 0%, #8B2942 50%, #5C1A2C 100%);
  color: #FFFFFF;
  box-shadow: 0 6px 18px rgba(139,41,66,.32);
}

/* ═══════════════════════════════════════════════════════════════
   §20 — view_category.php Feed / Post-card / Share-modal override
   依 ui/feed.html 標準色票（副字 #78716C、邊框 #F4ECDC/#E8D8B8）
   ═══════════════════════════════════════════════════════════════ */

/* 20.1 feed-head */
body.theme-warm .feed-head .eyebrow { color: #8B2942; }
body.theme-warm .feed-head h1 { color: #1A1815; }

/* 20.2 feed-empty / feed-sentinel */
body.theme-warm .feed-empty,
body.theme-warm .feed-empty div,
body.theme-warm .feed-sentinel,
body.theme-warm .feed-sentinel span { color: #78716C; }
body.theme-warm .feed-empty svg { stroke: #78716C; }

/* 20.3 spinner */
body.theme-warm .feed-sentinel .spinner {
  border: 2px solid rgba(139,41,66,.18);
  border-top-color: #8B2942;
}

/* 20.4 tabs-underline 補強（補 §19 過短的覆寫）*/
body.theme-warm .tabs-underline .tab-item { color: #78716C; }
body.theme-warm .tabs-underline .tab-item:hover { color: #5C1A2C; }
body.theme-warm .tabs-underline .tab-item.active { color: #1A1815; }
body.theme-warm .tabs-underline .tabs-indicator { background: #8B2942; }

/* 20.5 post 卡片 */
body.theme-warm .post {
  background: #FFFFFF;
  border: 1px solid #F4ECDC;
  box-shadow: 0 14px 30px -18px rgba(26,24,21,.15);
}
body.theme-warm .post:hover { border-color: #E8D8B8; }

/* 20.6 post-head（avatar + name + meta） */
body.theme-warm .post-head .avatar { background: #FFFFFF; }
body.theme-warm .post-head .avatar-inner {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
}
body.theme-warm .post-head .name,
body.theme-warm .post-head .name a { color: #1A1815; }
body.theme-warm .post-head .name:hover,
body.theme-warm .post-head .name a:hover { color: #8B2942; }
body.theme-warm .post-head .meta { color: #78716C; }

/* 20.7 post-body */
body.theme-warm .post-body { color: #1A1815; }
body.theme-warm .post-body .show-more { color: #8B2942; }
body.theme-warm .post-body .show-more:hover { color: #5C1A2C; }

/* 20.8 post-actions（like / share button）*/
body.theme-warm .post-actions .btn-action,
body.theme-warm .post-actions .like-btn,
body.theme-warm .post-actions .share-btn { color: #78716C; }
body.theme-warm .post-actions .btn-action:hover,
body.theme-warm .post-actions .like-btn:hover,
body.theme-warm .post-actions .share-btn:hover { color: #8B2942; }
body.theme-warm .post-actions .liked,
body.theme-warm .post-actions .like-btn.liked { color: #8B2942; }

/* 20.9 share-modal */
body.theme-warm .share-modal .dialog {
  background: #FFFFFF;
  border: 1px solid #F4ECDC;
  color: #1A1815;
}
body.theme-warm .share-modal .opt {
  background: #FBFAF7;
  border: 1px solid #F4ECDC;
  color: #1A1815;
}
body.theme-warm .share-modal .opt:hover {
  background: rgba(139,41,66,.06);
  border-color: #E8D8B8;
}
body.theme-warm .share-modal .close { color: #78716C; }
body.theme-warm .share-modal .close:hover { color: #8B2942; }
body.theme-warm .share-modal h3 { color: #1A1815; }

/* 20.10 lock / paywall 卡片內字色（new_post_card.js 注入）*/
body.theme-warm .post .lock-title,
body.theme-warm .post .lock-msg { color: #1A1815; }
body.theme-warm .post .lock .icon { color: #8B2942; }

/* ═══════════════════════════════════════════════════════════════
   §21 — lock overlay / 共用按鈕 override（new_post_card.js 注入）
   view_category.php + view.php 共用（兩頁都動態渲染 .lock + .btn-*）
   ═══════════════════════════════════════════════════════════════ */

/* 21.1 .lock 遮罩（深紫黑霧 → 米白霧）*/
body.theme-warm .lock {
  background: rgba(255, 255, 255, .7);
  color: #1A1815;
}

/* 21.2 .lock .icon 圓圈底（深紫 → 米白半透明）*/
body.theme-warm .lock .icon {
  background: rgba(255, 255, 255, .6);
  border-color: rgba(139, 41, 66, .35);
}

/* 21.3 .lock .icon.gold 金漸層 → 酒紅漸層 */
body.theme-warm .lock .icon.gold {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  border-color: #D89BAA;
}

/* 21.4 .lock 內字色（米白霧上需深字）*/
body.theme-warm .lock .lock-title { color: #1A1815; }
body.theme-warm .lock .lock-sub { color: rgba(26, 24, 21, .75); }
body.theme-warm .lock .foot { color: rgba(26, 24, 21, .55); }

/* 21.5 .lock .price 金字 → 酒紅字 */
body.theme-warm .lock .price { color: #8B2942; }

/* 21.6 .btn-gold 金漸層 → 酒紅漸層 */
body.theme-warm .btn-gold {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
  box-shadow: 0 6px 16px -6px rgba(139, 41, 66, .45);
}

/* 21.7 .btn-purple 紫漸層 → 酒紅漸層 */
body.theme-warm .btn-purple {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
  box-shadow: 0 6px 16px -6px rgba(139, 41, 66, .45);
}

/* 21.8 .btn-white 白底紫字 → 白底酒紅字 */
body.theme-warm .btn-white {
  background: #FFFFFF;
  color: #5C1A2C;
  border: 1px solid #E8D8B8;
}

/* 21.9 .actions 金邊頂線 → 酒紅淡邊 */
body.theme-warm .actions {
  border-top: 1px solid rgba(139, 41, 66, .12);
}

/* ═══════════════════════════════════════════════════════════════
   §22 — .plan 訂閱方案卡片 override（含「★ 最划算」ribbon）
   creator_profile.php 訂閱卡片區
   設計：一般卡白底 + 暖灰邊；featured 深酒紅底突出；
   subscribed 綠色狀態保留
   ═══════════════════════════════════════════════════════════════ */

/* 22.1 一般 .plan 卡 邊框 */
body.theme-warm .plan { border-color: #F4ECDC; }
body.theme-warm .plan:hover {
  border-color: #E8D8B8;
  box-shadow: 0 12px 28px -16px rgba(139, 41, 66, .18);
}

/* 22.2 .plan.featured 深酒紅底突出（最划算）*/
body.theme-warm .plan.featured {
  background: linear-gradient(160deg, #5C1A2C 0%, #1A1815 100%);
  box-shadow: 0 18px 36px -14px rgba(139, 41, 66, .45);
}

/* 22.3 .plan.featured::before 「★ 最划算」ribbon（金 → 酒紅）*/
body.theme-warm .plan.featured::before {
  background: linear-gradient(135deg, #D89BAA, #8B2942);
  color: #FFFFFF;
  box-shadow: 0 4px 10px -2px rgba(139, 41, 66, .5);
}

/* 22.4 .plan.featured 內字色（深底白系）*/
body.theme-warm .plan.featured .plan-dur { color: #D89BAA; }
body.theme-warm .plan.featured .plan-title { color: #FFFFFF; }
body.theme-warm .plan.featured .plan-price { color: #D89BAA; }
body.theme-warm .plan.featured .plan-orig { color: rgba(255,255,255,.5); }
body.theme-warm .plan.featured .plan-per { color: #D89BAA; }
body.theme-warm .plan.featured .plan-save {
  background: rgba(216, 155, 170, .2);
  color: #D89BAA;
}
body.theme-warm .plan.featured .plan-list { color: rgba(255,255,255,.85); }
body.theme-warm .plan.featured .plan-list li::before { color: #D89BAA; }

/* 22.5 一般 .plan 內字色（白底深字）*/
body.theme-warm .plan-price { color: #8B2942; }
body.theme-warm .plan-list { color: #1A1815; }
body.theme-warm .plan-list li::before { color: #8B2942; }

/* 22.6 .plan-cta 一般按鈕 紫漸層 → 酒紅漸層 */
body.theme-warm .plan-cta {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
}

/* 22.7 .plan.featured .plan-cta（深酒紅底上要對比強的米白按鈕）*/
body.theme-warm .plan.featured .plan-cta {
  background: #FFFFFF;
  color: #5C1A2C;
  box-shadow: 0 6px 14px -6px rgba(0, 0, 0, .3);
}

/* 22.8 .plan-empty 空狀態 */
body.theme-warm .plan-empty {
  background: repeating-linear-gradient(135deg, #FBFAF7 0 8px, transparent 8px 16px), #FFFFFF;
  border: 1px dashed #E8D8B8;
  color: #78716C;
}

/* 22.9 .plan.subscribed 綠色狀態保留（不 override，保持綠 success 語意）*/

/* ═══════════════════════════════════════════════════════════════
   §23 — .tabs-pill 藥丸狀 tab override
   creator_profile.php post 篩選 tab（所有/方案/已解鎖/訂閱/單篇/免費/票券）
   與其他 theme-warm 頁面共用
   ═══════════════════════════════════════════════════════════════ */

/* 23.1 .tabs-pill 容器 邊框 */
body.theme-warm .tabs-pill {
  border-color: #F4ECDC;
}

/* 23.2 .tabs-pill .tab hover 紫 → 酒紅 tint */
body.theme-warm .tabs-pill .tab:hover {
  background: rgba(139, 41, 66, .06);
  color: #5C1A2C;
}

/* 23.3 .tabs-pill .tab.active 紫漸層 → 酒紅漸層 */
body.theme-warm .tabs-pill .tab.active {
  background: linear-gradient(135deg, #8B2942, #5C1A2C);
  color: #FFFFFF;
}
