/* ============================================
   Chanren - WooCommerce Blocks Dark Theme
   Covers: block cart, block checkout, mini-cart drawer
   ============================================ */

: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: #2e2e2e;
  --cr-green: #43a047;
}

/* Page background for block pages */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.wc-block-cart,
.wc-block-checkout {
  color: var(--cr-text);
}

/* Headings */
.wc-block-cart h1, .wc-block-cart h2, .wc-block-cart h3,
.wc-block-checkout h1, .wc-block-checkout h2, .wc-block-checkout h3,
.wc-block-components-title {
  color: var(--cr-white) !important;
}

/* Generic text */
.wc-block-components-text,
.wc-block-cart p,
.wc-block-checkout p {
  color: var(--cr-text);
}

/* ============================================
   Buttons (block components)
   ============================================ */
.wc-block-components-button,
.wc-block-components-button:not(.is-link):not(.wc-block-components-button--outlined) {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  transition: background 0.25s ease, transform 0.2s ease !important;
}
.wc-block-components-button:hover:not(:disabled) {
  background: var(--cr-red-dark) !important;
  transform: translateY(-1px);
}
.wc-block-components-button:disabled {
  opacity: 0.5;
}
.wc-block-components-button.is-link {
  color: var(--cr-gold) !important;
  background: transparent !important;
}
.wc-block-components-button.wc-block-components-button--outlined {
  background: transparent !important;
  color: var(--cr-white) !important;
  border: 2px solid var(--cr-border) !important;
}
.wc-block-components-button.wc-block-components-button--outlined:hover {
  border-color: var(--cr-white) !important;
}

/* Contained / primary checkout button */
.wc-block-components-checkout-place-order-button {
  width: 100%;
  padding: 16px !important;
  font-size: 0.95rem !important;
}

/* ============================================
   Text inputs / selects (block components)
   ============================================ */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox input,
