/* =========================================================
   LEIBEL - SEMEN INSTAN CATALOG
   Standalone CSS
   ========================================================= */


/* =========================================================
   CATALOG WRAPPER
   ========================================================= */

.leibel-si-catalog {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;

  clear: both !important;
  float: none !important;
}

.leibel-si-catalog *,
.leibel-si-catalog *::before,
.leibel-si-catalog *::after {
  box-sizing: border-box !important;
}


/* =========================================================
   HEADER
   ========================================================= */

.leibel-si-header {
  display: block !important;

  width: 100% !important;

  margin: 0 0 25px !important;
  padding: 0 !important;

  text-align: left !important;
}

.leibel-si-header h2 {
  display: block !important;

  width: 100% !important;

  margin: 0 0 7px !important;
  padding: 0 !important;

  color: #222 !important;

  font-size: 28px !important;
  font-weight: 700 !important;

  line-height: 1.25 !important;

  text-align: left !important;
}

.leibel-si-header p {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #777 !important;

  font-size: 13px !important;
  font-weight: 400 !important;

  line-height: 1.5 !important;

  text-align: left !important;
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.leibel-si-grid {
  display: grid !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;

  grid-auto-flow: row !important;

  gap: 20px !important;

  align-items: stretch !important;
  justify-items: stretch !important;

  clear: both !important;
  float: none !important;

  list-style: none !important;
}


/* =========================================================
   REMOVE WORDPRESS EMPTY ELEMENTS
   ========================================================= */

.leibel-si-grid>*:not(.leibel-si-card) {
  display: none !important;
}


/* =========================================================
   PRODUCT CARD
   ========================================================= */

.leibel-si-card {
  display: flex !important;

  flex-direction: column !important;

  position: relative !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;

  /*
     * Padding atas/samping tetap nyaman.
     * Padding bawah dibuat kecil supaya card
     * tidak punya ruang kosong berlebihan.
     */
  padding: 14px 14px 11px !important;

  background: #fff !important;

  border: 1px solid #e2e2e2 !important;
  border-radius: 4px !important;

  box-shadow: none !important;

  float: none !important;
  clear: none !important;

  overflow: hidden !important;

  text-align: left !important;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease !important;
}


/* =========================================================
   CARD HOVER
   ========================================================= */

.leibel-si-card:hover {
  border-color: #cfcfcf !important;

  box-shadow:
    0 6px 18px rgba(0, 0, 0, 0.08) !important;

  transform: translateY(-2px) !important;
}


/* =========================================================
   PRODUCT IMAGE AREA
   ========================================================= */

.leibel-si-image {
  display: flex !important;

  width: 100% !important;
  height: 165px !important;

  margin: 0 0 10px !important;
  padding: 4px !important;

  align-items: center !important;
  justify-content: center !important;

  background: #fff !important;

  border: 0 !important;

  overflow: hidden !important;

  float: none !important;
  clear: both !important;
}


/* =========================================================
   IMAGE LINK
   ========================================================= */

.leibel-si-image a {
  display: flex !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: center !important;
  justify-content: center !important;

  text-decoration: none !important;

  border: 0 !important;
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.leibel-si-image img {
  display: block !important;

  position: static !important;

  width: auto !important;
  height: auto !important;

  max-width: 100% !important;
  max-height: 155px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  border: 0 !important;

  float: none !important;

  object-fit: contain !important;
}


/* =========================================================
   PRODUCT INFO
   ========================================================= */

/*
 * INI BAGIAN PENTING.
 *
 * Info dibuat flex supaya tombol bisa didorong
 * ke posisi bawah card yang sama.
 */

.leibel-si-info {
  display: flex !important;

  flex-direction: column !important;

  flex: 1 1 auto !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  text-align: left !important;
}


/* =========================================================
   PRODUCT CODE
   ========================================================= */

.leibel-si-code {
  display: inline-block !important;

  width: fit-content !important;

  margin: 0 0 6px !important;
  padding: 3px 7px !important;

  color: #666 !important;

  background: #f4f4f4 !important;

  border-radius: 3px !important;

  font-size: 10px !important;
  font-weight: 700 !important;

  line-height: 1.25 !important;

  letter-spacing: 0.2px !important;

  text-transform: uppercase !important;
}


/* =========================================================
   PRODUCT TITLE
   ========================================================= */

.leibel-si-title {
  display: block !important;

  width: 100% !important;

  margin: 0 0 7px !important;
  padding: 0 !important;

  color: #222 !important;

  font-size: 17px !important;
  font-weight: 700 !important;

  line-height: 1.3 !important;

  text-align: left !important;
}

.leibel-si-title a {
  color: inherit !important;

  text-decoration: none !important;

  border: 0 !important;
}

.leibel-si-title a:hover {
  color: #555 !important;

  text-decoration: none !important;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.leibel-si-description {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #777 !important;

  font-size: 12px !important;
  font-weight: 400 !important;

  line-height: 1.5 !important;

  text-align: left !important;
}


/* =========================================================
   ACTION AREA
   ========================================================= */

/*
 * Tombol otomatis berada di bagian bawah card.
 *
 * Karena .leibel-si-info menggunakan flex:
 *
 * margin-top: auto
 *
 * akan membuat semua tombol sejajar.
 */

.leibel-si-action {
  display: block !important;

  width: 100% !important;

  margin-top: auto !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;

  padding: 12px 0 0 !important;

  text-align: left !important;
}


/* =========================================================
   BUTTON
   ========================================================= */

.leibel-si-button {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 82px !important;

  height: 34px !important;

  margin: 0 !important;
  padding: 0 11px !important;

  color: #fff !important;

  background: #333 !important;

  border: 1px solid #333 !important;
  border-radius: 3px !important;

  font-size: 10px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  text-decoration: none !important;

  white-space: nowrap !important;

  cursor: pointer !important;

  transition:
    background 0.2s ease,
    border-color 0.2s ease !important;
}

.leibel-si-button:hover {
  color: #fff !important;

  background: #555 !important;

  border-color: #555 !important;

  text-decoration: none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media only screen and (max-width: 900px) {

  .leibel-si-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 18px !important;
  }

  .leibel-si-image {
    height: 165px !important;
  }

  .leibel-si-image img {
    max-height: 155px !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media only screen and (max-width: 600px) {

  .leibel-si-header {
    margin-bottom: 20px !important;
  }

  .leibel-si-header h2 {
    font-size: 24px !important;
  }

  .leibel-si-header p {
    font-size: 12px !important;
  }

  .leibel-si-grid {
    grid-template-columns: 1fr !important;

    gap: 16px !important;
  }

  .leibel-si-card {
    padding: 14px 14px 10px !important;
  }

  .leibel-si-image {
    height: 190px !important;

    margin-bottom: 10px !important;
  }

  .leibel-si-image img {
    max-height: 180px !important;
  }

  .leibel-si-title {
    font-size: 17px !important;
  }

  .leibel-si-action {
    padding-top: 12px !important;
  }

  .leibel-si-button {
    min-width: 82px !important;
    height: 34px !important;
    font-size: 10px !important;
  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media only screen and (max-width: 400px) {

  .leibel-si-image {
    height: 175px !important;
  }

  .leibel-si-image img {
    max-height: 165px !important;
  }

  .leibel-si-title {
    font-size: 16px !important;
  }

  .leibel-si-description {
    font-size: 12px !important;
  }

  .leibel-si-button {
    min-width: 80px !important;
    height: 33px !important;
    font-size: 10px !important;
  }

}

/* =========================================================
   FINAL VISUAL TUNING
   ========================================================= */


/* Kurangi jarak gambar ke kode */

.leibel-si-image {
  height: 155px !important;
  margin-bottom: 6px !important;
}


/* Gambar tetap proporsional */

.leibel-si-image img {
  max-height: 150px !important;
}


/* Rapikan area informasi */

.leibel-si-info {
  gap: 0 !important;
}


/* Code lebih dekat ke judul */

.leibel-si-code {
  margin-bottom: 5px !important;
}


/* Pastikan judul tidak punya margin bawaan theme */

.leibel-si-title {
  margin-top: 0 !important;
  margin-bottom: 7px !important;
  padding-top: 0 !important;
}


/* Hilangkan kemungkinan spacing dari <br> WordPress */

.leibel-si-info br {
  display: none !important;
}


/* Deskripsi lebih rapat */

.leibel-si-description {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* Tombol tetap sejajar di bawah */

.leibel-si-action {
  margin-top: auto !important;
  padding-top: 11px !important;
  padding-bottom: 0 !important;
}


/* Tombol jangan dibesarkan theme */

.leibel-si-button {
  width: 73px !important;
  min-width: 73px !important;
  height: 32px !important;

  padding: 0 !important;

  font-size: 10px !important;
  line-height: 32px !important;
  text-align: center !important;
}





/* =========================================
   LEIBEL - BACK TO CATALOG
   FINAL VERSION
   ========================================= */

.product-back-catalog {
  display: block !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.product-back-catalog a {
  position: relative !important;

  display: block !important;
  width: 300px !important;
  max-width: 100% !important;
  height: 60px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #222 !important;
  background: #fff8d6 !important;

  border: 1px solid #e3bd00 !important;
  border-left: 4px solid #f5c400 !important;
  border-radius: 4px !important;

  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  text-decoration: none !important;
  box-sizing: border-box !important;
}

/* Ikon panah, terpisah dari teks */

.product-back-catalog a .product-back-arrow {
  position: absolute !important;
  top: 50% !important;
  left: 12px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 30px !important;
  height: 30px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #222 !important;
  background: #f5c400 !important;
  border: 0 !important;
  border-radius: 50% !important;

  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  transform: translateY(-50%) !important;
}

/* Teks tepat di tengah tombol */

.product-back-catalog a .product-back-label {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  display: block !important;
  width: max-content !important;
  max-width: calc(100% - 76px) !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #222 !important;
  text-align: center !important;
  white-space: nowrap !important;

  transform: translate(-50%, -50%) !important;
}

/* Hover */

.product-back-catalog a:hover {
  color: #222 !important;
  background: #ffed99 !important;
  text-decoration: none !important;
}

.product-back-catalog a:hover .product-back-arrow {
  background: #e6b800 !important;
}

/* Mobile */

@media only screen and (max-width: 600px) {
  .product-back-catalog a {
    width: 300px !important;
    max-width: 100% !important;
    height: 54px !important;
  }

  .product-back-catalog a .product-back-arrow {
    left: 10px !important;
    width: 28px !important;
    height: 28px !important;
  }
}