/**
 * Mudah Berbahasa Arab - Elementor Addon Extra
 * Memakai token warna plugin utama (var(--x)) dengan nilai cadangan.
 */

/* ---------- Kartu Testimoni ---------- */
.bam-x-tgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
}
.bam-x-tcard {
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
  background: var(--bg, #FBF6EA);
  border-left: 5px solid var(--gold, #F2A900);
  border-radius: 20px;
  padding: 24px;
  font-family: var(--bf, 'Inter', sans-serif);
}
.bam-x-tquote {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 16px;
  line-height: 1.6;
  font-style: italic;
  color: var(--muted, #5B6472);
}
.bam-x-tperson {
  display: block;
  font-family: var(--hf, 'Plus Jakarta Sans', sans-serif);
  font-weight: 800;
  font-size: 15px;
  font-style: normal;
  color: var(--head, #0B3D2E);
}

/* ---------- Grid Screenshot & Frame Foto ---------- */
.bam-x-sgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
}
.bam-x-shot,
.bam-x-photo {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 20px;
  background: transparent;
}
.bam-x-shot { aspect-ratio: 3 / 4; }
.bam-x-photo { aspect-ratio: 4 / 5; }
.bam-x-shot img,
.bam-x-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.bam-x-shot:not(.is-empty),
.bam-x-photo:not(.is-empty) {
  box-shadow: var(--shadow, 0 10px 30px rgba(11, 61, 46, .10));
}
.bam-x-ph {
  width: 100%;
  height: 100%;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  border-radius: 20px;
  border: 2px dashed var(--muted, #5B6472);
  background: repeating-linear-gradient(135deg, var(--line, #E3DCC8) 0 14px, transparent 14px 28px);
  color: var(--muted, #5B6472);
  font-family: var(--bf, 'Inter', sans-serif);
  font-size: 15px;
  box-sizing: border-box;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  .bam-x-tgrid,
  .bam-x-sgrid { gap: 16px; }
  .bam-x-tgrid.bam-x-span-last > .bam-x-tcard:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
  .bam-x-photo { margin-left: auto; margin-right: auto; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .bam-x-tgrid,
  .bam-x-sgrid { gap: 14px; }
  .bam-x-tgrid.bam-x-span-last > .bam-x-tcard:last-child:nth-child(odd) {
    grid-column: auto;
  }
  .bam-x-tcard { padding: 20px; }
}
