/* Polish UI bersama: animasi, shadow, transisi, kenyamanan mobile. */

/* ── Tombol: transisi halus + angkat + bayangan ── */
.btn { transition: transform .18s ease, box-shadow .2s ease, background-color .18s ease, filter .18s ease !important; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-accent, .btn-primary { box-shadow: 0 4px 14px rgba(27,84,224,.26); }
.btn-accent:hover, .btn-primary:hover { box-shadow: 0 9px 24px rgba(27,84,224,.4); filter: brightness(1.03); }
.btn-light:hover { box-shadow: 0 8px 20px rgba(0,0,0,.14); }
.btn-outline-primary:hover, .btn-outline-secondary:hover { box-shadow: 0 6px 16px rgba(27,84,224,.16); }

/* ── Kartu: bayangan lembut + angkat saat hover ── */
.card { box-shadow: 0 2px 12px rgba(20,24,35,.055); transition: transform .22s ease, box-shadow .22s ease; }
.card-hover:hover, .sec .card:hover, .aic-content .card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(20,24,35,.12); }

/* ── Reveal saat scroll ── */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1); }
.reveal.in { opacity: 1; transform: none; }
.reveal.d1 { transition-delay: .09s; } .reveal.d2 { transition-delay: .18s; } .reveal.d3 { transition-delay: .27s; }

/* ── Masuk hero (saat load) ── */
@keyframes tkaFadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
.anim-hero > * { animation: tkaFadeUp .75s cubic-bezier(.22,.61,.36,1) both; }
.anim-hero > *:nth-child(2) { animation-delay: .12s; }
.anim-hero > *:nth-child(3) { animation-delay: .24s; }
.anim-hero > *:nth-child(4) { animation-delay: .36s; }
.anim-hero > *:nth-child(5) { animation-delay: .48s; }

/* ── Isi laman dalam-app: muncul lembut ── */
@keyframes tkaContentIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.aic-content { animation: tkaContentIn .4s ease both; }

/* ── Transisi elemen umum ── */
.aic-rail-item, .nav-link, .aic-iconbtn, .aic-ava, .list-group-item, a { transition: background-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease; }
.list-group-item:hover { background: #f6f8fd; }
.nav-pills .nav-link { border-radius: 10px; }
.badge { transition: transform .15s ease; }

/* ── Input fokus lebih hidup ── */
.form-control:focus, .form-select:focus { box-shadow: 0 0 0 3px rgba(27,84,224,.14); border-color: #bcd0ff; }

/* ── Hormati preferensi kurangi-gerak ── */
@media (prefers-reduced-motion: reduce) {
  .reveal, .anim-hero > *, .aic-content, .btn, .card { transition: none !important; animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* ── Kenyamanan mobile ── */
@media (max-width: 768px) {
  .btn { min-height: 44px; }
  .card { border-radius: 14px; }
}
