/* ---- Ficha de producto (5 variantes). Corte de celular: 781 px. ---- */
.sjw-fi { --f-acento: var(--wp--preset--color--acento, #b4452f); --f-tinta: var(--wp--preset--color--tinta, #111); --f-base: var(--wp--preset--color--base, #fff); --f-suave: var(--wp--preset--color--suave, #f5f4f2); --f-borde: var(--wp--preset--color--borde, #e3e1dd); width: 100%; }
.sjw-fi-migas { margin-bottom: 1rem; font-size: .85rem; } .sjw-fi-migas :is(.woocommerce-breadcrumb, .wc-block-breadcrumbs, nav) { margin: 0; }
.sjw-fi-top { display: grid; gap: 2rem 3rem; align-items: start; }
.sjw-fi-titulo { margin: 0 0 .5rem; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem); line-height: 1.2; }
.sjw-fi-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin: 0 0 .75rem; font-size: .875rem; }
.sjw-fi-rating { display: inline-flex; align-items: center; gap: .4rem; } .sjw-fi-rating a { text-decoration: underline; color: inherit; }
.sjw-fi-ventas { opacity: .75; }
.sjw-fi-precio { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: 0 0 1rem; }
.sjw-fi-precio .wp-block-woocommerce-product-price { margin: 0; font-size: 1.5rem; } .sjw-fi-precio .wc-block-components-product-price { font-size: inherit; }
.sjw-fi-pct { padding: .2rem .55rem; background: var(--f-acento); color: #fff; font-size: .8rem; font-weight: 700; border-radius: 3px; }
.sjw-fi-resumen { margin: 0 0 1.25rem; opacity: .9; } .sjw-fi-resumen p { margin: 0 0 .5rem; }
.sjw-fi-stock { margin: 0 0 .75rem; font-weight: 600; color: #1d7a46; } .sjw-fi-stock--no { color: #b32d2e; }
.sjw-fi-envio { display: flex; align-items: center; gap: .6rem; margin: 0 0 1rem; padding: .65rem .85rem; background: #e8f5ec; border: 1px solid #bfe3ca; border-radius: 6px; color: #14532d; font-size: .9rem; }
.sjw-fi-prot { list-style: none; margin: 1.1rem 0; padding: 0; display: grid; gap: .55rem; font-size: .875rem; } .sjw-fi-prot li { display: flex; gap: .6rem; align-items: flex-start; } .sjw-fi-prot svg { flex: none; margin-top: .1rem; color: #1d7a46; width: 18px; height: 18px; }
.sjw-fi-skus { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin-top: 1rem; font-size: .8125rem; opacity: .8; } .sjw-fi-skus a { color: inherit; }
.sjw-fi-wa, .sjw-fi-comp a, .sjw-fi-comp button { display: inline-flex; align-items: center; gap: .5rem; color: inherit; text-decoration: none; }
.sjw-fi-wa { justify-content: center; width: 100%; box-sizing: border-box; margin: .6rem 0; padding: .7rem 1rem; border: 1.5px solid #1da851; border-radius: 999px; color: #14783c; font-weight: 600; } .sjw-fi-wa:hover { background: #1da851; color: #fff; }
.sjw-fi-comp { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: .9rem; font-size: .8125rem; } .sjw-fi-comp button { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; } .sjw-fi-comp svg { width: 16px; height: 16px; } .sjw-fi-comp a:hover, .sjw-fi-comp button:hover { color: var(--f-acento); }
.sjw-fi-t { margin: 0 0 .75rem; font-size: 1.15rem; line-height: 1.25; }
.sjw-fi-carac { margin: 1.25rem 0; } .sjw-fi-carac dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem 1.25rem; margin: 0; padding: 1rem 1.1rem; background: var(--f-suave); border-radius: 8px; }
.sjw-fi-carac dt { font-size: .8125rem; opacity: .7; } .sjw-fi-carac dd { margin: .15rem 0 0; font-weight: 600; }
.sjw-fi-carac--lista ul { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; font-size: .93rem; }
.sjw-fi-mayoreo { margin: 0 0 1.25rem; } .sjw-fi-tramos { display: flex; flex-wrap: wrap; gap: .75rem 2rem; padding: .9rem 0; border-block: 1px solid var(--f-borde); }
.sjw-fi-tramo { display: grid; gap: .1rem; } .sjw-fi-tramo strong { font-size: 1.5rem; line-height: 1.1; } .sjw-fi-tramo span { font-size: .8125rem; opacity: .7; }
.sjw-fi-tienda { margin: 1.25rem 0; padding: 1rem; background: var(--f-suave); border-radius: 10px; } .sjw-fi-tienda-cab { display: flex; gap: .75rem; align-items: center; margin-bottom: .8rem; } .sjw-fi-tienda-cab svg { width: 34px; height: 34px; padding: .4rem; border-radius: 8px; background: var(--f-base); box-sizing: border-box; } .sjw-fi-tienda-cab small { display: block; opacity: .7; font-size: .78rem; }
.sjw-fi-tienda dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin: 0; text-align: center; } .sjw-fi-tienda dt { font-weight: 700; } .sjw-fi-tienda dd { margin: 0; font-size: .72rem; opacity: .7; }
.sjw-fi-caja { padding: 1.25rem; border: 1px solid var(--f-borde); border-radius: 12px; background: var(--f-base); }
.sjw-fi-caja-t { margin: 0 0 .9rem; font-size: 1.05rem; } .sjw-fi-caja-p .wp-block-woocommerce-product-price { font-size: 1.8rem; margin: 0 0 .5rem; }

/* galeria */
.sjw-fi-galeria .woocommerce-product-gallery { margin: 0; max-width: 100%; }
.sjw-fi-galeria .flex-control-thumbs { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--fi-mini, 4.6rem), 1fr)); gap: .5rem; }
.sjw-fi-galeria .flex-control-thumbs li { margin: 0; } .sjw-fi-galeria .flex-control-thumbs img { display: block; width: 100%; aspect-ratio: var(--fi-mini-asp, 3 / 4); object-fit: cover; border: 2px solid transparent; border-radius: var(--fi-mini-r, 4px); opacity: .75; cursor: pointer; } .sjw-fi-galeria .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--f-tinta); }
.sjw-fi-g--izq .woocommerce-product-gallery { display: grid; grid-template-columns: var(--fi-mini, 4.6rem) minmax(0, 1fr); gap: .75rem; align-items: start; }
.sjw-fi-g--izq .flex-viewport { grid-column: 2; grid-row: 1; } .sjw-fi-g--izq .woocommerce-product-gallery__trigger { z-index: 5; }
.sjw-fi-g--izq .flex-control-thumbs { grid-column: 1; grid-row: 1; margin: 0; display: flex; flex-direction: column; gap: .5rem; max-height: 34rem; overflow-y: auto; scrollbar-width: thin; }
.sjw-fi-g--izq .woocommerce-product-gallery:not(.woocommerce-product-gallery--with-images) { display: block; }
.sjw-fi-galeria .woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; }

