/* =====================================================================
   SmartParts - estilos principales
   Reune: header, dark mode, categorias, tarjetas, bloques del inicio,
   footer, ficha de producto y mini carrito. Colores en variables: el
   modo oscuro solo cambia variables (html.sp-dark).
   ===================================================================== */

:root {
	--sp-bg: #ffffff;
	--sp-bg-alt: #f6f7f9;
	--sp-card: #ffffff;
	--sp-text: #16161a;
	--sp-muted: #6b6b76;
	--sp-border: rgba(0, 0, 0, .09);
	--sp-cyan: #29abe2;
	--sp-cyan-2: #30bad6;
	--sp-violet: #7b2ff7;
	--sp-blue: #185fa5;
	--sp-green: #0e8a6e;
	--sp-grad: linear-gradient(135deg, var(--sp-cyan), var(--sp-violet));
	--sp-radius: 14px;
	--sp-shadow: 0 6px 20px rgba(0, 0, 0, .06);
	--sp-font: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--sp-tech: 'Orbitron', 'Montserrat', sans-serif;
	--sp-wrap: 1240px;
}

html.sp-dark {
	--sp-bg: #101014;
	--sp-bg-alt: #18181f;
	--sp-card: #18181f;
	--sp-text: #f2f2f5;
	--sp-muted: #a3a3ad;
	--sp-border: rgba(255, 255, 255, .09);
	--sp-shadow: 0 6px 20px rgba(0, 0, 0, .35);
	color-scheme: dark;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--sp-font);
	font-size: 15px;
	line-height: 1.55;
	color: var(--sp-text);
	background: var(--sp-bg);
	transition: background .2s ease, color .2s ease;
}
img { max-width: 100%; height: auto; }
a { color: var(--sp-cyan); }
a:hover { color: var(--sp-violet); }
h1, h2, h3, h4 { line-height: 1.25; color: var(--sp-text); }
button, input, select, textarea { font: inherit; color: inherit; }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], select, textarea {
	background: var(--sp-card);
	border: 1px solid var(--sp-border);
	border-radius: 10px;
	padding: 10px 12px;
	max-width: 100%;
}
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--sp-cyan); box-shadow: 0 0 0 3px rgba(41, 171, 226, .15); }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

