/* Menggunakan font Inter sebagai default */
body {
  font-family: 'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Efek Teks Gold (Gradien Statis) */
.shimmer-text { 
  background-image: linear-gradient(90deg, var(--tw-gradient-stops)); 
  background-size: 100% auto; 
  color: transparent; 
  -webkit-background-clip: text; 
  background-clip: text; 
}

/* Animasi Kilau Bergerak (ShineX) */
@keyframes shineX { 
  0% { transform: translateX(-20%); } 
  100% { transform: translateX(140%);} 
}
.animate-shineX { 
  animation: shineX 8s ease-in-out infinite alternate; 
}

/* Animasi Gradien Berputar */
@keyframes spinGradient { 
  to { transform: rotate(360deg);} 
}

/* Animasi Marquee untuk Galeri */
@keyframes marquee { 
  0% { transform: translateX(0); } 
  100% { transform: translateX(-50%); } 
}
@keyframes marquee-reverse { 
  0% { transform: translateX(-50%); } 
  100% { transform: translateX(0); } 
}
.animate-marquee { animation: marquee 90s linear infinite; }
.animate-marquee-reverse { animation: marquee-reverse 90s linear infinite; }
.animate-marquee:hover,
.animate-marquee-reverse:hover { 
  animation-play-state: paused; 
}
@keyframes pulse { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-8px) scale(1.06); } }


/* Transisi Halus untuk Kartu Interaktif */
.product-card, .event-card {
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Transisi Accordion menggunakan max-height */
.accordion-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
}

/* Transisi untuk elemen yang muncul saat di-scroll */
[data-animate] {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(8px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, filter 0.6s ease-out;
}
[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0px);
}

/* Custom scrollbar yang disembunyikan saat diam */
body::-webkit-scrollbar {
  width: 2px;
}
body::-webkit-scrollbar-thumb {
  background: #FFC837;
  border-radius: 1px;
  transition: background-color 0.4s ease-out;
}
body:not(.scrolling)::-webkit-scrollbar-thumb {
  background-color: transparent;
}
body.scrolling::-webkit-scrollbar-thumb:hover {
  background: #FFD700;
}

/* Light Theme overrides for gradients */
.bg-conic-gradient {
  background: conic-gradient(#FFD700,#FFC837,#FFB300,#FFD700);
}

.dark .bg-conic-gradient {
  background: conic-gradient(theme('colors.light-dark'),theme('colors.light-neutral'),theme('colors.light-accent'),theme('colors.light-dark'));
}

/* ===== Footer Heading & Links ===== */
.footer-heading{font-weight:600;color:#d4af37}
.dark .footer-heading{color:#FFC837}
@media (prefers-color-scheme: light){.footer-heading{color:#3a5a40}}

.footer-link,.footer-text{color:#344e41;text-decoration:none;transition:color .25s ease,opacity .25s ease}
.dark .footer-link,.dark .footer-text{color:#ffffff}
.footer-link:hover{color:#a87e00}
.dark .footer-link:hover{color:#FFC837}

/* Sosmed minimalis & nyaman disentuh di mobile */
.social-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:2.75rem;width:2.75rem;border-radius:9999px;
  border:1px solid rgba(58,90,64,.25);
  color:#344e41;background:transparent;
  transition:transform .25s cubic-bezier(.25,.46,.45,.94),border-color .25s ease,color .25s ease,background-color .25s ease
}
.social-btn:hover{transform:translateY(-2px);border-color:#a87e00;color:#a87e00}
.dark .social-btn{border-color:rgba(255,200,55,.35);color:#ffffff}
.dark .social-btn:hover{border-color:#FFC837;color:#FFC837}

/* Mobile spacing & readability */
@media (max-width: 768px){
  footer .footer-heading{margin-bottom:.5rem}
  footer ul li{line-height:1.55}
  footer .footer-divider{opacity:.9}
}

.contact-icon{width:20px;height:20px;color:#3a5a40}
.dark .contact-icon{color:#ffffff}

.social-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:2.8rem;width:2.8rem;border-radius:9999px;
  border:1px solid rgba(58,90,64,.25);color:#344e41;background:transparent;
  transition:all .25s ease
}
.social-btn:hover{border-color:#a87e00;color:#a87e00;transform:translateY(-2px)}
.dark .social-btn{border-color:rgba(255,200,55,.35);color:#ffffff}
.dark .social-btn:hover{border-color:#FFC837;color:#FFC837}
