/* SAW Tour & Travel — web v3 (STAGING). Wizard, pop-up paket 3 tier, #harga, iklan 4 slot, partner.
 * Spes: docs/DESIGN-V3.md (Hana) · acuan piksel pop-up: docs/proto/popup-tier.html. Token dasar: main.css :root v2. */
:root{
  --emas-100:#F6EBD2;
  --sh-3:0 40px 120px -30px rgba(10,23,48,.75),0 0 0 1px rgba(227,204,148,.35);
  --dur-5:1100ms; --dur-kb:14s;
  --ease-tirai:cubic-bezier(.76,0,.24,1);
  --khatam:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23C9A45C' stroke-width='1'%3E%3Crect x='16' y='16' width='24' height='24'/%3E%3Crect x='16' y='16' width='24' height='24' transform='rotate(45 28 28)'/%3E%3Cpath d='M0 28h10M46 28h10M28 0v10M28 46v10'/%3E%3C/g%3E%3C/svg%3E");
  --tinggi-sticky:0px;
}
/* header turun mengikuti sticky bar (transform: tidak menggeser tata letak) */
.header{transform:translateY(var(--tinggi-sticky));transition:transform 240ms var(--ease-tiba),background-color var(--dur-2),color var(--dur-2),box-shadow var(--dur-2)}
.ikon-kecil{width:20px;height:20px;flex:none}
.nav a{min-width:44px;justify-content:center}
.footer ul a{min-width:44px}

/* ================= TOMBOL PINTU WIZARD ================= */
.pintu-wizard{display:inline-flex;align-items:center;gap:10px}
.pintu-wizard svg{width:22px;height:22px}
.paket__aksi{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:var(--sp-5)}
.paket__aksi p{margin:0;font-size:var(--fs-meta);color:var(--batu-700)}
.sorotan__isi .btn-grup .btn--garis,.kartu .btn-grup .btn--garis{--bd:var(--navy-900)}

/* paket tambahan dari admin */
.paket-tambahan{margin-top:var(--sp-7);padding-top:var(--sp-6);border-top:1px solid var(--pasir-300)}
.paket-tambahan h3{font-size:var(--fs-h3);margin-bottom:var(--sp-4)}
.paket-tambahan ul{list-style:none;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.paket-tambahan li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;padding:12px;border:1.5px solid var(--pasir-300);border-radius:var(--r-kartu);background:var(--pasir-50)}
.paket-tambahan .thumb{width:96px;height:120px;border-radius:var(--r-lengkung);overflow:hidden;background:var(--navy-900)}
.paket-tambahan .thumb img{width:100%;height:100%;object-fit:cover}
.paket-tambahan strong{display:block;font-family:var(--ff-judul);font-size:1.5rem;line-height:1.15;color:var(--navy-900)}
.paket-tambahan .d{display:block;font-size:var(--fs-meta);color:var(--batu-600);margin:2px 0 4px}

