/* ==========================================================================
   3TECH RACING EVOLUTION — WooCommerce Overrides
   Dark-themed, glass-morphism styling for all WooCommerce pages
   ========================================================================== */

/* ==========================================================================
   1. GLOBAL WOOCOMMERCE OVERRIDES
   ========================================================================== */

.woocommerce,
.woocommerce-page {
  color: var(--color-text);
}

.woocommerce a {
  color: var(--color-primary);
}

.woocommerce a:hover {
  color: var(--color-accent);
}

/* Override WooCommerce default button styles */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 0.85rem 2rem;
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  font-size: var(--fs-base);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: var(--transition);
  background: var(--gradient-primary);
  color: var(--color-text);
  line-height: 1.4;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--gradient-primary-r);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(233, 69, 96, 0.4);
  color: var(--color-text);
}

.woocommerce #respond input#submit.disabled,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce input.button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Loading state */
.woocommerce #respond input#submit.loading,
.woocommerce a.button.loading,
.woocommerce button.button.loading,
.woocommerce input.button.loading {
  opacity: 0.7;
  pointer-events: none;
}

.woocommerce .button.loading::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  margin-left: var(--space-sm);
}


/* ==========================================================================
   2. SHOP PAGE
   ========================================================================== */

/* ── Results Bar ── */
.woocommerce .woocommerce-result-count {
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
  margin-bottom: var(--space-xl);
}

.woocommerce .woocommerce-ordering {
  margin-bottom: var(--space-xl);
}

.woocommerce .woocommerce-ordering select {
  background: var(--color-surface);
  border: 1px solid var(--color-surface-light);
  color: var(--color-text);
  padding: 0.65rem 2.5rem 0.65rem 1rem;
  border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: var(--transition);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23B0B0C0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
}

.woocommerce .woocommerce-ordering select:focus {
  border-color: var(--color-primary);
}

/* ── Shop Filter Bar ── */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
  margin-bottom: var(--space-2xl);
  padding: var(--space-lg);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
}

.shop-toolbar__view {
  display: flex;
  gap: var(--space-sm);
}

.shop-toolbar__view-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  color: var(--color-text-muted);
  background: transparent;
  cursor: pointer;
  transition: var(--transition);
}

.shop-toolbar__view-btn.active,
.shop-toolbar__view-btn:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: rgba(233, 69, 96, 0.1);
}

/* ── Product Grid Override ── */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-xl);
  margin: 0;
  padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product {
  float: none;
  width: auto !important;
  margin: 0 !important;
  padding: 0;
  position: relative;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-xl);
  border-color: rgba(233, 69, 96, 0.4);
}

/* Product Image */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product > a img {
  margin: 0;
  border-radius: 0;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05);
}

/* Product Image Container */
.woocommerce ul.products li.product > a {
  display: block;
  position: relative;
  overflow: hidden;
}

/* Product Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-lg);
  font-weight: var(--fw-semi);
  color: var(--color-text);
  padding: var(--space-md) var(--space-lg) var(--space-xs);
  margin: 0;
  transition: var(--transition);
}

.woocommerce ul.products li.product a:hover h2 {
  color: var(--color-primary);
}

/* Product Price */
.woocommerce ul.products li.product .price {
  padding: 0 var(--space-lg);
  font-family: var(--font-heading);
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-md);
}

.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.woocommerce ul.products li.product .price del {
  opacity: 0.6;
}

.woocommerce ul.products li.product .price del .woocommerce-Price-amount {
  background: none;
  -webkit-text-fill-color: var(--color-text-muted);
  font-size: var(--fs-sm);
  font-weight: var(--fw-regular);
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
}

/* Add to Cart Button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
  margin: auto var(--space-lg) var(--space-lg);
  width: calc(100% - var(--space-lg) * 2);
  text-align: center;
}

/* Star Rating in Shop */
.woocommerce ul.products li.product .star-rating {
  margin: 0;
  padding: 0 var(--space-lg);
  font-size: var(--fs-sm);
}


/* ==========================================================================
   3. PRODUCT BADGES
   ========================================================================== */

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--gradient-primary);
  color: var(--color-text);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-pill);
  position: absolute;
  top: var(--space-md);
  left: var(--space-md);
  right: auto;
  z-index: 2;
  min-width: auto;
  min-height: auto;
  line-height: 1.5;
  margin: 0;
}

.badge-new {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  background: var(--color-info);
  color: var(--color-text);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-pill);
  z-index: 2;
}

.badge-bestseller {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  background: var(--color-star);
  color: #1A1A2E;
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-pill);
  z-index: 2;
}


/* ==========================================================================
   4. STAR RATING
   ========================================================================== */

.woocommerce .star-rating {
  color: var(--color-star);
  font-size: var(--fs-sm);
  overflow: hidden;
  position: relative;
  height: 1.2em;
  line-height: 1.2em;
  width: 5.4em;
}

.woocommerce .star-rating::before {
  content: '★★★★★';
  color: rgba(255, 215, 0, 0.2);
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  letter-spacing: 0.1em;
}

.woocommerce .star-rating span::before {
  content: '★★★★★';
  color: var(--color-star);
  letter-spacing: 0.1em;
}

.woocommerce p.stars a {
  color: var(--color-star);
}

.woocommerce p.stars a::before {
  color: rgba(255, 215, 0, 0.3);
}

.woocommerce p.stars a:hover ~ a::before,
.woocommerce p.stars.selected a.active ~ a::before {
  color: rgba(255, 215, 0, 0.3);
}


/* ==========================================================================
   5. PRICE STYLING
   ========================================================================== */

.woocommerce .price {
  font-family: var(--font-heading);
  font-weight: var(--fw-bold);
}

.woocommerce .price .woocommerce-Price-amount {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.woocommerce .price del {
  opacity: 0.6;
  font-size: 0.85em;
}

.woocommerce .price del .woocommerce-Price-amount {
  background: none;
  -webkit-text-fill-color: var(--color-text-muted);
  text-decoration: line-through;
}

.woocommerce .price ins {
  text-decoration: none;
}

/* Price Range */
.woocommerce .price .from {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  -webkit-text-fill-color: var(--color-text-muted);
}


/* ==========================================================================
   6. PAGINATION
   ========================================================================== */

.woocommerce nav.woocommerce-pagination {
  margin-top: var(--space-3xl);
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: var(--space-sm);
  border: none;
  margin: 0;
  padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--glass-bg);
  border: var(--glass-border);
  border-radius: var(--radius-md);
  color: var(--color-text-muted);
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  transition: var(--transition);
  text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: rgba(233, 69, 96, 0.1);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gradient-primary);
  border-color: transparent;
  color: var(--color-text);
}


/* ==========================================================================
   7. SINGLE PRODUCT PAGE
   ========================================================================== */

