/* ============================================================
   DAISCH 戴世 中文官网 — WooCommerce Styles
   daisch-woocommerce.css
   ============================================================ */

/* ── 1. Shop/Archive Layout ── */

/* Hide breadcrumb on WooCommerce pages */
.woocommerce .woocommerce-breadcrumb {
  display: none;
}

/* Hide empty sidebar */
.woocommerce-page .widget-area.sidebar {
  display: none !important;
}

/* ── Full-width layout chain ── */
.woocommerce-page .daisch-main {
  display: block;
  max-width: var(--daisch-max-width);
  margin: 0 auto;
  padding: calc(var(--daisch-header-total-height) + 30px) var(--daisch-page-gutter) 60px;
}

.woocommerce-page .daisch-main .content-area,
.woocommerce-page .site-main,
.woocommerce-page .woocommerce-archive-wrapper,
.woocommerce-page .inside-article,
.woocommerce-page .entry-content {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── Page header: title + sort bar ── */
.woocommerce-products-header {
  text-align: left;
  padding: 0;
  background: transparent;
  margin-bottom: 8px;
}

.woocommerce-products-header__title {
  font-family: var(--daisch-font-en);
  font-size: 24px;
  font-weight: 700;
  color: var(--daisch-text-primary);
  margin: 0;
  position: relative;
  display: inline-block;
}

/* Decorative underline below title */
.woocommerce-products-header__title::after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: var(--daisch-accent);
  margin-top: 6px;
}

/* ── Sort bar (result count + ordering) ── */
.woocommerce .woocommerce-result-count {
  float: left;
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--daisch-text-secondary);
}

.woocommerce .woocommerce-ordering {
  float: right;
  margin: 8px 0 30px;
}

.woocommerce .woocommerce-ordering select {
  font-size: 13px;
  padding: 8px 32px 8px 12px;
  border: 1px solid #eaeaea;
  border-radius: 0;
  background: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

/* ── Product grid ── */
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  clear: both;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-page ul.products::before {
  display: none !important;
}

ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  background: var(--daisch-white);
  border: 1px solid #eaeaea;
  border-radius: 0;
  overflow: hidden;
  transition: box-shadow 0.3s var(--daisch-ease-out);
  position: relative;
}
ul.products li.product:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Product image — square 1:1 */
.woocommerce ul.products li.product a img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--daisch-font-cn);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--daisch-text-primary);
  padding: 12px 12px 4px;
  margin: 0;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-family: var(--daisch-font-en);
  font-size: 14px;
  font-weight: 500;
  color: var(--daisch-text-primary) !important;
  padding: 0 12px 14px;
  margin: 0;
}

.woocommerce ul.products li.product .price del {
  color: #707070;
  font-weight: 500;
}

.woocommerce ul.products li.product .price ins {
  color: #ed1b23;
  text-decoration: none;
  font-weight: 500;
}

/* Hide add to cart buttons & star ratings */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .star-rating {
  display: none !important;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
  background: #ed1017;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 0;
  top: 0;
  right: 0;
  left: auto;
  line-height: 1.4;
  min-height: auto;
  min-width: auto;
  position: absolute;
  z-index: 2;
}

/* ── Pagination ── */
.woocommerce nav.woocommerce-pagination {
  text-align: center;
  margin-top: 30px;
}

.woocommerce nav.woocommerce-pagination ul {
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none;
  margin: 0 3px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-size: 13px;
  padding: 8px 14px;
  border: 1px solid #eaeaea;
  border-radius: 0;
  color: var(--daisch-text-primary);
  background: #fff;
  min-width: auto;
  line-height: 1.4;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--daisch-accent);
  color: #fff;
  border-color: var(--daisch-accent);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--daisch-gray-100);
  color: var(--daisch-text-primary);
}

/* ── 2. Single Product ── */
.single-product .daisch-main {
  max-width: var(--daisch-max-width);
  margin: 0 auto;
  padding: calc(var(--daisch-header-total-height) + 20px) var(--daisch-page-gutter) 60px;
}

/* Product images */
.woocommerce div.product div.images {
  width: 60% !important;
  margin-bottom: 0;
}
.woocommerce div.product div.images img {
  border-radius: var(--daisch-radius-md);
}

.woocommerce div.product .woocommerce-product-gallery__trigger {
  top: 1rem !important;
  right: 1rem !important;
}

.woocommerce div.product .woocommerce-product-gallery {
  overflow: hidden;
  border-radius: var(--daisch-radius-md);
}

/* Product summary */
.woocommerce div.product div.summary {
  width: 40% !important;
  padding-left: 40px;
  box-sizing: border-box;
}

.woocommerce div.product .product_title {
  font-family: var(--daisch-font-cn);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--daisch-text-primary);
}

.woocommerce div.product .price {
  font-family: var(--daisch-font-en);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--daisch-accent) !important;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-tabs .panel {
  font-size: 15px;
}

