/*
Theme Name: Everest Gaming
Theme URI: https://chocolate-cod-647364.hostingersite.com
Description: Tema gaming para Everest Streaming — venta de licencias digitales de streaming. Child theme de Astra, compatible con Elementor, WooCommerce, TeraWallet y Ultimate Member. Dark UI con acentos neón cian/púrpura.
Author: Activa Digital
Author URI: https://activadigital.com.co
Template: astra
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: everest-gaming
*/

/* ==========================================================================
   EVEREST GAMING — Design tokens
   ========================================================================== */
:root,
body {
	--ev-bg: #05080f;
	--ev-bg-2: #0a0f1e;
	--ev-surface: #0c1322;
	--ev-surface-2: #111a2e;
	--ev-border: #1c2a44;
	--ev-border-hi: #2b3f66;
	--ev-cyan: #00e5ff;
	--ev-blue: #2f81ff;
	--ev-purple: #7c3aed;
	--ev-violet: #a855f7;
	--ev-magenta: #ff2d78;
	--ev-green: #2bd97b;
	--ev-gold: #ffc447;
	--ev-text: #e6edf7;
	--ev-muted: #8a97ad;
	--ev-grad: linear-gradient(135deg, #7c3aed 0%, #2f81ff 55%, #00e5ff 100%);
	--ev-grad-hot: linear-gradient(135deg, #ff2d78 0%, #a855f7 100%);
	--ev-glow-cyan: 0 0 18px rgba(0, 229, 255, .35);
	--ev-glow-purple: 0 0 22px rgba(124, 58, 237, .45);
	--ev-radius: 14px;
	--ev-font-display: 'Orbitron', sans-serif;
	--ev-font-ui: 'Rajdhani', sans-serif;

	/* Sobrescribe los colores globales de Elementor */
	--e-global-color-primary: #00e5ff;
	--e-global-color-secondary: #a855f7;
	--e-global-color-text: #cbd6e6;
	--e-global-color-accent: #7c3aed;

	/* Sobrescribe la paleta global de Astra */
	--ast-global-color-0: #00e5ff;
	--ast-global-color-1: #7c3aed;
	--ast-global-color-2: #e6edf7;
	--ast-global-color-3: #cbd6e6;
	--ast-global-color-4: #0c1322;
	--ast-global-color-5: #05080f;
	--ast-global-color-6: #8a97ad;
	--ast-global-color-7: #1c2a44;
	--ast-global-color-8: #111a2e;
}

/* ==========================================================================
   Base — fondo, tipografía, enlaces
   ========================================================================== */
html {
	background: var(--ev-bg);
}

body,
body.ast-separate-container,
body.ast-plain-container,
body.ast-page-builder-template {
	background-color: var(--ev-bg) !important;
	background-image:
		radial-gradient(1100px 500px at 15% -5%, rgba(124, 58, 237, .16), transparent 60%),
		radial-gradient(900px 480px at 90% 0%, rgba(0, 229, 255, .10), transparent 55%),
		radial-gradient(1000px 700px at 50% 110%, rgba(47, 129, 255, .08), transparent 60%),
		linear-gradient(rgba(28, 42, 68, .16) 1px, transparent 1px),
		linear-gradient(90deg, rgba(28, 42, 68, .16) 1px, transparent 1px) !important;
	background-size: auto, auto, auto, 44px 44px, 44px 44px;
	background-attachment: fixed;
	color: var(--ev-text);
	font-family: var(--ev-font-ui);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: .01em;
}

/* Contenedores de Astra transparentes/oscuros */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .comments-area,
.ast-separate-container .ast-woocommerce-container,
.site-content,
.content-area,
#content {
	background: transparent;
	color: var(--ev-text);
}

h1, h2, h3,
.entry-title,
.product_title,
.elementor-widget-heading .elementor-heading-title {
	font-family: var(--ev-font-display) !important;
	font-weight: 800;
	color: var(--ev-text);
	letter-spacing: .04em;
	text-transform: uppercase;
}

h4, h5, h6 {
	font-family: var(--ev-font-ui) !important;
	font-weight: 700;
	color: var(--ev-text);
	text-transform: uppercase;
	letter-spacing: .06em;
}

p, li, td, th, dd, dt, label, figcaption {
	color: var(--ev-text);
}

a {
	color: var(--ev-cyan);
	transition: color .2s ease, text-shadow .2s ease;
}

a:hover {
	color: #7df3ff;
	text-shadow: 0 0 12px rgba(0, 229, 255, .55);
}

::selection {
	background: rgba(124, 58, 237, .85);
	color: #fff;
}

/* Scrollbar gaming */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--ev-bg-2); }
::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, #7c3aed, #00b3d6);
	border-radius: 8px;
	border: 2px solid var(--ev-bg-2);
}

/* ==========================================================================
   Botones — global (Astra, Woo, Elementor, UM, TeraWallet)
   ========================================================================== */
.button,
button,
input[type="submit"],
input[type="button"],
.ast-button,
.wp-block-button__link,
.elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .checkout-button,
.um-button,
.um a.um-button,
.woo-wallet-add-balance-button,
#woo-wallet-transfer-fund-form input[type="submit"] {
	background-color: #2f81ff !important;
	background-image: linear-gradient(135deg, #7c3aed 0%, #2f81ff 55%, #00e5ff 100%) !important;
	background-size: 160% 160% !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: var(--ev-font-ui) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .09em;
	padding: .8em 1.7em;
	box-shadow: 0 4px 18px rgba(47, 129, 255, .30);
	transition: background-position .3s ease, box-shadow .3s ease, transform .15s ease;
	cursor: pointer;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.ast-button:hover,
.wp-block-button__link:hover,
.elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.um-button:hover,
.um a.um-button:hover {
	background-position: 100% 50% !important;
	box-shadow: var(--ev-glow-cyan), 0 6px 22px rgba(124, 58, 237, .45);
	transform: translateY(-2px);
	color: #fff !important;
}

/* Botón secundario / alternativo */
.um a.um-button.um-alt,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce a.button.loading {
	background: var(--ev-surface-2) !important;
	color: var(--ev-muted) !important;
	box-shadow: none;
}

/* ==========================================================================
   Header (plantilla Elementor #12) — dark glass + neón
   ========================================================================== */
/* OJO: sin z-index — crearía un stacking context que atraparía al panel
   del menú móvil (hijo del header) por debajo de la barra de búsqueda. */
.elementor-location-header {
	position: relative;
	z-index: auto;
}

.elementor-location-header .e-con.e-parent,
.elementor-location-header .e-con-boxed,
.elementor-location-header .e-con {
	background: rgba(7, 11, 22, .92) !important;
	background-image: none !important;
}

.elementor-location-header > .e-con.e-parent:last-of-type {
	border-bottom: 1px solid rgba(0, 229, 255, .35);
	box-shadow: 0 8px 30px rgba(0, 0, 0, .55), 0 1px 14px rgba(0, 229, 255, .18);
}

/* Los shape dividers del header se funden con el fondo */
.elementor-location-header .elementor-shape .elementor-shape-fill {
	fill: var(--ev-bg) !important;
}

.elementor-location-header .elementor-heading-title,
.elementor-location-header p,
.elementor-location-header a:not(.elementor-button) {
	color: var(--ev-text) !important;
	font-family: var(--ev-font-ui) !important;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
}

/* Chip de saldo TeraWallet en el header */
.woo-wallet-menu-contents {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(0, 229, 255, .08);
	border: 1px solid rgba(0, 229, 255, .45);
	border-radius: 999px;
	padding: 7px 18px;
	color: var(--ev-cyan) !important;
	box-shadow: inset 0 0 14px rgba(0, 229, 255, .07), 0 0 12px rgba(0, 229, 255, .15);
	transition: box-shadow .25s ease, border-color .25s ease;
}

.woo-wallet-menu-contents:hover {
	border-color: var(--ev-cyan);
	box-shadow: inset 0 0 14px rgba(0, 229, 255, .12), var(--ev-glow-cyan);
	text-shadow: none;
}

.woo-wallet-menu-contents .woocommerce-Price-amount {
	font-family: var(--ev-font-display);
	font-weight: 700;
	font-size: 1.02em;
	color: #aef6ff;
}

.woo-wallet-icon-wallet::before {
	color: var(--ev-cyan);
}

/* ==========================================================================
   WooCommerce — grid de productos (tarjetas gaming)
   ========================================================================== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
	position: relative;
	background: linear-gradient(180deg, var(--ev-surface-2) 0%, var(--ev-surface) 100%) !important;
	border: 1px solid var(--ev-border) !important;
	border-radius: var(--ev-radius) !important;
	padding: 14px 14px 18px !important;
	overflow: hidden;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

ul.products li.product::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: var(--ev-grad);
	opacity: 0;
	transition: opacity .25s ease;
}

ul.products li.product:hover {
	transform: translateY(-7px);
	border-color: rgba(0, 229, 255, .6);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .55), var(--ev-glow-cyan);
}

ul.products li.product:hover::before { opacity: 1; }

ul.products li.product img,
.astra-shop-thumbnail-wrap img {
	border-radius: 10px;
	transition: transform .35s ease;
}

ul.products li.product:hover img {
	transform: scale(1.045);
}

.astra-shop-summary-wrap {
	text-align: center;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--ev-font-ui) !important;
	font-size: 1.15em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--ev-text);
	padding-top: .7em;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.price {
	font-family: var(--ev-font-display);
	font-weight: 700;
	color: var(--ev-cyan) !important;
	text-shadow: 0 0 14px rgba(0, 229, 255, .35);
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
	color: var(--ev-muted) !important;
	text-shadow: none;
	opacity: .7;
}

.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins {
	text-decoration: none;
}

/* Badge de oferta */
.woocommerce span.onsale,
span.onsale {
	background: var(--ev-grad-hot) !important;
	color: #fff !important;
	font-family: var(--ev-font-ui);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	border-radius: 8px;
	padding: 4px 12px;
	min-width: 0;
	min-height: 0;
	line-height: 1.6;
	box-shadow: 0 0 16px rgba(255, 45, 120, .5);
	z-index: 5;
}

/* Rating */
.woocommerce .star-rating span::before,
.star-rating span::before {
	color: var(--ev-gold);
}
.woocommerce .star-rating::before { color: rgba(255, 196, 71, .25); }

/* Ordenar / contador de resultados */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	color: var(--ev-muted);
}

