/* ==========================================================================
   Layout primitives (container, grids, spacing)
   ========================================================================== */
:root {
  /* Горизонтальные отступы header / footer (gutter + inner padding) */
  --layout-edge-gutter: var(--space-8);
  --layout-content-inset-x: var(--space-16);
}
@media (min-width: 768px) and (max-width: 1179px) {
  :root {
    --layout-edge-gutter: var(--space-16);
  }
}
@media (min-width: 1180px) {
  :root {
    --layout-edge-gutter: var(--space-8);
    --layout-content-inset-x: 20px;
  }
}
@media (min-width: 1360px) {
  :root {
    --layout-content-inset-x: var(--space-32);
  }
}
.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--container-pad-mobile);
  padding-right: var(--container-pad-mobile);
}
.wide-container {
  width: 100%;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 767px) {
  .wide-container {
    padding-left: var(--container-pad-mobile);
    padding-right: var(--container-pad-mobile);
  }
}
.ultra-wide-container {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.stack {
  display: grid;
  gap: var(--space-12);
}
.row {
  display: flex;
  align-items: center;
  gap: var(--space-12);
}
.section {
  padding: var(--space-24) 0;
}
@media (min-width: 768px) and (max-width: 1179px) {
  .container {
    padding-left: var(--container-pad);
    padding-right: var(--container-pad);
  }
}
@media (min-width: 1180px) {
  .container {
    padding-left: 0;
    padding-right: 0;
  }
  .container--white-box {
    background-color: #fff;
    border-radius: 20px;
    padding: var(--space-30);
  }
}
/* Shop-Script: compare leash (оставляем в DOM для логики, но прячем визуально) */
#compare-leash {
  display: none !important;
}