/* ── Gallery ── */
.woocommerce div.product div.images {
  margin-bottom: var(--space-2xl);
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.woocommerce div.product div.images img {
  border-radius: var(--radius-lg);
  transition: var(--transition);
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: flex;
  gap: var(--space-sm);
  margin-top: var(--space-md);
  padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  list-style: none;
  flex: 0 0 auto;
  width: 80px;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: var(--radius-md);
  border: 2px solid transparent;
  cursor: pointer;
  transition: var(--transition);
  opacity: 0.6;
  aspect-ratio: 1;
  object-fit: cover;
}

.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  opacity: 1;
  border-color: var(--color-primary);
}

/* Gallery zoom icon */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  width: 40px;
  height: 40px;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  border-radius: var(--radius-circle);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  text-indent: -9999px;
  border: var(--glass-border);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before {
  content: '🔍';
  text-indent: 0;
  display: block;
  font-size: 16px;
}

/* ── Product Summary ── */
.woocommerce div.product .product_title {
  font-family: var(--font-heading);
  font-size: var(--fs-3xl);
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-md);
}

.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: var(--space-md);
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
}

.woocommerce div.product p.price {
  font-size: var(--fs-2xl);
  margin-bottom: var(--space-lg);
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--color-text-muted);
  margin-bottom: var(--space-xl);
  line-height: 1.8;
  font-size: var(--fs-base);
}

.woocommerce div.product .product_meta {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding-top: var(--space-lg);
  margin-top: var(--space-xl);
}

.woocommerce div.product .product_meta > span {
  display: block;
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-sm);
}

.woocommerce div.product .product_meta > span a {
  color: var(--color-primary);
}

/* ── Quantity Input ── */
.woocommerce .quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-surface);
}

.woocommerce .quantity .qty {
  width: 60px;
  height: 44px;
  text-align: center;
  border: none;
  background: transparent;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--fs-md);
  font-weight: var(--fw-semi);
  -moz-appearance: textfield;
  padding: 0;
}

.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity-btn {
  width: 40px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: var(--transition);
  font-size: var(--fs-lg);
}

.quantity-btn:hover {
  background: rgba(233, 69, 96, 0.15);
  color: var(--color-primary);
}

/* ── Add to Cart Form ── */
.woocommerce div.product form.cart {
  margin-bottom: var(--space-xl);
  display: flex;
  align-items: center;
  gap: var(--space-md);
  flex-wrap: wrap;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1;
  min-width: 200px;
}

/* ── Variation Swatches ── */
.woocommerce div.product form.cart .variations {
  margin-bottom: var(--space-lg);
  width: 100%;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  padding: var(--space-sm) 0;
  border: none;
  vertical-align: middle;
}

.woocommerce div.product form.cart .variations label {
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  color: var(--color-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: var(--fs-sm);
}

.woocommerce div.product form.cart .variations select {
  background: var(--color-surface);
  border: 1px solid var(--color-surface-light);
  color: var(--color-text);
  padding: 0.65rem 2.5rem 0.65rem 1rem;
  border-radius: var(--radius-md);
  min-width: 200px;
}

.woocommerce div.product form.cart .reset_variations {
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
  visibility: visible !important;
}

/* Variation Swatches (visual) */
.variation-swatches {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
}

.variation-swatch {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  border: 2px solid var(--color-surface-light);
  cursor: pointer;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}

.variation-swatch:hover,
.variation-swatch.selected {
  border-color: var(--color-primary);
  box-shadow: 0 0 10px rgba(233, 69, 96, 0.3);
}

.variation-swatch.selected::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  font-size: var(--fs-sm);
}


/* ==========================================================================
   8. PRODUCT TABS
   ========================================================================== */

.woocommerce div.product .woocommerce-tabs {
  margin-top: var(--space-3xl);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: var(--space-sm);
  border: none;
  padding: 0;
  margin: 0 0 var(--space-2xl);
  list-style: none;
  overflow-x: auto;
  flex-wrap: wrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  border-radius: var(--radius-md);
  overflow: visible;
  position: relative;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.75rem 1.5rem;
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  font-size: var(--fs-base);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  background: var(--color-surface);
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  transition: var(--transition);
  white-space: nowrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--color-text);
  border-color: rgba(233, 69, 96, 0.3);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  background: var(--gradient-primary);
  border-color: transparent;
  color: var(--color-text);
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-2xl);
  margin-bottom: var(--space-lg);
}

.woocommerce div.product .woocommerce-tabs .panel p {
  color: var(--color-text-muted);
  line-height: 1.8;
}

/* Specifications Table */
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes {
  border: none;
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th {
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--color-text);
  font-weight: var(--fw-semi);
  padding: var(--space-md);
  text-align: left;
  width: 200px;
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes td {
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--color-text-muted);
  padding: var(--space-md);
  font-style: normal;
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes tr:nth-child(even) td,
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes tr:nth-child(even) th {
  background: rgba(15, 52, 96, 0.2);
}

/* Sound Demo Tab */
.sound-demo-tab {
  text-align: center;
}

.sound-demo-tab p {
  margin-bottom: var(--space-xl);
}

/* ── Reviews Tab ── */
.woocommerce #reviews #comments {
  margin-bottom: var(--space-2xl);
}

.woocommerce #reviews #comments ol.commentlist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce #reviews #comments ol.commentlist li {
  margin-bottom: var(--space-lg);
}

.woocommerce #reviews #comments ol.commentlist li .comment_container {
  display: flex;
  gap: var(--space-lg);
  padding: var(--space-lg);
  background: rgba(15, 52, 96, 0.2);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
  width: 50px;
  height: 50px;
  border-radius: var(--radius-circle);
  border: 2px solid var(--color-primary);
  flex-shrink: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
  flex: 1;
  margin: 0;
  padding: 0;
  border: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta {
  margin-bottom: var(--space-sm);
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta strong {
  color: var(--color-text);
  font-weight: var(--fw-semi);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
  font-size: var(--fs-base);
  color: var(--color-text-muted);
}

/* Review Form */
.woocommerce #review_form #respond {
  background: var(--glass-bg);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  margin-top: var(--space-xl);
}

.woocommerce #review_form #respond .comment-reply-title {
  font-family: var(--font-heading);
  font-size: var(--fs-xl);
  margin-bottom: var(--space-lg);
}

.woocommerce #review_form #respond .comment-form label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semi);
  color: var(--color-text);
  margin-bottom: var(--space-xs);
}

.woocommerce #review_form #respond .comment-form input,
.woocommerce #review_form #respond .comment-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  background: var(--color-surface);
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  color: var(--color-text);
  transition: var(--transition);
}

.woocommerce #review_form #respond .comment-form input:focus,
.woocommerce #review_form #respond .comment-form textarea:focus {
  border-color: var(--color-primary);
  outline: none;
}


/* ==========================================================================
   9. RELATED / UPSELL PRODUCTS
   ========================================================================== */

.woocommerce div.product .related,
.woocommerce div.product .upsells {
  margin-top: var(--space-4xl);
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-2xl);
  text-align: center;
  margin-bottom: var(--space-2xl);
}


