/* ROKKUS — tienda (listado, tarjeta, ficha), con las reglas de Kadence que usaba el sitio. */

/* Fila superior: conteo de resultados (y el botón Filtrar del plugin de filtros) */
.kadence-shop-top-row { display: flex; flex-wrap: wrap; padding-bottom: var(--global-md-spacing); }
@media (min-width: 768px) { .kadence-shop-top-row { justify-content: flex-end; } }
.kadence-shop-top-item.kadence-woo-results-count { margin-right: auto; flex: 1 1 auto; }
.woocommerce .woocommerce-result-count { float: none; margin: 0; font-size: 90%; line-height: 2; }

/* Grilla */
.woocommerce ul.products { margin: 0 0 1em; padding: 0; list-style: none outside; clear: both; }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; display: none !important; }
ul.products.grid-cols { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 2.5rem; row-gap: 2.5rem; }
@media (min-width: 576px) { ul.products.grid-sm-col-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1025px) { ul.products.grid-lg-col-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto; margin: 0; padding: 0; position: relative; overflow: hidden; display: flex; flex-direction: column; text-align: left; background: var(--global-palette9); border-radius: .25rem; }
.woocommerce ul.products li.product a.woocommerce-loop-image-link { position: relative; display: block; outline-offset: -5px; text-decoration: none; }
.woocommerce ul.products li.product a img { width: 100%; height: auto; display: block; margin: 0; box-shadow: none; }
.woocommerce ul.products li.product .entry-content-wrap { padding: 1rem 1rem 1.5rem; position: relative; margin: 0 .5em; border-radius: .25rem; background: var(--global-palette9); display: flex; flex-direction: column; flex-grow: 1; transition: transform .3s cubic-bezier(.17, .67, .35, .95); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: .5rem 0; margin: 0; font-size: 1em; font-weight: 500; line-height: 1.5; color: var(--global-palette3); }
.woocommerce ul.products li.product .woocommerce-loop-product__title a { color: inherit; text-decoration: none; transition: none; }
.woocommerce ul.products li.product .price { color: inherit; display: block; font-weight: normal; margin-bottom: .3em; font-size: .857em; }
.woocommerce ul.products.woo-archive-btn-button li.product .price { margin-bottom: 1em; }
.woocommerce ul.products li.product .price del { color: inherit; opacity: .5; display: inline-block; }
.woocommerce ul.products li.product .price ins { background: none; font-weight: 700; display: inline-block; }
.woocommerce .products.align-buttons-bottom li.product .product-action-wrap { margin-top: auto; padding-top: .7em; }
.woocommerce ul.products.woo-archive-btn-button .button:not(.kb-button) { color: var(--global-palette-btn); background: var(--global-palette-btn-bg); text-align: center; width: 100%; display: block; margin: 0; border-radius: 3px; padding: .4em 1em; font-size: 1em; font-weight: 400; line-height: 1.6; border: 2px none transparent; box-shadow: none; transition: color .2s ease, background .2s ease, border .2s ease; }
.woocommerce ul.products.woo-archive-btn-button .button:not(.kb-button):hover { color: var(--global-palette-btn-hover); background: var(--global-palette-btn-bg-hover); }
/* El botón aparece al pasar el mouse, y la caja sube un poco */
.woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap { width: auto; position: absolute; bottom: -2rem; left: 0; right: 0; margin-top: 0; padding: 0 1rem; opacity: 0; transition: opacity .3s cubic-bezier(.17, .67, .35, .95); }
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .entry-content-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .entry-content-wrap { transform: translateY(-2rem); }
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .product-action-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .product-action-wrap { bottom: -.8rem; opacity: 1; }
.woocommerce ul.products li.product .onsale { top: 6px; right: 6px; left: auto; margin: 0; }

