/* ============================================================
   Padmori · Halloween Edition  (2026-10)
   全部改动走本文件，可一键摘除：
   1) 删除 index.html 里 halloween.css 的 <link> 与 hw-* 节点
   2) 删除本文件 → 站点回到原版
   素材版权：Katy Elizabeth (itch.io) — 免费商用、无需署名
   ============================================================ */

/* ---------- 1. 黑橙主题覆盖 ---------- */

/* 首屏：夜色压暗 + 橙色暖光 */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 78% 18%, rgba(255, 140, 40, 0.14), transparent 60%),
    linear-gradient(180deg, rgba(20, 14, 24, 0.42) 0%, rgba(20, 14, 24, 0.12) 45%, rgba(26, 24, 21, 0.55) 100%);
}
.hero .container { position: relative; z-index: 2; }

/* CTA 区：午夜黑紫 → 橙 */
.cta-section {
  background: linear-gradient(135deg, #241a2e 0%, #3a2318 55%, #6b3a1a 100%) !important;
}
.cta-section::before {
  background: radial-gradient(ellipse at center, rgba(255, 150, 50, 0.12) 0%, transparent 65%) !important;
}

/* 创始价区：深棕橙 */
.founding-band {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #F2EDE6 0%, #EFE0D2 100%);
}

/* 导航滚动后透黑 */
/* 1200以下：蜘蛛无安全挂位，隐藏（移动端另有规则） */
@media (max-width: 1200px) {
  .hw-pd-spider { display: none; }
}

@media (min-width: 861px) {
  .nav.scrolled { background: rgba(26, 18, 22, 0.92); }
}

/* 选中文字橙色 */
::selection { background: rgba(255, 120, 30, 0.35); }

/* 防装饰元素引发横向滚动 */
html, body { overflow-x: clip; }

/* ---------- 2. 动效 ---------- */
@keyframes hw-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-14px) rotate(-2deg); }
}
@keyframes hw-float-sm {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}
@keyframes hw-sway {
  0%, 100% { transform: rotate(-6deg); }
  50%      { transform: rotate(7deg); }
}
@keyframes hw-swing {
  0%, 100% { transform: rotate(4deg); }
  50%      { transform: rotate(-4deg); }
}
@keyframes hw-drift {
  0%   { transform: translate(0, 0) rotate(0deg); }
  25%  { transform: translate(14px, -10px) rotate(5deg); }
  50%  { transform: translate(26px, 4px) rotate(-3deg); }
  75%  { transform: translate(8px, 12px) rotate(4deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes hw-bob {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-6px) scale(1.04); }
}

.hw { position: absolute; z-index: 3; pointer-events: none; image-rendering: auto; }
.hw--float      { animation: hw-float 6s ease-in-out infinite; }
.hw--float-sm   { animation: hw-float-sm 5s ease-in-out infinite; }
.hw--sway       { animation: hw-sway 4.5s ease-in-out infinite; transform-origin: top center; }
.hw--swing      { animation: hw-swing 5s ease-in-out infinite; transform-origin: top center; }
.hw--drift      { animation: hw-drift 11s ease-in-out infinite; }
.hw--bob        { animation: hw-bob 4s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .hw { animation: none !important; }
}

/* ---------- 3. Hero（深色首屏：彩色贴图） ---------- */
.hw-hero-moon {
  top: 6%; right: 5%;
  width: clamp(110px, 14vw, 190px);
  opacity: 0.95;
  animation: hw-float 7s ease-in-out infinite;
}
.hw-hero-bat {
  top: 15%; left: 6%;
  width: clamp(80px, 10vw, 140px);
  animation: hw-drift 12s ease-in-out infinite;
}
.hw-hero-ghost {
  bottom: -16px; left: -18px;
  width: clamp(90px, 10vw, 150px);
  animation: hw-float-sm 5.5s ease-in-out infinite;
}
.hw-hero-bat2 {
  top: 32%; right: 15%;
  width: clamp(56px, 7vw, 90px);
  opacity: 0.95;
  animation: hw-sway 5s ease-in-out infinite;
}
.hw-hero-cauldron {
  bottom: -14px; right: -16px;
  width: clamp(90px, 10vw, 150px);
  opacity: 0.96;
  animation: hw-bob 5s ease-in-out infinite;
}

/* ---------- 4. 信任条下方 / 展廊（浅色区：黑色剪影） ---------- */
.real-gallery { position: relative; overflow: hidden; }
.hw-gallery-bat1 {
  top: 26px; right: 26%;
  width: clamp(70px, 8vw, 110px);
  opacity: 0.95;
  animation: hw-sway 5.5s ease-in-out infinite;
}
.hw-gallery-bat2 {
  top: 100px; right: 4%;
  width: clamp(52px, 6vw, 80px);
  opacity: 0.9;
  animation: hw-sway 6s ease-in-out infinite reverse;
}
.hw-gallery-garland {
  position: relative;
  z-index: 3;
  display: block;
  margin: 0 auto 10px;
  width: clamp(320px, 52vw, 660px);
  animation: hw-bob 5s ease-in-out infinite;
}

/* ---------- 5. 选择表区：蜘蛛挂顶 + 猫头鹰陪标题 ---------- */
.keepsake-guide { position: relative; overflow: hidden; }
.hw-guide-spider {
  top: 20px; right: 7%;
  width: clamp(70px, 8vw, 110px);
  animation: hw-swing 5s ease-in-out infinite;
}
.hw-guide-cauldron {
  bottom: 14px; right: 3%;
  width: clamp(80px, 9vw, 130px);
  opacity: 0.95;
  animation: hw-bob 5.2s ease-in-out infinite;
}
.hw-guide-cat {
  top: 36px; left: 3.5%;
  width: clamp(76px, 8.5vw, 120px);
  animation: hw-float-sm 6s ease-in-out infinite;
}

/* ---------- 6. 创始价区：南瓜伴价格 ---------- */
.founding-band__inner { position: relative; }
.hw-founding-dog {
  position: absolute;
  right: -10px; bottom: -16px;
  width: clamp(110px, 13vw, 170px);
  animation: hw-bob 4.5s ease-in-out infinite;
}

/* ---------- 7. 流程区：黑猫剪影踞角 ---------- */
.how-it-works { position: relative; overflow: hidden; }
.hw-how-cat {
  bottom: -32px; right: -34px;
  width: clamp(80px, 9vw, 120px);
  opacity: 0.96;
  animation: hw-bob 5.5s ease-in-out infinite;
}
.hw-how-bat {
  top: 90px; left: 4%;
  width: clamp(56px, 6.5vw, 88px);
  opacity: 0.92;
  animation: hw-sway 6s ease-in-out infinite;
}

/* ---------- 8. 品牌故事：睡狗趴相框角 ---------- */
.brand-story { position: relative; }
.brand-story-img { position: relative; }
.brand-story-img img.hw-story-dog {
  position: absolute;
  top: -34px; right: -14px;
  width: clamp(80px, 8.5vw, 120px) !important;
  height: auto !important;
  border-radius: 0 !important;
  animation: hw-float-sm 6.5s ease-in-out infinite;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,0.18));
}