.woocommerce .woocommerce-ordering select,
select, .select2-container--default .select2-selection--single {
	background-color: var(--ev-surface) !important;
	color: var(--ev-text) !important;
	border: 1px solid var(--ev-border) !important;
	border-radius: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ev-text); }
.select2-dropdown {
	background: var(--ev-surface-2);
	border: 1px solid var(--ev-border-hi);
	color: var(--ev-text);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--ev-purple);
}
.select2-search--dropdown .select2-search__field {
	background: var(--ev-bg-2);
	color: var(--ev-text);
	border-color: var(--ev-border);
}

/* Paginación */
.woocommerce nav.woocommerce-pagination ul,
.ast-pagination {
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul li {
	border-right: 0;
	margin: 0 4px;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.page-numbers li .page-numbers {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: 8px;
	color: var(--ev-text);
	font-family: var(--ev-font-ui);
	font-weight: 700;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current,
.page-numbers li .page-numbers.current {
	background: var(--ev-grad);
	color: #fff;
	border-color: transparent;
	box-shadow: var(--ev-glow-purple);
}

/* ==========================================================================
   WooCommerce — producto individual
   ========================================================================== */
.woocommerce div.product .woocommerce-product-gallery {
	border: 1px solid var(--ev-border);
	border-radius: var(--ev-radius);
	overflow: hidden;
	background: var(--ev-surface);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
}

.woocommerce div.product .product_title {
	font-size: 2em;
}

.woocommerce div.product p.price {
	font-size: 1.7em;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product #tab-description,
.woocommerce div.product .woocommerce-Tabs-panel {
	color: var(--ev-text);
}

.woocommerce div.product .quantity .qty,
input[type="number"] {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: 8px;
	color: var(--ev-text);
	font-family: var(--ev-font-ui);
	font-weight: 700;
}

/* Tabs del producto */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom: 1px solid var(--ev-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: 10px 10px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--ev-surface-2);
	border-bottom-color: var(--ev-surface-2);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--ev-muted);
	font-family: var(--ev-font-ui);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ev-cyan); }

.related.products > h2,
.up-sells > h2 {
	font-size: 1.4em;
	border-left: 4px solid var(--ev-cyan);
	padding-left: 14px;
	text-shadow: 0 0 18px rgba(0, 229, 255, .3);
}

/* ==========================================================================
   Formularios globales — inputs dark con foco neón
   ========================================================================== */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="date"],
textarea,
.woocommerce .input-text,
.um input[type="text"],
.um input[type="password"],
.um textarea {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border) !important;
	border-radius: 9px !important;
	color: var(--ev-text) !important;
	font-family: var(--ev-font-ui);
	font-weight: 500;
	padding: .7em 1em;
	transition: border-color .2s ease, box-shadow .2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
textarea:focus,
.woocommerce .input-text:focus,
.um input[type="text"]:focus,
.um input[type="password"]:focus {
	border-color: var(--ev-cyan) !important;
	box-shadow: 0 0 0 3px rgba(0, 229, 255, .18), var(--ev-glow-cyan);
	outline: none;
}

::placeholder { color: var(--ev-muted); opacity: .8; }

label, .um-field-label label {
	color: var(--ev-muted) !important;
	font-family: var(--ev-font-ui);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .07em;
	font-size: .88em;
}

/* ==========================================================================
   WooCommerce — carrito y checkout
   ========================================================================== */
.woocommerce table.shop_table {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border) !important;
	border-radius: var(--ev-radius);
	overflow: hidden;
}

.woocommerce table.shop_table th {
	background: var(--ev-surface-2);
	color: var(--ev-cyan);
	font-family: var(--ev-font-ui);
	text-transform: uppercase;
	letter-spacing: .07em;
	border: 0 !important;
}

.woocommerce table.shop_table td {
	border-top: 1px solid var(--ev-border) !important;
	color: var(--ev-text);
	background: transparent;
}

.woocommerce table.shop_table td.product-name a { color: var(--ev-text); }
.woocommerce table.shop_table td.product-name a:hover { color: var(--ev-cyan); }

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border);
	border-radius: var(--ev-radius);
	color: var(--ev-text);
}

.woocommerce-checkout #payment div.payment_box,
#add_payment_method #payment div.payment_box {
	background: var(--ev-surface-2) !important;
	color: var(--ev-text);
}
.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--ev-surface-2);
}
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--ev-border);
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border) !important;
	border-radius: var(--ev-radius);
}

/* Avisos Woo */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	background: var(--ev-surface-2) !important;
	color: var(--ev-text) !important;
	border-top-color: var(--ev-cyan) !important;
	border-radius: 10px;
}
.woocommerce-message::before { color: var(--ev-green); }
.woocommerce-info::before { color: var(--ev-cyan); }
.woocommerce-error { border-top-color: var(--ev-magenta) !important; }
.woocommerce-error::before { color: var(--ev-magenta); }

/* ==========================================================================
   WooCommerce — pedido recibido (página de gracias) y vista de pedido
   ========================================================================== */
/* Todo el texto de la página de confirmación legible sobre el fondo dark
   (incluye secciones de plugins, como las claves de licencia) */
.woocommerce-order-received #content :is(h1, h2, h3, h4, p, li, td, th, address, strong, span, code, bdi, time),
.woocommerce-view-order #content :is(h1, h2, h3, h4, p, li, td, th, address, strong, span, code, bdi, time) {
	color: var(--ev-text) !important;
}

.woocommerce-order-received #content a,
.woocommerce-view-order #content a {
	color: var(--ev-cyan) !important;
}

/* Las secciones del pedido traen fondo blanco que asoma tras los títulos —
   se anula en contenedores y encabezados */
.woocommerce-order-received #content section,
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-order,
.woocommerce-order-received #content :is(h1, h2, h3, h4),
.woocommerce-view-order #content section,
.woocommerce-view-order .woocommerce-order-details,
.woocommerce-view-order .woocommerce-customer-details,
.woocommerce-view-order #content :is(h1, h2, h3, h4) {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

.woocommerce-order-received #content a.button,
.woocommerce-view-order #content a.button {
	color: #fff !important;
}

/* Mensaje de gracias */
.woocommerce-thankyou-order-received {
	color: #aef6ff !important;
	font-family: var(--ev-font-ui) !important;
	font-weight: 700 !important;
	font-size: 1.25em;
	text-transform: uppercase;
	letter-spacing: .08em;
	text-shadow: 0 0 16px rgba(0, 229, 255, .4);
}

/* Chips de resumen (número, fecha, email, total, método de pago) */
ul.woocommerce-order-overview,
ul.woocommerce-thankyou-order-details {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: 14px;
	padding: 18px 22px !important;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 30px;
	list-style: none;
	margin-left: 0;
}

ul.woocommerce-order-overview li,
ul.woocommerce-thankyou-order-details li {
	color: var(--ev-muted) !important;
	border-right: 0 !important;
	padding-right: 0 !important;
	margin-right: 0 !important;
	font-family: var(--ev-font-ui);
	text-transform: uppercase;
	letter-spacing: .07em;
	font-size: .8em !important;
}

ul.woocommerce-order-overview li strong,
ul.woocommerce-thankyou-order-details li strong {
	display: block;
	margin-top: 4px;
	color: var(--ev-cyan) !important;
	font-family: var(--ev-font-display);
	font-size: 1.25em;
	letter-spacing: .02em;
	text-transform: none;
}

/* Cabeceras de tabla del pedido en cian (excepción al blanket de arriba) */
.woocommerce-order-received #content table.shop_table th,
.woocommerce-view-order #content table.shop_table th {
	color: var(--ev-cyan) !important;
}