/* ==========================================================================
   10. CART PAGE
   ========================================================================== */

.woocommerce-cart .woocommerce {
  max-width: 100%;
}

.woocommerce table.shop_table {
  border: none;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
}

.woocommerce table.shop_table thead {
  background: rgba(15, 52, 96, 0.5);
}

.woocommerce table.shop_table th {
  padding: var(--space-lg);
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: var(--fs-sm);
  color: var(--color-text);
  border: none;
}

.woocommerce table.shop_table td {
  padding: var(--space-lg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--color-text);
  vertical-align: middle;
}

.woocommerce table.shop_table td.product-remove {
  width: 40px;
}

.woocommerce table.shop_table td.product-remove a.remove {
  color: var(--color-text-muted) !important;
  font-size: var(--fs-xl);
  transition: var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-circle);
}

.woocommerce table.shop_table td.product-remove a.remove:hover {
  color: var(--color-primary) !important;
  background: rgba(233, 69, 96, 0.1);
}

.woocommerce table.shop_table td.product-thumbnail img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.woocommerce table.shop_table td.product-name a {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
}

.woocommerce table.shop_table td.product-name a:hover {
  color: var(--color-primary);
}

/* Cart actions row */
.woocommerce table.shop_table td.actions {
  padding: var(--space-xl);
}

.woocommerce table.shop_table td.actions .coupon {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
}

.woocommerce table.shop_table td.actions .coupon input {
  padding: 0.65rem 1rem;
  background: var(--color-surface);
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  color: var(--color-text);
  max-width: 250px;
}

.woocommerce table.shop_table td.actions .coupon input:focus {
  border-color: var(--color-primary);
  outline: none;
}

/* ── Cart Totals ── */
.woocommerce .cart-collaterals {
  margin-top: var(--space-2xl);
}

.woocommerce .cart-collaterals .cart_totals {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
}

.woocommerce .cart-collaterals .cart_totals h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-xl);
  margin-bottom: var(--space-lg);
}

.woocommerce .cart-collaterals .cart_totals table {
  border: none;
  background: transparent;
}

.woocommerce .cart-collaterals .cart_totals table th {
  padding: var(--space-md);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--color-text-muted);
  font-weight: var(--fw-regular);
  text-align: left;
}

.woocommerce .cart-collaterals .cart_totals table td {
  padding: var(--space-md);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  text-align: right;
}

.woocommerce .cart-collaterals .cart_totals .order-total th,
.woocommerce .cart-collaterals .cart_totals .order-total td {
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  border-bottom: none;
}

.woocommerce .cart-collaterals .cart_totals .order-total td .woocommerce-Price-amount {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: var(--fs-xl);
}

.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout {
  padding-top: var(--space-lg);
}

.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 1rem 2rem;
  font-size: var(--fs-md);
}

/* Empty Cart */
.woocommerce-cart .cart-empty {
  text-align: center;
  padding: var(--space-4xl) 0;
  color: var(--color-text-muted);
  font-size: var(--fs-lg);
}

.woocommerce-cart .return-to-shop a {
  display: inline-flex;
}


/* ==========================================================================
   11. CHECKOUT PAGE
   ========================================================================== */

.woocommerce-checkout .woocommerce {
  max-width: 100%;
}

.woocommerce form.checkout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
}

.woocommerce form.checkout .col2-set {
  grid-column: 1;
}

.woocommerce form.checkout #order_review_heading,
.woocommerce form.checkout #order_review {
  grid-column: 2;
}

/* ── Form Fields ── */
.woocommerce form .form-row {
  margin-bottom: var(--space-lg);
}

.woocommerce form .form-row label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semi);
  color: var(--color-text);
  margin-bottom: var(--space-xs);
}

.woocommerce form .form-row label .required {
  color: var(--color-primary);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: 0.85rem 1.15rem;
  background: var(--color-surface);
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  color: var(--color-text);
  font-size: var(--fs-base);
  transition: var(--transition);
  outline: none;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(233, 69, 96, 0.15);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text {
  border-color: var(--color-error);
}

.woocommerce form .form-row.woocommerce-validated input.input-text {
  border-color: var(--color-success);
}

/* Checkout headings */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--font-heading);
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-sm);
  border-bottom: 2px solid rgba(233, 69, 96, 0.2);
}

/* ── Order Review ── */
.woocommerce-checkout #order_review {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  border: none;
  background: transparent;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: var(--space-md);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  text-transform: uppercase;
  font-size: var(--fs-sm);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
}

/* ── Payment Methods ── */
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: 0;
  margin: 0 0 var(--space-lg);
  border: none;
  list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: var(--space-sm);
  padding: var(--space-lg);
  background: rgba(15, 52, 96, 0.3);
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  transition: var(--transition);
}

.woocommerce-checkout #payment ul.payment_methods li:hover,
.woocommerce-checkout #payment ul.payment_methods li.active {
  border-color: var(--color-primary);
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: var(--fw-semi);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.woocommerce-checkout #payment ul.payment_methods li .payment_box {
  padding: var(--space-md) 0 0;
  margin: 0;
  background: transparent;
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
}

.woocommerce-checkout #payment ul.payment_methods li .payment_box::before {
  display: none;
}

.woocommerce-checkout #payment .place-order {
  padding: 0;
  margin-top: var(--space-lg);
}

.woocommerce-checkout #payment #place_order {
  width: 100%;
  padding: 1.1rem 2rem;
  font-size: var(--fs-md);
}

/* ── Checkout Privacy/Terms ── */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin: var(--space-md) 0;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}


/* ==========================================================================
   12. MINI CART / CART WIDGET
   ========================================================================== */

.widget_shopping_cart {
  position: absolute;
  top: 100%;
  right: 0;
  width: 360px;
  background: rgba(22, 33, 62, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  padding: var(--space-xl);
  z-index: var(--z-dropdown);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: var(--transition);
}

.cart-dropdown.active .widget_shopping_cart {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.widget_shopping_cart .mini-cart__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.widget_shopping_cart .mini-cart__title {
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  font-size: var(--fs-lg);
}

.widget_shopping_cart .mini-cart__count {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: var(--fw-bold);
}

.widget_shopping_cart ul.product_list_widget,
.widget_shopping_cart ul.cart_list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 300px;
  overflow-y: auto;
}

.widget_shopping_cart ul.product_list_widget li,
.widget_shopping_cart ul.cart_list li {
  display: flex;
  gap: var(--space-md);
  padding: var(--space-md) 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: relative;
}

.widget_shopping_cart ul.product_list_widget li img,
.widget_shopping_cart ul.cart_list li img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: var(--radius-md);
  flex-shrink: 0;
}

.widget_shopping_cart ul.product_list_widget li a:not(.remove),
.widget_shopping_cart ul.cart_list li a:not(.remove) {
  color: var(--color-text);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semi);
}

