/* ============================================================
   Amdis Rent Car Lampung — sistem desain (ditulis tangan, prefiks amd-)
   Tanpa Tailwind runtime, tanpa CDN. Komponen baru: tambahkan di sini.
   Font di-host sendiri (fonts/), lihat @font-face di bawah.
   ============================================================ */

/* ---------- Font ---------- */
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plus-jakarta-sans-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plus-jakarta-sans-latin-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plus-jakarta-sans-latin-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plus-jakarta-sans-latin-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plus-jakarta-sans-latin-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-latin-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-latin-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-latin-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}

/* ---------- Token ---------- */
:root{
  --amd-navy-900:#0a0f1f; --amd-navy-800:#0f1a3a; --amd-navy-700:#16244d;
  --amd-ink:#0f172a; --amd-ink-2:#334155; --amd-muted:#64748b; --amd-muted-2:#94a3b8;
  --amd-line:#e6e9f0; --amd-line-2:#f1f4f9;
  --amd-bg:#f7f9fc; --amd-card:#ffffff;
  --amd-blue:#2563eb; --amd-blue-2:#1d4ed8; --amd-blue-3:#3b82f6; --amd-blue-soft:#eef4ff;
  --amd-amber:#f59e0b; --amd-amber-2:#b45309; --amd-amber-soft:#fef3c7;
  --amd-wa:#25d366;
  --amd-success:#059669; --amd-success-soft:#d1fae5;
  --amd-danger:#dc2626; --amd-danger-soft:#fee2e2;
  /* Warna teks di atas latar "-soft" (kapsul/status/pil) — dipisah dari token
     aksen biasa supaya bisa ditukar terang di mode gelap tanpa mengubah warna
     aksen di tempat lain (ikon, tombol, dll). */
  --amd-success-ink:#065f46; --amd-danger-ink:#991b1b; --amd-amber-ink:#b45309; --amd-blue-ink:#1d4ed8;
  --amd-radius:18px; --amd-radius-sm:12px; --amd-radius-xs:9px; --amd-radius-lg:22px;
  /* Skala jarak (mengikuti token "space-*" pada referensi Stitch) */
  --amd-s-2xs:4px; --amd-s-xs:8px; --amd-s-sm:12px; --amd-s-md:16px;
  --amd-s-lg:24px; --amd-s-xl:32px; --amd-s-2xl:48px; --amd-s-3xl:64px; --amd-s-4xl:84px;
  --amd-shadow-xs:0 1px 2px rgba(10,15,31,.05);
  --amd-shadow-sm:0 1px 3px rgba(10,15,31,.08),0 1px 2px rgba(10,15,31,.04);
  --amd-shadow-md:0 8px 24px rgba(10,15,31,.08),0 2px 6px rgba(10,15,31,.04);
  --amd-shadow-lg:0 24px 56px rgba(10,15,31,.14),0 6px 16px rgba(10,15,31,.06);
  --amd-body:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --amd-display:'Fraunces','Iowan Old Style',Georgia,'Times New Roman',serif;
  /* Skala tipografi — dipakai lintas komponen agar hierarki konsisten */
  --fz-eyebrow:11.5px;  /* kicker / label huruf kapital */
  --fz-cap:12.5px;      /* keterangan, meta, hint */
  --fz-sm:13.5px;       /* teks sekunder */
  --fz-body:15px;       /* teks isi */
  --fz-lead:16px;       /* paragraf pengantar */
  --fz-h4:1.06rem;      /* judul kartu / sub-bagian */
  --fz-h3:1.32rem;
  --amd-ease:cubic-bezier(.16,1,.3,1);
  --amd-dur:.7s;
}

/* ---------- Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body.amd{
  font-family:var(--amd-body);color:var(--amd-ink);background:var(--amd-bg);
  line-height:1.72;font-size:16px;font-weight:400;letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.amd img{max-width:100%;display:block}
.amd a{color:var(--amd-blue-2);text-decoration:none;transition:color .15s}
.amd a:hover{color:var(--amd-blue)}
/* Tautan yang berperan sebagai tombol: warna teks ikut varian, bukan warna tautan.
   Selektor di-qualify dengan `a` agar menang atas `.amd a` (spesifisitas). */
.amd a.amd-btn{color:var(--amd-ink)}
.amd a.amd-btn--primary,.amd a.amd-btn--blue,.amd a.amd-btn--wa{color:#fff}
.amd a.amd-btn--primary:hover,.amd a.amd-btn--blue:hover,.amd a.amd-btn--wa:hover{color:#fff}
.amd a.amd-btn--light{color:var(--amd-navy-900)}
.amd a.amd-btn--outline{color:var(--amd-ink)}
.amd a.amd-btn--ghost{color:var(--amd-ink-2)}
.amd-section--navy a.amd-btn--outline{color:#fff}
.amd ::selection{background:var(--amd-blue-soft);color:var(--amd-blue-2)}
.amd :focus-visible{outline:2px solid var(--amd-blue);outline-offset:2px;border-radius:4px}
.amd-i{width:1.15em;height:1.15em;flex:none;vertical-align:-.18em}

/* ---------- Tipografi ---------- */
.amd h1,.amd h2,.amd h3,.amd h4{font-family:var(--amd-display);color:var(--amd-ink);line-height:1.12;font-weight:500;letter-spacing:-.02em;overflow-wrap:break-word}
.amd h1{font-size:clamp(2.3rem,6vw,3.9rem);font-weight:500}
.amd h2{font-size:clamp(1.85rem,4vw,2.85rem)}
.amd h3{font-size:1.4rem}
.amd h4{font-size:1.05rem;font-family:var(--amd-body);font-weight:700;letter-spacing:-.01em}
.amd p{color:var(--amd-ink-2)}
.amd small{color:var(--amd-muted);font-size:13.5px}
.amd em,.amd i.amd-accent{font-style:normal;color:var(--amd-blue);font-weight:600}
.amd h1 em{font-family:var(--amd-display);font-style:italic;color:var(--amd-blue);font-weight:500}

/* ---------- Layout ---------- */
.amd-container{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(20px, 4.4vw, 44px)}
.amd-section{padding:76px 0;position:relative}
.amd-section--alt{background:var(--amd-card);border-top:1px solid var(--amd-line);border-bottom:1px solid var(--amd-line)}
.amd-section--navy{background:var(--amd-navy-900);color:rgba(255,255,255,.78)}
.amd-section--navy h1,.amd-section--navy h2,.amd-section--navy h3,.amd-section--navy h4{color:#fff}
.amd-section--navy p{color:rgba(255,255,255,.72);line-height:1.85}
.amd-section--navy .amd-container>div>p{max-width:48ch;margin-left:auto;margin-right:auto}
.amd-section--navy .amd-kicker{color:var(--amd-amber)}
.amd-section--navy a:not(.amd-btn){color:#fff}
.amd-section--tight{padding-top:0}
.amd-head{text-align:center;max-width:680px;margin:0 auto 52px}
.amd-head--left{text-align:left;margin-left:0}
.amd-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--amd-blue);text-transform:uppercase;letter-spacing:.16em;margin-bottom:14px}
.amd-kicker::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--amd-amber)}
.amd-section--navy .amd-kicker{color:var(--amd-amber)}
.amd-head h2{margin-bottom:14px}
.amd-section--navy .amd-head h2{color:#fff}
.amd-head p{color:var(--amd-muted);font-size:16px;line-height:1.8;max-width:46ch;margin-left:auto;margin-right:auto}
.amd-section--navy .amd-head p{color:rgba(255,255,255,.72)}

/* Grid helpers */
.amd-grid{display:grid;gap:22px}
.amd-grid--2{grid-template-columns:1fr}
.amd-grid--3{grid-template-columns:1fr}
.amd-grid--4{grid-template-columns:1fr}

/* ---------- Tombol ---------- */
.amd-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:12px;font-weight:700;font-size:15px;color:var(--amd-ink);border:1px solid transparent;cursor:pointer;transition:transform .12s var(--amd-ease),box-shadow .18s,background .18s,border-color .18s,color .18s;text-decoration:none;min-height:50px;justify-content:center;white-space:nowrap;font-family:inherit;line-height:1}
.amd-btn:active{transform:translateY(1px)}
.amd-btn--primary{background:var(--amd-navy-900);color:#fff;box-shadow:var(--amd-shadow-sm)}
.amd-btn--primary:hover{background:var(--amd-navy-800);color:#fff;box-shadow:var(--amd-shadow-md)}
.amd-btn--blue{background:var(--amd-blue);color:#fff;box-shadow:var(--amd-shadow-sm)}
.amd-btn--blue:hover{background:var(--amd-blue-2);color:#fff;box-shadow:var(--amd-shadow-md)}
.amd-btn--outline{background:var(--amd-card);color:var(--amd-ink);border-color:var(--amd-line)}
.amd-btn--outline:hover{border-color:var(--amd-blue-3);color:var(--amd-blue);background:var(--amd-blue-soft)}
.amd-btn--ghost{background:transparent;color:var(--amd-ink-2)}
.amd-btn--ghost:hover{background:var(--amd-line-2);color:var(--amd-ink)}
/* "wa" = tombol aksi WhatsApp: kini biru (konsisten dengan tombol lain),
   hanya IKON-nya yang tetap hijau agar mudah dikenali. */
.amd-btn--wa{background:var(--amd-blue);color:#fff}
.amd-btn--wa:hover{background:var(--amd-blue-2);color:#fff;box-shadow:var(--amd-shadow-md)}
.amd-btn--wa .amd-i{color:#fff}
/* Selalu terang (dipakai di atas foto hero/permukaan gelap) — jangan ikut tema. */
.amd-btn--light{background:#fff;color:var(--amd-navy-900)}
.amd-btn--light:hover{background:#fef3c7;color:var(--amd-navy-900);box-shadow:var(--amd-shadow-md)}
.amd-btn--block{width:100%}
.amd-btn--sm{padding:10px 16px;font-size:13.5px;min-height:42px;border-radius:10px}
.amd-btn--lg{padding:16px 30px;font-size:16px;min-height:56px}
.amd-section--navy .amd-btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.amd-section--navy .amd-btn--outline:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.5)}

/* ---------- Subheader (bilah utilitas tipis di atas header mengambang) ----------
   Hanya desktop (≥960px, breakpoint yang sama dengan .amd-nav) — di lebar
   sempit kontrol ini sudah ada di app-shell/.amd-mobnav, jadi tak perlu diulang
   di sini. Tujuannya memisah kontrol bahasa/tema/akun dari baris logo+nav+WA
   yang tadinya berdesakan jadi satu baris. */
.amd-subheader{display:none}
@media(min-width:960px){
  .amd-subheader{display:block;background:var(--amd-line-2);border-bottom:1px solid var(--amd-line)}
  .amd-subheader__inner{max-width:1180px;margin:0 auto;padding:7px clamp(14px, 4.4vw, 38px);display:flex;align-items:center;justify-content:space-between;gap:16px}
  .amd-subheader__info{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12.5px;font-weight:600;color:var(--amd-muted)}
  .amd-subheader__info span{display:inline-flex;align-items:center;gap:6px}
  .amd-subheader__info .amd-i{width:14px;height:14px;flex:none}
  .amd-subheader__info a{color:inherit}
  .amd-subheader__info a:hover{color:var(--amd-blue)}
  .amd-subheader__actions{display:flex;align-items:center;gap:8px}
  .amd-subheader .amd-lang{height:30px;padding:0 10px;font-size:12px;background:var(--amd-card)}
  .amd-subheader .amd-header__theme{width:30px;height:30px;border-radius:8px}
  .amd-subheader .amd-header__theme .amd-i{width:15px;height:15px}
  .amd-subheader .amd-btn--sm{height:30px;min-height:30px;padding:0 12px;font-size:12px}
}

/* ---------- Header (floating) ---------- */
.amd-header{position:sticky;top:0;z-index:60;padding:12px clamp(14px, 4.4vw, 38px) 0}
.amd-header__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1180px;margin:0 auto;padding:10px 14px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 8px 26px rgba(10,15,31,.09),0 2px 6px rgba(10,15,31,.04)}
.amd-logo{display:flex;align-items:center;gap:11px;color:var(--amd-ink)}
.amd-logo__mark{width:42px;height:42px;border-radius:12px;background:var(--amd-navy-900);color:#fff;display:grid;place-items:center}
.amd-logo__mark .amd-i{width:22px;height:22px}
.amd-logo__text strong{display:block;font-family:var(--amd-display);font-size:19px;font-weight:600;color:var(--amd-ink);letter-spacing:-.02em;line-height:1}
.amd-logo__text small{display:block;font-size:9.5px;color:var(--amd-muted);text-transform:uppercase;letter-spacing:.18em;margin-top:3px;font-weight:700}
.amd-nav{display:none;gap:clamp(14px, 1.7vw, 30px)}
.amd-nav a{color:var(--amd-ink-2);font-weight:600;padding:6px 0;font-size:14.5px;position:relative;white-space:nowrap}
.amd-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--amd-blue);transition:right .25s var(--amd-ease)}
.amd-nav a:hover{color:var(--amd-ink)}
.amd-nav a:hover::after,.amd-nav a.is-active::after{right:0}
.amd-nav a.is-active{color:var(--amd-blue)}
.amd-header__actions{display:none;gap:10px;align-items:center}
.amd-burger{background:var(--amd-card);border:1px solid var(--amd-line);width:44px;height:44px;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:var(--amd-ink)}
.amd-burger .amd-i{width:22px;height:22px}
.amd-mobnav{display:none;flex-direction:column;background:var(--amd-card);padding:10px;gap:2px;max-width:1180px;margin:8px auto 0;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 10px 28px rgba(10,15,31,.12)}
.amd-mobnav.is-open{display:flex;animation:amd-slidedown .22s var(--amd-ease)}
@keyframes amd-slidedown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.amd-mobnav a{padding:13px 12px;font-weight:600;color:var(--amd-ink);border-radius:12px;font-size:15.5px;display:flex;align-items:center;gap:12px}
.amd-mobnav a .amd-i{color:var(--amd-blue);width:20px;height:20px}
.amd-mobnav a:hover{background:var(--amd-blue-soft);color:var(--amd-blue)}
.amd-mobnav__wa{background:var(--amd-blue);color:#fff!important;margin-top:4px}
.amd-mobnav__wa .amd-i{color:#fff!important}

/* ---------- Hero ---------- */
.amd-hero{position:relative;padding:52px 0 64px;background:var(--amd-card);border-bottom:1px solid var(--amd-line);overflow:hidden}
.amd-hero::before{content:"";position:absolute;inset:0 0 0 auto;width:62%;background:linear-gradient(135deg,var(--amd-blue-soft),#fff);z-index:0;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);opacity:.85}
.amd-hero__inner{display:grid;gap:34px;position:relative;z-index:1;align-items:center}
.amd-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:999px;font-size:12.5px;font-weight:700;color:var(--amd-ink-2);width:fit-content;box-shadow:var(--amd-shadow-xs)}
.amd-badge .amd-i{color:var(--amd-amber);width:16px;height:16px}
.amd-hero h1{margin:16px 0 14px}
.amd-hero__sub{color:var(--amd-ink-2);font-size:16.5px;margin-bottom:30px;max-width:33rem;line-height:1.8}
.amd-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.amd-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:520px}
.amd-stat{background:var(--amd-card);border:1px solid var(--amd-line);padding:16px 12px;border-radius:14px;text-align:center;transition:transform .2s var(--amd-ease),border-color .2s}
.amd-stat:hover{transform:translateY(-2px);border-color:var(--amd-blue-3)}
.amd-stat b{display:block;font-family:var(--amd-display);font-size:26px;color:var(--amd-ink);font-weight:600;letter-spacing:-.02em;line-height:1}
.amd-stat span{font-size:11.5px;color:var(--amd-muted);margin-top:5px;display:block;font-weight:600}
.amd-hero__media{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--amd-shadow-lg);aspect-ratio:5/4}
.amd-hero__media img{width:100%;height:100%;object-fit:cover}
.amd-hero__tag{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.97);padding:12px 16px;border-radius:14px;display:flex;align-items:center;gap:12px;box-shadow:var(--amd-shadow-md)}
.amd-hero__tag .amd-i{color:var(--amd-blue);width:24px;height:24px}
.amd-hero__tag b{display:block;font-size:13.5px;color:var(--amd-ink);font-weight:700}
.amd-hero__tag small{color:var(--amd-muted);font-size:11.5px}

/* ---------- Quick-book ---------- */
.amd-quickbook{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:22px;padding:24px;box-shadow:var(--amd-shadow-md);margin-top:-36px;position:relative;z-index:5}
.amd-quickbook__head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.amd-quickbook__head .ic{width:44px;height:44px;border-radius:12px;background:var(--amd-navy-900);color:#fff;display:grid;place-items:center;flex:none}
.amd-quickbook__head .ic .amd-i{width:22px;height:22px}
.amd-quickbook__head h3{font-size:1.2rem;margin-bottom:2px}
.amd-quickbook__head p{font-size:13px;color:var(--amd-muted)}
.amd-quickbook form{display:grid;gap:13px}

/* ---------- Kartu mobil ---------- */
.amd-cars{display:grid;gap:22px;grid-template-columns:1fr}
.amd-carcard{background:var(--amd-card);border-radius:var(--amd-radius);overflow:hidden;border:1px solid var(--amd-line);transition:transform .18s var(--amd-ease),box-shadow .18s,border-color .18s;display:flex;flex-direction:column}
.amd-carcard:hover{transform:translateY(-4px);box-shadow:var(--amd-shadow-md);border-color:var(--amd-blue-3)}
.amd-carcard__thumb{aspect-ratio:16/11;background:var(--amd-line-2);position:relative;overflow:hidden}
.amd-carcard__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--amd-ease)}
.amd-carcard:hover .amd-carcard__thumb img{transform:scale(1.05)}
.amd-carcard__tags{position:absolute;top:12px;left:12px;display:flex;gap:6px;z-index:2}
.amd-chip-badge{background:var(--amd-navy-900);color:#fff;padding:5px 10px;border-radius:7px;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px}
.amd-chip-badge--amber{background:var(--amd-amber-soft);color:var(--amd-amber-ink)}
.amd-chip-badge--rented{background:var(--amd-card);color:var(--amd-ink-2);border:1px solid var(--amd-line)}
.amd-chip-badge .amd-i{width:13px;height:13px}

/* Mobil sedang disewa: kartu diredupkan, foto abu-abu, aksi dibatasi */
.amd-carcard.is-rented{opacity:.72}
.amd-carcard.is-rented .amd-carcard__thumb img{filter:grayscale(1) contrast(.95);transform:none!important}
.amd-carcard.is-rented:hover{transform:none;box-shadow:var(--amd-shadow-sm);border-color:var(--amd-line)}
.amd-carcard.is-rented:hover .amd-carcard__thumb img{transform:none!important}
.amd-detail.is-rented .amd-gallery__main img{filter:grayscale(.55)}
.amd-carcard__body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}
.amd-carcard__body h3{font-size:1.2rem}
.amd-carcard__meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11.5px;color:var(--amd-muted)}
.amd-carcard__meta span{display:inline-flex;align-items:center;gap:5px;background:var(--amd-line-2);padding:4px 9px;border-radius:7px;font-weight:600;color:var(--amd-ink-2)}
.amd-carcard__meta .amd-i{color:var(--amd-blue);width:13px;height:13px}
.amd-carcard__desc{color:var(--amd-muted);font-size:13px;line-height:1.65}
.amd-carcard__price{margin-top:auto;padding-top:14px;border-top:1px solid var(--amd-line);display:flex;align-items:baseline;justify-content:space-between;gap:6px;flex-wrap:wrap}
.amd-carcard__price b{color:var(--amd-ink);font-family:var(--amd-display);font-size:23px;font-weight:600;letter-spacing:-.01em}
.amd-carcard__price .per{color:var(--amd-muted);font-family:var(--amd-body);font-size:11.5px;font-weight:600;margin-left:3px}
.amd-carcard__rating{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--amd-muted);font-weight:600}
.amd-carcard__rating .amd-i{color:var(--amd-amber);width:13px;height:13px}
.amd-carcard__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* ---------- Carousel ---------- */
.amd-carousel{position:relative}
.amd-carousel__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.amd-carousel__track::-webkit-scrollbar{display:none}
.amd-carousel__track>*{flex:0 0 86%;scroll-snap-align:center}
.amd-carousel__ctrl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:8px}
.amd-carousel__ctrl button{width:42px;height:42px;border-radius:50%;background:var(--amd-card);border:1px solid var(--amd-line);cursor:pointer;color:var(--amd-ink);transition:.15s;display:grid;place-items:center;padding:0;flex:none}
.amd-carousel__ctrl button:hover{background:var(--amd-navy-900);color:#fff;border-color:var(--amd-navy-900)}
.amd-carousel__dots{display:inline-flex;gap:6px;align-items:center}
.amd-carousel__dots button{width:8px;height:8px;border-radius:50%;background:var(--amd-line);border:0;cursor:pointer;transition:all .25s var(--amd-ease);padding:0}
.amd-carousel__dots button.is-active{background:var(--amd-blue);width:24px;border-radius:4px}

/* ---------- Fitur ---------- */
.amd-features{display:grid;gap:18px;grid-template-columns:1fr}
.amd-feature{background:var(--amd-card);padding:26px 22px;border-radius:var(--amd-radius);border:1px solid var(--amd-line);transition:transform .18s var(--amd-ease),border-color .18s}
.amd-feature:hover{transform:translateY(-4px);border-color:var(--amd-blue-3)}
.amd-feature__ic{width:54px;height:54px;margin-bottom:16px;border-radius:15px;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center}
.amd-feature__ic .amd-i{width:25px;height:25px}
.amd-feature h3{font-size:1.08rem;margin-bottom:10px}
.amd-feature p{color:var(--amd-muted);font-size:14px;line-height:1.78}

/* ---------- Testimoni ---------- */
.amd-testi{background:var(--amd-card);padding:24px;border-radius:var(--amd-radius);border:1px solid var(--amd-line);height:100%;display:flex;flex-direction:column;gap:14px}
.amd-testi__stars{color:var(--amd-amber);display:flex;gap:2px}
.amd-testi__stars .amd-i{width:15px;height:15px;fill:var(--amd-amber)}
.amd-testi p{color:var(--amd-ink-2);font-size:14.5px;line-height:1.78;flex:1}
.amd-testi__quote{width:26px;height:26px;color:var(--amd-blue-3);opacity:.6}
.amd-testi__by{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--amd-line)}
.amd-testi__av{width:44px;height:44px;border-radius:50%;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center;font-weight:800;font-size:16px;overflow:hidden;flex:none}
.amd-testi__av img{width:100%;height:100%;object-fit:cover}
.amd-testi__by b{display:block;color:var(--amd-ink);font-size:14px;font-weight:700}
.amd-testi__by small{color:var(--amd-muted);font-size:12px}

/* ---------- Dinding ulasan: marquee auto-scroll tanpa henti ---------- */
/* Dua baris, arah berlawanan, kartu digandakan sekali agar loop mulus
   (translate -50% pas kembali ke set pertama). Murni CSS, tanpa JS/library —
   berhenti otomatis untuk prefers-reduced-motion, dan berhenti sesaat saat
   di-hover/fokus supaya bisa dibaca. */
.amd-testiwall{display:flex;flex-direction:column;gap:18px}
.amd-testimarquee{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.amd-testimarquee__track{display:flex;gap:20px;width:max-content;animation:amd-marquee 70s linear infinite}
.amd-testimarquee--rev .amd-testimarquee__track{animation-name:amd-marquee-rev}
.amd-testimarquee:hover .amd-testimarquee__track,
.amd-testimarquee:focus-within .amd-testimarquee__track{animation-play-state:paused}
.amd-testimarquee .amd-testi{flex:0 0 320px;height:auto}
.amd-testimarquee .amd-testi p{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}
@keyframes amd-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes amd-marquee-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){
  .amd-testimarquee__track{animation:none}
  .amd-testimarquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}
@media(max-width:640px){.amd-testimarquee .amd-testi{flex-basis:82vw}}

/* ---------- Blog ---------- */
.amd-blog{display:grid;gap:22px;grid-template-columns:1fr}
.amd-blogcard{background:var(--amd-card);border-radius:var(--amd-radius);overflow:hidden;border:1px solid var(--amd-line);transition:transform .2s var(--amd-ease),box-shadow .2s,border-color .2s;display:flex;flex-direction:column;color:var(--amd-ink)}
.amd-blogcard:hover{transform:translateY(-4px);box-shadow:var(--amd-shadow-md);color:var(--amd-ink);border-color:var(--amd-blue-3)}
.amd-blogcard__thumb{aspect-ratio:16/10;overflow:hidden;background:var(--amd-line-2)}
.amd-blogcard__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--amd-ease)}
.amd-blogcard:hover .amd-blogcard__thumb img{transform:scale(1.05)}
.amd-blogcard__body{padding:20px;flex:1;display:flex;flex-direction:column;gap:8px}
.amd-blogcard__body h3{font-size:1.08rem}
.amd-blogcard__body p{color:var(--amd-muted);font-size:13.5px;flex:1}
.amd-blogcard__more{display:inline-flex;align-items:center;gap:6px;color:var(--amd-blue);font-weight:700;font-size:13px;margin-top:4px}
.amd-blogcard__more .amd-i{width:15px;height:15px}