/* ---------- 9. CTA：主角黑猫 + 南瓜 + 蝙蝠 ---------- */
.hw-cta-dog {
  bottom: -6px; left: 5%;
  width: clamp(130px, 16vw, 230px);
  animation: hw-bob 5s ease-in-out infinite;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,0.45));
}
.hw-cta-pumpkin1 {
  bottom: -4px; right: 6%;
  width: clamp(100px, 12vw, 170px);
  animation: hw-bob 4.2s ease-in-out infinite 0.6s;
}
.hw-cta-pumpkin2 {
  bottom: -2px; right: 17%;
  width: clamp(70px, 8vw, 110px);
  animation: hw-bob 4.8s ease-in-out infinite 1.1s;
}
.hw-cta-bat1 {
  top: 14%; left: 20%;
  width: clamp(56px, 6.5vw, 88px);
  opacity: 0.92;
  animation: hw-drift 10s ease-in-out infinite;
}
.hw-cta-bat2 {
  top: 26%; right: 10%;
  width: clamp(40px, 4.8vw, 64px);
  opacity: 0.88;
  animation: hw-drift 12s ease-in-out infinite reverse;
}
.hw-cta-ghost {
  top: 10%; right: 5%;
  width: clamp(70px, 8vw, 110px);
  animation: hw-float 6.5s ease-in-out infinite;
}

/* ---------- 10. 邮箱收集卡（Studio 邀请弹窗）：3D 幽灵 + 糖果 ---------- */
/* 注意：×关闭按钮固定在卡片右上角（right:16px, top:14px），装饰件一律避开右上 */
.studio-invite__card { position: relative; overflow: hidden; }
.hw-card-dog {
  top: 12px; left: 12px;
  width: 96px;
  animation: hw-float-sm 5s ease-in-out infinite;
}
.hw-card-hat {
  bottom: 128px; left: 10px;
  width: 72px;
  transform: rotate(-14deg);
  animation: hw-bob 4.5s ease-in-out infinite;
}

/* ---------- 11. 页脚：Happy Halloween 小牌 ---------- */
.hw-footer-bat {
  display: inline-block;
  width: 60px;
  margin-left: 14px;
  vertical-align: middle;
  animation: hw-sway 6s ease-in-out infinite;
}

