/**
 * Аутентичная миллиметровая верстка этикетки Apple iPhone
 */

:root {
  --label-width: 75mm;
  --label-height: 68mm;
  --legal-font-size: 4.19pt;
  --legal-line-height: 1.18;
  --barcode-w-eid: 40mm;
  --barcode-h-eid: 3.0mm;
  --barcode-w-serial: 30mm;
  --barcode-h-serial: 3.0mm;
  --barcode-w-imei1: 30mm;
  --barcode-h-imei1: 3.0mm;
  --barcode-w-upc: 25mm;
  --barcode-h-upc: 3.0mm;
  --barcode-w-imei2: 30mm;
  --barcode-h-imei2: 3.0mm;
  --left-col-width: 32mm;
}

/* Контейнер листа / этикетки */
.label-sticker-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
}

.label-sticker {
  width: var(--label-width);
  height: var(--label-height);
  max-width: var(--label-width);
  max-height: var(--label-height);
  min-width: var(--label-width);
  min-height: var(--label-height);
  box-sizing: border-box !important;
  background-color: var(--label-bg-color, #ffffff);
  color: #000000;
  font-family: var(--font-apple);
  position: relative;
  overflow: hidden;
  padding: 0; /* Габариты наклейки строго соответствуют настройкам модели (без искажения отступами) */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

.label-sticker.has-border {
  border: 0.25mm solid #000000; /* Линия среза ножницами */
}

/* ==========================================================================
   ВЕРХНИЙ БЛОК: СОВРЕМЕННЫЙ ОРИГИНАЛЬНЫЙ СТИЛЬ (С QR-КОДОМ)
   ========================================================================== */
.modern-header-block {
  width: 100%;
  margin-bottom: 2.4mm;
  padding: 1.5mm 2.0mm 0 2.0mm;
  box-sizing: border-box;
}

.model-big-title {
  font-size: 8.4pt;
  font-weight: 700;
  color: #000000;
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin-bottom: 0.4mm;
}

.designed-by-apple {
  font-size: 5.6pt;
  font-weight: 400;
  color: #000000;
  line-height: 1.15;
  margin-bottom: 2.2mm;
}

.qr-scan-row {
  display: flex;
  align-items: flex-start;
  gap: 2.2mm;
  margin-bottom: 2.2mm;
}

.qr-code-box {
  width: 7.2mm;
  height: 7.2mm;
  flex-shrink: 0;
  line-height: 0;
}

.qr-code-box canvas,
.qr-code-box img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  image-rendering: pixelated;
}

.qr-scan-label {
  font-size: var(--legal-font-size, 4.19pt);
  font-weight: 400;
  color: #000000;
  line-height: var(--legal-line-height, 1.18);
  margin-top: -0.25mm; /* Точное оптическое выравнивание высоты текста по верхнему краю QR-кода */
}

.modern-legal-text {
  font-size: var(--legal-font-size, 4.19pt);
  line-height: var(--legal-line-height, 1.18);
  font-weight: 400;
  color: #000000;
  text-align: justify;
  text-justify: inter-character;
  word-break: break-word;
}

/* Тонкая разделительная линия перфорации / отрыва */
.box-tear-strip-divider {
  width: 100%;
  height: 0;
  border-top: 0.2mm dashed #e0e0e0;
  margin: 2.0mm 0;
}

/* ==========================================================================
   ВЕРХНИЙ БЛОК: КЛАССИЧЕСКИЙ АЗИАТСКИЙ ДВУХЪЯЗЫЧНЫЙ (HK / ZP/A)
   ========================================================================== */
.label-top-section {
  width: 100%;
  flex-shrink: 0;
  margin-bottom: 1.8mm;
  padding: 1.5mm 2.0mm 0 2.0mm;
  box-sizing: border-box;
}

.legal-paragraph {
  font-size: var(--legal-font-size);
  line-height: var(--legal-line-height);
  font-weight: 400;
  color: #000000;
  text-align: justify;
  text-justify: inter-character;
  margin-bottom: 1.2mm;
  word-break: break-word;
}

.legal-paragraph:last-child {
  margin-bottom: 0;
}

.legal-paragraph.cjk-text {
  font-family: var(--font-cjk);
  letter-spacing: -0.01em;
}

.legal-paragraph .tag-bold {
  font-weight: 700;
}

/* ==========================================================================
   НИЖНИЙ БЛОК: ИДЕНТИФИКАТОРЫ И ШТРИХ-КОДЫ (1 В 1 С ОРИГИНАЛОМ APPLE)
   ========================================================================== */
.label-bottom-section {
  width: 100%;
  margin-top: auto; /* Прижимает к самому низу наклейки */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex-shrink: 0;
  padding: 0 2.0mm 1.5mm 2.0mm;
  box-sizing: border-box;
}

/* Регуляторный блок (FCC / IC / 紙 / CE / EAC) над описанием модели */
.regulatory-top-block {
  display: flex;
  align-items: center;
  gap: 1.5mm;
  margin-bottom: 0.8mm;
}

.regulatory-top-block:empty {
  display: none;
}

.fcc-badge-group {
  display: flex;
  align-items: center;
  gap: 1.2mm;
}

.fcc-logo-svg {
  height: 3.6mm;
  width: auto;
  display: block;
  flex-shrink: 0;
}

.fcc-text-col {
  display: flex;
  flex-direction: column;
  font-size: 3.6pt;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #000000;
}

.kami-badge-group {
  display: flex;
  align-items: center;
  gap: 1.0mm;
}

.kami-mark-icon {
  height: 4.0mm;
  width: auto;
  display: block;
}

/* Блок описания модели */
.model-info-block {
  margin-bottom: 1.0mm; /* Текст UPC и EID начинается ровно через 1.0 мм после текста модели */
}

.model-header-line {
  font-size: var(--legal-font-size, 4.19pt);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: #000000;
  white-space: nowrap;
}

.model-header-line .part-number-bold {
  font-weight: 400; /* Не жирный, точно как на оригинале */
}

.model-sub-line {
  font-size: var(--legal-font-size, 4.19pt);
  font-weight: 400;
  line-height: 1.2;
  color: #000000;
  margin-top: 0.2mm;
  white-space: nowrap;
  letter-spacing: normal; /* Натуральный кернинг шрифта без искусственного растягивания! Длина 41.0 мм от 'A' в Assembled до 'l' в Model */
}

/* Блок штрих-кодов: аутентичная сетка Apple */
.barcodes-grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* Выравнивание по верхнему краю: UPC и EID начинаются на одной горизонтали */
  width: 100%;
  box-sizing: border-box;
}

