/* Jiva International Custom CSS */

/* Glassmorphism utilities */
.glassmorphism {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
}

.glassmorphism-dark {
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

/* Fix header visibility on scroll/dark background */
#main-header.glassmorphism-dark .text-primary {
  color: white !important;
}
#main-header.glassmorphism-dark .text-primary:hover {
  color: #D4AF37 !important;
}
#main-header.glassmorphism-dark .bg-primary {
  background-color: white !important;
  color: #081C35 !important;
}
#main-header.glassmorphism-dark .bg-primary:hover {
  background-color: #D4AF37 !important;
  color: white !important;
}

.text-gradient {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(to right, #D4AF37, #fef08a);
}

/* Hide scrollbar for carousels/horizontal scroll */
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

body {
  overflow-x: hidden;
}

/* Custom cursor */
.custom-cursor {
  width: 20px;
  height: 20px;
  border: 2px solid #D4AF37;
  border-radius: 50%;
  position: fixed;
  pointer-events: none;
  z-index: 9999;
  transition: transform 0.1s ease-out, background-color 0.2s ease;
  transform: translate(-50%, -50%);
  mix-blend-mode: difference;
}

.custom-cursor.hovering {
  transform: translate(-50%, -50%) scale(1.5);
  background-color: #D4AF37;
  mix-blend-mode: normal;
}

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

/* Image masking for organic shapes (optional feature) */
.image-mask {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><path fill="black" d="M42.7,-73.4C55.9,-67.2,67.6,-56.3,76.5,-43.3C85.4,-30.3,91.5,-15.1,91.9,0.2C92.3,15.6,87.1,31.2,77.7,44.1C68.4,57,54.8,67.1,40.1,73.8C25.4,80.5,9.6,83.8,-5.5,82.4C-20.7,81,-35.1,75,-48.5,66.6C-61.9,58.2,-74.3,47.4,-81.9,33.4C-89.6,19.4,-92.4,2.2,-89.4,-14C-86.3,-30.2,-77.4,-45.5,-64.8,-55.8C-52.1,-66,-35.7,-71.2,-20.9,-75C-6,-78.9,7.4,-81.3,21.6,-80.4C35.8,-79.6,50.7,-75.6,42.7,-73.4Z" transform="translate(100 100)" /></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><path fill="black" d="M42.7,-73.4C55.9,-67.2,67.6,-56.3,76.5,-43.3C85.4,-30.3,91.5,-15.1,91.9,0.2C92.3,15.6,87.1,31.2,77.7,44.1C68.4,57,54.8,67.1,40.1,73.8C25.4,80.5,9.6,83.8,-5.5,82.4C-20.7,81,-35.1,75,-48.5,66.6C-61.9,58.2,-74.3,47.4,-81.9,33.4C-89.6,19.4,-92.4,2.2,-89.4,-14C-86.3,-30.2,-77.4,-45.5,-64.8,-55.8C-52.1,-66,-35.7,-71.2,-20.9,-75C-6,-78.9,7.4,-81.3,21.6,-80.4C35.8,-79.6,50.7,-75.6,42.7,-73.4Z" transform="translate(100 100)" /></svg>');
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center;
  mask-position: center;
}

/* Base styles for headings applied if not using utility classes directly */
h1, h2, h3, h4, h5, h6 {
  font-family: "Playfair Display", serif;
  color: #081C35;
  font-weight: 700;
}

/* Page loader */
#page-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #081C35;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.loader-spinner {
  width: 50px;
  height: 50px;
  border: 3px solid rgba(255,255,255,0.3);
  border-radius: 50%;
  border-top-color: #D4AF37;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
