/* Embalagem desenhada em CSS. Nome, categoria e peso permanecem texto real. */
.product-package {
  --package-paper: #c6a06c;
  --package-light: #ddbc8b;
  --package-edge: #a77948;
  --package-label: #f3eddc;
  --package-ink: #294331;
  position: relative;
  flex: 0 0 auto;
  width: min(176px, 90%);
  aspect-ratio: 4 / 5;
  container-type: inline-size;
  isolation: isolate;
  color: var(--package-ink);
  font-family: 'Nunito Sans', Arial, sans-serif;
  text-align: center;
  filter: drop-shadow(0 7px 5px #402b191c);
}
.product-package::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 9%; right: 9%; bottom: 0;
  height: 4%; border-radius: 50%;
  background: #4b39221e;
}
.product-package-body {
  position: absolute;
  inset: 2% 5% 3%;
  overflow: hidden;
  clip-path: polygon(3% 0, 97% 0, 100% 96%, 97% 100%, 3% 100%, 0 96%);
  background:
    repeating-linear-gradient(95deg, #69441808 0 1px, transparent 1px 4px),
    linear-gradient(90deg, var(--package-edge), var(--package-paper) 7%, var(--package-light) 32%, var(--package-paper) 72%, var(--package-edge));
  border-radius: 2% 2% 4% 4%;
  box-shadow: inset 0 1px #efd9b1, inset 0 -8px 10px #7a51241a;
}
.product-package-body::before, .product-package-body::after {
  content: ''; position: absolute; top: 18%; bottom: 5%; width: 7%;
  border-inline: 1px solid #82572b28;
  background: linear-gradient(90deg, #80522520, transparent);
}
.product-package-body::before { left: 1%; transform: skewX(-2deg); }
.product-package-body::after { right: 1%; transform: skewX(2deg); }
.product-package-seal {
  position: absolute; inset: 3.8% 4% auto; height: 12%;
  border-top: 1px dashed #76502d80;
  border-bottom: 3px double #76502d70;
  background: linear-gradient(180deg, #8053280a, #f4ddb42b 60%, #7e522821);
}
.product-package-label {
  position: absolute; z-index: 1;
  inset: 23% 11% 8%;
  box-sizing: border-box;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  min-width: 0; padding: 7% 6% 6%;
  background: var(--package-label);
  border: 1px solid #5363459c;
  outline: 1px solid #53634550;
  outline-offset: -4px;
  box-shadow: 0 1px 3px #5b3d2324;
}
.product-package-brand {
  display: block; flex: 0 0 auto;
  font-family: Lora, Georgia, serif;
  font-weight: 600; font-size: 10px; font-size: 5.7cqi; line-height: 1.25;
  white-space: nowrap;
}
.product-package-rule { flex: 0 0 auto; width: 25%; height: 1px; background: #6b795357; margin: 4% 0; }
.product-package-category {
  display: block; flex: 0 0 auto;
  font-size: 6px; font-size: 3.4cqi; line-height: 1.3; letter-spacing: .1em;
  text-transform: uppercase; overflow-wrap: anywhere;
}
.product-package-name {
  display: block; min-width: 0; width: 100%;
  margin-top: 5%; margin-bottom: 3%;
  font-family: Lora, Georgia, serif; font-size: 15px; font-size: 8.6cqi;
  font-weight: 600; line-height: 1.14;
  text-wrap: balance; overflow-wrap: normal; hyphens: manual;
}
.product-package-word {
  /* A palavra passa inteira à próxima linha; só divide se exceder o rótulo. */
  display: inline-block; width: max-content; max-width: 100%; vertical-align: top;
  text-wrap: wrap; overflow-wrap: anywhere; hyphens: auto;
}
.product-package[data-name-size="long"] .product-package-name { font-size: 12px; font-size: 6.8cqi; }
.product-package[data-name-size="compact"] .product-package-name { font-size: 7px; font-size: 3.8cqi; line-height: 1.1; margin-top: 5%; }
.product-package-weight {
  display: block; flex: 0 0 auto; margin-top: auto;
  padding-top: 3%; font-size: 9px; font-size: 5.1cqi;
  font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums;
}
.product-package-origin { display: block; flex: 0 0 auto; margin-top: 3%; font-size: 5px; font-size: 2.9cqi; line-height: 1.2; letter-spacing: .12em; text-transform: uppercase; }
.product-package-fold { position: absolute; inset: auto 5% 1%; height: 4%; border-top: 1px solid #76502d33; background: linear-gradient(180deg, #94673912, #76502d25); }
.shop-line-image.product-package { width: 66px; height: auto; aspect-ratio: 4 / 5; object-fit: initial; align-self: start; }
.package-admin-preview { width: 240px; max-width: 100%; padding: 20px; box-sizing: border-box; background: #e9dfca; border: 1px solid #c9bb9a; border-radius: 4px; }
.package-admin-preview .product-package { width: 100%; max-width: 200px; }
.package-admin-thumbnail { display: inline-block; width: 64px; vertical-align: middle; }
.package-admin-thumbnail .product-package { width: 64px; max-width: none; }
@media (max-width: 1023px) {
  .page .desktop-s057 > .product-package { width: min(130px, 90%); }
}
@media (forced-colors: active) {
  .product-package-label { border: 1px solid CanvasText; }
}