/* ---------- Promo ---------- */
.amd-promo{background:var(--amd-navy-900);border-radius:22px;padding:34px 26px;text-align:center;color:#fff;position:relative;overflow:hidden}
.amd-promo::after{content:"";position:absolute;inset:auto -30% -60% auto;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.5),transparent 70%)}
.amd-promo>*{position:relative;z-index:1}
.amd-promo__tag{display:inline-block;background:var(--amd-amber-soft);color:var(--amd-amber-2);padding:5px 12px;border-radius:7px;font-size:11.5px;font-weight:800;letter-spacing:.08em;margin-bottom:14px}
.amd-promo h2{color:#fff;margin-bottom:10px}
.amd-promo p{color:rgba(255,255,255,.78);margin:0 auto 22px;font-size:15px;line-height:1.8;max-width:44ch}
.amd-promo__code{background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.3);padding:10px 20px;border-radius:12px;display:inline-flex;align-items:center;gap:8px;font-family:var(--amd-display);font-size:19px;font-weight:600;letter-spacing:.12em;color:var(--amd-amber-soft);margin-bottom:18px}
.amd-promo__code .amd-i{width:18px;height:18px;color:var(--amd-amber)}

/* ---------- Form ---------- */
.amd-field{margin-bottom:15px}
.amd-field label{display:block;font-weight:700;color:var(--amd-ink);margin-bottom:6px;font-size:13px}
.amd-input{width:100%;min-width:0;padding:12px 15px;border:1px solid var(--amd-line);border-radius:11px;font-size:15px;font-family:inherit;background:var(--amd-card);transition:border-color .15s,box-shadow .15s;min-height:48px;color:var(--amd-ink)}
.amd-input:focus{outline:none;border-color:var(--amd-blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
textarea.amd-input{min-height:110px;resize:vertical}
select.amd-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px;appearance:none}
.amd-field--row{display:grid;gap:12px;grid-template-columns:1fr}
.amd-form-card{background:var(--amd-card);padding:24px;border-radius:var(--amd-radius);border:1px solid var(--amd-line);box-shadow:var(--amd-shadow-sm)}
.amd-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* Captcha (gambar SVG dari api/captcha.php + tombol muat ulang) */
.amd-captcha{display:flex;align-items:center;gap:10px}
.amd-captcha__img{flex:none;width:176px;height:58px;border-radius:10px;border:1px solid var(--amd-line);background:var(--amd-blue-soft)}
.amd-captcha__refresh{flex:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--amd-line);background:var(--amd-card);color:var(--amd-muted);display:grid;place-items:center;cursor:pointer;transition:.15s}
.amd-captcha__refresh .amd-i{width:16px;height:16px;transition:transform .5s var(--amd-ease)}
.amd-captcha__refresh:hover{border-color:var(--amd-blue-3);color:var(--amd-blue)}
.amd-captcha__refresh:hover .amd-i{transform:rotate(-90deg)}
.amd-captcha__refresh.is-spinning .amd-i{transform:rotate(-360deg);transition:transform .55s var(--amd-ease)}
@media(prefers-reduced-motion:reduce){.amd-captcha__refresh .amd-i{transition:none}}

/* ---------- Dropzone unggah ---------- */
.amd-dropzone{position:relative;border:2px dashed var(--amd-line);border-radius:14px;background:var(--amd-line-2);padding:22px;cursor:pointer;transition:border-color .15s,background .15s}
.amd-dropzone:hover{border-color:var(--amd-blue-3);background:var(--amd-blue-soft)}
.amd-dropzone.is-drag{border-color:var(--amd-blue);background:var(--amd-blue-soft);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.amd-dropzone__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.amd-dropzone__prompt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;pointer-events:none;color:var(--amd-muted)}
.amd-dropzone__ic{width:40px;height:40px;border-radius:12px;background:var(--amd-card);border:1px solid var(--amd-line);display:grid;place-items:center;color:var(--amd-blue);margin-bottom:6px}
.amd-dropzone__ic .amd-i{width:20px;height:20px}
.amd-dropzone__prompt b{color:var(--amd-ink);font-size:13.5px}
.amd-dropzone__prompt span{font-size:12px}
.amd-dropzone__prompt u{color:var(--amd-blue);text-decoration:none;font-weight:700}
.amd-dropzone.has-files{padding:14px}
.amd-dropzone.has-files .amd-dropzone__prompt{flex-direction:row;gap:8px;margin-bottom:12px}
.amd-dropzone.has-files .amd-dropzone__ic{width:28px;height:28px;margin:0}
.amd-dropzone.has-files .amd-dropzone__ic .amd-i{width:15px;height:15px}
.amd-dropzone.has-files .amd-dropzone__prompt b{font-size:12.5px}
.amd-dropzone.has-files .amd-dropzone__prompt span{display:none}
.amd-dropzone__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.amd-dropzone__item{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1;background:var(--amd-card);border:1px solid var(--amd-line)}
.amd-dropzone__item img{width:100%;height:100%;object-fit:cover}
.amd-dropzone__item figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(10,15,31,.7));color:#fff;font-size:9.5px;font-weight:700;padding:8px 4px 3px;text-align:center}
.amd-dropzone__x{position:absolute;top:3px;right:3px;width:20px;height:20px;border:0;border-radius:6px;background:rgba(10,15,31,.75);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center}
.amd-dropzone__x:hover{background:var(--amd-danger)}

/* ---------- Flash ---------- */
.amd-flash{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:600;display:flex;align-items:center;gap:10px;font-size:14px;border:1px solid transparent}
.amd-flash .amd-i{width:18px;height:18px;flex:none}
.amd-flash--ok{background:var(--amd-success-soft);color:var(--amd-success-ink);border-color:#a7f3d0}
.amd-flash--err{background:var(--amd-danger-soft);color:var(--amd-danger-ink);border-color:#fecaca}
.amd-flash--info{background:var(--amd-blue-soft);color:var(--amd-blue-ink);border-color:#bfdbfe}

/* ---------- Modal ---------- */
/* z-index di atas app-shell (.amd-app = 120) supaya modal login tetap terlihat
   walau app-shell aktif di viewport HP. */
.amd-modal{position:fixed;inset:0;background:rgba(10,15,31,.6);backdrop-filter:blur(3px);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.amd-modal.is-open{display:flex;animation:amd-fade .18s ease}
@keyframes amd-fade{from{opacity:0}to{opacity:1}}
.amd-modal__box{position:relative;background:var(--amd-card);border-radius:22px;max-width:428px;width:100%;padding:26px 26px 22px;margin:auto;box-shadow:var(--amd-shadow-lg);border:1px solid rgba(15,23,42,.06);animation:amd-pop .22s var(--amd-ease)}
@keyframes amd-pop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.amd-modal__x{position:absolute;top:16px;right:16px;background:var(--amd-line-2);border:0;width:34px;height:34px;border-radius:50%;cursor:pointer;color:var(--amd-ink-2);display:grid;place-items:center;transition:.15s}
.amd-modal__x .amd-i{width:16px;height:16px}
.amd-modal__x:hover{background:var(--amd-line);color:var(--amd-ink)}
.amd-modal__head{display:flex;gap:13px;align-items:center;margin-bottom:16px;padding-right:32px}
.amd-modal__ic{flex:none;width:42px;height:42px;border-radius:13px;background:var(--amd-navy-900);color:#fff;display:grid;place-items:center}
.amd-modal__ic .amd-i{width:20px;height:20px}
.amd-modal h2{font-size:1.32rem;line-height:1.2}
.amd-modal .sub{color:var(--amd-muted);font-size:13px;line-height:1.5;margin-top:3px}
.amd-modal .amd-field{margin-bottom:13px}
.amd-modal__foot{margin-top:14px;text-align:center;font-size:12.5px;color:var(--amd-muted)}
.amd-linkbtn{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;color:var(--amd-blue);text-decoration:underline;text-underline-offset:2px}
.amd-linkbtn:hover{color:var(--amd-blue-2)}
.amd-tabs{display:flex;gap:4px;background:var(--amd-line-2);padding:4px;border-radius:12px;margin-bottom:16px}
.amd-tabs button{flex:1;background:none;border:0;padding:10px;border-radius:9px;cursor:pointer;font-weight:700;color:var(--amd-muted);font-family:inherit;font-size:13px;transition:.15s}
.amd-tabs button.is-active{background:var(--amd-card);color:var(--amd-ink);box-shadow:var(--amd-shadow-sm)}
/* HP: rapatkan supaya pane "Daftar" (paling tinggi) muat tanpa scroll */
@media(max-width:600px){
  .amd-modal{padding:14px}
  .amd-modal__box{padding:20px 18px 18px;border-radius:18px}
  .amd-modal__head{margin-bottom:13px;gap:11px}
  .amd-modal__ic{width:38px;height:38px;border-radius:11px}
  .amd-modal h2{font-size:1.18rem}
  .amd-tabs{margin-bottom:12px}
  .amd-tabs button{padding:9px}
  .amd-modal .amd-field{margin-bottom:10px}
  .amd-field label{margin-bottom:4px}
  .amd-modal__foot{margin-top:11px}
}

/* ---------- Modal "Rincian" unit (beranda desktop) ---------- */
.amd-modal__box--wide{max-width:34rem;padding:0;overflow:hidden}
.amd-modal__box--wide .amd-modal__x{background:rgba(255,255,255,.9);box-shadow:var(--amd-shadow-sm);z-index:2}
.amd-umodal__hd{display:flex;gap:15px;align-items:center;padding:20px;padding-right:52px;border-bottom:1px solid var(--amd-line)}
.amd-umodal__hd img{width:96px;aspect-ratio:4/3;object-fit:cover;border-radius:12px;flex:none;background:var(--amd-line-2)}
.amd-umodal__cat{display:block;font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--amd-muted)}
.amd-umodal__hd h3{font-size:1.22rem;margin-top:3px}
.amd-umodal__bd{padding:20px;max-height:52vh;overflow-y:auto}
.amd-umodal__bd h4{font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--amd-muted);margin:18px 0 8px}
.amd-umodal__bd h4:first-child{margin-top:0}
.amd-umrow{padding:10px 0;border-bottom:1px dashed var(--amd-line)}
.amd-umrow:last-of-type{border-bottom:0}
.amd-umrow__r{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.amd-umrow__r b{font-weight:700;font-size:14px;color:var(--amd-ink)}
.amd-umrow__r span{font-weight:600;font-size:13px;white-space:nowrap;color:var(--amd-ink-2)}
.amd-umrow__nego{color:var(--amd-amber-2);text-transform:uppercase;font-size:10px;letter-spacing:.06em;font-weight:800}
.amd-umrow p{font-size:12px;color:var(--amd-muted);margin-top:3px;line-height:1.5}
.amd-umodal__info{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.amd-umodal__info li{position:relative;padding-left:16px;font-size:12px;color:var(--amd-muted);line-height:1.55}
.amd-umodal__info li::before{content:"\2014";position:absolute;left:0;color:var(--amd-blue)}
.amd-umodal__ft{padding:16px 20px;border-top:1px solid var(--amd-line);display:flex;flex-direction:column;gap:8px}
.amd-umodal__wafallback{text-align:center;font-size:12px;font-weight:700;color:var(--amd-muted);text-decoration:none}
.amd-umodal__wafallback:hover{color:var(--amd-blue)}

/* Perbandingan paket di dalam modal (dipicu dari #cara-sewa) — 3 kartu sejajar */
.amd-modal--paket .amd-modal__box--wide{max-width:58rem}
.amd-paketgrid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:760px){.amd-paketgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.amd-paketcol{padding:16px;border:1px solid var(--amd-line);border-radius:var(--amd-radius);background:var(--amd-card)}
.amd-paketcol__hd{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.amd-paketcol__hd .amd-feature__ic{width:36px;height:36px;margin:0;border-radius:10px;flex:none}
.amd-paketcol__hd .amd-feature__ic .amd-i{width:17px;height:17px}
.amd-paketcol__hd b{font-size:15px;color:var(--amd-ink)}
.amd-paketcol>p{font-size:12px;color:var(--amd-muted);margin-bottom:10px;line-height:1.55}

/* Alur "Cara Sewa" versi ringkas di beranda (bukan 6 kartu penuh) */
.amd-flow{list-style:none;margin:0;padding:0;display:grid;gap:14px 20px;grid-template-columns:1fr}
.amd-flow__item{display:flex;gap:12px;align-items:flex-start}
.amd-flow__n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--amd-blue-soft);color:var(--amd-blue);font-weight:800;font-size:12px;display:grid;place-items:center;margin-top:1px}
.amd-flow__item b{display:block;font-size:14px;color:var(--amd-ink);margin-bottom:3px;font-weight:700}
.amd-flow__item p{font-size:12.5px;color:var(--amd-muted);line-height:1.6}
@media(min-width:640px){.amd-flow{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.amd-flow{grid-template-columns:repeat(3,1fr);gap:22px 26px}}

/* Beranda satu-halaman: offset anchor agar tidak tertutup header tetap */
.amd-home .amd-section[id]{scroll-margin-top:96px}

/* ---------- Bilah filter katalog (sticky) ---------- */
.amd-catbar{position:sticky;top:76px;z-index:40;margin:0 -20px var(--amd-s-lg);padding:12px 20px 4px;background:rgba(247,249,252,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--amd-line)}
.amd-catbar__row{display:flex;align-items:center;gap:12px;justify-content:space-between}
.amd-catbar__row .amd-filter{min-width:0;flex:1}
.amd-catbar__count{flex:none;font-size:12.5px;font-weight:700;color:var(--amd-muted);white-space:nowrap}
.amd-catbar__count b{color:var(--amd-ink);font-family:var(--amd-display);font-weight:600}

/* Konteks handoff dari widget agenda beranda */
.amd-agendactx{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-bottom:var(--amd-s-lg);padding:13px 16px;border-radius:var(--amd-radius-sm);background:var(--amd-blue-soft);border:1px solid #bfdbfe;font-size:13px;color:var(--amd-ink-2)}
.amd-agendactx .amd-i{width:16px;height:16px;color:var(--amd-blue);flex:none}
.amd-agendactx b{color:var(--amd-ink);font-weight:700}
.amd-agendactx a{margin-left:auto;font-weight:700;font-size:12.5px;white-space:nowrap}

/* ---------- Filter chips ---------- */
.amd-filter{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.amd-filter::-webkit-scrollbar{display:none}
.amd-filter a{flex:none;padding:10px 18px;min-height:40px;display:inline-flex;align-items:center;border-radius:999px;background:var(--amd-card);border:1px solid var(--amd-line);color:var(--amd-ink-2);font-weight:700;cursor:pointer;font-size:13px;text-decoration:none;transition:.15s;white-space:nowrap}
.amd-filter a:hover{border-color:var(--amd-blue-3);color:var(--amd-ink)}
.amd-filter a.is-active{background:var(--amd-navy-900);color:#fff;border-color:var(--amd-navy-900)}

/* ---------- Detail mobil ---------- */
.amd-detail{display:grid;gap:28px;grid-template-columns:1fr}
.amd-gallery{border-radius:var(--amd-radius);overflow:hidden;background:var(--amd-card);border:1px solid var(--amd-line)}
.amd-gallery__main{aspect-ratio:4/3;position:relative;background:var(--amd-line-2)}
.amd-gallery__main img{width:100%;height:100%;object-fit:cover}
.amd-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.96);border:0;cursor:pointer;display:grid;place-items:center;color:var(--amd-ink);z-index:2;box-shadow:var(--amd-shadow-sm)}
.amd-gallery__nav:hover{background:var(--amd-card);transform:translateY(-50%) scale(1.06)}
.amd-gallery__nav--prev{left:12px}.amd-gallery__nav--next{right:12px}
.amd-gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;background:var(--amd-card);border-top:1px solid var(--amd-line)}
.amd-gallery__thumbs button{border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;padding:0;background:none;aspect-ratio:1;transition:.15s}
.amd-gallery__thumbs button.is-active{border-color:var(--amd-blue)}
.amd-gallery__thumbs img{width:100%;height:100%;object-fit:cover}
.amd-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}
.amd-spec div{background:var(--amd-card);padding:13px 15px;border-radius:12px;border:1px solid var(--amd-line)}
.amd-spec small{color:var(--amd-muted);font-size:10.5px;display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.amd-spec b{color:var(--amd-ink);font-size:14.5px;font-weight:700}
.amd-pricetable{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius);overflow:hidden;margin:14px 0}
.amd-pricerow{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--amd-line);gap:12px;transition:background .15s}
.amd-pricerow:last-child{border-bottom:0}
.amd-pricerow:hover{background:var(--amd-blue-soft)}
.amd-pricerow__label{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--amd-ink);font-size:14px}
.amd-pricerow__label .ic{width:32px;height:32px;background:var(--amd-blue-soft);color:var(--amd-blue);border-radius:9px;display:grid;place-items:center;flex:none}
.amd-pricerow__label .ic .amd-i{width:16px;height:16px}
.amd-pricerow b{color:var(--amd-ink);font-family:var(--amd-display);font-size:19px;font-weight:600;white-space:nowrap}
.amd-pricerow b .per{font-family:var(--amd-body);font-size:11px;font-weight:600;color:var(--amd-muted);margin-left:2px}
.amd-pricetable--rich .amd-pricerow{flex-direction:column;align-items:stretch;gap:6px;padding:14px 18px}
.amd-pricetable--rich .amd-pricerow:hover{background:transparent}
.amd-pricerow__main{display:flex;justify-content:space-between;align-items:center;gap:12px}
.amd-pricerow__ket{font-size:12px;color:var(--amd-muted);line-height:1.55;margin:0}
.amd-pricerow__nego{font-family:var(--amd-body)!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.05em;color:var(--amd-amber-2)!important}
.amd-infolist{list-style:none;margin:0;padding:0;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius)}
.amd-infolist li{display:flex;gap:9px;align-items:flex-start;padding:11px 16px;border-bottom:1px solid var(--amd-line);font-size:12.5px;color:var(--amd-ink-2);line-height:1.6}
.amd-infolist li:last-child{border-bottom:0}
.amd-infolist li .amd-i{width:14px;height:14px;color:var(--amd-success);flex:none;margin-top:2px}
.amd-presets{display:flex;gap:8px;flex-wrap:wrap}
.amd-preset{padding:8px 14px;border-radius:10px;background:var(--amd-card);border:1px solid var(--amd-line);color:var(--amd-ink-2);font-weight:700;font-size:12.5px;cursor:pointer;transition:.15s;font-family:inherit}
.amd-preset:hover{border-color:var(--amd-blue-3);color:var(--amd-blue)}
.amd-preset.is-active{background:var(--amd-navy-900);color:#fff;border-color:var(--amd-navy-900)}
.amd-couponrow{display:flex;gap:8px}
.amd-couponrow .amd-input{flex:1;text-transform:uppercase}
.amd-couponmsg{margin-top:6px;font-size:12.5px;font-weight:600}
.amd-couponmsg.ok{color:var(--amd-success)}.amd-couponmsg.err{color:var(--amd-danger)}

/* Catatan event khusus di form booking */
.amd-eventnote{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.amd-eventnote__row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--amd-line);border-left:3px solid var(--ev,var(--amd-amber-2));border-radius:11px;background:var(--amd-line-2)}
.amd-eventnote__badge{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ev,var(--amd-amber-2))}
.amd-eventnote__badge .amd-i{width:13px;height:13px}
.amd-eventnote__row b{display:block;font-size:12.5px;color:var(--amd-ink)}
.amd-eventnote__row span{font-size:11.5px;color:var(--amd-muted)}
.amd-eventwarn{margin-top:6px;font-size:12px;font-weight:600;color:var(--amd-amber-2)}
.amd-summary{background:var(--amd-blue-soft);border:1px solid var(--amd-blue-3);padding:14px 16px;border-radius:12px;margin-bottom:14px}
.amd-summary .r{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--amd-ink-2);margin-bottom:6px}
.amd-summary .r--disc{color:var(--amd-success);font-weight:700}
.amd-summary .r--total{font-weight:800;color:var(--amd-ink);padding-top:8px;border-top:1px solid var(--amd-blue-3);font-size:16px;margin:4px 0 0}
.amd-summary .r--total span:last-child{font-family:var(--amd-display);font-size:21px;font-weight:600}
.amd-trustline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;font-size:12.5px;color:var(--amd-muted)}
.amd-trustline .amd-i{width:14px;height:14px;color:var(--amd-success)}
.amd-trustline .dot{color:var(--amd-muted-2)}

