/* ====== Hero jumbotron dengan latar Gunung Rinjani ====== */
.hero-rinjani {
  position: relative;
  background-image:
    linear-gradient(180deg, rgba(18,42,32,0.55) 0%, rgba(18,42,32,0.35) 45%, rgba(18,42,32,0.92) 100%),
    url('/assets/images/hero-rinjani.jpg');
  background-size: cover;
  background-position: center 70%;
}

.hero-rinjani::after {
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events: none;
}

.eyebrow {
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
}

/* ====== Kartu wisata / budaya ====== */
.card-lift { transition: transform .35s ease, box-shadow .35s ease; }
.card-lift:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -12px rgba(18,42,32,0.35); }

/* ====== Spiral divider — motif kabel telepon & tenun sasak ====== */
.spiral-divider {
  height: 48px;
  background-image: repeating-linear-gradient(135deg, #C7962B 0 2px, transparent 2px 18px);
  opacity: 0.25;
  mask-image: linear-gradient(90deg, transparent, black 15%, black 85%, transparent);
}

/* ====== Widget Telepon AI (retro rotary phone) ====== */
.phone-shell {
  background: radial-gradient(120% 120% at 30% 0%, #1F4A36 0%, #122A20 70%);
  border-radius: 28px;
  box-shadow: 0 40px 80px -20px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.06);
}

.dial-ring {
  border: 3px solid #C7962B;
  border-radius: 50%;
  position: relative;
}

.call-pulse {
  animation: callPulse 1.8s ease-out infinite;
}
@keyframes callPulse {
  0%   { box-shadow: 0 0 0 0 rgba(193,85,42,0.55); }
  70%  { box-shadow: 0 0 0 22px rgba(193,85,42,0); }
  100% { box-shadow: 0 0 0 0 rgba(193,85,42,0); }
}

.waveform span {
  display: inline-block; width: 3px; margin: 0 1.5px; background: #C7962B; border-radius: 2px;
  animation: wave 1.1s ease-in-out infinite;
}
.waveform span:nth-child(2){ animation-delay: .1s }
.waveform span:nth-child(3){ animation-delay: .2s }
.waveform span:nth-child(4){ animation-delay: .3s }
.waveform span:nth-child(5){ animation-delay: .4s }
@keyframes wave {
  0%, 100% { height: 6px; }
  50% { height: 22px; }
}

.chat-scroll { scrollbar-width: thin; scrollbar-color: #2C5940 transparent; }
.chat-scroll::-webkit-scrollbar { width: 6px; }
.chat-scroll::-webkit-scrollbar-thumb { background: #2C5940; border-radius: 4px; }

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce) {
  .call-pulse, .waveform span, .card-lift { animation: none !important; transition: none !important; }
}
