/**
 * 前台通栏布局：主内容区左右贴边（仅保留安全区与内容内边距），适配各屏宽。
 * 参考外贸站全宽 Hero + 通栏商品区；表单页仍用 .auth-form-wrap 居中。
 */
:root {
  --content-gutter: clamp(14px, 3.2vw, 32px);
  --hero-img-h: clamp(220px, 38vw, 560px);
}

html {
  overflow-x: clip;
}

body {
  overflow-x: clip;
}

.layout {
  width: 100%;
  max-width: none;
}

/* —— 主内容区：取消 1200px 居中盒 —— */
.layout .main,
.main {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: clamp(8px, 1.5vw, 16px);
  padding-bottom: max(var(--page-pad), var(--safe-bottom));
}

.layout .main:has(> .home-three-rows-wrap:first-child),
.layout .main:has(> .products-page-wrap:first-child) {
  padding-top: 0;
  padding-bottom: 0;
}

/* 内页块：统一左右留白（首页/产品列表通栏区、商品详情根节点除外） */
.main > :not(.home-three-rows-wrap):not(.products-page-wrap):not(#pd-root):not(.about-page--ref) {
  padding-left: max(var(--content-gutter), var(--safe-left));
  padding-right: max(var(--content-gutter), var(--safe-right));
  box-sizing: border-box;
}

.main > .about-page--ref {
  padding-left: 0;
  padding-right: 0;
}

/* —— 首页三行区（轮播 + 分类 + 商品） —— */
.home-three-rows-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0 !important;
  overflow: visible;
}

.home-three-rows-wrap.home-three-rows-wrap--has-bg .home-three-rows-inner {
  max-width: none !important;
  width: 100%;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}

.home-three-rows-inner {
  max-width: none !important;
  width: 100%;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* Hero 轮播：通栏、无圆角框 */
.home-three-rows-inner > .carousel {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none;
  min-height: var(--hero-img-h);
  overflow: hidden;
}

.home-three-rows-inner > .carousel .carousel-slide img {
  width: 100%;
  height: var(--hero-img-h);
  max-height: none;
  object-fit: cover;
  object-position: center;
  display: block;
}

.home-section-heading,
.home-three-rows-inner > .product-grid,
.home-three-rows-inner > .home-load-more-wrap {
  padding-left: max(var(--content-gutter), var(--safe-left));
  padding-right: max(var(--content-gutter), var(--safe-right));
  box-sizing: border-box;
}

.home-section-heading {
  margin-top: var(--section-gap);
}

/* 首页分类：一级 / 二级横向条使用相同左右留白，与 Series 标题对齐 */
.home-three-rows-inner > .home-cat-nav {
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

.home-cat-nav .hcat-row {
  padding-left: max(var(--content-gutter), var(--safe-left));
  padding-right: max(var(--content-gutter), var(--safe-right));
  box-sizing: border-box;
  scroll-padding-inline: max(var(--content-gutter), var(--safe-left));
}

/* —— 产品列表页主内容区（标题 + 分类 + 商品网格） —— */
.products-page-wrap {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  overflow: visible;
  isolation: isolate;
}

.products-page-wrap.products-page-wrap--has-bg {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}

.products-page-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: none;
  opacity: 0;
}

.products-page-wrap.products-page-wrap--has-bg::before {
  background-image: var(--products-page-bg-image);
  opacity: var(--products-page-bg-opacity, 0.4);
}

.products-page-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

.products-page-inner > .page-hero,
.products-page-inner > .product-cat-nav,
.products-page-inner > .product-grid,
.products-page-inner > .home-load-more-wrap {
  padding-left: max(var(--content-gutter), var(--safe-left));
  padding-right: max(var(--content-gutter), var(--safe-right));
  box-sizing: border-box;
}

.products-page-wrap.products-page-wrap--has-bg .product-card {
  background: color-mix(in srgb, var(--card) 82%, transparent);
}

/* 商品列表页 / 首页网格：通栏 + 自适应列 */
.product-cat-nav,
.product-cat-cards,
.main > .product-grid {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.product-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr));
  gap: clamp(12px, 2vw, 18px);
}

@media (min-width: 600px) {
  .product-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  }
}

@media (min-width: 1100px) {
  .product-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px 20px;
  }
}


/* —— 商品详情：桌面也通栏 —— */
.pd-wrap {
  max-width: none !important;
  width: 100%;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: clamp(8px, 1.5vw, 16px);
  padding-bottom: clamp(32px, 6vw, 56px);
  box-sizing: border-box;
}

.pd-gallery-stage,
.pd-gallery-ali .pd-gallery-stage {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.pd-breadcrumb,
.pd-section,
.pd-shop-card--ali .pd-buy-col {
  padding-left: max(var(--content-gutter), var(--safe-left));
  padding-right: max(var(--content-gutter), var(--safe-right));
  box-sizing: border-box;
}

.pd-gallery-thumbs-bar {
  padding-left: max(var(--content-gutter), var(--safe-left));
  padding-right: max(var(--content-gutter), var(--safe-right));
}

/* —— 页脚通栏 —— */
.site-footer-main .footer-grid,
.site-footer-bar {
  max-width: none !important;
  width: 100%;
  box-sizing: border-box;
  padding-left: max(var(--content-gutter), var(--safe-left));
  padding-right: max(var(--content-gutter), var(--safe-right));
}

/* —— 登录注册等：表单仍居中窄栏 —— */
.auth-form-wrap {
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--content-gutter), var(--safe-left));
  padding-right: max(var(--content-gutter), var(--safe-right));
  box-sizing: border-box;
}