/* ---------- Sticky action bar (mobile) ---------- */
.amd-sticky-action{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom));left:0;right:0;background:var(--amd-card);border-top:1px solid var(--amd-line);padding:11px 16px;display:flex;align-items:center;gap:12px;z-index:75;box-shadow:0 -4px 14px rgba(10,15,31,.06)}
.amd-sticky-action .p{flex:1;line-height:1.1}
.amd-sticky-action .p small{display:block;font-size:10.5px;color:var(--amd-muted);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.amd-sticky-action .p b{font-family:var(--amd-display);font-size:20px;color:var(--amd-ink);font-weight:600}
.amd-sticky-action .amd-btn{padding:11px 18px;min-height:44px;font-size:14px}
body.amd.has-sticky{padding-bottom:150px}

/* ---------- Prosa artikel ---------- */
.amd-prose>*+*{margin-top:1.3rem}
.amd-prose p{line-height:1.8;color:var(--amd-ink-2)}
.amd-prose h2{font-size:1.5rem;margin-top:2.4rem}
.amd-prose h3{font-size:1.2rem;margin-top:2rem}
.amd-prose ul,.amd-prose ol{padding-left:1.3rem}
.amd-prose li+li{margin-top:.4rem}
.amd-prose strong{color:var(--amd-ink);font-weight:700}

/* ---------- Bottom nav (mobile, floating) ---------- */
.amd-botnav{position:fixed;bottom:12px;left:12px;right:12px;background:var(--amd-card);border:1px solid rgba(15,23,42,.08);border-radius:22px;display:flex;justify-content:space-around;align-items:stretch;padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:80;box-shadow:0 14px 32px rgba(10,15,31,.18),0 4px 10px rgba(10,15,31,.08)}
.amd-botnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 4px;color:var(--amd-muted);font-size:10px;font-weight:700;text-decoration:none;border-radius:14px;min-height:52px;transition:.15s}
.amd-botnav a .amd-i{width:20px;height:20px;transition:transform .18s var(--amd-ease)}
.amd-botnav a.is-active{color:var(--amd-blue)}
.amd-botnav a.is-active .amd-i{transform:scale(1.1)}
.amd-botnav a.center{background:var(--amd-blue);color:#fff;margin:-18px 4px 0;width:56px;height:56px;flex:0 0 56px;border-radius:50%;box-shadow:0 10px 22px rgba(37,99,235,.42);align-self:center;padding:0}
.amd-botnav a.center .amd-i{width:24px;height:24px;color:#fff}
.amd-botnav a.center span{display:none}
body.amd.has-botnav{padding-bottom:86px}

/* ---------- Footer minimal: hak cipta + tautan hukum ---------- */
.amd-footer{margin-top:0;padding:24px 20px 28px;background:transparent;border-top:1px solid var(--amd-line)}
.amd-footer__inner{max-width:1180px;margin:0 auto}
.amd-footer__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr) minmax(0,1fr);gap:44px 40px}
.amd-footer__brand{max-width:26rem}
.amd-footer__loc .amd-footer__map{margin-top:14px;aspect-ratio:4/3;border:1px solid var(--amd-line);border-radius:14px;overflow:hidden;background:var(--amd-line-2)}
.amd-footer__brand .amd-logo{margin-bottom:16px}
.amd-footer__tagline{color:var(--amd-muted);font-size:14px;line-height:1.7}
.amd-footer__addr{margin-top:14px;color:var(--amd-muted);font-size:13px;line-height:1.7}
.amd-footer__maplink{display:inline-flex;align-items:center;gap:5px;margin-left:6px;color:var(--amd-blue-2);font-weight:700;font-size:12.5px;white-space:nowrap}
.amd-footer__maplink .amd-i{width:14px;height:14px}
.amd-footer__social{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.amd-footer__social a{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--amd-line);border-radius:999px;color:var(--amd-muted);font-size:12.5px;font-weight:600;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}
.amd-footer__social a .amd-i{width:16px;height:16px;flex:none}
.amd-footer__social a.is-wa .amd-i{color:var(--amd-blue)}
.amd-footer__social a:hover{color:var(--amd-ink);border-color:var(--amd-navy-900);background:var(--amd-line-2)}
.amd-footer__nav{display:grid;grid-template-columns:minmax(12rem,1.3fr) repeat(auto-fit,minmax(8rem,1fr));gap:28px 24px}
.amd-footer__nav-title{font-family:var(--amd-display);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--amd-muted)}
.amd-footer__nav-col ul{list-style:none;margin:14px 0 0;padding:0}
.amd-footer__nav-col li+li{margin-top:9px}
/* Kolom "Jelajahi" panjang → daftar dibagi 2 kolom */
.amd-footer__nav:has(.amd-footer__nav-col--split){grid-template-columns:minmax(10rem,1fr) minmax(0,1.6fr)}
.amd-footer__nav-col--split ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px}
.amd-footer__nav-col--split li+li{margin-top:0}
.amd-footer__nav-col a{color:var(--amd-ink);font-size:13.5px;transition:color .15s}
.amd-footer__nav-col a:hover{color:var(--amd-blue)}
.amd-footer__contact li{display:flex;gap:9px;align-items:flex-start;color:var(--amd-muted);font-size:13px;line-height:1.6}
.amd-footer__contact li+li{margin-top:10px}
.amd-footer__contact-ic{flex:none;width:16px;color:var(--amd-blue);margin-top:2px}
.amd-footer__contact-ic .amd-i{width:16px;height:16px;display:block}
.amd-footer__contact li:nth-child(2) .amd-footer__contact-ic{color:var(--amd-blue)}
.amd-footer__contact a{color:var(--amd-ink);font-weight:600}
.amd-footer__contact a:hover{color:var(--amd-blue)}
.amd-footer__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
/* Desktop: satu baris, dipisah titik. Mobile (lihat media query di bawah):
   ditumpuk & diperkecil supaya tak berdesakan di layar sempit. */
.amd-footer__copy-wrap{display:flex;align-items:baseline;flex-wrap:wrap}
.amd-footer__copy{font-size:12.5px;color:var(--amd-muted)}
a.amd-footer__by{font-size:12.5px;font-weight:400;color:var(--amd-muted-2)} /* .amd a{color:blue} generik punya spesifisitas sama — pastikan menang */
a.amd-footer__by::before{content:"\00b7";margin:0 8px;color:var(--amd-line)}
a.amd-footer__by:hover{color:var(--amd-blue)}
.amd-footer__bar-right{display:flex;align-items:center;gap:18px}
.amd-footer__legal{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.amd-footer__legal a{font-size:12.5px;color:var(--amd-muted)}
.amd-footer__legal a:hover{color:var(--amd-blue)}
.amd-totop{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--amd-line);border-radius:999px;background:var(--amd-card);color:var(--amd-ink);cursor:pointer;transition:.2s}
.amd-totop .amd-i{width:16px;height:16px;transform:rotate(180deg)}
.amd-totop:hover{background:var(--amd-navy-900);border-color:var(--amd-navy-900);color:#fff}

/* ---------- Map facade ---------- */
.amd-mapfacade{position:relative;width:100%;height:100%;border:0;background:var(--amd-line-2);display:grid;place-items:center;place-content:center;color:var(--amd-ink-2);font-weight:700;font-size:13px;padding:0}
.amd-mapfacade__load{display:inline-flex;align-items:center;gap:8px}
.amd-mapfacade .amd-i{width:18px;height:18px;color:var(--amd-blue);flex:none}
.amd-mapfacade iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Reveal (semua viewport) ---------- */
.amd-reveal{opacity:0;transform:translateY(18px);transition:opacity var(--amd-dur) var(--amd-ease),transform var(--amd-dur) var(--amd-ease)}
.amd-reveal.is-visible{opacity:1;transform:none}
.amd-stagger>*{opacity:0;transform:translateY(18px);transition:opacity var(--amd-dur) var(--amd-ease),transform var(--amd-dur) var(--amd-ease)}
.amd-stagger.is-visible>*{opacity:1;transform:none}
.amd-stagger.is-visible>*:nth-child(2){transition-delay:.07s}
.amd-stagger.is-visible>*:nth-child(3){transition-delay:.14s}
.amd-stagger.is-visible>*:nth-child(4){transition-delay:.21s}
.amd-stagger.is-visible>*:nth-child(5){transition-delay:.28s}
.amd-stagger.is-visible>*:nth-child(n+6){transition-delay:.35s}
@media (prefers-reduced-motion:reduce){
  .amd-reveal,.amd-stagger>*{opacity:1!important;transform:none!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
}

/* ---------- Event khusus (kartu & paket) ---------- */
.amd-eventcard{display:block;background:var(--amd-card);border:1px solid var(--amd-line);border-left:4px solid var(--ev,var(--amd-amber-2));border-radius:var(--amd-radius);padding:24px;transition:transform .18s var(--amd-ease),box-shadow .18s,border-color .18s;color:var(--amd-ink)}
.amd-eventcard:hover{transform:translateY(-4px);box-shadow:var(--amd-shadow-md);color:var(--amd-ink)}
.amd-eventcard__badge{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ev,var(--amd-amber-2))}
.amd-eventcard__badge .amd-i{width:14px;height:14px}
.amd-eventcard h3{margin:10px 0 8px;font-size:1.35rem}
.amd-eventcard p{color:var(--amd-muted);font-size:14px;line-height:1.75}
.amd-eventcard__meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin:14px 0 12px;font-size:12px;color:var(--amd-muted);font-weight:600}
.amd-eventcard__meta span{display:inline-flex;align-items:center;gap:5px}
.amd-eventcard__meta .amd-i{width:14px;height:14px;color:var(--amd-blue)}
.amd-eventcard__more{display:inline-flex;align-items:center;gap:6px;color:var(--amd-blue);font-weight:700;font-size:13px}
.amd-eventcard__more .amd-i{width:15px;height:15px}
.amd-eventchip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:600}
.amd-eventchip .amd-i{width:14px;height:14px}
.amd-eventpaket{display:flex;flex-direction:column;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius);overflow:hidden}
.amd-eventpaket__thumb{aspect-ratio:16/10;background:var(--amd-line-2);overflow:hidden}
.amd-eventpaket__thumb img{width:100%;height:100%;object-fit:cover}
.amd-eventpaket__body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}
.amd-eventpaket__body h3{font-size:1.15rem}
.amd-eventpaket__body ul{list-style:none;margin:0;padding:0;flex:1}
.amd-eventpaket__body li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--amd-line);font-size:13.5px}
.amd-eventpaket__body li:last-child{border-bottom:0}
.amd-eventpaket__body li span{display:inline-flex;align-items:center;gap:6px;color:var(--amd-ink-2)}
.amd-eventpaket__body li span .amd-i{width:14px;height:14px;color:var(--amd-success)}
.amd-eventpaket__body li small{color:var(--amd-muted)}
.amd-eventpaket__body li b{font-family:var(--amd-display);font-size:17px;font-weight:600;white-space:nowrap}

/* ---------- Empty state ---------- */
.amd-empty{text-align:center;padding:56px 20px;color:var(--amd-muted)}

/* ============================================================
   Pengayaan referensi Stitch (alur sewa, simulasi biaya, FAQ,
   concierge, jaminan) — responsif desktop & mobile.
   ============================================================ */

/* ---------- Alur: 6 langkah sewa ---------- */
.amd-steps{display:grid;gap:16px;grid-template-columns:1fr}
.amd-step{display:flex;gap:15px;align-items:flex-start;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius);padding:20px;transition:transform .18s var(--amd-ease),border-color .18s}
.amd-step:hover{transform:translateY(-3px);border-color:var(--amd-blue-3)}
.amd-step__n{flex:none;width:38px;height:38px;border-radius:50%;background:var(--amd-navy-900);color:#fff;font-family:var(--amd-display);font-weight:600;font-size:17px;display:grid;place-items:center;line-height:1}
.amd-step b{display:block;font-size:14.5px;color:var(--amd-ink);margin-bottom:4px;font-weight:700}
.amd-step p{color:var(--amd-muted);font-size:13px;line-height:1.65}

/* ---------- Baris callout (info menonjol) ---------- */
.amd-callout{display:flex;align-items:center;justify-content:space-between;gap:14px 22px;flex-wrap:wrap;margin-top:24px;padding:16px 20px;background:var(--amd-blue-soft);border:1px solid #bfdbfe;border-radius:var(--amd-radius)}
.amd-callout>div{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:230px}
.amd-callout>div>.amd-i{width:18px;height:18px;color:var(--amd-blue);flex:none;margin-top:2px}
.amd-callout>div>p{margin:0;font-size:13.5px;color:var(--amd-ink-2);line-height:1.6}
.amd-callout b{color:var(--amd-ink)}
.amd-callout__act{flex:none}

/* ---------- Concierge (bar konsultasi) ---------- */
.amd-concierge{display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:22px;padding:22px 26px;box-shadow:var(--amd-shadow-sm)}
.amd-concierge__ic{flex:none;width:52px;height:52px;border-radius:50%;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center}
.amd-concierge__ic .amd-i{width:24px;height:24px}
.amd-concierge__txt{flex:1;min-width:210px}
.amd-concierge__txt b{display:block;font-family:var(--amd-display);font-size:1.14rem;font-weight:600;color:var(--amd-ink);letter-spacing:-.01em}
.amd-concierge__txt span{font-size:13px;color:var(--amd-muted);line-height:1.6}
.amd-concierge__act{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.amd-concierge__tel{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--amd-ink);white-space:nowrap}
.amd-concierge__tel .amd-i{width:16px;height:16px;color:var(--amd-blue)}

/* ---------- FAQ (native <details>, tanpa JS) ---------- */
.amd-faq{max-width:760px;margin:0 auto;display:grid;gap:10px}
.amd-faq details{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);overflow:hidden;transition:border-color .15s}
.amd-faq details[open]{border-color:var(--amd-blue-3)}
.amd-faq summary{padding:16px 18px;cursor:pointer;font-weight:700;color:var(--amd-ink);font-size:14.5px;display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none}
.amd-faq summary::-webkit-details-marker{display:none}
.amd-faq summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--amd-muted);border-bottom:2px solid var(--amd-muted);transform:rotate(45deg);transition:transform .2s var(--amd-ease);flex:none;margin-top:-4px}
.amd-faq details[open] summary{color:var(--amd-blue)}
.amd-faq details[open] summary::after{transform:rotate(225deg);margin-top:2px;border-color:var(--amd-blue)}
.amd-faq details>p{padding:0 18px 16px;margin:0;color:var(--amd-muted);font-size:13.5px;line-height:1.75}

