/* =========================================
   PRODUK (produk.html)
   ========================================= */
.produk-hero {
  padding: 100px 0 110px;   
  position: relative;
}

.produk-hero .container {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr;  /* ← foto lebih besar, teks lebih kecil */
  gap: 48px;
  align-items: center;
}

/* ---------- KOLOM KIRI: FOTO ---------- */
.hero-image-wrap {
  position: relative;
  width: 100%;
}

/* FOTO — ukuran 980x630 (rasio 14:9) */
.hero-image-wrap .placeholder-img {
  aspect-ratio: 980 / 630;   /* ← 980:630 = 14:9 */
  min-height: auto;
  border-radius: 20px;
  width: 100%;
  overflow: hidden;
}

.hero-image-wrap .placeholder-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============================================================
   OVERLAY ATAS — "PRODUK" (pojok kiri atas)
   ============================================================ */
.overlay-top {
  position: absolute;
  top: -64px;
  left: 180px;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  color: #E63947;
  letter-spacing: 3px;
  pointer-events: none;
  z-index: 10;
  line-height: 1;
}

/* ============================================================
   OVERLAY BAWAH — "JEOL FOOD" (pojok kiri bawah, horizontal)
   ============================================================ */
.overlay-bottom {
  position: absolute;
  bottom: -2px;
  left: 40px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 14px;                 /* lebih besar dari 10px */
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
  z-index: 10;
}

.overlay-bottom .jeol {
  color: #ffffff;
  font-size: clamp(4rem, 8vw, 6.5rem);   /* diperbesar */
  letter-spacing: -1px;
}

.overlay-bottom .food {
  color: #ffffff;
  font-size: clamp(4rem, 8vw, 6.5rem);   /* diperbesar dan disamakan */
  letter-spacing: -1px;
}

/* ---------- KOLOM KANAN: TEKS ---------- */
.produk-hero p {
  font-size: 0.95rem;
  color: var(--ink-soft);
  line-height: 1.8;
  margin: 0;
}

/* =========================================
   PRODUCT BLOCK (Pempek, Batagor, Hampers)
   ========================================= */
.product-block {
  padding: 70px 0;
}

.product-block .placeholder-img {
  min-height: 320px;
  border-radius: 20px;
  border: 3px solid var(--white);
}

/* Border foto sesuai tema */
.product-block.section-red .placeholder-img.has-photo {
  border: 3px solid var(--white) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.product-block.section-white .placeholder-img.has-photo {
  border: 3px solid var(--red) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.10);
}

/* Teks product block */
.product-block.section-white h3 {
  color: var(--red);
}
.product-block.section-white p {
  color: var(--ink-soft);
}

.product-block h3 {
  color: var(--white);
  font-size: 1.6rem;
  margin: 26px 0 10px;
}

.product-block p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.92rem;
  max-width: 640px;
}

/* =========================================
   RESPONSIVE — Tablet & Mobile
   ========================================= */
@media (max-width: 860px) {
  .produk-hero .container {
    grid-template-columns: 1fr;   /* tumpuk ke bawah */
    gap: 32px;
  }

  .hero-image-wrap .placeholder-img {
    aspect-ratio: 980 / 630;
    min-height: auto;
  }

  .overlay-top {
    top: 16px;
    left: 16px;
    font-size: clamp(1.8rem, 6vw, 3.2rem);
  }

  .overlay-bottom {
    bottom: 16px;
    left: 16px;
    gap: 6px;
  }

  .overlay-bottom .jeol,
  .overlay-bottom .food {
    font-size: clamp(2rem, 7vw, 3.6rem);
  }

  .produk-hero p {
    text-align: center;
    padding: 0 10px;
  }
}

@media (max-width: 500px) {
  .overlay-top {
    top: 12px;
    left: 12px;
    font-size: clamp(1.4rem, 5vw, 2.4rem);
  }

  .overlay-bottom {
    bottom: 12px;
    left: 12px;
    gap: 4px;
  }

  .overlay-bottom .jeol,
  .overlay-bottom .food {
    font-size: clamp(1.6rem, 6vw, 2.8rem);
  }

  .product-block {
    padding: 50px 0;
  }
  .product-block .placeholder-img {
    min-height: 200px;
  }
}