/*
Theme Name: Sentiel
Theme URI: https://sentiel.dsu.mx
Author: Digital Space United
Author URI: https://digitalspace.mx
Description: Tema a la medida de Sentiel. Block theme propio, sin dependencias.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
License: Propietario
Text Domain: sentiel
*/

/*
 * Lo que theme.json no puede expresar. Todos los valores salen de los tokens de theme.json
 * (var(--wp--preset--…)); aquí no van colores ni tamaños literales.
 * Lo que sigue es soporte (foco, encabezado, formulario, pie…). El diseño propio de la marca
 * (hero, secciones, componentes) se agrega abajo de "Componentes de la marca".
 */

:root {
	--sentiel-bg: var(--wp--preset--color--bg);
	--sentiel-on: #fff; /* texto sobre fondos oscuros o rojos: no cambia con el modo noche */
	--sentiel-surface: var(--wp--preset--color--surface);
	--sentiel-surface-2: var(--wp--preset--color--surface-2);
	--sentiel-line: var(--wp--preset--color--line);
	--sentiel-text: var(--wp--preset--color--text);
	--sentiel-muted: var(--wp--preset--color--text-muted);
	--sentiel-primary: var(--wp--preset--color--primary);
	--sentiel-primary-soft: var(--wp--preset--color--primary-soft);
	--sentiel-ease: var(--wp--custom--transition);
	--sentiel-r-sm: var(--wp--custom--radius--sm);
	--sentiel-r-md: var(--wp--custom--radius--md);
	--sentiel-r-lg: var(--wp--custom--radius--lg);
	scroll-padding-top: calc(var(--wp--custom--header-height) + 1rem);
}

html { -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body { overflow-x: clip; }
::selection { background: var(--sentiel-primary); color: var(--sentiel-on); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--sentiel-primary);
	outline-offset: 3px;
	border-radius: 4px;
}

a { text-decoration-thickness: 1px; text-underline-offset: 0.2em; transition: color var(--sentiel-ease); }
p, li { text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; }
img, svg { max-width: 100%; height: auto; }

.skip-link.screen-reader-text:focus {
	background: var(--sentiel-primary); color: var(--sentiel-on); padding: .75rem 1rem; border-radius: var(--sentiel-r-sm);
}

/* ---------- Encabezado ---------- */

.sentiel-header {
	position: sticky; top: 0; z-index: 50;
	min-height: var(--wp--custom--header-height);
	background: var(--sentiel-bg);
	border-bottom: 1px solid var(--sentiel-line);
}
.admin-bar .sentiel-header { top: var(--wp-admin--admin-bar--height, 0); }
.sentiel-header .wp-block-site-title a { text-decoration: none; color: var(--sentiel-text); }
.sentiel-header .wp-block-navigation a { text-decoration: none; color: var(--sentiel-muted); }
.sentiel-header .wp-block-navigation a:hover,
.sentiel-header .wp-block-navigation .current-menu-item > a { color: var(--sentiel-text); }
.sentiel-header .wp-block-button__link { padding: .5rem 1rem; }
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--sentiel-bg) !important; color: var(--sentiel-text) !important;
	padding: 1.25rem clamp(1rem, 4vw, 2.5rem) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: var(--wp--preset--font-size--xl); }
@media (max-width: 599px) { .sentiel-header .sentiel-header-cta { display: none; } }

/* ---------- Utilidades tipográficas ---------- */

.sentiel-eyebrow {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--sentiel-muted);
}
.sentiel-lede { font-size: var(--wp--preset--font-size--lg); color: var(--sentiel-muted); line-height: 1.5; max-width: 40ch; }
.sentiel-measure { max-width: 62ch; }

/* Botón secundario (estilo de bloque "Contorno") */
.wp-block-button.is-style-sentiel-ghost .wp-block-button__link {
	background: transparent; color: var(--sentiel-text);
	box-shadow: inset 0 0 0 1px var(--sentiel-line);
}
.wp-block-button.is-style-sentiel-ghost .wp-block-button__link:hover { box-shadow: inset 0 0 0 1px var(--sentiel-text); background: transparent; color: var(--sentiel-text); }
.wp-block-button__link { transition: background-color var(--sentiel-ease), box-shadow var(--sentiel-ease), color var(--sentiel-ease); }

/* Panel (estilo de bloque para core/group) */
.sentiel-panel, .wp-block-group.is-style-sentiel-panel {
	background: var(--sentiel-surface);
	border: 1px solid var(--sentiel-line);
	border-radius: var(--sentiel-r-lg);
}

/* Lista con marcador propio */
.sentiel-ticks { list-style: none; padding-left: 0; }
.sentiel-ticks li { position: relative; padding-left: 1.5rem; margin-block: .5rem; }
.sentiel-ticks li::before {
	content: ""; position: absolute; left: 0; top: .62em; width: .5rem; height: .5rem;
	border: 1.5px solid var(--sentiel-primary); border-radius: 50%;
}

/* ---------- Preguntas frecuentes (core/details) ---------- */

.wp-block-details { padding-block: 1.1rem; }
.wp-block-details summary { cursor: pointer; color: var(--sentiel-text); font-weight: 500; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; color: var(--sentiel-muted); transition: transform var(--sentiel-ease); }
.wp-block-details[open] summary::after { transform: rotate(45deg); color: var(--sentiel-primary); }
.wp-block-details > :not(summary) { margin-top: .75rem; max-width: 64ch; }

/* ---------- Contenido largo (blog, legales) ---------- */

