.elementor-kit-5{--e-global-color-primary:#0F2E40;--e-global-color-secondary:#0A2B55;--e-global-color-text:#16232C;--e-global-color-accent:#EDAF33;--e-global-color-alm_blue:#4185C0;--e-global-color-alm_bluea:#00548E;--e-global-color-alm_gsoft:#F6D58A;--e-global-color-alm_orang:#C96628;--e-global-color-alm_orgd:#A9511C;--e-global-color-alm_muted:#5B6B76;--e-global-color-alm_line:#DCE4EA;--e-global-color-alm_mist:#F2F6F9;--e-global-color-alm_wa:#1FAF5A;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.35em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.35em;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.35em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.35em;color:#16232C;font-family:"Plus Jakarta Sans", Sans-serif;font-size:17px;line-height:1.65em;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* AWAL FONT ALMIRA */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('https://www.almiratravel.co.id/wp-content/uploads/fonts/plus-jakarta-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('https://www.almiratravel.co.id/wp-content/uploads/fonts/plus-jakarta-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* AKHIR FONT ALMIRA */
/* AWAL FONT FRAUNCES */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('https://www.almiratravel.co.id/wp-content/uploads/fonts/fraunces-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('https://www.almiratravel.co.id/wp-content/uploads/fonts/fraunces-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url('https://www.almiratravel.co.id/wp-content/uploads/fonts/fraunces-latin-wght-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* AKHIR FONT FRAUNCES */
/* ===== Almira: gaya header & footer global (dipakai template 21206 / 21207 + homepage) ===== */
.alm-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#16232C}
.alm-brand img{border-radius:10px;flex:0 0 auto}
.alm-brand span{display:flex;flex-direction:column;line-height:1.15}
.alm-brand b{font-size:16px;font-weight:800}
.alm-brand small{font-size:11px;color:#5B6B76}
.alm-fbrand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.alm-fbrand img{border-radius:10px}
.alm-fbrand span{display:flex;flex-direction:column;line-height:1.15}
.alm-fbrand b{font-size:17px;font-weight:800}
.alm-fbrand small{font-size:11px;color:rgba(255,255,255,.6)}
.alm-lic{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.alm-lic span{font-size:11.5px;font-weight:700;color:#EDAF33;
  border:1px solid rgba(237,175,51,.35);border-radius:999px;padding:5px 11px}
.alm-branches{display:flex;flex-wrap:wrap;gap:8px}
.alm-branches a{font-size:13px;font-weight:600;color:rgba(255,255,255,.82);text-decoration:none;
  background:rgba(255,255,255,.08);border-radius:999px;padding:6px 13px;transition:.2s}
.alm-branches a:hover{background:#EDAF33;color:#0F2E40}
.alm-wa-float{position:fixed;right:18px;bottom:18px;z-index:9999;display:inline-flex;align-items:center;
  gap:9px;background:#1FAF5A;color:#fff;text-decoration:none;font-weight:700;font-size:14px;
  padding:12px 18px;border-radius:999px;box-shadow:0 12px 30px -10px rgba(31,175,90,.7)}
.alm-wa-float:hover{background:#189B4C;color:#fff}
@media(max-width:600px){.alm-wa-float span{display:none}
  .alm-wa-float{padding:14px;right:14px;bottom:14px}}
/* AWAL PATCH POSTINFO */
/* widget post-info mode inline memakai margin negatif -8px yang membuat halaman
   meluber 8px di layar sempit; dinetralkan tanpa mengubah jarak antar item */
.elementor-widget-post-info ul.elementor-inline-items{margin-left:0!important;margin-right:0!important}
.elementor-widget-post-info ul.elementor-inline-items > li.elementor-inline-item:first-child{padding-left:0!important}
/* AKHIR PATCH POSTINFO */
/* AWAL FOOTER V2 */
/**
 * Footer global (template 21207) — versi 2.
 *
 * Footer lama adalah kotak navy #0F2E40 yang datar dan berhenti mendadak di
 * bawah #masa-tunggu (#0A2134). Dua biru yang berdekatan tapi tidak sama
 * membuat batasnya terbaca sebagai "blok baru menempel", bukan penutup.
 * Versi ini menyamakan latar ke #0A2134 dan memakai token yang sama persis
 * dengan #masa-tunggu (emas, jarak huruf, bobot) sehingga footer terbaca
 * sebagai dasar dari ruang gelap yang sama.
 *
 * SEMUA .elementor-kit-5 di sini di-scope ke #alm-foot-lockup / #alm-footer /
 * #alm-foot-base. Custom CSS Kit berlaku untuk SELURUH situs, jadi .elementor-kit-5
 * tanpa ID akan bocor ke halaman lain.
 *
 * Scope ID juga dipakai untuk menang spesifisitas atas CSS bawaan Elementor:
 * Elementor menulis `.elementor-element.elementor-element-xxx .foo` (0,3,0),
 * sedangkan `#alm-footer .kelas .foo` bernilai (1,2,0) dan selalu menang.
 * Karena itu tidak ada satu pun !important di bawah ini.
 */

/* ============ 1. LOCKUP BRAND ============ */

/* Sorot tipis di tepi atas: mengulang kerucut cahaya #masa-tunggu dengan
   intensitas jauh lebih rendah, cukup untuk menandai "jahitan" antar section
   tanpa menciptakan sumber cahaya kedua yang bersaing. */
#alm-foot-lockup{position:relative;overflow:hidden;background:#0a2134}
#alm-foot-lockup:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(58% 100% at 50% 0%,rgba(237,175,51,.10),transparent 72%)}

/* Hairline emas sebagai garis jahit ke section di atasnya. */
#alm-foot-lockup:after{content:"";position:absolute;left:50%;top:0;height:1px;
  width:min(760px,86%);transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(237,175,51,.5),transparent)}

#alm-foot-lockup .alm-flock{position:relative;z-index:1;max-width:1180px;margin:0 auto;
  padding:54px 24px 6px;text-align:center;font-family:"Plus Jakarta Sans",sans-serif}

/* Token identik dengan .alm-masa__brand-nama di #masa-tunggu. padding-left
   mengimbangi letter-spacing yang menambah spasi di huruf terakhir, supaya
   teks benar-benar optis di tengah. */
#alm-foot-lockup .alm-flock__nama{margin:0;font-size:13.5px;font-weight:800;
  letter-spacing:.32em;text-transform:uppercase;color:#f2d79a;padding-left:.32em}

/* Separator lewat :not(:last-child):after, bukan diketik manual, agar jumlah
   pilar bisa berubah tanpa menyisakan bullet menggantung di ujung. */
#alm-foot-lockup .alm-flock__pilar{list-style:none;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:center;margin:12px 0 0;padding:0;
  font-size:12.5px;font-weight:500;letter-spacing:1.5px;color:#93a8b9}
/* Karakter ditulis literal, bukan sebagai escape CSS "2022". Custom CSS Kit
   disimpan lewat update_post_meta, yang menjalankan stripslashes_deep pada
   nilainya; backslash-nya hilang saat simpan dan yang tampil di halaman adalah
   teks "2022". Karakter literal kebal terhadap perlakuan itu. */
#alm-foot-lockup .alm-flock__pilar li:not(:last-child):after{content:"•";
  margin:0 10px;color:rgba(237,175,51,.7)}

/* ============ 2. BADAN FOOTER ============ */

#alm-footer{position:relative;background:#0a2134}

/* ============ 3. EYEBROW JUDUL KOLOM ============ */

/* Tiga judul kolom sebelumnya h4 putih tebal 16px — sama beratnya dengan isi,
   jadi mata tidak punya pegangan. Diubah jadi eyebrow emas kecil ber-tracking
   lebar: kontras ukuran menggantikan kontras bobot. */
#alm-footer .alm-feyebrow .elementor-heading-title{display:flex;align-items:center;gap:11px;
  font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#f2d79a}

/* Garis emas pendek sebagai penanda awal kolom. flex:none supaya tidak ikut
   menyusut ketika judul membungkus ke dua baris. */
#alm-footer .alm-feyebrow .elementor-heading-title:before{content:"";flex:none;
  width:18px;height:1px;background:linear-gradient(90deg,rgba(237,175,51,.9),rgba(237,175,51,.15))}

/* ============ 4. BRAND FOOTER ============ */

#alm-footer .alm-fbrand b{letter-spacing:-.2px}
#alm-footer .alm-fbrand img{border-radius:12px;box-shadow:0 6px 18px -8px rgba(0,0,0,.7)}

/* ============ 5. BADGE LISENSI ============ */

/* Legalitas adalah konten paling bernilai di footer travel umroh, jadi
   badge-nya dinaikkan dari teks ber-border menjadi chip dengan ikon perisai. */
#alm-footer .alm-lic{gap:9px;margin-bottom:28px}
#alm-footer .alm-lic span{display:inline-flex;align-items:center;gap:7px;
  padding:7px 14px;font-size:11.5px;font-weight:700;color:#f6d886;
  background:rgba(237,175,51,.07);border:1px solid rgba(237,175,51,.32);border-radius:999px}
