/* ============================================
   Chanren - WooCommerce Dark Theme Override
   Applies to: shop, product detail, cart, checkout, account
   ============================================ */

:root {
  --cr-bg: #0d0d0d;
  --cr-bg2: #161616;
  --cr-bg3: #1e1e1e;
  --cr-card: #1a1a1a;
  --cr-white: #ffffff;
  --cr-text: #e0e0e0;
  --cr-muted: #999999;
  --cr-red: #e53935;
  --cr-red-dark: #c62828;
  --cr-gold: #d4a843;
  --cr-border: #333333;
  --cr-green: #43a047;
}

/* Base dark for all WooCommerce pages */
.woocommerce .site,
.woocommerce-page .site,
body.woocommerce,
body.woocommerce-page {
  background: var(--cr-bg) !important;
}

#content,
.site-content,
main#main {
  background: var(--cr-bg);
}

/* ============================================
   Astra Header - dark override (site-wide)
   ============================================ */
.ast-primary-header,
.main-header-bar,
.ast-header-break-point .main-header-bar,
header.site-header,
#masthead,
.ast-above-header,
.ast-below-header {
  background: var(--cr-bg2) !important;
  border-bottom: 1px solid var(--cr-border) !important;
}

.main-header-bar .ast-site-identity .site-title a,
.ast-site-identity .site-title a,
.site-title a {
  color: var(--cr-white) !important;
}

.ast-site-identity .site-description,
.site-description {
  color: var(--cr-muted) !important;
}

.main-navigation a,
.ast-header-break-point .main-header-menu a,
.main-header-menu a {
  color: var(--cr-text) !important;
}

.main-navigation a:hover,
.main-header-menu a:hover {
  color: var(--cr-white) !important;
}

.ast-header-woo-cart .ast-cart-menu-wrap,
.ast-header-woo-cart a,
.ast-site-header-cart a {
  color: var(--cr-text) !important;
}

.ast-header-woo-cart .count,
.ast-cart-menu-wrap .count {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}

/* Mobile menu toggle */
.ast-button-wrap .mobile-menu-toggle .menu-toggle-icon,
.ast-button-wrap .menu-toggle .menu-toggle-icon {
  color: var(--cr-white) !important;
}

/* Astra content area default text */
.ast-container {
  color: var(--cr-text);
}

.site-main,
.ast-container .entry-content {
  color: var(--cr-text);
}

/* Typography */
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3,
.product_title, .woocommerce-billing-fields h3, .woocommerce-shipping-fields h3,
#order_review_heading, .cart_totals h2, .cross-sells h2 {
  color: var(--cr-white) !important;
}

.woocommerce p, .woocommerce-page p,
.woocommerce td, .woocommerce th, .woocommerce li,
.woocommerce label, .woocommerce span, .woocommerce div {
  color: var(--cr-text);
}

.woocommerce a {
  color: var(--cr-gold);
}

/* Breadcrumb */
.woocommerce-breadcrumb {
  color: var(--cr-muted) !important;
  font-size: 0.82rem;
  margin-bottom: 24px !important;
}
.woocommerce-breadcrumb a {
  color: var(--cr-muted) !important;
  text-decoration: none;
}
.woocommerce-breadcrumb a:hover {
  color: var(--cr-white) !important;
}

/* ============================================
   Shop / Archive Grid
   ============================================ */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.woocommerce ul.products li.product {
  background: var(--cr-card);
  border-radius: 8px;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.5);
}

.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  margin: 0 !important;
  transition: transform 0.5s ease;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.04);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--cr-text) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  padding: 14px 14px 6px !important;
  line-height: 1.4;
}

.woocommerce ul.products li.product .price {
  color: var(--cr-text) !important;
  padding: 0 14px !important;
  font-size: 0.95rem;
}

.woocommerce ul.products li.product .price ins {
  color: var(--cr-red) !important;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.05rem;
}

.woocommerce ul.products li.product .price del {
  color: var(--cr-muted) !important;
  font-size: 0.82rem;
  opacity: 1;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
  border-radius: 3px !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 4px 10px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.4 !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  margin: 0 !important;
}

