/* ============================================================
   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; }

/* ============================================================
   RESPONSIVE POLISH — WooCommerce (v3.6)
   ============================================================ */

/* Grid fluida en anchos intermedios */
@media (min-width: 481px) and (max-width: 899px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
  }
}

/* Ficha de producto: imágenes y galería fluidas */
.woocommerce div.product img,
.woocommerce-product-gallery img { width: 100%; height: auto; }

/* Tabs y descripciones sin desbordar */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs .panel { max-width: 100%; overflow-x: auto; }

/* Carrito responsive: tabla scrolleable en móvil */
@media (max-width: 768px) {
  .woocommerce table.shop_table {
    display: block; overflow-x: auto; white-space: nowrap;
  }
  .woocommerce-cart-form__contents th,
  .woocommerce-cart-form__contents td { font-size: 13px; }
  .woocommerce .cart_totals, .woocommerce .cart-collaterals { width: 100% !important; }
}

/* Checkout: campos a 100% en móvil */
@media (max-width: 600px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last,
  .woocommerce-page form .form-row-first,
  .woocommerce-page form .form-row-last {
    width: 100%;
  }
}

/* Botones cart: full width en móvil */
@media (max-width: 480px) {
  .woocommerce a.button, .woocommerce button.button,
  .woocommerce input.button, .woocommerce #respond input#submit {
    width: 100%; text-align: center;
  }
}

/* ============================================================
   SHOP LAYOUT v3.7 — Sidebar de filtros + toolbar + vista
   ============================================================ */

.ts-shop-header__title{
  font-size: clamp(1.15rem, 1rem + 1.2vw, 1.6rem);
  font-weight: 700; color:#e5e7eb; margin: 0 0 18px;
}

