/* ===========================================
   Sesameware - Product Page Styles
   整合：Swiper / 缩略图 / 产品网格 / 分页
         侧边栏 / 面包屑 / Footer / 响应式
   =========================================== */

/* =========================================
   1. 全局 & 页面背景
   ========================================= */
body,
.content-all,
.section {
  background-color: #ffffff !important;
}

/* =========================================
   2. Header 辅助类（原HTML内联样式提取）
   ========================================= */
.header-top-row {
  margin-right: 0;
  margin-left: 32px;
}

.header-top-col {
  padding-right: 0;
}

/* =========================================
   3. 面包屑
   ========================================= */
.bread-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bread-list li {
  display: inline;
  color: #fff;
}

.bread-list li + li::before {
  content: "/";
  margin: 0 8px;
  color: #ccc;
}

.bread-list li a {
  color: #ccc;
  text-decoration: none;
}

.bread-list li a:hover {
  color: #fff;
}

/* =========================================
   4. Swiper 产品图片轮播
   ========================================= */
.product-image-slider {
  position: relative;
  border-radius: 8px;
  margin-bottom: 15px;
}

.product-image-slider .swiper {
  width: 100%;
  border-radius: 8px;
}

.product-image-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}

.image-container {
  width: 100%;
  height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.image-container img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* =========================================
   5. 缩略图
   ========================================= */
.img-tumbnails-produk {
  border: 2px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: #f8f9fa;
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.img-tumbnails-produk img {
  width: 100%;
  height: 100%;
  cursor: pointer;
  object-fit: contain;
}

.img-tumbnails-produk:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.img-tumbnails-produk.active {
  border-color: #739abc;
  box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3);
}

/* =========================================
   6. 产品尺寸图
   ========================================= */
.product-size-wrapper {
  margin-top: 20px;
}

.product-dimension-image {
  margin-top: 20px;
  text-align: center;
}

.product-dimension-image img {
  width: 100%;
  max-width: 800px;
  height: auto;
  display: inline-block;
  border-radius: 8px;
  transition: transform 0.2s ease;
}

.product-dimension-image img:hover {
  transform: scale(1.01);
}

.header-title-product.product-size-heading {
  margin-bottom: 0.5rem;
}

/* =========================================
   7. 产品网格
   ========================================= */
.product-grid-item {
  padding: 20px;
}

.product-img {
  width: 100%;
  padding: 10px;
}

.product-link {
  color: #739abc;
  font-size: x-large;
}

/* 产品标题 & 自定义文本（样式相同，合并） */
.product-title,
.custom-text-style {
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  font-family: sans-serif;
  color: #777;
}

.product-title {
  padding-top: 30px;
}

.custom-text-style {
  margin-bottom: 20px;
}

/* =========================================
   8. 分页（Google Style）
   ========================================= */
.pagination {
  text-align: center;
  margin-top: 40px;
  padding-left: 0;
}

.pagination-item {
  display: inline-block;
  margin: 0 4px;
  list-style: none;
}

.pagination-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  background: #f5f7fa;
  border: 1px solid #e3e7ee;
  color: #5f6b7a;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.pagination-link:hover {
  background: #e8f0fe;
  border-color: #c7dafc;
  color: #738abc;
}

.pagination-item.active .pagination-link {
  background: #739abc;
  color: #fff;
}

.pagination-link:active {
  transform: scale(0.96);
}

/* =========================================
   9. 侧边栏菜单（桌面端）
   ========================================= */
.sidebar-category-title {
  font-size: 22px;
  margin-bottom: 10px;
  cursor: pointer;
  display: block;
  font-weight: 600;
  font-family: sans-serif;
  color: #777;
  padding: 20px;
  text-align: center;
  border-bottom: 1px solid #eee;
}

/* 公共子菜单项样式 */
.submenu-item {
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  font-family: sans-serif;
  color: #777;
  padding: 20px;
}

.submenu-item.first {
  background-color: #e6e6e6;
}

/* =========================================
   10. 移动端折叠菜单
   ========================================= */
.mobile-submenu-toggle {
  display: none;
  background: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-weight: bold;
  color: #666;
  text-align: center;
  padding: 12px;
  margin-bottom: 15px;
  cursor: pointer;
}

.mobile-submenu-toggle i {
  margin: 0 5px;
}

/* =========================================
   11. Footer
   ========================================= */
.footer hr {
  border-top: 0.1px solid #ddd;
  margin: 0;
}

.single-footer ul {
  list-style: none;
  padding-left: 0;
}

.single-footer ul li {
  line-height: 1.4;
  margin-bottom: 6px;
}

.single-footer a {
  color: #666;
  text-decoration: none;
}

.single-footer a:hover {
  color: #739abc;
}

.copyright {
  background: #f8f8f8;
  padding: 15px 0;
  margin-top: 20px;
  text-align: center;
}

/* =========================================
   12. 通用工具类
   ========================================= */
.hidden-element {
  display: none;
}

/* =========================================
   13. 响应式
   ========================================= */

/* --- 平板及以下 (≤991px) --- */
@media (max-width: 991px) {
  #submenu_product ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
  }

  .submenu-item {
    flex: 1 0 auto;
    width: calc(50% - 10px);
    background: #f5f5f5;
    border-radius: 4px;
    margin: 0;
    padding: 12px 5px;
    font-size: 14px;
  }

  .submenu-item.first {
    background: #e6e6e6;
  }
}