.widget_shopping_cart ul.product_list_widget li .quantity,
.widget_shopping_cart ul.cart_list li .quantity {
  display: block;
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
  border: none;
  background: transparent;
}

.widget_shopping_cart ul.product_list_widget li a.remove,
.widget_shopping_cart ul.cart_list li a.remove {
  position: absolute;
  top: var(--space-md);
  right: 0;
  color: var(--color-text-muted) !important;
  font-size: var(--fs-sm);
  opacity: 0;
  transition: var(--transition);
}

.widget_shopping_cart ul.product_list_widget li:hover a.remove,
.widget_shopping_cart ul.cart_list li:hover a.remove {
  opacity: 1;
}

.widget_shopping_cart .total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-lg) 0;
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.widget_shopping_cart .total .woocommerce-Price-amount {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
}

.widget_shopping_cart .buttons {
  display: flex;
  gap: var(--space-sm);
  padding-top: var(--space-lg);
}

.widget_shopping_cart .buttons a {
  flex: 1;
  text-align: center;
  padding: 0.65rem 1rem;
  font-size: var(--fs-sm);
}

.widget_shopping_cart .buttons a:first-child {
  background: transparent;
  border: 1px solid var(--color-surface-light);
  color: var(--color-text);
}

.widget_shopping_cart .buttons a:first-child:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

/* Empty mini cart */
.widget_shopping_cart .empty {
  text-align: center;
  color: var(--color-text-muted);
  padding: var(--space-2xl) 0;
  font-size: var(--fs-sm);
}


/* ==========================================================================
   13. WOOCOMMERCE NOTICES
   ========================================================================== */

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  padding: var(--space-lg) var(--space-xl);
  border-radius: var(--radius-md);
  border: none;
  border-left: 4px solid;
  margin-bottom: var(--space-xl);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
  background: var(--glass-bg);
  color: var(--color-text);
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
  display: none;
}

.woocommerce .woocommerce-message {
  border-left-color: var(--color-success);
}

.woocommerce .woocommerce-info {
  border-left-color: var(--color-info);
}

.woocommerce .woocommerce-error {
  border-left-color: var(--color-error);
  list-style: none;
  padding-left: var(--space-xl);
}

.woocommerce .woocommerce-error li {
  margin: 0;
}

.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button {
  padding: 0.5rem 1.25rem;
  font-size: var(--fs-sm);
  order: 2;
}


/* ==========================================================================
   14. MY ACCOUNT PAGE
   ========================================================================== */

/* ── Page Header ── */
.woocommerce-account .page-header {
  text-align: center;
  padding: var(--space-3xl) 0 var(--space-xl);
}

.woocommerce-account .page-header__title {
  font-family: var(--font-heading);
  font-size: var(--fs-3xl);
  font-weight: var(--fw-bold);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Login / Register Form ── */
.woocommerce-account .woocommerce > .woocommerce-form-login,
.woocommerce-account .woocommerce > .u-columns,
.woocommerce-account .woocommerce > #customer_login {
  max-width: 480px;
  margin: 0 auto;
}

/* Two-column login/register */
.woocommerce-account #customer_login {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  max-width: 900px;
  margin: 0 auto;
}

.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
  width: 100%;
}

/* Login form card */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  margin: 0 auto;
}

.woocommerce-account .woocommerce form.login h2,
.woocommerce-account .woocommerce form.register h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-2xl);
  font-weight: var(--fw-bold);
  color: var(--color-text);
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-md);
  border-bottom: 2px solid rgba(233, 69, 96, 0.2);
  position: relative;
}

.woocommerce-account .woocommerce form.login h2::after,
.woocommerce-account .woocommerce form.register h2::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--gradient-primary);
}

/* Form labels */
.woocommerce-account .woocommerce form .form-row label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semi);
  color: var(--color-text);
  margin-bottom: var(--space-xs);
  font-family: var(--font-heading);
}

.woocommerce-account .woocommerce form .form-row label .required {
  color: var(--color-primary);
}

/* Form inputs */
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form .form-row input[type="text"],
.woocommerce-account .woocommerce form .form-row input[type="email"],
.woocommerce-account .woocommerce form .form-row input[type="password"],
.woocommerce-account .woocommerce form .form-row textarea,
.woocommerce-account .woocommerce form .form-row select {
  width: 100%;
  padding: 0.9rem 1.15rem;
  background: var(--color-surface);
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  color: var(--color-text);
  font-size: var(--fs-base);
  font-family: var(--font-body);
  transition: var(--transition);
  outline: none;
  -webkit-appearance: none;
}

.woocommerce-account .woocommerce form .form-row input:focus,
.woocommerce-account .woocommerce form .form-row textarea:focus,
.woocommerce-account .woocommerce form .form-row select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(233, 69, 96, 0.15);
}

/* Remember me checkbox */
.woocommerce-account .woocommerce form .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
}

.woocommerce-account .woocommerce form .woocommerce-form-login__rememberme input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-primary);
  cursor: pointer;
}

/* Login / Submit button */
.woocommerce-account .woocommerce form button.woocommerce-form-login__submit,
.woocommerce-account .woocommerce form button.woocommerce-form-register__submit,
.woocommerce-account .woocommerce form .button,
.woocommerce-account .woocommerce form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.95rem 2rem;
  background: var(--gradient-primary);
  color: var(--color-text);
  border: none;
  border-radius: var(--radius-md);
  font-family: var(--font-heading);
  font-size: var(--fs-base);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: var(--transition);
  margin-top: var(--space-md);
}

.woocommerce-account .woocommerce form button:hover,
.woocommerce-account .woocommerce form .button:hover,
.woocommerce-account .woocommerce form input[type="submit"]:hover {
  box-shadow: 0 8px 25px rgba(233, 69, 96, 0.4);
  transform: translateY(-2px);
}

/* Lost password link */
.woocommerce-account .woocommerce .lost_password,
.woocommerce-account .woocommerce .woocommerce-LostPassword {
  margin-top: var(--space-lg);
  text-align: center;
}

.woocommerce-account .woocommerce .lost_password a,
.woocommerce-account .woocommerce .woocommerce-LostPassword a {
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
  transition: var(--transition);
  text-decoration: none;
}

.woocommerce-account .woocommerce .lost_password a:hover,
.woocommerce-account .woocommerce .woocommerce-LostPassword a:hover {
  color: var(--color-primary);
}

/* ── My Account Dashboard (logged in) ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  margin-bottom: var(--space-xl);
  /* Override WooCommerce plugin woocommerce-layout.css: float:left; width:30% */
  float: none !important;
  width: 100% !important;
  box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin-bottom: 2px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-muted);
  border-radius: var(--radius-md);
  transition: var(--transition);
  font-weight: var(--fw-semi);
  font-family: var(--font-heading);
  text-decoration: none;
  font-size: var(--fs-base);
  white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--color-text);
  background: rgba(233, 69, 96, 0.1);
  padding-left: calc(var(--space-lg) + 4px);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
  color: var(--color-text);
  background: var(--gradient-primary);
  box-shadow: 0 4px 15px rgba(233, 69, 96, 0.3);
}