.sentiel-prose > * + * { margin-block-start: 1.1em; }
.sentiel-prose h2 { margin-block-start: 2.2em; font-size: var(--wp--preset--font-size--xl); }
.sentiel-prose h3 { margin-block-start: 1.8em; font-size: var(--wp--preset--font-size--lg); }
.sentiel-prose li + li { margin-top: .35em; }
.sentiel-prose table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--sm); }
.sentiel-prose th, .sentiel-prose td { border-bottom: 1px solid var(--sentiel-line); padding: .65rem .5rem; text-align: left; vertical-align: top; }
.sentiel-prose th { font-weight: 600; }

.sentiel-post-card { border-top: 1px solid var(--sentiel-line); padding-block: 1.75rem; }
.sentiel-post-card .wp-block-post-title a { text-decoration: none; }
.sentiel-post-card .wp-block-post-title a:hover { color: var(--sentiel-primary); }

/* ---------- Formulario ---------- */

.sentiel-form { display: grid; gap: 1.1rem; }
.sentiel-form .row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1.1rem; }
.sentiel-form label { display: block; font-size: var(--wp--preset--font-size--sm); color: var(--sentiel-text); margin-bottom: .4rem; font-weight: 500; }
.sentiel-form label small { color: var(--sentiel-muted); font-weight: 400; }
.sentiel-form input, .sentiel-form select, .sentiel-form textarea {
	width: 100%; box-sizing: border-box;
	font: inherit; font-size: 1rem; color: var(--sentiel-text);
	background: var(--sentiel-bg); border: 1px solid var(--sentiel-line); border-radius: var(--sentiel-r-sm);
	padding: .8rem .9rem; transition: border-color var(--sentiel-ease);
}
.sentiel-form input:hover, .sentiel-form select:hover, .sentiel-form textarea:hover { border-color: var(--sentiel-muted); }
.sentiel-form input:focus, .sentiel-form select:focus, .sentiel-form textarea:focus { outline: none; border-color: var(--sentiel-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sentiel-primary) 22%, transparent); }
.sentiel-form textarea { min-height: 9rem; resize: vertical; }
.sentiel-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--sentiel-muted) 50%), linear-gradient(135deg, var(--sentiel-muted) 50%, transparent 50%); background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 2.5rem; }
.sentiel-form .consent { display: flex; gap: .65rem; align-items: flex-start; font-size: var(--wp--preset--font-size--sm); color: var(--sentiel-muted); }
.sentiel-form .consent input { width: 1.1rem; height: 1.1rem; margin-top: .2rem; accent-color: var(--sentiel-primary); flex: none; }
.sentiel-form .hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.sentiel-form button {
	justify-self: start; cursor: pointer; border: 0; border-radius: var(--sentiel-r-sm);
	background: var(--sentiel-primary); color: var(--sentiel-on); font: inherit; font-weight: 600; font-size: var(--wp--preset--font-size--sm);
	padding: .85rem 1.5rem; transition: background-color var(--sentiel-ease);
}
.sentiel-form button:hover { background: var(--sentiel-primary-soft); }
.sentiel-notice { border-radius: var(--sentiel-r-md); padding: 1rem 1.25rem; border: 1px solid var(--sentiel-line); background: var(--sentiel-surface); }
.sentiel-notice--ok { border-color: var(--sentiel-primary); }
.sentiel-notice--error { border-color: color-mix(in srgb, var(--sentiel-text) 60%, var(--sentiel-line)); }

/* ---------- Contacto directo ---------- */