.sp-skip { position: absolute; left: -999px; top: 8px; z-index: 100001; background: #000; color: #fff; padding: 8px 14px; border-radius: 8px; }
.sp-skip:focus { left: 8px; }

.sp-container { max-width: var(--sp-wrap); margin: 0 auto; padding: 0 20px; }
.sp-main { min-height: 50vh; }
.sp-page { padding-top: 28px; padding-bottom: 48px; }
.sp-page__title { font-size: clamp(22px, 3vw, 32px); font-weight: 800; margin: 0 0 20px; }
.sp-content { max-width: 100%; }
.sp-content > * { max-width: 100%; }

/* ---------- Botones y etiquetas ---------- */
.sp-btn, .button, button.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	background: var(--sp-blue); color: #fff; border: 0; border-radius: 10px;
	padding: 11px 18px; font-weight: 700; font-size: 14px; line-height: 1.2;
	text-decoration: none; cursor: pointer; transition: filter .15s ease, transform .15s ease;
}
.sp-btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { color: #fff; filter: brightness(1.08); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .checkout-button { background: var(--sp-grad); }
.sp-btn--block { width: 100%; margin-top: 8px; }
.sp-btn--ghost { background: var(--sp-bg-alt) !important; color: var(--sp-text) !important; border: 1px solid var(--sp-border); }
.sp-btn--dark { background: #111; color: #fff; border-radius: 999px; }
html.sp-dark .sp-btn--dark { background: #fff; color: #111; }
.sp-btn--green { background: var(--sp-green); }
.sp-btn--amber { background: #f5a623; color: #111; border-radius: 999px; padding: 13px 22px; }
.sp-btn--amber:hover { color: #111; }
.sp-btn--neon { background: linear-gradient(135deg, #7b2ff7, #e0247a); border-radius: 999px; font-family: var(--sp-tech); font-size: 12px; letter-spacing: .5px; padding: 13px 24px; }
.sp-btn-disabled { opacity: .5; cursor: not-allowed; pointer-events: none; width: 100%; }

.sp-pill { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 5px 12px; font-size: 11px; font-weight: 700; letter-spacing: .3px; margin-bottom: 8px; }
.sp-pill--green { background: rgba(5, 150, 105, .1); color: #059669; }
.sp-pill--blue { background: #eaf3ff; color: #0057d8; border: 1px solid #cfe1fb; }
.sp-pill--grad { background: var(--sp-grad); color: #fff; font-family: var(--sp-tech); }
.sp-pill--amber { background: rgba(245, 166, 35, .15); color: #f5a623; text-transform: uppercase; letter-spacing: 2px; }

/* ---------- Barra de promos ---------- */
@keyframes sp-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.sp-ticker { background: #111; color: #fff; overflow: hidden; padding: 10px 0; font-size: 14px; font-weight: 600; }
.sp-ticker__track { display: flex; align-items: center; width: max-content; animation: sp-ticker 40s linear infinite; }
.sp-ticker:hover .sp-ticker__track { animation-play-state: paused; }
.sp-ticker__item { white-space: nowrap; padding: 0 34px; display: inline-flex; align-items: center; gap: 8px; }
.sp-ticker__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sp-cyan); flex-shrink: 0; }
.sp-ticker__hl { color: var(--sp-cyan); font-weight: 800; }
.sp-ticker__tag { background: var(--sp-cyan); color: #042c53; font-size: 11px; font-weight: 800; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; }
@media (prefers-reduced-motion: reduce) { .sp-ticker__track { animation: none; } }

/* ---------- Header ---------- */
.sp-header { position: sticky; top: 0; z-index: 9990; background: var(--sp-bg); box-shadow: 0 1px 0 var(--sp-border); }
.admin-bar .sp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .sp-header { top: 0; } }
.sp-header__row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 24px; border-bottom: 1px solid var(--sp-border); }
.sp-header__logo img { display: block; max-height: 56px; width: auto; }
html.sp-dark .sp-header__logo img { filter: brightness(1.15); }
.sp-header__search { flex: 1; max-width: 680px; }
.sp-header__icons { display: flex; align-items: center; gap: 18px; }
.sp-header__icon { display: flex; align-items: center; gap: 6px; color: var(--sp-text); text-decoration: none; font-size: 14px; white-space: nowrap; position: relative; }
.sp-header__icon:hover { color: var(--sp-cyan); }
.sp-cart-count { position: absolute; top: -8px; left: 13px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 10px; background: #e53935; color: #fff; font-size: 10px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.sp-cart-count[data-count="0"] { background: #9a9aa5; }
.sp-cart-total { margin-left: 6px; font-size: 14px; }
.sp-cart-total .woocommerce-Price-amount { color: var(--sp-text); }

.sp-theme-toggle { width: 46px; height: 26px; border-radius: 20px; background: var(--sp-bg-alt); border: 1px solid var(--sp-border); position: relative; cursor: pointer; flex-shrink: 0; padding: 0; }
.sp-theme-toggle::after { content: "☀️"; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--sp-grad); display: flex; align-items: center; justify-content: center; font-size: 11px; transition: transform .25s ease; }
html.sp-dark .sp-theme-toggle::after { content: "🌙"; transform: translateX(20px); }

/* Buscador (FiboSearch o el de WooCommerce) — v2
   Pisa los estilos de FiboSearch (incluido el estilo "pirx", que pone la lupa a la izquierda
   y sin clic). Input tipo pildora con lupa decorativa a la izquierda y boton "Buscar" a la derecha. */
.sp-header__search { position: relative; }
.sp-header .sp-header__search .dgwt-wcas-search-wrapp { max-width: none !important; width: 100% !important; margin: 0 !important; min-width: 0 !important; }
.sp-header .sp-header__search .dgwt-wcas-search-wrapp,
.sp-header .sp-header__search .dgwt-wcas-search-form,
.sp-header .sp-header__search .dgwt-wcas-sf-wrapp { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; margin: 0 !important; border-radius: 999px !important; }
.sp-header .sp-header__search .dgwt-wcas-sf-wrapp,
.sp-header .sp-header__search .woocommerce-product-search { position: relative !important; display: block; }
.sp-header .sp-header__search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
.sp-header .sp-header__search .woocommerce-product-search input[type="search"] {
	width: 100% !important; height: 52px !important; margin: 0 !important;
	padding: 0 128px 0 50px !important;
	border-radius: 999px !important;
	border: 1.5px solid var(--sp-border) !important;
	background-color: var(--sp-bg-alt) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9aa5' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: 18px 50% !important; background-size: 19px 19px !important;
	color: var(--sp-text) !important; font-family: var(--sp-font) !important; font-size: 15px !important; font-weight: 500 !important; font-style: normal !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), inset 0 1px 2px rgba(0, 0, 0, .03) !important;
	-webkit-appearance: none !important; appearance: none !important; outline: none !important;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}
.sp-header .sp-header__search input[type="search"]::placeholder { color: var(--sp-muted) !important; opacity: 1; font-style: normal !important; font-weight: 500; }
.sp-header .sp-header__search input[type="search"]:hover { border-color: rgba(41, 171, 226, .45) !important; }
.sp-header .sp-header__search input[type="search"]:focus {
	background-color: var(--sp-bg) !important; border-color: var(--sp-cyan) !important;
	box-shadow: 0 0 0 4px rgba(41, 171, 226, .16), 0 8px 24px rgba(41, 171, 226, .12) !important;
}
.sp-header .sp-header__search input[type="search"]::-webkit-search-decoration,
.sp-header .sp-header__search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

/* Boton: pildora con texto en PC, circulo en celular */
.sp-header .sp-header__search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit,
.sp-header .sp-header__search .woocommerce-product-search button {
	position: absolute !important; top: 50% !important; right: 6px !important; left: auto !important; bottom: auto !important;
	transform: translateY(-50%) !important; margin: 0 !important;
	width: auto !important; min-width: 0 !important; max-width: none !important;
	height: 40px !important; min-height: 0 !important; max-height: 40px !important;
	padding: 0 18px 0 14px !important; gap: 7px;
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	border: 0 !important; border-radius: 999px !important;
	background: var(--sp-grad) !important; color: #fff !important;
	font-family: var(--sp-font) !important; font-size: 0 !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: .2px; color: transparent;
	box-shadow: 0 4px 12px rgba(91, 69, 245, .28) !important;
	pointer-events: auto !important; cursor: pointer !important; opacity: 1 !important;
	transition: filter .15s ease, box-shadow .15s ease !important;
	-webkit-mask: none !important; mask: none !important;
}
.sp-header .sp-header__search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit::before { content: none !important; display: none !important; }
.sp-header .sp-header__search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit::after,
.sp-header .sp-header__search .woocommerce-product-search button::after { content: "Buscar"; display: inline !important; position: static !important; width: auto !important; height: auto !important; background: none !important; transform: none !important; font-size: 14px; color: #fff; }
.sp-header .sp-header__search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover { filter: brightness(1.08); box-shadow: 0 6px 16px rgba(91, 69, 245, .38) !important; }
.sp-header .sp-header__search .dgwt-wcas-search-submit svg,
.sp-header .sp-header__search .dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier { width: 16px !important; height: 16px !important; max-width: 16px; position: static !important; margin: 0 !important; display: block; }
.sp-header .sp-header__search .dgwt-wcas-search-submit svg path { fill: #fff !important; }
.sp-header .sp-header__search .dgwt-wcas-preloader { right: 120px !important; left: auto !important; }
.sp-header .sp-header__search .dgwt-wcas-voice-search { display: none !important; }
.sp-header .sp-header__search .dgwt-wcas-close { right: 116px !important; }

/* Sugerencias de FiboSearch */
.dgwt-wcas-suggestions-wrapp, .dgwt-wcas-details-wrapp {
	border: 1px solid var(--sp-border) !important; border-radius: 16px !important; overflow: hidden;
	background: var(--sp-bg) !important; box-shadow: 0 18px 50px rgba(0, 0, 0, .14) !important; margin-top: 8px !important;
	font-family: var(--sp-font) !important;
}
.dgwt-wcas-suggestion { padding: 10px 16px !important; border-bottom: 1px solid var(--sp-border) !important; color: var(--sp-text) !important; }
.dgwt-wcas-suggestion:last-child { border-bottom: 0 !important; }
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected, .dgwt-wcas-suggestion:hover { background: var(--sp-bg-alt) !important; }
.dgwt-wcas-suggestion .dgwt-wcas-si img { border-radius: 8px; background: #fff; }
.dgwt-wcas-suggestion .dgwt-wcas-st { font-size: 14px !important; font-weight: 600 !important; color: var(--sp-text) !important; }
.dgwt-wcas-suggestion .dgwt-wcas-st strong { color: var(--sp-cyan) !important; }
.dgwt-wcas-suggestion .dgwt-wcas-sp, .dgwt-wcas-suggestion .dgwt-wcas-sp .woocommerce-Price-amount { font-weight: 800 !important; color: var(--sp-text) !important; }
.dgwt-wcas-suggestion-headline .dgwt-wcas-st, .dgwt-wcas-suggestion-more .dgwt-wcas-st-more { color: var(--sp-muted) !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .5px; }
.dgwt-wcas-suggestion-more { background: var(--sp-bg-alt) !important; text-align: center; }
.dgwt-wcas-suggestion-more .dgwt-wcas-st-more { color: var(--sp-blue) !important; font-weight: 700 !important; text-transform: none; font-size: 13px !important; }

@media (max-width: 768px) {
	.sp-header .sp-header__search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
	.sp-header .sp-header__search .woocommerce-product-search input[type="search"] { height: 44px !important; padding: 0 52px 0 42px !important; font-size: 14px !important; background-position: 15px 50% !important; background-size: 17px 17px !important; }
	.sp-header .sp-header__search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit,
	.sp-header .sp-header__search .woocommerce-product-search button { width: 36px !important; height: 36px !important; max-height: 36px !important; padding: 0 !important; right: 4px !important; }
	.sp-header .sp-header__search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit::after,
	.sp-header .sp-header__search .woocommerce-product-search button::after { content: none !important; display: none !important; }
	.sp-header .sp-header__search .dgwt-wcas-preloader { right: 46px !important; }
	.sp-header .sp-header__search .dgwt-wcas-close { right: 44px !important; }
}

/* Barra de categorias */
.sp-catbar { border-bottom: 1px solid var(--sp-border); }
.sp-catbar__inner { max-width: 1300px; margin: 0 auto; padding: 9px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sp-catbar__left { display: flex; align-items: center; gap: 10px; min-width: 0; }
.sp-catbar__btn { border: 1px solid var(--sp-border); background: var(--sp-bg-alt); color: var(--sp-text); padding: 8px 14px; border-radius: 10px; font-weight: 700; cursor: pointer; white-space: nowrap; font-size: 14px; }
.sp-catbar__nav { display: flex; align-items: center; gap: 4px; overflow: hidden; min-width: 0; }
.sp-catbar__link { padding: 8px 11px; border-radius: 10px; color: var(--sp-text); text-decoration: none; font-weight: 600; font-size: 14px; white-space: nowrap; }
.sp-catbar__link:hover { background: var(--sp-bg-alt); color: var(--sp-text); }
.sp-catbar__cta { background: var(--sp-grad); color: #fff; font-weight: 800; padding: 9px 16px; border-radius: 10px; text-decoration: none; font-size: 14px; white-space: nowrap; }
.sp-catbar__cta:hover { color: #fff; filter: brightness(1.08); }
.sp-desktop-only { display: none !important; }
@media (min-width: 992px) { .sp-desktop-only { display: flex !important; } .sp-mobile-only { display: none !important; } }

/* Boton Pro Torque (reemplaza Bremen) */
.sp-protorque { display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 0 12px; border-radius: 10px; background: #111; border: 1px solid #111; text-decoration: none; margin-left: 6px; transition: transform .2s ease; flex-shrink: 0; }
.sp-protorque:hover { transform: translateY(-2px); }
.sp-protorque img { height: 22px; width: auto; display: block; }
.sp-protorque__txt { font-family: var(--sp-tech); font-weight: 800; font-size: 12px; letter-spacing: 1px; color: #fff; }
.sp-protorque__txt b { color: #ffc400; margin-left: 2px; }

/* Mega menu */
.sp-mega { position: fixed; inset: 0; z-index: 100000; }
.sp-mega[hidden] { display: none; }
.sp-mega__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.sp-mega__panel { position: absolute; top: 100px; left: 50%; transform: translateX(-50%); width: min(1100px, calc(100% - 24px)); height: min(560px, calc(100% - 140px)); background: var(--sp-bg); border-radius: 18px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); display: flex; flex-direction: column; }
.sp-mega__top { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--sp-border); }
.sp-mega__title { font-weight: 900; font-size: 16px; }
.sp-mega__close { border: 0; background: transparent; cursor: pointer; font-size: 18px; padding: 6px 10px; border-radius: 12px; }
.sp-mega__close:hover { background: var(--sp-bg-alt); }
.sp-mega__body { display: grid; grid-template-columns: 300px 1fr; flex: 1; min-height: 0; }
.sp-mega__left { border-right: 1px solid var(--sp-border); padding: 10px; overflow: auto; background: var(--sp-bg-alt); }
.sp-mega__item { display: block; width: 100%; text-align: left; border: 1px solid var(--sp-border); background: var(--sp-bg); color: var(--sp-text); padding: 10px 12px; border-radius: 14px; cursor: pointer; font-weight: 800; margin-bottom: 8px; font-size: 14px; }
.sp-mega__item.is-active { background: var(--sp-grad); color: #fff; border-color: transparent; }
.sp-mega__all { display: block; margin-top: 10px; text-decoration: none; font-weight: 900; padding: 10px 12px; border-radius: 14px; background: var(--sp-grad); color: #fff; text-align: center; }
.sp-mega__all:hover { color: #fff; }
.sp-mega__right { padding: 12px; overflow: auto; min-height: 0; }
.sp-mega__rightTop { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.sp-mega__go { text-decoration: none; font-weight: 900; padding: 10px 14px; border-radius: 14px; background: var(--sp-text); color: var(--sp-bg); }
.sp-mega__go:hover { color: var(--sp-bg); opacity: .9; }
.sp-mega__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.sp-mega__card { text-decoration: none; border: 1px solid var(--sp-border); background: var(--sp-bg); padding: 12px; border-radius: 14px; font-weight: 700; font-size: 14px; color: var(--sp-text); transition: transform .15s ease, background .15s ease; }
.sp-mega__card:hover { transform: translateY(-2px); background: var(--sp-bg-alt); color: var(--sp-text); }
.sp-mega__empty { padding: 14px; border: 1px dashed var(--sp-border); border-radius: 14px; color: var(--sp-muted); grid-column: 1 / -1; }
.sp-lock { overflow: hidden !important; }
@media (max-width: 991px) {
	.sp-mega__panel { top: 60px; height: calc(100% - 76px); }
	.sp-mega__body { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
	.sp-mega__left { border-right: 0; border-bottom: 1px solid var(--sp-border); display: flex; gap: 8px; overflow-x: auto; }
	.sp-mega__item { white-space: nowrap; width: auto; margin: 0; }
	.sp-mega__all { margin: 0; white-space: nowrap; }
	.sp-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Header en celular */
@media (max-width: 768px) {
	.sp-ticker { padding: 7px 0; font-size: 12px; }
	.sp-ticker__item { padding: 0 22px; }
	.sp-header__row { flex-wrap: wrap; padding: 8px 14px; gap: 6px; }
	.sp-header__logo img { max-height: 34px; }
	.sp-header__icons { gap: 12px; }
	.sp-header__label, .sp-cart-total { display: none; }
	.sp-theme-toggle { width: 38px; height: 22px; }
	.sp-theme-toggle::after { width: 16px; height: 16px; font-size: 9px; }
	html.sp-dark .sp-theme-toggle::after { transform: translateX(16px); }
	.sp-header__search { order: 3; flex-basis: 100%; max-width: none; margin-top: 4px; }
	.sp-catbar__inner { padding: 6px 14px; }
	.sp-catbar__btn { padding: 6px 10px; font-size: 13px; }
	.sp-protorque { height: 32px; }
}

/* ---------- Footer ---------- */
.sp-footer { margin-top: 48px; background: linear-gradient(135deg, #f2fbff, #f7f3ff); border-top: 2px solid var(--sp-cyan); font-size: 14px; }
html.sp-dark .sp-footer { background: linear-gradient(135deg, #101014, #16161d); }
.sp-footer__top { max-width: var(--sp-wrap); margin: 0 auto; padding: 44px 20px 28px; display: grid; grid-template-columns: 1.4fr 1fr 1.3fr; gap: 32px; }
.sp-footer__brand img { width: 96px; height: auto; }
.sp-footer__brand p { color: var(--sp-muted); max-width: 420px; }
.sp-footer__social { display: flex; gap: 10px; }
.sp-footer__social a { width: 38px; height: 38px; border-radius: 50%; background: var(--sp-grad); color: #fff; display: flex; align-items: center; justify-content: center; }
.sp-footer__social a:hover { color: #fff; filter: brightness(1.1); }
.sp-footer__col h4 { margin: 0 0 12px; font-size: 15px; }
.sp-footer__col ul { list-style: none; margin: 0; padding: 0; }
.sp-footer__col li { margin-bottom: 8px; }
.sp-footer__col a { color: var(--sp-blue); text-decoration: none; }
html.sp-dark .sp-footer__col a { color: var(--sp-cyan); }
.sp-footer__col p { margin: 0 0 8px; color: var(--sp-muted); }
.sp-footer__badges { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.sp-footer__bottom { border-top: 1px solid var(--sp-border); text-align: center; padding: 16px 20px; color: var(--sp-muted); font-size: 12.5px; }
@media (max-width: 860px) { .sp-footer__top { grid-template-columns: 1fr; gap: 22px; } }

.sp-wa-float { position: fixed; left: 20px; bottom: 20px; z-index: 9980; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(37, 211, 102, .4); transition: transform .2s ease; }
.sp-wa-float:hover { color: #fff; transform: scale(1.06); }
.woocommerce-checkout .sp-wa-float { display: none; }

/* ---------- Bloques del inicio ---------- */
.sp-home__blocks { display: flex; flex-direction: column; gap: 28px; padding-top: 24px; padding-bottom: 12px; }
.sp-block { border-radius: 18px; }
.sp-block__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.sp-block__title { font-size: clamp(20px, 2.6vw, 28px); font-weight: 800; margin: 0 0 4px; }
.sp-block__sub { margin: 0; color: var(--sp-muted); font-size: 14px; }
.sp-block__more { font-size: 13px; font-weight: 700; text-decoration: none; border-bottom: 1.5px solid currentColor; padding-bottom: 1px; white-space: nowrap; }

/* Tarjeta de producto de los bloques */
.sp-card { background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; min-width: 0; }
.sp-card:hover { box-shadow: var(--sp-shadow); transform: translateY(-2px); }
.sp-card__img { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; background: #f6f7fa; padding: 12px; }
html.sp-dark .sp-card__img { background: #22222b; }
.sp-card__img img { max-height: 100%; width: auto; object-fit: contain; }
.sp-card__badge, .sp-card__sale { position: absolute; top: 8px; z-index: 2; font-size: 9.5px; font-weight: 800; padding: 3px 8px; border-radius: 5px; letter-spacing: .3px; text-transform: uppercase; }
.sp-card__badge { left: 8px; background: #111; color: #fff; }
.sp-card__sale { right: 8px; background: #ff4d6d; color: #fff; }
.sp-card__body { padding: 10px 12px 12px; display: flex; flex-direction: column; flex: 1; }
.sp-card__name { font-size: 13px; font-weight: 600; color: var(--sp-text); text-decoration: none; line-height: 1.4; min-height: 36px; margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sp-card__name:hover { color: var(--sp-cyan); }
.sp-card__stock { font-size: 11px; color: #c47a00; font-weight: 700; margin-bottom: 4px; }
.sp-card__price { font-size: 16px; font-weight: 800; margin-bottom: 10px; color: var(--sp-text); }
.sp-card__price del { font-size: 12px; color: var(--sp-muted); font-weight: 500; }
.sp-card__price ins { text-decoration: none; }
.sp-card__price .sp-saving { display: none; }
.sp-card__btn { margin-top: auto; display: block; text-align: center; padding: 9px 8px; border-radius: 9px; font-size: 12px; font-weight: 700; text-decoration: none; background: var(--sp-blue); color: #fff; border: 0; cursor: pointer; }
.sp-card__btn:hover { color: #fff; filter: brightness(1.1); }
.sp-card__btn--off { background: var(--sp-bg-alt); color: var(--sp-muted); cursor: default; }
.sp-card__btn.loading { opacity: .6; pointer-events: none; }
.sp-card__btn.added::after { content: " ✓"; }
.sp-card .added_to_cart { display: none !important; }

.sp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 768px) { .sp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } }

/* Carrusel generico */
.sp-carousel__viewport { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin: 0 -2px; padding: 2px; }
.sp-carousel__viewport::-webkit-scrollbar { display: none; }
.sp-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 14px) / 4); gap: 14px; }
.sp-carousel__track > .sp-card { scroll-snap-align: start; }
@media (max-width: 991px) { .sp-carousel__track { grid-auto-columns: calc((100% - 2 * 12px) / 3); gap: 12px; } }
@media (max-width: 640px) { .sp-carousel__track { grid-auto-columns: calc((100% - 10px) / 2.15); gap: 10px; } }
.sp-carousel__nav { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; }
.sp-carousel__arrow { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--sp-border); background: var(--sp-card); color: var(--sp-text); cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.sp-carousel__arrow:hover:not(:disabled) { background: var(--sp-blue); border-color: var(--sp-blue); color: #fff; }
.sp-carousel__arrow:disabled { opacity: .35; cursor: default; }
.sp-carousel__dots { display: flex; gap: 6px; }
.sp-carousel__dot { width: 7px; height: 7px; border-radius: 50%; background: #cfd3db; border: 0; padding: 0; cursor: pointer; transition: width .2s ease; }
.sp-carousel__dot.is-active { width: 20px; border-radius: 4px; background: var(--sp-blue); }
.sp-carousel.is-static .sp-carousel__nav { display: none; }

/* Nuevos ingresos */
.sp-new__title { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 700; }
.sp-new__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--sp-cyan-2); animation: sp-blink 1.5s infinite; }
@keyframes sp-blink { 50% { opacity: .3; } }
.sp-new .sp-block__more { color: var(--sp-muted); font-weight: 500; }
.sp-new .sp-card__btn { background: transparent; color: var(--sp-text); border: 1px solid var(--sp-border); border-radius: 999px; }
.sp-new .sp-card__btn:hover { background: var(--sp-bg-alt); color: var(--sp-text); }

/* Volvieron al stock / reingresados */
.sp-reing { background: linear-gradient(180deg, #f7f5ff 0%, #ffffff 100%); padding: 28px 26px; border: 1px solid var(--sp-border); }
html.sp-dark .sp-reing { background: linear-gradient(180deg, #16161d 0%, #101014 100%); }
.sp-reing .sp-card__badge { background: rgba(5, 150, 105, .1); color: #059669; border: 1px solid rgba(5, 150, 105, .35); }
.sp-reing .sp-card__btn { background: linear-gradient(135deg, #3b5bfd, #7b2ff7); }
.sp-reing .sp-carousel__dot.is-active { background: #5b45f5; }

/* Mecanico */
.sp-banner { display: block; border-radius: 14px; overflow: hidden; }
.sp-banner img { display: block; width: 100%; height: auto; }
.sp-mec { background: var(--sp-card); border: 1px solid var(--sp-border); padding: 28px 24px; }
.sp-mec .sp-block__more { color: #0057d8; }
.sp-mec .sp-card__badge { background: #0057d8; }
.sp-mec .sp-card__btn { background: #0057d8; }
.sp-mec .sp-carousel__dot.is-active { background: #0057d8; }

/* Glass reingresado (oscuro siempre) */
.sp-glass { background: radial-gradient(circle at top left, #171728, #0c0c16 70%); padding: 36px 24px; border: 1px solid rgba(41, 171, 226, .18); color: #eaeaf2; }
.sp-glass .sp-block__title { font-family: var(--sp-tech); color: #fff; text-shadow: 0 0 14px rgba(41, 211, 255, .3); font-size: clamp(18px, 2.4vw, 24px); }
.sp-glass .sp-block__sub { color: #9a9ab0; max-width: 460px; }
.sp-glass .sp-block__more { color: var(--sp-cyan); }
.sp-glass__trust { display: flex; flex-wrap: wrap; gap: 18px; margin: -4px 0 22px; padding-bottom: 16px; border-bottom: 1px solid rgba(255, 255, 255, .08); font-size: 12px; font-weight: 600; color: #c6c6db; }
.sp-glass .sp-card { background: #14141f; border-color: rgba(41, 171, 226, .18); }
.sp-glass .sp-card__img { background: #1c1c2b; }
.sp-glass .sp-card__name { color: #eaeaf2; }
.sp-glass .sp-card__price, .sp-glass .sp-card__price .woocommerce-Price-amount { color: var(--sp-cyan); }
.sp-glass .sp-card__stock { color: #ffb648; }
.sp-glass .sp-card__badge { background: var(--sp-grad); }
.sp-glass .sp-card__btn { background: var(--sp-grad); }
.sp-glass .sp-carousel__arrow { background: transparent; border-color: var(--sp-cyan); color: var(--sp-cyan); }
.sp-glass .sp-carousel__dot { background: #33334a; }
.sp-glass .sp-carousel__dot.is-active { background: var(--sp-grad); }

/* Bento de categorias (Computacion) */

/* Inova */
.sp-inova { display: grid; grid-template-columns: 1fr 260px; gap: 28px; align-items: center; background: #1f3a60; border-radius: 18px; padding: 34px; color: #fff; position: relative; overflow: hidden; }
.sp-inova::after { content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: rgba(255, 255, 255, .04); }
.sp-inova h2 { color: #fff; font-size: clamp(22px, 3vw, 30px); font-weight: 800; margin: 6px 0 10px; }
.sp-inova h2 span { color: #f5a623; }
.sp-inova p { color: #c9d6e8; font-size: 13px; max-width: 420px; }
.sp-inova__chips { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 20px; }
.sp-inova__chips span { width: 72px; height: 68px; border: 1px solid rgba(255, 255, 255, .15); border-radius: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-size: 20px; }
.sp-inova__chips small { font-size: 9.5px; color: #c9d6e8; }
.sp-inova__right { display: flex; flex-direction: column; gap: 8px; position: relative; z-index: 1; }
.sp-inova__logo { background: #fff; border-radius: 16px; height: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #1a1a1a; font-size: 40px; font-weight: 600; letter-spacing: -1px; }
.sp-inova__logo small { font-size: 9px; letter-spacing: 1px; color: #29abe2; margin-top: -4px; }
.sp-inova__right > span { border: 1px solid rgba(255, 255, 255, .15); border-radius: 10px; padding: 9px 14px; font-size: 12px; font-weight: 600; }
.sp-inova__right > span::first-letter { color: #f5a623; }
@media (max-width: 760px) { .sp-inova { grid-template-columns: 1fr; padding: 24px 18px; } }

/* Accesos (repuestos / gamer) */
.sp-tiles { background: #0f0b1f; border-radius: 18px; padding: 26px 22px; text-align: center; }
.sp-tiles__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 20px; }
.sp-tiles__grid--5 { grid-template-columns: repeat(5, 1fr); margin-bottom: 0; }
.sp-tile { background: #191433; border: 1px solid rgba(123, 47, 247, .25); border-radius: 12px; padding: 20px 10px; display: flex; flex-direction: column; align-items: center; gap: 10px; text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.sp-tile:hover { transform: translateY(-3px); border-color: #e0247a; box-shadow: 0 8px 24px rgba(224, 36, 122, .2); }
.sp-tile__ico { font-size: 24px; }
.sp-tile__txt { font-family: var(--sp-tech); font-size: 11px; font-weight: 800; color: #fff; text-transform: uppercase; letter-spacing: .3px; }
.sp-gamer__title { font-family: var(--sp-tech); color: #e040fb; font-size: clamp(16px, 2.2vw, 22px); letter-spacing: 1px; margin: 4px 0 6px; text-transform: uppercase; }
.sp-gamer__sub { color: #b9b4d0; font-size: 13px; margin: 0 0 20px; }
@media (max-width: 900px) { .sp-tiles__grid, .sp-tiles__grid--5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) { .sp-tiles__grid, .sp-tiles__grid--5 { grid-template-columns: repeat(2, 1fr); } }

/* Metricas */
.sp-kpis { background: linear-gradient(135deg, #f7f5ff, #f0fdfa); border-radius: 18px; padding: 30px 28px; box-shadow: var(--sp-shadow); }
html.sp-dark .sp-kpis { background: var(--sp-card); }
.sp-kpis__intro { color: var(--sp-muted); margin: 0 0 18px; font-size: 13px; }
.sp-kpis__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sp-kpi { display: flex; align-items: center; gap: 12px; }
.sp-kpi__ico { font-size: 22px; }
.sp-kpi strong { display: block; font-family: var(--sp-tech); font-size: 20px; background: linear-gradient(135deg, #5b45f5, #30bad6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sp-kpi small { color: var(--sp-muted); font-size: 11.5px; }
@media (max-width: 760px) { .sp-kpis__grid { grid-template-columns: repeat(2, 1fr); } }

/* Hero */
.sp-hero { position: relative; overflow: hidden; background: #0b1530; }
.sp-hero__track { position: relative; aspect-ratio: 16 / 5; }
.sp-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; display: block; }
.sp-hero__slide.is-active { opacity: 1; z-index: 1; }
.sp-hero__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sp-hero__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 42px; height: 42px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .85); color: #111; font-size: 26px; line-height: 1; cursor: pointer; }
.sp-hero__arrow--prev { left: 16px; }
.sp-hero__arrow--next { right: 16px; }
.sp-hero__dots { position: absolute; left: 0; right: 0; bottom: 12px; z-index: 2; display: flex; justify-content: center; gap: 6px; }
.sp-hero__dot { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: rgba(255, 255, 255, .55); cursor: pointer; }
.sp-hero__dot.is-active { width: 22px; border-radius: 4px; background: #fff; }
@media (max-width: 700px) { .sp-hero__track { aspect-ratio: 1 / 1; } .sp-hero__arrow { display: none; } }

/* ---------- WooCommerce: grilla de tienda ---------- */
.sp-woo { padding-top: 22px; padding-bottom: 40px; }
.sp-woo--filters { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 26px; align-items: start; }
.woocommerce-breadcrumb { font-size: 12.5px; color: var(--sp-muted); margin-bottom: 14px; }
.woocommerce-breadcrumb a { color: var(--sp-muted); text-decoration: none; }
.woocommerce-products-header__title, .sp-woo .page-title { font-size: clamp(22px, 3vw, 30px); font-weight: 800; margin: 0 0 8px; }
.sp-cat-sub { color: var(--sp-muted); margin-top: 0; }
.woocommerce-result-count { color: var(--sp-muted); font-size: 13px; margin: 8px 0 14px; float: left; }
.woocommerce-ordering { float: right; margin: 0 0 14px; }
.woocommerce-ordering select { padding: 8px 12px; }
ul.products { clear: both; list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
ul.products::before, ul.products::after { display: none !important; }
ul.products li.product { position: relative; margin: 0 !important; width: auto !important; float: none !important; background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; padding: 0 0 12px; transition: box-shadow .2s ease, transform .2s ease; }
ul.products li.product:hover { box-shadow: var(--sp-shadow); transform: translateY(-2px); }
ul.products li.product a.woocommerce-LoopProduct-link { text-decoration: none; color: var(--sp-text); display: flex; flex-direction: column; flex: 1; }
ul.products li.product img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #f6f7fa; padding: 12px; margin: 0 0 10px; display: block; }
html.sp-dark ul.products li.product img { background: #22222b; }
ul.products li.product .woocommerce-loop-product__title { font-size: 13px; font-weight: 600; line-height: 1.4; padding: 0 12px; margin: 0 0 6px; color: var(--sp-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 36px; }
ul.products li.product .price { display: block; padding: 0 12px; font-size: 16px; font-weight: 800; color: var(--sp-text); margin: auto 0 10px; }
ul.products li.product .price del { font-size: 12px; color: var(--sp-muted); font-weight: 500; display: block; }
ul.products li.product .price ins { text-decoration: none; }
ul.products li.product .price .sp-saving { display: none; }
ul.products li.product .onsale { position: absolute; top: 10px; left: 10px; z-index: 2; background: #ff4d6d; color: #fff; font-size: 10px; font-weight: 800; padding: 3px 8px; border-radius: 6px; min-height: 0; min-width: 0; line-height: 1.4; }
ul.products li.product .button { margin: 0 12px; padding: 9px 8px; font-size: 12px; border-radius: 9px; }
ul.products li.product .button.is-out { background: var(--sp-bg-alt); color: var(--sp-muted); }
ul.products li.product .added_to_cart { display: none; }
.sp-loop-stock { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; color: #92580a; background: #fff8e6; border: 1px solid #ffe5a0; border-radius: 6px; padding: 3px 8px; margin: 0 12px 6px; align-self: flex-start; }
.sp-loop-stock span { width: 6px; height: 6px; border-radius: 50%; background: #f5a623; }
.sp-loop-stock.is-critical { color: #c0392b; background: #fff0f0; border-color: #ffb3b3; }
.sp-loop-stock.is-critical span { background: #c0392b; }
.sp-proximo { display: inline-block; padding: 10px 14px; border-radius: 14px; background: #fff3cd; color: #6b4e00; border: 1px solid #ffe08a; font-weight: 900; font-size: 13px; margin: 10px 0 12px; }
.sp-proximo--loop { margin: 0 12px 8px; background: #111; color: #fff; border: 0; font-size: 11px; padding: 6px 10px; text-align: center; }

/* Tarjetas de categoria (subcategorias) */
ul.products li.product-category { padding: 18px 12px 16px; text-align: center; border-top: 5px solid var(--sp-cyan-2); }
ul.products li.product-category a { display: flex; flex-direction: column; align-items: center; text-decoration: none; height: 100%; }
ul.products li.product-category img { width: 150px; height: 150px; aspect-ratio: auto; object-fit: contain; background: none; padding: 0; margin: 0 auto 12px; transition: transform .3s ease; }
ul.products li.product-category:hover img { transform: scale(1.08); }
ul.products li.product-category .woocommerce-loop-category__title { font-size: 14px; font-weight: 800; color: var(--sp-text); margin: 0; padding: 0; }
ul.products li.product-category mark.count { display: none; }

@media (max-width: 1100px) { ul.products, ul.products.columns-5, ul.products.columns-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px) {
	ul.products, ul.products.columns-3, ul.products.columns-5, ul.products.columns-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	ul.products li.product-category img { width: 110px; height: 110px; }
	.woocommerce-result-count { display: none; }
	.woocommerce-ordering { float: none; }
	.woocommerce-ordering select { width: 100%; }
}

.woocommerce-pagination ul { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; padding: 0; margin: 10px 0; border: 0 !important; }
.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce-pagination .page-numbers { display: flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--sp-border); text-decoration: none; color: var(--sp-text); font-weight: 600; }
.woocommerce-pagination .page-numbers.current { background: var(--sp-grad); color: #fff; border-color: transparent; }

/* Panel de filtros */
.sp-filters { background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 14px; padding: 16px; position: sticky; top: 150px; max-height: calc(100vh - 170px); overflow: auto; }
.sp-filters__head { display: none; }
.sp-widget { margin-bottom: 20px; font-size: 14px; }
.sp-widget-title { font-size: 14px; font-weight: 800; margin: 0 0 10px; }
.sp-widget ul { list-style: none; margin: 0; padding: 0; }
.sp-widget li { margin: 0 0 6px; }
.sp-widget a { color: var(--sp-text); text-decoration: none; }
.sp-widget a:hover { color: var(--sp-cyan); }
.sp-filters-toggle, .sp-filters-overlay { display: none; }
@media (max-width: 991px) {
	.sp-woo--filters { display: block; }
	.sp-filters-toggle { display: inline-flex; margin: 0 0 14px; background: var(--sp-bg-alt); color: var(--sp-text); border: 1px solid var(--sp-border); border-radius: 10px; padding: 10px 14px; font-weight: 700; cursor: pointer; }
	.sp-filters { position: fixed; top: 0; bottom: 0; left: 0; width: min(330px, 88vw); max-height: none; border-radius: 0 16px 16px 0; z-index: 100002; transform: translateX(-105%); transition: transform .3s ease; }
	.sp-filters.is-open { transform: translateX(0); }
	.sp-filters__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
	.sp-filters__close { border: 0; background: var(--sp-bg-alt); border-radius: 50%; width: 32px; height: 32px; cursor: pointer; }
	.sp-filters-overlay { display: block; position: fixed; inset: 0; background: rgba(0, 0, 0, .45); z-index: 100001; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
	.sp-filters-overlay.is-open { opacity: 1; pointer-events: auto; }
}

/* ---------- Avisos de WooCommerce ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	list-style: none; margin: 0 0 16px; padding: 14px 16px; border-radius: 12px; font-size: 14px;
	background: var(--sp-bg-alt); border: 1px solid var(--sp-border); border-left: 4px solid var(--sp-cyan); color: var(--sp-text);
}
.woocommerce-error { border-left-color: #e53935; }
.woocommerce-message { border-left-color: #16a34a; }
.woocommerce-message .button, .woocommerce-info .button { float: right; padding: 7px 12px; font-size: 12px; margin-left: 10px; }
.woocommerce-store-notice { background: #111; color: #fff; padding: 10px; text-align: center; margin: 0; }

/* ---------- Ficha de producto ---------- */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: start; position: relative; }
.single-product div.product .onsale { position: absolute; top: 12px; left: 12px; z-index: 3; background: #ff4d6d; color: #fff; padding: 4px 10px; border-radius: 6px; font-weight: 800; font-size: 12px; }
.single-product .woocommerce-product-gallery { position: relative; width: 100% !important; float: none !important; margin: 0; background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 16px; padding: 14px; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery img { border-radius: 10px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 8px; list-style: none; padding: 0; margin: 10px 0 0; overflow-x: auto; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 64px; flex-shrink: 0; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img { border: 1px solid var(--sp-border); cursor: pointer; opacity: .7; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--sp-cyan); }
.single-product .woocommerce-product-gallery__trigger { position: absolute; top: 20px; right: 20px; z-index: 3; width: 34px; height: 34px; border-radius: 50%; background: var(--sp-bg); display: flex; align-items: center; justify-content: center; font-size: 0; text-decoration: none; box-shadow: var(--sp-shadow); }
.single-product .woocommerce-product-gallery__trigger::before { content: "🔍"; font-size: 15px; }
.single-product .summary { width: 100% !important; float: none !important; margin: 0; }
.single-product .product_title { font-size: clamp(20px, 2.4vw, 28px); font-weight: 800; margin: 0 0 10px; }
.single-product .summary .price { font-size: 28px; font-weight: 800; color: var(--sp-text); margin: 0 0 12px; display: block; }
.single-product .summary .price del { font-size: 16px; color: var(--sp-muted); font-weight: 500; }
.single-product .summary .price ins { text-decoration: none; }
.sp-saving { display: block; font-size: 12.5px; font-weight: 600; color: #16a34a; margin-top: 4px; }
.sp-saving span { color: var(--sp-muted); }
.single-product .stock { font-weight: 700; font-size: 13px; }
.single-product .stock.out-of-stock { color: #c0392b; }
.single-product form.cart { display: flex; gap: 10px; align-items: stretch; margin: 16px 0 6px; flex-wrap: wrap; }
.single-product form.cart .quantity input { width: 80px; height: 48px; text-align: center; }
.single-product form.cart .single_add_to_cart_button { flex: 1; min-height: 48px; font-size: 15px; background: #111; border-radius: 12px; }
html.sp-dark .single-product form.cart .single_add_to_cart_button { background: var(--sp-grad); }
.single-product .product_meta { font-size: 12.5px; color: var(--sp-muted); margin-top: 16px; display: flex; flex-direction: column; gap: 4px; }
.single-product .product_meta a { color: var(--sp-muted); }
.single-product .woocommerce-tabs, .single-product .related, .single-product .upsells, .single-product .sp-together { grid-column: 1 / -1; }
.woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 6px; padding: 0; margin: 10px 0 0; border-bottom: 1px solid var(--sp-border); overflow-x: auto; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 10px 16px; font-weight: 700; text-decoration: none; color: var(--sp-muted); border-bottom: 2px solid transparent; white-space: nowrap; }
.woocommerce-tabs ul.tabs li.active a { color: var(--sp-text); border-bottom-color: var(--sp-cyan); }
.woocommerce-tabs .panel { padding: 18px 0; }
.woocommerce-tabs .panel h2:first-child { display: none; }
table.shop_attributes { width: 100%; border-collapse: collapse; }
table.shop_attributes th, table.shop_attributes td { padding: 8px 10px; border-bottom: 1px solid var(--sp-border); text-align: left; font-size: 13.5px; }
table.shop_attributes th { width: 35%; color: var(--sp-muted); font-weight: 600; }
.related > h2, .upsells > h2 { font-size: 20px; font-weight: 800; }

.sp-urgency { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 8px; font-size: 13px; font-weight: 600; background: #fff8e6; color: #92580a; border: 1px solid #ffe5a0; margin: 6px 0 14px; }
.sp-urgency.is-critical { background: #fff0f0; color: #c0392b; border-color: #ffb3b3; }
.sp-urgency__dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; animation: sp-blink 1.5s infinite; }

.sp-benefits { margin-top: 16px; }
.sp-benefits__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.sp-benefits__grid.is-single { grid-template-columns: 1fr; }
.sp-pay { position: relative; border-radius: 14px; padding: 14px 14px 12px; border: 1.5px solid; background: var(--sp-card); }
.sp-pay--cash { border-color: #16a34a; background: linear-gradient(180deg, #f0fdf4 0%, var(--sp-card) 60%); }
.sp-pay--trf { border-color: #2563eb; background: linear-gradient(180deg, #eff6ff 0%, var(--sp-card) 60%); }
html.sp-dark .sp-pay--cash, html.sp-dark .sp-pay--trf { background: var(--sp-card); }
.sp-pay__badge { position: absolute; top: 10px; right: 10px; font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 999px; color: #fff; }
.sp-pay--cash .sp-pay__badge { background: #16a34a; }
.sp-pay--trf .sp-pay__badge { background: #2563eb; }
.sp-pay__head { font-size: 13px; font-weight: 700; color: var(--sp-muted); margin-bottom: 6px; }
.sp-pay__price { font-size: 22px; font-weight: 800; letter-spacing: -.5px; margin-bottom: 2px; }
.sp-pay__save { font-size: 12.5px; font-weight: 600; color: #16a34a; }
.sp-pay--trf .sp-pay__save { color: #2563eb; }
.sp-benefits__list { list-style: none; margin: 0 0 10px; padding: 12px 14px; background: var(--sp-bg-alt); border: 1px solid var(--sp-border); border-radius: 12px; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.sp-benefits__list span { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #16a34a; color: #fff; font-size: 11px; font-weight: 900; margin-right: 6px; }
.sp-benefits__free { background: linear-gradient(135deg, #16a34a, #22c55e); color: #fff; text-align: center; padding: 10px 14px; border-radius: 12px; font-weight: 700; font-size: 14px; }

.sp-together { margin: 24px 0 8px; border-top: 1px solid var(--sp-border); padding-top: 22px; }
.sp-together__title { font-size: 12px; font-weight: 700; color: var(--sp-muted); text-transform: uppercase; letter-spacing: .08em; margin: 0 0 14px; }
.sp-together__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }

@media (max-width: 860px) {
	.single-product div.product { grid-template-columns: 1fr; gap: 18px; }
	.single-product .woocommerce-product-gallery { max-width: 340px; margin: 0 auto; padding: 8px; }
	.single-product .woocommerce-product-gallery img { max-height: 300px; object-fit: contain; }
	.single-product .product_title { font-size: 21px; }
	.sp-benefits__grid { grid-template-columns: 1fr; }
	.sp-together__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Mini carrito ---------- */
.sp-drawer-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .25); z-index: 99998; }
.sp-drawer-overlay[hidden] { display: none; }
.sp-drawer { position: fixed; top: 12px; right: 12px; bottom: 12px; width: 350px; max-width: calc(100vw - 24px); background: var(--sp-bg); z-index: 99999; display: flex; flex-direction: column; transform: translateX(calc(100% + 24px)); transition: transform .3s cubic-bezier(.4, 0, .2, 1); border-radius: 20px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .18); visibility: hidden; }
.sp-drawer.is-open { transform: translateX(0); visibility: visible; }
.sp-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--sp-border); }
.sp-drawer__ok { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 14px; }
.sp-drawer__ok span { width: 24px; height: 24px; border-radius: 50%; background: #e1f5ee; color: #0f6e56; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; }
.sp-drawer__close { width: 30px; height: 30px; border-radius: 50%; border: 0; background: var(--sp-bg-alt); cursor: pointer; font-size: 18px; line-height: 1; }
.sp-drawer__items { flex: 1; overflow-y: auto; padding: 8px 12px; min-height: 0; }
.sp-drawer__item { display: flex; gap: 12px; padding: 10px 8px; border-radius: 12px; margin-bottom: 4px; }
.sp-drawer__item.is-new { background: rgba(24, 95, 165, .08); }
.sp-drawer__item img { width: 58px; height: 58px; border-radius: 10px; object-fit: cover; background: var(--sp-bg-alt); flex-shrink: 0; }
.sp-drawer__item p { margin: 0 0 2px; font-size: 12.5px; line-height: 1.4; }
.sp-drawer__item small { color: var(--sp-muted); font-size: 11px; display: block; }
.sp-drawer__item b { color: var(--sp-blue); font-size: 13px; }
html.sp-dark .sp-drawer__item b { color: var(--sp-cyan); }
.sp-drawer__tag { display: inline-block; font-size: 10px; font-weight: 700; background: var(--sp-blue); color: #fff; border-radius: 99px; padding: 2px 8px; margin-bottom: 4px; }
.sp-drawer__bottom { padding: 12px 20px 20px; border-top: 1px solid var(--sp-border); }
.sp-drawer__totals { background: var(--sp-bg-alt); border-radius: 14px; padding: 12px 14px; margin-bottom: 10px; font-size: 13px; }
.sp-drawer__totals > div { display: flex; justify-content: space-between; margin-bottom: 4px; }
.sp-drawer__totals > div:last-child { margin-bottom: 0; }
.sp-drawer__totals .is-green { color: #0f6e56; }
.sp-drawer__totals em { font-style: normal; font-size: 10px; background: #e1f5ee; color: #0f6e56; border-radius: 99px; padding: 1px 6px; }
.sp-drawer__save { background: #e1f5ee; color: #0f6e56; border-radius: 10px; padding: 9px 12px; font-size: 12px; font-weight: 600; margin-bottom: 4px; }
@media (max-width: 480px) { .sp-drawer { inset: 0; width: 100%; max-width: 100%; border-radius: 0; } }

/* ---------- Popup de salida ---------- */
.sp-exit { position: fixed; inset: 0; z-index: 999998; background: rgba(0, 0, 0, .45); display: flex; align-items: center; justify-content: center; padding: 16px; }
.sp-exit[hidden] { display: none; }
.sp-exit__box { background: var(--sp-bg); border-radius: 20px; width: 100%; max-width: 420px; overflow: hidden; }
.sp-exit__head { background: var(--sp-blue); color: #fff; text-align: center; padding: 26px 26px 22px; position: relative; }
.sp-exit__close { position: absolute; top: 12px; right: 12px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .18); color: #fff; font-size: 18px; cursor: pointer; }
.sp-exit__icon { font-size: 28px; }
.sp-exit__pre { margin: 6px 0 2px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; opacity: .8; }
.sp-exit__title { margin: 0; font-size: 20px; font-weight: 600; }
.sp-exit__body { padding: 22px 26px; font-size: 13px; color: var(--sp-muted); }
.sp-exit__body p { margin: 0 0 6px; }
.sp-exit__card { display: flex; align-items: center; gap: 14px; background: #e1f5ee; border-radius: 12px; padding: 14px 16px; margin-bottom: 14px; color: #085041; }
.sp-exit__card > span { font-size: 24px; }
.sp-exit__card small { display: block; color: #0f6e56; font-weight: 600; }
.sp-exit__card strong { font-size: 22px; }
.sp-exit__no { display: block; width: 100%; margin-top: 6px; border: 0; background: transparent; color: var(--sp-muted); cursor: pointer; padding: 8px; }

/* ---------- Carrito (pagina) ---------- */
.woocommerce-cart-form table.shop_table { width: 100%; border-collapse: collapse; background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 14px; overflow: hidden; }
.woocommerce-cart-form table.shop_table th, .woocommerce-cart-form table.shop_table td { padding: 12px; border-bottom: 1px solid var(--sp-border); text-align: left; font-size: 14px; }
.woocommerce-cart-form .product-thumbnail img { width: 64px; border-radius: 8px; }
.woocommerce-cart-form .product-remove a { color: #e53935 !important; text-decoration: none; font-size: 20px; }
.woocommerce-cart-form .quantity input { width: 70px; text-align: center; }
.woocommerce-cart-form .actions .coupon { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.cart-collaterals .cart_totals { background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 14px; padding: 18px; margin-top: 20px; }
.cart-collaterals .cart_totals table { width: 100%; border-collapse: collapse; }
.cart-collaterals .cart_totals th, .cart-collaterals .cart_totals td { padding: 10px 6px; border-bottom: 1px solid var(--sp-border); text-align: left; vertical-align: top; }
.wc-proceed-to-checkout .checkout-button { width: 100%; padding: 15px; font-size: 15px; margin-top: 10px; }
@media (min-width: 992px) {
	.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 26px; align-items: start; }
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.cart-collaterals .cart_totals { margin-top: 0; position: sticky; top: 150px; }
}
@media (max-width: 640px) {
	.woocommerce-cart-form table.shop_table thead { display: none; }
	.woocommerce-cart-form table.shop_table tr.cart_item { display: grid; grid-template-columns: 70px 1fr auto; gap: 4px 10px; padding: 10px; border-bottom: 1px solid var(--sp-border); }
	.woocommerce-cart-form table.shop_table tr.cart_item td { border: 0; padding: 2px 0; }
	.woocommerce-cart-form table.shop_table tr.cart_item td::before { display: none; }
	.woocommerce-cart-form .product-thumbnail { grid-row: span 3; }
	.woocommerce-cart-form .product-remove { grid-column: 3; grid-row: 1; }
	.woocommerce-cart-form .product-price { display: none; }
}

/* Barra de minimo de compra */
.sp-min { background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 14px; padding: 14px 16px; margin: 14px 0; font-size: 13px; }
.sp-min__label { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; font-weight: 600; }
.sp-min__label b { color: #35378c; white-space: nowrap; }
.sp-min__bar { background: var(--sp-bg-alt); border-radius: 99px; height: 10px; overflow: hidden; margin-bottom: 8px; }
.sp-min__bar i { display: block; height: 100%; border-radius: 99px; transition: width .6s ease; }
.sp-min--warn .sp-min__bar i { background: linear-gradient(90deg, #ff6b6b, #ffa500); }
.sp-min--almost .sp-min__bar i { background: linear-gradient(90deg, #ffa500, #f5d623); }
.sp-min--ok .sp-min__bar i { background: linear-gradient(90deg, #30bad6, #35378c); }
.sp-min--warn .sp-min__msg { color: #c0392b; }
.sp-min--almost .sp-min__msg { color: #e67e22; }
.sp-min--ok .sp-min__msg, .sp-min--ok .sp-min__label b { color: #27ae60; }

/* ---------- Paginas y blog ---------- */
.sp-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sp-post-card__link { display: block; background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--sp-text); padding-bottom: 14px; }
.sp-post-card__link img { width: 100%; height: 180px; object-fit: cover; }
.sp-post-card__link h2 { font-size: 16px; padding: 0 14px; }
.sp-post-card__link p { font-size: 13px; color: var(--sp-muted); padding: 0 14px; margin: 0; }
@media (max-width: 760px) { .sp-posts { grid-template-columns: 1fr; } }
.sp-404 { text-align: center; }
.sp-404__search { max-width: 520px; margin: 18px auto; }
.sp-page--woo { padding-top: 16px; }

/* ---------- Ajustes de especificidad sobre los estilos de WooCommerce ---------- */
.woocommerce div.product p.price, .woocommerce div.product span.price,
.woocommerce ul.products li.product .price { color: var(--sp-text); }
.woocommerce div.product .stock { color: #16a34a; }
.woocommerce div.product .stock.out-of-stock { color: #c0392b; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 12px; margin: 0 0 6px; font-size: 13px; }
.woocommerce ul.products li.product .price { padding: 0 12px; margin: auto 0 10px; font-size: 16px; font-weight: 800; }
.woocommerce ul.products li.product .button { margin: 0 12px; }
.woocommerce ul.products li.product .onsale { margin: 0; top: 10px; right: auto; left: 10px; }
.woocommerce .cart-collaterals, .woocommerce .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }
.woocommerce .cart-collaterals .cross-sells { display: none; }
html.sp-dark .sp-protorque { border-color: rgba(255, 255, 255, .25); }
@media (max-width: 768px) { .sp-wa-float { width: 48px; height: 48px; left: 14px; bottom: 14px; } }

/* Avisos de Woo: el icono no pisa el texto */
.woocommerce-message, .woocommerce-info, .woocommerce-error { position: relative; padding-left: 46px !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { position: absolute; left: 16px; top: 15px; }
.woocommerce-message { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.woocommerce-message .button { float: none; margin: 0; order: 2; }
.single_add_to_cart_button.loading { opacity: .7; }

/* Buscador: precios sin subrayado */
.dgwt-wcas-suggestion, .dgwt-wcas-suggestion *, .dgwt-wcas-sp, .dgwt-wcas-sp * { text-decoration: none !important; }
.dgwt-wcas-sp del { text-decoration: line-through !important; color: var(--sp-muted) !important; font-weight: 500 !important; }
/* Disponibilidad "a pedido" (ELIT) */
.woocommerce div.product .stock.sp-on-request { color: var(--sp-blue); }
html.sp-dark .woocommerce div.product .stock.sp-on-request { color: var(--sp-cyan); }

/* ---------- Carrito: caja de totales con envio a todo el ancho ---------- */
@media (min-width: 992px) { .woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr) 420px; } }
.cart-collaterals .cart_totals { overflow: hidden; }
.cart-collaterals .cart_totals h2 { font-size: 22px; margin: 0 0 12px; }
.cart-collaterals .cart_totals table.shop_table { width: 100% !important; border: 0 !important; margin: 0; table-layout: auto; }
.cart-collaterals .cart_totals table.shop_table tbody { display: block; }
.cart-collaterals .cart_totals table.shop_table tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 1px solid var(--sp-border); padding: 10px 0; }
.cart-collaterals .cart_totals table.shop_table th,
.cart-collaterals .cart_totals table.shop_table td { display: block; border: 0 !important; padding: 0 !important; background: none !important; width: auto; }
.cart-collaterals .cart_totals table.shop_table td::before { display: none !important; }
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals { flex-direction: column; align-items: stretch; }
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals td { width: 100%; }
.cart-collaterals .cart_totals tr.order-total { border-bottom: 0; font-size: 17px; }
.cart-collaterals .cart_totals tr.order-total td strong { font-size: 20px; }
.sm-shipping-wrap .sm-option-card { padding: 12px !important; }
.sm-shipping-wrap .sm-name { font-size: 13.5px !important; font-weight: 600 !important; line-height: 1.35; }
.sm-shipping-wrap .sm-desc { font-size: 12px !important; }
.woocommerce-shipping-calculator { margin-top: 8px; font-size: 13px; }
html.sp-dark .sm-option-card { background: var(--sp-card) !important; border-color: var(--sp-border) !important; }
html.sp-dark .sm-option-card.sm-selected { background: rgba(24, 95, 165, .18) !important; border-color: var(--sp-cyan) !important; }
html.sp-dark .sm-name { color: var(--sp-text) !important; }
html.sp-dark .sm-address { background: var(--sp-bg-alt) !important; }

/* ---------- Buscador: siempre todo el ancho disponible ---------- */
.sp-header__row .sp-header__search { flex: 1 1 680px; min-width: 0; }
.sp-header .sp-header__search > *,
.sp-header .sp-header__search .dgwt-wcas-search-form { width: 100% !important; max-width: none !important; }
.woocommerce-cart table.cart td.actions .coupon #coupon_code { width: 190px !important; min-width: 190px; }

/* ---------- Ficha en mobile: nada puede ensanchar la pagina ---------- */
html, body { overflow-x: clip; max-width: 100%; }
.single-product div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.single-product div.product > * { min-width: 0; max-width: 100%; }
.single-product .summary, .single-product .product_title, .single-product .woocommerce-product-details__short-description { overflow-wrap: anywhere; word-break: normal; }
.single-product .woocommerce-product-details__short-description img,
.single-product .woocommerce-product-details__short-description iframe,
.single-product .woocommerce-product-details__short-description table { max-width: 100% !important; height: auto; }
.single-product .woocommerce-product-gallery .flex-viewport { max-width: 100%; }
@media (max-width: 991px) {
	.single-product div.product { grid-template-columns: minmax(0, 1fr); }
	.single-product .woocommerce-product-gallery { width: 100% !important; max-width: 360px; }
}

/* ======================================================================
   Computacion (inicio): bloque oscuro estilo tienda de tecnologia
   ====================================================================== */
.sp-tech { background: #0a0d14; border: 1px solid #1b2230; border-radius: 22px; padding: 34px; color: #e8edf5; position: relative; overflow: hidden; }
.sp-tech::before { content: ""; position: absolute; inset: -40% auto auto -10%; width: 520px; height: 520px; background: radial-gradient(circle, rgba(41,171,226,.16), transparent 65%); pointer-events: none; }
.sp-tech > * { position: relative; }
.sp-tech__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 22px; }
.sp-tech__eyebrow { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--sp-cyan-2); margin-bottom: 8px; }
.sp-tech__head h2 { margin: 0; color: #fff; font-size: clamp(22px, 2.8vw, 30px); font-weight: 800; letter-spacing: -.01em; }
.sp-tech__all { color: #fff !important; font-weight: 700; font-size: 13px; text-decoration: none !important; padding: 9px 16px; border: 1px solid #2a3344; border-radius: 999px; transition: border-color .2s, background .2s; }
.sp-tech__all:hover { border-color: var(--sp-cyan); background: rgba(41,171,226,.1); }

/* Fila de categorias con icono (inicio + paginas de categoria) */
.sp-cattiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 10px; }
.sp-cattile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 18px 10px 14px; border-radius: 14px; text-align: center; text-decoration: none !important; background: var(--sp-card); border: 1px solid var(--sp-border); color: var(--sp-text) !important; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.sp-cattile:hover { transform: translateY(-3px); border-color: var(--sp-cyan); box-shadow: 0 10px 24px rgba(41,171,226,.15); }
.sp-cattile__ico { width: 54px; height: 54px; border-radius: 14px; display: grid; place-items: center; color: var(--sp-cyan); background: rgba(41,171,226,.1); transition: background .18s, color .18s; }
.sp-cattile:hover .sp-cattile__ico, .sp-cattile.is-active .sp-cattile__ico { background: var(--sp-grad); color: #fff; }
.sp-cattile__name { font-size: 13.5px; font-weight: 700; line-height: 1.2; }
.sp-cattile small { font-size: 11.5px; color: var(--sp-muted); }
.sp-cattile.is-active { border-color: var(--sp-cyan); }
.sp-tech .sp-cattile { background: #111621; border-color: #1f2737; color: #e8edf5 !important; }
.sp-tech .sp-cattile small { color: #8592a8; }
.sp-tech .sp-cattile:hover { border-color: var(--sp-cyan); background: #131b29; }

/* Pestanas + carrusel */
.sp-tech__tabs { display: flex; gap: 8px; margin: 28px 0 16px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.sp-tech__tabs::-webkit-scrollbar { display: none; }
.sp-tech__tab { flex: 0 0 auto; padding: 9px 18px; border-radius: 999px; border: 1px solid #2a3344; background: transparent; color: #b8c2d3; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: all .18s; }
.sp-tech__tab:hover { color: #fff; border-color: #3b4659; }
.sp-tech__tab.is-active { background: #fff; color: #0a0d14; border-color: #fff; }
.sp-tech__panel { display: none; }
.sp-tech__panel.is-active { display: block; }
.sp-tech .sp-card { background: #111621; border-color: #1f2737; }
.sp-tech .sp-card:hover { border-color: var(--sp-cyan); }
.sp-tech .sp-card__img { background: #fff; }
.sp-tech .sp-card__name { color: #e8edf5 !important; }
.sp-tech .sp-card__price, .sp-tech .sp-card__price .amount { color: #fff !important; }
.sp-tech .sp-carousel__arrow { background: #111621; color: #fff; border-color: #2a3344; }
.sp-tech .sp-carousel__dot { background: #2a3344; }
.sp-tech .sp-carousel__dot.is-active { background: var(--sp-cyan); }
.sp-tech__perks { display: flex; flex-wrap: wrap; gap: 10px 28px; justify-content: center; margin-top: 22px; padding-top: 20px; border-top: 1px solid #1b2230; font-size: 13px; color: #b8c2d3; }
.sp-tech__perks span { display: inline-flex; align-items: center; gap: 8px; }
.sp-tech__perks svg { width: 18px; height: 18px; color: var(--sp-cyan); }


/* Paginas de categoria */
.sp-archive-tiles { margin: 0 0 22px; }
.sp-archive-tiles .sp-cattiles { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }

@media (max-width: 767px) {
	.sp-tech { padding: 22px 16px; border-radius: 16px; }
	.sp-cattiles { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 2px 16px 6px; }
	.sp-cattiles::-webkit-scrollbar { display: none; }
	.sp-cattile { flex: 0 0 108px; scroll-snap-align: start; padding: 14px 8px 12px; }
	.sp-cattile__ico { width: 46px; height: 46px; }
	.sp-tech__perks { justify-content: flex-start; flex-direction: column; }
	.sp-archive-tiles .sp-cattiles { display: flex; }
}

/* ---------- Llega hoy / manana ---------- */
.sp-eta { display: flex; align-items: center; gap: 16px; border: 2px solid #22c55e; border-radius: 16px; padding: 14px 18px; margin: 14px 0 6px; background: rgba(34,197,94,.06); position: relative; }
.sp-eta__ico { color: #22c55e; flex-shrink: 0; display: grid; place-items: center; }
.sp-eta__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sp-eta__when { font-size: 22px; font-weight: 800; color: #16a34a; line-height: 1.1; letter-spacing: -.01em; }
.sp-eta__where { font-size: 14px; color: var(--sp-text); }
.sp-eta__where b { color: #16a34a; }
.sp-eta__hint { font-size: 12px; color: var(--sp-muted); }
.sp-eta__free { margin-left: auto; align-self: flex-start; background: #22c55e; color: #fff; font-size: 11px; font-weight: 800; padding: 5px 10px; border-radius: 999px; white-space: nowrap; }
.sp-eta:not(.is-today) { border-color: var(--sp-cyan); background: rgba(41,171,226,.06); }
.sp-eta:not(.is-today) .sp-eta__ico, .sp-eta:not(.is-today) .sp-eta__when { color: var(--sp-blue, #185fa5); }
html.sp-dark .sp-eta:not(.is-today) .sp-eta__ico, html.sp-dark .sp-eta:not(.is-today) .sp-eta__when { color: var(--sp-cyan); }
html.sp-dark .sp-eta.is-today .sp-eta__when, html.sp-dark .sp-eta__where b { color: #4ade80; }
.sp-eta-mini { font-size: 12px; font-weight: 700; color: var(--sp-blue, #185fa5); margin: 2px 0 4px; }
.sp-eta-mini.is-today { color: #16a34a; }
html.sp-dark .sp-eta-mini, .sp-tech .sp-eta-mini { color: var(--sp-cyan-2); }
html.sp-dark .sp-eta-mini.is-today, .sp-tech .sp-eta-mini.is-today { color: #4ade80; }
@media (max-width: 480px) { .sp-eta { gap: 12px; padding: 12px 14px; } .sp-eta__when { font-size: 19px; } .sp-eta__ico svg { width: 28px; height: 28px; } }

/* Migas de pan */
.sp-breadcrumb { font-size: 12.5px; color: var(--sp-muted); margin: 4px 0 14px; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.sp-breadcrumb a { color: var(--sp-muted); text-decoration: none; }
.sp-breadcrumb a:hover { color: var(--sp-cyan); }
.sp-breadcrumb .sep, .sp-breadcrumb .separator { margin: 0 4px; opacity: .6; }
.single-product .sp-breadcrumb { grid-column: 1 / -1; }
.term-description { margin: 26px 0 0; padding: 18px 20px; border: 1px solid var(--sp-border); border-radius: 12px; font-size: 14px; line-height: 1.6; color: var(--sp-muted); }

/* ======================================================================
   Categorias de Computacion: banner oscuro estilo tienda tech
   ====================================================================== */
.sp-cathero { background: #0a0d14; border: 1px solid #1b2230; border-radius: 22px; padding: 30px 30px 26px; margin: 0 0 26px; color: #e8edf5; position: relative; overflow: hidden; }
.sp-cathero::before { content: ""; position: absolute; top: -180px; right: -120px; width: 560px; height: 560px; background: radial-gradient(circle, rgba(124,58,237,.22), transparent 62%); pointer-events: none; }
.sp-cathero::after { content: ""; position: absolute; bottom: -220px; left: -140px; width: 520px; height: 520px; background: radial-gradient(circle, rgba(41,171,226,.18), transparent 62%); pointer-events: none; }
.sp-cathero > * { position: relative; z-index: 1; }
.sp-cathero__top { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 22px; }
.sp-cathero__eyebrow { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--sp-cyan-2) !important; text-decoration: none !important; margin-bottom: 8px; }
.sp-cathero__title { margin: 0; color: #fff; font-size: clamp(28px, 4vw, 44px); font-weight: 900; letter-spacing: -.02em; line-height: 1.05; }
.sp-cathero__sub { margin: 8px 0 0; color: #8f9bb0; font-size: 14px; }
.sp-cathero__perks { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.sp-cathero__perks li { display: flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid #222b3b; border-radius: 12px; background: rgba(255,255,255,.03); font-size: 12.5px; color: #b8c2d3; }
.sp-cathero__perks b { color: #fff; }
.sp-cathero__perks svg { width: 18px; height: 18px; color: var(--sp-cyan); }
.sp-cathero .sp-cattiles { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); }
.sp-cathero .sp-cattile { background: #111621; border-color: #1f2737; color: #e8edf5 !important; }
.sp-cathero .sp-cattile small { color: #8592a8; }
.sp-cathero .sp-cattile:hover, .sp-cathero .sp-cattile.is-active { border-color: var(--sp-cyan); background: #131b29; }
.sp-tech-archive ul.products li.product { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.sp-tech-archive ul.products li.product:hover { transform: translateY(-4px); border-color: var(--sp-cyan); box-shadow: 0 14px 30px rgba(41,171,226,.18); }
@media (max-width: 767px) {
	.sp-cathero { padding: 22px 16px 18px; border-radius: 16px; }
	.sp-cathero__perks { width: 100%; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
	.sp-cathero__perks li { flex: 0 0 auto; }
	.sp-cathero .sp-cattiles { display: flex; }
}

/* ---------- Marcas ---------- */
.sp-brands { margin-top: 26px; padding-top: 22px; border-top: 1px solid #1b2230; }
.sp-brands__label { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #8592a8; margin-bottom: 14px; text-align: center; }
.sp-brands__viewport { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.sp-brands__track { display: flex; gap: 12px; width: max-content; animation: sp-marquee 40s linear infinite; }
.sp-brands:hover .sp-brands__track { animation-play-state: paused; }
@keyframes sp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .sp-brands__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } }
.sp-brand { flex: 0 0 auto; min-width: 128px; height: 58px; padding: 0 20px; display: flex; align-items: center; justify-content: center; border: 1px solid #1f2737; border-radius: 12px; background: #111621; text-decoration: none !important; transition: border-color .2s, background .2s; }
.sp-brand:hover { border-color: var(--sp-cyan); background: #131b29; }
.sp-brand__logo { max-height: 30px; max-width: 110px; width: auto; height: auto; filter: grayscale(1) brightness(1.8); opacity: .8; transition: filter .2s, opacity .2s; }
.sp-brand:hover .sp-brand__logo { filter: none; opacity: 1; }
.sp-brand__word { font-family: 'Orbitron', 'Montserrat', sans-serif; font-weight: 800; font-size: 14px; letter-spacing: .06em; color: #b8c2d3; white-space: nowrap; transition: color .2s; }
.sp-brand:hover .sp-brand__word { color: #fff; }

.sp-brandchips { display: flex; align-items: center; gap: 8px; margin-top: 18px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.sp-brandchips::-webkit-scrollbar { display: none; }
.sp-brandchips__label { flex: 0 0 auto; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8592a8; margin-right: 4px; }
.sp-brandchip { flex: 0 0 auto; padding: 7px 14px; border-radius: 999px; border: 1px solid #2a3344; color: #b8c2d3 !important; font-size: 12.5px; font-weight: 700; text-decoration: none !important; transition: all .18s; }
.sp-brandchip small { color: #6b778c; font-weight: 600; margin-left: 2px; }
.sp-brandchip:hover { color: #fff !important; border-color: #3b4659; }
.sp-brandchip.is-active { background: #fff; color: #0a0d14 !important; border-color: #fff; }
.sp-brandchip.is-active small { color: #6b778c; }

/* ---------- Carrito en celular: cada producto como tarjeta ---------- */
.ywmmq-icon { display: none !important; } /* tilde verde de YITH Min/Max: el minimo ya lo maneja el tema */
@media (max-width: 768px) {
	.woocommerce-cart .woocommerce table.shop_table_responsive thead { display: none !important; }
	.woocommerce-cart .woocommerce table.shop_table_responsive,
	.woocommerce-cart .woocommerce table.shop_table_responsive tbody { display: block; width: 100%; border: 0; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item {
		display: grid !important; grid-template-columns: 72px minmax(0, 1fr) 28px;
		grid-template-areas: "img name del" "img price price" "img qty sub";
		gap: 6px 12px; align-items: center; padding: 14px 12px; margin: 0 0 10px;
		background: var(--sp-card); border: 1px solid var(--sp-border) !important; border-radius: 14px;
	}
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td {
		display: block !important; border: 0 !important; padding: 0 !important; text-align: left !important; background: none !important; min-width: 0;
	}
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td::before { display: none !important; content: none !important; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-thumbnail { grid-area: img; display: block !important; align-self: start; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-thumbnail img { width: 72px !important; height: 72px; object-fit: contain; border-radius: 10px; background: #fff; border: 1px solid var(--sp-border); }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-name { grid-area: name; font-size: 13.5px; font-weight: 700; line-height: 1.3; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-name a { color: var(--sp-text) !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-remove { grid-area: del; justify-self: end; align-self: start; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-remove a.remove { width: 26px; height: 26px; line-height: 24px; font-size: 18px; text-align: center; border-radius: 50%; background: rgba(229,57,53,.08); color: #e53935 !important; display: inline-block; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-price { grid-area: price; display: block !important; font-size: 12px; color: var(--sp-muted); }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-price::after { content: " c/u"; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-quantity { grid-area: qty; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-quantity .quantity input.qty { width: 64px; height: 38px; text-align: center; border-radius: 10px; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-subtotal { grid-area: sub; grid-column: 2 / -1; justify-self: end; font-size: 16px; font-weight: 800; color: var(--sp-text); }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-quantity + td.product-subtotal { grid-column: 3 / -1; }
	.woocommerce-cart .woocommerce table.shop_table_responsive tr:not(.cart_item) { display: block; }
	.woocommerce-cart .woocommerce table.shop_table_responsive td.actions { display: block !important; padding: 12px !important; background: var(--sp-card) !important; border: 1px solid var(--sp-border) !important; border-radius: 14px; text-align: left !important; }
	.woocommerce-cart .woocommerce table.shop_table_responsive td.actions::before { display: none !important; }
	.woocommerce-cart table.cart td.actions .coupon { display: flex !important; gap: 8px; width: 100%; float: none !important; margin-bottom: 10px; }
	.woocommerce-cart table.cart td.actions .coupon #coupon_code { flex: 1; width: auto !important; min-width: 0 !important; }
	.woocommerce-cart table.cart td.actions .coupon .button { flex: 0 0 auto; width: auto !important; }
	.woocommerce-cart table.cart td.actions > .button[name="update_cart"] { width: 100%; }
}

/* Tabla de especificaciones (descripcion SEO) */
.sp-specs { width: 100%; border-collapse: collapse; margin: 10px 0 22px; font-size: 14px; border: 1px solid var(--sp-border); border-radius: 12px; overflow: hidden; }
.sp-specs th, .sp-specs td { padding: 10px 14px; border-bottom: 1px solid var(--sp-border); text-align: left; vertical-align: top; }
.sp-specs th { width: 38%; background: var(--sp-bg-alt); font-weight: 700; color: var(--sp-text); }
.sp-specs tr:last-child th, .sp-specs tr:last-child td { border-bottom: 0; }
.woocommerce-Tabs-panel--description h2 { font-size: 18px; margin: 22px 0 8px; }
@media (max-width: 600px) { .sp-specs th { width: 45%; } .sp-specs th, .sp-specs td { padding: 9px 10px; font-size: 13px; } }
.sp-pay__park { margin-top: 8px; font-size: 12px; font-weight: 600; color: var(--sp-text); }
/* Estacionamiento: "P" azul */
.sp-park { display: inline-flex; align-items: center; gap: 6px; }
.sp-park-ico { display: inline-grid; place-items: center; width: 18px; height: 18px; flex-shrink: 0; border-radius: 4px; background: #1d6fe0; color: #fff; font: 800 12px/1 Arial, Helvetica, sans-serif; letter-spacing: 0; }
.sp-ticker__item .sp-park-ico { width: 16px; height: 16px; font-size: 11px; margin-right: 6px; vertical-align: -3px; display: inline-grid; }
.sm-desc.sm-park { margin-top: 4px; font-weight: 600; }

/* ---------- Inova B2B ---------- */
.sp-inova--b2b { grid-template-columns: 1fr 320px; gap: 34px; background: radial-gradient(120% 140% at 0% 0%, #26507f 0%, #1a3354 55%, #142844 100%); padding: 38px; }
.sp-inova--b2b::after { background: rgba(245, 166, 35, .06); }
.sp-inova--b2b .sp-inova__left { position: relative; z-index: 1; }
.sp-inova--b2b h2 { font-size: clamp(24px, 3.2vw, 34px); line-height: 1.15; letter-spacing: -.5px; margin: 10px 0 12px; }
.sp-inova--b2b p { font-size: 14px; line-height: 1.6; max-width: 520px; color: #d3dfef; }
.sp-inova__kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 20px 0 16px; }
.sp-inova__kpi { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; padding: 12px 12px 11px; }
.sp-inova__kpi b { display: block; font-size: 14px; font-weight: 800; color: #fff; }
.sp-inova__kpi b::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #f5a623; margin-right: 7px; vertical-align: 2px; }
.sp-inova__kpi small { display: block; font-size: 11.5px; color: #b9c9de; margin-top: 3px; line-height: 1.35; }
.sp-inova__cats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; }
.sp-inova__cats span { font-size: 11.5px; font-weight: 600; color: #d3dfef; background: rgba(0, 0, 0, .18); border-radius: 999px; padding: 6px 11px; }
.sp-inova__ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.sp-inova__wa { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 12px 20px; background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .35); font-weight: 700; }
.sp-inova__wa:hover { color: #fff; border-color: #25d366; background: rgba(37, 211, 102, .12); }
.sp-inova__wa svg { color: #25d366; }
.sp-inova--b2b .sp-inova__right { gap: 12px; }
.sp-inova--b2b .sp-inova__logo { height: 118px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.sp-inova--b2b .sp-inova__logo small { letter-spacing: 2px; font-weight: 700; margin-top: 2px; }
.sp-inova__steps { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px; padding: 14px 16px; }
.sp-inova__stepshead { font-size: 11px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: #f5a623; margin-bottom: 10px; }
.sp-inova__step { display: flex; gap: 12px; align-items: flex-start; padding: 8px 0; }
.sp-inova__step + .sp-inova__step { border-top: 1px dashed rgba(255, 255, 255, .14); }
.sp-inova__step > span { width: 24px; height: 24px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; background: #f5a623; color: #111; font-size: 12px; font-weight: 800; }
.sp-inova__step b { display: block; font-size: 13px; color: #fff; }
.sp-inova__step small { display: block; font-size: 11.5px; color: #b9c9de; line-height: 1.4; margin-top: 1px; }
@media (max-width: 980px) { .sp-inova__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
	.sp-inova--b2b { grid-template-columns: 1fr; padding: 26px 18px; gap: 22px; }
	.sp-inova--b2b h2 br { display: none; }
	.sp-inova--b2b .sp-pill { letter-spacing: 1px; font-size: 10px; }
	.sp-inova--b2b .sp-inova__logo { height: 84px; font-size: 32px; }
	.sp-inova__ctas .sp-btn { flex: 1 1 100%; justify-content: center; text-align: center; }
}

/* ---------- Catalogo de marcas ---------- */
.sp-bcat { margin: 34px 0 10px; }
.sp-bcat__title { font-family: var(--sp-font); font-size: clamp(20px, 2.4vw, 26px); font-weight: 800; text-align: center; margin: 0 0 18px; letter-spacing: -.3px; }
.sp-bcat__title::after { content: ""; display: block; width: 46px; height: 3px; border-radius: 3px; background: var(--sp-grad); margin: 8px auto 0; }
.sp-bcat__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.sp-bcat__item { position: relative; display: block; aspect-ratio: 2.2 / 1; border-radius: 14px; overflow: hidden; background: #111827; box-shadow: var(--sp-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.sp-bcat__item > img:first-child { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease, filter .35s ease; }
.sp-bcat__logo { position: absolute; top: 14px; left: 16px; max-height: 40px; max-width: 42%; width: auto; height: auto; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .45)); pointer-events: none; }
.sp-bcat__name--over { position: absolute; top: 14px; left: 16px; padding: 0; font-size: clamp(14px, 1.6vw, 18px); text-shadow: 0 1px 6px rgba(0, 0, 0, .6); }
.sp-bcat__item:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0, 0, 0, .18); }
.sp-bcat__item:hover > img:first-child { transform: scale(1.05); filter: blur(1px) brightness(.9); }
.sp-bcat__item.no-img { background: linear-gradient(135deg, #1b2440, #3a1f63); display: grid; place-items: center; }
.sp-bcat__name { color: #fff; font-family: var(--sp-tech); font-size: clamp(16px, 2vw, 22px); font-weight: 800; letter-spacing: 1px; text-align: center; padding: 0 12px; }
.sp-bcat__count { position: absolute; right: 10px; bottom: 9px; font-size: 11px; font-weight: 700; color: #fff; background: rgba(0, 0, 0, .55); backdrop-filter: blur(4px); padding: 4px 9px; border-radius: 999px; opacity: 0; transform: translateY(4px); transition: .2s ease; }
.sp-bcat__item:hover .sp-bcat__count { opacity: 1; transform: none; }
.sp-bcat__item.is-extra { display: none; }
.sp-bcat.is-open .sp-bcat__item.is-extra { display: block; }
.sp-bcat.is-open .sp-bcat__item.is-extra.no-img { display: grid; }
.sp-bcat__more { display: block; margin: 18px auto 0; padding: 12px 24px; border-radius: 999px; border: 1.5px solid var(--sp-border); background: var(--sp-card); color: var(--sp-text); font-family: var(--sp-font); font-weight: 700; font-size: 14px; cursor: pointer; }
.sp-bcat__more:hover { border-color: var(--sp-cyan); }
@media (max-width: 900px) { .sp-bcat__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 600px) { .sp-bcat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .sp-bcat__item { border-radius: 10px; } .sp-bcat__logo { top: 50%; left: 50%; transform: translate(-50%, -50%); max-height: 34px; max-width: 60%; } .sp-bcat__item > img:first-child { filter: brightness(.75); } .sp-bcat__count { opacity: 1; transform: none; font-size: 10px; } }

/* Pagina de marca */
.sp-bhero { display: grid; grid-template-columns: 320px 1fr; gap: 22px; align-items: center; margin: 0 0 22px; padding: 14px; border-radius: 16px; background: linear-gradient(135deg, #111827, #1e1b4b); color: #fff; }
.sp-bhero__tile { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 2.2 / 1; background: #0b0f1a; }
.sp-bhero__tile .sp-bhero__cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.sp-bhero__tile .sp-bhero__logo { position: absolute; top: 12px; left: 14px; max-height: 36px; max-width: 45%; width: auto; height: auto; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .5)); }
.sp-bhero__txt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sp-bhero__txt span { font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #8fe3ff; }
.sp-bhero__txt strong { font-size: clamp(18px, 2.2vw, 24px); font-weight: 800; line-height: 1.2; }
.sp-bhero__txt ul { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: #cbd5e1; }
@media (max-width: 700px) { .sp-bhero { grid-template-columns: 1fr; gap: 14px; } }