/* Dirección de facturación */
.woocommerce-customer-details address {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border) !important;
	border-radius: 14px;
	padding: 20px 22px !important;
	color: var(--ev-text) !important;
}

/* Claves de licencia (License Manager) — la clave como código neón */
.woocommerce-order-received #content code,
.woocommerce-view-order #content code {
	display: inline-block;
	background: rgba(0, 229, 255, .08);
	border: 1px solid rgba(0, 229, 255, .35);
	border-radius: 8px;
	padding: 6px 12px;
	color: var(--ev-cyan) !important;
	font-weight: 700;
	letter-spacing: .06em;
}

/* ==========================================================================
   WooCommerce — Mi cuenta
   ========================================================================== */
.woocommerce-MyAccount-navigation ul {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: var(--ev-radius);
	padding: 10px !important;
	list-style: none;
	margin: 0;
}

.woocommerce-MyAccount-navigation ul li {
	border: 0 !important;
	margin: 4px 0;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 16px;
	border-radius: 9px;
	color: var(--ev-muted);
	font-family: var(--ev-font-ui);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	transition: all .2s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
	background: linear-gradient(90deg, rgba(124, 58, 237, .35), rgba(0, 229, 255, .12));
	color: #fff;
	text-shadow: none;
	border-left: 3px solid var(--ev-cyan);
}

.woocommerce-MyAccount-content {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: var(--ev-radius);
	padding: 26px;
	color: var(--ev-text);
}

/* --- Vista solo-registro (?registro=1 en Mi cuenta) --- */
body.ev-registro #customer_login .u-column1 { display: none !important; }

body.ev-registro #customer_login .u-column2 {
	float: none !important;
	margin: 0 auto !important;
	max-width: 500px;
	width: 100% !important;
}

body.ev-registro #customer_login .u-column2 h2 {
	text-align: center;
}

/* Enlaces cruzados login <-> registro */
.ev-auth-alt {
	margin-top: 18px !important;
	text-align: center;
	color: var(--ev-muted) !important;
	font-family: var(--ev-font-ui);
	font-size: 15px;
}

.ev-auth-alt a { color: var(--ev-cyan) !important; font-weight: 700; }

/* Ítem del menú "Grupo de publicidad" — acento WhatsApp */
.ev-menu-wa > a::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #25d366;
	box-shadow: 0 0 8px rgba(37, 211, 102, .8);
	margin-right: 8px;
	vertical-align: middle;
}

/* ==========================================================================
   TeraWallet (woo-wallet) — billetera gaming
   ========================================================================== */
.woo-wallet-my-wallet-container {
	background: transparent;
	box-shadow: none;
	padding: 0;
}

.woo-wallet-sidebar {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: var(--ev-radius);
	overflow: hidden;
}

.woo-wallet-sidebar ul li,
.woo-wallet-nav li {
	border-bottom: 1px solid var(--ev-border);
}

.woo-wallet-sidebar ul li a,
.woo-wallet-nav li a {
	color: var(--ev-muted);
	font-family: var(--ev-font-ui);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	background: transparent;
}

.woo-wallet-sidebar ul li a:hover,
.woo-wallet-sidebar ul li.card active a,
.woo-wallet-sidebar ul li a.active,
.woo-wallet-nav li a.active {
	background: linear-gradient(90deg, rgba(124, 58, 237, .35), rgba(0, 229, 255, .1));
	color: #fff;
}

.woo-wallet-content {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: var(--ev-radius);
	color: var(--ev-text);
}

/* --- Dashboard TeraWallet 1.6+ (Mi billetera) --- */
.woo-wallet-my-wallet-container,
.woo-wallet-content-area,
.woo-wallet-top-section {
	background: transparent !important;
	box-shadow: none !important;
}

.woo-wallet-header,
.woo-wallet-header h2,
.woo-wallet-header p {
	color: var(--ev-text) !important;
}
.woo-wallet-header p { color: var(--ev-muted) !important; }

/* Banner de saldo: del índigo plano al gradiente del tema */
.woo-wallet-balance-card {
	background:
		radial-gradient(600px 260px at 85% 0%, rgba(0, 229, 255, .25), transparent 60%),
		linear-gradient(135deg, #7c3aed 0%, #2f81ff 70%, #0aa9d6 100%) !important;
	border: 1px solid rgba(0, 229, 255, .45) !important;
	border-radius: 16px 16px 0 0 !important;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .5), 0 0 26px rgba(124, 58, 237, .35) !important;
	color: #fff !important;
}

.woo-wallet-balance-card *,
.woo-wallet-balance-card .woo-wallet-price {
	color: #fff !important;
}

.woo-wallet-balance-card .woo-wallet-price,
.woo-wallet-balance-card .woocommerce-Price-amount {
	font-family: var(--ev-font-display) !important;
	text-shadow: 0 0 22px rgba(255, 255, 255, .45);
}

/* Pestañas de acciones (Recarga / Transferencias / Movimientos) */
.woo-wallet-nav-tabs {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border) !important;
	border-top: 0 !important;
	border-radius: 0 0 16px 16px !important;
	overflow: hidden;
}

.woo-wallet-nav-tabs a,
.woo-wallet-nav-tabs li,
.woo-wallet-nav-tabs .woo-wallet-nav-item {
	background: transparent !important;
	color: var(--ev-muted) !important;
	font-family: var(--ev-font-ui) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .07em;
	transition: color .2s ease, background .2s ease;
}

.woo-wallet-nav-tabs a:hover,
.woo-wallet-nav-tabs a.active,
.woo-wallet-nav-tabs .active a {
	background: linear-gradient(90deg, rgba(124, 58, 237, .3), rgba(0, 229, 255, .08)) !important;
	color: #fff !important;
}

.woo-wallet-nav-tabs .dashicons,
.woo-wallet-nav-tabs svg { color: var(--ev-cyan) !important; fill: var(--ev-cyan); }

/* Tarjetas de estadísticas (recargas / gastado / disponible) */
.woo-wallet-stats-grid { gap: 14px; }

.woo-wallet-stat-card {
	background: linear-gradient(180deg, var(--ev-surface-2), var(--ev-surface)) !important;
	border: 1px solid var(--ev-border) !important;
	border-radius: 14px !important;
	box-shadow: none !important;
}

.woo-wallet-stat-card__label { color: var(--ev-muted) !important; font-family: var(--ev-font-ui); text-transform: uppercase; letter-spacing: .08em; font-size: .85em; }

.woo-wallet-stat-card__value {
	color: var(--ev-text) !important;
	font-family: var(--ev-font-display) !important;
}

.woo-wallet-stat-card__icon {
	background: rgba(0, 229, 255, .1) !important;
	border-radius: 10px !important;
}

.woo-wallet-stat-card--success .woo-wallet-stat-card__icon { background: rgba(43, 217, 123, .14) !important; color: var(--ev-green) !important; }
.woo-wallet-stat-card--danger .woo-wallet-stat-card__icon,
.woo-wallet-stat-card--error .woo-wallet-stat-card__icon { background: rgba(255, 45, 120, .14) !important; color: var(--ev-magenta) !important; }

/* Lista/tabla de movimientos */
.woo-wallet-transactions-list,
.ww-txn-table {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border) !important;
	border-radius: 14px !important;
	color: var(--ev-text) !important;
	box-shadow: none !important;
	overflow: hidden;
}

.ww-txn-title,
.woo-wallet-section-title {
	color: var(--ev-text) !important;
	font-family: var(--ev-font-display) !important;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.ww-txn-row {
	border-bottom: 1px solid var(--ev-border) !important;
	background: transparent !important;
}
.ww-txn-row--head,
.ww-txn-head {
	background: var(--ev-surface-2) !important;
	color: var(--ev-cyan) !important;
	font-family: var(--ev-font-ui);
	text-transform: uppercase;
	letter-spacing: .07em;
}

.ww-txn-cell { color: var(--ev-text) !important; }
.ww-txn-cell--date, .ww-txn-meta { color: var(--ev-muted) !important; }
.ww-txn-cell--amount.credit { color: var(--ev-green) !important; font-weight: 700; }
.ww-txn-cell--amount.debit { color: var(--ev-magenta) !important; font-weight: 700; }

.ww-txn-badge {
	border-radius: 999px !important;
	font-family: var(--ev-font-ui);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	background: rgba(0, 229, 255, .1) !important;
	color: var(--ev-cyan) !important;
	border: 1px solid rgba(0, 229, 255, .3) !important;
}
.ww-txn-badge--credit, .ww-txn-badge--success { background: rgba(43, 217, 123, .12) !important; color: var(--ev-green) !important; border-color: rgba(43, 217, 123, .35) !important; }
.ww-txn-badge--debit, .ww-txn-badge--danger { background: rgba(255, 45, 120, .12) !important; color: var(--ev-magenta) !important; border-color: rgba(255, 45, 120, .35) !important; }

.ww-txn-empty {
	color: var(--ev-muted) !important;
	background: transparent !important;
}

/* Formularios de recarga/transferencia */
.woo-wallet-form-wrapper,
.woo-add-to-wallet {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border) !important;
	border-radius: 14px !important;
	color: var(--ev-text) !important;
	box-shadow: none !important;
}

