/* ecuarchivos — piel "programa". Fase 1: base, cabecera y pie. Todo bajo body.ecu-skin. */

/* ---------- Tokens ---------- */
body.ecu-skin {
	--e-ink: #0B1220;
	--e-text: #1A2230;
	--e-soft: #2B3546;
	--e-muted: #4A5565;
	--e-line: #E1E6ED;
	--e-line-strong: #D5DBE3;
	--e-field: #C9D0DA;
	--e-panel: #F6F8FA;
	--e-panel-2: #FAFBFC;
	--e-blue: #0D4A7A;
	--e-blue-hover: #0B3E66;
	--e-blue-2: #1565C0;
	--e-blue-50: #EAF2FC;
	--e-blue-100: #CFE0F5;
	--e-ok: #1E6B41;
	--e-ok-dot: #1E8A50;
	--e-radius: 8px;
	--e-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--e-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	--e-ease-out: cubic-bezier(0.23, 1, 0.32, 1);

	/* Paleta global de Astra */
	--ast-global-color-0: #0D4A7A;
	--ast-global-color-1: #0B3E66;
	--ast-global-color-2: #0B1220;
	--ast-global-color-3: #1A2230;
	--ast-global-color-4: #F2F6FB;
	--ast-global-color-5: #FFFFFF;
	--ast-global-color-6: #D5DBE3;
	--ast-global-color-7: #0B1220;
	--ast-global-color-8: #1A2230;

	background: #FFFFFF;
	color: var(--e-text);
	font-family: var(--e-sans);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Colores y letras del kit de Elementor */
body.ecu-skin.elementor-kit-4 {
	--e-global-color-primary: #0D4A7A;
	--e-global-color-secondary: #1565C0;
	--e-global-color-text: #1A2230;
	--e-global-color-accent: #1565C0;
	--e-global-typography-primary-font-family: 'IBM Plex Sans';
	--e-global-typography-secondary-font-family: 'IBM Plex Sans';
	--e-global-typography-text-font-family: 'IBM Plex Sans';
	--e-global-typography-accent-font-family: 'IBM Plex Sans';
}

/* ---------- Tipografía ---------- */
body.ecu-skin,
body.ecu-skin button,
body.ecu-skin input,
body.ecu-skin select,
body.ecu-skin textarea {
	font-family: var(--e-sans);
}
body.ecu-skin h1, body.ecu-skin h2, body.ecu-skin h3,
body.ecu-skin h4, body.ecu-skin h5, body.ecu-skin h6,
body.ecu-skin .entry-title,
body.ecu-skin .woocommerce-loop-product__title,
body.ecu-skin .product_title {
	font-family: var(--e-sans);
	color: var(--e-ink);
	letter-spacing: -0.015em;
}
body.ecu-skin a { color: var(--e-blue-2); }
body.ecu-skin code,
body.ecu-skin kbd,
body.ecu-skin .ecu-mono { font-family: var(--e-mono); }

/* ---------- Botones ---------- */
body.ecu-skin .button,
body.ecu-skin button.button,
body.ecu-skin a.button,
body.ecu-skin input[type="submit"],
body.ecu-skin .ast-button,
body.ecu-skin .wp-element-button,
body.ecu-skin .wp-block-button__link,
body.ecu-skin .single_add_to_cart_button,
body.ecu-skin .checkout-button {
	background-color: var(--e-blue);
	border: 1px solid var(--e-blue);
	border-radius: var(--e-radius);
	color: #FFFFFF;
	font-family: var(--e-sans);
	font-weight: 600;
	letter-spacing: 0;
	box-shadow: none;
	transition: transform 160ms var(--e-ease-out), background-color 150ms ease, border-color 150ms ease;
}
body.ecu-skin .button:active,
body.ecu-skin input[type="submit"]:active,
body.ecu-skin .ast-button:active,
body.ecu-skin .wp-element-button:active,
body.ecu-skin .single_add_to_cart_button:active,
body.ecu-skin .checkout-button:active {
	transform: scale(0.97);
}
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .button:hover,
	body.ecu-skin button.button:hover,
	body.ecu-skin a.button:hover,
	body.ecu-skin input[type="submit"]:hover,
	body.ecu-skin .ast-button:hover,
	body.ecu-skin .wp-element-button:hover,
	body.ecu-skin .single_add_to_cart_button:hover,
	body.ecu-skin .checkout-button:hover {
		background-color: var(--e-blue-hover);
		border-color: var(--e-blue-hover);
		color: #FFFFFF;
	}
}
body.ecu-skin .button:focus-visible,
body.ecu-skin input[type="submit"]:focus-visible,
body.ecu-skin .single_add_to_cart_button:focus-visible {
	outline: 2px solid var(--e-blue-2);
	outline-offset: 2px;
}

/* ---------- Campos ---------- */
body.ecu-skin input[type="text"],
body.ecu-skin input[type="email"],
body.ecu-skin input[type="tel"],
body.ecu-skin input[type="search"],
body.ecu-skin input[type="password"],
body.ecu-skin input[type="number"],
body.ecu-skin select,
body.ecu-skin textarea {
	border: 1px solid var(--e-field);
	border-radius: var(--e-radius);
	background-color: #FFFFFF;
	color: var(--e-ink);
	transition: border-color 150ms ease, box-shadow 150ms ease;
}
body.ecu-skin input:focus,
body.ecu-skin select:focus,
body.ecu-skin textarea:focus {
	border-color: var(--e-blue-2);
	box-shadow: 0 0 0 3px rgba(21, 101, 192, 0.15);
	outline: none;
}
body.ecu-skin ::placeholder { color: #6B7586; }

/* ---------- Barra de ventana ---------- */
body.ecu-skin .ecu-titlebar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 16px;
	background: var(--e-panel);
	border-bottom: 1px solid var(--e-line);
	font-family: var(--e-mono);
	font-size: 12px;
	line-height: 1.4;
	color: var(--e-muted);
}
body.ecu-skin .ecu-titlebar__dots { display: flex; gap: 7px; }
body.ecu-skin .ecu-titlebar__dots span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #C9D0DA;
}
body.ecu-skin .ecu-titlebar__title {
	flex: 1;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
body.ecu-skin .ecu-titlebar__secure {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--e-ok);
	white-space: nowrap;
}

/* ---------- Cabecera (Astra header builder) ---------- */
body.ecu-skin .site-header .ast-primary-header-bar,
body.ecu-skin .site-header .main-header-bar {
	background: #FFFFFF;
	border-bottom: 1px solid var(--e-line);
	box-shadow: none;
}
body.ecu-skin .site-header .site-title a,
body.ecu-skin .site-header .site-title a:hover {
	font-family: var(--e-sans);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: -0.01em;
	color: var(--e-ink);
}
body.ecu-skin .site-header .custom-logo { border-radius: 7px; }

/* Menú principal: pestañas tipo barra de menús */
body.ecu-skin .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
	font-family: var(--e-sans);
	font-weight: 500;
	font-size: 14.5px;
	color: var(--e-soft);
	border-radius: 6px;
	transition: background-color 150ms ease, color 150ms ease;
}
body.ecu-skin .ast-builder-menu-1 .main-header-menu > .menu-item.current-menu-item > .menu-link,
body.ecu-skin .ast-builder-menu-1 .main-header-menu > .menu-item.current-menu-ancestor > .menu-link,
body.ecu-skin .ast-builder-menu-1 .main-header-menu > .menu-item.current-product_cat-ancestor > .menu-link {
	color: var(--e-blue);
	background: var(--e-blue-50);
}
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link {
		color: var(--e-ink);
		background: #F1F4F8;
	}
}

/* Submenús como menús desplegables de programa */
body.ecu-skin .ast-builder-menu-1 .main-header-menu .sub-menu {
	background: #FFFFFF;
	border: 1px solid var(--e-line-strong);
	border-radius: var(--e-radius);
	box-shadow: 0 10px 28px -10px rgba(11, 18, 32, 0.22);
	padding: 6px;
}
body.ecu-skin .ast-builder-menu-1 .main-header-menu .sub-menu .menu-link {
	font-family: var(--e-sans);
	font-size: 14px;
	color: var(--e-soft);
	border: 0;
	border-radius: 5px;
	padding: 8px 12px;
}
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ast-builder-menu-1 .main-header-menu .sub-menu .menu-item:hover > .menu-link {
		background: var(--e-blue-50);
		color: var(--e-blue);
	}
}

