/*
 * Jembatan Elementor → mockup, bagian 1 (dimuat SEBELUM tokens.css & main.css).
 * CSS Elementor ada di @layer "elementor", jadi aturan di bawah ini (tanpa layer) selalu menang.
 * Tujuan: container & widget Elementor tidak menambah padding/gap/margin/flex yang tidak ada di mockup.
 */
.e-con {
  display: block;
  width: auto; max-width: none; min-width: 0;
  margin: 0; padding: 0; gap: 0;
  flex-direction: row; flex-wrap: nowrap; align-items: normal; justify-content: normal;
}
.elementor-widget { margin: 0; color: inherit; font: inherit; }
.elementor-clearfix::before, .elementor-clearfix::after { content: none; }
.elementor-screen-only, .screen-reader-text {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* Frontend: pembungkus widget tidak membuat kotak, jadi selector mockup seperti ".actions .btn" tetap bekerja.
   Di editor Elementor pembungkus dibiarkan normal agar overlay seleksi widget tetap muncul. */
body:not(.elementor-editor-active) :is(.elementor-widget, .elementor-widget-container, .elementor-text-editor, .elementor-button-wrapper, .elementor-button-content-wrapper) {
  display: contents;
}

/* Heading widget: pewarisan line-height dari mockup (specificity 0 supaya aturan h1–h4 mockup tetap menang) */
:where(.elementor-heading-title) { line-height: inherit; }

.e-con[hidden], .elementor-widget[hidden] { display: none; }

/* Tautan: Elementor menghapus garis bawah; mockup memakai default browser kecuali class tertentu */
:where(.elementor a) { text-decoration: revert; }
:where(.e-n-accordion-item-title-text, .e-n-tab-title-text) { font: inherit; margin: 0; }
