/* ============================================================
   TechStore Dark – woocommerce.css
   ============================================================ */

/* ---- BREADCRUMB ---- */
.woocommerce-breadcrumb { display:none; }

/* ---- NOTICES ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background:#1a1a1a; border-left:4px solid #9BEF00;
  padding:14px 20px; margin-bottom:24px; border-radius:0 6px 6px 0;
  color:#ccc; font-size:14px; list-style:none;
}
.woocommerce-error { border-left-color:#e84545; }
.woocommerce-message a, .woocommerce-info a { color:#9BEF00; font-weight:600; }
.woocommerce-message .button { float:right; }

/* ---- SHOP LAYOUT ---- */
.wc-main-content { padding:40px 0; }
.woocommerce-products-header__title,
.woocommerce-loop-category__title { color:#fff; font-size:1.6rem; font-weight:800; }

/* Shop toolbar */
.woocommerce-products-header { margin-bottom:24px; }
.woocommerce-ordering select,
.woocommerce-ordering .orderby {
  background:#1a1a1a; border:1px solid #2a2a2a; color:#ccc;
  padding:8px 16px; border-radius:6px; font-size:13px;
  appearance:none; cursor:pointer; outline:none;
}
.woocommerce-ordering select:focus { border-color:#9BEF00; }
.woocommerce-result-count { color:#888; font-size:13px; }

/* ---- PRODUCT GRID (archive) ---- */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; list-style:none; margin:0; padding:0; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  /* Neutralizar float + width del CSS base de WooCommerce */
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  /* Estilos del tema */
  background:#1a1a1a; border:1px solid #252525; border-radius:10px;
  overflow:hidden; transition:border-color .2s, box-shadow .2s, transform .2s;
  display:flex; flex-direction:column;
}
.woocommerce ul.products li.product:hover { border-color:#9BEF00; box-shadow:0 8px 32px rgba(155,239,0,.12); transform:translateY(-3px); }
.woocommerce ul.products li.product img { width:100%; aspect-ratio:1; object-fit:contain; padding:16px; background:#111; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size:13px; font-weight:500; color:#ddd; padding:14px 14px 6px;
}
.woocommerce ul.products li.product .price { padding:0 14px; color:#9BEF00; font-size:15px; font-weight:700; }
.woocommerce ul.products li.product .price del { color:#666; font-size:12px; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }
.woocommerce ul.products li.product .star-rating { margin:4px 14px; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin:10px 14px 14px; padding:10px 16px; background:#1e1e1e;
  border:1px solid #333; color:#fff; font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:.5px; border-radius:6px;
  width:calc(100% - 28px); text-align:center; transition:all .2s;
  text-decoration:none; display:flex; align-items:center; justify-content:center; gap:6px;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover { background:#9BEF00; color:#000; border-color:#9BEF00; }
.woocommerce ul.products li.product .onsale {
  background:#e84545; color:#fff; font-size:11px; font-weight:700;
  padding:3px 8px; border-radius:4px; top:12px; left:12px; min-width:auto; min-height:auto;
}

/* ---- PAGINATION ---- */
.woocommerce nav.woocommerce-pagination ul { display:flex; gap:8px; list-style:none; padding:0; margin:40px 0 0; }
.woocommerce nav.woocommerce-pagination ul li { margin:0; }
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a {
  background:#1a1a1a; border:1px solid #2a2a2a; color:#aaa;
  padding:8px 14px; border-radius:4px; font-size:13px; text-decoration:none;
  display:block; transition:all .2s;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background:#9BEF00; border-color:#9BEF00; color:#000; }

/* ---- SINGLE PRODUCT ---- */
.woocommerce div.product { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.woocommerce div.product .woocommerce-product-gallery { border-radius:10px; overflow:hidden; background:#111; }
.woocommerce div.product .woocommerce-product-gallery__image { aspect-ratio:1; display:flex; align-items:center; justify-content:center; }
.woocommerce div.product .woocommerce-product-gallery__image img { object-fit:contain; padding:24px; }
.woocommerce div.product .product_title { font-size:1.6rem; font-weight:800; color:#fff; margin-bottom:12px; }
.woocommerce div.product .price { font-size:2rem; font-weight:800; color:#9BEF00; margin-bottom:16px; }
.woocommerce div.product .price del { color:#666; font-size:1.2rem; margin-right:8px; }
.woocommerce div.product .price ins { text-decoration:none; }
.woocommerce div.product .woocommerce-product-rating { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.woocommerce div.product .woocommerce-review-link { color:#888; font-size:13px; text-decoration:none; }
.woocommerce div.product .woocommerce-review-link:hover { color:#9BEF00; }
.woocommerce div.product .woocommerce-product-details__short-description { color:#aaa; font-size:14px; line-height:1.7; margin-bottom:20px; border-bottom:1px solid #222; padding-bottom:20px; }
.woocommerce div.product form.cart { margin-bottom:24px; }
.woocommerce div.product form.cart .quantity { background:#1a1a1a; border:1px solid #2a2a2a; border-radius:6px; display:inline-flex; align-items:center; overflow:hidden; margin-right:12px; }
.woocommerce div.product form.cart .qty { background:none; border:none; color:#fff; font-size:16px; text-align:center; width:60px; padding:10px; outline:none; }
.woocommerce div.product form.cart .single_add_to_cart_button {
  background:#9BEF00; color:#000; border:none; padding:12px 28px;
  font-size:14px; font-weight:700; border-radius:6px; cursor:pointer;
  text-transform:uppercase; letter-spacing:.5px; transition:background .2s;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background:#b5ff1a; }
.woocommerce div.product .product_meta { color:#888; font-size:13px; margin-top:16px; }
.woocommerce div.product .product_meta span { display:block; margin-bottom:4px; }
.woocommerce div.product .product_meta a { color:#9BEF00; }
.woocommerce div.product .woocommerce-tabs { grid-column:1/-1; margin-top:40px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; border-bottom:1px solid #222; margin-bottom:0; padding:0; list-style:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display:block; padding:12px 24px; color:#888; font-size:14px;
  font-weight:600; text-decoration:none; border-bottom:2px solid transparent;
  transition:all .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color:#9BEF00; border-bottom-color:#9BEF00; }
.woocommerce div.product .woocommerce-tabs .panel {
  background:#1a1a1a; border:1px solid #222; border-top:none;
  padding:28px; border-radius:0 0 8px 8px; color:#ccc; font-size:14px; line-height:1.7;
}
.woocommerce div.product .woocommerce-tabs .panel h2 { color:#fff; margin-bottom:16px; font-size:1.1rem; }
.woocommerce div.product .woocommerce-tabs .panel table { width:100%; border-collapse:collapse; }
.woocommerce div.product .woocommerce-tabs .panel table td,.woocommerce div.product .woocommerce-tabs .panel table th { border:1px solid #2a2a2a; padding:10px 14px; }
.woocommerce div.product .woocommerce-tabs .panel table th { background:#141414; color:#fff; }

/* Related / Upsell products */
.related, .upsells { margin-top:60px; }
.related h2, .upsells h2 { font-size:1.3rem; font-weight:800; color:#fff; margin-bottom:24px; }
.related ul.products, .upsells ul.products { grid-template-columns:repeat(4,1fr); }

/* ---- STAR RATING ---- */
.star-rating { color:#9BEF00; font-size:12px; }
.star-rating span::before { color:#9BEF00; }

/* ---- CART ---- */
.woocommerce table.shop_table {
  width:100%; border-collapse:collapse; background:#1a1a1a; border-radius:10px; overflow:hidden;
}
.woocommerce table.shop_table th { background:#141414; color:#888; font-size:12px; text-transform:uppercase; padding:14px 16px; border-bottom:1px solid #222; text-align:left; }
.woocommerce table.shop_table td { padding:16px; border-bottom:1px solid #1e1e1e; color:#ddd; vertical-align:middle; }
.woocommerce table.shop_table .product-name a { color:#ddd; text-decoration:none; font-weight:500; }
.woocommerce table.shop_table .product-name a:hover { color:#9BEF00; }
.woocommerce table.shop_table .product-price, .woocommerce table.shop_table .product-subtotal { color:#9BEF00; font-weight:600; }
.woocommerce table.shop_table .product-remove a { color:#e84545; font-size:18px; text-decoration:none; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background:#9BEF00; color:#000; border:none; padding:14px 28px;
  font-size:15px; font-weight:700; border-radius:6px; text-decoration:none;
  text-align:center; display:block; transition:background .2s; letter-spacing:.5px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background:#b5ff1a; }
.woocommerce .cart_totals h2 { color:#fff; font-size:1.1rem; margin-bottom:16px; }
.woocommerce .cart_totals table { background:#1a1a1a; border-radius:8px; overflow:hidden; }
.woocommerce .cart_totals table th,.woocommerce .cart_totals table td { border:1px solid #1e1e1e; padding:12px 16px; }
.woocommerce .cart_totals table th { color:#888; font-size:13px; }
.woocommerce .cart_totals table .order-total .amount { color:#9BEF00; font-size:1.3rem; font-weight:700; }

/* ---- CHECKOUT ---- */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout h3 { color:#fff; font-size:1.1rem; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid #222; }
.woocommerce-checkout label { color:#aaa; font-size:13px; display:block; margin-bottom:6px; }
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width:100%; background:#1a1a1a; border:1px solid #2a2a2a; color:#fff;
  padding:10px 14px; border-radius:6px; font-size:14px; outline:none;
  transition:border-color .2s;
}
.woocommerce-checkout input:focus,.woocommerce-checkout select:focus,.woocommerce-checkout textarea:focus { border-color:#9BEF00; }
.woocommerce-checkout input::placeholder { color:#555; }
.woocommerce-checkout #place_order {
  background:#9BEF00; color:#000; border:none; padding:14px 28px;
  font-size:15px; font-weight:700; border-radius:6px; width:100%; cursor:pointer;
  text-transform:uppercase; letter-spacing:.5px; transition:background .2s;
}
.woocommerce-checkout #place_order:hover { background:#b5ff1a; }
#order_review_heading { color:#fff; font-size:1.1rem; }
.woocommerce-order-review table { background:#1a1a1a; border-radius:8px; overflow:hidden; }
.woocommerce-order-review table th,.woocommerce-order-review table td { border:1px solid #1e1e1e; padding:12px 16px; color:#ccc; }

/* ---- MY ACCOUNT ---- */
.woocommerce-MyAccount-navigation { margin-bottom:32px; }
.woocommerce-MyAccount-navigation ul { display:flex; flex-direction:column; gap:4px; list-style:none; background:#1a1a1a; border-radius:8px; overflow:hidden; padding:0; }
.woocommerce-MyAccount-navigation ul li a {
  display:block; padding:12px 18px; color:#aaa; text-decoration:none;
  font-size:14px; transition:all .2s; border-left:3px solid transparent;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { color:#9BEF00; background:#141414; border-left-color:#9BEF00; }
.woocommerce-MyAccount-content { color:#ccc; font-size:14px; line-height:1.7; }
.woocommerce-MyAccount-content h2 { color:#fff; margin-bottom:16px; }
.woocommerce-MyAccount-content a { color:#9BEF00; }

/* ---- FORMS (login/register) ---- */
.woocommerce-form { background:#1a1a1a; border:1px solid #252525; border-radius:10px; padding:28px; }
.woocommerce-form label { color:#aaa; font-size:13px; display:block; margin-bottom:6px; }
.woocommerce-form input[type="text"],
.woocommerce-form input[type="email"],
.woocommerce-form input[type="password"] {
  width:100%; background:#111; border:1px solid #2a2a2a; color:#fff;
  padding:10px 14px; border-radius:6px; font-size:14px; outline:none;
  transition:border-color .2s; margin-bottom:16px;
}
.woocommerce-form input:focus { border-color:#9BEF00; }
.woocommerce-form .button,
.woocommerce-form button {
  background:#9BEF00; color:#000; border:none; padding:11px 24px;
  font-size:14px; font-weight:700; border-radius:6px; cursor:pointer;
  text-transform:uppercase; letter-spacing:.5px; transition:background .2s;
}
.woocommerce-form .button:hover,.woocommerce-form button:hover { background:#b5ff1a; }
.woocommerce-form__label-for-checkbox { display:flex; align-items:center; gap:8px; color:#aaa; font-size:13px; }

/* ---- RESPONSIVE ---- */
@media (max-width:900px) {
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
  .woocommerce div.product { grid-template-columns:1fr; }
  .related ul.products,.upsells ul.products { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:480px) {
  .woocommerce ul.products { grid-template-columns:1fr 1fr; gap:12px; }
  .woocommerce div.product form.cart .quantity,.woocommerce div.product form.cart .single_add_to_cart_button { display:block; width:100%; margin:8px 0 0; }
}

/* ---- SHOP PAGE LAYOUT ---- */
.ts-woo-shop { padding: 40px 0; }

.ts-shop-header { margin-bottom: 28px; }
.ts-shop-header .page-title { font-size: 1.6rem; font-weight: 800; color: #fff; margin-bottom: 16px; }

.ts-shop-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid #1e1e1e;
}

/* Product cards in shop archive inherit ts-product-card styles.
   Ensure li.product has min-width:0 so the grid columns don't blow out. */
.woocommerce ul.products li.product { min-width: 0; }

/* Fix: WC adds inline add-to-cart button inside the li that bypasses our template
   when the custom content-product.php is not picked up — hide it. */
.woocommerce ul.products li.product > a.button { display: none !important; }

@media (max-width: 900px) {
  .ts-woo-shop { padding: 28px 0; }
}


/* Fix: WooCommerce inserta ::before/::after (clearfix legacy) que en display:grid
   se convierten en celdas y desplazan la cuadrícula (primer producto "cortado",
   último solitario). Los ocultamos. */
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }

/* Ocultar cualquier <li> no-producto que meta un plugin dentro del grid */
.woocommerce ul.products > li:not(.product) { display: none !important; }

/* Ocultar botón core add-to-cart si aún se cuela por algún hook */
.woocommerce ul.products li.product .ts-product-card__body > a.button.add_to_cart_button,
.woocommerce ul.products li.product .ts-product-card__body > a.added_to_cart { display: none !important; }
