/* ==========================================================================
   Bali Chauffeur — palet situs (hitam #111214 / emas #cdb87e / ivory), komponen
   hasil inc/legacy-normalize.php, dan gaya ulang blok yang disisipkan mu-plugin
   (zz-bpt-desk-widget). Dimuat setelah base/components/media/tabs.
   ========================================================================== */
:root {
  --navy: #111214;
  --navy-2: #1e2126;
  --cream: #f4f1ea;
  --paper: #fbfaf6;
  --gold: #cdb87e;
  --gold-dk: #8a6b2f;
  --ink: #272b31;
  --muted: #5b6069;
  --line: rgba(17, 18, 20, 0.1);
  --line-strong: rgba(17, 18, 20, 0.18);
  --shadow: 0 6px 24px rgba(17, 18, 20, 0.08);
  --shadow-lg: 0 16px 48px rgba(17, 18, 20, 0.14);
}

/* ---------- overlay & latar gelap: netral hitam, bukan navy ---------- */
.bcht-hero .ov { background: linear-gradient(180deg, rgba(13, 15, 19, 0.35) 0%, rgba(13, 15, 19, 0.62) 45%, rgba(13, 15, 19, 0.9) 100%); }
@media (min-width: 900px) {
  .bcht-hero .ov { background: linear-gradient(90deg, rgba(13, 15, 19, 0.86) 0%, rgba(13, 15, 19, 0.52) 55%, rgba(13, 15, 19, 0.18) 100%), linear-gradient(180deg, transparent 50%, rgba(13, 15, 19, 0.5) 100%); }
}
.bcht-pagehead.has-bg::before { background: rgba(13, 15, 19, 0.8); }
@media (min-width: 900px) {
  .bcht-pagehead.has-bg::before { background: linear-gradient(90deg, rgba(13, 15, 19, 0.94) 0%, rgba(13, 15, 19, 0.8) 55%, rgba(13, 15, 19, 0.5) 100%); }
}
.cta-block.has-bg::before { background: linear-gradient(180deg, rgba(13, 15, 19, 0.72) 0%, rgba(13, 15, 19, 0.9) 100%); }
.badge { border-color: rgba(205, 184, 126, 0.7); }
.notice { background: #faf6ec; }

/* ---------- header: 8 menu + CTA versi ringkas di semua lebar desktop ---------- */
@media (min-width: 1180px) {
  .header-inner { gap: 10px; }
  .brand { font-size: 16px; }
  .brand small { letter-spacing: 0.12em; }
  .nav-link { padding: 10px 7px; font-size: 14px; }
  .nav-cta-item { margin-left: 6px; }
  .nav-cta { padding: 10px 14px; font-size: 14px; }
}

/* ---------- judul section: eyebrow bahasa Inggris ---------- */
h2 .en { display: block; margin-bottom: 8px; font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: 0.2em; line-height: 1.4; text-transform: uppercase; color: var(--gold-dk); }
.bcht-pagehead h2 .en, .cta-block h2 .en { color: var(--gold); }

/* ---------- hero ---------- */
.bcht-hero .hero-title { margin: 0 0 0.5em; font-family: var(--serif); font-size: clamp(20px, 2.6vw, 30px); font-weight: 700; line-height: 1.35; color: var(--white); }
.bcht-hero .hero-chip { display: inline-block; margin: 0 0 18px; padding: 8px 16px; border: 1px solid rgba(205, 184, 126, 0.55); border-radius: 999px; background: rgba(205, 184, 126, 0.14); color: #f3ead2; font-size: 15px; font-weight: 700; line-height: 1.5; }
.bcht-hero .hero-meta { margin: 0 0 10px; font-size: 13px; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.75); }
.bcht-hero h1 span { display: block; margin-top: 0.3em; font-size: 0.55em; line-height: 1.35; color: var(--gold); }
.bcht-hero .pricepill { align-items: baseline; }
.bcht-hero .pricepill .num { font-family: var(--serif); font-size: 1.45em; color: var(--navy); }
.bcht-hero .pricepill .cur { margin-right: 2px; font-size: 0.6em; }
.bcht-hero .pricepill .approx { font-size: 13px; font-weight: 400; color: var(--muted); }
.bcht-hero .kv { margin: 18px 0 0; }
.bcht-hero .kv span { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.22); color: var(--white); }
.bcht-hero .btnrow { margin: 0; }

