/* WooCommerce: grilla de productos, ficha, carrito y checkout. */
.shop-container { padding-block: 32px 64px; }
.woocommerce .woocommerce-breadcrumb { font-size: .85rem; color: var(--c-muted); margin-bottom: 16px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--c-muted); }
.woocommerce-products-header__title { margin-bottom: 8px; }
.term-description { color: var(--c-muted); }

/* Grilla */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0 0 32px; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: var(--c-white); border-radius: var(--radius); padding: 14px 14px 18px; box-shadow: var(--shadow); display: flex; flex-direction: column; position: relative; transition: transform .2s, box-shadow .2s; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(11, 15, 26, .14); }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product a img { border-radius: 8px; margin-bottom: 12px; background: var(--c-dark); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-head); font-size: 1rem; padding: 0; margin-bottom: 6px; color: var(--c-text); }
.woocommerce ul.products li.product .price { color: var(--c-text); font-weight: 700; font-size: 1.1rem; margin-bottom: 12px; }
.woocommerce ul.products li.product .price del { color: var(--c-muted); font-weight: 400; font-size: .85em; opacity: 1; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins, .woocommerce div.product span.price ins { color: var(--c-sale); text-decoration: none; }
.woocommerce-price-suffix { display: block; font-size: .72rem; font-weight: 500; color: var(--c-muted); }
.woocommerce ul.products li.product .button { margin-top: auto; text-align: center; }
.woocommerce ul.products li.product .added_to_cart { text-align: center; font-size: .85rem; padding-top: 6px; }

/* Badge de oferta */
.woocommerce span.onsale { background: var(--c-sale); color: var(--c-white); border-radius: 999px; min-height: 0; min-width: 0; line-height: 1; padding: 7px 11px; font-weight: 700; font-size: .85rem; top: 16px; left: 16px; right: auto; margin: 0; }
.woocommerce ul.products li.product .onsale { top: 22px; left: 22px; right: auto; margin: 0; }

/* Botones */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { background: var(--c-dark); color: var(--c-white); border-radius: 999px; padding: .8em 1.4em; font-weight: 600; font-family: var(--font-body); }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--c-accent); color: var(--c-dark); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #place_order { background: var(--c-accent); color: var(--c-dark); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .woocommerce #place_order:hover { background: #5CE6FF; color: var(--c-dark); }

/* Ficha de producto */
.woocommerce div.product { background: var(--c-white); border-radius: var(--radius); padding: clamp(16px, 3vw, 32px); box-shadow: var(--shadow); }
.woocommerce div.product .product_title { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--c-text); font-size: 1.6rem; font-weight: 700; }
.woocommerce div.product form.cart .variations select { min-width: 200px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--c-white); }
.woocommerce .related.products, .woocommerce .upsells.products { clear: both; padding-top: 40px; }
.woocommerce .related.products > h2 { font-size: 1.5rem; }

/* Avisos */
.woocommerce-message, .woocommerce-info { border-top-color: var(--c-accent); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--c-accent-dark); }
.woocommerce-error { border-top-color: var(--c-sale); }

/* Carrito y checkout */
.woocommerce table.shop_table { border-radius: var(--radius); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { padding: .7em .9em; border: 1px solid var(--c-border); border-radius: 10px; }
.woocommerce-checkout #payment { background: var(--c-light); border-radius: var(--radius); }

@media (max-width: 1000px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.woocommerce ul.products li.product { padding: 10px 10px 14px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .9rem; }
	.woocommerce ul.products li.product .button { font-size: .85rem; padding: .7em .8em; }
}
