/* ============================================================
   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}

/* Breadcrumb — dipakai lewat amd_breadcrumb() di components.php. */
.amd-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--amd-muted);margin-bottom:16px}
.amd-breadcrumb a{color:var(--amd-muted);transition:color .15s}
.amd-breadcrumb a:hover{color:var(--amd-blue)}
.amd-breadcrumb span[aria-current]{color:var(--amd-ink);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
/* Bukan --amd-line (#e6e9f0) — warna itu untuk garis pembatas tipis, nyaris
   tak kelihatan dipakai sebagai stroke ikon di atas latar putih. */
.amd-breadcrumb__sep{display:inline-flex;color:var(--amd-muted-2)}
.amd-breadcrumb__sep .amd-i{width:12px;height:12px}
/* Varian ringkas di dalam app-shell (sub-view mobile) — lebih kecil, nempel
   rapat ke tepi atas konten, ikut warna netral di atas latar gelap kartu hero. */
.amd-appview .amd-breadcrumb{font-size:11.5px;margin-bottom:10px}
.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);text-decoration:none;transition:border-color .15s,transform .15s}
a.amd-badge:hover{border-color:var(--amd-blue-3);transform:translateY(-1px)}
.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)}
/* Placeholder saat artikel belum punya gambar sampul sendiri: foto hero situs
   + overlay gelap + judul artikel di atasnya (lihat amd_blog_placeholder_thumb
   di components.php) — supaya kartu tidak pernah tampil kosong. */
.amd-blogcard__ph{position:relative;width:100%;height:100%;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:14px;transition:transform .5s var(--amd-ease)}
.amd-blogcard:hover .amd-blogcard__ph{transform:scale(1.05)}
.amd-blogcard__ph::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,26,.05) 0%,rgba(8,12,26,.15) 60%,rgba(8,12,26,.5) 100%)}
/* Badge kategori saja (bukan judul — judul sudah ada di body kartu tepat di
   bawah gambar, menaruhnya dua kali di kartu yang sama terasa duplikat). */
.amd-blogcard__ph-badge{position:relative;color:#fff;background:rgba(10,15,31,.55);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);padding:5px 12px;border-radius:999px;font-family:var(--amd-body);font-weight:700;font-size:11.5px;letter-spacing:.02em}
.amd-blogcard__kat{display:inline-block;color:var(--amd-blue);font-weight:700;font-size:11.5px;letter-spacing:.02em;text-transform:uppercase;margin-bottom:2px}
.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;text-align:justify;text-align-last:left;hyphens:auto}
/* Tombol, bukan cuma tautan teks — dan rata kanan, supaya berada di sisi yang
   paling gampang dijangkau jempol kanan (mayoritas pengguna tangan kanan) saat
   kartu dibuka lewat sentuhan di layar sempit. */
.amd-blogcard__more{display:inline-flex;align-self:flex-end;align-items:center;gap:6px;color:var(--amd-blue);background:var(--amd-blue-soft);font-weight:700;font-size:13px;margin-top:4px;padding:8px 14px;border-radius:999px;transition:background .15s,color .15s}
.amd-blogcard:hover .amd-blogcard__more{background:var(--amd-navy-900);color:#fff}
.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}

/* Toolbar pencarian+filter blog (desktop) — pola sama dengan .amd-appbar-sub
   mobile, tapi tanpa asumsi konteks app-shell. */
.amd-blog-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px}
.amd-blog-toolbar .amd-appsearch{flex:1;min-width:220px;max-width:360px}
.amd-blog-toolbar .amd-filter{flex:1;min-width:0;padding:0}

/* ---------- 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)}
/* Sama seperti "a" di atas, untuk filter yang dirender <button> (mis. daftar
   blog — lihat blog/index.php, app/_blog.php) — dipisah karena reset browser
   untuk <button> tidak otomatis mewarisi style <a>. */