.sentiel-channels { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--sentiel-line); }
.sentiel-channels li { margin: 0; border-bottom: 1px solid var(--sentiel-line); }
.sentiel-channels a, .sentiel-channels .static { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; padding: 1.1rem 0; text-decoration: none; color: var(--sentiel-text); }
.sentiel-channels .k { font-size: var(--wp--preset--font-size--xs); color: var(--sentiel-muted); text-transform: uppercase; letter-spacing: .06em; }
.sentiel-channels a:hover .v { color: var(--sentiel-primary); }
.sentiel-social { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.sentiel-social li { margin: 0; }

/* Botón flotante de WhatsApp: discreto, sin animación */
.sentiel-wa {
	position: fixed; right: clamp(1rem, 3vw, 1.75rem); bottom: clamp(1rem, 3vw, 1.75rem); z-index: 40;
	display: inline-flex; align-items: center; gap: .55rem;
	padding: .7rem 1rem .7rem .8rem; border-radius: 999px;
	background: var(--sentiel-surface); color: var(--sentiel-text); text-decoration: none; font-size: var(--wp--preset--font-size--sm); font-weight: 500;
	border: 1px solid var(--sentiel-line);
	box-shadow: 0 10px 30px -12px rgb(0 0 0 / .35);
	transition: border-color var(--sentiel-ease);
}
.sentiel-wa:hover { border-color: #25d366; color: var(--sentiel-text); }
.sentiel-wa svg { width: 20px; height: 20px; color: #25d366; flex: none; }
@media (max-width: 599px) { .sentiel-wa span { display: none; } .sentiel-wa { padding: .8rem; } }

/* ---------- Pie ---------- */

.sentiel-footer a { color: var(--sentiel-muted); text-decoration: none; }
.sentiel-footer a:hover { color: var(--sentiel-text); }
.sentiel-footer ul { list-style: none; padding: 0; margin: 0; }
.sentiel-footer li { margin: .45rem 0; font-size: var(--wp--preset--font-size--sm); }
.sentiel-footer .wp-block-site-title a { color: var(--sentiel-text); text-decoration: none; }

/* ---------- 404 ---------- */
.sentiel-404 { color: var(--sentiel-primary); }

/* ---------- Movimiento ---------- */

@media (prefers-reduced-motion: no-preference) {
	.sentiel-reveal { animation: sentiel-in .7s cubic-bezier(.2,.6,.2,1) both; }
	@keyframes sentiel-in { from { opacity: 0; transform: translateY(10px); } }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0s !important; animation: none !important; scroll-behavior: auto !important; }
}

@media print {
	.sentiel-header, .sentiel-footer, .sentiel-wa, .sentiel-cta { display: none !important; }
	body { background: #fff; color: #000; }
}

/* ---------- Componentes de la marca ---------- */

:root {
	--sentiel-ink: var(--wp--preset--color--ink);
	--sentiel-ink-muted: var(--wp--preset--color--ink-muted);
	--sentiel-red-ink: var(--wp--preset--color--primary-on-ink);
	--sentiel-display: var(--wp--preset--font-family--display);
}
.sentiel-eyebrow {
	font-family: var(--sentiel-display); font-weight: 600; font-size: var(--wp--preset--font-size--xs);
	letter-spacing: .1em; text-transform: uppercase; color: var(--sentiel-primary);
}

/* Encabezado */
.sentiel-header { position: sticky; top: 0; z-index: 60; border-bottom: 0; background: var(--sentiel-ink); }
.admin-bar .sentiel-header { top: var(--wp-admin--admin-bar--height, 0); }
.sentiel-header__top { gap: clamp(.75rem, 2vw, 2rem); padding-block: .7rem; }
.sentiel-brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--sentiel-on); flex: none; }
.sentiel-brand img { width: 26px; height: 36px; }
.sentiel-brand span { font-family: var(--sentiel-display); font-weight: 700; font-size: 1.3rem; letter-spacing: .14em; text-transform: uppercase; }
.sentiel-search { flex: 1 1 auto; max-width: 720px; margin: 0; }
.sentiel-search .wp-block-search__inside-wrapper { border: 0; padding: 0; border-radius: var(--sentiel-r-md); overflow: hidden; background: var(--sentiel-bg); }
.sentiel-search .wp-block-search__input { border: 0; padding: .7rem 1rem; font-size: 1rem; min-width: 0; color: var(--sentiel-text); background: var(--sentiel-bg); }
.sentiel-search .wp-block-search__button { margin: 0; border-radius: 0; background: var(--sentiel-primary); color: var(--sentiel-on); padding: 0 1rem; }
.sentiel-search .wp-block-search__button:hover { background: var(--sentiel-primary-soft); }
.sentiel-search .wp-block-search__button svg { fill: currentColor; width: 22px; height: 22px; }
.sentiel-header__tools { gap: 1.25rem; flex: none; }
.sentiel-header__tools a, .sentiel-header__tools button { color: var(--sentiel-on) !important; }
.sentiel-header .wc-block-mini-cart__button { padding: .25rem; }
.sentiel-header .wc-block-mini-cart__badge { background: var(--sentiel-primary); color: var(--sentiel-on); border: 0; }
.sentiel-header__nav { gap: 1.75rem; padding-block: 0 .55rem; font-size: var(--wp--preset--font-size--sm); }
.sentiel-nav a { color: var(--sentiel-ink-muted) !important; text-decoration: none; }
.sentiel-nav a:hover { color: var(--sentiel-on) !important; }
@media (max-width: 1000px) {
	.sentiel-header__top { flex-wrap: wrap !important; }
	.sentiel-search { order: 3; flex-basis: 100%; max-width: none; }
}
@media (max-width: 781px) {
	.sentiel-header .wc-block-customer-account__account-label { display: none; }
	/* Con sesión WooCommerce 11 pinta "Mi Cuenta" fuera de esa clase: se deja solo el ícono. */
	.sentiel-header .wp-block-woocommerce-customer-account :is(a, button) { font-size: 0 !important; gap: 0 !important; }
	.sentiel-header .wp-block-woocommerce-customer-account svg { width: 22px; height: 22px; }
	.sentiel-header__nav { flex-wrap: nowrap !important; white-space: nowrap; justify-content: space-between; }
}
@media (max-width: 420px) {
	.sentiel-header__tools { gap: .7rem; }
}

/* Menú de categorías */
.sentiel-cats > summary {
	list-style: none; cursor: pointer; color: var(--sentiel-on); font-weight: 600;
	display: inline-flex; align-items: center; gap: .5rem;
}
.sentiel-cats > summary::-webkit-details-marker { display: none; }
.sentiel-cats > summary::before { content: ""; width: 14px; height: 10px; background: linear-gradient(currentColor 0 0) top/100% 2px no-repeat, linear-gradient(currentColor 0 0) center/100% 2px no-repeat, linear-gradient(currentColor 0 0) bottom/100% 2px no-repeat; }
.sentiel-cats__panel {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 70;
	background: var(--sentiel-bg); color: var(--sentiel-text);
	border-top: 3px solid var(--sentiel-primary); box-shadow: 0 24px 40px -24px rgb(0 0 0 / .45);
	max-height: min(70vh, 640px); overflow: auto;
	padding: 1.5rem max(clamp(1rem, 4vw, 2.5rem), calc((100vw - 1680px) / 2));
}
/* (estilos del panel de categorías: ver "Menú de categorías" al final) */

/* Secciones */
.wp-site-blocks > * + * { margin-block-start: 0; }
.sentiel-hero > * { margin-left: 0 !important; }

.sentiel-dark { background: var(--sentiel-ink); color: var(--sentiel-ink-muted); }
.sentiel-dark h1, .sentiel-dark h2, .sentiel-dark h3, .sentiel-dark strong { color: var(--sentiel-on); }
.sentiel-dark a:not(.wp-element-button) { color: var(--sentiel-on); }
.sentiel-hero h1 { font-size: var(--wp--preset--font-size--xxxl); max-width: 18ch; }
.sentiel-hero .sentiel-eyebrow { color: var(--sentiel-red-ink); }
.sentiel-hero .sentiel-search { max-width: 760px; margin-top: var(--wp--preset--spacing--30); }
.sentiel-hero .sentiel-search .wp-block-search__input { padding: 1rem 1.2rem; font-size: 1.125rem; }
.sentiel-hints { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 1rem 0 0; font-size: var(--wp--preset--font-size--sm); }
.sentiel-hints a { display: inline-block; padding: .3rem .75rem; border: 1px solid #2c3036; border-radius: 999px; text-decoration: none; color: var(--sentiel-ink-muted) !important; }
.sentiel-hints a:hover { border-color: var(--sentiel-red-ink); color: var(--sentiel-on) !important; }

/* Retícula de categorías raíz */
.sentiel-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--sentiel-line); border: 1px solid var(--sentiel-line); }
.sentiel-grid__item { margin: 0; background: var(--sentiel-bg); }
.sentiel-grid__item--big { grid-column: span 2; }
.sentiel-grid a { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; gap: .2rem 1rem; min-height: 132px; height: 100%; padding: 1.25rem; text-decoration: none; color: var(--sentiel-text); transition: background-color var(--sentiel-ease); }
.sentiel-grid a:hover { background: var(--sentiel-surface); }
.sentiel-grid__name { font-family: var(--sentiel-display); font-weight: 700; font-size: var(--wp--preset--font-size--lg); line-height: 1.15; }
.sentiel-grid__item--big .sentiel-grid__name { font-size: var(--wp--preset--font-size--xl); }
.sentiel-grid__meta { grid-row: 2; font-size: var(--wp--preset--font-size--xs); color: var(--sentiel-muted); }
.sentiel-grid__img { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.sentiel-grid__img img { width: 96px; height: 96px; object-fit: contain; }
.sentiel-grid__item--big .sentiel-grid__img img { width: 140px; height: 140px; }
@media (max-width: 899px) { .sentiel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .sentiel-grid__img img, .sentiel-grid__item--big .sentiel-grid__img img { width: 72px; height: 72px; } }

/* Franja de hechos */
.sentiel-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); border-block: 1px solid var(--sentiel-line); }
.sentiel-facts li { margin: 0; padding: 1.25rem 1.25rem 1.25rem 0; }
.sentiel-facts li + li { padding-left: 1.25rem; border-left: 1px solid var(--sentiel-line); }
.sentiel-facts strong { display: block; font-family: var(--sentiel-display); font-size: var(--wp--preset--font-size--lg); color: var(--sentiel-text); }
.sentiel-facts span { display: block; margin-top: .2rem; font-size: var(--wp--preset--font-size--sm); color: var(--sentiel-muted); }
@media (max-width: 720px) { .sentiel-facts li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--sentiel-line); } }

