/* Skinless storefront: shared commerce components with a neutral visual system.
   Loaded only when the custom theme is disabled; cart/checkout internals stay isolated. */

/* New tokens never replace the shared theme variables. Do not inherit typography
   through the product purchase container: it also contains the cart modal. */
:is(.header, .header-mobile, #live_search_results, main.main-content.products,
    main.main-content.product, .shop-default-home, main.shop-account-standalone,
    .recently-viewed-products, .shop-base-services, .shop-base-footer) {
  --storefront-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

/* Change only browsing-page canvases, not the cart/checkout body. */
body:has(> main.main-content.products),
body:has(> main.main-content.product),
body:has(> main.main-content > .shop-default-home) {background: #fff;}

/* Shared browsing width. These exact roots exclude cart/checkout content. */
.header > .header-inner,
.header > .navbar > ul.menu,
main.main-content.products,
main.main-content:has(> .shop-default-home),
main.main-content.product > .product-inner,
main.main-content.product > .product-tabs > .tabs,
main.main-content.product > .similar-products-outer-2 > .similar-products,
.recently-viewed-products,
.shop-base-services > .inner,
.shop-base-footer > .inner,
.shop-base-footer > .reviews {
  width: calc(100% - clamp(32px, 5.5vw, 80px));
  max-width: 1360px;
  min-width: 0;
  margin-inline: auto;
  box-sizing: border-box;
}

/* Skinless header. Load only through the explicit !theme_custom_enabled() gate.
   Do not move these rules into the shared stylesheet or theme-default.css. */
.header {
  margin: 0 0 28px;
  background: #fff;
  border-bottom: 1px solid #e8eae7;
}
.header > .header-inner {
  display: grid;
  grid-template-columns: minmax(130px, 170px) minmax(180px, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 3.4vw, 52px);
  min-height: 90px;
  padding: 14px 0;
}
.header > .header-inner > .logo {min-width: 0;}
.header > .header-inner > .logo img {width: 100%; max-width: 158px; max-height: 52px; object-fit: contain;}
.header > .header-inner > .search {width: 100%; min-width: 0; max-width: none; margin: 0;}
.header > .header-inner > .right {gap: 20px; min-width: 0;}
.header > .header-inner > .right > .dropdown-item > .parrent {border-radius: 10px;}
.header > .header-inner > .right > .dropdown-item > .parrent > .icon-wrapper {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 34px;
  border-radius: 10px;
  transition: background-color .18s ease;
}
.header > .header-inner > .right > .dropdown-item:hover > .parrent > .icon-wrapper {background: #f1f3f0;}
/* The shared action-label rules are important; restrict the matching overrides
   to the direct header triggers, never the dropdown contents. */
.header > .header-inner > .right > .dropdown-item > .parrent > .label {
  max-width: 108px;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: var(--storefront-font);
  color: #5f6670 !important;
  font-size: 11px;
  font-weight: 500;
}
.header > .header-inner > .right > .dropdown-item:hover > .parrent > .label,
.header > .header-inner > .right > .dropdown-item > .parrent:focus-visible > .label {color: #3158d7 !important;}
.header > .header-inner > .right > .dropdown-item:hover > .parrent > .icon-wrapper > .icon,
.header > .header-inner > .right > .dropdown-item > .parrent:focus-visible > .icon-wrapper > .icon,
.header-mobile > .header-inner > .right > .dropdown-item:hover > .parrent > .icon-wrapper > .icon,
.header-mobile > .header-inner > .right > .dropdown-item > .parrent:focus-visible > .icon-wrapper > .icon {
  filter: var(--primary-icon-filter);
}
.header > .header-inner > .right > .shop-language-control select,
.header-mobile > .header-inner > .right > .shop-language-control select {
  min-height: 32px;
  max-width: 58px;
  border-color: transparent;
  border-radius: 8px;
  color: #5f6670;
  font-family: var(--storefront-font);
}

/* Quiet field focus, scoped away from cart/checkout and the nested cart modal. */
.header > .header-inner > .right > .shop-language-control select:focus,
.header-mobile > .header-inner > .right > .shop-language-control select:focus,
main.main-content.products :is(input, select, textarea):focus,
main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .quantity:focus,
main.main-content.product > .product-tabs :is(input, select, textarea):focus {
  outline: 0;
  box-shadow: none;
  background-color: #eef0ec;
}

/* Search geometry stays inside the existing AJAX form. */
.header .search-form,
.header-mobile .search-form {
  height: 48px;
  box-sizing: border-box;
  border: 0;
  border-radius: 12px;
  background: #f6f7f5;
  transition: background-color .15s ease;
  padding: 0;
}
.header .search-form:focus-within,
.header-mobile .search-form:focus-within {background: #eef0ec; box-shadow: none;}
.header .search-form .search-input,
.header-mobile .search-form .search-input {
  min-width: 0;
  color: #202329;
  font-family: var(--storefront-font);
  background: transparent;
  font-size: 14px;
  padding-left: 15px;
}
.header .search-form .search-button,
.header-mobile .search-form .search-button {
  flex: 0 0 52px;
  width: 52px;
  /* Shared search buttons force a transparent background. */
  background: #23262d !important;
  height: 100%;
  border-radius: 0;
}
.header .search-form .search-button:hover,
.header-mobile .search-form .search-button:hover {background: #3a3e48 !important;}
.header .search-form .search-button:focus-visible,
.header-mobile .search-form .search-button:focus-visible {outline: 2px solid #fff !important; outline-offset: -5px;}
.header .search-form .search-button .icon-search,
.header-mobile .search-form .search-button .icon-search {width: 20px; height: 20px; opacity: 1; filter: brightness(0) invert(1);}

/* A quiet navigation band; each item's padding bridges the dropdown hover path. */
.header > .navbar {position: relative; margin: 0; background: #f6f7f5; border-top: 1px solid #eceee9;}
.header .navbar > ul.menu {display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; padding: 0; margin-top: 0; margin-bottom: 0;}
.header .navbar > ul.menu > li {display: block; margin: 0; padding: 6px 0;}
.header .navbar > ul.menu > li:hover,
.header .navbar > ul.menu > li:focus-within {background: transparent;}
.header .navbar > ul.menu > li > a.menu-item {
  padding: 10px 18px;
  border-radius: 7px;
  color: #202329;
  font-family: var(--storefront-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  overflow-wrap: anywhere;
  position: relative;
}
.header .navbar > ul.menu > li > a.menu-item:hover,
.header .navbar > ul.menu > li:focus-within > a.menu-item,
.header .navbar > ul.menu > li.highlighted > a.menu-item {color: #202329; background: transparent;}
.header .navbar > ul.menu > li > a.menu-item:focus-visible {outline: 0;}
.header .navbar > ul.menu > li.category > .subcategories {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: calc(100% - 30px);
  min-width: 0;
  max-width: 1360px;
  margin: 0 auto;
  padding: 28px;
  background: #fff;
  border: 1px solid #e6e8ec;
  border-top: 0;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 18px 36px rgba(25, 30, 40, .09);
  z-index: 9998;
}
.header .navbar > ul.menu > li.category:hover > .subcategories,
.header .navbar > ul.menu > li.category:focus-within > .subcategories {display: block;}
.header .navbar > ul.menu > li.category > .subcategories > .title > a {
  display: inline-block;
  margin: 0 0 16px;
  padding: 0;
  color: #3158d7;
  font-family: var(--storefront-font);
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}
.header .navbar > ul.menu > li.category > .subcategories > ul {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
}
/* The final column is the promotional photograph/CTA. Empty text columns are
   legacy balancing placeholders; hiding both leaves only real category links. */
.header .navbar > ul.menu > li.category > .subcategories > ul > ol.empty,
.header .navbar > ul.menu > li.category > .subcategories > ul > ol:empty,
.header .navbar > ul.menu > li.category > .subcategories > ul > ol:last-child {display: none;}
.header .navbar > ul.menu > li.category > .subcategories > ul > ol > li {margin: 0; padding: 0;}
.header .navbar > ul.menu > li.category > .subcategories > ul > ol > li > a {
  display: block;
  margin: 0;
  padding: 8px 10px;
  color: #5f6670;
  border-radius: 6px;
  font-family: var(--storefront-font);
  font-size: 14px;
  line-height: 20px;
  overflow-wrap: anywhere;
}
.header .navbar > ul.menu > li.category > .subcategories > ul > ol > li > a:hover,
.header .navbar > ul.menu > li.category > .subcategories > ul > ol > li > a:focus-visible {color: #3158d7; background: #f5f6f8;}

.header .navbar > ul.menu > li > a.menu-item::after {
  content: "";
  position: absolute;
  height: 2px;
  left: 18px;
  right: 18px;
  bottom: 5px;
  background: #23262d;
  transform: scaleX(0);
  transition: transform .18s ease;
}
.header .navbar > ul.menu > li:is(:hover, :focus-within, .highlighted) > a.menu-item::after {transform: scaleX(1);}

/* The JS-created sticky header retains its original visibility and offsets. */
.header.sticky {padding: 2px 0; border-bottom-color: #e6e8ec; box-shadow: 0 4px 16px rgba(31, 41, 55, .08);}
.header.sticky > .header-inner {min-height: 64px;}
.header.sticky > .header-inner > .logo img {max-width: 142px; max-height: 40px;}
.header.sticky .search-form {height: 44px;}
.header.sticky .search-form .search-input,
.header.sticky .search-form .search-button {height: 100%;}

/* Live search is appended to body by general.js, so its exact ID is the scope.
   Position, width and visibility remain controlled by that existing script. */
#live_search_results {
  max-height: min(70vh, 520px);
  overflow-y: auto;
  border-color: #e6e8ec;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(25, 30, 40, .12);
  font-family: var(--storefront-font);
}
#live_search_results ul.live-search-list > li.product {border-bottom-color: #e8edf2;}
#live_search_results ul.live-search-list > li.product > a {
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  box-sizing: border-box;
  padding: 12px 14px;
  color: #202329 !important;
}
#live_search_results ul.live-search-list > li.product > a:hover,
#live_search_results ul.live-search-list > li.product > a:focus-visible {background: #f5f6f8;}
#live_search_results ul.live-search-list > li.product > a > img {width: 52px; height: 60px; object-fit: contain; border-color: #e8edf2; border-radius: 6px; background: #fff;}
#live_search_results ul.live-search-list > li.product .ls-name {font-size: 14px; font-weight: 700; line-height: 20px; overflow-wrap: anywhere;}
#live_search_results ul.live-search-list > li.product .ls-subtitle {display: block; margin-top: 3px; color: #5f6670; font-size: 12px; line-height: 18px;}
#live_search_results ul.live-search-list > li.product .ls-price {display: block; margin-top: 5px; line-height: 20px;}
#live_search_results ul.live-search-list > li.product .ls-price .price {color: #3158d7; font-size: 14px;}
#live_search_results ul.live-search-list > li.product .ls-price .original-price,
#live_search_results ul.live-search-list > li.product .ls-price .sale-price {color: #5f6670; font-size: 12px;}
#live_search_results ul.live-search-list > li.ls-view-all {background: #f5f6f8;}
#live_search_results ul.live-search-list > li.ls-view-all > a {padding: 14px; color: #3158d7; font-size: 14px;}
#live_search_results ul.live-search-list > li.ls-view-all > a:hover {color: #2445b0; background: #f0f3fc;}
#live_search_results a:focus-visible {outline: 2px solid #3158d7; outline-offset: -4px;}
#live_search_results .ls-no-results {color: #5f6670; line-height: 22px;}

@media (min-width: 921px) and (max-width: 1100px) {
  .header > .header-inner {grid-template-columns: 140px minmax(170px, 1fr) auto; gap: 20px;}
  .header > .header-inner > .right {gap: 14px;}
  .header > .header-inner > .right > .dropdown-item > .parrent > .label {max-width: 92px;}
  .header .navbar > ul.menu > li > a.menu-item {padding: 10px 14px; font-size: 13px;}
}

@media (max-width: 920px) {
  /* Preserve the shared fixed positioning and the existing body offset. Only
     the internal row changes; important is required by the shared mobile CSS. */
  .header-mobile {min-width: 0; border-bottom: 1px solid #e6e8ec; box-shadow: 0 3px 12px rgba(31, 41, 55, .06) !important;}
  .header-mobile > .header-inner {min-width: 0;}
  .header-mobile > .header-inner:not(.search-row) {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 6px 0 !important;
  }
  .header-mobile > .header-inner > .col-1.menu {position: static !important; margin: 0 !important;}
  .header-mobile > .header-inner > .col-1.menu > .menu-bars span {background: #5f6670 !important; border-radius: 2px !important;}
  .header-mobile > .header-inner > .col-2.logo {min-width: 0; height: auto !important; text-align: left !important;}
  .header-mobile > .header-inner > .col-2.logo > a {display: block; width: fit-content; max-width: 100%;}
  .header-mobile > .header-inner > .col-2.logo img {display: block !important; width: 100%; max-width: 136px !important; max-height: 36px; padding-top: 0 !important; object-fit: contain;}
  .header-mobile > .header-inner > .col-3.right {position: static !important; height: 40px !important; margin: 0 !important; gap: 10px !important;}
  .header-mobile > .header-inner > .col-3.right > .dropdown-item {padding: 7px 0;}
  .header-mobile > .header-inner > .col-3.right > .shop-language-control select {max-width: 52px; padding: 4px;}
  .header-mobile > .header-inner.search-row {padding-top: 8px !important;}
  .header-mobile > .header-inner.search-row .search-form {height: 42px;}
  .header-mobile .col-1 .mobile-menu {border-right: 1px solid #e6e8ec; box-shadow: 4px 0 20px rgba(31, 41, 55, .12);}
  .header-mobile .col-1 .slide-panel ul.primary-menu {background: #fff;}
  .header-mobile .col-1 .slide-panel ul.primary-menu li.menu-item > .main-category {
    padding: 16px 20px;
    color: #202329;
    background: #fff;
    border-bottom-color: #e6e8ec;
    font-family: var(--storefront-font);
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
  }
  .header-mobile .col-1 .slide-panel ul.primary-menu li.menu-item > .main-category:hover,
  .header-mobile .col-1 .slide-panel ul.primary-menu li.menu-item > .main-category:focus,
  .header-mobile .col-1 .slide-panel ul.primary-menu li.menu-item.open > .main-category {color: #3158d7; background: #f5f6f8;}
  .header-mobile .col-1 .slide-panel ul.primary-menu li.menu-item > .main-category > .icon {filter: var(--primary-icon-filter);}
  .header-mobile .col-1 .slide-panel ul.primary-menu li.dropdown > ul.subcategories {background: #f7f8fa;}
  .header-mobile .col-1 .slide-panel ul.primary-menu li.dropdown > ul.subcategories > .title > a {padding: 15px 20px 8px; color: #3158d7; font-family: var(--storefront-font);}
  .header-mobile .col-1 .slide-panel ul.primary-menu li.dropdown > ul.subcategories > li > a {padding: 11px 20px 11px 30px; color: #5f6670; border-bottom-color: #e8edf2; line-height: 21px; overflow-wrap: anywhere;}
  .header-mobile .col-1 .slide-panel ul.primary-menu li.dropdown > ul.subcategories > li > a:hover,
  .header-mobile .col-1 .slide-panel ul.primary-menu li.dropdown > ul.subcategories > li > a:focus-visible {color: #3158d7; background: #edf3fa;}
  .header-mobile .mobile-menu > .panel-inner > .close {display: grid; place-items: center; width: 40px; height: 40px; padding: 8px; background: #3158d7; border-radius: 0 6px 6px 0;}
  .header-mobile .mobile-menu > .panel-inner > .close:focus-visible {outline: 2px solid #fff; outline-offset: -4px;}
  .header-mobile .col-1 .slide-panel .menu-secondary {padding: 24px 20px; text-align: left;}
  .header-mobile .col-1 .slide-panel .menu-secondary > .title,
  .header-mobile .col-1 .slide-panel .menu-secondary .social-icons > .title {color: #202329; font-family: var(--storefront-font); font-size: 14px; font-weight: 700;}
  .header-mobile .col-1 .slide-panel .menu-secondary > ul.links > li > a {display: block; padding: 5px 0; color: #5f6670;}
  .header-mobile .col-1 .slide-panel .menu-secondary > ul.links > li > a:hover {color: #3158d7;}
}

@media (max-width: 420px) {
  .header-mobile > .header-inner:not(.search-row) {gap: 8px;}
  .header-mobile > .header-inner > .col-2.logo img {max-width: 118px !important;}
  .header-mobile > .header-inner > .col-3.right {gap: 8px !important;}
  #live_search_results ul.live-search-list > li.product > a {gap: 10px; padding: 10px 12px;}
}


/* Catalog and home: these roots exclude the cart and checkout's product rows. */
main.main-content.products {
  min-width: 0;
  padding-bottom: 64px;
  color: #202329;
  background: #fff;
  font-family: var(--storefront-font);
}
main.main-content.products > .breadcumbs-box {margin: 24px 0 36px;}
main.main-content.products .breadcumbs {font-family: var(--storefront-font); font-size: 12px; color: #68707c;}
main.main-content.products .breadcumbs :is(li,a) {color: #68707c;}
main.main-content.products .inner-with-sidebar {min-width: 0;}
main.main-content.products .products-header {
  padding: 0 0 10px;
  margin: 0;
  background: transparent;
}
main.main-content.products .products-header h1 {
  font-family: var(--storefront-font);
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight: 700;
  line-height: 1.2;
  color: #202329;
  overflow-wrap: anywhere;
  letter-spacing: -.035em;
}
main.main-content.products .products-header .products-count {top: 0; font-size: 13px; line-height: 1.5; color: #68707c;
  display: inline-block;
  margin-left: 8px;
  letter-spacing: 0;
}
main.main-content.products .products-header .category-description {max-width: 720px; font-size: 16px; line-height: 1.7; color: #626970; margin-top: 14px;}
main.main-content.products .products-header .selected-filters {margin-top: 16px;}
main.main-content.products .products-header .selected-filters h3 {font: 700 13px/1.5 var(--storefront-font); margin: 0 0 5px;}
main.main-content.products .products-header .selected-filters li {font-family: var(--storefront-font); border-color: #e6e8ec; border-radius: 5px; margin: 4px 8px 4px 0;}
main.main-content.products .products-header .selected-filters .delete {background: #eef3f8; color: #3158d7; border-radius: 0 4px 4px 0;}
main.main-content.products .sidebar .content {padding: 0 0 26px; margin-bottom: 26px; border: 0; border-radius: 0; box-shadow: none;
  border-bottom: 1px solid #eceef1;
  background: transparent;
}
main.main-content.products .filters h4 {font: 600 14px/1.5 var(--storefront-font); color: #202329; margin: 0 0 14px;}
main.main-content.products .filters li {line-height: 1.5; margin: 0;}
main.main-content.products .filters li a {display: inline-block; padding: 7px 0; color: #626970;
  font-family: var(--storefront-font);
  font-size: 14px;
}
main.main-content.products .filters ul li.checkbox a::before {width: 16px; height: 16px; margin-right: 10px; border-color: #d7dbd5; border-radius: 4px;}
main.main-content.products .filters ul li.checked a::before {line-height: 16px;}
main.main-content.products .filters ul.colors li span {border-radius: 50%;}
main.main-content.products .filters ul.colors li.checked span::before {left: 3px;}
main.main-content.products .filters ul.variants li span {font-size: 12px; color: #737a81;}
main.main-content.products .filters li a:hover {color: #3158d7;}
main.main-content.products .filters ul li.checked a {color: #3158d7;}
main.main-content.products .filters ul li.checked a::before {background-color: #3158d7; border-color: #3158d7;}
main.main-content.products .subcategories {height: auto; min-height: 39px;}
main.main-content.products .subcategories ul.subcategories-menu {padding-bottom: 5px;}
main.main-content.products .subcategories ul.subcategories-menu li a {font: 400 13px/1.5 var(--storefront-font); border-color: #e6e8ec; border-radius: 6px; padding: 7px 12px;}
main.main-content.products .subcategories ul.subcategories-menu li.active a,
main.main-content.products .subcategories ul.subcategories-menu li a:hover {background: #f0f3fc; border-color: #b8cde8; color: #3158d7;}
main.main-content.products .products-header2 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  /* The shared toolbar sets vertical padding with !important at every breakpoint. */
  padding: 14px 0 !important;
  margin: 22px 0 28px;
  border: 0;
  border-radius: 0;
  background: #fff;
  border-bottom: 1px solid #eceef1;
}
main.main-content.products .products-header2 p {font-size: 13px; color: #5f6670; margin: 0;}
main.main-content.products .products-header2 .btn {width: 210px; max-width: 100%; min-height: 42px; border-color: transparent; border-radius: 9px; padding: 10px 14px; margin: 0;
  background: #f6f7f8;
}
main.main-content.products .products-header2 .btn .btn-value {font-family: var(--storefront-font); font-size: 13px; color: #202329; line-height: 20px;}
main.main-content.products .products-header2 .btn:focus-within {outline: 0; box-shadow: none; background: #eef0ec;}
main.main-content.products .products-header2 .sort-menu {padding-right: 30px;}
main.main-content.products .products-header2 .sort-menu .icon-arrow-d {top: calc(50% - 8px);}
main.main-content.products .products-header2 .sort-menu ul {box-sizing: border-box; border-color: #e6e8ec; border-radius: 10px; box-shadow: 0 8px 20px rgba(31,41,55,.08);
  padding: 8px;
  margin-top: 10px;
}
main.main-content.products .products-header2 .sort-menu ul li.selected a {background: #f0f3fc; color: #3158d7;}
main.main-content.products .products-header2 .list-type {top: 0; float: none; flex: 0 0 auto; margin-left: auto; white-space: nowrap; line-height: 0;
  display: inline-flex;
  padding: 4px;
  border-radius: 10px;
  background: #f5f6f8;
}
main.main-content.products .products-header2 .list-type li a {background-color: transparent; border-color: transparent; padding: 6px; opacity: .8;
  border-radius: 7px;
}
main.main-content.products .products-header2 .list-type li.selected a {background-color: #fff; border-color: #fff; opacity: 1;
  box-shadow: 0 1px 4px rgba(30, 35, 45, .08);
}
main.main-content.products .products-pagination {padding: 16px 0; margin-bottom: 0; background: transparent;}
main.main-content.products .pagination {display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; font-family: var(--storefront-font); font-size: 13px;}
main.main-content.products .pagination li a,
main.main-content.products .pagination li span {margin: 0; border: 1px solid #e6e8ec; border-radius: 10px; background: #fff; min-width: 42px; text-align: center; box-sizing: border-box;
  border-color: transparent;
  padding: 10px 12px;
}
main.main-content.products .pagination li .current,
main.main-content.products .pagination li a:hover {background: #23262d; border-color: #23262d; color: #fff;}
main.main-content.products .no-results {border: 1px solid #e6e8ec; border-radius: 8px;}
main.main-content.products .no-results :is(h1,h2,h3) {font-family: var(--storefront-font);}

/* Home uses real catalog media and the existing shared product cards. */
main.main-content:has(> .shop-default-home) {min-width: 0;}
.shop-default-home {min-width: 0; padding: 4px 0 80px; color: #1d2327; font-family: var(--storefront-font);}
.shop-default-home .shop-home-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 44px;
  padding: clamp(28px, 4vw, 56px);
  margin: 0;
  border: 0;
  border-radius: 24px;
  background: #f2f3ef;
}
.shop-default-home .shop-home-intro.has-media {grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);}
.shop-default-home .shop-home-copy {min-width: 0; padding-block: 12px;}
.shop-default-home .shop-home-intro .shop-home-eyebrow {
  display: block;
  margin: 0 0 22px;
  font: 600 11px/1.5 var(--storefront-font);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #626970;
}
.shop-default-home .shop-home-intro h1 {
  max-width: 700px;
  margin: 0;
  color: #1d2327;
  font: 650 clamp(38px, 4.4vw, 64px)/1.06 var(--storefront-font);
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
}
.shop-default-home .shop-home-intro p {max-width: 34em; margin: 22px 0 0; font: 400 16px/1.8 var(--storefront-font); color: #626970;}
.shop-default-home .shop-home-actions {display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 30px;}
.shop-default-home .shop-home-intro .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin: 0;
  padding: 14px 24px;
  box-sizing: border-box;
  border: 1px solid #1d2327;
  border-radius: 10px;
  background: #1d2327;
  color: #fff;
  font: 600 14px/1.4 var(--storefront-font);
  text-decoration: none;
}
.shop-default-home .shop-home-intro .button:hover {background: #353d41; border-color: #353d41;}
.shop-default-home .shop-home-secondary {padding: 10px 0; color: #1d2327; font-size: 13px; font-weight: 600; text-underline-offset: 5px; text-decoration: underline; text-decoration-color: #b9c0b8;}
.shop-default-home .shop-home-secondary:hover {text-decoration-color: currentColor;}
.shop-default-home .shop-home-visual {display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 16px; min-width: 0;}
.shop-default-home .shop-home-visual:has(.shop-home-shot:nth-child(2)) {grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);}
.shop-default-home .shop-home-shot {min-width: 0; margin: 0; padding: 0; background: #fff; border-radius: 16px; overflow: hidden;}
.shop-default-home .shop-home-shot:nth-child(2) {margin-top: 56px;}
.shop-default-home .shop-home-shot > a {display: block; overflow: hidden; background: #ebece8;}
.shop-default-home .shop-home-shot img {display: block; width: 100%; height: auto; max-height: 380px; aspect-ratio: 4 / 5; object-fit: contain; transition: transform .25s ease;}
.shop-default-home .shop-home-shot > a:hover img {transform: scale(1.025);}
.shop-default-home .shop-home-shot figcaption {padding: 14px 16px 16px; color: #41494e; font: 500 12px/1.5 var(--storefront-font); overflow-wrap: anywhere;}
.shop-default-home section + section {margin-top: 56px;}
.shop-default-home .shop-home-section-heading {display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 10px 24px; margin-bottom: 24px;}
.shop-default-home h2 {margin: 0; color: #1d2327; font: 650 clamp(25px, 2.6vw, 34px)/1.2 var(--storefront-font); letter-spacing: -.035em;}
.shop-default-home .shop-home-section-heading > p {margin: 0; color: #626970; font: 400 14px/1.5 var(--storefront-font);}
.shop-default-home .shop-home-categories {display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 12px; padding: 0; margin: 0;}
.shop-default-home .shop-home-categories li {min-width: 0; margin: 0;}
.shop-default-home .shop-home-categories a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  align-content: space-between;
  gap: 24px 10px;
  min-height: 130px;
  height: 100%;
  box-sizing: border-box;
  padding: 20px;
  border: 1px solid #e8eae7;
  border-radius: 12px;
  background: #fff;
  color: #1d2327;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.shop-default-home .shop-home-category-index {grid-column: 1 / -1; color: #7b827a; font: 500 11px/1.2 var(--storefront-font); letter-spacing: .04em;}
.shop-default-home .shop-home-category-name {align-self: center; font: 600 14px/1.5 var(--storefront-font); overflow-wrap: anywhere;}
.shop-default-home .shop-home-category-arrow {align-self: end; justify-self: end; color: #626970; font: 400 22px/1 var(--storefront-font);}
.shop-default-home .shop-home-categories a:hover {background: #f2f3ef; border-color: #d5dad2; color: #1d2327;}
.shop-default-home #home-products {scroll-margin-top: 150px;}
.shop-default-home .shop-home-empty {padding: 28px; border: 1px solid #e8eae7; border-radius: 12px; background: #f8f9f6; color: #626970; font: 400 15px/1.7 var(--storefront-font);}

/* Regular grids only. Tiny Slider retains control over its track and item widths. */
:is(main.main-content.products, .shop-default-home) .product-items-grid:not(.similar-products-slider) {gap: 36px 24px; margin: 0;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: left;
  align-content: normal;
  margin: 0;
  box-sizing: border-box;
  box-shadow: none;
}
:is(main.main-content.products, .shop-default-home) .product-items-grid > li:not(.tns-item) {border: 0; border-radius: 0; background: transparent; padding: 0; overflow: visible; transition: none;}
:is(main.main-content.products, .shop-default-home) .product-items-grid > li:not(.tns-item):is(:hover,:focus-within) {border-color: transparent; box-shadow: none;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > a.product-link:first-child {display: block; position: relative; aspect-ratio: 4 / 5; width: 100%; overflow: hidden; box-sizing: border-box; border: 1px solid #e4e7e1; background: #fff; border-radius: 16px;
  box-shadow: 0 2px 10px rgba(24, 28, 26, .035);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.shop-default-home .product-items-grid:not(.similar-products-slider) {grid-template-columns: repeat(4, minmax(0, 1fr));}
main.main-content.products .product-items-grid:not(.similar-products-slider) {grid-template-columns: repeat(3, minmax(0, 1fr));}

/* These two important values override only the existing inline image fit/height. */
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > a.product-link:first-child > img.product-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top;
  box-sizing: border-box;
  padding: 0;
  border-radius: 0;
}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > a.product-link + a.product-link {display: block; padding: 16px 0 0;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .title {display: block; font: 500 15px/1.5 var(--storefront-font); color: #1d2327; min-height: 3em; padding: 0; margin: 0; text-transform: none; overflow-wrap: anywhere;
  letter-spacing: -.01em;
}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .product-link:hover .title {color: #3158d7;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > .rating {color: #68707c; margin: 8px 0 0; font-size: 12px;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > .description {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 13px; line-height: 1.5; color: #68707c; margin: 8px 0 0;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > .price-outer {margin: auto 0 0; padding-top: 10px; line-height: 1.5; background: transparent;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > .price-outer .price {font: 650 21px/1.4 var(--storefront-font); color: #1d2327;
  letter-spacing: -.02em;
}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > .price-outer :is(.sale-price,.original-price) {font: 400 13px/1.4 var(--storefront-font); color: #68707c; text-decoration: line-through; margin-left: 6px; white-space: nowrap;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > .price-outer :is(.price.unavailable,.note,.reseller-standard-price) {font-size: 13px; color: #68707c;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .labels {display: flex; flex-wrap: wrap; gap: 6px; left: 12px; right: auto; top: 12px; width: auto; max-width: calc(100% - 24px); font: 600 10px/1.5 var(--storefront-font);
  letter-spacing: .035em;
}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .labels :is(.new,.discount) {padding: 6px 10px; margin: 0; border-radius: 5px;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .labels .new {background: rgba(255,255,255,.96); color: #30343b;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .labels .discount {background: #23262d; color: #fff;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .labels .black-friday-discount :is(.name,.value) {color: #fff; font-family: var(--storefront-font);}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .variants {background: rgba(255,255,255,.96); padding: 12px; border-top: 0;
  box-sizing: border-box;
}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .variants span {color: #41494e; background: #fff; border-radius: 5px; font-family: var(--storefront-font); padding: 4px 9px;
  border: 1px solid #e7e8eb;
}

/* Keyboard focus receives the same variant preview as pointer hover. */
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li:focus-within .variants {display: block;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > a.product-link:focus-visible {outline: 2px solid #3158d7; outline-offset: 3px;}
:is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li:is(:hover,:focus-within) > a.product-link:first-child,
main.main-content.products .product-items-list > li:is(:hover,:focus-within) > a.image-cont {border-color: #d7ddd2; box-shadow: 0 8px 24px rgba(24, 28, 26, .05);}

/* Tiny Slider retains its existing gutter and track geometry. */
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .similar-products-slider {--shop-slider-gutter: 16px;}
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li.tns-item {position: relative; background: transparent; border: 0; border-radius: 0; padding-top: 0; padding-bottom: 0; padding-left: 0;}
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li.tns-item > * {position: relative;}

/* Related-product navigation sits beside the heading, inside the page gutters. */
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .similar-products > .products {position: relative;}
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .similar-products > .products > h2 {min-height: 40px; padding-right: 108px;}
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .similar-products > .products > .tns-outer {position: static;}
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .similar-products > .products > .tns-outer > .tns-controls {display: flex; justify-content: flex-end; gap: 8px; top: 0; left: auto; right: 0; width: 88px; height: 40px;}
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .tns-controls button {float: none; width: 40px; height: 40px; margin: 0; padding: 0; border: 1px solid #e3e6df; border-radius: 50%; background: #fff; color: #1d2327; font: 400 20px/1 var(--storefront-font); opacity: 1;}
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .tns-controls button:hover {background: #f2f3ef; box-shadow: none;}
:is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .tns-controls button:disabled {opacity: .35; cursor: default;}

/* The list view keeps a compact horizontal product row on small screens too. */
main.main-content.products .product-items-list {gap: 24px; margin: 0;}
main.main-content.products .product-items-list > li {display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 28px; align-items: start; border: 0; border-radius: 0; padding: 0 0 24px; box-shadow: none;
  border-bottom: 1px solid #eceef1;
}
main.main-content.products .product-items-list > li:is(:hover,:focus-within) {border-color: #eceef1;}
main.main-content.products .product-items-list > li > a.image-cont {display: block; position: relative; float: none; width: 100%; aspect-ratio: 4 / 5; box-sizing: border-box; border: 1px solid #e4e7e1; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 10px rgba(24, 28, 26, .035); transition: border-color .2s ease, box-shadow .2s ease;}
main.main-content.products .product-items-list > li > a.image-cont > img {position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover !important; object-position: center top; padding: 0; box-sizing: border-box;}
main.main-content.products .product-items-list > li > .product-info {display: flex; flex-direction: column; min-width: 0; width: auto; margin: 0;}
main.main-content.products .product-items-list > li > .product-info .title {font: 600 19px/1.45 var(--storefront-font); margin: 0; color: #202329; overflow-wrap: anywhere;
  letter-spacing: -.015em;
}
main.main-content.products .product-items-list > li > .product-info .description {margin: 9px 0 0; font-size: 14px; line-height: 1.6; color: #5f6670;}
main.main-content.products .product-items-list > li > .product-info .variants {margin: 12px 0 0;}
main.main-content.products .product-items-list > li > .product-info .variants span {background: #eef2f6; color: #334155; border-radius: 3px; margin: 0 4px 4px 0;}
main.main-content.products .product-items-list > li > .product-info .price-outer {margin: 13px 0 0; background: transparent;}
main.main-content.products .product-items-list > li > .product-info .price-outer .price {font: 700 22px/1.4 var(--storefront-font); color: #202329;}
main.main-content.products .product-items-list > li > .product-info .price-outer :is(.sale-price,.original-price) {font: 400 14px/1.4 var(--storefront-font); color: #68707c; text-decoration: line-through; margin-left: 7px;}
main.main-content.products .product-items-list > li .labels {left: 6px; right: auto; top: 6px; width: auto; font: 700 11px/1.4 var(--storefront-font);}
main.main-content.products .product-items-list > li .labels :is(.new,.discount) {padding: 4px 7px; margin: 0 0 4px; border-radius: 4px;}
main.main-content.products .product-items-list > li .labels .new {background: rgba(255,255,255,.96); color: #30343b;}
main.main-content.products .product-items-list > li .labels .black-friday-discount .name {color: #fff; font-family: var(--storefront-font);}

/* Saved and recently viewed products, without changing account or checkout controls. */
main.shop-account-standalone .shop-account-wishlist-item {gap: 16px; padding: 16px 0;}
main.shop-account-standalone .shop-account-wishlist-item > a {flex: 0 0 90px;}
main.shop-account-standalone .shop-account-wishlist-item img {width: 90px; height: 90px; object-fit: contain; box-sizing: border-box; background: #f5f5f6; border: 0; border-radius: 12px; padding: 0;}
main.shop-account-standalone .shop-account-wishlist-item > div > a {font: 700 15px/1.5 var(--storefront-font); color: #202329;}
.recently-viewed-products > h1 {font: 700 18px/1.4 var(--storefront-font); color: #202329;}
.recently-viewed-products > ul {gap: 12px;}
.recently-viewed-products > ul > li > a {background: #f5f5f6; border: 0; border-radius: 12px; padding: 0;
  overflow: hidden;
}
.recently-viewed-products > ul > li > a > img {aspect-ratio: 4 / 5; object-fit: contain; border-radius: 0;}

@media (max-width: 1100px) {
  .shop-default-home .product-items-grid:not(.similar-products-slider) {grid-template-columns: repeat(3, minmax(0,1fr));}
}
@media (max-width: 940px) {
  main.main-content.products .filters-menu .panel-inner {width: 254px; margin: 0 18px;}
  main.main-content.products .filters-menu .close {background: #334155;}
  main.main-content.products .products-header2 .btn {min-height: 50px;}
  main.main-content.products .products-header2 .btn .btn-title {font-family: var(--storefront-font); color: #202329; font-size: 12px;}
  main.main-content.products .products-header2 .btn .btn-value {font-size: 12px; line-height: 18px; color: #5f6670;}
}
@media (max-width: 640px) {
  :is(main.main-content.products, .shop-default-home) .product-items-grid:not(.similar-products-slider) {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;}
  :is(main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .similar-products-slider {--shop-slider-gutter: 10px;}
  :is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > a.product-link + a.product-link {padding: 12px 0 0;}
  :is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li .title {font-size: 13px;}
  :is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > :is(.rating,.description) {margin-left: 0; margin-right: 0;}
  :is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > .price-outer {margin-left: 0; margin-right: 0; margin-bottom: 0; padding-top: 9px;}
  :is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > .price-outer .price {font-size: 17px;}
  main.main-content.products .product-items-list > li {grid-template-columns: 112px minmax(0,1fr); gap: 16px; padding: 0 0 18px;}
  main.main-content.products .product-items-list > li > .product-info .title {font-size: 14px;}
  main.main-content.products .product-items-list > li > .product-info .description {font-size: 12px; line-height: 1.5;}
  main.main-content.products .product-items-list > li > .product-info .price-outer .price {font-size: 18px;}
  main.main-content.products .product-items-list > li .labels {font-size: 10px;}
  .shop-default-home {padding: 4px 0 48px;}
  .shop-default-home .shop-home-intro {padding: 26px; border-radius: 16px; gap: 28px;}
  .shop-default-home .shop-home-intro.has-media {grid-template-columns: minmax(0, 1fr);}
  .shop-default-home .shop-home-copy {padding: 0;}
  .shop-default-home .shop-home-intro .shop-home-eyebrow {margin-bottom: 16px; font-size: 10px;}
  .shop-default-home .shop-home-intro h1 {font-size: clamp(34px, 9.5vw, 46px);}
  .shop-default-home .shop-home-intro p {font-size: 14px; line-height: 1.7; margin-top: 16px;}
  .shop-default-home .shop-home-actions {gap: 8px 16px; margin-top: 22px;}
  .shop-default-home .shop-home-intro .button {min-height: 46px; padding: 12px 18px; font-size: 13px;}
  .shop-default-home .shop-home-shot {border-radius: 10px;}
  .shop-default-home .shop-home-shot:nth-child(2) {margin-top: 28px;}
  .shop-default-home .shop-home-shot figcaption {padding: 10px; font-size: 11px;}
  .shop-default-home .shop-home-visual {gap: 10px;}
  .shop-default-home section + section {margin-top: 36px;}
  .shop-default-home .shop-home-section-heading {margin-bottom: 20px; gap: 8px;}
  .shop-default-home .shop-home-section-heading > p {font-size: 13px;}
  .shop-default-home .shop-home-categories {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px;}
  .shop-default-home .shop-home-categories a {padding: 16px; min-height: 116px; gap: 20px 6px;}
  .shop-default-home .shop-home-category-name {font-size: 13px;}
}
@media (max-width: 550px) {
  main.main-content.products .products-header {padding-top: 0 !important;}
  main.main-content.products .products-header2 {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 12px 0 !important;}
  main.main-content.products .products-header2 .btn {width: 100%; margin: 0; min-width: 0;}
  main.main-content.products .products-header2 div.btn:first-of-type {margin-bottom: 0;}
  main.main-content.products .products-header2 .sort-menu {padding-right: 25px;}
  main.main-content.products.no-sidebar .products-header2 {grid-template-columns: minmax(0,1fr);}
  main.main-content.products .products-count {display: block; margin-top: 6px;
  margin-left: 0;
}
  main.main-content.products .pagination {justify-content: center; gap: 5px;}
  main.main-content.products .pagination li a {padding-left: 10px; padding-right: 10px;}
}
@media (min-width: 941px) {
  /* Keep 220px of usable filter width; the divider sits inside the existing gap. */
  main.main-content.products .sidebar {width: 242px; box-sizing: border-box; padding-right: 21px; border-right: 1px solid #e8ebe5;}
  main.main-content.products .sidebar.filters-menu {background: transparent;}
  main.main-content.products .sidebar .panel-inner {padding-bottom: 0;}
  main.main-content.products .inner-with-sidebar {width: calc(100% - 264px);}
  main.main-content.products.no-sidebar .inner-with-sidebar {width: 100%;}
  main.main-content.products .filters ul.categories {max-height: 260px; overflow-y: auto; padding-right: 8px; scrollbar-width: thin; scrollbar-color: #d4d7dd transparent;}
}


/* Product detail only. Loaded by the explicit skinless storefront stylesheet.
   The gallery modal, add-to-cart modal, and shared catalog cards are excluded. */

main.main-content.product {min-width: 0; background: #fff;}

main.main-content.product > .product-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(0, 1fr);
  gap: 32px clamp(36px, 4.5vw, 72px);
  align-items: start;
  min-width: 0;
}

main.main-content.product > .product-inner > .breadcumbs-box {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  font-family: var(--storefront-font);
  font-size: 12px;
  line-height: 1.6;
}

main.main-content.product > .product-inner > .breadcumbs-box :is(li,a) {color: #68707c;}

main.main-content.product > .product-inner > .product-images {
  grid-column: 1;
  grid-row: 2;
  float: none;
  width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
  background: transparent;
}

main.main-content.product > .product-inner > .product-images > .main-image {
  width: calc(100% - 96px);
  border: 0;
  border-radius: 18px;
  background: #f2f3ef;
  overflow: hidden;
}

main.main-content.product > .product-inner > .product-images.layout-horizontal > .main-image,
main.main-content.product > .product-inner > .product-images > .main-image.no-thumbnails {
  float: none;
  width: 100%;
}

main.main-content.product > .product-inner > .product-images > .main-image img.product-image {
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
  object-position: center top;
  background: #f2f3ef;
}

main.main-content.product > .product-inner > .product-images > .thumbSlider-vertical {
  width: 80px;
}

main.main-content.product > .product-inner > .product-images > .thumbSlider-horizontal {
  width: calc(100% - 80px);
  margin: 14px auto 0;
}

main.main-content.product > .product-inner > .product-images > .thumbnails img {
  object-fit: contain;
  object-position: center;
  border-color: #e6e8ec;
  border-radius: 10px;
  background: #ffffff;
}

main.main-content.product > .product-inner > .product-images > .thumbnails img:hover,
main.main-content.product > .product-inner > .product-images > .thumbnails img.active {
  border-color: #1d2327;
}

main.main-content.product > .product-inner > .product-images > .main-image > .labels {
  top: 16px;
  right: 16px;
  width: auto;
  font-family: var(--storefront-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .035em;
}

main.main-content.product > .product-inner > .product-images > .main-image > .labels > span {
  padding: 6px 10px;
  border-radius: 6px;
}

main.main-content.product > .product-inner > .product-images > .main-image > .labels > .new {
  background: rgba(255,255,255,.96);
  color: #30343b;
}

main.main-content.product > .product-inner > .product-images > .main-image > .labels > .discount {
  background: #23262d;
}

main.main-content.product > .product-inner > #product-info {
  grid-column: 2;
  grid-row: 2;
  float: none;
  width: auto;
  min-width: 0;
  padding: 0;
  margin: 0;
}

/* Only structural panel styles belong here: inherited font/color declarations
   would also reach the nested added-to-cart modal. */
main.main-content.product > .product-inner > #product-info > .content {
  padding: 4px 0 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

main.main-content.product > .product-inner > #product-info > .content > h1 {
  margin: 0 0 20px;
  color: #202329;
  font-family: var(--storefront-font);
  font-size: clamp(28px, 2.65vw, 38px);
  font-weight: 650;
  line-height: 1.17;
  overflow-wrap: anywhere;
  letter-spacing: -.035em;
}

main.main-content.product > .product-inner > #product-info > .content > .rating {
  margin: 0 0 24px !important;
  color: #5f6670;
  font-family: var(--storefront-font);
  font-size: 13px;
  line-height: 22px;
}

main.main-content.product > .product-inner > #product-info > .content > .rating > .tab-content-link {
  color: #3158d7;
}

main.main-content.product > .product-inner > #product-info > .content > .price-outer {
  margin: 0 0 26px !important;
  line-height: 1.45;
  padding-bottom: 24px;
  border-bottom: 1px solid #eceef1;
}

main.main-content.product > .product-inner > #product-info > .content > .price-outer .price {
  color: #202329;
  font-family: var(--storefront-font);
  font-size: 34px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.035em;
}

main.main-content.product > .product-inner > #product-info > .content > .price-outer .original-price {
  margin-left: 10px;
  color: #5f6670;
  font-family: var(--storefront-font);
  font-size: 17px;
  font-weight: 400;
}

/* The seasonal price panel remains dark; its shared important price color
   otherwise resolves to the default skin's blue and loses contrast. */
main.main-content.product.black-friday-sale > .product-inner > #product-info > .content > .price-outer .price {color: #fff !important;}

main.main-content.product > .product-inner > #product-info > .content > .price-outer .note,
main.main-content.product > .product-inner > #product-info > .content > .price-outer .reseller-standard-price,
main.main-content.product > .product-inner > #product-info > .content > .price-outer h4 {
  color: #5f6670;
  font-family: var(--storefront-font);
  font-size: 14px;
  line-height: 1.5;
}

main.main-content.product > .product-inner > #product-info > .content > .subtitle,
main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .subtitle {
  margin: 0 0 12px;
  color: #202329;
  font-family: var(--storefront-font);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

main.main-content.product > .product-inner > #product-info > .content > .color-variations {
  max-width: none;
  margin: 0 0 25px !important;
}

main.main-content.product > .product-inner > #product-info > .content > .color-variations > li > a {
  margin: 0 8px 6px 0;
  border-color: #e6e8ec;
  border-radius: 9px;
  background: #f6f7f8;
}

main.main-content.product > .product-inner > #product-info > .content > .color-variations > li.selected > a {
  border-color: #1d2327;
}

main.main-content.product > .product-inner > #product-info > .content > .color-variations > li.selected > a::after {
  border-bottom-color: #1d2327;
}

main.main-content.product > .product-inner > #product-info > .content > .color-variations img {
  object-fit: contain;
}

/* Keep quantity as a direct form child: general.js uses .children([name=quantity]). */
main.main-content.product > .product-inner > #product-info > .content > .add-to-cart {
  display: flow-root;
  position: relative;
  min-width: 0;
  margin: 0;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .variants {
  margin: 0 0 12px !important;
  font-family: var(--storefront-font);
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .variants label {
  min-width: 48px;
  box-sizing: border-box;
  margin: 0 7px 8px 0;
  padding: 12px 17px;
  border: 1px solid #e6e8ec;
  border-radius: 9px;
  color: #202329;
  background: #ffffff;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .variants label:hover,
main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .variants input:checked + label {
  border-color: #1d2327;
  color: #fff;
  background: #1d2327;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .variants input:disabled + label,
main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .variants input:disabled + label:hover {
  border-color: #e6e8ec;
  color: #5f6670;
  background: #f6f7f8;
  opacity: 0.55;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .availability {
  margin: 0 0 18px !important;
  color: #5f6670;
  font-family: var(--storefront-font);
  font-size: 13px;
  line-height: 1.6;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .availability > #unavailable,
main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .availability > #out-of-stock {
  font-family: var(--storefront-font);
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .quantity {
  float: left;
  width: 72px;
  height: 52px;
  padding: 0 28px 0 8px;
  margin: 0;
  border: 1px solid #e6e8ec;
  border-radius: 10px;
  color: #202329;
  background: #ffffff;
  font-family: var(--storefront-font);
  text-align: center;
  font-size: 15px;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .qty {
  width: 24px;
  height: 52px;
  margin: 0 0 0 44px;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .qty > .icon {
  top: 0;
  width: 24px;
  height: 26px;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > button[name="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 84px);
  max-width: none;
  height: 52px;
  box-sizing: border-box;
  padding: 0 12px;
  margin: 0 0 0 12px;
  border: 1px solid #23262d;
  border-radius: 10px;
  color: #ffffff;
  background: #23262d;
  font-family: var(--storefront-font);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > button[name="submit"]:hover {
  border-color: #3a3e48;
  background: #3a3e48;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > button[name="submit"]:disabled {
  border-color: #e6e8ec;
  color: #5f6670;
  background: #eceeea;
  opacity: 1;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > button[name="submit"].loading {
  border-color: #23262d;
  background: #23262d;
  opacity: 0.65;
}

main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > button[name="submit"].loading > .icon {
  position: static;
  margin: 0 8px 0 0;
}

main.main-content.product > .product-inner > #product-info > .content > .wishlist {
  margin: 14px 0 0;
  font-family: var(--storefront-font);
  font-size: 13px;
  line-height: 1.6;
}

main.main-content.product > .product-inner > #product-info > .content > .wishlist > .add-to-wishlist,
main.main-content.product > .product-inner > #product-info > .content > .wishlist > .remove-from-wishlist {
  color: #454b54;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e6e8ec;
  border-radius: 10px;
  font-weight: 500;
}

main.main-content.product > .product-inner > #product-info > .content > .wishlist > :is(.add-to-wishlist, .remove-from-wishlist) > .icon {
  top: 0;
  margin: 0;
  flex-shrink: 0;
}

main.main-content.product > .product-inner > #product-info > .content > .wishlist > .add-to-wishlist:hover,
main.main-content.product > .product-inner > #product-info > .content > .wishlist > .remove-from-wishlist:hover {
  color: #3158d7;
}

main.main-content.product > .product-inner > #product-info > .content > .shop-orders-paused {
  border-color: transparent;
  border-radius: 8px;
  color: #5f6670;
  background: #f5f6f8;
  font-family: var(--storefront-font);
}

main.main-content.product > .product-inner > #product-info > .other-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 0;
  margin: 28px 0 0;
}

main.main-content.product > .product-inner > #product-info > .other-info > li {
  min-width: 0;
  box-sizing: border-box;
  padding: 20px;
  margin: 0;
  border: 0;
  border-radius: 12px;
  color: #5f6670;
  background: #f6f7f3;
  font-family: var(--storefront-font);
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

main.main-content.product > .product-inner > #product-info > .other-info > li > .title {
  color: #202329;
  font-family: var(--storefront-font);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

main.main-content.product > .product-inner > #product-info > .other-info > li.has-icon > .title {
  display: flex;
  gap: 8px;
  align-items: center;
}

main.main-content.product > .product-inner > #product-info > .other-info > li.has-icon > .title > .icon {
  top: 0;
  float: none;
  flex: 0 0 auto;
  margin: 0;
}

main.main-content.product > .product-inner > #product-info > .other-info > li > .info {
  padding: 0;
  margin: 8px 0 0;
}

/* Shared product.css paints every nested information li white. Keep the
   bullet rows on the same surface as their own delivery/return panel. */
main.main-content.product > .product-inner > #product-info > .other-info > li > .info > ul > li {
  background: transparent;
  font-size: inherit;
  line-height: inherit;
}

main.main-content.product > .product-inner > #product-info > .other-info > li > .info > ul {
  margin: 0 0 8px 18px;
}

main.main-content.product > .product-inner > #product-info > .other-info > li > .info .tab-content-link {
  margin: 0;
  color: #3158d7;
}

main.main-content.product > .product-inner > #product-info > .other-info > .dropdown {
  grid-column: 1 / -1;
}

main.main-content.product > .product-inner > #product-info > .other-info > .dropdown > .content-box {
  padding: 14px 0 0;
  overflow-x: auto;
}

main.main-content.product > .product-tabs {
  padding: 0;
  margin: 64px 0 0;
  background: transparent;
}

main.main-content.product > .product-tabs > .tabs {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
}

main.main-content.product > .product-tabs > .tabs > .tab-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0 18px;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid #e6e8ec;
}

main.main-content.product > .product-tabs > .tabs > .tab-menu > li {
  top: 0;
  width: auto;
  margin: 0;
}

main.main-content.product > .product-tabs > .tabs > .tab-menu > li > a {
  display: block;
  width: auto;
  padding: 17px 4px;
  margin: 0;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #5f6670;
  font-family: var(--storefront-font);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}

main.main-content.product > .product-tabs > .tabs > .tab-menu > li > a:hover {
  color: #3158d7;
  background: #f6f7f8;
}

main.main-content.product > .product-tabs > .tabs > .tab-menu > li.active > a {
  border-bottom-color: #23262d;
  color: #23262d;
  font-weight: 700;
}

main.main-content.product > .product-tabs > .tabs > .tab-content {
  min-height: 0;
  padding: 30px 0;
  color: #5f6670;
  font-family: var(--storefront-font);
  font-size: 15px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}

main.main-content.product > .product-tabs > .tabs > .tab-content h2,
main.main-content.product > .product-tabs > .tabs > .tab-content h3 {
  color: #202329;
  font-family: var(--storefront-font);
  font-weight: 700;
  line-height: 1.4;
}

main.main-content.product > .product-tabs > .tabs > .tab-content h2 {
  margin: 0 0 16px;
  font-size: 22px;
}

main.main-content.product > .product-tabs > .tabs > .tab-content h3 {
  margin: 24px 0 12px;
  font-size: 17px;
}

main.main-content.product > .product-tabs > .tabs > .tab-content img {
  max-width: 100%;
  height: auto;
}

main.main-content.product > .product-tabs > .tabs > #product-details > .product-specifications {
  margin: 0;
  border-top: 1px solid #e6e8ec;
  font-family: var(--storefront-font);
  font-size: 14px;
  line-height: 1.6;
}

main.main-content.product > .product-tabs > .tabs > #product-details > .product-specifications > li {
  display: grid;
  grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);
  gap: 16px;
  padding: 15px 12px;
  margin: 0;
  border-bottom: 1px solid #eceef1;
}

main.main-content.product > .product-tabs > .tabs > #product-details > .product-specifications > li > .col-1,
main.main-content.product > .product-tabs > .tabs > #product-details > .product-specifications > li > .col-2 {
  display: block;
  float: none;
  width: auto;
  min-width: 0;
}

main.main-content.product > .product-tabs > .tabs > #product-details > .product-specifications > li > .col-1 {
  color: #202329;
  font-weight: 700;
}

/* Outer spacing only: all card/track/item geometry belongs to the shared cards. */
main.main-content.product > .product-inner > .similar-products-outer-1 {
  grid-column: 1 / -1;
  min-width: 0;
  min-height: 0;
  padding: 24px 0 0;
  margin: 0;
}

main.main-content.product > .similar-products-outer-2 {
  min-height: 0;
  padding: 42px 0 0;
  margin: 0;
  background: transparent;
}

main.main-content.product > .similar-products-outer-2 > .similar-products {
  min-width: 0;
}

main.main-content.product > .similar-products-outer-2 > .similar-products > .products {
  padding: 0 0 32px;
}

main.main-content.product > .product-inner > .similar-products-outer-1 > .similar-products > .products > h2,
main.main-content.product > .similar-products-outer-2 > .similar-products > .products > h2 {
  margin: 0 0 24px;
  color: #202329;
  font-family: var(--storefront-font);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;
}

/* Existing product.css switches away from vertical thumbnails at 1024px.
   Match its containing-column geometry without changing slider visibility. */
@media (max-width: 1024px) {
  main.main-content.product > .product-inner {
    gap: 24px 30px;
  }

  main.main-content.product > .product-inner > .product-images > .main-image {
    float: none;
    width: 100%;
  }

  main.main-content.product > .product-inner > #product-info > .content {
    padding: 2px 0 0;
  }

  main.main-content.product > .product-inner > #product-info > .content > h1 {
    font-size: 27px;
  }

  main.main-content.product > .product-inner > #product-info > .other-info {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  main.main-content.product > .product-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  main.main-content.product > .product-inner > .product-images {
    grid-column: 1;
    grid-row: auto;
    max-width: 640px;
    justify-self: center;
  }

  main.main-content.product > .product-inner > #product-info {
    grid-column: 1;
    grid-row: auto;
  }

  main.main-content.product > .product-inner > #product-info > .other-info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  main.main-content.product > .product-tabs {
    margin-top: 24px;
  }

  main.main-content.product > .product-tabs > .tabs {
    padding: 0;
    margin-inline: auto;
  }

  main.main-content.product > .product-tabs > .tabs > .tab-menu > li > a {
    padding-inline: 10px;
    font-size: 13px;
  }
}

@media (max-width: 520px) {
  main.main-content.product > .product-inner > #product-info > .other-info {
    grid-template-columns: 1fr;
  }

  main.main-content.product > .product-tabs > .tabs > .tab-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 4px;
  }

  main.main-content.product > .product-tabs > .tabs > .tab-menu > li > a {
    height: 100%;
    box-sizing: border-box;
    padding: 12px 6px 9px;
    text-align: center;
  }
}

@media (max-width: 390px) {
  main.main-content.product > .product-inner {
    gap: 18px;
  }

  main.main-content.product > .product-inner > #product-info > .content {
    padding: 0;
  }

  main.main-content.product > .product-inner > #product-info > .content > h1 {
    font-size: 25px;
  }

  main.main-content.product > .product-inner > #product-info > .content > .price-outer .price {
    font-size: 29px;
  }

  main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > button[name="submit"] {
    padding-inline: 8px;
    font-size: 14px;
  }

  main.main-content.product > .product-tabs > .tabs {
    padding-inline: 0;
  }

  main.main-content.product > .product-tabs > .tabs > #product-details > .product-specifications > li {
    grid-template-columns: minmax(100px, 0.42fr) minmax(0, 0.58fr);
    gap: 12px;
  }
}

/* Small interactive affordances stay inside their product/gallery scopes. */
main.main-content.product > .product-inner > .product-images > .main-image .tns-controls button {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(35,38,45,.06);
  border-radius: 50%;
  color: #23262d;
  background: rgba(255,255,255,.94);
  box-shadow: 0 2px 10px rgba(24,28,38,.06);
  opacity: 1;
}
main.main-content.product > .product-inner > #product-info > .content > .add-to-cart > .variants input:focus-visible + label {
  outline: 0;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 920px) {
  .header-mobile .search-form .search-button {flex-basis: 46px; width: 46px;}
}
@media (max-width: 550px) {
  main.main-content.products .products-header2 .list-type {display: none;}
}
/* Base footer: real service information, original links and a clear closing band. */
.shop-base-services {min-width: 0; margin-top: 40px; padding: 32px 0; border-top: 1px solid #e8eae7; background: #f8f9f6; color: #1d2327; font-family: var(--storefront-font);}
.shop-base-services > .inner > ul {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; opacity: 1;}
.shop-base-services > .inner > ul > .info-box {min-width: 0; margin: 0;}
.shop-base-services .inner ul li.info-box > ul {display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 14px; opacity: 1;}
.shop-base-services .info-box > ul > li:first-child {display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #e1e5dd; border-radius: 12px; background: #fff;}
.shop-base-services .info-box > ul > li > .icon {top: 0; width: 30px; height: 30px; background-size: 26px; background-position: center; opacity: .75;}
.shop-base-services .inner ul li.info-box ul li:last-child h2 {position: static; margin: 0 0 4px; color: #1d2327; font: 600 13px/1.5 var(--storefront-font); overflow-wrap: anywhere;}
.shop-base-services .inner ul li.info-box ul li:last-child span {position: static; color: #626970; font: 400 12px/1.6 var(--storefront-font); overflow-wrap: anywhere;}
.shop-base-footer {min-width: 0; margin: 0; padding: 56px 0 0; background: #202725; color: #c4ccc6; font: 400 14px/1.7 var(--storefront-font); text-align: left;}
.shop-base-footer > .reviews {padding: 0 0 28px;}
.shop-base-footer > .reviews:empty {display: none;}
.shop-base-footer .shop-footer-grid {display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 44px;}
.shop-base-footer .shop-footer-grid > .shop-footer-brand {min-width: 0; padding: 0 16px 0 0;}
.shop-base-footer .shop-footer-name {display: inline-block; margin-bottom: 16px; color: #fff; font: 650 30px/1.2 var(--storefront-font); letter-spacing: -.045em; overflow-wrap: anywhere;}
.shop-base-footer .shop-footer-brand > p {margin: 0; max-width: 29em; color: #aebbb2; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere;}
.shop-base-footer .shop-footer-contact {display: inline-block; margin-top: 20px; color: #f1f5ef; font-size: 13px; text-decoration: underline; text-decoration-color: #697c6d; text-underline-offset: 5px;}
.shop-base-footer > .inner > .shop-footer-grid > .box {display: block; float: none; min-width: 0; width: auto; margin: 0; padding: 0;}
.shop-base-footer .shop-footer-grid > .box > .title {margin: 3px 0 18px; color: #fff; font: 600 13px/1.5 var(--storefront-font); letter-spacing: .01em;}
.shop-base-footer .shop-footer-grid > .box > ul.menu {display: block; width: 100%; margin: 0; padding: 0;}
.shop-base-footer .shop-footer-grid > .box > ul.menu li {margin: 0 0 9px; padding: 0; line-height: 1.6;}
.shop-base-footer .shop-footer-grid > .box > ul.menu a {padding: 2px 0; color: #aebbb2; font: 400 13px/1.65 var(--storefront-font); overflow-wrap: anywhere; text-decoration: none;}
.shop-base-footer .shop-footer-grid > .box > ul.menu a:hover {color: #fff; text-decoration: underline; text-underline-offset: 4px;}
.shop-base-footer .copyright {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 24px; padding: 22px 0; margin-top: 44px; border-top: 1px solid #3b4740; color: #9cac9f; font: 400 11px/1.7 var(--storefront-font); text-align: left;}
.shop-base-footer .copyright > .social-icons {order: 2; margin: 0; display: flex; flex-wrap: wrap; gap: 8px;}
.shop-base-footer .copyright > .social-icons > a {margin: 0; filter: grayscale(1); opacity: .85;}
.shop-base-footer .copyright > .social-icons > a:hover {opacity: 1;}
.shop-base-footer a:focus-visible {outline-color: #c4d8c0; outline-offset: 4px;}

@media (min-width: 641px) and (max-width: 1024px) {
  .shop-default-home .shop-home-intro {gap: 28px; padding: 32px;}
  .shop-default-home .shop-home-intro h1 {font-size: 44px;}
  .shop-default-home .shop-home-intro p {font-size: 14px;}
  .shop-default-home .shop-home-visual {gap: 10px;}
  .shop-default-home .shop-home-shot:nth-child(2) {margin-top: 36px;}
  .shop-default-home .shop-home-shot figcaption {padding: 10px; font-size: 11px;}
  .shop-default-home .shop-home-categories {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 1024px) {
  .shop-base-services > .inner > ul {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px;}
  .shop-base-footer .shop-footer-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px;}
  .shop-base-footer .shop-footer-grid > .shop-footer-brand {grid-column: 1 / -1; padding: 0;}
  .shop-base-footer .shop-footer-brand > p {max-width: 48em;}
}
@media (max-width: 640px) {
  .shop-base-services {margin-top: 24px; padding: 24px 0;}
  .shop-base-services > .inner > ul {gap: 24px 16px;}
  .shop-base-services .inner ul li.info-box > ul {grid-template-columns: 1fr; align-items: start; gap: 12px;}
  .shop-base-footer {padding-top: 36px;}
  .shop-base-footer .shop-footer-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px;}
  .shop-base-footer .shop-footer-grid > .box:last-child {grid-column: 1 / -1;}
  .shop-base-footer .shop-footer-grid > .box:last-child > ul.menu {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px;}
  .shop-base-footer .shop-footer-name {font-size: 28px;}
  .shop-base-footer .copyright {margin-top: 30px; padding-block: 20px; gap: 16px;}
  .shop-base-footer .copyright > .social-icons {order: 0; width: 100%;}
}

@media (prefers-reduced-motion: reduce) {
  .header .navbar > ul.menu > li > a.menu-item::after,
  .shop-default-home .shop-home-shot img,
  .shop-default-home .shop-home-categories a,
  .header > .header-inner > .right > .dropdown-item > .parrent > .icon-wrapper,
  :is(main.main-content.products, .shop-default-home, main.product > .product-inner > .similar-products-outer-1, main.product > .similar-products-outer-2) .product-items-grid > li > a.product-link:first-child,
  main.main-content.products .product-items-list > li > a.image-cont {transition: none;}
}