/* ---------- tombol & CTA di badan halaman ---------- */
.btnrow { margin: 0 0 1.4em; }
/* CTA tanpa judul: kalimat ajakan → tombol → kontak, bertumpuk rapi */
.cta-inline { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 0 0 1.8em; padding: 18px 20px; background: var(--white); border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: 0 14px 14px 0; }
.cta-inline > p { margin: 0; }
.cta-inline > p:first-child:not(.microtrust) { font-weight: 700; color: var(--navy); }
.cta-inline .microtrust { margin: 0; }
.cta-inline .btnrow { margin: 0; }
p > .btn-wa, .table-note .btn-wa { margin-top: 10px; }
.cta-block .btnrow { justify-content: center; margin: 0; }

/* ---------- tabel harga ---------- */
.table-note { margin: -0.4em 0 1.4em; font-size: 13.5px; line-height: 1.75; color: var(--muted); }
.swipe-hint { margin: -0.8em 0 1.2em; font-size: 12px; letter-spacing: 0.08em; text-align: center; color: var(--muted); }
@media (min-width: 900px) { .swipe-hint { display: none; } }
.table-wrap tr.tier td { background: var(--cream) !important; color: var(--navy); font-weight: 700; white-space: normal; }
.table-wrap tr.pop td { background: #fbf3df !important; }
.table-wrap tr.pop td:first-child { box-shadow: inset 3px 0 0 var(--gold); }
.table-wrap .hkd { display: block; font-size: 12px; font-weight: 400; color: var(--muted); white-space: nowrap; }
.table-wrap .price { font-weight: 700; color: var(--gold-dk); }
span.pop { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--gold); color: var(--navy); font-size: 11px; font-weight: 700; line-height: 1.6; vertical-align: middle; white-space: nowrap; }
/* mobile: tabel bergeser ke samping, lebar kolom mengikuti isi (baris tidak jadi sangat tinggi) */
@media (max-width: 767.98px) {
  .table-wrap table { width: max-content; min-width: 100%; }
  .table-wrap th, .table-wrap td { min-width: 6.5em; max-width: 15em; white-space: normal; }
  .table-wrap td:first-child, .table-wrap th:first-child { min-width: 9em; max-width: 13em; white-space: normal; }
  .table-wrap tr.tier td { max-width: none; }
}

/* ---------- foto di badan halaman ---------- */
/* selebar container; di desktop 2:1 supaya foto tidak terlalu tinggi */
.content-fig { margin: 1.6em 0; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.content-fig img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
@media (min-width: 900px) { .content-fig img { aspect-ratio: 2 / 1; } }
.content-fig figcaption { padding: 10px 16px 12px; font-size: 13.5px; line-height: 1.7; color: var(--muted); }

/* ---------- daftar ---------- */
.checklist { list-style: none; margin: 0 0 1.4em; padding: 0; }
.checklist li { position: relative; margin-bottom: 0.55em; padding-left: 1.7em; }
.checklist li::before { content: "\2713"; position: absolute; left: 0; top: 0; font-weight: 700; color: var(--gold-dk); }
.steps-list { list-style: none; counter-reset: bcsteps; margin: 0 0 1.6em; padding: 0; }
.steps-list li { position: relative; counter-increment: bcsteps; min-height: 34px; margin: 0; padding: 3px 0 14px 48px; }
.steps-list li::before { content: counter(bcsteps); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--navy); color: var(--gold); font-size: 14px; font-weight: 700; line-height: 1; }