.woo-wallet-submenu,
.woo-wallet-submenu-item a {
	background: var(--ev-surface-2) !important;
	color: var(--ev-text) !important;
}

/* Títulos de sección del wallet — el plugin les pone franja blanca */
h3.woo-wallet-section-title,
.woo-wallet-form-wrapper h3,
.woo-wallet-transactions-list h3 {
	background: transparent !important;
	background-image: none !important;
	color: var(--ev-cyan) !important;
	text-shadow: 0 0 14px rgba(0, 229, 255, .35);
	border: 0 !important;
	padding: 0 0 12px !important;
	margin: 0 0 12px !important;
}

/* Tabla de movimientos (DataTables) en dark */
.woo-wallet-transactions-list > div,
.woo-wallet-transactions-list .dataTables_wrapper,
.woo-wallet-transactions-list .dataTables_wrapper > div {
	background: transparent !important;
	color: var(--ev-text) !important;
}

.woo-wallet-transactions-list .dataTables_length,
.woo-wallet-transactions-list .dataTables_filter,
.woo-wallet-transactions-list .dataTables_info,
.woo-wallet-transactions-list .dataTables_paginate {
	color: var(--ev-muted) !important;
	background: transparent !important;
}

.woo-wallet-transactions-list table.dataTable,
.woo-wallet-transactions-list table.table {
	background: transparent !important;
	border-color: var(--ev-border) !important;
	color: var(--ev-text) !important;
}

.woo-wallet-transactions-list table.dataTable thead th,
.woo-wallet-transactions-list table.table thead th {
	background: var(--ev-surface-2) !important;
	color: var(--ev-cyan) !important;
	border-bottom: 1px solid var(--ev-border) !important;
	font-family: var(--ev-font-ui);
	text-transform: uppercase;
	letter-spacing: .07em;
}

.woo-wallet-transactions-list table.dataTable tbody tr,
.woo-wallet-transactions-list table.dataTable.stripe tbody tr.odd,
.woo-wallet-transactions-list table.dataTable.display tbody tr.odd,
.woo-wallet-transactions-list table.dataTable.display tbody tr.even {
	background: transparent !important;
}

.woo-wallet-transactions-list table.dataTable tbody td,
.woo-wallet-transactions-list table.table tbody td {
	background: transparent !important;
	color: var(--ev-text) !important;
	border-color: var(--ev-border) !important;
}

.woo-wallet-transactions-list table.dataTable td.dataTables_empty {
	color: var(--ev-muted) !important;
	padding: 40px 0 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border) !important;
	color: var(--ev-muted) !important;
	border-radius: 8px !important;
	font-family: var(--ev-font-ui) !important;
	font-weight: 700 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:not(.disabled):hover {
	background: linear-gradient(135deg, #7c3aed 0%, #2f81ff 55%, #00e5ff 100%) !important;
	color: #fff !important;
	border-color: transparent !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled { opacity: .4; }

.dataTables_wrapper select,
.dataTables_wrapper input {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border) !important;
	color: var(--ev-text) !important;
	border-radius: 8px !important;
}

/* Select2 (transferencias) — refuerzo dark con !important */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border) !important;
	color: var(--ev-text) !important;
	min-height: 44px;
	border-radius: 9px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--ev-text) !important;
	line-height: 42px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: var(--ev-cyan) transparent transparent transparent !important;
}

.select2-dropdown {
	background: var(--ev-bg-2) !important;
	border: 1px solid var(--ev-border-hi) !important;
	color: var(--ev-text) !important;
	border-radius: 10px !important;
	overflow: hidden;
}

.select2-search--dropdown { background: transparent !important; }

.select2-search--dropdown .select2-search__field {
	background: var(--ev-surface) !important;
	border: 1px solid var(--ev-border) !important;
	color: var(--ev-text) !important;
	border-radius: 8px !important;
}

.select2-results__option {
	background: transparent !important;
	color: var(--ev-text) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--ev-purple) !important;
	color: #fff !important;
}

.select2-results__message,
.select2-results__option[aria-disabled="true"] {
	color: var(--ev-muted) !important;
}

/* Tarjeta de saldo — estilo tarjeta de crédito gamer */
.woo-wallet-content .woo-wallet-content-heading,
.woo-wallet-balance {
	color: var(--ev-text);
}

.woo-wallet-sidebar-heading,
.woo-wallet-content-heading {
	background: var(--ev-surface-2) !important;
	color: var(--ev-cyan) !important;
	font-family: var(--ev-font-display);
	text-transform: uppercase;
	letter-spacing: .08em;
	border-bottom: 1px solid var(--ev-border);
}

.woo-wallet-icon-title { color: var(--ev-cyan); }

/* Monto del saldo grande */
.woo-wallet-balance .woocommerce-Price-amount,
.woo-wallet-content .woocommerce-Price-amount {
	font-family: var(--ev-font-display);
	color: var(--ev-cyan);
	text-shadow: 0 0 16px rgba(0, 229, 255, .4);
}

/* Tabla de transacciones */
.woo-wallet-transactions-items {
	border: 1px solid var(--ev-border);
	border-radius: 10px;
}
.woo-wallet-transactions-items li {
	border-bottom: 1px solid var(--ev-border);
	background: transparent;
	color: var(--ev-text);
}
.woo-wallet-transaction-type-credit { color: var(--ev-green); }
.woo-wallet-transaction-type-debit { color: var(--ev-magenta); }

/* ==========================================================================
   Ultimate Member — login / registro / cuenta / perfil
   ========================================================================== */
.um {
	font-family: var(--ev-font-ui) !important;
}

.um .um-form,
.um-account-main,
.um .um-account-side {
	background: transparent;
}

.um:not(.um-account) .um-form {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: var(--ev-radius);
	padding: 30px !important;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .5);
}

.um .um-field-label label { color: var(--ev-muted); }

.um .um-field-area input.um-form-field,
.um .um-form input[type="text"],
.um .um-form input[type="password"],
.um .um-form textarea,
.um .um-form select {
	background: var(--ev-bg-2) !important;
	border: 1px solid var(--ev-border) !important;
	color: var(--ev-text) !important;
	border-radius: 9px !important;
}

.um .um-form input.um-form-field:focus {
	border-color: var(--ev-cyan) !important;
	box-shadow: 0 0 0 3px rgba(0, 229, 255, .18);
}

.um a.um-link,
.um-misc-ul a,
.um .um-form a {
	color: var(--ev-cyan) !important;
}

.um .um-tip:hover, .um .um-field-icon { color: var(--ev-violet); }

/* Pestañas de cuenta UM */
.um-account-side ul li a {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border) !important;
	color: var(--ev-muted) !important;
	border-radius: 9px;
	margin-bottom: 6px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.um-account-side ul li a.current,
.um-account-side ul li a:hover {
	background: linear-gradient(90deg, rgba(124, 58, 237, .4), rgba(0, 229, 255, .12));
	color: #fff !important;
	border-color: rgba(0, 229, 255, .5) !important;
}

.um-account-side ul li a.current span.um-account-icon,
.um-account-side ul li a:hover span.um-account-icon { color: var(--ev-cyan); }

/* Perfil UM */
.um-profile.um .um-profile-body,
.um .um-profile-nav {
	background: var(--ev-surface);
	border-radius: var(--ev-radius);
}

.um .um-profile-nav-item a {
	color: var(--ev-muted);
}
.um .um-profile-nav-item.active a,
.um .um-profile-nav-item a:hover {
	color: var(--ev-cyan) !important;
	border-bottom-color: var(--ev-cyan) !important;
}

.um .um-header {
	border-bottom: 1px solid var(--ev-border) !important;
}

/* ==========================================================================
   Footer Astra — dark
   ========================================================================== */
.site-footer,
.ast-footer-copyright,
footer .ast-builder-grid-row,
.site-below-footer-wrap,
.site-above-footer-wrap,
.site-primary-footer-wrap {
	background: var(--ev-bg-2) !important;
	color: var(--ev-muted);
	border-top: 1px solid var(--ev-border);
}

.site-footer a { color: var(--ev-muted); }
.site-footer a:hover { color: var(--ev-cyan); }

/* ==========================================================================
   Elementor — secciones y widgets sobre el fondo dark
   ========================================================================== */
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
	color: var(--ev-text);
}

.elementor-divider-separator {
	border-color: var(--ev-border);
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb,
.ast-breadcrumbs {
	color: var(--ev-muted);
	font-family: var(--ev-font-ui);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: .85em;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--ev-muted); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--ev-cyan); }

/* Scroll-to-top de Astra */
.ast-scroll-top-icon {
	background: var(--ev-grad);
	box-shadow: var(--ev-glow-purple);
	border-radius: 10px;
}

/* Tablas genéricas (pedidos, transacciones) */
table {
	border-color: var(--ev-border);
}
table th { color: var(--ev-cyan); }
table td { color: var(--ev-text); }

