/* Festive layer — overlays brand.css */
:root {
  --sc-snow: #f7f3ec;
  --sc-candy: #d63641;
  --sc-candy-deep: #9c1f2c;
  --sc-pine: #2f6647;
  --sc-pine-deep: #1f4a33;
  --sc-velvet: #4a1a23;
  --sc-cocoa: #3d2620;
  --sc-foil: #f1d385;        /* gold foil */
  --sc-foil-deep: #b08a3e;
  --sc-mint: #b6e0c5;        /* peppermint accent */

  --sc-handwriting: 'Caveat', 'Kalam', cursive;
}

/* ─── Snowfall ─── */
@keyframes sc-fall {
  0%   { transform: translate3d(0,-8%,0) rotate(0deg); }
  100% { transform: translate3d(8px,108%,0) rotate(360deg); }
}
@keyframes sc-fall-2 {
  0%   { transform: translate3d(0,-12%,0); }
  100% { transform: translate3d(-14px,112%,0); }
}
.sc-snow-layer {
  position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 3;
}
.sc-snow-layer span {
  position: absolute; top: 0; color: var(--sc-snow);
  opacity: 0.85;
  animation: sc-fall linear infinite;
  filter: drop-shadow(0 0 4px rgba(247,243,236,0.5));
}

/* ─── Twinkle ─── */
@keyframes sc-twinkle {
  0%, 100% { opacity: 0.45; filter: brightness(0.95); }
  50%      { opacity: 1; filter: brightness(1.4); }
}
.sc-twinkle { animation: sc-twinkle 1.8s ease-in-out infinite; }

/* ─── Sway ─── */
@keyframes sc-sway {
  0%, 100% { transform: rotate(-3deg); }
  50%      { transform: rotate(3deg); }
}
.sc-sway { animation: sc-sway 4s ease-in-out infinite; transform-origin: 50% 0%; }

/* ─── Shimmer (foil sheen) ─── */
@keyframes sc-shimmer {
  0%   { background-position: -200% 50%; }
  100% { background-position: 200% 50%; }
}
.sc-foil {
  background: linear-gradient(110deg,
    #b08a3e 0%, #e8c266 25%, #fff2c2 40%, #e8c266 55%, #b08a3e 80%, #b08a3e 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: sc-shimmer 7s ease-in-out infinite;
}

/* ─── Candy stripes (gentle, used as accent) ─── */
.sc-candy-stripes {
  background-image: repeating-linear-gradient(
    -55deg,
    #d63641 0 14px,
    #f7f3ec 14px 28px
  );
}

/* ─── Parchment paper ─── */
.sc-parchment {
  background:
    radial-gradient(ellipse at 30% 20%, #fbeed1 0%, #f3dfa9 60%, #ddc079 100%);
  color: #3d2620;
  border-radius: 4px;
  position: relative;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.5) inset,
    0 30px 60px -25px rgba(0,0,0,0.6),
    0 4px 0 rgba(255,255,255,0.06) inset;
}
.sc-parchment::before, .sc-parchment::after {
  content: ""; position: absolute; left: 0; right: 0; height: 14px;
  background-image:
    radial-gradient(circle at 8px 0, transparent 6px, currentColor 7px);
  color: inherit;
  /* deckled edge using clip-path instead */
}
.sc-parchment::before { top: -7px; }
.sc-parchment::after  { bottom: -7px; transform: scaleY(-1); }

/* ─── String light bulb pulse ─── */
@keyframes sc-bulb {
  0%, 100% { box-shadow: 0 0 8px 2px currentColor, 0 0 24px 6px currentColor; opacity: 0.95; }
  50%      { box-shadow: 0 0 4px 1px currentColor, 0 0 12px 3px currentColor; opacity: 0.7; }
}
.sc-bulb { animation: sc-bulb 1.6s ease-in-out infinite; }

/* ─── Wax seal pressed look ─── */
.sc-wax {
  background: radial-gradient(circle at 35% 30%, #e85267 0%, #c4243a 45%, #761722 100%);
  color: #fbeed1;
  box-shadow:
    inset 0 -3px 6px rgba(60,8,16,0.6),
    inset 0 3px 6px rgba(255,180,180,0.4),
    0 6px 14px -4px rgba(0,0,0,0.5);
}

/* ─── Ring pulse ─── */
@keyframes sc-ring-pulse {
  0%   { transform: scale(0.6); opacity: 0.9; }
  100% { transform: scale(1.4); opacity: 0; }
}
.sc-ring-pulse { animation: sc-ring-pulse 1.6s ease-out infinite; }
