/* V5: Perapian card, tidak mengubah pengaturan background dari dashboard. */
:root { --card-gap: 32px; --card-width: 1160px; }
/* Batasi setiap card utama dan samakan posisi horizontal. */
main > .hero.editable-section-background,
main > #produk.editable-section-background,
main > #tentang.editable-section-background,
main > #lokasi.editable-section-background {
  box-sizing: border-box;
  width: min(var(--card-width), calc(100% - 36px));
  max-width: var(--card-width);
  margin: var(--card-gap) auto 0 !important;
  padding: clamp(28px, 4vw, 54px) !important;
  border-radius: 26px !important;
  min-width: 0;
}
/* Aturan site.css memakai background untuk about: tetap bisa ditimpa oleh inline admin. */
main > #tentang.editable-section-background { overflow: hidden; }
main > #tentang .about-grid {
  width: 100%; max-width: 100%; margin: 0;
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(24px, 4vw, 54px); align-items: center;
}
main > #tentang .about-grid > * { min-width: 0; }
main > #tentang .about-image { width: 100%; height: clamp(240px, 28vw, 380px); }
main > #tentang .about-image img { width: 100%; height: 100%; object-fit: cover; }
/* Hero: beri ruang tulisan dan gambar, cegah teks tumpang tindih. */
main > .hero.editable-section-background {
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  align-items: center; gap: clamp(24px, 4vw, 56px);
}
main > .hero .hero-copy { min-width: 0; padding: 18px 20px; border-radius: 18px; background: var(--hero-panel-bg, #ffffff); }
main > .hero .hero-copy h1 {
  font-size: clamp(28px, 3.5vw, 52px);
  line-height: 1.24 !important;
  letter-spacing: -.025em !important;
  margin: 14px 0 16px !important;
  overflow-wrap: break-word;
}
main > .hero .hero-copy .eyebrow { line-height: 1.5 !important; }
main > .hero .hero-copy > p { line-height: 1.65 !important; margin: 0 0 20px; }
main > .hero .hero-actions { flex-wrap: wrap; gap: 14px; margin-top: 22px; }
main > .hero .trust { margin-top: 24px; }
main > .hero .hero-visual { width: min(100%, 420px); max-width: 100%; }
/* Card katalog dan lokasi mengikuti ritme spacing yang sama. */
main > #produk .section-head { gap: 20px; flex-wrap: wrap; }
main > #produk .products { gap: 20px; }
main > #lokasi.editable-section-background { margin-bottom: var(--card-gap) !important; }
main > #lokasi iframe, main > #lokasi .map-empty { max-width: 100%; }
/* Anchor menu sticky header tidak menutupi judul. */
#produk, #tentang, #lokasi { scroll-margin-top: 100px; }
@media (max-width: 800px) {
  main > .hero.editable-section-background { grid-template-columns: minmax(0,1fr); }
  main > .hero .hero-visual { width: min(100%, 340px); }
  main > #tentang .about-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 600px) {
  :root { --card-gap: 20px; }
  main > .hero.editable-section-background,
  main > #produk.editable-section-background,
  main > #tentang.editable-section-background,
  main > #lokasi.editable-section-background {
    width: calc(100% - 24px); padding: 24px 18px !important; border-radius: 20px !important;
  }
  main > .hero .hero-copy { padding: 16px; }
  main > .hero .hero-copy h1 { font-size: clamp(26px, 7vw, 36px); }
  main > #produk .products { gap: 12px; }
}