/* Dashboard content area */
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  color: var(--color-text);
  line-height: 1.8;
  /* Override WooCommerce plugin woocommerce-layout.css: float:right; width:68% */
  float: none !important;
  width: 100% !important;
  box-sizing: border-box;
  min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  color: var(--color-text-muted);
  margin-bottom: var(--space-md);
}

.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--color-primary);
  text-decoration: none;
  transition: var(--transition);
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
  color: var(--color-text);
}

/* Orders table */
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  border: none;
}

.woocommerce-account .woocommerce-MyAccount-content table th {
  font-family: var(--font-heading);
  font-weight: var(--fw-semi);
  font-size: var(--fs-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  padding: var(--space-md);
  border-bottom: 2px solid rgba(233, 69, 96, 0.15);
  text-align: left;
}

.woocommerce-account .woocommerce-MyAccount-content table td {
  padding: var(--space-md);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--color-text);
  font-size: var(--fs-sm);
}

.woocommerce-account .woocommerce-MyAccount-content table td a.button,
.woocommerce-account .woocommerce-MyAccount-content table td a.woocommerce-button {
  padding: 0.45rem 1rem;
  font-size: var(--fs-xs);
  background: var(--gradient-primary);
  color: var(--color-text);
  border-radius: var(--radius-md);
  font-weight: var(--fw-semi);
  text-decoration: none;
  display: inline-flex;
  transition: var(--transition);
}

.woocommerce-account .woocommerce-MyAccount-content table td a.button:hover {
  box-shadow: 0 4px 12px rgba(233, 69, 96, 0.3);
}

/* Address cards — Match WooCommerce's exact selector specificity to override */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .col2-set,
.woocommerce-account .woocommerce-MyAccount-content .u-columns,
.woocommerce-page .woocommerce .col2-set.addresses,
body.woocommerce-account .woocommerce .col2-set {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1.5rem !important;
  float: none !important;
  width: 100% !important;
  clear: both !important;
}

/* Override WooCommerce float/width on address columns — max specificity */
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2,
.woocommerce-page .woocommerce .col2-set .col-1,
.woocommerce-page .woocommerce .col2-set .col-2,
body.woocommerce-account .woocommerce .col2-set .col-1,
body.woocommerce-account .woocommerce .col2-set .col-2,
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 1 1 0% !important;
  background: rgba(15, 52, 96, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  box-sizing: border-box;
}

/* Address headings — h2 & h3 */
.woocommerce-account .col2-set h2,
.woocommerce-account .col2-set h3,
.woocommerce-account .woocommerce-Addresses h2,
.woocommerce-account .woocommerce-Addresses h3,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header h2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header h3 {
  font-family: var(--font-heading);
  font-size: var(--fs-lg) !important;
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-md);
  color: var(--color-text);
}

/* Edit address link */
.woocommerce-account .woocommerce-Address header a,
.woocommerce-account .col2-set header a {
  font-size: var(--fs-sm);
  color: var(--color-primary);
  text-decoration: none;
  display: inline-block;
  margin-bottom: var(--space-md);
}

.woocommerce-account .woocommerce-Address header a:hover,
.woocommerce-account .col2-set header a:hover {
  color: var(--color-text);
}

/* Address text */
.woocommerce-account .woocommerce-Address address,
.woocommerce-account .col2-set address {
  color: var(--color-text-muted);
  font-style: normal;
  line-height: 1.8;
}

/* ── Account Layout (2 col on desktop) ── */
@media (min-width: 769px) {
  /* Force grid on the .woocommerce wrapper — !important overrides WC plugin CSS */
  .woocommerce-account .entry-content > .woocommerce,
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation),
  body.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 2rem !important;
    align-items: start !important;
  }

  /* Notices wrapper spans full width */
  .woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
  }

  /* Navigation = LEFT sidebar */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin-bottom: 0;
    position: sticky;
    top: 100px;
  }

  /* Content = RIGHT main area */
  .woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  /* Login form + heading span full width when NOT logged in */
  .woocommerce-account .woocommerce > h2,
  .woocommerce-account .woocommerce > form.login,
  .woocommerce-account .woocommerce > form.register,
  .woocommerce-account .woocommerce > #customer_login,
  .woocommerce-account .woocommerce > .woocommerce-LostPassword,
  .woocommerce-account .woocommerce > .lost_password {
    grid-column: 1 / -1 !important;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }

  /* Ensure entry-content doesn't constrain grid */
  .woocommerce-account .entry-content {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Responsive login form */
@media (max-width: 768px) {
  .woocommerce-account #customer_login {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .woocommerce-account .woocommerce form.login,
  .woocommerce-account .woocommerce form.register {
    padding: var(--space-xl);
  }

  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .col2-set,
  .woocommerce-account .u-columns {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content table {
    display: block;
    overflow-x: auto;
  }
}


/* ==========================================================================
   15. WIDGETS / SIDEBAR
   ========================================================================== */

.widget {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  margin-bottom: var(--space-xl);
}

.widget-title,
.widget .widgettitle {
  font-family: var(--font-heading);
  font-size: var(--fs-lg);
  font-weight: var(--fw-semi);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-sm);
  border-bottom: 2px solid rgba(233, 69, 96, 0.2);
}

/* Price Filter Widget */
.woocommerce .widget_price_filter .price_slider_wrapper {
  padding-top: var(--space-md);
}

.woocommerce .widget_price_filter .ui-slider {
  background: var(--color-surface-light);
  border: none;
  border-radius: var(--radius-pill);
  height: 6px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background: var(--gradient-primary);
  border-radius: var(--radius-pill);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  width: 18px;
  height: 18px;
  background: var(--color-text);
  border: 3px solid var(--color-primary);
  border-radius: var(--radius-circle);
  top: -6px;
  cursor: pointer;
}

.woocommerce .widget_price_filter .price_slider_amount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--space-lg);
}

.woocommerce .widget_price_filter .price_slider_amount .price_label {
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
}

/* Product Categories Widget */
.woocommerce .widget_product_categories ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce .widget_product_categories ul li {
  margin-bottom: 0;
}

.woocommerce .widget_product_categories ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-sm) 0;
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: var(--transition);
}

.woocommerce .widget_product_categories ul li a:hover {
  color: var(--color-primary);
  padding-left: var(--space-sm);
}

.woocommerce .widget_product_categories ul li .count {
  background: var(--color-surface);
  padding: 2px 8px;
  border-radius: var(--radius-pill);
  font-size: var(--fs-xs);
}

/* Active Filter Widget */
.woocommerce .widget_layered_nav_filters ul li a {
  background: var(--color-surface);
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  color: var(--color-text);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0 var(--space-xs) var(--space-xs) 0;
}