/* --- 手机 (≤768px) --- */
@media (max-width: 768px) {
  /* 图片容器缩小 */
  .image-container {
    height: 40vh;
    padding: 10px;
  }

  /* 产品尺寸图全宽 */
  .product-dimension-image img {
    max-width: 100%;
  }

  /* 缩小 Swiper 导航按钮 */
  .swiper-button-next,
  .swiper-button-prev {
    transform: scale(0.7);
  }

  /* 调整分页位置 */
  .swiper-pagination {
    bottom: 5px;
  }
}

/* --- 小手机 (≤576px) --- */
@media (max-width: 576px) {
  .image-container {
    padding: 10px;
  }
}



/* =========================================
   Available Sizes — CSS Grid 表格
   ========================================= */
.size-grid-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #dee2e6;
  border-radius: 6px;
}

/* ---- 每一行 = 3列 Grid ---- */
.sz-row {
  display: grid;
  grid-template-columns: 2fr 4fr 4fr;
  min-width: 360px;        /* 保证3列内容不挤压到不可读 */
}

.sz-row + .sz-row {
  border-top: 1px solid #dee2e6;
}

/* ---- 单元格 ---- */
.sz-cell {
  text-align: center;
  padding: 10px 6px;
  font-size: 14px;
  color: #666666;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  word-break: break-word;
}

/* ---- 表头 ---- */
.sz-header .sz-cell {
  background-color: #739abc;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
}

/* ---- 数据行 ---- */
.sz-label {
  font-weight: 600;
  color: #222;
}

.sz-row:nth-child(even):not(.sz-header) {
  background-color: #f8f9fa;
}

.sz-row:not(.sz-header):hover {
  background-color: #e8f0fe;
}

/* ---- 移动端 ---- */
@media (max-width: 768px) {
  .sz-cell {
    font-size: 12px;
    padding: 8px 5px;
  }
  .sz-header .sz-cell {
    font-size: 12px;
  }
}

@media (max-width: 576px) {
  .sz-cell {
    font-size: 10px;
    padding: 6px 3px;
  }
  .sz-header .sz-cell {
    font-size: 10px;
  }
}

/* 推荐模块 */
.specs-table {
  width: auto;
}

/* ========== Similar Products Section ========== */
.similar-products-section {
  background: #f9f9f9;
  padding: 60px 0 50px;
}

.similar-products-section .section-title {
  text-align: center;
  margin-bottom: 40px;
}

.similar-products-section .section-title h2 {
  font-size: 28px;
  font-weight: 700;
  color: #333;
  margin-bottom: 8px;
  font-family: 'Poppins', sans-serif;
}

.similar-products-section .section-title p {
  font-size: 15px;
  color: #888;
  margin: 0;
}

.similar-products-slider {
  position: relative;
  padding: 0 10px;
}

.similar-product-card {
  display: block;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  cursor: pointer;
}

.similar-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
  text-decoration: none;
}

.similar-product-card:hover .product-card-name {
  color: #739abc;
}

.product-card-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 20px;
  transition: transform 0.4s ease;
}

.similar-product-card:hover .product-card-image img {
  transform: scale(1.06);
}

.product-card-info {
  padding: 14px 10px;
  text-align: center;
}

.product-card-category,
.product-card-desc {
  display: none;
}

.product-card-name {
  font-size: 17px;
  font-weight: 600;
  color: #333;
  margin: 0;
  transition: color 0.3s ease;
  font-family: 'Poppins', sans-serif;
}

.similar-btn-next,
.similar-btn-prev {
  width: 44px;
  height: 44px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
  color: #555;
  transition: all 0.3s ease;
}

.similar-btn-next:hover,
.similar-btn-prev:hover {
  background: #739abc;
  color: #fff;
}

.similar-btn-next::after,
.similar-btn-prev::after {
  font-size: 16px;
  font-weight: 700;
}

.similar-pagination {
  position: relative;
  bottom: auto;
  margin-top: 25px;
}

.similar-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #ccc;
  opacity: 1;
  transition: all 0.3s ease;
}

.similar-pagination .swiper-pagination-bullet-active {
  background: #739abc;
  width: 26px;
  border-radius: 5px;
}

/* 响应式调整 */
@media (max-width: 991px) {
  .similar-products-section {
    padding: 45px 0 35px;
  }
  .similar-products-section .section-title h2 {
    font-size: 24px;
  }
  .product-card-name {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .similar-products-section {
    padding: 35px 0 30px;
  }
  .similar-products-section .section-title {
    margin-bottom: 25px;
  }
  .similar-products-section .section-title h2 {
    font-size: 21px;
  }
  .similar-btn-next,
  .similar-btn-prev {
    width: 36px;
    height: 36px;
  }
  .similar-btn-next::after,
  .similar-btn-prev::after {
    font-size: 13px;
  }
  .product-card-info {
    padding: 10px 8px;
  }
  .product-card-name {
    font-size: 14px;
  }
}

@media (max-width: 575px) {
  .similar-products-section {
    padding: 28px 0 25px;
  }
  .product-card-image img {
    padding: 14px;
  }
  .product-card-name {
    font-size: 13px;
  }
}



/* 浴室柜 */

  .customization-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 8px;
  }

  .custom-option-card {
    flex: 1 1 150px;          /* 最小宽度150px，自动伸缩 */
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 20px 16px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    transition: all 0.25s ease;
    cursor: default;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  /* 悬停效果：轻微上浮 + 加深阴影 + 主题色边框 */
  .custom-option-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
    border-color: #739abc;
  }

  .card-icon {
    font-size: 32px;
    color: #739abc;
    background: #f0f6ff;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .card-text {
    font-size: 15px;
    font-weight: 500;
    color: #2c3e50;
    line-height: 1.4;
  }

  /* 移动端适配：屏幕很小时卡片占满整行 */
  @media (max-width: 480px) {
    .custom-option-card {
      flex: 1 1 100%;
    }
  }
