/* Serengeti Safaris - Custom Styles */

/* Smooth Scrolling */
html { scroll-behavior: smooth; }

/* Animations */
[data-animate] { opacity: 0; transform: translateY(30px); transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
[data-animate].animated { opacity: 1; transform: translateY(0); }
[data-animate="fade-right"] { transform: translateX(-30px); }
[data-animate="fade-right"].animated { transform: translateX(0); }
[data-animate="fade-left"] { transform: translateX(30px); }
[data-animate="fade-left"].animated { transform: translateX(0); }

/* Line Clamp */
.line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.line-clamp-3 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

/* Prose Overrides for Dark Mode */
.dark .prose { --tw-prose-body: #d1d1d1; --tw-prose-headings: #ffffff; --tw-prose-links: #d4a017; --tw-prose-bold: #ffffff; --tw-prose-counters: #b0b0b0; --tw-prose-bullets: #d4a017; --tw-prose-hr: #3d3d3d; --tw-prose-quotes: #d1d1d1; --tw-prose-quote-borders: #d4a017; --tw-prose-code: #d4a017; --tw-prose-pre-code: #d1d1d1; --tw-prose-pre-bg: #1a1a1a; --tw-prose-th-borders: #3d3d3d; --tw-prose-td-borders: #3d3d3d; }

/* Hero Slider */
.hero-slide { animation: heroFadeIn 1s ease-out; }
@keyframes heroFadeIn { from { opacity: 0; transform: scale(1.05); } to { opacity: 1; transform: scale(1); } }

/* Card Hover Lift */
.card-hover { transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.card-hover:hover { transform: translateY(-8px); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }

/* Gold Gradient Text */
.text-gradient-gold { background: linear-gradient(135deg, #d4a017, #ebc12b); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #1a1a1a; }
::-webkit-scrollbar-thumb { background: #d4a017; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #b8860b; }

/* Loading Spinner */
.spinner { width: 40px; height: 40px; border: 3px solid rgba(212, 160, 23, 0.2); border-top-color: #d4a017; border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Image Lazy Load */
img[loading="lazy"] { opacity: 0; transition: opacity 0.5s ease; }
img[loading="lazy"].loaded, img[loading="lazy"]:not([src=""]) { opacity: 1; }

/* Alpine.js Cloak */
[x-cloak] { display: none !important; }

/* Print Styles */
@media print {
    header, footer, .no-print { display: none !important; }
    body { font-size: 12pt; color: #000; }
}