/* Pasos */
.sentiel-steps { counter-reset: p; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1.5rem; }
.sentiel-steps li { counter-increment: p; margin: 0; padding-top: 1rem; border-top: 2px solid var(--sentiel-text); }
.sentiel-steps li::before { content: counter(p, decimal-leading-zero); display: block; font-family: var(--sentiel-display); font-weight: 700; color: var(--sentiel-primary); margin-bottom: .5rem; }
.sentiel-steps strong { display: block; font-size: var(--wp--preset--font-size--lg); }
.sentiel-steps span { color: var(--sentiel-muted); font-size: var(--wp--preset--font-size--sm); }

/* Clientes */
.sentiel-clients { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; align-items: center; }
.sentiel-clients li { margin: 0; font-family: var(--sentiel-display); font-weight: 600; color: var(--sentiel-muted); font-size: var(--wp--preset--font-size--lg); }

/* Productos */
.sentiel-stock { margin: .25rem 0 0; font-size: var(--wp--preset--font-size--xs); font-weight: 600; display: inline-flex; align-items: center; gap: .35rem; }
.sentiel-stock::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; }
.sentiel-stock--disponible { color: #1d7a3e; }
.sentiel-stock--sobre-pedido { color: #8a5a00; }
.sentiel-stock--consultar { color: var(--sentiel-muted); }
.wc-block-product .wp-block-post-title, .products .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--sm) !important; font-weight: 500; line-height: 1.35; }
.wc-block-product .wp-block-post-title a { text-decoration: none; color: var(--sentiel-text); }
.wc-block-product .wp-block-post-title a:hover { color: var(--sentiel-primary); }
.wc-block-components-product-image img { aspect-ratio: 1; object-fit: contain; background: var(--sentiel-bg); }
.wc-block-components-product-price, .woocommerce .price { font-family: var(--sentiel-display); font-weight: 700; color: var(--sentiel-text); }
.woocommerce-price-suffix { font-family: var(--wp--preset--font-family--sans); font-weight: 400; font-size: .75em; color: var(--sentiel-muted); }
.wc-block-components-product-sale-badge, .onsale { background: var(--sentiel-primary); color: var(--sentiel-on); border: 0; }
.sentiel-aside { margin-top: 1.25rem; border: 1px solid var(--sentiel-line); border-radius: var(--sentiel-r-md); }
.sentiel-aside__row { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: .9rem 1rem; font-size: var(--wp--preset--font-size--sm); color: var(--sentiel-muted); }
.sentiel-aside__row + .sentiel-aside__row { border-top: 1px solid var(--sentiel-line); }
.sentiel-aside__row strong { color: var(--sentiel-text); }
@media (max-width: 520px) { .sentiel-aside__row { grid-template-columns: 1fr; gap: .25rem; } }
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--sm); }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { border-bottom: 1px solid var(--sentiel-line); padding: .6rem .5rem; text-align: left; }

