/* aaloka · fitur pintar */
.a-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:60;background:#03121a;color:#fff;border-radius:12px;padding:11px 16px;font:600 14px/1.4 "Plus Jakarta Sans",system-ui,sans-serif;box-shadow:0 8px 28px rgba(3,18,26,.3);transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);display:grid;gap:2px;text-align:center}
.a-toast span{font-weight:500;font-size:12.5px;opacity:.8}
.a-toast.on{opacity:1;transform:translate(-50%,0)}
body.ada-kini .a-toast{bottom:86px}

/* 1. mode sekarang */
.a-kini{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:50;width:min(560px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:11px 14px;border:0;border-radius:14px;background:#0194f3;color:#fff;box-shadow:0 10px 30px rgba(1,148,243,.35);cursor:pointer;text-align:left;font:inherit;font-family:"Plus Jakarta Sans",system-ui,sans-serif}
.a-kini[hidden]{display:none}
.a-kini-isi{flex:1;min-width:0;display:grid;gap:1px}
.a-kini-isi b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-kini-isi span{font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-kini-titik{width:10px;height:10px;border-radius:50%;background:#fff;flex:0 0 auto;animation:aDenyut 1.6s ease-out infinite}
@keyframes aDenyut{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}100%{box-shadow:0 0 0 10px rgba(255,255,255,0)}}
body.ada-kini{padding-bottom:84px}
.item.kini .kotak-isi{background:#eaf5fe;border-radius:10px;box-shadow:0 0 0 2px #0194f3;padding:8px 10px;margin:-8px -10px}
.item.kini .tl-ik{background:#0194f3;color:#fff}
.a-lencana{display:inline-block;font-size:11px;font-weight:800;border-radius:6px;padding:2px 8px;margin-bottom:4px}
.a-lencana.kini{background:#0194f3;color:#fff}
.a-lencana.berikut{background:#fff1ea;color:#ff5e1f}
@media (prefers-reduced-motion:reduce){.a-kini-titik{animation:none}}

/* kartu umum */
.a-kartu{margin-top:18px}
.a-judul{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.a-sync{font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px;background:#f2f3f3;color:#687176;white-space:nowrap}
.a-sync.ok{background:#e6f7ee;color:#0a8a4a}
.a-sync.warn{background:#fff4e5;color:#b35c00}
.a-btn{border:0;border-radius:8px;background:#0194f3;color:#fff;font:inherit;font-weight:800;font-size:14px;padding:11px 14px;cursor:pointer;white-space:nowrap}
.a-btn:hover{background:#0185da}
.a-baris{display:flex;gap:8px}
.a-baris>*{min-width:0}
.a-baris input,.a-baris select{flex:1}
.a-kartu input,.a-kartu select{font:inherit;font-size:15px;border:1px solid #d9dfe4;border-radius:8px;padding:10px 12px;background:#fff;color:#03121a;width:100%;box-sizing:border-box}
.a-kartu input:focus,.a-kartu select:focus{outline:2px solid #0194f3;outline-offset:0;border-color:#0194f3}
.a-pin{margin:10px 0 4px;padding:12px;border-radius:10px;background:#f3f9fe;display:grid;gap:8px}
.a-pin[hidden]{display:none}
.a-pin p{margin:0;font-size:13px;color:#4a555c;line-height:1.5}
.a-pin small{font-size:12px;color:#0170c4;min-height:1em}

/* 2. pengeluaran */
.a-form{display:grid;gap:8px;margin-top:12px}
.a-mu{display:inline-flex;border:1px solid #d9dfe4;border-radius:8px;overflow:hidden;justify-self:start}
.a-mu button{border:0;background:#fff;font:inherit;font-weight:700;font-size:14px;padding:8px 16px;cursor:pointer;color:#4a555c}
.a-mu button+button{border-left:1px solid #d9dfe4}
.a-mu button.on{background:#0194f3;color:#fff}
#aJml{font-size:22px;font-weight:800}
.a-konv{font-size:13px;color:#0170c4;font-weight:700;min-height:1em;margin-top:-2px}
.a-oleh{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:#687176}
.a-oleh button{border:1px solid #d9dfe4;background:#fff;border-radius:999px;font:inherit;font-weight:700;font-size:13px;padding:6px 12px;cursor:pointer;color:#03121a}
.a-oleh button.on{background:#03121a;color:#fff;border-color:#03121a}
.a-oleh .a-ubah-nama{border:0;background:none;color:#0194f3;padding:6px 4px;font-weight:600}
.a-simpan{width:100%;margin-top:2px}
.a-ringkas{margin-top:14px;display:grid;gap:10px}
.a-total{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e6eaed;border-radius:10px}
.a-total div{padding:10px 12px;display:grid;gap:2px}
.a-total div+div{border-left:1px solid #e6eaed}
.a-total span{font-size:12px;color:#687176}
.a-total b{font-size:16px}
.a-total b.ok{color:#0a8a4a}.a-total b.kurang{color:#d63b3b}
.a-kat{display:grid;gap:6px}
.a-kat-baris{display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:8px;font-size:12.5px}
.a-kat-baris i{display:block;height:6px;border-radius:3px;background:#e9eef2;position:relative;overflow:hidden}
.a-kat-baris i::after{content:"";position:absolute;inset:0;width:var(--w);background:#0194f3;border-radius:3px}
.a-kat-baris b{font-size:12.5px}
.a-bagi{display:grid;gap:2px;font-size:12.5px;color:#687176;padding:10px 12px;border-radius:10px;background:#f6f8fa}
.a-bagi b{color:#03121a;font-size:13px}
.a-daftar{list-style:none;margin:12px 0 0;padding:0;max-height:340px;overflow-y:auto;scrollbar-width:thin}
.a-daftar li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f0f2f4}
.a-daftar li div{display:grid;gap:2px;min-width:0}
.a-daftar li b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-daftar li span{font-size:11.5px;color:#687176}
.a-daftar .a-jml{text-align:right}
.a-daftar .kosong{display:block;color:#687176;font-size:13px;text-align:center;padding:14px 0}
.a-hapus{border:0;background:#f2f3f3;color:#687176;border-radius:6px;min-width:28px;height:28px;font:inherit;font-weight:700;cursor:pointer;padding:0 8px}
.a-hapus.yakin{background:#fdecec;color:#d63b3b;font-size:12px}

.a-katpil{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.a-katpil button{display:grid;justify-items:center;gap:4px;padding:9px 4px 8px;border:1px solid #e1e6ea;border-radius:10px;background:#fff;color:#4a555c;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.a-katpil button:hover{border-color:#0194f3}
.a-katpil button.on{border-color:#0194f3;background:#eaf5fe;color:#0170c4;box-shadow:inset 0 0 0 1px #0194f3}
.a-katpil span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* 4. kalkulator */
.a-kalk{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin-top:10px}
.a-kalk-hasil{grid-column:1/-1;font-size:24px;font-weight:800;color:#ff5e1f}
.chip.uang,.harga-list .h{cursor:pointer}

/* 5. darurat */
.a-telp{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;margin-top:8px;border:1px solid #e6eaed;border-radius:10px;text-decoration:none;color:#03121a}
.a-telp b{font-size:14px}
.a-telp span{font-weight:800;color:#d63b3b;font-size:15px;white-space:nowrap}
.a-telp:hover{border-color:#d63b3b}
.a-alamat{font-size:12.5px;color:#687176;margin:8px 2px 0}
.a-sopir{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.a-sopir-btn{display:grid;gap:2px;text-align:left;border:1px solid #e6eaed;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;font:inherit;color:#03121a}
.a-sopir-btn b{font-size:12px;color:#0194f3;text-transform:uppercase;letter-spacing:.04em}
.a-sopir-btn span{font-size:14px;font-weight:700}
.a-sopir-layar{position:fixed;inset:0;z-index:70;background:#fff;display:grid;align-content:center;justify-items:center;gap:14px;padding:32px 24px;text-align:center;font-family:"Plus Jakarta Sans",system-ui,sans-serif}
.a-sopir-layar span{font-size:18px;color:#687176}
.a-sopir-layar h3{font-size:clamp(30px,8vw,52px);line-height:1.15;margin:0;color:#03121a}
.a-sopir-layar p{font-size:clamp(20px,5vw,30px);line-height:1.35;margin:0;color:#03121a;max-width:24ch}
.a-sopir-layar small{font-size:18px;color:#0194f3;font-weight:700}
.a-sopir-tutup{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:#f2f3f3;font-size:24px;cursor:pointer}
.a-paspor{margin-top:14px;font-size:14px}
.a-paspor summary{cursor:pointer;font-weight:700}
.a-paspor ol{margin:8px 0 0;padding-left:20px;line-height:1.6;color:#4a555c}

/* 6. pasang di HP */
.a-pasang{border:1px solid #0194f3;background:#fff;color:#0194f3;border-radius:999px;font:inherit;font-weight:700;font-size:12.5px;padding:6px 12px;cursor:pointer;white-space:nowrap}
.a-pasang[hidden]{display:none}
body.a-offline .topbar::after{content:"Offline";font-size:11px;font-weight:800;color:#b35c00;background:#fff4e5;border-radius:999px;padding:3px 9px}
@media (max-width:640px){.a-kat-baris{grid-template-columns:70px 1fr auto}}

/* takik melengkung ke dalam di tengah bawah kartu rute (kartu dipotong mask, bayangan ikut bentuk) */
.cari-bungkus{position:relative;z-index:2;margin:-60px 12px 0;filter:drop-shadow(0 6px 14px rgba(3,18,26,.12)) drop-shadow(0 1px 2px rgba(3,18,26,.06))}
.cari-bungkus>section.cari{margin:0!important;box-shadow:none!important;padding-bottom:26px!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22132%22%20height%3D%2222%22%20viewBox%3D%220%200%20132%2022%22%3E%3Cpath%20d%3D%22M0%2022C22%2022%2028%205%2046%205H86C104%205%20110%2022%20132%2022Z%22%2F%3E%3C%2Fsvg%3E") bottom center/132px 22px no-repeat,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22132%22%20height%3D%2222%22%20viewBox%3D%220%200%20132%2022%22%3E%3Cpath%20d%3D%22M0%2022C22%2022%2028%205%2046%205H86C104%205%20110%2022%20132%2022Z%22%2F%3E%3C%2Fsvg%3E") bottom center/132px 22px no-repeat exclude,linear-gradient(#000 0 0)}
.cari-tab{position:absolute;z-index:3;left:50%;bottom:0;transform:translateX(-50%);width:132px;height:20px;padding:0;border:0;background:none;cursor:pointer}
.cari-tab::after{content:"";position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:30px;height:4px;border-radius:2px;background:#0194f3}
.cari-tab:hover::after{background:#0170c4}
@media (max-width:640px){.cari-bungkus{margin:-56px 6px 0}}
.cari .baris-info{transition:opacity .2s}
.cari.lipat .baris-info{display:none}
.cari.lipat .menu-rute{border-bottom:0;padding-bottom:0}

/* sorotan: geser sampai tepi layar, tidak terpotong di dalam padding */
#sorot.sorot{margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding:6px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));scroll-padding-inline:max(16px,env(safe-area-inset-left,0px))}
#sorot.sorot::after{content:"";flex:0 0 2px}
/* tab hari: di HP geser sampai tepi layar, posisi awal tetap sejajar konten */
@media (max-width:640px){
  #tabs.tabs{margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding:4px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));scroll-padding-inline:max(16px,env(safe-area-inset-left,0px))}
  #tabs.tabs::after{content:"";flex:0 0 2px}
}

/* ===== umum tambahan ===== */
.a-btn-garis{border:1px solid #0194f3;background:#fff;color:#0194f3;border-radius:8px;font:inherit;font-weight:800;font-size:14px;padding:10px 14px;cursor:pointer;text-align:center;text-decoration:none}
.a-btn-garis.on{background:#0194f3;color:#fff}
.a-btn-teks{border:0;background:none;color:#0194f3;font:inherit;font-weight:700;font-size:13px;cursor:pointer;padding:8px 4px}
.a-btn-teks.merah{color:#d63b3b}
a.a-btn{display:inline-block;text-align:center;text-decoration:none}
.a-ketpin{font-size:12.5px;color:#687176;line-height:1.5;margin:8px 0 0}
.a-ketpin a{color:#0194f3;font-weight:700}
.a-dia{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e6eaed;border-radius:10px;margin:10px 0 8px}
.a-dia div{display:grid;gap:1px}
.a-dia b{font-size:14px}
.a-dia span{font-size:12px;color:#687176}
.a-titik{width:10px;height:10px;border-radius:50%;background:#c3cbd2;flex:0 0 auto}
.a-titik.on{background:#0a8a4a;box-shadow:0 0 0 3px #e6f7ee}
.a-baris .a-btn,.a-baris .a-btn-garis{flex:1}

/* modal */
.a-modal{position:fixed;inset:0;z-index:80;background:rgba(3,18,26,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.a-modal-kotak{position:relative;background:#fff;border-radius:14px;width:min(480px,100%);max-height:88vh;overflow-y:auto;padding:20px 18px 18px;font-family:"Plus Jakarta Sans",system-ui,sans-serif;scrollbar-width:none}
.a-modal-kotak::-webkit-scrollbar{display:none}
.a-modal-kotak h3{margin:4px 40px 12px 0;font-size:19px}
.a-modal-tutup{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:0;background:#f2f3f3;font-size:20px;cursor:pointer}
.a-modal .eyebrow{font-size:12px;font-weight:700;color:#0194f3;text-transform:uppercase;letter-spacing:.04em}
@media (max-width:640px){.a-modal{align-items:flex-end;padding:0}.a-modal-kotak{width:100%;border-radius:16px 16px 0 0}}
.a-lbl{display:grid;gap:4px;font-size:12.5px;font-weight:700;color:#4a555c;flex:1}
.a-lbl-jam{flex:0 0 112px}
.a-modal input,.a-modal textarea{font:inherit;font-size:15px;border:1px solid #d9dfe4;border-radius:8px;padding:10px 12px;width:100%;box-sizing:border-box;color:#03121a;background:#fff}
.a-modal textarea{resize:vertical}
.a-modal input:focus,.a-modal textarea:focus{outline:2px solid #0194f3;border-color:#0194f3}
.a-cek{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.a-cek input{width:18px;height:18px}

/* 3. cuaca */
.a-cuaca{margin-top:12px;display:grid;gap:8px}
.a-cuaca-atas{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.92);color:#03121a;border-radius:10px;padding:9px 12px}
.a-cuaca-atas svg{color:#0194f3;flex:0 0 auto}
.a-cuaca.hujan .a-cuaca-atas svg{color:#b35c00}
.a-cuaca-atas div{display:grid;gap:1px}
.a-cuaca-atas b{font-size:14px}
.a-cuaca-atas span{font-size:12px;color:#687176}
.a-rencanab{background:rgba(255,255,255,.92);color:#03121a;border-radius:10px;padding:8px 12px;font-size:13px}
.a-cuaca.hujan .a-rencanab{background:#fff4e5}
.a-rencanab summary{cursor:pointer;font-weight:700}
.a-rencanab ul{margin:6px 0 2px;padding-left:18px;line-height:1.55;color:#4a555c}

/* 5. ubah jadwal */
button.chip.a-ubah-btn{display:inline-flex;align-items:center;gap:4px;border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:700;color:#687176}
button.chip.a-ubah-btn:hover{color:#0194f3}
.tl li.a-tambah{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0 6px;border:0;list-style:none}
.tl li.a-tambah::before,.tl li.a-tambah::after{display:none!important}

/* 4. lokasi */
.a-saya{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:#687176;margin:10px 0}
.a-saya button{border:1px solid #d9dfe4;background:#fff;border-radius:999px;font:inherit;font-weight:700;font-size:13px;padding:6px 12px;cursor:pointer;color:#03121a}
.a-saya button.on{background:#03121a;color:#fff;border-color:#03121a}
.a-bagi-btn{width:100%}
.a-peta{height:min(60vh,420px);border-radius:10px;overflow:hidden;background:#e9eef2}
.a-pin-peta span{display:inline-block;transform:translate(-50%,-100%);background:#0194f3;color:#fff;font:700 12px "Plus Jakarta Sans",sans-serif;padding:4px 9px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.a-pin-peta.dia span{background:#ff5e1f}

/* 2. pengingat */
.a-push .a-mode{margin-top:10px}
.a-push .a-mode button{font-size:13px;padding:8px 12px}
.a-langkah-ios{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.7}

/* 6. frasa */
.a-frasa-tab{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:10px 0 6px}
.a-frasa-tab::-webkit-scrollbar{display:none}
.a-frasa-tab button{border:1px solid #d9dfe4;background:#fff;border-radius:999px;font:inherit;font-weight:700;font-size:13px;padding:6px 14px;cursor:pointer;white-space:nowrap;color:#4a555c}
.a-frasa-tab button.on{background:#0194f3;color:#fff;border-color:#0194f3}
.a-frasa-daftar{list-style:none;margin:0;padding:0}
.a-frasa-daftar li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f0f2f4;font-size:14px;font-weight:600}
.a-frasa-daftar li[hidden]{display:none}
.a-frasa-btn{display:flex;gap:6px;flex:0 0 auto}
.a-frasa-btn button{border:1px solid #cfe6fb;background:#eaf5fe;color:#0170c4;border-radius:8px;font:inherit;font-weight:800;font-size:12px;min-width:40px;padding:6px 8px;cursor:pointer}
.a-sopir-layar .a-ulang{margin-top:8px}
.a-sopir-layar h3[lang="zh"]{font-size:clamp(34px,10vw,60px)}

/* ikon kategori: lingkaran berwarna per kategori */
.a-katpil button{padding:10px 4px 9px;gap:6px;border-radius:12px}
.a-katpil button svg{width:36px;height:36px;padding:8px;box-sizing:border-box;border-radius:50%;background:var(--kb,#f0f2f4);color:var(--kw,#687176);stroke-width:2;transition:transform .15s}
.a-katpil button span{color:#4a555c}
.a-katpil button.on{background:#fff;border-color:var(--kw,#0194f3);box-shadow:inset 0 0 0 1px var(--kw,#0194f3)}
.a-katpil button.on span{color:#03121a}
.a-katpil button.on svg{background:var(--kw);color:#fff;transform:scale(1.05)}
.a-katpil button[data-kat="Makan"]{--kw:#f2711c;--kb:#fff0e5}
.a-katpil button[data-kat="Transport"]{--kw:#0194f3;--kb:#e5f3fe}
.a-katpil button[data-kat="Wisata"]{--kw:#7a3ff0;--kb:#f1eafe}
.a-katpil button[data-kat="Belanja"]{--kw:#e2457c;--kb:#fdeaf1}
.a-katpil button[data-kat="Hotel"]{--kw:#0b9e86;--kb:#e2f6f2}
.a-katpil button[data-kat="Oleh-oleh"]{--kw:#c98a00;--kb:#fff5d9}
.a-katpil button[data-kat="Lainnya"]{--kw:#5d6b78;--kb:#eef1f4}
.a-kurs-baris{display:grid;gap:6px;margin:8px 0 4px;font-size:12.5px;color:#687176}
.a-kurs-baris .a-cek{font-size:13px}
/* ikon kategori versi simpel: garis satu warna, tanpa lingkaran */
.a-katpil button[data-kat]{--kw:#0194f3;--kb:transparent}
.a-katpil button svg{width:24px;height:24px;padding:0;border-radius:0;background:none!important;color:#5d6b78;stroke-width:1.7}
.a-katpil button{padding:12px 4px 10px;gap:6px}
.a-katpil button.on{background:#f3f9fe;border-color:#0194f3;box-shadow:none}
.a-katpil button.on svg{background:none!important;color:#0194f3;transform:none}
.a-katpil button.on span{color:#0170c4}
/* tombol ke atas */
.a-keatas{position:fixed;right:16px;bottom:20px;z-index:45;width:46px;height:46px;border-radius:50%;border:1px solid #e1e6ea;background:#fff;color:#0194f3;box-shadow:0 6px 18px rgba(3,18,26,.16);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .2s,transform .2s}
.a-keatas.on{opacity:1;transform:none;pointer-events:auto}
.a-keatas:hover{background:#0194f3;color:#fff;border-color:#0194f3}
body.ada-kini .a-keatas{bottom:92px}
@media (prefers-reduced-motion:reduce){.a-keatas{transition:none}}

/* form ubah kegiatan: iPhone Safari bikin input jam lebih lebar -> kolom tetap, input jam dipaksa muat */
.a-ubah .a-baris{display:grid;grid-template-columns:132px minmax(0,1fr);gap:10px}
.a-ubah .a-lbl{min-width:0}
.a-modal input[type="time"]{-webkit-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;width:100%;text-align:left;line-height:1.3}
.a-modal input[type="time"]::-webkit-date-and-time-value{text-align:left}
.a-modal input,.a-modal textarea{min-height:46px}

/* label jam buka */
.chip.a-jamchip{display:inline-flex;align-items:center;gap:4px;border:0;font:inherit;font-size:12px;font-weight:700;cursor:pointer;color:#0a7a45;background:#e8f7ef!important}
.chip.a-jamchip.mepet{color:#b35c00;background:#fff4e5!important}
.chip.a-jamchip.awas{color:#c62f2f;background:#fdecec!important}
span.chip.a-jamchip{cursor:default}

/* kartu boarding */
.a-boarding-wrap{margin-top:6px}
.a-boarding{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.a-tiket{background:#fff;border:1px solid #e6eaed;border-radius:14px;padding:14px 16px;display:grid;gap:10px;box-shadow:0 2px 10px rgba(3,18,26,.06)}
.a-tiket.aktif{border-color:#0194f3;box-shadow:0 0 0 1px #0194f3,0 6px 18px rgba(1,148,243,.14)}
.a-tiket.lewat{opacity:.55}
.a-tiket-atas{display:flex;justify-content:space-between;align-items:center;gap:8px}
.a-tiket-mskp{font-size:13px;font-weight:800;color:#03121a}
.a-tiket-sisa{font-size:12px;font-weight:700;color:#0194f3;background:#eaf5fe;border-radius:999px;padding:3px 10px;white-space:nowrap}
.a-tiket-rute{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.a-tiket-rute svg{color:#9aa4ab}
.a-tiket-rute div{display:grid;gap:1px}
.a-tiket-rute .kanan{text-align:right}
.a-tiket-rute b{font-size:22px;font-weight:800;color:#03121a;line-height:1.1}
.a-tiket-rute span{font-size:12.5px;color:#4a555c}
.a-tiket-rute em{font-style:normal;font-size:12px;font-weight:700;color:#03121a}
.a-tiket-info{list-style:none;margin:0;padding:10px 0 0;border-top:1px dashed #d9dfe4;display:grid;gap:4px;font-size:12.5px;color:#4a555c}
.a-tiket-info b{color:#03121a}
.a-tiket-info .awas{color:#c62f2f;font-weight:700}
.a-tiket-aksi{display:flex;gap:14px;flex-wrap:wrap}
.a-tiket-aksi a{font-size:13px;font-weight:700;color:#0194f3;text-decoration:none}
@media (max-width:900px){
  .a-boarding{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding:4px max(16px,env(safe-area-inset-left,0px)) 12px;scroll-padding-inline:max(16px,env(safe-area-inset-left,0px))}
  .a-boarding::-webkit-scrollbar{display:none}
  .a-boarding::after{content:"";flex:0 0 2px}
  .a-tiket{flex:0 0 84%;scroll-snap-align:start}
}
/* bayangan kartu tiket tidak terpotong di strip geser */
@media (max-width:900px){
  .a-boarding{padding-top:10px;padding-bottom:28px;margin-top:-6px;margin-bottom:-16px}
}
.a-tiket.aktif{box-shadow:0 0 0 1px #0194f3,0 4px 14px rgba(1,148,243,.12)}

/* dompet dokumen */
.a-dompet{margin-top:18px}
.a-dok-tambah{cursor:pointer;padding:9px 14px;font-size:13px}
.a-dok-pilih{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px 0 4px}
.a-dok-pilih::-webkit-scrollbar{display:none}
.a-dok-pilih button{border:1px solid #d9dfe4;background:#fff;border-radius:999px;font:inherit;font-weight:700;font-size:12.5px;padding:6px 12px;cursor:pointer;white-space:nowrap;color:#4a555c}
.a-dok-pilih button.on{border-color:#0194f3;color:#0194f3;background:#f3f9fe}
.a-dok-grup{margin-top:10px}
.a-dok-kat{font-size:12px;font-weight:800;color:#687176;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.a-dok{display:flex;align-items:center;gap:8px;border-top:1px solid #f0f2f4}
.a-dok-buka{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:10px 0;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:#03121a}
.a-dok-ik{width:36px;height:36px;border-radius:10px;background:#f3f9fe;color:#0194f3;display:grid;place-items:center;flex:0 0 auto}
.a-dok-teks{display:grid;gap:1px;min-width:0}
.a-dok-teks b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-dok-teks small{font-size:11.5px;color:#687176}
.a-dok-teks i{font-style:normal}
.a-dok-teks i.ok{color:#0a7a45;font-weight:700}
.a-dok-layar{position:fixed;inset:0;z-index:90;background:#03121a;display:grid;place-items:center;align-content:center;gap:10px;padding:56px 12px 24px}
.a-dok-layar img{max-width:100%;max-height:80vh;object-fit:contain;background:#fff;border-radius:6px}
.a-dok-layar span{color:#fff;font-weight:700;font-size:14px}
.a-dok-pdf{width:100%;height:65vh;border:1px solid #e6eaed;border-radius:8px;background:#f6f8fa}

/* bagasi pulang */
.a-bagasi{margin-top:10px}
.a-bag-bar{height:10px;border-radius:5px;background:#e9eef2;overflow:hidden}
.a-bag-bar i{display:block;height:100%;background:#0194f3;border-radius:5px;transition:width .3s}
.a-bag-bar i.kurang{background:#d63b3b}
.a-bag-angka{display:flex;justify-content:space-between;font-size:12px;color:#687176;margin:6px 0 8px}
.a-bag-status{display:grid;gap:2px;font-size:13px;color:#4a555c;padding:10px 12px;border-radius:10px;background:#f6f8fa;line-height:1.5}
.a-bag-status.aman{background:#e8f7ef}.a-bag-status.aman b{color:#0a7a45}
.a-bag-status.kurang{background:#fdecec}.a-bag-status.kurang>b{color:#c62f2f}
.a-bag-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.a-satuan{position:relative;display:block}
.a-satuan em{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-size:13px;color:#687176;pointer-events:none}
.a-satuan input{padding-right:30px!important}
.a-bag-daftar{list-style:none;margin:0;padding:0}
.a-bag-daftar li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 0;border-top:1px solid #f0f2f4;font-size:13.5px}
.a-bag-daftar li.kosong{display:block;color:#687176;font-size:13px}
.a-bag-form{display:grid;grid-template-columns:minmax(0,1fr) 96px 52px;gap:6px;margin-top:8px}
.a-bag-form .a-btn{grid-column:1/-1}
.a-kartu .a-bag-form input{padding:9px 10px}
/* garis pil tidak terpotong di strip geser */
.a-dok-pilih,.a-frasa-tab{padding:3px 2px 5px;margin-top:9px;margin-bottom:0}
/* tombol hapus/tutup: ikon X presisi di tengah */
.a-hapus{display:inline-grid;place-items:center;width:32px;height:32px;min-width:32px;padding:0;line-height:0}
.a-hapus.yakin{width:auto;padding:0 10px;line-height:1}
.a-hapus svg,.a-modal-tutup svg,.a-sopir-tutup svg{display:block}
.a-modal-tutup,.a-sopir-tutup{display:grid;place-items:center;padding:0;line-height:0}

/* ===== transisi ganti tema ===== */
html.a-masuk body{visibility:hidden}
.a-transisi{position:fixed;inset:0;z-index:200;pointer-events:none;overflow:hidden}
.a-tr-lapis{position:absolute;inset:0;clip-path:circle(0 at var(--x,50%) var(--y,50%));transition:clip-path .75s cubic-bezier(.7,0,.2,1)}
.a-transisi.jalan .a-tr-lapis{clip-path:circle(150vmax at var(--x,50%) var(--y,50%))}
.a-transisi.pink .a-tr-lapis{background:radial-gradient(circle at 50% 40%,#ffd6e8 0%,#ff8fc0 45%,#ff5fa2 100%)}
.a-transisi.biru .a-tr-lapis{background:radial-gradient(circle at 50% 40%,#90caf9 0%,#42a5f5 45%,#1565c0 100%)}
.a-tr-isi{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;color:#fff;opacity:0;transform:scale(.6);transition:opacity .3s .35s,transform .5s .35s cubic-bezier(.3,1.6,.5,1);font-family:"Plus Jakarta Sans",system-ui,sans-serif}
.a-transisi.jalan .a-tr-isi{opacity:1;transform:none}
.a-tr-isi img{width:130px;height:auto;filter:drop-shadow(0 8px 14px rgba(160,20,80,.35));animation:aTrLompat .9s .45s ease both}
.a-tr-isi b{font-size:30px;font-weight:800;letter-spacing:.01em;text-shadow:0 3px 0 rgba(0,0,0,.12)}
.a-tr-isi span{font-size:15px;font-weight:600;opacity:.92}
@keyframes aTrLompat{0%{transform:translateY(30px) scale(.5) rotate(-12deg)}55%{transform:translateY(-14px) scale(1.08) rotate(6deg)}100%{transform:none}}
.a-tr-hujan i{position:absolute;top:-30px;width:var(--s);height:var(--s);background:no-repeat center/contain;animation:aTrJatuh 1.3s .25s ease-in both}
.a-tr-hujan i.h{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-5.3-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 5.7-8 11-8 11z' fill='%23ffffff'/%3E%3C/svg%3E")}
.a-tr-hujan i.b{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='translate(50 50)'%3E%3Cg fill='%23ffffff'%3E%3Cellipse rx='17' ry='29' cy='-24'/%3E%3Cellipse rx='17' ry='29' cy='-24' transform='rotate(72)'/%3E%3Cellipse rx='17' ry='29' cy='-24' transform='rotate(144)'/%3E%3Cellipse rx='17' ry='29' cy='-24' transform='rotate(216)'/%3E%3Cellipse rx='17' ry='29' cy='-24' transform='rotate(288)'/%3E%3C/g%3E%3Ccircle r='10' fill='%23ffd54f'/%3E%3C/g%3E%3C/svg%3E")}
@keyframes aTrJatuh{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:1}100%{transform:translateY(110vh) rotate(260deg);opacity:.8}}
.a-tr-pesawat{position:absolute;left:-60px;top:62%;width:46px;height:46px;opacity:0}
.a-tr-pesawat svg{width:100%;height:100%;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}
.a-transisi.jalan .a-tr-pesawat{animation:aTrTerbang 1.1s .3s cubic-bezier(.4,0,.3,1) forwards}
@keyframes aTrTerbang{0%{opacity:1;transform:translate(0,0) rotate(-12deg)}100%{opacity:1;transform:translate(calc(100vw + 120px),-38vh) rotate(-24deg)}}
.a-tr-jejak{position:absolute;left:0;top:calc(62% + 22px);width:100%;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 10px,transparent 10px 20px);transform-origin:left center;transform:rotate(-17deg) scaleX(0);opacity:.9}
.a-transisi.jalan .a-tr-jejak{transition:transform 1.1s .3s cubic-bezier(.4,0,.3,1);transform:rotate(-17deg) scaleX(1.2)}
/* halaman tujuan: lingkaran mengecil membuka halaman */
.a-transisi.keluar .a-tr-lapis{clip-path:circle(150vmax at 50% 30%);transition:clip-path .7s cubic-bezier(.6,0,.2,1)}
.a-transisi.keluar.jalan .a-tr-lapis{clip-path:circle(0 at 50% 30%)}
@media (prefers-reduced-motion:reduce){.a-tr-lapis,.a-tr-isi{transition:none!important}.a-tr-hujan,.a-tr-pesawat,.a-tr-jejak{display:none}}

/* ===== transisi ke biru v2: langit, pesawat jungkir balik, boarding pass dicap ===== */
.a-transisi.biru .a-tr-lapis{background:linear-gradient(180deg,#1565c0 0%,#1e88e5 45%,#64b5f6 85%,#e3f2fd 100%)}
.a-tr-awan i{position:absolute;display:block;border-radius:999px;background:rgba(255,255,255,.85);filter:blur(1px);opacity:0;box-shadow:24px -10px 0 4px rgba(255,255,255,.85),48px 0 0 0 rgba(255,255,255,.85)}
.a-tr-awan i:nth-child(1){width:70px;height:26px;top:18%;left:-120px}
.a-tr-awan i:nth-child(2){width:54px;height:20px;top:34%;left:-120px;opacity:0}
.a-tr-awan i:nth-child(3){width:90px;height:32px;top:72%;left:-140px}
.a-tr-awan i:nth-child(4){width:46px;height:18px;top:56%;left:-120px}
.a-transisi.biru.jalan .a-tr-awan i{animation:aTrAwan 1.6s linear forwards}
.a-transisi.biru.jalan .a-tr-awan i:nth-child(2){animation-duration:1.2s;animation-delay:.1s}
.a-transisi.biru.jalan .a-tr-awan i:nth-child(3){animation-duration:1.9s}
.a-transisi.biru.jalan .a-tr-awan i:nth-child(4){animation-duration:1.4s;animation-delay:.2s}
@keyframes aTrAwan{0%{opacity:0;transform:translateX(0)}15%{opacity:.9}100%{opacity:.9;transform:translateX(calc(100vw + 260px))}}
.a-tr-rute{position:absolute;inset:0;width:100%;height:100%}
.a-tr-rute path{fill:none;stroke:rgba(255,255,255,.9);stroke-width:3;stroke-linecap:round;stroke-dasharray:1100;stroke-dashoffset:1100}
.a-transisi.biru.jalan .a-tr-rute path{animation:aTrGaris 1.15s .25s cubic-bezier(.45,0,.25,1) forwards}
@keyframes aTrGaris{to{stroke-dashoffset:0}}
.a-tr-pesawat2{position:absolute;left:0;top:0;width:34px;height:34px;offset-rotate:auto 0deg;offset-distance:0%;opacity:0}
.a-tr-pesawat2 svg{width:100%;height:100%;transform:rotate(-90deg);filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.a-transisi.biru.jalan .a-tr-pesawat2{animation:aTrIkut 1.15s .25s cubic-bezier(.45,0,.25,1) forwards}
@keyframes aTrIkut{0%{offset-distance:0%;opacity:1}96%{opacity:1}100%{offset-distance:100%;opacity:0}}
@supports not (offset-path:path("M0 0")){.a-tr-pesawat2{display:none}}
/* boarding pass */
.a-tr-tiket{position:absolute;left:50%;bottom:9%;width:min(340px,86vw);display:grid;grid-template-columns:1fr 86px;background:#fff;border-radius:16px;box-shadow:0 18px 40px rgba(13,40,90,.35);transform:translate(-50%,140%) rotate(-4deg);font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:#0d2a5a}
.a-transisi.biru.jalan .a-tr-tiket{animation:aTrTiket .6s .35s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes aTrTiket{to{transform:translate(-50%,0) rotate(-3deg)}}
.a-tr-tiket-kiri{padding:14px 14px 12px 16px;border-right:2px dashed #cfd8e3;position:relative}
.a-tr-tiket-kiri::before,.a-tr-tiket-kiri::after{content:"";position:absolute;right:-9px;width:16px;height:16px;border-radius:50%;background:#1e88e5}
.a-tr-tiket-kiri::before{top:-8px}.a-tr-tiket-kiri::after{bottom:-8px}
.a-tr-tiket small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.08em;color:#6b7c93}
.a-tr-kode{display:flex;align-items:center;gap:8px;margin:6px 0 8px}
.a-tr-kode b{font-size:26px;font-weight:800;letter-spacing:.02em}
.a-tr-garis{flex:1;height:2px;background:repeating-linear-gradient(90deg,#9fb3c8 0 5px,transparent 5px 9px);position:relative}
.a-tr-garis i{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 15.5 13.5 11V5.5a1.5 1.5 0 0 0-3 0V11L3 15.5V17l7.5-2.2V19L8.5 20.5V22l3.5-1 3.5 1v-1.5L13.5 19v-4.2L21 17z' fill='%231e88e5' transform='rotate(90 12 12)'/%3E%3C/svg%3E") center/contain no-repeat;background-color:#fff;border-radius:50%}
.a-tr-baris{display:flex;gap:14px;font-size:13px;font-weight:800}
.a-tr-tiket-kanan{display:grid;place-content:center;text-align:center;padding:10px 6px}
.a-tr-tiket-kanan b{font-size:20px;font-weight:800;color:#1e88e5}
.a-tr-cap{position:absolute;right:58px;top:-26px;width:84px;height:84px;border:3px solid #e53935;border-radius:50%;display:grid;place-content:center;text-align:center;color:#e53935;font:800 13px/1.15 "Plus Jakarta Sans",sans-serif;letter-spacing:.06em;transform:rotate(-18deg) scale(2.4);opacity:0;background:rgba(255,255,255,.35)}
.a-tr-cap::before{content:"";position:absolute;inset:4px;border:1.5px dashed #e53935;border-radius:50%}
.a-transisi.biru.jalan .a-tr-cap{animation:aTrCap .28s 1.05s cubic-bezier(.3,0,.2,1.4) forwards}
@keyframes aTrCap{to{transform:rotate(-14deg) scale(1);opacity:.92}}
@media (prefers-reduced-motion:reduce){.a-tr-awan,.a-tr-rute,.a-tr-pesawat2,.a-tr-cap{display:none}.a-tr-tiket{transform:translate(-50%,0) rotate(-3deg)!important}}
.a-tr-cap{right:-12px!important;top:-38px!important;width:78px!important;height:78px!important;font-size:12px!important}

/* ===== transisi ke biru v3: realistis ===== */
.a-transisi.biru .a-tr-lapis.langit{background:radial-gradient(circle at 84% 10%,rgba(255,250,230,.98) 0,rgba(255,240,200,.65) 5%,rgba(255,236,190,.22) 14%,transparent 30%),linear-gradient(180deg,#0b3d91 0%,#1565c0 30%,#2f86d9 58%,#7ab8ec 82%,#d6ebfb 100%)}
.a-tr-kabut{position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(180deg,transparent,rgba(240,248,255,.55) 60%,rgba(255,255,255,.85));opacity:0;transition:opacity .6s .2s}
.a-transisi.biru.jalan .a-tr-kabut{opacity:1}
.a-tr-awanr i{position:absolute;display:block;width:300px;height:110px;margin:-55px 0 0 -150px;border-radius:50%;
  background:radial-gradient(ellipse at 50% 60%,rgba(255,255,255,.96) 0%,rgba(255,255,255,.85) 38%,rgba(255,255,255,0) 70%);filter:url(#aTrNoise);opacity:0;transform:scale(calc(var(--k) * .35))}
.a-transisi.biru.jalan .a-tr-awanr i{animation:aTrTembus 1.45s cubic-bezier(.5,0,.85,.6) forwards}
@keyframes aTrTembus{0%{opacity:0;transform:scale(calc(var(--k) * .35)) translateY(10px)}25%{opacity:.95}75%{opacity:.85}100%{opacity:0;transform:scale(calc(var(--k) * 3.4)) translateY(-30px)}}
.a-tr-contrail{position:absolute;inset:0;width:100%;height:100%}
.a-tr-contrail path{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.a-tr-contrail .lebar{stroke:rgba(255,255,255,.45);stroke-width:9;filter:url(#aTrBlur)}
.a-tr-contrail .inti{stroke:rgba(255,255,255,.9);stroke-width:2.2}
.a-transisi.biru.jalan .a-tr-contrail path{animation:aTrGaris 1.25s .2s cubic-bezier(.4,0,.3,1) forwards}
.a-transisi.biru.jalan .a-tr-contrail .lebar{animation:aTrGaris 1.25s .2s cubic-bezier(.4,0,.3,1) forwards,aTrMelebar 1.6s .2s ease-out forwards}
@keyframes aTrMelebar{to{stroke-width:16;stroke:rgba(255,255,255,.28)}}
.a-tr-jet{position:absolute;left:0;top:0;width:62px;height:62px;offset-rotate:auto;offset-distance:0%;opacity:0}
.a-tr-jet svg{width:100%;height:100%;filter:drop-shadow(0 10px 8px rgba(5,30,70,.35))}
.a-transisi.biru.jalan .a-tr-jet{animation:aTrIkut 1.25s .2s cubic-bezier(.4,0,.3,1) forwards}
@supports not (offset-path:path("M0 0")){.a-tr-jet{display:none}}
.a-transisi.biru .a-tr-awan,.a-transisi.biru .a-tr-rute,.a-transisi.biru .a-tr-pesawat2{display:none}
/* tiket lebih nyata */
.a-tr-tiket{background:linear-gradient(180deg,#ffffff,#f6f8fb)!important;box-shadow:0 22px 44px rgba(5,30,70,.35),0 2px 0 rgba(255,255,255,.8) inset!important}
.a-tr-tiket-kiri::before,.a-tr-tiket-kiri::after{background:#a9cff2!important}
.a-tr-baris{gap:12px!important;font-size:12.5px!important}
.a-tr-barcode{height:22px;margin-top:10px;border-radius:2px;opacity:.85}
.a-tr-tiket-kanan .kelas{margin-top:6px;font-size:8.5px!important}
@media (prefers-reduced-motion:reduce){.a-tr-awanr,.a-tr-contrail,.a-tr-jet{display:none}}
.a-tr-awanr i{width:360px!important;height:150px!important;margin:-75px 0 0 -180px!important;border-radius:0!important;background:center/100% 100% no-repeat;filter:none!important;will-change:transform,opacity}

/* donat budget: cincin SVG bergradasi */
html body #donat.donat{background:none!important;position:relative;width:150px}
#donat svg.a-donat{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 6px 10px rgba(30,60,120,.12))}
html body .donat-in{position:relative;z-index:1;width:64%;background:transparent!important;display:flex!important;flex-direction:column-reverse;justify-content:center;align-items:center;gap:2px}
html body .donat-in>span{font-size:9.5px!important;letter-spacing:.12em;text-transform:uppercase;color:#8a96a3!important;font-weight:700}
html body .donat-in .sisa{font-size:19px!important;font-weight:400!important;letter-spacing:-.01em!important;line-height:1.05}
.legend i{border-radius:50%!important}
@media (max-width:640px){html body #donat.donat{width:132px}}
html body .donat-in .sisa{font-size:15.5px!important;letter-spacing:-.02em!important;white-space:nowrap}
html body #donat.donat{width:156px}
@media (max-width:640px){html body #donat.donat{width:146px}}

/* chip spot foto bisa diketuk + daftar titik foto */
.chip.foto{cursor:pointer}
.chip.foto:hover{filter:brightness(.96)}
.a-spot-daftar{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.a-spot-daftar li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:12px;border:1px solid #ece6fb;border-radius:12px;background:#faf8ff}
.a-spot-no{width:28px;height:28px;border-radius:50%;background:#7a3ff0;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.a-spot-daftar b{font-size:14.5px}
.a-spot-daftar p{margin:3px 0 6px;font-size:13px;line-height:1.5;color:#4a555c}
.a-spot-daftar a{font-size:12.5px;font-weight:700;color:#0194f3;text-decoration:none}

/* spot foto dengan gambar */
.a-spot-daftar li{display:block!important;padding:0!important;overflow:hidden}
.a-spot-foto{position:relative;margin:0}
.a-spot-foto img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#ece6fb}
.a-spot-foto .a-spot-no{position:absolute;left:10px;top:10px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.a-spot-foto figcaption{position:absolute;right:8px;bottom:6px;font-size:10px;color:#fff;background:rgba(0,0,0,.45);padding:2px 6px;border-radius:4px;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-spot-no.solo{margin:12px 0 0 12px}
.a-spot-teks{padding:10px 12px 12px}
/* foto spot utuh, tidak dipotong (tangga Tree Tunnel dll tetap kelihatan) */
.a-spot-foto img{aspect-ratio:auto!important;height:auto;max-height:470px;object-fit:contain!important;background:#f3eefc}

/* ===== spot foto gaya story ===== */
.a-modal-spot .a-modal-kotak{width:min(560px,100%);padding:18px 0 16px;background:#0f1115;color:#fff}
.a-modal-spot .a-modal-tutup{background:rgba(255,255,255,.14);color:#fff}
.a-modal-spot .a-modal-tutup svg{stroke:#fff}
.a-sk-kepala{padding:0 18px 12px}
.a-sk-kepala .eyebrow{color:#7cc4ff!important}
.a-sk-kepala h3{color:#fff;margin:4px 44px 0 0!important;font-size:20px}
.a-sk-karosel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 18px 4px;scroll-padding-inline:18px;scrollbar-width:none}
.a-sk-karosel::-webkit-scrollbar{display:none}
.a-sk-slide{position:relative;flex:0 0 86%;aspect-ratio:4/5;max-height:62vh;border-radius:20px;overflow:hidden;scroll-snap-align:center;background:#222;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.a-sk-karosel:has(.a-sk-slide:only-child) .a-sk-slide{flex-basis:100%}
.a-sk-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.a-sk-kosong{position:absolute;inset:0;background:linear-gradient(160deg,#7a3ff0,#ff5fa2)}
.a-sk-atas{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;align-items:center}
.a-sk-no{font-size:12px;font-weight:800;letter-spacing:.04em;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:4px 10px;border-radius:999px}
.a-sk-peta{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#0f1115;box-shadow:0 4px 10px rgba(0,0,0,.25)}
.a-sk-bawah{position:absolute;left:0;right:0;bottom:0;padding:60px 16px 14px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.55) 35%,rgba(0,0,0,.85))}
.a-sk-bawah b{display:block;font-size:18px;line-height:1.25;margin-bottom:4px}
.a-sk-bawah p{margin:0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.88)}
.a-sk-bawah small{display:block;margin-top:8px;font-size:10px;color:rgba(255,255,255,.55)}
.a-sk-titik{display:flex;justify-content:center;gap:6px;padding-top:12px}
.a-sk-titik i{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.3);cursor:pointer;transition:width .2s,background .2s}
.a-sk-titik i.on{width:22px;background:#fff}
@media (max-width:640px){.a-modal-spot .a-modal-kotak{border-radius:22px 22px 0 0}.a-sk-slide{max-height:58vh}}