/* ---------- Jaminan kenyamanan (detail unit) ---------- */
.amd-jaminan{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius);padding:20px 22px;margin-top:24px}
.amd-jaminan h3{font-size:1.08rem;display:flex;align-items:center;gap:9px;margin-bottom:14px}
.amd-jaminan h3 .amd-i{width:20px;height:20px;color:var(--amd-blue);flex:none}
.amd-jaminan ul{list-style:none;margin:0;padding:0;display:grid;gap:13px;grid-template-columns:1fr}
.amd-jaminan li{display:flex;gap:9px;font-size:12.5px;color:var(--amd-muted);line-height:1.6}
.amd-jaminan li .amd-i{width:15px;height:15px;color:var(--amd-success);flex:none;margin-top:2px}
.amd-jaminan li b{color:var(--amd-ink);font-weight:700;display:block}

/* ---------- Daftar bercentang ringkas ---------- */
.amd-ticks{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.amd-ticks li{display:flex;gap:8px;font-size:12.5px;color:var(--amd-muted);line-height:1.55}
.amd-ticks li .amd-i{width:15px;height:15px;color:var(--amd-success);flex:none;margin-top:2px}
.amd-ticks li b{color:var(--amd-ink);font-weight:700}

/* ---------- Simulasi biaya transparan (rincian di form booking) ---------- */
.amd-simhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.amd-simhead small{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--amd-blue);display:inline-flex;align-items:center;gap:5px}
.amd-simhead .tag{font-size:10px;font-weight:700;color:var(--amd-muted);background:var(--amd-line-2);padding:3px 8px;border-radius:6px}
.amd-simrow{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--amd-ink-2);padding:7px 0;border-bottom:1px dashed var(--amd-line);line-height:1.5}
.amd-simrow span:last-child{font-weight:700;white-space:nowrap;color:var(--amd-ink)}
.amd-simrow--free span:last-child{color:var(--amd-success);text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.amd-simrow--disc span:last-child{color:var(--amd-success)}
.amd-simrow--total{border-bottom:0;border-top:2px solid var(--amd-blue-3);margin-top:4px;padding-top:10px}
.amd-simrow--total span:first-child{font-weight:800;color:var(--amd-ink);font-size:13.5px}
.amd-simrow--total span:last-child{font-family:var(--amd-display);font-size:20px;font-weight:600;color:var(--amd-blue-2)}
.amd-simsplit{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.amd-simsplit div{background:var(--amd-blue-soft);border:1px solid #bfdbfe;border-radius:10px;padding:9px 11px}
.amd-simsplit small{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--amd-muted);font-weight:800;margin-bottom:2px}
.amd-simsplit b{font-family:var(--amd-display);font-size:14.5px;font-weight:600;color:var(--amd-ink)}

/* ============================================================
   Primitif komponen (bahasa desain Stitch, ditulis tangan)
   Dipakai ulang: agenda planner, kartu opsi, timeline, strip metrik.
   ============================================================ */

/* Panel — kartu putih dasar untuk seluruh blok baru */
.amd-panel{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-lg);padding:var(--amd-s-lg);box-shadow:var(--amd-shadow-md)}
.amd-panel--sm{padding:var(--amd-s-md);border-radius:var(--amd-radius);box-shadow:var(--amd-shadow-sm)}

/* Chip toggle — pil pilihan tunggal (keperluan agenda, dsb.) */
.amd-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--amd-s-2xs)}
.amd-chip{appearance:none;border:1px solid var(--amd-line);background:var(--amd-line-2);color:var(--amd-ink-2);font:inherit;font-size:13px;font-weight:700;padding:11px 12px;border-radius:var(--amd-radius-sm);cursor:pointer;text-align:center;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;line-height:1.25}
.amd-chip:hover{border-color:var(--amd-blue-3);color:var(--amd-ink)}
.amd-chip.is-active{background:var(--amd-navy-900);border-color:var(--amd-navy-900);color:#fff;box-shadow:var(--amd-shadow-sm)}

/* Kartu opsi — radio besar yang bisa dipilih (paket layanan) */
.amd-optcards{display:grid;gap:var(--amd-s-sm);grid-template-columns:1fr}
.amd-optcards--stack{grid-template-columns:1fr!important}
.amd-optcards--stack .amd-optcard__box{padding:12px 14px}
.amd-optcards--stack .amd-optcard__price{margin-top:0}
.amd-optcard{position:relative;display:block;cursor:pointer}
.amd-optcard input{position:absolute;opacity:0;width:0;height:0}
.amd-optcard__box{display:flex;flex-direction:column;gap:6px;height:100%;padding:14px 15px;border:1.5px solid var(--amd-line);border-radius:var(--amd-radius-sm);background:var(--amd-line-2);transition:border-color .15s,background .15s,box-shadow .15s}
.amd-optcard:hover .amd-optcard__box{border-color:var(--amd-blue-3);background:var(--amd-card)}
.amd-optcard input:checked + .amd-optcard__box{border-color:var(--amd-blue);background:var(--amd-blue-soft);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.amd-optcard input:focus-visible + .amd-optcard__box{outline:2px solid var(--amd-blue);outline-offset:2px}
.amd-optcard__top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.amd-optcard__top b{font-size:14.5px;color:var(--amd-ink);font-weight:700}
.amd-optcard__tick{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--amd-muted-2);display:grid;place-items:center;transition:.15s}
.amd-optcard__tick::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff;opacity:0;transform:scale(.4);transition:.15s}
.amd-optcard input:checked + .amd-optcard__box .amd-optcard__tick{border-color:var(--amd-blue);background:var(--amd-blue)}
.amd-optcard input:checked + .amd-optcard__box .amd-optcard__tick::after{opacity:1;transform:none}
.amd-optcard__tag{align-self:flex-start;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--amd-ink-2);background:var(--amd-card);border:1px solid var(--amd-line);padding:3px 7px;border-radius:6px}
.amd-optcard--pop .amd-optcard__tag{color:var(--amd-amber-ink);background:var(--amd-amber-soft);border-color:#fde68a}
.amd-optcard__desc{font-size:11.5px;color:var(--amd-muted);line-height:1.55;flex:1}
.amd-optcard__price{display:flex;align-items:baseline;gap:4px;font-size:11px;color:var(--amd-muted);font-weight:600;margin-top:2px}
.amd-optcard__price b{font-family:var(--amd-display);font-size:17px;font-weight:600;color:var(--amd-ink)}
.amd-optcard--pop input:not(:checked) + .amd-optcard__box{border-color:#fde68a}

/* Strip metrik kepercayaan (baris ikon + angka + label) */
.amd-statrow{display:grid;grid-template-columns:1fr;gap:var(--amd-s-md)}
.amd-statrow>div{display:flex;align-items:center;gap:var(--amd-s-sm)}
.amd-statrow__ic{flex:none;width:46px;height:46px;border-radius:50%;background:var(--amd-card);border:1px solid var(--amd-line);display:grid;place-items:center;color:var(--amd-blue);box-shadow:var(--amd-shadow-xs)}
.amd-statrow__ic .amd-i{width:22px;height:22px}
.amd-statrow__ic--amber{color:var(--amd-amber)}
.amd-statrow b{display:block;font-size:14.5px;color:var(--amd-ink);font-weight:700;font-family:var(--amd-display);letter-spacing:-.01em}
.amd-statrow span{font-size:12px;color:var(--amd-muted);line-height:1.4}
/* Varian "band": tiap poin jadi kartu ringkas — pengganti kartu fitur besar */
.amd-statrow--band>div{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);padding:16px 18px;align-items:flex-start;transition:border-color .18s,transform .18s var(--amd-ease)}
.amd-statrow--band>div:hover{border-color:var(--amd-blue-3);transform:translateY(-3px)}
.amd-statrow--band .amd-statrow__ic{background:var(--amd-blue-soft);border-color:transparent}
.amd-statrow--band .amd-statrow__ic--amber{background:var(--amd-amber-soft)}
.amd-statrow--band b{font-size:15px}
.amd-statrow--band span{font-size:12.5px;line-height:1.5;margin-top:2px}

/* Timeline status pesanan (stepper vertikal) */
.amd-timeline{list-style:none;margin:0;padding:0;position:relative}
.amd-timeline li{position:relative;padding:0 0 var(--amd-s-md) 34px;min-height:44px}
.amd-timeline li:last-child{padding-bottom:0}
.amd-timeline li::before{content:"";position:absolute;left:11px;top:22px;bottom:-2px;width:2px;background:var(--amd-line)}
.amd-timeline li:last-child::before{display:none}
.amd-timeline__dot{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--amd-card);border:2px solid var(--amd-line);display:grid;place-items:center;color:var(--amd-muted-2)}
.amd-timeline__dot .amd-i{width:13px;height:13px}
.amd-timeline li.is-done .amd-timeline__dot{border-color:var(--amd-success);background:var(--amd-success);color:#fff}
.amd-timeline li.is-done::before{background:var(--amd-success)}
.amd-timeline li.is-current .amd-timeline__dot{border-color:var(--amd-blue);background:var(--amd-blue);color:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.16)}
.amd-timeline b{display:block;font-size:13.5px;color:var(--amd-ink);font-weight:700;line-height:1.3;padding-top:2px}
.amd-timeline li.is-upcoming b{color:var(--amd-muted-2)}
.amd-timeline span{font-size:12px;color:var(--amd-muted);line-height:1.5}

/* Baris info berikon (agenda penjemputan, serah terima) */
.amd-inforow{display:flex;align-items:flex-start;gap:var(--amd-s-sm);padding:13px 14px;border-radius:var(--amd-radius-sm);background:var(--amd-line-2);border:1px solid var(--amd-line)}
.amd-inforow+.amd-inforow{margin-top:var(--amd-s-xs)}
.amd-inforow__ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center}
.amd-inforow__ic .amd-i{width:19px;height:19px}
.amd-inforow__ic--ok{background:var(--amd-success-soft);color:var(--amd-success)}
.amd-inforow small{display:block;font-size:10.5px;color:var(--amd-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:2px}
.amd-inforow b{display:block;font-size:14px;color:var(--amd-ink);font-weight:700;line-height:1.35}
.amd-inforow p{font-size:12px;color:var(--amd-muted);line-height:1.5;margin:1px 0 0}

/* Dashboard klien (/akun) — ringkasan + banner promo */
.amd-acctstats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0 14px}
.amd-acctstat{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius);padding:16px 16px 14px;display:flex;flex-direction:column;gap:2px}
.amd-acctstat__ic{width:34px;height:34px;border-radius:10px;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center;margin-bottom:8px}
.amd-acctstat__ic .amd-i{width:17px;height:17px}
.amd-acctstat b{font-family:var(--amd-display);font-size:var(--fz-h4);font-weight:600;letter-spacing:-.01em;color:var(--amd-ink);line-height:1.15}
.amd-acctstat small{font-size:var(--fz-cap);color:var(--amd-muted)}
.amd-acctstat--save .amd-acctstat__ic{background:var(--amd-amber-soft);color:var(--amd-amber-ink)}
.amd-acctstat--save b{color:var(--amd-amber-2)}
.amd-acctpromo{display:flex;align-items:center;gap:13px;background:var(--amd-amber-soft);border:1px solid #fde68a;border-radius:var(--amd-radius);padding:14px 16px;margin-bottom:8px}
.amd-acctpromo__ic{width:36px;height:36px;border-radius:10px;background:var(--amd-card);color:var(--amd-amber-2);display:grid;place-items:center;flex:none}
.amd-acctpromo__ic .amd-i{width:18px;height:18px}
.amd-acctpromo>div{flex:1;min-width:0}
.amd-acctpromo b{display:block;font-size:var(--fz-sm);color:var(--amd-ink);font-weight:700}
.amd-acctpromo p{font-size:var(--fz-cap);color:var(--amd-ink-2);margin:2px 0 0}
.amd-acctpromo code{font-family:var(--amd-display);font-weight:700;letter-spacing:.06em;background:var(--amd-card);border-radius:6px;padding:1px 7px;color:var(--amd-amber-2)}
.amd-acctpromo__exp{color:var(--amd-muted);font-weight:600;margin-left:4px}
@media(min-width:560px){.amd-acctstats{grid-template-columns:repeat(4,1fr)}}

/* Daftar pesanan di /akun + baris pesanan */
.amd-bookinglist{display:grid;gap:var(--amd-s-sm)}
.amd-bookingrow{display:block;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius);padding:16px 18px;color:var(--amd-ink);transition:transform .15s var(--amd-ease),box-shadow .15s,border-color .15s}
.amd-bookingrow:hover{transform:translateY(-2px);box-shadow:var(--amd-shadow-md);border-color:var(--amd-blue-3);color:var(--amd-ink)}
.amd-bookingrow__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.amd-bookingrow__head b{display:block;font-size:15px;font-weight:700;color:var(--amd-ink)}
.amd-bookingrow__head>div>span{display:block;font-size:12.5px;color:var(--amd-muted);margin-top:3px;line-height:1.5}
.amd-ministeps{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 2px}
.amd-ministep{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:var(--amd-muted-2);text-transform:uppercase;letter-spacing:.03em}
.amd-ministep i{width:8px;height:8px;border-radius:50%;background:var(--amd-line);flex:none}
.amd-ministep.is-done{color:var(--amd-success)}
.amd-ministep.is-done i{background:var(--amd-success)}
.amd-ministep.is-current{color:var(--amd-blue)}
.amd-ministep.is-current i{background:var(--amd-blue);box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.amd-bookingrow__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--amd-line)}
.amd-bookingrow__foot>span:first-child{font-size:11.5px;font-weight:700;color:var(--amd-muted);font-family:var(--amd-display)}
.amd-bookingrow__price{display:inline-flex;align-items:center;gap:8px;font-family:var(--amd-display);font-size:17px;font-weight:600;color:var(--amd-ink)}
.amd-bookingrow__price em{display:inline-flex;color:var(--amd-blue)}
.amd-bookingrow__price em .amd-i{width:15px;height:15px}