/* Iconos de la derecha: buscar, carrito, cuenta */
body.ecu-skin .site-header .ast-header-search .astra-search-icon,
body.ecu-skin .site-header .ast-header-account a,
body.ecu-skin .site-header .ast-site-header-cart .ast-icon,
body.ecu-skin .site-header .ast-header-account .ast-icon {
	color: var(--e-ink);
}
body.ecu-skin .site-header .ast-site-header-cart .ast-addon-cart-wrap,
body.ecu-skin .site-header .ast-menu-cart-outline .ast-addon-cart-wrap {
	border: 1px solid var(--e-line-strong);
	border-radius: var(--e-radius);
	color: var(--e-ink);
}
body.ecu-skin .site-header i.astra-icon.ast-icon-shopping-bag::after,
body.ecu-skin .site-header .astra-icon.astra-icon::after {
	background: var(--e-blue);
	border-color: var(--e-blue);
	color: #FFFFFF;
	font-family: var(--e-mono);
}

/* Menú del móvil (off-canvas) */
body.ecu-skin .ast-mobile-popup-drawer .ast-mobile-popup-inner,
body.ecu-skin #ast-mobile-header .ast-mobile-header-content {
	background: #FFFFFF;
}
body.ecu-skin .ast-mobile-popup-drawer .menu-link,
body.ecu-skin #ast-mobile-header .menu-link {
	font-family: var(--e-sans);
	color: var(--e-soft);
	border-color: var(--e-line);
}

/* ---------- Pie ---------- */
body.ecu-skin .site-footer,
body.ecu-skin .site-footer .site-primary-footer-wrap,
body.ecu-skin .site-footer .site-below-footer-wrap {
	background: var(--e-panel-2);
	border-color: var(--e-line);
	color: var(--e-soft);
}
body.ecu-skin .site-footer { border-top: 1px solid var(--e-line); }
body.ecu-skin .site-footer .widget-title {
	font-family: var(--e-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--e-muted);
	text-transform: uppercase;
}
body.ecu-skin .site-footer a,
body.ecu-skin .site-footer .menu-link {
	color: var(--e-soft);
	font-size: 14px;
}
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .site-footer a:hover { color: var(--e-blue); }
}
body.ecu-skin .site-footer .site-below-footer-wrap { display: none; }

/* Barra de estado */
body.ecu-skin .ecu-statusbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 22px;
	padding: 9px 16px;
	background: var(--e-panel);
	border-top: 1px solid var(--e-line);
	font-family: var(--e-mono);
	font-size: 12px;
	line-height: 1.5;
	color: #3A4556;
}
body.ecu-skin .ecu-statusbar a { color: #3A4556; text-decoration: none; }
body.ecu-skin .ecu-statusbar__ok { display: inline-flex; align-items: center; gap: 7px; }
body.ecu-skin .ecu-statusbar__ok i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--e-ok-dot);
}
body.ecu-skin .ecu-statusbar__end { margin-left: auto; }

/* ---------- Móvil ---------- */
@media (max-width: 768px) {
	body.ecu-skin .ecu-titlebar__title { text-align: left; }
	body.ecu-skin .ecu-titlebar__dots { display: none; }
	body.ecu-skin .ecu-statusbar__end { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
	body.ecu-skin .button:active,
	body.ecu-skin input[type="submit"]:active,
	body.ecu-skin .single_add_to_cart_button:active { transform: none; }
}

/* =====================================================================
   FASE 2 — cabecera v2 y portada (29/10/2026)
   ===================================================================== */
body.ecu-skin .ecu-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
body.ecu-skin .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Cabecera propia (escritorio) / Astra en el móvil ---------- */
body.ecu-skin .ecu-hdr { display: none; background: #FFFFFF; }
@media (min-width: 922px) {
	body.ecu-skin .ecu-hdr { display: block; }
	body.ecu-skin #ast-desktop-header { display: none; }
}
body.ecu-skin .ecu-hdr__top { background: var(--e-panel); border-bottom: 1px solid var(--e-line); }
body.ecu-skin .ecu-hdr__top-in { display: flex; align-items: center; gap: 22px; height: 42px; font-size: 13.5px; }
body.ecu-skin .ecu-hdr__top-in > a { display: inline-flex; align-items: center; gap: 7px; color: var(--e-soft); text-decoration: none; }
body.ecu-skin .ecu-hdr__grow { flex: 1; }
body.ecu-skin .ecu-hdr__secure { display: inline-flex; align-items: center; gap: 6px; font-family: var(--e-mono); font-size: 12px; color: var(--e-ok); }
body.ecu-skin .ecu-hdr__top-in > a.ecu-hdr__cart {
	gap: 8px; padding: 4px 10px; border: 1px solid var(--e-line-strong); border-radius: 18px; background: #FFFFFF; color: var(--e-ink);
	transition: transform 160ms var(--e-ease-out), border-color 150ms ease;
}
body.ecu-skin .ecu-hdr__cart:active { transform: scale(0.97); }
body.ecu-skin .ecu-hdr__count { font-family: var(--e-mono); font-size: 12px; background: var(--e-blue); color: #FFFFFF; border-radius: 10px; padding: 1px 7px; }

body.ecu-skin .ecu-hdr__main { display: flex; align-items: center; gap: 32px; padding-top: 20px; padding-bottom: 14px; }
body.ecu-skin .ecu-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; flex: none; }
body.ecu-skin .ecu-logo__text { display: flex; flex-direction: column; line-height: 1; }
body.ecu-skin .ecu-logo__word { font-family: 'Archivo', var(--e-sans); font-weight: 800; font-stretch: 112%; font-size: 27px; letter-spacing: -0.01em; color: var(--e-ink); }
body.ecu-skin .ecu-logo__word span { color: var(--e-blue-2); }
body.ecu-skin .ecu-logo__tld { font-family: var(--e-mono); font-size: 10.5px; letter-spacing: .32em; color: var(--e-muted); align-self: flex-end; margin-top: 3px; }

body.ecu-skin .ecu-hdr__search { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 9px; }
body.ecu-skin .ecu-hdr__try { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding-left: 18px; font-size: 13px; color: var(--e-muted); }
body.ecu-skin .ecu-hdr__try a {
	font-family: var(--e-mono); font-size: 12.5px; padding: 2px 9px; border: 1px solid var(--e-line-strong); border-radius: 12px;
	background: #FFFFFF; color: var(--e-blue); text-decoration: none; transition: border-color 150ms ease;
}
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-hdr__try a:hover { border-color: var(--e-blue-2); }
	body.ecu-skin .ecu-hdr__top-in > a:hover { color: var(--e-blue); }
}

/* FiboSearch con aspecto de buscador principal */
body.ecu-skin .ecu-search .dgwt-wcas-search-wrapp { max-width: none !important; width: 100%; margin: 0; }
body.ecu-skin .ecu-search .dgwt-wcas-sf-wrapp {
	background: #FFFFFF !important; border: 2px solid var(--e-blue) !important; border-radius: 30px !important; padding: 0 !important;
	box-shadow: 0 0 0 5px rgba(21, 101, 192, 0.10), 0 10px 24px -12px rgba(13, 74, 122, 0.45) !important; overflow: hidden;
}
body.ecu-skin .ecu-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	height: 56px !important; border: 0 !important; border-radius: 30px 0 0 30px !important; box-shadow: none !important;
	padding: 0 150px 0 52px !important; font: 500 16.5px var(--e-sans) !important; color: var(--e-ink) !important; background: transparent !important;
}
body.ecu-skin .ecu-search .dgwt-wcas-ico-magnifier { left: 20px !important; right: auto !important; }
body.ecu-skin .ecu-search .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit {
	height: 56px !important; min-height: 56px !important; top: 0 !important; right: 0 !important; left: auto !important;
	padding: 0 26px !important; border-radius: 0 !important; background: var(--e-blue) !important; color: #FFFFFF !important;
	font: 600 16px var(--e-sans) !important; text-transform: none !important; box-shadow: none !important;
}
body.ecu-skin .ecu-search .dgwt-wcas-search-submit::before { display: none !important; }
body.ecu-skin .ecu-search .dgwt-wcas-search-submit path { fill: #FFFFFF !important; }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-search .dgwt-wcas-search-submit:hover { background: var(--e-blue-hover) !important; }
}