#alm-footer .alm-lic svg{width:13px;height:13px;flex:none;fill:currentColor}

/* ============ 6. IKON SOSIAL ============ */

/* Lingkaran outline, bukan bulatan abu solid: di latar gelap, isian solid
   membuat lima ikon jadi lima titik berat yang menarik mata lebih dulu
   daripada alamat kantor. */
#alm-footer .alm-fsocial .elementor-social-icon{background-color:transparent;
  border:1px solid rgba(255,255,255,.16);
  transition:transform .25s ease,border-color .25s ease,background-color .25s ease,color .25s ease}
#alm-footer .alm-fsocial .elementor-social-icon:hover{background-color:#edaf33;
  border-color:#edaf33;transform:translateY(-2px)}
#alm-footer .alm-fsocial .elementor-social-icon:hover i,
#alm-footer .alm-fsocial .elementor-social-icon:hover svg{color:#0a2134;fill:#0a2134}

/* ============ 7. TOMBOL GOOGLE MAPS ============ */

#alm-footer .alm-fmaps .elementor-button{display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;letter-spacing:.01em;transition:gap .25s ease,color .25s ease}
#alm-footer .alm-fmaps .elementor-button:after{content:"↗";font-size:14px;line-height:1}
#alm-footer .alm-fmaps .elementor-button:hover{color:#f6d886;gap:11px}

/* ============ 8. PILL KOTA CABANG ============ */

/* Hover lama mengganti seluruh pill jadi blok emas penuh — 13 blok emas yang
   berkedip saat kursor lewat terasa kasar. Diganti glass tipis dengan hover
   yang hanya menegaskan tepi dan mengangkat 2px. */
#alm-footer .alm-branches{gap:9px}
#alm-footer .alm-branches a{padding:7px 14px;font-size:12.5px;font-weight:600;
  color:rgba(255,255,255,.86);background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);border-radius:999px;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease}
#alm-footer .alm-branches a:hover{transform:translateY(-2px);color:#f6d886;
  background:rgba(237,175,51,.10);border-color:rgba(237,175,51,.55)}

/* ============ 9. BARIS DASAR / COPYRIGHT ============ */

#alm-foot-base{background:#0a2134}

/* ============ 10. AKSESIBILITAS ============ */

#alm-foot-lockup a:focus-visible,
#alm-footer a:focus-visible{outline:2px solid #f6d886;outline-offset:3px}

@media (prefers-reduced-motion:reduce){
  #alm-footer .alm-branches a,
  #alm-footer .alm-fsocial .elementor-social-icon,
  #alm-footer .alm-fmaps .elementor-button{transition:none}
  #alm-footer .alm-branches a:hover,
  #alm-footer .alm-fsocial .elementor-social-icon:hover{transform:none}
}

/* ============ 11. RESPONSIF ============ */

/**
 * Section footer memakai elementor-column-gap-no, yang menolkan padding di
 * container maupun kolom. Lebar boxed-nya 1180px, jadi begitu viewport lebih
 * sempit dari itu konten menyentuh tepi layar (terukur: left = 0px) — terlihat
 * baik di tablet maupun ponsel. Ambangnya dipasang di 1219px, sedikit di atas
 * 1180px, supaya masih tersisa ruang napas tepat sebelum konten mepet.
 * Padding dipasang di section, bukan di kolom, supaya latarnya tetap penuh.
 */
@media (max-width:1219px){
  #alm-footer,
  #alm-foot-base{padding-left:24px;padding-right:24px}
}

@media (max-width:1024px){
  #alm-foot-lockup .alm-flock{padding:44px 24px 4px}
}

@media (max-width:767px){
  #alm-foot-lockup .alm-flock{padding:38px 20px 2px}
  #alm-foot-lockup .alm-flock__nama{letter-spacing:.22em;padding-left:.22em;font-size:12.5px}
  #alm-foot-lockup .alm-flock__pilar{font-size:11.5px;letter-spacing:1px}
  #alm-foot-lockup .alm-flock__pilar li:not(:last-child):after{margin:0 7px}
  #alm-footer .alm-branches a{font-size:12px;padding:6px 12px}

  /* Tanpa ini ketiga kolom yang menumpuk saling menempel, sehingga
     "Link Google Maps" langsung bersambung ke judul kolom berikutnya. */
  #alm-footer > .elementor-container > .elementor-column + .elementor-column{margin-top:34px}
}

/* ============ 12. TOMBOL WA GANDA ============ */

/**
 * .alm-wa-float dirender dua kali di homepage: sekali dari section #alm-float
 * milik halaman, sekali lagi dari footer global ini. Keduanya position:fixed
 * di koordinat sama sehingga tampak satu tombol, tapi pembaca layar
 * mengumumkannya dua kali dan ada dua target klik bertumpuk.
 *
 * Yang disembunyikan adalah milik footer, HANYA ketika halaman memang punya
 * #alm-float. Di halaman lain (artikel, kategori) footer tetap satu-satunya
 * pembawa tombol, jadi tombol tidak pernah hilang total.
 */
