/* Packaging labels & sticker sheets — Fresh Market */

.pack-sheet {
  width: 210mm;
  min-height: 297mm;
  background: #fff;
  box-shadow: 0 18px 50px rgba(23, 59, 42, 0.12);
  padding: 8mm;
  position: relative;
}

.pack-sheet .cut-hint {
  position: absolute;
  top: 3mm;
  right: 8mm;
  font-size: 2.2mm;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #999;
}

.sticker-grid {
  display: grid;
  gap: 4mm;
  justify-content: center;
  align-content: start;
}

.sticker-grid.rounds {
  grid-template-columns: repeat(4, 42mm);
  grid-auto-rows: 42mm;
}

.sticker-grid.seals {
  grid-template-columns: repeat(3, 62mm);
  grid-auto-rows: 42mm;
  margin-top: 5mm;
}

.sticker-grid.strips {
  grid-template-columns: 1fr;
  gap: 3.5mm;
}

.sticker-grid.honey {
  grid-template-columns: repeat(2, 90mm);
  gap: 5mm 6mm;
}

/* ---- Round bag sticker (40mm) ---- */

.sticker-round {
  width: 40mm;
  height: 40mm;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 25%, rgba(200, 155, 60, 0.35), transparent 45%),
    linear-gradient(160deg, #214f39, var(--forest-deep));
  color: var(--cream);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3mm;
  position: relative;
  page-break-inside: avoid;
}

.sticker-round img {
  width: 11mm;
  height: 11mm;
  border-radius: 50%;
  margin-bottom: 1.2mm;
}

.sticker-round strong {
  font-family: var(--display);
  font-size: 3.2mm;
  font-weight: 600;
  line-height: 1.05;
}

.sticker-round span {
  font-size: 1.8mm;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.75;
  margin-top: 0.8mm;
}

/* ---- Outer bag seal ---- */

.sticker-seal {
  width: 62mm;
  height: 42mm;
  background: var(--cream);
  border: 0.45mm solid var(--forest-deep);
  color: var(--forest-deep);
  padding: 3mm 3.5mm;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  gap: 1.2mm 3mm;
  page-break-inside: avoid;
}

.sticker-seal .seal-top {
  display: flex;
  align-items: center;
  gap: 2.5mm;
  grid-column: 1;
}

.sticker-seal img {
  width: 8mm;
  height: 8mm;
  border-radius: 50%;
}

.sticker-seal .seal-top strong {
  font-family: var(--display);
  font-size: 3.2mm;
  font-weight: 600;
  display: block;
  line-height: 1;
}

.sticker-seal .seal-top em {
  font-style: normal;
  font-size: 1.8mm;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.sticker-seal .qr {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 14mm;
  height: 14mm;
  object-fit: contain;
  background: #fff;
  align-self: start;
}

.sticker-seal .seal-line {
  font-size: 2.2mm;
  color: var(--muted);
  line-height: 1.25;
  grid-column: 1;
}

.sticker-seal .seal-wa {
  font-family: var(--display);
  font-size: 3.3mm;
  font-weight: 600;
  border-top: 0.3mm solid rgba(23, 59, 42, 0.18);
  padding-top: 1.3mm;
  grid-column: 1 / -1;
}

/* ---- Egg tray strip ---- */

.sticker-strip {
  width: 100%;
  height: 24mm;
  background: var(--forest-deep);
  color: var(--cream);
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 4mm;
  padding: 0 4mm 0 5mm;
  page-break-inside: avoid;
}

.sticker-strip img {
  width: 12mm;
  height: 12mm;
  border-radius: 50%;
}

.sticker-strip .strip-copy strong {
  display: block;
  font-family: var(--display);
  font-size: 4.2mm;
  font-weight: 600;
}

.sticker-strip .strip-copy span {
  font-size: 2.3mm;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.75;
}

.sticker-strip .strip-wa {
  font-family: var(--display);
  font-size: 3.8mm;
  font-weight: 600;
  text-align: right;
}

.sticker-strip .qr {
  width: 14mm;
  height: 14mm;
  object-fit: contain;
  background: #fff;
  padding: 0.8mm;
}

/* ---- Honey bottle label ---- */

.honey-label {
  width: 90mm;
  height: 55mm;
  background:
    linear-gradient(180deg, var(--cream) 0%, #f0e6d0 100%);
  border: 0.4mm solid rgba(23, 59, 42, 0.2);
  color: var(--forest-deep);
  padding: 4mm 5mm;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  gap: 2mm 4mm;
  page-break-inside: avoid;
  position: relative;
  overflow: hidden;
}

.honey-label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2.2mm;
  background: var(--gold);
}

.honey-label .hl-top {
  display: flex;
  align-items: center;
  gap: 2.5mm;
  padding-top: 1mm;
  grid-column: 1;
}

.honey-label img {
  width: 9mm;
  height: 9mm;
  border-radius: 50%;
}

.honey-label .hl-brand strong {
  display: block;
  font-family: var(--display);
  font-size: 3.8mm;
  font-weight: 600;
  line-height: 1;
}

.honey-label .hl-brand span {
  font-size: 1.9mm;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.honey-label .qr {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 16mm;
  height: 16mm;
  object-fit: contain;
  background: #fff;
  align-self: start;
  margin-top: 1mm;
}

.honey-label .hl-main {
  grid-column: 1;
}

.honey-label h2 {
  margin: 0;
  font-family: var(--display);
  font-size: 8mm;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
}

.honey-label .hl-note {
  margin: 1mm 0 0;
  font-size: 2.3mm;
  color: var(--muted);
  line-height: 1.3;
}

.honey-label .hl-foot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-top: 0.3mm solid rgba(23, 59, 42, 0.15);
  padding-top: 1.8mm;
  font-size: 2.2mm;
  grid-column: 1 / -1;
}

.honey-label .hl-foot strong {
  font-family: var(--display);
  font-size: 3.4mm;
  font-weight: 600;
}

.honey-label.small {
  width: 70mm;
  height: 45mm;
  padding: 3.5mm 4mm;
}

.honey-label.small h2 {
  font-size: 5.5mm;
}

.honey-label.small .hl-note {
  font-size: 2.1mm;
}

/* Size variants row */
.honey-size-row {
  display: flex;
  gap: 3mm;
  margin-top: 2mm;
}

.honey-size-chip {
  flex: 1;
  text-align: center;
  border: 0.3mm solid rgba(23, 59, 42, 0.25);
  padding: 1.5mm;
  font-size: 2.2mm;
  font-weight: 650;
}

/* ---- Neck / twist-tie tag ---- */

.neck-tag {
  width: 35mm;
  height: 55mm;
  background: var(--forest-deep);
  color: var(--cream);
  padding: 4mm 3mm;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 2mm;
  page-break-inside: avoid;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%);
}

