/* Shared visual shell for the remaining catalog, search, service and account pages. */
body.ov-sitewide-page {
  color: #171c19;
  background: #eef0ee;
}
body.ov-sitewide-page #ov-page-shell {
  width: min(100%, 1440px);
  max-width: 1440px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 16px 45px rgba(24, 32, 26, .08);
}
body.ov-sitewide-page #ov-page-shell > .ov-modern-header--sitewide {
  display: grid;
  grid-template-columns: minmax(170px, 220px) minmax(250px, 420px) minmax(0, 1fr);
  grid-template-areas: "brand search actions" "nav nav nav";
  gap: 8px 22px;
  padding: 16px 28px 0;
  background: #fff;
  border-bottom: 0;
  box-shadow: none;
}
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__brand { grid-area: brand; }
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__logo { width: 210px; max-width: 100%; }
body.ov-sitewide-page .ov-modern-header--sitewide > .ov-search-slot { grid-area: search; min-width: 0; }
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__nav {
  grid-area: nav;
  justify-content: flex-start;
  gap: 6px;
  max-width: none;
  padding: 8px 0 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: visible;
}
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__nav a {
  min-height: 42px;
  padding: 9px 13px;
  color: #353a39;
  font-weight: 700;
  border-bottom: 2px solid transparent;
  border-radius: 0;
}
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__nav a:hover,
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__nav a:focus-visible {
  background: #f3f5f3;
  color: #141a18;
}
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__actions { grid-area: actions; }
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__action {
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #dee2df;
  border-radius: 9px;
  box-shadow: none;
  color: #161b19;
  background: #fff;
}
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__phone span,
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__account span {
  position: static;
  width: auto;
  height: auto;
  clip: auto;
  overflow: visible;
}
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__cart { background: #151b18; color: #fff; }
body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__cart .ov-modern-header__cart-badge { background: #fff; color: #151b18; }
body.ov-sitewide-page .ov-modern-header--sitewide .ov-mobile-search-wrap,
body.ov-sitewide-page #ov-page-shell .ov-modern-header--sitewide .ov-mobile-search-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
body.ov-sitewide-page .ov-modern-header--sitewide .ov-live-search-shell,
body.ov-sitewide-page .ov-modern-header--sitewide .ov-mobile-product-search-bar { display: block; }
body.ov-sitewide-page #ov-page-shell .ov-modern-header--sitewide .ov-live-search-shell { display: block; }
body.ov-sitewide-page .ov-modern-header--sitewide .ov-mobile-search-form { width: 100%; }
body.ov-sitewide-page .ov-modern-header--sitewide .ov-live-search-copy,
body.ov-sitewide-page .ov-modern-header--sitewide .ov-mobile-product-menu-shell { display: none; }
body.ov-sitewide-page #ov-page-shell .ov-modern-header--sitewide .ov-mobile-search-input {
  min-height: 46px;
  padding: 10px 14px 10px 42px;
  border-radius: 9px;
  background: #f5f7f6;
  font-size: 14px;
}
body.ov-sitewide-page #ov-page-shell > .ov-shop-service-ribbon {
  display: flex;
  gap: 26px;
  min-height: 39px;
  padding: 9px 28px;
  background: #f5f7f5;
  border-color: #e6eae6;
  box-shadow: none;
}
body.ov-sitewide-page .ov-shop-service-ribbon__head,
body.ov-sitewide-page .ov-shop-service-ribbon__icon,
body.ov-sitewide-page .ov-shop-service-ribbon__link { display: none; }
body.ov-sitewide-page .ov-shop-service-ribbon__items { display: flex !important; gap: 32px; }
body.ov-sitewide-page .ov-shop-service-ribbon__item { display: inline-flex; flex: 0 0 auto; gap: 0; }
body.ov-sitewide-page .ov-shop-service-ribbon__item:nth-child(n+3) { display: none; }
body.ov-sitewide-page .ov-shop-service-ribbon__item::before {
  content: "•";
  margin-right: 7px;
  color: #2d7c3d;
  font-weight: 900;
}
body.ov-sitewide-page .ov-shop-service-ribbon__copy { display: inline; }
body.ov-sitewide-page .ov-shop-service-ribbon__copy strong,
body.ov-sitewide-page .ov-shop-service-ribbon__copy span {
  display: inline;
  color: #444b46;
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
}
body.ov-sitewide-page .ov-shop-service-ribbon__copy strong { color: #202521; margin-right: 4px; }
body.ov-sitewide-page #ov-page-shell > .ov-main-row {
  grid-template-columns: 208px minmax(0, 1fr);
  gap: 28px;
  padding: 26px 28px 40px;
}
body.ov-sitewide-page #ov-page-shell > .ov-main-row > .ov-left-col { padding: 0; }
body.ov-sitewide-page #ov-page-shell > .ov-main-row > .ov-center-col {
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 0;
}
body.ov-sitewide-page #ov-page-shell > .ov-main-row > .ov-right-col { display: none; }
body.ov-sitewide-page .ov-left-col .ov-product-nav .menulink {
  min-height: 34px;
  margin-bottom: 5px;
  padding: 6px 10px;
  border: 1px solid #e1e5e1;
  border-left: 4px solid var(--ov-nav-accent, #6e8b6d);
  border-radius: 7px;
  background: #fff;
  color: #303632;
}
body.ov-sitewide-page .ov-global-footer { margin-top: 0; }
body.ov-sitewide-page :focus-visible { outline: 2px solid #2d7c3d; outline-offset: 2px; }

@media (max-width: 1150px) and (min-width: 901px) {
  body.ov-sitewide-page #ov-page-shell > .ov-modern-header--sitewide {
    grid-template-columns: 180px minmax(180px, 1fr) auto;
    gap: 8px 10px;
  }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__logo { width: 180px; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__phone span { display: none; }
}
@media (max-width: 900px) {
  body.ov-sitewide-page #ov-page-shell > .ov-modern-header--sitewide {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand actions" "search search";
    gap: 8px;
    padding: 9px 12px 11px;
    border-bottom: 1px solid #e4e8e4;
  }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__logo { width: min(200px, calc(100vw - 145px)); }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__nav,
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__account { display: none; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__phone { display: inline-flex; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__phone span { display: none; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__action { min-width: 44px; min-height: 44px; padding: 8px; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__cart-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-mobile-product-search-bar { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-mobile-product-menu-shell { display: block; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-mobile-product-menu-button { display: grid; place-items: center; width: 44px; min-height: 44px; padding: 0; border-radius: 9px; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-mobile-product-menu-button__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  body.ov-sitewide-page #ov-page-shell > .ov-shop-service-ribbon { display: flex; gap: 20px; overflow-x: auto; padding: 9px 12px; white-space: nowrap; scrollbar-width: none; }
  body.ov-sitewide-page .ov-shop-service-ribbon__items { gap: 20px; }
  body.ov-sitewide-page .ov-shop-service-ribbon__item:nth-child(n+2) { display: none; }
  body.ov-sitewide-page #ov-page-shell > .ov-main-row { display: block; padding: 18px 12px 28px; }
  body.ov-sitewide-page #ov-page-shell > .ov-main-row > .ov-left-col { display: none; }
}
@media (max-width: 420px) {
  body.ov-sitewide-page #ov-page-shell > .ov-modern-header--sitewide,
  body.ov-sitewide-page #ov-page-shell > .ov-main-row { padding-right: 8px; padding-left: 8px; }
  body.ov-sitewide-page .ov-modern-header--sitewide .ov-modern-header__logo { width: min(175px, calc(100vw - 145px)); }
}