/* Loader / spinners Woo */
.woocommerce .blockUI.blockOverlay {
	background: rgba(5, 8, 15, .7) !important;
}

/* ==========================================================================
   Detalles gaming — animación sutil de brillo en títulos principales
   ========================================================================== */
@keyframes ev-pulse-glow {
	0%, 100% { text-shadow: 0 0 14px rgba(0, 229, 255, .25); }
	50% { text-shadow: 0 0 26px rgba(0, 229, 255, .55), 0 0 60px rgba(124, 58, 237, .3); }
}

.woocommerce-products-header__title.page-title,
h1.entry-title,
h1.product_title {
	animation: ev-pulse-glow 4s ease-in-out infinite;
}

/* Reduce motion — accesibilidad */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation: none !important;
		transition: none !important;
	}
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 768px) {
	body { font-size: 16px; }
	ul.products li.product { padding: 10px 10px 14px !important; }
	.woocommerce-MyAccount-content { padding: 18px; }
	.um:not(.um-account) .um-form { padding: 20px !important; }
}

/* ==========================================================================
   Modo oscuro total — plantillas Elementor de contenido (producto, archivo,
   entradas). Sus contenedores traen fondos blancos/azules por elemento y
   textos oscuros; aquí se fuerzan al sistema dark del tema.
   ========================================================================== */
[data-elementor-type="product"] .e-con,
[data-elementor-type="product-archive"] .e-con,
[data-elementor-type="single"] .e-con,
[data-elementor-type="wp-post"] .e-con,
[data-elementor-type="archive"] .e-con,
[data-elementor-type="loop-item"] .e-con {
	background-color: transparent !important;
	background-image: none !important;
}

/* Los fondos decorativos de las plantillas (patrón de carritos, fondo.avif)
   viven en capas de motion effects y en pseudo-elementos ::before por
   breakpoint — se eliminan todos; el fondo global del tema queda a la vista. */
[data-elementor-type="product"] .e-con::before,
[data-elementor-type="product-archive"] .e-con::before,
[data-elementor-type="single"] .e-con::before,
[data-elementor-type="archive"] .e-con::before,
[data-elementor-type="product"] .elementor-motion-effects-layer,
[data-elementor-type="product-archive"] .elementor-motion-effects-layer,
[data-elementor-type="single"] .elementor-motion-effects-layer,
[data-elementor-type="archive"] .elementor-motion-effects-layer,
[data-elementor-type="product"] .elementor-background-overlay,
[data-elementor-type="product-archive"] .elementor-background-overlay {
	background-image: none !important;
	background-color: transparent !important;
}

/* La RAÍZ de cada plantilla también (Astra le inyecta un fondo claro de la paleta) */
[data-elementor-type="product"],
[data-elementor-type="product-archive"],
[data-elementor-type="single"],
[data-elementor-type="wp-post"],
[data-elementor-type="archive"],
[data-elementor-type="loop-item"],
.elementor.elementor-location-single,
.elementor.elementor-location-archive {
	color: var(--ev-text);
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

[data-elementor-type="product"] .elementor-heading-title,
[data-elementor-type="product-archive"] .elementor-heading-title,
[data-elementor-type="single"] .elementor-heading-title,
[data-elementor-type="archive"] .elementor-heading-title,
[data-elementor-type="product"] .elementor-widget-text-editor,
[data-elementor-type="product"] .elementor-widget-text-editor p,
[data-elementor-type="product"] p:not(.price),
[data-elementor-type="product"] li,
[data-elementor-type="product"] td,
[data-elementor-type="product"] th {
	color: var(--ev-text) !important;
}

[data-elementor-type="product"] .woocommerce-breadcrumb,
[data-elementor-type="product"] .woocommerce-breadcrumb a {
	color: var(--ev-muted) !important;
}
[data-elementor-type="product"] .woocommerce-breadcrumb a:hover {
	color: var(--ev-cyan) !important;
}

/* El clon de zoom de la galería no debe aportar fondo blanco */
.zoomImg { background: transparent !important; }

/* Galería del producto como tarjeta oscura */
[data-elementor-type="product"] .elementor-widget-woocommerce-product-images img,
.single-product div.product .woocommerce-product-gallery img {
	border-radius: 12px;
}

/* ==========================================================================
   Header — armonización de logo, menú y saldo
   ========================================================================== */
/* Escritorio: fila de saldo alineada al borde derecho del contenido */
@media (min-width: 1025px) {
	.elementor-element-3e304adb .e-con-inner {
		justify-content: flex-end !important;
		align-items: center !important;
		gap: 14px;
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.elementor-element-3e304adb .e-con.e-child {
		width: auto !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
	}

	.elementor-element-0ce4572 .elementor-heading-title { margin: 0; }

	/* Fila principal: logo a la izquierda, menú pegado a la derecha, centrados */
	.elementor-element-de8344c .e-con-inner {
		align-items: center !important;
		justify-content: space-between !important;
	}

	.elementor-element-e1a581e img {
		max-height: 78px !important;
		width: auto !important;
	}

	.elementor-element-d7ea4c5 { flex-grow: 1; }

	.elementor-element-d7ea4c5,
	.elementor-element-d7ea4c5 .elementor-widget-container,
	.elementor-element-d7ea4c5 .elementor-nav-menu__container {
		display: flex !important;
		justify-content: flex-end !important;
	}

	.elementor-element-d7ea4c5 ul.elementor-nav-menu {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: flex-end !important;
		width: 100%;
		align-items: center;
	}
}

/* Móvil/tablet: logo compacto, todo en UNA fila (sin wrap, aguanta saldos
   largos tipo $100,000.00 encogiendo el grupo del medio) */
@media (max-width: 1024px) {
	.elementor-element-5cf9d6d0,
	.elementor-element-5cf9d6d0 .e-con-inner {
		display: flex !important;
		flex-wrap: nowrap !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 8px 10px !important;
		gap: 8px;
	}

	/* Logo: tamaño fijo, nunca encoge */
	.elementor-element-2dbe59fb,
	.elementor-element-232b6bc7 {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 0 !important;
	}

	.elementor-element-232b6bc7 img {
		max-height: 52px !important;
		width: auto !important;
	}

	/* Grupo del medio (chip + recargar + burger anidado): fila flexible */
	.elementor-element-70927301 {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 8px !important;
	}

	/* Columna chip+botón: puede encoger, apilada y centrada */
	.elementor-element-597d2453,
	.elementor-element-23dfd2c0 {
		flex: 0 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 4px !important;
		min-height: 0 !important;
	}

	/* Chip de saldo compacto (el monto puede ser largo) */
	.elementor-element-ce486ab .woo-wallet-menu-contents {
		padding: 4px 11px;
		font-size: 12px;
		max-width: 100%;
		white-space: nowrap;
	}

	.elementor-element-ce486ab .woo-wallet-menu-contents .woocommerce-Price-amount {
		font-size: 12px;
	}

	.elementor-element-34e5e933 .elementor-button {
		font-size: 10px !important;
		padding: .5em .95em !important;
		white-space: nowrap;
	}

	/* Burger: tamaño fijo, centrado, nunca baja de línea */
	.elementor-element-12876933,
	.elementor-element-3e8bbebd {
		flex: 0 0 auto !important;
		width: auto !important;
		align-self: center !important;
	}

	.elementor-element-3e8bbebd .elementor-menu-toggle {
		width: 42px;
		height: 42px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/* Icono de carrito en el header (desktop junto al saldo; móvil junto al burger) */
#ev-header-cart {
	display: none;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	flex: none;
	border: 1px solid rgba(0, 229, 255, .45);
	border-radius: 12px;
	background: rgba(0, 229, 255, .07);
	color: var(--ev-cyan);
	transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}

#ev-header-cart.ev-hc-on { display: inline-flex; }

#ev-header-cart svg {
	width: 21px;
	height: 21px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#ev-header-cart:hover {
	border-color: var(--ev-cyan);
	box-shadow: var(--ev-glow-cyan);
	transform: translateY(-2px);
	text-shadow: none;
}

.ev-hc-badge {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ev-grad-hot);
	color: #fff;
	font-family: var(--ev-font-ui);
	font-size: 11px;
	font-weight: 700;
	border-radius: 999px;
	box-shadow: 0 0 10px rgba(255, 45, 120, .7);
	font-variant-numeric: tabular-nums;
	z-index: 2;
}

.ev-hc-badge.ev-zero { display: none; }

@media (max-width: 1024px) {
	#ev-header-cart { width: 40px; height: 40px; }
}

/* ==========================================================================
   Menú móvil (widget nav-menu de Elementor) — panel lateral izquierdo
   ========================================================================== */
.elementor-menu-toggle {
	color: var(--ev-cyan) !important;
	border-radius: 10px;
}
.elementor-menu-toggle.elementor-active,
.elementor-menu-toggle:hover {
	color: #fff !important;
	text-shadow: 0 0 14px rgba(0, 229, 255, .6);
}

@media (max-width: 1024px) {
	.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		bottom: 0 !important;
		width: min(320px, 84vw) !important;
		height: 100dvh !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 76px 0 120px !important;
		overflow-y: auto !important;
		background: linear-gradient(180deg, var(--ev-bg-2) 0%, var(--ev-bg) 100%) !important;
		border-right: 1px solid rgba(0, 229, 255, .35) !important;
		border-radius: 0 !important;
		transform: translateX(-106%);
		visibility: hidden;
		transition: transform .32s cubic-bezier(.22, .8, .3, 1), visibility 0s .32s;
		z-index: 99998 !important;
	}

	.elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] {
		transform: translateX(0);
		visibility: visible;
		transition: transform .32s cubic-bezier(.22, .8, .3, 1);
		box-shadow: 24px 0 60px rgba(0, 0, 0, .65), 0 0 26px rgba(0, 229, 255, .15), 0 0 0 100vmax rgba(3, 5, 10, .6);
	}

	/* Rótulo del panel */
	.elementor-nav-menu--dropdown.elementor-nav-menu__container::before {
		content: "MENÚ";
		position: absolute;
		top: 26px;
		left: 24px;
		font-family: var(--ev-font-display);
		font-size: 15px;
		font-weight: 800;
		letter-spacing: .3em;
		color: var(--ev-cyan);
		text-shadow: 0 0 16px rgba(0, 229, 255, .5);
	}
	.elementor-nav-menu--dropdown.elementor-nav-menu__container::after {
		content: "";
		position: absolute;
		top: 58px;
		left: 24px;
		right: 24px;
		height: 2px;
		background: var(--ev-grad);
		border-radius: 2px;
	}

	.elementor-nav-menu--dropdown .elementor-nav-menu {
		background: transparent !important;
	}

	.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item,
	.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-sub-item {
		background: transparent !important;
		color: var(--ev-muted) !important;
		font-family: var(--ev-font-ui) !important;
		font-weight: 700 !important;
		text-transform: uppercase;
		letter-spacing: .09em;
		padding: 15px 24px !important;
		border-left: 3px solid transparent;
		border-bottom: 1px solid rgba(28, 42, 68, .55);
		transition: color .2s ease, border-color .2s ease, background .2s ease, padding-left .2s ease;
	}

	.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-sub-item {
		padding-left: 42px !important;
		font-size: .92em;
		border-bottom-color: rgba(28, 42, 68, .3);
	}

	.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item:hover,
	.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-sub-item:hover,
	.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item.elementor-item-active {
		background: linear-gradient(90deg, rgba(124, 58, 237, .35), rgba(0, 229, 255, .08)) !important;
		color: #fff !important;
		border-left-color: var(--ev-cyan);
		padding-left: 30px !important;
		text-shadow: 0 0 12px rgba(0, 229, 255, .4);
	}

	.elementor-nav-menu--dropdown .sub-arrow {
		color: var(--ev-cyan) !important;
	}

	/* La flotante de Astra no choca con la barra inferior */
	.ast-scroll-top-icon { bottom: 96px !important; }
}