/* Левая колонка: EID, Serial No., IMEI/MEID с естественными межстрочными отступами 1.2 мм */
.barcode-col-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2mm; /* Идеальное межстрочное расстояние, как на оригинальной коробке */
  box-sizing: border-box;
}

/* Правая колонка: UPC и IMEI2 (начинается вверху через 1.0 мм после текста модели) */
.barcode-col-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.2mm;
  margin-left: auto;
  align-self: flex-start; /* Вверху, начинается через 1 мм после Assembled in China */
  box-sizing: border-box;
}

/* Ячейки */
.barcode-cell {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-shrink: 0;
}

.barcode-cell.cell-eid {
  width: var(--barcode-w-eid, 40mm);
}

.barcode-cell.cell-serial {
  width: var(--barcode-w-serial, 30mm);
}

.barcode-cell.cell-imei1 {
  width: var(--barcode-w-imei1, 30mm);
}

.barcode-cell.cell-upc {
  align-items: flex-end;
}

.barcode-cell.cell-imei2 {
  width: var(--barcode-w-imei2, 30mm);
  align-items: flex-start;
}

/* Текстовые метки над штрих-кодами (EID, Serial, IMEI) */
.barcode-label {
  font-size: var(--legal-font-size, 4.19pt);
  line-height: 1.0;
  height: auto;
  font-weight: 400;
  color: #000000;
  white-space: nowrap;
  letter-spacing: -0.01em;
  margin: 0;
  margin-bottom: 0.3mm; /* Аккуратный отступ до своего штрих-кода */
  padding: 0;
  display: flex;
  align-items: flex-end;
}

.barcode-label .prefix-bold {
  font-weight: 400; /* Не жирный, точно как на оригинале */
  margin-right: 0.7mm;
}

/* Обертка для SVG штрих-кода Code 128 */
.barcode-svg-wrapper {
  display: flex;
  align-items: flex-start;
  line-height: 0;
  margin: 0;
  padding: 0;
}

/* Индивидуальные размеры каждого штрих-кода в мм */
#svgEid {
  width: var(--barcode-w-eid, 40mm);
  height: var(--barcode-h-eid, 3.0mm);
  display: block;
  shape-rendering: crispEdges;
}

#svgSerial {
  width: var(--barcode-w-serial, 30mm);
  height: var(--barcode-h-serial, 3.0mm);
  display: block;
  shape-rendering: crispEdges;
}

#svgImei1 {
  width: var(--barcode-w-imei1, 30mm);
  height: var(--barcode-h-imei1, 3.0mm);
  display: block;
  shape-rendering: crispEdges;
}

#svgUpc {
  width: var(--barcode-w-upc, 25mm);
  height: var(--barcode-h-upc, 3.0mm);
  display: block;
  shape-rendering: crispEdges;
}

#svgImei2 {
  width: var(--barcode-w-imei2, 30mm);
  height: var(--barcode-h-imei2, 3.0mm);
  display: block;
  shape-rendering: crispEdges;
}

/* Блок UPC (Ряд 2, Колонка 2) */
.upc-barcode-row {
  display: flex;
  align-items: flex-start;
  gap: 1.0mm;
}

.upc-prefix-label {
  font-size: var(--legal-font-size, 4.19pt);
  line-height: 1.0;
  height: auto;
  font-weight: 400; /* Не жирный, точно как на оригинале */
  color: #000000;
  letter-spacing: -0.01em;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.upc-svg-and-numbers {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.upc-svg-wrapper {
  line-height: 0;
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}

.upc-numbers-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: var(--barcode-w-upc, 25mm);
  box-sizing: border-box;
  font-family: inherit;
  font-size: var(--legal-font-size, 4.19pt);
  line-height: 1.0;
  height: auto;
  font-weight: 400;
  margin: 0;
  margin-top: 0.25mm;
  padding: 0 0.1mm;
  white-space: nowrap;
}

.upc-numbers-row .upc-lead {
  font-size: var(--legal-font-size, 4.19pt);
  line-height: 1.0;
  font-weight: 400;
}

.upc-numbers-row .upc-mid {
  font-size: var(--legal-font-size, 4.19pt);
  line-height: 1.0;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.upc-numbers-row .upc-trail {
  font-size: var(--legal-font-size, 4.19pt);
  line-height: 1.0;
  font-weight: 400;
}



/* Знаки сертификации внизу */
.regulatory-badges-container {
  display: flex;
  align-items: center;
  gap: 1.8mm;
  margin-top: 1.0mm;
}

.regulatory-badges-container:empty {
  display: none;
}

.reg-badge-icon {
  height: 3.8mm;
  width: auto;
  fill: #000000;
}