.woocommerce div.product .single_add_to_cart_button {
  padding: 14px 40px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  background: var(--daisch-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--daisch-radius-sm) !important;
  transition: background 0.2s;
}
.woocommerce div.product .single_add_to_cart_button:hover {
  background: var(--daisch-accent-hover) !important;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  border-bottom: 1px solid var(--daisch-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none;
  background: transparent;
  border-radius: 0;
  margin: 0;
  padding: 0 20px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--daisch-font-cn);
  font-weight: 600;
  color: var(--daisch-text-secondary);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--daisch-accent);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--daisch-accent);
}

/* Hide reviews tab and review system */
.woocommerce div.product .woocommerce-tabs ul.tabs li.reviews_tab {
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs .panel#tab-reviews {
  display: none !important;
}

/* ── 3. Cart Page ── */
.woocommerce-cart .daisch-main {
  max-width: var(--daisch-max-width);
  margin: 0 auto;
  padding: calc(var(--daisch-header-total-height) + 40px) var(--daisch-page-gutter) 60px;
}

.woocommerce-cart .entry-content { max-width: none !important; }

.woocommerce table.shop_table {
  border: 1px solid var(--daisch-border);
  border-radius: var(--daisch-radius-md);
  border-collapse: separate;
}
.woocommerce table.shop_table th {
  font-family: var(--daisch-font-cn);
  font-weight: 600;
  background: var(--daisch-gray-100);
}

/* Cart actions */
.woocommerce .cart .button,
.woocommerce .cart input.button {
  background: var(--daisch-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--daisch-radius-sm) !important;
  font-weight: 600 !important;
}

/* Coupon */
.woocommerce .cart .coupon .input-text {
  border: 1px solid var(--daisch-border);
  border-radius: var(--daisch-radius-sm);
  padding: 8px 12px;
}

/* Cart totals */
.woocommerce .cart-collaterals .cart_totals {
  background: var(--daisch-gray-50);
  border: 1px solid var(--daisch-border);
  border-radius: var(--daisch-radius-md);
  padding: 24px;
}

.woocommerce .checkout-button {
  background: var(--daisch-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--daisch-radius-sm) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 14px 40px !important;
}

/* ── 4. Checkout Page ── */
.woocommerce-checkout .daisch-main {
  max-width: var(--daisch-max-width);
  margin: 0 auto;
  padding: calc(var(--daisch-header-total-height) + 40px) var(--daisch-page-gutter) 60px;
}

.woocommerce-checkout .entry-content { max-width: none !important; }

/* ── 5. My Account Page ── */
.woocommerce-account .daisch-main {
  max-width: var(--daisch-max-width);
  margin: 0 auto;
  padding: calc(var(--daisch-header-total-height) + 40px) var(--daisch-page-gutter) 60px;
}

.woocommerce-account .entry-content { max-width: none !important; }

.woocommerce-MyAccount-navigation {
  background: var(--daisch-gray-50);
  border-radius: var(--daisch-radius-md);
  padding: 24px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0; padding: 0;
}
.woocommerce-MyAccount-navigation ul li {
  margin-bottom: 8px;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 16px;
  font-family: var(--daisch-font-cn);
  font-weight: 500;
  color: var(--daisch-text-secondary);
  text-decoration: none;
  border-radius: var(--daisch-radius-sm);
  transition: background 0.2s, color 0.2s;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--daisch-accent);
  color: #fff;
}

/* Login / Register form */
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--daisch-border);
  border-radius: var(--daisch-radius-md);
  padding: 32px;
}

.woocommerce form .form-row input.input-text {
  border: 1px solid var(--daisch-border);
  border-radius: var(--daisch-radius-sm);
  padding: 10px 14px;
  font-family: inherit;
}

.woocommerce button.button {
  background: var(--daisch-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--daisch-radius-sm) !important;
  font-family: var(--daisch-font-cn) !important;
  font-weight: 600 !important;
  padding: 12px 32px !important;
  transition: background 0.2s;
}
.woocommerce button.button:hover {
  background: var(--daisch-accent-hover) !important;
}

/* ── 6. Notifications ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--daisch-radius-sm);
  font-family: var(--daisch-font-cn);
}
.woocommerce-message {
  border-top-color: var(--daisch-accent);
}
.woocommerce-message::before {
  color: var(--daisch-accent);
}

/* ── 7. Responsive ── */
@media (max-width: 1024px) {
  ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    padding: 0 16px;
  }

  .woocommerce-products-header__title {
    font-size: 20px;
  }
}

@media (max-width: 768px) {
  ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 0 16px;
  }

  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering {
    float: none;
    width: 100%;
    margin-bottom: 12px;
  }

  .woocommerce .woocommerce-ordering select {
    width: 100%;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100% !important;
  }

  .woocommerce div.product div.summary {
    padding-left: 0;
  }

  .woocommerce .daisch-main,
  .single-product .daisch-main,
  .woocommerce-cart .daisch-main,
  .woocommerce-checkout .daisch-main,
  .woocommerce-account .daisch-main {
    padding-left: 16px;
    padding-right: 16px;
  }

  .woocommerce-products-header__title {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