body:has(#alm-float) #alm-footer-wa .alm-wa-float{display:none}
/* AKHIR FOOTER V2 */

/* AWAL HEADER V2 */
/* Semua aturan di-scope ke #alm-header atau #alm-offcanvas. ID memberi bobot
   spesifisitas yang cukup untuk menang atas aturan tema landingpress tanpa
   perlu !important, mengikuti pola yang sudah dipakai blok FOOTER V2. */

#alm-header{
  --alm-hd-navy:#0F2E40; --alm-hd-emas:#EDAF33; --alm-hd-tinta:#16232C;
  --alm-hd-redup:#5B6B76; --alm-hd-kabut:#F2F6F9; --alm-hd-garis:#DCE4EA;
  --alm-hd-top-h:32px;
  z-index:999;
}

/* --- Lapis 1: topbar legalitas --- */
#alm-hd-top{
  overflow:hidden;
  /* Transisi pada max-height, bukan display, supaya perubahannya halus dan
     tetap bisa dianimasikan browser tanpa JavaScript. */
  max-height:var(--alm-hd-top-h);
  transition:max-height .28s ease, opacity .22s ease, padding .28s ease;
}
#alm-hd-izin .elementor-icon-list-items,
#alm-hd-jam .elementor-icon-list-items{margin:0;padding:0;flex-wrap:nowrap}
#alm-hd-izin .elementor-icon-list-item,
#alm-hd-jam .elementor-icon-list-item{margin:0;white-space:nowrap}

/* Jarak antar butir legalitas diatur di sini. Kontrol space_between pada
   icon-list mode inline hanya memberi jarak sangat rapat sehingga ikon
   butir berikutnya seolah menempel pada teks butir sebelumnya. */
#alm-hd-izin .elementor-icon-list-items{gap:0 24px}
#alm-hd-izin .elementor-icon-list-icon,
#alm-hd-jam .elementor-icon-list-icon{margin-right:6px}

/* Saat Elementor menandai header sudah menempel, topbar digulung habis
   sehingga hanya bar utama yang tersisa. Kelas .elementor-sticky--effects
   dipasang oleh sticky bawaan Elementor, jadi tidak ada listener scroll
   tambahan yang perlu dijalankan. */
#alm-header.elementor-sticky--effects #alm-hd-top{
  max-height:0; opacity:0; padding-top:0; padding-bottom:0;
}
#alm-header.elementor-sticky--effects{
  box-shadow:0 10px 30px -18px rgba(15,46,64,.5);
}
#alm-header.elementor-sticky--effects #alm-hd-bar{
  padding-top:6px; padding-bottom:6px;
}
#alm-hd-bar{transition:padding .28s ease}

/* --- Lockup merek --- */
#alm-hd-logo img{display:block;width:52px;height:auto}
#alm-hd-nama a,#alm-hd-nama{color:var(--alm-hd-tinta);text-decoration:none}
#alm-hd-lockup-teks{gap:0}
/* Baris badan hukum ditahan satu baris; kalau dibiarkan membungkus, tinggi
   lockup bertambah dan logo tidak lagi sejajar dengan nama merek. */
#alm-hd-badan .elementor-heading-title{white-space:nowrap}

/* --- Garis emas di dasar header --- */
#alm-hd-garis{width:100%}
#alm-hd-garis .elementor-divider{padding:0}
#alm-hd-garis .elementor-divider-separator{
  /* Divider Elementor hanya menyediakan warna solid; gradien dipasang di
     sini agar garis meredup di kedua ujung dan tidak terbaca sebagai garis
     pembatas biasa. */
  border:0;height:2px;
  background:linear-gradient(90deg,transparent 0%,rgba(237,175,51,.15) 12%,var(--alm-hd-emas) 50%,rgba(237,175,51,.15) 88%,transparent 100%);
}

/* --- Kolom pencarian --- */
/* Kontrol gaya widget search-form sudah dikosongkan pada Elementor Pro
   4.2.3, jadi seluruh tampilannya ditulis di sini.

   Bentuk normalnya bulat sempit selebar ikon saja. Dengan enam butir menu,
   lockup merek, dan tombol WhatsApp, kotak pencarian yang selalu terbentang
   membuat butir menu terakhir tertimpa. Kolom baru melebar saat difokus,
   yaitu satu-satunya saat lebar itu benar-benar dibutuhkan. */
/* Kolom dijaga tetap selebar 38px pada aliran tata letak, lalu saat difokus
   ia melebar sebagai lapisan di atas header dengan menumbuhkan diri ke kiri
   (right:0 pada posisi absolut). Kalau lebarnya ditambah secara biasa,
   pertumbuhannya mendorong ke kanan dan menimpa butir menu terakhir. */
#alm-hd-cari{position:relative;width:38px;flex:0 0 38px}
#alm-hd-cari .elementor-search-form{position:static}
#alm-hd-cari .elementor-search-form__container{
  background:var(--alm-hd-kabut);border-radius:999px;
  border:1px solid transparent;
  transition:border-color .2s ease,background .2s ease,width .28s ease;
  min-height:38px;width:38px;padding:0;overflow:hidden;
  position:absolute;right:0;top:50%;transform:translateY(-50%);
}
#alm-hd-cari .elementor-search-form__container:hover{background:#E7EEF3}
#alm-hd-cari .elementor-search-form__container:focus-within{
  background:#fff;border-color:var(--alm-hd-garis);
  width:230px;padding:0 6px 0 4px;
  box-shadow:0 10px 26px -14px rgba(15,46,64,.45);
}
#alm-hd-cari .elementor-search-form__input{
  font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;color:var(--alm-hd-tinta);
  background:transparent;padding:0;width:0;transition:width .28s ease;
}
#alm-hd-cari .elementor-search-form__container:focus-within .elementor-search-form__input{
  width:auto;flex:1;
}
#alm-hd-cari .elementor-search-form__input::placeholder{color:var(--alm-hd-redup);opacity:1}
#alm-hd-cari .elementor-search-form__icon{
  color:var(--alm-hd-navy);min-width:38px;justify-content:center;
}
/* --- Mega menu --- */
#alm-hd-nav .e-n-menu-title{font-family:'Plus Jakarta Sans',sans-serif}

/* Daftar item dipaksa satu baris. Tanpa ini flex-wrap bawaan membuat
   "Company Profile" jatuh ke baris kedua dan tinggi header melonjak,
   padahal lebar total ketiga zona masih muat di dalam 1180px. */
#alm-hd-nav .e-n-menu-heading{gap:2px;flex-wrap:nowrap}
#alm-hd-nav .e-n-menu-title{white-space:nowrap}
/* Zona menu boleh melebar sesuai isinya, tidak dijepit lebar tetap. */
#alm-hd-nav{flex:0 1 auto}