/* ==========================================================================
   Acceso rápido (móvil/tablet) — botón flotante a la IZQUIERDA que
   despliega los iconos hacia arriba (speed-dial)
   ========================================================================== */
#ev-quick { display: none; }

@media (max-width: 1024px) {
	#ev-quick {
		position: fixed;
		left: 16px;
		bottom: calc(18px + env(safe-area-inset-bottom, 0px));
		z-index: 99997;
		display: block;
	}

	/* Botón principal */
	#ev-qa-toggle {
		width: 58px;
		height: 58px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(0, 229, 255, .55) !important;
		border-radius: 50% !important;
		background-color: #101a30 !important;
		background-image: linear-gradient(135deg, rgba(124, 58, 237, .9), rgba(0, 179, 255, .9)) !important;
		color: #fff !important;
		cursor: pointer;
		padding: 0 !important;
		box-shadow: 0 8px 24px rgba(0, 0, 0, .55), 0 0 18px rgba(0, 229, 255, .35);
		transition: transform .25s ease, box-shadow .25s ease;
	}

	#ev-qa-toggle svg {
		width: 27px;
		height: 27px;
		stroke: #fff;
		fill: none;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	#ev-quick.ev-open #ev-qa-toggle {
		transform: rotate(-12deg) scale(1.05);
		box-shadow: 0 8px 24px rgba(0, 0, 0, .55), 0 0 28px rgba(0, 229, 255, .65);
	}

	/* Pila de accesos que se despliega */
	#ev-bottom-nav {
		position: absolute;
		left: 5px;
		bottom: 70px;
		display: flex;
		flex-direction: column-reverse;
		gap: 12px;
		pointer-events: none;
	}

	#ev-bottom-nav .ev-bn-item {
		position: relative;
		display: flex;
		align-items: center;
		gap: 10px;
		background: none !important;
		background-image: none !important;
		box-shadow: none !important;
		border: 0;
		border-radius: 0 !important;
		padding: 0 !important;
		cursor: pointer;
		text-decoration: none;
		color: var(--ev-cyan) !important;
		opacity: 0;
		transform: translateY(16px) scale(.8);
		transition: opacity .22s ease, transform .22s ease;
	}

	#ev-quick.ev-open #ev-bottom-nav .ev-bn-item {
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}

	#ev-quick.ev-open #ev-bottom-nav .ev-bn-item:nth-child(1) { transition-delay: .02s; }
	#ev-quick.ev-open #ev-bottom-nav .ev-bn-item:nth-child(2) { transition-delay: .07s; }
	#ev-quick.ev-open #ev-bottom-nav .ev-bn-item:nth-child(3) { transition-delay: .12s; }
	#ev-quick.ev-open #ev-bottom-nav .ev-bn-item:nth-child(4) { transition-delay: .17s; }

	.ev-bn-ic {
		width: 48px;
		height: 48px;
		flex: none;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(12, 19, 34, .97);
		border: 1px solid rgba(0, 229, 255, .45);
		border-radius: 50%;
		box-shadow: 0 6px 18px rgba(0, 0, 0, .5), 0 0 12px rgba(0, 229, 255, .22);
		transition: border-color .2s ease, box-shadow .2s ease;
	}

	#ev-bottom-nav svg {
		width: 22px;
		height: 22px;
		stroke: currentColor;
		fill: none;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.ev-bn-label {
		font-family: var(--ev-font-ui);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: .12em;
		text-transform: uppercase;
		color: var(--ev-text);
		background: rgba(7, 11, 22, .92);
		border: 1px solid var(--ev-border-hi);
		border-radius: 999px;
		padding: 7px 13px;
		white-space: nowrap;
	}

	#ev-bottom-nav .ev-bn-item:active { transform: scale(.92); }

	#ev-bottom-nav .ev-bn-item.ev-on .ev-bn-ic,
	#ev-bottom-nav .ev-bn-item:hover .ev-bn-ic {
		border-color: var(--ev-cyan);
		box-shadow: 0 6px 18px rgba(0, 0, 0, .5), 0 0 20px rgba(0, 229, 255, .55);
	}

	#ev-cart-count {
		position: absolute;
		top: -4px;
		left: 32px;
		min-width: 18px;
		height: 18px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 5px;
		background: var(--ev-grad-hot);
		color: #fff;
		font-family: var(--ev-font-ui);
		font-size: 11px;
		font-weight: 700;
		border-radius: 999px;
		box-shadow: 0 0 10px rgba(255, 45, 120, .7);
		font-variant-numeric: tabular-nums;
		z-index: 2;
	}
	#ev-cart-count.ev-zero { display: none; }
}

/* Overlay de búsqueda */
#ev-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 18vh 22px 0;
	background: rgba(3, 5, 10, .92);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
#ev-search-overlay[hidden] { display: none; }

#ev-search-overlay form {
	width: min(560px, 100%);
	display: flex;
	gap: 10px;
}

#ev-search-overlay input[type="search"] {
	flex: 1;
	background: var(--ev-surface) !important;
	border: 1px solid rgba(0, 229, 255, .5) !important;
	border-radius: 12px !important;
	color: var(--ev-text) !important;
	font: 600 18px/1.2 var(--ev-font-ui);
	padding: 16px 18px;
	box-shadow: 0 0 24px rgba(0, 229, 255, .2);
}

/* ==========================================================================
   Buscador superior — barra en todas las páginas, con resultados AJAX
   ========================================================================== */
#ev-topsearch {
	position: relative;
	z-index: 300;
	background: rgba(7, 11, 22, .96);
	border-bottom: 1px solid rgba(0, 229, 255, .28);
	padding: 10px 16px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .35);
}

#ev-topsearch form {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
}

#ev-topsearch .ev-ts-ic {
	flex: none;
	width: 20px;
	height: 20px;
	stroke: var(--ev-cyan);
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: drop-shadow(0 0 6px rgba(0, 229, 255, .5));
}

#ev-topsearch input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 10px 14px;
	border-radius: 10px !important;
	font: 600 15px/1.2 var(--ev-font-ui);
}

