/* ════════════════════════════════════════════════════════════
   ⚠️  CRINGE MODE — opt-in via ?cringe=1
   Activates when <body> has class "is-cringe".
   Emil Kowalski cried while reading this file.
   ════════════════════════════════════════════════════════════ */

/* RAINBOW ATTACK on the names */
body.is-cringe .hero__names {
  background: linear-gradient(
    90deg,
    #ff0080, #ff8c00, #ffd700, #00ff00,
    #00bfff, #8a2be2, #ff1493, #ff0080
  );
  background-size: 400% 100%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  animation: cringe-rainbow 2s linear infinite, cringe-shake 0.4s ease-in-out infinite;
  text-shadow: none !important;
  font-style: italic !important;
}

@keyframes cringe-rainbow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 400% 50%; }
}

@keyframes cringe-shake {
  0%,100% { transform: translateX(0) rotate(-1deg); }
  25%     { transform: translateX(-3px) rotate(1deg); }
  50%     { transform: translateX(3px) rotate(-2deg); }
  75%     { transform: translateX(-2px) rotate(2deg); }
}

/* Date — rotating dance */
body.is-cringe .hero__date {
  display: inline-block;
  animation: cringe-spin 1.6s ease-in-out infinite;
  background: yellow;
  color: deeppink !important;
  padding: 4px 12px;
  border: 3px dashed magenta;
  border-radius: 0 !important;
  text-shadow: 2px 2px 0 lime, 4px 4px 0 cyan !important;
  font-family: "Comic Sans MS", "Comic Sans", cursive !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

@keyframes cringe-spin {
  0%,100% { transform: rotate(-4deg) scale(1); }
  50%     { transform: rotate(4deg) scale(1.06); }
}

/* Section heads — shimmering chrome with sparkle */
body.is-cringe .section-h {
  position: relative;
  background: linear-gradient(180deg, #ffd700 0%, #fff 30%, #ff69b4 60%, #c0c0c0 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: none;
  animation: cringe-shimmer 1.8s ease-in-out infinite;
}

body.is-cringe .section-h::before {
  content: " ✨💖✨ ";
  -webkit-text-fill-color: initial;
  color: gold;
  animation: cringe-sparkle 0.8s ease-in-out infinite alternate;
  display: inline-block;
}

body.is-cringe .section-h::after {
  content: " ✨💖✨ ";
  -webkit-text-fill-color: initial;
  color: deeppink;
  animation: cringe-sparkle 0.8s ease-in-out infinite alternate-reverse;
  display: inline-block;
}

@keyframes cringe-shimmer {
  0%,100% { filter: hue-rotate(0deg) brightness(1); }
  50%     { filter: hue-rotate(60deg) brightness(1.2); }
}

@keyframes cringe-sparkle {
  from { transform: scale(1) rotate(0deg);   opacity: 0.6; }
  to   { transform: scale(1.4) rotate(20deg); opacity: 1; }
}

/* Body — confetti background */
body.is-cringe::before {
  content: "🎉🎊🎈❤️💕💖✨🌟⭐💃🕺🥂🍾💍👰🤵🎀🌹🦄🌈";
  position: fixed;
  top: -10vh;
  left: 0;
  right: 0;
  font-size: 28px;
  letter-spacing: 30px;
  word-spacing: 30px;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
  animation: cringe-confetti 3s linear infinite;
  white-space: nowrap;
  overflow: hidden;
}

@keyframes cringe-confetti {
  0%   { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(120vh) rotate(720deg); }
}

/* Marquee on countdown intro */
body.is-cringe .countdown__intro {
  white-space: nowrap;
  overflow: hidden;
  display: block;
  background: black;
  color: lime !important;
  font-family: "Courier New", monospace !important;
  padding: 8px;
  border: 4px ridge red;
}

body.is-cringe .countdown__intro br { display: none; }

body.is-cringe .countdown__intro::after {
  content: " 🚨 СРОЧНО! 🚨 НЕ ПРОПУСТИ! 🚨 ВНИМАНИЕ! 🚨 СВАДЬБА ВЕКА! 🚨 ";
  display: inline-block;
  animation: cringe-marquee 12s linear infinite;
  padding-left: 100%;
}

@keyframes cringe-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* Countdown numbers — pulsing */
body.is-cringe .countdown__num {
  color: red !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  animation: cringe-pulse 0.6s ease-in-out infinite;
  text-shadow: 0 0 12px red, 0 0 24px deeppink;
}

@keyframes cringe-pulse {
  0%,100% { transform: scale(1); }
  50%     { transform: scale(1.4); }
}

/* Photo — wobble like 90s GIF */
body.is-cringe .hero__bg {
  animation: cringe-wobble 3s ease-in-out infinite !important;
}

@keyframes cringe-wobble {
  0%,100% { transform: scale(1.06) rotate(0deg); filter: hue-rotate(0deg); }
  25%     { transform: scale(1.10) rotate(-2deg); filter: hue-rotate(60deg); }
  50%     { transform: scale(1.06) rotate(2deg); filter: hue-rotate(180deg); }
  75%     { transform: scale(1.04) rotate(-1deg); filter: hue-rotate(270deg); }
}

/* Submit button — UFO mode */
body.is-cringe .submit {
  background: linear-gradient(45deg, magenta, cyan, yellow, lime, magenta);
  background-size: 300% 300%;
  color: white !important;
  border: 4px solid black !important;
  font-weight: 900 !important;
  font-size: 1.4rem !important;
  text-shadow: 2px 2px 0 black;
  animation: cringe-ufo 1.5s linear infinite, cringe-bounce 1s ease-in-out infinite;
  box-shadow: 0 0 0 2px white, 0 0 0 6px magenta, 0 0 24px cyan;
  letter-spacing: 0.3em !important;
}

body.is-cringe .submit::after {
  content: " 👽 ";
  display: inline-block;
  animation: cringe-spin 0.8s linear infinite;
}

@keyframes cringe-ufo {
  0%   { background-position: 0% 50%; }
  100% { background-position: 300% 50%; }
}

@keyframes cringe-bounce {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-8px); }
}

