:root{
  --bg:#f6f8fb;
  --card:#fff;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e5e7eb;
  --nav:#0b2230;
  --accent:#ff7a00;
  --soft:#fff4ea;
  --radius:18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 18px}
.main{padding:26px 18px 34px}
.muted{color:var(--muted)}
.tiny{font-size:12px}
.hr{border:none;border-top:1px solid var(--line); margin:18px 0}

/* ===== Topbar ===== */
.topbar{background:var(--nav); color:#cbd5e1; font-size:12px}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;padding:10px 0;gap:12px;flex-wrap:wrap}
.pill{border:1px solid rgba(203,213,225,.25); padding:6px 10px;border-radius:999px;margin-right:8px}

/* ===== Navbar ===== */
.navbar{background:#fff;border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20}
.navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.nav a{font-size:14px;color:#0f172a;padding:8px 10px;border-radius:12px}
.nav a:hover{background:#f1f5f9}
.nav a.active{background:#f1f5f9}
@media (max-width: 960px){ .nav{display:none} }

/* ===== Brand (logo) ===== */
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand__logo{
  width:46px;height:46px;border-radius:10px;background:#fff;border:1px solid var(--line);
  object-fit:contain;padding:6px;display:block
}
.brand__text{display:flex;flex-direction:column;gap:2px}
.brand__name{font-weight:1000;letter-spacing:.2px;font-size:22px}
.brand__accent{color:var(--accent)}
.brand__tag{font-size:12px;color:var(--muted);font-weight:800}

/* ===== Promo ===== */
.promo{background:linear-gradient(90deg, #fff0e3, #ffffff); border-bottom:1px solid var(--line)}
.promo__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;flex-wrap:wrap}
.promo__badge{background:#ffe0c2;color:#7a2f00;font-weight:700;padding:7px 12px;border-radius:999px;font-size:12px}
.promo__text{font-size:13px}
.promo__actions{display:flex;gap:10px;align-items:center}
.promo__close{border:none;background:#fff;border:1px solid var(--line); width:34px;height:34px;border-radius:10px; cursor:pointer}

/* ===== Buttons ===== */
.btn{
  border:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 14px; border-radius:999px; font-weight:700; font-size:14px
}
.btn--sm{padding:8px 12px; font-size:13px}
.btn--wide{width:100%}
.btn--primary{background:var(--accent); color:#fff}
.btn--outline{background:#fff; border:1px solid var(--line)}
.btn--ghost{background:transparent;border:1px solid rgba(203,213,225,.25); color:#e2e8f0}
.btn--dark{background:#0b2230; color:#fff}

/* ===== Breadcrumb ===== */
.crumb{color:var(--muted); font-size:13px; margin:8px 0 16px}
.crumb a{color:var(--muted); text-decoration:underline}

/* ===== Layout ===== */
.grid2{display:grid; grid-template-columns: 1.6fr .9fr; gap:18px}
@media (max-width: 960px){ .grid2{grid-template-columns:1fr} }

/* ===== Cards ===== */
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:0 12px 24px rgba(2,8,23,.05)}
.card--big{padding:22px}
.card__header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}

.h1{margin:6px 0 6px; font-size:34px; letter-spacing:-.5px}
.h2{margin:10px 0; font-size:20px}
.h3{margin:8px 0; font-size:16px}

/* ===== Route box ===== */
.routebox{background:var(--soft); border:1px solid #ffe2c7; border-radius:var(--radius); padding:18px; margin-top:16px}
.routebox__title{font-size:20px;font-weight:900;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.chip{background:#fff;border:1px solid #ffe2c7;border-radius:999px;padding:8px 12px;font-weight:700;font-size:12px}

.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.old{text-decoration:line-through;color:#94a3b8;font-weight:800}
.new{font-weight:1000;font-size:22px;color:#ef3b2d}
.tag{background:#fff;border:1px solid #ffd2a6;color:#9a3412;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px}

.actions{display:flex;gap:12px;flex-wrap:wrap}
.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media (max-width: 760px){ .subgrid{grid-template-columns:1fr} }

.sidebar .card + .card{margin-top:14px}
.badge{display:inline-flex;background:#ffe6cf;color:#7a2f00;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px}
.badge--green{background:#dcfce7;color:#166534}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}

.soft{background:#fff7f0}
.list{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.list li{margin:8px 0}

.section{margin-top:22px}
.cards3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:12px}
@media (max-width: 900px){ .cards3{grid-template-columns:1fr} }
.link:hover{transform:translateY(-1px); transition:.12s; box-shadow:0 16px 28px rgba(2,8,23,.08)}

/* ===== Forms ===== */
.form{display:grid;gap:12px;max-width:720px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width: 760px){ .formgrid{grid-template-columns:1fr} }
.label{font-weight:900;font-size:13px}
.input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);outline:none}
.input:focus{border-color:#ffb36a; box-shadow:0 0 0 4px rgba(255,122,0,.15)}

/* ===== Table ===== */
.table{margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.row{display:grid;grid-template-columns:1.2fr .8fr .6fr;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}
.row.head{background:#f8fafc;font-weight:900;border-top:none}
.row a{color:#0f172a;text-decoration:underline}

.timeline{display:grid;gap:10px}
.titem{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}

/* ===== Footer ===== */
.footer{background:#071b25;color:#cbd5e1;margin-top:30px}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;padding:28px 18px}
@media (max-width: 900px){ .footer__grid{grid-template-columns:1fr} }
.footer__brand{font-weight:1000;font-size:20px;margin-bottom:10px}
.footer__title{font-weight:900;margin-bottom:10px}
.footer a{display:block;color:#cbd5e1;margin:8px 0}
.footer__text{color:#94a3b8;line-height:1.6}
.footer__social{display:flex;gap:10px;margin-top:12px}
.footer__social a{width:36px;height:36px;border-radius:12px;background:rgba(148,163,184,.12);display:flex;align-items:center;justify-content:center}
.footer__pay{display:flex;gap:10px;margin:10px 0}
.pay{background:#fff;color:#0f172a;border-radius:10px;padding:6px 10px;font-weight:900;font-size:12px}
.footer__bottom{border-top:1px solid rgba(148,163,184,.18); padding:14px 18px 22px}

/* ===== Floating WA ===== */
.float-wa{
  position:fixed; right:18px; bottom:18px;
  background:#22c55e; color:#fff; padding:12px 14px;
  border-radius:999px; font-weight:1000; box-shadow:0 18px 30px rgba(2,8,23,.18);
}

/* ==========================================================
   HERO (PAKE GAMBAR LANGSUNG)
   - background-image diambil dari inline style / config
   - TANPA overlay RGB
   ========================================================== */
.hero{
  height:420px;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-color:#0b2230;
  border-radius:0;
}
@media (max-width: 980px){ .hero{height:360px} }

/* Kalau masih ada elemen lama, sembunyiin biar gak ganggu */
.hero__overlay{display:none !important}
.hero__bg{display:none !important}

.hero__content{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:0 18px;
}
.hero__title{
  margin:0;
  font-weight:1000;
  letter-spacing:.5px;
  font-size:56px;
  line-height:0.95;
  color:#fff;
  text-shadow:0 14px 28px rgba(2,8,23,.25);
}
.hero__sub{
  margin-top:12px;
  color:rgba(255,255,255,.9);
  font-weight:700;
}

.hero-panels{
  margin-top:-78px;
  display:grid;
  grid-template-columns: 1.6fr .6fr;
  gap:14px;
  align-items:start;
}
@media (max-width: 980px){
  .hero__title{font-size:44px}
  .hero-panels{grid-template-columns:1fr}
}

.panel{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 16px 30px rgba(2,8,23,.10);
  padding:16px;
}
.panel--wide{grid-column:1 / span 1}
.panel--card{grid-column:2 / span 1; display:block}
@media (max-width: 980px){
  .panel--wide, .panel--card{grid-column:auto}
}
.panel--sim{grid-column:1 / -1}

.panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}
.panel__title{font-weight:1000}
.panel__hint{font-size:12px}

.trackbar{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin-top:12px}
.trackbar__input{height:44px}
.trackbar__btn{min-width:150px}
.trackbar__btn2{min-width:110px}
@media (max-width: 720px){
  .trackbar{grid-template-columns:1fr;}
  .trackbar__btn, .trackbar__btn2{width:100%}
}

/* Pickup (kalau masih pake icon) */
.pickup__icon{
  margin-top:10px;
  width:100%;
  height:68px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f1f5f9;
  font-size:34px;
}
/* Pickup (kalau pake image) */
.pickup__img{
  margin-top:10px;
  width:100%;
  height:68px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#f8fafc;
  object-fit:contain;
  padding:8px;
}

.simbar{margin-top:10px}
.simbar__row{
  display:grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:center;
}
.simbar__label{font-size:12px;color:var(--muted);font-weight:900}
@media (max-width: 980px){
  .simbar__row{grid-template-columns:1fr 1fr;}
  .simbar__label{display:none}
}