:root {
  --site-content-width: 1320px;
  --site-gutter: 24px;
  --site-shell-width: min(var(--site-content-width), calc(100% - var(--site-gutter) * 2));
}
@media (max-width: 767.98px) {
  :root { --site-gutter: 14px; }
}
/* Shared content box; Bootstrap column gutters remain intact. */
body .container,
body .site-container,
body .catalog-page__shell,
body .new-catalog__shell,
body .site-shell {
  box-sizing: border-box;
  width: var(--site-shell-width);
  max-width: var(--site-content-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}
/* The animated header positions its inner shell in viewport coordinates. */
body .site-header > .container {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body .site-breadcrumbs,
body .catalog-page__breadcrumbs,
body .new-catalog__breadcrumbs {
  display: block;
  min-width: 0;
  min-height: 20px;
  max-width: 100%;
  margin: 0 0 14px;
  padding: 0;
  color: #8b929c;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
  overflow-x: auto;
}
.site-breadcrumbs ol {
  display: flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-breadcrumbs li {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
}
body .site-breadcrumbs a,
body .site-breadcrumbs button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: color .18s;
}
body .site-breadcrumbs a:hover,
body .site-breadcrumbs button:hover { color: #ff4054; }
.site-breadcrumbs__separator { flex: 0 0 auto; }
body .catalog-page__breadcrumbs,
body .new-catalog__breadcrumbs { display: flex; gap: 9px; align-items: center; }
@media (max-width: 767.98px) {
  body .site-breadcrumbs,
  body .catalog-page__breadcrumbs,
  body .new-catalog__breadcrumbs { margin-bottom: 11px; font-size: 11px; }
}
@media (min-width: 992px) {
  body .site-header__inner {
    width: var(--product-header-width-live, var(--site-shell-width));
    margin-left: var(--product-header-left-live, max(var(--site-gutter), calc((100% - var(--site-content-width)) / 2)));
  }
  /* Let search absorb the available space in every animation frame.
     Switching between fixed and auto widths can push returning actions outside. */
  body.single-product .site-header .site-header__search-wrap,
  body.single-product .site-header.live-product-header .site-header__search-wrap {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
    transition: none;
  }
  body.single-product .site-header .site-header__store,
  body.single-product .site-header .site-header__actions,
  body.single-product .site-header.live-product-header .site-header__store,
  body.single-product .site-header.live-product-header .site-header__actions {
    flex: 0 1 auto;
  }
  body.single-product .site-header .site-header__actions {
    justify-content: flex-end;
  }
  /* Keep the tabs on their column edges when they join the header. */
  body.single-product .sk-product-tabs-wrap.is-stuck {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/* Product reference: 100px header clearance + Bootstrap's 3rem page gap.
   Keep this independent of the animated header height to avoid scroll jumps. */
:root {
  --site-header-clearance: 100px;
  --site-page-gap: 3rem;
  --site-page-top: calc(var(--site-header-clearance) + var(--site-page-gap));
}
@media (max-width: 767.98px) {
  :root { --site-header-clearance: 130px; }
}
body:has(.site-main) { padding-top: 0 !important; }
.site-main { display: flow-root; }
body .site-main > :is(
  .container,
  .catalog-page,
  .new-catalog,
  .account-page,
  .checkout-page,
  .collection-page,
  .skde-page,
  .paint-hero,
  .site-page-start
),
body .site-main > .woocommerce-cart-wrapper > .container {
  margin-top: 0 !important;
  padding-top: var(--site-page-top) !important;
}
body .site-main > .checkout-page > .site-shell {
  padding-top: 0 !important;
}
.site-empty-page {
  display: flex;
  flex-direction: column;
}
.site-empty-page > .site-breadcrumbs { align-self: stretch; }
.site-empty-page > .text-center {
  display: grid;
  justify-items: center;
  align-content: center;
  flex: 1;
}