/*
 * Gerak tema Clay (LEX-246) -- diadaptasi dari bahasa gerak gensflo.com
 * (diukur 25 Okt 2026 dari CSS berandanya): satu easing pegas untuk semua,
 * kartu naik + miring sedikit dengan ikon bergoyang, tombol mengembang saat
 * di-hover dan "terpencet" saat ditekan, chip/lencana melompat kecil, hiasan
 * melayang pelan.
 *
 * Dimuat di SEMUA halaman Clay, sesudah phase1..4 (base.html).
 * - Efek hover hanya untuk perangkat yang benar-benar punya hover
 *   (`hover: hover` + `pointer: fine`). Di HP, `:hover` menempel sesudah
 *   disentuh; kartu yang tetap miring sesudah ditap terlihat seperti rusak.
 *   Di HP yang ada hanya umpan balik tekan (`:active`).
 * - `prefers-reduced-motion` di style.css sudah memotong semua durasi animasi
 *   dan transisi; `floaty` dimatikan lagi di bawah supaya tidak tersisa satu
 *   bingkai pun.
 */
:root {
  --clay-pegas: cubic-bezier(.34, 1.56, .64, 1);
  --clay-angkat: 0 26px 44px rgba(89, 66, 112, .2), inset 0 2px 0 rgba(255, 255, 255, .7);
}