/* Add to cart button on cards */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  margin: 12px 14px 16px !important;
  background: var(--cr-bg3) !important;
  color: var(--cr-text) !important;
  text-align: center;
  padding: 10px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}

/* Sorting / results bar */
.woocommerce-result-count,
.woocommerce-ordering select {
  color: var(--cr-muted) !important;
}

.woocommerce-ordering select {
  background: var(--cr-bg3) !important;
  border: 1px solid var(--cr-border) !important;
  padding: 8px 12px !important;
  border-radius: 4px;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
  border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: 1px solid var(--cr-border) !important;
  margin: 0 3px !important;
  border-radius: 4px;
  overflow: hidden;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--cr-bg3) !important;
  color: var(--cr-text) !important;
  padding: 8px 14px !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}

/* ============================================
   Product Detail Page
   ============================================ */
.woocommerce div.product {
  background: transparent;
}

.woocommerce div.product .product_title {
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  line-height: 1.3;
  margin-bottom: 12px !important;
}

.woocommerce div.product p.price {
  color: var(--cr-text) !important;
  font-size: 1.1rem !important;
  margin-bottom: 20px !important;
}

.woocommerce div.product p.price ins {
  color: var(--cr-red) !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  text-decoration: none !important;
}

.woocommerce div.product p.price del {
  color: var(--cr-muted) !important;
  font-size: 1rem !important;
  opacity: 1 !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--cr-muted) !important;
  line-height: 1.7;
  margin-bottom: 24px !important;
}

/* Gallery */
.woocommerce div.product div.images {
  margin-bottom: 2em;
}

.woocommerce div.product div.images img {
  border-radius: 8px;
  border: 1px solid var(--cr-border);
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: 4px;
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

.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;
}

/* Quantity */
.woocommerce .quantity .qty {
  background: var(--cr-bg3) !important;
  color: var(--cr-white) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 4px !important;
  padding: 10px !important;
  width: 70px !important;
}

/* Single add to cart button */
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 36px !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  transition: all 0.3s ease !important;
  cursor: pointer;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--cr-red-dark) !important;
  transform: translateY(-1px);
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom: 1px solid var(--cr-border) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--cr-bg3) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 4px 4px 0 0 !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--cr-muted) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  padding: 12px 20px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--cr-red) !important;
  border-color: var(--cr-red) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--cr-white) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 0 6px 6px 6px;
  padding: 24px !important;
  color: var(--cr-text) !important;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-size: 1.1rem !important;
  margin-bottom: 12px !important;
}

/* Related products */
.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
  font-size: 1.4rem !important;
  margin-bottom: 20px !important;
}

/* Stock */
.woocommerce div.product p.stock {
  color: var(--cr-green) !important;
  font-weight: 600;
}

/* SKU / meta */
.woocommerce div.product .product_meta {
  color: var(--cr-muted) !important;
  font-size: 0.82rem !important;
  border-top: 1px solid var(--cr-border);
  padding-top: 16px;
  margin-top: 24px;
}

.woocommerce div.product .product_meta a {
  color: var(--cr-gold) !important;
}

/* ============================================
   Cart Page
   ============================================ */
.woocommerce-cart table.cart {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 8px;
  overflow: hidden;
}

.woocommerce-cart table.cart th {
  background: var(--cr-bg3) !important;
  color: var(--cr-muted) !important;
  font-size: 0.78rem !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 14px 16px !important;
}

.woocommerce-cart table.cart td {
  padding: 16px !important;
  border-bottom: 1px solid var(--cr-border) !important;
  color: var(--cr-text) !important;
}

.woocommerce-cart table.cart img {
  width: 70px !important;
  border-radius: 4px;
}

.woocommerce-cart table.cart td.product-name a {
  color: var(--cr-white) !important;
  font-weight: 600;
  text-decoration: none;
}

.woocommerce-cart table.cart td.product-name a:hover {
  color: var(--cr-gold) !important;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
  background: var(--cr-bg3) !important;
  color: var(--cr-white) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  width: 180px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 8px;
  padding: 24px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table td,
.woocommerce-cart .cart-collaterals .cart_totals table th {
  border: none !important;
  padding: 10px 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
  border-radius: 4px !important;
  padding: 16px !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em;
  text-align: center;
  display: block;
  transition: background 0.3s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--cr-red-dark) !important;
}