/* Container isi dropdown tidak bisa diberi id maupun kelas sendiri: id yang
   diisi lewat _element_id akan digabung dengan id bawaan Elementor menjadi
   satu atribut berisi spasi, sedangkan _css_classes tidak diterapkan sama
   sekali pada elemen ini. Karena itu panel disasar lewat kelas bawaannya. */
#alm-hd-nav .e-n-menu-content > .e-con{margin-top:0}

/* Tombol hamburger bawaan mega-menu disembunyikan: navigasi layar sempit
   ditangani panel off-canvas yang isinya bisa kita atur penuh. Widget tetap
   dipasang breakpoint tablet supaya daftar horizontalnya berhenti dirender
   di lebar yang tidak muat. */
#alm-hd-nav .e-n-menu-toggle{display:none}

@media(max-width:1024px){
  #alm-hd-nav{display:none}
}

/* --- Tombol aksi --- */
#alm-cta-header .elementor-button{
  font-family:'Plus Jakarta Sans',sans-serif;white-space:nowrap;
}
#alm-hd-burger .elementor-button{
  line-height:1;display:inline-flex;align-items:center;justify-content:center;
}
#alm-hd-burger .elementor-button-icon{margin:0}
#alm-hd-burger .elementor-button-text{display:none}

/* Fokus keyboard: tema tidak menyediakan penanda yang cukup terlihat di
   atas latar putih, jadi ditegaskan di sini agar navigasi tab tetap jelas. */
#alm-header a:focus-visible,
#alm-header button:focus-visible,
#alm-header input:focus-visible{
  outline:2px solid var(--alm-hd-emas);outline-offset:2px;border-radius:6px;
}

/* --- Penyesuaian layar --- */
@media(max-width:767px){
  /* Topbar disembunyikan di ponsel: tiga baris legalitas akan membungkus
     dan memakan tinggi layar yang justru dibutuhkan konten. Informasi yang
     sama diulang di dalam panel off-canvas. */
  #alm-hd-top{display:none}

  /* Ketiga zona ditahan dalam satu baris. Container bar memakai flex-wrap
     bawaan Elementor; di lebar ponsel lockup merek yang panjang membuat
     zona kanan terlempar ke baris kedua sehingga tinggi header hampir
     berlipat. */
  #alm-hd-bar{padding-left:14px;padding-right:14px}
  #alm-hd-bar > .e-con-inner{flex-wrap:nowrap;gap:10px}
  #alm-hd-lockup{gap:9px;flex-wrap:nowrap;min-width:0;flex:1 1 auto}
  #alm-hd-lockup-teks{min-width:0}
  #alm-hd-logo img{width:40px}
  #alm-hd-nama{font-size:15px}
  #alm-hd-nama .elementor-heading-title{white-space:nowrap}
  /* Baris badan hukum boleh terpotong, bukan membungkus: memaksanya tetap
     satu baris utuh akan melebarkan lockup melewati lebar layar. */
  #alm-hd-badan{font-size:8.5px;letter-spacing:1.2px;min-width:0}
  #alm-hd-badan .elementor-heading-title{
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;
  }
  /* Label tombol WhatsApp diringkas jadi ikon saja supaya lockup merek
     tidak terdesak. Tombolnya sendiri tetap tampil - pada header lama
     seluruh kolom ini diberi hidden-mobile sehingga ajakan utama justru
     hilang di perangkat yang paling banyak dipakai. */
  #alm-cta-header .elementor-button-text{display:none}
  #alm-cta-header .elementor-button{padding:11px 13px;border-radius:999px}
  #alm-cta-header .elementor-button-icon{margin:0;font-size:16px}
}

@media(max-width:420px){
  #alm-hd-badan{display:none}
}

/* --- Panel off-canvas --- */
/* Jarak dan padding diatur pada container isi (#alm-oc-isi), bukan di sini,
   supaya nilainya tetap terbaca di panel editor Elementor. */
#alm-offcanvas .e-off-canvas__content{display:block}
#alm-oc-sapaan{font-family:'Fraunces',Georgia,serif}
#alm-offcanvas img{max-width:120px;height:auto}

/* Panel memakai daftar tegak penuh; tombol burger bawaan nav-menu tidak
   pernah dipakai di sini. */
#alm-oc-menu .elementor-menu-toggle{display:none}
#alm-oc-menu .elementor-nav-menu--main .elementor-item{
  padding-left:0;padding-right:0;
}
#alm-oc-menu .elementor-nav-menu--main > ul > li{
  border-bottom:1px solid rgba(255,255,255,.09);
}
#alm-oc-menu .elementor-nav-menu--dropdown{background:transparent}
#alm-oc-menu .elementor-nav-menu .sub-menu .elementor-sub-item{
  color:rgba(255,255,255,.72);font-size:14px;font-weight:600;
}
#alm-oc-izin .elementor-icon-list-item{align-items:flex-start}
#alm-offcanvas a:focus-visible{outline:2px solid var(--alm-hd-emas,#EDAF33);outline-offset:2px}

/* Panel hanya relevan selama tombol hamburger tampil; di desktop tombolnya
   disembunyikan sehingga panel tidak akan pernah terbuka. */
@media(min-width:1025px){
  #alm-offcanvas{display:none}
}
/* AKHIR HEADER V2 */
/* AWAL HEADER V3 */
/* ============================================================
   VARIAN HEADER V3 — "Tone Footer"
   Nada warna mengikuti footer global: dasar navy #0A2134, aksen
   emas #EDAF33 / krim #F2D79A, teks putih.

   Seluruh .elementor-kit-5 di-scope ke #alm-header3 / #alm-oc3. Custom CSS
   Kit berlaku untuk SELURUH situs, jadi .elementor-kit-5 tanpa ID akan
   bocor ke halaman lain — termasuk ke header v2 yang masih tayang.

   Tipografi memakai dua keluarga yang @font-face-nya sudah dimuat
   global di blok FONT ALMIRA / FONT FRAUNCES di atas berkas ini:
   - Plus Jakarta Sans : antarmuka, menu, tombol (geometris, modern)
   - Fraunces          : aksen display (serif kontras tinggi)
   Keduanya di-host lokal dengan font-display:swap, jadi tidak ada
   permintaan ke Google Fonts dan tidak ada teks tak terlihat.
   ============================================================ */

#alm-header3{
  --alm3-navy:#0A2134;      /* dasar, identik dengan #alm-footer */
  --alm3-navy-naik:#0F2E40; /* permukaan satu tingkat di atas dasar */
  --alm3-emas:#EDAF33;
  --alm3-krim:#F2D79A;      /* emas pucat, token eyebrow footer */
  --alm3-teks:#FFFFFF;
  --alm3-redup:#93A8B9;     /* abu kebiruan, token pilar footer */
  --alm3-garis:rgba(237,175,51,.18);
  --alm3-top-h:32px;
  z-index:999;
  position:relative;
}

