:root {
  --yqy-layout-max-width: 1360px;
  --yqy-layout-section-gap: 20px;
  --yqy-layout-page-padding: 24px;
  --yqy-layout-catalog-columns: 4;
  --yqy-layout-catalog-tablet-columns: 3;
  --yqy-layout-catalog-mobile-columns: 2;
  --yqy-layout-enterprise-columns: 4;
  --yqy-layout-enterprise-mobile-columns: 1;
  --yqy-layout-member-sidebar: 216px;
}

html[data-yqy-visual-layout="true"] :is(
  #__nuxt .container,
  #__nuxt .yqy-public-wrapper,
  #__nuxt .yqy-public-main,
  #__nuxt .member-main,
  #__nuxt .ucenter-wrapper
) {
  box-sizing: border-box;
  width: min(var(--yqy-layout-max-width), calc(100% - var(--yqy-layout-page-padding) * 2));
  max-width: var(--yqy-layout-max-width);
  margin-right: auto;
  margin-left: auto;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-compact="true"] {
  --yqy-layout-section-gap: 12px;
  --yqy-layout-page-padding: 16px;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page-enabled="false"] #__nuxt main,
html[data-yqy-visual-layout="true"][data-yqy-layout-page-enabled="false"] #__nuxt .main-box {
  opacity: 0.62;
  filter: grayscale(0.18);
}

html[data-yqy-visual-layout="true"] .yqy-visual-module-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--yqy-layout-section-gap);
}

html[data-yqy-visual-layout="true"] .yqy-visual-module-grid > .yqy-visual-module {
  min-width: 0;
  margin: 0 !important;
  grid-column: span var(--yqy-module-desktop-span, 12);
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="catalog"] .yqy-list-products {
  display: grid !important;
  grid-template-columns: repeat(var(--yqy-layout-catalog-columns), minmax(0, 1fr)) !important;
  gap: var(--yqy-layout-section-gap) !important;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="catalog"] .yqy-list-products > * {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="catalog"][data-yqy-layout-show-sidebar="false"] :is(
  .yqy-list-category-row,
  .category-sidebar,
  .cat-left,
  .search-left
) {
  display: none !important;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="catalog"][data-yqy-layout-show-filter="false"] :is(
  .yqy-list-sort,
  .yqy-list-tools,
  .search-filter,
  .sort-bar
) {
  display: none !important;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="product"][data-yqy-layout-sticky-buy="true"] :is(
  .goods-info,
  .product-info,
  .item-info,
  .yqy-product-buy
) {
  position: sticky;
  top: 18px;
  align-self: start;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="product"][data-yqy-layout-show-recommend="false"] :is(
  .recommend-goods,
  .goods-recommend,
  .yqy-product-recommend,
  .guess-like
) {
  display: none !important;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="enterprise"] :is(
  .yqy-enterprise-grid,
  .qiye-product-grid,
  .enterprise-product-grid
) {
  display: grid !important;
  grid-template-columns: repeat(var(--yqy-layout-enterprise-columns), minmax(0, 1fr));
  gap: var(--yqy-layout-section-gap);
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="enterprise"][data-yqy-layout-show-enterprise-nav="false"] :is(
  .yqy-enterprise-nav,
  .qiye-nav,
  .enterprise-nav
) {
  display: none !important;
}

html[data-yqy-visual-layout="true"][data-yqy-layout-page="member"] .member-main[data-yqy-member-shell="true"] {
  grid-template-columns: var(--yqy-layout-member-sidebar) minmax(0, 1fr) !important;
}

@media (max-width: 1024px) {
  html[data-yqy-visual-layout="true"] .yqy-visual-module-grid > .yqy-visual-module {
    grid-column: span var(--yqy-module-tablet-span, 12);
  }

  html[data-yqy-visual-layout="true"][data-yqy-layout-page="catalog"] .yqy-list-products {
    grid-template-columns: repeat(var(--yqy-layout-catalog-tablet-columns), minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  html[data-yqy-visual-layout="true"] :is(
    #__nuxt .container,
    #__nuxt .yqy-public-wrapper,
    #__nuxt .yqy-public-main,
    #__nuxt .member-main,
    #__nuxt .ucenter-wrapper
  ) {
    width: min(100%, calc(100% - var(--yqy-layout-page-padding) * 2));
  }

  html[data-yqy-visual-layout="true"] .yqy-visual-module-grid > .yqy-visual-module {
    grid-column: span var(--yqy-module-mobile-span, 12);
  }

  html[data-yqy-visual-layout="true"][data-yqy-layout-page="catalog"] .yqy-list-products {
    grid-template-columns: repeat(var(--yqy-layout-catalog-mobile-columns), minmax(0, 1fr)) !important;
  }

  html[data-yqy-visual-layout="true"][data-yqy-layout-page="enterprise"] :is(
    .yqy-enterprise-grid,
    .qiye-product-grid,
    .enterprise-product-grid
  ) {
    grid-template-columns: repeat(var(--yqy-layout-enterprise-mobile-columns), minmax(0, 1fr));
  }

  html[data-yqy-visual-layout="true"][data-yqy-layout-page="member"] .member-main[data-yqy-member-shell="true"] {
    display: block !important;
    width: calc(100% - var(--yqy-layout-page-padding) * 2);
  }
}