@keyframes clay-goyang {
  0%, 100% { transform: rotate(0); }
  20% { transform: rotate(9deg) scale(1.12); }
  40% { transform: rotate(-9deg); }
  60% { transform: rotate(6deg) scale(1.06); }
  80% { transform: rotate(-3deg); }
}
@keyframes clay-melayang {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ---- Transisi dasar: semuanya memakai pegas yang sama ---- */
.clay-button, .header-cta, .hero-cta,
.clay-card, .experience-card, .destination-card, .step-card, .testimonial,
.icon-button, .clay-action, .favorite-btn, .menu-toggle,
.clay-pill, .card-badge, .visual-tag, .filter-tab, .eyebrow,
.brand-mark, .hero-story-chip, .hero-cta-chip,
.category-icon img, .step-icon, .step-icon img, .field-icon, .testimonial-user > span,
.site-footer a, .feature-list li {
  transition: transform .32s var(--clay-pegas), box-shadow .3s ease, background-color .2s ease, color .2s ease, filter .2s ease;
}

/* ---- Tekan (semua perangkat, termasuk HP) ---- */
.clay-button:active, .header-cta:active { transform: translateY(3px) scale(.97); filter: saturate(.95); }
.icon-button:active, .clay-action:active, .favorite-btn:active, .menu-toggle:active { transform: scale(.88); }
.category-card:active, .experience-card:active, .destination-card:active { transform: scale(.985); }

/* ---- Hiasan melayang ---- */
.hero-blob { animation: clay-melayang 7s ease-in-out infinite; }
.hero-blob--mint { animation-delay: -3.5s; }

@media (hover: hover) and (pointer: fine) {
  /* Tombol mengembang. */
  .clay-button:hover, .header-cta:hover { transform: translateY(-3px) scale(1.03); }
  .hero-cta:hover { transform: translateY(-3px) scale(1.02); }

  /* Kartu naik + miring tipis; ikonnya bergoyang. Kartu yang sangat lebar
     (ajakan pesan, ringkasan ulasan, hero) tidak dimiringkan -- blok selebar
     layar yang berputar terlihat goyah, bukan hidup. */
  .category-card:hover, .step-card:hover { transform: translateY(-10px) rotate(-1.2deg); box-shadow: var(--clay-angkat); }
  .experience-card:hover { transform: translateY(-8px) rotate(-.8deg); box-shadow: var(--clay-angkat); }
  .destination-card:hover { transform: translateY(-6px) rotate(.6deg); }
  .testimonial:hover { transform: translateY(-4px); }
  .category-card:hover .category-icon img,
  .step-card:hover .step-icon img,
  .testimonial:hover .testimonial-user > span { animation: clay-goyang .6s ease; }

  /* Tombol bulat, chip, lencana. */
  .icon-button:hover, .clay-action:hover { transform: translateY(-2px) rotate(10deg); }
  .favorite-btn:hover { animation: clay-goyang .6s ease; }
  .clay-pill:hover, .card-badge:hover, .visual-tag:hover, .eyebrow:hover { transform: translateY(-3px) scale(1.04); }
  .filter-tab:not(.is-active):hover { transform: translateY(-2px); }
  .hero-story:hover .hero-story-chip { transform: scale(1.14); }
  .field-icon:hover, .search-field:hover .field-icon { transform: rotate(-8deg) scale(1.08); }

  /* Merek dan tautan. */
  .brand:hover .brand-mark { transform: rotate(-3deg) scale(1.05); }
  .site-footer a:hover { transform: translateX(4px); }
  .feature-list li:hover { transform: translateX(4px); }
}

/*
 * ---- Putaran 2 (25 Okt): semua elemen yang bisa diklik tapi belum bergerak ----
 * Dipetakan dari seluruh <a>/<button>/<summary>/<label> di templates/clay/**:
 * header (menu, pemilih bahasa), tautan panah, foto di dalam kartu, galeri &
 * kartu terkait detail tur/kapal, tab durasi, tombol +/- kabin, FAQ, filter,
 * tombol kembali ke atas. Kartu blog/destinasi/provinsi lain sudah punya
 * gerak sendiri di halaman-konten.css / halaman-tur.css (pola yang sama).
 */
@keyframes clay-lompat {
  0%, 100% { transform: translateY(0); }
  35% { transform: translateY(-8px); }
  60% { transform: translateY(2px); }
  80% { transform: translateY(-3px); }
}

.text-button, .card-footer a, .prov-tautan, .boat-list-more, .boat-readmore, .tour-readmore,
.primary-nav a, .lang-switch > summary, .lang-switch svg, .lang-menu a, .lang-menu a b,
.experience-image img, .gallery-main, .gallery-small, .gallery-more,
.gallery-main img, .gallery-small img, .gallery-more img, .itin-photo img,
.accordion-item, .accordion-item > button i, .charter-duration-tab, .itinerary-duration-tab,
.filter-check, .boat-chip, .tripadvisor-review-badge, .tour-card, .boat-card,
.room-guest-increase, .room-guest-decrease, .cabin-addon-increase, .cabin-addon-decrease {
  transition: transform .32s var(--clay-pegas), box-shadow .3s ease, background-color .2s ease, color .2s ease;
}
.experience-image img, .gallery-main img, .gallery-small img, .gallery-more img, .itin-photo img { transition-duration: .6s; transition-timing-function: cubic-bezier(.22, 1, .36, 1); }
.gallery-main, .gallery-small, .gallery-more, .itin-photo { overflow: hidden; }
.accordion-item > button i { display: inline-block; }

/* Tekan di HP. */
.hk-artikel:active, .hk-provinsi:active, .prov-lain-kartu:active, .tour-card:active, .boat-card:active,
.gallery-main:active, .gallery-small:active, .gallery-more:active { transform: scale(.985); }
.text-button:active, .card-footer a:active, .lang-menu a:active, .accordion-item > button:active { transform: scale(.97); }
.room-guest-increase:active, .room-guest-decrease:active, .cabin-addon-increase:active, .cabin-addon-decrease:active,
.boat-mhero-btn:active, .tour-mhero-btn:active { transform: scale(.88); }

@media (hover: hover) and (pointer: fine) {
  /* Header: menu terangkat, bola dunia berputar. Pemilih bahasa berbentuk pil,
     jadi putaran 10deg milik .clay-action dibatalkan untuknya. */
  .primary-nav a:hover { transform: translateY(-2px); }
  .lang-switch > summary.clay-action:hover { transform: translateY(-2px) scale(1.03); }
  .lang-switch > summary:hover svg { transform: rotate(-30deg) scale(1.1); }
  .lang-menu a:hover { transform: translateX(4px); }
  .lang-menu a:hover b { transform: rotate(-8deg) scale(1.1); }

  /* Tautan panah: bergeser ke arah panahnya. */
  .text-button:hover, .card-footer a:hover, .prov-tautan:hover, .boat-list-more:hover,
  .boat-readmore:hover, .tour-readmore:hover { transform: translateX(4px); }

  /* Foto di dalam kartu membesar pelan (bingkainya tetap). */
  .experience-card:hover .experience-image img,
  .gallery-main:hover img, .gallery-small:hover img, .gallery-more:hover img,
  .itin-photo:hover img { transform: scale(1.06); }
  .destination-card:hover img { transform: scale(1.05); }
  .gallery-main:hover, .gallery-small:hover, .gallery-more:hover { transform: translateY(-4px); box-shadow: var(--clay-angkat); }

  /* Kartu tur/kapal terkait di halaman detail: bahasa yang sama dengan
     kartu Populer. `body` menaikkan spesifisitas di atas <style> halaman. */
  body .tour-card:hover, body .boat-card:hover { transform: translateY(-8px) rotate(-.8deg); box-shadow: var(--clay-angkat); }

  /* Tab, chip, filter, FAQ. */
  .charter-duration-tab:not(.is-active):hover, .itinerary-duration-tab:not(.is-active):hover { transform: translateY(-2px); }
  .boat-chip:hover, .tripadvisor-review-badge:hover { transform: translateY(-3px) scale(1.04); }
  .filter-check:hover { transform: translateX(3px); }
  .accordion-item:hover { transform: translateY(-3px); box-shadow: var(--clay-angkat); }
  .accordion-item > button:hover i { transform: rotate(90deg) scale(1.25); }

  /* Tombol +/- tamu & add-on kabin. */
  .room-guest-increase:hover, .room-guest-decrease:hover,
  .cabin-addon-increase:hover, .cabin-addon-decrease:hover { transform: scale(1.12); }

  /* Kembali ke atas: melompat. */
  .back-to-top.is-visible:hover { animation: clay-lompat .7s var(--clay-pegas); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-blob { animation: none; }
}