/* Pie */
.sentiel-footer h2 { font-family: var(--sentiel-display); font-size: var(--wp--preset--font-size--sm); text-transform: uppercase; letter-spacing: .1em; color: var(--sentiel-on); }
.sentiel-footer a { color: var(--sentiel-ink-muted); text-decoration: none; }
.sentiel-footer a:hover { color: var(--sentiel-on); }
.sentiel-footer ul { list-style: none; padding: 0; margin: 0; }
.sentiel-footer li { margin: .4rem 0; font-size: var(--wp--preset--font-size--sm); }
.sentiel-footer .sentiel-channels, .sentiel-footer .sentiel-channels li { border: 0; }
.sentiel-footer .sentiel-channels a, .sentiel-footer .sentiel-channels .static { padding: .3rem 0; color: var(--sentiel-ink-muted); justify-content: flex-start; }
.sentiel-footer .sentiel-channels .k { min-width: 5.5rem; color: #8b9097; }
.sentiel-footer__legal { margin-top: var(--wp--preset--spacing--50); padding-top: var(--wp--preset--spacing--30); border-top: 1px solid #2a2e33; }
.sentiel-wa { background: var(--sentiel-ink); color: var(--sentiel-on); border-color: #2a2e33; }
.sentiel-wa:hover { color: var(--sentiel-on); }

/* Ajustes tras revisión */
.sentiel-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 520px) { .sentiel-steps { grid-template-columns: 1fr; } }
.sentiel-dark .sentiel-steps li { border-top-color: #2c3036; }
.sentiel-dark .sentiel-steps span, .sentiel-dark .has-text-muted-color { color: var(--sentiel-ink-muted) !important; }
@media (max-width: 781px) {
	.sentiel-header__nav { gap: 1.25rem; }
	.sentiel-nav .wp-block-navigation__container { flex-wrap: nowrap; gap: 1.25rem; }
}

/* Selector de moneda e IVA */
.sentiel-moneda { display: inline-flex; gap: .35rem; }
.sentiel-moneda select {
	appearance: none; background: transparent; color: var(--sentiel-on); border: 1px solid #3a3f46; border-radius: var(--sentiel-r-sm);
	font: inherit; font-size: var(--wp--preset--font-size--xs); padding: .3rem .5rem; cursor: pointer;
}
.sentiel-moneda select:hover, .sentiel-moneda select:focus { border-color: var(--sentiel-ink-muted); }
.sentiel-moneda option { color: var(--sentiel-text); }
@media (max-width: 520px) { .sentiel-moneda select { padding: .25rem .35rem; } }

/* Listado de productos: 4 columnas, texto a la izquierda */
.wc-block-product-template.columns-3, .wp-block-woocommerce-product-template.columns-3 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 899px) { .wc-block-product-template.columns-3, .wp-block-woocommerce-product-template.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.wc-block-product, .wc-block-product .wp-block-post-title, .wc-block-product .wc-block-components-product-price, .wc-block-product .wp-block-button { text-align: left !important; justify-content: flex-start; }
.wc-block-product .wc-block-components-product-image { margin-bottom: .75rem; }
.wc-block-product .wp-block-post-title { min-height: 3.6em; }
.wc-block-product .wp-block-button__link { width: 100%; }
/* Características en la ficha */
.wp-block-post-excerpt ul, .woocommerce-product-details__short-description ul { margin: 0; padding-left: 1.1rem; }
.wp-block-post-excerpt li, .woocommerce-product-details__short-description li { margin: .2rem 0; font-size: var(--wp--preset--font-size--sm); }

/* Ficha: títulos de SYSCOM son largos */
.single-product h1.wp-block-post-title { font-size: var(--wp--preset--font-size--xl); line-height: 1.2; }

.sentiel-stock--agotado { color: var(--sentiel-muted); }
.sentiel-recursos { list-style: none; padding: 0; }
.sentiel-recursos li { padding: .5rem 0; border-bottom: 1px solid var(--sentiel-line); }

/* QA: contraste de etiquetas sobre franjas oscuras */
.sentiel-dark .sentiel-eyebrow { color: var(--sentiel-red-ink); }

/* Ficha en móvil: SKU, categorías y marca en renglones */
@media (max-width: 600px) { .wp-block-woocommerce-product-meta .wp-block-group, .product_meta { flex-direction: column; align-items: flex-start; gap: .35rem; } }

.sentiel-moneda { align-items: center; }
.sentiel-tc { font-size: var(--wp--preset--font-size--xs); color: var(--sentiel-ink-muted); white-space: nowrap; margin-left: .25rem; }
.sentiel-tc abbr { text-decoration: none; }

/* Notas del plugin MSI y Stars en precios */
.dsu-msi-contado { display: block; margin-top: .35rem; font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--sm); font-weight: 500; color: var(--sentiel-text); }
.dsu-msi-contado .woocommerce-Price-amount { font-family: var(--sentiel-display); font-weight: 700; color: var(--sentiel-primary); }
.dsu-msi-badge { display: inline-block; margin-top: .4rem; padding: .15rem .5rem; border-radius: var(--sentiel-r-sm); background: var(--sentiel-ink); color: var(--sentiel-on); font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .02em; }
.wc-block-product .dsu-msi-contado { font-size: var(--wp--preset--font-size--xs); }

/* Navegación: submenú "Ayuda" (escritorio) y menú móvil (botón "Menú" en pantallas < 600 px; panel claro, ver "is-menu-open" arriba) */
.sentiel-nav .wp-block-navigation-item__content { padding-block: .2rem; }
.sentiel-nav .wp-block-navigation__submenu-icon { color: var(--sentiel-ink-muted); margin-left: .3rem; }
.sentiel-nav .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon { color: var(--sentiel-on); }
.sentiel-nav .wp-block-navigation__submenu-container {
	background: var(--sentiel-bg) !important; color: var(--sentiel-text) !important; border: 0 !important;
	border-top: 3px solid var(--sentiel-primary) !important; border-radius: 0 0 var(--sentiel-r-md) var(--sentiel-r-md);
	box-shadow: 0 24px 40px -24px rgb(0 0 0 / .45); padding: .4rem 0 !important; min-width: 230px !important; z-index: 70;
	top: calc(100% + .45rem) !important;
}
.sentiel-nav .wp-block-navigation__submenu-container a { color: var(--sentiel-text) !important; padding: .5rem 1.1rem !important; }
.sentiel-nav .wp-block-navigation__submenu-container a:hover,
.sentiel-nav .wp-block-navigation__submenu-container a:focus-visible { color: var(--sentiel-primary) !important; background: var(--sentiel-surface); }
@media (max-width: 599px) {
	.sentiel-nav .wp-block-navigation__responsive-container-open { color: var(--sentiel-on); display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; }
}
.sentiel-nav .wp-block-navigation__responsive-container-open::after { content: "Menú"; font-size: var(--wp--preset--font-size--sm); }
.sentiel-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem clamp(1rem, 4vw, 2.5rem) 2rem; }
.sentiel-nav .is-menu-open .wp-block-navigation__container { gap: 1.1rem !important; }
.sentiel-nav .is-menu-open .wp-block-navigation-item__content { color: var(--sentiel-text) !important; font-family: var(--sentiel-display); font-size: 1.2rem; font-weight: 600; }
.sentiel-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; box-shadow: none; border: 0 !important; padding: .35rem 0 0 1rem !important; min-width: 0 !important;
}
.sentiel-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--sentiel-muted) !important; font-family: inherit; font-size: 1rem; font-weight: 400; padding: .3rem 0 !important; background: none; }
/* La lupa de la galería de WooCommerce trae z-index 99 y quedaba encima de los menús del header (z 60). */
.woocommerce-product-gallery__trigger { z-index: 5 !important; }