/* detalles: pestanas o secciones apiladas */
.sjw-fi-detalles { margin-top: 3rem; }
.sjw-fi-d--secciones .wc-tabs, .sjw-fi-d--secciones .woocommerce-tabs ul.tabs { display: none !important; }
.sjw-fi-d--secciones .woocommerce-Tabs-panel { display: block !important; padding: 1.5rem 0; border-top: 1px solid var(--f-borde); } .sjw-fi-d--secciones .woocommerce-Tabs-panel > h2:first-child { font-size: 1.25rem; margin: 0 0 .9rem; }
.sjw-fi-d--secciones .woocommerce-tabs { margin: 0; }

/* relacionados */
.sjw-fi-rel { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--f-borde); } .sjw-fi-rel .sjw-cat { margin: 0; padding: 0; }
.sjw-fi-rel--fila .sjw-cat-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: .75rem; padding-bottom: .5rem; scrollbar-width: thin; } .sjw-fi-rel--fila .sjw-cat-card { flex: 0 0 calc((100% - .75rem * (var(--cat-pc, 5) - 1)) / var(--cat-pc, 5)); scroll-snap-align: start; }

/* --- boutique: galeria a la izquierda (miniaturas abajo) --- */
.sjw-fi--boutique .sjw-fi-top { grid-template-columns: minmax(0, var(--fi-gal, 36rem)) minmax(0, 1fr); }
.sjw-fi--boutique .sjw-fi-precio .wp-block-woocommerce-product-price { font-size: 1.35rem; }