/* ---------- kartu teks ---------- */
.bcht-swiper--why .swiper-slide p + p { margin-top: 0.6em; }
.bcht-swiper--why .swiper-slide ul { list-style: none; margin: 0.4em 0 0; padding: 0; font-size: 14.5px; color: var(--muted); }
.bcht-swiper--why .swiper-slide li { position: relative; margin-bottom: 0.35em; padding-left: 1.4em; }
.bcht-swiper--why .swiper-slide li::before { content: "\2713"; position: absolute; left: 0; font-weight: 700; color: var(--gold-dk); }
.bcht-swiper--why h3 .pick { display: block; margin-top: 4px; font-family: var(--sans); font-size: 13px; font-weight: 700; color: var(--gold-dk); }
.bcht-swiper--why h3 a { color: inherit; }
.why--steps { counter-reset: bcstep; }
.why--steps > .swiper-slide { counter-increment: bcstep; }
.why--steps > .swiper-slide h3::before { content: counter(bcstep, decimal-leading-zero); display: block; margin-bottom: 4px; font-family: var(--serif); font-size: 14px; letter-spacing: 0.12em; color: var(--gold-dk); }
@media (min-width: 900px) {
  .bcht-swiper--why .swiper-wrapper:has(> .swiper-slide:nth-child(3):last-child),
  .bcht-swiper--why .swiper-wrapper:has(> .swiper-slide:nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .bcht-swiper--why .swiper-wrapper:has(> .swiper-slide:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcht-swiper--why .swiper-wrapper:has(> .swiper-slide:nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ---------- kotak jawaban & catatan entitas ---------- */
.notice .tag { display: inline-block; margin: 0 8px 6px 0; padding: 2px 10px; border-radius: 999px; background: var(--navy); color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; }
.notice > :last-child { margin-bottom: 0; }
.notice p { margin: 0 0 0.6em; }
.content-img { display: block; width: 100%; height: auto; }
.bcht-swiper--why .card-img { max-height: 260px; }
.bcht-section:has(> .container > .entity-note:only-child) { padding-block: 8px 32px; }
.bcht-section:has(> .container > .entity-note:only-child) .entity-note { margin-top: 0; }
.entity-note { margin: 2em 0 0; padding-top: 1.2em; border-top: 1px solid var(--line); font-size: 12.5px; line-height: 1.8; color: var(--muted); }

/* ---------- footer ---------- */
.site-footer .footer-desc { margin: 12px 0 18px; font-size: 14px; line-height: 1.75; color: rgba(255, 255, 255, 0.72); }
.site-footer .footer-brand-col .btn-wa { margin-top: 0; }
.site-footer .footer-mail { margin: 12px 0 0; }
.footer-brand-col .brand { font-size: 20px; }
.footer-entity p { margin: 0 0 4px; }
@media (min-width: 1024px) {
  .footer-top { grid-template-columns: 320px 1fr; }
  .footer-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- blok "Bali Premium Trip desk" dari mu-plugin zz-bpt-desk-widget ---------- */
body .bpt-desk { padding: 40px 0; background: var(--navy); color: rgba(255, 255, 255, 0.78); border-top: 1px solid rgba(205, 184, 126, 0.18); font-family: var(--sans); }
body .bpt-desk__in { width: var(--container); max-width: none; margin-inline: auto; }
body .bpt-desk__k { color: var(--gold); }
body .bpt-desk__rail a { border-color: rgba(255, 255, 255, 0.2); color: rgba(255, 255, 255, 0.85); font-size: 13px; }
body .bpt-desk__rail a:hover { border-color: var(--gold); color: var(--white); }
body .bpt-desk__rail .bpt-desk__rail-main { background: var(--gold); border-color: var(--gold); color: var(--navy); }
body .bpt-desk__meta { color: rgba(255, 255, 255, 0.5); }
body .bpt-desk__meta a { color: var(--gold); }
body .bpt-desk__wa { background: var(--wa); }
body .bpt-desk__mail { background: var(--white); color: var(--navy); }
@media (max-width: 767.98px) {
  body .bpt-desk__rail { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-inline: calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; scrollbar-width: none; }
  body .bpt-desk__rail::-webkit-scrollbar { display: none; }
  body .bpt-desk__rail a { flex: 0 0 auto; white-space: nowrap; }
}
body + .site-footer, .bpt-desk + .site-footer { margin-top: 0; }

/* ---------- silo: footer 4 kolom, kelompok aktif di nav, blok satu kelompok ---------- */
@media (min-width: 1024px) { .footer-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nav-primary .has-dropdown.is-current > .nav-link, .nav-primary .nav-link.is-current { color: var(--gold-dk); }
.bcht-silo-band h2 a { color: inherit; }
.bcht-silo-band h2 a:hover { color: var(--gold-dk); }
/* kartu kelompok: 3 kartu → 3 kolom (bawaan --posts); 4 kartu → 2 kolom di tablet, 4 kolom di desktop */
@media (min-width: 900px) {
  .bcht-swiper--silo .swiper-wrapper:has(> .swiper-slide:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .bcht-swiper--silo .swiper-wrapper:has(> .swiper-slide:nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .bcht-swiper--silo .swiper-wrapper:has(> .swiper-slide:nth-child(4):last-child) .post-card__title { font-size: 17px; }
}