.wc-block-components-select select,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
  background: var(--cr-bg3) !important;
  color: var(--cr-white) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 6px !important;
  transition: border-color 0.2s ease;
}
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-address-form input:focus {
  border-color: var(--cr-gold) !important;
  outline: none !important;
  box-shadow: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-address-form label {
  color: var(--cr-muted) !important;
  font-size: 0.8rem !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active label {
  color: var(--cr-gold) !important;
}

/* Country / state combobox dropdown */
.wc-block-components-combobox__menu,
.components-popover__content {
  background: var(--cr-bg3) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 6px;
}
.wc-block-components-combobox__option,
.components-menu-item__button {
  color: var(--cr-text) !important;
}
.wc-block-components-combobox__option.is-selected,
.wc-block-components-combobox__option:hover {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}

/* ============================================
   Cart items table (block cart)
   ============================================ */
.wc-block-cart-items {
  border: 1px solid var(--cr-border) !important;
  border-radius: 10px;
  overflow: hidden;
  background: var(--cr-card);
}
.wc-block-cart-items__header {
  background: var(--cr-bg3) !important;
}
.wc-block-cart-items__header th {
  color: var(--cr-muted) !important;
  font-size: 0.75rem !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 1px solid var(--cr-border) !important;
}
.wc-block-cart-items__row {
  border-bottom: 1px solid var(--cr-border) !important;
  background: var(--cr-card) !important;
}
.wc-block-cart-items__row:last-child {
  border-bottom: none !important;
}
.wc-block-cart-item__name a,
.wc-block-components-product-name {
  color: var(--cr-white) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.wc-block-cart-item__name a:hover {
  color: var(--cr-gold) !important;
}
.wc-block-cart-item__description,
.wc-block-components-product-metadata {
  color: var(--cr-muted) !important;
  font-size: 0.82rem !important;
}
.wc-block-cart-item__image img {
  border-radius: 6px;
  border: 1px solid var(--cr-border);
}
.wc-block-cart-item__total .wc-block-components-formatted-money-amount {
  color: var(--cr-white) !important;
  font-weight: 700;
}
.wc-block-cart-item__regular-price,
.wc-block-components-product-regular-price {
  color: var(--cr-muted) !important;
  text-decoration: line-through;
}
.wc-block-cart-item__sale-price,
.wc-block-components-product-sale-price {
  color: var(--cr-red) !important;
  font-weight: 700 !important;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
  border: 1px solid var(--cr-border) !important;
  border-radius: 6px !important;
  background: var(--cr-bg3) !important;
}
.wc-block-components-quantity-selector button {
  color: var(--cr-text) !important;
}
.wc-block-components-quantity-selector button:hover {
  color: var(--cr-red) !important;
}
.wc-block-components-quantity-selector input {
  color: var(--cr-white) !important;
  background: transparent !important;
}

/* Remove item */
.wc-block-cart-item__remove-link,
.wc-block-components-button.is-link.wc-block-cart-item__remove-link {
  color: var(--cr-muted) !important;
  font-size: 0.78rem !important;
}
.wc-block-cart-item__remove-link:hover {
  color: var(--cr-red) !important;
}

/* Sale badge in cart */
.wc-block-components-sale-badge {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
  border-radius: 3px !important;
  font-size: 0.7rem !important;
}

/* ============================================
   Totals / sidebar
   ============================================ */
.wc-block-cart__sidebar,
.wc-block-components-sidebar {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 10px !important;
}
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item {
  border-color: var(--cr-border) !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  color: var(--cr-text) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--cr-white) !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
}
.wc-block-components-totals-item__description {
  color: var(--cr-muted) !important;
  font-size: 0.78rem !important;
}

/* Coupon */
.wc-block-components-totals-coupon {
  color: var(--cr-muted) !important;
}
.wc-block-components-totals-coupon__button {
  color: var(--cr-gold) !important;
}
.wc-block-components-totals-coupon input {
  background: var(--cr-bg3) !important;
  color: var(--cr-white) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 6px !important;
}

/* ============================================
   Checkout - contact / address / shipping / payment
   ============================================ */
.wc-block-checkout__main {
  color: var(--cr-text);
}
.wc-block-components-checkout-step {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 10px !important;
  padding: 20px !important;
}
.wc-block-components-checkout-step__heading {
  color: var(--cr-white) !important;
}
.wc-block-components-checkout-step__description {
  color: var(--cr-muted) !important;
  font-size: 0.82rem !important;
}
.wc-block-components-checkout-step__container {
  border-color: var(--cr-border) !important;
}

/* Shipping options */
.wc-block-components-shipping-rates-control__option,
.wc-block-components-radio-control__option {
  border-color: var(--cr-border) !important;
  color: var(--cr-text) !important;
}
.wc-block-components-radio-control__option-checked {
  border-color: var(--cr-red) !important;
  background: rgba(229,57,53,0.06) !important;
}
.wc-block-components-radio-control__input {
  accent-color: var(--cr-red);
}
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__description {
  color: var(--cr-text) !important;
}
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__secondary-description {
  color: var(--cr-muted) !important;
}

/* Payment methods */
.wc-block-components-payment-methods {
  background: var(--cr-bg3) !important;
  border-radius: 8px !important;
}
.wc-block-components-payment-methods__item {
  border-color: var(--cr-border) !important;
}
.wc-block-components-payment-methods__item--active {
  border-color: var(--cr-red) !important;
  background: rgba(229,57,53,0.05) !important;
}
.wc-block-components-payment-methods__item-label,
.wc-block-components-payment-method-label {
  color: var(--cr-text) !important;
}
.wc-block-components-payment-methods__item-description,
.wc-block-components-payment-method-description {
  color: var(--cr-muted) !important;
  font-size: 0.8rem !important;
}
.wc-block-components-radio-control-accordion-option {
  border-color: var(--cr-border) !important;
}

/* Order summary (checkout sidebar) */
.wc-block-components-order-summary {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 10px !important;
}
.wc-block-components-order-summary-item {
  border-color: var(--cr-border) !important;
}
.wc-block-components-order-summary-item__product-name {
  color: var(--cr-white) !important;
}
.wc-block-components-order-summary-item__quantity {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}
.wc-block-components-order-summary-item__total-price {
  color: var(--cr-white) !important;
  font-weight: 700;
}
.wc-block-components-order-summary__button {
  color: var(--cr-gold) !important;
}

/* Terms checkbox */
.wc-block-components-checkbox input {
  accent-color: var(--cr-red);
}
.wc-block-components-checkbox__label {
  color: var(--cr-text) !important;
}
.wc-block-components-checkbox__label a {
  color: var(--cr-gold) !important;
}

/* ============================================
   Notices / banners
   ============================================ */
.wc-block-components-notice-banner {
  background: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-left: 4px solid var(--cr-green) !important;
  color: var(--cr-text) !important;
  border-radius: 6px !important;
}
.wc-block-components-notice-banner.is-error {
  border-left-color: var(--cr-red) !important;
}
.wc-block-components-notice-banner.is-warning {
  border-left-color: var(--cr-gold) !important;
}
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content {
  color: var(--cr-text) !important;
}
.wc-block-components-notice-banner .wc-block-components-button {
  background: transparent !important;
  color: var(--cr-text) !important;
}

/* Empty cart */
.wc-block-cart__empty-cart-wrapper {
  color: var(--cr-muted) !important;
}
.wc-block-components-notice-banner.is-info {
  border-left-color: var(--cr-gold) !important;
}

/* ============================================
   Mini-cart drawer
   ============================================ */
.wc-block-mini-cart__drawer,
.wc-block-components-drawer__screen {
  background: rgba(0,0,0,0.6) !important;
}
.wc-block-components-drawer__content,
.wc-block-mini-cart__content {
  background: var(--cr-bg2) !important;
  color: var(--cr-text) !important;
}
.wc-block-mini-cart__title,
.wc-block-components-drawer__title {
  color: var(--cr-white) !important;
}
.wc-block-mini-cart__close-button {
  color: var(--cr-text) !important;
}
.wc-block-mini-cart__items .wc-block-cart-items {
  border: none !important;
  background: transparent !important;
}
.wc-block-mini-cart__footer {
  background: var(--cr-bg3) !important;
  border-top: 1px solid var(--cr-border) !important;
}
.wc-block-mini-cart__footer-actions .wc-block-components-button {
  width: 100%;
  margin-top: 8px;
}
.wc-block-mini-cart__footer .wc-block-components-totals-item__value {
  color: var(--cr-white) !important;
  font-weight: 800;
}

/* Mini-cart button in header */
.wc-block-mini-cart__button,
.wc-block-components-button.wc-block-mini-cart__button {
  background: transparent !important;
  color: var(--cr-white) !important;
}
.wc-block-mini-cart__badge {
  background: var(--cr-red) !important;
  color: var(--cr-white) !important;
}

/* ============================================
   Express payment / divider
   ============================================ */
.wc-block-components-express-payment,
.wc-block-components-express-payment-continue-rule {
  color: var(--cr-muted) !important;
}
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after {
  border-color: var(--cr-border) !important;
}

/* Return to cart link */
.wc-block-components-checkout-return-to-cart-button {
  color: var(--cr-muted) !important;
}
.wc-block-components-checkout-return-to-cart-button:hover {
  color: var(--cr-white) !important;
}

/* Shipping calculator */
.wc-block-components-shipping-calculator {
  color: var(--cr-muted) !important;
}
.wc-block-components-shipping-calculator__button {
  color: var(--cr-gold) !important;
}

/* Product badge / low stock */
.wc-block-components-product-badge {
  background: var(--cr-gold) !important;
  color: #111 !important;
  border-radius: 3px !important;
  font-size: 0.68rem !important;
}

/* ============================================
   Responsive tweaks
   ============================================ */
@media (max-width: 768px) {
  .wc-block-cart-items__header { display: none; }
  .wc-block-checkout__main, .wc-block-cart__main { padding: 0 !important; }
}