/* --- marketplace (Amazon): miniaturas | info | caja fija --- */
.sjw-fi--marketplace .sjw-fi-top { grid-template-columns: minmax(0, var(--fi-gal, 36rem)) minmax(0, 1fr) minmax(15rem, 18rem); gap: 2rem; }
.sjw-fi--marketplace .sjw-fi-titulo { font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem); font-weight: 400; }
.sjw-fi--marketplace .sjw-fi-precio { padding-block: .75rem; border-block: 1px solid var(--f-borde); } .sjw-fi--marketplace .sjw-fi-precio .wp-block-woocommerce-product-price { font-size: 1.7rem; }
.sjw-fi--marketplace .sjw-fi-caja .single_add_to_cart_button { width: 100%; }
.sjw-fi--sticky.sjw-fi--marketplace .sjw-fi-caja, .sjw-fi--sticky.sjw-fi--mayorista .sjw-fi-caja { position: sticky; top: 6.5rem; }

/* --- rapida (Shein/Temu): precio con descuento y compra grande --- */
.sjw-fi--rapida .sjw-fi-top { grid-template-columns: minmax(0, var(--fi-gal, 36rem)) minmax(0, 1fr); }
.sjw-fi--rapida .sjw-fi-precio .wp-block-woocommerce-product-price { font-size: 2rem; font-weight: 700; color: var(--f-acento); } .sjw-fi--rapida .sjw-fi-precio del { color: var(--f-tinta); opacity: .5; font-size: .55em; font-weight: 400; }
.sjw-fi--rapida .sjw-fi-pct { font-size: .9rem; padding: .25rem .65rem; }
.sjw-fi--rapida .single_add_to_cart_button { width: 100%; padding-block: 1.05rem; font-size: 1rem; }
.sjw-fi--rapida .sjw-fi-prot { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); padding: .9rem 0; border-block: 1px dashed var(--f-borde); }

/* --- mayorista (Alibaba): galeria | info | tarjeta de confianza --- */
.sjw-fi--mayorista .sjw-fi-top { grid-template-columns: minmax(0, var(--fi-gal, 36rem)) minmax(0, 1fr) minmax(15rem, 18rem); gap: 2rem; }
.sjw-fi--mayorista .sjw-fi-titulo { font-size: clamp(1.2rem, 1rem + .9vw, 1.55rem); font-weight: 500; }
.sjw-fi--mayorista .sjw-fi-caja { background: var(--f-suave); border: 0; } .sjw-fi--mayorista .sjw-fi-caja .sjw-fi-tienda { background: var(--f-base); } .sjw-fi--mayorista .sjw-fi-caja .sjw-fi-envio { background: var(--f-base); }
.sjw-fi--mayorista .sjw-fi-wa { background: #1da851; border-color: #1da851; color: #fff; } .sjw-fi--mayorista .sjw-fi-wa:hover { filter: brightness(1.08); }

/* --- editorial: galeria ancha y columna fija --- */
.sjw-fi--editorial .sjw-fi-top { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 3rem; }
.sjw-fi--editorial .sjw-fi-info { padding-top: 1rem; } .sjw-fi--sticky.sjw-fi--editorial .sjw-fi-info { position: sticky; top: 6.5rem; }
.sjw-fi--editorial .sjw-fi-titulo { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); letter-spacing: .02em; text-transform: uppercase; font-weight: 400; }

/* los avisos que ya agregan otros modulos se esconden cuando la variante trae el suyo */
.sjw-fi--marketplace .sjw-wa-enlace, .sjw-fi--mayorista .sjw-wa-enlace { display: none; }

