/* =========================================================================
   Entelekia — WooCommerce skin (marca sobre el HTML nativo de Woo)
   Se encola solo cuando WooCommerce está activo.
   ========================================================================= */

/* ---- Botones ---- */
.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,
.wc-block-components-button:not(.is-link),
.wp-block-button__link {
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  border: 0 !important;
  border-radius: var(--r-pill) !important;
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  padding: 12px 22px !important;
  transition: var(--t-fast) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover,
.wp-block-button__link:hover { filter: brightness(1.06); }

.woocommerce .single_add_to_cart_button {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 30px !important;
}

/* ---- Precios ---- */
.woocommerce .price,
.woocommerce span.price,
.woocommerce ul.products li.product .price {
  color: var(--accent) !important;
  font-family: var(--font-mono);
  font-weight: 700;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-size: 28px; }
.woocommerce div.product p.price del { color: var(--muted-2) !important; }

/* ---- Títulos de producto ---- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--ink);
}

/* ---- Grid de productos (archivo /shop/) ---- */
.woocommerce ul.products li.product {
  background: var(--surface);
  border: 1px solid var(--line-2);
  border-radius: var(--r-card-sm);
  box-shadow: var(--sh-card);
  padding: 0 0 22px;
  overflow: hidden;
  transition: var(--t-lift);
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--sh-hover); }
.woocommerce ul.products li.product a img { margin-bottom: 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .badge { margin-left: 20px; margin-right: 20px; }
.woocommerce .star-rating span::before { color: var(--accent); }

/* ---- Notices ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  border-top-color: var(--accent) !important;
  border-radius: var(--r-card-sm);
  font-family: var(--font-body);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--accent) !important; }

/* ---- Tabs de producto ---- */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--surface);
  border-bottom-color: var(--surface);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--accent); }
.woocommerce-tabs .panel h2 { font-family: var(--font-display); }

/* ---- Formularios (cart/checkout/account) ---- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.wc-block-components-text-input input {
  border: 1px solid var(--line-input) !important;
  border-radius: var(--r-input) !important;
  padding: 12px 14px;
}
.woocommerce table.shop_table { border-radius: var(--r-card-sm); border-color: var(--line); }
.woocommerce-cart table.cart td.actions .coupon .input-text { padding: 10px 12px; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review { border: 1px solid var(--line); border-radius: var(--r-card); padding: 8px 20px; background: var(--surface); }

/* ---- Quantity ---- */
.woocommerce .quantity .qty {
  border: 1px solid var(--line-input);
  border-radius: var(--r-pill);
  padding: 10px;
  font-family: var(--font-display);
  font-weight: 700;
}

/* ---- Breadcrumb Woo ---- */
.woocommerce .woocommerce-breadcrumb {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--muted-2);
  margin-bottom: 24px;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--muted-2); }

/* ---- Buybar (qty stepper + amber CTA con precio) — todos los productos ---- */
.woocommerce div.product form.cart { margin-bottom: 1.5em; }
.buybar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 12px 0; }
.buybar .qty { flex: none; }
.buybar .qty .buybar-dec,
.buybar .qty .buybar-inc {
  width: 44px; height: 50px; display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: var(--muted); background: none; border: 0; cursor: pointer;
}
.buybar .qty .buybar-dec:hover,
.buybar .qty .buybar-inc:hover { color: var(--ink); }
.buybar .qty input.buybar-input {
  width: 46px; text-align: center; border: 0; background: transparent;
  font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink);
  -moz-appearance: textfield; appearance: textfield;
}
.buybar .qty input.buybar-input::-webkit-outer-spin-button,
.buybar .qty input.buybar-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.buybar .qty input.buybar-input:focus { outline: none; }
.woocommerce div.product form.cart .button.buybar-add,
.buybar .single_add_to_cart_button {
  flex: 1 1 auto; min-width: 240px; min-height: 50px;
  padding: 14px 30px !important; float: none;
}
@media (max-width: 480px) {
  .buybar .single_add_to_cart_button { width: 100%; }
}

/* ---- Onsale badge ---- */
.woocommerce span.onsale {
  background: var(--ink);
  color: var(--on-dark);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  min-height: auto;
  min-width: auto;
  padding: 5px 12px;
  line-height: 1.4;
}
