/* CHHES 商品详情 — 叠加 Bootstrap + Flickity，仅 .chhes-goods-page 内生效 */
.chhes-goods-page {
  --chhes-goods-pad: clamp(24px, 4vw, 48px);
}

.chhes-goods-page > section:first-of-type {
  padding-top: var(--chhes-goods-pad);
  padding-bottom: calc(var(--chhes-goods-pad) * 0.5);
}

.chhes-goods-page .card:has(#productSlider),
.chhes-goods-page .chhes-product-gallery-card {
  border: none;
  background: transparent;
  box-shadow: none;
}

.chhes-goods-page .chhes-product-gallery {
  display: block;
}

@media (min-width: 992px) {
  .chhes-goods-page .chhes-product-gallery {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }

  .chhes-goods-page .chhes-product-thumbs {
    position: sticky;
    top: 96px;
  }

  .chhes-goods-page .chhes-flickity-thumbs.flickity-enabled {
    display: flex;
    flex-direction: column;
    max-height: min(72vh, 640px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
  }

  .chhes-goods-page .chhes-flickity-thumbs .flickity-viewport {
    height: auto !important;
    min-height: 0 !important;
  }

  .chhes-goods-page .chhes-flickity-thumbs .flickity-slider {
    transform: none !important;
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    position: relative !important;
    width: 100% !important;
  }

  .chhes-goods-page .chhes-product-thumb {
    max-width: 72px !important;
    width: 72px !important;
    padding: 0 !important;
    position: relative !important;
    left: auto !important;
    transform: none !important;
  }

  .chhes-goods-page .chhes-product-thumb__img {
    border: 2px solid transparent;
    opacity: 0.55;
    transition: opacity 0.25s ease, border-color 0.25s ease;
  }

  .chhes-goods-page .chhes-product-thumb.is-selected .chhes-product-thumb__img,
  .chhes-goods-page .chhes-product-thumb.is-nav-selected .chhes-product-thumb__img {
    opacity: 1;
    border-color: var(--chhes-text-primary, #111);
  }

  .chhes-goods-page .product-gallery-main {
    min-width: 0;
  }
}

.chhes-goods-page #productSlider {
  border: 1px solid var(--chhes-border, rgba(17, 17, 17, 0.1));
  border-radius: 4px;
  overflow: hidden;
  background: #fafafa;
}

.chhes-goods-page .flickity-nav {
  margin-top: 12px;
}

.chhes-goods-page .flickity-nav .ratio {
  border: 2px solid transparent;
  border-radius: 2px;
  transition: border-color 0.25s ease, opacity 0.25s ease;
  opacity: 0.55;
}

.chhes-goods-page .flickity-nav .is-nav-selected .ratio,
.chhes-goods-page .flickity-nav .is-selected .ratio {
  opacity: 1;
  border-color: var(--chhes-text-primary, #111);
}

.chhes-goods-page .col-12.col-md-6.col-lg-5 > .row:first-child .text-muted.fs-sm {
  font-size: 11px !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.55;
}

.chhes-goods-page h1.fs-4 {
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.chhes-goods-page #goods_amount {
  font-size: clamp(24px, 3.5vw, 32px) !important;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.chhes-goods-page .form-check-size .form-check-label {
  min-width: 44px;
  text-align: center;
  border: 1px solid var(--chhes-border, rgba(17, 17, 17, 0.15));
  border-radius: 0;
  padding: 10px 16px;
  font-size: 12px;
  letter-spacing: 0.06em;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.chhes-goods-page .form-check-size .form-check-input:checked + .form-check-label,
.chhes-goods-page span.selected .form-check-label {
  background: var(--chhes-text-primary, #111);
  border-color: var(--chhes-text-primary, #111);
  color: #fff;
}

.chhes-goods-page .btn-dark.btn-lg {
  border-radius: 0;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 12px;
  padding: 16px 24px;
  background: var(--chhes-text-primary, #111);
  border-color: var(--chhes-text-primary, #111);
}

.chhes-goods-page .btn-dark.btn-lg:hover {
  background: var(--chhes-accent-hover, #3a3a3a);
  border-color: var(--chhes-accent-hover, #3a3a3a);
}

.chhes-goods-page .btn-outline-dark {
  border-radius: 0;
  letter-spacing: 0.12em;
  font-size: 12px;
}

.chhes-goods-page .input-group .form-control {
  border-radius: 0;
  text-align: center;
}

.chhes-goods-page .input-group .btn-outline-border {
  border-radius: 0;
}

.chhes-goods-page .text-dark.small,
.chhes-goods-page .text-dark.mb-3.small {
  font-size: 13px;
  line-height: 1.8;
  color: var(--chhes-text-secondary, #5a5a5a) !important;
}

.chhes-goods-page .chhes-goods-tabs {
  padding-top: 48px;
}

.chhes-goods-page .product-tabs .tabs-header {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
  border-bottom: 1px solid var(--chhes-text-primary, #111);
  margin-bottom: 32px;
  padding-bottom: 0;
}

.chhes-goods-page .tab-btn.chhes-tab-btn {
  border: none;
  border-radius: 0;
  background: transparent;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  padding: 16px 4px;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--chhes-text-secondary, #5a5a5a);
  transition: color 0.25s ease, border-color 0.25s ease;
}

.chhes-goods-page .tab-btn.chhes-tab-btn:hover {
  color: var(--chhes-text-primary, #111);
}

.chhes-goods-page .tab-btn.chhes-tab-btn.active {
  color: var(--chhes-text-primary, #111);
  border-bottom-color: var(--chhes-text-primary, #111);
  font-weight: 500;
}

.chhes-goods-page .chhes-goods-tabs .nav-tabs {
  border-bottom: 1px solid var(--chhes-text-primary, #111) !important;
  gap: 8px;
  flex-wrap: wrap;
}

.chhes-goods-page .chhes-goods-tabs .nav-tabs .btn-outline-dark,
.chhes-goods-page .chhes-goods-tabs .nav-tabs .chhes-tab-btn {
  border-radius: 0;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  letter-spacing: 0.14em;
  font-size: 11px;
  text-transform: uppercase;
  padding: 12px 16px;
  background: transparent;
}

.chhes-goods-page .chhes-goods-tabs .nav-tabs .btn-outline-dark.active {
  background: transparent;
  color: var(--chhes-text-primary, #111);
  border-bottom-color: var(--chhes-text-primary, #111);
}

.chhes-goods-page .chhes-trust {
  margin-top: 8px;
}

.chhes-goods-page .service-guarantees {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  padding: 20px 0;
  margin: 20px 0;
  border-top: 1px solid var(--chhes-border, rgba(17, 17, 17, 0.1));
  border-bottom: 1px solid var(--chhes-border, rgba(17, 17, 17, 0.1));
}

.chhes-goods-page .guarantee-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--chhes-text-secondary, #5a5a5a);
}

.chhes-goods-page .delivery-info {
  margin-bottom: 20px;
}

.chhes-goods-page .delivery-row {
  display: flex;
  gap: 16px;
  padding: 10px 0;
  font-size: 13px;
  border-bottom: 1px solid var(--chhes-border, rgba(17, 17, 17, 0.08));
}

.chhes-goods-page .delivery-label {
  color: var(--chhes-text-muted, #909090);
  min-width: 40px;
}

.chhes-goods-page .delivery-content {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.chhes-goods-page .service-tag {
  padding: 2px 8px;
  font-size: 11px;
  background: var(--chhes-bg-secondary, #e8e6e0);
  color: var(--chhes-text-secondary, #5a5a5a);
}

@media (max-width: 767px) {
  .chhes-goods-page > section:first-of-type {
    padding-top: 16px;
  }
}