/* ================= POP-UP PAKET (V4) ================= */
.pop{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--tinta-900);overflow:hidden}
.pop::backdrop{background:transparent}
.pop-latar{position:absolute;inset:0;background:rgba(10,23,48,.62)}
.pop-tirai,.pop-cahaya,.pop-partikel,.pop-sambung{display:none}
.pop-panggung{position:absolute;inset:0;display:grid;place-items:center;padding:4vh 4vw;perspective:1200px}
.pop[data-tier=megah] .pop-panggung{perspective:1000px}
.pop-tilt{position:relative;transform-style:preserve-3d;transition:transform 600ms var(--ease-tiba);will-change:transform;min-width:0}
.pop-kartu{position:relative;width:min(1040px,92vw);max-height:88vh;display:grid;grid-template-columns:5fr 7fr;border-radius:var(--r-panel);overflow:hidden;background:var(--pasir-50);box-shadow:var(--sh-2)}
.pop-kartu::before{content:"";position:absolute;inset:12px;border:1px solid var(--emas-500);border-radius:var(--r-kartu);pointer-events:none;z-index:3}
.pop-foto{position:relative;padding:28px 0 28px 28px;min-height:0}
.pop-bingkai{height:100%;min-height:420px;border-radius:var(--r-lengkung);overflow:hidden;background:var(--pasir-200)}
.pop-bingkai img{width:100%;height:100%;object-fit:cover;transform-origin:60% 40%}
.pop-kanan{display:flex;flex-direction:column;min-height:0;max-height:88vh;min-width:0}
.pop-isi{flex:1;overflow:auto;padding:76px 48px 24px 44px;overscroll-behavior:contain}
.pop-aksi{position:relative;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;padding:20px 48px 36px 44px}
.pop-aksi::before{content:"";position:absolute;top:0;left:44px;right:48px;height:1px;background:var(--pasir-300)}
.pop-alat{position:absolute;top:24px;right:24px;z-index:5;display:flex;gap:8px}
.pop-alat button{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:1.5px solid var(--pasir-300);border-radius:var(--r-kontrol);background:var(--pasir-50);color:var(--navy-900);font-weight:600;font-size:var(--fs-meta);cursor:pointer}
.pop-alat button:hover{border-color:var(--navy-900)}
.pop-alat svg{width:22px;height:22px}
.pop-judul{font-size:var(--fs-h2);line-height:1.1;position:relative;display:inline-block;max-width:16ch}
.pop .pop-judul:focus,.pop .pop-judul:focus-visible{outline:none;box-shadow:none}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible,.pop[data-tier] [tabindex="-1"]:focus-visible{outline:none!important;box-shadow:none!important}
.kilau{position:absolute;inset:0;color:transparent;background:linear-gradient(100deg,transparent 35%,rgba(227,204,148,0) 40%,#E3CC94 50%,rgba(227,204,148,0) 60%,transparent 65%) no-repeat;background-size:250% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;pointer-events:none}
.pop-meta{margin:12px 0 0;font-size:var(--fs-meta);color:var(--batu-600)}
.pop-pembeda{margin-top:16px;font-size:var(--fs-lead);line-height:1.5;max-width:42ch}
.pop-daftar{list-style:none;margin:16px 0 0;display:grid;gap:8px}
.pop-daftar li{display:flex;gap:12px;align-items:flex-start}
.pop-daftar svg{flex:none;width:24px;height:24px;margin-top:2px;color:var(--emas-800)}
.pop-rute{display:block;height:1.5px;width:120px;margin-top:16px;background:var(--emas-500);transform-origin:left;transform:scaleX(0)}
.pop[data-tier=sederhana] .pop-rute,.pop[data-tier=plus] .pop-rute{display:none}
.tier-lencana{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 14px;border-radius:var(--r-pil);font-size:var(--fs-meta);font-weight:600;margin-bottom:16px;line-height:1.2}
.tier-lencana svg{width:18px;height:18px}
.tier-plus{border:1.5px solid var(--emas-800);color:var(--emas-800)}
.tier-premium{min-height:36px;background:var(--emas-500);color:var(--navy-900)}
.tier-promo{min-height:28px;padding:0 10px;background:var(--emas-100);color:var(--navy-900);border:1px solid var(--emas-800);margin:0}
.pop-harga-judul{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:28px 0 8px}
.pop-harga-judul h3{font-size:24px}
.pop-harga{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.pop-harga th{font-size:var(--fs-meta);font-weight:600;color:var(--batu-700);text-align:left;padding:8px 10px 8px 0;border-bottom:1.5px solid var(--navy-900)}
.pop-harga td{padding:12px 10px 12px 0;vertical-align:top;border-bottom:1px solid var(--pasir-300)}
.pop-harga s,.tabel-harga s,.kartu-harga s{display:block;font-size:var(--fs-meta);color:var(--batu-600);white-space:nowrap}
.pop-harga .angka{font-weight:600;font-size:19px;color:var(--navy-900);white-space:nowrap}
.pop-harga .kosong{font-weight:600;font-size:var(--fs-meta);color:var(--emas-800)}
.pop-bayar{margin:12px 0 0;font-size:var(--fs-meta);font-weight:500}
.pop-bayar b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--navy-900)}
.pop-catatan{margin-top:12px;font-size:var(--fs-meta);color:var(--batu-700)}
.pop-jadwal{margin-top:20px;display:flex;gap:12px;align-items:center;font-size:var(--fs-meta);font-weight:500}
.pop-jadwal svg{width:24px;height:24px;color:var(--emas-800);flex:none}
.pop-kuota{margin-top:8px;font-size:var(--fs-meta);font-weight:600}
.pop-galeri{display:none}
.pop-sudut{display:none}
.pop-kilap{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity 400ms;background:radial-gradient(600px circle at var(--kx,50%) var(--ky,50%),rgba(255,255,255,.10),transparent 60%)}
/* plus */
.pop[data-tier=plus] .pop-latar{background:rgba(10,23,48,.72);backdrop-filter:blur(2px)}
.pop[data-tier=plus] .pop-kartu::after{content:"";position:absolute;inset:16px;border:1px solid var(--emas-500);border-radius:6px;opacity:.55;pointer-events:none;z-index:3}
.pop[data-tier=plus] .pop-foto::before{content:"";position:absolute;inset:0;background:var(--khatam);background-size:56px 56px;opacity:.14;pointer-events:none}
.pop[data-tier=plus].bergerak .pop-foto::before{animation:napas-pola 4s ease-in-out 2}
@keyframes napas-pola{0%,100%{opacity:.14}50%{opacity:.06}}
/* megah */
.pop[data-tier=megah]{color:var(--kabut-200)}
.pop[data-tier=megah] .pop-latar{background:radial-gradient(120% 90% at 50% 45%,#15284A 0%,#0A1730 60%,#060E1F 100%)}
.pop[data-tier=megah] .pop-tirai{display:block;position:absolute;inset:0;z-index:20;pointer-events:none}
.pop-tirai i{position:absolute;top:0;bottom:0;width:50.5%;background:var(--navy-900)}
.pop-tirai i::before{content:"";position:absolute;inset:0;background:var(--khatam);background-size:64px 64px;opacity:.10}
.pop-tirai i:first-child{left:0;box-shadow:inset -1px 0 0 rgba(227,204,148,.5)}
.pop-tirai i:last-child{right:0;box-shadow:inset 1px 0 0 rgba(227,204,148,.5)}
.pop[data-tier=megah] .pop-sambung{display:block;position:absolute;left:50%;top:10%;bottom:10%;width:2px;margin-left:-1px;background:linear-gradient(transparent,#E3CC94,transparent);z-index:21;pointer-events:none;opacity:0}
.pop[data-tier=megah] .pop-cahaya{display:block;position:absolute;left:50%;top:50%;width:min(1500px,140vw);height:120vh;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(227,204,148,.42),rgba(201,164,92,.14) 45%,transparent 75%);pointer-events:none;opacity:0}
.pop[data-tier=megah].bergerak .pop-cahaya.nyala{animation:napas-cahaya 6s ease-in-out infinite}
@keyframes napas-cahaya{0%,100%{opacity:1}50%{opacity:.85}}
.pop[data-tier=megah] .pop-partikel{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pop[data-tier=megah] .pop-kartu{background:linear-gradient(180deg,var(--navy-700) 0%,var(--navy-900) 100%);box-shadow:var(--sh-3)}
.pop[data-tier=megah] .pop-kartu::before{border-color:rgba(227,204,148,.7)}
.pop[data-tier=megah] .pop-judul,.pop[data-tier=megah] .pop-pembeda,.pop[data-tier=megah] .pop-harga-judul h3,.pop[data-tier=megah] .pop-harga .angka,.pop[data-tier=megah] .pop-bayar b{color:var(--pasir-100)}
.pop[data-tier=megah] .pop-meta,.pop[data-tier=megah] .pop-harga s{color:var(--batu-400)}
.pop[data-tier=megah] .pop-daftar svg,.pop[data-tier=megah] .pop-jadwal svg{color:var(--emas-500)}
.pop[data-tier=megah] .pop-harga th{color:var(--kabut-200);border-bottom-color:var(--emas-500)}
.pop[data-tier=megah] .pop-harga td{border-bottom-color:var(--navy-500)}
.pop[data-tier=megah] .pop-harga .kosong{color:var(--emas-300)}
.pop[data-tier=megah] .pop-catatan{color:var(--kabut-200)}
.pop[data-tier=megah] .pop-aksi::before{background:var(--navy-500)}
.pop[data-tier=megah] .pop-alat button{background:var(--navy-700);color:var(--pasir-100);border-color:var(--navy-500)}
.pop[data-tier=megah] .pop-alat button:hover{border-color:var(--emas-300)}
.pop[data-tier=megah] .pop-alat button[aria-pressed=true]{border-color:var(--emas-500);color:var(--emas-300)}
.pop[data-tier=megah] :focus-visible{outline:3px solid var(--emas-500);box-shadow:none}
.pop[data-tier=megah] .btn--garis{--fg:var(--pasir-100);--bd:var(--emas-300)}
.pop[data-tier=megah] .btn--garis:hover{background:var(--pasir-100);color:var(--navy-900)}
.pop[data-tier=megah] .btn--teks{color:var(--emas-300)}
.pop[data-tier=megah] .pop-bingkai{box-shadow:0 0 0 1px rgba(227,204,148,.55)}
.pop[data-tier=megah] .pop-sudut{display:block;position:absolute;width:22px;height:22px;color:var(--emas-300);z-index:4}
.pop-sudut.a{top:2px;left:2px}.pop-sudut.b{top:2px;right:2px}.pop-sudut.c{bottom:2px;left:2px}.pop-sudut.d{bottom:2px;right:2px}
.pop[data-tier=megah] .pop-galeri{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.pop-galeri figure{margin:0}
.pop-galeri img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
.pop-galeri figcaption{font-size:var(--fs-meta);color:var(--batu-400);margin-top:6px}
.pop[data-tier=megah] .pop-tilt.aktif .pop-kilap{opacity:1}
.pop.bergerak[data-tier=plus] .pop-bingkai img,.pop.bergerak[data-tier=megah] .pop-bingkai img{animation:ken-burns var(--dur-kb) linear 1 forwards}
@keyframes ken-burns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.08) translate(-2%,-1%)}}
@media (max-width:767px){
  .pop-panggung{padding:0;place-items:stretch}
  .pop-tilt{height:100%;width:100%;min-width:0}
  .pop-kartu{width:100%;min-width:0;height:100dvh;max-height:none;border-radius:0;grid-template-columns:minmax(0,1fr);grid-template-rows:34svh minmax(0,1fr)}
  .pop-kartu::before{inset:8px;border-radius:6px}
  .pop[data-tier=plus] .pop-kartu::after{inset:12px}
  .pop-foto{padding:16px 16px 0}
  .pop-bingkai{min-height:0}
  .pop-kanan{max-height:none;min-height:0}
  .pop-isi{padding:24px 24px 16px}
  .pop-aksi{padding:16px 20px calc(20px + env(safe-area-inset-bottom));gap:8px 12px}
  .pop-aksi::before{left:20px;right:20px}
  .pop-aksi .btn--utama{width:100%}
  .pop-aksi .btn--garis{flex:1}
  .pop-alat{top:16px;right:16px}
  .pop-alat .lbl-tutup{display:none}
  .pop-alat button{padding:0 12px;min-width:48px;justify-content:center}
  .pop-alat .lbl-suara{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .pop-harga .angka{font-size:17px}
  .pop-harga thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .pop-harga tr{display:grid;grid-template-columns:minmax(0,1fr)}
  .pop-harga td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-right:0}
  .pop-harga td::before{content:attr(data-label);font-size:var(--fs-meta);font-weight:500;color:var(--batu-700)}
  .pop[data-tier=megah] .pop-harga td::before{color:var(--kabut-200)}
  .pop-harga td s{margin-left:auto}
}

/* ================= WIZARD (V3) ================= */
.wiz{position:fixed;inset:0;margin:auto;padding:0;border:0;width:min(880px,94vw);max-width:none;height:auto;max-height:88vh;border-radius:var(--r-panel);background:var(--pasir-50);color:var(--tinta-900);box-shadow:var(--sh-2);overflow:hidden}
.wiz[open]{display:flex;flex-direction:column}
.wiz::backdrop{background:rgba(10,23,48,.72)}
.wiz-kepala{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:12px 24px 12px 48px;border-bottom:1px solid var(--pasir-300);flex:none}
.wiz-kepala h2{font-size:28px;line-height:1.15}
.wiz-tutup{display:inline-flex;align-items:center;gap:8px;min-height:48px;min-width:48px;padding:0 14px;border:1.5px solid var(--pasir-300);border-radius:var(--r-kontrol);background:none;color:var(--navy-900);font-weight:600;cursor:pointer}
.wiz-tutup:hover{border-color:var(--navy-900)}
.wiz-tutup svg{width:20px;height:20px}
.wiz-progres{padding:16px 48px 12px;flex:none}
.wiz-progres p{margin:0 0 8px;font-size:var(--fs-meta);color:var(--batu-600)}
.wiz-progres p b{color:var(--navy-900);font-weight:600;margin-right:8px}
.wiz-bar{position:relative;height:6px;border-radius:3px;background:var(--pasir-200)}
.wiz-bar>i{position:absolute;inset:0;border-radius:3px;background:var(--navy-900);transform-origin:left;transform:scaleX(var(--isi,.2));transition:transform 420ms var(--ease-tiba)}
.wiz-bar>b{position:absolute;top:50%;left:calc(var(--isi,.2) * 100%);width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--emas-500);box-shadow:0 0 0 1.5px var(--navy-900);transition:left 420ms var(--ease-tiba)}
.wiz-label{display:none;list-style:none;margin:8px 0 0;gap:4px;flex-wrap:wrap}
.wiz-label li{display:flex}
.wiz-label button,.wiz-label span{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 10px;border:0;background:none;font-size:var(--fs-meta);color:var(--batu-600);border-bottom:2px solid transparent}
.wiz-label button{cursor:pointer;color:var(--tinta-900)}
.wiz-label button svg{width:18px;height:18px;color:var(--hijau-700)}
.wiz-label button:hover{text-decoration:underline;text-underline-offset:4px}
.wiz-label [aria-current]{color:var(--navy-900);font-weight:600;border-bottom-color:var(--emas-500)}
@media (min-width:1024px){.wiz-label{display:flex}}
.wiz-isi{flex:1;overflow:auto;padding:32px 48px 40px;overscroll-behavior:contain;min-height:0}
.wiz-isi:focus{outline:none}
.wiz-langkah h3,.wiz-tanya{font-size:var(--fs-h2);line-height:1.12;max-width:22ch;font-family:var(--ff-judul);color:var(--navy-900)}
.wiz-langkah h3:focus{outline:none}
.wiz-bantu{margin-top:8px;color:var(--batu-600);max-width:56ch}
.wiz-kaki{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:88px;padding:16px 48px;border-top:1px solid var(--pasir-300);background:var(--pasir-50);flex:none}
.wiz-kaki .btn--garis{--bd:var(--navy-900)}
.wiz fieldset{border:0;margin:24px 0 0;padding:0;min-width:0}
.wiz legend{padding:0;margin-bottom:12px;font-weight:600;color:var(--navy-900);font-size:var(--fs-ui)}
.wiz fieldset.galat-isian{padding-left:16px;border-left:3px solid var(--merah-600)}
.pilih-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.pilih-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pilih-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.pilih-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:640px) and (max-width:899px){.pilih-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pilih{position:relative;display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 16px;border:1.5px solid var(--batu-600);border-radius:var(--r-kartu);background:var(--pasir-50);cursor:pointer;transition:background-color var(--dur-1),box-shadow var(--dur-2),transform var(--dur-1)}
.pilih:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.pilih:hover{background:var(--pasir-100);box-shadow:var(--sh-1)}}
.pilih input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.pilih .ikon{width:32px;height:32px;flex:none;color:var(--emas-800)}
.pilih .teks{flex:1;min-width:0}
.pilih .teks b{display:block;font-size:19px;font-weight:600;line-height:1.3;color:var(--tinta-900)}
.pilih .teks small{display:block;font-size:var(--fs-meta);color:var(--batu-600);line-height:1.45;margin-top:2px}
.pilih .chip-r{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:var(--r-pil);background:var(--emas-100);color:var(--emas-800);font-size:var(--fs-meta);font-weight:600}
.pilih-penanda{flex:none;width:24px;height:24px;border:1.5px solid var(--batu-600);border-radius:50%;display:grid;place-items:center;background:var(--pasir-50)}
.pilih--kotak .pilih-penanda{border-radius:4px}
.pilih-penanda svg{width:16px;height:16px;color:var(--pasir-50);opacity:0}
.pilih:has(input:checked){border:2px solid var(--navy-900);background:var(--emas-100);padding:11.5px 15.5px}
.pilih:has(input:checked) .pilih-penanda{background:var(--navy-900);border-color:var(--navy-900)}
.pilih:has(input:checked) .pilih-penanda svg{opacity:1}
.pilih:has(input:focus-visible){outline:3px solid var(--navy-900);outline-offset:3px}
.pilih--tinggi{min-height:120px;align-items:flex-start}
.wiz-galat{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;color:var(--merah-600);font-weight:600;font-size:var(--fs-meta)}
.wiz-galat svg{width:20px;height:20px;flex:none;margin-top:2px}
.wiz-catatan{margin-top:16px;font-size:var(--fs-meta);color:var(--batu-700)}
.stepper{display:inline-flex;align-items:center;gap:16px;margin-top:4px}
.stepper button{width:56px;height:56px;border:1.5px solid var(--batu-600);border-radius:var(--r-kontrol);background:var(--pasir-50);font-size:28px;line-height:1;color:var(--navy-900);cursor:pointer}
.stepper button:disabled{opacity:.45;cursor:not-allowed}
.stepper output{min-width:64px;text-align:center;font-family:var(--ff-judul);font-size:44px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--navy-900)}
.wiz-bidang{margin-top:24px;display:grid;gap:8px;max-width:520px}
.wiz-bidang label{font-weight:600;font-size:17px;color:var(--navy-900)}
.wiz-bidang input,.wiz-bidang select{min-height:56px;padding:0 16px;border:1.5px solid var(--batu-600);border-radius:var(--r-kontrol);background:#fff;font-size:var(--fs-ui);width:100%}
.wiz-bidang input:focus-visible,.wiz-bidang select:focus-visible{outline:3px solid var(--navy-900);outline-offset:2px}
.wiz-bidang input[aria-invalid=true]{border-color:var(--merah-600);border-width:2px}
.wiz-bidang .bantu{font-size:var(--fs-meta);color:var(--batu-600)}
.segmen-baris{margin-top:16px;padding:16px;border:1.5px solid var(--pasir-300);border-radius:var(--r-kartu);background:#fff}
.segmen-baris legend{float:left;width:100%;margin-bottom:12px}
.segmen-baris .seg{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.seg label{position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;padding:0 8px;border:1.5px solid var(--batu-600);border-radius:var(--r-kontrol);font-weight:600;cursor:pointer;text-align:center;background:var(--pasir-50)}
.seg input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.seg label:has(input:checked){background:var(--navy-900);border-color:var(--navy-900);color:var(--pasir-50)}
.seg label:has(input:focus-visible){outline:3px solid var(--navy-900);outline-offset:3px}
.kotak-info{margin-top:24px;padding:16px 20px;border-left:3px solid var(--navy-900);background:var(--pasir-100);font-size:var(--fs-meta)}
.kotak-awas{display:flex;gap:12px;margin-top:24px;padding:16px 20px;border-left:3px solid var(--emas-800);background:var(--emas-100);color:var(--navy-900);font-weight:500}
.kotak-awas svg{width:24px;height:24px;flex:none;color:var(--emas-800)}
.wiz-harga-kamar{display:block;margin-top:6px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--navy-900)}
.wiz-harga-kamar.kosong{color:var(--emas-800)}
.wiz-harga-kamar s{font-weight:500;color:var(--batu-600);margin-right:8px}
.ringkas{margin-top:24px;display:grid;gap:0;border-top:1px solid var(--pasir-300)}
.ringkas>div{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 0;border-bottom:1px solid var(--pasir-300)}
@media (min-width:640px){.ringkas>div{grid-template-columns:200px minmax(0,1fr) auto;align-items:center;gap:16px}}
.ringkas dt{color:var(--batu-600);font-size:var(--fs-meta)}
.ringkas dd{margin:0;color:var(--tinta-900);font-weight:500}
.ringkas .btn--teks{min-height:44px;justify-self:start}
.setuju{display:flex;align-items:flex-start;gap:12px;margin-top:24px;min-height:48px;cursor:pointer;font-weight:500}
.setuju input{width:24px;height:24px;margin:2px 0 0;flex:none;accent-color:var(--navy-900)}
.alasan-nonaktif{margin-top:8px;font-size:var(--fs-meta);color:var(--batu-700)}
.wiz-hapus{color:var(--merah-600)!important;margin-top:16px}
.wiz-selesai{text-align:center;padding:24px 0}
.wiz-selesai svg{width:48px;height:48px;margin:0 auto 16px;color:var(--hijau-700)}
.wiz-selesai h3{margin:0 auto}
.wiz-selesai p{margin:12px auto 0;max-width:48ch}
.wiz-selesai .btn-grup{justify-content:center;margin-top:24px}
.wiz-lanjut{padding:24px;border:1.5px solid var(--pasir-300);border-radius:var(--r-kartu);background:#fff;max-width:560px}
.wiz-lanjut .btn-grup{margin-top:24px}
/* hasil rekomendasi */
.hasil-wiz{display:grid;gap:24px;margin-top:24px}
@media (min-width:900px){.hasil-wiz{grid-template-columns:7fr 5fr;align-items:start}}
.rek-utama{display:grid;gap:20px;padding:20px;border:1.5px solid var(--emas-500);border-radius:var(--r-kartu);background:#fff}
@media (min-width:640px){.rek-utama{grid-template-columns:160px minmax(0,1fr)}}
.rek-utama .foto{width:160px;aspect-ratio:4/5;border-radius:var(--r-lengkung);overflow:hidden;background:var(--navy-900)}
.rek-utama .foto img,.rek-alt .foto img{width:100%;height:100%;object-fit:cover}
.rek-utama h4{font-family:var(--ff-judul);font-size:var(--fs-h3);line-height:1.15;color:var(--navy-900)}
.rek-utama .alasan{margin-top:8px;font-size:19px;line-height:1.5}
.rek-utama .btn-grup{margin-top:16px}
.rek-utama .btn--garis{--bd:var(--navy-900)}
.rek-alt{list-style:none;display:grid;gap:12px}
.rek-alt li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:start;padding:12px;border:1.5px solid var(--pasir-300);border-radius:var(--r-kartu);background:#fff}
.rek-alt .foto{width:72px;height:90px;border-radius:var(--r-lengkung);overflow:hidden;background:var(--navy-900)}
.rek-alt h4{font-family:var(--ff-judul);font-size:1.375rem;line-height:1.2;color:var(--navy-900)}
.rek-alt p{font-size:var(--fs-meta);margin-top:4px}
.rek-alt .btn--teks{min-height:44px}
.rek-label{font-size:var(--fs-meta);font-weight:600;color:var(--batu-700);margin-bottom:8px}
/* konfirmasi tutup */
.wiz-konfirm{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:20px;background:rgba(10,23,48,.55)}
.wiz-konfirm>div{width:min(440px,100%);padding:24px;border-radius:var(--r-kartu);background:var(--pasir-50);box-shadow:var(--sh-2)}
.wiz-konfirm h3{font-size:1.75rem;line-height:1.2;color:var(--navy-900)}
.wiz-konfirm p{margin-top:8px}
.wiz-konfirm .btn-grup{margin-top:20px}
.wiz-konfirm .btn--garis{--bd:var(--navy-900)}
.wiz.geser-maju .wiz-langkah{animation:wiz-maju 280ms var(--ease-tiba)}
.wiz.geser-mundur .wiz-langkah{animation:wiz-mundur 280ms var(--ease-tiba)}
@keyframes wiz-maju{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes wiz-mundur{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.wiz[open]{animation:wiz-tiba 320ms var(--ease-tiba)}
@keyframes wiz-tiba{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (max-width:767px){
  .wiz{width:100vw;height:100dvh;max-height:none;border-radius:0;margin:0}
  .wiz-kepala{padding:8px 12px 8px 20px;min-height:64px}
  .wiz-kepala h2{font-size:24px}
  .wiz-progres{padding:12px 20px 8px}
  .wiz-isi{padding:20px 20px 32px}
  .wiz-kaki{flex-direction:column-reverse;align-items:stretch;gap:4px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));min-height:0}
  .wiz-kaki .btn{width:100%}
  .wiz-kaki .btn--garis{border:0;min-height:48px;text-decoration:underline;text-underline-offset:6px;color:var(--emas-800)}
  .rek-utama .foto{width:100%;aspect-ratio:16/10;border-radius:var(--r-kartu)}
}

/* ================= #HARGA (V5) ================= */
.harga-bagian{background:var(--pasir-50)}
.harga-bagian .kepala{margin-bottom:var(--sp-6)}
.tabel-harga{display:none;width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tabel-harga thead th{font-size:var(--fs-meta);font-weight:600;color:var(--batu-700);text-align:right;padding:12px 16px;border-bottom:1.5px solid var(--navy-900)}
.tabel-harga thead th:first-child{text-align:left;padding-left:20px}
.tabel-harga tbody th,.tabel-harga td{padding:20px 16px;border-bottom:1px solid var(--pasir-300);vertical-align:middle}
.tabel-harga tbody tr{min-height:88px}
.tabel-harga tbody tr:nth-child(even){background:var(--pasir-100)}
.tabel-harga tbody th{text-align:left;font-weight:400;width:28%;padding-left:20px;border-left:3px solid transparent}
.tabel-harga tr.promo th{border-left-color:var(--emas-500)}
.tabel-harga td{text-align:right;width:15%}
.tabel-harga td.dp{width:12%}
.tabel-harga .nm{display:block;font-family:var(--ff-judul);font-size:24px;font-weight:600;line-height:1.15;color:var(--navy-900)}
.tabel-harga .hr{display:block;font-size:var(--fs-meta);color:var(--batu-600);margin-top:2px}
.tabel-harga .lencana-baris{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tabel-harga .lencana-baris .tier-lencana{margin:0;min-height:28px;padding:0 10px}
.tabel-harga .angka,.kartu-harga .angka{font-weight:600;font-size:19px;color:var(--navy-900);white-space:nowrap}
.tabel-harga .kosong,.kartu-harga .kosong{font-weight:600;font-size:var(--fs-meta);color:var(--emas-800)}
.tabel-harga .redup,.kartu-harga .redup{font-size:var(--fs-meta);color:var(--batu-700)}
.tabel-harga .btn--teks{min-height:44px;font-size:var(--fs-meta);margin-top:4px}
.kartu-harga-grid{display:grid;gap:16px}
@media (min-width:640px){.kartu-harga-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kartu-harga{padding:20px;border:1px solid var(--pasir-300);border-radius:var(--r-kartu);background:var(--pasir-100)}
.kartu-harga.promo{border-left:3px solid var(--emas-500)}
.kartu-harga h3{font-size:1.625rem;line-height:1.2}
.kartu-harga .hr{font-size:var(--fs-meta);color:var(--batu-600);margin-top:2px}
.kartu-harga .lencana-baris{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.kartu-harga .lencana-baris .tier-lencana{margin:0;min-height:28px;padding:0 10px}
.kartu-harga dl{margin:12px 0 0}
.kartu-harga dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px dashed var(--pasir-300)}
.kartu-harga dl>div.tebal{border-top:1.5px solid var(--batu-600);border-bottom:0}
.kartu-harga dl>div.tebal+div.tebal{border-top:0}
.kartu-harga dt{font-size:17px}
.kartu-harga dd{margin:0;text-align:right}
.kartu-harga .btn--teks{min-height:44px;margin-top:8px}
@media (min-width:1024px){.tabel-harga{display:table}.kartu-harga-grid{display:none}}
.harga-kaki{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;margin-top:var(--sp-5)}
.harga-kaki .catatan{margin:0;max-width:60ch}

/* ================= IKLAN (V6) ================= */
.promo-sticky{position:fixed;top:0;left:0;right:0;z-index:45;min-height:48px;background:var(--emas-100);border-bottom:1px solid var(--emas-500);color:var(--navy-900);transition:transform 240ms var(--ease-tiba)}
.promo-sticky.tutup{transform:translateY(-100%)}
.promo-sticky .wadah{display:flex;align-items:center;gap:12px;min-height:48px;padding-top:0;padding-bottom:0}
.promo-sticky p{margin:0;flex:1;min-width:0;font-size:var(--fs-meta);font-weight:500;line-height:1.35}
.promo-sticky p b{font-weight:600}
.promo-sticky .ikon-kecil{color:var(--emas-800)}
.promo-sticky a,.promo-sticky .tautan{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;border:0;background:none;color:var(--emas-800);font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:var(--fs-meta);white-space:nowrap}
.promo-sticky .x{display:grid;place-items:center;width:48px;height:48px;flex:none;border:0;background:none;color:var(--navy-900);cursor:pointer;border-radius:var(--r-kontrol)}
.promo-sticky .x svg{width:20px;height:20px}
.promo-sticky :focus-visible{outline:3px solid var(--navy-900);outline-offset:-3px}
@media (max-width:767px){.promo-sticky,.promo-sticky .wadah{min-height:56px}.promo-sticky .teks-panjang{display:none}}

.promo-pita{position:relative;background:var(--navy-900);color:var(--kabut-200);overflow:hidden}
.promo-pita__slide{display:grid;grid-template-columns:minmax(0,1fr);min-height:420px}
.promo-pita__slide[hidden]{display:none}
.promo-pita__foto{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy-800)}
.promo-pita__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.promo-pita__teks{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px var(--tepi) 96px}
.promo-pita__teks h2{font-size:28px;line-height:1.15;color:var(--pasir-100);max-width:22ch}
.promo-pita__teks p{font-size:18px;max-width:48ch;color:var(--kabut-200)}
.promo-pita__teks .btn{align-self:flex-start;margin-top:8px}
.promo-pita__kontrol{position:absolute;right:var(--tepi);bottom:16px;display:flex;align-items:center;gap:4px;z-index:2}
.promo-pita__kontrol button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:0 10px;border:0;background:none;color:var(--pasir-100);font-weight:600;cursor:pointer;border-radius:var(--r-kontrol)}
.promo-pita__kontrol svg{width:22px;height:22px}
.promo-pita__kontrol .titik{padding:0}
.promo-pita__kontrol .titik i{display:block;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--kabut-200)}
.promo-pita__kontrol .titik[aria-current=true] i{background:var(--emas-500);border-color:var(--emas-500)}
.promo-pita :focus-visible{outline:3px solid var(--emas-500);outline-offset:-3px}
.promo-pita.pudar .promo-pita__slide:not([hidden]){animation:pita-pudar 600ms ease}
@keyframes pita-pudar{from{opacity:0}to{opacity:1}}
@media (min-width:768px){
  .promo-pita__slide{grid-template-columns:6fr 6fr;min-height:280px}
  .promo-pita__foto{aspect-ratio:auto;min-height:280px}
  .promo-pita__teks{padding:32px var(--tepi) 80px 48px}
  .promo-pita__teks h2{font-size:36px}
}

.promo-banner-wadah{padding:var(--sp-7) 0;background:var(--pasir-100)}
.promo-banner-wadah.gelap-wadah{background:var(--navy-900)}
.promo-banner{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:center;min-height:160px;padding:20px;border:1px solid var(--emas-500);border-radius:var(--r-kartu);background:var(--pasir-50)}
.promo-banner__foto{width:120px;height:150px;border-radius:var(--r-lengkung);overflow:hidden;background:var(--navy-900) var(--khatam) center/40px}
.promo-banner__foto img{width:100%;height:100%;object-fit:cover}
.promo-banner h2{font-size:32px;line-height:1.15;color:var(--navy-900)}
.promo-banner p{margin-top:6px;font-size:18px;color:var(--batu-700);max-width:52ch}
.promo-banner .btn{width:100%}
@media (min-width:768px){.promo-banner{grid-template-columns:120px minmax(0,1fr) auto;gap:32px;padding:20px 32px 20px 20px}.promo-banner .btn{width:auto}}

.promo-pop{position:fixed;z-index:75;left:0;right:0;bottom:0;max-height:60svh;overflow:auto;padding:20px 20px calc(20px + env(safe-area-inset-bottom));background:var(--pasir-50);border-radius:var(--r-panel) var(--r-panel) 0 0;box-shadow:var(--sh-2);border:1px solid var(--emas-500);animation:promo-masuk 420ms var(--ease-tiba)}
@keyframes promo-masuk{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.promo-pop__foto{aspect-ratio:16/9;border-radius:var(--r-kartu);overflow:hidden;margin-bottom:16px}
.promo-pop__foto img{width:100%;height:100%;object-fit:cover}
.promo-pop h2{font-size:26px;line-height:1.2;color:var(--navy-900);padding-right:56px}
.promo-pop p{margin-top:8px;font-size:17px}
.promo-pop .btn-grup{margin-top:16px;flex-direction:column;align-items:stretch;gap:4px}
.promo-pop .x{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:48px;height:48px;border:1.5px solid var(--pasir-300);border-radius:var(--r-kontrol);background:var(--pasir-50);color:var(--navy-900);cursor:pointer}
.promo-pop .x svg{width:20px;height:20px}
@media (min-width:768px){.promo-pop{left:auto;right:24px;bottom:96px;width:380px;border-radius:var(--r-panel)}}
.ada-promo-pop .chat-tombol{opacity:0;visibility:hidden;pointer-events:none}
@media (min-width:768px){.ada-promo-pop .chat-tombol{opacity:1;visibility:visible;pointer-events:auto}}

/* ================= PARTNER (V7) ================= */
.partner-bagian{background:var(--pasir-100)}
.kategori-mitra{display:grid;gap:16px;padding:var(--sp-5) 0;border-top:1px solid var(--pasir-300)}
.kategori-mitra:last-of-type{border-bottom:1px solid var(--pasir-300)}
.kategori-mitra h3{font-size:28px;line-height:1.15}
@media (min-width:1024px){.kategori-mitra{grid-template-columns:3fr 9fr;align-items:center;gap:var(--sp-5)}}
.strip-mitra{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 8px;scrollbar-width:thin}
.strip-mitra>*{scroll-snap-align:start;flex:none}
.strip-mitra__kalimat{margin:8px 0 0;font-size:var(--fs-meta);color:var(--batu-600)}
.ubin-mitra{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:220px;min-height:140px;padding:16px;border-radius:var(--r-kartu);background:var(--pasir-50);text-align:center;text-decoration:none;color:var(--navy-900)}
.ubin-mitra::before{content:"";position:absolute;inset:6px;border:1px solid var(--emas-500);border-radius:5px;pointer-events:none;transition:border-width var(--dur-2)}
.ubin-mitra__monogram{width:56px;height:56px;color:var(--emas-800);transition:transform 600ms var(--ease-tiba)}
.ubin-mitra__nama{font-size:var(--fs-meta);font-weight:600;line-height:1.3}
.ubin-mitra__ket{font-size:var(--fs-meta);color:var(--batu-700);line-height:1.35;font-variant-numeric:tabular-nums}
.ubin-mitra img{max-width:160px;max-height:64px;object-fit:contain}
@media (hover:hover) and (pointer:fine){.ubin-mitra:hover::before{border-width:1.5px}.ubin-mitra:hover .ubin-mitra__monogram{transform:rotate(22.5deg)}}
a.ubin-mitra:hover .ubin-mitra__nama{text-decoration:underline;text-underline-offset:4px}
@media (max-width:767px){.ubin-mitra{width:160px;min-height:112px;padding:12px}.ubin-mitra__monogram{width:44px;height:44px}}
.strip-nav{display:flex;align-items:center;gap:8px;margin-top:4px}
.strip-nav button{display:grid;place-items:center;width:48px;height:48px;border:1.5px solid var(--batu-600);border-radius:var(--r-kontrol);background:none;color:var(--navy-900);cursor:pointer}
.strip-nav button svg{width:20px;height:20px}
.strip-nav span{font-size:var(--fs-meta);color:var(--batu-600)}
@media (min-width:1024px){.strip-nav{display:none}}
.partner-aksi{margin-top:var(--sp-5)}
.partner-aksi .btn--garis{--bd:var(--navy-900)}
/* partner.html */
.mitra-hero{padding:calc(var(--header) + 64px) 0 48px;background:var(--pasir-100);min-height:320px}
.mitra-hero .judul-bagian{max-width:18ch}
.mitra-tab{position:sticky;top:var(--header);z-index:30;background:var(--pasir-50);border-bottom:1px solid var(--pasir-300)}
.mitra-tab ul{list-style:none;display:flex;gap:4px;overflow-x:auto;margin:0;padding:0}
.mitra-tab a{display:flex;align-items:center;min-height:56px;padding:0 16px;font-weight:600;text-decoration:none;color:var(--navy-900);white-space:nowrap;border-bottom:3px solid transparent}
.mitra-tab a:hover,.mitra-tab a:focus-visible{border-bottom-color:var(--emas-500)}
.mitra-kategori{padding:var(--sp-7) 0 0;scroll-margin-top:calc(var(--header) + 72px)}
.mitra-kategori h2{font-size:var(--fs-h2);margin-bottom:var(--sp-4)}
.mitra-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:1024px){.mitra-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.mitra-grid .ubin-mitra{width:auto}
.mitra-kaki{margin:var(--sp-8) 0 var(--sp-8);padding:var(--sp-6);border:1px solid var(--emas-500);border-radius:var(--r-kartu);background:var(--pasir-50);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.mitra-kaki h2{font-size:var(--fs-h2)}
.header-mitra .nav{display:none}
@media (min-width:1180px){.header-mitra .nav{display:block}}

/* ================= gerak dikurangi ================= */
@media (prefers-reduced-motion:reduce){
  .pop *,.wiz,.wiz *,.promo-pita *,.promo-pop,.promo-sticky,.header{animation:none!important;transition:none!important}
}

/* QA Rasyid putaran 2 (t_380c86f6): pop-up iklan disembunyikan selama wizard/pop-up paket terbuka, agar tidak tampak di balik latar */
body:has(dialog[open]) .promo-pop{visibility:hidden}
/* v3.4 t_53a44168: cegah geser samping di HP sempit (300-359px). Kolom grid kategori mitra
   sebelumnya melebar mengikuti isi strip (≈340px) sehingga halaman bisa digeser ~28px. */
@media (max-width:1023px){.kategori-mitra{grid-template-columns:minmax(0,1fr)}}
.kategori-mitra>*,.strip-nav span{min-width:0}
/* tombol geser galeri: boleh turun baris di layar sangat sempit (≤340px) daripada meluap */
.mosaik__nav{flex-wrap:wrap}
@media (max-width:340px){.mosaik__nav button{padding:0 12px}}