/* Botón "copiar modelo" (ficha y tarjetas) */
.sentiel-copiar {
	display: inline-flex; align-items: center; justify-content: center; gap: .25rem; vertical-align: middle; margin-left: .3rem; padding: .15rem .25rem;
	min-width: 24px; min-height: 24px;
	border: 0; border-radius: var(--sentiel-r-sm); background: transparent; color: var(--sentiel-muted); cursor: pointer; line-height: 1;
}
.sentiel-copiar:hover, .sentiel-copiar:focus-visible { color: var(--sentiel-primary); background: var(--sentiel-surface); }
.sentiel-copiar.is-ok { color: #1d7a3e; }
.sentiel-copiar__ok { font-size: var(--wp--preset--font-size--xs); font-weight: 600; }
.sentiel-copiar__ok:empty { display: none; }

/* Menú de categorías: PC en dos paneles; celular por niveles; buscador en ambos */
.sentiel-cats__panel { padding-top: 1.1rem !important; padding-bottom: 1.25rem !important; max-height: none !important; overflow: visible !important; }
.sentiel-cats__barra { display: flex; gap: .75rem; align-items: center; margin-bottom: .9rem; }
.sentiel-cats__buscar {
	flex: 1; max-width: 460px; padding: .6rem .85rem; font: inherit; font-size: var(--wp--preset--font-size--sm); color: var(--sentiel-text);
	border: 1px solid var(--sentiel-line); border-radius: var(--sentiel-r-sm); background: var(--sentiel-surface);
}
.sentiel-cats__buscar:focus { outline: 2px solid var(--sentiel-primary); outline-offset: 1px; background: var(--sentiel-bg); }
.sentiel-cats__todas { margin-left: auto; font-size: var(--wp--preset--font-size--sm); font-weight: 600; color: var(--sentiel-primary) !important; text-decoration: none; }
.sentiel-cats__volver { padding: .45rem .2rem; border: 0; background: none; font: inherit; font-weight: 600; color: var(--sentiel-primary); cursor: pointer; }
.sentiel-cats__sin { margin: 0 0 1rem; color: var(--sentiel-muted); }
.sentiel-cats ul { list-style: none; margin: 0; padding: 0; }
.sentiel-cats a { text-decoration: none; }
.sentiel-cats__fila { display: flex; align-items: center; justify-content: space-between; gap: .25rem; }
.sentiel-cats__root { display: flex; align-items: center; gap: .7rem; flex: 1; min-width: 0; color: var(--sentiel-text); font-weight: 600; line-height: 1.25; }
.sentiel-cats__ico { flex: none; width: 40px; height: 40px; object-fit: contain; border-radius: var(--sentiel-r-sm); background: var(--sentiel-bg); }
.sentiel-cats__ico.is-vacia, .sentiel-cats__timg.is-vacia { display: inline-block; background: var(--sentiel-surface); }
.sentiel-cats__abrir { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 2rem; height: 2rem; border: 0; background: none; color: var(--sentiel-muted); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.sentiel-cats__todo { display: none; }
.sentiel-cats__subcab { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--sentiel-line); }
.sentiel-cats__subcab strong { font-family: var(--sentiel-display); font-size: 1.35rem; line-height: 1.15; }
.sentiel-cats__subcab a { flex: none; font-size: var(--wp--preset--font-size--sm); font-weight: 600; color: var(--sentiel-primary) !important; }
.sentiel-cats__sub ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .6rem; }
.sentiel-cats__tile {
	display: grid; grid-template-columns: 56px 1fr; grid-template-rows: auto auto; column-gap: .75rem; align-items: center;
	padding: .6rem .7rem; border: 1px solid var(--sentiel-line); border-radius: var(--sentiel-r-md); color: var(--sentiel-text) !important; background: var(--sentiel-bg);
	transition: border-color .15s, box-shadow .15s;
}
.sentiel-cats__tile:hover, .sentiel-cats__tile:focus-visible { border-color: var(--sentiel-primary); box-shadow: 0 8px 20px -14px rgb(0 0 0 / .45); }
.sentiel-cats__timg { grid-row: span 2; width: 56px; height: 56px; object-fit: contain; }
.sentiel-cats__tnom { font-weight: 600; font-size: var(--wp--preset--font-size--sm); line-height: 1.25; }
.sentiel-cats__tile small { color: var(--sentiel-muted); font-size: var(--wp--preset--font-size--xs); }