/* ---------- 12. Ticker 万圣节行 ---------- */
.promo-ticker .hw-line { color: #FFB380; }
.promo-ticker .hw-line::before { content: '🎃 '; }

/* ---------- 12b. 首页补充：单品区柯基幽灵 + FAQ 蝙蝠 ---------- */
.single-product { position: relative; overflow: hidden; }
.hw-single-corgi {
  bottom: 8px; left: 2.5%;
  width: clamp(90px, 10vw, 150px);
  opacity: 0.97;
  animation: hw-bob 5s ease-in-out infinite;
}
.hw-single-bat {
  top: 40px; right: 4%;
  width: clamp(56px, 6.5vw, 88px);
  opacity: 0.92;
  animation: hw-sway 5.5s ease-in-out infinite;
}
.faq { position: relative; overflow: hidden; }
.hw-faq-bat {
  top: 54px; right: 4.5%;
  width: clamp(56px, 6.5vw, 88px);
  opacity: 0.92;
  animation: hw-sway 6s ease-in-out infinite;
}

/* ---------- 14. 详情页（product-felt.html） ---------- */
.product-detail { position: relative; overflow: hidden; }
.hw-pd-bat1 {
  top: 110px; right: 3.5%;
  width: clamp(64px, 7.5vw, 100px);
  opacity: 0.94;
  animation: hw-sway 5.5s ease-in-out infinite;
}
.hw-pd-bat2 {
  top: 320px; left: 2.5%;
  width: clamp(48px, 5.5vw, 76px);
  opacity: 0.9;
  animation: hw-sway 6.2s ease-in-out infinite reverse;
}
.hw-pd-ghost {
  top: 180px; left: 1.8%;
  width: clamp(76px, 8.5vw, 120px);
  animation: hw-float-sm 6s ease-in-out infinite;
}
.hw-pd-spider {
  top: 330px; right: 3%;
  width: clamp(64px, 7.5vw, 100px);
  animation: hw-swing 5.5s ease-in-out infinite;
}
/* 展廊细节区：复用首页彩旗+剪影 */
.detail-section { position: relative; }
.hw-detail-cat {
  top: -14px; right: -26px;
  width: clamp(70px, 8vw, 110px);
  opacity: 0.95;
  animation: hw-bob 5.5s ease-in-out infinite;
}
.hw-detail-bat {
  top: 18px; right: 4%; left: auto;
  width: clamp(52px, 6vw, 80px);
  opacity: 0.92;
  animation: hw-sway 6s ease-in-out infinite;
}
.related { position: relative; overflow: hidden; }
.hw-related-dog {
  top: 34px; right: 4%;
  width: clamp(68px, 8vw, 108px);
  opacity: 0.97;
  animation: hw-bob 5.5s ease-in-out infinite;
}

/* ---------- 13. 移动端收敛 ---------- */
@media (max-width: 860px) {
  .hw-hero-bat2, .hw-cta-bat2, .hw-gallery-bat2, .hw-how-bat, .hw-guide-cauldron, .hw-single-bat { display: none; }
  .hw-hero-moon { width: 84px; top: 5%; right: 4%; }
  .hw-hero-bat { width: 62px; top: 11%; left: 4%; }
  .hw-hero-ghost { display: none; }
  .hw-hero-cauldron { width: 64px; bottom: 5%; right: 5%; }
  .hw-cta-dog { width: 110px; left: 2%; }
  .hw-cta-ghost, .hw-cta-bat1 { display: none; }
  .hw-cta-pumpkin1 { width: 84px; right: 3%; }
  .hw-cta-pumpkin2 { width: 56px; right: 22%; }
  .hw-cta-ghost { width: 56px; }
  .hw-how-cat { width: 68px; bottom: -12px; right: -12px; }
  .hw-founding-dog { width: 92px; }
  .hw-story-dog { width: 62px; top: -22px; right: -6px; }
  .hw-card-dog { width: 72px; }
  .hw-card-hat { width: 52px; top: 94px; bottom: auto; left: 8px; }
  .hw-single-corgi { width: 76px; }
  .hw-faq-bat { display: none; }
  .hw-pd-bat2, .hw-detail-bat, .hw-related-dog, .hw-pd-bat1 { display: none; }
  .hw-pd-spider { width: 46px; right: 5%; top: 170px; }
  .hw-pd-ghost { width: 62px; }
  .hw-detail-cat { width: 58px; top: -8px; right: -14px; }
  .hw-guide-spider { width: 52px; }
  .hw-guide-cat { width: 60px; }
  .hw-gallery-bat1 { width: 50px; }
}

/* ==== 20261011 黑橙节日文字配色：正文近黑暖调 + 主强调万圣橙 ==== */
:root {
  --color-text: #211005;
  --color-text-light: #4A2C15;
  --color-text-muted: #7A5636;
  --color-primary: #C96A1E;
  --color-primary-dark: #A85615;
  --color-primary-light: #F5DEC4;
  --color-accent: #C96A1E;
  --color-border: #EAD5C0;
}
.hero h1 .accent,
.cinematic-home .hero h1 .accent { color: #E89A4F; }
.view-switch a.active { color: #7A2E0E; background: #FFE3CC; }
