/* ============================================================
   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: 52%; right: 9%;
  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: 640px; left: 1.4%;
  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; }

/* ---------- 14. 通用分页装修（法务页 / 404 / 下单成功页等无 hero 的页）---------- */
body { position: relative; }
.hw-page-bat {
  position: absolute; top: 64px; right: 2.5%;
  width: clamp(38px, 4.6vw, 64px);
  opacity: .55; z-index: 1; pointer-events: none;
  animation: hw-drift 12s ease-in-out infinite;
}
.hw-page-pumpkin {
  position: absolute; bottom: 16px; left: 2.5%;
  width: clamp(46px, 5.6vw, 86px);
  opacity: .5; z-index: 1; pointer-events: none;
  animation: hw-bob 5.4s ease-in-out infinite .8s;
}
@media (max-width: 640px) {
  .hw-page-bat, .hw-page-pumpkin { display: none; }
}

/* ---------- 15. 导航在暗底 / 滚动后的可读性 ---------- */
body.has-dark-hero .nav:not(.scrolled) .nav-logo,
body.has-dark-hero .nav:not(.scrolled) .nav-links a { color: #FBF4EC; }
body.has-dark-hero .nav:not(.scrolled) .nav-logo .logo-dot { color: #C96A1E; }
body.has-dark-hero .nav:not(.scrolled) .nav-toggle span { background: #FBF4EC; }

/* 滚动后导航背景是浅米 rgba(250,248,245,.95)，字必须用暖黑，不能用白 */
.nav.scrolled .nav-logo,
.nav.scrolled .nav-links a { color: #211005 !important; }
.nav.scrolled .nav-logo .logo-dot { color: #C96A1E !important; }
.nav.scrolled .nav-links a::after { background: #C96A1E !important; }
.nav.scrolled .nav-cta { background: #C96A1E !important; color: #211005 !important; }
.nav.scrolled .nav-toggle span { background: #211005 !important; }

/* 首屏主按钮：陶土橙底 + 暖黑字 */
.hero .btn-primary,
.hero .btn--primary { color: #1A1114 !important; }

/* ============================================================
   16. 产品页装饰贴图：拉开上下间距，且不让贴图压到文字
   左列 ghost(180) → bat2 由 320 下移到 430
   右列 bat1(110) → spider 由 330 下移到 470 并外移，避开勾选条与橙框
   ============================================================ */
@media (min-width: 1201px) {
  .hw-pd-bat2 { top: 430px; }
  .hw-pd-spider { top: 640px; left: 1.4%; right: auto; }
}