/* Kerucut cahaya emas tipis dari tepi atas, mengulang motif
   #alm-foot-lockup supaya header dan footer terbaca sebagai dua
   ujung dari ruang gelap yang sama. pointer-events:none wajib,
   kalau tidak lapisan ini akan memakan klik menu di bawahnya. */
#alm-header3:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(70% 130% at 50% 0%,rgba(237,175,51,.10),transparent 70%);
}
#alm-header3 > *{position:relative;z-index:1}

/* --- Lapis 1: topbar legalitas --- */
#alm-header3 #alm-hd3-top{
  overflow:hidden;
  max-height:var(--alm3-top-h);
  transition:max-height .28s ease, opacity .22s ease, padding .28s ease;
  border-bottom:1px solid rgba(255,255,255,.06);
}
#alm-header3 #alm-hd3-izin .elementor-icon-list-items,
#alm-header3 #alm-hd3-jam .elementor-icon-list-items{margin:0;padding:0;flex-wrap:nowrap}
#alm-header3 #alm-hd3-izin .elementor-icon-list-item,
#alm-header3 #alm-hd3-jam .elementor-icon-list-item{margin:0;white-space:nowrap}
#alm-header3 #alm-hd3-izin .elementor-icon-list-items{gap:0 24px}
#alm-header3 #alm-hd3-izin .elementor-icon-list-icon,
#alm-header3 #alm-hd3-jam .elementor-icon-list-icon{margin-right:6px}
#alm-header3 #alm-hd3-izin .elementor-icon-list-text,
#alm-header3 #alm-hd3-jam .elementor-icon-list-text{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:11.5px;font-weight:600;letter-spacing:.04em;
}

/* Saat menempel, topbar digulung habis. Kelas .elementor-sticky--effects
   dipasang oleh sticky bawaan Elementor. */
#alm-header3.elementor-sticky--effects #alm-hd3-top{
  max-height:0;opacity:0;padding-top:0;padding-bottom:0;
}
#alm-header3.elementor-sticky--effects{
  box-shadow:0 14px 34px -20px rgba(0,0,0,.75);
}
#alm-header3.elementor-sticky--effects #alm-hd3-bar{padding-top:6px;padding-bottom:6px}
#alm-header3 #alm-hd3-bar{transition:padding .28s ease}

/* --- Celah putih di bawah header --- */
/* Ada DUA sebab berbeda, masing-masing dengan penawarnya sendiri.

   (1) Pita putih berkedip saat gulir balik ke puncak.
       Elementor mencopot kelas .elementor-sticky--effects begitu ambang
       lewat, tetapi tinggi header baru pulih 79px -> 96px setelah transisi
       .28s selesai. Sepanjang jeda itu header lebih pendek daripada
       .elementor-sticky__spacer yang menahan ruang setinggi 96px. Spacer
       itu diberi visibility:hidden oleh Elementor, jadi latarnya tidak
       pernah dicat, dan yang tersingkap adalah .site-inner milik tema yang
       berlatar putih.
       Ditawar dengan mengecat pembungkus <header> memakai navy yang sama:
       berapa pun tinggi header saat transisi, yang terlihat tetap navy.
       Warnanya ditulis harfiah, bukan var(--alm3-navy), karena variabel itu
       dideklarasikan pada #alm-header3 yang merupakan ANAK dari pembungkus
       ini sehingga tidak diwariskan ke atas.
       Kelas .elementor-21327 dipakai (bukan .elementor-location-header)
       supaya tidak bocor ke header v2 yang masih disimpan untuk rollback.

   (2) Garis putih tetap setinggi 1px di keadaan diam, hanya di Beranda.
       Section #alm-config adalah penampung pixel Facebook yang isinya cuma
       <noscript><img 1x1>. Widget-nya setinggi 0 tetapi kolomnya tetap
       menempati 1px, dan karena tembus pandang, .site-inner putih terlihat
       di sela header dan section pertama. Tingginya dinolkan; pixel-nya
       sendiri tetap utuh di DOM. */
header.elementor-21327{background-color:#0A2134}
#alm-config{height:0;min-height:0;overflow:hidden}

/* --- Lockup merek --- */
#alm-header3 #alm-hd3-logo img{display:block;width:52px;height:auto}
#alm-header3 #alm-hd3-lockup-teks{gap:0}
#alm-header3 #alm-hd3-nama .elementor-heading-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;letter-spacing:-.01em;color:var(--alm3-teks);
}
#alm-header3 #alm-hd3-nama a{color:var(--alm3-teks);text-decoration:none}
/* Baris badan hukum ditahan satu baris; kalau membungkus, tinggi lockup
   bertambah dan logo tidak lagi sejajar dengan nama merek. */
#alm-header3 #alm-hd3-badan .elementor-heading-title{
  white-space:nowrap;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--alm3-krim);
}

/* --- Garis emas di dasar header --- */
#alm-header3 #alm-hd3-garis{width:100%}
#alm-header3 #alm-hd3-garis .elementor-divider{padding:0}
#alm-header3 #alm-hd3-garis .elementor-divider-separator{
  border:0;height:2px;
  background:linear-gradient(90deg,transparent 0%,rgba(237,175,51,.15) 12%,var(--alm3-emas) 50%,rgba(237,175,51,.15) 88%,transparent 100%);
}
/* Line-height lockup DIKUNCI. Tema mewariskan line-height 1.65 (28.05px pada
   font 17px), sehingga dua heading nama+badan menumpuk jadi 56px dan mendorong
   bar ke 76px / header ke 110px. Teks sebenarnya hanya perlu 22px + 13px.
   Ini hanya terlihat di situs live; berkas pratinjau statis tidak memuat CSS
   tema sehingga bar-nya tampak 59px. */
#alm-header3 #alm-hd3-nama .elementor-heading-title{line-height:1.2}
#alm-header3 #alm-hd3-badan .elementor-heading-title{line-height:1.2}
#alm-header3 #alm-hd3-nama,
#alm-header3 #alm-hd3-badan{line-height:1.2}
#alm-header3 #alm-hd3-lockup-teks{gap:2px}

/* --- Navigasi utama (widget nav-menu, sumber: Menu Beranda Almira) --- */
/* Widget membaca menu WordPress langsung — item TIDAK lagi diketik di
   Elementor. Sunting di Tampilan > Menu. Bentuk pil, warna, dan jarak diatur
   lewat setelan widget; di sini hanya yang tak punya kontrol native. */
#alm-header3 #alm-hd3-nav .elementor-item{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:600;letter-spacing:.01em;
  white-space:nowrap;
}
/* Tema memberi garis bawah pada tautan saat hover; di bar menu hal itu
   bertabrakan dengan penanda pil. */