/* Chips — dancing radio buttons */
body.is-cringe .chip {
  animation: cringe-dance 1.2s ease-in-out infinite;
}

body.is-cringe .chip:nth-child(2) { animation-delay: 0.15s; }
body.is-cringe .chip:nth-child(3) { animation-delay: 0.3s; }
body.is-cringe .chip:nth-child(4) { animation-delay: 0.45s; }
body.is-cringe .chip:nth-child(5) { animation-delay: 0.6s; }
body.is-cringe .chip:nth-child(6) { animation-delay: 0.75s; }

@keyframes cringe-dance {
  0%,100% { transform: rotate(-3deg); }
  50%     { transform: rotate(3deg); }
}

/* Footer — laser beam */
body.is-cringe .foot p {
  background: linear-gradient(90deg, red, orange, yellow, lime, cyan, magenta, red);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
  font-size: 4rem !important;
  animation: cringe-rainbow 1.5s linear infinite, cringe-bounce 0.8s ease-in-out infinite;
}

body.is-cringe .foot p::before { content: "💖💕✨ "; -webkit-text-fill-color: initial; color: red; }
body.is-cringe .foot p::after  { content: " ✨💕💖"; -webkit-text-fill-color: initial; color: red; }

/* Cursor — sparkle trail tease */
body.is-cringe { cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><text x='0' y='24' font-size='24'>💕</text></svg>") 8 8, auto; }

/* Wishes — comic sans crime */
body.is-cringe .wishes__text {
  font-family: "Comic Sans MS", "Comic Sans", cursive !important;
  color: hotpink !important;
  font-size: 1.4rem !important;
  text-shadow: 2px 2px 0 yellow !important;
}

/* Player — disco */
body.is-cringe .player {
  animation: cringe-disco 0.5s linear infinite !important;
  border: 3px solid magenta !important;
}

@keyframes cringe-disco {
  0%   { background: cyan;    transform: scale(1) rotate(0deg); }
  25%  { background: magenta; transform: scale(1.1) rotate(5deg); }
  50%  { background: yellow;  transform: scale(1) rotate(-5deg); }
  75%  { background: lime;    transform: scale(1.1) rotate(3deg); }
  100% { background: cyan;    transform: scale(1) rotate(0deg); }
}