.woocommerce .widget_layered_nav_filters ul li a:hover {
  background: rgba(233, 69, 96, 0.15);
  color: var(--color-primary);
}


/* ==========================================================================
   16. ORDER CONFIRMATION / THANK YOU PAGE
   ========================================================================== */

.woocommerce-order .woocommerce-order-overview {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-md);
  margin-bottom: var(--space-2xl);
}

.woocommerce-order .woocommerce-order-overview li {
  background: var(--glass-bg);
  border: var(--glass-border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  text-align: center;
}

.woocommerce-order .woocommerce-order-overview li strong {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--fs-lg);
  margin-top: var(--space-xs);
}

.woocommerce-order .woocommerce-order-details {
  background: var(--glass-bg);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  margin-bottom: var(--space-2xl);
}


/* ==========================================================================
   17. RESPONSIVE WOOCOMMERCE
   ========================================================================== */

@media (max-width: 992px) {
  .woocommerce form.checkout {
    grid-template-columns: 1fr;
  }

  .woocommerce form.checkout .col2-set,
  .woocommerce form.checkout #order_review_heading,
  .woocommerce form.checkout #order_review {
    grid-column: 1;
  }

  .widget_shopping_cart {
    width: 320px;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }

  .shop-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  /* Cart table responsive */
  .woocommerce table.shop_table {
    display: block;
  }

  .woocommerce table.shop_table thead {
    display: none;
  }

  .woocommerce table.shop_table tbody {
    display: block;
  }

  .woocommerce table.shop_table tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: var(--space-lg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    gap: var(--space-md);
  }

  .woocommerce table.shop_table td {
    padding: 0;
    border: none;
  }

  .woocommerce table.shop_table td.product-thumbnail {
    width: 80px;
  }

  .woocommerce table.shop_table td.product-name {
    flex: 1;
  }

  .woocommerce table.shop_table td.product-quantity,
  .woocommerce table.shop_table td.product-subtotal {
    width: auto;
  }

  .woocommerce table.shop_table td.actions {
    display: block;
    width: 100%;
    padding: var(--space-lg) 0;
  }

  .widget_shopping_cart {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 360px;
    height: 100vh;
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
    transform: translateX(100%);
  }

  .cart-dropdown.active .widget_shopping_cart {
    transform: translateX(0);
  }

  /* Testimonial card in single product */
  .woocommerce #reviews #comments ol.commentlist li .comment_container {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 576px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-sm);
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2 {
    font-size: var(--fs-base);
    padding: var(--space-sm) var(--space-md) var(--space-xs);
  }

  .woocommerce ul.products li.product .price {
    padding: 0 var(--space-md);
    font-size: var(--fs-base);
  }

  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.add_to_cart_button {
    margin: auto var(--space-md) var(--space-md);
    width: calc(100% - var(--space-md) * 2);
    padding: 0.6rem 1rem;
    font-size: var(--fs-sm);
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 0.6rem 1rem;
    font-size: var(--fs-sm);
  }

  .woocommerce-order .woocommerce-order-overview {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ==========================================================================
   PRODUCT FINDER — "Find Your Exhaust"
   ========================================================================== */

.product-finder {
  padding: 0;
  margin-top: calc(var(--space-3xl) * -0.5);
  position: relative;
  z-index: 10;
}

.product-finder__card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-xl) var(--space-2xl);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

/* Header */
.product-finder__header {
  margin-bottom: var(--space-lg);
}

.product-finder__title {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  color: var(--color-text);
  letter-spacing: 0.05em;
  margin: 0;
}

.product-finder__title .product-finder__icon {
  color: var(--color-primary);
  flex-shrink: 0;
}

/* Form layout */
.product-finder__fields {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: var(--space-lg);
  align-items: end;
}

/* Field */
.product-finder__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.product-finder__label {
  font-family: var(--font-heading);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.product-finder__label--spacer {
  visibility: hidden;
}

/* Select wrapper */
.product-finder__select-wrap {
  position: relative;
}

.product-finder__select {
  width: 100%;
  padding: 0.85rem 2.5rem 0.85rem 1rem;
  background: var(--color-surface);
  border: 1px solid var(--color-surface-light);
  border-radius: var(--radius-md);
  color: var(--color-text);
  font-size: var(--fs-sm);
  font-family: var(--font-body);
  cursor: pointer;
  transition: var(--transition);
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.product-finder__select:hover:not(:disabled) {
  border-color: rgba(233, 69, 96, 0.4);
}

.product-finder__select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(233, 69, 96, 0.15);
}

.product-finder__select:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Custom chevron */
.product-finder__chevron {
  position: absolute;
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
  pointer-events: none;
  transition: var(--transition);
}

.product-finder__select:focus + .product-finder__chevron {
  color: var(--color-primary);
}

/* Active state — field has been interacted with */
.product-finder__field.is-active .product-finder__select {
  border-color: rgba(233, 69, 96, 0.3);
}

/* Submit button */
.product-finder__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 0.85rem 2rem;
  background: var(--gradient-primary);
  color: var(--color-text);
  border: none;
  border-radius: var(--radius-md);
  font-family: var(--font-heading);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
  min-height: 48px;
}

.product-finder__btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.product-finder__btn:not(:disabled):hover {
  box-shadow: 0 8px 25px rgba(233, 69, 96, 0.5);
  transform: translateY(-2px);
}

.product-finder__btn.is-ready {
  animation: pf-pulse 1.5s ease-in-out infinite;
}

@keyframes pf-pulse {
  0%, 100% { box-shadow: 0 4px 15px rgba(233, 69, 96, 0.3); }
  50%      { box-shadow: 0 4px 30px rgba(233, 69, 96, 0.6); }
}

