/* ============================================================
   主题一：阳光小探险家（Sunny Explorer）
   暖黄 + 橙 + 天蓝，太阳、云朵、气球、草地山丘，明快活泼
   ============================================================ */

:root {
  --bg: #fff8ec;
  --bg-alt: #fff1d6;
  --surface: #ffffff;
  --text: #3a2e1f;
  --text-muted: #8a7a63;
  --primary: #ff8a3d;
  --primary-soft: #ffd9b8;
  --accent: #4fc3f7;
  --accent-soft: #d6f0fd;
  --success: #66bb6a;
  --danger: #e57373;
  --shadow-sm: 0 2px 8px rgba(90, 60, 20, 0.08);
  --shadow-md: 0 8px 24px rgba(90, 60, 20, 0.12);
  --shadow-lg: 0 16px 48px rgba(90, 60, 20, 0.18);
}

/* ---------- 场景元素开关（提升特异性以覆盖 base.css 的默认隐藏） ---------- */
.hero-deco .deco.deco-sun,
.hero-deco .deco.deco-cloud,
.hero-deco .deco.deco-balloon,
.hero-deco .deco.deco-hill { display: block; }

/* ---------- Hero 天空 ---------- */
.hero {
  background:
    radial-gradient(circle at 12% 20%, rgba(255, 214, 102, 0.5) 0, transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(79, 195, 247, 0.3) 0, transparent 30%),
    linear-gradient(180deg, #ffe9b8 0%, #fff8ec 100%);
}

/* 太阳：右上角，带旋转光芒 */
.deco-sun {
  position: absolute;
  top: 7%;
  right: 7%;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #ffe082, #ffb300);
  box-shadow: 0 0 40px 14px rgba(255, 200, 60, 0.4);
  animation: sunPulse 6s ease-in-out infinite;
}
.deco-sun::before {
  content: "";
  position: absolute;
  inset: -24px;
  border-radius: 50%;
  background: repeating-conic-gradient(rgba(255, 200, 60, 0.55) 0 9deg, transparent 9deg 22deg);
  -webkit-mask: radial-gradient(circle, transparent 30%, #000 32%);
  mask: radial-gradient(circle, transparent 30%, #000 32%);
  animation: sunSpin 28s linear infinite;
}
@keyframes sunSpin { to { transform: rotate(360deg); } }
@keyframes sunPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.07); }
}

/* 云朵：三朵不同大小、不同速度漂移 */
.deco-cloud {
  position: absolute;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  filter: drop-shadow(0 6px 12px rgba(90, 60, 20, 0.08));
}
.deco-cloud::before,
.deco-cloud::after {
  content: "";
  position: absolute;
  background: inherit;
  border-radius: 50%;
}
.deco-cloud-1 { width: 120px; height: 40px; top: 18%; left: 4%; animation: drift 26s linear infinite; }
.deco-cloud-1::before { width: 52px; height: 52px; top: -24px; left: 20px; }
.deco-cloud-1::after { width: 38px; height: 38px; top: -16px; left: 62px; }
.deco-cloud-2 { width: 90px; height: 30px; top: 34%; right: 6%; animation: drift 34s linear infinite reverse; }
.deco-cloud-2::before { width: 40px; height: 40px; top: -18px; left: 16px; }
.deco-cloud-2::after { width: 30px; height: 30px; top: -12px; left: 48px; }
.deco-cloud-3 { width: 70px; height: 24px; top: 58%; left: 22%; opacity: 0.75; animation: drift 40s linear infinite; }
.deco-cloud-3::before { width: 30px; height: 30px; top: -12px; left: 12px; }
.deco-cloud-3::after { width: 22px; height: 22px; top: -8px; left: 36px; }

@keyframes drift {
  from { transform: translateX(-80px); }
  to { transform: translateX(calc(100vw + 160px)); }
}

/* 气球：缓缓上升 */
.deco-balloon {
  position: absolute;
  width: 26px;
  height: 34px;
  border-radius: 50% 50% 50% 50% / 55% 55% 45% 45%;
  animation: balloonUp 11s ease-in-out infinite;
}
.deco-balloon::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  width: 2px;
  height: 16px;
  background: rgba(90, 60, 20, 0.35);
  transform: translateX(-50%);
}
.deco-balloon-1 { left: 10%; bottom: 22%; background: #ff8a3d; }
.deco-balloon-2 { left: 20%; bottom: 12%; background: #4fc3f7; animation-delay: 3.5s; }
@keyframes balloonUp {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-46px); }
}

/* 草地山丘剪影 */
.deco-hill {
  position: absolute;
  left: -6%;
  right: -6%;
  bottom: -4%;
  height: 130px;
  background:
    radial-gradient(ellipse at 18% 100%, rgba(102, 187, 106, 0.5) 0 42%, transparent 43%),
    radial-gradient(ellipse at 55% 100%, rgba(76, 175, 80, 0.42) 0 48%, transparent 49%),
    radial-gradient(ellipse at 88% 100%, rgba(102, 187, 106, 0.38) 0 38%, transparent 39%);
}

/* ---------- 相册区：草地纹理 + 小汽车点缀 ---------- */
.gallery {
  background:
    radial-gradient(circle at 8% 90%, rgba(255, 138, 61, 0.12) 0, transparent 30%),
    radial-gradient(circle at 92% 10%, rgba(79, 195, 247, 0.12) 0, transparent 30%),
    repeating-linear-gradient(0deg, rgba(102, 187, 106, 0.05) 0 2px, transparent 2px 26px),
    var(--bg);
}
.gallery-content { position: relative; }
.gallery-content::after {
  content: "🚗";
  position: absolute;
  right: 4%;
  top: 6%;
  font-size: 40px;
  opacity: 0.5;
  transform: rotate(-6deg);
  animation: carBounce 4s ease-in-out infinite;
}
@keyframes carBounce {
  0%, 100% { transform: rotate(-6deg) translateY(0); }
  50% { transform: rotate(-6deg) translateY(-8px); }
}

/* ---------- 留言板：云朵卡片 ---------- */
.gb-item { position: relative; }
.gb-item::before {
  content: "";
  position: absolute;
  top: -10px;
  right: 18px;
  width: 46px;
  height: 18px;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 999px;
}
.gb-item::after {
  content: "";
  position: absolute;
  top: -18px;
  right: 30px;
  width: 24px;
  height: 24px;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 50%;
}

/* 主图徽章更活泼 */
.feature-badge { background: linear-gradient(135deg, #ff8a3d, #ffb74d); }

/* 按钮渐变 */
.btn-primary { background: linear-gradient(135deg, #ff8a3d, #ffb74d); }

/* ---------- 移动端减弱 ---------- */
@media (max-width: 768px) {
  .deco-cloud-3, .deco-balloon-2 { display: none; }
  .deco-sun { width: 60px; height: 60px; top: 5%; right: 5%; }
  .deco-hill { height: 80px; }
}
