/*
 * Contramano — overrides de WooCommerce
 * Reviste el carrito, checkout y "Mi cuenta" con la estética dark-club
 * del tema, sin tocar la lógica de WooCommerce (solo presentación).
 */

.cm-woocommerce{
  padding-bottom: 100px;
  color: var(--cm-white);
  font-family: var(--font-body);
}
.cm-woocommerce a{ color: var(--cm-magenta); }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews{
  background: var(--cm-black-soft) !important;
  border: 1px solid var(--cm-line) !important;
  border-left: 3px solid var(--cm-magenta) !important;
  color: var(--cm-white) !important;
  border-radius: var(--radius);
  padding: 16px 20px !important;
  list-style: none !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px !important;
}
.woocommerce-error{ border-left-color: #ff5c5c !important; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{ display:none !important; }
.woocommerce-message .button,
.woocommerce-info .button{
  background: var(--cm-magenta) !important;
  color: var(--cm-black) !important;
  border-radius: var(--radius-pill) !important;
  padding: 10px 18px !important;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Buttons / inputs, generic */
.cm-woocommerce .button,
.cm-woocommerce button.button,
.cm-woocommerce input[type="submit"],
.cm-woocommerce #place_order{
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--cm-magenta) !important;
  color: var(--cm-black) !important;
  border: none !important;
  border-radius: var(--radius-pill) !important;
  padding: 14px 26px !important;
  transition: background .18s ease, transform .18s ease;
}
.cm-woocommerce .button:hover,
.cm-woocommerce #place_order:hover{
  background: var(--cm-lime) !important;
  transform: translateY(-2px);
}
.cm-woocommerce .button.alt{ background: var(--cm-magenta) !important; }

.cm-woocommerce input[type="text"],
.cm-woocommerce input[type="email"],
.cm-woocommerce input[type="tel"],
.cm-woocommerce input[type="password"],
.cm-woocommerce input[type="number"],
.cm-woocommerce textarea,
.cm-woocommerce select{
  background: var(--cm-black-soft) !important;
  border: 1px solid var(--cm-line) !important;
  color: var(--cm-white) !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 14px !important;
  font-family: var(--font-body) !important;
}
.cm-woocommerce input:focus,
.cm-woocommerce textarea:focus,
.cm-woocommerce select:focus{
  outline: 2px solid var(--cm-cyan) !important;
  outline-offset: 2px;
}
.cm-woocommerce label{ color: var(--cm-white-dim); font-size: 14px; }
.cm-woocommerce .select2-container .select2-selection--single{
  background: var(--cm-black-soft) !important;
  border: 1px solid var(--cm-line) !important;
  height: 46px !important;
}
.cm-woocommerce .select2-selection__rendered{ color: var(--cm-white) !important; line-height: 46px !important; }

/* Cart table */
.cm-woocommerce table.shop_table{
  width: 100%;
  border-collapse: collapse;
  background: var(--cm-black-soft);
  border: 1px solid var(--cm-line);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 40px;
}
.cm-woocommerce table.shop_table th{
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--cm-white-dim);
  text-align: left;
  padding: 16px;
  border-bottom: 1px solid var(--cm-line);
}
.cm-woocommerce table.shop_table td{
  padding: 16px;
  border-bottom: 1px solid var(--cm-line);
  vertical-align: middle;
}
.cm-woocommerce table.shop_table tr:last-child td{ border-bottom: none; }
.cm-woocommerce .product-thumbnail img{ border-radius: var(--radius); width: 72px; height: 72px; object-fit: cover; }
.cm-woocommerce .product-name a{ color: var(--cm-white); font-weight: 500; }
.cm-woocommerce .product-remove a{
  color: var(--cm-white-dim) !important;
  font-size: 20px;
}
.cm-woocommerce .quantity .qty{ width: 64px !important; }
.cm-woocommerce .actions .coupon .input-text{ width: auto !important; }

/* Cart totals / checkout review */
.cm-woocommerce .cart-collaterals,
.cm-woocommerce #order_review{
  background: var(--cm-black-soft);
  border: 1px solid var(--cm-line);
  border-radius: var(--radius);
  padding: 30px;
}
.cm-woocommerce .cart_totals h2,
.cm-woocommerce #order_review_heading{
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: 22px;
  margin-bottom: 20px;
}
.cm-woocommerce .cart_totals table,
.cm-woocommerce table.woocommerce-checkout-review-order-table{
  background: transparent;
  border: none;
}
.cm-woocommerce .order-total .amount{
  color: var(--cm-cyan) !important;
  font-family: var(--font-display);
  font-size: 20px;
}

/* Checkout form sections */
.cm-woocommerce #customer_details{ display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.cm-woocommerce .woocommerce-billing-fields h3,
.cm-woocommerce .woocommerce-additional-fields h3{
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: 20px;
  margin-bottom: 20px;
}
.cm-woocommerce .form-row{ margin-bottom: 16px; }
.cm-woocommerce .woocommerce-input-wrapper{ display:block; }

/* Payment methods */
.cm-woocommerce ul.wc_payment_methods{ list-style:none; padding:0; margin: 0 0 20px; }
.cm-woocommerce ul.payment_methods li{
  border: 1px solid var(--cm-line);
  border-radius: var(--radius);
  padding: 14px 16px;
  margin-bottom: 10px;
  background: var(--cm-black);
}
.cm-woocommerce .payment_box{
  background: var(--cm-black) !important;
  color: var(--cm-white-dim) !important;
  border-radius: var(--radius);
  margin-top: 10px;
}

/* My account */
.cm-woocommerce .woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; margin: 0 0 30px; display:flex; flex-wrap:wrap; gap: 10px; }
.cm-woocommerce .woocommerce-MyAccount-navigation li{
  border: 1px solid var(--cm-line);
  border-radius: var(--radius);
}
.cm-woocommerce .woocommerce-MyAccount-navigation li a{ display:block; padding: 10px 16px; font-family: var(--font-body);
  font-weight: 600; font-size: 12px; text-transform: uppercase; }
.cm-woocommerce .woocommerce-MyAccount-navigation li.is-active a{ color: var(--cm-cyan); }
.cm-woocommerce .woocommerce-MyAccount-content{ max-width: 640px; }

/* Product single (por si algún ticket se ve directo) */
.cm-woocommerce .price{ color: var(--cm-cyan); font-family: var(--font-display); font-size: 26px; }
.cm-woocommerce .stock{ font-family: var(--font-body);
  font-weight: 600; font-size: 12px; text-transform: uppercase; color: var(--cm-white-dim); }
.cm-woocommerce .stock.out-of-stock{ color: #ff5c5c; }

@media (max-width: 760px){
  .cm-woocommerce #customer_details{ grid-template-columns: 1fr; }
  .cm-woocommerce table.shop_table,
  .cm-woocommerce table.shop_table thead{ display: block; }
  .cm-woocommerce table.shop_table thead{ display: none; }
  .cm-woocommerce table.shop_table tr{ display:block; padding: 14px 0; border-bottom: 1px solid var(--cm-line); }
  .cm-woocommerce table.shop_table td{ display:flex; justify-content:space-between; border:none; padding: 6px 16px; }
}