@media (min-width: 782px) {
	.sentiel-cats__cuerpo { position: relative; display: grid; grid-template-columns: 300px 1fr; height: min(66vh, 580px); }
	.sentiel-cats__roots { overflow-y: auto; padding-right: .75rem; border-right: 1px solid var(--sentiel-line); scrollbar-width: thin; }
	.sentiel-cats__roots > li > .sentiel-cats__fila { padding: .3rem .4rem; border-radius: var(--sentiel-r-md); }
	.sentiel-cats__root { padding: .15rem 0; font-size: var(--wp--preset--font-size--sm); }
	.sentiel-cats__item.is-activa > .sentiel-cats__fila { background: var(--sentiel-surface); }
	.sentiel-cats__item.is-activa > .sentiel-cats__fila .sentiel-cats__root,
	.sentiel-cats__item.is-activa > .sentiel-cats__fila .sentiel-cats__abrir { color: var(--sentiel-primary); }
	.sentiel-cats__sub { display: none; position: absolute; top: 0; right: 0; bottom: 0; left: 316px; overflow-y: auto; padding: 0 .25rem .5rem 1.25rem; scrollbar-width: thin; }
	.sentiel-cats__item.is-activa > .sentiel-cats__sub { display: block; }
	/* Buscando: una sola lista con las coincidencias */
	.sentiel-cats__panel.is-buscando .sentiel-cats__cuerpo { display: block; height: auto; max-height: min(66vh, 580px); overflow-y: auto; }
	.sentiel-cats__panel.is-buscando .sentiel-cats__roots { border: 0; overflow: visible; }
	.sentiel-cats__panel.is-buscando .sentiel-cats__item { margin-bottom: 1rem; }
	.sentiel-cats__panel.is-buscando .sentiel-cats__sub { display: block; position: static; padding: .5rem 0 0; overflow: visible; }
	.sentiel-cats__panel.is-buscando .sentiel-cats__subcab { display: none; }
	.sentiel-cats__panel.is-buscando .sentiel-cats__item > .sentiel-cats__fila { background: none; }
}
@media (max-width: 781px) {
	.sentiel-cats__panel {
		position: fixed; left: 0; right: 0; bottom: 0; top: var(--sentiel-header-h, 0px); max-height: none; padding: 1rem 1rem 2rem !important;
		overflow-y: auto !important; overscroll-behavior: contain;
	}
	.sentiel-cats-abierto, .sentiel-cats-abierto body { overflow: hidden; }
	.sentiel-cats__barra { position: sticky; top: -1rem; z-index: 1; margin: -1rem -1rem .5rem; padding: 1rem; background: var(--sentiel-bg); flex-direction: column; align-items: stretch; }
	.sentiel-cats__buscar { max-width: none; font-size: 1rem; }
	.sentiel-cats__todas { margin-left: 0; }
	.sentiel-cats__panel.is-nivel .sentiel-cats__todas { display: none; }
	.sentiel-cats__volver { align-self: flex-start; }
	.sentiel-cats__roots > li { border-bottom: 1px solid var(--sentiel-line); }
	.sentiel-cats__root { padding: .6rem 0; font-size: 1rem; }
	.sentiel-cats__abrir { width: 2.75rem; height: 2.75rem; margin-right: -.5rem; font-size: 1.6rem; }
	.sentiel-cats__sub { display: none; padding-bottom: .5rem; }
	.sentiel-cats__subcab { display: none; }
	.sentiel-cats__sub ul { grid-template-columns: 1fr; gap: 0; }
	.sentiel-cats__tile { grid-template-columns: 44px 1fr; padding: .55rem 0; border: 0; border-radius: 0; border-bottom: 1px solid var(--sentiel-line); }
	.sentiel-cats__timg { width: 44px; height: 44px; }
	.sentiel-cats__tnom { font-size: 1rem; font-weight: 500; }
	.sentiel-cats__panel.is-nivel .sentiel-cats__roots > li:not(.is-abierta) { display: none; }
	.sentiel-cats__panel.is-nivel .sentiel-cats__item.is-abierta { border-bottom: 0; }
	.sentiel-cats__panel.is-nivel .sentiel-cats__item.is-abierta > .sentiel-cats__fila { display: none; }
	.sentiel-cats__item.is-abierta > .sentiel-cats__sub { display: block; }
	.sentiel-cats__item.is-abierta .sentiel-cats__todo { display: block; }
	.sentiel-cats__todo a { display: block; padding: .7rem 0; font-weight: 700; color: var(--sentiel-primary) !important; border-bottom: 1px solid var(--sentiel-line); }
	.sentiel-cats__panel.is-buscando .sentiel-cats__abrir { display: none; }
	.sentiel-cats__panel.is-buscando .sentiel-cats__sub { display: block; padding-left: .75rem; }
}