/* Badge status generik */
.amd-status{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.amd-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.amd-status--pending{color:var(--amd-amber-ink);background:var(--amd-amber-soft)}
.amd-status--konfirmasi{color:var(--amd-blue-ink);background:var(--amd-blue-soft)}
.amd-status--selesai{color:var(--amd-success-ink);background:var(--amd-success-soft)}
.amd-status--batal{color:var(--amd-danger-ink);background:var(--amd-danger-soft)}

/* ============================================================
   Hero agenda planner (widget booking kaya di beranda)
   ============================================================ */
.amd-agenda{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-lg);padding:var(--amd-s-lg);box-shadow:var(--amd-shadow-md);margin-top:-40px;position:relative;z-index:5;display:flex;flex-direction:column;gap:var(--amd-s-md)}
.amd-agenda__step{display:flex;flex-direction:column;gap:var(--amd-s-xs)}
.amd-agenda__lbl{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.amd-agenda__lbl>span{font-size:13px;font-weight:800;color:var(--amd-ink);letter-spacing:-.01em}
.amd-agenda__lbl>em{font-style:normal;font-size:12px;font-weight:700;color:var(--amd-blue)}
.amd-agenda__grid{display:grid;grid-template-columns:1fr;gap:var(--amd-s-sm)}
.amd-agenda__grid .amd-field{margin:0}
.amd-agenda__grid label{display:flex;align-items:center;gap:6px;font-size:12px}
.amd-agenda__grid label .amd-i{width:14px;height:14px;color:var(--amd-blue)}
.amd-agenda__foot{display:flex;flex-direction:column;gap:var(--amd-s-sm);padding:var(--amd-s-sm);border-radius:var(--amd-radius-sm);background:var(--amd-line-2);border:1px solid var(--amd-line)}
.amd-agenda__est{display:flex;align-items:center;gap:var(--amd-s-sm)}
.amd-agenda__est-ic{flex:none;width:40px;height:40px;border-radius:50%;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center}
.amd-agenda__est-ic .amd-i{width:19px;height:19px}
.amd-agenda__est small{display:block;font-size:11px;color:var(--amd-muted);font-weight:600}
.amd-agenda__est b{font-size:14.5px;color:var(--amd-ink);font-weight:700;letter-spacing:-.01em}
.amd-agenda__est b .amd-agenda__price{font-family:var(--amd-display);color:var(--amd-blue-2);white-space:nowrap}
.amd-agenda__cta{display:grid;grid-template-columns:1fr;gap:var(--amd-s-xs)}
.amd-agenda__cta .amd-btn{width:100%}

/* Footer: tumpuk & rata-tengah di layar sempit (mengikuti dev/demo-school) */
@media(min-width:901px) and (max-width:1120px){
  .amd-footer__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
  .amd-footer__loc{grid-column:1/-1}
  .amd-footer__loc .amd-footer__map{max-width:420px;aspect-ratio:16/7}
}
@media(max-width:900px){
  /* Markup footer sekarang cuma bilah hak cipta (.amd-footer__bar) — tanpa
     kolom merek/nav/kontak yang dulu ada. margin-top:60px lama menyisakan
     celah kosong besar di atas bilah; ganti jadi padding simetris biasa. */
  .amd-footer{padding:22px 22px 30px}
  .amd-footer__top{grid-template-columns:1fr;gap:0}
  /* Merek + sosmed: dipusatkan di puncak, dipisah garis. */
  .amd-footer__brand{max-width:none;text-align:center;padding-bottom:26px;border-bottom:1px solid var(--amd-line)}
  .amd-footer__brand .amd-logo{justify-content:center}
  .amd-footer__tagline{margin-inline:auto;max-width:34ch}
  .amd-footer__social{justify-content:center}
  /* Kolom-kolom: satu per baris, rata kiri, tiap blok dipisah garis tipis
     dengan padding lega — pola "accordion" yang rapi, bukan blok mengambang. */
  .amd-footer__nav{grid-template-columns:1fr;gap:0}
  .amd-footer__nav-col{align-items:flex-start;text-align:left;padding:22px 2px;border-bottom:1px solid var(--amd-line)}
  .amd-footer__nav-col:first-child{grid-column:auto}
  .amd-footer__nav-col ul{margin-top:12px}
  .amd-footer__contact li{font-size:13.5px}
  .amd-footer__loc{padding:22px 2px 0}
  .amd-footer__loc .amd-footer__map{max-width:none;margin:12px 0 0;aspect-ratio:16/10}
  .amd-footer__bar{flex-direction:column;align-items:center;text-align:center;gap:12px}
  /* Di layar sempit, "Developed by" turun baris & diperkecil, titik pemisah
     dilepas (sudah jelas dari susunan baris, bukan dari tanda baca). */
  .amd-footer__copy-wrap{flex-direction:column;gap:2px}
  a.amd-footer__by{display:block;font-size:11px}
  a.amd-footer__by::before{content:none}
  /* Kolom, bukan baris: tautan hukum & tombol panah dipusatkan MASING-MASING
     (align-items:center), jadi panah bulat tak menggeser teks jadi tak rata
     tengah seperti ketika keduanya dipaksa sebaris. */
  .amd-footer__bar-right{flex-direction:column;align-items:center;gap:14px}
  .amd-footer__legal{justify-content:center}
}

/* ---------- Responsive ---------- */
@media(min-width:640px){
  .amd-cars,.amd-blog,.amd-features,.amd-grid--2,.amd-grid--3,.amd-grid--4{grid-template-columns:repeat(2,1fr)}
  .amd-carousel__track>*{flex-basis:47%}
  .amd-field--row{grid-template-columns:1fr 1fr}
  .amd-steps{grid-template-columns:1fr 1fr}
  .amd-jaminan ul{grid-template-columns:1fr 1fr}
  .amd-chips{grid-template-columns:repeat(4,1fr)}
  .amd-optcards{grid-template-columns:repeat(3,1fr)}
  .amd-statrow{grid-template-columns:repeat(2,1fr)}
  .amd-agenda__grid{grid-template-columns:repeat(3,1fr)}
  .amd-agenda__foot{flex-direction:row;align-items:center;justify-content:space-between}
  .amd-agenda__est{flex:1}
  .amd-agenda__cta{grid-template-columns:auto auto;gap:var(--amd-s-xs)}
  .amd-agenda__cta .amd-btn{width:auto}
}
@media(min-width:960px){
  .amd-nav{display:flex}
  .amd-header__actions{display:inline-flex}
  .amd-burger{display:none}
  /* Rentang desktop sempit (960–1180): rapatkan agar nav tidak berantakan */
  .amd-header__inner{gap:10px;padding-inline:12px}
  .amd-nav a{font-size:14px}
  .amd-hero{padding:76px 0 92px}
  .amd-hero__inner{grid-template-columns:1.12fr 1fr;gap:56px}
  .amd-section{padding:84px 0}
  .amd-cars,.amd-blog,.amd-grid--3{grid-template-columns:repeat(3,1fr)}
  .amd-features,.amd-grid--4{grid-template-columns:repeat(4,1fr)}
  .amd-carousel__track>*{flex-basis:31.5%}
  .amd-detail{grid-template-columns:1.1fr .9fr;align-items:start}
  .amd-quickbook{margin-top:-56px;padding:26px}
  .amd-quickbook form{grid-template-columns:2fr 1.3fr 1.3fr 1fr;align-items:end}
  .amd-promo{padding:52px 40px}
  .amd-sticky-action{display:none}
  body.amd.has-sticky{padding-bottom:0}
  .amd-botnav{display:none}
  body.amd.has-botnav{padding-bottom:0}
  .amd-steps{grid-template-columns:repeat(3,1fr);gap:18px}
  .amd-concierge{padding:26px 32px;flex-wrap:nowrap}
  .amd-statrow{grid-template-columns:repeat(4,1fr)}
  .amd-agenda{margin-top:-56px;padding:var(--amd-s-xl)}
}
/* 960–1180: sembunyikan label sekunder di header supaya satu baris muat */
@media(min-width:960px) and (max-width:1180px){
  .amd-logo__text small{display:none}
  .amd-lang b{display:none}
  .amd-lang__chev{display:none}
  .amd-lang{padding:0 10px}
  .amd-header__actions .amd-btn--sm{padding-inline:11px}
  .amd-nav{gap:16px}
}

/* ============================================================
   Lapisan gerak (referensi amdis-desktop-mobile) — semua halaman
   ============================================================ */

/* Intro bertahap — digerbang html.amd-ready (di-set main.js saat load). */
.amd-stagger-in>*{opacity:0;transform:translateY(16px)}
html.amd-ready .amd-stagger-in>*{opacity:1;transform:none;transition:opacity .7s var(--amd-ease),transform .7s var(--amd-ease)}
html.amd-ready .amd-stagger-in>*:nth-child(2){transition-delay:.07s}
html.amd-ready .amd-stagger-in>*:nth-child(3){transition-delay:.14s}
html.amd-ready .amd-stagger-in>*:nth-child(4){transition-delay:.22s}
html.amd-ready .amd-stagger-in>*:nth-child(5){transition-delay:.32s}
html.amd-ready .amd-stagger-in>*:nth-child(n+6){transition-delay:.42s}

/* Angka count-up — tabular supaya tak menggeser layout saat menggulung. */
[data-countup]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

/* Header mengecil saat scroll. */
.amd-header__inner{transition:padding .28s var(--amd-ease),box-shadow .28s var(--amd-ease),background .28s}
.amd-header.is-stuck .amd-header__inner{padding-top:7px;padding-bottom:7px;background:rgba(255,255,255,.95);box-shadow:0 12px 34px rgba(10,15,31,.14),0 3px 8px rgba(10,15,31,.05)}
.amd-header.is-stuck .amd-logo__mark{width:38px;height:38px}
.amd-header.is-stuck .amd-logo__mark .amd-i{width:20px;height:20px}

/* FAQ beranimasi — progressive enhancement; kelas .amd-faq--anim ditambah main.js.
   <details> tetap dipakai (SSR & tanpa-JS aman); JS mengelola buka/tutup pakai
   max-height inline + transitionend. */
.amd-faq--anim details>p{overflow:hidden;transition:max-height .42s var(--amd-ease),opacity .3s ease}
.amd-faq--anim details:not([open])>p{opacity:0}

@media (prefers-reduced-motion:reduce){
  .amd-stagger-in>*{opacity:1!important;transform:none!important;transition:none!important}
  .amd-faq--anim details>p{transition:none!important}
}

/* ============================================================
   Beranda long-scroll (layout referensi amdis-desktop-mobile)
   ============================================================ */

/* Judul section lebih ringkas (mendekati referensi) */
.amd-head h2{font-size:clamp(1.7rem, 1.15rem + 1.7vw, 2.3rem)}
.amd-perks__intro h2,.amd-loc__info h2,.amd-cta-band h2{font-size:clamp(1.55rem, 1.05rem + 1.5vw, 2.05rem);line-height:1.22}
.amd-armada-head h2{font-size:clamp(1.6rem, 1.1rem + 1.5vw, 2.1rem)}

/* Hero: narasi kiri + foto kanan; form pindah ke panel landscape di bawahnya */
.amd-hero--narrative{padding-bottom:clamp(56px, 8vw, 96px)}
.amd-hero--narrative .amd-hero__inner{align-items:center}
.amd-hero--narrative h1{font-size:clamp(1.9rem, 1.1rem + 2.1vw, 2.6rem);line-height:1.16}
.amd-hero--narrative .amd-hero__sub{margin-bottom:26px}
.amd-hero--narrative .amd-hero__stats{max-width:none;padding-top:24px;margin-top:6px;border-top:1px solid var(--amd-line)}
.amd-hero--narrative .amd-stat{background:none;border:0;padding:0;text-align:left}
.amd-hero--narrative .amd-stat:hover{transform:none}
.amd-hero--narrative .amd-stat b{font-size:21px}

/* Hero foto full-bleed (konsep demo-school): mobil sebagai latar, teks di atas.
   margin-top negatif menarik foto naik ke belakang header sticky yang mengambang,
   padding-bawah besar + bookwrap yang overlap membuat foto mengisi bagian bawah. */
.amd-hero--photo{position:relative;isolation:isolate;overflow:hidden;margin-top:calc(-1 * clamp(60px,8vw,78px));padding-top:clamp(132px,16vw,172px);padding-bottom:clamp(120px,15vw,180px)}
.amd-hero--photo::before{content:none}
.amd-hero__bg{position:absolute;inset:0;z-index:-2}
.amd-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.amd-hero--photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(102deg,rgba(8,12,26,.94) 0%,rgba(8,12,26,.82) 38%,rgba(8,12,26,.5) 70%,rgba(8,12,26,.28) 100%)}
@media(max-width:767px){.amd-hero--photo::after{background:linear-gradient(180deg,rgba(8,12,26,.9) 0%,rgba(8,12,26,.78) 55%,rgba(8,12,26,.62) 100%)}}
.amd-hero--photo .amd-hero__lead{color:#fff}
.amd-hero--photo h1{color:#fff}
.amd-hero--photo h1 em{color:var(--amd-blue-3);font-style:italic}
.amd-hero--photo .amd-hero__sub{color:rgba(255,255,255,.82)}
.amd-hero--photo .amd-badge{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(4px)}
.amd-hero--photo .amd-hero__stats{border-top-color:rgba(255,255,255,.2)}
.amd-hero--photo .amd-stat b{color:#fff}
.amd-hero--photo .amd-stat span{color:rgba(255,255,255,.62)}
/* Tombol di atas hero foto gelap — pola sama dengan .amd-section--navy */
.amd-hero--photo .amd-btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.amd-hero--photo a.amd-btn--outline{color:#fff}
.amd-hero--photo .amd-btn--outline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);color:#fff}
.amd-hero--photo .amd-hero__cta{margin-top:26px;gap:12px}

/* Kartu ulasan berganti di kolom kanan hero (menggantikan foto kotak) */
.amd-hero__aside{display:none}
@media(min-width:900px){.amd-hero__aside{display:block}}
.amd-herotesti{position:relative;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--amd-radius-lg);backdrop-filter:blur(10px);padding:22px 22px 20px;min-height:210px;box-shadow:var(--amd-shadow-lg)}
.amd-herotesti__item{position:absolute;inset:22px 22px 20px;opacity:0;transform:translateY(10px);transition:opacity .5s var(--amd-ease),transform .5s var(--amd-ease);pointer-events:none}
.amd-herotesti__item.is-active{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto}
.amd-herotesti__stars{display:flex;gap:2px;color:var(--amd-amber);margin-bottom:10px}
.amd-herotesti__stars .amd-i{width:15px;height:15px;fill:var(--amd-amber)}
.amd-herotesti blockquote{color:#fff;font-family:var(--amd-display);font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.01em}
.amd-herotesti figcaption{display:flex;align-items:center;gap:11px;margin-top:16px}
.amd-herotesti__av{flex:none;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;font-family:var(--amd-display);font-weight:600;font-size:15px;overflow:hidden}
.amd-herotesti__av img{width:100%;height:100%;object-fit:cover}
.amd-herotesti figcaption b{display:block;color:#fff;font-size:13.5px;font-weight:700}
.amd-herotesti figcaption small{color:rgba(255,255,255,.6);font-size:11.5px}
.amd-herotesti__tag{display:flex;align-items:center;gap:9px;margin-top:14px;padding:11px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--amd-radius-sm);color:rgba(255,255,255,.85);font-size:11.5px;line-height:1.4}
.amd-herotesti__tag .amd-i{width:16px;height:16px;flex:none;color:var(--amd-blue-3)}
.amd-herotesti__tag b{color:#fff;font-weight:700}

/* Panel form "Rencana Sewa Cepat" — straddle lembut di bawah hero */
.amd-hero__bookwrap{position:relative;z-index:5;margin-top:-16px;margin-bottom:8px}

/* Kartu "Rencana Sewa Cepat" — kompak, ringkas apa pun lebar viewport */
.amd-herobook{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-lg);padding:22px;box-shadow:var(--amd-shadow-lg);display:flex;flex-direction:column;gap:13px;min-width:0}
.amd-herobook__head{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--amd-line)}
.amd-herobook__ic{flex:none;width:40px;height:40px;border-radius:11px;background:var(--amd-navy-900);color:#fff;display:grid;place-items:center}
.amd-herobook__ic .amd-i{width:19px;height:19px}
.amd-herobook__head b{display:block;font-family:var(--amd-display);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.15}
.amd-herobook__head small{font-size:12px;color:var(--amd-muted)}
.amd-herobook__grp{display:flex;flex-direction:column;gap:6px;min-width:0}
/* semua label tinggi sama → input di baris yang sejajar (tanggal/jemput/paket) */
.amd-herobook__lbl{display:flex;align-items:center;gap:6px;min-height:24px;font-size:12px;font-weight:700;color:var(--amd-ink)}
.amd-herobook__lbl--row{justify-content:space-between}
.amd-herobook__lbl--row>span{display:inline-flex;align-items:center;gap:6px}
.amd-herobook__lbl-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--amd-line);background:var(--amd-card);color:var(--amd-blue-2);font:inherit;font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:999px;cursor:pointer;transition:border-color .15s,background .15s}
.amd-herobook__lbl-btn .amd-i{width:11px;height:11px}
/* Kapsul "paling diminati" untuk paket (menggantikan teks di dalam <option>) */
.amd-herobook__reco{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:5px;padding:4px 10px;border-radius:999px;background:var(--amd-amber-soft);color:var(--amd-amber-ink);font-size:10.5px;font-weight:800;letter-spacing:.02em;line-height:1;border:1px solid #fde68a}
.amd-herobook__reco .amd-i{width:12px;height:12px;color:var(--amd-amber);fill:var(--amd-amber)}
.amd-herobook__reco b{font-weight:800}
.amd-herobook__reco.is-picked{background:var(--amd-success-soft);color:var(--amd-success-ink);border-color:#a7f3d0}
.amd-herobook__reco.is-picked .amd-i{color:var(--amd-success);fill:var(--amd-success)}
.amd-herobook__lbl-btn:hover{border-color:var(--amd-blue-3);background:var(--amd-blue-soft)}
.amd-herobook__lbl .amd-i{width:14px;height:14px;color:var(--amd-blue)}
.amd-herobook__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
.amd-herobook__pills{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.amd-herobook__pill{appearance:none;border:1px solid var(--amd-line);background:var(--amd-line-2);color:var(--amd-ink-2);font:inherit;font-size:13px;font-weight:700;padding:11px 10px;min-height:44px;border-radius:var(--amd-radius-sm);cursor:pointer;transition:.15s;line-height:1.25;text-align:center;display:flex;align-items:center;justify-content:center}
.amd-herobook__pill:hover{border-color:var(--amd-blue-3);color:var(--amd-ink)}
.amd-herobook__pill.is-active{background:var(--amd-navy-900);border-color:var(--amd-navy-900);color:#fff}
.amd-herobook__est{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--amd-radius-sm);background:var(--amd-blue-soft);border:1px solid #bfdbfe;margin-top:2px}
.amd-herobook__est small{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--amd-muted)}
.amd-herobook__est b{font-size:12.5px;color:var(--amd-ink-2);font-weight:700}
.amd-herobook__price{font-family:var(--amd-display);font-size:19px;font-weight:600;color:var(--amd-blue-2);white-space:nowrap}
.amd-herobook .amd-btn{width:100%}
.amd-herobook .amd-btn+.amd-btn{margin-top:-4px}
.amd-herobook__lbl em{font-style:normal;font-weight:600;font-size:11px;color:var(--amd-blue)}

/* Durasi: pilih "isi jumlah hari" atau "pilih tanggal kembali" */
.amd-herobook__durline{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px}
.amd-herobook__durmode{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--amd-line-2);border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);padding:5px}
.amd-herobook__durmode button{appearance:none;border:0;background:none;font:inherit;font-size:12.5px;font-weight:700;color:var(--amd-muted);padding:10px 8px;min-height:40px;border-radius:9px;cursor:pointer;transition:.15s;line-height:1.2}
.amd-herobook__durmode button.is-active{background:var(--amd-card);color:var(--amd-ink);box-shadow:var(--amd-shadow-sm)}
.amd-herobook__dur{display:flex;align-items:center;gap:9px}
.amd-herobook__dur .amd-input{width:84px;text-align:center;font-weight:700}
.amd-herobook__dur span{font-size:13px;font-weight:700;color:var(--amd-ink-2)}
.amd-herobook__durline > [data-r="selesai"]{flex:0 1 auto;max-width:200px}
.amd-herobook__range{font-size:11.5px;font-weight:700;color:var(--amd-blue-2);white-space:nowrap;margin-left:auto}
.amd-herobook__range:empty{display:none}
@media(min-width:900px){
  .amd-herobook__grp--dur .amd-herobook__durmode{width:290px;flex:none}
  .amd-herobook__grp--dur .amd-herobook__dur .amd-input{width:74px}
  .amd-herobook__grp--dur .amd-herobook__range{margin-left:2px}
}

/* Katalog ketersediaan unit di dalam kartu */
.amd-herobook__hint{font-size:10.5px;color:var(--amd-muted);line-height:1.5;margin-top:2px}
.amd-herobook__hint b{color:var(--amd-ink-2);font-weight:700}

/* Blok "beberapa unit / rombongan" */
.amd-herobook__multi{margin-top:8px;border-top:1px dashed var(--amd-line);padding-top:10px}
.amd-herobook__multi-tgl{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--amd-ink-2);cursor:pointer}
.amd-herobook__multi-tgl input{width:15px;height:15px;accent-color:var(--amd-blue);flex:none}
.amd-herobook__multi-body{display:flex;flex-direction:column;gap:9px;margin-top:10px}
.amd-herobook__multi-hint{font-size:11px;color:var(--amd-muted);line-height:1.5;margin:0}
.amd-herobook__multi-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:var(--amd-ink-2)}
.amd-herobook__multi-row b{font-family:var(--amd-display);font-size:15px;color:var(--amd-blue-2)}
.amd-herobook__multi-body textarea{font-size:12.5px;min-height:56px}

