/**
 * Точечные дополнения поверх Tailwind CDN + bloom-site.css.
 * Базовая защита от горизонтального переполнения на мобильных (контент + медиа).
 */

/**
 * Боковые поля шапки / контента / подвала.
 * — Планшет/десктоп (от 768px): фиксированно 80px (или 60px — см. переменную).
 * — Смартфоны и узкие экраны: компактно, без этих крупных полей.
 * Не зависит от Tailwind CDN.
 */
:root {
  /* Поменяйте на 60px, если нужны более узкие края на ПК/планшете */
  --vapack-gutter-desktop: 80px;
}

.vapack-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
}

@media (min-width: 768px) {
  .vapack-shell {
    padding-left: max(var(--vapack-gutter-desktop), env(safe-area-inset-left, 0px));
    padding-right: max(var(--vapack-gutter-desktop), env(safe-area-inset-right, 0px));
  }
}

html {
  overflow-x: hidden;
}

img,
video,
canvas {
  max-width: 100%;
  height: auto;
}

/* Длинные слова / URL в текстовых блоках */
.break-anywhere {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Главная: hero с текстом слева и фото справа */
.vapack-home-hero {
  width: 100%;
}

.vapack-home-hero-copy {
  box-sizing: border-box;
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
}

@media (min-width: 768px) {
  .vapack-home-hero-copy {
    padding-left: max(var(--vapack-gutter-desktop), env(safe-area-inset-left, 0px));
    padding-right: 2.5rem;
  }
}

@media (min-width: 1024px) {
  .vapack-home-hero-copy {
    padding-right: 3rem;
  }
}

.vapack-home-hero-media-link {
  margin: 0 1rem 1rem;
  text-decoration: none;
}

.vapack-home-hero-media {
  background-color: #f3f4f6;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 1rem;
  min-height: inherit;
}

.vapack-home-hero-media-link .vapack-home-hero-media {
  margin: 0;
}

@media (min-width: 768px) {
  .vapack-home-hero-media-link {
    margin-left: 1.5rem;
    margin-right: max(var(--vapack-gutter-desktop), env(safe-area-inset-right, 0px));
  }
}

@media (min-width: 1024px) {
  .vapack-home-hero-media-link {
    margin: 1.25rem max(var(--vapack-gutter-desktop), env(safe-area-inset-right, 0px)) 1.25rem 0.75rem;
    align-self: stretch;
  }
}

.vapack-home-usp {
  padding-top: 2.5rem;
}

@media (min-width: 640px) {
  .vapack-home-usp {
    padding-top: 3.5rem;
  }
}
.status-pill {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: var(--muted);
  color: var(--foreground);
}
.status-processing { background: #fef3c7; color: #92400e; }
.status-manufacturing { background: #dbeafe; color: #1e40af; }
.status-ready_ship { background: #dcfce7; color: #166534; }
.status-shipped { background: #e5e5e5; color: #404040; }

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/**
 * Адаптивные таблицы на смартфонах: каждая строка — «карточка», ячейки столбиком (подпись + значение).
 * Требуется data-label на каждой <td>. На экранах ≥768px — обычная таблица.
 */
@media (max-width: 767.98px) {
  table.vapack-table-stack thead {
    display: none;
  }

  table.vapack-table-stack tbody tr {
    display: block;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    overflow: hidden;
    background: var(--card, var(--background, #fff));
  }

  table.vapack-table-stack tbody tr:last-child {
    margin-bottom: 0;
  }

  table.vapack-table-stack tbody td {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem 0.75rem;
    width: 100%;
    box-sizing: border-box;
    border: none !important;
    border-bottom: 1px solid var(--border, #e5e7eb) !important;
    text-align: right !important;
    padding: 0.65rem 0.75rem !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  table.vapack-table-stack tbody td:last-child {
    border-bottom: none !important;
  }

  table.vapack-table-stack tbody td::before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--muted-foreground, #737373);
    text-align: left;
    flex-shrink: 0;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.35;
    max-width: 46%;
    padding-top: 0.15rem;
  }

  table.vapack-table-stack tbody td[data-label='']::before,
  table.vapack-table-stack tbody td:not([data-label])::before {
    content: none;
  }

  table.vapack-table-stack tbody td[data-label=''] {
    justify-content: flex-end;
  }
}

@media (min-width: 768px) {
  .vapack-table-stack-outer {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /*
   * Tailwind Preflight (CDN): *, ::before, ::after { border-width:0; border-style:solid; border-color:#e5e7eb }
   * На thead/tbody/tr даёт артефакты и мешает скруглению. Рамки только у th/td с классом border.
   */
  table.vapack-table-stack > thead,
  table.vapack-table-stack > tbody,
  table.vapack-table-stack > thead > tr,
  table.vapack-table-stack > tbody > tr {
    border-width: 0;
    border-color: transparent;
  }

  .vapack-table-stack-outer.vapack-table-rounded {
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 0.75rem;
    overflow: hidden;
  }

  table.vapack-table-stack.vapack-table-bordered {
    border: none;
  }
}

/* Калькулятор развёртки */
.vapack-calc-blank .vapack-calc-svg-label {
  font-size: 11px;
  font-family: ui-sans-serif, system-ui, sans-serif;
  fill: #374151;
  pointer-events: none;
}

.vapack-calc-blank .vapack-calc-svg-dim {
  font-size: 12px;
  font-family: ui-sans-serif, system-ui, sans-serif;
  fill: #6b7280;
}

#vapack-calculator input[type='range'] {
  accent-color: var(--primary, #ea580c);
}

#vapack-calculator .vapack-calc-num-input {
  -moz-appearance: textfield;
  appearance: textfield;
}

#vapack-calculator .vapack-calc-num-input::-webkit-outer-spin-button,
#vapack-calculator .vapack-calc-num-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.vapack-calc-captcha-box img {
  display: block;
}

.vapack-calc-captcha-refresh {
  cursor: pointer;
  line-height: 1;
}