.amd-filter button{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;font-family:inherit;transition:.15s;white-space:nowrap}
.amd-filter button:hover{border-color:var(--amd-blue-3);color:var(--amd-ink)}
.amd-filter button.is-active{background:var(--amd-navy-900);color:#fff;border-color:var(--amd-navy-900)}

/* Pagination — dipakai lewat amd_pagination() di components.php. */
/* Satu baris tak pernah pecah (dulu flex-wrap bikin Sebelumnya/angka/
   Berikutnya jatuh ke 3 baris terpisah di layar sempit, terlihat berantakan
   dan Berikutnya melebar sendirian). Label teks Sebelumnya/Berikutnya
   disembunyikan di layar sempit lewat span di dalamnya (lihat
   amd_pagination() di components.php) — ikon panah saja sudah cukup jelas
   maknanya di situ, dan baris tetap ringkas satu deret. */
.amd-pagination{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:6px;margin-top:32px}
.amd-pagination__nav{flex:none;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;background:var(--amd-card);border:1px solid var(--amd-line);color:var(--amd-ink-2);font-weight:700;font-size:13px;text-decoration:none;transition:.15s;white-space:nowrap}
.amd-pagination__nav:hover{border-color:var(--amd-blue-3);color:var(--amd-blue)}
.amd-pagination__nav.is-disabled{opacity:.4;pointer-events:none}
.amd-pagination__nav .amd-i{width:14px;height:14px;flex:none}
.amd-pagination__nums{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.amd-pagination__nums::-webkit-scrollbar{display:none}
.amd-pagination__num{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;font-weight:700;font-size:13px;color:var(--amd-ink-2);text-decoration:none;transition:.15s}
.amd-pagination__num:hover{background:var(--amd-line-2);color:var(--amd-ink)}
.amd-pagination__num.is-active{background:var(--amd-navy-900);color:#fff}
.amd-pagination__dots{flex:none;color:var(--amd-muted-2);padding:0 2px;font-weight:700}
html[data-theme="dark"] .amd-pagination__num.is-active{background:var(--amd-blue)}
@media(max-width:480px){
  .amd-pagination{gap:4px}
  .amd-pagination__nav{padding:9px 10px}
  .amd-pagination__nav span{display:none}
  .amd-pagination__num{min-width:30px;height:30px;font-size:12.5px}
}

/* ---------- 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)}
/* Rata kanan-kiri untuk teks panjang (isi artikel, deskripsi "Tentang"),
   di semua lebar layar termasuk mobile — permintaan eksplisit. hyphens
   membantu memecah kata supaya spasi antar-kata di tiap baris tak melebar
   janggal di kolom sempit. */
.amd-prose p,.amd-appabout{text-align:justify;text-align-last:left;hyphens:auto}
.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). */
  a.amd-footer__by{font-size:11px}
  /* 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. Di desktop
   overlap-nya sengaja diperbesar (lihat media query di bawah) supaya bagian
   atas kartu "mengintip" di tepi bawah viewport pertama tanpa perlu scroll —
   dulu overlapnya cuma -16px sehingga widget jatuh 100% di luar fold. */
.amd-hero__bookwrap{position:relative;z-index:5;margin-top:-16px;margin-bottom:8px}
/* 960px = breakpoint yang sama dipakai js/app.js untuk menonaktifkan app-shell
   mobile (lihat mq di sana) — di bawah itu section ini tak pernah terlihat,
   jadi overlap desktop HANYA perlu selaras mulai dari sini, bukan 1024px,
   supaya tak ada zona transisi yang tidak konsisten. Overlap sengaja moderat
   (bukan agresif) — cukup untuk kesan menyatu dengan hero, tanpa menimpa CTA
   atau konten hero di atasnya pada tinggi layar desktop umum. */
@media(min-width:960px){
  .amd-hero--photo{padding-bottom:clamp(96px,10vw,140px)}
  .amd-hero__bookwrap{margin-top:calc(-1 * clamp(56px,6vw,88px))}
}

/* 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}
/* Varian "Lainnya" — input teks langsung di dalam baris pilihan (bukan tombol
   yang baru menampilkan field terpisah setelah diklik), supaya bisa langsung
   diisi tanpa langkah tambahan. Mengetik di sini otomatis memilihnya. */
.amd-herobook__pill--input{appearance:none;text-align:left;font-weight:600;grid-column:1/-1}
.amd-herobook__pill--input::placeholder{color:var(--amd-muted);font-weight:600}
.amd-herobook__pill--input.is-active{background:var(--amd-navy-900);border-color:var(--amd-navy-900);color:#fff}
.amd-herobook__pill--input.is-active::placeholder{color:rgba(255,255,255,.6)}
.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%}
/* Dipakai bersama oleh grid Armada (.amd-armada-cell) DAN grid Blog
   (.amd-blogcard, lihat blog/index.php, app/_blog.php) — js/main.js
   amdBindFleet() men-toggle kelas ini secara generik lewat selector
   "[data-fleet-grid] > [data-kat]", jadi CSS-nya juga harus generik,
   bukan cuma untuk armada. Tanpa ini pencarian/filter blog jalan di JS
   (kelasnya tertoggle) tapi tak kelihatan efeknya sama sekali. */
.amd-armada-cell.is-hidden,.amd-blogcard.is-hidden{display:none}
.amd-armada-cell.is-fading,.amd-blogcard.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}
/* Baris gabungan Bahasa+Tema (label singkat "ID/EN" & "Terang/Gelap") — dulu
   dua baris penuh terpisah dengan label panjang ("Bahasa Indonesia", "Mode
   Terang"), disederhanakan jadi satu baris berdampingan. */
.amd-app__menu-row{display:flex;gap:8px}
.amd-app__menu-row .amd-lang,.amd-app__menu-row .amd-app__menu-link{flex:1;margin-bottom:8px;justify-content:center}
.amd-app__menu-row .amd-lang b{letter-spacing:.04em}
.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-filter button,
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-filter button.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);transition:border-color .15s}
.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;box-shadow:none;-webkit-appearance:none;appearance:none}
/* Beberapa browser (terutama Safari/iOS) tetap menggambar cincin fokus biru
   tebal di sekeliling <input> meski outline:none — kotak itulah yang terlihat
   "menabrak" bentuk pil pencarian. Ganti dengan highlight sendiri yang jauh
   lebih halus, pada kontainernya, bukan pada elemen input mentahnya. */