#alm-header3 #alm-hd3-nav .elementor-item:hover,
#alm-header3 #alm-hd3-nav .elementor-item:focus{text-decoration:none}
/* Deretan menu ditahan satu baris. Tanpa ini menu membungkus ke baris
   kedua dan tinggi header melonjak. */
#alm-header3 #alm-hd3-nav .elementor-nav-menu--main > ul{flex-wrap:nowrap}
/* Zona menu boleh melebar sesuai isinya, tidak dijepit lebar tetap. */
#alm-header3 #alm-hd3-nav{flex:0 1 auto}

/* Dropdown submenu (Cicilan Haji Plus di bawah Haji Plus, 13 lokasi di bawah
   Company Profile). wp_nav_menu() dipanggil tanpa 'depth' sehingga hierarki
   menu WP ikut terender. */
#alm-header3 #alm-hd3-nav .elementor-nav-menu--dropdown{
  box-shadow:0 30px 60px -30px rgba(0,0,0,.75);
  /* LEBAR. Widget nav-menu tidak menyediakan kontrol lebar dropdown, sehingga
     <ul> menyusut mengikuti lebar <li> induknya: "Company Profile" hanya
     156px padahal isinya butuh 246px. Item terpanjang ("Almira Travel Kantor
     Pusat Jakarta") minta 238px, jadi 7 dari 14 item terpotong dan hanya
     terbaca kalau digeser ke samping.
     min-width:max-content membuat kotak selebar item terpanjang; max-width
     menjaganya tetap di dalam layar pada viewport desktop tersempit
     (diuji 1025px: tepi kanan 939px, aman). */
  min-width:max-content;
  max-width:min(340px,calc(100vw - 32px));
  /* overflow-x WAJIB hidden, bukan auto. Menyetel overflow-y:auto membuat
     overflow-x ikut menjadi non-visible menurut spesifikasi CSS, dan nilai
     'auto' memunculkan bilah gulir mendatar. Dengan min-width di atas
     scrollWidth == clientWidth, jadi memang tidak ada yang perlu digulir. */
  overflow-x:hidden;
  /* TINGGI. 14 anak x 42px = 588px. Batas lama 70vh (630px di layar 900px)
     terlalu mepet dan pada layar 800px sudah memunculkan bilah gulir.
     Diikatkan ke tinggi header (78px) + jarak dropdown (14px) + sisa napas,
     supaya daftar tampil utuh selama tinggi layar memungkinkan, dan tetap
     bisa digulir kalau tidak. */
  max-height:calc(100vh - 120px);
  overflow-y:auto;
}
#alm-header3 #alm-hd3-nav .elementor-nav-menu--dropdown a{white-space:nowrap}

/* Hamburger bawaan nav-menu disembunyikan: navigasi layar sempit ditangani
   panel off-canvas (#alm-oc3) yang isinya bisa diatur penuh. Lapis kedua —
   setelan 'dropdown' widget sudah diset 'mobile'. */
#alm-header3 #alm-hd3-nav .elementor-menu-toggle{display:none}
@media(max-width:1024px){
  #alm-header3 #alm-hd3-nav{display:none}
}

/* --- Tombol --- */
#alm-header3 #alm-cta-header3 .elementor-button{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;letter-spacing:.01em;
  white-space:nowrap;
}
#alm-header3 #alm-hd3-burger .elementor-button{
  border:1px solid rgba(237,175,51,.28);
  line-height:1;display:inline-flex;align-items:center;justify-content:center;
}
#alm-header3 #alm-hd3-burger .elementor-button-icon{margin:0}
#alm-header3 #alm-hd3-burger .elementor-button-text{display:none}
#alm-header3 #alm-hd3-burger .elementor-button:hover{
  background:rgba(237,175,51,.16);
}

/* Fokus keyboard: emas di atas navy, kontras cukup untuk dilihat. */
#alm-header3 a:focus-visible,
#alm-header3 button:focus-visible,
#alm-header3 input:focus-visible{
  outline:2px solid var(--alm3-emas);outline-offset:2px;
}

/* --- Panel off-canvas --- */
#alm-oc3 .e-off-canvas__content{display:block}
#alm-oc3 #alm-oc3-sapaan .elementor-heading-title{
  font-family:'Fraunces',Georgia,serif;font-style:italic;
}
#alm-oc3 img{max-width:120px;height:auto}
#alm-oc3 #alm-oc3-menu .elementor-menu-toggle{display:none}
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main .elementor-item{
  padding-left:0;padding-right:0;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;
}
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main > ul > li{
  border-bottom:1px solid rgba(255,255,255,.09);
}
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--dropdown{background:transparent}
#alm-oc3 #alm-oc3-menu .elementor-nav-menu .sub-menu .elementor-sub-item{
  color:rgba(255,255,255,.72);font-size:14px;font-weight:600;
}
#alm-oc3 #alm-oc3-izin .elementor-icon-list-item{align-items:flex-start}
#alm-oc3 a:focus-visible{outline:2px solid var(--alm3-emas,#EDAF33);outline-offset:2px}

/* Panel hanya relevan selama burger tampil; di desktop burger disembunyikan
   sehingga panel tidak akan pernah bisa dibuka. */
@media(min-width:1025px){
  #alm-oc3{display:none}
}

/* --- Responsif --- */
@media(max-width:767px){
  /* Topbar disembunyikan di ponsel: tiga baris legalitas akan membungkus dan
     memakan tinggi layar yang justru dibutuhkan konten. Informasi yang sama
     diulang di dalam panel off-canvas. */
  #alm-header3 #alm-hd3-top{display:none}

  /* Ketiga zona ditahan dalam satu baris. Container bar memakai flex-wrap
     bawaan Elementor; di lebar ponsel lockup merek yang panjang membuat zona
     kanan terlempar ke baris kedua sehingga tinggi bar melonjak ke 183px. */
  #alm-header3 #alm-hd3-bar{padding-left:14px;padding-right:14px}
  #alm-header3 #alm-hd3-bar > .e-con-inner{flex-wrap:nowrap;gap:10px}
  #alm-header3 #alm-hd3-lockup{gap:9px;flex-wrap:nowrap;min-width:0;flex:1 1 auto}
  #alm-header3 #alm-hd3-lockup-teks{min-width:0}
  #alm-header3 #alm-hd3-logo img{width:40px}
  #alm-header3 #alm-hd3-nama{font-size:15px}
  #alm-header3 #alm-hd3-nama .elementor-heading-title{white-space:nowrap}

  /* Baris badan hukum boleh terpotong, bukan membungkus: memaksanya tetap satu
     baris utuh akan melebarkan lockup melewati lebar layar. */
  #alm-header3 #alm-hd3-badan{font-size:8.5px;letter-spacing:1.2px;min-width:0}
  #alm-header3 #alm-hd3-badan .elementor-heading-title{
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;
  }

  /* Label tombol WhatsApp diringkas jadi ikon saja supaya lockup merek tidak
     terdesak. Tombolnya sendiri tetap tampil. */
  #alm-header3 #alm-cta-header3 .elementor-button-text{display:none}
  #alm-header3 #alm-cta-header3 .elementor-button{padding:11px 13px;border-radius:999px}
  #alm-header3 #alm-cta-header3 .elementor-button-icon{margin:0;font-size:16px}

}

