/* PalmLuck Paradise — custom keyframes & prose */

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

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(2rem); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-10px); }
}

.animate-marquee { animation: marquee 32s linear infinite; }
.animate-fade-up { animation: fadeInUp 0.7s ease both; }
.animate-float   { animation: float 4s ease-in-out infinite; }

.shimmer-gold {
  background: linear-gradient(90deg, #f59e0b 0%, #fde68a 50%, #f59e0b 100%);
  background-size: 200% auto;
  animation: shimmer 3s linear infinite;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-bg {
  background-image: url('/images/hero.webp');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.palm-pattern {
  background-color: #064e3b;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(16,185,129,0.15) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(245,158,11,0.10) 0%, transparent 40%);
}

/* ── Prose styles ── */
.prose { max-width: 100%; color: #d1fae5; line-height: 1.75; }
.prose h2 { font-size: 1.5rem; font-weight: 700; color: #fbbf24; margin-top: 1em; margin-bottom: 0.75em; border-bottom: 1px solid rgba(251,191,36,0.25); padding-bottom: 0.3em; }
.prose h3 { font-size: 1.2rem; font-weight: 600; color: #6ee7b7; margin-top: 1.5em; margin-bottom: 0.5em; }
.prose p  { margin-bottom: 1em; }
.prose a  { color: #fbbf24; text-decoration: underline; }
.prose a:hover { color: #fde68a; }
.prose ul { list-style: disc; padding-left: 1.5em; margin-bottom: 1em; }
.prose ol { list-style: decimal; padding-left: 1.5em; margin-bottom: 1em; }
.prose li { margin-bottom: 0.4em; }
.prose blockquote { border-left: 4px solid #f59e0b; padding-left: 1em; color: #a7f3d0; font-style: italic; margin: 1.5em 0; }
.prose img { max-width: 100%; border-radius: 0.75rem; margin: 1.5em 0; }
.prose table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  white-space: nowrap;
  border-collapse: collapse;
  margin-bottom: 1.5em;
}
.prose thead tr { background-color: #065f46; }
.prose th { padding: 0.6em 1em; font-weight: 700; color: #fbbf24; border: 1px solid rgba(255,255,255,0.1); }
.prose td { padding: 0.5em 1em; border: 1px solid rgba(255,255,255,0.1); color: #d1fae5; }
.prose tbody tr:nth-child(even) { background-color: rgba(255,255,255,0.04); }

.burger-menu-bg { background-color: #064e3b; }

.card-glow:hover {
  box-shadow: 0 0 24px rgba(245,158,11,0.45);
  transform: translateY(-3px);
  transition: all 0.3s ease;
}

.btn-primary {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #1a1a1a;
  font-weight: 700;
  border-radius: 9999px;
  padding: 0.75rem 2rem;
  display: inline-block;
  transition: all 0.25s ease;
}
.btn-primary:hover { background: linear-gradient(135deg, #fde68a, #f59e0b); transform: scale(1.04); }

.btn-secondary {
  border: 2px solid #f59e0b;
  color: #f59e0b;
  font-weight: 600;
  border-radius: 9999px;
  padding: 0.65rem 1.8rem;
  display: inline-block;
  transition: all 0.25s ease;
  background: transparent;
}
.btn-secondary:hover { background: #f59e0b; color: #1a1a1a; }

.overflow-x-auto { overflow-x: auto; }

@media (max-width: 768px) {
  .prose h2 { font-size: 1.25rem; }
  .prose h3 { font-size: 1.05rem; }
}