/* Menú principal en mayúsculas con desplegables */
body.ecu-skin .ecu-hdr__nav { border-bottom: 1px solid var(--e-line); background: #FFFFFF; }
body.ecu-skin .ecu-nav { display: flex; flex-wrap: wrap; gap: 0 30px; list-style: none; margin: 0; padding: 0; }
body.ecu-skin .ecu-nav li { position: relative; list-style: none; margin: 0; }
body.ecu-skin .ecu-nav > li > a {
	display: inline-flex; align-items: center; gap: 6px; padding: 14px 4px; border-bottom: 2px solid transparent;
	font: 600 14.5px var(--e-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--e-text); text-decoration: none;
	transition: color 150ms ease, border-color 150ms ease;
}
body.ecu-skin .ecu-nav > li.menu-item-has-children > a::after {
	content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg); margin-left: 2px;
}
body.ecu-skin .ecu-nav > li.current-menu-item > a,
body.ecu-skin .ecu-nav > li.current-menu-ancestor > a { color: var(--e-blue); border-bottom-color: var(--e-blue); }
body.ecu-skin .ecu-nav .sub-menu {
	position: absolute; top: 100%; left: -10px; z-index: 50; min-width: 230px; margin: 0; padding: 6px; list-style: none;
	background: #FFFFFF; border: 1px solid var(--e-line-strong); border-radius: var(--e-radius);
	box-shadow: 0 12px 30px -12px rgba(11, 18, 32, 0.25);
	opacity: 0; visibility: hidden; transform: translateY(4px); transform-origin: top left;
	transition: opacity 150ms ease-out, transform 150ms var(--e-ease-out), visibility 0s linear 150ms;
}
body.ecu-skin .ecu-nav .sub-menu .sub-menu { top: -7px; left: 100%; }
body.ecu-skin .ecu-nav li:hover > .sub-menu,
body.ecu-skin .ecu-nav li:focus-within > .sub-menu {
	opacity: 1; visibility: visible; transform: translateY(0); transition: opacity 150ms ease-out, transform 150ms var(--e-ease-out), visibility 0s;
}
body.ecu-skin .ecu-nav .sub-menu a {
	display: block; padding: 9px 12px; border-radius: 5px; font: 500 14px var(--e-sans); color: var(--e-soft); text-decoration: none; white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-nav > li > a:hover { color: var(--e-blue); border-bottom-color: var(--e-blue-100); }
	body.ecu-skin .ecu-nav .sub-menu a:hover { background: var(--e-blue-50); color: var(--e-blue); }
}
@media (prefers-reduced-motion: reduce) {
	body.ecu-skin .ecu-nav .sub-menu { transform: none; }
}

/* Cabecera móvil de Astra con el logo nuevo de colores */
body.ecu-skin #ast-mobile-header .ast-primary-header-bar { border-bottom: 1px solid var(--e-line); }

/* ---------- Portada ---------- */
body.ecu-skin.home .elementor-element-9a2d86c,
body.ecu-skin.home .elementor-element-9a2d86c > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
body.ecu-skin.home .elementor-section:has(.elementor-element-9a2d86c),
body.ecu-skin.home .e-con:has(> .elementor-element-9a2d86c),
body.ecu-skin.home .e-con:has(.elementor-element-9a2d86c) { padding-top: 0 !important; padding-bottom: 0 !important; background: transparent !important; margin-top: 0 !important; }