/* Di bawah 420px baris badan hukum disembunyikan: pada lebar itu ia memaksa
   lockup membungkus dan tinggi bar melonjak dari 60px ke 156px. */
@media(max-width:420px){
  #alm-header3 #alm-hd3-badan{display:none}
}
/* AKHIR HEADER V3 */

/* == ALM LOKASI V1 MULAI == */
#alm-lok{--alm-navy:#0F2E40;--alm-navy-deep:#0A2B55;--alm-ink:#16232C;--alm-gold:#EDAF33;--alm-blue:#4185C0;--alm-blue-acc:#00548E;--alm-gold-soft:#F6D58A;--alm-muted:#5B6B76;--alm-line:#DCE4EA;--alm-mist:#F2F6F9;--alm-wa:#1FAF5A;font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--alm-ink)}
#alm-lok *,#alm-lok *::before,#alm-lok *::after{box-sizing:border-box}
#alm-lok img,#alm-lok iframe{max-width:100%}
#alm-lok h1,#alm-lok h2,#alm-lok h3{color:var(--alm-navy);line-height:1.25;margin:0 0 .5em}
#alm-lok p{line-height:1.75;color:var(--alm-ink)}
#alm-lok a{color:var(--alm-blue-acc)}

/* Hero */
#alm-lok .alm-lok-hero{background:linear-gradient(135deg,var(--alm-navy) 0%,var(--alm-navy-deep) 100%);color:#fff;border-radius:18px;padding:34px 30px;margin-bottom:26px}
#alm-lok .alm-lok-hero h1{color:#fff;font-size:clamp(1.55rem,3.2vw,2.3rem);margin-bottom:.35em}
#alm-lok .alm-lok-hero__intro{color:#E6EEF4;margin:0;max-width:70ch}
#alm-lok .alm-lok-remah{font-size:.83rem;color:var(--alm-gold-soft);margin-bottom:14px}
#alm-lok .alm-lok-remah a{color:var(--alm-gold-soft);text-decoration:none}
#alm-lok .alm-lok-remah a:hover{text-decoration:underline}
#alm-lok .alm-lok-remah span{opacity:.6;margin:0 6px}
#alm-lok .alm-lok-lencana{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding:0;list-style:none}
#alm-lok .alm-lok-lencana li{background:rgba(237,175,51,.14);border:1px solid rgba(237,175,51,.42);color:var(--alm-gold-soft);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600}

/* Ilustrasi landmark */
#alm-lok .alm-lok-gambar{margin:0 0 26px}
#alm-lok .alm-lok-gambar img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px;border:1px solid var(--alm-line);background:var(--alm-mist)}

/* Bar aksi */
#alm-lok .alm-lok-aksi{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
#alm-lok .alm-lok-aksi__tombol{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-weight:600;font-size:.92rem;text-decoration:none;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease}
#alm-lok .alm-lok-aksi__tombol:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,46,64,.16)}
#alm-lok .alm-lok-aksi__tombol.is-wa{background:var(--alm-wa);color:#fff}
#alm-lok .alm-lok-aksi__tombol.is-telp{background:var(--alm-navy);color:#fff}
#alm-lok .alm-lok-aksi__tombol.is-rute{background:#fff;color:var(--alm-navy);border-color:var(--alm-line)}

/* Kartu NAP */
#alm-lok .alm-lok-nap{background:var(--alm-mist);border:1px solid var(--alm-line);border-radius:14px;padding:24px;margin-bottom:26px}
#alm-lok .alm-lok-nap__judul,#alm-lok .alm-lok-jam__judul,#alm-lok .alm-lok-peta__judul,#alm-lok .alm-lok-lain__judul,#alm-lok .alm-lok-faq__judul,#alm-lok .alm-lok-layanan__judul{font-size:1.15rem;margin:0 0 14px}
#alm-lok .alm-lok-nap__daftar{margin:0}
#alm-lok .alm-lok-nap__item{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--alm-line)}
#alm-lok .alm-lok-nap__item:first-child{border-top:0;padding-top:0}
#alm-lok .alm-lok-nap__item dt{font-weight:600;color:var(--alm-muted);font-size:.88rem;margin:0}
#alm-lok .alm-lok-nap__item dd{margin:0;line-height:1.6}
#alm-lok .alm-lok-nap__item dd a{font-weight:600;text-decoration:none}
#alm-lok .alm-lok-nap__item dd a:hover{text-decoration:underline}

/* Jam operasional */
#alm-lok .alm-lok-jam{border:1px solid var(--alm-line);border-radius:14px;padding:24px;margin-bottom:26px;background:#fff}
#alm-lok .alm-lok-jam__kepala{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
#alm-lok .alm-lok-jam__kepala h2{margin:0}
#alm-lok .alm-lok-jam__status{font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:999px}
#alm-lok .alm-lok-jam__status.is-buka{background:rgba(31,175,90,.12);color:#157A3E}
#alm-lok .alm-lok-jam__status.is-tutup{background:rgba(91,107,118,.12);color:var(--alm-muted)}
#alm-lok .alm-lok-jam__baris{display:flex;justify-content:space-between;gap:16px;padding:9px 12px;border-radius:8px;font-size:.94rem;border-bottom:1px solid var(--alm-line)}
#alm-lok .alm-lok-jam__baris:last-of-type{border-bottom:0}
#alm-lok .alm-lok-jam__baris.is-hari-ini{background:rgba(237,175,51,.13);font-weight:700;border-bottom-color:transparent}
#alm-lok .alm-lok-jam__baris.is-tutup .alm-lok-jam__waktu{color:var(--alm-muted)}
#alm-lok .alm-lok-jam__hari{color:var(--alm-ink)}
#alm-lok .alm-lok-jam__waktu{font-variant-numeric:tabular-nums}
#alm-lok .alm-lok-jam__ket{font-size:.79rem;color:var(--alm-muted);margin:12px 0 0}

/* Layanan */
#alm-lok .alm-lok-layanan{margin-bottom:26px}
#alm-lok .alm-lok-layanan__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;padding:0;margin:0;list-style:none}
#alm-lok .alm-lok-layanan__grid li{background:#fff;border:1px solid var(--alm-line);border-left:3px solid var(--alm-gold);border-radius:10px;padding:16px 18px;font-size:.93rem;line-height:1.6}

/* Peta */
#alm-lok .alm-lok-peta{margin-bottom:26px}
#alm-lok .alm-lok-peta__bingkai{position:relative;width:100%;height:var(--alm-lok-peta-h,420px);border-radius:14px;overflow:hidden;border:1px solid var(--alm-line);background:var(--alm-mist)}
#alm-lok .alm-lok-peta__bingkai iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0}