.neck-tag img {
  width: 10mm;
  height: 10mm;
  border-radius: 50%;
}

.neck-tag strong {
  font-family: var(--display);
  font-size: 3mm;
  font-weight: 600;
}

.neck-tag span {
  font-size: 1.8mm;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.75;
}

.neck-grid {
  display: grid;
  grid-template-columns: repeat(5, 35mm);
  gap: 4mm;
  justify-content: center;
}

/* ---- Materials guide (screen + print A4) ---- */

.materials-doc {
  width: 210mm;
  min-height: 297mm;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 18px 50px rgba(23, 59, 42, 0.12);
  padding: 12mm;
}

.materials-doc h1 {
  font-family: var(--display);
  font-size: 8mm;
  font-weight: 560;
  color: var(--forest-deep);
  margin: 0 0 3mm;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.materials-doc .lead {
  margin: 0 0 6mm;
  color: var(--muted);
  font-size: 3.4mm;
  max-width: 55ch;
}

.materials-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 2.7mm;
  margin-bottom: 6mm;
}

.materials-table th,
.materials-table td {
  text-align: left;
  vertical-align: top;
  padding: 2.2mm 2mm;
  border-bottom: 0.3mm solid rgba(23, 59, 42, 0.14);
}

.materials-table th {
  font-size: 2.2mm;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
  border-bottom-color: var(--forest-deep);
}

.materials-table td strong {
  color: var(--forest-deep);
}

.materials-doc h2 {
  font-family: var(--display);
  font-size: 4.5mm;
  color: var(--forest-deep);
  margin: 0 0 2.5mm;
}

.pack-steps {
  margin: 0 0 5mm;
  padding-left: 4.5mm;
  font-size: 2.8mm;
  display: grid;
  gap: 1.8mm;
}

.pack-steps li strong {
  color: var(--forest-deep);
}

.materials-note {
  background: var(--cream);
  border-left: 1.2mm solid var(--gold);
  padding: 3.5mm 4mm;
  font-size: 2.6mm;
  color: var(--muted);
}

.materials-note strong {
  color: var(--forest-deep);
}

/* mock bag preview (screen only) */

.pack-mock {
  width: min(420px, 100%);
  background: rgba(255, 255, 255, 0.55);
  border: 1px dashed rgba(23, 59, 42, 0.25);
  padding: 18px;
  display: grid;
  gap: 12px;
}

.pack-mock .mock-bag {
  height: 180px;
  background:
    linear-gradient(180deg, rgba(197, 208, 211, 0.35), rgba(197, 208, 211, 0.1));
  border: 1px solid rgba(23, 59, 42, 0.15);
  border-radius: 8px 8px 18px 18px;
  position: relative;
  display: grid;
  place-items: center;
}

.pack-mock .mock-bag .sticker-round {
  width: 72px;
  height: 72px;
  box-shadow: 0 6px 18px rgba(23, 59, 42, 0.2);
}

.pack-mock .mock-bag .sticker-round img {
  width: 22px;
  height: 22px;
}

.pack-mock .mock-bag .sticker-round strong {
  font-size: 11px;
}

.pack-mock .mock-bag .sticker-round span {
  font-size: 7px;
}

.pack-mock p {
  margin: 0;
  font-size: 0.88rem;
  color: #5c564c;
}

@media print {
  .pack-sheet,
  .materials-doc {
    box-shadow: none;
  }
}