.amd-appsearch input:focus{outline:none;box-shadow:none}
.amd-appsearch:focus-within{border-color:var(--amd-blue-3)}
.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}
/* "Tentang Amdis" dilipat jadi accordion (pola sama dengan .amd-faq) supaya
   tak makan tempat di layar mobile — hanya teaser singkat yang tampil sampai
   pengguna sengaja membukanya. */
.amd-appabout{margin-bottom:12px}
.amd-appabout-acc{background:var(--amd-card);border:1px solid var(--amd-line);border-radius:var(--amd-radius-sm);overflow:hidden;transition:border-color .15s}
.amd-appabout-acc[open]{border-color:var(--amd-blue-3)}
.amd-appabout-acc summary{padding:14px 16px;cursor:pointer;font-weight:700;color:var(--amd-blue);font-size:13.5px;display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none}
.amd-appabout-acc summary::-webkit-details-marker{display:none}
.amd-appabout-acc summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--amd-blue);border-bottom:2px solid var(--amd-blue);transform:rotate(45deg);transition:transform .2s var(--amd-ease);flex:none;margin-top:-4px}
.amd-appabout-acc[open] summary::after{transform:rotate(225deg);margin-top:2px}
.amd-appabout-acc>.amd-appvm{padding:0 16px 16px;margin-top:0}
.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}}
