/* Groovy Tie-Dye: the spiral turns slowly, the lava-lamp blobs rise and fall, daisies breathe and
   sparkles twinkle. The opening is a film (film.css); ".op-spin" is the classic fallback: the spiral
   spins into place and the daisies pop. Transform and opacity only. */
[data-theme="tiedye"] .title { font-family: "Shrikhand", "Cooper Black", serif; font-weight: 400; letter-spacing: .01em; text-shadow: 0 3px 0 #ff8fc6, 0 6px 14px rgba(58, 29, 92, .2); }
[data-theme="tiedye"] .eyebrow { color: #7a3fb0; letter-spacing: .14em; text-transform: uppercase; font-size: .8rem; font-weight: 800; }
[data-theme="tiedye"] .card { border-radius: 22px; box-shadow: var(--shadow), 0 0 0 2px #fff, 0 0 0 4px rgba(184, 156, 245, .45); }
[data-theme="tiedye"] .card h2 { font-family: "Shrikhand", "Cooper Black", serif; font-weight: 400; letter-spacing: .01em; }
[data-theme="tiedye"] .btn { border-radius: 999px; }

[data-theme="tiedye"] .hero-art .ty-spin { transform-box: view-box; transform-origin: 180px 64px; animation: ty-turn 90s linear infinite; }
[data-theme="tiedye"] .hero-art .ty-blob { transform-box: fill-box; transform-origin: center; animation: ty-rise 5s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -1.7s); }
[data-theme="tiedye"] .hero-art .ty-dz, [data-theme="tiedye"].tv-bd .ty-dz { animation: ty-sway 4s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -.8s); }
[data-theme="tiedye"] .hero-art .ty-tw, [data-theme="tiedye"].tv-bd .ty-tw { transform-box: fill-box; transform-origin: center; animation: ty-tw 2.6s ease-in-out infinite; animation-delay: calc(var(--i) * -.6s); }
@keyframes ty-turn { to { transform: rotate(360deg); } }
@keyframes ty-rise { from { transform: translateY(4px) scale(.94, 1.04); } to { transform: translateY(-9px) scale(1.04, .95); } }
@keyframes ty-sway { from { transform: rotate(-8deg); } to { transform: rotate(8deg); } }
@keyframes ty-tw { 50% { opacity: .3; transform: scale(.6); } }

/* the pass: a tie-dye ticket with a cream center */
[data-theme="tiedye"] .ticket { background: linear-gradient(#fffaf2, #fffaf2) padding-box, conic-gradient(from 30deg, #b89cf5, #ff8fc6, #ffb07c, #ffd84d, #5fd4d0, #b89cf5) border-box; border: 4px solid transparent; color: #2e1747; border-radius: 18px; box-shadow: 0 10px 26px rgba(58, 29, 92, .18); }
[data-theme="tiedye"] .ticket small { color: #7a3fb0; letter-spacing: .18em; }
[data-theme="tiedye"] .ticket b { font-family: "Shrikhand", "Cooper Black", serif; font-weight: 400; color: #3a1d5c; }
[data-theme="tiedye"] .ticket .t-main { border-right: 2px dashed rgba(184, 156, 245, .8); }

/* the classic opening (fallback): the spiral spins into place, the daisies pop */
[data-theme="tiedye"] .op-card:not(.fm-cta) { background: rgba(255, 250, 242, .9); color: #2e1747; box-shadow: 0 0 0 2px #fff, 0 0 0 5px #ff8fc6, 0 20px 50px rgba(58, 29, 92, .25); border-radius: 22px; }
[data-theme="tiedye"] .op-eyebrow { color: #7a3fb0; letter-spacing: .14em; text-transform: uppercase; }
[data-theme="tiedye"] .op-spin .op-line { font-family: "Shrikhand", "Cooper Black", serif; color: #3a1d5c; }
[data-theme="tiedye"] .op-spin.op-run .ty-spin { transform-box: view-box; transform-origin: 180px 64px; animation: ty-in 1.6s .3s cubic-bezier(.22, 1, .36, 1) both; }
[data-theme="tiedye"] .op-spin.op-run .ty-dz { animation: ty-pop .6s calc(1.4s + var(--i) * .12s) cubic-bezier(.34, 1.4, .64, 1) both; }
@keyframes ty-in { from { opacity: 0; transform: rotate(-300deg) scale(.2); } to { opacity: 1; transform: rotate(0deg) scale(1); } }
@keyframes ty-pop { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } }

[data-theme="tiedye"] .btn, [data-theme="tiedye"] .card h2, [data-theme="tiedye"] .title, [data-theme="tiedye"] .eyebrow { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
  [data-theme="tiedye"] .hero-art *, [data-theme="tiedye"] .op-art *, [data-theme="tiedye"].tv-bd * { animation: none !important; }
}