/* Paginación */
.woocommerce nav.woocommerce-pagination { margin: var(--global-lg-spacing) auto; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { display: flex; justify-content: center; flex-wrap: wrap; margin: 0; list-style: none; padding: 0; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li .page-numbers { display: inline-block; margin-right: .5em; border: 2px solid rgba(0, 0, 0, 0); min-width: 2.5em; line-height: 2.25em; padding: 0; text-align: center; text-decoration: none; border-radius: .25rem; color: inherit; background: none; font-size: 1em; }
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li a:focus { border-color: var(--global-palette-btn-bg); background: none; color: inherit; }
.woocommerce nav.woocommerce-pagination ul li span.current { border-color: var(--global-palette-btn-bg); background: var(--global-palette-btn-bg); color: var(--global-palette-btn); }

/* ── Ficha ────────────────────────────────────────────────────────── */
.single-product .kadence-breadcrumbs { margin: -1rem 0 1em; font-size: 85%; color: var(--global-palette5); }
.kadence-breadcrumbs a { color: inherit; }
.single-product.content-vertical-padding-bottom .kadence-breadcrumbs { margin-top: .5em; margin-bottom: .5em; }
.woocommerce div.product { position: relative; }
.single-product div.product.entry-content-wrap { padding: 0; }
.woocommerce div.product .product_title { clear: none; margin-top: 0; padding: 0; font-size: 32px; font-weight: 500; line-height: 1.5; color: var(--global-palette3); margin-bottom: .5em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: inherit; font-size: 1.25em; }
.woocommerce div.product p.price:empty { display: none; }
.woocommerce .woocommerce-product-details__short-description { margin-bottom: 2em; }
.woocommerce .woocommerce-product-details__short-description p { margin: 0 0 1em; }
.woocommerce .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.woocommerce div.product p.stock { font-size: .92em; margin: 1em 0; }
.woocommerce div.product .stock { color: var(--global-palette-highlight); }
.woocommerce div.product .out-of-stock { color: red; }
.woocommerce div.product form.cart { margin-bottom: 2em; }
.woocommerce div.product form.cart .button, .woocommerce div.product .single_add_to_cart_button { background: var(--global-palette-btn-bg); color: var(--global-palette-btn); height: 40px; line-height: 40px; padding: 0 12px; font-size: 16px; font-weight: 400; border-radius: 3px; }
.woocommerce div.product div.images.woocommerce-product-gallery { position: relative; margin-bottom: 0; padding-bottom: 1rem; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { transition: all cubic-bezier(.795, -.035, 0, 1) .5s; margin: 0; padding: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) { display: none; }
.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:nth-child(n+2) { display: block; margin-top: 0; height: auto; width: auto; }
.woocommerce div.product div.images img { display: block; width: 100%; height: auto; }
@media (max-width: 767px) {
	.woocommerce div.product div.images.woocommerce-product-gallery { margin-bottom: 1rem; }
	.woocommerce div.product .summary { margin: 1rem 0 2rem; }
}
.woocommerce-page div.product div.images, .woocommerce-page div.product div.summary { float: none; width: auto; }

/* Avisos (como Kadence) */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top: 0; border-left: 4px solid var(--global-palette-highlight); background: var(--global-palette7); color: var(--global-palette4); border-radius: 0; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--global-palette-highlight); }
.woocommerce-error { border-left-color: #b82105; }

/* WooCommerce en temas de bloques agrega .wp-element-button a sus botones, y el CSS
   del sitio estiliza esa clase como enlace con flecha (para los botones de bloque).
   Los botones de WooCommerce vuelven a verse como antes: negros y sin flecha. */
#inner-wrap :is(button, a, input).button.wp-element-button {
	background-color: var(--global-palette-btn-bg) !important; color: var(--global-palette-btn) !important; padding: .4em 1em !important;
	font-size: 1.125rem !important; font-weight: 400 !important; letter-spacing: normal !important; border-radius: 3px !important; line-height: 1.6 !important;
}
#inner-wrap :is(button, a, input).button.wp-element-button:hover { background-color: var(--global-palette-btn-bg-hover) !important; opacity: 1 !important; }
#inner-wrap :is(button, a, input).button.wp-element-button::after { content: none !important; }
#inner-wrap div.product .single_add_to_cart_button.wp-element-button { height: 40px; line-height: 40px !important; padding: 0 12px !important; font-size: 16px !important; }

/* Lo que estaba en el CSS adicional del sitio (Personalizar, guardado por tema) */
.single-product .clappbox-product-description,
.single-product .clappbox-product-description p,
.single-product .clappbox-product-description li,
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description p,
.single-product .woocommerce-product-details__short-description li { font-weight: 300 !important; }
body.single-product .product_title.entry-title { text-transform: none !important; }
.woocommerce-Price-amount { font-weight: 700; }

/* Formularios de WooCommerce (ingreso, registro, datos), como en Kadence */
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { border: 1px solid #b7cde1; border-radius: 5px; padding: 20px; margin: 0 0 2em; }
.woocommerce form .form-row { padding: 0; margin: 0 0 .8em; }
.woocommerce form > p:last-child, .woocommerce form .form-row:last-child { margin-bottom: 0; }
.wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block { margin-top: 0; }
.woocommerce form .form-row label, .woocommerce-form-login__rememberme { font-size: 90%; font-weight: 700; line-height: 2.4; color: var(--global-palette5); }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select { border: 1px solid var(--global-gray-400); border-radius: 3px; padding: .4em .5em; color: var(--global-palette5); background: var(--global-palette9); line-height: 1.15; }
.woocommerce form .form-row .input-text:focus { border-color: var(--global-gray-500); }

/* Productos en bloques (p. ej. "Novedades en la tienda" del carrito vacío): misma tarjeta */
.wc-block-grid .wc-block-grid__products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 1025px) { .wc-block-grid.has-4-columns .wc-block-grid__products { grid-template-columns: repeat(4, minmax(0, 1fr)); } .wc-block-grid.has-3-columns .wc-block-grid__products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575px) { .wc-block-grid .wc-block-grid__products { grid-template-columns: minmax(0, 1fr); } }
.wc-block-grid[class] .wc-block-grid__product { max-width: none; flex: none; position: relative; display: flex; flex-direction: column; flex: none; max-width: none; width: auto; margin: 0; padding: 0; border: 0; text-align: left; background: var(--global-palette9); border-radius: .25rem; box-shadow: 0 15px 15px -10px rgba(0, 0, 0, .05); overflow: hidden; }
.wc-block-grid__product .wc-block-grid__product-link { display: block; text-decoration: none; }
.wc-block-grid__product .wc-block-grid__product-image { display: block; width: 100%; margin: 0; }
.wc-block-grid__product .wc-block-grid__product-image img { display: block; width: 100%; height: auto; }
.wc-block-grid__product .product-details { padding: 1rem 1rem 1.5rem; margin: 0 .5em; position: relative; display: flex; flex-direction: column; flex-grow: 1; transition: transform .3s cubic-bezier(.17, .67, .35, .95); }
.wc-block-grid__product .wc-block-grid__product-title { padding: .5rem 0; margin: 0; font-size: 1em; font-weight: 500; line-height: 1.5; color: var(--global-palette3); }
.wc-block-grid__product .wc-block-grid__product-title a { color: inherit; text-decoration: none; }
.wc-block-grid__product .wc-block-grid__product-price { font-size: .857em; margin: 0 0 1em; }
.wc-block-grid__product .product-action-wrap { position: absolute; left: 0; right: 0; bottom: -2rem; padding: 0 1rem; opacity: 0; transition: opacity .3s cubic-bezier(.17, .67, .35, .95); }
.wc-block-grid__product:hover .product-details, .wc-block-grid__product:focus-within .product-details { transform: translateY(-2rem); }
.wc-block-grid__product:hover .product-action-wrap, .wc-block-grid__product:focus-within .product-action-wrap { bottom: -.8rem; opacity: 1; }
.wc-block-grid__product .product-action-wrap .wp-block-button__link { display: block; width: 100%; text-align: center; background: var(--global-palette-btn-bg) !important; color: var(--global-palette-btn) !important; padding: .4em 1em !important; border-radius: 3px !important; font-weight: 400 !important; }
.wc-block-grid__product .product-action-wrap .wp-block-button__link::after { content: none !important; }
