/* Factor ph Positivo — solo lo que theme.json no puede expresar.
   Todos los colores salen de la paleta: si cambiás la paleta en
   Apariencia → Editor → Estilos, esto se actualiza solo. */

:root {
	--fp-fondo: var(--wp--preset--color--fondo, #FBF8F3);
	--fp-tinta: var(--wp--preset--color--tinta, #17150F);
	--fp-acento: var(--wp--preset--color--acento, #D8400F);
	--fp-senal: var(--wp--preset--color--senal, #FFC400);
	--fp-linea: var(--wp--preset--color--linea, #E4DED2);
	--fp-apagado: var(--wp--preset--color--apagado, #8B8477);
	--fp-dato: var(--wp--preset--font-family--dato, 'IBM Plex Mono', monospace);
}

/* ---------- Carrusel de banners ---------- */
.fp-carrusel { position: relative; overflow: hidden; }
.fp-carrusel > .wp-block-group,
.fp-carrusel > .wp-block-cover { transition: opacity 700ms ease; }
.fp-carrusel[data-listo="1"] > .wp-block-cover { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.fp-carrusel[data-listo="1"] > .wp-block-cover:first-child { position: relative; }
.fp-carrusel[data-listo="1"] > .wp-block-cover.fp-activo { opacity: 1; pointer-events: auto; }
.fp-carrusel__puntos {
	position: absolute; left: 1.15rem; bottom: 1.4rem; z-index: 5;
	display: flex; gap: 7px;
}
.fp-carrusel__punto {
	width: 8px; height: 8px; border: 0; padding: 0; cursor: pointer;
	background: rgba(251, 248, 243, 0.55);
	transition: width 300ms ease, background 300ms ease;
}
.fp-carrusel__punto[aria-current="true"] { width: 22px; background: var(--fp-senal); }
.fp-carrusel__barra { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(251,248,243,0.25); z-index: 5; }
.fp-carrusel__barra span { display: block; height: 100%; width: 0; background: var(--fp-acento); }

/* ---------- Franja de promo ---------- */
.fp-promo {
	display: flex; align-items: center; gap: 0.9rem;
	background: var(--fp-senal); color: var(--fp-tinta);
	padding: 0.9rem 1rem;
}
.fp-promo__cifra { font-family: var(--fp-dato); font-size: 1.7rem; font-weight: 600; line-height: 1; }
.fp-promo__linea { width: 1px; align-self: stretch; background: rgba(23,21,15,0.25); }
.fp-promo__titulo { font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.82rem; }
.fp-promo__pie { font-family: var(--fp-dato); font-size: 0.68rem; margin-top: 3px; opacity: 0.72; }

/* ---------- Etiquetas de dato (ISO, formato, SKU) ---------- */
.fp-dato { font-family: var(--fp-dato); font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--fp-apagado); }
.fp-etiqueta { display: inline-block; background: var(--fp-senal); color: var(--fp-tinta); font-family: var(--fp-dato); font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; padding: 4px 8px; }

/* ---------- Grilla y tarjetas de WooCommerce ---------- */
.woocommerce ul.products { display: grid; gap: 0.9rem; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	background: var(--wp--preset--color--blanco, #fff);
	border: 1px solid var(--fp-linea);
	display: flex; flex-direction: column;
	padding: 0;
}
.woocommerce ul.products li.product a img { margin: 0; }
.woocommerce ul.products li.product > * { padding-left: 0.7rem; padding-right: 0.7rem; }
.woocommerce ul.products li.product > a:first-of-type,
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link > img { padding: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.85rem !important; font-weight: 700; line-height: 1.25; padding-top: 0.6rem;
}
.woocommerce ul.products li.product .price {
	font-family: var(--fp-dato); font-size: 0.95rem !important; font-weight: 600; color: var(--fp-tinta) !important;
}
.woocommerce ul.products li.product .button {
	margin-top: auto; margin-bottom: 0.7rem; text-align: center; border-radius: 0;
	background: var(--fp-acento); color: var(--fp-fondo);
	font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;
	padding: 0.75rem 1rem;
}
.woocommerce ul.products li.product .button:hover { background: var(--fp-tinta); color: var(--fp-fondo); }
.woocommerce span.onsale {
	background: var(--fp-tinta); color: var(--fp-fondo); border-radius: 0;
	font-family: var(--fp-dato); font-size: 0.62rem; letter-spacing: 0.14em; min-height: 0; min-width: 0;
	padding: 4px 7px; top: 0; left: 0; right: auto; margin: 0; line-height: 1.4;
}
@media (min-width: 601px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 981px) { .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 600px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Ficha de producto ---------- */
.woocommerce div.product .product_title { font-family: var(--wp--preset--font-family--titulo); font-weight: 900; letter-spacing: -0.02em; }
.woocommerce div.product p.price, .woocommerce div.product span.price {
	font-family: var(--fp-dato); font-weight: 600; color: var(--fp-tinta);
}
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
	border-radius: 0; background: var(--fp-acento); color: var(--fp-fondo);
	font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; padding: 1rem 1.4rem;
}
.woocommerce div.product form.cart .button:hover { background: var(--fp-tinta); }
/* Ficha técnica arriba: atributos como tabla clara */
.woocommerce div.product .woocommerce-product-attributes { width: 100%; border-collapse: collapse; margin: 1.2rem 0; }
.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td {
	border: 0; border-bottom: 1px solid var(--fp-linea); padding: 0.7rem 0; background: none;
	font-family: var(--fp-dato); font-size: 0.78rem;
}
.woocommerce div.product .woocommerce-product-attributes th {
	text-align: left; text-transform: uppercase; letter-spacing: 0.08em; color: var(--fp-apagado); font-weight: 400;
}
.woocommerce div.product .woocommerce-product-attributes td { text-align: right; font-weight: 500; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 0; border-bottom: 2px solid transparent; background: none; border-radius: 0;
	font-family: var(--fp-dato); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--fp-acento); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

/* ---------- Carrito y checkout ---------- */
.woocommerce table.shop_table { border: 1px solid var(--fp-linea); border-radius: 0; }
.woocommerce table.shop_table th { font-family: var(--fp-dato); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fp-apagado); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { font-size: 1.1rem; text-transform: uppercase; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt {
	border-radius: 0; background: var(--fp-acento); color: var(--fp-fondo);
	font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: var(--fp-tinta); color: var(--fp-fondo);
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .select2-container .select2-selection--single {
	border: 1px solid var(--fp-linea); border-radius: 0; padding: 0.8rem; background: var(--wp--preset--color--blanco, #fff);
}
.woocommerce-message, .woocommerce-info { border-top-color: var(--fp-acento); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--fp-acento); }

/* ---------- Filtros del catálogo (widgets de Woo) ---------- */
.wc-block-attribute-filter, .wc-block-price-filter, .widget_layered_nav ul { font-size: 0.85rem; }
.wc-block-components-filter-submit-button, .wc-block-components-price-slider__button {
	border-radius: 0; background: var(--fp-tinta); color: var(--fp-fondo);
}

/* ---------- Encabezado y navegación ---------- */
.fp-tira-superior {
	background: var(--fp-tinta); color: var(--fp-fondo);
	font-family: var(--fp-dato); font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase;
	text-align: center; padding: 0.55rem 0.75rem;
}
.fp-chips { display: flex; gap: 0.5rem; overflow-x: auto; padding: 0.7rem 0; }
.fp-chips a {
	flex: 0 0 auto; display: grid; place-items: center; height: 34px; padding: 0 0.85rem;
	border: 1px solid var(--fp-linea); color: var(--fp-tinta);
	font-family: var(--fp-dato); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase;
}
.fp-chips a:hover, .fp-chips a.fp-activo { background: var(--fp-tinta); color: var(--fp-fondo); border-color: var(--fp-tinta); }

/* ---------- Marcas ---------- */
.fp-marcas { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
.fp-marcas a {
	height: 64px; display: grid; place-items: center;
	background: var(--fp-fondo); border: 1px solid var(--fp-linea);
	font-family: var(--fp-dato); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fp-tinta);
}
@media (min-width: 782px) { .fp-marcas { grid-template-columns: repeat(4, 1fr); } }