/* CTA */
#alm-lok .alm-lok-cta{background:linear-gradient(135deg,var(--alm-navy) 0%,var(--alm-blue-acc) 100%);color:#fff;border-radius:16px;padding:30px;text-align:center;margin-bottom:26px}
#alm-lok .alm-lok-cta h2{color:#fff}
#alm-lok .alm-lok-cta p{color:#DCE9F2;max-width:62ch;margin:0 auto 18px}
#alm-lok .alm-lok-cta .alm-lok-aksi{justify-content:center;margin-bottom:0}

/* Cabang lain */
#alm-lok .alm-lok-lain{margin-bottom:26px}
#alm-lok .alm-lok-lain__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
#alm-lok .alm-lok-lain__kartu{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--alm-line);border-radius:10px;padding:14px 16px;text-decoration:none;transition:border-color .15s ease,transform .15s ease}
#alm-lok .alm-lok-lain__kartu:hover{border-color:var(--alm-gold);transform:translateY(-2px)}
#alm-lok .alm-lok-lain__nama{font-weight:600;color:var(--alm-navy);font-size:.93rem}
#alm-lok .alm-lok-lain__kota{font-size:.79rem;color:var(--alm-muted)}

/* FAQ */
#alm-lok .alm-lok-faq{margin-bottom:26px}
#alm-lok .alm-lok-faq details{border:1px solid var(--alm-line);border-radius:10px;padding:14px 18px;margin-bottom:10px;background:#fff}
#alm-lok .alm-lok-faq summary{font-weight:600;color:var(--alm-navy);cursor:pointer;font-size:.95rem;list-style:none}
#alm-lok .alm-lok-faq summary::-webkit-details-marker{display:none}
#alm-lok .alm-lok-faq summary::after{content:"+";float:right;color:var(--alm-gold);font-weight:700}
/* Pakai karakter minus literal, bukan escape CSS berbasis backslash,
   karena backslash dibuang saat nilai disimpan ke meta Elementor. */
#alm-lok .alm-lok-faq details[open] summary::after{content:"−"}
#alm-lok .alm-lok-faq details p{margin:10px 0 0;font-size:.92rem;color:var(--alm-muted)}

/* Responsif */
@media (max-width:1024px){
#alm-lok .alm-lok-hero{padding:28px 24px}
#alm-lok .alm-lok-peta__bingkai{height:360px}
}
@media (max-width:767px){
#alm-lok .alm-lok-hero{padding:24px 18px;border-radius:14px}
#alm-lok .alm-lok-nap,#alm-lok .alm-lok-jam{padding:18px}
#alm-lok .alm-lok-nap__item{grid-template-columns:1fr;gap:2px}
#alm-lok .alm-lok-aksi__tombol{flex:1 1 100%;justify-content:center}
#alm-lok .alm-lok-peta__bingkai{height:300px}
#alm-lok .alm-lok-lain__grid{grid-template-columns:1fr 1fr}
#alm-lok .alm-lok-cta{padding:24px 18px}
}
@media (max-width:400px){
#alm-lok .alm-lok-lain__grid{grid-template-columns:1fr}
}
/* == ALM LOKASI V1 SELESAI == */

/* AWAL OC3 SUBMENU */
/* ============================================================
   SUBMENU PANEL OFF-CANVAS — 7 Okt 2026

   Membatalkan dropdown melayang bawaan Elementor Pro di dalam panel
   mobile, menggantinya dengan daftar bertingkat yang selalu terbuka.
   Hanya berlaku di dalam #alm-oc3; menu header desktop tidak tersentuh.
   ============================================================ */

/* Batalkan posisi melayang. Tiga properti ini yang membuat submenu
   tak terjangkau di layar sentuh: absolute mengeluarkannya dari alur,
   width:12em mengunci lebarnya, dan box-shadow menyisakan bayangan
   kotak melayang yang tidak lagi relevan pada daftar statis. */
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main .elementor-nav-menu ul,
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main ul.sub-menu{
	position:static !important;
	width:auto !important;
	min-width:0 !important;
	max-width:none !important;
	display:block !important;
	opacity:1 !important;
	visibility:visible !important;
	transform:none !important;
	box-shadow:none !important;
	border:0 !important;
	background:transparent !important;
	margin:0 0 6px !important;
	padding:2px 0 2px 14px !important;
	border-left:1px solid rgba(237,175,51,.30) !important;
}

/* SmartMenus menulis display:none langsung pada elemen saat menutup
   submenu. Inline style menang atas stylesheet, jadi aturan di atas
   saja tidak cukup — pengulangan dengan !important di bawah ini yang
   benar-benar menahannya tetap terlihat. */
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main ul.sub-menu[style]{
	display:block !important;
}

/* Item anak: lebih kecil dan lebih redup dari induknya supaya hierarki
   terbaca tanpa perlu garis atau ikon tambahan. */
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item{
	padding:9px 0 !important;
	font-size:14px !important;
	font-weight:600 !important;
	line-height:1.4 !important;
	color:rgba(255,255,255,.72) !important;
}

#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item.elementor-item-active{
	color:#EDAF33 !important;
}

/* Garis pemisah hanya di antara item induk. Tanpa ini setiap anak ikut
   bergaris dan panel terbaca sebagai 25 item sederajat. */
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main > ul > li{
	border-bottom:1px solid rgba(255,255,255,.09);
}

#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main > ul > li > ul.sub-menu > li{
	border-bottom:0 !important;
}

/* Panah SmartMenus dibuang: pada daftar yang selalu terbuka ia menunjuk
   ke keadaan yang tidak pernah ada. */
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main .sub-arrow{
	display:none !important;
}

/* Kantor Cabang punya 13 anak — sendirian lebih tinggi dari seluruh menu
   lainnya digabung. Dibatasi dan digulir sendiri supaya item sesudahnya
   (Tentang Kami) tetap terjangkau tanpa menggulir panjang.
   13 x ~34px = 442px; 290px menampilkan ~8 item sekaligus, cukup untuk
   menunjukkan bahwa daftarnya bisa digulir. */
#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main > ul > li > ul.sub-menu{
	max-height:290px;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:thin;
	scrollbar-color:rgba(237,175,51,.45) transparent;
}

#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main > ul > li > ul.sub-menu::-webkit-scrollbar{
	width:3px;
}

#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main > ul > li > ul.sub-menu::-webkit-scrollbar-thumb{
	background:rgba(237,175,51,.45);
	border-radius:3px;
}

/* Sasaran sentuh minimal 44px (pedoman WCAG 2.5.5) dihitung dari padding
   9px + tinggi baris 14px x 1.4 = ~38px. Ditambah sedikit di layar kecil
   supaya jari tidak meleset ke item tetangga. */
@media(max-width:520px){
	#alm-oc3 #alm-oc3-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item{
		padding:11px 0 !important;
	}
}
/* AKHIR OC3 SUBMENU *//* End custom CSS */