body.ecu-skin section.ecu-hero {
	position: relative; overflow: hidden; background: var(--e-panel-2); border-bottom: 1px solid var(--e-line);
	width: 100vw; margin-left: calc(50% - 50vw); text-align: left;
}
body.ecu-skin .ecu-hero__bdm {
	position: absolute; right: -40px; top: 0; width: 860px; height: auto; opacity: 0.17; pointer-events: none;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 42%); mask-image: linear-gradient(to right, transparent 0%, #000 42%);
}
body.ecu-skin .ecu-hero__in { position: relative; display: flex; flex-direction: column; gap: 18px; padding-top: 40px; padding-bottom: 32px; }
body.ecu-skin .ecu-hero__head { min-height: 140px; max-width: 640px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
body.ecu-skin .ecu-hero__h1 { margin: 0; font-size: 36px; line-height: 1.15; font-weight: 700; letter-spacing: -0.025em; color: var(--e-ink); }
body.ecu-skin .ecu-hero__brand {
	display: block; margin-bottom: 12px; font-family: var(--e-mono); font-size: 12px; font-weight: 600; letter-spacing: .1em;
	text-transform: uppercase; color: var(--e-blue-2);
}
body.ecu-skin .ecu-hero__lead { margin: 0; font-size: 16px; line-height: 1.55; color: #3A4556; }

body.ecu-skin .ecu-tabs { display: flex; flex-wrap: wrap; border: 1px solid var(--e-line-strong); border-radius: 10px; overflow: hidden; background: #FFFFFF; }
body.ecu-skin .ecu-tab {
	flex: 1 1 160px; display: flex; align-items: center; justify-content: center; padding: 13px 10px; border-right: 1px solid var(--e-line);
	font: 600 13px var(--e-sans); letter-spacing: .04em; text-transform: uppercase; color: #3A4556; text-decoration: none; text-align: center;
	transition: background-color 150ms ease, color 150ms ease;
}
body.ecu-skin .ecu-tab:last-child { border-right: 0; }
body.ecu-skin .ecu-tab.is-on { background: var(--e-blue-50); color: var(--e-blue); box-shadow: inset 0 -2px 0 var(--e-blue); }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-tab:hover { background: var(--e-panel); color: var(--e-ink); }
	body.ecu-skin .ecu-tab.is-on:hover { background: var(--e-blue-50); color: var(--e-blue); }
}

body.ecu-skin .ecu-exp { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
body.ecu-skin .ecu-exp__col { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
body.ecu-skin .ecu-exp__label { font-size: 14px; font-weight: 600; color: var(--e-ink); }
body.ecu-skin .ecu-exp__box { border: 1px solid var(--e-line-strong); border-radius: 10px; background: #FFFFFF; height: 286px; display: flex; flex-direction: column; overflow: hidden; }
body.ecu-skin .ecu-exp__filter { display: block; margin: 6px 6px 2px; }
body.ecu-skin .ecu-exp__filter input { width: 100%; height: 36px; padding: 0 10px; font-size: 14px; box-sizing: border-box; }
body.ecu-skin .ecu-exp__list { flex: 1; overflow: auto; padding: 6px; display: flex; flex-direction: column; gap: 2px; overscroll-behavior: contain; }
body.ecu-skin .ecu-exp__hint { padding: 10px 12px; font-size: 14px; color: var(--e-muted); line-height: 1.45; }
body.ecu-skin .ecu-exp__opt {
	display: block; width: 100%; text-align: left; background: transparent; border: 0; border-radius: 6px; padding: 9px 12px;
	font: 500 14px var(--e-sans); color: var(--e-text); cursor: pointer; transition: background-color 120ms ease;
}
body.ecu-skin .ecu-exp__opt.is-mono { font-family: var(--e-mono); font-size: 13px; }
body.ecu-skin .ecu-exp__opt.is-on { background: var(--e-blue); color: #FFFFFF; }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-exp__opt:hover { background: #EEF2F7; color: var(--e-text); }
	body.ecu-skin .ecu-exp__opt.is-on:hover { background: var(--e-blue); color: #FFFFFF; }
}
body.ecu-skin .ecu-exp__file {
	display: flex; flex-direction: column; gap: 3px; margin: 2px 2px 6px; padding: 10px 12px; border: 1px solid var(--e-line);
	border-radius: 8px; text-decoration: none; color: var(--e-ink); transition: border-color 150ms ease;
}
body.ecu-skin .ecu-exp__file-top { display: flex; justify-content: space-between; gap: 8px; }
body.ecu-skin .ecu-exp__ref { font-family: var(--e-mono); font-weight: 600; }
body.ecu-skin .ecu-exp__price { font-family: var(--e-mono); font-weight: 600; color: var(--e-blue); white-space: nowrap; }
body.ecu-skin .ecu-exp__sub { font-size: 12.5px; color: #3A4556; line-height: 1.4; }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-exp__file:hover { border-color: var(--e-blue-2); color: var(--e-ink); }
}

body.ecu-skin .ecu-hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 14px; color: var(--e-muted); }
body.ecu-skin .ecu-hero__links a { color: var(--e-soft); text-decoration: none; font-weight: 500; }
body.ecu-skin .ecu-hero__all { margin-left: auto; color: var(--e-blue-2) !important; }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-hero__links a:hover { color: var(--e-blue); }
}

/* Bloque 2 "Más descargados" (contenido intacto, solo estilo) */
body.ecu-skin.home .elementor-element-8dd51c6 h2 { font-size: 26px !important; letter-spacing: -0.02em !important; color: var(--e-ink) !important; }
body.ecu-skin.home .elementor-element-8dd51c6 h2 + p { color: #3A4556 !important; font-size: 15px !important; }
body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-card {
	border: 1px solid var(--e-line-strong) !important; border-radius: 10px !important; box-shadow: none !important; background: #FFFFFF !important;
	transition: border-color 150ms ease, transform 160ms var(--e-ease-out) !important;
}
body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-card:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-card:hover { border-color: #9FB6D3 !important; transform: none !important; }
}
body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-tag {
	background: var(--e-blue-50) !important; color: var(--e-blue) !important; font-family: var(--e-mono) !important; font-weight: 600 !important; letter-spacing: .05em;
}
body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-title { color: var(--e-ink) !important; font-family: var(--e-sans) !important; }
body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-meta,
body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-vehicle { color: #3A4556 !important; }
body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-price { color: var(--e-blue) !important; font-family: var(--e-mono) !important; }
body.ecu-skin.home .elementor-element-8dd51c6 .ea-prod-availability { color: var(--e-ok) !important; }

/* "¿No encuentras tu archivo?" */
body.ecu-skin .ecu-ask {
	display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; max-width: 1200px; margin: 36px auto 0; padding: 18px 20px;
	border: 1px solid var(--e-line-strong); border-radius: 10px; background: var(--e-panel-2); text-align: left; box-sizing: border-box;
}
body.ecu-skin .ecu-ask__icon { width: 44px; height: 44px; border-radius: 9px; background: var(--e-blue-50); color: var(--e-blue); display: flex; align-items: center; justify-content: center; }
body.ecu-skin .ecu-ask__text { flex: 1 1 320px; display: flex; flex-direction: column; gap: 3px; font-size: 14px; color: #3A4556; }
body.ecu-skin .ecu-ask__text strong { font-size: 16.5px; color: var(--e-ink); }
body.ecu-skin .ecu-ask__btn {
	padding: 12px 22px; border-radius: 24px; background: var(--e-blue); color: #FFFFFF !important; font-weight: 600; text-decoration: none;
	transition: transform 160ms var(--e-ease-out), background-color 150ms ease;
}
body.ecu-skin .ecu-ask__btn:active { transform: scale(0.97); }
@media (hover: hover) and (pointer: fine) { body.ecu-skin .ecu-ask__btn:hover { background: var(--e-blue-hover); } }

/* Bloque 3 "Por qué ecuarchivos" (contenido intacto, iconos sin emoji) */
body.ecu-skin.home .elementor-element-6a0c691 h2 { font-size: 26px !important; letter-spacing: -0.02em !important; color: var(--e-ink) !important; }
body.ecu-skin.home .elementor-element-6a0c691 h2 + p { color: #3A4556 !important; font-size: 15px !important; }
body.ecu-skin.home .elementor-element-6a0c691 h3 { color: var(--e-ink) !important; font-size: 16px !important; }
body.ecu-skin.home .elementor-element-6a0c691 p { color: #3A4556 !important; }
body.ecu-skin.home .elementor-element-6a0c691 [style*="border-radius:12px;background:#fff"] { border-color: var(--e-line-strong) !important; border-radius: 10px !important; }
body.ecu-skin.home .elementor-element-6a0c691 [style*="display:inline-flex"] {
	font-size: 0 !important; width: 40px !important; height: 40px !important; border-radius: 9px !important; background-color: var(--e-blue-50) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230D4A7A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: center !important;
}

/* Bloque 4: texto SEO (intacto, solo estilo) */
body.ecu-skin.home .elementor-element-e5e0a18 h2 { font-size: 28px !important; letter-spacing: -0.02em !important; color: var(--e-ink) !important; text-align: left !important; }
body.ecu-skin.home .elementor-element-e5e0a18 h3 { font-size: 19px !important; color: var(--e-ink) !important; }
body.ecu-skin.home .elementor-element-e5e0a18 p,
body.ecu-skin.home .elementor-element-e5e0a18 li { color: #2B3546 !important; }
body.ecu-skin.home .elementor-element-e5e0a18 a { color: var(--e-blue-2) !important; }

@media (max-width: 921px) {
	body.ecu-skin .ecu-hero__bdm { width: 620px; right: -220px; opacity: 0.12; }
	body.ecu-skin .ecu-hero__h1 { font-size: 28px; }
	body.ecu-skin .ecu-hero__head { min-height: 0; }
	body.ecu-skin .ecu-hero__all { margin-left: 0; }
	body.ecu-skin .ecu-exp__box { height: 220px; }
}

/* Ajustes tras la primera vista real (29/10) */
body.ecu-skin.home #ea-hero { padding: 0 !important; background: transparent !important; min-height: 0 !important; }
body.ecu-skin.home #ea-hero > .e-con-inner { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; min-height: 0 !important; }
body.ecu-skin.home .ecu-swapped { width: 100% !important; max-width: none !important; align-self: stretch !important; }
body.ecu-skin section.ecu-hero { width: 100% !important; margin-left: 0 !important; }
body.ecu-skin .ecu-hero__h1 { text-transform: none !important; }
body.ecu-skin .ecu-exp__opt,
body.ecu-skin .ecu-exp__opt.is-mono { text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; line-height: 1.35 !important; height: auto !important; min-height: 36px !important; }
body.ecu-skin .ecu-exp__opt:focus-visible { outline: 2px solid var(--e-blue-2); outline-offset: -2px; }
body.ecu-skin .ecu-exp__list { overflow-x: hidden; }
body.ecu-skin .ecu-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input { padding-left: 24px !important; }
body.ecu-skin h1, body.ecu-skin h2, body.ecu-skin h3, body.ecu-skin h4,
body.ecu-skin .entry-content h1, body.ecu-skin .entry-content h2, body.ecu-skin .entry-content h3 { text-transform: none !important; }

/* Móvil: logo nuevo y buscador bajo la cabecera */
body.ecu-skin .ecu-logo--sm { gap: 8px; }
body.ecu-skin .ecu-logo--sm .ecu-logo__word { font-size: 20px; }
body.ecu-skin .site-header .site-title,
body.ecu-skin .site-header .ast-site-title-wrap { display: none; }
body.ecu-skin .ecu-msearch { display: none; }
@media (max-width: 921px) {
	body.ecu-skin .ecu-msearch { display: block; padding: 12px 16px 14px; background: #FFFFFF; border-bottom: 1px solid var(--e-line); }
	body.ecu-skin .ecu-msearch .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input { height: 50px !important; padding-right: 64px !important; font-size: 16px !important; }
	body.ecu-skin .ecu-msearch .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit { height: 50px !important; min-height: 50px !important; padding: 0 18px !important; }
	body.ecu-skin .ecu-tabs { display: grid; grid-template-columns: 1fr 1fr; }
	body.ecu-skin .ecu-tab { border-right: 1px solid var(--e-line); border-bottom: 1px solid var(--e-line); }
	body.ecu-skin .ecu-tab:nth-child(2n) { border-right: 0; }
	body.ecu-skin .ecu-tab:last-child { grid-column: 1 / -1; border-bottom: 0; border-right: 0; }
}
@media (max-width: 921px) {
	body.ecu-skin .ecu-msearch .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit { width: 58px !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
}

/* =====================================================================
   Acento ámbar (29/10): un solo color extra, solo en detalles.
   ===================================================================== */
body.ecu-skin { --e-accent: #F5A524; --e-accent-ink: #8A5300; --e-accent-50: #FFF6E3; }

/* línea fina arriba del todo */
body.ecu-skin .ecu-hdr__top { box-shadow: inset 0 3px 0 var(--e-accent); }
@media (max-width: 921px) { body.ecu-skin #ast-mobile-header { box-shadow: inset 0 3px 0 var(--e-accent); } }

/* rayita antes de "ECUARCHIVOS" en la portada */
body.ecu-skin .ecu-hero__brand { display: flex; align-items: center; gap: 10px; }
body.ecu-skin .ecu-hero__brand::before { content: ""; width: 22px; height: 3px; border-radius: 2px; background: var(--e-accent); }

/* pestaña y menú activos */
body.ecu-skin .ecu-tab.is-on { box-shadow: inset 0 -3px 0 var(--e-accent); }
body.ecu-skin .ecu-nav > li.current-menu-item > a,
body.ecu-skin .ecu-nav > li.current-menu-ancestor > a { border-bottom-color: var(--e-accent); }

/* rayita bajo los títulos de sección de la portada */
body.ecu-skin.home .elementor-element-8dd51c6 h2::after,
body.ecu-skin.home .elementor-element-6a0c691 h2::after {
	content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--e-accent); margin: 12px auto 0;
}
body.ecu-skin.home .elementor-element-e5e0a18 h2::after {
	content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--e-accent); margin: 12px 0 0;
}

/* "¿No encuentras tu archivo?" */
body.ecu-skin .ecu-ask { border-left: 3px solid var(--e-accent); }
body.ecu-skin .ecu-ask__icon { background: var(--e-accent-50); color: var(--e-accent-ink); }

/* archivo seleccionado al pasar el ratón en el buscador por coche */
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-exp__file:hover { border-color: var(--e-blue-2); box-shadow: inset 3px 0 0 var(--e-accent); }
}

/* Bloque 4 (texto SEO): mismo borde izquierdo que el resto (1200 px), texto a ancho de lectura */
body.ecu-skin.home .elementor-element-e5e0a18 > .elementor-widget-container > div[style*="max-width:860px"] { max-width: 1200px !important; margin: 0 auto !important; }
body.ecu-skin.home .elementor-element-e5e0a18 > .elementor-widget-container > div[style*="max-width:860px"] > * { max-width: none; }

/* Alineación: todos los bloques al mismo borde que la cabecera y el buscador (1200 px) */
@media (min-width: 1241px) {
	body.ecu-skin.home .elementor-element-8dd51c6 > .elementor-widget-container,
	body.ecu-skin.home .elementor-element-6a0c691 > .elementor-widget-container,
	body.ecu-skin.home .elementor-element-e5e0a18 > .elementor-widget-container { padding-left: 0 !important; padding-right: 0 !important; }
}
body.ecu-skin .ecu-ask { width: 100%; align-self: stretch; }
body.ecu-skin .ecu-statusbar { padding-left: max(16px, calc((100% - 1200px) / 2)); padding-right: max(16px, calc((100% - 1200px) / 2)); }

/* =====================================================================
   FASE 3 — categorías (29/10/2026)
   ===================================================================== */
/* Banner de Astra: sin foto, fondo claro con el dibujo BDM */
body.ecu-skin .ast-archive-entry-banner {
	position: relative; overflow: hidden; background: var(--e-panel-2) !important; background-image: none !important;
	border-bottom: 1px solid var(--e-line); min-height: 0 !important; padding: 44px 0 34px !important; text-align: left !important;
}
body.ecu-skin .ast-archive-entry-banner::before {
	content: ""; position: absolute; right: -40px; top: -10px; width: 760px; height: 450px; pointer-events: none;
	background: url("bdm.svg") no-repeat right top / contain; opacity: 0.17;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 45%); mask-image: linear-gradient(to right, transparent 0%, #000 45%);
}
body.ecu-skin .ast-archive-entry-banner > .ast-container { position: relative; display: flex; flex-direction: column; align-items: flex-start !important; gap: 12px; }
body.ecu-skin .ast-archive-entry-banner h1 {
	margin: 0 !important; font-size: 36px !important; line-height: 1.15 !important; font-weight: 700 !important; letter-spacing: -0.025em !important;
	color: var(--e-ink) !important; text-align: left !important; text-shadow: none !important;
}
body.ecu-skin .ast-archive-entry-banner h1::before { content: ""; display: block; width: 22px; height: 3px; border-radius: 2px; background: var(--e-accent); margin-bottom: 14px; }
body.ecu-skin .ast-archive-entry-banner .ast-breadcrumbs-wrapper,
body.ecu-skin .ast-archive-entry-banner .ast-breadcrumbs { text-align: left !important; margin: 0 !important; }
body.ecu-skin .ast-archive-entry-banner .trail-items { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; justify-content: flex-start !important; }
body.ecu-skin .ast-archive-entry-banner .trail-item,
body.ecu-skin .ast-archive-entry-banner .trail-item a,
body.ecu-skin .ast-archive-entry-banner .trail-item span { font-family: var(--e-mono) !important; font-size: 12.5px !important; color: var(--e-muted) !important; text-decoration: none; text-shadow: none !important; }
body.ecu-skin .ast-archive-entry-banner .trail-item a { color: var(--e-blue-2) !important; }
body.ecu-skin .ast-archive-entry-banner .trail-item::after { color: #9AA5B4 !important; }

/* Familias */
body.ecu-skin .ecu-fams { margin: 26px 0 6px; display: flex; flex-direction: column; gap: 10px; }
body.ecu-skin .ecu-fams__label { font-family: var(--e-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--e-muted); }
body.ecu-skin .ecu-fams__label span { color: var(--e-blue-2); }
body.ecu-skin .ecu-fams__list { display: flex; flex-wrap: wrap; gap: 8px; }
body.ecu-skin .ecu-fams__chip {
	display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px 6px 12px; border: 1px solid var(--e-line-strong); border-radius: 8px;
	background: #FFFFFF; font-family: var(--e-mono); font-size: 13px; color: var(--e-text); text-decoration: none;
	transition: border-color 150ms ease, color 150ms ease;
}
body.ecu-skin .ecu-fams__chip span { font-size: 11px; color: var(--e-muted); background: var(--e-panel); border-radius: 5px; padding: 1px 6px; }
body.ecu-skin .ecu-fams__chip:active { transform: scale(0.97); }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .ecu-fams__chip:hover { border-color: var(--e-blue-2); color: var(--e-blue); }
}
body.ecu-skin .ecu-fams__more summary { cursor: pointer; list-style: none; display: inline-block; margin-top: 2px; font-size: 14px; font-weight: 600; color: var(--e-blue-2); }
body.ecu-skin .ecu-fams__more summary::-webkit-details-marker { display: none; }
body.ecu-skin .ecu-fams__more summary::after { content: " ↓"; }
body.ecu-skin .ecu-fams__more[open] summary::after { content: " ↑"; }
body.ecu-skin .ecu-fams__more[open] summary { margin-bottom: 10px; }

/* Texto de arriba con "Leer más" */
body.ecu-skin .ecu-term-description:not(.ecu-term-description-abajo) { margin: 22px 0 6px !important; font-size: 15px; line-height: 1.65 !important; color: #3A4556; }
body.ecu-skin .ecu-term-description.is-clamped { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body.ecu-skin .ecu-readmore {
	margin: 0 0 18px; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
	font: 600 14px var(--e-sans) !important; color: var(--e-blue-2) !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer;
}

/* Barra de resultados y orden */
body.ecu-skin.archive .woocommerce-result-count { font-family: var(--e-mono); font-size: 12.5px; color: var(--e-muted); margin: 12px 0 18px !important; line-height: 40px; }
body.ecu-skin.archive .woocommerce-ordering select { height: 40px; padding: 0 36px 0 12px; font-size: 14px; }

/* Tarjetas de producto */
body.ecu-skin.archive ul.products { gap: 16px !important; }
body.ecu-skin.archive ul.products li.product {
	border: 1px solid var(--e-line-strong); border-radius: 10px; background: #FFFFFF; overflow: hidden; padding: 0 !important; text-align: left !important;
	transition: border-color 150ms ease, transform 160ms var(--e-ease-out); margin-bottom: 0 !important;
}
body.ecu-skin.archive ul.products li.product:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin.archive ul.products li.product:hover { border-color: #9FB6D3; }
}
body.ecu-skin.archive ul.products li.product .astra-shop-thumbnail-wrap { background: var(--e-panel); border-bottom: 1px solid var(--e-line); margin: 0 !important; }
body.ecu-skin.archive ul.products li.product .astra-shop-thumbnail-wrap img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; margin: 0 !important; }
body.ecu-skin.archive ul.products li.product .astra-shop-summary-wrap { padding: 12px 14px 14px !important; text-align: left !important; display: flex; flex-direction: column; gap: 6px; }
body.ecu-skin.archive ul.products li.product .ast-woo-product-category {
	font-family: var(--e-mono); font-size: 11px !important; font-weight: 600; letter-spacing: .05em; color: var(--e-blue-2) !important; opacity: 1 !important; margin: 0 !important; text-transform: uppercase;
}
body.ecu-skin.archive ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--e-sans) !important; font-size: 14.5px !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--e-ink) !important; margin: 0 !important;
}
body.ecu-skin.archive ul.products li.product .price { font-family: var(--e-mono) !important; font-weight: 600 !important; color: var(--e-blue) !important; font-size: 15px !important; margin: 4px 0 0 !important; }

/* Paginación */
body.ecu-skin .woocommerce-pagination ul.page-numbers { border: 0 !important; display: flex !important; flex-wrap: wrap; gap: 6px; }
body.ecu-skin .woocommerce-pagination ul.page-numbers li { border: 0 !important; }
body.ecu-skin .woocommerce-pagination .page-numbers a,
body.ecu-skin .woocommerce-pagination .page-numbers span {
	min-width: 38px; height: 38px; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 10px !important;
	border: 1px solid var(--e-line-strong) !important; border-radius: 8px; background: #FFFFFF !important; font-family: var(--e-mono); font-size: 13.5px; color: var(--e-text) !important;
}
body.ecu-skin .woocommerce-pagination .page-numbers span.current { background: var(--e-blue) !important; border-color: var(--e-blue) !important; color: #FFFFFF !important; }
@media (hover: hover) and (pointer: fine) {
	body.ecu-skin .woocommerce-pagination .page-numbers a:hover { border-color: var(--e-blue-2) !important; color: var(--e-blue) !important; }
}

/* Texto SEO de abajo */
body.ecu-skin .ecu-term-description-abajo { margin-top: 48px !important; padding-top: 32px; border-top: 1px solid var(--e-line); color: #2B3546; font-size: 15.5px; }
body.ecu-skin .ecu-term-description-abajo h2 { font-size: 26px; letter-spacing: -0.02em; color: var(--e-ink); }
body.ecu-skin .ecu-term-description-abajo h2::after { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--e-accent); margin-top: 12px; }
body.ecu-skin .ecu-term-description-abajo h3 { font-size: 19px; color: var(--e-ink); }

@media (max-width: 921px) {
	body.ecu-skin .ast-archive-entry-banner { padding: 28px 0 22px !important; }
	body.ecu-skin .ast-archive-entry-banner::before { width: 520px; right: -200px; opacity: 0.12; }
	body.ecu-skin .ast-archive-entry-banner h1 { font-size: 28px !important; }
	body.ecu-skin.archive ul.products { gap: 12px !important; }
}
body.ecu-skin.archive #primary,
body.ecu-skin.archive .site-main { margin-top: 0 !important; padding-top: 0 !important; }
body.ecu-skin.archive .ecu-fams { margin-top: 28px; }
body.ecu-skin.archive ul.products li.product img.woocommerce-placeholder { object-fit: contain !important; padding: 22% !important; box-sizing: border-box; opacity: 0.45; mix-blend-mode: multiply; }
@media (max-width: 921px) {
	body.ecu-skin .ast-archive-entry-banner > .ast-container { padding-left: 20px !important; padding-right: 20px !important; }
}

/* =====================================================================
   FASE 4 — ficha de producto (29/10/2026). Misma estructura del rediseño
   de fichas (ecuarchivos-product-redesign.php); aquí solo estilo.
   ===================================================================== */
body.ecu-skin.single-product #primary,
body.ecu-skin.single-product .site-main { margin-top: 0 !important; padding-top: 0 !important; }

/* Galería y ficha técnica */
body.ecu-skin.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
body.ecu-skin.single-product .woocommerce-product-gallery .flex-viewport { border-radius: 10px; }
body.ecu-skin.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image { border: 1px solid var(--e-line-strong); border-radius: 10px; overflow: hidden; background: var(--e-panel); }
body.ecu-skin .ecu-summary-specs { border: 1px solid var(--e-line-strong) !important; border-radius: 10px !important; overflow: hidden; box-shadow: none !important; background: #FFFFFF; }
body.ecu-skin h2.ecu-summary-specs-h {
	background: var(--e-panel) !important; color: var(--e-muted) !important; border-bottom: 1px solid var(--e-line) !important;
	font-family: var(--e-mono) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; padding: 10px 14px !important; margin: 0 !important;
}
body.ecu-skin .ecu-summary-specs table, body.ecu-skin .ecu-summary-specs tr, body.ecu-skin .ecu-summary-specs td, body.ecu-skin .ecu-summary-specs th { border-color: var(--e-line) !important; background: #FFFFFF !important; }
body.ecu-skin .ecu-summary-specs th, body.ecu-skin .ecu-summary-specs td:first-child { color: var(--e-muted) !important; font-weight: 500 !important; font-family: var(--e-sans) !important; }
body.ecu-skin .ecu-summary-specs td:last-child { font-family: var(--e-mono) !important; font-size: 13.5px !important; color: var(--e-ink) !important; }

/* Resumen: compartir, migas, garantías, título, precio */
body.ecu-skin .ecu-wa-share { border-radius: 8px !important; font-size: 13px !important; box-shadow: none !important; }
body.ecu-skin.single-product .woocommerce-breadcrumb { font-family: var(--e-mono) !important; font-size: 12.5px !important; color: var(--e-muted) !important; line-height: 1.6; }
body.ecu-skin.single-product .woocommerce-breadcrumb a { color: var(--e-blue-2) !important; }
body.ecu-skin ul.ecu-trust-strip { background: var(--e-panel-2) !important; border: 1px solid var(--e-line) !important; border-radius: 10px !important; box-shadow: none !important; }
body.ecu-skin ul.ecu-trust-strip li { color: var(--e-soft) !important; font-size: 13.5px !important; }
body.ecu-skin .ecu-trust-ico {
	font-size: 0 !important; width: 16px; height: 16px; display: inline-block; vertical-align: -3px; margin-right: 6px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231E6B41' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 16px;
}
body.ecu-skin.single-product .summary .single-product-category a,
body.ecu-skin.single-product .summary .ast-woo-product-category { font-family: var(--e-mono) !important; font-size: 12px !important; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--e-blue-2) !important; }
body.ecu-skin.single-product .product_title { font-size: 27px !important; line-height: 1.2 !important; letter-spacing: -0.02em !important; color: var(--e-ink) !important; }
body.ecu-skin.single-product .summary .price { font-family: var(--e-mono) !important; font-weight: 600 !important; font-size: 30px !important; color: var(--e-blue) !important; }
body.ecu-skin.single-product .woocommerce-product-details__short-description { font-family: var(--e-mono); font-size: 13px; line-height: 1.6; color: #3A4556; }

/* Versión, cantidad y botón */
body.ecu-skin.single-product table.variations th.label,
body.ecu-skin.single-product table.variations label { font-size: 14px !important; font-weight: 600 !important; color: var(--e-ink) !important; }
body.ecu-skin.single-product form.cart .quantity { display: none !important; }
body.ecu-skin.single-product .single_add_to_cart_button {
	height: 52px !important; padding: 0 30px !important; border-radius: 10px !important; font-size: 16px !important; text-transform: none !important; letter-spacing: 0 !important; margin-left: 0 !important;
}
body.ecu-skin.single-product .product_meta { font-family: var(--e-mono); font-size: 12px !important; color: var(--e-muted) !important; border-color: var(--e-line) !important; }
body.ecu-skin.single-product .product_meta a { color: var(--e-blue-2) !important; }

/* Qué recibes */
body.ecu-skin .ecu-what-you-get { background: var(--e-panel-2) !important; border: 1px solid var(--e-line) !important; border-left: 3px solid var(--e-blue) !important; border-radius: 10px !important; box-shadow: none !important; }
body.ecu-skin h2.ecu-mini-heading { color: var(--e-ink) !important; font-size: 16px !important; }

/* Cómo funciona */
body.ecu-skin .ecu-how-it-works { border-color: var(--e-line) !important; box-shadow: none !important; }
body.ecu-skin h2.ecu-section-heading { color: var(--e-ink) !important; font-size: 24px !important; letter-spacing: -0.02em !important; }
body.ecu-skin h2.ecu-section-heading::after { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--e-accent); margin: 10px auto 0; }
body.ecu-skin .ecu-how-it-works > div > div,
body.ecu-skin .ecu-how-it-works li { border-color: var(--e-line-strong) !important; box-shadow: none !important; }

/* Avisos del cuerpo: un solo lenguaje (blanco, borde fino y color solo en el filo) */
body.ecu-skin #tab-description p[style*="#fff8e1"] { background: var(--e-accent-50) !important; border: 1px solid #F3D9A4 !important; border-left: 3px solid var(--e-accent) !important; border-radius: 10px !important; color: #4D3D0B !important; padding: 12px 16px !important; }
body.ecu-skin section.ecu-fallos { background: #FFFFFF !important; border: 1px solid var(--e-line-strong) !important; border-left: 3px solid var(--e-accent) !important; border-radius: 10px !important; padding: 18px 20px !important; }
body.ecu-skin section.ecu-vehiculos { background: #FFFFFF !important; border: 1px solid var(--e-line-strong) !important; border-left: 3px solid var(--e-blue) !important; border-radius: 10px !important; padding: 18px 20px !important; }
body.ecu-skin section.ecu-fallos h2,
body.ecu-skin section.ecu-vehiculos h2 { color: var(--e-ink) !important; font-size: 19px !important; }
body.ecu-skin section.ecu-fallos h3 { color: var(--e-ink) !important; }

/* Texto de la ficha y preguntas */
body.ecu-skin.single-product #tab-description h2 { color: var(--e-ink) !important; letter-spacing: -0.02em; }
body.ecu-skin.single-product #tab-description > h2::after { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--e-accent); margin-top: 10px; }
body.ecu-skin.single-product #tab-description h3 { color: var(--e-ink) !important; }
body.ecu-skin.single-product #tab-description p,
body.ecu-skin.single-product #tab-description li { color: #2B3546; }
body.ecu-skin .ecu-faq { border-color: var(--e-line-strong) !important; border-radius: 10px !important; box-shadow: none !important; background: var(--e-panel-2) !important; }
body.ecu-skin .ecu-faq h3 { color: var(--e-ink) !important; }
body.ecu-skin .ecu-faq details, body.ecu-skin .ecu-faq .ecu-faq-item { border-color: var(--e-line-strong) !important; border-radius: 8px !important; background: #FFFFFF !important; }

/* Relacionados: mismas tarjetas que las categorías */
body.ecu-skin .related > h2 { text-align: left !important; color: var(--e-ink) !important; font-size: 24px !important; letter-spacing: -0.02em; }
body.ecu-skin .related > h2::after { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--e-accent); margin-top: 10px; }
body.ecu-skin .related ul.products { gap: 16px !important; }
body.ecu-skin .related ul.products li.product { border: 1px solid var(--e-line-strong); border-radius: 10px; background: #FFFFFF; overflow: hidden; padding: 0 !important; text-align: left !important; margin-bottom: 0 !important; transition: border-color 150ms ease; }
@media (hover: hover) and (pointer: fine) { body.ecu-skin .related ul.products li.product:hover { border-color: #9FB6D3; } }
body.ecu-skin .related ul.products li.product .astra-shop-thumbnail-wrap { background: var(--e-panel); border-bottom: 1px solid var(--e-line); margin: 0 !important; }
body.ecu-skin .related ul.products li.product .astra-shop-thumbnail-wrap img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; margin: 0 !important; }
body.ecu-skin .related ul.products li.product img.woocommerce-placeholder { object-fit: contain !important; padding: 22% !important; box-sizing: border-box; opacity: 0.45; mix-blend-mode: multiply; }
body.ecu-skin .related ul.products li.product .astra-shop-summary-wrap { padding: 12px 14px 14px !important; text-align: left !important; display: flex; flex-direction: column; gap: 6px; }
body.ecu-skin .related ul.products li.product .ast-woo-product-category { font-family: var(--e-mono); font-size: 11px !important; font-weight: 600; letter-spacing: .05em; color: var(--e-blue-2) !important; opacity: 1 !important; margin: 0 !important; text-transform: uppercase; }
body.ecu-skin .related ul.products li.product .woocommerce-loop-product__title { font-family: var(--e-sans) !important; font-size: 14.5px !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--e-ink) !important; margin: 0 !important; }
body.ecu-skin .related ul.products li.product .price { font-family: var(--e-mono) !important; font-weight: 600 !important; color: var(--e-blue) !important; font-size: 15px !important; margin: 4px 0 0 !important; }
@media (max-width: 921px) {
	body.ecu-skin.single-product .single_add_to_cart_button { width: 100% !important; }
	body.ecu-skin.single-product .product_title { font-size: 24px !important; }
}

/* =====================================================================
   FASE 5 — carrito, pago, cuenta, avisos, cookies y carrito flotante (29/10/2026)
   ===================================================================== */
body.ecu-skin.woocommerce-cart #primary, body.ecu-skin.woocommerce-checkout #primary, body.ecu-skin.woocommerce-account #primary { margin-top: 36px !important; }
body.ecu-skin.woocommerce-cart .entry-title, body.ecu-skin.woocommerce-checkout .entry-title, body.ecu-skin.woocommerce-account .entry-title { font-size: 30px !important; letter-spacing: -0.02em !important; color: var(--e-ink) !important; }
body.ecu-skin.woocommerce-cart .entry-title::after, body.ecu-skin.woocommerce-checkout .entry-title::after, body.ecu-skin.woocommerce-account .entry-title::after { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--e-accent); margin-top: 10px; }

/* Avisos de WooCommerce */
body.ecu-skin .woocommerce-message, body.ecu-skin .woocommerce-info, body.ecu-skin .woocommerce-error {
	background: #FFFFFF !important; border: 1px solid var(--e-line-strong) !important; border-left: 3px solid var(--e-blue) !important; border-top-width: 1px !important;
	border-radius: 10px !important; color: var(--e-text) !important; box-shadow: none !important; font-size: 15px;
}
body.ecu-skin .woocommerce-message { border-left-color: var(--e-ok-dot) !important; }
body.ecu-skin .woocommerce-error { border-left-color: #C2410C !important; }
body.ecu-skin .woocommerce-message::before, body.ecu-skin .woocommerce-info::before { color: var(--e-blue) !important; }
body.ecu-skin .woocommerce-message::before { color: var(--e-ok) !important; }
body.ecu-skin .woocommerce-message .button, body.ecu-skin .woocommerce-info .button {
	background: #FFFFFF !important; color: var(--e-blue) !important; border: 1px solid var(--e-line-strong) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important;
}

/* Carrito: sin cantidad (descargas), tabla y totales */
body.ecu-skin.woocommerce-cart .product-quantity,
body.ecu-skin.woocommerce-cart button[name="update_cart"] { display: none !important; }
body.ecu-skin.woocommerce-cart table.shop_table { border: 1px solid var(--e-line-strong) !important; border-radius: 10px !important; overflow: hidden; border-collapse: separate !important; }
body.ecu-skin.woocommerce-cart table.shop_table thead th { background: var(--e-panel) !important; font-family: var(--e-mono); font-size: 12px !important; font-weight: 600 !important; letter-spacing: .07em; text-transform: uppercase; color: var(--e-muted) !important; }
body.ecu-skin.woocommerce-cart table.shop_table td { border-color: var(--e-line) !important; }
body.ecu-skin.woocommerce-cart .product-name a { color: var(--e-ink) !important; font-weight: 600; }
body.ecu-skin.woocommerce-cart .product-price, body.ecu-skin.woocommerce-cart .product-subtotal { font-family: var(--e-mono); }
body.ecu-skin.woocommerce-cart .product-thumbnail img { border-radius: 6px; border: 1px solid var(--e-line); }
body.ecu-skin .cart-collaterals .cart_totals { border: 1px solid var(--e-line-strong) !important; border-radius: 10px !important; background: var(--e-panel-2) !important; padding: 0 !important; overflow: hidden; }
body.ecu-skin .cart-collaterals .cart_totals > h2 {
	margin: 0 !important; padding: 14px 20px !important; background: var(--e-panel) !important; border-bottom: 1px solid var(--e-line) !important;
	font-family: var(--e-mono) !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--e-muted) !important;
}
body.ecu-skin .cart-collaterals .cart_totals table, body.ecu-skin .cart-collaterals .cart_totals .wc-proceed-to-checkout { margin: 0 20px !important; width: auto !important; }
body.ecu-skin .cart-collaterals .cart_totals .order-total .amount { font-family: var(--e-mono); color: var(--e-blue); font-size: 20px; }
body.ecu-skin .wc-proceed-to-checkout .checkout-button { border-radius: 10px !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 17px !important; padding: 16px !important; }
body.ecu-skin.woocommerce-cart .coupon .button { text-transform: none !important; letter-spacing: 0 !important; border-radius: 8px !important; }

/* Pago */
body.ecu-skin.woocommerce-checkout h3 { font-size: 20px !important; letter-spacing: -0.01em !important; color: var(--e-ink) !important; }
body.ecu-skin.woocommerce-checkout #order_review_heading, body.ecu-skin.woocommerce-checkout #order_review h3 { font-size: 20px !important; }
body.ecu-skin.woocommerce-checkout .woocommerce-billing-fields h3, body.ecu-skin.woocommerce-checkout .woocommerce-additional-fields h3 { border-bottom: 1px solid var(--e-line) !important; padding-bottom: 10px !important; }
body.ecu-skin.woocommerce-checkout .form-row label { font-weight: 600 !important; font-size: 14px !important; color: var(--e-ink) !important; }
body.ecu-skin.woocommerce-checkout .form-row input.input-text, body.ecu-skin.woocommerce-checkout .form-row textarea { height: auto; min-height: 46px; padding: 10px 12px !important; }
body.ecu-skin.woocommerce-checkout #customer_details + #order_review_heading,
body.ecu-skin.woocommerce-checkout #order_review { border-color: var(--e-line-strong) !important; border-radius: 10px !important; }
body.ecu-skin.woocommerce-checkout #order_review_heading { border-color: var(--e-line-strong) !important; border-radius: 10px 10px 0 0 !important; background: var(--e-panel) !important; }
body.ecu-skin.woocommerce-checkout table.shop_table th, body.ecu-skin.woocommerce-checkout table.shop_table td { border-color: var(--e-line) !important; }
body.ecu-skin.woocommerce-checkout .order-total .amount { font-family: var(--e-mono); color: var(--e-blue); font-size: 20px; }
body.ecu-skin.woocommerce-checkout #payment { background: transparent !important; border-radius: 10px !important; }
body.ecu-skin.woocommerce-checkout #payment .payment_box { background: var(--e-panel) !important; border-radius: 8px !important; color: var(--e-soft) !important; }
body.ecu-skin.woocommerce-checkout #payment .payment_box::before { border-bottom-color: var(--e-panel) !important; }
body.ecu-skin .ecu-paytrust { list-style: none; margin: 14px 0 0; padding: 14px 16px; border: 1px solid var(--e-line); border-radius: 10px; background: var(--e-panel-2); display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; color: var(--e-soft); }
body.ecu-skin .ecu-paytrust li { position: relative; padding-left: 24px; margin: 0; line-height: 1.45; }
body.ecu-skin .ecu-paytrust li::before {
	content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231E6B41' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 16px;
}

/* Mi cuenta */
body.ecu-skin .woocommerce-MyAccount-navigation ul { border: 1px solid var(--e-line-strong); border-radius: 10px; overflow: hidden; padding: 6px !important; }
body.ecu-skin .woocommerce-MyAccount-navigation li { border: 0 !important; }
body.ecu-skin .woocommerce-MyAccount-navigation li a { display: block; padding: 9px 12px !important; border-radius: 6px; color: var(--e-soft) !important; font-weight: 500; }
body.ecu-skin .woocommerce-MyAccount-navigation li.is-active a { background: var(--e-blue-50); color: var(--e-blue) !important; box-shadow: inset 3px 0 0 var(--e-accent); }
body.ecu-skin.woocommerce-account form.login, body.ecu-skin.woocommerce-account form.register { border: 1px solid var(--e-line-strong) !important; border-radius: 10px !important; }

/* Carrito flotante (Modern Cart) */
body.ecu-skin .moderncart-floating-cart-button { background: var(--e-blue) !important; box-shadow: 0 10px 24px -10px rgba(13, 74, 122, 0.55) !important; transition: transform 160ms var(--e-ease-out) !important; }
body.ecu-skin .moderncart-floating-cart-button:active { transform: scale(0.95); }
body.ecu-skin .moderncart-floating-cart-button [class*="count"], body.ecu-skin .moderncart-floating-cart-button span[class*="badge"] { background: var(--e-accent) !important; color: var(--e-ink) !important; font-family: var(--e-mono) !important; }

/* Aviso de cookies (Complianz) */
body.ecu-skin .cmplz-cookiebanner {
	--cmplz_banner_border_radius: 12px; --cmplz_button_border_radius: 10px;
	--cmplz_button_accept_background_color: #0D4A7A; --cmplz_button_accept_border_color: #0D4A7A; --cmplz_button_accept_text_color: #FFFFFF;
	--cmplz_button_deny_background_color: #FFFFFF; --cmplz_button_deny_border_color: #D5DBE3; --cmplz_button_deny_text_color: #0B1220;
	--cmplz_button_settings_background_color: #FFFFFF; --cmplz_button_settings_border_color: #D5DBE3; --cmplz_button_settings_text_color: #0B1220;
	--cmplz_hyperlink_color: #1565C0;
	border: 1px solid var(--e-line-strong) !important; box-shadow: 0 20px 50px -20px rgba(11, 18, 32, 0.35) !important; font-family: var(--e-sans) !important;
}
body.ecu-skin .cmplz-cookiebanner .cmplz-btn { text-transform: none !important; letter-spacing: 0 !important; font-family: var(--e-sans) !important; font-weight: 600 !important; font-size: 15px !important; }
body.ecu-skin .cmplz-cookiebanner .cmplz-title { font-family: var(--e-sans) !important; color: var(--e-ink) !important; }
body.ecu-skin .cart-collaterals .cart_totals table.shop_table { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
body.ecu-skin .cart-collaterals .cart_totals table.shop_table th, body.ecu-skin .cart-collaterals .cart_totals table.shop_table td { background: transparent !important; padding-left: 0 !important; }
body.ecu-skin .cart-collaterals .cart_totals .wc-proceed-to-checkout { padding-bottom: 20px !important; }
@media (min-width: 922px) { body.ecu-skin .ecu-paytrust { max-width: 660px; box-sizing: border-box; } }
body.ecu-skin.woocommerce-account .u-column1 > h2, body.ecu-skin.woocommerce-account .u-column2 > h2, body.ecu-skin.woocommerce-account .woocommerce > h2 { font-size: 22px !important; letter-spacing: -0.01em !important; color: var(--e-ink) !important; margin-bottom: 14px !important; }
body.ecu-skin.woocommerce-account .woocommerce-form .button, body.ecu-skin.woocommerce-account .woocommerce-Button { text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; padding: 12px 22px !important; border-radius: 10px !important; }

/* Cabecera oscura de las fichas de calculadora (div.ecu-hero de ecuarchivos-immo-off-styles.php):
   el texto vuelve a ser blanco; mis reglas de la portada solo afectan a section.ecu-hero. */
body.ecu-skin div.ecu-hero h1, body.ecu-skin div.ecu-hero h2, body.ecu-skin div.ecu-hero h3,
body.ecu-skin.single-product #tab-description div.ecu-hero h2, body.ecu-skin.single-product #tab-description div.ecu-hero h3,
body.ecu-skin div.ecu-hero strong { color: #FFFFFF !important; }
body.ecu-skin div.ecu-hero p, body.ecu-skin.single-product #tab-description div.ecu-hero p,
body.ecu-skin div.ecu-hero li, body.ecu-skin.single-product #tab-description div.ecu-hero li { color: #E7F6FF !important; }
body.ecu-skin div.ecu-hero h2::after { display: none !important; }