/* Stepper jumlah per-tipe di daftar unit saat mode rombongan aktif */
.amd-herobook__units.is-multi .amd-herobook__unit,
.amd-herobook__unitwrap .amd-herobook__units.is-multi .amd-herobook__ucard{cursor:default}
.amd-herobook__ustep{display:inline-flex;align-items:stretch;border:1px solid var(--amd-line);border-radius:10px;overflow:hidden;background:var(--amd-card);flex:none}
.amd-herobook__ustep button{width:34px;min-height:36px;border:0;background:none;font-size:16px;font-weight:800;color:var(--amd-ink-2);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
.amd-herobook__ustep button:hover:not(:disabled){background:var(--amd-line-2);color:var(--amd-blue)}
.amd-herobook__ustep button:disabled{opacity:.35;cursor:not-allowed}
.amd-herobook__ustep b{min-width:30px;text-align:center;font-size:13px;font-weight:800;color:var(--amd-ink);border-inline:1px solid var(--amd-line);display:flex;align-items:center;justify-content:center}
.amd-herobook__ucard .amd-herobook__ustep{margin-top:8px;align-self:flex-start}

.amd-herobook__units{display:flex;flex-direction:column;gap:8px;padding:0;margin:0}
.amd-herobook__unit{position:relative;display:flex;align-items:center;gap:11px;min-height:78px;padding:12px 13px;border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);background:var(--amd-card);cursor:pointer;transition:border-color .15s,background .15s}
.amd-herobook__unit input{position:absolute;opacity:0;width:0;height:0}
.amd-herobook__unit::before{content:"";flex:none;width:17px;height:17px;border-radius:50%;border:2px solid var(--amd-muted-2);transition:.15s}
.amd-herobook__units.is-multi .amd-herobook__unit::before{display:none}
.amd-herobook__unit:hover{border-color:var(--amd-blue-3)}
.amd-herobook__unit.is-sel{border-color:var(--amd-blue);background:var(--amd-blue-soft)}
.amd-herobook__unit.is-sel::before{border-color:var(--amd-blue);background:var(--amd-blue);box-shadow:inset 0 0 0 3px #fff}
.amd-herobook__unit.is-booked,.amd-herobook__unit.is-off{cursor:not-allowed;background:var(--amd-line-2);opacity:.72}
.amd-herobook__unit.is-booked::before,.amd-herobook__unit.is-off::before{border-style:dashed;border-color:var(--amd-muted-2)}
.amd-herobook__unit-main{flex:1;min-width:0}
.amd-herobook__unit-main b{display:block;font-size:13.5px;font-weight:700;color:var(--amd-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.amd-herobook__unit-meta{display:block;font-size:11px;color:var(--amd-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
/* slot kanan lebar tetap: badge (mode tunggal) & stepper (mode rombongan)
   menempati ruang yang sama → tinggi baris konsisten di kedua mode */
.amd-herobook__unit-side{flex:none;min-width:104px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px}
.amd-herobook__unit-price{display:block;font-family:var(--amd-display);font-size:13.5px;font-weight:600;color:var(--amd-ink);white-space:nowrap}
.amd-herobook__unit-badge{display:block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.amd-herobook__unit.is-ok .amd-herobook__unit-badge{color:var(--amd-success)}
.amd-herobook__unit.is-booked .amd-herobook__unit-badge{color:var(--amd-amber-2)}
.amd-herobook__unit.is-off .amd-herobook__unit-badge{color:var(--amd-muted)}

/* Versi di dalam app-shell mobile: menyatu dengan .amd-appview */
.amd-herobook--app{box-shadow:var(--amd-shadow-md)}
.amd-herobook--app .amd-herobook__unitviz{display:none}          /* mobile: kartu carousel yang jadi picker */
.amd-herobook--app .amd-herobook__unitwrap{gap:0}

/* Mobile: pilih unit = carousel kartu bergambar, tap untuk memilih */
.amd-herobook__units--cards{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin:0;scrollbar-width:none}
.amd-herobook__units--cards::-webkit-scrollbar{display:none}
.amd-herobook__ucard{flex:0 0 66%;max-width:230px;position:relative;display:flex;flex-direction:column;border:1.5px solid var(--amd-line);border-radius:var(--amd-radius-sm);background:var(--amd-card);overflow:hidden;cursor:pointer;scroll-snap-align:start;transition:border-color .15s,box-shadow .15s}
.amd-herobook__ucard input{position:absolute;opacity:0;width:0;height:0}
.amd-herobook__ucard.is-sel{border-color:var(--amd-blue);box-shadow:0 0 0 3px var(--amd-blue-soft)}
.amd-herobook__ucard.is-booked,.amd-herobook__ucard.is-off{opacity:.6;cursor:not-allowed}
.amd-herobook__ucard-img{position:relative;display:block;aspect-ratio:5/4;background:var(--amd-line-2)}
.amd-herobook__ucard-img img{width:100%;height:100%;object-fit:contain;padding:4px;display:block}
.amd-herobook__ucard-badge{position:absolute;left:7px;bottom:7px;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:var(--amd-card);color:var(--amd-success);border-radius:6px;padding:3px 7px;box-shadow:var(--amd-shadow-xs)}
.amd-herobook__ucard.is-booked .amd-herobook__ucard-badge{color:var(--amd-amber-2)}
.amd-herobook__ucard.is-off .amd-herobook__ucard-badge{color:var(--amd-muted)}
.amd-herobook__ucard-body{padding:9px 11px 11px;display:flex;flex-direction:column;gap:2px}
.amd-herobook__ucard-body b{font-size:12.5px;font-weight:700;color:var(--amd-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.amd-herobook__ucard-meta{font-size:10px;color:var(--amd-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.amd-herobook__ucard-price{font-family:var(--amd-display);font-size:13px;font-weight:600;color:var(--amd-blue-2);margin-top:3px}
.amd-herobook__ucard-price em{font-style:normal;font-size:9.5px;color:var(--amd-muted);font-weight:400}
.amd-herobook__ucard.is-sel .amd-herobook__ucard-badge{color:var(--amd-blue)}

/* Kilau singkat saat unit dipilih dari modal katalog */
.amd-herobook__units.is-flash{animation:amd-hbflash 1.4s var(--amd-ease)}
@keyframes amd-hbflash{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}30%{box-shadow:0 0 0 4px rgba(37,99,235,.28)}}

/* Pilih unit: daftar + pratinjau visual mobil */
.amd-herobook__unitwrap{display:flex;flex-direction:column;gap:10px;min-width:0}
.amd-herobook__unitviz{display:flex;flex-direction:column;border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);overflow:hidden;background:var(--amd-line-2);margin-top:2px}
.amd-herobook__unitviz>img{width:100%;height:auto;aspect-ratio:4/3;max-height:240px;object-fit:contain;padding:4px;display:block;background:var(--amd-line-2)}
.amd-herobook__vizph{flex:1;display:grid;place-items:center;gap:8px;padding:22px 18px;text-align:center;color:var(--amd-muted);font-size:11.5px;font-weight:600;line-height:1.5}
.amd-herobook__vizph svg{width:26px;height:26px;opacity:.5}
.amd-herobook__vizmeta{padding:11px 13px;display:flex;flex-direction:column;gap:2px;background:var(--amd-card)}
.amd-herobook__vizmeta b{font-size:13px;color:var(--amd-ink)}
.amd-herobook__vizmeta>span{font-size:11px;color:var(--amd-muted)}
.amd-herobook__vizrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.amd-herobook__vizprice{font-family:var(--amd-display);font-size:14px;font-weight:600;color:var(--amd-blue-2)}
.amd-herobook__vizmore{flex:none;padding:8px 14px;min-height:34px;border:1px solid var(--amd-line);border-radius:9px;background:var(--amd-card);font:inherit;font-size:11.5px;font-weight:700;color:var(--amd-ink-2);cursor:pointer;transition:border-color .15s,color .15s}
.amd-herobook__vizmore:hover{border-color:var(--amd-blue-3);color:var(--amd-blue)}
.amd-herobook__viznav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--amd-line-2);border-top:1px solid var(--amd-line)}
.amd-herobook__viznav span{font-size:10.5px;font-weight:700;color:var(--amd-muted);text-transform:uppercase;letter-spacing:.04em}
.amd-herobook__viznav button{flex:none;width:36px;height:36px;border-radius:9px;border:1px solid var(--amd-line);background:var(--amd-card);color:var(--amd-ink-2);display:grid;place-items:center;cursor:pointer;transition:.15s}
.amd-herobook__viznav button svg{width:15px;height:15px}
.amd-herobook__viznav button:hover:not(:disabled){border-color:var(--amd-blue-3);color:var(--amd-blue)}
.amd-herobook__viznav button:disabled{opacity:.4;cursor:not-allowed}

/* Versi landscape (desktop) — panel lebar & ringkas tinggi di bawah hero */
@media(min-width:900px){
  .amd-herobook--wide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 20px;align-items:start;padding:18px 24px}
  .amd-herobook--wide .amd-herobook__head{grid-column:1/-1;padding-bottom:12px}
  .amd-herobook--wide .amd-herobook__grp{gap:5px}
  .amd-herobook--wide .amd-herobook__grp--wide{grid-column:1/-1}
  .amd-herobook--wide .amd-herobook__pills{grid-template-columns:repeat(4,1fr)}
  .amd-herobook--wide .amd-herobook__pill{padding:7px 8px}
  .amd-herobook--wide .amd-herobook__durmode{grid-template-columns:1fr 1fr}
  .amd-herobook--wide .amd-herobook__unitwrap{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:12px;align-items:start}
  .amd-herobook--wide .amd-herobook__units{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}
  .amd-herobook--wide .amd-herobook__unit{padding:12px 13px;min-height:78px}
  .amd-herobook--wide .amd-herobook__unitviz{display:flex;flex-direction:column;border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);overflow:hidden;background:var(--amd-line-2)}
  .amd-herobook--wide .amd-herobook__unitviz img{width:100%;height:auto;aspect-ratio:4/3;max-height:230px;object-fit:contain;padding:4px;display:block;background:var(--amd-line-2)}
  .amd-herobook--wide .amd-herobook__hint{margin-top:0}
  /* Estimasi + tombol WhatsApp sebaris */
  .amd-herobook--wide .amd-herobook__est{grid-column:1 / 3;margin-top:2px;padding:9px 13px}
  .amd-herobook--wide > .amd-btn--wa{grid-column:3 / 4;margin:2px 0 0;align-self:stretch}
}

/* Langkah: kartu bernomor besar + catatan kaki */
.amd-step--card{flex-direction:column;gap:0;padding:24px}
.amd-step--card .amd-step__n{width:auto;height:auto;background:none;color:var(--amd-muted-2);font-size:19px;border-radius:0;margin-bottom:12px;place-items:start}
.amd-step__foot{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--amd-line);font-size:11.5px;font-weight:600;color:var(--amd-muted)}

/* Kepala section + filter di baris yang sama */
.amd-armada-head{display:flex;flex-direction:column;gap:18px;margin-bottom:36px}
.amd-armada-head .amd-head{margin:0}
.amd-armada-head .amd-head--left{margin-bottom:0}
@media(min-width:860px){
  .amd-armada-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:28px}
  .amd-armada-head .amd-filter{padding-bottom:2px;flex:none;max-width:60%}
}
.amd-armada-filter button{flex:none;padding:10px 18px;min-height:40px;border-radius:999px;background:var(--amd-card);border:1px solid var(--amd-line);color:var(--amd-ink-2);font-weight:700;cursor:pointer;font-size:13px;transition:.15s;white-space:nowrap;font-family:inherit}
.amd-armada-filter button:hover{border-color:var(--amd-blue-3);color:var(--amd-ink)}
.amd-armada-filter button.is-active{background:var(--amd-navy-900);color:#fff;border-color:var(--amd-navy-900)}

/* Grid armada: 2 unggulan + grid sisanya */
.amd-armada-grid{display:grid;gap:22px;grid-template-columns:1fr}
.amd-armada-grid--feat{margin-bottom:22px}
.amd-armada-cell{display:flex;transition:opacity .3s var(--amd-ease),transform .3s var(--amd-ease)}
.amd-armada-cell>.amd-carcard{width:100%}
.amd-armada-cell.is-hidden{display:none}
.amd-armada-cell.is-fading{opacity:0;transform:scale(.97)}
.amd-armada-cell--feat>.amd-carcard{border-color:var(--amd-blue-3);box-shadow:var(--amd-shadow-sm)}
.amd-armada-more{text-align:center;margin-top:32px}
@media(min-width:640px){
  .amd-armada-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:980px){
  .amd-armada-grid{grid-template-columns:repeat(3,1fr)}
  .amd-armada-grid--feat{grid-template-columns:repeat(2,1fr)}
}

/* Blok "Bukan sekadar kunci mobil" */
.amd-perks{display:grid;gap:36px}
.amd-perks__intro h2{margin:12px 0 14px}
.amd-perks__intro p{color:var(--amd-muted);line-height:1.8;font-size:15px}
.amd-perks__badge{display:flex;align-items:center;gap:14px;margin-top:22px;padding:16px 18px;border-radius:var(--amd-radius-sm);background:var(--amd-line-2);border:1px solid var(--amd-line)}
.amd-perks__badge-ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--amd-navy-900);color:#fff;display:grid;place-items:center}
.amd-perks__badge-ic .amd-i{width:20px;height:20px}
.amd-perks__badge b{display:block;font-size:14px;color:var(--amd-ink);font-weight:700}
.amd-perks__badge small{font-size:12px;color:var(--amd-muted)}
.amd-perks__grid{display:grid;gap:18px;grid-template-columns:1fr}
.amd-perk{background:var(--amd-bg);border:1px solid var(--amd-line);border-radius:var(--amd-radius);padding:22px}
.amd-perk__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--amd-card);border:1px solid var(--amd-line);color:var(--amd-blue);margin-bottom:16px}
.amd-perk__ic .amd-i{width:21px;height:21px}
.amd-perk b{display:block;font-family:var(--amd-display);font-size:1.12rem;font-weight:600;color:var(--amd-ink);margin-bottom:7px;letter-spacing:-.01em}
.amd-perk p{font-size:13px;color:var(--amd-muted);line-height:1.7}
@media(min-width:720px){.amd-perks__grid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.amd-perks{grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start}}

/* Chip rating Google */
.amd-rating-chip{display:inline-flex;align-items:center;gap:4px 10px;flex-wrap:wrap;font-size:13.5px;font-weight:600;color:var(--amd-ink-2)}
.amd-rating-chip .amd-i{width:15px;height:15px;color:var(--amd-amber);fill:var(--amd-amber)}
.amd-rating-chip b{color:var(--amd-ink);font-family:var(--amd-display);font-weight:600}

/* Lokasi: info + peta */
.amd-loc{display:grid;gap:32px}
.amd-loc__info h2{margin:12px 0 12px}
.amd-loc__info p{color:var(--amd-muted);line-height:1.8;font-size:15px;margin-bottom:20px}
.amd-loc__rows{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:14px}
.amd-loc__rows li{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--amd-ink-2);line-height:1.4}
.amd-loc__act{display:flex;flex-wrap:wrap;gap:10px}
.amd-testi-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}

/* Tentang Amdis + FAQ dalam satu section, dua kolom */
.amd-about{display:grid;gap:32px}
.amd-about__lead{color:var(--amd-ink-2);line-height:1.85;font-size:var(--fz-sm)}
.amd-about__vm{margin:22px 0 24px;display:grid;gap:16px}
.amd-about__vm-item{padding:18px 20px;background:var(--amd-line-2);border-radius:var(--amd-radius-sm)}
.amd-about__vm-label{display:block;font-family:var(--amd-display);font-weight:600;font-size:var(--fz-h4);color:var(--amd-ink);letter-spacing:-.01em;margin-bottom:9px}
.amd-about__vm-item p{margin:0;font-size:var(--fz-sm);color:var(--amd-ink-2);line-height:1.75}
.amd-about__misi{margin:0;padding-left:20px;display:grid;gap:9px}
.amd-about__misi li{font-size:var(--fz-sm);color:var(--amd-ink-2);line-height:1.65}
@media(min-width:900px){.amd-about{grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);gap:52px;align-items:start}}
.amd-loc__ic{flex:none;width:34px;height:34px;border-radius:50%;background:var(--amd-card);border:1px solid var(--amd-line);display:grid;place-items:center;color:var(--amd-blue)}
.amd-loc__ic .amd-i{width:16px;height:16px}
.amd-loc__map{border-radius:var(--amd-radius-lg);overflow:hidden;border:1px solid var(--amd-line);min-height:300px}
.amd-loc__map .amd-mapfacade{height:100%;min-height:300px}
@media(min-width:900px){.amd-loc{grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}}