/* Remove button */
.woocommerce-cart table.cart td.product-remove a.remove {
  color: var(--cr-muted) !important;
  font-size: 1.3rem;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}

/* Empty cart */
.woocommerce-cart .cart-empty {
  color: var(--cr-muted) !important;
  font-size: 1.1rem;
  text-align: center;
  padding: 60px 0 !important;
}

/* ============================================
   Checkout Page
   ============================================ */
.woocommerce-checkout #customer_details {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 8px;
  padding: 28px !important;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
#order_review_heading {
  font-size: 1.2rem !important;
  margin-bottom: 20px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--cr-border);
}

.woocommerce form .form-row label {
  color: var(--cr-muted) !important;
  font-size: 0.82rem !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  background: var(--cr-bg3) !important;
  color: var(--cr-white) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 4px !important;
  padding: 12px 14px !important;
  transition: border-color 0.3s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--cr-gold) !important;
  outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--cr-white) !important;
  line-height: 44px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
}

.select2-dropdown {
  background: var(--cr-bg3) !important;
  border: 1px solid var(--cr-border) !important;
}

.select2-results__option {
  color: var(--cr-text) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}

/* Order review */
.woocommerce-checkout #order_review {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 8px;
  padding: 28px !important;
}

.woocommerce-checkout #order_review .shop_table {
  border: none !important;
  margin-bottom: 20px !important;
}

.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td {
  border: none !important;
  border-bottom: 1px solid var(--cr-border) !important;
  padding: 12px 0 !important;
  color: var(--cr-text) !important;
}

.woocommerce-checkout #order_review .shop_table tfoot th,
.woocommerce-checkout #order_review .shop_table tfoot td {
  font-weight: 700;
}

.woocommerce-checkout #order_review .shop_table .order-total th,
.woocommerce-checkout #order_review .shop_table .order-total td {
  color: var(--cr-white) !important;
  font-size: 1.1rem;
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: var(--cr-bg3) !important;
  border-radius: 6px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--cr-border) !important;
  padding: 16px !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  color: var(--cr-text) !important;
}

.woocommerce-checkout #payment ul.payment_methods li input {
  accent-color: var(--cr-red);
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--cr-bg2) !important;
  color: var(--cr-muted) !important;
  border-radius: 4px;
  font-size: 0.85rem;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--cr-bg2) !important;
}

.woocommerce-checkout #payment div.form-row {
  padding: 16px !important;
}

#place_order {
  width: 100%;
  padding: 16px !important;
  font-size: 0.95rem !important;
}

/* Checkbox / terms */
.woocommerce form .form-row .input-checkbox {
  accent-color: var(--cr-red);
}

/* ============================================
   Account Page
   ============================================ */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 8px;
  padding: 12px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  color: var(--cr-text) !important;
  text-decoration: none;
  padding: 10px 14px !important;
  border-radius: 4px;
  font-size: 0.88rem;
  transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  color: var(--cr-text) !important;
}

/* Login form */
.woocommerce-form-login,
.woocommerce-form-register {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 8px;
  padding: 28px !important;
}

/* ============================================
   Messages / Notices
   ============================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
  background: var(--cr-card) !important;
  border-top: 3px solid var(--cr-green) !important;
  color: var(--cr-text) !important;
  border-radius: 4px;
}

.woocommerce-info {
  border-top-color: var(--cr-gold) !important;
}

.woocommerce-error {
  border-top-color: var(--cr-red) !important;
}

.woocommerce-message a,
.woocommerce-info a {
  color: var(--cr-gold) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  color: var(--cr-green) !important;
}

/* ============================================
   Widgets / Sidebar
   ============================================ */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--cr-red) !important;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: var(--cr-bg3) !important;
}

.widget {
  color: var(--cr-text) !important;
}

.widget h2, .widget .widgettitle {
  color: var(--cr-white) !important;
}

/* Star rating */
.woocommerce .star-rating {
  color: var(--cr-gold) !important;
}

/* ============================================
   Responsive shop grid
   ============================================ */
@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}
