/* ================================================================
   Designawall — WooCommerce Single Product Page
   ================================================================ */

/* ── Product 2-column grid ────────────────────────────────────── */

.dw-product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important;
  align-items: start !important;
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 2rem;
  box-sizing: border-box;
}
@media (max-width: 860px) {
  .dw-product {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

/* Gallery: left column */
.dw-product .woocommerce-product-gallery {
  grid-column: 1;
  grid-row: 1;
}

/* Summary: right column, sticky */
.dw-product .entry-summary {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: 2rem;
}
@media (max-width: 860px) {
  .dw-product .woocommerce-product-gallery,
  .dw-product .entry-summary {
    grid-column: 1;
    position: static;
  }
}

/* After-summary wrapper: full width below both columns */
.dw-product .dw-after-summary {
  grid-column: 1 / -1;
}

/* ── Product title & price ────────────────────────────────────── */

.dw-product .product_title {
  font-family: var(--dw-font-heading, 'Sora', sans-serif);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--dw-charcoal, #171717);
  line-height: 1.25;
  margin: 0 0 0.5rem;
}
.dw-product p.price,
.dw-product span.price {
  font-size: 0.85rem;
  color: var(--dw-text-mid, #5a5248);
  font-style: italic;
}

/* ── Breadcrumbs ──────────────────────────────────────────────── */

.woocommerce .woocommerce-breadcrumb {
  font-size: 0.75rem;
  color: var(--dw-text-light, #8a837a);
  margin-bottom: 1rem;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--dw-text-light, #8a837a);
  text-decoration: none;
}
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--dw-red, #FF3B4D); }

/* ── Short description ────────────────────────────────────────── */

.dw-product .woocommerce-product-details__short-description {
  font-size: 0.88rem;
  color: var(--dw-text-mid, #5a5248);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

/* ── Add to cart button ───────────────────────────────────────── */

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .single_add_to_cart_button {
  background: var(--dw-red, #FF3B4D) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: var(--dw-font-ui, 'Inter', sans-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  padding: 0.875rem 1.5rem !important;
  letter-spacing: 0.03em !important;
  transition: background 0.15s !important;
  text-transform: none !important;
  cursor: pointer !important;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover {
  background: var(--dw-red-dark, #e02030) !important;
}
.dw-product .single_add_to_cart_button { width: 100%; margin-top: 0.5rem; }

/* ── Gallery ──────────────────────────────────────────────────── */

.dw-product div.images .woocommerce-product-gallery__wrapper {
  border-radius: 12px;
  overflow: hidden;
}
.dw-product div.images img { border-radius: 12px; }

/* ── Product tabs ─────────────────────────────────────────────── */

.dw-after-summary .woocommerce-tabs,
.dw-after-summary .wc-tabs-wrapper {
  display: block !important;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--dw-border, #D8CDC1);
}

.dw-after-summary .woocommerce-tabs ul.tabs,
.dw-after-summary .woocommerce-tabs ul.wc-tabs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1.5rem !important;
  border-bottom: 2px solid var(--dw-border, #D8CDC1) !important;
  scrollbar-width: none !important;
}
.dw-after-summary .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }

.dw-after-summary .woocommerce-tabs ul.tabs li,
.dw-after-summary .woocommerce-tabs ul.wc-tabs li {
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
.dw-after-summary .woocommerce-tabs ul.tabs li::before,
.dw-after-summary .woocommerce-tabs ul.wc-tabs li::before { display: none !important; }

.dw-after-summary .woocommerce-tabs ul.tabs li a,
.dw-after-summary .woocommerce-tabs ul.wc-tabs li a {
  display: block !important;
  padding: 0.6rem 1.1rem !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  color: var(--dw-text-light, #8a837a) !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  background: none !important;
  transition: color 0.15s !important;
}
.dw-after-summary .woocommerce-tabs ul.tabs li a:hover,
.dw-after-summary .woocommerce-tabs ul.wc-tabs li a:hover {
  color: var(--dw-charcoal, #171717) !important;
}
.dw-after-summary .woocommerce-tabs ul.tabs li.active a,
.dw-after-summary .woocommerce-tabs ul.wc-tabs li.active a {
  color: var(--dw-red, #FF3B4D) !important;
  border-bottom-color: var(--dw-red, #FF3B4D) !important;
}

/* Tab panels — JS controls display via inline style; no !important so JS wins */
.dw-after-summary .woocommerce-tabs .woocommerce-Tabs-panel {
  display: none;
  padding: 0;
}
.dw-after-summary .woocommerce-tabs .woocommerce-Tabs-panel h2:first-child {
  display: none;
}

/* ── Trust icons ──────────────────────────────────────────────── */

.dw-trust-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--dw-ivory-2, #EFE9DF);
  border-radius: var(--dw-r-lg, 12px);
}
.dw-trust-icon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--dw-charcoal, #171717);
  flex: 1 1 160px;
}
.dw-trust-icon svg { flex-shrink: 0; color: var(--dw-clay, #B47A62); }

/* ── Size matrix ──────────────────────────────────────────────── */

.dw-size-matrix {
  margin: 2rem 0;
  padding: 2rem;
  background: var(--dw-ivory, #F7F2EA);
  border-radius: var(--dw-r-lg, 12px);
  border: 1px solid var(--dw-border-light, #ede8e1);
}
.dw-size-matrix__title {
  font-family: var(--dw-font-heading, 'Sora', sans-serif);
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}
.dw-size-matrix__intro { font-size: 0.85rem; color: var(--dw-text-mid); margin: 0 0 1.25rem; }
.dw-size-matrix__wrap { overflow-x: auto; }
.dw-size-matrix__table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.dw-size-matrix__table th,
.dw-size-matrix__table td {
  text-align: left;
  padding: 0.6rem 0.75rem;
  border-bottom: 1px solid var(--dw-border-light, #ede8e1);
}
.dw-size-matrix__table th { font-weight: 700; white-space: nowrap; }
.dw-size-matrix__table th small { display: block; font-weight: 500; color: var(--dw-text-light); }
.dw-size-matrix__note { font-size: 0.75rem; color: var(--dw-text-light); margin: 1rem 0 0; }

/* ── Related products ─────────────────────────────────────────── */

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
  font-family: var(--dw-font-heading, 'Sora', sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--dw-charcoal, #171717);
  margin: 0 0 1.5rem;
}

/* ── Related products section ─────────────────────────────────── */

.woocommerce .related.products,
.woocommerce .upsells.products {
  padding: 3.5rem 0;
  border-top: 1px solid var(--dw-border-light, #ede8e1);
  margin-top: 2rem;
}
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (max-width: 900px) {
  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── Cart / checkout trust strip ──────────────────────────────── */

.dw-cart-trust {
  background: var(--dw-ivory-2, #EFE9DF);
  border-radius: var(--dw-r-lg, 12px);
  padding: 0.875rem 1.25rem;
  margin-bottom: 1.5rem;
}
.dw-cart-trust__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 2rem;
  align-items: center;
  justify-content: center;
}
.dw-cart-trust__item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--dw-charcoal, #171717);
  white-space: nowrap;
}
.dw-cart-trust__item svg { color: var(--dw-clay, #B47A62); flex-shrink: 0; }

/* ── Below-fold content wrapper ───────────────────────────────── */

.dw-product-below {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  box-sizing: border-box;
}

.dw-below-section {
  padding: 3.5rem 0;
  border-top: 1px solid var(--dw-border-light, #ede8e1);
}

.dw-below-section:last-child {
  margin-bottom: 3rem;
}

@media (max-width: 640px) {
  .dw-product-below { padding: 0 1rem; }
  .dw-below-section { padding: 2.5rem 0; }
}

/* ── Notices ──────────────────────────────────────────────────── */

.woocommerce-message,
.woocommerce-info { border-top-color: var(--dw-red, #FF3B4D) !important; }
.woocommerce-error { border-top-color: #c0392b !important; }