.ts-shop-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap; padding:10px 0 14px;
  border-bottom:1px solid #1f2937; margin-bottom:20px;
}
.ts-shop-toolbar__left,.ts-shop-toolbar__right{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.ts-tab{
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; border:0; color:#93c5fd;
  font-weight:600; font-size:.95rem; padding:8px 4px;
  border-bottom:2px solid transparent; cursor:pointer;
}
.ts-tab--active{ color:#3b82f6; border-bottom-color:#3b82f6; }
.ts-tab__count{
  background:rgba(59,130,246,.15); color:#93c5fd;
  border-radius:999px; padding:2px 8px; font-size:.75rem; font-weight:600;
}
.ts-view-toggle{ display:inline-flex; border:1px solid #374151; border-radius:8px; overflow:hidden; }
.ts-view-toggle__btn{
  background:transparent; border:0; color:#9ca3af; padding:8px 10px;
  cursor:pointer; font-size:1rem; min-height:38px; min-width:38px;
}
.ts-view-toggle__btn--active{ background:#1f2937; color:#e5e7eb; }
.ts-filter-toggle{
  display:inline-flex; align-items:center; gap:6px;
  background:transparent; color:#e5e7eb; border:1px solid #374151;
  border-radius:8px; padding:8px 14px; cursor:pointer; font-weight:600;
  min-height:40px;
}
.ts-filter-toggle:hover{ border-color:#3b82f6; color:#93c5fd; }

/* Layout: sidebar + main */
.ts-shop-layout{
  display:grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  align-items:start;
}
.ts-shop-main{ min-width:0; }

/* Sidebar */
.ts-shop-filters{
  background:#0f172a; border:1px solid #1f2937; border-radius:12px;
  padding:16px; position:sticky; top:88px; max-height: calc(100vh - 100px);
  overflow-y:auto;
}
.ts-shop-filters__header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.ts-shop-filters__header h2{ font-size:1rem; color:#e5e7eb; margin:0; font-weight:700; }
.ts-shop-filters__close{ display:none; background:transparent; border:0; color:#9ca3af; font-size:1.4rem; cursor:pointer; }

.ts-filter-group{ padding:14px 0; border-top:1px solid #1f2937; }
.ts-filter-group:first-of-type{ border-top:0; padding-top:4px; }
.ts-filter-group__title{
  font-size:.85rem; font-weight:700; color:#cbd5e1;
  margin:0 0 10px; text-transform:uppercase; letter-spacing:.04em;
}
.ts-filter-list{ list-style:none; margin:0; padding:0; }
.ts-filter-list li{ margin:0; }
.ts-filter-list a,
.ts-filter-list li > a{
  display:flex; align-items:center; gap:8px;
  color:#cbd5e1; text-decoration:none; padding:6px 4px;
  font-size:.9rem; border-radius:6px;
}
.ts-filter-list a:hover{ color:#93c5fd; background:rgba(59,130,246,.08); }
.ts-filter-list em{ color:#6b7280; font-style:normal; font-size:.78rem; margin-left:auto; }
.ts-filter-list--check .ts-filter-check{
  width:16px; height:16px; border:1.5px solid #4b5563; border-radius:4px;
  display:inline-block; flex-shrink:0; background:transparent;
}
.ts-filter-list a:hover .ts-filter-check{ border-color:#3b82f6; }
.ts-filter-clear{
  display:inline-flex; align-items:center; gap:6px;
  color:#93c5fd; text-decoration:none; font-weight:600; font-size:.9rem;
}
.ts-filter-clear:hover{ color:#3b82f6; }

/* Widgets nativos de WC dentro del sidebar */
.ts-shop-filters .widget{ margin:0; }
.ts-shop-filters .widget_price_filter .price_slider_wrapper{ padding-top:8px; }
.ts-shop-filters .widget_price_filter .price_slider_amount .button{
  background:#3b82f6; color:#fff; border:0; border-radius:8px;
  padding:8px 14px; font-weight:600; cursor:pointer;
}
.ts-shop-filters .widget_price_filter .price_label{ color:#9ca3af; font-size:.85rem; }
.ts-shop-filters .widget ul{ list-style:none; margin:0; padding:0; }
.ts-shop-filters .widget ul li{ padding:6px 4px; color:#cbd5e1; font-size:.9rem; }
.ts-shop-filters .widget ul li a{ color:#cbd5e1; text-decoration:none; }
.ts-shop-filters .widget ul li a:hover{ color:#93c5fd; }

/* Empty state */
.ts-shop-empty{
  text-align:center; padding:60px 20px; color:#9ca3af;
}
.ts-shop-empty i{ font-size:3rem; color:#374151; display:block; margin-bottom:12px; }
.ts-shop-empty p{ margin:0 0 18px; font-size:1rem; }

/* Vista lista (opcional) */
.woocommerce ul.products.is-list-view{
  grid-template-columns: 1fr !important;
}
.woocommerce ul.products.is-list-view li.product.ts-product-card{
  display:grid; grid-template-columns: 180px 1fr; gap:16px; align-items:start;
}
.woocommerce ul.products.is-list-view .ts-product-card__img-wrap{ max-width:180px; }

/* ---- Responsive: sidebar off-canvas en móvil/tablet ---- */
@media (max-width: 1023px){
  .ts-shop-layout{ grid-template-columns: 1fr; }
  .ts-shop-filters{
    position:fixed; top:0; left:0; height:100vh; width:min(320px, 88vw);
    max-height:100vh; z-index:9999; transform:translateX(-100%);
    transition: transform .28s ease; border-radius:0;
    box-shadow: 0 20px 60px rgba(0,0,0,.5);
  }
  .ts-shop-filters.is-open{ transform:translateX(0); }
  .ts-shop-filters__close{ display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:36px; }
  .ts-shop-filters__backdrop{
    position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:9998;
  }
}
@media (min-width: 1024px){
  .ts-filter-toggle{ display:none; }
  .ts-shop-filters__backdrop{ display:none !important; }
}

@media (max-width: 600px){
  .ts-shop-toolbar{ gap:8px; }
  .ts-shop-toolbar__right{ width:100%; justify-content:space-between; }
  .ts-shop-toolbar .woocommerce-ordering select{ min-height:40px; }
  .ts-view-toggle{ order:2; }
}

/* Anchos extra grandes: sidebar un poco más ancha */
@media (min-width: 1400px){
  .ts-shop-layout{ grid-template-columns: 280px minmax(0, 1fr); gap:32px; }
}

/* ============================================================
   v3.8 — Ajustes: tamaño de imágenes, single meta,
   filtros colapsables verdes y scrollbars temáticos
   ============================================================ */

/* ---- SCROLLBARS TEMÁTICOS ---- */
* { scrollbar-width: thin; scrollbar-color: #9BEF00 #0a0a0a; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: #0a0a0a; }
*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #9BEF00, #6fbf00);
  border-radius: 8px; border: 2px solid #0a0a0a;
}
*::-webkit-scrollbar-thumb:hover { background: #b5ff1a; }

/* ---- TAMAÑO DE IMÁGENES DE LA TIENDA ---- */
/* Cards del archivo */
.woocommerce ul.products li.product .ts-product-card__img-wrap,
.ts-product-card .ts-product-card__img-wrap {
  aspect-ratio: 4 / 3; max-height: 220px;
  display: flex; align-items: center; justify-content: center;
  background: #111; padding: 10px; overflow: hidden;
}
.woocommerce ul.products li.product img,
.ts-product-card .ts-product-card__img {
  max-height: 100%; width: auto !important; max-width: 100%;
  object-fit: contain; padding: 0; background: transparent;
  aspect-ratio: auto;
}

/* Ficha individual — galería más contenida */
.woocommerce div.product { align-items: start; }
.woocommerce div.product .woocommerce-product-gallery {
  max-width: 480px; margin-inline: auto;
}
.woocommerce div.product .woocommerce-product-gallery__image {
  aspect-ratio: 1; max-height: 460px;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
  max-height: 100%; object-fit: contain; padding: 18px;
}
.woocommerce div.product .flex-control-thumbs { display: flex; gap: 8px; margin-top: 10px; padding: 0; list-style: none; }
.woocommerce div.product .flex-control-thumbs li { width: 64px !important; height: 64px; }
.woocommerce div.product .flex-control-thumbs img { width: 100%; height: 100%; object-fit: contain; background: #111; border-radius: 6px; }

/* ---- SINGLE PRODUCT: SKU + STOCK ---- */
.ts-single-meta {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin: 14px 0 18px;
}
.ts-single-meta__item {
  display: inline-flex; align-items: center; gap: 6px;
  background: #141414; border: 1px solid #262626;
  color: #cfcfcf; font-size: 13px; font-weight: 500;
  padding: 7px 12px; border-radius: 999px;
}
.ts-single-meta__item i { font-size: 15px; color: #9BEF00; }
.ts-single-meta__item strong { color: #fff; font-weight: 700; letter-spacing: .3px; }
.ts-single-meta__item--ok  { border-color: rgba(155,239,0,.35); color: #b5ff1a; }
.ts-single-meta__item--ok i { color: #9BEF00; }
.ts-single-meta__item--out { border-color: rgba(232,69,69,.45); color: #ff6b6b; }
.ts-single-meta__item--out i { color: #ff6b6b; }

/* ---- SINGLE: cantidad al lado del botón ---- */
.woocommerce div.product form.cart {
  display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px;
}
.woocommerce div.product form.cart .quantity {
  margin: 0 !important; height: 48px;
  background: #141414; border: 1px solid #2a2a2a; border-radius: 8px;
  display: inline-flex; align-items: center; overflow: hidden;
}
.woocommerce div.product form.cart .quantity .qty {
  height: 100%; width: 68px; background: transparent; border: 0; color: #fff;
  text-align: center; font-size: 15px; font-weight: 600;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  height: 48px; padding: 0 22px; border-radius: 8px;
  background: #9BEF00; color: #000; border: 0; font-weight: 800;
  letter-spacing: .4px; text-transform: uppercase; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
  transition: background .2s, transform .2s, box-shadow .2s;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: #b5ff1a; box-shadow: 0 8px 20px rgba(155,239,0,.25);
}
@media (max-width: 480px) {
  .woocommerce div.product form.cart .quantity,
  .woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; }
}

/* ---- FILTROS COLAPSABLES MODERNOS (VERDE TEMA) ---- */
.ts-shop-filters {
  background: #101010; border: 1px solid #1e1e1e; border-radius: 14px;
  padding: 8px 14px 14px;
}
.ts-shop-filters__header h2 { color: #fff; }
.ts-shop-filters__header h2::before {
  content: ""; display: inline-block; width: 4px; height: 16px;
  background: #9BEF00; border-radius: 2px; margin-right: 8px; vertical-align: -3px;
}

/* Grupo como <details> */
details.ts-filter-group {
  border-top: 1px solid #1e1e1e; padding: 6px 0;
}
details.ts-filter-group:first-of-type { border-top: 0; }
details.ts-filter-group > summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 4px; margin: 0;
  font-size: .82rem; font-weight: 700; color: #f1f1f1;
  text-transform: uppercase; letter-spacing: .06em;
  border-radius: 8px; transition: color .2s;
}
details.ts-filter-group > summary::-webkit-details-marker { display: none; }
details.ts-filter-group > summary:hover { color: #9BEF00; }
.ts-filter-group__chevron {
  transition: transform .25s ease; color: #9BEF00; font-size: 1.1rem;
}
details.ts-filter-group[open] > summary .ts-filter-group__chevron { transform: rotate(180deg); }
.ts-filter-group__body { padding: 4px 2px 10px; animation: tsFilterIn .22s ease; }
@keyframes tsFilterIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* Listas dentro del filtro */
.ts-filter-list a,
.ts-filter-list li > a {
  color: #cfcfcf; padding: 7px 8px; border-radius: 8px; font-size: .9rem;
  transition: background .18s, color .18s, transform .18s;
}
.ts-filter-list a:hover,
.ts-filter-list li > a:hover {
  color: #9BEF00; background: rgba(155,239,0,.08); transform: translateX(2px);
}
.ts-filter-list em { color: #666; }
.ts-filter-list--check .ts-filter-check {
  width: 16px; height: 16px; border-radius: 5px;
  border: 1.5px solid #3a3a3a; background: #0d0d0d; transition: all .18s;
}
.ts-filter-list a:hover .ts-filter-check {
  border-color: #9BEF00; box-shadow: inset 0 0 0 3px #9BEF00;
}
.ts-filter-list--tree ul { padding-left: 14px; margin-top: 2px; border-left: 1px dashed #2a2a2a; }

/* Widget de precio (slider) */
.ts-shop-filters .widget_price_filter .ui-slider {
  background: #1a1a1a; height: 6px; border-radius: 6px; position: relative; margin: 14px 6px;
}
.ts-shop-filters .widget_price_filter .ui-slider .ui-slider-range {
  background: linear-gradient(90deg, #9BEF00, #6fbf00); height: 100%; border-radius: 6px;
}
.ts-shop-filters .widget_price_filter .ui-slider .ui-slider-handle {
  width: 16px; height: 16px; background: #9BEF00; border: 2px solid #0a0a0a;
  border-radius: 50%; top: -6px; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.6);
}
.ts-shop-filters .widget_price_filter .price_slider_amount .button {
  background: #9BEF00; color: #000; border: 0; border-radius: 8px;
  padding: 8px 16px; font-weight: 700; cursor: pointer;
}
.ts-shop-filters .widget_price_filter .price_slider_amount .button:hover { background: #b5ff1a; }
.ts-shop-filters .widget_price_filter .price_label { color: #bbb; }

/* Toolbar tabs y toggles con verde */
.ts-tab { color: #cfcfcf; }
.ts-tab--active { color: #9BEF00; border-bottom-color: #9BEF00; }
.ts-tab__count { background: rgba(155,239,0,.12); color: #9BEF00; }
.ts-view-toggle { border-color: #2a2a2a; }
.ts-view-toggle__btn--active { background: #1a1a1a; color: #9BEF00; }
.ts-filter-toggle { border-color: #2a2a2a; color: #eee; }
.ts-filter-toggle:hover { border-color: #9BEF00; color: #9BEF00; }
.ts-filter-clear { color: #9BEF00; }
.ts-filter-clear:hover { color: #b5ff1a; }

/* ============================================================
   v3.9 — SINGLE PRODUCT: layout tipo screenshot (rneb)
   ============================================================ */

/* Layout general: dos columnas balanceadas, imagen más grande */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { max-width: 100%; width: 100%; margin: 0; background: #f4f4f2; border-radius: 14px; padding: 24px; position: relative; }
.woocommerce div.product .woocommerce-product-gallery__image { aspect-ratio: 1; max-height: none; background: transparent; }
.woocommerce div.product .woocommerce-product-gallery__image img { padding: 8px; background: transparent; }
.woocommerce div.product .summary { margin: 0 !important; width: 100%; }
@media (max-width: 900px) { .woocommerce div.product { grid-template-columns: 1fr; } }

/* Badge de categoría */
.ts-single-catbadge {
  display: inline-block; background: #4f46e5; color: #fff !important;
  font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  padding: 8px 14px; border-radius: 8px; margin-bottom: 14px; text-decoration: none;
}
.ts-single-catbadge:hover { background: #6366f1; }

/* Título grande blanco */
.woocommerce div.product .product_title {
  color: #fff; font-size: clamp(22px, 2vw, 30px); font-weight: 800;
  line-height: 1.2; letter-spacing: .2px; margin: 0 0 18px;
}

/* Precio verde grande + "Neto" */
.woocommerce div.product .price { color: #9BEF00; font-size: 34px; font-weight: 800; margin: 6px 0 20px; }
.woocommerce div.product .price .woocommerce-Price-suffix,
.woocommerce div.product .price small { color: #9BEF00; font-size: 15px; font-weight: 600; opacity: .85; margin-left: 6px; }

/* Fila de 3 features */
.ts-single-features { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin: 4px 0 20px; }
.ts-single-feature { display: flex; align-items: flex-start; gap: 10px; }
.ts-single-feature i { font-size: 26px; color: #9BEF00; line-height: 1; flex: 0 0 auto; margin-top: 2px; }
.ts-single-feature strong { display: block; color: #fff; font-size: 13.5px; font-weight: 700; }
.ts-single-feature span { display: block; color: #9BEF00; font-size: 12.5px; line-height: 1.35; }
@media (max-width: 640px) { .ts-single-features { grid-template-columns: 1fr; } }

/* Separador */
.ts-single-sep { border: 0; border-top: 1px solid #222; margin: 4px 0 18px; }

/* Label "PAGA DE FORMA SEGURA" */
.ts-single-pay-label {
  font-size: 11px; font-weight: 700; letter-spacing: .12em; color: #888;
  text-transform: uppercase; margin: 18px 0 10px; flex-basis: 100%; width: 100%;
}

/* Botones de pago */
.ts-single-pay { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 0; width: 100%; flex-basis: 100%; }
.ts-single-pay__btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  height: 54px; border-radius: 8px; font-size: 15px; border: none; cursor: pointer;
  font-weight: 700; transition: filter .2s, transform .2s, opacity .2s;
}
.ts-single-pay__btn:hover { filter: brightness(1.05); }
.ts-single-pay__btn--paypal { background: #FFC439; color: #253b80; }
.ts-single-pay__btn--paypal b { color: #253b80; font-weight: 900; font-style: italic; }
.ts-single-pay__btn--mp { background: #1e8ce1; color: #fff; }
.ts-single-pay__btn--mp b { color: #fff; font-weight: 800; }
.ts-single-pay__btn--mp b i { color: #ffe600; font-style: normal; font-weight: 800; }
@media (max-width: 560px) { .ts-single-pay { grid-template-columns: 1fr; } }

/* Trust strip inferior (4 tarjetas de acción WhatsApp) */
.ts-trust-strip {
  grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px; margin: 28px 0 12px; clear: both;
}
.ts-trust-strip__item {
  display: flex; align-items: center; gap: 14px;
  background: #131313; border: 1px solid #1f1f1f; border-radius: 14px;
  padding: 22px 20px; text-decoration: none; color: inherit;
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.ts-trust-strip__item:hover {
  border-color: #9BEF00; background: #161a10; transform: translateY(-2px);
}
.ts-trust-strip__icon {
  flex: 0 0 auto; width: 56px; height: 56px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #9BEF00; background: rgba(155,239,0,.08); border: 1px solid rgba(155,239,0,.25);
}
.ts-trust-strip__icon i { font-size: 30px; line-height: 1; }
.ts-trust-strip__body { flex: 1 1 auto; min-width: 0; }
.ts-trust-strip__body strong {
  display: block; color: #fff; font-weight: 400; font-size: 15px; line-height: 1.25;
}
.ts-trust-strip__body strong b { font-weight: 800; }
.ts-trust-strip__desc {
  display: block; margin-top: 6px; color: #9aa0a6; font-size: 13px; line-height: 1.35;
}
.ts-trust-strip__arrow {
  flex: 0 0 auto; color: #9BEF00; font-size: 22px; line-height: 1;
  opacity: .85; transition: transform .2s ease;
}
.ts-trust-strip__item:hover .ts-trust-strip__arrow { transform: translateX(3px); opacity: 1; }
@media (max-width: 1024px) { .ts-trust-strip { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px)  { .ts-trust-strip { grid-template-columns: 1fr; } }

/* Ajuste de cart: que quede en su propia fila y el pay debajo */
.woocommerce div.product form.cart { align-items: center; }

/* ============================================================
   v4.2 — Panel de ESPECIFICACIONES bajo la galería
   ============================================================ */
.ts-specs {
  margin-top: 22px;
  background: #0f0f0f;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 20px 22px;
  color: #e6e6e6;
}
.ts-specs__title {
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #9BEF00;
  font-weight: 700;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ts-specs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ts-specs__row {
  display: grid;
  grid-template-columns: minmax(140px, 40%) 1fr;
  align-items: center;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(255,255,255,.06);
}
.ts-specs__row:last-child { border-bottom: 0; }
.ts-specs__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #b8b8b8;
  font-size: 14px;
  font-weight: 500;
}
.ts-specs__label i {
  font-size: 18px;
  color: #9BEF00;
  width: 22px;
  text-align: center;
}
.ts-specs__val {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  word-break: break-word;
}
.ts-specs__val--ok  { color: #9BEF00; }
.ts-specs__val--out { color: #ff6b6b; }

@media (max-width: 640px) {
  .ts-specs__row { grid-template-columns: 1fr; gap: 4px; }
  .ts-specs__val { padding-left: 32px; }
}