/* Detalles en la ficha: modelo, marca, SAT */
.sentiel-ficha-datos { display: grid; grid-template-columns: auto 1fr; gap: .3rem 1rem; margin: 1rem 0; padding: .75rem 1rem; border: 1px solid var(--sentiel-line); border-radius: 8px; font-size: var(--wp--preset--font-size--sm); }
.sentiel-ficha-datos dt { color: var(--sentiel-muted); }
.sentiel-ficha-datos dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.sentiel-ficha-datos dd a { color: inherit; }
.sentiel-ficha-datos__nota { display: block; font-weight: 400; color: var(--sentiel-muted); font-size: var(--wp--preset--font-size--xs); }

/* "Guardar en lista" en tarjetas: corazón sobre la foto */
.sentiel-card .dsu-lista-btn--icono {
	position: absolute; top: .5rem; right: .5rem; z-index: 4;
	background: rgb(255 255 255 / .94); border: 1px solid var(--sentiel-line); color: var(--sentiel-muted);
	opacity: .85; transition: color .15s, border-color .15s, opacity .15s;
}
.sentiel-card:hover .dsu-lista-btn--icono, .sentiel-card .dsu-lista-btn--icono:focus-visible { opacity: 1; }
.sentiel-card .dsu-lista-btn--icono:hover, .sentiel-card .dsu-lista-btn--icono.activo { color: var(--sentiel-primary); border-color: currentColor; }

/* ---------- Carrito, minicarrito y resumen: imagen, título (2 líneas), SKU y subtotal ---------- */
.wc-block-cart-items .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description,
.wc-block-components-order-summary .wc-block-components-product-metadata__description { display: none !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices, .wc-block-cart-items .wc-block-cart-item__prices { display: none !important; }
.wc-block-cart-items a.wc-block-components-product-name, .wc-block-mini-cart__drawer a.wc-block-components-product-name,
.wc-block-components-order-summary .wc-block-components-product-name:not([hidden]) {
	display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; max-width: 100%;
}
.wc-block-components-product-details { margin: .2rem 0 0 !important; padding: 0 !important; list-style: none; font-size: var(--wp--preset--font-size--xs); color: var(--sentiel-muted); }
.wc-block-components-product-details li { margin: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img, .wc-block-cart-items .wc-block-cart-item__image img { width: 64px; height: 64px; object-fit: contain; border-radius: var(--sentiel-r-sm); }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { padding-block: .7rem !important; }
.wc-block-mini-cart__footer > .wc-block-components-totals-item { display: none; }
.sentiel-mc { display: grid; gap: .3rem; margin-bottom: .8rem; font-size: var(--wp--preset--font-size--sm); }
.sentiel-mc__fila { display: flex; justify-content: space-between; gap: 1rem; }
.sentiel-mc__fila span:first-child { color: var(--sentiel-muted); }
.sentiel-mc__fila.desc span:last-child { color: #1d7a3e; font-weight: 600; }
.sentiel-mc__fila small { color: var(--sentiel-muted); font-size: var(--wp--preset--font-size--xs); }
.sentiel-mc__fila.total { margin-top: .25rem; padding-top: .45rem; border-top: 1px solid var(--sentiel-line); font-size: var(--wp--preset--font-size--md, 1.05rem); font-weight: 700; }
.sentiel-mc__fila.total span:first-child { color: var(--sentiel-text); }

/* Precio anterior (promoción automática) */
.sentiel-antes { display: block; margin-top: .1rem; font-size: var(--wp--preset--font-size--xs); color: var(--sentiel-muted); }
.sentiel-antes del { color: var(--sentiel-muted); }
.sentiel-antes--ficha { margin: .2rem 0 0; font-size: var(--wp--preset--font-size--sm); font-weight: 600; color: var(--sentiel-primary); }

/* Suelen comprarse juntos (ficha) */
.sentiel-juntos { margin: var(--wp--preset--spacing--50, 2.5rem) auto var(--wp--preset--spacing--40, 1.5rem); }
.sentiel-juntos h2 { margin: 0 0 1rem; font-family: var(--sentiel-display); font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.1; }
.sentiel-juntos ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .9rem; margin: 0; padding: 0; list-style: none; }
.sentiel-juntos li { display: flex; flex-direction: column; gap: .35rem; padding: .7rem; border: 1px solid var(--sentiel-line); border-radius: var(--sentiel-r-md); background: var(--sentiel-bg); }
.sentiel-juntos__img img { display: block; width: 100%; aspect-ratio: 1; height: auto; object-fit: contain; }
.sentiel-juntos small { color: var(--sentiel-muted); font-size: var(--wp--preset--font-size--xs); }
.sentiel-juntos__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--sentiel-text); font-size: var(--wp--preset--font-size--sm); line-height: 1.3; text-decoration: none; }
.sentiel-juntos__t:hover { color: var(--sentiel-primary); }
.sentiel-juntos__p { font-weight: 700; font-size: var(--wp--preset--font-size--sm); }
.sentiel-juntos__p [class*="dsu-msi"], .sentiel-juntos__p small { display: none !important; }
.sentiel-juntos__add { margin-top: auto; padding: .45rem .6rem; border: 1px solid var(--sentiel-primary); border-radius: var(--sentiel-r-sm); color: var(--sentiel-primary); font-size: var(--wp--preset--font-size--sm); font-weight: 600; text-align: center; text-decoration: none; }
.sentiel-juntos__add:hover { background: var(--sentiel-primary); color: var(--sentiel-on); }
.tema-oscuro .sentiel-juntos__img { background: #e9ebee; border-radius: var(--sentiel-r-sm); }
.tema-oscuro .sentiel-juntos__img img { mix-blend-mode: multiply; background: transparent !important; }

