﻿/* =======================================================================
 * theme-a.css 繚 擐? A 甈曉?撅祈?撖?繚 Montblanc 暺?擃?憸? * 憸冽?孵噩:璆菔暺?+ 擐玟??+ 憭折?鞎征??+ Cormorant Garamond ?箔蜓
 * ======================================================================= */

:root {
  --bg:        #0a0a0a;
  --bg-soft:   #141414;
  --ink:       #ffffff;
  --ink-soft:  #e8e8e8;
  --muted:     #888;
  --line:      #2a2a2a;
  --brand:     #c9a96e;        /* 擐玟??*/
  --brand-dark:#a08652;
  --accent:    #d4af37;        /* 蝝?暺韌 */
  --danger:    #c84a4a;
  --ok:        #6ba368;
}

body.theme-a {
  background: var(--bg);
  color: var(--ink-soft);
}
body.theme-a h1,
body.theme-a h2,
body.theme-a h3,
body.theme-a h4,
body.theme-a .section-title,
body.theme-a .hero-title,
body.theme-a .p-title {
  color: var(--ink);
  font-family: "Cormorant Garamond", "Noto Serif TC", serif;
  font-weight: 500;
}

/* Header(瘛梯) */
body.theme-a .site-header {
  background: rgba(10,10,10,0.92);
  border-bottom: 1px solid var(--line);
}
body.theme-a .site-header.scrolled {
  background: rgba(10,10,10,0.98);
}
body.theme-a .brand-logo-dark {
  background: transparent;
  border: 1.5px solid var(--brand);
  color: var(--brand);
}
body.theme-a .brand-text .b-en {
  font-size: 15px; letter-spacing: 4px;
  color: var(--brand);
  font-family: "Cormorant Garamond", serif;
}
body.theme-a .brand-text .b-zh {
  font-size: 14px; letter-spacing: 5px;
  color: rgba(255,255,255,.55);
  margin-top: 4px;
}
body.theme-a .menu > li > a {
  color: rgba(255,255,255,.7);
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 14px;
}
body.theme-a .menu > li > a:hover,
body.theme-a .menu > li > a.active {
  color: var(--brand);
  border-bottom-color: var(--brand);
}
body.theme-a .nav-toggle span { background: var(--brand); }

/* Hero ????撖阡????,憯?霈摮霈 */
body.theme-a .hero { background: #000; }
body.theme-a .hero-bg {
  filter: brightness(0.45);   /* 憯? 55% 霈??寞?摮?璆?*/
  animation: heroZoom 24s ease-out forwards;
}
body.theme-a .hero-overlay {
  background:
    /* 銝剖???霈蜓璅霈,?券?銝?摨行? */
    radial-gradient(ellipse at 50% 45%, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0.85) 100%);
}
body.theme-a .hero-tag {
  color: var(--brand);
  font-size: 14px;
  letter-spacing: 8px;
  padding-bottom: 14px;
  position: relative;
}
body.theme-a .hero-tag::after {
  content: "";
  position: absolute; bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 40px; height: 1px;
  background: var(--brand);
}
body.theme-a .hero-inner { text-align: center; max-width: 900px; }
body.theme-a .hero-title {
  font-weight: 400;
  letter-spacing: 8px;
  font-size: clamp(40px, 7vw, 84px);
}
body.theme-a .hero-title em {
  color: var(--brand);
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: .55em;
  letter-spacing: 4px;
}
body.theme-a .hero-sub {
  text-align: center; margin: 0 auto 40px;
  color: rgba(255,255,255,.75);
  font-size: 16px;
  letter-spacing: 1px;
}
body.theme-a .hero-actions { justify-content: center; }

