/* ==========================================================================
   Recambios EcoGas · tema hijo de Blocksy · v2
   1 Fuentes · 2 Tokens · 3 Base · 4 Barra superior · 5 Cabecera · 6 Megamenú
   7 Buscador · 8 Drawer · 9 Portada · 10 Tarjeta · 11 Pie · 12 WooCommerce
   13 Movimiento · 14 Responsive
   ========================================================================== */

/* ---------- 1 · Fuentes (Geist + Geist Mono, auto-alojadas) ---------- */
@font-face {
	font-family: "Geist";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/geist-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Geist";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/geist-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Geist Mono";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/geist-mono-latin-wght-normal.woff2") format("woff2-variations");
}

/* ---------- 2 · Tokens ---------- */
body.eg-ui {
	font-variant-numeric: tabular-nums;
	--eg-ink: #0b1411;
	--eg-ink-2: #14231d;
	--eg-text: #24322d;
	--eg-muted: #5c6a65;
	--eg-faint: #8c9893;
	--eg-line: #e3e8e5;
	--eg-line-2: #d3dbd7;
	--eg-bg: #f6f7f6;
	--eg-surface: #ffffff;
	--eg-media: #ffffff; /* product photos and logos: always on white */
	--eg-dark: #0b1411; /* top bar, footer, dark buttons */
	--eg-glass: rgb(255 255 255 / .92);
	--eg-soft: #ebf5ed;
	--eg-primary: #00801a;
	--eg-primary-2: #006a15;
	--eg-brand: #00901a;
	--eg-lime: #b8ef6c;
	--eg-lime-2: #55a630;
	--eg-warn: #95590a;
	--eg-danger: #b42318;

	--eg-r-lg: 24px;
	--eg-r: 18px;
	--eg-r-sm: 12px;
	--eg-sh-1: 0 1px 2px rgb(11 20 17 / .05);
	--eg-sh-2: 0 1px 2px rgb(11 20 17 / .04), 0 8px 24px -8px rgb(11 20 17 / .12);
	--eg-sh-3: 0 2px 4px rgb(11 20 17 / .04), 0 24px 48px -16px rgb(11 20 17 / .22);
	--eg-ease: cubic-bezier(.2, .7, .2, 1);
	--eg-ease-out: cubic-bezier(.16, 1, .3, 1);

	--eg-font: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	/* References, counts and small labels: the regular sans with fixed-width figures (monospace felt too technical). */
	--eg-mono: var(--eg-font);
	--eg-plate: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	--eg-wrap: 1400px;
	--eg-gutter: clamp(16px, 3.2vw, 40px);
	--eg-header-h: 76px;

	--theme-font-family: var(--eg-font);
	--theme-headings-color: var(--eg-ink);
	--theme-heading-color: var(--eg-ink);

	font-family: var(--eg-font);
	font-feature-settings: "ss01", "cv11";
	color: var(--eg-text);
	background: var(--eg-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* ---------- 3 · Base ---------- */
/* Components set their own display; [hidden] must still win. */
.eg-ui [hidden] { display: none !important; }
:where(body.eg-ui) :where(h1, h2, h3) { font-family: var(--eg-font); letter-spacing: -.03em; }
.eg-lock { overflow: hidden; }
.eg-wrap { width: 100%; max-width: var(--eg-wrap); margin-inline: auto; padding-inline: var(--eg-gutter); box-sizing: border-box; }
.eg-icon { flex: none; display: block; }
.eg-ref { font-family: var(--eg-mono); font-size: 12.5px; font-weight: 500; letter-spacing: .01em; font-variant-numeric: tabular-nums; color: var(--eg-muted); }

.eg-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--eg-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--eg-primary);
}
.eg-eyebrow::before { content: ""; width: 18px; height: 1px; background: currentColor; }
.eg-eyebrow--light { color: var(--eg-lime); }

.eg-pulse { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #1fbf45; flex: none; }
.eg-pulse::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; background: #1fbf45; opacity: .35; animation: eg-ping 1.8s var(--eg-ease) infinite; }

.eg-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #1f9d3a; }
.eg-dot--backorder { background: #d18a12; }
.eg-dot--out { background: var(--eg-danger); }

/* Buttons */
.eg-btn {
	--bg: var(--eg-surface);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 12px;
	border: 1px solid transparent;
	background: var(--bg);
	font: 600 15px/1 var(--eg-font);
	letter-spacing: -.01em;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--eg-ease), box-shadow .2s;
}
.eg-btn .eg-icon { transition: transform .3s var(--eg-ease); }
.eg-btn:hover .eg-icon:last-child { transform: translateX(3px); }
.eg-btn:active { transform: translateY(1px) scale(.99); }
.eg-btn--lg { min-height: 54px; padding: 0 24px; font-size: 16px; border-radius: 14px; }
.eg-btn--block { width: 100%; }
.eg-btn--primary { --bg: var(--eg-primary); color: #fff !important; box-shadow: inset 0 1px 0 rgb(255 255 255 / .18), 0 6px 16px -6px rgb(0 128 26 / .55); }
.eg-btn--primary:hover { --bg: var(--eg-primary-2); }
.eg-btn--primary::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / .28) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform .7s var(--eg-ease);
}
.eg-btn--primary:hover::after { transform: translateX(120%); }
.eg-btn--outline { border-color: var(--eg-line-2); color: var(--eg-ink) !important; }
.eg-btn--outline:hover { border-color: var(--eg-ink); }
.eg-btn--light { --bg: #fff; color: var(--eg-ink) !important; }
.eg-btn--light:hover { --bg: var(--eg-lime); }
.eg-btn--glass { --bg: rgb(255 255 255 / .08); border-color: rgb(255 255 255 / .2); color: #fff !important; backdrop-filter: blur(8px); }
.eg-btn--glass:hover { --bg: rgb(255 255 255 / .16); }

.eg-iconbtn {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	border: 0;
	background: transparent;
	color: var(--eg-ink);
	cursor: pointer;
}
.eg-iconbtn:hover { background: var(--eg-bg); }

.eg-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: none;
	font-size: 15px;
	font-weight: 600;
	color: var(--eg-ink);
	text-decoration: none;
	white-space: nowrap;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
	transition: background-size .3s var(--eg-ease), color .2s;
}
.eg-link:hover { color: var(--eg-primary); background-size: 100% 1px; }
.eg-link .eg-icon { transition: transform .3s var(--eg-ease); }
.eg-link:hover .eg-icon { transform: translateX(3px); }

:where(.eg-ui) :is(a, button, summary, input):focus-visible {
	outline: 2px solid var(--eg-primary);
	outline-offset: 2px;
	border-radius: 8px;
}

/* Tabs (shared by finder and product rails) */
.eg-tabs { position: relative; display: flex; gap: 4px; }
.eg-tabs button {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 0;
	border-radius: 10px;
	background: none;
	color: var(--eg-muted);
	font: 600 14px var(--eg-font);
	cursor: pointer;
	transition: color .2s;
	white-space: nowrap;
}
.eg-tabs button:hover,
.eg-tabs button[aria-selected="true"] { color: var(--eg-ink); }
.eg-tabs__ink {
	position: absolute;
	left: 0;
	bottom: -1px;
	height: 2px;
	width: var(--w, 0);
	transform: translateX(var(--x, 0));
	background: var(--eg-primary);
	border-radius: 2px;
	transition: transform .35s var(--eg-ease-out), width .35s var(--eg-ease-out);
}
.eg-tabs--pill { padding: 4px; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: 14px; }
.eg-tabs--pill .eg-tabs__ink { top: 4px; bottom: 4px; height: auto; border-radius: 10px; background: var(--eg-dark); }
.eg-tabs--pill button[aria-selected="true"] { color: #fff; }

/* ---------- 4 · Barra superior ---------- */
.eg-topbar { background: var(--eg-dark); color: #aebdb6; font-size: 13px; }
.eg-topbar__row { display: flex; align-items: center; gap: 24px; min-height: 38px; }
.eg-rotator { position: relative; flex: 1; min-width: 0; height: 20px; margin: 0; padding: 0; list-style: none; overflow: hidden; }
.eg-rotator li {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	opacity: 0;
	transform: translateY(100%);
	transition: opacity .5s, transform .5s var(--eg-ease-out);
}
.eg-rotator li.is-active { opacity: 1; transform: none; }
.eg-rotator li.is-leaving { opacity: 0; transform: translateY(-100%); }
.eg-rotator .eg-icon { color: var(--eg-lime); }
.eg-rotator a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.4); overflow: hidden; text-overflow: ellipsis; }
.eg-rotator a:hover { text-decoration-color: currentColor; }
.eg-rotator span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.eg-topbar__links { display: flex; align-items: center; gap: 20px; flex: none; }
.eg-topbar__menu { display: flex; gap: 20px; margin: 0; padding: 0; list-style: none; }
.eg-topbar a { color: inherit; text-decoration: none; transition: color .2s; }
.eg-topbar a:hover { color: #fff; }
.eg-topbar__phone { display: inline-flex; align-items: center; gap: 6px; font-family: var(--eg-mono); font-size: 12px; color: #fff !important; }
.eg-topbar__b2b {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgb(184 239 108 / .12);
	color: var(--eg-lime) !important;
	font-weight: 600;
}
.eg-topbar__b2b:hover { background: rgb(184 239 108 / .2); }
.eg-lang { position: relative; }
.eg-lang summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; font-family: var(--eg-mono); font-size: 12px; }
.eg-lang summary::-webkit-details-marker { display: none; }
.eg-lang__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	z-index: 70;
	min-width: 150px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: var(--eg-surface);
	border: 1px solid var(--eg-line);
	border-radius: 12px;
	box-shadow: var(--eg-sh-3);
}
.eg-lang__menu a { display: block; padding: 8px 12px; border-radius: 8px; color: var(--eg-ink) !important; }
.eg-lang__menu a:hover, .eg-lang__menu a[aria-current] { background: var(--eg-bg); }
.eg-lang--hdr { display: none; }

/* ---------- 5 · Cabecera ---------- */
/* Blocksy styles #header (id selector), so ours needs the id too. */
header#header.eg-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--eg-glass);
	backdrop-filter: saturate(1.6) blur(14px);
	-webkit-backdrop-filter: saturate(1.6) blur(14px);
	border-bottom: 1px solid var(--eg-line);
	transition: box-shadow .3s, background-color .3s;
}
.eg-header.is-scrolled { box-shadow: 0 10px 30px -18px rgb(11 20 17 / .35); background: var(--eg-glass); }
.admin-bar header#header.eg-header { top: var(--wp-admin--admin-bar--height, 32px); }
.eg-header__row { display: flex; align-items: center; gap: 14px; height: var(--eg-header-h); transition: height .3s var(--eg-ease); }
.eg-header.is-scrolled .eg-header__row { height: 64px; }

.eg-logo { display: flex; align-items: center; flex: none; margin-right: 6px; color: var(--eg-ink); text-decoration: none; }
.eg-logo__img { display: block; width: auto; height: 58px; transition: height .3s var(--eg-ease); }
.eg-header.is-scrolled .eg-logo__img { height: 48px; }
.eg-logo__text { font-size: 20px; font-weight: 500; letter-spacing: -.03em; }
.eg-logo__text strong { color: var(--eg-brand); font-weight: 800; }

.eg-megabtn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 44px;
	padding: 0 16px 0 14px;
	border: 0;
	border-radius: 12px;
	background: var(--eg-dark);
	color: #fff;
	font: 600 15px var(--eg-font);
	cursor: pointer;
	transition: background-color .2s;
}
.eg-megabtn:hover, .eg-megabtn[aria-expanded="true"] { background: var(--eg-primary); }
.eg-megabtn__bars { display: grid; gap: 3px; width: 16px; }
.eg-megabtn__bars i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s var(--eg-ease), opacity .2s; }
.eg-megabtn__bars i:nth-child(2) { width: 70%; }
.eg-megabtn[aria-expanded="true"] .eg-megabtn__bars i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.eg-megabtn[aria-expanded="true"] .eg-megabtn__bars i:nth-child(2) { opacity: 0; }
.eg-megabtn[aria-expanded="true"] .eg-megabtn__bars i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

.eg-header__search { flex: 1; min-width: 0; max-width: 680px; margin-inline: auto; }

.eg-actions { display: flex; align-items: center; gap: 4px; flex: none; }
.eg-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 12px;
	border-radius: 12px;
	color: var(--eg-ink) !important;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition: background-color .2s;
}
.eg-action:hover { background: var(--eg-bg); }
.eg-action--compat { color: var(--eg-primary) !important; font-weight: 600; }
.eg-action--cart { margin-left: 4px; padding: 0 14px; border: 1px solid var(--eg-line-2); font-weight: 600; }
.eg-action--cart:hover { border-color: var(--eg-ink); background: var(--eg-surface); }
.eg-cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--eg-primary);
	color: #fff;
	font: 600 12px var(--eg-mono);
}
.eg-cart-count[data-count="0"] { background: var(--eg-line); color: var(--eg-muted); }
.eg-cart-count.is-bump { animation: eg-bump .6s var(--eg-ease-out); }

.eg-scrim {
	position: fixed;
	inset: 0;
	z-index: 55;
	background: rgb(11 20 17 / .32);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity .25s;
}
.eg-scrim.is-open { opacity: 1; }

/* ---------- 6 · Megamenú ---------- */
.eg-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: var(--eg-surface);
	border-top: 1px solid var(--eg-line);
	box-shadow: 0 30px 60px -30px rgb(11 20 17 / .35);
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity .22s, transform .3s var(--eg-ease-out);
}
.eg-mega.is-open { opacity: 1; transform: none; }
.eg-mega__grid { display: grid; grid-template-columns: 290px minmax(0, 1fr) 300px; gap: 32px; padding-block: 24px 28px; }
.eg-mega__cats { margin: 0; padding: 0 20px 0 0; list-style: none; border-right: 1px solid var(--eg-line); max-height: min(70vh, 640px); overflow-y: auto; }
.eg-mega__cats a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 12px;
	border-radius: 10px;
	color: var(--eg-text) !important;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: background-color .15s, color .15s;
}
.eg-mega__cats a span { flex: 1; }
.eg-mega__cats a .eg-icon:first-child { color: var(--eg-faint); transition: color .15s; }
.eg-mega__chev { opacity: 0; transform: translateX(-4px); transition: opacity .2s, transform .2s var(--eg-ease); }
.eg-mega__cats a[aria-selected="true"] { background: var(--eg-soft); color: var(--eg-ink) !important; }
.eg-mega__cats a[aria-selected="true"] .eg-icon:first-child { color: var(--eg-primary); }
.eg-mega__cats a[aria-selected="true"] .eg-mega__chev { opacity: 1; transform: none; color: var(--eg-primary); }
.eg-mega__panel { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 28px; animation: eg-fade-in .3s var(--eg-ease-out); }
.eg-mega__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--eg-line); }
.eg-mega__head h2 { margin: 0; font-size: 24px; font-weight: 700; color: var(--eg-ink); }
.eg-mega__subs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 20px; margin: 0; padding: 0; list-style: none; }
.eg-mega__subs a {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 8px;
	color: var(--eg-text) !important;
	font-size: 14px;
	text-decoration: none;
	transition: background-color .15s, padding .2s var(--eg-ease);
}
.eg-mega__subs a:hover { background: var(--eg-bg); padding-left: 14px; color: var(--eg-ink) !important; }
.eg-mega__subs small { font-family: var(--eg-mono); color: var(--eg-faint); }
.eg-mega__feature {
	display: grid;
	place-items: center;
	align-self: start;
	aspect-ratio: 1;
	padding: 16px;
	border-radius: var(--eg-r);
	background: radial-gradient(circle at 50% 40%, #fff, var(--eg-bg));
	border: 1px solid var(--eg-line);
	color: var(--eg-primary);
}
.eg-mega__feature img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.eg-mega__aside { display: grid; gap: 12px; align-content: start; }
.eg-mega__promo {
	display: grid;
	gap: 4px;
	padding: 20px;
	border-radius: var(--eg-r);
	background: var(--eg-soft);
	color: var(--eg-text) !important;
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
	transition: transform .3s var(--eg-ease), box-shadow .3s;
}
.eg-mega__promo:hover { transform: translateY(-2px); box-shadow: var(--eg-sh-2); }
.eg-mega__promo strong { color: var(--eg-ink); font-size: 16px; }
.eg-mega__promo-ico { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 8px; border-radius: 12px; background: var(--eg-surface); color: var(--eg-primary); }
.eg-mega__promo-cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; color: var(--eg-primary); font-weight: 600; }
.eg-mega__promo--dark { background: var(--eg-dark); color: #aebdb6 !important; }
.eg-mega__promo--dark strong { color: #fff; }
.eg-mega__promo--dark .eg-mega__promo-ico { background: rgb(255 255 255 / .08); color: var(--eg-lime); }
.eg-mega__promo--dark .eg-mega__promo-cta { color: var(--eg-lime); }

/* ---------- 7 · Buscador en vivo ---------- */
.eg-search { position: relative; display: flex; align-items: center; }
.eg-search__icon { position: absolute; left: 16px; color: var(--eg-faint); pointer-events: none; }
.eg-search input[type="search"] {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 52px 0 48px !important;
	border: 1px solid transparent !important;
	border-radius: 14px !important;
	background: var(--eg-bg) !important;
	box-shadow: none !important;
	font: 400 15px var(--eg-font) !important;
	color: var(--eg-ink) !important;
	outline: none;
	transition: border-color .2s, background-color .2s, box-shadow .2s;
	-webkit-appearance: none;
}
.eg-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.eg-search input::placeholder { color: var(--eg-faint); }
.eg-search input:focus {
	background: var(--eg-surface) !important;
	border-color: var(--eg-primary) !important;
	box-shadow: 0 0 0 4px rgb(0 128 26 / .12) !important;
}
.eg-kbd {
	position: absolute;
	right: 12px;
	display: grid;
	place-items: center;
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	border: 1px solid var(--eg-line-2);
	border-bottom-width: 2px;
	border-radius: 6px;
	background: var(--eg-surface);
	color: var(--eg-muted);
	font: 500 12px var(--eg-mono);
	pointer-events: none;
}
.eg-search input:focus ~ .eg-kbd { opacity: 0; }

.eg-search--hero input[type="search"] {
	height: 62px;
	padding-right: 130px !important;
	border: 1px solid var(--eg-line-2) !important;
	background: var(--eg-surface) !important;
	font-size: 17px !important;
}
.eg-search--hero .eg-search__icon { left: 18px; color: var(--eg-primary); }
.eg-search--hero > .eg-btn { position: absolute; right: 7px; min-height: 48px; }

.eg-search__panel {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 80;
	overflow: hidden;
	background: var(--eg-surface);
	border: 1px solid var(--eg-line);
	border-radius: 16px;
	box-shadow: var(--eg-sh-3);
	animation: eg-drop .25s var(--eg-ease-out);
}
.eg-search__panel { z-index: 90; }
.eg-search__list { max-height: min(56vh, 460px); margin: 0; padding: 6px; overflow-y: auto; list-style: none; }
.eg-search__list a {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 8px 10px;
	border-radius: 10px;
	color: var(--eg-ink) !important;
	text-decoration: none;
}
.eg-search__list [aria-selected="true"] a,
.eg-search__list a:hover { background: var(--eg-bg); }
.eg-search__list img { width: 52px; height: 52px; object-fit: contain; border-radius: 8px; background: var(--eg-media); border: 1px solid var(--eg-line); }
.eg-search__meta { display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--eg-muted); }
.eg-search__meta b { color: var(--eg-primary); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; font-size: 11px; }
.eg-search__name { display: block; overflow: hidden; font-size: 14px; font-weight: 500; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.eg-search__price { font-weight: 700; font-variant-numeric: tabular-nums; font-size: 15px; }
.eg-search__list mark { background: rgb(184 239 108 / .55); color: inherit; border-radius: 3px; padding: 0 1px; }
.eg-search__state { padding: 18px 14px; color: var(--eg-muted); font-size: 14px; }
.eg-search__skel { display: grid; grid-template-columns: 52px 1fr; gap: 14px; padding: 8px 10px; }
.eg-search__skel i { height: 52px; border-radius: 8px; }
.eg-search__skel span { display: grid; gap: 8px; align-content: center; }
.eg-search__skel b { height: 10px; border-radius: 4px; }
.eg-search__skel b:last-child { width: 60%; }
.eg-search__skel i, .eg-search__skel b {
	background: linear-gradient(90deg, #eef1ef 0%, #f7f8f7 50%, #eef1ef 100%) 0 0 / 200% 100%;
	animation: eg-shimmer 1.2s linear infinite;
}
.eg-search__all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 12px;
	border: 0;
	border-top: 1px solid var(--eg-line);
	background: var(--eg-bg);
	color: var(--eg-primary);
	font: 600 14px var(--eg-font);
	cursor: pointer;
}
.eg-search__all:hover { background: var(--eg-soft); }

/* ---------- 8 · Drawer (tablet/móvil) ---------- */
.eg-drawer { position: fixed; inset: 0; z-index: 1000; }
.eg-drawer__backdrop { position: absolute; inset: 0; background: rgb(11 20 17 / .5); opacity: 0; transition: opacity .25s; }
.eg-drawer__panel {
	position: absolute;
	inset: 0 auto 0 0;
	display: flex;
	flex-direction: column;
	width: min(420px, 92vw);
	background: var(--eg-surface);
	transform: translateX(-100%);
	transition: transform .35s var(--eg-ease-out);
}
.eg-drawer.is-open .eg-drawer__backdrop { opacity: 1; }
.eg-drawer.is-open .eg-drawer__panel { transform: none; }
.eg-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--eg-line); }
.eg-drawer__head h2 { margin: 0; font-size: 20px; }
.eg-drawer__list { flex: 1; overflow-y: auto; margin: 0; padding: 8px; list-style: none; }
.eg-drawer__list summary,
.eg-drawer__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 12px;
	color: var(--eg-ink) !important;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	cursor: pointer;
	list-style: none;
}
.eg-drawer__list summary::-webkit-details-marker { display: none; }
.eg-drawer__list summary:hover, .eg-drawer__link:hover { background: var(--eg-bg); }
.eg-drawer__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--eg-soft); color: var(--eg-primary); }
.eg-drawer__label { flex: 1; }
.eg-drawer__chev { color: var(--eg-faint); transition: transform .25s var(--eg-ease); }
.eg-drawer details[open] .eg-drawer__chev { transform: rotate(180deg); }
.eg-drawer__sub { margin: 0 0 8px 62px; padding: 0; list-style: none; animation: eg-fade-in .3s var(--eg-ease-out); }
.eg-drawer__sub a { display: flex; justify-content: space-between; gap: 8px; padding: 8px 12px; border-radius: 8px; color: var(--eg-text) !important; font-size: 14px; text-decoration: none; }
.eg-drawer__sub a:hover { background: var(--eg-bg); }
.eg-drawer__sub span { font-family: var(--eg-mono); color: var(--eg-faint); font-size: 12px; }
.eg-drawer__foot { display: grid; gap: 8px; padding: 16px; border-top: 1px solid var(--eg-line); }

