/* Freeze-dried catalogue additions. Keep these deliberately close to the
   existing Green Globe Expo card and spacing language. */
.freeze-product-card { height: 100%; display: flex; flex-direction: column; }
.freeze-category-card .blog-img { aspect-ratio: 5 / 6; }
.freeze-category-card .blog-img img { width: 100%; height: 100%; object-fit: cover; }
.freeze-category-section .freeze-category-card {
  overflow: hidden;
  border-radius: 10px;
  background: #001524;
  box-shadow: 0 10px 28px rgba(0, 21, 36, 0.12);
}
.freeze-category-section .freeze-category-card .blog-img a {
  display: block;
  height: 100%;
}
.freeze-category-section .freeze-category-card .blog-content {
  padding: 28px 30px 22px;
}
.freeze-category-section .freeze-category-card .box-title {
  margin-bottom: 12px;
}
.freeze-card-forms { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.freeze-card-forms-label {
  width: 100%;
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.freeze-form-chip {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}
.freeze-category-section .freeze-category-card:hover {
  box-shadow: 0 16px 34px rgba(0, 21, 36, 0.2);
}
.freeze-product-card .blog-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.freeze-product-card .blog-img img { width: 100%; height: 100%; object-fit: cover; }
.freeze-product-card .blog-content { flex: 1; display: flex; flex-direction: column; }
.freeze-product-card .box-title { min-height: 2.8em; }
.freeze-forms { min-height: 3.25em; margin-bottom: 20px; }
.freeze-inquiry-btn { align-self: flex-start; margin-top: auto; }
.freeze-detail-image { display: block; width: 100%; max-height: 520px; object-fit: cover; border-radius: 8px; }
.freeze-form-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 13px;
  border: 1px solid rgba(0, 21, 36, 0.16);
  border-radius: 999px;
  color: var(--title-color);
  background: #f4f7f1;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  transition: 0.3s ease-in-out;
}
.freeze-form-badge:hover {
  color: #fff;
  border-color: var(--theme-color);
  background: var(--theme-color);
}
.freeze-detail-media {
  height: 100%;
  min-height: 460px;
  overflow: hidden;
  border-radius: 12px;
  background: #f7f8f3;
  box-shadow: 0 12px 32px rgba(0, 21, 36, 0.12);
}
.freeze-detail-media .freeze-detail-image {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  transition: transform 0.4s ease-in-out;
}
.freeze-detail-media:hover .freeze-detail-image { transform: scale(1.04); }
.freeze-detail-section { padding-top: 60px; padding-bottom: 60px; }
.freeze-detail-content {
  height: 100%;
  padding: 34px 36px;
  border: 1px solid rgba(0, 21, 36, 0.1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0, 21, 36, 0.08);
}
.freeze-detail-content h2 { margin: 8px 0 18px; }
.freeze-detail-content h3 { margin: 28px 0 14px; font-size: 22px; }
.freeze-detail-category {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid rgba(0, 21, 36, 0.1);
  border-bottom: 1px solid rgba(0, 21, 36, 0.1);
}
.freeze-detail-category span { color: #68737a; font-weight: 600; }
.freeze-detail-category a { color: var(--theme-color); font-weight: 600; }
.freeze-form-list { display: flex; flex-wrap: wrap; gap: 8px; }
.freeze-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 28px; }
.freeze-back-link { color: var(--title-color); font-weight: 600; }
.freeze-back-link:hover { color: var(--theme-color); }
.freeze-related-section { margin-top: 48px; padding-top: 24px; }
.freeze-related-heading { margin-bottom: 28px; }
.freeze-related-heading h3 { margin-top: 8px; }
.freeze-related-section .freeze-category-card { height: 100%; }
@media (max-width: 575px) {
  .freeze-detail-section { padding-top: 40px; padding-bottom: 40px; }
  .freeze-detail-media { min-height: 320px; }
  .freeze-detail-content { padding: 26px 22px; }
  .freeze-detail-actions { align-items: flex-start; flex-direction: column; }
  .freeze-category-section .freeze-category-card .blog-content { padding: 24px 22px 18px; }
  .freeze-product-card .box-title { min-height: 0; }
  .freeze-forms { min-height: 0; }
}