/* Page hero ??style.css ??var(--ink) ?嗆楛?脰???theme-a ????踹?霈摨?*/
body.theme-a .page-hero {
  background: #0a0a0a;
  color: #fff;
}
body.theme-a .page-hero h1 { color: #fff; }

/* Section */
body.theme-a .section { padding: 130px 32px; }
body.theme-a .section-kicker {
  color: var(--brand);
  font-size: 14px; letter-spacing: 6px;
}
body.theme-a .section-title {
  font-weight: 400;
  font-size: clamp(30px, 3.6vw, 48px);
  letter-spacing: 5px;
}
body.theme-a .section-title::after {
  content: ""; display: block;
  width: 50px; height: 1px;
  background: var(--brand);
  margin: 22px auto 0;
}
body.theme-a .section-desc {
  color: rgba(255,255,255,.55);
  line-height: 1.9;
}
body.theme-a .section-alt { background: #0f0f0f; }
body.theme-a .section-dark { background: #050505; }

/* ??(?寧??/??) */
body.theme-a .btn {
  background: transparent;
  border: 1.5px solid var(--brand);
  color: var(--brand);
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 4px;
  font-size: 14px;
  text-transform: uppercase;
  padding: 16px 40px;
}
body.theme-a .btn:hover {
  background: var(--brand);
  color: #000;
  border-color: var(--brand);
  box-shadow: 0 10px 30px rgba(201,169,110,.25);
}
body.theme-a .btn-gold {
  background: var(--brand);
  color: #000;
  border-color: var(--brand);
}
body.theme-a .btn-gold:hover {
  background: #fff; color: #000; border-color: #fff;
}
body.theme-a .btn-outline {
  background: transparent;
  border-color: rgba(255,255,255,.4);
  color: #fff;
}
body.theme-a .btn-outline:hover {
  background: #fff; color: #000; border-color: #fff;
}

/* ?????) */
body.theme-a .p-card {
  background: #131313;
  border-color: var(--line);
  border-radius: 0;
}
body.theme-a .p-card:hover {
  border-color: var(--brand);
  box-shadow: 0 20px 50px rgba(0,0,0,.5);
}
body.theme-a .p-img { background: #0a0a0a; }
body.theme-a .p-badge { background: var(--brand); color: #000; }
body.theme-a .p-cat { color: var(--brand); }
body.theme-a .p-title { color: #fff; font-weight: 500; }
body.theme-a .p-subtitle { color: rgba(255,255,255,.5); }
body.theme-a .p-meta { border-top-color: var(--line); }
body.theme-a .p-price { color: var(--brand); }
body.theme-a .p-stock { color: rgba(255,255,255,.5); }

/* Toolbar(?? pills + ??銝?) */
body.theme-a .cat-filter a {
  color: rgba(255,255,255,.7);
  border-color: var(--line);
  background: transparent;
}
body.theme-a .cat-filter a:hover { color: var(--brand); border-color: var(--brand); }
body.theme-a .cat-filter a.active {
  background: var(--brand); color: #000; border-color: var(--brand);
}
body.theme-a .sort-by select {
  background-color: #131313;
  color: #fff;
  border-color: var(--line);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%23c9a96e' d='M6 8L0 0h12z'/></svg>");
}
body.theme-a .sort-by select option { background: #131313; color: #fff; }

/* Plan cards ???寞楛摨誑?? A 甈暸???*/
body.theme-a .plan-card {
  background: #131313;
  border-color: var(--line);
}
body.theme-a .plan-card:hover { border-color: var(--brand); }
body.theme-a .plan-card .pl-name { color: #fff; font-weight: 400; }
body.theme-a .plan-card .pl-tag  { color: rgba(255,255,255,.55); }
body.theme-a .plan-card .pl-rate { color: var(--brand); }
body.theme-a .plan-card .pl-rate small { color: var(--brand); }
body.theme-a .plan-card .pl-rate-lbl { color: rgba(255,255,255,.5); }
body.theme-a .plan-card .pl-list li {
  color: rgba(255,255,255,.78);
  border-bottom-color: var(--line);
}
body.theme-a .plan-card .pl-list li::before { color: var(--brand); }
body.theme-a .plan-card .pl-fee { color: rgba(255,255,255,.55); }
body.theme-a .plan-card .pl-fee strong { color: #fff; }
body.theme-a .plan-card.featured {
  border-color: var(--brand);
  background: linear-gradient(180deg, #1a1410 0%, #131313 100%);
}
body.theme-a .plan-card.featured::before {
  background: var(--brand); color: #000;
}

/* Story ? */
body.theme-a .story-img {
  background-image: linear-gradient(135deg, #1a1410 0%, #c9a96e 100%);
}
body.theme-a .story-body h3 { color: #fff; font-weight: 400; letter-spacing: 4px; }
body.theme-a .story-body p { color: rgba(255,255,255,.7); }
body.theme-a .story-body .sig { color: var(--brand); }

/* Craft steps */
body.theme-a .craft-step .step-num { color: var(--brand); opacity: .6; }
body.theme-a .craft-step h4 { color: #fff; font-weight: 400; letter-spacing: 4px; }
body.theme-a .craft-step p { color: rgba(255,255,255,.55); }

/* Flash 閮(隞???????亥頃?抵?敺? */
body.theme-a .flash {
  background: rgba(212,175,55,.12);
  border-color: var(--brand);
  color: var(--brand);
}

/* CTA */
body.theme-a .cta {
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 100%);
  position: relative;
  padding: 140px 32px;
}
body.theme-a .cta::before,
body.theme-a .cta::after {
  content: "";
  position: absolute; left: 50%; transform: translateX(-50%);
  width: 80px; height: 1px;
  background: var(--brand);
}
body.theme-a .cta::before { top: 50px; }
body.theme-a .cta::after { bottom: 50px; }
body.theme-a .cta h2 {
  font-weight: 400; letter-spacing: 6px;
  color: #fff;
}

/* Footer ??瘛梯 */
body.theme-a .site-footer { background: #050505; border-top: 1px solid var(--line); }
body.theme-a .footer-brand h4 { color: #fff; font-weight: 400; }
body.theme-a .footer-brand .ft-en { color: var(--brand); }

/* 皛曉??內 */
.scroll-hint {
  position: absolute; bottom: 40px; left: 50%;
  transform: translateX(-50%);
  font-family: "Cormorant Garamond", serif;
  font-size: 14px; letter-spacing: 4px;
  color: rgba(255,255,255,.5);
  text-transform: uppercase;
  z-index: 2;
}
.scroll-hint::after {
  content: ""; display: block;
  width: 1px; height: 40px;
  background: rgba(255,255,255,.4);
  margin: 14px auto 0;
  animation: scrollDown 2s ease-in-out infinite;
}
@keyframes scrollDown {
  0%,100% { transform: scaleY(.4); transform-origin: top; opacity: .3; }
  50%     { transform: scaleY(1);  transform-origin: top; opacity: 1; }
}