/* ---------- 9 · Portada ---------- */
.eg-home main { background: var(--eg-bg); }
.eg-section { padding-top: clamp(56px, 7vw, 96px); }
.eg-section--last { padding-bottom: clamp(56px, 7vw, 96px); }
.eg-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
.eg-head h2 { margin: 0; font-size: clamp(26px, 3vw, 40px); font-weight: 700; line-height: 1.05; letter-spacing: -.035em; color: var(--eg-ink); }
.eg-head__aside { max-width: 44ch; margin: 0; color: var(--eg-muted); font-size: 16px; line-height: 1.55; }
.eg-flip { transform: rotate(180deg); }

.eg-slide__checks { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: -12px 0 26px; padding: 0; list-style: none; }
.eg-slide__checks li { display: inline-flex; align-items: center; gap: 6px; color: var(--eg-ink); font-size: 14px; font-weight: 500; }
.eg-slide__checks .eg-icon { color: var(--eg-primary); }


/* 4Gas app stage */
.eg-appstage { position: relative; display: grid; place-items: center; min-height: 460px; }
.eg-appstage__glow { position: absolute; inset: 8% 10%; border-radius: 50%; background: radial-gradient(circle, rgb(42 91 255 / .16), rgb(0 179 164 / .12) 45%, transparent 70%); filter: blur(10px); }
.eg-appstage__phones { position: relative; width: min(560px, 100%); height: auto; filter: drop-shadow(0 40px 50px rgb(11 20 17 / .22)); }
.eg-appstage__logo { position: absolute; left: 4%; top: 6%; width: 76px; height: 76px; border-radius: 20px; box-shadow: var(--eg-sh-3); }
.eg-fuel { position: absolute; display: inline-flex; align-items: baseline; gap: 6px; padding: 10px 14px; border-radius: 14px; background: var(--eg-glass); backdrop-filter: blur(8px); box-shadow: var(--eg-sh-3); color: var(--eg-muted); font-size: 12px; animation: eg-bob 6s ease-in-out infinite; animation-delay: calc(var(--k) * -1.4s); }
.eg-fuel b { color: var(--eg-ink); font-size: 16px; }
.eg-fuel--glp { right: 6%; top: 12%; } .eg-fuel--glp b { color: #00a651; }
.eg-fuel--gnc { right: 0; top: 48%; } .eg-fuel--gnc b { color: #2a5bff; }
.eg-fuel--gnl { left: 0; bottom: 20%; } .eg-fuel--gnl b { color: #00b3a4; }
.eg-fuel--h2 { left: 10%; top: 38%; } .eg-fuel--h2 b { color: #8b5cf6; }
.eg-slide--app .eg-slide__kicker { color: #2a5bff; }



.eg-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; }
.eg-chips > span { color: var(--eg-faint); font-size: 13px; }
.eg-chips a {
	padding: 6px 12px;
	border: 1px solid var(--eg-line);
	border-radius: 999px;
	background: var(--eg-surface);
	color: var(--eg-text) !important;
	text-decoration: none;
	transition: border-color .2s, color .2s;
}
.eg-chips a:hover { border-color: var(--eg-primary); color: var(--eg-primary) !important; }

.eg-usp { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.eg-usp li { display: flex; align-items: center; gap: 12px; padding: 4px 0; font-size: 13px; color: var(--eg-muted); line-height: 1.35; }
.eg-usp strong { display: block; color: var(--eg-ink); font-size: 15px; }
.eg-usp .eg-icon { color: var(--eg-primary); }

/* Hero: search first + live catalogue */
.eg-hero { position: relative; z-index: 10; padding-block: clamp(36px, 5vw, 72px) clamp(40px, 5vw, 72px); background: linear-gradient(180deg, #fff 0%, var(--eg-bg) 100%); }
.eg-hero__kicker { margin: 0; color: var(--eg-primary); font-size: 14px; font-weight: 600; letter-spacing: .02em; }
.eg-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(32px, 5vw, 72px); }
.eg-hero__title { margin: 0 0 18px; font-size: clamp(42px, 5.6vw, 84px); font-weight: 700; line-height: .97; letter-spacing: -.055em; color: var(--eg-ink); }
.eg-hero__title > * { display: block; }
.eg-hero__title em { font-style: normal; color: var(--eg-primary); }
.eg-hero__title .eg-hero__kicker { margin: 0 0 16px; font-size: 14px; line-height: 1.4; letter-spacing: .02em; }
.eg-hero__lead { max-width: 48ch; margin: 0 0 28px; color: var(--eg-muted); font-size: clamp(16px, 1.3vw, 18px); line-height: 1.55; }
.eg-finder { position: relative; z-index: 5; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r-lg); box-shadow: var(--eg-sh-3); }
.eg-finder > .eg-tabs { padding: 8px 10px 0; border-bottom: 1px solid var(--eg-line); overflow-x: auto; scrollbar-width: none; }
.eg-finder > .eg-tabs::-webkit-scrollbar { display: none; }
.eg-finder > .eg-tabs button .eg-icon { color: var(--eg-faint); transition: color .2s; }
.eg-finder > .eg-tabs button[aria-selected="true"] .eg-icon { color: var(--eg-primary); }
.eg-finder__panel { padding: 16px; animation: eg-fade-in .35s var(--eg-ease-out); }
.eg-finder__cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.eg-finder__cta p { flex: 1 1 260px; margin: 0; color: var(--eg-text); font-size: 15px; line-height: 1.5; }
.eg-chips small { color: var(--eg-faint); font-size: 12px; }
.eg-chips--brands { margin-top: 0; }
.eg-chips--brands a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; font-weight: 600; font-size: 14px; }
.eg-chips__more { border-color: transparent !important; background: var(--eg-soft) !important; color: var(--eg-primary) !important; display: inline-flex; align-items: center; gap: 6px; }
.eg-proof { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 22px 0 0; padding: 0; list-style: none; }
.eg-proof li { display: inline-flex; align-items: center; gap: 8px; color: var(--eg-text); font-size: 14px; font-weight: 500; }
.eg-proof .eg-icon { color: var(--eg-primary); }
.eg-anim { animation: eg-rise .8s var(--eg-ease-out) both; animation-delay: calc(var(--d, 0) * 80ms + 60ms); }

.eg-hero__visual { position: relative; }
.eg-live { position: relative; overflow: hidden; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: 28px; box-shadow: 0 50px 100px -40px rgb(11 20 17 / .35), 0 2px 4px rgb(11 20 17 / .04); }
.eg-live__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px 12px; }
.eg-live__title { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--eg-ink); }
.eg-live__tabs { display: flex; gap: 4px; padding: 0 12px 10px; border-bottom: 1px solid var(--eg-line); overflow-x: auto; scrollbar-width: none; }
.eg-live__tabs::-webkit-scrollbar { display: none; }
.eg-live__tabs button { position: relative; flex: none; padding: 7px 12px 9px; border: 0; border-radius: 9px; background: none; color: var(--eg-muted); font: 600 13px var(--eg-font); cursor: pointer; overflow: hidden; transition: background-color .2s, color .2s; }
.eg-live__tabs button:hover { color: var(--eg-ink); }
.eg-live__tabs button[aria-selected="true"] { background: var(--eg-soft); color: var(--eg-primary-2); }
.eg-live__tabs i { position: absolute; left: 10px; right: 10px; bottom: 3px; height: 2px; border-radius: 2px; background: var(--eg-primary); transform: scaleX(0); transform-origin: left; }
.eg-live__tabs button[aria-selected="true"] i { animation: eg-progress var(--eg-live-ms, 9000ms) linear both; }
.eg-live.is-paused .eg-live__tabs button[aria-selected="true"] i { animation-play-state: paused; }
.eg-live__viewport { height: 440px; overflow: hidden; mask-image: linear-gradient(transparent, #000 10%, #000 90%, transparent); -webkit-mask-image: linear-gradient(transparent, #000 10%, #000 90%, transparent); animation: eg-fade-in .45s var(--eg-ease-out); }
.eg-live__track { margin: 0; padding: 0; list-style: none; animation: eg-scroll-y 46s linear infinite; }
.eg-live:hover .eg-live__track { animation-play-state: paused; }
.eg-live__row { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 10px 20px; border-bottom: 1px solid #f0f3f1; color: var(--eg-ink) !important; text-decoration: none; transition: background-color .2s; }
.eg-live__row:hover { background: var(--eg-soft); }
.eg-live__img { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 12px; border: 1px solid var(--eg-line); background: var(--eg-media); overflow: hidden; }
.eg-live__img img { width: 100%; height: 100%; object-fit: contain; }
.eg-live__info { min-width: 0; }
.eg-live__meta { display: flex; gap: 10px; align-items: center; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--eg-primary); }
.eg-live__meta .eg-ref { text-transform: none; letter-spacing: 0; color: var(--eg-muted); padding: 1px 6px; border-radius: 5px; background: var(--eg-bg); }
.eg-live__name { display: block; margin-top: 3px; overflow: hidden; font-size: 14px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.eg-live__price { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.eg-live__foot { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px; border-top: 1px solid var(--eg-line); background: #fafbfa; color: var(--eg-primary) !important; font-size: 14px; font-weight: 600; text-decoration: none; }
.eg-live__foot:hover { background: var(--eg-soft); }
.eg-float { position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid rgb(255 255 255 / .6); border-radius: 16px; background: var(--eg-glass); backdrop-filter: blur(12px); box-shadow: var(--eg-sh-3); font-size: 12px; color: var(--eg-muted); line-height: 1.35; animation: eg-bob 7s ease-in-out infinite; }
.eg-float .eg-icon { color: var(--eg-primary); }
.eg-float strong { display: block; color: var(--eg-ink); font-size: 14px; }
.eg-float--b { right: -18px; bottom: -26px; }

.eg-marquee { overflow: hidden; padding: 24px 0; background: var(--eg-surface); border-block: 1px solid var(--eg-line); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.eg-marquee__track { display: flex; width: max-content; animation: eg-marquee 60s linear infinite; }
.eg-marquee:hover .eg-marquee__track { animation-play-state: paused; }
.eg-marquee ul { display: flex; margin: 0; padding: 0; list-style: none; }
.eg-marquee li { display: flex; align-items: center; }
.eg-marquee li::after { content: ""; width: 6px; height: 6px; margin-inline: 34px; border-radius: 50%; background: var(--eg-lime-2); opacity: .6; }
.eg-marquee a { color: var(--eg-ink) !important; font-size: clamp(20px, 2.2vw, 30px); font-weight: 700; letter-spacing: -.03em; text-transform: uppercase; text-decoration: none; white-space: nowrap; opacity: .75; transition: opacity .2s, color .2s; }
.eg-marquee a:hover { opacity: 1; color: var(--eg-primary) !important; }
.eg-usp { padding-top: 28px !important; }
.eg-promos > :only-child { grid-column: 1 / -1; min-height: 280px; }

/* 4Gas section */
.eg-app4 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 56px); padding: clamp(28px, 4vw, 56px); border-radius: 28px; background: linear-gradient(120deg, #eef3ff 0%, #eaf7f4 100%); overflow: hidden; }
.eg-app4__logo { width: 64px; height: 64px; border-radius: 16px; box-shadow: var(--eg-sh-2); margin-bottom: 16px; }
.eg-app4__kick { display: block; color: #2a5bff; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.eg-app4 h2 { margin: 10px 0 14px; color: var(--eg-ink); font-size: clamp(28px, 3.2vw, 44px); font-weight: 700; line-height: 1.05; letter-spacing: -.04em; }
.eg-app4 p { max-width: 48ch; margin: 0 0 24px; color: var(--eg-muted); font-size: 16px; line-height: 1.6; }
.eg-app4 .eg-slide__checks { margin: 0 0 24px; }
.eg-app4__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.eg-app4__sub { margin-top: 18px; font-size: 14px; color: #2a5bff !important; }
.eg-app4 .eg-appstage { min-height: 380px; }

/* Product card tilt (JS sets --rx/--ry) */
.eg-tilt { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0)); transition: transform .5s var(--eg-ease-out), box-shadow .4s var(--eg-ease), border-color .3s; will-change: transform; }
.eg-tilt.is-tilting { transition: transform .08s linear, box-shadow .4s var(--eg-ease), border-color .3s; --ty: -4px; }
.eg-card { transform-style: preserve-3d; }
.eg-card:hover { transform: none; }
.eg-card.eg-tilt:hover { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-4px); }
.eg-card__media { overflow: hidden; }
.eg-card__shine { position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), rgb(255 255 255 / .55), transparent 45%); opacity: 0; transition: opacity .3s; mix-blend-mode: soft-light; }
.eg-card.is-tilting .eg-card__shine { opacity: 1; }

/* Live search: suggestions */
.eg-search__group { padding: 8px 12px 4px; color: var(--eg-faint); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; list-style: none; }
.eg-search__list .eg-search__sugg a { grid-template-columns: 32px minmax(0, 1fr) auto; padding: 7px 10px; }
.eg-search__sugg .eg-search__ico { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--eg-soft); color: var(--eg-primary); }
.eg-search__sugg small { color: var(--eg-faint); font-size: 12px; }
.eg-search__sugg em { font-style: normal; color: var(--eg-muted); font-size: 12px; }
.eg-search__chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 12px 12px; list-style: none; }
.eg-search__chips button { padding: 6px 12px; border: 1px solid var(--eg-line); border-radius: 999px; background: var(--eg-surface); color: var(--eg-text); font: 500 13px var(--eg-font); cursor: pointer; }
.eg-search__chips button:hover { border-color: var(--eg-primary); color: var(--eg-primary); }

/* Cart upsell */
.eg-upsell { position: relative; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 22px; align-items: center; margin: 24px 0; padding: 22px; overflow: hidden; border: 1px solid #cfe7d4; border-radius: var(--eg-r-lg); background: linear-gradient(120deg, #f2faf3, #ffffff 60%); }
.eg-upsell__badge { position: absolute; top: 14px; right: 14px; padding: 4px 10px; border-radius: 999px; background: var(--eg-dark); color: var(--eg-lime); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.eg-upsell__img { display: grid; place-items: center; aspect-ratio: 1; padding: 10px; border-radius: 16px; background: var(--eg-media); border: 1px solid var(--eg-line); }
.eg-upsell__img img { width: 100%; height: 100%; object-fit: contain; }
.eg-upsell__kick { color: var(--eg-primary); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.eg-upsell h3 { margin: 6px 0 8px; padding-right: 90px; color: var(--eg-ink); font-size: 21px; line-height: 1.2; letter-spacing: -.025em; }
.eg-upsell p { margin: 0 0 10px; color: var(--eg-text); font-size: 14px; line-height: 1.55; }
.eg-upsell ul { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 14px; padding: 0; list-style: none; }
.eg-upsell li { display: inline-flex; align-items: center; gap: 6px; color: var(--eg-ink); font-size: 13px; font-weight: 500; }
.eg-upsell li .eg-icon { color: var(--eg-primary); }
.eg-upsell__buy { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.eg-upsell__price { color: var(--eg-ink); font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.eg-upsell__price .woocommerce-price-suffix { display: block; color: var(--eg-muted); font-size: 12px; font-weight: 500; }
.eg-upsell__opts { display: flex; flex-wrap: wrap; gap: 6px; }
.eg-upsell__opts a { padding: 6px 10px; border: 1px solid var(--eg-line); border-radius: 8px; background: var(--eg-surface); color: var(--eg-text) !important; font-size: 12px; text-decoration: none; }
.eg-upsell__opts a:hover { border-color: var(--eg-primary); color: var(--eg-primary) !important; }
.eg-pdp-upsell { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px dashed #b9dcbf; border-radius: 14px; background: #f5fbf6; }
.eg-pdp-upsell img { width: 48px; height: 48px; object-fit: contain; flex: none; border-radius: 8px; background: var(--eg-media); }
.eg-pdp-upsell span { flex: 1; min-width: 0; color: var(--eg-text); font-size: 13px; line-height: 1.4; }
.eg-pdp-upsell strong { color: var(--eg-ink); }
.eg-pdp-upsell .eg-btn { min-height: 38px; padding: 0 14px; font-size: 13px; }


/* How it works */
.eg-steps3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.eg-steps3 li { position: relative; padding: 26px 24px; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r-lg); }
.eg-steps3__n { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 16px; border-radius: 12px; background: var(--eg-dark); color: #fff; font-weight: 700; }
.eg-steps3 strong { display: block; margin-bottom: 6px; color: var(--eg-ink); font-size: 18px; letter-spacing: -.02em; }
.eg-steps3 p { margin: 0; color: var(--eg-muted); font-size: 15px; line-height: 1.55; }

/* PDP: highlights, payments, bundle, alternatives */
.eg-highlights { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eg-highlights li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border: 1px solid var(--eg-line); border-radius: 999px; background: var(--eg-surface); color: var(--eg-text); font-size: 13px; font-weight: 500; }
.eg-highlights .eg-icon { color: var(--eg-primary); }
.eg-paylogos { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px; margin: -6px 0 0; padding: 0; list-style: none; }
.eg-paylogos li, .eg-pay li { display: inline-flex; align-items: center; justify-content: center; gap: 5px; height: 34px; min-width: 52px; padding: 0 10px; border: 1px solid var(--eg-line); border-radius: 8px; background: var(--eg-media); color: var(--eg-muted); font-size: 12px; font-weight: 600; }
.eg-paylogos img, .eg-pay img { display: block; width: auto; height: 18px; }
.eg-paylogos li.is-secure { border-color: transparent; background: none; padding-left: 4px; }
.eg-paylogos .eg-icon { color: var(--eg-primary); }
.eg-buy__form > .stock, .eg-buy__form > p.stock, .eg-buy__form .woo-custom-stock-status { display: none; }

.eg-bundle { padding: 18px; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r-lg); }
.eg-bundle h2 { margin: 0 0 12px; color: var(--eg-ink); font-size: 18px; letter-spacing: -.02em; }
.eg-bundle__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.eg-bundle__item { display: grid; grid-template-columns: auto 64px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--eg-line); border-radius: 14px; transition: border-color .2s, opacity .2s; }
.eg-bundle__item:hover { border-color: var(--eg-line-2); }
.eg-bundle__item.is-off { opacity: .55; }
.eg-bundle__check { position: relative; display: grid; place-items: center; cursor: pointer; }
.eg-bundle__check input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 0; cursor: pointer; }
.eg-bundle__check .eg-check { width: 22px; height: 22px; border-radius: 6px; }
.eg-bundle__check input:checked + .eg-check { border-color: var(--eg-primary); background: var(--eg-primary); color: #fff; }
.eg-bundle__check input:focus-visible + .eg-check { outline: 2px solid var(--eg-primary); outline-offset: 2px; }
.eg-bundle__img { display: grid; place-items: center; width: 64px; height: 64px; padding: 4px; border-radius: 10px; background: var(--eg-media); border: 1px solid #eff2f0; }
.eg-bundle__img img { width: 100%; height: 100%; object-fit: contain; }
.eg-bundle__info { display: grid; gap: 2px; min-width: 0; }
.eg-bundle__brand { color: var(--eg-primary); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.eg-bundle__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--eg-ink) !important; font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.eg-bundle__name:hover { color: var(--eg-primary) !important; }
.eg-bundle__price { color: var(--eg-ink); font-size: 15px; font-weight: 700; }
.eg-bundle__add { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--eg-primary); color: #fff !important; text-decoration: none; transition: background-color .2s, transform .2s; }
.eg-bundle__add:hover { background: var(--eg-primary-2); }
.eg-bundle__add.added { background: var(--eg-dark); }
.eg-bundle__add.added::after, .eg-bundle .added_to_cart { display: none !important; }
.eg-bundle__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--eg-line-2); }
.eg-bundle__label { display: block; color: var(--eg-muted); font-size: 12px; }
.eg-bundle__total { color: var(--eg-ink); font-size: 22px; letter-spacing: -.02em; }
.eg-bundle__foot .eg-btn { flex: 1 1 200px; }
.eg-bundle__foot .eg-btn.is-loading { opacity: .7; pointer-events: none; }
.eg-alts { display: grid; gap: 8px; }
.eg-alt { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto 18px; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--eg-line); border-radius: 14px; background: var(--eg-surface); color: var(--eg-ink) !important; text-decoration: none; transition: border-color .2s; }
.eg-alt:hover { border-color: var(--eg-primary); }
.eg-alt__img { width: 48px; height: 48px; }
.eg-alt__img img { width: 100%; height: 100%; object-fit: contain; }
.eg-alt__txt { display: grid; min-width: 0; }
.eg-alt__txt small { color: var(--eg-muted); font-size: 12px; }
.eg-alt__txt strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.eg-alt__price { font-weight: 700; font-size: 14px; }
.eg-alt__go { color: var(--eg-faint); }


/* Add-to-cart side panel */
.eg-cartpanel { position: fixed; inset: 0; z-index: 1200; }
.eg-cartpanel__backdrop { position: absolute; inset: 0; background: rgb(11 20 17 / .45); opacity: 0; transition: opacity .3s; }
.eg-cartpanel__box { position: absolute; inset: 0 0 0 auto; display: flex; flex-direction: column; width: min(460px, 100vw); background: var(--eg-surface); box-shadow: -30px 0 60px -30px rgb(11 20 17 / .4); transform: translateX(100%); transition: transform .4s var(--eg-ease-out); }
.eg-cartpanel.is-open .eg-cartpanel__backdrop { opacity: 1; }
.eg-cartpanel.is-open .eg-cartpanel__box { transform: none; }
.eg-cartpanel__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 14px 22px; border-bottom: 1px solid var(--eg-line); }
.eg-cartpanel__head h2 { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--eg-ink); font-size: 18px; letter-spacing: -.02em; }
.eg-cartpanel__ok { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--eg-primary); color: #fff; }
.eg-cartpanel__body { flex: 1; display: flex; flex-direction: column; gap: 16px; overflow-y: auto; padding: 18px 22px 22px; }
.eg-cp-loading { display: flex; justify-content: center; gap: 6px; padding: 60px 0; }
.eg-cp-loading i { width: 8px; height: 8px; border-radius: 50%; background: var(--eg-primary); animation: eg-bob 1s ease-in-out infinite; }
.eg-cp-loading i:nth-child(2) { animation-delay: .15s; } .eg-cp-loading i:nth-child(3) { animation-delay: .3s; }
.eg-cp-added { display: flex; align-items: center; gap: 14px; }
.eg-cp-added__img { width: 64px; height: 64px; flex: none; padding: 4px; border: 1px solid var(--eg-line); border-radius: 12px; }
.eg-cp-added__img img, .eg-cp-recs__img img { width: 100%; height: 100%; object-fit: contain; }
.eg-cp-added__info { display: grid; gap: 4px; min-width: 0; }
.eg-cp-added__info strong { color: var(--eg-ink); font-size: 15px; line-height: 1.3; }
.eg-cp-added__info span { color: var(--eg-ink); font-weight: 700; }
.eg-cp-recs h3 { margin: 0 0 10px; color: var(--eg-ink); font-size: 15px; }
.eg-cp-recs ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eg-cp-recs li { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--eg-line); border-radius: 14px; }
.eg-cp-recs__img { width: 52px; height: 52px; }
.eg-cp-recs__info { display: grid; gap: 2px; min-width: 0; }
.eg-cp-recs__info a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--eg-ink) !important; font-size: 13px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.eg-cp-recs__info b { color: var(--eg-ink); font-size: 14px; }
.eg-cp-recs__add { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 12px; background: var(--eg-dark); color: #fff; cursor: pointer; transition: background-color .2s; }
.eg-cp-recs__add:hover { background: var(--eg-primary); }
.eg-cp-recs__add.is-loading { opacity: .6; pointer-events: none; }
.eg-cp-foot { display: grid; gap: 10px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--eg-line); }
.eg-cp-foot__sum { display: flex; align-items: baseline; justify-content: space-between; color: var(--eg-muted); font-size: 14px; }
.eg-cp-foot__sum strong { color: var(--eg-ink); font-size: 20px; }
.eg-cp-foot__row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

/* Categories */
.eg-cats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.eg-catcard {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 14px 14px 16px;
	background: var(--eg-surface);
	border: 1px solid var(--eg-line);
	border-radius: var(--eg-r);
	color: var(--eg-ink) !important;
	text-decoration: none;
	transition: border-color .25s, box-shadow .35s var(--eg-ease), transform .35s var(--eg-ease);
}
.eg-catcard:hover { border-color: transparent; box-shadow: var(--eg-sh-3); transform: translateY(-3px); }
.eg-catcard__img { display: grid; place-items: center; aspect-ratio: 1; margin-bottom: 12px; overflow: hidden; border-radius: 12px; color: var(--eg-primary); }
.eg-catcard__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s var(--eg-ease-out); }
.eg-catcard:hover .eg-catcard__img img { transform: scale(1.06); }
.eg-catcard__name { font-size: 15px; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; }
.eg-catcard__count { margin-top: 4px; color: var(--eg-muted); font-size: 13px; }

