/* Pirate Cove: the ship bobs, the waves roll, the flag snaps, gulls glide and the gold glows.
   The opening is a film (film.css); ".op-cove" below is the classic fallback if the film can't load.
   Only transform and opacity animate; reduced motion shows the cove, still. */
[data-theme="pirates"] .title { letter-spacing: .01em; text-shadow: 0 3px 0 rgba(255, 255, 255, .65); }
[data-theme="pirates"] .eyebrow { color: #b8401b; letter-spacing: .06em; }
[data-theme="pirates"] .card { border-radius: 20px; box-shadow: var(--shadow), inset 0 0 0 2px #fffaf0, inset 0 0 0 4px #eadfc8; }
[data-theme="pirates"] .btn { border-radius: 14px; }

[data-theme="pirates"] .hero-art .pr-bob { transform-box: fill-box; transform-origin: 50% 100%; animation: pr-bob 4.2s ease-in-out infinite; }
[data-theme="pirates"] .hero-art .pr-flag { transform-box: fill-box; transform-origin: 0 50%; animation: pr-flag .9s ease-in-out infinite alternate; }
[data-theme="pirates"] .hero-art .pr-sail { transform-box: fill-box; transform-origin: 50% 0; animation: pr-billow 3.2s ease-in-out infinite; }
[data-theme="pirates"] .hero-art .pr-w1, [data-theme="pirates"] .hero-art .pr-w2, [data-theme="pirates"] .hero-art .pr-far { animation: pr-roll 6s ease-in-out infinite alternate; }
[data-theme="pirates"] .hero-art .pr-w2 { animation-duration: 7.5s; animation-direction: alternate-reverse; }
[data-theme="pirates"] .hero-art .pr-far { animation-duration: 10s; }
[data-theme="pirates"] .hero-art .pr-gull { animation: pr-glide 9s ease-in-out infinite; animation-delay: calc(var(--i) * -3s); }
[data-theme="pirates"] .hero-art .pr-cloud { animation: pr-drift 14s ease-in-out infinite alternate; }
[data-theme="pirates"] .hero-art .pr-cloud2 { animation-duration: 18s; animation-delay: -6s; }
[data-theme="pirates"] .hero-art .pr-palm { transform-box: fill-box; transform-origin: 50% 100%; animation: pr-sway 4s ease-in-out infinite; }
[data-theme="pirates"] .hero-art .pr-gold-glow { transform-box: fill-box; transform-origin: center; animation: pr-glow 2.8s ease-in-out infinite; }
[data-theme="pirates"] .hero-art .pr-sunh { transform-box: fill-box; transform-origin: center; animation: pr-glow 6s ease-in-out infinite; }

@keyframes pr-bob { 0%, 100% { transform: translateY(0) rotate(-1.6deg); } 50% { transform: translateY(5px) rotate(1.6deg); } }
@keyframes pr-flag { to { transform: scaleX(.8) skewY(4deg); } }
@keyframes pr-billow { 50% { transform: scaleX(1.03); } }
@keyframes pr-roll { to { transform: translateX(-14px); } }
@keyframes pr-glide { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(26px, -6px); } }
@keyframes pr-drift { to { transform: translateX(18px); } }
@keyframes pr-sway { 50% { transform: rotate(4deg); } }
@keyframes pr-glow { 50% { opacity: .65; transform: scale(.92); } }

/* the pass: a boarding pass on old parchment with a wax-red stub */
[data-theme="pirates"] .ticket { background: linear-gradient(180deg, #fffaf0, #f3e3c4); color: #2a1c10; border-radius: 10px; box-shadow: 0 10px 22px rgba(19, 41, 75, .18), inset 0 0 0 2px #fffaf0, inset 0 0 0 3px #c9a36a; }
[data-theme="pirates"] .ticket small { color: #b8401b; letter-spacing: .16em; }
[data-theme="pirates"] .ticket .t-main { border-right: 2px dashed #c9a36a; }

/* the classic opening (fallback): the ship rises on the swell and the gold glows */
[data-theme="pirates"] .op-art svg { overflow: visible; }
[data-theme="pirates"] .op-card { background: rgba(255, 250, 240, .9); color: var(--cardInk); box-shadow: 0 18px 50px rgba(19, 41, 75, .2); }
[data-theme="pirates"] .op-eyebrow { color: #b8401b; }
[data-theme="pirates"] .op-cove .op-line { color: #13294b; text-shadow: 0 2px 0 rgba(255, 255, 255, .7); }
[data-theme="pirates"] .op-cove.op-run .pr-bob { animation: pr-rise 1.6s .3s cubic-bezier(.2, .8, .2, 1) both, pr-bob 4.2s 1.9s ease-in-out infinite; }
[data-theme="pirates"] .op-cove.op-run .pr-gold-glow { animation: pr-pop .8s 2.4s cubic-bezier(.3, 1.5, .5, 1) both, pr-glow 2.8s 3.2s ease-in-out infinite; }
@keyframes pr-rise { from { opacity: 0; transform: translateY(40px); } }
@keyframes pr-pop { from { opacity: 0; transform: scale(.3); } }

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