/* Ajustes que theme.json no cubre */
header.wp-block-template-part { background: var(--wp--preset--color--base); }
.admin-bar header.wp-block-template-part { top: 32px; }
.sjw-hero h1 { margin-top: .25rem; }
.sjw-tarjeta-cat img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform .3s ease; }
.sjw-tarjeta-cat { overflow: hidden; }
.sjw-tarjeta-cat:hover img { transform: scale(1.03); }
.wp-block-post-title a, .wc-block-components-product-name { text-decoration: none; }
.wc-block-components-product-image img, .wp-block-woocommerce-product-image img { transition: opacity .2s; }
.wc-block-components-product-sale-badge { background: var(--wp--preset--color--acento); color: #fff; border: 0; border-radius: 0; text-transform: uppercase; font-size: .7rem; letter-spacing: .06em; }
.wp-block-woocommerce-product-price, .wc-block-components-product-price { font-size: var(--wp--preset--font-size--small); }
.wc-block-components-product-price del { opacity: .55; }
.wc-block-components-product-price ins { text-decoration: none; color: var(--wp--preset--color--acento); font-weight: 600; }
.wp-block-woocommerce-product-collection .wc-block-product { text-align: left; }
.single_add_to_cart_button { width: 100%; padding: 1rem 1.5rem; }
.woocommerce-variation-price { font-size: 1.25rem; margin: .5rem 0; }
.quantity input.qty { height: 3rem; }
table.variations { border: 0; margin: 0 0 1rem; }
table.variations th, table.variations td { display: block; padding: 0; text-align: left; border: 0; }
table.variations label { font-weight: 600; font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em; }
.reset_variations { font-size: .8rem; }
.woocommerce-tabs, .wp-block-woocommerce-product-details { margin-top: 3rem; }
@media (max-width: 781px) { .admin-bar header.wp-block-template-part { top: 46px; } }

/* Ficha de producto */
.onsale, span.onsale { background: var(--wp--preset--color--acento); color: #fff; border-radius: 0; min-width: 0; min-height: 0; line-height: 1; padding: .5rem .75rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; top: 1rem; left: 1rem; }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.woocommerce-variation-add-to-cart .sjw-guia-abrir { flex: 0 0 100%; text-align: left; }
.woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 12rem; width: auto; }
.sjw-wa-enlace { font-size: .875rem; margin: 1rem 0 0; }

/* Movil: el texto del hero necesita fondo para leerse sobre la imagen */
@media (max-width: 781px) {
	.sjw-hero .wp-block-cover__inner-container > .wp-block-group { background: rgba(243, 236, 227, .86); padding: 1.25rem !important; margin-left: 1rem; margin-right: 1rem; }
	.sjw-hero .wp-block-cover__image-background { object-position: 75% center; }
}

/* Insignia de oferta de WooCommerce con la paleta del tema */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale { background: var(--wp--preset--color--acento); color: var(--wp--preset--color--base); border-radius: 0; min-width: 0; min-height: 0; line-height: 1; padding: .5rem .75rem; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; top: 1rem; left: 1rem; right: auto; margin: 0; }

/* Carril de contenido: 1200 px centrado, margen minimo de 1.5rem. El encabezado (plugin, modulo encabezado) usa el mismo carril. */
:root { --sjw-ancho: 1200px; --sjw-margen: 1.5rem; }

/* Titulos dentro de paginas anchas: alineados al carril de contenido */
.sjw-rail-t { width: min(var(--sjw-ancho, 1200px), 100% - 2 * var(--sjw-margen, 1.5rem)); margin: 2.5rem auto .25rem; }
.sjw-rail-p { width: min(var(--sjw-ancho, 1200px), 100% - 2 * var(--sjw-margen, 1.5rem)); margin: 0 auto .75rem; opacity: .75; font-size: .9rem; }