#ev-topsearch .ev-ts-btn {
	padding: .68em 1.4em;
	font-size: 13px;
	flex: none;
}

@media (max-width: 560px) {
	#ev-topsearch .ev-ts-btn { display: none; }
}

/* El desplegable de resultados cuelga del formulario */
#ev-topsearch #ev-search-results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	width: auto;
	margin: 0;
	padding: 10px;
	background: var(--ev-bg-2);
	border: 1px solid var(--ev-border-hi);
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .65), 0 0 24px rgba(0, 229, 255, .12);
	display: none;
}

#ev-topsearch #ev-search-results.ev-show { display: grid; }

/* Resultados AJAX del buscador */
#ev-search-results {
	width: min(560px, 100%);
	margin-top: 14px;
	max-height: 55vh;
	overflow-y: auto;
	display: grid;
	gap: 10px;
}

#ev-search-results .ev-sr-item {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: 12px;
	padding: 10px 14px;
	text-decoration: none;
	transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}

#ev-search-results .ev-sr-item:hover {
	border-color: rgba(0, 229, 255, .6);
	box-shadow: var(--ev-glow-cyan);
	transform: translateY(-2px);
}

#ev-search-results .ev-sr-item img {
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 9px;
	flex: none;
}

#ev-search-results .ev-sr-name {
	flex: 1;
	font: 700 15px/1.25 var(--ev-font-ui);
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--ev-text);
}

#ev-search-results .ev-sr-price {
	font: 800 14px/1 var(--ev-font-display);
	color: var(--ev-cyan);
	text-shadow: 0 0 12px rgba(0, 229, 255, .35);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

#ev-search-results .ev-sr-empty,
#ev-search-results .ev-sr-loading {
	text-align: center;
	color: var(--ev-muted);
	font: 600 15px/1.4 var(--ev-font-ui);
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 14px 0;
}

#ev-search-overlay .ev-search-close {
	position: absolute;
	top: 26px;
	right: 26px;
	background: var(--ev-surface);
	border: 1px solid var(--ev-border-hi);
	border-radius: 10px;
	color: var(--ev-text);
	font: 700 15px/1 var(--ev-font-ui);
	letter-spacing: .1em;
	padding: 12px 16px;
	cursor: pointer;
}

/* ==========================================================================
   Portada (front-page.php) — slider + secciones
   ========================================================================== */
#ev-landing { overflow-x: hidden; }

#ev-landing .ev-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

#ev-landing section { margin: 0 0 74px; }

/* Las secciones con .ev-wrap deben conservar el centrado Y el margen inferior
   (la regla de .ev-wrap le ganaba al margen de section y quedaban pegadas). */
#ev-landing section.ev-wrap { margin: 0 auto 84px; }

/* La portada ocupa el ancho completo: el contenedor de Astra es flex y
   convierte el main en un ítem pegado a la izquierda — se neutraliza. */
body.ev-front #content .ast-container,
body.ev-front .site-content .ast-container {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.ev-front #ev-landing { width: 100%; }

#ev-landing .ev-kicker {
	font: 700 13px/1 var(--ev-font-ui);
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--ev-cyan);
	margin: 0 0 10px;
}

#ev-landing h2.ev-h {
	font: 800 clamp(24px, 4vw, 36px)/1.15 var(--ev-font-display);
	letter-spacing: .04em;
	text-transform: uppercase;
	margin: 0 0 14px;
	animation: none;
}

#ev-landing .ev-sub {
	color: var(--ev-muted);
	max-width: 64ch;
	margin: 0 0 34px;
	font-size: 1.05em;
}

/* --- Slider hero --- */
.ev-slider,
#ev-landing section.ev-slider {
	position: relative;
	margin: 26px auto 74px;
	max-width: 1200px;
	padding: 0 24px;
}

.ev-slides {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--ev-border-hi);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .55), 0 0 40px rgba(124, 58, 237, .18);
	min-height: 380px;
}

.ev-slide {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
	padding: 48px min(7vw, 70px);
	opacity: 0;
	transform: scale(1.02);
	transition: opacity .6s ease, transform .6s ease;
	pointer-events: none;
}

.ev-slide.ev-live {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
	position: relative;
}

.ev-slide .ev-slide-kicker {
	font: 700 14px/1 var(--ev-font-ui);
	letter-spacing: .3em;
	text-transform: uppercase;
	color: rgba(230, 237, 247, .85);
}

.ev-slide h1, .ev-slide .ev-slide-title {
	font: 800 clamp(30px, 5.5vw, 54px)/1.05 var(--ev-font-display);
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
	max-width: 14ch;
	text-shadow: 0 4px 30px rgba(0, 0, 0, .5);
	animation: none;
}

.ev-slide p {
	color: rgba(230, 237, 247, .82);
	font-size: clamp(16px, 2vw, 19px);
	max-width: 46ch;
	margin: 0 0 10px;
}

.ev-slide .button { align-self: flex-start; }

/* Imagen de marca Everest en los tres slides (el cliente la reemplazará por
   sus propias fotos). Cada slide conserva su tinte + un scrim lateral para
   que el texto siga legible sobre la imagen. */
.ev-slide {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #0a0f1e;
}

.ev-slide .ev-slide-kicker,
.ev-slide p {
	text-shadow: 0 2px 14px rgba(0, 0, 0, .85);
}

.ev-s1 { background-image:
	linear-gradient(90deg, rgba(5, 8, 15, .84) 0%, rgba(5, 8, 15, .5) 48%, rgba(5, 8, 15, .14) 100%),
	radial-gradient(700px 500px at 10% 90%, rgba(124, 58, 237, .38), transparent 60%),
	url('assets/img/hero-everest.webp'); }
.ev-s2 { background-image:
	linear-gradient(90deg, rgba(5, 8, 15, .84) 0%, rgba(5, 8, 15, .5) 48%, rgba(5, 8, 15, .14) 100%),
	radial-gradient(900px 500px at 15% 15%, rgba(0, 229, 255, .28), transparent 55%),
	url('assets/img/hero-everest.webp'); }
.ev-s3 { background-image:
	linear-gradient(90deg, rgba(5, 8, 15, .84) 0%, rgba(5, 8, 15, .5) 48%, rgba(5, 8, 15, .14) 100%),
	radial-gradient(900px 500px at 80% 15%, rgba(255, 45, 120, .3), transparent 55%),
	url('assets/img/hero-everest.webp'); }

.ev-dots {
	position: absolute;
	bottom: 18px;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	gap: 10px;
	z-index: 3;
}

.ev-dot {
	width: 26px;
	height: 5px;
	border: 0;
	border-radius: 4px;
	background: rgba(230, 237, 247, .25);
	cursor: pointer;
	padding: 0;
	transition: background .25s ease, box-shadow .25s ease;
}

.ev-dot.ev-live {
	background: var(--ev-cyan);
	box-shadow: 0 0 12px rgba(0, 229, 255, .7);
}

.ev-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(7, 11, 22, .6) !important;
	background-image: none !important;
	border: 1px solid var(--ev-border-hi) !important;
	border-radius: 50% !important;
	color: var(--ev-text) !important;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	padding: 0;
}
.ev-arrow:hover { border-color: var(--ev-cyan) !important; color: var(--ev-cyan) !important; transform: translateY(-50%); }
.ev-prev { left: 36px; }
.ev-next { right: 36px; }

/* --- Tienda dedicada (/tienda/) — sidebar de filtros + grilla --- */
.ev-shop-head { text-align: center; padding-top: clamp(60px, 8vw, 110px); }
.ev-shop-head .ev-sub { margin-left: auto; margin-right: auto; }

.ev-shop-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 28px;
	align-items: start;
}

.ev-shop-sidebar {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 20px;
}

.ev-sidebar-close { display: none; }

.ev-filter-block {
	background: linear-gradient(180deg, var(--ev-surface-2), var(--ev-surface));
	border: 1px solid var(--ev-border);
	border-radius: 14px;
	padding: 18px;
}

.ev-filter-block h3 {
	font: 800 13px/1.2 var(--ev-font-display);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ev-cyan);
	margin: 0 0 12px;
	text-shadow: 0 0 12px rgba(0, 229, 255, .3);
}

.ev-filter-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.ev-filter-list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 9px 12px;
	border-radius: 8px;
	border-left: 3px solid transparent;
	color: var(--ev-muted);
	font: 700 13.5px/1.2 var(--ev-font-ui);
	letter-spacing: .07em;
	text-transform: uppercase;
	text-decoration: none;
	transition: all .18s ease;
}

.ev-filter-list a span {
	font-size: 11px;
	background: rgba(0, 229, 255, .1);
	border: 1px solid rgba(0, 229, 255, .25);
	color: var(--ev-cyan);
	border-radius: 999px;
	padding: 2px 8px;
}

.ev-filter-list a:hover,
.ev-filter-list a.ev-act {
	background: linear-gradient(90deg, rgba(124, 58, 237, .32), rgba(0, 229, 255, .08));
	border-left-color: var(--ev-cyan);
	color: #fff;
	text-shadow: none;
}