/* ── Responsive ── */
@media (max-width: 992px) {
  .product-finder__fields {
    grid-template-columns: 1fr 1fr;
  }

  .product-finder__field--submit {
    grid-column: 1 / -1;
  }

  .product-finder__label--spacer {
    display: none;
  }

  .product-finder__btn {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .product-finder__fields {
    grid-template-columns: 1fr;
  }

  .product-finder__card {
    padding: var(--space-lg);
  }

  .product-finder__title {
    font-size: var(--fs-lg);
  }
}

/* Product media + Check The Sound layout — 2026-08-17 */
body.single-product .thrtech-single-product__media {
  min-width: 0;
}

@media (min-width: 768px) {
  body.single-product .thrtech-single-product__columns {
    align-items: start !important;
  }

  body.single-product .thrtech-single-product__media > .thrtech-single-product__sound-section {
    width: 100% !important;
    margin: 32px 0 0 !important;
  }

  body.single-product .thrtech-single-product__media .sound-player {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 18px !important;
    padding: 20px !important;
  }

  body.single-product .thrtech-single-product__media .sound-player__modes {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.single-product .thrtech-single-product__media .sound-player__btn {
    min-width: 0 !important;
    padding: 12px 8px !important;
  }

  body.single-product .thrtech-single-product__media .sound-player__btn-desc {
    display: none !important;
  }

  body.single-product .thrtech-single-product__media .sound-player__visualizer {
    min-height: 120px;
  }
}

@media (max-width: 767px) {
  body.single-product .thrtech-single-product__media {
    display: contents;
  }

  body.single-product .thrtech-single-product__gallery {
    order: 1;
  }

  body.single-product .thrtech-single-product__summary {
    order: 2;
  }

  body.single-product .thrtech-single-product__media > .thrtech-single-product__sound-section {
    order: 3;
    width: 100% !important;
    margin-top: 32px !important;
  }
}


/* Balanced product grids and consistent product action spacing. */
@media (min-width: 1025px) {
  .featured-products__grid:has(> .product-card:nth-child(6):last-child),
  .related.products ul.products:has(> .product:nth-child(6):last-child),
  .upsells.products ul.products:has(> .product:nth-child(6):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.product-card__actions,
ul.products .product-card__actions,
.related.products .product-card__actions,
.upsells.products .product-card__actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: stretch;
}

.product-card__actions > a.button,
.product-card__actions > .btn,
.product-card__actions > .yith-wcqv-button {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  justify-content: center;
  text-align: center;
}

@media (max-width: 1024px) {
  .featured-products__grid,
  .related.products ul.products,
  .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .featured-products__grid,
  .related.products ul.products,
  .upsells.products ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .product-card__actions,
  ul.products .product-card__actions {
    gap: 8px !important;
  }
}


/* Keep four related or upsell products on one balanced desktop row. */
@media (min-width: 1025px) {
  .related.products ul.products:has(> .product:nth-child(4):last-child),
  .upsells.products ul.products:has(> .product:nth-child(4):last-child) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}


/* Polished product image hover action. */
.product-card__overlay {
  background: linear-gradient(180deg, rgba(10, 16, 28, .18), rgba(10, 16, 28, .72)) !important;
}

.product-card__quick-view {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto !important;
  min-height: 42px;
  padding: 10px 18px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #e94560, #c8324c) !important;
  border: 1px solid rgba(255, 255, 255, .3) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(233, 69, 96, .32);
  font-size: .82rem !important;
  font-weight: 700 !important;
  line-height: 1;
  letter-spacing: .045em;
  text-transform: uppercase;
  text-decoration: none !important;
  transform: translateY(6px);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.product-card:hover .product-card__quick-view,
.product-card:focus-within .product-card__quick-view,
.product-card__quick-view:hover,
.product-card__quick-view:focus-visible {
  color: #fff !important;
  background: linear-gradient(135deg, #f2556f, #d93451) !important;
  box-shadow: 0 12px 30px rgba(233, 69, 96, .45);
  transform: translateY(0);
}

.product-card__quick-view svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
}

@media (max-width: 640px) {
  .product-card__quick-view {
    min-height: 38px;
    padding: 9px 14px !important;
    font-size: .76rem !important;
  }
}


/* Match keyboard focus with the product hover overlay. */
.product-card:focus-within .product-card__overlay {
  opacity: 1 !important;
  visibility: visible !important;
}


/* Clear, proportional product price hierarchy across storefront views. */
.product-card__price,
ul.products .product-card__price,
.related.products .product-card__price,
.upsells.products .product-card__price {
  display: flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 10px;
  row-gap: 4px;
  line-height: 1.15 !important;
}

.product-card__price > .woocommerce-Price-amount,
.product-card__price > .price,
.product-card__price ins,
ul.products .product-card__price ins {
  font-size: clamp(1.4rem, 1.65vw, 1.68rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em;
}

.product-card__price ins,
ul.products .product-card__price ins {
  color: #e10600 !important;
  text-decoration: none !important;
}

.product-card__price del,
ul.products .product-card__price del {
  font-size: .98rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #9fa3b5 !important;
  opacity: .78 !important;
}

body.single-product .summary .price,
body.single-product .thrtech-single-product__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: clamp(2.2rem, 3.4vw, 2.8rem) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em;
}

body.single-product .summary .price ins,
body.single-product .thrtech-single-product__price ins {
  font-size: inherit !important;
  font-weight: 800 !important;
  line-height: inherit !important;
  color: #e10600 !important;
  text-decoration: none !important;
}

body.single-product .summary .price del,
body.single-product .thrtech-single-product__price del {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #9fa3b5 !important;
  opacity: .72 !important;
}

@media (max-width: 640px) {
  .product-card__price > .woocommerce-Price-amount,
  .product-card__price > .price,
  .product-card__price ins,
  ul.products .product-card__price ins {
    font-size: 1.35rem !important;
  }

  .product-card__price del,
  ul.products .product-card__price del {
    font-size: .88rem !important;
  }

  body.single-product .summary .price,
  body.single-product .thrtech-single-product__price {
    gap: 5px 10px;
    font-size: 1.95rem !important;
  }

  body.single-product .summary .price del,
  body.single-product .thrtech-single-product__price del {
    font-size: 1.05rem !important;
  }
}


/* Ensure the main single-product price remains prominent. */
body.single-product #product-4732 .summary.entry-summary .price,
body.single-product .thrtech-single-product__summary .summary.entry-summary .price {
  font-size: clamp(2.2rem, 3.4vw, 2.8rem) !important;
  line-height: 1.08 !important;
}

body.single-product .thrtech-single-product__summary .summary.entry-summary .price ins {
  font-size: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 640px) {
  body.single-product .thrtech-single-product__summary .summary.entry-summary .price {
    font-size: 1.95rem !important;
  }
}


/* Cart shipping calculator + guest account layout — 2026-10-24 */
.woocommerce-cart .cart_totals .shipping-calculator-form {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 380px;
  margin: 18px 0 4px auto !important;
  padding: 0 !important;
  clear: both !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .form-row,
.woocommerce-cart .cart_totals .shipping-calculator-form p,
.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container,
.woocommerce-cart .cart_totals .shipping-calculator-form select {
  display: block !important;
  float: none !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  clear: both !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-form label {
  display: block !important;
  margin: 0 0 7px !important;
  line-height: 1.35;
  text-align: left;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .select2-selection,
.woocommerce-cart .cart_totals .shipping-calculator-form select,
.woocommerce-cart .cart_totals .shipping-calculator-form input {
  width: 100% !important;
  min-height: 50px !important;
  height: 50px !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .select2-selection__rendered {
  line-height: 48px !important;
  padding-left: 16px !important;
  padding-right: 42px !important;
  text-align: left !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .select2-selection__arrow {
  height: 48px !important;
  right: 10px !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-form button[name="calc_shipping"],
.woocommerce-cart .cart_totals .shipping-calculator-form .button {
  position: static !important;
  float: none !important;
  display: inline-flex !important;
  align-self: stretch !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px;
  margin: 2px 0 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
  line-height: 1.4;
}

/* Logged-out account: equal login/register cards and orderly social sign-in. */
.woocommerce-account #customer_login {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 36px) !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  align-items: start;
}

.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(22px, 3vw, 34px) !important;
  box-sizing: border-box !important;
}

.woocommerce-account #customer_login h2 {
  margin: 0 0 18px !important;
}

.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.woocommerce-account #customer_login .form-row,
.woocommerce-account #customer_login input.input-text,
.woocommerce-account #customer_login button.button {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Covers common Google/social-login wrappers without changing OAuth behavior. */
.woocommerce-account #customer_login .nsl-container,
.woocommerce-account #customer_login .wc-social-login,
.woocommerce-account #customer_login .woo-slg-social-container,
.woocommerce-account #customer_login .mo-openid-app-icons,
.woocommerce-account #customer_login .g_id_signin,
.woocommerce-account #customer_login [class*="google-login"],
.woocommerce-account #customer_login [class*="google-sign"] {
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 !important;
  clear: both !important;
  box-sizing: border-box !important;
}

.woocommerce-account #customer_login .nsl-container a,
.woocommerce-account #customer_login .wc-social-login a,
.woocommerce-account #customer_login [class*="google-login"] a,
.woocommerce-account #customer_login [class*="google-sign"] a,
.woocommerce-account #customer_login .g_id_signin > div {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .woocommerce-cart .cart_totals,
  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals .shipping-calculator-form {
    width: 100% !important;
    max-width: none !important;
  }

  .woocommerce-cart .cart_totals .shipping-calculator-form {
    margin-top: 16px !important;
  }

  .woocommerce-cart .cart_totals .shipping-calculator-button {
    justify-content: flex-start;
  }

  .woocommerce-account #customer_login {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 480px) {
  .woocommerce-cart .cart_totals {
    padding: 22px 16px !important;
  }

  .woocommerce-cart .cart_totals .shipping-calculator-form {
    gap: 12px !important;
  }

  .woocommerce-account #customer_login > .u-column1,
  .woocommerce-account #customer_login > .u-column2 {
    padding: 20px 16px !important;
  }
}


/* Keep expanded shipping calculator in normal document flow on small screens. */
@media (max-width: 768px) {
  .woocommerce-cart .cart_totals .shipping-calculator-form {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .woocommerce-cart .cart_totals tr.shipping,
  .woocommerce-cart .cart_totals tr.woocommerce-shipping-totals,
  .woocommerce-cart .cart_totals tr.shipping > td {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
}


/* Keep the expanded shipping calculator in document flow at every viewport. */
.woocommerce-cart .cart_totals .shipping-calculator-form {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.woocommerce-cart .cart_totals tr.shipping,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals,
.woocommerce-cart .cart_totals tr.shipping > td {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}


/* Coupon controls: readable and proportional on every device. */
.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"],
.woocommerce-checkout .checkout_coupon .button,
.woocommerce-checkout .checkout_coupon button[name="apply_coupon"] {
  min-height: 48px !important;
  padding: 12px 22px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: .02em;
  white-space: nowrap;
}
.woocommerce-cart table.cart td.actions .coupon input.input-text,
.woocommerce-checkout .checkout_coupon input.input-text {
  min-height: 48px !important;
  font-size: 16px !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .showcoupon {
  font-size: 16px !important;
  line-height: 1.55 !important;
}
@media (max-width: 600px) {
  .woocommerce-cart table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .woocommerce-cart table.cart td.actions .coupon input.input-text,
  .woocommerce-cart table.cart td.actions .coupon .button,
  .woocommerce-checkout .checkout_coupon input.input-text,
  .woocommerce-checkout .checkout_coupon .button {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}


/* Wider coupon entry and label area. */
@media (min-width: 601px) {
  .woocommerce-cart table.cart td.actions .coupon {
    display: inline-flex !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
  }
  .woocommerce-cart table.cart td.actions .coupon input.input-text,
  .woocommerce-cart table.cart td.actions .coupon #coupon_code {
    flex: 1 1 340px !important;
    width: 340px !important;
    min-width: 280px !important;
    max-width: none !important;
    padding: 12px 16px !important;
  }
  .woocommerce-cart table.cart td.actions .coupon .button,
  .woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"] {
    flex: 0 0 auto !important;
    min-width: 170px !important;
  }
}
.woocommerce-cart table.cart td.actions .coupon label,
.woocommerce-cart table.cart td.actions .coupon .screen-reader-text {
  white-space: nowrap !important;
}


/* Definitive logged-out account layout: login and registration cards. */
body.woocommerce-account:not(.logged-in) main,
body.woocommerce-account:not(.logged-in) #primary,
body.woocommerce-account:not(.logged-in) .woocommerce {
  width: 100% !important;
  max-width: none !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: clamp(24px, 3vw, 40px) !important;
  width: min(100% - 40px, 1120px) !important;
  max-width: 1120px !important;
  margin: 48px auto 72px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .col-2 {
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: none !important;
  transform: none !important;
  grid-column: auto !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: clamp(26px, 3vw, 38px) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}
body.woocommerce-account:not(.logged-in) #customer_login h2 {
  display: block !important;
  margin: 0 0 22px !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.2 !important;
}
body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
body.woocommerce-account:not(.logged-in) #customer_login .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-account:not(.logged-in) #customer_login input.input-text {
  width: 100% !important;
  min-height: 52px !important;
  margin-top: 8px !important;
  box-sizing: border-box !important;
}
body.woocommerce-account:not(.logged-in) #customer_login button.button {
  width: 100% !important;
  min-height: 52px !important;
  margin: 4px 0 0 !important;
}
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-LostPassword {
  margin: 4px 0 0 !important;
  text-align: center !important;
}
body.woocommerce-account:not(.logged-in) #customer_login .nsl-container,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-container-buttons,
body.woocommerce-account:not(.logged-in) #customer_login .mo-openid-app-icons,
body.woocommerce-account:not(.logged-in) #customer_login [class*="google-login"],
body.woocommerce-account:not(.logged-in) #customer_login [class*="google-sign"],
body.woocommerce-account:not(.logged-in) #customer_login a[href*="google"] {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 4px !important;
  box-sizing: border-box !important;
}
body.woocommerce-account:not(.logged-in) #customer_login .nsl-button,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-container-buttons a,
body.woocommerce-account:not(.logged-in) #customer_login .mo-openid-app-icons a,
body.woocommerce-account:not(.logged-in) #customer_login a[href*="google"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 48px !important;
}
@media (max-width: 900px) {
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100% - 32px, 680px) !important;
    margin-top: 32px !important;
    gap: 24px !important;
  }
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .u-column2,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .col-1,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .col-2 {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}
@media (max-width: 480px) {
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login {
    width: min(100% - 24px, 680px) !important;
    margin: 24px auto 48px !important;
  }
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .u-column2,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .col-1,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login > .col-2 {
    padding: 22px 18px !important;
  }
}