/* Product rails */
.eg-railwrap { position: relative; }
.eg-rail {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4 * 16px) / 5);
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 4px 2px 24px;
	margin-inline: -2px;
	scrollbar-width: none;
}
.eg-rail::-webkit-scrollbar { display: none; }
.eg-rail > * { scroll-snap-align: start; }
.eg-railbtn {
	position: absolute;
	top: calc(50% - 36px);
	z-index: 3;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid var(--eg-line);
	border-radius: 50%;
	background: var(--eg-glass);
	color: var(--eg-ink);
	box-shadow: var(--eg-sh-2);
	cursor: pointer;
	opacity: 0;
	transition: opacity .25s, transform .25s var(--eg-ease), background-color .2s;
}
.eg-railbtn--prev { left: -20px; transform: translateX(8px); }
.eg-railbtn--prev .eg-icon { transform: rotate(180deg); }
.eg-railbtn--next { right: -20px; transform: translateX(-8px); }
.eg-railwrap:hover .eg-railbtn:not([disabled]) { opacity: 1; transform: none; }
.eg-railbtn:hover { background: var(--eg-dark); color: #fff; }

/* Promo banners */
.eg-promos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.eg-promo {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 320px;
	overflow: hidden;
	border-radius: var(--eg-r-lg);
	background: #062512;
	color: #d6e8dc !important;
	text-decoration: none;
	isolation: isolate;
}
.eg-promo img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 80% 50%; transition: transform 1.2s var(--eg-ease-out); }
.eg-promo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(3 26 12 / .85) 20%, transparent 75%); }
.eg-promo:hover img { transform: scale(1.06); }
.eg-promo--app { background: linear-gradient(120deg, #eef3ff, #e8f7f5); color: var(--eg-muted) !important; }
.eg-promo--app::before { display: none; }
.eg-promo--app img { left: auto; right: -4%; width: 62%; height: 120%; top: -10%; object-fit: contain; object-position: center; }
.eg-promo.eg-promo--app strong { color: var(--eg-ink); }
.eg-promo.eg-promo--app { color: var(--eg-muted) !important; }
.eg-promo--app .eg-promo__kick { color: #2a5bff; }
.eg-promo.eg-promo--app .eg-promo__cta { color: #2a5bff; }
.eg-promo__copy { display: grid; gap: 8px; max-width: 34ch; padding: 32px; font-size: 15px; line-height: 1.5; }
.eg-promo__kick { color: #c5f39a; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.eg-promo strong { color: #fff; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.1; letter-spacing: -.03em; }
.eg-promo__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: #fff; font-weight: 600; }
.eg-promo__cta .eg-icon { transition: transform .3s var(--eg-ease); }
.eg-promo:hover .eg-promo__cta .eg-icon { transform: translateX(4px); }

/* B2B */
.eg-pro {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	align-items: center;
	gap: clamp(32px, 5vw, 64px);
	padding: clamp(32px, 5vw, 64px);
	overflow: hidden;
	border-radius: 28px;
	background: radial-gradient(60% 80% at 100% 0%, rgb(85 166 48 / .3), transparent 60%), var(--eg-ink);
	color: #b3c3bc;
}
.eg-pro__kick { color: #c5f39a; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.eg-pro h2 { margin: 14px 0 24px; color: #fff !important; font-size: clamp(28px, 3vw, 42px); font-weight: 700; line-height: 1.08; letter-spacing: -.035em; }
.eg-checks { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.eg-checks li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #d4e2dc; }
.eg-checks .eg-icon { padding: 3px; border-radius: 50%; background: rgb(184 239 108 / .15); color: var(--eg-lime); }
.eg-pro__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.eg-app { overflow: hidden; border-radius: 18px; background: var(--eg-surface); box-shadow: 0 40px 80px -30px rgb(0 0 0 / .6); }
.eg-app__bar { display: flex; align-items: center; gap: 6px; padding: 12px 14px; background: #f3f5f4; border-bottom: 1px solid var(--eg-line); }
.eg-app__bar i { width: 10px; height: 10px; border-radius: 50%; background: #dfe4e1; }
.eg-app__bar span { margin-left: 12px; padding: 4px 12px; border-radius: 6px; background: var(--eg-media); font: 500 11px var(--eg-mono); color: var(--eg-muted); }
.eg-app__body { display: grid; grid-template-columns: 64px 1fr; min-height: 300px; }
.eg-app__side { display: grid; align-content: start; gap: 12px; padding: 16px 14px; background: var(--eg-ink-2); }
.eg-app__side b { height: 28px; border-radius: 8px; background: var(--eg-primary); }
.eg-app__side span { height: 8px; border-radius: 4px; background: rgb(255 255 255 / .14); }
.eg-app__main { padding: 18px; }
.eg-app__kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.eg-app__kpis div { padding: 12px; border: 1px solid var(--eg-line); border-radius: 12px; }
.eg-app__kpis small { display: block; color: var(--eg-faint); font-size: 11px; }
.eg-app__kpis strong { color: var(--eg-ink); font-size: 15px; }
.eg-app__rows { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eg-app__rows li { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-radius: 10px; background: var(--eg-bg); }
.eg-app__rows .eg-ref { color: var(--eg-text); }
.eg-app__rows em { padding: 3px 10px; border-radius: 999px; background: #eceff0; color: var(--eg-muted); font-size: 11px; font-style: normal; font-weight: 600; }
.eg-app__rows em.is-ok { background: #dcf3e1; color: #11702a; }
.eg-app__rows em.is-go { background: #e3f0ff; color: #1d4f91; }
.eg-app__rows em.is-new { background: #fff3d6; color: #8a5a00; }

/* Brand explorer */
.eg-brandtabs { display: inline-flex; flex-wrap: wrap; margin-bottom: 20px; }
.eg-brandtabs button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 10px; background: none; color: var(--eg-muted); font: 600 14px var(--eg-font); cursor: pointer; transition: background-color .2s, color .2s; }
.eg-brandtabs button small { color: var(--eg-faint); font-weight: 500; }
.eg-brandtabs button:hover { color: var(--eg-ink); }
.eg-brandtabs button[aria-pressed="true"] { background: var(--eg-dark); color: #fff; }
.eg-brandtabs button[aria-pressed="true"] small { color: rgb(255 255 255 / .6); }
.eg-brandgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.eg-brandgrid li { animation: eg-pop .35s var(--eg-ease-out) both; }
.eg-brandgrid li[hidden] { display: none; }
[data-eg-brands]:not(.is-expanded):not(.is-filtered) .eg-brandgrid li.is-extra { display: none; }
.eg-more { display: flex; justify-content: center; margin-top: 20px; }
[data-eg-brands].is-expanded .eg-more, [data-eg-brands].is-filtered .eg-more { display: none; }
.eg-brandgrid a { display: grid; align-content: start; gap: 8px; height: 100%; padding: 18px 20px; border: 1px solid var(--eg-line); border-radius: 16px; background: var(--eg-surface); color: var(--eg-ink) !important; text-decoration: none; transition: border-color .2s, box-shadow .3s; }
.eg-brandgrid a:hover { border-color: var(--eg-primary); box-shadow: var(--eg-sh-2); }
.eg-brandgrid__top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.eg-brandgrid__name { font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.eg-brandgrid__count { flex: none; padding: 2px 8px; border-radius: 999px; background: var(--eg-bg); color: var(--eg-muted); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.eg-brandgrid a:hover .eg-brandgrid__count { background: var(--eg-soft); color: var(--eg-primary-2); }
.eg-brandgrid__spec { color: var(--eg-muted); font-size: 13px; line-height: 1.45; }

/* Tools */
.eg-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.eg-tool {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: 22px;
	background: var(--eg-surface);
	border: 1px solid var(--eg-line);
	border-radius: var(--eg-r);
	color: var(--eg-muted) !important;
	font-size: 14px;
	line-height: 1.5;
	text-decoration: none;
	transition: border-color .25s, box-shadow .35s var(--eg-ease), transform .35s var(--eg-ease);
}
.eg-tool:hover { border-color: transparent; box-shadow: var(--eg-sh-3); transform: translateY(-3px); }
.eg-tool strong { color: var(--eg-ink); font-size: 17px; line-height: 1.25; }
.eg-tool__ico { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 10px; border-radius: 12px; background: var(--eg-soft); color: var(--eg-primary); }
.eg-tool__go { margin-top: auto; padding-top: 10px; color: var(--eg-primary); }

/* ---------- Ficha de producto ---------- */
.eg-pdp { padding-top: clamp(28px, 3.5vw, 48px); background: var(--eg-bg); }
.eg-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0 0 20px; padding: 0; list-style: none; font-size: 13px; }
.eg-crumbs li { display: inline-flex; align-items: center; color: var(--eg-muted); }
.eg-crumbs li + li::before { content: "/"; margin: 0 10px; color: var(--eg-line-2); }
.eg-crumbs a { color: var(--eg-muted) !important; text-decoration: none; }
.eg-crumbs a:hover { color: var(--eg-primary) !important; }
.eg-crumbs [aria-current] span { color: var(--eg-ink); font-weight: 500; }

.eg-pdp__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }

.eg-gallery { position: sticky; top: calc(var(--eg-header-h) + 20px); display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; }
.eg-gallery__stage { position: relative; grid-column: 2; grid-row: 1; overflow: hidden; aspect-ratio: 1; background: var(--eg-media); border: 1px solid var(--eg-line); border-radius: var(--eg-r-lg); }
.eg-gallery__track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.eg-gallery__track::-webkit-scrollbar { display: none; }
.eg-gallery__slide { flex: 0 0 100%; height: 100%; margin: 0; padding: 6%; scroll-snap-align: center; overflow: hidden; cursor: zoom-in; }
.eg-gallery__img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease-out; }
.eg-gallery__slide.is-zoom .eg-gallery__img { transform: scale(2); }
.eg-gallery__zoom { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--eg-line); border-radius: 50%; background: var(--eg-glass); color: var(--eg-ink); cursor: pointer; }
.eg-gallery__zoom:hover { background: var(--eg-dark); color: #fff; }
.eg-gallery__empty { display: grid; place-items: center; align-content: center; gap: 10px; height: 100%; color: var(--eg-faint); }
.eg-gallery__thumbs { grid-column: 1; grid-row: 1; display: grid; align-content: start; gap: 10px; max-height: 100%; overflow-y: auto; scrollbar-width: none; }
.eg-gallery__thumbs button { width: 76px; height: 76px; padding: 6px; border: 1px solid var(--eg-line); border-radius: 12px; background: var(--eg-media); cursor: pointer; transition: border-color .2s; }
.eg-gallery__thumbs button[aria-selected="true"] { border-color: var(--eg-ink); box-shadow: inset 0 0 0 1px var(--eg-ink); }
.eg-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.eg-badge { position: absolute; top: 16px; left: 16px; z-index: 2; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.eg-badge--sale { background: var(--eg-dark); color: var(--eg-lime); }

.eg-buy { display: grid; gap: 18px; }
.eg-buy__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.eg-buy__brand { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--eg-soft); color: var(--eg-primary-2) !important; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.eg-buy__brand:hover { background: #dcefe0; }
.eg-copy { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border: 1px solid var(--eg-line); border-radius: 8px; background: var(--eg-surface); color: var(--eg-muted); cursor: pointer; }
.eg-copy:hover { border-color: var(--eg-ink); color: var(--eg-ink); }
.eg-copy .eg-ref { color: var(--eg-ink); font-size: 13px; }
.eg-copy__ok { display: none; color: var(--eg-primary); }
.eg-copy.is-copied .eg-copy__ok { display: block; }
.eg-copy.is-copied .eg-copy__ico { display: none; }
.eg-buy__title { margin: 0; color: var(--eg-ink); font-size: clamp(26px, 2.6vw, 38px); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.eg-buy__short { color: var(--eg-text); font-size: 16px; line-height: 1.6; }
.eg-buy__short ul { margin: 0; padding-left: 0; list-style: none; display: grid; gap: 6px; }
.eg-buy__short ul li { position: relative; padding-left: 24px; }
.eg-buy__short ul li::before { content: ""; position: absolute; left: 4px; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--eg-lime-2); }
.eg-buy__price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid var(--eg-line); }
.eg-buy__amount { color: var(--eg-ink); font-size: 38px; font-weight: 700; letter-spacing: -.035em; font-variant-numeric: tabular-nums; line-height: 1; }
.eg-buy__amount del { margin-right: 8px; color: var(--eg-faint); font-size: .5em; font-weight: 500; }
.eg-buy__amount ins { text-decoration: none; }
.eg-buy__amount .woocommerce-price-suffix { font-size: .4em; color: var(--eg-muted); font-weight: 500; }
.eg-buy__tax { color: var(--eg-muted); font-size: 13px; }
.eg-buy__stock { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: #eef7f0; color: var(--eg-text); font-size: 14px; }
.eg-buy__stock--backorder { background: #fdf5e7; }
.eg-buy__stock--out { background: #fdeceb; }
.eg-buy__stock strong { color: var(--eg-ink); }

/* WooCommerce add-to-cart form inside the buy box */
.eg-buy__form form.cart { margin: 0 !important; }
.eg-buy__form .ct-cart-actions, .eg-buy__form form.cart:not(.variations_form):not(:has(.ct-cart-actions)), .eg-buy__form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; width: 100%; }
.eg-buy__form .quantity { position: relative; display: block !important; flex: none; width: 140px; height: 58px; margin: 0 !important; border: 1px solid var(--eg-line-2) !important; border-radius: 14px !important; background: var(--eg-surface); }
/* Only one unit left: WooCommerce hides the quantity field. */
.eg-buy__form .quantity.hidden, .eg-buy__form .quantity:has(input[type="hidden"]) { display: none !important; }
.eg-buy__form .quantity input.qty { position: absolute; inset: 0; width: 100% !important; height: 100% !important; margin: 0; padding: 0 42px !important; border: 0 !important; border-radius: 14px; background: none !important; box-shadow: none !important; font: 600 17px var(--eg-font) !important; text-align: center; -moz-appearance: textfield; }
.eg-buy__form .quantity input::-webkit-inner-spin-button, .eg-buy__form .quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.eg-buy__form .quantity .ct-increase, .eg-buy__form .quantity .ct-decrease { position: absolute !important; top: 0 !important; bottom: 0 !important; z-index: 2; width: 42px !important; height: auto !important; border: 0 !important; color: var(--eg-ink) !important; opacity: 1 !important; cursor: pointer; }
.eg-buy__form .quantity .ct-increase { right: 0 !important; left: auto !important; }
.eg-buy__form .quantity .ct-decrease { left: 0 !important; right: auto !important; }
.eg-buy__form .quantity .ct-increase:hover, .eg-buy__form .quantity .ct-decrease:hover { background: var(--eg-bg); border-radius: 12px; }
.eg-buy__form .single_add_to_cart_button {
	flex: 1 1 160px;
	min-height: 58px !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: var(--eg-primary) !important;
	color: #fff !important;
	font: 700 17px var(--eg-font) !important;
	letter-spacing: -.01em;
	box-shadow: 0 10px 24px -10px rgb(0 128 26 / .7);
	transition: background-color .2s, transform .2s var(--eg-ease) !important;
}
.eg-buy__form .single_add_to_cart_button:hover { background: var(--eg-primary-2) !important; transform: translateY(-1px); }
.eg-buy__form .single_add_to_cart_button.disabled { opacity: .5; }
.eg-buy__form table.variations { width: 100%; margin: 0 0 12px; border: 0; }
.eg-buy__form table.variations th, .eg-buy__form table.variations td { display: block; padding: 0 0 6px; border: 0; background: none; text-align: left; }
.eg-buy__form table.variations label { color: var(--eg-ink); font-size: 14px; font-weight: 600; }
/* Selects in the buy box (variations, YITH add-ons): same look as the rest of the fields. */
.eg-buy__form select,
.eg-ui .eg-select {
	-webkit-appearance: none; appearance: none;
	width: 100% !important; min-width: 100% !important; max-width: 100% !important; /* beats YITH's inline width: 75% !important */
	height: 52px !important; margin: 0 !important; padding: 0 44px 0 16px !important;
	border: 1px solid var(--eg-line-2) !important; border-radius: 12px !important;
	background: var(--eg-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2314201a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 18px !important;
	box-shadow: none !important; color: var(--eg-ink) !important; font: 500 15px/1 var(--eg-font) !important; cursor: pointer;
	transition: border-color .2s, box-shadow .2s;
}
.eg-buy__form select:hover { border-color: var(--eg-ink) !important; }
.eg-buy__form select:focus { outline: 0; border-color: var(--eg-primary) !important; box-shadow: 0 0 0 4px rgb(0 128 26 / .14) !important; }
.eg-buy__form .reset_variations { display: inline-block; margin-top: 8px; color: var(--eg-muted) !important; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.eg-buy__form .reset_variations:hover { color: var(--eg-ink) !important; }

/* Option pills (built by ecogas.js from selects with few options) */
.eg-opts { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 0; }
.eg-opt {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px;
	border: 1.5px solid var(--eg-line-2); border-radius: 12px; background: var(--eg-surface);
	color: var(--eg-ink); font: 500 14px/1.25 var(--eg-font); text-align: left; cursor: pointer;
	transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.eg-opt:hover { border-color: var(--eg-ink); }
.eg-opt:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgb(0 128 26 / .18); }
.eg-opt[aria-pressed="true"] { border-color: var(--eg-primary); background: var(--eg-soft); box-shadow: inset 0 0 0 1px var(--eg-primary); font-weight: 600; }
.eg-opt small { color: var(--eg-primary); font-size: 13px; font-weight: 600; white-space: nowrap; }
.eg-opt[disabled] { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.eg-has-opts > select, .eg-has-opts .select2 { position: absolute !important; width: 1px !important; min-width: 0 !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }
.eg-has-opts { position: relative; }

/* YITH product add-ons inside the buy box */
.eg-buy__form #yith-wapo-container, .eg-buy__form .yith-wapo-block { margin: 0 0 14px; padding: 0 !important; background: none !important; }
.eg-buy__form .yith-wapo-addon { margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; background: none !important; }
.eg-buy__form .yith-wapo-addon .addon-header { margin: 0 0 8px; }
.eg-buy__form .wapo-addon-title, .eg-buy__form .wapo-addon-title span { margin: 0 !important; color: var(--eg-ink) !important; font: 600 14px/1.3 var(--eg-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
.eg-buy__form .yith-wapo-addon .options { width: 100% !important; }
.eg-buy__form .yith-wapo-addon .option-description, .eg-buy__form .yith-wapo-addon .description { color: var(--eg-muted); font-size: 13px; }
.eg-buy__form #wapo-total-price-table { margin: 6px 0 14px; font-size: 14px; }
.eg-buy__form #wapo-total-price-table table { width: 100%; border: 0; }
.eg-buy__form #wapo-total-price-table th, .eg-buy__form #wapo-total-price-table td { padding: 4px 0; border: 0; background: none; }
.eg-buy__form .woocommerce-variation-price .price { color: var(--eg-ink); font-size: 24px; font-weight: 700; }
.eg-buy__form .stock { margin: 0 0 8px; font-size: 14px; }
.eg-buy__form .stock.in-stock { color: #16813a; }

.eg-buy__help { display: grid; gap: 8px; }
.eg-buy__help p { margin: 0; color: var(--eg-muted); font-size: 13px; text-align: center; }
.eg-buy__help p a { color: var(--eg-ink); font-weight: 600; }
.eg-buy__trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 16px 0 0; list-style: none; border-top: 1px solid var(--eg-line); }
.eg-buy__trust li { display: flex; align-items: flex-start; gap: 10px; color: var(--eg-muted); font-size: 12px; line-height: 1.4; }
.eg-buy__trust .eg-icon { color: var(--eg-primary); margin-top: 1px; }
.eg-buy__trust strong { display: block; color: var(--eg-ink); font-size: 13px; }
.eg-buy__trust a { color: var(--eg-primary); font-weight: 600; }

.eg-pdp__nav { position: sticky; top: var(--eg-header-h); z-index: 20; margin-top: clamp(40px, 5vw, 72px); background: var(--eg-glass); backdrop-filter: blur(10px); border-block: 1px solid var(--eg-line); }
.eg-pdp__nav .eg-wrap { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.eg-pdp__nav a { flex: none; padding: 16px 14px; border-bottom: 2px solid transparent; color: var(--eg-muted) !important; font-size: 14px; font-weight: 600; text-decoration: none; transition: color .2s, border-color .2s; }
.eg-pdp__nav a:hover, .eg-pdp__nav a.is-current { color: var(--eg-ink) !important; border-bottom-color: var(--eg-primary); }
.eg-pdp__body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(24px, 4vw, 56px); padding-top: 12px; }
.eg-pdp__section { padding-top: 40px; scroll-margin-top: calc(var(--eg-header-h) + 70px); }
.eg-pdp__section h2 { margin: 0 0 18px; color: var(--eg-ink); font-size: 26px; font-weight: 700; letter-spacing: -.03em; }
.eg-pdp__aside { padding-top: 40px; }
.eg-pdp__aside .eg-helpcard { position: sticky; top: calc(var(--eg-header-h) + 80px); }
.eg-pdp__rail { padding-top: clamp(48px, 6vw, 80px); }
.eg-pdp__rail:last-of-type { padding-bottom: clamp(48px, 6vw, 80px); }

.eg-prose { color: var(--eg-text); font-size: 16px; line-height: 1.7; }
.eg-prose > * + * { margin-top: 1em; }
.eg-prose h2, .eg-prose h3, .eg-prose h4 { margin-top: 1.6em; color: var(--eg-ink); letter-spacing: -.02em; }
.eg-prose h2 { font-size: 22px; } .eg-prose h3 { font-size: 19px; } .eg-prose h4 { font-size: 17px; }
.eg-prose a { color: var(--eg-primary); }
.eg-prose img { max-width: 100%; height: auto; border-radius: 12px; }
.eg-prose table { width: 100%; border-collapse: collapse; font-size: 14px; }
.eg-prose th, .eg-prose td { padding: 10px 12px; border-bottom: 1px solid var(--eg-line); text-align: left; }
.eg-prose ul, .eg-prose ol { padding-left: 1.3em; }

.eg-specs { display: grid; margin: 0; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r); overflow: hidden; }
.eg-specs > div { display: grid; grid-template-columns: minmax(140px, 35%) 1fr; }
.eg-specs > div:nth-child(odd) { background: #fafbfa; }
.eg-specs > div + div { border-top: 1px solid var(--eg-line); }
.eg-specs dt { padding: 13px 18px; color: var(--eg-muted); font-size: 14px; }
.eg-specs dd { margin: 0; padding: 13px 18px; color: var(--eg-ink); font-size: 14px; font-weight: 500; }
.eg-specs dd.eg-ref { font-size: 14px; color: var(--eg-ink); }
.eg-specs a { color: var(--eg-primary); }

.eg-infocards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.eg-infocards > div { display: flex; flex-direction: column; gap: 6px; padding: 20px; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r); }
.eg-infocards .eg-icon { color: var(--eg-primary); margin-bottom: 6px; }
.eg-infocards strong { color: var(--eg-ink); font-size: 16px; }
.eg-infocards p { flex: 1; margin: 0; color: var(--eg-muted); font-size: 14px; line-height: 1.5; }
.eg-infocards .eg-link { font-size: 14px; color: var(--eg-primary); }

.eg-helpcard { display: grid; gap: 10px; padding: 24px; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r-lg); }
.eg-helpcard strong { color: var(--eg-ink); font-size: 18px; line-height: 1.25; letter-spacing: -.02em; }
.eg-helpcard p { margin: 0 0 6px; color: var(--eg-muted); font-size: 14px; line-height: 1.5; }
.eg-helpcard__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--eg-soft); color: var(--eg-primary); }
.eg-helpcard .eg-link { justify-self: center; margin-top: 4px; font-size: 14px; color: var(--eg-primary); }
.eg-helpcard--small { padding: 18px; margin-top: 8px; }
.eg-helpcard--small strong { font-size: 15px; }
.eg-helpcard--small .eg-link { justify-self: start; }

/* Reviews (WooCommerce template) */
#opiniones #reviews h2, #opiniones .woocommerce-Reviews-title { margin: 0 0 18px; font-size: 26px; color: var(--eg-ink); letter-spacing: -.03em; }
#opiniones .commentlist { margin: 0; padding: 0; list-style: none; }
#opiniones #review_form_wrapper { padding: 20px; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r); }

/* Sticky buy bar */
.eg-buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; padding: 10px 0; background: var(--eg-glass); backdrop-filter: blur(12px); border-top: 1px solid var(--eg-line); box-shadow: 0 -12px 30px -20px rgb(11 20 17 / .4); transform: translateY(110%); transition: transform .4s var(--eg-ease-out); }
.eg-buybar.is-visible { transform: none; }
.eg-buybar__row { display: flex; align-items: center; gap: 14px; }
.eg-buybar__img { width: 48px; height: 48px; flex: none; padding: 4px; border: 1px solid var(--eg-line); border-radius: 10px; background: var(--eg-media); }
.eg-buybar__img img { width: 100%; height: 100%; object-fit: contain; }
.eg-buybar__info { flex: 1; min-width: 0; display: grid; }
.eg-buybar__info strong { overflow: hidden; color: var(--eg-ink); font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.eg-buybar__info span { color: var(--eg-ink); font-weight: 700; }
.eg-buybar__info del { color: var(--eg-faint); font-weight: 400; }
.eg-buybar__info ins { text-decoration: none; }

/* Lightbox */
.eg-lightbox { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 40px; background: var(--eg-glass); animation: eg-fade-in .25s var(--eg-ease-out); }
.eg-lightbox__img { max-width: min(1100px, 100%); max-height: 100%; object-fit: contain; }
.eg-lightbox__close, .eg-lightbox__nav { position: absolute; display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid var(--eg-line); border-radius: 50%; background: var(--eg-surface); color: var(--eg-ink); cursor: pointer; }
.eg-lightbox__close { top: 20px; right: 20px; }
.eg-lightbox__nav { top: 50%; margin-top: -26px; }
.eg-lightbox__nav--prev { left: 20px; }
.eg-lightbox__nav--prev .eg-icon { transform: rotate(180deg); }
.eg-lightbox__nav--next { right: 20px; }
.eg-lightbox button:hover { background: var(--eg-dark); color: #fff; }

/* ---------- Catálogo ---------- */
.eg-plp { background: var(--eg-bg); }
.eg-plp__hero { padding: clamp(28px, 3.5vw, 48px) 0 32px; background: var(--eg-surface); border-bottom: 1px solid var(--eg-line); }
.eg-plp__heading { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.eg-plp__copy { min-width: 0; }
.eg-plp h1 { margin: 6px 0 12px; color: var(--eg-ink); font-size: clamp(30px, 3.6vw, 50px); font-weight: 700; line-height: 1.02; letter-spacing: -.04em; }
.eg-plp__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; max-width: 80ch; margin: 0; color: var(--eg-muted); font-size: 15px; line-height: 1.5; }
.eg-plp__meta .eg-ref { padding: 3px 8px; border-radius: 6px; background: var(--eg-bg); color: var(--eg-ink); font-size: 13px; }
.eg-plp__img { flex: none; width: 150px; height: 150px; }
.eg-plp__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.eg-subcats { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.eg-subcats a { display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border: 1px solid var(--eg-line); border-radius: 14px; background: var(--eg-surface); color: var(--eg-ink) !important; font-size: 14px; font-weight: 500; line-height: 1.3; text-decoration: none; transition: border-color .2s, background-color .2s; height: 100%; }
.eg-subcats__name { flex: 1; }
.eg-subcats a:hover { border-color: var(--eg-primary); background: var(--eg-soft); }
.eg-subcats__img { width: 40px; height: 40px; flex: none; border-radius: 10px; background: var(--eg-bg); overflow: hidden; }
.eg-subcats__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.eg-subcats small { color: var(--eg-faint); font-size: 12px; }

.eg-plp__layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 32px; padding-block: 28px 80px; }
.eg-filters { align-self: start; position: sticky; top: calc(var(--eg-header-h) + 16px); display: grid; gap: 22px; max-height: calc(100vh - var(--eg-header-h) - 32px); overflow-y: auto; padding-right: 4px; scrollbar-width: thin; }
.eg-filters__head { display: flex; align-items: center; justify-content: space-between; }
.eg-filters__head strong { color: var(--eg-ink); font-size: 18px; }
.eg-filters__back { display: inline-flex; align-items: center; gap: 8px; color: var(--eg-muted) !important; font-size: 14px; text-decoration: none; }
.eg-filters__back .eg-icon { transform: rotate(180deg); }
.eg-filters__back:hover { color: var(--eg-primary) !important; }
.eg-facet h2 { margin: 0 0 10px; color: var(--eg-ink); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.eg-facet__list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.eg-facet__list a { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px; color: var(--eg-text) !important; font-size: 14px; text-decoration: none; }
.eg-facet__list a:hover { background: var(--eg-surface); color: var(--eg-ink) !important; }
.eg-facet__list a span:not(.eg-check) { flex: 1; }
.eg-facet__list small { color: var(--eg-faint); font-size: 12px; }
.eg-facet__list:not(.is-open) li.is-extra { display: none; }
.eg-check { display: grid; place-items: center; width: 18px; height: 18px; flex: none; border: 1.5px solid var(--eg-line-2); border-radius: 5px; background: var(--eg-surface); color: transparent; transition: all .15s; }
.eg-facet__list a.is-on .eg-check { border-color: var(--eg-primary); background: var(--eg-primary); color: #fff; }
.eg-facet__list a.is-on { color: var(--eg-ink) !important; font-weight: 600; }
.eg-facet__more { margin-top: 6px; padding: 4px 8px; border: 0; background: none; color: var(--eg-primary); font: 600 13px var(--eg-font); cursor: pointer; }
.eg-toggle { display: flex; align-items: center; gap: 12px; color: var(--eg-text) !important; font-size: 14px; text-decoration: none; }
.eg-toggle__switch { position: relative; width: 38px; height: 22px; flex: none; border-radius: 999px; background: var(--eg-line-2); transition: background-color .2s; }
.eg-toggle__switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--eg-media); box-shadow: var(--eg-sh-1); transition: transform .25s var(--eg-ease); }
.eg-toggle.is-on .eg-toggle__switch { background: var(--eg-primary); }
.eg-toggle.is-on .eg-toggle__switch::after { transform: translateX(16px); }
.eg-price { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.eg-price label { display: grid; gap: 4px; color: var(--eg-muted); font-size: 12px; }
.eg-price input { width: 100%; height: 42px; padding: 0 10px !important; border: 1px solid var(--eg-line-2) !important; border-radius: 10px !important; background: var(--eg-surface) !important; font: 500 14px var(--eg-font) !important; }
.eg-price .eg-btn { grid-column: 1 / -1; min-height: 40px; }

.eg-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.eg-toolbar__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.eg-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px 6px 12px; border-radius: 999px; background: var(--eg-dark); color: #fff !important; font-size: 13px; font-weight: 500; text-decoration: none; }
.eg-chip:hover { background: var(--eg-primary); }
.eg-toolbar .eg-link { font-size: 13px; }
.eg-sort select { height: 44px; padding: 0 38px 0 14px; border: 1px solid var(--eg-line-2); border-radius: 12px; background-color: var(--eg-surface); color: var(--eg-ink); font: 500 14px var(--eg-font); cursor: pointer; }

.eg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; align-items: stretch; }
.eg-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.eg-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 40px; }
.eg-pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--eg-line); border-radius: 12px; background: var(--eg-surface); color: var(--eg-ink) !important; font-weight: 600; text-decoration: none; }
.eg-pagination .page-numbers:hover { border-color: var(--eg-ink); }
.eg-pagination .page-numbers.current { background: var(--eg-dark); border-color: var(--eg-ink); color: #fff !important; }
.eg-pagination .dots { border: 0; background: none; }
.eg-empty { display: grid; justify-items: center; gap: 10px; padding: 64px 24px; background: var(--eg-surface); border: 1px dashed var(--eg-line-2); border-radius: var(--eg-r-lg); color: var(--eg-muted); text-align: center; }
.eg-empty .eg-icon { color: var(--eg-faint); }
.eg-empty h2 { margin: 6px 0 0; color: var(--eg-ink); font-size: 22px; }
.eg-empty p { max-width: 48ch; margin: 0; }
.eg-empty__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 10px; }
.eg-plp__seo { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--eg-line); font-size: 15px; }
.eg-filters__scrim { display: none; }

/* ---------- 404 ---------- */
.eg-404 { padding-block: clamp(64px, 10vw, 128px); background: var(--eg-bg); }
.eg-404__inner { display: grid; justify-items: center; gap: 18px; text-align: center; }
.eg-404__code { padding: 4px 10px; border: 1px solid var(--eg-line-2); border-radius: 8px; }
.eg-404 h1 { margin: 0; color: var(--eg-ink); font-size: clamp(34px, 5vw, 64px); font-weight: 700; line-height: 1.04; letter-spacing: -.045em; }
.eg-404 h1 span { color: var(--eg-primary); }
.eg-404 p { margin: 0; color: var(--eg-muted); font-size: 17px; }
.eg-404__search { width: 100%; max-width: 640px; text-align: left; }
.eg-404__cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.eg-404__cats a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--eg-line); border-radius: 999px; background: var(--eg-surface); color: var(--eg-text) !important; font-size: 14px; text-decoration: none; }
.eg-404__cats a:hover { border-color: var(--eg-primary); color: var(--eg-primary) !important; }
.eg-404__cats .eg-icon { color: var(--eg-primary); }
.eg-404__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 12px; }

/* ---------- 10 · Tarjeta de producto ---------- */
.eg-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--eg-surface);
	border: 1px solid var(--eg-line);
	border-radius: 20px;
	transition: border-color .3s, box-shadow .4s var(--eg-ease), transform .4s var(--eg-ease);
	isolation: isolate;
}
.eg-card:hover { border-color: transparent; box-shadow: var(--eg-sh-3); transform: translateY(-4px); }
.eg-card__media { position: relative; display: grid; place-items: center; aspect-ratio: 1; padding: 18px; background: var(--eg-media); }
.eg-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--eg-ease-out); }
.eg-card:hover .eg-card__media img { transform: scale(1.06); }
.eg-card__flag { position: absolute; top: 12px; left: 12px; padding: 4px 10px; border-radius: 999px; background: var(--eg-dark); color: var(--eg-lime); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.eg-card__body { display: flex; flex-direction: column; flex: 1; gap: 8px; padding: 14px 16px 16px; border-top: 1px solid #eff2f0; }
.eg-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.eg-card__brand { overflow: hidden; color: var(--eg-primary); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-overflow: ellipsis; white-space: nowrap; }
.eg-card__meta .eg-ref { flex: none; padding: 2px 7px; border-radius: 6px; background: var(--eg-bg); font-size: 11px; }
.eg-card__title { margin: 0; font-size: 15px !important; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; }
.eg-card__title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; color: var(--eg-ink) !important; text-decoration: none; }
.eg-card__title a::before { content: ""; position: absolute; inset: 0; z-index: 0; }
.eg-card__price { min-height: 2.6em; margin-top: auto; padding-top: 4px; color: var(--eg-ink); font-size: 19px; font-weight: 700; line-height: 1.3; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.eg-card__price del { color: var(--eg-faint); font-size: 13px; font-weight: 400; }
.eg-card__price ins { text-decoration: none; }
.eg-card__price .woocommerce-price-suffix { display: block; color: var(--eg-muted); font-size: 12px; font-weight: 500; letter-spacing: 0; }
.eg-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; }
.eg-stock { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; }
.eg-stock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.eg-stock--instock { color: #16813a; }
.eg-stock--backorder { color: var(--eg-warn); }
.eg-stock--out { color: var(--eg-danger); }
.eg-card__add { position: relative; z-index: 1; display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--eg-dark); color: #fff !important; text-decoration: none; transition: background-color .25s, transform .25s var(--eg-ease); }
.eg-card:hover .eg-card__add { background: var(--eg-primary); }
.eg-card__add:active { transform: scale(.94); }
.eg-card__add--ghost { background: var(--eg-bg); color: var(--eg-ink) !important; }
.eg-card:hover .eg-card__add--ghost { background: var(--eg-dark); color: #fff !important; }
.eg-card__add.loading { opacity: .6; pointer-events: none; }
.eg-card__add.added { background: var(--eg-primary); }
.eg-card__add.added::after { display: none; }
.eg-card .added_to_cart { display: none; }

/* ---------- 11 · Pie ---------- */
.eg-footer { padding-top: 24px; background: var(--eg-dark); color: #9fb0a8; font-size: 14px; }
.eg-footer a { color: #d0ddd7; text-decoration: none; transition: color .2s; }
.eg-footer a:hover { color: #fff; }
.eg-help {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
	margin-top: 32px;
	padding: clamp(28px, 4vw, 48px);
	overflow: hidden;
	border-radius: 28px;
	background: radial-gradient(80% 140% at 100% 0%, #3dac2b, transparent 60%), linear-gradient(120deg, #00801a, #04561a);
	color: #d9f2d4;
	isolation: isolate;
}
.eg-help::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgb(255 255 255 / .12) 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(90deg, transparent 30%, #000); -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000); }
.eg-help h2 { margin: 12px 0 10px; color: #fff !important; font-size: clamp(26px, 3vw, 40px); font-weight: 700; line-height: 1.05; letter-spacing: -.04em; }
.eg-help h2 span { color: var(--eg-lime); }
.eg-help p { max-width: 52ch; margin: 0; font-size: 16px; line-height: 1.5; }
.eg-help__ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.eg-help .eg-btn--light { font-family: var(--eg-mono); font-weight: 600; }
.eg-footer__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 48px; padding-block: 64px 48px; }
.eg-footer__brand p { max-width: 38ch; margin: 18px 0; line-height: 1.6; }
.eg-logo--footer { display: inline-flex; padding: 10px 14px; border-radius: 16px; background: var(--eg-media); }
.eg-logo--footer .eg-logo__img { height: 46px; }
.eg-footer__contact { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.eg-footer__contact li { display: flex; align-items: flex-start; gap: 10px; }
.eg-footer__contact .eg-icon { margin-top: 2px; color: var(--eg-lime); }
.eg-footer__col h2 { margin: 4px 0 18px; color: #fff !important; font: 500 12px var(--eg-mono); letter-spacing: .12em; text-transform: uppercase; }
.eg-footer__col ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.eg-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-block: 24px; border-top: 1px solid rgb(255 255 255 / .1); font-size: 13px; }
.eg-footer__bottom p { margin: 0; }
.eg-pay { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eg-pay li { border-color: transparent; }
.eg-pay--checkout { margin: 0 0 12px; }
.eg-pay--checkout li { border-color: var(--eg-line); }

/* ---------- 12 · WooCommerce: cesta, checkout, cuenta, avisos + páginas de Blocksy ---------- */
/* Page title band on Blocksy pages (cart, checkout, account, legal pages, blog) */
.eg-ui .hero-section { background: transparent; border: 0; }
/* Blocksy pages (cart, checkout, account, legal, blog): consistent breathing room under the header. */
.eg-ui main#main > [data-vertical-spacing], .eg-ui main#main > .ct-container, .eg-ui main#main > .ct-container-full { padding-top: clamp(32px, 4vw, 56px) !important; padding-bottom: clamp(48px, 6vw, 80px) !important; }
.eg-ui main#main > .hero-section + [data-vertical-spacing] { padding-top: 16px !important; }
.eg-ui main#main > .hero-section { padding-top: clamp(32px, 4vw, 56px); }
.eg-ui .hero-section .page-title { font-size: clamp(30px, 3.6vw, 48px); }
.eg-ui .hero-section .page-title, .eg-ui .entry-header .page-title { color: var(--eg-ink); font-family: var(--eg-font); font-weight: 700; letter-spacing: -.04em; }
.eg-ui .entry-content { font-size: 16px; line-height: 1.7; }
.eg-ui .entry-content h2, .eg-ui .entry-content h3 { color: var(--eg-ink); letter-spacing: -.025em; }
.eg-ui .entry-content a:not(.eg-btn):not(.button) { color: var(--eg-primary); }

/* Notices: calm cards with the theme's own icon (no WooCommerce bell or coloured side bar) */
.eg-ui .woocommerce-message, .eg-ui .woocommerce-info, .eg-ui .woocommerce-error, .eg-ui .wc-block-components-notice-banner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	min-height: 0;
	margin: 0 0 20px;
	padding: 14px 18px 14px 58px !important;
	border: 1px solid var(--eg-line) !important;
	border-radius: 14px;
	background: var(--eg-surface, #fff);
	box-shadow: 0 10px 30px -24px rgb(11 20 17 / .35);
	color: var(--eg-text);
	font-size: 15px;
	line-height: 1.45;
	list-style: none;
}
.eg-ui .woocommerce-message::before, .eg-ui .woocommerce-info::before, .eg-ui .woocommerce-error::before {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 16px !important;
	width: 28px;
	height: 28px;
	margin: 0 !important;
	border-radius: 50%;
	background: var(--eg-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px no-repeat;
	font-family: inherit !important;
	transform: translateY(-50%);
}
.eg-ui .woocommerce-info::before { background-color: var(--eg-dark); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 11v6M12 7h.01'/%3E%3C/svg%3E"); }
.eg-ui .woocommerce-error::before { top: 16px !important; background-color: var(--eg-danger); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E"); transform: none; }
.eg-ui .woocommerce-error { flex-direction: column; align-items: flex-start; }
.eg-ui .woocommerce-message .button, .eg-ui .woocommerce-info .button { order: 2; margin-left: auto; }
.eg-ui .woocommerce-message a:not(.button), .eg-ui .woocommerce-info a:not(.button) { color: var(--eg-primary); font-weight: 600; }

/* Success messages become a toast */
.eg-toasts { position: fixed; top: calc(var(--eg-header-h, 76px) + 16px); right: 16px; z-index: 1300; display: grid; gap: 10px; width: min(420px, calc(100vw - 32px)); pointer-events: none; }
.eg-toasts .woocommerce-message { margin: 0; padding-right: 44px !important; pointer-events: auto; box-shadow: 0 20px 40px -20px rgb(11 20 17 / .45); animation: eg-toast-in .35s var(--eg-ease-out) both; }
.eg-toasts .woocommerce-message.is-leaving { animation: eg-toast-out .3s ease both; }
.eg-toast__x { position: absolute; top: 50%; right: 10px; display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 8px; background: none; color: var(--eg-muted); cursor: pointer; transform: translateY(-50%); }
.eg-toast__x:hover { background: var(--eg-bg); color: var(--eg-ink); }
@keyframes eg-toast-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@keyframes eg-toast-out { to { opacity: 0; transform: translateX(20px); } }

/* Stock WooCommerce/Blocksy leftovers next to the add-to-cart button.
   Simple products: the stock box above already says it ("Disponible en 24hs" was shown twice). */
.eg-buy__form > p.stock, .eg-buy__form > .woo-custom-stock-status, .eg-buy__form form.cart:not(.variations_form) .stock, .eg-buy__form form.cart:not(.variations_form) .woo-custom-stock-status { display: none !important; }
.eg-buy__form a.added_to_cart { display: none !important; }

/* Orphan snippets the theme replaces: "Oferta flash" packs in the cart, free-shipping spray offer */
.eg-ui .ecogas-upsell, .eg-ui #ecogas-upsell, .eg-ui .reg-key { display: none !important; }

/* Shared WooCommerce buttons */
.eg-ui .woocommerce a.button, .eg-ui .woocommerce button.button, .eg-ui .woocommerce input.button, .eg-ui .woocommerce #respond input#submit {
	min-height: 46px;
	padding: 0 20px;
	border: 1px solid var(--eg-line-2);
	border-radius: 12px;
	background: var(--eg-surface);
	color: var(--eg-ink);
	font: 600 15px var(--eg-font);
	transition: border-color .2s, background-color .2s;
}
.eg-ui .woocommerce a.button:hover, .eg-ui .woocommerce button.button:hover { border-color: var(--eg-ink); }
.eg-ui .woocommerce a.button.alt, .eg-ui .woocommerce button.button.alt, .eg-ui .woocommerce .checkout-button, .eg-ui #place_order {
	min-height: 56px;
	border: 0;
	background: var(--eg-primary) !important;
	color: #fff !important;
	font-size: 17px;
	font-weight: 700;
	box-shadow: 0 10px 24px -10px rgb(0 128 26 / .7);
}
.eg-ui .woocommerce a.button.alt:hover, .eg-ui .woocommerce button.button.alt:hover, .eg-ui .woocommerce .checkout-button:hover, .eg-ui #place_order:hover { background: var(--eg-primary-2) !important; }

/* Form fields */
.eg-ui .woocommerce form .form-row label { color: var(--eg-ink); font-size: 14px; font-weight: 600; }
.eg-ui .woocommerce form .form-row .input-text, .eg-ui .woocommerce form .form-row select, .eg-ui .woocommerce form .form-row textarea, .eg-ui .select2-container .select2-selection--single {
	min-height: 48px;
	border: 1px solid var(--eg-line-2) !important;
	border-radius: 12px !important;
	background: var(--eg-surface) !important;
	font: 400 15px var(--eg-font);
	box-shadow: none;
}
.eg-ui .woocommerce form .form-row .input-text:focus, .eg-ui .woocommerce form .form-row select:focus { border-color: var(--eg-primary) !important; box-shadow: 0 0 0 4px rgb(0 128 26 / .12) !important; }
.eg-ui .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; }
.eg-ui .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }

/* Steps */
.eg-steps { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 28px; padding: 0; list-style: none; counter-reset: s; }
.eg-steps li, .eg-steps li a { display: inline-flex; align-items: center; gap: 10px; color: var(--eg-faint); font-size: 14px; font-weight: 600; }
.eg-steps li + li::before { content: ""; width: 28px; height: 1px; margin-right: 18px; background: var(--eg-line-2); }
.eg-steps__n { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--eg-line-2); border-radius: 50%; font-size: 13px; }
.eg-steps .is-current { color: var(--eg-ink); }
.eg-steps .is-current .eg-steps__n { border-color: var(--eg-ink); background: var(--eg-dark); color: #fff; }
.eg-steps .is-done, .eg-steps .is-done a { color: var(--eg-primary); text-decoration: none; }
.eg-steps .is-done .eg-steps__n { border-color: var(--eg-primary); background: var(--eg-primary); color: #fff; }

.eg-trustlist { display: grid; gap: 10px; margin: 18px 0 0; padding: 16px; border-radius: 14px; background: var(--eg-bg); list-style: none; }
.eg-trustlist li { display: flex; align-items: center; gap: 10px; color: var(--eg-text); font-size: 13px; }
.eg-trustlist .eg-icon { color: var(--eg-primary); }

/* Cart */
.eg-ui .woocommerce-cart-form { background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r-lg); overflow: hidden; }
.eg-ui table.shop_table { margin: 0; border: 0 !important; border-radius: 0; border-collapse: collapse; }
.eg-ui table.shop_table th { padding: 14px 16px; background: #fafbfa; color: var(--eg-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.eg-ui table.shop_table td { padding: 16px; border-top: 1px solid var(--eg-line); vertical-align: middle; }
.eg-ui table.shop_table .product-name a { color: var(--eg-ink); font-weight: 600; text-decoration: none; }
.eg-ui table.shop_table .product-name a:hover { color: var(--eg-primary); }
.eg-ui table.shop_table .product-thumbnail img { width: 72px; height: 72px; padding: 4px; object-fit: contain; border: 1px solid var(--eg-line); border-radius: 12px; background: var(--eg-media); }
.eg-ui table.shop_table .product-subtotal, .eg-ui table.shop_table .product-price { color: var(--eg-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.eg-ui table.shop_table a.remove { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: var(--eg-muted) !important; }
.eg-ui table.shop_table a.remove:hover { background: #fdeceb; color: var(--eg-danger) !important; }
.eg-ui .ct-order-review { padding: 24px; border: 1px solid var(--eg-line) !important; border-radius: var(--eg-r-lg) !important; background: var(--eg-surface) !important; }
.eg-ui .ct-order-review #order_review { padding: 0; border: 0; background: none; }
.eg-ui .cart_totals {
	padding: 24px;
	background: var(--eg-surface);
	border: 1px solid var(--eg-line);
	border-radius: var(--eg-r-lg);
}
.eg-ui .cart_totals h2, .eg-ui #order_review_heading { margin: 0 0 12px; color: var(--eg-ink); font-size: 22px; letter-spacing: -.02em; }
.eg-ui .cart_totals table.shop_table td, .eg-ui .cart_totals table.shop_table th { padding: 12px 0; background: none; font-size: 15px; letter-spacing: 0; text-transform: none; }
.eg-ui .cart_totals .order-total td, .eg-ui .cart_totals .order-total th, .eg-ui #order_review .order-total td { color: var(--eg-ink); font-size: 20px; font-weight: 700; }
.eg-ui .coupon .input-text { min-height: 46px; border: 1px solid var(--eg-line-2) !important; border-radius: 12px !important; }
.eg-ui .cart-empty { font-size: 18px; }

/* Checkout */
.eg-ui form.checkout #customer_details { padding: 24px; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r-lg); }
.eg-ui form.checkout h3 { color: var(--eg-ink); font-size: 20px; letter-spacing: -.02em; }
.eg-ui #payment { border-radius: 14px; background: var(--eg-bg) !important; }
.eg-ui #payment ul.payment_methods { padding: 12px; border-bottom: 1px solid var(--eg-line); }
.eg-ui #payment ul.payment_methods li { padding: 10px 6px; }
.eg-ui #payment div.payment_box { border-radius: 10px; background: var(--eg-surface) !important; }
.eg-ui #payment div.payment_box::before { display: none; }

/* My account */
.eg-ui .woocommerce-MyAccount-navigation ul { display: grid; gap: 4px; margin: 0; padding: 12px; background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: var(--eg-r); list-style: none; }
.eg-ui .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--eg-text); font-weight: 500; text-decoration: none; }
.eg-ui .woocommerce-MyAccount-navigation a:hover { background: var(--eg-bg); color: var(--eg-ink); }
.eg-ui .woocommerce-MyAccount-navigation .is-active a { background: var(--eg-dark); color: #fff; }
.eg-ui .woocommerce-MyAccount-content { font-size: 15px; }
.eg-ui .woocommerce-form-login__submit, .eg-ui .woocommerce-form-register__submit { width: 100%; background: var(--eg-primary) !important; border: 0 !important; color: #fff !important; font-weight: 700 !important; min-height: 52px !important; }
.eg-ui .woocommerce-form-login__submit:hover, .eg-ui .woocommerce-form-register__submit:hover { background: var(--eg-primary-2) !important; }
.eg-ui .eg-b2b-note { display: flex; align-items: center; gap: 14px; max-width: 450px; margin: 16px auto 0; padding: 16px 18px; border-radius: 16px; background: var(--eg-dark); color: #b3c3bc; font-size: 14px; }
.eg-ui .eg-b2b-note .eg-icon { color: var(--eg-lime); }
.eg-ui .eg-b2b-note a { color: var(--eg-lime); font-weight: 600; }
.eg-ui .woocommerce form.login, .eg-ui .woocommerce form.register { padding: 24px; background: var(--eg-surface); border: 1px solid var(--eg-line) !important; border-radius: var(--eg-r-lg) !important; }

/* Blocksy product cards still used by other plugins/shortcodes */
.eg-ui [data-products] .product { background: var(--eg-surface); border: 1px solid var(--eg-line); border-radius: 20px; padding: 14px 14px 16px; transition: border-color .3s, box-shadow .4s var(--eg-ease), transform .4s var(--eg-ease); }
.eg-ui [data-products] .product:hover { border-color: transparent; box-shadow: var(--eg-sh-3); transform: translateY(-4px); }
.eg-ui [data-products] .ct-media-container img { object-fit: contain !important; }
.eg-ui [data-products] .woocommerce-loop-product__title { font-size: 15px; font-weight: 600; line-height: 1.35; }
.eg-ui [data-products] .price { color: var(--eg-ink); font-size: 18px; font-weight: 700; }

/* ---------- 13 · Movimiento ---------- */
.eg-js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--eg-ease-out), transform .8s var(--eg-ease-out); transition-delay: calc(var(--i, 0) * 60ms); }
.eg-js [data-reveal].is-in { opacity: 1; transform: none; }
.eg-js .eg-pro .eg-app__rows li { opacity: 0; transform: translateX(16px); transition: opacity .5s var(--eg-ease-out), transform .6s var(--eg-ease-out); transition-delay: calc(var(--r) * 140ms + 400ms); }
.eg-js .eg-pro.is-in .eg-app__rows li { opacity: 1; transform: none; }

@keyframes eg-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes eg-deal { from { opacity: 0; transform: translateY(40px) rotate(-1.5deg) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes eg-rise-center { from { opacity: 0; transform: translate(-50%, 16px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes eg-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes eg-marquee { to { transform: translateX(-50%); } }
@keyframes eg-scroll-y { to { transform: translateY(-50%); } }
@keyframes eg-word { from { transform: translateY(105%); } to { transform: none; } }
@keyframes eg-wipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes eg-kenburns { from { transform: scale(1.14) translateX(1.5%); } to { transform: scale(1.02) translateX(0); } }
@keyframes eg-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes eg-fade-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes eg-drop { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes eg-pop { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }
@keyframes eg-ping { 0% { transform: scale(.6); opacity: .5; } 100% { transform: scale(2.2); opacity: 0; } }
@keyframes eg-shimmer { to { background-position: -200% 0; } }
@keyframes eg-bump { 0% { transform: scale(1); } 30% { transform: scale(1.45); } 60% { transform: scale(.9); } 100% { transform: scale(1); } }

/* ---------- 14 · Responsive ---------- */
.eg-show-lg { display: none !important; }

@media (max-width: 1320px) {
	.eg-hide-xl { display: none !important; }
	.eg-mega__grid { grid-template-columns: 260px minmax(0, 1fr) 260px; }
	.eg-mega__panel { grid-template-columns: minmax(0, 1fr); }
	.eg-mega__feature { display: none; }
	.eg-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.eg-grid--5 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.eg-grid--5 > :nth-child(n+9) { display: none; }
	.eg-pdp__body { grid-template-columns: minmax(0, 1fr); }
	.eg-pdp__aside { display: none; }
}

@media (max-width: 1100px) {
	.eg-hide-lg { display: none !important; }
	.eg-show-lg { display: inline-flex !important; }
	.eg-iconbtn.eg-show-lg { display: inline-grid !important; }
	.eg-topbar__menu { display: none; }
	.eg-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.eg-hero__grid, .eg-app4 { grid-template-columns: minmax(0, 1fr); }
	.eg-hero__visual { max-width: 640px; }
	.eg-live__viewport { height: 360px; }
	.eg-float--b { display: none; }
	.eg-grid--5 > :nth-child(n+7) { display: none; }
	.eg-usp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eg-rail { grid-auto-columns: calc((100% - 2 * 16px) / 3.2); }
	.eg-railbtn { display: none; }
	.eg-pro { grid-template-columns: minmax(0, 1fr); }
	.eg-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eg-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.eg-footer__brand { grid-column: 1 / -1; }

	.eg-pdp__grid { grid-template-columns: minmax(0, 1fr); }
	.eg-gallery { position: static; grid-template-columns: minmax(0, 1fr); }
	.eg-gallery__stage { grid-column: 1; }
	.eg-gallery__thumbs { grid-column: 1; grid-row: 2; display: flex; overflow-x: auto; }
	.eg-gallery__thumbs button { flex: none; width: 64px; height: 64px; }

	.eg-plp__layout { grid-template-columns: minmax(0, 1fr); }
	.eg-filters {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: 1100;
		width: min(360px, 90vw);
		max-height: none;
		padding: 20px;
		background: var(--eg-surface);
		box-shadow: var(--eg-sh-3);
		transform: translateX(-105%);
		transition: transform .35s var(--eg-ease-out);
	}
	.eg-filters.is-open { transform: none; }
	.eg-filters__scrim { display: block; position: fixed; inset: 0; z-index: 1090; background: rgb(11 20 17 / .45); }
	.eg-filters__scrim[hidden] { display: none; }
}

@media (max-width: 760px) {
	body.eg-ui { --eg-header-h: 64px; }
	.eg-hide-md { display: none !important; }
	/* Day/night and language live in the header row on phones (thumb reach, like the cart) */
	.eg-topbar__links > :not(.eg-topbar__b2b) { display: none; }
	.eg-actions { gap: 0; }
	.eg-action--theme, .eg-lang--hdr > summary.eg-action { width: 40px; padding: 0 !important; justify-content: center; }
	.eg-lang--hdr { display: block; }
	.eg-lang--hdr > summary.eg-action { position: relative; font: inherit; }
	.eg-lang--hdr > summary b { position: absolute; right: 1px; bottom: 5px; padding: 0 3px; border-radius: 4px; background: var(--eg-ink); color: var(--eg-surface); font-size: 8.5px; font-weight: 700; line-height: 12px; letter-spacing: .02em; }
	.eg-lang--hdr .eg-lang__menu { top: calc(100% + 6px); }
	.eg-lang--hdr .eg-lang__menu a { padding: 11px 14px; font-size: 15px; }
	.eg-header__row { flex-wrap: wrap; height: auto !important; padding-block: 8px 10px; gap: 6px 8px; }
	.eg-logo__img, header#header.eg-header.is-scrolled .eg-logo__img { height: 42px; }
	.eg-actions { margin-left: auto; }
	.eg-action { padding: 0 10px; }
	.eg-header__search { order: 10; flex-basis: 100%; max-width: none; }
	.eg-kbd { display: none; }

	.eg-appstage { min-height: 0; }
	.eg-appstage__phones { width: 230px; }
	.eg-appstage__logo { width: 56px; height: 56px; border-radius: 14px; }
	.eg-fuel { padding: 7px 10px; }
	.eg-fuel b { font-size: 14px; }
	.eg-promo--app img { width: 48%; right: -8%; top: auto; bottom: -6%; height: 70%; opacity: .9; }
	.eg-promo--app .eg-promo__copy { max-width: 62%; }
	.eg-search--hero input[type="search"] { height: 56px; padding-right: 16px !important; font-size: 16px !important; }
	.eg-search--hero > .eg-btn { display: none; }
	.eg-usp { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.eg-hero__title { font-size: clamp(38px, 11vw, 52px); }
	.eg-live__viewport { height: 300px; }
	.eg-live__head .eg-ref { display: none; }
	.eg-live__row { padding-inline: 14px; }
	.eg-upsell { grid-template-columns: 84px minmax(0, 1fr); padding: 16px; gap: 14px; }
	.eg-upsell h3 { font-size: 17px; padding-right: 0; margin-top: 24px; }
	.eg-upsell ul { display: none; }
	.eg-app4 .eg-appstage { min-height: 260px; }

	.eg-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.eg-head .eg-tabs--pill { width: 100%; overflow-x: auto; scrollbar-width: none; }
	.eg-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.eg-grid--5 > :nth-child(n+5) { display: none; }
	.eg-subcats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eg-brandgrid { grid-template-columns: minmax(0, 1fr); }
	.eg-promos { grid-template-columns: minmax(0, 1fr); }
	.eg-promo { min-height: 260px; }
	.eg-app__kpis { grid-template-columns: repeat(2, 1fr); }
	.eg-app__kpis div:last-child { display: none; }
	.eg-tools { grid-template-columns: minmax(0, 1fr); }
	.eg-help__ctas, .eg-help__ctas .eg-btn { width: 100%; }
	.eg-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }

	.eg-buy__amount { font-size: 32px; }
	.eg-buy__form .quantity { width: 118px; }
	.eg-buy__help .eg-btn { min-height: 48px; padding: 10px 14px; white-space: normal; text-align: center; line-height: 1.3; }
	.eg-crumbs ol { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
	.eg-crumbs ol::-webkit-scrollbar { display: none; }
	.eg-buy__trust { grid-template-columns: minmax(0, 1fr); }
	.eg-infocards { grid-template-columns: minmax(0, 1fr); }
	.eg-specs > div { grid-template-columns: 1fr; }
	.eg-specs dt { padding-bottom: 0; }
	.eg-buybar .eg-btn { padding: 0 14px; }
	.eg-buybar__img { display: none; }

	.eg-plp__img { display: none; }
	.eg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.eg-grid .eg-card__body { padding: 12px; }
	.eg-sort { flex: 1; }
	.eg-sort select { width: 100%; }
	.eg-steps li + li::before { display: none; }
	/* No horizontal scrolling on phones: everything wraps. */
	.eg-finder > .eg-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; overflow: visible; padding: 8px 8px 0; }
	.eg-finder > .eg-tabs button { justify-content: center; padding: 10px 6px; }
	.eg-finder > .eg-tabs .eg-tabs__ink { display: none; }
	.eg-finder > .eg-tabs button[aria-selected="true"] { background: var(--eg-soft); }
	.eg-live__tabs { flex-wrap: wrap; overflow: visible; }
	.eg-head .eg-tabs--pill { display: grid; grid-template-columns: 1fr 1fr; width: 100%; overflow: visible; }
	.eg-head .eg-tabs--pill .eg-tabs__ink { display: none; }
	.eg-head .eg-tabs--pill button { justify-content: center; }
	.eg-head .eg-tabs--pill button[aria-selected="true"] { background: var(--eg-dark); }
	.eg-pdp__nav .eg-wrap { flex-wrap: wrap; overflow: visible; }
	.eg-pdp__nav a { padding: 10px 10px; }
	.eg-gallery__thumbs { flex-wrap: wrap; overflow: visible; }
	.eg-crumbs ol { flex-wrap: wrap !important; overflow: visible !important; white-space: normal !important; }
	.eg-steps3 { grid-template-columns: minmax(0, 1fr); }
	.eg-bundle__item { grid-template-columns: auto 52px minmax(0, 1fr) auto; gap: 10px; }
	.eg-bundle__img { width: 52px; height: 52px; }
	.eg-alt { grid-template-columns: 40px minmax(0, 1fr) auto; }
	.eg-alt__go { display: none; }

}

@media (prefers-reduced-motion: reduce) {
	.eg-ui *, .eg-ui *::before, .eg-ui *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	.eg-js [data-reveal], .eg-js .eg-pro .eg-app__rows li { opacity: 1; transform: none; }
}

/* ---------- Page loader: top bar at once, then a veil with a centred card ---------- */
.eg-pageload { position: fixed; inset: 0; z-index: 2147483000; pointer-events: none; visibility: hidden; }
.eg-pageload.is-on { visibility: visible; }
.eg-pageload__bar { position: absolute; top: 0; left: 0; right: 0; z-index: 2; height: 3px; overflow: hidden; }
.eg-pageload__bar i { display: block; height: 100%; background: var(--eg-primary); box-shadow: 0 0 12px rgb(0 128 26 / .5); transform: scaleX(0); transform-origin: 0 50%; transition: transform .25s ease-out; }
.eg-pageload__veil { position: absolute; inset: 0; background: var(--eg-glass); opacity: 0; transition: opacity .25s ease; -webkit-backdrop-filter: blur(6px) saturate(.9); backdrop-filter: blur(6px) saturate(.9); }
.eg-pageload__card { position: absolute; top: 50%; left: 50%; display: grid; justify-items: center; gap: 14px; width: min(300px, calc(100vw - 48px)); padding: 28px 24px 22px; border: 1px solid var(--eg-line); border-radius: 22px; background: var(--eg-surface); box-shadow: 0 30px 70px -30px rgb(11 20 17 / .45); opacity: 0; transform: translate(-50%, -46%) scale(.96); transition: opacity .25s ease, transform .35s var(--eg-ease-out); }
.eg-pageload.is-slow { pointer-events: auto; cursor: progress; }
.eg-pageload.is-slow .eg-pageload__veil { opacity: 1; }
.eg-pageload.is-slow .eg-pageload__card { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.eg-pageload__ring { position: relative; display: grid; place-items: center; width: 60px; height: 60px; }
.eg-pageload__ring svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: eg-spin 1.1s linear infinite; }
.eg-pageload__track { fill: none; stroke: var(--eg-line); stroke-width: 4; }
.eg-pageload__arc { fill: none; stroke: var(--eg-primary); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 90 200; }
.eg-pageload__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--eg-primary); animation: eg-pulse-dot 1.1s ease-in-out infinite; }
.eg-pageload__msg { min-height: 1.4em; color: var(--eg-ink); font-size: 15px; font-weight: 600; letter-spacing: -.01em; text-align: center; transition: opacity .2s; }
.eg-pageload__progress { display: block; width: 100%; height: 4px; overflow: hidden; border-radius: 4px; background: var(--eg-line); }
.eg-pageload__progress i { display: block; width: 100%; height: 100%; border-radius: inherit; background: var(--eg-primary); transform: scaleX(0); transform-origin: 0 50%; transition: transform .25s ease-out; }
@keyframes eg-spin { to { transform: rotate(360deg); } }
@keyframes eg-pulse-dot { 0%, 100% { transform: scale(.7); opacity: .6; } 50% { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .eg-pageload__ring svg, .eg-pageload__dot { animation-duration: 3s; } .eg-pageload__bar i, .eg-pageload__progress i { transition: none; } }

/* ---------- Production snippets that the EcoGas design replaces ---------- */
.eg-ui #eg-loader, .eg-ui .reg-key-topbar { display: none !important; }
/* Old "Asistente GLP" snippet, replaced by the theme's "¿Encaja en tu coche?" */
.eg-compat-on #glpWidgetRoot, .eg-compat-on #glpDrawer, .eg-compat-on .ct-product-content-block:has(#glpWidgetRoot) { display: none !important; }
.eg-pdp:has(.eg-bundle) .ecogas-junto { display: none !important; }

/* ---------- Third-party blocks inside the product page ---------- */
.eg-buy__extra { display: grid; gap: 14px; min-width: 0; margin: 4px 0 18px; }
.eg-buy__extra > * { max-width: 100%; min-width: 0; margin: 0; }
.eg-buy__extra .ct-product-brands, .eg-buy__extra .ct-product-divider, .eg-buy__extra .ct-payment-methods, .eg-buy__extra .product_meta, .eg-buy__extra .ct-share-box { display: none !important; }
.eg-buy__extra img, .eg-pdp__extra img { max-width: 100%; height: auto; }
.eg-pdp__extra { display: grid; gap: 24px; min-width: 0; margin-top: 40px; }
.eg-pdp__extra > * { max-width: 100%; min-width: 0; }

/* ---------- "¿Encaja en tu coche?" — compatibility assistant ---------- */
.eg-btn--ghost { border-color: transparent; background: transparent; color: var(--eg-muted); }
.eg-btn--ghost:hover { background: var(--eg-bg); color: var(--eg-ink); }
.eg-btn--wa { border-color: #1fa855; background: #1fa855; color: #fff !important; }
.eg-btn--wa:hover { border-color: #178a45; background: #178a45; }

.eg-compat { display: grid; gap: 8px; margin: 14px 0 4px; }
.eg-compat__open {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; width: 100%;
	padding: 14px 16px; border: 1.5px solid var(--eg-line-2); border-radius: 16px; background: var(--eg-surface);
	color: var(--eg-ink); font: inherit; text-align: left; cursor: pointer;
	transition: border-color .2s, box-shadow .2s, transform .2s var(--eg-ease);
}
.eg-compat__open:hover { border-color: var(--eg-primary); box-shadow: 0 10px 28px -16px rgb(0 128 26 / .55); transform: translateY(-1px); }
.eg-compat__open:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgb(0 128 26 / .18); }
.eg-compat__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--eg-soft); color: var(--eg-primary); }
.eg-compat__txt { display: grid; gap: 2px; min-width: 0; }
.eg-compat__txt strong { font-size: 16px; letter-spacing: -.01em; }
.eg-compat__txt small { color: var(--eg-muted); font-size: 13px; line-height: 1.35; }
.eg-compat__go { color: var(--eg-primary); transition: transform .2s var(--eg-ease); }
.eg-compat__open:hover .eg-compat__go { transform: translateX(3px); }
.eg-compat__live { display: flex; align-items: center; gap: 8px; margin: 0 0 0 4px; color: var(--eg-muted); font-size: 12.5px; }
.eg-compat__live i { width: 8px; height: 8px; border-radius: 50%; background: #c2cbc7; }
.eg-compat.is-open-now .eg-compat__live i { background: #1fa855; box-shadow: 0 0 0 3px rgb(31 168 85 / .18); }

.eg-compatpanel .eg-cartpanel__head { gap: 6px; }
.eg-compatpanel .eg-cartpanel__head h2 { flex: 1; }
.eg-compat__back[hidden] { display: none !important; }
.eg-compat__progress { height: 3px; background: var(--eg-line); }
.eg-compat__progress i { display: block; height: 100%; background: var(--eg-primary); transform: scaleX(.25); transform-origin: 0 50%; transition: transform .35s var(--eg-ease-out); }

.eg-cq__head h3 { margin: 0; color: var(--eg-ink); font-size: 21px; line-height: 1.2; letter-spacing: -.02em; outline: 0; }
.eg-cq__head p { margin: 6px 0 0; color: var(--eg-muted); font-size: 14px; line-height: 1.5; }
.eg-cq__list { display: grid; gap: 10px; }
.eg-cq__choice {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; width: 100%;
	padding: 14px; border: 1.5px solid var(--eg-line-2); border-radius: 14px; background: var(--eg-surface);
	color: var(--eg-ink); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s, background-color .15s;
}
.eg-cq__choice:hover, .eg-cq__choice.is-on { border-color: var(--eg-primary); background: var(--eg-soft); }
.eg-cq__choice > .eg-icon { color: var(--eg-muted); }
.eg-cq__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--eg-bg); color: var(--eg-primary); }
.eg-cq__txt { display: grid; gap: 2px; }
.eg-cq__txt strong { font-size: 15px; }
.eg-cq__txt small { color: var(--eg-muted); font-size: 13px; line-height: 1.35; }
.eg-cq__pills .eg-opt { min-width: 64px; justify-content: center; }

.eg-plate { display: flex; align-items: stretch; overflow: hidden; height: 64px; border: 2px solid var(--eg-ink); border-radius: 10px; background: var(--eg-media); }
.eg-plate:focus-within { box-shadow: 0 0 0 4px rgb(0 128 26 / .18); }
.eg-plate__eu { display: grid; place-content: center; gap: 1px; width: 38px; background: #1c47a8; color: #fff; font: 700 13px/1 var(--eg-font); text-align: center; }
.eg-plate__eu i { color: #ffd42a; font-size: 10px; font-style: normal; }
.eg-plate input { flex: 1; min-width: 0; padding: 0 14px !important; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--eg-ink); font: 700 30px/1 var(--eg-plate) !important; letter-spacing: .08em; text-align: center; text-transform: uppercase; outline: 0; }
.eg-plate input::placeholder { color: #c3cbc7; }
.eg-cq__msg { min-height: 20px; margin: -6px 0 0; font-size: 14px; }
.eg-cq__msg.is-ok { color: var(--eg-primary); font-weight: 600; }
.eg-cq__msg.is-warn { color: #a35a00; }

.eg-cq__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 10px; }
.eg-cq__tile { display: grid; justify-items: center; gap: 10px; padding: 16px 10px; border: 1.5px solid var(--eg-line-2); border-radius: 14px; background: var(--eg-surface); color: var(--eg-ink); font: 600 15px var(--eg-font); cursor: pointer; transition: border-color .15s, background-color .15s, transform .15s; }
.eg-cq__tile:hover, .eg-cq__tile.is-on { border-color: var(--eg-primary); background: var(--eg-soft); transform: translateY(-1px); }
.eg-cq__mono { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 8px; border-radius: 12px; color: #fff; font: 800 15px/1 var(--eg-font); letter-spacing: -.02em; }
.eg-cq__mono--logo { width: 72px; min-width: 72px; padding: 6px; border: 1px solid var(--eg-line); background: var(--eg-media); }
.eg-cq__mono--logo img { width: 100%; height: 100%; object-fit: contain; }
.eg-cq__link { display: inline-flex; align-items: center; justify-self: start; gap: 6px; padding: 4px 0; border: 0; background: none; color: var(--eg-muted); font: 500 14px var(--eg-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.eg-cq__link:hover { color: var(--eg-ink); }

.eg-cq__search { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 14px; border: 1px solid var(--eg-line-2); border-radius: 12px; color: var(--eg-muted); }
.eg-cq__search:focus-within { border-color: var(--eg-primary); box-shadow: 0 0 0 4px rgb(0 128 26 / .14); }
.eg-cq__search input { flex: 1; min-width: 0; height: 100%; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font: 500 16px var(--eg-font); outline: 0; }
.eg-cq__countries { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.eg-cq__countries button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--eg-line); border-radius: 12px; background: var(--eg-surface); color: var(--eg-ink); font: 500 15px var(--eg-font); cursor: pointer; }
.eg-cq__countries button:hover, .eg-cq__countries button.is-on { border-color: var(--eg-primary); background: var(--eg-soft); }
.eg-cq__countries small { padding: 3px 8px; border-radius: 6px; background: var(--eg-bg); color: var(--eg-muted); font: 600 12px var(--eg-mono); }

.eg-cq__field { display: grid; gap: 6px; }
.eg-cq__field span { color: var(--eg-ink); font-size: 14px; font-weight: 600; }
.eg-cq__field input, .eg-cq__field textarea { width: 100%; padding: 12px 14px !important; border: 1px solid var(--eg-line-2) !important; border-radius: 12px !important; background: var(--eg-surface) !important; box-shadow: none !important; font: 500 16px/1.4 var(--eg-font) !important; }
.eg-cq__field input { height: 50px; }
.eg-cq__field input:focus, .eg-cq__field textarea:focus { border-color: var(--eg-primary) !important; box-shadow: 0 0 0 4px rgb(0 128 26 / .14) !important; outline: 0; }
.eg-cq__actions { display: grid; gap: 8px; margin-top: 4px; }

.eg-cq__car { display: grid; gap: 12px; padding: 16px; border-radius: 16px; background: var(--eg-bg); }
.eg-cq__badge { display: inline-flex; align-items: center; justify-self: start; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--eg-primary); color: #fff; font-size: 12px; font-weight: 700; }
.eg-cq__carrow { display: flex; align-items: center; gap: 12px; }
.eg-cq__carrow div { display: grid; gap: 2px; }
.eg-cq__carrow strong { color: var(--eg-ink); font-size: 16px; }
.eg-cq__carrow small { color: var(--eg-muted); font-size: 13px; }
.eg-cq__result { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding: 16px; border: 1px solid; border-radius: 16px; }
.eg-cq__result strong { display: block; color: var(--eg-ink); font-size: 17px; line-height: 1.3; letter-spacing: -.01em; }
.eg-cq__result p { margin: 4px 0 0; color: var(--eg-text); font-size: 14px; line-height: 1.5; }
.eg-cq__rico { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #fff; }
.eg-cq__result.is-ok { border-color: #bfe3c8; background: #f0f9f2; } .eg-cq__result.is-ok .eg-cq__rico { background: var(--eg-primary); }
.eg-cq__result.is-no { border-color: #f3c9c5; background: #fdf3f2; } .eg-cq__result.is-no .eg-cq__rico { background: #c8372d; }
.eg-cq__result.is-unk { border-color: #f1dcaf; background: #fdf8ec; } .eg-cq__result.is-unk .eg-cq__rico { background: #c98a00; }
.eg-cq__later { display: grid; gap: 4px; padding: 12px 14px; border: 1px dashed var(--eg-line-2); border-radius: 14px; }
.eg-cq__later p { margin: 0; color: var(--eg-text); font-size: 13.5px; line-height: 1.5; }
.eg-cq__note { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--eg-ink); font-size: 14px; font-weight: 600; }
.eg-cq__note .eg-icon { color: var(--eg-primary); }
.eg-cq__summary { display: grid; margin: 0; border: 1px solid var(--eg-line); border-radius: 14px; }
.eg-cq__summary div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 10px; padding: 9px 14px; border-top: 1px solid var(--eg-line); font-size: 13.5px; }
.eg-cq__summary div:first-child { border-top: 0; }
.eg-cq__summary dt { color: var(--eg-muted); }
.eg-cq__summary dd { margin: 0; color: var(--eg-ink); font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 760px) {
	.eg-compatpanel .eg-cartpanel__box { inset: auto 0 0 0; width: 100%; max-height: 92vh; border-radius: 20px 20px 0 0; transform: translateY(100%); }
	.eg-compatpanel.is-open .eg-cartpanel__box { transform: none; }
	.eg-cq__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eg-plate input { font-size: 26px !important; }
}
@media (prefers-reduced-motion: reduce) { .eg-compat__open, .eg-cq__tile { transition: none; } }

/* ---------- Home: latest blog posts ---------- */
.eg-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.eg-post { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--eg-line); border-radius: 18px; background: var(--eg-surface); transition: border-color .2s, box-shadow .25s, transform .25s var(--eg-ease); }
.eg-post:hover { border-color: var(--eg-line-2); box-shadow: 0 18px 40px -24px rgb(11 20 17 / .35); transform: translateY(-2px); }
.eg-post__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--eg-bg); }
.eg-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--eg-ease-out); }
.eg-post:hover .eg-post__media img { transform: scale(1.04); }
.eg-post__ph { display: grid; place-items: center; height: 100%; color: var(--eg-primary); background: var(--eg-soft); }
.eg-post__body { display: grid; gap: 8px; padding: 18px 20px 22px; }
.eg-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; color: var(--eg-muted); font-size: 13px; }
.eg-post__meta span { padding: 3px 9px; border-radius: 999px; background: var(--eg-soft); color: var(--eg-primary); font-size: 12px; font-weight: 600; }
.eg-post h3 { margin: 0; font-size: 18px; line-height: 1.3; letter-spacing: -.015em; }
.eg-post h3 a { color: var(--eg-ink) !important; }
.eg-post h3 a::after { content: ""; position: absolute; inset: 0; }
.eg-post { position: relative; }
.eg-post__body > p:last-child { margin: 0; color: var(--eg-text); font-size: 14px; line-height: 1.55; }
@media (max-width: 1000px) { .eg-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .eg-post:nth-child(3) { display: none; } }
@media (max-width: 640px) { .eg-posts { grid-template-columns: 1fr; } .eg-post:nth-child(3) { display: flex; } }

/* ---------- Brand logos: greyscale, colour on hover ---------- */
.eg-brandlogo { display: block; object-fit: contain; filter: grayscale(1) contrast(1.05); opacity: .72; mix-blend-mode: multiply; transition: filter .3s, opacity .3s; }
a:hover .eg-brandlogo, a:focus-visible .eg-brandlogo { filter: none; opacity: 1; }
.eg-brandgrid a.has-logo .eg-brandgrid__top { align-items: center; }
.eg-brandgrid a.has-logo .eg-brandgrid__name { font-size: 15px; }
/* Logo on its own row: fixed box, whole logo visible; the thumbnails carry white margins, so a
   static 1.35 zoom from the left edge fills the box (no hover zoom: hover only brings colour back) */
.eg-brandgrid__logo { display: flex; align-items: center; width: 64%; height: 56px; margin-bottom: 2px; }
.eg-brandgrid__logo .eg-brandlogo { width: 100%; height: 100%; object-position: left center; transform: scale(1.35); transform-origin: left center; }
/* Hero brand finder: readable text tiles (name + product count) */
.eg-chips--brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 8px; }
.eg-chips--brands a { display: grid; gap: 2px; align-content: center; min-height: 58px; padding: 10px 14px; border-radius: 14px; font-size: 14px; line-height: 1.2; }
.eg-chips--brands a strong { color: var(--eg-ink); font-weight: 700; overflow-wrap: normal; }
.eg-chips--brands a small { color: var(--eg-muted); font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; }
.eg-chips--brands a:hover strong { color: var(--eg-primary); }
.eg-chips--brands .eg-chips__more { justify-content: center; grid-auto-flow: column; font-weight: 600; }
.eg-search__ico--logo { overflow: hidden; background: var(--eg-media) !important; }
.eg-search__ico--logo img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.3); filter: grayscale(1); }
.eg-search__sugg a:hover .eg-search__ico--logo img, .eg-search__sugg[aria-selected="true"] .eg-search__ico--logo img { filter: none; }
@media (prefers-reduced-motion: reduce) { .eg-brandlogo { transition: none; } }

/* ---------- Home hero · photo slider (3 looks: light, dark, framed) ---------- */
.eg-slider { --edge: max(var(--eg-gutter), calc((100% - var(--eg-wrap)) / 2 + var(--eg-gutter))); position: relative; height: clamp(560px, 78vh, 760px); overflow: hidden; background: linear-gradient(180deg, #fff 0%, #eef5f0 100%); color: var(--eg-ink); isolation: isolate; }
.eg-slider__track { position: absolute; inset: 0; }
.eg-slide { position: absolute; inset: 0; visibility: hidden; z-index: 0; }
.eg-slide.is-active { visibility: visible; z-index: 2; }
.eg-slide.is-leaving { visibility: visible; z-index: 1; }
.eg-slide.is-leaving .eg-slide__content { opacity: 0; transform: translateX(-24px); transition: opacity .25s, transform .4s var(--eg-ease); }
.eg-slide__media { position: absolute; top: 0; right: 0; bottom: 0; width: 64%; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%); mask-image: linear-gradient(90deg, transparent 0, #000 30%); }
.eg-slide__media img { width: 100%; height: 100%; object-fit: cover; object-position: 68% 55%; transform: scale(1.1); filter: brightness(1.08) saturate(1.05); will-change: transform; }
.eg-slide.is-active .eg-slide__media { animation: eg-wipe 1.1s cubic-bezier(.77, 0, .18, 1) both; }
.eg-slide.is-active .eg-slide__media img { animation: eg-kenburns 9s linear both; }
.eg-slide__content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; height: 100%; padding-bottom: 130px; }
.eg-slide__kicker { display: inline-flex; align-items: center; align-self: flex-start; gap: 12px; margin-bottom: 20px; color: var(--eg-primary); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.eg-slide__num { padding: 3px 8px; border: 1px solid var(--eg-line-2); border-radius: 6px; color: var(--eg-muted); font-size: 12px; letter-spacing: 0; }
.eg-slide__title { max-width: 13ch; margin: 0 0 20px; color: var(--eg-ink) !important; font-size: clamp(40px, 5.2vw, 78px); font-weight: 700; line-height: 1; letter-spacing: -.045em; }
.eg-w { display: inline-block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; vertical-align: top; }
.eg-w > span { display: inline-block; }
.eg-slide__text { max-width: 44ch; margin: 0 0 30px; color: var(--eg-text); font-size: clamp(16px, 1.3vw, 19px); line-height: 1.55; }
.eg-slide__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.eg-slide.is-active .eg-slide__kicker { animation: eg-rise .7s var(--eg-ease-out) .35s both; }
.eg-slide.is-active .eg-w > span { animation: eg-word .9s var(--eg-ease-out) both; animation-delay: calc(.45s + var(--w) * 70ms); }
.eg-slide.is-active .eg-slide__text { animation: eg-rise .8s var(--eg-ease-out) .75s both; }
.eg-slide.is-active .eg-slide__ctas { animation: eg-rise .8s var(--eg-ease-out) .9s both; }

.eg-slider__ui { position: absolute; left: 0; right: 0; bottom: 0; z-index: 5; padding-bottom: 84px; pointer-events: none; }
.eg-slider__uirow { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.eg-slider__uirow > * { pointer-events: auto; }
.eg-slider__tabs { display: grid; flex: 1; grid-auto-flow: column; grid-auto-columns: minmax(0, 190px); gap: 16px; }
.eg-slider__tabs button { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px 10px; padding: 0 0 2px; border: 0; background: none; color: var(--eg-muted); font: 500 13px var(--eg-font); text-align: left; cursor: pointer; transition: color .2s; }
.eg-slider__tabs button .eg-ref { color: inherit; }
.eg-slider__tabs button:hover, .eg-slider__tabs button[aria-selected="true"] { color: var(--eg-ink); }
.eg-slider__label { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.eg-slider__bar { grid-column: 1 / -1; height: 3px; overflow: hidden; border-radius: 3px; background: rgb(20 32 26 / .12); }
.eg-slider__bar i { display: block; width: 100%; height: 100%; background: var(--eg-primary); transform: scaleX(0); transform-origin: left; }
.eg-slider__tabs button.is-done .eg-slider__bar i { transform: scaleX(1); }
.eg-slider__tabs button[aria-selected="true"] .eg-slider__bar i { animation: eg-progress var(--eg-slide-ms, 7000ms) linear both; }
.eg-slider.is-paused .eg-slider__tabs button[aria-selected="true"] .eg-slider__bar i { animation-play-state: paused; }
.eg-slider__ctrl { display: flex; gap: 8px; }
.eg-slider__ctrl button { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgb(255 255 255 / .6); border-radius: 50%; background: var(--eg-glass); color: var(--eg-ink); cursor: pointer; backdrop-filter: blur(8px); box-shadow: 0 8px 24px -12px rgb(11 20 17 / .45); transition: background-color .2s, color .2s; }
.eg-slider__ctrl button:hover { background: var(--eg-dark); color: #fff; }
.eg-i-play { display: none; }
.eg-slider.is-paused .eg-i-play { display: block; }
.eg-slider.is-paused .eg-i-pause { display: none; }

@media (min-width: 761px) {
	.eg-slider--light .eg-slider__tabs { flex: 0 1 44%; grid-auto-columns: minmax(0, 1fr); }
}

/* Dark: full-bleed photo, white text (the original look) */
.eg-slider--dark { background: #062512; color: #fff; }
.eg-slider--dark .eg-slide__media { left: 0; width: auto; -webkit-mask-image: none; mask-image: none; }
.eg-slider--dark .eg-slide__media img { filter: none; }
.eg-slider--dark .eg-slide__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(3 26 12 / .92) 0%, rgb(3 26 12 / .7) 38%, rgb(3 26 12 / .1) 75%), linear-gradient(0deg, rgb(3 26 12 / .7) 0%, transparent 35%); }
.eg-slider--dark .eg-slide__kicker { color: #c5f39a; }
.eg-slider--dark .eg-slide__num { border-color: rgb(197 243 154 / .4); color: #c5f39a; }
.eg-slider--dark .eg-slide__title { color: #fff !important; }
.eg-slider--dark .eg-slide__text { color: #d6e8dc; }
.eg-slider--dark .eg-slider__tabs button { color: rgb(255 255 255 / .6); }
.eg-slider--dark .eg-slider__tabs button:hover, .eg-slider--dark .eg-slider__tabs button[aria-selected="true"] { color: #fff; }
.eg-slider--dark .eg-slider__bar { background: rgb(255 255 255 / .25); }
.eg-slider--dark .eg-slider__bar i { background: #c5f39a; }
.eg-slider--dark .eg-slider__ctrl button { border-color: rgb(255 255 255 / .3); background: rgb(255 255 255 / .06); color: #fff; box-shadow: none; }
.eg-slider--dark .eg-slider__ctrl button:hover { background: var(--eg-media); color: var(--eg-ink); }

/* Framed: copy left, photo in a rounded frame on the right */
.eg-slider--framed { background: linear-gradient(180deg, #fff 0%, var(--eg-bg) 100%); }
.eg-slider--framed .eg-slide__media { top: clamp(28px, 4vw, 48px); right: var(--edge); bottom: 150px; width: calc((100% - 2 * var(--edge)) * .56); border-radius: 28px; -webkit-mask-image: none; mask-image: none; box-shadow: 0 40px 80px -40px rgb(3 40 18 / .55); }
.eg-slider--framed .eg-slide__media img { filter: none; }
.eg-slider--framed .eg-slide__title { max-width: 11ch; font-size: clamp(36px, 4.4vw, 66px); }
.eg-slider--framed .eg-slide__text { max-width: 36ch; }

/* Finder card overlapping the slider */
.eg-finderbar { position: relative; z-index: 6; margin-top: -56px; }
.eg-finderbar__card { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 28px; padding: 24px 28px; border: 1px solid var(--eg-line); border-radius: var(--eg-r-lg); background: var(--eg-surface); box-shadow: 0 30px 60px -30px rgb(11 20 17 / .35); }
.eg-finderbar h2 { margin: 0 0 12px; color: var(--eg-ink); font-size: 20px; font-weight: 700; }
.eg-finderbar__alt { display: grid; align-content: center; gap: 10px; }
.eg-quick { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border: 1px solid var(--eg-line); border-radius: 14px; color: var(--eg-ink) !important; text-decoration: none; transition: border-color .2s, background-color .2s; }
.eg-quick:hover { border-color: var(--eg-primary); background: var(--eg-soft); }
.eg-quick > span:nth-child(2) { flex: 1; display: grid; }
.eg-quick strong { font-size: 15px; }
.eg-quick small { color: var(--eg-muted); font-size: 13px; }
.eg-quick__ico { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--eg-soft); color: var(--eg-primary); }
.eg-quick__go { color: var(--eg-faint); transition: transform .25s var(--eg-ease), color .2s; }
.eg-quick:hover .eg-quick__go { transform: translateX(3px); color: var(--eg-primary); }
@keyframes eg-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (max-width: 1000px) {
	.eg-slider__tabs { grid-auto-columns: minmax(0, 1fr); }
	.eg-slider__label { display: none; }
	.eg-finderbar__card { grid-template-columns: minmax(0, 1fr); }
	.eg-finderbar__alt { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
}
@media (max-width: 760px) {
	.eg-slider { height: auto; }
	.eg-slider__track { position: relative; display: grid; }
	.eg-slide { position: relative; grid-area: 1 / 1; inset: auto; display: flex; flex-direction: column; }
	.eg-slide__media, .eg-slider--framed .eg-slide__media { position: relative; inset: auto; width: 100%; height: 280px; border-radius: 0; box-shadow: none; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
	.eg-slider--dark .eg-slide__media { -webkit-mask-image: none; mask-image: none; }
	.eg-slider--dark .eg-slide__media::after { background: linear-gradient(0deg, #062512 0%, transparent 60%); }
	.eg-slide__content { height: auto; margin-top: -40px; padding-bottom: 120px; }
	.eg-slide__title, .eg-slider--framed .eg-slide__title { font-size: clamp(34px, 9vw, 44px); }
	.eg-slider__ui { padding-bottom: 76px; }
	.eg-slider__ctrl button { width: 40px; height: 40px; }
	.eg-finderbar { margin-top: -48px; }
	.eg-finderbar__card { padding: 18px; }
	.eg-finderbar__alt { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.eg-slide.is-active .eg-slide__media, .eg-slide.is-active .eg-slide__media img, .eg-slide.is-active .eg-w > span, .eg-slide.is-active .eg-slide__kicker, .eg-slide.is-active .eg-slide__text, .eg-slide.is-active .eg-slide__ctas { animation: none; }
}

/* ---------- Buy box: delivery, low stock, reviews seal, price match ---------- */
.eg-deliv { display: flex; align-items: center; gap: 10px; margin: 12px 0 0; color: var(--eg-text); font-size: 14px; line-height: 1.45; }
.eg-deliv[hidden] { display: none; }
.eg-deliv__ico { display: grid; flex: none; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--eg-soft); color: var(--eg-primary); }
.eg-deliv strong { color: var(--eg-ink); font-weight: 700; }
.eg-deliv__cd { color: var(--eg-muted); }
.eg-deliv__cd::before { content: "·"; margin: 0 6px 0 2px; }
.eg-lowstock { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; padding: 8px 12px; border-radius: 10px; background: #fff4e5; color: #8a4b00; font-size: 13.5px; font-weight: 600; }
.eg-buy__ask { margin-left: 4px; color: inherit !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.eg-buy__proof { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin: 16px 0 6px; }
.eg-rating { display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px 10px 12px; border: 1px solid var(--eg-line); border-radius: 14px; background: var(--eg-surface); color: var(--eg-ink) !important; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
a.eg-rating:hover { border-color: var(--eg-line-2); box-shadow: 0 10px 24px -16px rgb(11 20 17 / .4); }
.eg-rating__g { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--eg-bg); }
.eg-rating__body { display: grid; gap: 1px; }
.eg-rating__top { display: flex; align-items: center; gap: 8px; }
.eg-rating__top strong { font-size: 16px; font-variant-numeric: tabular-nums; }
.eg-stars { position: relative; display: inline-block; width: 86px; height: 16px; background: linear-gradient(90deg, #f5a623 var(--r), #dfe4e1 var(--r)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86 16'%3E%3Cg%3E%3Cpath id='s' d='M8 .8l2.2 4.6 5 .7-3.6 3.5.9 5-4.5-2.4-4.5 2.4.9-5L.8 6.1l5-.7z'/%3E%3Cuse href='%23s' x='17.5'/%3E%3Cuse href='%23s' x='35'/%3E%3Cuse href='%23s' x='52.5'/%3E%3Cuse href='%23s' x='70'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86 16'%3E%3Cg%3E%3Cpath id='s' d='M8 .8l2.2 4.6 5 .7-3.6 3.5.9 5-4.5-2.4-4.5 2.4.9-5L.8 6.1l5-.7z'/%3E%3Cuse href='%23s' x='17.5'/%3E%3Cuse href='%23s' x='35'/%3E%3Cuse href='%23s' x='52.5'/%3E%3Cuse href='%23s' x='70'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.eg-rating__title { font-size: 14px; font-weight: 700; letter-spacing: -.01em; }
.eg-rating small { color: var(--eg-muted); font-size: 12px; }
.eg-pricematch { display: inline-flex; align-items: center; gap: 6px; color: var(--eg-muted) !important; font-size: 13.5px; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 4px; }
.eg-pricematch:hover { color: var(--eg-ink) !important; }
.eg-pricematch .eg-icon { color: #1fa855; }
/* Old snippets these replace */
.eg-delivery-on .ecogas-stock-bajo, .eg-delivery-on .ecogas-encargo, .eg-delivery-on .ecogas-entrega { display: none !important; }
.eg-pricematch-on .ecogas-precio-barato { display: none !important; }
.eg-reviews-on .eg-buy__extra .ti-widget, .eg-reviews-on .eg-buy__extra .ct-product-content-block:has(.ti-widget, [data-src*="trustindex"], script[src*="trustindex"]) { display: none !important; }

/* ---------- Night mode (toggle in the header, saved per browser) ---------- */
.eg-action--theme { border: 0; background: none; cursor: pointer; }
.eg-action--theme .eg-i-sun { display: none; }
html[data-theme="dark"] .eg-action--theme .eg-i-sun { display: block; }
html[data-theme="dark"] .eg-action--theme .eg-i-moon { display: none; }
html.eg-theming body.eg-ui, html.eg-theming body.eg-ui * { transition: background-color .3s, border-color .3s, color .3s !important; }

html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="dark"] body.eg-ui {
	--eg-ink: #eef3f0;
	--eg-ink-2: #dce5e0;
	--eg-text: #c5d0cb;
	--eg-muted: #97a59f;
	--eg-faint: #6f7d77;
	--eg-line: #243029;
	--eg-line-2: #334038;
	--eg-bg: #0b100e;
	--eg-surface: #121a16;
	--eg-soft: #15301e;
	--eg-primary: #3cc15a;
	--eg-primary-2: #6fd986;
	--eg-dark: #1e2a25;
	--eg-glass: rgb(14 21 18 / .9);
	--eg-sh-2: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px -8px rgb(0 0 0 / .5);
	--eg-sh-3: 0 2px 4px rgb(0 0 0 / .3), 0 24px 48px -16px rgb(0 0 0 / .6);
	background: var(--eg-bg);
	color: var(--eg-text);
	/* Blocksy content (pages, blog, WooCommerce leftovers) */
	--theme-palette-color-3: #c5d0cb;
	--theme-palette-color-4: #eef3f0;
	--theme-palette-color-5: #243029;
	--theme-palette-color-6: #121a16;
	--theme-palette-color-7: #0b100e;
	--theme-palette-color-8: #121a16;
	--theme-text-color: #c5d0cb;
	--theme-headings-color: #eef3f0;
	--theme-link-initial-color: #3cc15a;
	--theme-link-hover-color: #6fd986;
	--theme-border-color: #243029;
	--theme-form-field-background-initial-color: #121a16;
	--theme-form-field-background-focus-color: #121a16;
	--theme-form-field-border-initial-color: #334038;
	--theme-form-text-initial-color: #eef3f0;
}
/* Buttons keep the brand green (the lighter green is only for text on dark) */
html[data-theme="dark"] .eg-btn--primary { --bg: #0a8a24; }
html[data-theme="dark"] .eg-btn--primary:hover { --bg: #0c9d2a; }
html[data-theme="dark"] .eg-buy__form .single_add_to_cart_button { background: #0a8a24 !important; }
html[data-theme="dark"] .eg-ui .site-main, html[data-theme="dark"] body.eg-ui #main-container { background: var(--eg-bg); }
/* Logos and product photos sit on white chips */
/* Brand logos have white backgrounds: invert lightness (hue kept) and screen them onto the dark
   surface, so the white disappears and the logo reads light-on-dark. Colour comes back on hover. */
html[data-theme="dark"] .eg-brandlogo, html[data-theme="dark"] .eg-search__ico--logo img { mix-blend-mode: screen; filter: grayscale(1) invert(1) brightness(1.1); opacity: .75; }
html[data-theme="dark"] a:hover .eg-brandlogo, html[data-theme="dark"] a:focus-visible .eg-brandlogo, html[data-theme="dark"] .eg-search__sugg a:hover .eg-search__ico--logo img { filter: invert(1) hue-rotate(180deg) saturate(1.3); opacity: 1; }
html[data-theme="dark"] .eg-search__ico--logo { background: transparent !important; }
/* White logo in night mode (Personalizar → Logo en modo noche); without it the normal logo on a white chip */
/* Both logo files are 512×512 with transparent margins: crop each to its logo band so they match in size */
.eg-logo__img--sq { aspect-ratio: 512 / 285; object-fit: cover; object-position: 50% 34.8%; }
.eg-logo__img--dark { display: none; aspect-ratio: 512 / 292; object-fit: cover; object-position: 50% 50%; }
.eg-logo__img--sq, .eg-logo__img--dark { height: 46px; }
header#header.eg-header.is-scrolled .eg-logo__img--sq, header#header.eg-header.is-scrolled .eg-logo__img--dark { height: 40px; }
@media (max-width: 760px) { .eg-logo__img--sq, .eg-logo__img--dark, header#header.eg-header.is-scrolled .eg-logo__img--sq, header#header.eg-header.is-scrolled .eg-logo__img--dark { height: 34px; } }
html[data-theme="dark"] .eg-logo__img--light { display: none; }
html[data-theme="dark"] .eg-logo__img--dark { display: block; }
html[data-theme="dark"] .eg-logo__img:only-child, html[data-theme="dark"] .custom-logo { padding: 3px 6px; border-radius: 8px; background: #fff; }
/* The footer is dark in both modes: always the white logo, no chip */
.eg-logo--footer:has(.eg-logo__img--dark) { padding: 0; background: transparent; }
.eg-logo--footer .eg-logo__img--light { display: none; }
.eg-logo--footer .eg-logo__img--dark { display: block; height: 64px; }
/* B2B and 4Gas panels keep their own dark look in night mode */
html[data-theme="dark"] .eg-pro { border: 1px solid var(--eg-line); background: radial-gradient(60% 80% at 100% 0%, rgb(85 166 48 / .22), transparent 60%), #111915; }
html[data-theme="dark"] .eg-pro h2 { color: #fff !important; }
html[data-theme="dark"] .eg-app { background: #0f1613; }
html[data-theme="dark"] .eg-app__bar span { background: #0f1613; color: #97a59f; }
html[data-theme="dark"] .eg-app__side { background: #0b100e; }
html[data-theme="dark"] .eg-app__kpis strong, html[data-theme="dark"] .eg-app__rows .eg-ref { color: #e6ede9; }
html[data-theme="dark"] .eg-app__rows li { background: #151e1a; }
html[data-theme="dark"] .eg-app__rows em.is-ok { background: #143a20; color: #7fe39a; }
html[data-theme="dark"] .eg-app__rows em.is-go { background: #15294a; color: #8fb8ff; }
html[data-theme="dark"] .eg-app__rows em.is-new { background: #3a2c0c; color: #ffd27a; }
html[data-theme="dark"] .eg-app__rows em:not([class]) { color: #c5d0cb; }
html[data-theme="dark"] .eg-app4 { border: 1px solid var(--eg-line); background: radial-gradient(70% 90% at 90% 20%, rgb(42 91 255 / .16), transparent 60%), linear-gradient(120deg, #101828 0%, #0e1a18 100%); }
html[data-theme="dark"] .eg-app4 h2 { color: #fff; }
html[data-theme="dark"] .eg-app4 p { color: #a9b6c9; }
html[data-theme="dark"] .eg-app4__kick, html[data-theme="dark"] .eg-app4__sub { color: #8fa8ff !important; }
html[data-theme="dark"] .eg-app4 .eg-slide__checks li { color: #cdd6e4; }
html[data-theme="dark"] .eg-appstage__phones { filter: drop-shadow(0 40px 50px rgb(0 0 0 / .5)); }
html[data-theme="dark"] .eg-lowstock { background: #3a2a10; color: #ffcf8a; }
html[data-theme="dark"] .eg-cq__result.is-ok { border-color: #1f5130; background: #102a19; }
html[data-theme="dark"] .eg-cq__result.is-unk { border-color: #5a4613; background: #2a220d; }
html[data-theme="dark"] .eg-slider:not(.eg-slider--dark) { background: linear-gradient(180deg, #121a16 0%, #0b100e 100%); }
html[data-theme="dark"] .eg-hero { background: var(--eg-bg); }
html[data-theme="dark"] img:not(.eg-brandlogo) { filter: none; }
html[data-theme="dark"] .eg-ui input, html[data-theme="dark"] .eg-ui select, html[data-theme="dark"] .eg-ui textarea { color: var(--eg-ink); }
html[data-theme="dark"] .eg-live__foot, html[data-theme="dark"] .eg-specs > div:nth-child(odd), html[data-theme="dark"] .eg-ui table.shop_table th, html[data-theme="dark"] .eg-app__bar { background: #17201c; }
html[data-theme="dark"] .eg-upsell, html[data-theme="dark"] .eg-pdp-upsell { background: linear-gradient(135deg, #13241a 0%, var(--eg-surface) 60%); }
html[data-theme="dark"] .eg-buy__brand:hover { background: #1c3b27; }
html[data-theme="dark"] .eg-buy__stock { background: #11281a; }
html[data-theme="dark"] .eg-buy__stock--backorder { background: #2d2410; }
html[data-theme="dark"] .eg-buy__stock--out, html[data-theme="dark"] .eg-ui table.shop_table a.remove:hover { background: #33191a; }
html[data-theme="dark"] .eg-search__skel i, html[data-theme="dark"] .eg-search__skel b { background: linear-gradient(90deg, #1a2420 25%, #24302a 50%, #1a2420 75%); background-size: 200% 100%; }
html[data-theme="dark"] .eg-stars { background: linear-gradient(90deg, #f5a623 var(--r), #34423b var(--r)); }
html[data-theme="dark"] .eg-app__bar i, html[data-theme="dark"] .eg-app__rows em { background: #26312c; }
html[data-theme="dark"] .eg-btn--light { color: #0b1411 !important; }
html[data-theme="dark"] .eg-mega__feature img, html[data-theme="dark"] .eg-catcard__img img, html[data-theme="dark"] .eg-plp__img img, html[data-theme="dark"] .eg-subcats__img img { mix-blend-mode: normal; }
html[data-theme="dark"] .eg-mega__feature, html[data-theme="dark"] .eg-catcard__img, html[data-theme="dark"] .eg-plp__img, html[data-theme="dark"] .eg-subcats__img { border-radius: 12px; background: var(--eg-media); }

/* Mobile drawer: language and day/night */
.eg-drawer__prefs { display: grid; gap: 12px; padding: 14px 16px 4px; border-top: 1px solid var(--eg-line); }
.eg-drawer__langs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eg-drawer__langs a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border: 1px solid var(--eg-line-2); border-radius: 999px; color: var(--eg-ink) !important; font-size: 14px; font-weight: 600; }
.eg-drawer__langs a[aria-current] { border-color: var(--eg-primary); background: var(--eg-soft); }
.eg-drawer__theme { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 0 14px; border: 1px solid var(--eg-line-2); border-radius: 12px; background: none; color: var(--eg-ink); font: 600 14px var(--eg-font); cursor: pointer; }
.eg-drawer__theme .eg-i-sun { display: none; }
html[data-theme="dark"] .eg-drawer__theme .eg-i-sun { display: block; }
html[data-theme="dark"] .eg-drawer__theme .eg-i-moon { display: none; }

/* ---------- Mobile polish ---------- */
/* Balanced headings and no orphan words in paragraphs */
.eg-ui h1, .eg-ui h2, .eg-ui h3, .eg-ui .eg-card__title, .eg-ui .eg-buy__title, .eg-ui .eg-slide__title { text-wrap: balance; }
.eg-ui p, .eg-ui li, .eg-ui .eg-cq__txt small { text-wrap: pretty; }
.eg-ui { overflow-wrap: break-word; -webkit-hyphens: manual; hyphens: manual; }

@media (max-width: 760px) {
	/* Breadcrumbs: a single "‹ Parent" back link; the H1 already says where you are */
	.eg-crumbs ol { flex-wrap: nowrap; margin-bottom: 12px; }
	.eg-crumbs li { display: none; }
	.eg-crumbs li:nth-last-child(2) { display: inline-flex; min-width: 0; }
	.eg-crumbs li:nth-last-child(2)::before { content: ""; width: 7px; height: 7px; margin: 0 8px 0 2px; border-left: 1.75px solid currentColor; border-bottom: 1.75px solid currentColor; transform: rotate(45deg); }
	.eg-crumbs li:nth-last-child(2) a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 600; }
	.eg-crumbs li:only-child { display: none; }
}
.eg-rotator a { display: block; min-width: 0; white-space: nowrap; }
.eg-search input::placeholder { text-overflow: ellipsis; }
.eg-card__pvp { display: inline-block; margin-right: 5px; color: var(--eg-muted); font-size: .58em; font-weight: 700; letter-spacing: .04em; vertical-align: .22em; }
.eg-app4__sub { display: inline-block; max-width: 100%; white-space: normal; }
@media (max-width: 760px) {
	/* Cards: brand and reference each get their line when space is short, never cut mid-word */
	.eg-card__meta { flex-wrap: wrap; gap: 4px 8px; }
	.eg-card__brand { overflow: visible; white-space: normal; text-overflow: clip; }
	.eg-card__price { font-size: 17px; }
	/* Sub-categories: count never pushed off the edge */
	.eg-subcats a { gap: 8px; padding: 8px 10px 8px 8px; }
	.eg-subcats__name { min-width: 0; font-size: 13.5px; line-height: 1.25; }
	.eg-subcats small { display: none; }
	.eg-subcats__name { overflow-wrap: normal; word-break: normal; }
	/* Filter + sort side by side, equal */
	.eg-toolbar { display: grid; grid-template-columns: 1fr 1fr; }
	.eg-toolbar > * { min-width: 0; }
	.eg-toolbar__chips { grid-column: 1 / -1; order: 3; }
	.eg-sort, .eg-sort select { width: 100%; }
	.eg-sort select { text-overflow: ellipsis; }
	/* Cart upsell: the kicker already says it, so no badge over the text; logos off the checkout button */
	.eg-upsell__badge { display: none; }
	.eg-upsell { grid-template-columns: 72px minmax(0, 1fr); align-items: start; }
	.eg-upsell h3 { padding-right: 0; font-size: 18px; }
	.eg-upsell__buy { flex-wrap: wrap; }
	.eg-pay--checkout { margin-top: 14px; }
	/* Product page */
	.eg-specs > div { grid-template-columns: minmax(110px, 40%) 1fr; }
	.eg-specs dt, .eg-specs dd { padding: 11px 14px; font-size: 13.5px; }
	.eg-pdp__nav a { padding: 12px 10px; font-size: 13px; }
	/* Brands: two compact columns */
	.eg-brandgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.eg-brandgrid a { padding: 14px; }
	.eg-brandgrid__logo { width: 70%; height: 44px; }
	.eg-brandgrid__spec { display: none; }
}

/* Support chat bubble (ecogas-chat plugin, fixed bottom-right): leave it room in the sticky buy bar,
   and hide it while a panel (cart, compatibility, drawer) is open so it never covers a button. */
body:has(#ecogas-chat-root) .eg-buybar__row { padding-right: calc(var(--eg-gutter) + 76px); }
html.eg-lock #ecogas-chat-root { visibility: hidden; }
@media (max-width: 760px) {
	.eg-buybar__info span { white-space: nowrap; }
	.eg-buybar__info .woocommerce-price-suffix { display: none; }
}
/* Product page: breathing room between the breadcrumbs and the gallery */
.eg-pdp .eg-crumbs ol { margin-bottom: 32px; }
@media (max-width: 760px) { .eg-pdp .eg-crumbs ol { margin-bottom: 16px; } }

/* ---------- Day/night switch: a pulse that grows from the button to the whole page ---------- */
::view-transition-old(root), ::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
::view-transition-new(root) { animation: eg-theme-reveal .65s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes eg-theme-reveal { from { clip-path: circle(0 at var(--eg-tx, 50%) var(--eg-ty, 0)); } to { clip-path: circle(var(--eg-tr, 150vmax) at var(--eg-tx, 50%) var(--eg-ty, 0)); } }
.eg-theme-ring { position: fixed; z-index: 2147483000; left: var(--eg-tx); top: var(--eg-ty); width: 12px; height: 12px; margin: -6px 0 0 -6px; border: 2px solid #3cc15a; border-radius: 50%; pointer-events: none; animation: eg-theme-ring .7s cubic-bezier(.2, .7, .2, 1) forwards; }
@keyframes eg-theme-ring { from { opacity: .9; transform: scale(1); } to { opacity: 0; transform: scale(9); } }
.eg-action--theme .eg-icon { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.eg-action--theme.is-spin .eg-icon { transform: rotate(180deg) scale(.9); }
@media (prefers-reduced-motion: reduce) { ::view-transition-new(root) { animation: none; } .eg-theme-ring { display: none; } }

/* ---------- Cart / checkout totals in night mode: readable text whatever colours snippets set ---------- */
html[data-theme="dark"] .eg-ui :is(.cart_totals, #order_review) table.shop_table th { background: none; }
html[data-theme="dark"] .eg-ui :is(.cart_totals, #order_review) :is(th, td, label, bdi, .woocommerce-Price-amount) { color: var(--eg-ink) !important; }
html[data-theme="dark"] .eg-ui :is(.cart_totals, #order_review) :is(th, td) { border-color: var(--eg-line) !important; }
html[data-theme="dark"] .eg-ui :is(.cart_totals, #order_review) :is(small, .includes_tax, p, em) { color: var(--eg-muted) !important; }
/* Shipping method notes (e.g. "Incluye un artículo que pedimos al fabricante…") */
html[data-theme="dark"] .eg-ui #shipping_method li :is(small, p, div, span:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol)) { color: #8fd9a2 !important; }
html[data-theme="dark"] .eg-ui #shipping_method li label { opacity: 1 !important; font-weight: 600; }
html[data-theme="dark"] .eg-ui #shipping_method input[type="radio"] { accent-color: var(--eg-primary); }
html[data-theme="dark"] .eg-ui :is(.cart_totals, #order_review) .order-total :is(th, td, bdi) { color: #fff !important; }
html[data-theme="dark"] .eg-ui :is(.cart_totals, #order_review) a:not(.button):not(.checkout-button) { color: var(--eg-primary-2) !important; }
html[data-theme="dark"] .eg-ui .woocommerce :is(a.button.alt, button.button.alt, .checkout-button), html[data-theme="dark"] .eg-ui #place_order { background: #0a8a24 !important; color: #fff !important; }
html[data-theme="dark"] .eg-ui .woocommerce :is(a.button.alt, button.button.alt, .checkout-button):hover, html[data-theme="dark"] .eg-ui #place_order:hover { background: #0c9d2a !important; }

/* Live search panel: "see all results" as a padded footer inside the panel (beats Blocksy's button styles) */
.eg-ui .eg-search__panel button.eg-search__all {
	display: block; width: 100%; min-height: 0; margin: 0; padding: 8px;
	border: 0; border-top: 1px solid var(--eg-line); border-radius: 0; box-shadow: none;
	background: var(--eg-surface); color: var(--eg-primary); font: 600 14px var(--eg-font); line-height: 1.2; letter-spacing: 0; text-transform: none;
}
.eg-ui .eg-search__panel button.eg-search__all:hover { background: var(--eg-surface); }
.eg-search__allin { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 16px; border-radius: 10px; background: var(--eg-soft); color: var(--eg-primary); transition: background .2s, color .2s; }
.eg-search__all:hover .eg-search__allin, .eg-search__all:focus-visible .eg-search__allin { background: var(--eg-primary); color: #fff; }
.eg-search__sugg .eg-search__ico .eg-icon { display: block; }
.eg-plp__img--brand { display: grid; place-items: center; padding: 14px; border: 1px solid var(--eg-line); border-radius: 16px; background: #fff; }
.eg-plp__img--brand img { width: 100%; height: 100%; object-fit: contain; }

/* Order weight + VAT note (replaces the "Peso del pedido" snippet rows) */
.eg-ui tr.ecogas-peso-row, .eg-ui tr.ecogas-aviso-row { display: none !important; }
.eg-ui .shop_table tr.eg-totals-extra td { padding: 10px 0 12px !important; border-top: 1px solid var(--eg-line); text-align: left !important; }
.eg-ui .shop_table tr.eg-totals-extra td::before { content: none !important; }
.eg-weight { display: flex; align-items: center; gap: 8px; color: var(--eg-text); font-size: 14px; }
.eg-weight .eg-icon { flex: none; color: var(--eg-muted); }
.eg-weight b { margin-left: auto; color: var(--eg-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.eg-totals-note { display: block; margin-top: 4px; color: var(--eg-muted); font-size: 12px; }
.eg-weight + .eg-totals-note { padding-left: 24px; }
/* Checkout button, then the payment logos with breathing room, in one centred row */
.eg-ui .wc-proceed-to-checkout { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.eg-ui .eg-pay--checkout { justify-content: center; gap: 6px; margin: 18px 0 20px !important; }
.eg-ui .eg-pay--checkout li { height: 30px; min-width: 0; padding: 0 8px; }
.eg-ui .eg-pay--checkout img { height: 15px; }
/* Cart: both boxes start at the same height (an old custom CSS adds .cart_totals { margin-top: 35px }) */
@media (min-width: 1000px) { .eg-ui .ct-woocommerce-cart-form > .cart_totals, .eg-ui .cart-collaterals .cart_totals { margin-top: 0 !important; } }
.eg-ui .cart_totals table.shop_table { border: 0 !important; }
.eg-ui .cart_totals table.shop_table tr:first-child > :is(th, td) { border-top: 0 !important; }
.eg-ui .cart_totals table.shop_table tr > :is(th, td) { border-top: 0 !important; border-bottom: 1px solid var(--eg-line) !important; }
.eg-ui .cart_totals table.shop_table tr.order-total > :is(th, td) { border-bottom: 0 !important; }