.ev-price-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	color: var(--ev-muted);
}

.ev-price-row input {
	width: 100%;
	min-width: 0;
	padding: 9px 10px;
	font-size: 14px;
}

.ev-filter-apply {
	width: 100%;
	text-align: center;
	font-size: 13px !important;
	padding: .7em 1em !important;
}

.ev-filter-clear {
	display: block;
	text-align: center;
	font: 700 13px/1.2 var(--ev-font-ui);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ev-magenta);
	padding: 10px;
	border: 1px dashed rgba(255, 45, 120, .45);
	border-radius: 10px;
	text-decoration: none;
}
.ev-filter-clear:hover { color: #ff6b9f; text-shadow: 0 0 10px rgba(255, 45, 120, .5); }

.ev-shop-empty {
	text-align: center;
	padding: 60px 20px;
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: 14px;
}
.ev-shop-empty p { color: var(--ev-muted); margin-bottom: 20px; }

.ev-shop-pagination { margin-top: 30px; text-align: center; }

/* Botón/pestaña flotante de filtros — solo móvil */
.ev-filters-tab { display: none; }

@media (max-width: 1024px) {
	.ev-shop-layout { grid-template-columns: 1fr; }

	.ev-shop-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(300px, 82vw);
		height: 100dvh;
		z-index: 99998;
		margin: 0;
		padding: 64px 16px 100px;
		overflow-y: auto;
		background: linear-gradient(180deg, var(--ev-bg-2) 0%, var(--ev-bg) 100%);
		border-right: 1px solid rgba(0, 229, 255, .35);
		transform: translateX(-106%);
		visibility: hidden;
		transition: transform .32s cubic-bezier(.22, .8, .3, 1), visibility 0s .32s;
	}

	.ev-shop-sidebar.ev-open {
		transform: translateX(0);
		visibility: visible;
		transition: transform .32s cubic-bezier(.22, .8, .3, 1);
		box-shadow: 24px 0 60px rgba(0, 0, 0, .65), 0 0 26px rgba(0, 229, 255, .15), 0 0 0 100vmax rgba(3, 5, 10, .6);
	}

	.ev-sidebar-close {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 14px;
		right: 14px;
		width: 38px;
		height: 38px;
		background: var(--ev-surface) !important;
		background-image: none !important;
		border: 1px solid var(--ev-border-hi) !important;
		border-radius: 10px !important;
		color: var(--ev-text) !important;
		font-size: 16px;
		padding: 0 !important;
		box-shadow: none !important;
	}

	.ev-filters-tab {
		position: fixed;
		left: 0;
		top: 42%;
		z-index: 99996;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 6px;
		padding: 14px 9px !important;
		border-radius: 0 14px 14px 0 !important;
		border: 1px solid rgba(0, 229, 255, .5) !important;
		border-left: 0 !important;
		background-color: #101a30 !important;
		background-image: linear-gradient(180deg, rgba(124, 58, 237, .9), rgba(0, 179, 255, .9)) !important;
		color: #fff !important;
		box-shadow: 6px 0 20px rgba(0, 0, 0, .5), 0 0 16px rgba(0, 229, 255, .3);
	}

	.ev-filters-tab svg {
		width: 20px;
		height: 20px;
		stroke: #fff;
		fill: none;
		stroke-width: 2;
		stroke-linejoin: round;
	}

	.ev-filters-tab span {
		font: 700 10px/1 var(--ev-font-ui);
		letter-spacing: .18em;
		text-transform: uppercase;
		writing-mode: vertical-rl;
	}
}

/* --- Botón "Ir a la tienda" bajo el slider --- */
.ev-goshop {
	text-align: center;
	margin: -34px 0 70px;
}

.ev-btn-big {
	font-size: 16px !important;
	padding: 1.05em 2.8em !important;
	letter-spacing: .14em !important;
}

/* --- Hero de páginas internas (distribuidor / soporte) --- */
.ev-hero-page {
	padding-top: clamp(70px, 9vw, 140px);
	text-align: center;
}

.ev-hero-page h1.ev-h {
	font-size: clamp(30px, 5vw, 46px);
	text-wrap: balance;
}

.ev-hero-page .ev-sub {
	margin-left: auto;
	margin-right: auto;
}

.ev-btns-left {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
}

/* Encabezados de sección de las páginas internas, centrados y con aire */
body.ev-virtual #ev-landing .ev-kicker,
body.ev-virtual #ev-landing h2.ev-h {
	text-align: center;
}

body.ev-virtual #ev-landing .ev-sub {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

body.ev-virtual #ev-landing h2.ev-h {
	margin-bottom: 34px;
}

body.ev-virtual .ev-faq {
	margin: 0 auto;
}

/* --- FAQ (details/summary) --- */
.ev-faq {
	display: grid;
	gap: 12px;
	max-width: 860px;
}

.ev-faq details {
	background: linear-gradient(180deg, var(--ev-surface-2), var(--ev-surface));
	border: 1px solid var(--ev-border);
	border-radius: 12px;
	padding: 0;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.ev-faq details[open] {
	border-color: rgba(0, 229, 255, .5);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .4), 0 0 14px rgba(0, 229, 255, .15);
}

.ev-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 17px 20px;
	font: 700 15.5px/1.35 var(--ev-font-ui);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ev-text);
	position: relative;
	padding-right: 48px;
}

.ev-faq summary::-webkit-details-marker { display: none; }

.ev-faq summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font: 800 20px/1 var(--ev-font-display);
	color: var(--ev-cyan);
	transition: transform .2s ease;
}

.ev-faq details[open] summary::after {
	content: "−";
	text-shadow: 0 0 12px rgba(0, 229, 255, .6);
}

.ev-faq details p {
	margin: 0;
	padding: 0 20px 18px;
	color: var(--ev-muted);
}

.ev-faq details a { color: var(--ev-cyan); }

/* --- Cómo funciona --- */
.ev-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 16px;
}

.ev-step {
	position: relative;
	background: linear-gradient(180deg, var(--ev-surface-2), var(--ev-surface));
	border: 1px solid var(--ev-border);
	border-radius: 14px;
	padding: 26px 22px 22px;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.ev-step:hover {
	transform: translateY(-5px);
	border-color: rgba(0, 229, 255, .55);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .5), var(--ev-glow-cyan);
}

.ev-step .ev-n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-bottom: 14px;
	font: 800 18px/1 var(--ev-font-display);
	color: #fff;
	background: var(--ev-grad);
	border-radius: 10px;
	box-shadow: var(--ev-glow-purple);
}

.ev-step h3 {
	font: 700 17px/1.25 var(--ev-font-ui);
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0 0 8px;
	color: var(--ev-text);
}

.ev-step p { color: var(--ev-muted); margin: 0; font-size: 15.5px; }

/* --- Catálogo + chips de categorías --- */
.ev-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 28px;
}

.ev-cat-chip {
	font: 700 13px/1 var(--ev-font-ui);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ev-text);
	background: rgba(17, 26, 46, .7);
	border: 1px solid var(--ev-border-hi);
	border-radius: 999px;
	padding: 10px 18px;
	text-decoration: none;
	transition: border-color .2s ease, box-shadow .2s ease, color .2s ease;
}

.ev-cat-chip:hover {
	color: var(--ev-cyan);
	border-color: rgba(0, 229, 255, .6);
	box-shadow: 0 0 14px rgba(0, 229, 255, .25);
	text-shadow: none;
}

/* --- Beneficios --- */
.ev-benefits {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 16px;
}

.ev-benefit {
	background: var(--ev-surface);
	border: 1px solid var(--ev-border);
	border-radius: 14px;
	padding: 24px 22px;
}

.ev-benefit .ev-ic {
	font-size: 26px;
	line-height: 1;
	margin-bottom: 12px;
	filter: drop-shadow(0 0 10px rgba(0, 229, 255, .5));
}

.ev-benefit h3 {
	font: 700 16px/1.25 var(--ev-font-ui);
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0 0 6px;
	color: var(--ev-cyan);
}

.ev-benefit p { color: var(--ev-muted); margin: 0; font-size: 15.5px; }

/* --- CTA final --- */
.ev-cta-final {
	text-align: center;
	background:
		radial-gradient(600px 300px at 50% 0%, rgba(124, 58, 237, .3), transparent 70%),
		linear-gradient(180deg, var(--ev-surface-2), var(--ev-surface));
	border: 1px solid var(--ev-border-hi);
	border-radius: 18px;
	padding: 54px 26px;
}

.ev-cta-final .ev-h { margin-bottom: 10px; }
.ev-cta-final p { color: var(--ev-muted); max-width: 52ch; margin: 0 auto 26px; }
.ev-cta-final .ev-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 640px) {
	.ev-slide { padding: 38px 26px 64px; }
	.ev-slides { min-height: 430px; }
	.ev-arrow { display: none; }
	#ev-landing section { margin-bottom: 54px; }
}