/* Pita CTA navy */
.amd-cta-band__inner{display:grid;gap:28px;align-items:center}
.amd-cta-band h2{color:#fff;margin-bottom:12px}
.amd-cta-band p{color:rgba(255,255,255,.72);line-height:1.8;font-size:15px;max-width:46ch}
.amd-cta-band__act{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.amd-cta-band__form{background:var(--amd-navy-800);border:1px solid rgba(255,255,255,.1);border-radius:var(--amd-radius-lg);padding:22px;display:grid;gap:12px}
.amd-cta-band__form b{color:#fff;font-size:14px;font-weight:800}
.amd-cta-band__form label{color:rgba(255,255,255,.6);font-size:11.5px;font-weight:700}
.amd-cta-band__form .amd-input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.amd-cta-band__form .amd-input::placeholder{color:rgba(255,255,255,.4)}
.amd-cta-band__form select.amd-input{color:#fff}
.amd-cta-band__form select.amd-input option{color:var(--amd-ink)}
@media(min-width:860px){
  .amd-cta-band__inner{grid-template-columns:1.15fr .85fr;gap:44px}
}

/* Hero split hanya jadi 2 kolom di layar lebar */
@media(min-width:960px){
  .amd-hero--split .amd-hero__inner{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:46px}
  .amd-hero--split .amd-agenda{margin-top:0}
}

/* ============================================================
   App-shell mobile (SPA 4 tab) — meniru amdis-desktop-mobile.html
   ============================================================ */
html.amd-app-on{overflow:hidden}
html.amd-app-on body{overflow:hidden}
html.amd-app-on .amd-header,
html.amd-app-on .amd-footer,
html.amd-app-on .amd-botnav,
html.amd-app-on #amd-main{display:none!important}
/* Sama seperti di atas tapi dipicu langsung dari server (class amd-inscope di
   <body>, dihitung includes/header.php) — bukan menunggu js/app.js menambah
   amd-app-on. Menghapus jeda kelap-kelip header lama sebelum JS jalan. */
@media(max-width:959px){
  body.amd.amd-inscope .amd-header,
  body.amd.amd-inscope .amd-footer,
  body.amd.amd-inscope .amd-botnav,
  body.amd.amd-inscope #amd-main{display:none!important}
}

.amd-app{position:fixed;inset:0;z-index:120;background:var(--amd-bg);display:flex;flex-direction:column;overscroll-behavior:contain}
.amd-app{padding-top:env(safe-area-inset-top)}
.amd-app__bar{position:relative;flex:none;display:flex;align-items:center;gap:11px;margin:10px 16px 4px;padding:9px 11px;border-radius:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 26px rgba(10,15,31,.1),0 2px 6px rgba(10,15,31,.04);z-index:3}
.amd-app__back{flex:none;width:34px;height:34px;border-radius:10px;border:1px solid var(--amd-line);background:var(--amd-card);display:grid;place-items:center;cursor:pointer;color:var(--amd-ink)}
.amd-app__back .amd-i{width:18px;height:18px}
.amd-app__brand{display:flex;align-items:center;gap:10px;flex:1;color:var(--amd-ink)}
.amd-app__brand-mark{flex:none;width:34px;height:34px;border-radius:10px;background:var(--amd-navy-900);color:#fff;display:grid;place-items:center}
.amd-app__brand-mark .amd-i{width:18px;height:18px}
.amd-app__brand b{display:block;font-family:var(--amd-display);font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.1;color:var(--amd-ink)}
.amd-app__brand small{display:block;font-size:10px;color:var(--amd-muted);font-weight:600}
.amd-app__bar-act{flex:none;display:flex;align-items:center;gap:8px}
/* Burger app-shell — styling sama persis dengan .amd-burger (desktop) */
.amd-app__burger{background:var(--amd-card);border:1px solid var(--amd-line);width:38px;height:38px;border-radius:11px;display:grid;place-items:center;cursor:pointer;color:var(--amd-ink);flex:none;transition:border-color .15s,color .15s}
.amd-app__burger .amd-i{width:19px;height:19px}
.amd-app__burger:hover,.amd-app__burger[aria-expanded="true"]{border-color:var(--amd-blue-3);color:var(--amd-blue)}
/* Menu burger = panel PENUH LAYAR sendiri (fixed, di atas segalanya —
   termasuk tab bar bawah), bukan dropdown kecil yang bisa lebih panjang
   dari sisa layar dan ketutup tab bar. Baris ikon+label meniru .amd-mobnav
   (dropdown burger versi halaman di luar app-shell) supaya kedua menu
   terasa satu bahasa desain. */
.amd-app__menu{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;gap:0;padding:0 16px calc(14px + env(safe-area-inset-bottom));background:var(--amd-bg);overflow-y:auto;-webkit-overflow-scrolling:touch}
.amd-app__menu:not([hidden]){animation:amd-fadein .18s var(--amd-ease)}
@keyframes amd-fadein{from{opacity:0}to{opacity:1}}
/* Kepala menu = kartu mengambang, gaya identik .amd-app__bar (blur + shadow),
   supaya tombol X berhenti tepat di posisi burger & "Menu" di posisi logo. */
.amd-app__menu-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px;padding:9px 11px;border-radius:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 26px rgba(10,15,31,.1),0 2px 6px rgba(10,15,31,.04)}
.amd-app__menu-close{flex:none;width:38px;height:38px;border-radius:11px;border:1px solid var(--amd-line);background:var(--amd-card);color:var(--amd-ink);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,color .15s}
.amd-app__menu-close .amd-i{width:19px;height:19px}
.amd-app__menu-close:hover{border-color:var(--amd-blue-3);color:var(--amd-blue)}
/* Tiap baris nav = tombol mengambang tersendiri (kartu bertepi, bukan daftar rata) */
.amd-app__menu-link,.amd-app__menu .amd-lang{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;margin-bottom:8px;border-radius:14px;border:1px solid var(--amd-line);background:var(--amd-card);box-shadow:0 1px 2px rgba(10,15,31,.05);color:var(--amd-ink);font-size:14.5px;font-weight:600;font:inherit;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s,box-shadow .15s}
a.amd-app__menu-link{color:var(--amd-ink)} /* .amd a{color:blue} generik punya spesifisitas sama — pastikan menang */
.amd-app__menu-link .amd-i,.amd-app__menu .amd-lang .amd-i{width:18px;height:18px;flex:none;color:var(--amd-blue)}
.amd-app__menu .amd-lang b{font-weight:600;letter-spacing:normal}
.amd-app__menu .amd-lang .amd-lang__chev{width:15px;height:15px;margin-left:auto;opacity:.4;color:var(--amd-muted)}
.amd-app__menu .amd-lang{height:auto;justify-content:flex-start;white-space:normal}
.amd-app__menu-link:hover,.amd-app__menu .amd-lang:hover{border-color:var(--amd-blue-3);background:var(--amd-blue-soft);color:var(--amd-blue);transform:translateY(-1px);box-shadow:0 6px 16px rgba(10,15,31,.08)}
.amd-app__menu-link:active,.amd-app__menu .amd-lang:active{transform:translateY(0);box-shadow:0 1px 2px rgba(10,15,31,.05)}
.amd-app__menu-link--user{gap:10px}
.amd-app__menu-link--user .amd-app__acct{width:30px;height:30px}
.amd-app__menu-link--user .amd-app__acct .amd-i{width:15px;height:15px}
.amd-app__menu-user-name{flex:1;min-width:0;font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.amd-app__menu-user-out{display:flex;align-items:center;gap:5px;flex:none;font-size:12.5px;font-weight:600;color:var(--amd-muted)}
.amd-app__menu-user-out .amd-i{width:15px;height:15px;color:var(--amd-muted)}
.amd-app__menu-link--user:hover .amd-app__menu-user-out,
.amd-app__menu-link--user:hover .amd-app__menu-user-out .amd-i{color:var(--amd-blue)}
.amd-app__menu-wa{background:var(--amd-blue)!important;color:#fff!important;justify-content:center;gap:9px;margin-top:2px;padding:13px 12px;border-radius:14px;font-size:15px;font-weight:700;border-color:transparent!important;box-shadow:0 10px 22px rgba(37,99,235,.32);flex:none}
.amd-app__menu-wa:hover{background:var(--amd-blue-2)!important;transform:translateY(-1px);box-shadow:0 12px 26px rgba(37,99,235,.4)}
.amd-app__menu-sep{height:1px;background:var(--amd-line);margin:2px 6px 14px;opacity:.7}
.amd-app__menu-wa .amd-i{color:#fff!important;width:18px;height:18px}
/* Muncul satu-satu dari atas ke bawah setiap kali menu dibuka */
.amd-app__menu>*{animation:amd-menu-item-in .4s var(--amd-ease) both}
@keyframes amd-menu-item-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.amd-app__menu>*:nth-child(1){animation-delay:.02s}
.amd-app__menu>*:nth-child(2){animation-delay:.05s}
.amd-app__menu>*:nth-child(3){animation-delay:.08s}
.amd-app__menu>*:nth-child(4){animation-delay:.11s}
.amd-app__menu>*:nth-child(5){animation-delay:.14s}
.amd-app__menu>*:nth-child(6){animation-delay:.17s}
.amd-app__menu>*:nth-child(7){animation-delay:.2s}
.amd-app__menu>*:nth-child(8){animation-delay:.23s}
.amd-app__menu>*:nth-child(9){animation-delay:.26s}
.amd-app__menu>*:nth-child(10){animation-delay:.29s}
.amd-app__menu>*:nth-child(11){animation-delay:.32s}
.amd-app__menu>*:nth-child(12){animation-delay:.35s}
.amd-app__menu>*:nth-child(13){animation-delay:.38s}
.amd-app__menu>*:nth-child(n+14){animation-delay:.4s}
@media(prefers-reduced-motion:reduce){.amd-app__menu>*{animation:none}}
/* Kepala menu TIDAK ikut bergeser masuk — dia harus terasa seperti bar yang
   sama persis dengan .amd-app__bar yang "tetap di situ", cuma ikonnya yang
   berubah burger→X. Hanya ikon X yang dianimasikan (menandai perubahan). */
.amd-app__menu>.amd-app__menu-head{animation:none;opacity:1;transform:none}
.amd-app__menu:not([hidden]) .amd-app__menu-close .amd-i{animation:amd-x-pop .32s var(--amd-ease)}
@keyframes amd-x-pop{from{opacity:0;transform:rotate(-90deg) scale(.5)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.amd-app__menu-close .amd-i{animation:none}}
.amd-app__acct{flex:none;width:36px;height:36px;border-radius:50%;background:var(--amd-navy-900);color:#fff;display:grid;place-items:center}
.amd-app__acct .amd-i{width:18px;height:18px;color:#fff}

/* Tombol ganti bahasa — bentuk selaras dengan .amd-btn--sm (outline) */
.amd-lang{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 13px;border-radius:10px;font-family:inherit;font-weight:700;font-size:13.5px;color:var(--amd-ink);background:var(--amd-card);border:1px solid var(--amd-line);transition:border-color .15s,color .15s,background .15s;white-space:nowrap}
.amd-lang .amd-i{width:16px;height:16px;color:var(--amd-muted)}
.amd-lang b{font-weight:800;letter-spacing:.03em}
.amd-lang__chev{width:13px;height:13px;opacity:.5;flex:none}
.amd-lang:hover{border-color:var(--amd-blue-3);color:var(--amd-blue)}
.amd-lang:hover .amd-i{color:var(--amd-blue)}
.amd-lang--invert{height:36px;padding:0 10px;font-size:12.5px;background:var(--amd-line-2);border-color:transparent}
.amd-lang--invert:hover{background:var(--amd-line);color:var(--amd-ink)}

/* Tombol tema gelap/terang (app bar) — sun & moon bertumpuk, saling silih */
.amd-app__theme{flex:none;position:relative;overflow:hidden;width:36px;height:36px;border-radius:50%;border:1px solid var(--amd-line);background:var(--amd-card);color:var(--amd-ink-2);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,color .15s}
/* Versi header desktop — bentuk kotak membulat setinggi .amd-lang/.amd-btn--sm
   di sampingnya, bukan lingkaran app-shell, supaya sebaris konsisten. */
.amd-header__theme{width:40px;height:40px;border-radius:10px}
.amd-app__theme:hover{border-color:var(--amd-blue-3);color:var(--amd-blue)}
a.amd-app__theme{color:var(--amd-ink-2)} /* .amd a{color:blue} generik punya spesifisitas sama — pastikan menang (dipakai jadi <a> untuk tombol keluar) */
a.amd-app__theme:hover{color:var(--amd-blue)}
.amd-app__theme .amd-i{position:absolute;width:17px;height:17px;transition:opacity .2s ease,transform .32s var(--amd-ease)}
.amd-app__theme .amd-i:nth-child(2){opacity:0;transform:rotate(-90deg) scale(.5)}
html[data-theme="dark"] .amd-app__theme .amd-i:nth-child(1){opacity:0;transform:rotate(90deg) scale(.5)}
html[data-theme="dark"] .amd-app__theme .amd-i:nth-child(2){opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.amd-app__theme .amd-i{transition:opacity .15s}}

/* ===== Mode gelap — berlaku di seluruh situs publik (desktop & app-shell),
   dipicu tombol di header desktop atau app bar (keduanya data-amd-theme-toggle,
   ditangani sama di js/main.js). Hampir semua komponen sudah memakai token
   --amd-*, jadi cukup meng-override token pada body.amd + sedikit permukaan
   #fff yang masih hard-code. Tidak menyentuh /admin (body.amd-adm terpisah). ===== */
html[data-theme="dark"] .amd-header__inner{background:rgba(21,29,48,.82);border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .amd-header.is-stuck .amd-header__inner{background:rgba(21,29,48,.94)}
/* Pilihan chip/pil (keperluan perjalanan, filter armada, preset durasi, dll.):
   di mode terang, "navy-900 aktif" vs "ink-2 pasif" sudah kontras cukup. Di
   mode gelap keduanya jadi mirip-mirip gelap — pasif perlu diredupkan lagi,
   aktif perlu warna aksen yang jelas menonjol supaya pilihan langsung terlihat. */
html[data-theme="dark"] .amd-herobook__pill,
html[data-theme="dark"] .amd-filter a,
html[data-theme="dark"] .amd-preset,
html[data-theme="dark"] .amd-chip,
html[data-theme="dark"] .amd-armada-filter button,
html[data-theme="dark"] .amd-appbook__toggle button{color:var(--amd-muted)}
html[data-theme="dark"] .amd-herobook__pill.is-active,
html[data-theme="dark"] .amd-filter a.is-active,
html[data-theme="dark"] .amd-preset.is-active,
html[data-theme="dark"] .amd-chip.is-active,
html[data-theme="dark"] .amd-armada-filter button.is-active,
html[data-theme="dark"] .amd-appbook__toggle button.is-active{background:var(--amd-blue);border-color:var(--amd-blue);color:#fff}
html[data-theme="dark"] body.amd{
  --amd-bg:#0b1120; --amd-card:#151d30;
  --amd-ink:#f1f5f9; --amd-ink-2:#c7d2e0; --amd-muted:#93a1b5; --amd-muted-2:#7c8aa3;
  --amd-line:#28324c; --amd-line-2:#1a2236;
  --amd-navy-900:#1c2742;
  --amd-blue-soft:#1c2c4f;
  --amd-amber-soft:#3a2c0d;
  --amd-success-soft:#0e3b2d;
  --amd-danger-soft:#3a1620;
  --amd-success-ink:#6ee7b7; --amd-danger-ink:#fca5a5; --amd-amber-ink:#fcd34d; --amd-blue-ink:#93c5fd;
  --amd-shadow-xs:0 1px 2px rgba(0,0,0,.4);
  --amd-shadow-sm:0 1px 3px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.35);
  --amd-shadow-md:0 8px 24px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.35);
  --amd-shadow-lg:0 24px 56px rgba(0,0,0,.6),0 6px 16px rgba(0,0,0,.4);
  color-scheme:dark;
  background:var(--amd-bg);color:var(--amd-ink);
}
html[data-theme="dark"] .amd-app__bar,
html[data-theme="dark"] .amd-app__menu-head{background:rgba(21,29,48,.86);border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .amd-app__tabs{background:rgba(21,29,48,.92);border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .amd-app__back,
html[data-theme="dark"] .amd-appbook__toggle button,
html[data-theme="dark"] .amd-appsearch{background:var(--amd-card)}
html[data-theme="dark"] .amd-appnote{border-color:#2f4372}
html[data-theme="dark"] .amd-app-hero__tag{background:rgba(0,0,0,.6)}
html[data-theme="dark"] .amd-appchan__ic--wa{color:#34d399}
/* herobook (planner) di app-shell — permukaan #fff yang tersisa */
html[data-theme="dark"] .amd-app .amd-herobook__durmode button.is-active{background:var(--amd-card);color:var(--amd-ink)}
html[data-theme="dark"] .amd-app .amd-herobook__ucard{background:var(--amd-card)}
html[data-theme="dark"] .amd-app .amd-herobook__ucard-badge{background:var(--amd-card)}
html[data-theme="dark"] .amd-app .amd-herobook__est{border-color:#2f4372}
/* kontrol form native di app-shell — gelapkan permukaan + picker */
html[data-theme="dark"] .amd-app .amd-input,
html[data-theme="dark"] .amd-app input.amd-input,
html[data-theme="dark"] .amd-app textarea.amd-input,
html[data-theme="dark"] .amd-app select.amd-input{background-color:var(--amd-card);color:var(--amd-ink);border-color:var(--amd-line);color-scheme:dark}
html[data-theme="dark"] .amd-app select.amd-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2393a1b5' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}

.amd-app__view{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:16px 16px 26px;transition:opacity .16s ease,transform .16s var(--amd-ease)}
.amd-app__view.is-leaving{opacity:0;transform:translateY(8px)}
.amd-app__view.is-entering{opacity:0;transform:translateY(10px)}
@media(prefers-reduced-motion:reduce){.amd-app__view{transition:none}}
.amd-appview{display:flex;flex-direction:column;gap:36px}
.amd-appview>*{animation:amd-appfade .34s var(--amd-ease) both}
@keyframes amd-appfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.amd-appview>*{animation:none}}

/* tab bar — pola .amd-botnav, tombol WA menonjol tanpa terpotong */
.amd-app__tabs{position:relative;z-index:10;flex:none;display:flex;align-items:stretch;justify-content:space-around;gap:2px;margin:0 16px calc(10px + env(safe-area-inset-bottom));padding:7px 8px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(15,23,42,.08);border-radius:22px;box-shadow:0 12px 32px rgba(10,15,31,.16),0 4px 10px rgba(10,15,31,.06);overflow:visible}
.amd-app__tab,.amd-app__tabs-fab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;min-height:52px;border:0;background:none;cursor:pointer;color:var(--amd-muted);font-size:10.5px;font-weight:700;font-family:inherit;border-radius:14px;transition:color .15s;opacity:.68}
.amd-app__tab .amd-i,.amd-app__tabs-fab .amd-i{width:21px;height:21px;transition:transform .18s var(--amd-ease)}
.amd-app__tab-ic{display:grid;place-items:center;width:36px;height:24px;border-radius:10px;background:transparent;transition:background .18s var(--amd-ease)}
.amd-app__tab-lb{transition:color .15s}
.amd-app__tab:hover{opacity:.9}
.amd-app__tab.is-active{color:var(--amd-blue);opacity:1}
.amd-app__tab.is-active .amd-app__tab-ic{background:var(--amd-blue-soft)}
.amd-app__tab.is-active .amd-i{transform:scale(1.08)}
.amd-app__tabs-fab{position:relative;z-index:11;flex:0 0 56px;width:56px;height:56px;background:var(--amd-blue);color:#fff;border-radius:50%;align-self:center;margin:-16px 4px 0;box-shadow:0 12px 24px rgba(37,99,235,.42);min-height:0;opacity:1}
.amd-app__tabs-fab .amd-i{width:24px;height:24px;color:#fff}
.amd-app__tabs-fab span{display:none}

/* Tablet: kolom isi app-shell melebar bertahap DAN skala tipografi/ruang
   dinaikkan, supaya di layar lebar tidak terlihat seperti ponsel kecil yang
   melayang. .amd-app__view tetap selebar layar (pemilik scroll) — pembatas
   lebar lewat padding-inline agar bilah gulir menempel di tepi layar. Bar/tab
   selebar kolom isi. */
@media(min-width:600px){
  .amd-app__view{padding-left:max(16px, (100% - 544px) / 2);padding-right:max(16px, (100% - 544px) / 2);padding-top:20px;padding-bottom:32px}
  .amd-app__bar{max-width:544px;width:100%;margin-left:auto;margin-right:auto}
  .amd-app__tabs{max-width:544px;width:100%;margin-left:auto;margin-right:auto}
}
@media(min-width:760px){
  .amd-app__view{padding-left:max(16px, (100% - 640px) / 2);padding-right:max(16px, (100% - 640px) / 2)}
  .amd-app__bar,.amd-app__tabs{max-width:640px}
  /* var-based tiers naik untuk semua primitif .amd-app* yang memakainya */
  .amd-app{--fz-eyebrow:12.5px;--fz-cap:13.5px;--fz-sm:15px;--fz-body:16px;--fz-lead:17.5px;--fz-h4:1.18rem;--fz-h3:1.5rem}
  .amd-appview{gap:44px}
  .amd-app__brand b{font-size:15.5px}
  .amd-app__brand small{font-size:11px}
  .amd-app__tab,.amd-app__tabs-fab{font-size:12px}
  .amd-app__tab .amd-i,.amd-app__tabs-fab .amd-i{width:23px;height:23px}
  .amd-app-hero h1{font-size:2.1rem}
  .amd-app-hero p{max-width:44ch}
  .amd-app-hero__media img{max-height:230px}
  /* tier px keras yang paling kentara — dinaikkan berkelompok */
  .amd-appcard__head b{font-size:1.2rem}
  .amd-appcard--quote p{font-size:1.12rem}
  .amd-apphelp h1{font-size:1.6rem}
  .amd-apphelp p{font-size:14.5px}
  .amd-appdetail__head h1{font-size:1.8rem}
  .amd-appdetail__head p,
  .amd-appguar b,
  .amd-appchan b,
  .amd-appempty p,
  .amd-appaddr,
  .amd-appsearch input{font-size:15px}
  .amd-appnote,
  .amd-appblurb,
  .amd-appguar p,
  .amd-appcta div span,
  .amd-appbook label{font-size:13.5px}
  .amd-appchan small,
  .amd-appprice__row small,
  .amd-appmini small{font-size:12.5px}
  .amd-appprice__row b{font-size:14.5px}
  .amd-appprice__row span{font-size:16.5px}
  .amd-appspec b{font-size:13.5px}
  .amd-appspec small{font-size:11px}
}
@media(min-width:960px){
  .amd-app__view{padding-left:max(16px, (100% - 720px) / 2);padding-right:max(16px, (100% - 720px) / 2)}
  .amd-app__bar,.amd-app__tabs{max-width:720px}
  .amd-appview{gap:52px}
  .amd-app-hero h1{font-size:2.35rem}
  .amd-app-hero p{max-width:52ch}
  .amd-app-hero__media img{max-height:280px}
}

/* ---- primitif isi partial (selaras dengan komponen desktop amd-) ---- */
.amd-app-hero{text-align:center;display:flex;flex-direction:column;align-items:center}
.amd-app-hero h1{font-size:clamp(1.5rem, 1.2rem + 2vw, 1.9rem);line-height:1.2;margin:14px 0 10px}
.amd-app-hero h1 em{font-style:italic;color:var(--amd-blue);font-weight:500}
.amd-app-hero p{font-size:var(--fz-sm);color:var(--amd-muted);line-height:1.75;max-width:34ch}
.amd-app-hero .amd-badge{font-size:var(--fz-cap)}
.amd-appfacts{justify-content:center;width:100%}
.amd-appfacts>div{text-align:center}
.amd-app-hero__media{position:relative;align-self:stretch;width:100%;margin:14px 0 2px;border-radius:var(--amd-radius);overflow:hidden;box-shadow:var(--amd-shadow-xs);border:1px solid var(--amd-line);line-height:0}
.amd-app-hero__media img{width:100%;aspect-ratio:16/9;max-height:172px;height:auto;object-fit:cover;object-position:center 55%;display:block;background:var(--amd-line-2)}
.amd-app-hero__tag{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:rgba(10,15,31,.72);backdrop-filter:blur(6px);color:#fff;font-size:10.5px;font-weight:600;line-height:1.3;max-width:calc(100% - 20px)}
.amd-app-hero__tag .amd-i{width:13px;height:13px;flex:none;color:var(--amd-blue-3)}
.amd-appfacts{display:flex;gap:22px;margin-top:16px;padding-top:16px;border-top:1px solid var(--amd-line)}
.amd-appfacts>div b{display:block;font-family:var(--amd-display);font-size:var(--fz-lead);font-weight:600;color:var(--amd-ink);line-height:1.15}
.amd-appfacts>div span{display:block;font-size:var(--fz-cap);color:var(--amd-muted);margin-top:4px}
/* Alur "Cara sewa" versi mobile — timeline bernomor + kartu */
.amd-appflow{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.amd-appflow li{position:relative;display:flex;gap:14px}
.amd-appflow li::before{content:"";position:absolute;left:19px;top:42px;bottom:-14px;width:2px;background:repeating-linear-gradient(to bottom,var(--amd-line) 0,var(--amd-line) 4px,transparent 4px,transparent 9px)}
.amd-appflow li:last-child::before{display:none}
.amd-appflow__node{flex:none;position:relative;width:40px;height:40px;border-radius:13px;background:var(--amd-navy-900);color:#fff;display:grid;place-items:center;z-index:1;box-shadow:0 4px 10px rgba(10,15,31,.18)}
.amd-appflow__node .amd-i{width:18px;height:18px}
.amd-appflow__node i{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 3px;border-radius:50%;background:var(--amd-blue);color:#fff;font-size:9.5px;line-height:1;font-weight:800;font-style:normal;font-family:inherit;display:flex;align-items:center;justify-content:center;text-align:center;border:2px solid var(--amd-bg);box-shadow:0 2px 5px rgba(37,99,235,.4)}
.amd-appflow__c{flex:1;min-width:0;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);padding:13px 15px;box-shadow:0 1px 3px rgba(10,15,31,.05);transition:border-color .15s,box-shadow .15s}
.amd-appflow__c b{display:block;font-size:var(--fz-sm);color:var(--amd-ink);font-weight:700;margin-bottom:3px}
.amd-appflow__c p{font-size:var(--fz-cap);color:var(--amd-muted);line-height:1.6}

/* Ulasan klien — carousel horizontal (siap untuk banyak review) */
.amd-appreviews{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:2px 16px 8px;scrollbar-width:none}
.amd-appreviews::-webkit-scrollbar{display:none}
.amd-appreview{flex:0 0 78%;max-width:290px;scroll-snap-align:start;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius);padding:16px 17px;display:flex;flex-direction:column;gap:9px;box-shadow:var(--amd-shadow-xs)}
.amd-appreview .amd-testi__stars{display:flex;gap:2px}
.amd-appreview .amd-testi__stars .amd-i{width:14px;height:14px;color:var(--amd-amber);fill:var(--amd-amber)}
.amd-appreview p{font-size:var(--fz-sm);color:var(--amd-ink-2);line-height:1.6;flex:1}
.amd-appreview figcaption{font-size:var(--fz-cap);color:var(--amd-muted);font-weight:600}
/* Ulasan versi tab (kartu quote bertumpuk) */
.amd-appview--ulasan .amd-appcard--quote{display:flex;flex-direction:column;gap:9px}
.amd-appview--ulasan figcaption{display:flex;align-items:center;gap:11px;margin-top:2px}
.amd-appreview__av{flex:none;width:34px;height:34px;border-radius:50%;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center;font-family:var(--amd-display);font-weight:600;font-size:14px}
.amd-appview--ulasan figcaption b{display:block;font-size:var(--fz-sm);color:var(--amd-ink);font-weight:700}
.amd-appview--ulasan figcaption small{font-size:11px;color:var(--amd-muted)}
.amd-appview--ulasan .amd-appcard--quote p{font-size:var(--fz-sm);color:var(--amd-ink-2);line-height:1.6}
.amd-badge--dark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff}
.amd-badge--dark .amd-i{color:var(--amd-amber)}
.amd-appdot{width:7px;height:7px;border-radius:50%;background:var(--amd-success);display:inline-block}

/* Kartu putih dasar — sama seperti .amd-panel di desktop */
.amd-appcard{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-lg);padding:20px;box-shadow:var(--amd-shadow-md)}
.amd-appcard__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.amd-appcard__head b{font-family:var(--amd-display);font-size:1.08rem;font-weight:600;color:var(--amd-ink);letter-spacing:-.01em}
.amd-appcard__kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:16px}
.amd-appcard--navy{background:var(--amd-navy-900);border-color:transparent;color:rgba(255,255,255,.8)}
.amd-appcard--navy .amd-appcard__head b{color:#fff}
.amd-appcard--quote{padding:22px}
.amd-appcard--quote p{font-family:var(--amd-display);font-style:italic;font-size:1.02rem;color:var(--amd-ink);line-height:1.55;margin:10px 0 12px}
.amd-appcard--quote cite{font-style:normal;font-size:12px;color:var(--amd-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.amd-pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;padding:5px 10px;border-radius:999px;background:var(--amd-line-2);color:var(--amd-muted)}
.amd-pill .amd-i{width:13px;height:13px}
.amd-pill--ok{background:var(--amd-success-soft);color:var(--amd-success-ink)}

/* Kartu "Pesan Rental Instan" */
.amd-appbook__toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.amd-appbook__toggle button{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:var(--amd-radius-sm);border:1px solid var(--amd-line);background:var(--amd-card);color:var(--amd-ink-2);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:.15s}
.amd-appbook__toggle button .amd-i{width:15px;height:15px}
.amd-appbook__toggle button.is-active{background:var(--amd-navy-900);border-color:var(--amd-navy-900);color:#fff}
.amd-appbook__row,.amd-appbook__grid{margin-bottom:14px}
.amd-appbook__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.amd-appbook label{display:block;font-size:12px;font-weight:700;color:var(--amd-ink-2)}
.amd-appbook label .amd-input{margin-top:6px}
.amd-appbook__note{font-size:11px;color:var(--amd-muted);text-align:center;margin-top:12px}
.amd-appbook .amd-btn{margin-top:6px}

/* Kartu navy "Jaminan kualitas" — kontras cukup, tidak pucat */
.amd-appguar{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.amd-appguar li{display:flex;gap:13px}
.amd-appguar li>span{flex:none;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.amd-appguar li>span .amd-i{width:18px;height:18px;color:#fff}
.amd-appguar b{display:block;font-size:13.5px;color:#fff;font-weight:700}
.amd-appguar p{font-size:12px;color:rgba(255,255,255,.66);line-height:1.55;margin-top:3px}

/* Kepala section dalam app — pakai Fraunces seperti desktop */
.amd-appsec{display:flex;flex-direction:column;gap:16px}
.amd-appsec__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:2px}
.amd-appsec__head h2{font-family:var(--amd-display);font-size:var(--fz-h3);font-weight:500;letter-spacing:-.02em;color:var(--amd-ink)}
.amd-appsec__head .amd-linkbtn{font-size:var(--fz-cap)}
/* Variant judul di tengah — dipakai section yang tak punya aksi/hitung di
   kanan (mis. Cara sewa), dengan label kecil (eyebrow) di atas judul. */
.amd-appsec__head--center{flex-direction:column;align-items:center;text-align:center;gap:4px}
.amd-appsec__eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--amd-blue)}
h3.amd-appsubhead{font-family:var(--amd-body);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--amd-muted);margin:22px 0 12px;line-height:1.4}
h3.amd-appsubhead:first-child{margin-top:4px}

/* Strip armada horizontal — memakai .amd-carcard yang sama dengan desktop */
.amd-appstrip{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 10px;scroll-snap-type:x proximity}
.amd-appstrip::-webkit-scrollbar{display:none}
.amd-appstrip__hint{font-size:10.5px;color:var(--amd-muted);margin:2px 0 0;text-align:center}
.amd-appstrip::-webkit-scrollbar{display:none}
.amd-appstrip > .amd-carcard{flex:0 0 80vw;max-width:300px;scroll-snap-align:start}
.amd-appstrip > .amd-carcard:hover{transform:none}

/* Baris ajakan (konsultasi / bantuan cepat) */
.amd a.amd-appcta,.amd-appcta{display:flex;align-items:center;gap:14px;background:var(--amd-navy-900);color:#fff;border-radius:var(--amd-radius);padding:16px 18px}
.amd-appcta div b{display:block;font-size:13.5px;font-weight:700;color:#fff}
.amd-appcta div span{font-size:11.5px;color:rgba(255,255,255,.66);line-height:1.55;margin-top:2px;display:block}
.amd-appcta__ic{flex:none;width:42px;height:42px;border-radius:50%;background:var(--amd-blue);display:grid;place-items:center}
.amd-appcta__ic .amd-i{width:19px;height:19px;color:#fff}

/* Bilah pencarian + filter (tab Armada) */
.amd-appbar-sub{display:flex;flex-direction:column;gap:12px}
.amd-appsearch{display:flex;align-items:center;gap:9px;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);padding:0 14px;box-shadow:var(--amd-shadow-xs)}
.amd-appsearch .amd-i{width:17px;height:17px;color:var(--amd-muted-2);flex:none}
.amd-appsearch input{flex:1;border:0;background:none;font:inherit;font-size:13.5px;padding:12px 0;color:var(--amd-ink);outline:none}
.amd-armada-filter{gap:8px}
.amd-appnote{display:flex;gap:11px;align-items:flex-start;background:var(--amd-blue-soft);border:1px solid #bfdbfe;border-radius:var(--amd-radius-sm);padding:13px 15px;font-size:12.5px;color:var(--amd-ink-2);line-height:1.55}
.amd-appnote .amd-i{width:17px;height:17px;color:var(--amd-blue);flex:none;margin-top:1px}
.amd-appnote b{color:var(--amd-ink)}
.amd-appview--armada .amd-armada-grid{gap:16px}

/* Empty / login prompt */
.amd-appempty{text-align:center;padding:32px 18px;display:flex;flex-direction:column;align-items:center;gap:10px}
/* Empty-state sebagai isi tunggal tab → pusatkan vertikal DI DALAM RUANG NYATA
   yang tersisa (100% tinggi .amd-app__view, yang sudah otomatis mengurangi
   tinggi .amd-app__bar & .amd-app__tabs karena keduanya saudara flex-nya).
   Sebelumnya pakai vh murni (mis. 72vh) yang tak tahu-menahu soal bar/tab bar
   ATAU chrome browser (address bar, toolbar) — di sebagian perangkat itu
   membuat isi (termasuk tombol WhatsApp di bawah) tertutup tab bar. */
.amd-appview:has(> .amd-appempty:only-child){min-height:100%}
.amd-appview:has(> .amd-appempty:only-child) .amd-appempty{margin:auto 0}
.amd-appempty__ic{width:56px;height:56px;border-radius:18px;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center;margin-bottom:4px}
.amd-appempty__ic .amd-i{width:26px;height:26px}
.amd-appempty b{font-family:var(--amd-display);font-size:1.2rem;font-weight:600;color:var(--amd-ink)}
.amd-appempty p{font-size:13.5px;color:var(--amd-muted);line-height:1.65;max-width:34ch}
.amd-appempty .amd-btn{margin-top:8px;width:100%;max-width:300px}

/* Tab Bantuan */
.amd-apphelp{padding:22px}
.amd-apphelp h1{font-family:var(--amd-display);font-size:1.35rem;font-weight:500;color:#fff;margin:12px 0 10px;letter-spacing:-.01em}
.amd-apphelp p{font-size:13px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:16px}
.amd-apphelp__act{display:flex;gap:10px}
.amd-apphelp__act .amd-btn{flex:1}
.amd-appchan{display:flex;flex-direction:column;gap:10px}
.amd a.amd-appchan a,.amd-appchan a{display:flex;align-items:center;gap:13px;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius);padding:14px 16px;color:var(--amd-ink);box-shadow:var(--amd-shadow-xs)}
.amd-appchan a>.amd-i{width:16px;height:16px;color:var(--amd-muted-2);flex:none;margin-left:auto}
.amd-appchan__ic{flex:none;width:38px;height:38px;border-radius:50%;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center}
.amd-appchan__ic .amd-i{width:17px;height:17px}
.amd-appchan__ic--wa{background:var(--amd-success-soft);color:var(--amd-success-ink)}
.amd-appchan b{display:block;font-size:13.5px;font-weight:700;color:var(--amd-ink)}
.amd-appchan small{font-size:11.5px;color:var(--amd-muted)}
.amd-appaddr{font-size:13px;color:var(--amd-ink-2);line-height:1.65}
.amd-appaddr b{color:var(--amd-ink);font-weight:700}
.amd-appmini{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.amd-appmini div{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);padding:12px 14px;text-align:center;box-shadow:var(--amd-shadow-xs)}
.amd-appmini small{display:block;font-size:10.5px;color:var(--amd-muted);font-weight:600}
.amd-appmini b{display:block;font-family:var(--amd-display);font-size:15px;color:var(--amd-ink);font-weight:600;margin-top:3px}
.amd-appblurb{font-size:12px;color:var(--amd-muted);line-height:1.7;text-align:center;background:var(--amd-line-2);border:1px solid var(--amd-line);border-radius:var(--amd-radius);padding:16px}
.amd-appblurb b{color:var(--amd-ink)}
/* Paket layanan + Tentang di tab Bantuan */
.amd-apppaket{padding:16px 18px}
.amd-apppaket__head{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.amd-apppaket__head b{font-size:var(--fz-h4);font-family:var(--amd-display);font-weight:600;color:var(--amd-ink)}
.amd-apppaket>p{font-size:var(--fz-cap);color:var(--amd-muted);line-height:1.65;margin:0 0 10px}
.amd-appabout{font-size:var(--fz-sm);color:var(--amd-ink-2);line-height:1.8}
.amd-appvm{display:grid;gap:14px;margin-top:16px}
.amd-appvm>div{background:var(--amd-line-2);border-radius:var(--amd-radius-sm);padding:16px 18px}
.amd-appvm>div>span{display:block;font-family:var(--amd-display);font-weight:600;font-size:var(--fz-h4);color:var(--amd-ink);letter-spacing:-.01em;margin-bottom:8px}
.amd-appvm>div>p{margin:0;font-size:var(--fz-sm);color:var(--amd-ink-2);line-height:1.7}
.amd-appvm>div>ol{margin:0;padding-left:18px;display:grid;gap:7px}
.amd-appvm>div>ol li{font-size:var(--fz-cap);color:var(--amd-ink-2);line-height:1.6}

/* Sub-view Detail unit */
.amd-appdetail__hero{position:relative;aspect-ratio:16/10;border-radius:var(--amd-radius-lg);overflow:hidden;background:var(--amd-line-2);box-shadow:var(--amd-shadow-md)}
.amd-appdetail__hero img{width:100%;height:100%;object-fit:cover}
.amd-appdetail__hero .amd-chip-badge{position:absolute;top:14px;left:14px}
.amd-appdetail__head h1{font-family:var(--amd-display);font-size:1.5rem;font-weight:500;color:var(--amd-ink);margin:10px 0 8px;letter-spacing:-.02em}
.amd-appdetail__head p{font-size:13.5px;color:var(--amd-muted);line-height:1.7}
.amd-appspec{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.amd-appspec div{background:var(--amd-line-2);border-radius:var(--amd-radius-sm);padding:11px 10px}
.amd-appspec small{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--amd-muted);font-weight:700}
.amd-appspec small .amd-i{width:13px;height:13px;color:var(--amd-blue)}
.amd-appspec b{display:block;font-size:12px;color:var(--amd-ink);font-weight:700;margin-top:5px}
.amd-appprice__hint{font-size:11px;color:var(--amd-muted);margin:4px 0 10px}
.amd-appprice{display:flex;flex-direction:column;gap:10px}
.amd a.amd-appprice__row,.amd-appprice__row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);padding:13px 15px;color:var(--amd-ink);transition:border-color .15s,background .15s}
.amd a.amd-appprice__row:hover{border-color:var(--amd-blue-3);background:var(--amd-blue-soft)}
.amd-appprice__row.is-fav{border-color:var(--amd-blue);background:var(--amd-blue-soft)}
.amd-appprice__row b{font-size:13px;font-weight:700;color:var(--amd-ink)}
.amd-appprice__row small{display:block;font-size:11px;color:var(--amd-muted);line-height:1.5;margin-top:3px}
.amd-appprice__row span{display:inline-flex;align-items:center;gap:6px;font-family:var(--amd-display);font-size:15px;font-weight:600;color:var(--amd-ink);white-space:nowrap}
.amd-appprice__row span .amd-i{width:15px;height:15px;color:var(--amd-blue);font-family:initial}
.amd-appprice__row span em{font-style:normal;font-size:10px;color:var(--amd-muted);font-weight:400}
.amd-appprice__nego{color:var(--amd-amber-2)!important;text-transform:uppercase;font-size:10.5px!important;letter-spacing:.05em}
.amd-appinfo li{font-size:12.5px}
.amd-appdetail__foot{display:flex;flex-direction:column;gap:10px;margin-top:6px}

/* ===== PWA — saran "Pasang aplikasi" (js/main.js) =====
   Kartu melayang di bawah layar, di atas tab bar app-shell kalau sedang
   aktif (html.amd-app-on) supaya tak tertindih. Muncul sekali (localStorage
   amd-pwa-dismissed) lewat beforeinstallprompt (Chrome/Edge/Android) atau
   petunjuk manual (iOS Safari, tanpa tombol pasang otomatis). */
.amd-pwabanner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:150;display:flex;align-items:center;gap:12px;max-width:420px;margin:0 auto;padding:14px;border-radius:16px;background:var(--amd-card);border:1px solid var(--amd-line);box-shadow:var(--amd-shadow-lg);opacity:0;transform:translateY(14px);transition:opacity .22s var(--amd-ease),transform .22s var(--amd-ease)}
.amd-pwabanner.is-visible{opacity:1;transform:none}
html.amd-app-on .amd-pwabanner{bottom:calc(90px + env(safe-area-inset-bottom))}
.amd-pwabanner__ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--amd-blue-soft);color:var(--amd-blue);display:grid;place-items:center}
.amd-pwabanner__ic .amd-i{width:19px;height:19px}
.amd-pwabanner__tx{flex:1;min-width:0}
.amd-pwabanner__tx b{display:block;font-size:13.5px;font-weight:700;color:var(--amd-ink);margin-bottom:2px}
.amd-pwabanner__tx small{display:block;font-size:11.5px;color:var(--amd-muted);line-height:1.5}
.amd-pwabanner__btn{flex:none;border:0;border-radius:10px;background:var(--amd-blue);color:#fff;font:inherit;font-weight:700;font-size:12.5px;padding:9px 14px;cursor:pointer;transition:background .15s}
.amd-pwabanner__btn:hover{background:var(--amd-blue-2)}
.amd-pwabanner__x{flex:none;width:26px;height:26px;border:0;background:none;color:var(--amd-muted);cursor:pointer;display:grid;place-items:center;border-radius:8px}
.amd-pwabanner__x .amd-i{width:15px;height:15px}
.amd-pwabanner__x:hover{background:var(--amd-line-2);color:var(--amd-ink)}
@media(prefers-reduced-motion:reduce){.amd-pwabanner{transition:opacity .15s}}
