/* ===================================================================
   CULTX  |  Dark theme for WooCommerce (product, cart, checkout)
   Paste into: Appearance > Customize > Additional CSS
   Brand tokens: void #0D0916  deep #161028  txt #F4F1FF
   cyan #22D3EE  blue #4F7CFF  violet #8B5CF6  line #2C2350
   Fonts: Bebas Neue (headings), Inter (body)
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --cx-void:#0D0916; --cx-deep:#161028; --cx-line:#2C2350;
  --cx-txt:#F4F1FF;  --cx-mute:#9D96B8;
  --cx-cyan:#22D3EE; --cx-blue:#4F7CFF; --cx-violet:#8B5CF6;
}

/* ---- Page canvas ---------------------------------------------------- */
body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.single-product{
  background:var(--cx-void)!important;
  color:var(--cx-txt)!important;
  font-family:'Inter',sans-serif!important;
}
body.woocommerce .site,
body.woocommerce-page .site,
body.woocommerce #content,
body.woocommerce-page #content,
body.woocommerce main,
body.woocommerce-page main{
  background:var(--cx-void)!important;
  color:var(--cx-txt)!important;
}

/* ---- Headings & text ------------------------------------------------ */
body.woocommerce h1,body.woocommerce-page h1,
body.woocommerce .product_title,
body.woocommerce h2,body.woocommerce-page h2{
  font-family:'Bebas Neue',sans-serif!important;
  letter-spacing:.03em!important;
  color:var(--cx-txt)!important;
}
body.woocommerce p,body.woocommerce-page p,
body.woocommerce li,body.woocommerce-page li,
body.woocommerce label,body.woocommerce-page label,
body.woocommerce td,body.woocommerce-page td,
body.woocommerce th,body.woocommerce-page th{
  color:var(--cx-txt)!important;
}
body.woocommerce a,body.woocommerce-page a{color:var(--cx-cyan)!important;}
body.woocommerce a:hover,body.woocommerce-page a:hover{color:var(--cx-blue)!important;}

/* Breadcrumb + muted meta */
.woocommerce-breadcrumb,
.woocommerce .product_meta,
.woocommerce .product_meta a{color:var(--cx-mute)!important;}

/* ---- Price ---------------------------------------------------------- */
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price{
  color:var(--cx-cyan)!important;
  font-weight:600!important;
}

/* ---- Buttons (Add to cart, Checkout, Update, etc.) ------------------ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-button{
  background:linear-gradient(90deg,var(--cx-blue),var(--cx-violet))!important;
  color:#fff!important;
  border:none!important;
  border-radius:999px!important;
  font-family:'Inter',sans-serif!important;
  font-weight:600!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  padding:.85em 1.8em!important;
  transition:.25s!important;
  box-shadow:none!important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover{
  filter:brightness(1.1)!important;
  box-shadow:0 0 24px rgba(34,211,238,.35)!important;
  transform:translateY(-1px)!important;
}

/* ---- Inputs, selects, quantity ------------------------------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .quantity input,
.woocommerce select,
.woocommerce table.variations select,
.wc-block-components-text-input input,
.wc-block-components-country-input select,
.wc-block-components-state-input select{
  background:var(--cx-deep)!important;
  color:var(--cx-txt)!important;
  border:1px solid var(--cx-line)!important;
  border-radius:8px!important;
}
.woocommerce select:focus,
.woocommerce input:focus,
.wc-block-components-text-input input:focus{
  border-color:var(--cx-cyan)!important;
  outline:none!important;
  box-shadow:0 0 0 2px rgba(34,211,238,.25)!important;
}

/* The Size variation row on product pages */
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart{
  background:var(--cx-deep)!important;
  border:1px solid var(--cx-line)!important;
  border-radius:12px!important;
  padding:1.1rem 1.2rem!important;
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{
  border:none!important;background:transparent!important;
}
.woocommerce .reset_variations{color:var(--cx-mute)!important;}

/* ---- Tables (cart, order review) ----------------------------------- */
.woocommerce table.shop_table,
.woocommerce table.cart,
.wc-block-cart-items,
.wp-block-woocommerce-checkout-order-summary-block{
  background:var(--cx-deep)!important;
  border:1px solid var(--cx-line)!important;
  border-radius:12px!important;
  color:var(--cx-txt)!important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.cart td,
.wc-block-cart-items__row{
  border-color:var(--cx-line)!important;
  background:transparent!important;
  color:var(--cx-txt)!important;
}
.cart_totals h2,.woocommerce-checkout #order_review_heading{
  font-family:'Bebas Neue',sans-serif!important;color:var(--cx-txt)!important;
}

/* Cart / checkout panels (block-based) */
.wc-block-components-totals-item,
.wc-block-components-panel,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wp-block-woocommerce-cart-order-summary-block{
  background:var(--cx-deep)!important;
  color:var(--cx-txt)!important;
  border-color:var(--cx-line)!important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-product-name,
.wc-block-components-product-price{color:var(--cx-txt)!important;}

/* ---- Notices (added to cart, coupon, errors) ----------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner{
  background:var(--cx-deep)!important;
  color:var(--cx-txt)!important;
  border-top:3px solid var(--cx-cyan)!important;
  border-radius:8px!important;
}
.woocommerce-message a,.woocommerce-info a{color:var(--cx-cyan)!important;}

/* ---- Product gallery frame ----------------------------------------- */
.woocommerce div.product div.images img{
  border-radius:12px!important;
  border:1px solid var(--cx-line)!important;
}

/* ---- Tabs (Description / Additional info) -------------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:var(--cx-deep)!important;border-color:var(--cx-line)!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--cx-mute)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--cx-void)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--cx-txt)!important;}
.woocommerce div.product .woocommerce-tabs .panel{
  background:var(--cx-deep)!important;border:1px solid var(--cx-line)!important;
  border-radius:12px!important;padding:1.4rem!important;
}

/* ---- Related products / other tiles -------------------------------- */
.woocommerce ul.products li.product{
  background:var(--cx-deep)!important;border:1px solid var(--cx-line)!important;
  border-radius:12px!important;padding:.8rem!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--cx-txt)!important;}/* ---- Mobile cart/checkout overflow fix ---- */
@media (max-width: 600px){
  body.woocommerce-cart,
  body.woocommerce-checkout{ overflow-x:hidden!important; }

  .woocommerce .cart-collaterals,
  .woocommerce .cart_totals,
  .wc-block-cart,
  .wc-block-checkout,
  .wc-block-cart__submit-container,
  .wp-block-woocommerce-cart{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .wc-block-cart__submit-button,
  .woocommerce a.button.checkout-button{
    width:100%!important;
    white-space:normal!important;
  }
}