/* ---- tablet y celular ---- */
@media (max-width: 1000px) {
	.sjw-fi--marketplace .sjw-fi-top, .sjw-fi--mayorista .sjw-fi-top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.sjw-fi--marketplace .sjw-fi-caja, .sjw-fi--mayorista .sjw-fi-caja { grid-column: 1 / -1; position: static !important; }
}
@media (max-width: 781px) {
	.sjw-fi-top, .sjw-fi--boutique .sjw-fi-top, .sjw-fi--rapida .sjw-fi-top, .sjw-fi--editorial .sjw-fi-top, .sjw-fi--marketplace .sjw-fi-top, .sjw-fi--mayorista .sjw-fi-top { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
	.sjw-fi--sticky .sjw-fi-info, .sjw-fi--sticky .sjw-fi-caja { position: static !important; }
	.sjw-fi-g--izq .woocommerce-product-gallery { grid-template-columns: minmax(0, 1fr); } .sjw-fi-g--izq .flex-viewport, .sjw-fi-g--izq .flex-control-thumbs { grid-column: 1; }
	.sjw-fi-g--izq .flex-control-thumbs { grid-row: 2; flex-direction: row; max-height: none; overflow-x: auto; overflow-y: hidden; } .sjw-fi-g--izq .flex-control-thumbs li { flex: 0 0 calc(var(--fi-mini, 4.6rem) * .8); }
	.sjw-fi-carac dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sjw-fi-rel--fila .sjw-cat-card { flex-basis: 42%; }
	.sjw-fi-detalles { margin-top: 2rem; }
}

/* boton de zoom de WooCommerce como boton redondo (el icono va por CSS) */
.sjw-fi-galeria .woocommerce-product-gallery { position: relative; }
.sjw-fi-galeria .woocommerce-product-gallery__trigger { position: absolute; top: .6rem; right: .6rem; z-index: 6; display: flex; align-items: center; justify-content: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: rgba(255, 255, 255, .92); box-shadow: 0 1px 6px rgba(0, 0, 0, .2); font-size: 0; text-decoration: none; }
.sjw-fi-galeria .woocommerce-product-gallery__trigger::before { content: ''; width: 1.1rem; height: 1.1rem; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E") center / contain no-repeat; }
.sjw-fi-galeria .woocommerce-product-gallery__trigger span { display: none; }
.sjw-fi-g--izq .woocommerce-product-gallery__trigger { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; position: relative; top: .6rem; right: .6rem; margin-bottom: -2.3rem; }

/* formulario de compra dentro de la caja: una columna, sin desbordes */
.sjw-fi-caja form.cart, .sjw-fi-caja .variations_form { margin: 0; }
.sjw-fi-caja table.variations { margin: 0 0 .6rem; } .sjw-fi-caja table.variations th, .sjw-fi-caja table.variations td { padding: 0 0 .35rem; }
.sjw-fi-caja .woocommerce-variation-add-to-cart, .sjw-fi-caja form.cart:not(.variations_form) { display: flex; flex-direction: column; align-items: stretch; gap: .6rem; }
.sjw-fi-caja .single_add_to_cart_button { flex: none; width: 100%; box-sizing: border-box; white-space: normal; border-radius: var(--sjw-b-radio, 999px); }
.sjw-fi-caja .quantity input.qty { width: 100%; }
.sjw-fi-caja .sjw-envio { font-size: .85rem; }
.sjw-fi-caja .sjw-deseo { position: static; width: 100%; border-radius: var(--sjw-b-radio, 999px); }
.sjw-fi--sticky .sjw-fi-caja { max-height: calc(100vh - 7.5rem); overflow-y: auto; scrollbar-width: thin; }
.sjw-fi-caja .sjw-muestras { gap: .35rem; } .sjw-fi-caja table.variations tr { display: block; margin-bottom: .35rem; }
.sjw-fi--sticky.sjw-fi--editorial .sjw-fi-info { max-height: calc(100vh - 8rem); overflow-y: auto; scrollbar-width: thin; }
body .sjw-fi-mini-redonda .flex-control-thumbs img { border-radius: 50% !important; }

/* medida propia de las miniaturas (ancho y alto en pixeles) */
.sjw-fi-galeria .flex-control-thumbs img { height: var(--fi-mini-h, auto); }
.sjw-fi-mini-fija .sjw-fi-galeria .flex-control-thumbs { grid-template-columns: repeat(auto-fill, var(--fi-mini)); justify-content: start; }
@media (max-width: 781px) { .sjw-fi-galeria .flex-control-thumbs img { height: calc(var(--fi-mini-h, 100px) * .8); } }
.sjw-fi-galeria .flex-control-thumbs img { box-sizing: border-box; }

/* la galeria llena su columna (WooCommerce la deja al 67 %) */
.sjw-fi-galeria .woocommerce-product-gallery { width: 100% !important; max-width: none !important; float: none !important; }

/* ---- Espaciado entre lineas del formulario y la informacion ---- */
.sjw-fi-esp-compacto { --fi-lh: 1.45; --fi-e1: .35rem; --fi-e2: .6rem; --fi-e3: .9rem; --fi-sw: 2.1rem; --fi-col: 1.75rem; }
.sjw-fi-esp-normal   { --fi-lh: 1.6;  --fi-e1: .5rem;  --fi-e2: .9rem; --fi-e3: 1.4rem; --fi-sw: 2.4rem; --fi-col: 2.2rem; }
.sjw-fi-esp-amplio   { --fi-lh: 1.75; --fi-e1: .7rem;  --fi-e2: 1.2rem; --fi-e3: 1.9rem; --fi-sw: 2.6rem; --fi-col: 2.5rem; }
.sjw-fi .sjw-fi-info, .sjw-fi .sjw-fi-caja { line-height: var(--fi-lh, 1.5); }
.sjw-fi .sjw-fi-titulo { margin-bottom: var(--fi-e1, .35rem); line-height: 1.15; }
.sjw-fi .sjw-fi-meta { margin-bottom: var(--fi-e2, .6rem); }
.sjw-fi .sjw-fi-precio { margin-bottom: var(--fi-e2, .6rem); }
.sjw-fi .sjw-fi-resumen { margin-bottom: var(--fi-e2, .6rem); } .sjw-fi .sjw-fi-resumen p { margin-bottom: var(--fi-e1, .35rem); }
.sjw-fi .sjw-fi-envio { margin-bottom: var(--fi-e2, .6rem); padding-block: calc(var(--fi-e1, .35rem) + .15rem); }
.sjw-fi .sjw-fi-prot { margin-block: var(--fi-e2, .6rem); gap: var(--fi-e1, .35rem); }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) table.variations { margin: 0 0 var(--fi-e2, .6rem); }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) table.variations :is(th, td) { padding: 0 0 var(--fi-e2, .6rem); }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) table.variations th label { margin-bottom: var(--fi-e1, .35rem); }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) .sjw-muestras { margin: 0 0 var(--fi-e1, .35rem); gap: var(--fi-e1, .35rem); }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) .sjw-muestra { min-width: var(--fi-sw, 2.1rem); min-height: var(--fi-sw, 2.1rem); }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) .sjw-color .sjw-muestra { width: var(--fi-col, 1.75rem); height: var(--fi-col, 1.75rem); min-width: 0; min-height: 0; }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) .reset_variations { display: inline-block; margin: 0; line-height: 1.2; }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) .single_variation_wrap { margin-top: var(--fi-e1, .35rem); }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) .woocommerce-variation-add-to-cart { gap: var(--fi-e2, .6rem); margin-top: var(--fi-e1, .35rem); }
.sjw-fi :is(.sjw-fi-info, .sjw-fi-caja) :is(.sjw-guia-abrir, .sjw-guia-modelo, .sjw-modelo, .sjw-wa-enlace, .sjw-envio, .sjw-gratis) { margin-block: var(--fi-e1, .35rem); line-height: var(--fi-lh, 1.45); }
.sjw-fi .sjw-fi-skus { margin-top: var(--fi-e2, .6rem); }
.sjw-fi .sjw-fi-carac, .sjw-fi .sjw-fi-mayoreo { margin-block: var(--fi-e3, .9rem); }
.sjw-fi-galeria .wp-block-woocommerce-product-image-gallery { width: 100% !important; max-width: none !important; }
