/*
Theme Name: Umroh.World
Theme URI: https://umroh.world
Description: Theme umroh, haji, dan halal travel. Butuh plugin Umroh.World Core + WooCommerce.
Author: Umroh.World
Version: 1.0.0
Requires PHP: 8.0
Text Domain: umrohworld
*/

/* ============================================================
   Token
   ============================================================ */
:root{--hijau:#0E5E4A; --hijau-d:#0A4537; --hijau-dd:#072F26; --hijau-t:#E7F2EE;
  --emas:#E3B23C; --emas-d:#B88A1E; --emas-t:#FBF3DF;
  --navy:#0F1B2D; --teks:#243042; --muted:#5B6676; --line:#E3E6EA; --line-2:#EEF0F2;
  --bg:#F7F6F2; --putih:#fff; --merah:#B42318; --wa:#16A34A; --wa-d:#15803D;
  --r:14px; --r-s:10px; --r-l:20px;
  --shadow:0 1px 2px rgba(15,27,45,.04),0 8px 24px rgba(15,27,45,.06);
  --shadow-l:0 20px 50px rgba(7,47,38,.18);
  --wrap:1180px;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;}

/* ============================================================
   Dasar
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--teks);background:var(--putih);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--hijau);text-decoration:none}
a:hover{color:var(--hijau-d)}
h1,h2,h3,h4{color:var(--navy);line-height:1.2;margin:0;font-weight:800;letter-spacing:-.015em}
h1{font-size:clamp(30px,4.4vw,48px)}
h2{font-size:clamp(24px,3vw,32px)}
h3{font-size:19px}
p{margin:0 0 1em}
ul,ol{padding-left:1.2em}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ikon{width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.18em}

/* Tombol */
.uw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 20px;border-radius:12px;border:1.5px solid transparent;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;transition:.15s;text-align:center;text-decoration:none;white-space:nowrap}
.uw-btn-wa{background:var(--wa);color:#fff}
.uw-btn-wa:hover{background:var(--wa-d);color:#fff}

/* Lencana */
.uw-bintang{color:#E0A100;letter-spacing:1px;font-size:.95em;white-space:nowrap}
.uw-bintang-off{color:#D9DDE2}
.uw-rating-angka{font-weight:700;color:var(--navy);font-size:.9em}

/* ============================================================
   Header
   ============================================================ */
.topbar{background:var(--hijau-dd);color:#CFE3DC;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;min-height:36px;align-items:center}
.topbar a{color:#fff;font-weight:600}
.topbar-izin{display:flex;align-items:center;gap:6px}
@media(max-width:700px){
  .topbar-kanan{display:none}
  .topbar{font-size:12px}
}
.kepala{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line-2)}
.kepala .wrap{display:flex;align-items:center;gap:28px;min-height:70px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--navy);letter-spacing:-.02em;flex:0 0 auto}
.logo:hover{color:var(--navy)}
.logo-tanda{width:38px;height:38px;border-radius:11px;background:var(--hijau);display:grid;place-items:center;color:var(--emas)}
.logo-tanda svg{width:22px;height:22px}
.logo b{color:var(--hijau)}
.logo img{max-height:42px;width:auto}
.nav{flex:1}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nav a{display:block;padding:9px 12px;border-radius:10px;color:var(--teks);font-weight:600;font-size:15px}
.nav a:hover,.nav .current-menu-item>a,.nav .current-menu-ancestor>a{background:var(--bg);color:var(--hijau-d)}
.kepala-aksi{display:flex;gap:10px;align-items:center}
.kepala-wa{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--navy);font-size:14.5px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;align-items:center;justify-content:center;cursor:pointer}
@media(max-width:1020px){
  .kepala .wrap{gap:12px}
  .nav{position:fixed;inset:70px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px 18px;display:none;box-shadow:var(--shadow);max-height:calc(100vh - 70px);overflow:auto}
  .nav.buka{display:block}
  .nav ul{flex-direction:column}
  .nav a{padding:12px 10px;font-size:16px}
  .burger{display:inline-flex}
  .kepala-aksi{margin-left:auto}
  .kepala-wa{display:none}
}

/* ============================================================
   Kartu paket
   ============================================================ */
.uw-harga-mulai small{font-size:.75em;color:var(--muted);font-weight:600}

/* Placeholder foto */
.ph{position:relative;width:100%;height:100%;min-height:100%;display:grid;place-items:center;color:rgba(255,255,255,.9);background:linear-gradient(135deg,#0E5E4A,#072F26);overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;opacity:.12;background-image:inherit}
.ph svg{width:44px;height:44px;opacity:.8}

/* ============================================================
   Answer-first box & FAQ
   ============================================================ */
.uw-jawaban{border:1.5px solid #CFE3DC;background:linear-gradient(180deg,#F1F8F5,#fff);border-radius:var(--r);padding:20px 22px;margin:0 0 28px;position:relative}
.uw-jawaban-tanya{font-weight:800;color:var(--navy);font-size:17px;margin:0 0 6px}
.uw-jawaban-isi p{margin:0 0 .6em;font-size:16.5px;color:var(--navy)}
.uw-jawaban-isi p:last-child{margin:0}
.uw-jawaban-meta{font-size:12.5px;color:var(--muted);margin-top:10px}
.uw-faq{margin:40px 0 0}
.uw-faq h2{margin-bottom:16px}
.uw-faq details{border:1.5px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px;transition:.15s}
.uw-faq details[open]{border-color:#CFE3DC;box-shadow:var(--shadow)}
.uw-faq summary{cursor:pointer;list-style:none;padding:16px 50px 16px 18px;font-weight:700;color:var(--navy);position:relative}
.uw-faq summary::-webkit-details-marker{display:none}
.uw-faq summary::after{content:"";position:absolute;right:18px;top:50%;width:10px;height:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);transition:.2s}
.uw-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.uw-faq-a{padding:0 18px 16px;color:var(--teks)}
.uw-faq-a p:last-child{margin:0}

/* ============================================================
   Halaman paket (single)
   ============================================================ */
.remah{font-size:13.5px;color:var(--muted);padding:18px 0 0}
.remah a{color:var(--muted)}
.remah a:hover{color:var(--hijau)}
.remah span{margin:0 6px;opacity:.5}

/* Itinerary */
.itin-peta{grid-column:1/-1}
.uw-map{width:100%;height:320px;border:0;border-radius:12px;display:block;background:var(--bg)}
.itin-peta .uw-map{height:260px;margin-top:10px}

/* Galeri grid */
.konten{font-size:16.5px;line-height:1.75}
.konten h2{margin:1.6em 0 .6em;font-size:clamp(22px,2.6vw,27px)}
.konten h3{margin:1.4em 0 .5em}
.konten img{border-radius:var(--r)}
.konten ul li,.konten ol li{margin-bottom:.35em}
.konten blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:4px solid var(--emas);color:var(--navy);font-weight:600}
.konten table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:15px}
.konten th,.konten td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.konten th{background:var(--bg)}

/* Kartu booking (sidebar) */
.booking{position:sticky;top:90px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden}
.booking-kepala{background:var(--hijau-dd);color:#CFE3DC;padding:18px 20px}
.booking-kepala small{font-size:13px}
.booking-kepala b{display:block;color:#fff;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.booking-kepala i{font-style:normal;font-size:13px}
.booking form{padding:18px 20px 6px}
.booking-label{display:block;font-size:13px;font-weight:800;color:var(--navy);margin:0 0 8px}
.pilih-jadwal{display:grid;gap:6px;max-height:228px;overflow:auto;margin-bottom:14px;padding-right:2px}
.opsi{position:relative;display:block;cursor:pointer}
.opsi input{position:absolute;opacity:0}
.opsi>span{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1.5px solid var(--line);border-radius:11px;padding:10px 12px;font-size:14px;transition:.12s}
.opsi>span b{color:var(--navy)}
.opsi>span small{color:var(--muted);font-size:12.5px;display:block}
.opsi>span em{font-style:normal;font-weight:800;color:var(--hijau-d);white-space:nowrap}
.opsi input:checked+span{border-color:var(--hijau);background:var(--hijau-t);box-shadow:inset 0 0 0 1px var(--hijau)}
.opsi input:focus-visible+span{outline:2px solid var(--emas)}
.opsi input:disabled+span{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.pilih-kamar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px}
.pilih-kamar .opsi>span{flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px}
.pilih-kamar .opsi>span em{font-size:13px}
.pilih-bayar{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.jumlah{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:14px;width:max-content}
.jumlah button{width:44px;height:44px;border:0;background:var(--bg);font-size:20px;cursor:pointer;color:var(--navy)}
.jumlah input{width:60px;height:44px;border:0;text-align:center;font-weight:800;font-size:16px;-moz-appearance:textfield}
.jumlah input::-webkit-outer-spin-button,.jumlah input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.total{border-top:1px dashed var(--line);padding:14px 0 4px;display:grid;gap:4px;font-size:14px}
.total div{display:flex;justify-content:space-between;gap:10px}
.total .total-utama{font-size:16px;font-weight:800;color:var(--navy)}
.total .total-utama b{color:var(--hijau-d);font-size:20px}
.booking-tombol{display:grid;gap:8px;padding:12px 20px 18px}
.booking-catatan{font-size:12.5px;color:var(--muted);text-align:center;padding:0 20px 18px;margin:0;display:flex;gap:6px;justify-content:center;align-items:center}
.booking-pesan{background:#FEECEB;color:var(--merah);font-size:13.5px;border-radius:10px;padding:10px 12px;margin-bottom:12px;display:none}
.booking-pesan.tampil{display:block}

/* Bar bawah mobile */
.bar-bawah{display:none}
@media(max-width:1020px){
  .booking{position:static}
  .bar-bawah{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;align-items:center}
  body.ada-bar{padding-bottom:78px}
}

/* Paginasi */
.paginasi,.woocommerce-pagination{margin:36px 0 0;display:flex;justify-content:center}
.paginasi .nav-links,.woocommerce-pagination ul{display:flex;gap:6px;list-style:none;padding:0;margin:0;flex-wrap:wrap;border:0!important}
.paginasi a,.paginasi span,.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:11px;border:1.5px solid var(--line)!important;font-weight:700;color:var(--navy);background:#fff}
.paginasi .current,.woocommerce-pagination .current{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.woocommerce-pagination ul li{border:0!important}

/* SliceWP */
.slicewp-affiliate-account,.slicewp-form{font-family:var(--font)}
#slicewp-affiliate-account .slicewp-nav-tab.slicewp-active a{color:var(--hijau)!important}
.slicewp-button-primary,.slicewp-form input[type=submit]{background:var(--hijau)!important;border-color:var(--hijau)!important;border-radius:11px!important;font-weight:700!important}

/* ============================================================
   WooCommerce: keranjang, checkout, notifikasi
   ============================================================ */
.halaman-toko{padding:32px 0 72px}
.halaman-toko h1{margin-bottom:22px}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;border-radius:12px!important;border:1.5px solid var(--line)!important;background:#fff!important;padding:14px 18px!important;margin:0 0 18px!important;color:var(--navy)}
.woocommerce-error{border-color:#F6D9D6!important;background:#FDF6F5!important}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,#place_order{background:var(--hijau)!important;color:#fff!important;border-radius:12px!important;padding:13px 22px!important;font-weight:700!important;border:0!important}
#place_order{background:var(--emas)!important;color:var(--navy)!important;width:100%;font-size:17px!important;min-height:52px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection--single{border:1.5px solid var(--line)!important;border-radius:11px!important;padding:11px 12px!important;min-height:46px;background:#fff}
.woocommerce form .form-row label{font-weight:700;font-size:14px;color:var(--navy)}
.woocommerce-checkout #customer_details{margin-bottom:26px}
.woocommerce table.shop_table{border-radius:var(--r)!important;border:1.5px solid var(--line)!important;border-collapse:separate!important;overflow:hidden}
.woocommerce table.shop_table th{background:var(--bg)}
.woocommerce-checkout-review-order{background:#fff}
#payment{background:var(--bg)!important;border-radius:var(--r)!important}
.uw-catatan-checkout{background:var(--emas-t);border-radius:10px;padding:10px 12px;font-size:14px;color:#6A4D0C}
.wc-item-meta,.variation{font-size:13.5px;color:var(--muted)}
.wc-item-meta li,.variation dt,.variation dd{margin:0}
.uw-terimakasih{background:var(--hijau-t);border-radius:var(--r);padding:20px;margin:0 0 24px}
@media(min-width:900px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}
  .woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
  .woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none}
  .woocommerce-checkout #order_review_heading{display:none}
  .woocommerce-checkout #order_review{position:sticky;top:90px;border:1.5px solid var(--line);border-radius:var(--r-l);padding:20px}
}

/* ============================================================
   Footer + WA melayang
   ============================================================ */
.kaki{background:var(--hijau-dd);color:#A9C4BA;padding:56px 0 28px;font-size:14.5px}
.kaki a{color:#D7E8E2}
.kaki a:hover{color:#fff}
.kaki-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.kaki h3{color:#fff;font-size:15px;margin-bottom:14px}
.kaki ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.kaki .logo{color:#fff;margin-bottom:14px}
.kaki .logo b{color:var(--emas)}
.kaki-izin{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.15);padding:8px 12px;border-radius:10px;margin-top:10px;color:#fff;font-size:13px}
.kaki-bawah{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
@media(max-width:900px){
  .kaki-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .kaki-grid{grid-template-columns:1fr}
}
.wa-melayang{position:fixed;right:18px;bottom:18px;z-index:55;display:flex;align-items:center;gap:8px;background:var(--wa);color:#fff;font-weight:700;padding:12px 18px 12px 14px;border-radius:999px;box-shadow:0 10px 26px rgba(22,163,74,.35)}
.wa-melayang:hover{background:var(--wa-d);color:#fff}
.wa-melayang svg{width:24px;height:24px}
body.ada-bar .wa-melayang{display:none}
@media(max-width:560px){
  .wa-melayang span{display:none}
  .wa-melayang{padding:14px}
}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(7,20,16,.92);display:none;align-items:center;justify-content:center;padding:40px 60px}
.lb.buka{display:flex}
.lb img{max-height:100%;max-width:100%;border-radius:10px;width:auto}
.lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:24px;cursor:pointer}
.lb-tutup{top:16px;right:16px}
.lb-kiri{left:12px;top:50%;transform:translateY(-50%)}
.lb-kanan{right:12px;top:50%;transform:translateY(-50%)}
.lb-hitung{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:14px}

/* 404 / kosong */
:focus-visible{outline:2px solid var(--emas);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* Item menu yang hanya muncul di menu mobile (di desktop sudah ada tombolnya). */
.nav .hanya-mobile{display:none}
@media(max-width:1020px){
  .nav .hanya-mobile{display:block}
  .nav .hanya-mobile a{color:var(--hijau-d)}
}

/* ==========================================================================
   Halaman paket: katalog (.kt) dan detail (.pd)
   Gaya "papan keberangkatan": tabel & daftar bergaris, bukan kartu.
   Garis 1px, sudut 6px, tanpa bayangan, angka tabular.
   ========================================================================== */
.kt,.pd{--garis:#DCE0E4;--garis-2:#ECEEF0;--teks-2:#4E5A68;--r6:6px;font-variant-numeric:tabular-nums}

/* Answer-first & FAQ: ditulis seperti paragraf pembuka biasa, bukan kotak berlabel. */
.uw-jawaban{border:0;background:none;padding:0;margin:0 0 32px;border-radius:0}
.uw-jawaban-tanya{font-size:15px;font-weight:700;color:var(--teks-2,#4E5A68);margin:0 0 6px}
.uw-jawaban-isi p{font-size:18px;line-height:1.6;color:var(--navy);max-width:68ch}
.uw-jawaban-meta{font-size:13px;margin-top:8px}
.uw-faq{margin:56px 0 0;max-width:760px}
.uw-faq h2{font-size:24px;margin-bottom:8px}
.uw-faq details,.uw-faq details[open]{border:0;border-bottom:1px solid #DCE0E4;border-radius:0;background:none;box-shadow:none;margin:0}
.uw-faq summary{padding:16px 36px 16px 0;font-weight:600}
.uw-faq summary::after{content:"+";border:0;transform:none;width:auto;height:auto;right:4px;top:13px;font-size:22px;font-weight:400;color:var(--muted)}
.uw-faq details[open] summary::after{content:"−";transform:none}
.uw-faq-a{padding:0 0 18px;max-width:68ch}

/* Tombol khusus halaman paket */
.pd-tombol{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 18px;border-radius:6px;border:1px solid var(--hijau);background:var(--hijau);color:#fff;font:600 15px/1.2 var(--font);cursor:pointer;white-space:nowrap;text-decoration:none}
.pd-tombol:hover{background:var(--hijau-d);border-color:var(--hijau-d);color:#fff}
.pd-tombol-garis{background:#fff;color:var(--navy);border-color:#C9CFD5}
.pd-tombol-garis:hover{background:#F4F5F6;color:var(--navy);border-color:#AEB6BE}
.pd-tombol-wa{background:var(--wa);border-color:var(--wa)}
.pd-tautan{background:none;border:0;padding:0;color:var(--hijau);font:600 14px var(--font);cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* ---------- Katalog ---------- */
.kt{padding-bottom:80px}
.kt-kepala{padding:18px 0 4px;max-width:820px}
.kt-kepala h1{font-size:clamp(28px,3.4vw,38px);margin-bottom:14px}
.kt-lead{font-size:18px;color:var(--navy);max-width:68ch;margin:0 0 24px}
.kt-jenis{display:flex;gap:28px;border-bottom:1px solid var(--garis);margin:8px 0 0;overflow-x:auto;scrollbar-width:none}
.kt-jenis::-webkit-scrollbar{display:none}
.kt-jenis a{padding:12px 0;color:var(--teks-2);font-weight:600;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.kt-jenis a span{color:#98A2AD;font-weight:500;margin-left:2px}
.kt-jenis a:hover{color:var(--navy)}
.kt-jenis a[aria-current]{color:var(--navy);border-bottom-color:var(--navy)}
.kt-filter{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;padding:16px 0;border-bottom:1px solid var(--garis)}
.kt-filter label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--teks-2)}
.kt-filter select{min-height:38px;border:1px solid var(--garis);border-radius:6px;padding:6px 30px 6px 10px;background:#fff;font-size:14.5px;color:var(--navy);font-weight:600}
.kt-filter select:focus{outline:2px solid var(--hijau);outline-offset:1px}
.kt-hapus{font-size:14px;color:var(--merah);text-decoration:underline;text-underline-offset:3px}
.kt-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0 6px;font-size:14px;color:var(--teks-2)}
.kt-bar p{margin:0;font-weight:600;color:var(--navy)}
.kt-alih{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap}
.kt-alih a{color:var(--teks-2)}
.kt-alih a[aria-current]{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.kt-pisah{width:1px;height:16px;background:var(--garis);margin:0 4px}
.kt-bulan{margin-top:28px}
.kt-bulan h2{font-size:15px;font-weight:700;color:var(--teks-2);padding:0 0 8px;border-bottom:2px solid var(--navy);position:sticky;top:70px;background:#fff;z-index:2;padding-top:8px}
.kt-daftar{list-style:none;margin:0;padding:0}
.kt-baris{display:grid;grid-template-columns:64px minmax(0,1fr) 90px 170px 110px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--garis-2)}
.kt-tgl{display:grid;line-height:1.1;text-align:center;color:var(--teks-2);font-size:13px}
.kt-tgl b{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.kt-paket h3{font-size:17px;font-weight:700;margin-bottom:4px;letter-spacing:0}
.kt-paket h3 a{color:var(--navy)}
.kt-paket h3 a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.kt-paket p{margin:0;font-size:14px;color:var(--teks-2)}
.kt-kursi{font-size:14px;color:var(--teks-2)}
.kt-merah{color:var(--merah);font-weight:600}
.kt-harga{text-align:right}
.kt-harga b{display:block;font-size:18px;font-weight:700;color:var(--navy)}
.kt-harga span{font-size:12.5px;color:var(--teks-2)}
.kt-aksi{text-align:right}
.kt-aksi .pd-tombol{width:100%}
.kt-penuh .kt-tgl,.kt-penuh .kt-paket,.kt-penuh .kt-harga{opacity:.5}
.kt-baris.kt-baris-foto{grid-template-columns:64px 128px minmax(0,1fr) 90px 190px 110px}
.kt-foto{display:block;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:#E7ECEA}
.kt-foto img,.kt-foto .ph{width:100%;height:100%;object-fit:cover;display:block}
.kt-penuh .kt-foto{opacity:.5}
.kt-kosong{padding:40px 0;border-bottom:1px solid var(--garis);max-width:640px}
.kt-kosong p{margin-bottom:16px}
@media(max-width:900px){
  .kt-baris{grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:"tgl paket paket" "tgl kursi harga" "tgl aksi aksi";gap:6px 14px;align-items:start}
  .kt-tgl{grid-area:tgl;padding-top:2px}
  .kt-tgl b{font-size:24px}
  .kt-paket{grid-area:paket}
  .kt-kursi{grid-area:kursi;align-self:end;padding-bottom:3px}
  .kt-harga{grid-area:harga}
  .kt-aksi{grid-area:aksi;margin-top:8px}
  .kt-baris.kt-baris-foto{grid-template-columns:52px 72px minmax(0,1fr) auto;grid-template-areas:"tgl foto paket paket" "tgl kursi kursi harga" "tgl aksi aksi aksi"}
  .kt-baris-foto .kt-paket{align-self:start}
  .kt-foto{grid-area:foto;aspect-ratio:1}
  .kt-bulan h2{top:70px}
  .kt-filter label{flex:1 1 140px;flex-direction:column;align-items:stretch;gap:4px}
}

/* Baris paket (per paket & paket lain) */
.bp-daftar{border-top:1px solid var(--garis)}
.bp{display:grid;grid-template-columns:168px minmax(0,1fr) 200px;gap:24px;padding:20px 0;border-bottom:1px solid var(--garis-2);align-items:start}
.bp-foto{display:block;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#E7ECEA}
.bp-foto img,.bp-foto .ph{width:100%;height:100%;object-fit:cover}
.bp-foto .ph svg{width:32px;height:32px}
.bp h3{font-size:18px;font-weight:700;margin-bottom:6px;letter-spacing:0}
.bp h3 a{color:var(--navy)}
.bp h3 a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.bp-fakta{margin:0 0 2px;font-size:14px;color:var(--teks-2,#4E5A68)}
.bp-tanggal{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px}
.bp-tanggal a{color:var(--hijau);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.bp-tanggal span{color:var(--teks-2,#4E5A68)}
.bp-harga{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.bp-harga b{font-size:20px;font-weight:700;color:var(--navy)}
.bp-mulai,.bp-satuan{font-size:12.5px;color:var(--teks-2,#4E5A68)}
.bp-harga .pd-tombol{margin-top:10px}
@media(max-width:760px){
  .bp{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .bp-harga{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;text-align:left}
  .bp-harga .pd-tombol{margin:6px 0 0;width:100%}
  .bp h3{font-size:16px}
}

/* ---------- Detail ---------- */
.pd-kepala{padding:14px 0 22px;max-width:860px}
.pd-kepala h1{font-size:clamp(28px,3.4vw,40px);margin-bottom:10px}
.pd-sub{margin:0;font-size:16px;color:var(--teks-2)}
.pd-rute{margin:4px 0 0;font-size:14px;color:#7A8592}
.pd-galeri{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:190px 190px;gap:6px;margin-bottom:40px;border-radius:6px;overflow:hidden}
.pd-galeri a{position:relative;display:block;background:#E7ECEA;overflow:hidden}
.pd-galeri a:first-child{grid-row:1/3}
.pd-galeri img{width:100%;height:100%;object-fit:cover}
.pd-galeri-satu{grid-template-columns:1fr;grid-template-rows:380px}
.pd-galeri-lagi{position:absolute;right:10px;bottom:10px;background:#fff;color:var(--navy);font-size:13.5px;font-weight:600;padding:6px 10px;border-radius:6px;border:1px solid var(--garis)}
@media(max-width:760px){
  .pd-galeri{grid-template-columns:1fr 1fr;grid-template-rows:210px 100px}
  .pd-galeri a:first-child{grid-column:1/3;grid-row:auto}
}
.pd-tata{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
@media(max-width:1020px){
  .pd-tata{grid-template-columns:1fr;gap:32px}
}
.pd-isi{min-width:0}
.pd-catatan{font-size:15px;color:#6A4D0C;background:#FBF6E8;border-left:3px solid #D9A92B;padding:12px 14px;margin:0 0 28px}
.pd-spek{margin:0 0 48px;border-top:1px solid var(--garis)}
.pd-spek>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--garis-2)}
.pd-spek dt{font-size:14px;color:var(--teks-2)}
.pd-spek dd{margin:0;color:var(--navy);font-weight:600}
.pd-spek small{display:block;font-weight:400;color:var(--teks-2);font-size:14px;margin-top:2px}
.pd-bintang{font-weight:600;color:#9A6B00;margin-left:6px;font-size:14px}
@media(max-width:560px){
  .pd-spek>div{grid-template-columns:1fr;gap:2px}
}
.pd-blok{margin:0 0 52px}
.pd-blok>h2{font-size:24px;margin-bottom:14px;letter-spacing:-.01em}
.pd-blok>h3{font-size:17px}
.pd-kecil{font-size:13.5px;color:var(--teks-2);margin:10px 0 0}
.pd-redup{color:#A3ACB5;font-size:13px}
.pd-merah{color:var(--merah);font-weight:600}

/* Tabel jadwal */
.pd-jadwal{width:100%;border-collapse:collapse;font-size:15px}
.pd-jadwal thead th{font-size:13px;font-weight:600;color:var(--teks-2);text-align:left;padding:0 10px 8px;border-bottom:2px solid var(--navy)}
.pd-jadwal th.n,.pd-jadwal td.n{text-align:right}
.pd-jadwal tbody th,.pd-jadwal td{padding:14px 10px;border-bottom:1px solid var(--garis-2);vertical-align:top;text-align:left;font-weight:400}
.pd-jadwal tbody th{padding-left:0}
.pd-jadwal tbody th b{display:block;color:var(--navy);font-weight:700}
.pd-jadwal tbody th span{display:block;font-size:13.5px;color:var(--teks-2)}
.pd-jadwal tbody th span.pd-merah{color:var(--merah)}
.pd-jadwal td.n{color:var(--navy);white-space:nowrap}
.pd-jadwal-aksi{text-align:right!important;padding-right:0!important;width:1%}
.pd-jadwal tr.dipilih>*{background:#FBF6E8}
.pd-jadwal tr.pd-penuh th b,.pd-jadwal tr.pd-penuh td.n{opacity:.45}
@media(max-width:640px){
  .pd-jadwal thead{display:none}
  .pd-jadwal,.pd-jadwal tbody,.pd-jadwal tr{display:block}
  .pd-jadwal tr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px 10px;padding:14px 0;border-bottom:1px solid var(--garis-2)}
  .pd-jadwal tbody th,.pd-jadwal td{border:0;padding:0}
  .pd-jadwal tbody th{grid-column:1/-1;margin-bottom:6px}
  .pd-jadwal td.n{text-align:left;font-size:14px}
  .pd-jadwal td.n::before{content:attr(data-label);display:block;font-size:12px;color:var(--teks-2)}
  .pd-jadwal-aksi{grid-column:1/-1;width:auto;text-align:left!important;margin-top:8px}
  .pd-jadwal-aksi .pd-tombol{width:100%}
}

/* Acara per hari */
.pd-itin{list-style:none;margin:0;padding:0;border-top:1px solid var(--garis)}
.pd-itin>li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--garis-2)}
.pd-hari{font-size:14px;font-weight:700;color:var(--hijau);padding-top:2px}
.pd-itin-isi h3{font-size:17px;margin-bottom:6px;letter-spacing:0}
.pd-itin-isi p{margin:0 0 8px;font-size:15.5px;color:var(--teks)}
.pd-itin-isi::after{content:"";display:block;clear:both}
.pd-itin-foto{float:right;width:150px;margin:2px 0 8px 18px;border-radius:6px;overflow:hidden}
.pd-itin-foto img{aspect-ratio:4/3;object-fit:cover;width:100%}
.pd .itin-peta .uw-map{height:240px;margin-top:10px;border-radius:6px}
@media(max-width:560px){
  .pd-itin>li{grid-template-columns:1fr;gap:4px}
  .pd-itin-foto{width:110px}
}

/* Termasuk / tidak */
.pd-dua{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.pd-dua h3{font-size:15px;color:var(--teks-2);font-weight:700;margin-bottom:8px}
.pd-ya,.pd-tidak{list-style:none;margin:0;padding:0}
.pd-ya li,.pd-tidak li{position:relative;padding:7px 0 7px 22px;border-bottom:1px solid var(--garis-2);font-size:15px}
.pd-ya li::before{content:"✓";position:absolute;left:0;color:var(--hijau);font-weight:700}
.pd-tidak li::before{content:"–";position:absolute;left:2px;color:#98A2AD;font-weight:700}
@media(max-width:640px){
  .pd-dua{grid-template-columns:1fr;gap:24px}
}

/* Foto */
.pd-tab{display:flex;gap:22px;border-bottom:1px solid var(--garis);margin-bottom:14px}
.pd-tab button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 0;font:600 14.5px var(--font);color:var(--teks-2);cursor:pointer}
.pd-tab button.aktif{color:var(--navy);border-bottom-color:var(--navy)}
.pd-foto{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pd-foto a{aspect-ratio:1;display:block;border-radius:4px;overflow:hidden;background:#E7ECEA}
.pd-foto img{width:100%;height:100%;object-fit:cover}
@media(max-width:560px){
  .pd-foto{grid-template-columns:repeat(3,1fr)}
}
.pd .uw-map{border-radius:6px;height:300px}

/* Panel booking */
.pd-samping{position:sticky;top:86px}
@media(max-width:1020px){
  .pd-samping{position:static}
}
.pd .booking{position:static;border:1px solid var(--garis);border-radius:6px;box-shadow:none;background:#fff}
.pd .booking-kepala{background:none;color:var(--teks-2);padding:18px 20px 14px;border-bottom:1px solid var(--garis-2)}
.pd .booking-kepala span{display:block;font-size:13px}
.pd .booking-kepala b{display:block;color:var(--navy);font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.pd .booking form{padding:16px 20px 4px}
.pd .booking fieldset{border:0;margin:0 0 14px;padding:0;min-width:0}
.pd .booking-label{display:block;font-size:13.5px;font-weight:700;color:var(--navy);margin:0 0 6px;padding:0}
.pd .pilih-jadwal{max-height:212px;gap:0;border:1px solid var(--garis);border-radius:6px;margin:0}
.pd .pilih-jadwal .opsi>span{border:0;border-bottom:1px solid var(--garis-2);border-radius:0;padding:9px 12px}
.pd .pilih-jadwal .opsi:last-child>span{border-bottom:0}
.pd .opsi>span{border:1px solid var(--garis);border-radius:6px;box-shadow:none}
.pd .opsi input:checked+span{background:#EEF5F2;box-shadow:inset 3px 0 0 var(--hijau);border-color:var(--garis)}
.pd .pilih-kamar,.pd .pilih-bayar{margin:0}
.pd .pilih-kamar .opsi input:checked+span,.pd .pilih-bayar .opsi input:checked+span{box-shadow:inset 0 0 0 1.5px var(--hijau);border-color:var(--hijau)}
.pd .opsi>span em{font-weight:700;color:var(--navy)}
.booking-baris{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}
.booking-baris .booking-label{margin:0}
.pd .jumlah{margin:0;border:1px solid var(--garis);border-radius:6px}
.pd .jumlah button{width:40px;height:40px;background:#fff}
.pd .jumlah input{width:48px;height:40px}
.pd .total{border-top:1px solid var(--garis-2);padding:12px 0 6px}
.pd .total .total-utama b{color:var(--navy)}
.pd .booking-tombol{padding:10px 20px 16px;display:grid;gap:10px}
.tombol-booking{min-height:48px;border:0;border-radius:6px;background:var(--hijau);color:#fff;font:700 16px var(--font);cursor:pointer}
.tombol-booking:hover{background:var(--hijau-d)}
.tombol-booking:disabled{opacity:.7;cursor:progress}
.booking-wa{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--wa-d)}
.booking-wa svg{width:18px;height:18px}
.pd .booking-catatan{display:block;text-align:left;font-size:12.5px;padding:12px 20px 16px;border-top:1px solid var(--garis-2);margin:0;color:var(--teks-2)}

/* Bar bawah (HP) */
.bar-harga{flex:1;min-width:0;line-height:1.15}
.bar-harga span{display:block;font-size:12px;color:var(--muted)}
.bar-harga b{font-size:18px;color:var(--navy);font-variant-numeric:tabular-nums}
.bar-wa{display:grid;place-items:center;width:46px;height:46px;border:1px solid #C9CFD5;border-radius:6px;color:var(--wa-d)}
.bar-wa svg{width:22px;height:22px}
.bar-pilih{display:grid;place-items:center;min-height:46px;padding:0 18px;border-radius:6px;background:var(--hijau);color:#fff;font-weight:700}
.bar-pilih:hover{color:#fff;background:var(--hijau-d)}

/* Paket lain */
.pd-lain{margin:24px 0 80px;padding-top:32px;border-top:2px solid var(--navy)}
.pd-lain h2{font-size:22px;margin-bottom:6px}
.pd-lain .bp-daftar{border-top:0}
@media(max-width:640px){
  .kt .uw-jawaban-isi p,.pd .uw-jawaban-isi p,.kt-lead{font-size:16px}
  .kt .uw-jawaban{margin-bottom:20px}
  .kt-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .kt-filter label{font-size:12.5px}
  .kt-filter select{width:100%;padding-right:22px;font-size:14px}
  .kt-hapus{grid-column:1/-1}
  .kt-aksi{justify-self:end;margin-top:4px}
  .kt-aksi .pd-tombol{width:auto;min-width:110px}
}

/* ==========================================================================
   Beranda (.br): bahasa desain yang sama dengan halaman paket.
   ========================================================================== */
.br{--garis:#DCE0E4;--garis-2:#ECEEF0;--teks-2:#4E5A68;font-variant-numeric:tabular-nums;padding-bottom:88px}
.br-kepala{padding:48px 0 8px;max-width:980px}
.br-kepala h1{font-size:clamp(30px,4.2vw,48px);line-height:1.12;letter-spacing:-.025em;max-width:18ch;margin-bottom:16px}
.br-fakta{font-size:16px;color:var(--teks-2);margin:0 0 28px}
.br-cari{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;padding:18px 0;border-top:2px solid var(--navy);border-bottom:1px solid var(--garis)}
.br-cari label{display:grid;gap:5px;font-size:13px;color:var(--teks-2)}
.br-cari select{min-height:44px;border:1px solid var(--garis);border-radius:6px;padding:8px 30px 8px 10px;background:#fff;font-size:15px;font-weight:600;color:var(--navy);width:100%}
.br-cari select:focus{outline:2px solid var(--hijau);outline-offset:1px}
.br-cari .pd-tombol{min-height:44px;padding:0 22px}
.br-bantu{font-size:14.5px;color:var(--teks-2);margin:12px 0 0}
.br-bantu a{color:var(--hijau);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:820px){
  .br-cari{grid-template-columns:1fr 1fr}
  .br-cari .pd-tombol{grid-column:1/-1}
  .br-kepala{padding-top:28px}
}
.br-seksi{margin-top:64px}
.br-judul{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:2px solid var(--navy);padding-bottom:8px;margin-bottom:4px}
.br-judul h2{font-size:22px;letter-spacing:-.01em}
.br-judul a{font-size:14.5px;font-weight:600;color:var(--hijau);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.br-lead{color:var(--teks-2);margin:14px 0 6px;max-width:68ch}
.br-jenis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--garis)}
.br-jenis a{display:grid;align-content:start;gap:3px;padding:18px 20px 20px 0;color:var(--teks-2);font-size:14px;border-right:1px solid var(--garis-2)}
.br-jenis a+a{padding-left:20px}
.br-jenis a:last-child{border-right:0}
.br-jenis b{font-size:18px;color:var(--navy);margin-bottom:4px}
.br-jenis a:hover b{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.br-jenis p{margin:8px 0 0;font-size:13.5px;line-height:1.5}
@media(max-width:900px){
  .br-jenis{grid-template-columns:1fr 1fr}
  .br-jenis a{border-right:0;border-bottom:1px solid var(--garis-2);padding-left:0!important}
}
@media(max-width:520px){
  .br-jenis{grid-template-columns:1fr}
}
.br-dua{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.br-langkah{margin:0;padding:0;list-style:none;counter-reset:l}
.br-langkah li{counter-increment:l;position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--garis-2);font-size:15.5px;color:var(--teks)}
.br-langkah li::before{content:counter(l) ".";position:absolute;left:0;top:14px;font-weight:800;color:var(--hijau)}
.br-langkah b{color:var(--navy)}
.br-dua .pd-ya{margin-top:4px}
@media(max-width:820px){
  .br-dua{grid-template-columns:1fr;gap:48px}
}
.br-tanya{max-width:820px}
.br-tanya .uw-jawaban{margin:16px 0 0}
.br-tanya .uw-faq{margin-top:36px}
.br-tanya .uw-faq h2{font-size:17px;color:var(--teks-2)}
.br-dir{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}
.br-dir li{padding:12px 0;border-bottom:1px solid var(--garis-2);display:flex;justify-content:space-between;gap:10px;font-size:15px}
.br-dir a{color:var(--navy);font-weight:600}
.br-dir a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.br-dir span{color:var(--teks-2);font-size:13.5px;white-space:nowrap}
@media(max-width:900px){
  .br-dir{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .br-dir{grid-template-columns:1fr}
}
.br-agen{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
.br-agen p{margin:16px 0 20px;max-width:60ch}
.br-agen .pd-spek{margin:50px 0 0}
@media(max-width:820px){
  .br-agen{grid-template-columns:1fr;gap:28px}
  .br-agen .pd-spek{margin-top:0}
}
.br-artikel{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.br-artikel li{padding:16px 0;border-bottom:1px solid var(--garis-2)}
.br-artikel a{font-size:17px;font-weight:700;color:var(--navy);line-height:1.35}
.br-artikel a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.br-artikel p{margin:6px 0 0;font-size:14.5px;color:var(--teks-2)}
@media(max-width:760px){
  .br-artikel{grid-template-columns:1fr}
}
@media(max-width:640px){
  .br .kt-aksi{justify-self:end;margin-top:4px}
  .br .kt-aksi .pd-tombol{width:auto;min-width:110px}
}
@media(max-width:520px){
  .br-judul h2{font-size:19px}
  .br-judul a{font-size:13.5px}
  .br-seksi{margin-top:48px}
}

/* ==========================================================================
   Penyeragaman seluruh situs (blog, direktori, agen, halaman biasa, toko)
   ========================================================================== */
:root{--garis:#DCE0E4;--garis-2:#ECEEF0;--teks-2:#4E5A68}
body{font-variant-numeric:tabular-nums}

/* Header & footer */
.kepala{background:#fff;backdrop-filter:none}
.logo-tanda{border-radius:6px}
.kepala-agen{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid #C9CFD5;border-radius:6px;font-weight:600;font-size:14.5px;color:var(--navy)}
.kepala-agen:hover{border-color:var(--navy);color:var(--navy)}
@media(max-width:480px){
  .kepala-agen{display:none}
}
.nav a{border-radius:6px}
.kaki-izin{border-radius:6px}

/* Tombol lama yang masih dipakai (SliceWP, WooCommerce, dll.) */
.uw-btn{border-radius:6px;min-height:44px;border-width:1px;font-weight:600}

/* Artikel & halaman biasa */
.ar{padding-bottom:88px}
.ar-kepala{padding:16px 0 24px;max-width:820px}
.ar-kepala h1{font-size:clamp(28px,3.6vw,40px);margin-bottom:10px;line-height:1.15}
.ar-kepala .pd-sub a{color:var(--teks-2);text-decoration:underline;text-underline-offset:3px}
.ar-tata{display:grid;grid-template-columns:minmax(0,720px) 300px;gap:72px;align-items:start}
@media(max-width:1020px){
  .ar-tata{grid-template-columns:1fr;gap:40px}
}
.ar-isi{min-width:0}
.ar-polos{max-width:720px}
.ar-sampul{margin:0 0 28px;border-radius:6px;overflow:hidden;aspect-ratio:16/8;background:#E7ECEA}
.ar-sampul img{width:100%;height:100%;object-fit:cover}
.ar-toc{margin:0 0 32px;border-top:2px solid var(--navy);padding-top:10px}
.ar-toc h2{font-size:14px;color:var(--teks-2);margin-bottom:6px;letter-spacing:0}
.ar-toc ol{margin:0;padding:0 0 0 1.2em;font-size:15.5px}
.ar-toc li{padding:4px 0}
.ar-toc a{color:var(--navy)}
.ar-toc a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.ar .konten table{font-size:15px}
.ar .konten th,.ar .konten td{border:0;border-bottom:1px solid var(--garis-2);padding:10px 12px 10px 0}
.ar .konten thead th{background:none;border-bottom:2px solid var(--navy);font-size:14px;color:var(--teks-2)}
.ar .konten a{text-decoration:underline;text-underline-offset:3px}
.ar-penutup{margin:48px 0 0;padding-top:20px;border-top:1px solid var(--garis);color:var(--teks-2)}
.ar-penutup a{color:var(--hijau);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Kolom samping (artikel, direktori) */
.sp-blok{padding:0 0 28px}
.sp-blok+.sp-blok{padding-top:4px}
.sp-blok h2{font-size:15px;border-bottom:2px solid var(--navy);padding-bottom:8px;margin-bottom:6px;letter-spacing:0}
.sp-blok p{font-size:14.5px;color:var(--teks-2);margin:10px 0 12px}
.sp-daftar{list-style:none;margin:0;padding:0}
.sp-daftar li{padding:11px 0;border-bottom:1px solid var(--garis-2);display:grid;gap:2px}
.sp-daftar a{font-weight:600;color:var(--navy);font-size:15px;line-height:1.35}
.sp-daftar a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.sp-daftar span{font-size:13.5px;color:var(--teks-2)}

/* Daftar tempat & artikel */
.bt,.ba{grid-template-columns:168px minmax(0,1fr)}
.bt-ringkas{margin:6px 0 4px;font-size:14.5px;color:var(--teks);max-width:68ch}
.ba .bp-fakta{margin-top:4px}
@media(max-width:760px){
  .bt,.ba{grid-template-columns:96px minmax(0,1fr)}
}
.kt-cari{flex:1 1 240px}
.kt-cari input{min-height:38px;width:100%;border:1px solid var(--garis);border-radius:6px;padding:6px 10px;font-size:14.5px;background:#fff}
.kt-cari input:focus{outline:2px solid var(--hijau);outline-offset:1px}
.kt-filter .pd-tombol{min-height:38px;padding:6px 16px}
@media(max-width:640px){
  .kt-cari{grid-column:1/-1}
  .kt-filter .pd-tombol{grid-column:1/-1}
}
.kt-catatan{margin:48px 0 0;padding-top:20px;border-top:1px solid var(--garis);color:var(--teks-2);max-width:760px}
.kt-catatan a{color:var(--hijau);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.paginasi a,.paginasi span,.woocommerce-pagination a,.woocommerce-pagination span{border-radius:6px;border-width:1px!important}

/* Form pendaftaran agen (SliceWP) */
.ag-form{margin-top:16px}
.ag-form .slicewp-field-wrapper{margin-bottom:16px}
.ag-form label{font-weight:600;font-size:14px;color:var(--navy)}
.ag-form input[type=text],.ag-form input[type=email],.ag-form input[type=password],.ag-form input[type=url],.ag-form textarea{width:100%;min-height:44px;border:1px solid var(--garis)!important;border-radius:6px!important;padding:10px 12px!important;font-size:15px;background:#fff;box-shadow:none!important}
.ag-form input:focus,.ag-form textarea:focus{outline:2px solid var(--hijau);outline-offset:1px}
.slicewp-button-primary,.slicewp-form input[type=submit]{border-radius:6px!important;min-height:46px;padding:10px 22px!important;font-weight:700!important}

/* Keranjang, checkout, akun */
.halaman-toko{padding-bottom:88px}
.halaman-toko h1{font-size:clamp(26px,3.2vw,34px);margin:14px 0 22px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:6px!important;border-width:1px!important}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{border-radius:6px!important}
#place_order{background:var(--hijau)!important;color:#fff!important;border-radius:6px!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection--single{border-width:1px!important;border-radius:6px!important}
.woocommerce table.shop_table{border-radius:6px!important;border-width:1px!important}
.woocommerce table.shop_table th{background:none;border-bottom:2px solid var(--navy)}
#payment{border-radius:6px!important;background:#F6F7F8!important}
@media(min-width:900px){
  .woocommerce-checkout #order_review{border-width:1px;border-radius:6px}
}
.uw-catatan-checkout{border-radius:0;background:#FBF6E8;border-left:3px solid #D9A92B}
.uw-terimakasih{border-radius:0;background:none;border-top:2px solid var(--navy);border-bottom:1px solid var(--garis);padding:18px 0}
.uw-terimakasih .uw-btn{min-height:42px}

/* Lain-lain */
.uw-map{border-radius:6px}
.wa-melayang{box-shadow:0 4px 14px rgba(22,163,74,.28)}
.pd-galeri-satu{grid-template-rows:300px}
@media(max-width:760px){
  .pd-galeri-satu{grid-template-rows:200px}
}
.pd-kredit{margin:-30px 0 36px;font-size:12.5px;color:var(--teks-2)}.pd-kredit a{color:var(--teks-2);text-decoration:underline;text-underline-offset:2px}

/* ==========================================================================
   Hero beranda + form konsultasi (pola sewaalat)
   ========================================================================== */
.hr{position:relative;background:#0B231D var(--hr-foto,none) center/cover no-repeat;color:#E6EFEB;isolation:isolate}
.hr::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,22,18,.88) 0%,rgba(6,22,18,.72) 48%,rgba(6,22,18,.35) 100%)}
.hr-isi{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}
.hr h1{color:#fff;font-size:clamp(32px,4.4vw,50px);line-height:1.1;letter-spacing:-.025em;max-width:16ch;margin-bottom:18px}
.hr h1 em{font-style:normal;color:#F2C14E}
.hr-lead{font-size:18px;line-height:1.6;color:#DCE7E2;max-width:54ch;margin:0 0 24px}
.hr-poin{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:56ch}
.hr-poin li{position:relative;padding-left:26px;font-size:15.5px;color:#C9D8D2}
.hr-poin li::before{content:"✓";position:absolute;left:0;color:#F2C14E;font-weight:800}
.hr-poin b{color:#fff}
.hr-kredit{position:absolute;right:16px;bottom:8px;margin:0;font-size:11px;color:rgba(255,255,255,.6)}
@media(max-width:1020px){
  .hr::before{background:linear-gradient(180deg,rgba(6,22,18,.82),rgba(6,22,18,.9))}
  .hr-isi{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:44px}
  .hr-lead{font-size:16px}
}

/* Form */
.lf{background:#fff;color:var(--teks);border-radius:8px;padding:22px 22px 18px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.lf-kepala{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lf-kepala h2{font-size:20px;letter-spacing:-.01em}
.lf-langkah{font-size:13px;color:var(--teks-2)}
.lf-prog{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:12px 0 16px}
.lf-prog i{height:3px;border-radius:2px;background:var(--garis)}
.lf-prog i:first-child,.lf-di2 .lf-prog i{background:var(--hijau)}
.lf-selesai .lf-prog{display:none}
.lf-k{display:grid;gap:5px;margin-bottom:12px;font-size:13.5px;font-weight:600;color:var(--navy)}
.lf-k select,.lf-k input{min-height:44px;width:100%;border:1px solid #C9CFD5;border-radius:6px;padding:9px 11px;font-size:15px;font-weight:500;background:#fff;color:var(--navy)}
.lf-k select:focus,.lf-k input:focus{outline:2px solid var(--hijau);outline-offset:1px;border-color:var(--hijau)}
.lf-k input[aria-invalid=true]{border-color:var(--merah)}
.lf-err{color:var(--merah);font-weight:500;font-size:12.5px;min-height:0}
.lf-err:empty{display:none}
.lf-dua{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lf-tombol{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border:0;border-radius:6px;font:700 16px var(--font);cursor:pointer;text-decoration:none}
.lf-lanjut{background:#F2C14E;color:var(--navy)}
.lf-lanjut:hover{background:#E8B43A}
.lf-kirim,.lf-wa{background:var(--wa);color:#fff}
.lf-kirim:hover,.lf-wa:hover{background:var(--wa-d);color:#fff}
.lf-kirim:disabled{opacity:.7;cursor:progress}
.lf-tombol svg{width:20px;height:20px}
.lf-kecil{font-size:12.5px;color:var(--teks-2);margin:8px 0 0;text-align:center}
.lf-kembali{background:none;border:0;padding:0;margin:0 0 12px;font:600 13.5px var(--font);color:var(--hijau);cursor:pointer}
.lf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.lf-s3 h3{font-size:18px;margin:4px 0 8px}
.lf-s3 p{font-size:14.5px;color:var(--teks-2);margin:0 0 14px}
.lf-jadwal{display:block;text-align:center;margin-top:10px;font-weight:600;font-size:14.5px;color:var(--hijau)}
.lf-atau{margin-top:16px;padding-top:14px;border-top:1px solid var(--garis-2);display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;color:var(--teks-2)}
.lf-atau a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--wa-d)}
.lf-atau a svg{width:18px;height:18px}
@media(max-width:400px){.lf-dua{grid-template-columns:1fr}.lf{padding:18px 16px 14px}}

/* Cari sendiri, di bawah hero */
.br-cari-blok{padding-top:40px}
.br-cari-blok h2{font-size:18px;margin-bottom:10px;color:var(--teks-2);letter-spacing:0}

/* Bar bawah HP di beranda: WhatsApp + Konsultasi */
.bar-wa-lebar{width:auto;flex:1;gap:8px;font-weight:700;font-size:15px}
body.beranda .bar-bawah .bar-pilih{flex:1}
@media(min-width:1021px){body.beranda .wa-melayang{display:flex}}
.bar-wa-lebar{display:flex;align-items:center;justify-content:center;flex-direction:row}
.bar-wa-lebar svg{width:20px;height:20px}
@media(max-width:640px){.hr-poin{display:none}.hr-lead{margin-bottom:0}.hr h1{font-size:30px}}
.br-jenis-foto{display:block;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:#E7ECEA;margin-bottom:12px}
.br-jenis-foto img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.br-jenis a:hover .br-jenis-foto img{transform:scale(1.03)}
.br-kredit{margin:10px 0 0}
@media(max-width:900px){.br-jenis a{grid-template-columns:120px 1fr;column-gap:14px}.br-jenis-foto{grid-row:1/6;margin:0;aspect-ratio:4/3}}
.hr{background-position:center 62%}
.hr::before{background:linear-gradient(90deg,rgba(6,22,18,.9) 0%,rgba(6,22,18,.7) 36%,rgba(6,22,18,.28) 62%,rgba(6,22,18,.45) 100%)}
@media(max-width:1020px){.hr::before{background:linear-gradient(180deg,rgba(6,22,18,.78),rgba(6,22,18,.9))}}
.br-artikel-foto{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.br-artikel-foto li{border-bottom:0;padding-top:18px}
.br-artikel-gambar{display:block;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:#E7ECEA;margin-bottom:12px}
.br-artikel-gambar img,.br-artikel-gambar .ph{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.br-artikel-foto li:hover .br-artikel-gambar img{transform:scale(1.03)}
.ar-sampul{margin-bottom:8px}
.ar-kredit{margin:0 0 28px}
@media(max-width:900px){.br-artikel-foto{grid-template-columns:1fr}.br-artikel-foto li{display:grid;grid-template-columns:120px 1fr;column-gap:14px;padding:14px 0;border-bottom:1px solid var(--garis-2)}.br-artikel-gambar{grid-row:1/3;margin:0;aspect-ratio:4/3}.br-artikel-foto p{grid-column:2}}
.bp-foto{position:relative}
.bp-label{position:absolute;left:6px;bottom:6px;background:rgba(15,27,45,.78);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;line-height:1.4}
.pd-keterangan{margin:-30px 0 4px;font-size:13px;color:var(--teks-2);font-style:italic}
.pd-keterangan+.pd-kredit{margin-top:0}

/* Beranda: strip angka & legalitas */
.br-trust{border-bottom:1px solid var(--garis);padding:22px 0 18px}
.br-angka{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px 40px}
.br-angka li{display:grid;line-height:1.25}
.br-angka b{font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-.01em}
.br-angka span{font-size:13.5px;color:var(--teks-2)}
.br-legal{display:flex;flex-wrap:wrap;gap:6px 28px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--garis-2);font-size:14px}
.br-legal>div{display:flex;gap:6px}
.br-legal dt{color:var(--teks-2)}
.br-legal dd{margin:0;color:var(--navy);font-weight:600}
@media(max-width:640px){.br-angka{display:grid;grid-template-columns:1fr 1fr;gap:14px}.br-angka b{font-size:19px}.br-legal{display:grid;gap:6px}}

/* Beranda: tautan per bulan */
.br-bulan{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;padding:14px 0 0;font-size:14.5px}
.br-bulan>span{color:var(--teks-2)}
.br-bulan a{color:var(--hijau);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.br-bulan small{color:var(--teks-2);font-weight:500}

/* Beranda: ulasan */
.br-rating{margin:14px 0 4px;font-size:15px;color:var(--teks-2)}
.br-rating b{font-size:22px;color:var(--navy)}
.br-testi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.br-testi li{padding:16px 0;border-bottom:1px solid var(--garis-2)}
.br-testi blockquote{margin:0 0 8px;font-size:15.5px;color:var(--navy);line-height:1.6}
.br-testi blockquote::before{content:"“"}
.br-testi blockquote::after{content:"”"}
.br-testi p{margin:0;font-size:13.5px;color:var(--teks-2)}
@media(max-width:900px){.br-testi{grid-template-columns:1fr}}

/* Halaman paket: uang muka & perbandingan */
.pd-bayar{margin:10px 0 0;padding:10px 12px;background:#F4F7F5;border-left:3px solid var(--hijau);font-size:14.5px;color:var(--teks)}
.pd-bayar b{color:var(--navy)}
.pd-banding-wrap{overflow-x:auto;margin-top:12px}
.pd-banding{width:100%;border-collapse:collapse;font-size:14.5px;min-width:680px}
.pd-banding thead th{font-size:13px;font-weight:600;color:var(--teks-2);text-align:left;padding:0 10px 8px 0;border-bottom:2px solid var(--navy)}
.pd-banding th.n,.pd-banding td.n{text-align:right}
.pd-banding tbody th,.pd-banding td{padding:12px 10px 12px 0;border-bottom:1px solid var(--garis-2);text-align:left;font-weight:400;vertical-align:top}
.pd-banding tbody th{font-weight:600;color:var(--navy)}
.pd-banding tbody th a{color:var(--navy)}
.pd-banding tbody th a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.pd-banding tbody th small{font-weight:400;color:var(--teks-2)}
.pd-banding td.n{font-weight:700;color:var(--navy);white-space:nowrap}
.pd-banding tr.pd-ini>*{background:#FBF6E8}

/* Katalog: filter lainnya, info, loncat bulan, sorotan, harga kamar, bantuan */
.kt-lainnya{flex:1 1 100%;margin:0}
.kt-lainnya summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--hijau);list-style:none;display:inline-flex;gap:6px;align-items:center}
.kt-lainnya summary::-webkit-details-marker{display:none}
.kt-lainnya summary::after{content:"+";font-weight:400;font-size:18px;line-height:1}
.kt-lainnya[open] summary::after{content:"−"}
.kt-lainnya-isi{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:12px}
.kt-info{margin:12px 0 0;font-size:14px;color:var(--teks-2);max-width:90ch}
.kt-loncat{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin:8px 0 0;font-size:14px}
.kt-loncat>span{color:var(--teks-2)}
.kt-loncat a{color:var(--hijau);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.kt-loncat small{color:var(--teks-2);font-weight:500}
.kt-bulan{scroll-margin-top:90px}
.kt-paket .kt-sorotan{color:var(--hijau-d);font-weight:600;margin-top:3px}
.kt-kamar{display:block;font-size:12px;color:var(--teks-2);margin-top:2px;white-space:nowrap}
.kt-baris{grid-template-columns:64px minmax(0,1fr) 90px 190px 110px}
.kt-bantu{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:start;margin:56px 0 0;padding-top:28px;border-top:2px solid var(--navy)}
.kt-bantu h2{font-size:24px;margin-bottom:10px}
.kt-bantu p{color:var(--teks-2);max-width:60ch}
.kt-bantu .lf{box-shadow:none;border:1px solid var(--garis)}
@media(max-width:900px){.kt-bantu{grid-template-columns:1fr;gap:20px}.kt-baris{grid-template-columns:52px minmax(0,1fr) auto}.kt-kamar{white-space:normal}}
@media(max-width:640px){.kt-lainnya-isi{display:grid;grid-template-columns:1fr 1fr;gap:8px}}

/* Detail paket: sorotan, ringkasan, navigasi section, legalitas */
.pd-sorotan{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14.5px;color:var(--hijau-d);font-weight:600}
.pd-sorotan li::before{content:"✓ ";color:var(--hijau)}
.pd-ringkas{display:flex;flex-wrap:wrap;align-items:stretch;margin:0 0 24px;border-top:1px solid var(--garis);border-bottom:1px solid var(--garis)}
.pd-ringkas>div{padding:14px 26px 14px 0;margin-right:26px;border-right:1px solid var(--garis-2)}
.pd-ringkas>div:last-of-type{border-right:0}
.pd-ringkas dt{font-size:12.5px;color:var(--teks-2);margin-bottom:2px}
.pd-ringkas dd{margin:0;display:grid}
.pd-ringkas dd b{font-size:17px;color:var(--navy);font-weight:700}
.pd-ringkas dd span{font-size:12.5px;color:var(--teks-2)}
.pd-ringkas .pd-ringkas-aksi{margin-left:auto;margin-right:0;padding-right:0;border:0;display:flex;align-items:center}
@media(max-width:760px){
  .pd-ringkas{display:grid;grid-template-columns:1fr 1fr;gap:0}
  .pd-ringkas>div{margin:0;padding:12px 10px 12px 0;border-right:0;border-bottom:1px solid var(--garis-2)}
  .pd-ringkas .pd-ringkas-aksi{grid-column:1/-1;border:0;padding:12px 0}
  .pd-ringkas .pd-ringkas-aksi .pd-tombol{width:100%}
}
.pd-nav{position:sticky;top:70px;z-index:20;background:#fff;display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--garis);margin:0 0 32px;white-space:nowrap}
.admin-bar .pd-nav{top:102px}
.pd-nav::-webkit-scrollbar{display:none}
.pd-nav a{padding:12px 0;color:var(--teks-2);font-weight:600;font-size:14.5px;border-bottom:2px solid transparent;margin-bottom:-1px}
.pd-nav a:hover{color:var(--navy)}
.pd-nav a.aktif{color:var(--navy);border-bottom-color:var(--navy)}
.pd-blok,.pd-spek,.uw-faq{scroll-margin-top:130px}
.pd-legal{margin-top:20px}
.pd-legal h2{font-size:15px;border-bottom:2px solid var(--navy);padding-bottom:8px;margin-bottom:4px;letter-spacing:0}
.pd-legal dl{margin:0}
.pd-legal dl>div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--garis-2);font-size:13.5px}
.pd-legal dt{color:var(--teks-2)}
.pd-legal dd{margin:0;color:var(--navy);font-weight:600}
.pd-legal p{font-size:13.5px;color:var(--teks-2);margin:10px 0 0}
.pd-legal a{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1020px){.pd-nav{top:70px}}

/* Direktori: ringkasan, tabel hotel per pita jarak */
.kt-ringkas-dir{margin:4px 0 20px;font-size:15px;color:var(--teks-2);max-width:90ch}
.kt-ringkas-dir b{color:var(--navy)}
.kt-bulan h2 small{font-weight:500;color:var(--teks-2);font-size:13px;margin-left:6px}
.dt-tabel{width:100%;border-collapse:collapse;font-size:15px}
.dt-tabel thead th{font-size:13px;font-weight:600;color:var(--teks-2);text-align:left;padding:10px 12px 8px 0;border-bottom:1px solid var(--garis)}
.dt-tabel tbody th,.dt-tabel td{padding:13px 12px 13px 0;border-bottom:1px solid var(--garis-2);text-align:left;vertical-align:top;font-weight:400}
.dt-tabel tbody th a{color:var(--navy);font-weight:700}
.dt-tabel tbody th a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.dt-tabel .dt-jarak{white-space:nowrap;color:var(--navy);font-weight:600}
.dt-tabel td:last-child{color:var(--teks-2);font-size:14px}
.dt-pita td{padding:14px 0 6px!important;font-size:12.5px!important;font-weight:700;color:var(--hijau-d)!important;border-bottom:1px solid var(--garis)!important;text-transform:none}
.dt-catatan{margin:20px 0 0;font-size:13px;color:var(--teks-2);max-width:80ch}
@media(max-width:700px){
  .dt-tabel thead{display:none}
  .dt-tabel,.dt-tabel tbody,.dt-tabel tr{display:block}
  .dt-tabel tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--garis-2)}
  .dt-tabel tbody th,.dt-tabel td{border:0;padding:0}
  .dt-tabel tbody th{grid-column:1/-1;margin-bottom:4px}
  .dt-tabel td::before{content:attr(data-label);display:block;font-size:11.5px;color:var(--teks-2)}
  .dt-tabel td:last-child{grid-column:1/-1}
  .dt-pita{display:block!important;padding:0!important;border:0!important}
  .dt-pita td{display:block}
  .dt-pita td::before{content:none}
}
@media(min-width:701px){
  .dt-tabel{table-layout:fixed}
  .dt-tabel thead th:nth-child(1){width:28%}
  .dt-tabel thead th:nth-child(2){width:15%}
  .dt-tabel thead th:nth-child(3){width:8%}
  .dt-tabel thead th:nth-child(4){width:20%}
}

/* Beranda: tanya jawab biaya selebar layout, dua kolom */
.br-tanya{max-width:none}
.br-tanya-isi{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;margin-top:18px}
.br-tanya .uw-jawaban{margin:0 0 20px}
.br-tanya .uw-jawaban-isi p{max-width:none;font-size:18px}
.br-tanya-faq .uw-faq{margin:0;max-width:none}
.br-tanya-faq .uw-faq h2{font-size:15px;color:var(--teks-2);margin:0 0 4px;border-bottom:1px solid var(--garis);padding-bottom:8px}
@media(max-width:900px){.br-tanya-isi{grid-template-columns:1fr;gap:28px}}

/* ==========================================================================
   Blog: indeks & artikel (pola media yang ranking)
   ========================================================================== */
.ar-meta{margin:0;font-size:14px;color:var(--teks-2);line-height:1.7}
.ar-meta a{color:var(--teks-2);text-decoration:underline;text-underline-offset:3px}
.ar-meta b{color:var(--navy);font-weight:600}
.ar-poin{margin:0 0 28px;padding:14px 0 6px;border-top:2px solid var(--navy);border-bottom:1px solid var(--garis)}
.ar-poin h2{font-size:14px;color:var(--teks-2);margin:0 0 4px;letter-spacing:0}
.ar-poin .pd-ya li{border-bottom:0;padding:5px 0 5px 22px;font-size:15.5px;color:var(--navy)}
.ar-sisip{margin:24px 0;padding:12px 14px;background:#F4F7F5;border-left:3px solid var(--hijau);font-size:15.5px}
.ar-sisip a{color:var(--hijau);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ar-disclaimer{margin:28px 0 0;padding:10px 14px;border-left:3px solid #D9A92B;background:#FBF6E8;font-size:14px;color:#6A4D0C}
.ar-sumber{margin:44px 0 0;border-top:2px solid var(--navy);padding-top:10px}
.ar-sumber h2{font-size:17px;margin-bottom:6px}
.ar-sumber ol{margin:0;padding-left:1.4em;font-size:14.5px;color:var(--teks)}
.ar-sumber li{padding:4px 0}
.ar-sumber a{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.ar-penulis{margin:36px 0 0;padding:14px 0;border-top:1px solid var(--garis);border-bottom:1px solid var(--garis);font-size:14.5px;color:var(--teks-2)}
.ar-penulis p{margin:0 0 4px}
.ar-penulis b{color:var(--navy)}
.ar-penulis a{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}

/* Komponen konten: doa & catatan */
.uw-doa{margin:24px 0;padding:14px 0;border-top:1px solid var(--garis);border-bottom:1px solid var(--garis)}
.uw-doa-judul{font-weight:700;color:var(--navy);margin-bottom:10px}
.uw-doa-arab{font-size:26px;line-height:2;text-align:right;color:var(--navy);margin:0 0 10px;font-family:'Amiri','Traditional Arabic','Noto Naskh Arabic',serif}
.uw-doa-latin{margin:0 0 8px;color:var(--teks)}
.uw-doa-arti{margin:0 0 6px}
.uw-doa-sumber{margin:0;font-size:13px;color:var(--teks-2)}
.uw-catatan{margin:22px 0;padding:10px 14px;border-left:3px solid var(--hijau);background:#F4F7F5}
.uw-catatan>b{display:block;font-size:13px;color:var(--hijau-d);margin-bottom:2px}
.uw-catatan p:last-child{margin-bottom:0}
.uw-catatan-perhatian{border-left-color:#D9A92B;background:#FBF6E8}
.uw-catatan-perhatian>b{color:#8A6412}

/* Indeks blog */
.bl-cari{border-top:0}
.bl-pilar{margin:8px 0 0;padding:12px 0;border-bottom:1px solid var(--garis)}
.bl-pilar h2{font-size:14px;color:var(--teks-2);margin:0 0 6px;letter-spacing:0}
.bl-pilar ol{margin:0;padding-left:1.3em;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.bl-pilar a{color:var(--navy);font-weight:600}
.bl-pilar a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.bl-daftar{list-style:none;margin:0;padding:0;border-top:1px solid var(--garis)}
.bl-baris{display:grid;grid-template-columns:64px 168px minmax(0,1fr);gap:20px;align-items:start;padding:18px 0;border-bottom:1px solid var(--garis-2)}
.bl-foto{display:block;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:#E7ECEA}
.bl-foto img,.bl-foto .ph{width:100%;height:100%;object-fit:cover}
.bl-isi h3{font-size:18px;margin-bottom:6px;letter-spacing:0;line-height:1.3}
.bl-isi h3 a{color:var(--navy)}
.bl-isi h3 a:hover{color:var(--hijau);text-decoration:underline;text-underline-offset:3px}
.bl-isi p{margin:0 0 6px;font-size:14.5px;color:var(--teks)}
.bl-isi .bl-meta{font-size:13px;color:var(--teks-2);margin:0}
@media(max-width:760px){
  .bl-baris{grid-template-columns:52px minmax(0,1fr);gap:6px 14px}
  .bl-foto{display:none}
  .bl-pilar ol{grid-template-columns:1fr}
}
.kt-cari>span{white-space:nowrap}
@media(max-width:700px){.konten table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.konten table th,.konten table td{white-space:nowrap}}

/* Feedback Yudi 3 Okt */
.br-bulan small,.kt-loncat small{display:inline-block;min-width:20px;padding:1px 6px;margin-left:2px;border-radius:6px;background:var(--hijau);color:#fff;font-weight:700;font-size:12px;text-align:center;line-height:1.5}
.br-artikel h3{margin:0;font-size:17px;font-weight:700;line-height:1.35;letter-spacing:0}
.br-panah{display:inline-block;color:var(--hijau);font-weight:700;transition:transform .2s}
.br-jenis a:hover .br-panah{transform:translate(2px,-2px)}
@media(max-width:900px){
  .br-jenis a{align-items:stretch}
  .br-jenis-foto{aspect-ratio:auto;height:100%;min-height:150px;align-self:stretch}
}
/* Kursi di bawah tanggal, thumbnail setinggi baris */
.kt-tgl .kt-kursi-tgl{display:block;margin-top:8px;font-size:12px;line-height:1.25;color:var(--teks-2);font-weight:600}
.kt-baris.kt-baris-foto{grid-template-columns:76px 128px minmax(0,1fr) 190px 110px;align-items:stretch}
.kt-baris-foto>.kt-tgl,.kt-baris-foto>.kt-paket,.kt-baris-foto>.kt-harga,.kt-baris-foto>.kt-aksi{align-self:center}
.kt-baris-foto .kt-foto{aspect-ratio:auto;min-height:96px;height:100%}
@media(max-width:900px){
  .kt-baris.kt-baris-foto{grid-template-columns:46px 92px minmax(0,1fr);grid-template-areas:"tgl foto paket" "tgl foto harga" "aksi aksi aksi";gap:6px 10px}
  .kt-baris-foto .kt-foto{grid-area:foto;aspect-ratio:auto;height:100%;min-height:140px}
  .kt-baris-foto .kt-harga{text-align:left}
  .kt-baris-foto>.kt-tgl,.kt-baris-foto>.kt-paket{align-self:start}
}
/* Galeri direktori: 1 foto besar + hingga 3 foto bertumpuk di kanan */
.pd-galeri-dir{grid-template-columns:2fr 1fr;grid-template-rows:none;grid-auto-rows:1fr;height:400px}
.pd-galeri-dir a:first-child{grid-row:1/-1}
.pd-galeri-dir.pd-galeri-1{grid-template-columns:1fr;height:360px}
.pd-galeri-dir.pd-galeri-2 a:first-child{grid-row:1/2}
.pd-galeri-dir.pd-galeri-2{grid-template-columns:2fr 1fr}
.pd-galeri-dir.pd-galeri-4 a:first-child{grid-row:1/4}
.pd-galeri-dir.pd-galeri-3 a:first-child{grid-row:1/3}
.pd-label-ilustrasi{position:absolute;left:8px;top:8px;background:rgba(15,23,32,.72);color:#fff;font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:6px}
@media(max-width:760px){
  .pd-galeri-dir{grid-template-columns:repeat(3,1fr);grid-template-rows:220px 90px;grid-auto-rows:90px;height:auto}
  .pd-galeri-dir a:first-child,.pd-galeri-dir.pd-galeri-3 a:first-child,.pd-galeri-dir.pd-galeri-4 a:first-child{grid-column:1/-1;grid-row:auto}
  .pd-galeri-dir.pd-galeri-1{grid-template-rows:220px}
  .pd-galeri-dir.pd-galeri-2{grid-template-columns:1fr 1fr}
  .pd-galeri-dir.pd-galeri-3{grid-template-columns:1fr 1fr}
}
