/* ==========================================================================
   Arcade Games — diseño Consola (base del tema Night Games)
   ========================================================================== */

:root {
	--ng-bg: #0A0B1E;
	--ng-surf: #15173A;
	--ng-surf2: #1C1F4A;
	--ng-text: #F2F3FF;
	--ng-muted: #A3A8D6;
	--ng-border: #24275A;
	--ng-border-strong: #3A3E80;
	--ng-accent: #FFEB00;
	--ng-accent-hover: #FFF35C;
	--ng-on-accent: #0A0B1E;
	--ng-sale: #F6442B;
	--ng-on-sale: #FFFFFF;
	--ng-dark: #070816;
	--ng-hero-eyebrow: #00F0FF;
	--ng-ok: #3DDC97;
	--ng-display: 'Rajdhani', 'Outfit', system-ui, sans-serif;
	--ng-body: 'Outfit', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--ng-wrap: 1280px;
	--ng-gutter: 32px;
	--ng-gap: 14px;
	--ng-tile-0: #15173A;
	--ng-tile-1: #55197E;
	--ng-tile-2: #2A1E7A;
	--ng-tile-3: #15173A;
	--ng-tile-4: #55197E;
	--ag-cyan: #00F0FF;
	--ag-purple: #55197E;
	--ag-input: #0F1132;
	--ag-r: 14px;
	--ag-r-lg: 22px;
	--ag-r-sm: 10px;
	--ag-hdr-h: 72px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.ng-lock { overflow: hidden; }
body {
	margin: 0;
	background: var(--ng-bg);
	color: var(--ng-text);
	font-family: var(--ng-body);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--ng-text); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 3px solid var(--ng-accent); outline-offset: 2px; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4 { line-height: 1.15; margin: 0 0 .5em; }
p { margin: 0 0 1em; }

.screen-reader-text, .ng-visually-hidden {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.ng-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--ng-accent); color: var(--ng-on-accent); padding: 10px 16px; }
.ng-skip:focus { left: 8px; }

.ng-container { width: 100%; max-width: var(--ng-wrap); margin: 0 auto; padding: 0 var(--ng-gutter); }
.ng-section { padding-top: 72px; }
.ng-icon { flex-shrink: 0; }

/* Tipografía display ------------------------------------------------------ */
.ng-display {
	font-family: var(--ng-display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .02em;
	line-height: .92;
}
.ng-h2 { font-size: 52px; margin: 0; }
.ng-eyebrow { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ng-muted); }
.ng-eyebrow--light { color: var(--ng-hero-eyebrow); }
.ng-sechead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.ng-morelink { display: inline-flex; gap: 6px; align-items: center; font-weight: 700; font-size: 15px; }

/* Botones ---------------------------------------------------------------- */
.ng-btn, .button, button.button, a.button, input.button, .wp-element-button, .woocommerce-button, .single_add_to_cart_button, #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 52px; padding: 0 24px; border-radius: 0; border: 1px solid transparent;
	background: var(--ng-accent); color: var(--ng-on-accent);
	font-weight: 700; font-size: 15px; line-height: 1.2; text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, transform .15s ease;
}
.ng-btn:hover, .button:hover, .single_add_to_cart_button:hover, #place_order:hover, .wp-element-button:hover { background: var(--ng-accent-hover); color: var(--ng-on-accent); text-decoration: none; }
.ng-btn--ghost { background: transparent; color: var(--ng-text); border-color: var(--ng-border-strong); }
.ng-btn--ghost:hover { background: var(--ng-surf2); color: var(--ng-text); }
.ng-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
.ng-btn--outline-light:hover { background: rgba(255,255,255,.08); color: #fff; }
.ng-btn--block { width: 100%; }
.ng-btn--sm { min-height: 44px; padding: 0 16px; font-size: 14px; }
.button.alt, .button.checkout-button { background: var(--ng-accent); }
.button:disabled, .button.disabled, .single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }

.ng-iconbtn {
	width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
	background: transparent; border: 0; color: var(--ng-text); cursor: pointer; position: relative; padding: 0;
}
.ng-iconbtn:hover { color: var(--ng-accent); text-decoration: none; }

/* Etiquetas --------------------------------------------------------------- */
.ng-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ng-tag { display: inline-flex; align-items: center; border: 1px solid var(--ng-border-strong); color: var(--ng-text); padding: 2px 8px; font-size: 12px; font-weight: 700; line-height: 1.5; }
.ng-tag--sale { background: var(--ng-sale); color: var(--ng-on-sale); border-color: var(--ng-sale); font-weight: 800; }
.ng-tag--dark { background: var(--ng-dark); color: #fff; border-color: var(--ng-dark); }

/* Encabezado --------------------------------------------------------------- */
.ng-header { background: var(--ng-surf); border-bottom: 1px solid var(--ng-border); position: sticky; top: 0; z-index: 40; }
.admin-bar .ng-header { top: 32px; }
.ng-header__bar { display: flex; align-items: center; gap: 28px; min-height: 76px; }
.ng-header__menu { display: none; margin-left: -10px; }
.ng-logo, .custom-logo-link { display: block; }
.ng-logo img, .custom-logo { height: 42px; width: auto; }
.ng-header__nav { flex: 1; min-width: 0; }
.ng-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 22px; }
.ng-menu > li { position: relative; }
.ng-menu a { display: block; padding: 10px 0; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ng-text); }
.ng-menu a:hover, .ng-menu .current-menu-item > a { color: var(--ng-accent); text-decoration: none; }
.ng-menu .sub-menu { display: none; position: absolute; top: 100%; left: -16px; min-width: 220px; list-style: none; margin: 0; padding: 8px 0; background: var(--ng-surf); border: 1px solid var(--ng-border); box-shadow: 0 20px 40px rgba(11,16,51,.12); z-index: 5; }
.ng-menu .sub-menu a { padding: 10px 16px; text-transform: none; letter-spacing: 0; }
.ng-menu li:hover > .sub-menu, .ng-menu li:focus-within > .sub-menu { display: block; }
.ng-header__actions { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.ng-header__currency { margin: 0 6px; }
.ng-cart-count {
	position: absolute; top: 4px; right: 0; min-width: 18px; height: 18px; padding: 0 4px;
	background: var(--ng-sale); color: #fff; font-size: 11px; font-weight: 800; border-radius: 999px;
	display: flex; align-items: center; justify-content: center;
}
.ng-cart-count[data-count="0"] { display: none; }

.ng-currency { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border: 1px solid var(--ng-border); font-size: 14px; font-weight: 600; color: var(--ng-text); white-space: nowrap; }
.ng-currency--plugin { border: 0; padding: 0; }
.ng-currency--plugin select { min-height: 44px; }

.ng-searchbar { display: none; border-top: 1px solid var(--ng-border); background: var(--ng-surf); }
.ng-searchbar[data-open="true"] { display: block; }
.ng-searchbar__row { display: flex; gap: 8px; align-items: center; padding-top: 12px; padding-bottom: 12px; }
.ng-searchbar__currency { display: none; }
.ng-search { flex: 1; display: flex; align-items: center; gap: 8px; background: var(--ng-surf2); border: 1px solid var(--ng-border); padding: 2px 4px 2px 16px; min-width: 0; }
.ng-search input[type="search"] { flex: 1; min-width: 0; height: 44px; border: 0; background: transparent; outline: none; font-size: 15px; }
.ng-search input::placeholder { color: var(--ng-muted); }
.ng-search__btn { width: 40px; height: 40px; border: 0; background: var(--ng-accent); color: var(--ng-on-accent); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.ng-search--block { max-width: 560px; margin: 16px 0 24px; }

/* Menú móvil ---------------------------------------------------------------- */
.ng-drawer { position: fixed; inset: 0; z-index: 90; }
.ng-drawer[hidden] { display: none; }
.ng-drawer__backdrop { position: absolute; inset: 0; background: rgba(11,16,51,.55); }
.ng-drawer__panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(86vw, 360px); background: var(--ng-surf); overflow-y: auto; padding: 12px 20px 28px; box-shadow: 20px 0 50px rgba(0,0,0,.25); }
.ng-drawer__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid var(--ng-border); margin-bottom: 8px; }
.ng-drawer__menu { list-style: none; margin: 0; padding: 0; }
.ng-drawer__menu a { display: block; padding: 14px 0; border-bottom: 1px solid var(--ng-border); font-family: var(--ng-display); font-size: 26px; letter-spacing: .03em; text-transform: uppercase; }
.ng-drawer__menu .sub-menu { list-style: none; margin: 0; padding: 0 0 0 14px; }
.ng-drawer__menu .sub-menu a { font-family: var(--ng-body); font-size: 15px; text-transform: none; padding: 10px 0; }
.ng-drawer__links { display: grid; gap: 6px; margin-top: 18px; }
.ng-drawer__links a { display: flex; gap: 10px; align-items: center; min-height: 44px; font-weight: 600; }

/* Portada de inicio ---------------------------------------------------------- */
.ng-hero { background: var(--ng-dark); color: #fff; }
.ng-hero__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; padding-top: 72px; padding-bottom: 72px; }
.ng-hero__title { font-size: 104px; color: #fff; margin: 0; }
.ng-hero__lead { margin: 18px 0 0; font-size: 18px; color: #C9CCD6; max-width: 520px; }
.ng-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ng-hero__art { justify-self: end; width: 100%; max-width: 380px; }
.ng-hero__product { position: relative; display: block; }
.ng-hero__img { width: 100%; height: auto; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.ng-hero__badge { position: absolute; top: 12px; left: 12px; }

/* Confianza ---------------------------------------------------------------- */
.ng-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding-top: 32px; }
.ng-trust__item { display: flex; gap: 12px; align-items: center; background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 18px 20px; }
.ng-trust__icon { width: 44px; height: 44px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--ng-surf2); }
.ng-trust__title { margin: 0; font-weight: 700; font-size: 15px; }
.ng-trust__text { margin: 2px 0 0; font-size: 13px; color: var(--ng-muted); }

/* Plataformas ---------------------------------------------------------------- */
.ng-platforms { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.ng-platform__name { overflow-wrap: break-word; }
.ng-platform { display: flex; flex-direction: column; justify-content: space-between; min-height: 150px; padding: 22px; color: #fff; background: var(--ng-tile-0); transition: transform .18s ease; }
.ng-platform:hover { transform: translateY(-4px); text-decoration: none; color: #fff; }
.ng-platform--1 { background: var(--ng-tile-1); }
.ng-platform--2 { background: var(--ng-tile-2); }
.ng-platform--3 { background: var(--ng-tile-3); }
.ng-platform--4 { background: var(--ng-tile-4); }
.ng-platform__name { font-size: 40px; }
.ng-platform__more { display: flex; gap: 6px; align-items: center; font-size: 14px; font-weight: 600; }

/* Grilla de productos y tarjetas -------------------------------------------- */
ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px var(--ng-gap); }
ul.products::before, ul.products::after { display: none; }
.ng-card { display: flex; flex-direction: column; gap: 10px; min-width: 0; margin: 0; }
.ng-card__media { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--ng-dark); border: 1px solid var(--ng-border); }
.ng-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.ng-card:hover .ng-card__media img { transform: scale(1.04); }
.ng-card__badges { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; justify-content: space-between; gap: 8px; pointer-events: none; }
.ng-card__out { position: absolute; inset: auto 0 0 0; background: rgba(11,16,51,.85); color: #fff; text-align: center; font-weight: 700; font-size: 13px; padding: 6px; }
.ng-card__body { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ng-card__title { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; }
.ng-card__title a:hover { color: var(--ng-accent); }
.ng-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.ng-card__add { flex-shrink: 0; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: var(--ng-accent); color: var(--ng-on-accent); }
.ng-card__add:hover { background: var(--ng-accent-hover); color: var(--ng-on-accent); text-decoration: none; }
.ng-card__add.loading { opacity: .6; }
.ng-card__add.added::after { content: none; }
.added_to_cart { display: none !important; }

.ng-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.ng-price__from { width: 100%; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ng-muted); }
.ng-price__now { font-family: var(--ng-display); font-size: 31px; line-height: 1; letter-spacing: .02em; color: var(--ng-text); }
.ng-price__now .woocommerce-Price-currencySymbol { font-size: .7em; margin-right: 1px; }
.ng-price__was { font-size: 14px; color: var(--ng-muted); }

/* Promoción, novedades, pasos, reseñas, boletín ------------------------------ */
.ng-promo { background: var(--ng-surf2); border: 1px solid var(--ng-border); padding: 48px; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.ng-promo__text { flex: 1 1 380px; }
.ng-promo__title { margin-bottom: 12px; }
.ng-promo__text p:last-child { margin: 0; font-size: 16px; max-width: 520px; }

.ng-new { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ng-gap); }
ul.products.ng-new__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ng-feature { display: grid; grid-template-columns: 1fr 1fr; background: var(--ng-surf); border: 1px solid var(--ng-border); }
.ng-feature__media { display: block; background: var(--ng-dark); min-height: 380px; }
.ng-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.ng-feature__body { padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.ng-feature__title { font-size: 52px; margin: 0; }
.ng-feature__desc { color: var(--ng-muted); font-size: 15px; }
.ng-feature__price { margin-top: auto; }
.ng-feature__price .ng-price__now { font-size: 44px; }

.ng-steps { list-style: none; margin: 0; padding: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; background: var(--ng-surf); border: 1px solid var(--ng-border); }
.ng-steps li { display: flex; gap: 16px; align-items: flex-start; }
.ng-steps strong { display: block; font-size: 17px; }
.ng-steps p { margin: 4px 0 0; color: var(--ng-muted); font-size: 15px; }
.ng-steps__n { font-size: 52px; color: var(--ng-accent); min-width: 48px; }
.ng-steps--stack { grid-template-columns: 1fr; padding: 0; border: 0; gap: 18px; }
.ng-steps--stack .ng-steps__n { font-size: 36px; min-width: 36px; }

.ng-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ng-gap); }
.ng-review { margin: 0; background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.ng-review__stars { color: var(--ng-accent); letter-spacing: 2px; }
.ng-review blockquote { margin: 0; font-size: 15px; }
.ng-review figcaption { font-size: 13px; color: var(--ng-muted); }

.ng-newsletter { background: var(--ng-surf2); border: 1px solid var(--ng-border); padding: 40px 48px; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.ng-newsletter > div:first-child { flex: 1 1 340px; }
.ng-newsletter p { margin: 8px 0 0; color: var(--ng-muted); }
.ng-newsletter__form { flex: 1 1 380px; }

/* Archivo / categoría -------------------------------------------------------- */
.ng-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--ng-muted); padding: 28px 0 0; }
.ng-crumbs a { color: var(--ng-muted); }
.ng-crumbs__sep { color: var(--ng-border-strong); }
.ng-archive__head { padding: 16px 0 24px; }
.ng-archive__title { font-size: 83px; margin: 0; }
.ng-archive__desc { color: var(--ng-muted); font-size: 17px; max-width: 680px; margin-top: 10px; }
.ng-archive__desc p:last-child { margin: 0; }
.ng-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.ng-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--ng-border-strong); border-radius: 999px; font-size: 14px; font-weight: 600; background: transparent; }
.ng-chip:hover { border-color: var(--ng-accent); color: var(--ng-accent); text-decoration: none; }
.ng-chip.is-active { background: var(--ng-accent); border-color: var(--ng-accent); color: var(--ng-on-accent); }
.ng-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid var(--ng-border); border-bottom: 1px solid var(--ng-border); margin-bottom: 24px; }
.ng-toolbar__left { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.woocommerce-result-count { margin: 0; color: var(--ng-muted); font-size: 14px; }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select, .ng-filters select { min-height: 44px; padding: 0 36px 0 12px; border: 1px solid var(--ng-border-strong); background: var(--ng-surf); font-size: 14px; }
.ng-filters { display: none; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 20px; margin-bottom: 24px; }
.ng-filters[data-open="true"] { display: grid; }
.ng-filter__title { font-size: 15px; font-weight: 700; margin: 0 0 10px; }
.ng-filter ul { list-style: none; margin: 0; padding: 0; }
.ng-filter li { padding: 4px 0; }

.woocommerce-pagination, .ng-pagination { margin-top: 40px; }
.woocommerce-pagination ul.page-numbers, .ng-pagination .nav-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; border: 0; }
.woocommerce-pagination ul.page-numbers li { border: 0; }
.page-numbers { min-width: 44px; height: 44px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ng-border-strong); font-weight: 700; background: var(--ng-surf); }
.page-numbers.current { background: var(--ng-accent); color: var(--ng-on-accent); border-color: var(--ng-accent); }
.page-numbers.dots { border: 0; background: transparent; }
a.page-numbers:hover { border-color: var(--ng-accent); text-decoration: none; }

/* Ficha de producto ----------------------------------------------------------- */
.ng-pdp__band { position: relative; overflow: hidden; background: var(--ng-surf2); border-top: 1px solid var(--ng-border); border-bottom: 1px solid var(--ng-border); margin-top: 24px; }
.ng-pdp__bandbg { display: none; }
.ng-pdp__bandgrid { position: relative; display: grid; grid-template-columns: 340px 1fr; gap: 48px; align-items: end; padding-top: 56px; padding-bottom: 56px; }
.ng-pdp__coverframe { position: relative; box-shadow: 0 30px 80px rgba(11,16,51,.35); background: var(--ng-dark); }
.ng-pdp__img { width: 100%; height: auto; }
.ng-pdp__badge { position: absolute; top: 12px; left: 12px; }
.ng-pdp__reflection { display: none; }
.ng-pdp__bigtitle { font-size: 120px; margin: 0; word-break: break-word; }
.ng-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 96px)); gap: 12px; margin-top: 32px; }
.ng-thumb { padding: 0; border: 2px solid transparent; background: var(--ng-dark); cursor: pointer; aspect-ratio: 1; overflow: hidden; opacity: .75; }
.ng-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ng-thumb.is-active, .ng-thumb:hover { border-color: var(--ng-accent); opacity: 1; }

.ng-pdp__main { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 48px; align-items: start; padding-top: 48px; }
.ng-pdp__content { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.ng-pdp__buy { position: sticky; top: 100px; background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.admin-bar .ng-pdp__buy { top: 132px; }
.ng-pdp__title { font-size: 47px; margin: 0; }
.ng-pdp__buy .price { font-family: var(--ng-display); font-size: 44px; line-height: 1; margin: 0; color: var(--ng-text); display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.ng-pdp__buy .price del { font-family: var(--ng-body); font-size: 16px; color: var(--ng-muted); order: 2; }
.ng-pdp__buy .price ins { text-decoration: none; }
.ng-pdp__buy .woocommerce-product-details__short-description { color: var(--ng-muted); font-size: 15px; }
.ng-pdp__buy .woocommerce-product-details__short-description p:last-child { margin: 0; }
.ng-pdp__buy form.cart { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.ng-pdp__buy form.cart:not(.variations_form), .woocommerce-variation-add-to-cart { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; }
.ng-pdp__buy .single_add_to_cart_button { flex: 1 1 200px; min-height: 56px; font-size: 16px; }
.ng-pdp__buy .product_meta { font-size: 13px; color: var(--ng-muted); display: grid; gap: 4px; border-top: 1px solid var(--ng-border); padding-top: 14px; }
.ng-pdp__buy .product_meta a { color: var(--ng-muted); }
.ng-pdp__buy .stock { font-weight: 700; font-size: 14px; color: var(--ng-ok); margin: 0; }
.ng-pdp__buy .stock.out-of-stock { color: var(--ng-sale); }

.quantity .qty { width: 72px; min-height: 56px; text-align: center; border: 1px solid var(--ng-border-strong); background: var(--ng-surf); }

table.variations { width: 100%; border-collapse: collapse; border: 0; margin: 0; }
table.variations tr { display: block; margin-bottom: 14px; }
table.variations th, table.variations td { display: block; padding: 0; border: 0; text-align: left; background: transparent; }
table.variations td.value { position: relative; }
table.variations select.ng-visually-hidden { left: 0; top: 0; }
table.variations th.label { margin-bottom: 8px; }
table.variations label { font-weight: 700; font-size: 15px; }
table.variations select { width: 100%; min-height: 48px; border: 1px solid var(--ng-border-strong); background: var(--ng-surf); padding: 0 12px; }
.reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--ng-muted); text-decoration: underline; }
.woocommerce-variation-price .price { font-size: 36px; }
.woocommerce-variation-description p { margin: 0; font-size: 14px; color: var(--ng-muted); }
.single_variation_wrap .woocommerce-variation { margin-bottom: 4px; }

.ng-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.ng-swatches--cards { flex-direction: column; gap: 10px; }
.ng-swatch {
	display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-align: left;
	min-height: 48px; padding: 12px 16px; border: 2px solid var(--ng-border-strong); background: var(--ng-surf);
	cursor: pointer; font-weight: 700; font-size: 15px; color: var(--ng-text);
}
.ng-swatches--cards .ng-swatch { width: 100%; padding: 14px 16px 14px 46px; position: relative; }
.ng-swatches--cards .ng-swatch::before { content: ''; position: absolute; left: 16px; top: 16px; width: 18px; height: 18px; border: 2px solid var(--ng-border-strong); border-radius: 50%; background: var(--ng-surf); }
.ng-swatch[aria-checked="true"] { border-color: var(--ng-accent); background: var(--ng-surf2); }
.ng-swatches--cards .ng-swatch[aria-checked="true"]::before { border-color: var(--ng-accent); box-shadow: inset 0 0 0 4px var(--ng-surf2); background: var(--ng-accent); }
.ng-swatch:hover:not([disabled]) { border-color: var(--ng-accent); }
.ng-swatch.is-disabled { opacity: .45; cursor: not-allowed; text-decoration: line-through; }
.ng-swatch__help { font-weight: 400; font-size: 13px; color: var(--ng-muted); line-height: 1.45; }

.ng-perks { list-style: none; margin: 0; padding: 16px 0 0; border-top: 1px solid var(--ng-border); display: grid; gap: 10px; font-size: 14px; }
.ng-perks li { display: flex; gap: 10px; align-items: center; }

.ng-box { background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 32px; }
.ng-box__title { font-size: 36px; margin: 0 0 18px; }
.ng-prose { font-size: 16px; line-height: 1.65; }
.ng-prose > :last-child { margin-bottom: 0; }
.ng-prose img { height: auto; }
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; font-size: 15px; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 12px 0; border-bottom: 1px solid var(--ng-border); text-align: left; vertical-align: top; }
.woocommerce-product-attributes th { width: 40%; color: var(--ng-muted); font-weight: 600; }
.woocommerce-product-attributes td p { margin: 0; }
.ng-faq { border-bottom: 1px solid var(--ng-border); padding: 14px 0; }
.ng-faq summary { cursor: pointer; font-weight: 700; font-size: 16px; min-height: 28px; }
.ng-faq p { margin: 10px 0 0; color: var(--ng-muted); }

.ng-pdp__after { padding-top: 24px; }
.ng-pdp__after > section > h2, .related > h2, .upsells > h2 { font-family: var(--ng-display); font-weight: 400; text-transform: uppercase; letter-spacing: .02em; font-size: 52px; line-height: .92; margin: 48px 0 24px; }

.ng-buybar { display: none; }

/* Reseñas de WooCommerce */
#reviews h2, .woocommerce-Reviews-title { font-family: var(--ng-display); font-weight: 400; text-transform: uppercase; font-size: 36px; line-height: .92; margin: 0 0 18px; }
#reviews .commentlist { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 16px; }
#reviews .comment_container { display: flex; gap: 12px; }
#reviews .avatar { width: 40px; height: 40px; border-radius: 50%; }
#reviews .meta { font-size: 13px; color: var(--ng-muted); margin: 0 0 4px; }
.comment-form label { display: block; font-weight: 600; margin-bottom: 6px; }
.comment-form-rating .stars a { color: var(--ng-accent); }
.star-rating { position: relative; display: inline-block; font-size: 15px; width: 5.4em; height: 1.2em; line-height: 1.2; overflow: hidden; font-family: Arial, sans-serif; letter-spacing: .1em; }
.star-rating::before { content: '\2606\2606\2606\2606\2606'; color: var(--ng-border-strong); position: absolute; left: 0; top: 0; }
.star-rating span { position: absolute; top: 0; left: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: '\2605\2605\2605\2605\2605'; color: var(--ng-accent); position: absolute; top: 0; left: 0; }
.woocommerce-product-rating { display: flex; gap: 8px; align-items: center; font-size: 14px; }
p.stars a { display: inline-block; width: 1.2em; overflow: hidden; text-indent: -999em; position: relative; }
p.stars a::before { content: '\2606'; position: absolute; left: 0; top: 0; text-indent: 0; color: var(--ng-accent); }
p.stars a:hover ~ a::before { content: '\2606'; }
p.stars:hover a::before, p.stars.selected a::before { content: '\2605'; }
p.stars.selected a.active ~ a::before, p.stars:hover a:hover ~ a::before { content: '\2606'; }

/* Formularios, avisos, carrito, pago, mi cuenta ------------------------------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="url"], input[type="search"]:not(.ng-search input), textarea, select {
	min-height: 48px; padding: 10px 12px; border: 1px solid var(--ng-border-strong); background: var(--ng-surf); border-radius: 0; max-width: 100%;
}
textarea { min-height: 120px; width: 100%; }
.ng-search input[type="search"] { min-height: 0; padding: 0; border: 0; background: transparent; }
.form-row { margin: 0 0 16px; }
.form-row label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.form-row .input-text, .form-row select { width: 100%; }
.required { color: var(--ng-sale); text-decoration: none; }
.woocommerce-form-row--first, .form-row-first { float: none; }

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, .wc-block-components-notice-banner {
	list-style: none; margin: 0 0 20px; padding: 16px 20px; background: var(--ng-surf); border: 1px solid var(--ng-border); border-left: 4px solid var(--ng-accent);
	display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
}
.woocommerce-error { border-left-color: var(--ng-sale); flex-direction: column; align-items: flex-start; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 40px; order: 2; }

.ng-page { padding-top: 40px; padding-bottom: 40px; }
.ng-page--narrow { max-width: 860px; }
.ng-page__head { margin-bottom: 24px; }
.ng-page__title { font-size: 64px; margin: 0; }
.ng-page__media { margin-bottom: 24px; }
.ng-page--shop .ng-page__content { font-size: 15px; }

.shop_table { width: 100%; border-collapse: collapse; background: var(--ng-surf); border: 1px solid var(--ng-border); margin-bottom: 24px; }
.shop_table th, .shop_table td { padding: 14px 16px; border-bottom: 1px solid var(--ng-border); text-align: left; vertical-align: middle; }
.shop_table img { width: 64px; height: auto; }
.shop_table .product-remove a { font-size: 22px; color: var(--ng-sale); }
.cart-collaterals .cart_totals { max-width: 480px; margin-left: auto; }
.cart-collaterals h2, #order_review_heading, .woocommerce-billing-fields h3, .woocommerce-additional-fields h3 { font-family: var(--ng-display); font-weight: 400; text-transform: uppercase; font-size: 36px; line-height: .92; }
.coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.wc-proceed-to-checkout .button { width: 100%; }

.woocommerce-checkout .col2-set, .woocommerce .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
#payment { background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 20px; }
#payment ul.payment_methods { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 10px; }
#payment .payment_box { background: var(--ng-surf2); padding: 12px 16px; font-size: 14px; margin-top: 8px; }
#place_order { width: 100%; min-height: 56px; }

.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 32px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ng-border); background: var(--ng-surf); }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-bottom: 1px solid var(--ng-border); font-weight: 600; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ng-surf2); color: var(--ng-accent); }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }

/* Blog ------------------------------------------------------------------------ */
.ng-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px var(--ng-gap); }
.ng-post { background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 0 0 20px; }
.ng-post__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ng-post__title, .ng-post__meta, .ng-post__excerpt { padding: 0 20px; }
.ng-post__title { font-size: 20px; margin: 16px 0 6px; }
.ng-post__meta { font-size: 13px; color: var(--ng-muted); margin: 0 0 8px; }
.ng-404 { text-align: left; }
.ng-404__code { font-size: 200px; color: var(--ng-accent); margin: 0; }
.ng-comments { margin-top: 40px; }

/* Pie de página ---------------------------------------------------------------- */
.ng-footer { background: var(--ng-dark); color: #fff; margin-top: 80px; }
.ng-footer a { color: #C4C8D4; }
.ng-footer a:hover { color: #fff; }
.ng-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; padding-top: 56px; padding-bottom: 32px; }
.ng-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.ng-footer__brand p { margin: 0; color: #C4C8D4; font-size: 14px; max-width: 300px; }
.ng-footer__brand .ng-logo img { height: 40px; }
.ng-footer__social { display: flex; gap: 10px; }
.ng-footer__social a { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; color: #fff; }
.ng-footer__col h2 { font-size: 15px; font-weight: 700; margin: 0 0 12px; color: #fff; font-family: var(--ng-body); }
.ng-footer__col p { color: #C4C8D4; font-size: 14px; margin: 0; }
.ng-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 14px; }
.ng-footer__menu a { text-transform: none; letter-spacing: 0; font-weight: 400; padding: 0; color: #C4C8D4; }
.ng-footer__legal { border-top: 1px solid rgba(255,255,255,.12); padding-top: 18px; padding-bottom: 28px; font-size: 13px; color: #C4C8D4; }

.ng-whatsapp { position: fixed; right: 24px; bottom: 24px; width: 60px; height: 60px; border-radius: 999px; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 12px 30px rgba(0,0,0,.25); z-index: 50; }
.ng-whatsapp:hover { color: #fff; filter: brightness(1.05); }

/* ==========================================================================
   Tablet
   ========================================================================== */
@media (max-width: 1180px) {
	.ng-header__nav .ng-menu { gap: 4px 16px; }
	.ng-menu a { font-size: 13px; }
	.ng-platforms { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ng-new { grid-template-columns: 1fr; }
	.ng-pdp__main { grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; }
	.ng-pdp__bigtitle { font-size: 90px; }
	.ng-hero__title { font-size: 84px; }
}

@media (max-width: 960px) {
	:root { --ng-gutter: 20px; }
	.ng-header__nav { display: none; }
	.ng-header__menu { display: inline-flex; }
	.ng-header__bar { gap: 8px; min-height: 64px; }
	.ng-header__logo { flex: 1; display: flex; justify-content: center; }
	.ng-header__searchbtn, .ng-header__currency { display: none; }
	.ng-searchbar { display: block; border-top: 0; }
	.ng-searchbar__row { padding-top: 0; }
	.ng-searchbar__currency { display: block; }
	.ng-hero__grid { grid-template-columns: 1fr; padding-top: 40px; padding-bottom: 40px; }
	.ng-hero__art { justify-self: center; max-width: 280px; }
	.ng-trust { grid-template-columns: repeat(2, 1fr); }
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ng-steps, .ng-reviews, .ng-posts { grid-template-columns: 1fr; }
	.ng-pdp__main { grid-template-columns: 1fr; }
	.ng-pdp__buy { position: static; order: -1; }
	.ng-footer__grid { grid-template-columns: 1fr 1fr; }
	.ng-footer__brand { grid-column: 1 / -1; }
	.woocommerce-account .woocommerce, .woocommerce-checkout .col2-set, .woocommerce .col2-set { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Celular
   ========================================================================== */
@media (max-width: 640px) {
	:root { --ng-gutter: 16px; --ng-gap: 12px; }
	.admin-bar .ng-header { top: 0; }
	.ng-section { padding-top: 40px; }
	.ng-h2 { font-size: 34px; }
	.ng-logo img, .custom-logo { height: 34px; }
	.ng-hero__title { font-size: 57px; }
	.ng-hero__lead { font-size: 16px; }
	.ng-hero__ctas .ng-btn { width: 100%; }
	.ng-hero__art { max-width: 220px; }
	.ng-trust { gap: 10px; padding-top: 20px; }
	.ng-trust__item { flex-direction: column; align-items: flex-start; padding: 14px; }
	.ng-platforms { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ng-platform__name { overflow-wrap: break-word; }
	.ng-platform { min-height: 96px; padding: 16px; }
	.ng-platform:first-child { grid-column: span 2; }
	.ng-platform__name { font-size: 28px; }
	ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
	.ng-card__title { font-size: 14px; }
	.ng-price__now { font-size: 26px; }
	.ng-card__add { width: 40px; height: 40px; }
	.ng-promo, .ng-newsletter { padding: 28px 20px; }
	.ng-promo .ng-btn { width: 100%; }
	.ng-feature { grid-template-columns: 1fr; }
	.ng-feature__media { min-height: 0; aspect-ratio: 4 / 3; }
	.ng-feature__body { padding: 20px; }
	.ng-feature__title { font-size: 40px; }
	.ng-steps { padding: 24px 20px; gap: 20px; }

	.ng-crumbs { padding-top: 16px; font-size: 13px; }
	.ng-archive__title { font-size: 52px; }
	.ng-archive__desc { font-size: 15px; }
	.ng-chips { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(var(--ng-gutter) * -1); padding-right: var(--ng-gutter); scrollbar-width: none; }
	.ng-chip { flex-shrink: 0; white-space: nowrap; }
	.ng-toolbar { position: sticky; top: 112px; z-index: 5; background: var(--ng-bg); }
	.ng-toolbar__left, .ng-toolbar__right { width: 100%; }
	.ng-toolbar__right .woocommerce-ordering, .ng-toolbar__right select { width: 100%; }

	/* Ficha: portada grande con fondo espejo difuminado y reflejo */
	.ng-pdp__band { margin-top: 12px; background: #0B1033; border: 0; }
	.ng-pdp__bandbg {
		display: block; position: absolute; inset: -40px;
		background-image: var(--ng-cover); background-size: cover; background-position: center;
		transform: scaleX(-1); filter: blur(26px) brightness(.55) saturate(1.2);
	}
	.ng-pdp__bandgrid { grid-template-columns: 1fr; gap: 0; padding-top: 28px; padding-bottom: 20px; justify-items: center; }
	.ng-pdp__cover { width: 300px; max-width: 80vw; }
	.ng-pdp__coverframe { box-shadow: 0 24px 60px rgba(0,0,0,.6); }
	.ng-pdp__reflection {
		display: block; width: 100%; height: 90px; object-fit: cover; object-position: bottom; margin-top: 4px;
		transform: scaleY(-1); opacity: .45; filter: blur(2px);
		-webkit-mask-image: linear-gradient(to top, rgba(0,0,0,.9), transparent); mask-image: linear-gradient(to top, rgba(0,0,0,.9), transparent);
	}
	.ng-pdp__bandtext { width: 100%; }
	.ng-pdp__bandtext .ng-eyebrow, .ng-pdp__bigtitle { display: none; }
	.ng-thumbs { margin-top: -58px; position: relative; justify-content: center; grid-template-columns: repeat(auto-fit, 64px); gap: 10px; }
	.ng-thumb { border-color: rgba(255,255,255,.25); }
	.ng-thumb.is-active { border-color: #fff; }
	.ng-pdp__main { padding-top: 8px; gap: 16px; }
	.ng-pdp__buy { border: 0; background: transparent; padding: 16px 0 0; }
	.ng-pdp__title { font-size: 44px; }
	.ng-box { padding: 20px; }
	.ng-box__title { font-size: 29px; }
	.ng-pdp__after > section > h2, .related > h2, .upsells > h2 { font-size: 34px; margin: 32px 0 16px; }
	.ng-buybar {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; gap: 12px; align-items: center;
		background: var(--ng-surf); border-top: 1px solid var(--ng-border); padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		transform: translateY(110%); transition: transform .25s ease;
	}
	.ng-buybar.is-visible { transform: none; }
	.ng-buybar__price { flex: 1; min-width: 0; }
	.ng-buybar .ng-price__from { display: none; }
	.single-product .ng-whatsapp { bottom: 96px; }

	.ng-page__title { font-size: 44px; }
	.ng-footer { margin-top: 56px; }
	.ng-footer__grid { padding-top: 36px; gap: 28px 20px; }
	.ng-whatsapp { right: 16px; bottom: 16px; width: 56px; height: 56px; }
	.shop_table_responsive thead { display: none; }
	.shop_table_responsive tr { display: block; border-bottom: 1px solid var(--ng-border); }
	.shop_table_responsive td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 8px 16px; }
	.shop_table_responsive td::before { content: attr(data-title); font-weight: 600; color: var(--ng-muted); }
	.shop_table_responsive td.product-thumbnail::before, .shop_table_responsive td.actions::before { content: none; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Selector de moneda WOOCS en el encabezado */
.ng-currency--plugin .woocs_auto_switcher, .ng-currency--plugin .chosen-container { min-width: 0; }
.ng-currency--plugin select.woocommerce-currency-switcher, .ng-currency--plugin .woocommerce-currency-switcher-form select {
	min-height: 44px; padding: 0 32px 0 12px; border: 1px solid var(--ng-border); background: var(--ng-surf); font-size: 14px; font-weight: 600; max-width: 140px;
}
.ng-currency--plugin .woocommerce-currency-switcher-form { margin: 0; }
.ng-currency--plugin .dd-select { border-radius: 0 !important; border-color: var(--ng-border) !important; background: var(--ng-surf) !important; }
.ng-searchbar__currency .ng-currency--plugin select.woocommerce-currency-switcher { max-width: 110px; }

/* v1.0.2 — Menú en una sola fila */
.ng-header__nav .ng-menu { flex-wrap: nowrap; overflow: hidden; gap: 0 22px; }
.ng-header__nav .ng-menu > li { flex-shrink: 0; }
.ng-header__nav .ng-menu a { white-space: nowrap; }
@media (max-width: 1280px) {
	.ng-header__nav .ng-menu { gap: 0 16px; }
	.ng-header__nav .ng-menu a { font-size: 13px; letter-spacing: .05em; }
}

/* v1.0.2 — Selector de FOX (ddslick) compacto: solo código y símbolo */
.ng-currency--plugin .dd-container { width: auto !important; }
.ng-currency--plugin .dd-select { width: auto !important; min-width: 96px; background: var(--ng-surf) !important; border: 1px solid var(--ng-border) !important; border-radius: 0 !important; }
.ng-currency--plugin .dd-selected { display: flex !important; align-items: center; gap: 8px; min-height: 42px; padding: 0 34px 0 12px !important; font-size: 14px; font-weight: 700; color: var(--ng-text); overflow: hidden; }
.ng-currency--plugin .dd-selected-text, .ng-currency--plugin .dd-option-text { line-height: 1.2 !important; margin: 0 !important; cursor: pointer; color: var(--ng-text) !important; font-weight: 700; }
.ng-currency--plugin .dd-selected-description, .ng-currency--plugin .dd-option-description,
.ng-currency--plugin .dd-selected-image, .ng-currency--plugin .dd-option-image { display: none !important; }
.ng-currency--plugin .dd-pointer { right: 12px !important; }
.ng-currency--plugin .dd-options { width: 180px !important; right: 0; left: auto !important; border: 1px solid var(--ng-border) !important; border-radius: 0 !important; box-shadow: 0 20px 40px rgba(11,16,51,.12) !important; z-index: 60 !important; max-height: 60vh; overflow-y: auto; }
.ng-currency--plugin .dd-option { padding: 12px 14px !important; border-bottom: 1px solid var(--ng-border) !important; }
.ng-currency--plugin .dd-option:hover, .ng-currency--plugin .dd-option-selected { background: var(--ng-surf2) !important; }
.ng-currency--plugin .dd-option-text { font-size: 14px; }
.ng-currency--plugin label.dd-option-text, .ng-currency--plugin label.dd-selected-text { display: block; }
.ng-currency--plugin .woocs_price_info, .ng-currency--plugin .woocs-style-1-dropdown-description { display: none !important; }

/* v1.0.2 — En celular: buscador ancho y selector de moneda compacto */
.ng-searchbar__row .ng-search { flex: 1 1 auto; min-width: 0; }
.ng-searchbar__currency { flex: 0 0 auto; max-width: 120px; }
.ng-searchbar__currency .ng-currency--plugin .dd-select { min-width: 84px; }
.ng-searchbar__currency .ng-currency--plugin .dd-selected { min-height: 46px; padding-right: 28px !important; }
.ng-searchbar__currency .ng-currency--plugin .dd-pointer { right: 10px !important; }
.ng-header__nav .ng-menu > li[hidden] { display: none; }

/* v1.0.3 — Carrusel de banners de la portada */
.ng-slider { position: relative; background: var(--ng-dark); }
.ng-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; max-width: 1920px; margin: 0 auto; }
.ng-slider__track::-webkit-scrollbar { display: none; }
.ng-slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.ng-slide__link, .ng-slide picture { display: block; }
.ng-slide img { width: 100%; height: auto; display: block; }
.ng-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border: 0; cursor: pointer;
	background: rgba(11,16,51,.55); color: #fff; display: flex; align-items: center; justify-content: center; transition: background .15s ease;
}
.ng-slider__arrow:hover { background: var(--ng-accent); }
.ng-slider__arrow--prev { left: 16px; }
.ng-slider__arrow--next { right: 16px; }
.ng-slider__dots { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; justify-content: center; gap: 6px; }
.ng-slider__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.55); cursor: pointer; transition: width .2s ease, background .2s ease; }
.ng-slider__dot.is-active { width: 28px; background: var(--ng-surf); }
.ng-slider__dot::before { content: ''; display: block; margin: -17px; width: 44px; height: 44px; }
@media (max-width: 640px) {
	.ng-slider__arrow { display: none; }
	.ng-slider__dots { bottom: 8px; }
}

/* v1.0.4 — Imágenes en "Explora por plataforma" */
.ng-platform { position: relative; overflow: hidden; isolation: isolate; }
.ng-platform.has-img { min-height: 200px; }
.ng-platform__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; z-index: -2; transition: transform .35s ease; }
.ng-platform.has-img::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--ng-tile-bg, var(--ng-tile-0)) 0%, var(--ng-tile-bg, var(--ng-tile-0)) 30%, rgba(11,16,51,.15) 100%); opacity: .92; }
.ng-platform:hover .ng-platform__img { transform: scale(1.05); }
.ng-platform--0 { --ng-tile-bg: var(--ng-tile-0); }
.ng-platform--1 { --ng-tile-bg: var(--ng-tile-1); }
.ng-platform--2 { --ng-tile-bg: var(--ng-tile-2); }
.ng-platform--3 { --ng-tile-bg: var(--ng-tile-3); }
.ng-platform--4 { --ng-tile-bg: var(--ng-tile-4); }
.ng-platform__name, .ng-platform__more { text-shadow: 0 2px 12px rgba(0,0,0,.35); max-width: 75%; }
@media (max-width: 640px) {
	.ng-platform.has-img { min-height: 120px; }
	.ng-platform:first-child.has-img { min-height: 150px; }
}
.ng-platform__name, .ng-platform__more { max-width: none; }
.ng-platform__name { overflow-wrap: normal !important; word-break: normal; hyphens: none; }
.ng-platform__name { font-size: clamp(30px, 2.8vw, 40px); }
@media (max-width: 640px) { .ng-platform__name { font-size: 26px; } .ng-platform:first-child .ng-platform__name { font-size: 32px; } }

/* v1.0.5 — Ficha de producto: fondo con la portada difuminada también en computadora */
.ng-pdp__band { background: #0B1033; border: 0; }
.ng-pdp__bandbg {
	display: block; position: absolute; inset: -60px;
	background-image: var(--ng-cover); background-size: cover; background-position: center;
	transform: scaleX(-1); filter: blur(40px) brightness(.45) saturate(1.3);
}
.ng-pdp__band::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,16,51,.15) 0%, rgba(11,16,51,.55) 100%); pointer-events: none; }
.ng-pdp__bandgrid { z-index: 1; }
.ng-pdp__band .ng-eyebrow { color: var(--ng-hero-eyebrow); }
.ng-pdp__bigtitle { color: #FFFFFF; text-shadow: 0 6px 40px rgba(0,0,0,.35); }
.ng-pdp__coverframe { box-shadow: 0 30px 80px rgba(0,0,0,.55); }
.ng-pdp__reflection {
	display: block; width: 100%; height: 90px; object-fit: cover; object-position: bottom; margin-top: 4px;
	transform: scaleY(-1); opacity: .4; filter: blur(2px);
	-webkit-mask-image: linear-gradient(to top, rgba(0,0,0,.9), transparent); mask-image: linear-gradient(to top, rgba(0,0,0,.9), transparent);
}
.ng-pdp__bandgrid { padding-bottom: 32px; }
.ng-thumb { border-color: rgba(255,255,255,.25); }
.ng-thumb.is-active, .ng-thumb:hover { border-color: #FFFFFF; }
@media (min-width: 641px) { .ng-pdp__bandtext { padding-bottom: 90px; } }

/* v1.0.7 — Side Cart (XootiX) con el diseño M+C */
.xoo-wsc-basket, .xoo-wsc-sc-cont .xoo-wsc-basket { display: none !important; }
.xoo-wsc-modal, .xoo-wsc-container, .xoo-wsc-slider { font-family: var(--ng-body) !important; color: var(--ng-text); }
.xoo-wsc-container { box-shadow: -20px 0 50px rgba(11,16,51,.18) !important; }
.xoo-wsc-header { background: var(--ng-surf) !important; color: var(--ng-text) !important; }
.xoo-wsch-text, .xoo-wsc-header .xoo-wsch-text { font-family: var(--ng-display) !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .02em; line-height: 1 !important; }
.xoo-wsch-close, .xoo-wsc-header [class*="icon-del"] { color: var(--ng-text) !important; }
.xoo-wsc-header .xoo-wsc-items-count, .xoo-wsch-basket .xoo-wsch-bki { background: var(--ng-sale) !important; color: #fff !important; }
.xoo-wsc-body, .xoo-wsc-products { background: var(--ng-bg) !important; }
.xoo-wsc-product { border-radius: 0 !important; }
.xoo-wsc-pname, .xoo-wsc-pname a, .xoo-wsc-sp-title, .xoo-wsc-sp-title a, .xoo-wsc-sl-title, .xoo-wsc-sl-title a { color: var(--ng-text) !important; font-weight: 700 !important; text-decoration: none !important; line-height: 1.3; }
.xoo-wsc-pname a:hover, .xoo-wsc-sp-title a:hover { color: var(--ng-accent) !important; }
.xoo-wsc-pprice, .xoo-wsc-ptotal, .xoo-wsc-sp-price, .xoo-wsc-product .amount { color: var(--ng-text) !important; }
.xoo-wsc-product del, .xoo-wsc-product del .amount, .xoo-wsc-sp-price del .amount { color: var(--ng-muted) !important; font-weight: 400; }
.xoo-wsc-product ins, .xoo-wsc-sp-price ins { text-decoration: none !important; }
.xoo-wsc-product .variation, .xoo-wsc-product dl, .xoo-wsc-pmeta { color: var(--ng-muted) !important; font-size: 12px; }
.xoo-wsc-smr-del, .xoo-wsc-product [class*="icon-trash"] { color: var(--ng-muted) !important; }
.xoo-wsc-smr-del:hover, .xoo-wsc-product [class*="icon-trash"]:hover { color: var(--ng-sale) !important; }
.xoo-wsc-qty-box, .xoo-wsc-qty-box input { border-radius: 0 !important; }
.xoo-wsc-sp-container, .xoo-wsc-sp-slider, .xoo-wsc-sp-wrap { background: var(--ng-bg) !important; }
.xoo-wsc-sp-heading, .xoo-wsc-sp-container > span, .xoo-wsc-sl-heading { font-family: var(--ng-display) !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .02em; color: var(--ng-text) !important; font-size: 24px !important; line-height: 1 !important; }
.xoo-wsc-sp-product { border-radius: 0 !important; }
.xoo-wsc-sp-product img, .xoo-wsc-img-col img, .xoo-wsc-product img { border-radius: 0 !important; }
.xoo-wsc-footer { background: var(--ng-surf) !important; color: var(--ng-text) !important; }
.xoo-wsc-ft-totals .xoo-wsc-ft-amt-label, .xoo-wsc-ft-amt-label { color: var(--ng-muted) !important; }
.xoo-wsc-ft-amt-total, .xoo-wsc-ft-amt-total .xoo-wsc-ft-amt-label, .xoo-wsc-ft-amt-total .amount { font-weight: 800 !important; color: var(--ng-text) !important; font-size: 16px; }
.xoo-wsc-ft-totals { border-color: var(--ng-border) !important; }
.xoo-wsc-ft-btn, .xoo-wsc-btn { border-radius: 0 !important; font-weight: 700 !important; letter-spacing: 0 !important; text-decoration: none !important; }
.xoo-wsc-ft-btn-checkout { font-size: 16px !important; min-height: 52px; }
.xoo-wsc-empty-cart, .xoo-wsc-empty-cart span { color: var(--ng-text) !important; }
.xoo-wsc-coupon, .xoo-wsc-coupon-trigger, .xoo-wsc-cp-container { color: var(--ng-text) !important; }
/* (v2.0.8) Sin max-width:100vw: el plugin ya limita el ancho del carrito y de sus cajones; quitarle ese límite
   hacía que, cerrados, se asomaran por la derecha. */

/* v1.0.8 — Ajustes finos del carrito lateral */
.xoo-wsc-container *, .xoo-wsc-pname, .xoo-wsc-pname a, .xoo-wsc-sp-title, .xoo-wsc-sp-title a, .xoo-wsc-product * {
	word-break: normal !important; overflow-wrap: break-word !important; hyphens: none !important;
}
.xoo-wsch-text { white-space: nowrap; }
@media (max-width: 640px) { .xoo-wsch-text { font-size: 30px !important; } }
.xoo-wsc-qty-box input, .xoo-wsc-qty-box input[type="number"], .xoo-wsc-qty-box .xoo-wsc-qty {
	min-height: 0 !important; height: auto !important; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: center; max-width: 40px;
}
.xoo-wsc-qty-box { align-items: center; }
.xoo-wsc-sp-heading, .xoo-wsc-sp-drawer-heading, .xoo-wsc-drawer .xoo-wsc-sp-heading, .xoo-wsc-sp-wrap > span, .xoo-wsc-sp-wrap h2, .xoo-wsc-drawer-cont > span, .xoo-wsc-sp-head, .xoo-wsc-sp-txt {
	font-family: var(--ng-display) !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .02em; color: var(--ng-text) !important; line-height: 1 !important;
}
.ng-sc-heading { font-family: var(--ng-display) !important; font-weight: 400 !important; text-transform: uppercase !important; letter-spacing: .02em !important; color: var(--ng-text) !important; font-size: 26px !important; line-height: 1 !important; }

/* v1.1.2 — Carrito y pago (bloques de WooCommerce) con el diseño M+C */
.wc-block-cart, .wc-block-checkout { font-family: var(--ng-body); color: var(--ng-text); }
.wc-block-components-product-name { font-weight: 700 !important; font-size: 15px !important; color: var(--ng-text) !important; text-decoration: none !important; }
.wc-block-components-product-name:hover { color: var(--ng-accent) !important; }
.wc-block-components-product-metadata, .wc-block-components-product-details { color: var(--ng-muted); font-size: 13px; }
.wc-block-components-quantity-selector { border-radius: 0 !important; border-color: var(--ng-border-strong) !important; }
.wc-block-components-quantity-selector::after { border-radius: 0 !important; }
.wc-block-components-quantity-selector input { min-height: 0 !important; border: 0 !important; background: transparent !important; }
.wc-block-components-sale-badge { background: var(--ng-sale) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font-weight: 700; }
.wc-block-components-product-price del, .wc-block-components-product-price__regular { color: var(--ng-muted); }
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select select, .wc-block-components-address-form select {
	border-radius: 0 !important; border-color: var(--ng-border-strong) !important; background: var(--ng-surf) !important; min-height: 0;
}
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--ng-accent) !important; box-shadow: 0 0 0 1px var(--ng-accent) !important; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: 0 !important; background: var(--ng-accent) !important; color: var(--ng-on-accent) !important; font-weight: 700 !important; min-height: 56px; }
.wc-block-components-button:not(.is-link):hover { background: var(--ng-accent-hover) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--ng-display) !important; font-weight: 400 !important; font-size: 30px !important; letter-spacing: .02em; text-transform: uppercase; }
.wc-block-cart .wc-block-cart__totals-title, .wc-block-components-checkout-step__title, .wc-block-components-checkout-order-summary__title-text, .wc-block-components-title {
	font-family: var(--ng-display) !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .02em; font-size: 26px !important; line-height: 1 !important;
}
.wp-block-woocommerce-checkout-order-summary-block, .wc-block-components-sidebar-layout .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block { border-radius: 0 !important; border-color: var(--ng-border) !important; background: var(--ng-surf); }
.wc-block-components-order-summary-item__quantity { background: var(--ng-dark) !important; color: #fff !important; border: 0 !important; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option { border-radius: 0 !important; }
.wc-block-components-notice-banner { border-radius: 0 !important; }
.wc-block-cart-items__header, .wc-block-cart-items th { color: var(--ng-muted); font-weight: 700; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 0; }

/* v1.1.4 — Carrito/pago: sin descripción duplicada de la variación y sin desbordes en celular */
.wc-block-components-product-metadata__description { display: none !important; }
.wc-block-cart, .wc-block-checkout, .wc-block-components-sidebar-layout { max-width: 100%; overflow-x: clip; }
.wc-block-cart-items, .wc-block-cart-items tbody, .wc-block-cart-items tr { max-width: 100%; }
.wc-block-cart-item__total-price-and-sale-badge-wrapper { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.wc-block-components-sale-badge { white-space: normal !important; text-align: center; line-height: 1.25; max-width: 100%; }
.wc-block-components-order-summary-item__description { min-width: 0; }
.wc-block-components-order-summary-item .wc-block-components-product-name { font-size: 14px !important; line-height: 1.3; }
@media (max-width: 700px) {
  /* En celular el precio ya aparece debajo del nombre: quitamos la columna de total para que no se salga de la pantalla */
  .wc-block-cart-items .wc-block-cart-item__total { display: none !important; }
  .wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 72px minmax(0, 1fr) !important; column-gap: 14px !important; }
  .wc-block-cart-items .wc-block-cart-item__product { min-width: 0; }
  .wc-block-cart-item__prices .wc-block-components-sale-badge, .wc-block-cart-item__product .wc-block-components-sale-badge { display: inline-block; margin-top: 4px; }
  .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 24px !important; }
}

/* v1.1.5 — Pago clásico ([woocommerce_checkout]) con el mismo look del pago en bloques */
form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; column-gap: 48px; align-items: start; }
form.woocommerce-checkout > * { grid-column: 1; }
form.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
form.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 22px 22px 14px; background: var(--ng-surf); border: 1px solid var(--ng-border); border-bottom: 0; font-size: 30px; }
form.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 100px; background: var(--ng-surf); border: 1px solid var(--ng-border); border-top: 0; padding: 0 22px 22px; }
.woocommerce-checkout #customer_details.col2-set { display: block; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout .woocommerce-billing-fields h3, .woocommerce-checkout .woocommerce-additional-fields h3 { font-size: 30px; margin: 0 0 16px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { grid-column: 1 / -1; margin: 0 0 14px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first { grid-column: 1; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 2; }
.woocommerce-checkout .form-row label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--ng-text); }
.woocommerce-checkout .form-row .required { color: var(--ng-sale); text-decoration: none; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .form-row select, .woocommerce-checkout .select2-container .select2-selection--single { width: 100%; min-height: 50px; border: 1px solid var(--ng-border-strong, #C9D0E3); border-radius: 0; background: var(--ng-surf); padding: 12px 14px; font: inherit; font-size: 15px; color: var(--ng-text); box-sizing: border-box; }
.woocommerce-checkout .select2-container .select2-selection--single { display: flex; align-items: center; padding: 0 14px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.3; color: var(--ng-text); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; right: 8px; }
.woocommerce-checkout .form-row input.input-text:focus, .woocommerce-checkout .form-row textarea:focus { outline: none; border-color: var(--ng-accent); box-shadow: 0 0 0 1px var(--ng-accent); }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 18px; }
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height: 90px; }
/* Resumen */
#order_review .shop_table { border: 0; margin: 0 0 18px; background: transparent; }
#order_review .shop_table th, #order_review .shop_table td { padding: 12px 0; border-bottom: 1px solid var(--ng-border); font-size: 14px; }
#order_review .shop_table thead { display: none; }
#order_review .shop_table td.product-total, #order_review .shop_table tfoot td { text-align: right; white-space: nowrap; }
#order_review .shop_table td.product-name { font-weight: 700; padding-right: 12px; }
#order_review .shop_table .product-quantity { color: var(--ng-accent); }
#order_review .shop_table tfoot .order-total th, #order_review .shop_table tfoot .order-total td { font-family: var(--ng-display); font-weight: 400; font-size: 30px; text-transform: uppercase; border-bottom: 0; padding-top: 16px; }
#order_review .shop_table tfoot .order-total td strong { font-weight: 400; }
#order_review .shop_table del { color: var(--ng-muted); font-weight: 400; }
#order_review .shop_table ins { text-decoration: none; }
/* Métodos de pago */
#payment { background: transparent; border: 0; padding: 0; }
#payment ul.payment_methods { gap: 0; border: 1px solid var(--ng-border); background: var(--ng-surf); }
#payment ul.payment_methods > li { border-bottom: 1px solid var(--ng-border); padding: 14px 14px; margin: 0; }
#payment ul.payment_methods > li:last-child { border-bottom: 0; }
#payment ul.payment_methods > li > label { display: inline; font-size: 14px; font-weight: 600; cursor: pointer; }
#payment ul.payment_methods > li > input[type=radio] { accent-color: var(--ng-accent); width: 18px; height: 18px; margin: 0 10px 0 0; vertical-align: -4px; }
#payment ul.payment_methods > li img { max-height: 22px; vertical-align: middle; margin-left: 6px; }
#payment .payment_box { margin: 12px 0 0; padding: 12px 14px; background: var(--ng-surf2); font-size: 13px; line-height: 1.55; color: var(--ng-text); }
#payment .payment_box p:last-child { margin-bottom: 0; }
#payment .place-order { padding: 0; margin: 0; }
#payment .woocommerce-privacy-policy-text, #payment .woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: var(--ng-muted); margin: 0 0 14px; }
#payment #place_order { width: 100%; min-height: 56px; border: 0; border-radius: 0; background: var(--ng-accent); color: var(--ng-on-accent); font-weight: 700; font-size: 16px; cursor: pointer; }
#payment #place_order:hover { background: var(--ng-accent-hover); }
.woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 18px; }
form.checkout_coupon { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 18px; padding: 16px; background: var(--ng-surf); border: 1px solid var(--ng-border); }
form.checkout_coupon p { margin: 0; }
form.checkout_coupon .form-row-first { flex: 1 1 220px; }
form.checkout_coupon input.input-text { width: 100%; min-height: 48px; border: 1px solid var(--ng-border-strong, #C9D0E3); padding: 0 12px; border-radius: 0; }
form.checkout_coupon button { min-height: 48px; border: 0; border-radius: 0; background: var(--ng-dark); color: #fff; font-weight: 700; padding: 0 20px; }
.blockUI.blockOverlay { background: rgba(10,11,30,.6) !important; }
@media (max-width: 960px) {
  form.woocommerce-checkout { display: block; }
  form.woocommerce-checkout #order_review_heading { margin-top: 28px; }
  form.woocommerce-checkout #order_review { position: static; }
}
@media (max-width: 560px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first, .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 1; }
  form.woocommerce-checkout #order_review_heading { padding: 18px 16px 10px; font-size: 26px; }
  form.woocommerce-checkout #order_review { padding: 0 16px 16px; }
}

/* v1.1.6 — Pago: métodos a la izquierda, sin datos de pago hasta confirmar; página de pedido recibido */
form.woocommerce-checkout { grid-template-areas: "details summaryhead" "details summary" "payment summary" "payment ."; grid-template-rows: auto auto auto 1fr; }
form.woocommerce-checkout #customer_details { grid-area: details; }
form.woocommerce-checkout .ng-co-payment { grid-area: payment; margin-top: 28px; }
form.woocommerce-checkout #order_review_heading { grid-area: summaryhead; }
form.woocommerce-checkout #order_review { grid-area: summary; align-self: start; }
.ng-co-payment__title { font-family: var(--ng-display); font-weight: 400; text-transform: uppercase; font-size: 30px; line-height: .92; margin: 0 0 6px; }
.ng-co-payment__hint { margin: 0 0 14px; color: var(--ng-muted); font-size: 14px; }
.ng-co-payment #payment ul.payment_methods { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 0; background: transparent; }
.ng-co-payment #payment ul.payment_methods > li { position: relative; background: var(--ng-surf); border: 1px solid var(--ng-border); margin: 0 -1px -1px 0; padding: 16px; display: flex; align-items: center; flex-wrap: wrap; cursor: pointer; }
.ng-co-payment #payment ul.payment_methods > li:has(input:checked) { border-color: var(--ng-accent); box-shadow: inset 0 0 0 1px var(--ng-accent); z-index: 1; background: rgba(255,235,0,.06); }
.ng-co-payment #payment ul.payment_methods > li > label { flex: 1; }
.ng-co-payment #payment ul.payment_methods > li:last-child { border-bottom: 1px solid var(--ng-border); }
.ng-co-payment #payment ul.payment_methods > li .payment_box { flex-basis: 100%; }
.ng-co-payment #payment ul.payment_methods > li.woocommerce-notice { grid-column: 1 / -1; }
/* Los datos de pago (cuentas, números…) se ven en la página del pedido, no aquí. Si el método pide datos (tarjeta, referencia), sí se muestra. */
/* (v1.1.12: la regla que oculta los datos de pago ahora la genera el tema solo para métodos sin formulario) */
.ng-co-payment #payment .place-order { margin-top: 18px; }
@media (max-width: 960px) {
  form.woocommerce-checkout { display: flex; flex-direction: column; }
  form.woocommerce-checkout #customer_details { order: 1; }
  form.woocommerce-checkout #order_review_heading { order: 2; }
  form.woocommerce-checkout #order_review { order: 3; }
  form.woocommerce-checkout .ng-co-payment { order: 4; }
}
@media (max-width: 560px) {
  .ng-co-payment #payment ul.payment_methods { grid-template-columns: 1fr; }
}

/* Pedido recibido */
.ng-thanks { max-width: 920px; margin: 0 auto; }
.ng-thanks__hero { display: flex; gap: 22px; align-items: flex-start; background: var(--ng-dark); color: #fff; padding: 34px 34px 30px; }
.ng-thanks__hero--failed { display: block; background: var(--ng-surf); color: var(--ng-text); border: 1px solid var(--ng-border); border-left: 4px solid var(--ng-sale); }
.ng-thanks__check { flex: 0 0 56px; height: 56px; display: grid; place-items: center; background: var(--ng-accent); color: var(--ng-on-accent); }
.ng-thanks__eyebrow { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9FB0FF; }
.ng-thanks__title { font-size: 52px; line-height: .95; margin: 0 0 12px; }
.ng-thanks__hero--failed .ng-thanks__title { color: var(--ng-sale); }
.ng-thanks__lead { margin: 0; font-size: 16px; line-height: 1.55; color: #D5DBF5; max-width: 620px; }
.ng-thanks__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.ng-thanks__meta { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); background: var(--ng-surf); border: 1px solid var(--ng-border); border-top: 0; }
.ng-thanks__meta li { padding: 16px 20px; border-right: 1px solid var(--ng-border); min-width: 0; }
.ng-thanks__meta li:last-child { border-right: 0; }
.ng-thanks__meta span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--ng-muted); margin-bottom: 4px; }
.ng-thanks__meta strong { display: block; font-size: 15px; overflow-wrap: break-word; }
.ng-thanks__steps { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 14px; }
.ng-thanks__step { display: flex; gap: 18px; background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 24px; }
.ng-thanks__num { flex: 0 0 44px; height: 44px; display: grid; place-items: center; background: var(--ng-accent); color: var(--ng-on-accent); font-family: var(--ng-display); font-size: 26px; line-height: 1; }
.ng-thanks__body { min-width: 0; flex: 1; }
.ng-thanks__h { font-size: 30px; margin: 4px 0 8px; }
.ng-thanks__p { margin: 0 0 14px; color: var(--ng-muted); line-height: 1.55; }
.ng-thanks__p strong { color: var(--ng-text); }
.ng-thanks__pay { background: var(--ng-surf2); padding: 18px 20px; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.ng-thanks__pay > *:last-child { margin-bottom: 0; }
.ng-thanks__pay h2, .ng-thanks__pay h3 { font-family: var(--ng-body); font-size: 15px; font-weight: 700; text-transform: none; margin: 0 0 8px; }
.ng-thanks__pay ul { list-style: none; padding: 0; margin: 0 0 10px; }
.ng-thanks__wa { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 26px; background: #25D366; color: #fff; font-weight: 700; font-size: 16px; text-decoration: none; }
.ng-thanks__wa:hover { background: #1DB954; color: #fff; }
.ng-thanks__wa--small { min-height: 46px; font-size: 14px; }
.ng-thanks__help { margin: 0 0 28px; }
.ng-thanks__details .woocommerce-order-details__title, .ng-thanks__details .woocommerce-column__title { font-family: var(--ng-display); font-weight: 400; text-transform: uppercase; font-size: 30px; margin: 0 0 12px; }
.ng-thanks__details .woocommerce-customer-details address { background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 18px 20px; font-style: normal; line-height: 1.6; }
.ng-thanks__details .woocommerce-columns--addresses { display: block; }
@media (max-width: 640px) {
  .ng-thanks__hero { flex-direction: column; gap: 14px; padding: 24px 18px; }
  .ng-thanks__check { flex-basis: auto; width: 48px; height: 48px; }
  .ng-thanks__title { font-size: 38px; }
  .ng-thanks__meta { grid-template-columns: 1fr 1fr; }
  .ng-thanks__meta li { border-bottom: 1px solid var(--ng-border); }
  .ng-thanks__step { padding: 18px 16px; gap: 12px; }
  .ng-thanks__num { flex-basis: 36px; height: 36px; font-size: 22px; }
  .ng-thanks__h { font-size: 26px; }
  .ng-thanks__wa { width: 100%; padding: 0 14px; }
}
@media (max-width: 960px) {
  form.woocommerce-checkout #order_review_heading, form.woocommerce-checkout #order_review { display: block; width: 100%; box-sizing: border-box; align-self: stretch; }
}

/* v1.1.8 — Botones de acciones del pedido separados */
.woocommerce-table--order-details td:has(> .woocommerce-button), .woocommerce-orders-table__cell-order-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-table--order-details .woocommerce-button, .woocommerce-orders-table__cell-order-actions .woocommerce-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; font-size: 14px; font-weight: 700; border-radius: 0; text-decoration: none; margin: 0; }
.woocommerce-button.pay { background: var(--ng-accent); color: var(--ng-on-accent); border: 1px solid var(--ng-accent); }
.woocommerce-button.pay:hover { background: var(--ng-accent-hover); color: var(--ng-on-accent); }
.woocommerce-button.cancel { background: var(--ng-surf); color: var(--ng-sale); border: 1px solid var(--ng-sale); }
.woocommerce-button.cancel:hover { background: var(--ng-sale); color: #fff; }
.woocommerce-button.view { background: var(--ng-surf); color: var(--ng-text); border: 1px solid var(--ng-border-strong); }
.ng-thanks__online { margin-bottom: 32px; border-left: 4px solid var(--ng-accent); }
.ng-thanks__online a:not(.ng-btn) { color: var(--ng-accent); font-weight: 600; }

.ng-thanks__contact { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; background: var(--ng-surf); border: 1px solid var(--ng-border); padding: 22px 24px; margin-bottom: 32px; }
.ng-thanks__contact .ng-thanks__p { margin: 0; }
.ng-thanks__contact .ng-thanks__h { margin-top: 0; }
@media (max-width: 640px) { .ng-thanks__contact { padding: 18px 16px; } }

/* ===== v1.1.16: redes, enlaces legales, contacto, páginas legales ===== */
.ng-footer__social a { border-radius: 999px; transition: background .15s, border-color .15s; }
.ng-footer__social a:hover { color: #fff; border-color: transparent; }
.ng-footer__social .ng-social--instagram:hover { background: linear-gradient(45deg,#F58529,#DD2A7B 50%,#8134AF); }
.ng-footer__social .ng-social--facebook:hover { background: #1877F2; }
.ng-footer__social .ng-social--tiktok:hover { background: #000; }
.ng-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; }
.ng-footer__links { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ng-footer__links a { color: #C4C8D4; text-transform: none; letter-spacing: 0; font-weight: 400; }
.ng-footer__links a:hover { color: #fff; }

.ng-page__content h2.wp-block-heading { font-family: var(--ng-body); font-size: 20px; font-weight: 700; margin: 32px 0 10px; }
.ng-page__content ul.wp-block-list, .ng-page__content ol.wp-block-list { padding-left: 22px; }
.ng-page__content .wp-block-list li { margin-bottom: 8px; }

.ng-contact { margin-top: 24px; display: grid; gap: 28px; }
.ng-contact__hours { display: inline-flex; align-items: center; gap: 8px; background: var(--ng-surf2); color: var(--ng-text); padding: 8px 14px; border-radius: 999px; font-size: 14px; justify-self: start; }
.ng-contact__hours svg { color: var(--ng-ok); }
.ng-contact__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.ng-contact__card { display: flex; gap: 14px; align-items: center; padding: 18px; background: var(--ng-surf); border: 1px solid var(--ng-border); border-radius: 14px; color: var(--ng-text); text-decoration: none; text-transform: none; letter-spacing: 0; font-weight: 400; transition: border-color .15s, transform .15s, box-shadow .15s; }
.ng-contact__card:hover { border-color: var(--ng-accent); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(11,16,51,.08); color: var(--ng-text); text-decoration: none; }
.ng-contact__icon { flex: 0 0 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--ng-surf2); color: var(--ng-accent); }
.ng-contact__card--wa .ng-contact__icon { background: #25D366; color: #fff; }
.ng-contact__card[href*="instagram"] .ng-contact__icon { background: linear-gradient(45deg,#F58529,#DD2A7B 50%,#8134AF); color: #fff; }
.ng-contact__card[href*="facebook"] .ng-contact__icon { background: #1877F2; color: #fff; }
.ng-contact__txt { display: grid; gap: 2px; min-width: 0; }
.ng-contact__txt strong { font-size: 15px; }
.ng-contact__txt span { font-size: 14px; overflow-wrap: anywhere; }
.ng-contact__txt small { font-size: 12px; color: var(--ng-muted); }
.ng-contact__form { background: var(--ng-surf); border: 1px solid var(--ng-border); border-radius: 16px; padding: 24px; max-width: 760px; }
.ng-contact__form h2 { font-family: var(--ng-body); font-size: 20px; font-weight: 700; margin: 0 0 14px; }
.ng-contact__form form { display: grid; gap: 14px; }
.ng-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ng-contact__form label { display: block; font-size: 14px; font-weight: 600; }
.ng-contact__form label input, .ng-contact__form label textarea { margin-top: 6px; display: block; }
.ng-contact__form label span { font-weight: 400; color: var(--ng-muted); }
.ng-contact__form input, .ng-contact__form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--ng-border-strong); border-radius: 10px; font: inherit; font-weight: 400; background: var(--ng-surf); color: var(--ng-text); }
.ng-contact__form input:focus, .ng-contact__form textarea:focus { outline: 2px solid var(--ng-accent); outline-offset: 0; border-color: var(--ng-accent); }
.ng-contact__form button { justify-self: start; }
.ng-contact__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ng-contact__msg { padding: 12px 14px; border-radius: 10px; font-size: 14px; margin: 0 0 14px; }
.ng-contact__msg--ok { background: rgba(61,220,151,.12); color: var(--ng-ok); }
.ng-contact__msg--err { background: rgba(246,68,43,.12); color: var(--ng-sale); }
@media (max-width: 640px) {
	.ng-contact__row { grid-template-columns: 1fr; }
	.ng-contact__form { padding: 18px; }
	.ng-contact__form button { justify-self: stretch; }
	.ng-footer__legal { flex-direction: column; }
}
.ng-page__content p a, .ng-page__content li a { color: var(--ng-accent); text-decoration: underline; text-underline-offset: 2px; text-transform: none; letter-spacing: 0; }

/* ===== v1.1.17: Mi cuenta (acceder / registrarse) ===== */
.woocommerce-account #customer_login.col2-set { max-width: 1040px; align-items: start; }
.woocommerce-account #customer_login .u-column1, .woocommerce-account #customer_login .u-column2 { background: var(--ng-surf); border: 1px solid var(--ng-border); border-radius: 16px; padding: 24px; }
.woocommerce-account #customer_login h2 { margin-top: 0; }
.woocommerce-account #customer_login .u-column2 h2::after { content: " — es gratis"; font-weight: 400; font-size: .7em; color: var(--ng-muted); }
.woocommerce-form-login, .woocommerce-form-register { margin: 0; }
.woocommerce form .password-input, .woocommerce-page form .password-input { position: relative; display: block; }
.woocommerce form .password-input input, .woocommerce-page form .password-input input { padding-right: 48px; }
.woocommerce .show-password-input, .woocommerce-page .show-password-input { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; padding: 0; margin: 0; border: 0; border-radius: 8px; background: transparent center / 20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3A8D6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); cursor: pointer; font-size: 0; color: transparent; box-shadow: none; }
.woocommerce .show-password-input:hover, .woocommerce-page .show-password-input:hover { background-color: var(--ng-surf2); }
.woocommerce .show-password-input.display-password, .woocommerce-page .show-password-input.display-password { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFEB00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 10.6a3 3 0 0 0 4.2 4.2M9.9 5.2A10.6 10.6 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-3.2 4.1M6.6 6.6C3.9 8.4 2 12 2 12s3.6 7 10 7a10 10 0 0 0 5.4-1.6'/%3E%3C/svg%3E"); }
.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 14px; font-weight: 600; }
.woocommerce-form-register .woocommerce-privacy-policy-text { font-size: 13px; color: var(--ng-muted); }

/* ===== v1.1.18: botones de inicio con Google / Facebook ===== */
.ng-social-login { margin: 0 0 18px; }
.ng-social-login__label { margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--ng-muted); }
.ng-social-login .nsl-container { margin: 0 !important; }
.ng-social-login .nsl-container-buttons { display: grid !important; gap: 10px; padding: 0 !important; }
.ng-social-login .nsl-container-buttons a { margin: 0 !important; text-decoration: none !important; }
.ng-social-login .nsl-button { border-radius: 10px !important; min-height: 46px; box-shadow: none !important; border: 1px solid var(--ng-border-strong); }
.ng-social-login .nsl-button-google { background: var(--ng-surf) !important; color: var(--ng-text) !important; }
.ng-social-login__or { display: flex; align-items: center; gap: 12px; margin: 18px 0 4px; font-size: 13px; color: var(--ng-muted); }
.ng-social-login__or::before, .ng-social-login__or::after { content: ""; flex: 1; height: 1px; background: var(--ng-border); }
.ng-social-login--checkout { background: var(--ng-surf); border: 1px solid var(--ng-border); border-radius: 12px; padding: 16px; }

/* v1.1.20 — Menú: lo que no cabe va a "Más ▾" */
.ng-header__nav .ng-menu { overflow: visible; }
.ng-menu .ng-more > a span { font-size: 10px; margin-left: 2px; }
.ng-menu .ng-more .sub-menu { left: auto; right: -16px; }
.ng-menu .ng-more.is-open > .sub-menu { display: block; }
.ng-menu .ng-more .sub-menu a { text-transform: uppercase; letter-spacing: .06em; font-size: 13px; }
.ng-header__nav .ng-menu { gap: 0 18px; }
.ng-header__nav .ng-menu a { font-size: 13px; letter-spacing: .05em; }
@media (max-width: 1280px) { .ng-header__nav .ng-menu { gap: 0 14px; } .ng-header__nav .ng-menu a { letter-spacing: .03em; } }
@media (max-width: 960px) { .ng-header__contact { display: none; } }

/* ==========================================================================
   ARCADE GAMES · CONSOLA (v2.0.0)
   ========================================================================== */
body { background: var(--ng-bg); color: var(--ng-text); }
a { color: var(--ng-text); }
::selection { background: var(--ng-accent); color: var(--ng-on-accent); }
.ng-display { font-family: var(--ng-display); font-weight: 700; text-transform: none; letter-spacing: 0; line-height: 1; }
h1, h2, h3, h4 { font-family: var(--ng-body); }
.ng-h2 { font-size: 30px; }
.ng-eyebrow, .ag-eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ag-cyan); }
.ng-sechead, .ag-sechead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 18px; }
.ag-sechead > a, .ng-morelink { font-size: 14px; font-weight: 700; color: var(--ng-accent); white-space: nowrap; }
.ag-h2 { font-family: var(--ng-display); font-weight: 700; font-size: 30px; line-height: 1.05; margin: 0; }

/* Botones en píldora */
.ng-btn, .button, button.button, a.button, input.button, .wp-element-button, .woocommerce-button, .single_add_to_cart_button, #place_order {
	border-radius: 999px; font-weight: 700; color: var(--ng-on-accent); min-height: 50px;
}
.ng-btn--ghost, .ag-pill--ghost { background: rgba(255,255,255,.12); color: #fff; border-color: transparent; }
.ng-btn--ghost:hover, .ag-pill--ghost:hover { background: rgba(255,255,255,.2); color: #fff; }
.ng-btn--outline-light { border-radius: 999px; }
.ag-pill { padding: 0 26px; }

/* Campos */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="url"], input[type="search"]:not(.ng-search input), textarea, select,
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .form-row select, .woocommerce-checkout .select2-container .select2-selection--single,
.ng-contact__form input, .ng-contact__form textarea, form.checkout_coupon input.input-text {
	background: var(--ag-input); border-color: var(--ng-border-strong); color: var(--ng-text); border-radius: var(--ag-r-sm);
}
select option { background: var(--ng-surf); color: var(--ng-text); }
.select2-dropdown { background: var(--ng-surf) !important; border-color: var(--ng-border-strong) !important; color: var(--ng-text); }
.select2-results__option--highlighted { background: var(--ng-surf2) !important; color: #fff !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ng-text) !important; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select select, .wc-block-components-address-form select {
	background: var(--ag-input) !important; color: var(--ng-text) !important; border-radius: var(--ag-r-sm) !important;
}
.wc-block-components-text-input label, .wc-block-components-combobox label { color: var(--ng-muted) !important; }

/* Cajas con esquinas redondeadas */
.ng-box, .ng-promo, .ng-steps, .ng-review, .ng-newsletter, .ng-trust__item, .shop_table, #payment ul.payment_methods, .ng-filters,
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, .wc-block-components-notice-banner,
.woocommerce-MyAccount-navigation ul, .ng-post, .ng-thanks__hero, .ng-thanks__step, .ng-thanks__contact, .ng-thanks__meta,
form.woocommerce-checkout #order_review, form.checkout_coupon, .ng-co-payment #payment ul.payment_methods > li { border-radius: var(--ag-r); }
form.woocommerce-checkout #order_review_heading { border-radius: var(--ag-r) var(--ag-r) 0 0; }
form.woocommerce-checkout #order_review { border-radius: 0 0 var(--ag-r) var(--ag-r); }
.ng-co-payment #payment ul.payment_methods { gap: 10px; }
.ng-co-payment #payment ul.payment_methods > li { margin: 0; }
.woocommerce-MyAccount-navigation ul { overflow: hidden; }
.ng-tag { border-radius: 6px; border-color: var(--ng-border-strong); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.ng-tag--sale { background: var(--ng-sale); border-color: var(--ng-sale); color: #fff; }
.ng-tag--pre, .ng-tag--new { background: var(--ag-cyan); border-color: var(--ag-cyan); color: #0A0B1E; }
.ng-cart-count { background: var(--ng-accent); color: var(--ng-on-accent); }
.page-numbers { border-radius: var(--ag-r-sm); background: var(--ng-surf); }

/* Encabezado ------------------------------------------------------------- */
.ag-hdr { position: sticky; top: 0; z-index: 40; background: rgba(10,11,30,.86); border-bottom: 1px solid rgba(255,255,255,.06); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); transition: background .2s ease, border-color .2s ease; }
.home .ag-hdr:not(.is-scrolled) { background: linear-gradient(180deg, rgba(10,11,30,.85), rgba(10,11,30,0)); border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
.ag-hdr .ng-header__bar { min-height: var(--ag-hdr-h); gap: 24px; }
.ag-hdr .ng-logo img, .ag-hdr .custom-logo { height: 50px; width: auto; }
.ng-menu a { padding: 8px 16px; border-radius: 999px; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #C9CCF0; }
.ng-header__nav .ng-menu { gap: 0 4px; }
.ng-header__nav .ng-menu a { font-size: 15px; letter-spacing: 0; }
.ng-menu a:hover { background: rgba(255,255,255,.08); color: #fff; }
.ng-menu .current-menu-item > a, .ng-menu .current-menu-ancestor > a, .ng-menu .current-product_cat-ancestor > a { background: rgba(255,255,255,.14); color: #fff; }
.ng-menu .sub-menu { background: var(--ng-surf); border: 1px solid var(--ng-border-strong); border-radius: var(--ag-r); padding: 6px; box-shadow: 0 24px 50px rgba(0,0,0,.5); }
.ng-menu .sub-menu a, .ng-menu .ng-more .sub-menu a { border-radius: var(--ag-r-sm); text-transform: none; letter-spacing: 0; font-size: 14px; }
.ng-iconbtn { color: #fff; border-radius: 999px; }
.ng-iconbtn:hover { color: var(--ng-accent); background: rgba(255,255,255,.06); }
.ng-header__actions { gap: 4px; }
.ng-currency { border-color: var(--ng-border-strong); border-radius: 999px; min-height: 40px; color: #fff; }
.ag-mtabs { display: none; }
.ng-searchbar { background: transparent; border-top: 1px solid rgba(255,255,255,.06); }
.ng-search { background: var(--ag-input); border-color: var(--ng-border-strong); border-radius: 999px; padding-left: 18px; }
.ng-search__btn { border-radius: 999px; }
.ng-search input[type="search"] { color: var(--ng-text); }

/* Selector de moneda (CURCY, FOX o WooPayments) */
.ng-currency--plugin { min-height: 0; }
.ng-currency--plugin select, .ng-currency--plugin select.woocommerce-currency-switcher { min-height: 40px; border-radius: 999px; background: var(--ag-input); border: 1px solid var(--ng-border-strong); color: #fff; font-weight: 700; padding: 0 30px 0 14px; }
.ng-currency--plugin .dd-select { border-radius: 999px !important; background: var(--ag-input) !important; border-color: var(--ng-border-strong) !important; }
.ng-currency--plugin .dd-selected, .ng-currency--plugin .dd-selected-text, .ng-currency--plugin .dd-option-text { color: #fff !important; }
.ng-currency--plugin .dd-options { background: var(--ng-surf) !important; border-color: var(--ng-border-strong) !important; border-radius: var(--ag-r) !important; }
.ng-currency--plugin .dd-option { border-color: var(--ng-border) !important; }
.ng-currency--plugin .dd-option:hover, .ng-currency--plugin .dd-option-selected { background: var(--ng-surf2) !important; }
.ng-currency--plugin .wmc-currency-wrapper, .ng-currency--plugin .woo-multi-currency { position: relative; margin: 0 !important; }
.ng-currency--plugin .wmc-current-currency, .ng-currency--plugin .wmc-currency-wrapper > span:first-child { display: inline-flex !important; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px !important; border-radius: 999px; background: var(--ag-input) !important; border: 1px solid var(--ng-border-strong) !important; color: #fff !important; font-weight: 700; font-size: 14px; cursor: pointer; }
.ng-currency--plugin .wmc-sub-currency { background: var(--ng-surf) !important; border: 1px solid var(--ng-border-strong) !important; border-radius: var(--ag-r) !important; box-shadow: 0 24px 50px rgba(0,0,0,.5) !important; z-index: 60 !important; overflow: hidden; }
.ng-currency--plugin .wmc-sub-currency a, .ng-currency--plugin .wmc-currency a { color: var(--ng-text) !important; }
.ng-currency--plugin .wmc-sub-currency > div:hover, .ng-currency--plugin .wmc-sub-currency .wmc-hidden-link:hover { background: var(--ng-surf2) !important; }

/* Menú móvil */
.ng-drawer__panel { background: var(--ng-surf); }
.ng-drawer__menu a { font-family: var(--ng-body); font-size: 18px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.ng-drawer__menu .current-menu-item > a { color: var(--ng-accent); }
.ng-drawer__head .ng-logo img, .ng-drawer__head .custom-logo { height: 44px; width: auto; }

/* Portada de inicio ------------------------------------------------------ */
.ag-hero { position: relative; margin-top: calc(var(--ag-hdr-h) * -1); padding: calc(var(--ag-hdr-h) + 26px) 0 44px; isolation: isolate; overflow: hidden; }
.ag-hero__bg { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #0A0B1E 2%, rgba(10,11,30,.55) 45%, rgba(10,11,30,.25)), linear-gradient(90deg, rgba(10,11,30,.9), rgba(10,11,30,.1) 65%), var(--art) center 25% / cover no-repeat; }
.ag-hero__bg.is-fade { animation: agFade .5s ease; }
@keyframes agFade { from { opacity: .35; } to { opacity: 1; } }
.ag-tiles { display: flex; gap: 12px; align-items: flex-end; overflow-x: auto; padding: 6px 4px 8px; scrollbar-width: none; }
.ag-tiles::-webkit-scrollbar { display: none; }
.ag-tile { flex: 0 0 96px; aspect-ratio: 1; border-radius: 16px; overflow: hidden; opacity: .8; border: 2px solid transparent; transition: flex-basis .25s ease, opacity .2s ease, box-shadow .2s ease; background: var(--ng-surf); }
.ag-tile img { width: 100%; height: 100%; object-fit: cover; }
.ag-tile:hover { opacity: 1; text-decoration: none; }
.ag-tile.is-on { flex-basis: 136px; opacity: 1; border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.22), 0 18px 40px rgba(0,0,0,.55); }
.ag-tile--more { display: grid; place-items: center; text-align: center; font-weight: 700; font-size: 13px; background: rgba(255,255,255,.12); color: #fff; line-height: 1.2; }
.ag-hero__info { margin-top: 44px; max-width: 600px; }
.ag-hero__title { font-family: var(--ng-display); font-weight: 700; font-size: 72px; line-height: .95; margin: 6px 0 12px; text-wrap: balance; }
.ag-hero__lead { color: #D5D8F5; font-size: 17px; margin: 0 0 22px; max-width: 48ch; }
.ag-hero__ctas { display: flex; gap: 10px; flex-wrap: wrap; }
.ag-hero__meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 18px 0 0; font-size: 13.5px; color: #C9CCF0; }
.ag-hero__meta span + span::before { content: "·"; margin-right: 16px; opacity: .5; }
.ag-hero__meta b { color: #fff; }

.ag-row { padding: 26px 0; }
.ag-home > .ag-row:first-of-type { padding-top: 10px; }

/* Tarjetas tipo portada --------------------------------------------------- */
ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px var(--ng-gap); }
.ag-card { position: relative; display: block; margin: 0; }
.ag-card__link { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: var(--ag-r); overflow: hidden; background: var(--ng-surf); isolation: isolate; color: #fff; }
.ag-card__link:hover { text-decoration: none; color: #fff; }
.ag-card__media, .ag-card__media img { display: block; width: 100%; height: 100%; }
.ag-card__media img { object-fit: cover; transition: transform .35s ease; }
.ag-card:hover .ag-card__media img { transform: scale(1.05); }
.ag-card__badges { position: absolute; top: 8px; left: 8px; right: 50px; display: flex; flex-wrap: wrap; gap: 4px; }
.ag-card__info { position: absolute; inset: auto 0 0 0; display: flex; flex-direction: column; gap: 3px; padding: 44px 54px 12px 12px; background: linear-gradient(0deg, rgba(5,6,18,.95), rgba(5,6,18,.65) 55%, transparent); }
.ag-card__pl { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.ag-card__title { font-size: 14px; font-weight: 600; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ag-card .ng-price { gap: 2px 8px; }
.ag-card .ng-price__from { width: auto; font-size: 10px; color: rgba(255,255,255,.7); }
.ag-card .ng-price__now { font-family: var(--ng-body); font-weight: 700; font-size: 17px; color: var(--ng-accent); letter-spacing: 0; font-variant-numeric: tabular-nums; }
.ag-card .ng-price__now .woocommerce-Price-currencySymbol { font-size: 1em; }
.ag-card .ng-price__was { font-size: 12px; color: rgba(255,255,255,.55); }
.ag-card .ng-card__add { position: absolute; right: 10px; bottom: 12px; width: 38px; height: 38px; border-radius: 50%; background: var(--ng-accent); color: var(--ng-on-accent); box-shadow: 0 6px 16px rgba(0,0,0,.4); z-index: 2; transition: transform .15s ease; }
.ag-card .ng-card__add:hover { transform: scale(1.08); background: var(--ng-accent-hover); }
.ag-card .ng-card__add.added { background: var(--ag-cyan); }
.ag-card .ng-card__out { border-radius: 0 0 var(--ag-r) var(--ag-r); }
.ag-card .png-release-chip { position: absolute; top: 36px; left: 8px; margin: 0; background: rgba(10,11,30,.85); color: #fff; z-index: 2; }

/* Filas que se deslizan */
.ag-scroll { position: relative; }
ul.products.ag-shelf { display: grid; grid-auto-flow: column; grid-auto-columns: 204px; grid-template-columns: none; gap: var(--ng-gap); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; }
ul.products.ag-shelf::-webkit-scrollbar { display: none; }
ul.products.ag-shelf > li { scroll-snap-align: start; }
.ag-scroll__a { position: absolute; top: 50%; z-index: 3; width: 42px; height: 42px; margin-top: -24px; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--ng-accent); color: var(--ng-on-accent); cursor: pointer; box-shadow: 0 8px 20px rgba(0,0,0,.5); transition: opacity .2s ease; }
.ag-scroll__a.prev { left: -16px; } .ag-scroll__a.prev svg { transform: rotate(90deg); }
.ag-scroll__a.next { right: -16px; } .ag-scroll__a.next svg { transform: rotate(-90deg); }
.ag-scroll.at-start .prev, .ag-scroll.at-end .next { opacity: 0; pointer-events: none; }

/* Más vendidos + promo */
.ag-two { display: grid; grid-template-columns: 1.6fr 1fr; gap: 24px; }
.ag-two--solo { grid-template-columns: 1fr; }
.ag-ranks { display: grid; gap: 10px; }
.ag-rank { display: grid; grid-template-columns: 40px 60px minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 10px 14px 10px 10px; border-radius: var(--ag-r); background: var(--ng-surf); border: 1px solid var(--ng-border); }
.ag-rank--norank { grid-template-columns: 60px minmax(0, 1fr) auto auto; }
.ag-rank__n { font-style: normal; font-family: var(--ng-display); font-weight: 700; font-size: 30px; text-align: center; color: var(--ng-accent); }
.ag-rank__img img { width: 60px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--ag-r-sm); }
.ag-rank__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ag-rank__title { font-weight: 600; font-size: 15px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-rank__pl { font-size: 12px; color: var(--ng-muted); }
.ag-rank__tags { display: flex; gap: 4px; }
.ag-rank__price .ng-price { flex-direction: column; align-items: flex-end; gap: 0; }
.ag-rank__price .ng-price__from { display: none; }
.ag-rank__price .ng-price__now { font-family: var(--ng-body); font-size: 17px; font-weight: 700; color: var(--ng-accent); }
.ag-rank__price .ng-price__was { font-size: 12px; order: -1; }
.ag-rank__btn { min-height: 40px; padding: 0 16px; font-size: 13.5px; white-space: nowrap; }
.ag-promo { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; padding: 26px; border-radius: 20px; background: linear-gradient(135deg, #55197E, #22216A); border: 1px solid var(--ng-border-strong); }
.ag-promo > b { font-family: var(--ng-display); font-weight: 700; font-size: 70px; line-height: 1; color: var(--ng-accent); }
.ag-promo > span { color: #E2E4FF; font-weight: 600; font-size: 17px; }
.ag-promo p { grid-column: 1 / -1; margin: 12px 0 0; color: #C9CCF0; font-size: 14px; }
.ag-promo .ng-btn { grid-column: 1 / -1; margin-top: 16px; }

/* Novedades */
.ag-nov { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--ng-gap); }
.ag-nov__big { position: relative; display: flex; align-items: flex-end; min-height: 440px; padding: 24px; border-radius: 20px; overflow: hidden; color: #fff; background: linear-gradient(0deg, rgba(10,11,30,.96), rgba(10,11,30,.1) 62%), var(--a) center 20% / cover no-repeat, var(--ng-surf); }
.ag-nov__big:hover { text-decoration: none; color: #fff; }
.ag-nov__big .ng-tag { position: absolute; top: 16px; left: 16px; }
.ag-nov__txt { display: flex; flex-direction: column; gap: 6px; }
.ag-nov__pl { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #C9CCF0; }
.ag-nov__txt > b { font-family: var(--ng-display); font-weight: 700; font-size: 42px; line-height: 1; }
.ag-nov__txt .ng-price__now { font-family: var(--ng-body); font-size: 22px; font-weight: 700; color: var(--ng-accent); }
.ag-nov__txt .ng-price__from { width: auto; color: #C9CCF0; }
ul.products.ag-nov__grid { grid-template-columns: 1fr 1fr; gap: var(--ng-gap); }
.ag-cal { margin-top: 16px; padding: 16px 18px; border-radius: 20px; background: var(--ng-surf); border: 1px solid var(--ng-border); }
.ag-cal__h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 12px; }
.ag-cal__h span { color: var(--ng-muted); font-size: 13px; }
.ag-cal__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ag-cal__i { display: grid; grid-template-columns: auto 44px minmax(0, 1fr); gap: 10px; align-items: center; padding: 8px; border-radius: 12px; background: #0F1130; color: var(--ng-text); }
.ag-cal__i:hover { text-decoration: none; background: var(--ng-surf2); }
.ag-cal__d { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 48px; height: 52px; border-radius: 10px; background: var(--ng-accent); color: var(--ng-on-accent); line-height: 1; }
.ag-cal__d b { font-family: var(--ng-display); font-size: 22px; }
.ag-cal__d span { font-size: 10.5px; font-weight: 800; }
.ag-cal__i img { width: 44px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 6px; }
.ag-cal__i b { display: block; font-size: 13.5px; line-height: 1.2; }
.ag-cal__i small { color: var(--ng-muted); font-size: 12px; }

/* Confianza */
.ag-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ng-gap); }
.ag-trust > div { display: flex; gap: 12px; align-items: flex-start; padding: 18px; border-radius: var(--ag-r); background: var(--ng-surf); border: 1px solid var(--ng-border); }
.ag-trust > div > span { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: var(--ag-r-sm); background: rgba(255,235,0,.1); color: var(--ng-accent); }
.ag-trust p { margin: 0; }
.ag-trust b { display: block; font-size: 14.5px; }
.ag-trust small { font-size: 13px; color: var(--ng-muted); }

/* Catálogo --------------------------------------------------------------- */
.ng-crumbs { font-size: 13px; padding-top: 22px; }
.ag-cathead { padding: 8px 0 18px; border-bottom: 1px solid var(--ng-border); margin-bottom: 18px; }
.ag-cathead .ng-archive__title { font-size: 48px; }
.ag-cathead__count { margin: 6px 0 0; color: var(--ng-muted); font-size: 14px; }
.ng-archive__desc { color: var(--ng-muted); }
.ag-fbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 20px; }
.ag-sel { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: var(--ag-r-sm); border: 1px solid var(--ng-border); background: var(--ng-surf); color: var(--ng-text); font-size: 13.5px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.ag-sel:hover { border-color: var(--ng-accent); color: var(--ng-text); text-decoration: none; }
.ag-fbar__order { margin-left: auto; }
.ag-fbar .woocommerce-ordering select { min-height: 40px; border-radius: var(--ag-r-sm); background: var(--ng-surf); border-color: var(--ng-border); font-weight: 600; font-size: 13.5px; }
.ng-filters { background: var(--ng-surf); }

/* Ficha de producto: banner + tarjeta de compra ---------------------------- */
.ag-band { position: relative; margin-top: calc(var(--ag-hdr-h) * -1); padding-top: var(--ag-hdr-h); min-height: 420px; display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; }
.ag-band__bg { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #0A0B1E 4%, rgba(10,11,30,.6) 60%, rgba(10,11,30,.8)), var(--a) center 25% / cover no-repeat; }
.ag-band__in { width: 100%; padding-bottom: 44px; }
.ag-band__head { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 30px; align-items: end; margin-top: 18px; max-width: calc(100% - 440px); }
.ag-band__cover img { width: 100%; height: auto; border-radius: 14px; box-shadow: 0 30px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.08); }
.ag-band__eye { margin: 0 0 6px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #A9AEDB; }
.ag-band__eye span { color: var(--ag-cyan); }
.ag-band__title { font-family: var(--ng-body); font-weight: 700; font-size: 58px; line-height: 1.02; letter-spacing: -.03em; margin: 0; text-wrap: balance; }
.ag-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ag-thumbs .ng-thumb { width: 56px; height: 56px; border-radius: 10px; border: 2px solid rgba(255,255,255,.2); }
.ag-thumbs .ng-thumb.is-active { border-color: var(--ng-accent); }
.ag-pdp .ng-crumbs { padding-top: 14px; }
.ag-pdp .ng-crumbs a, .ag-pdp .ng-crumbs { color: #A9AEDB; }

.ag-pdp__grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; grid-template-areas: "main buy"; gap: 48px; align-items: start; padding-top: 28px; }
.ag-pdp__main { grid-area: main; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.ag-buy { grid-area: buy; position: sticky; top: calc(var(--ag-hdr-h) + 16px); margin-top: -200px; z-index: 2; padding: 26px; border-radius: 22px; background: #12143A; border: 1px solid #23265A; box-shadow: 0 30px 60px rgba(0,0,0,.45); display: flex; flex-direction: column; gap: 14px; }
.admin-bar .ag-buy { top: calc(var(--ag-hdr-h) + 48px); }
.ag-buy > .price { font-family: var(--ng-body); font-weight: 700; font-size: 34px; line-height: 1; margin: 0; color: #fff; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-variant-numeric: tabular-nums; }
.ag-buy > .price del { font-size: 15px; font-weight: 400; color: #6F74A6; order: 2; }
.ag-buy > .price ins { text-decoration: none; }
.ag-buy > .price .woocommerce-Price-currencySymbol { font-size: 1em; }
.ag-buy form.cart { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.ag-buy table.variations tr { margin-bottom: 12px; }
.ag-buy table.variations th.label { margin-bottom: 6px; }
.ag-buy table.variations label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #8E93C4; }
.ag-buy .reset_variations { font-size: 12.5px; color: var(--ng-muted); margin-top: 6px; }
.ag-buy .woocommerce-variation-price .price { font-family: var(--ng-body); font-weight: 700; font-size: 26px; color: var(--ng-accent); }
.ag-buy .woocommerce-variation-price .price del { color: #6F74A6; font-size: 14px; font-weight: 400; }
.ag-buy .woocommerce-variation-price .price ins { text-decoration: none; }
.ag-buy .woocommerce-variation-availability .stock { display: none; }
.ag-buy .single_add_to_cart_button { flex: 1 1 200px; min-height: 56px; font-size: 16px; gap: 10px; white-space: nowrap; }
.ag-buy .single_add_to_cart_button.ag-off, .ag-buy .single_add_to_cart_button.disabled { opacity: 1; background: #1C1F4A; color: #8E93C4; cursor: pointer; }
.ag-buy .quantity .qty { min-height: 56px; width: 70px; border-radius: 999px; }
.ag-buy .woocommerce-variation-add-to-cart, .ag-buy form.cart:not(.variations_form) { display: flex; gap: 10px; flex-wrap: nowrap; align-items: center; }
.ag-quiet { margin: 0; font-size: 13px; color: #7D82B5; line-height: 1.5; }
.ag-buy .product_meta { display: none; }

/* Desplegables de consola / licencia */
.ag-dd { position: relative; }
.ag-dd__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 16px; border-radius: 12px; border: 1px solid #2A2D5E; background: #0D0F2C; color: #8E93C4; font-weight: 600; font-size: 15px; text-align: left; cursor: pointer; transition: border-color .15s ease; }
.ag-dd__btn:hover { border-color: #4A4F92; }
.ag-dd.is-chosen .ag-dd__btn { color: #fff; border-color: #4A4F92; }
.ag-dd.is-open .ag-dd__btn { border-color: var(--ng-accent); }
.ag-dd__a { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .15s ease; flex: 0 0 9px; }
.ag-dd.is-open .ag-dd__a { transform: rotate(-135deg) translateY(-1px); }
.ag-dd__menu { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 20; padding: 6px; border-radius: 14px; background: #171A45; border: 1px solid #2F3370; box-shadow: 0 24px 50px rgba(0,0,0,.55); }
.ag-dd.is-open .ag-dd__menu { display: block; }
.ag-dd__opt { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; width: 100%; padding: 12px; border: 0; border-radius: 10px; background: transparent; color: #fff; text-align: left; cursor: pointer; font: inherit; }
.ag-dd__opt:hover, .ag-dd__opt:focus-visible, .ag-dd__opt.is-on { background: #23275C; outline: none; }
.ag-dd__opt b { font-size: 15px; font-weight: 600; }
.ag-dd__opt small { grid-column: 1; color: #8E93C4; font-size: 12.5px; }
.ag-dd__opt em { grid-row: 1 / 3; grid-column: 2; align-self: center; font-style: normal; font-weight: 700; color: var(--ng-accent); font-variant-numeric: tabular-nums; }
.ag-dd__opt[disabled] { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.ag-dd--nudge .ag-dd__btn { animation: agNudge .6s ease; border-color: var(--ng-accent); }
@keyframes agNudge { 0%, 100% { transform: none; } 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }

/* Recuadro de la licencia elegida */
.ag-lic { padding: 16px; border-radius: 14px; background: linear-gradient(160deg, rgba(0,240,255,.07), rgba(255,235,0,.04)); border: 1px solid #23265A; }
.ag-lic.is-empty { background: transparent; border-style: dashed; }
.ag-lic__e { display: flex; gap: 10px; align-items: center; margin: 0; color: #8E93C4; font-size: 13.5px; }
.ag-lic__h { display: flex; flex-direction: column; gap: 2px; margin-bottom: 10px; }
.ag-lic__h b { color: var(--ng-accent); font-size: 15px; }
.ag-lic__h span { color: #E2E4FF; font-size: 13.5px; }
.ag-lic ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ag-lic li { display: flex; gap: 10px; align-items: center; font-size: 13.5px; color: #D5D8F5; }
.ag-lic li svg { color: var(--ag-cyan); flex: 0 0 18px; }
.ag-lic p { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid #23265A; font-size: 12.5px; line-height: 1.55; color: #8E93C4; }

/* Contador de preventa y barra 3x2 del plugin de promociones */
.ag .png-cd { --png-acc: var(--ng-accent); background: #0D0F2C; border: 1px solid #23265A; box-shadow: none; margin: 0; }
.ag .png-cd__lbl { color: var(--ng-on-accent); }
.ag .png-bar__dot { background: transparent; }

/* Columna izquierda de la ficha */
.ag-perks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0 0 18px; border-radius: 18px; overflow: hidden; background: #1C1F4A; border: 1px solid #1C1F4A; }
.ag-perks span { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 12px; align-items: center; padding: 16px 18px; background: #0E1030; }
.ag-perks svg { grid-row: 1 / 3; color: var(--ng-accent); }
.ag-perks b { font-size: 14px; }
.ag-perks small { font-size: 12px; color: #8E93C4; }
.ag-sec { padding: 24px 0; border-top: 1px solid #1C1F4A; }
.ag-sec__title { font-family: var(--ng-body); font-weight: 700; font-size: 22px; margin: 0 0 14px; }
.ag-desc .ng-prose { color: #B9BDE3; line-height: 1.7; }
.ag-desc.is-clamped .ag-desc__body { max-height: 380px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
.ag-desc__more { margin-top: 10px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--ng-border-strong); background: transparent; color: var(--ng-accent); font-weight: 700; cursor: pointer; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { border-color: #1C1F4A; }
.woocommerce-product-attributes th { color: #8E93C4; }
.ag-cmp { margin: 18px 0; padding: 26px; border-radius: 22px; background: #0E1030; border: 1px solid #1C1F4A; }
.ag-cmp__h h2 { font-family: var(--ng-body); font-size: 22px; margin: 0; }
.ag-cmp__h p { margin: 6px 0 16px; color: #8E93C4; }
.ag-cmp__r { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid #1C1F4A; font-size: 14px; color: #D5D8F5; }
.ag-cmp__r > span:first-child { color: #8E93C4; }
.ag-cmp__r--head { border-top: 0; padding-top: 0; }
.ag-cmp__r--head span { display: flex; flex-direction: column; gap: 4px; }
.ag-cmp__r--head b { font-size: 16px; color: #fff; }
.ag-cmp__r--head em { align-self: flex-start; font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: var(--ng-accent); color: #0A0B1E; }
.ag-cmp__r--head em.c { background: var(--ag-cyan); }
.ag-cmp__ok { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(0,240,255,.12); color: var(--ag-cyan); }
.ag-cmp__n { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0 0; padding: 12px 14px; border-radius: 12px; background: rgba(255,235,0,.06); font-size: 13px; color: #C9CCF0; line-height: 1.5; }
.ag-cmp__n svg { color: var(--ng-accent); flex: 0 0 18px; margin-top: 1px; }
.ag-how ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ag-how li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 2px 14px; }
.ag-how em { grid-row: 1 / 3; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-style: normal; font-family: var(--ng-display); font-weight: 700; font-size: 20px; background: #1C1F4A; color: var(--ng-accent); }
.ag-how b { font-size: 15px; }
.ag-how span { font-size: 13.5px; color: #8E93C4; }
.ng-faq { border-color: #1C1F4A; }
.ng-faq summary { list-style: none; display: flex; justify-content: space-between; gap: 12px; font-weight: 600; font-size: 15px; }
.ng-faq summary::-webkit-details-marker { display: none; }
.ng-faq summary::after { content: "+"; color: var(--ng-accent); font-size: 22px; line-height: 1; }
.ng-faq[open] summary::after { content: "–"; }
.ng-faq p { color: #8E93C4; font-size: 14px; }
.ng-pdp__after .related > h2, .ng-pdp__after .upsells > h2 { font-family: var(--ng-display); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: 30px; margin: 30px 0 18px; }
.ng-pdp__after ul.products { grid-auto-flow: column; grid-auto-columns: 204px; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
.ng-pdp__after ul.products::-webkit-scrollbar { display: none; }
.ng-buybar small { display: block; font-size: 11px; color: #A3A8D6; }

/* Pie de página */
.ng-footer { background: var(--ng-dark); border-top: 1px solid var(--ng-border); margin-top: 48px; }
.ng-footer__brand .ng-logo img { height: 72px; width: auto; }
.ng-footer a, .ng-footer__menu a, .ng-footer__links a { color: #A3A8D6; }
.ng-footer a:hover { color: #fff; }
.ng-footer__col h2 { font-size: 13px; text-transform: uppercase; letter-spacing: .1em; color: var(--ng-muted); }

/* Carrito lateral, carrito y pago en oscuro */
.xoo-wsc-header, .xoo-wsc-footer { background: var(--ng-surf) !important; }
.xoo-wsc-body, .xoo-wsc-products, .xoo-wsc-sp-container, .xoo-wsc-sp-slider, .xoo-wsc-sp-wrap { background: var(--ng-bg) !important; }
.xoo-wsc-product, .xoo-wsc-sp-product { background: var(--ng-surf) !important; border-radius: var(--ag-r-sm) !important; border-color: var(--ng-border) !important; }
.xoo-wsc-ft-btn, .xoo-wsc-btn { border-radius: 999px !important; }
.xoo-wsc-ft-btn-checkout, .xoo-wsc-ft-btn.xoo-wsc-ft-btn-checkout { background: var(--ng-accent) !important; color: var(--ng-on-accent) !important; }
.xoo-wsc-qty-box { background: var(--ag-input) !important; border-color: var(--ng-border-strong) !important; border-radius: 999px !important; color: var(--ng-text) !important; }
.xoo-wsc-qty-box input { color: var(--ng-text) !important; }
.wc-block-components-order-summary-item__quantity { background: var(--ng-accent) !important; color: var(--ng-on-accent) !important; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option, .wc-block-checkout__payment-method .wc-block-components-radio-control__option { border-color: var(--ng-border-strong) !important; }
.wc-block-components-panel, .wc-block-components-totals-wrapper { border-color: var(--ng-border) !important; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: 999px !important; color: var(--ng-on-accent) !important; }
#payment #place_order { border-radius: 999px; color: var(--ng-on-accent); }
.ng-co-payment #payment ul.payment_methods > li:has(input:checked) { background: rgba(255,235,0,.06); }
.ng-thanks__hero { background: linear-gradient(135deg, #55197E, #15173A); }
.ng-thanks__check, .ng-thanks__num { border-radius: 12px; }
.woocommerce-button.view, .woocommerce-button.cancel { background: transparent; }
.ng-social-login .nsl-button-google { background: #fff !important; color: #1F1F1F !important; }

/* ==========================================================================
   Tablet y celular
   ========================================================================== */
@media (max-width: 1180px) {
	ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ag-pdp__grid { grid-template-columns: minmax(0, 1fr) 370px; gap: 32px; }
	.ag-band__head { max-width: calc(100% - 400px); }
	.ag-band__title { font-size: 46px; }
	.ag-perks { grid-template-columns: 1fr 1fr; }
	.ng-header__nav .ng-menu a { padding: 8px 12px; font-size: 14px; }
}
@media (max-width: 960px) {
	:root { --ag-hdr-h: 108px; }
	.ag-hdr .ng-header__bar { min-height: 60px; gap: 6px; }
	.ag-hdr .ng-header__logo { flex: 0 0 auto; justify-content: flex-start; }
	.ag-hdr .ng-logo img, .ag-hdr .custom-logo { height: 38px; }
	.ag-hdr .ng-header__searchbtn, .ag-hdr .ng-header__currency { display: inline-flex; }
	.ag-hdr .ng-header__actions { gap: 0; }
	.ag-hdr .ng-iconbtn { width: 40px; height: 40px; }
	.ag-hdr .ng-currency { min-height: 34px; padding: 0 10px; font-size: 12.5px; }
	.ag-hdr .ng-currency--plugin select, .ag-hdr .ng-currency--plugin .wmc-current-currency { min-height: 34px; font-size: 12.5px; padding-left: 10px; }
	.ag-hdr .ng-searchbar { display: none; }
	.ag-hdr .ng-searchbar[data-open="true"] { display: block; }
	.ag-mtabs { display: block; padding: 0 var(--ng-gutter) 10px; overflow-x: auto; scrollbar-width: none; }
	.ag-mtabs::-webkit-scrollbar { display: none; }
	.ag-mtabs__list, .ag-mtabs .ng-menu, .ag-mtabs ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
	.ag-mtabs li { flex: 0 0 auto; }
	.ag-mtabs a { display: block; padding: 7px 13px; border-radius: 999px; font-size: 13.5px; font-weight: 600; color: #C9CCF0; white-space: nowrap; }
	.ag-mtabs .current-menu-item > a, .ag-mtabs .current-menu-ancestor > a { background: rgba(255,255,255,.14); color: #fff; }
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ag-two, .ag-nov { grid-template-columns: 1fr; }
	.ag-cal__row { grid-template-columns: 1fr 1fr; }
	.ag-trust { grid-template-columns: 1fr 1fr; }
	.ag-hero__title { font-size: 52px; }
	.ag-band { min-height: 0; }
	.ag-band__head { max-width: none; }
	.ag-pdp__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "buy" "main"; gap: 24px; padding-top: 0; }
	.ag-buy { position: static; margin-top: 0; }
}
@media (max-width: 640px) {
	:root { --ag-hdr-h: 104px; }
	.ag-hdr .ng-logo img, .ag-hdr .custom-logo { height: 32px; }
	.ag-hdr .ng-iconbtn { width: 36px; height: 36px; }
	.ag-hdr .ng-iconbtn svg { width: 21px; height: 21px; }
	.ag-mtabs { padding-left: 12px; padding-right: 12px; }
	.ag-hero { padding-bottom: 28px; }
	.ag-tile { flex-basis: 66px; border-radius: 12px; }
	.ag-tile.is-on { flex-basis: 92px; }
	.ag-hero__info { margin-top: 24px; }
	.ag-hero__title { font-size: 40px; }
	.ag-hero__lead { font-size: 15px; }
	.ag-hero__ctas .ng-btn { flex: 1 1 auto; }
	.ag-h2, .ng-pdp__after .related > h2 { font-size: 23px; }
	.ag-row { padding: 18px 0; }
	ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	ul.products.ag-shelf, .ng-pdp__after ul.products { grid-auto-columns: 152px; gap: 10px; }
	.ag-scroll__a { display: none; }
	.ag-card__info { padding: 34px 10px 10px; }
	.ag-card__title { font-size: 13px; }
	.ag-card .ng-price__now { font-size: 15px; }
	.ag-card .ng-card__add { top: 8px; right: 8px; bottom: auto; width: 32px; height: 32px; }
	.ag-card .ng-card__add svg { width: 17px; height: 17px; }
	.ag-card__badges { right: 46px; }
	.ag-rank { grid-template-columns: 26px 52px minmax(0, 1fr) auto; gap: 10px; padding: 8px; }
	.ag-rank__n { font-size: 22px; }
	.ag-rank__img img { width: 52px; }
	.ag-rank__btn { display: none; }
	.ag-rank__title { font-size: 13.5px; white-space: normal; }
	.ag-promo > b { font-size: 50px; }
	.ag-nov__big { min-height: 300px; }
	.ag-nov__txt > b { font-size: 30px; }
	.ag-cal__row { grid-template-columns: 1fr; gap: 8px; }
	.ag-trust > div { padding: 14px; flex-direction: column; }
	.ag-cathead .ng-archive__title { font-size: 34px; }
	.ag-fbar { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(var(--ng-gutter) * -1); padding-right: var(--ng-gutter); scrollbar-width: none; }
	.ag-fbar::-webkit-scrollbar { display: none; }
	.ag-fbar > * { flex: 0 0 auto; }
	.ag-fbar__order { margin-left: 0; order: -1; }
	.ag-band__in { padding-bottom: 24px; }
	.ag-band__head { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
	.ag-band__title { font-size: 30px; }
	.ag-thumbs { display: none; }
	.ag-buy { padding: 18px; border-radius: 18px; }
	.ag-buy > .price { font-size: 28px; }
	.ag-perks span { padding: 12px; }
	.ag-cmp { padding: 18px; }
	.ag-cmp__r { font-size: 12.5px; gap: 8px; }
	.ag-how ol { grid-template-columns: 1fr; }
	.ng-buybar { background: rgba(10,11,30,.97); border-top-color: var(--ng-border); }
	.ng-buybar .ng-price__now { font-family: var(--ng-body); font-size: 19px; font-weight: 700; color: var(--ng-accent); }
	.ng-buybar .ng-price__was { display: none; }
}
#reviews h2, .woocommerce-Reviews-title { font-family: var(--ng-body); font-weight: 700; text-transform: none; font-size: 22px; line-height: 1.2; }
.woocommerce-noreviews { border-left-color: var(--ng-border-strong); }
/* Títulos del carrito, pago y cuenta sin mayúsculas forzadas */
.cart-collaterals h2, #order_review_heading, .woocommerce-billing-fields h3, .woocommerce-additional-fields h3, .ng-co-payment__title,
.wc-block-cart .wc-block-cart__totals-title, .wc-block-components-checkout-step__title, .wc-block-components-checkout-order-summary__title-text, .wc-block-components-title,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
#order_review .shop_table tfoot .order-total th, #order_review .shop_table tfoot .order-total td, .ng-thanks__details .woocommerce-order-details__title, .ng-thanks__details .woocommerce-column__title,
.xoo-wsch-text, .xoo-wsc-sp-heading, .ng-sc-heading, .ng-page__title, .woocommerce-account h2 {
	font-family: var(--ng-display) !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important;
}
.ag .png-bar--hint { background: rgba(0,240,255,.07); border-color: rgba(0,240,255,.35); }
.ag .png-bar--hint .png-bar__dot.is-on { background: var(--ng-accent); border-color: var(--ng-accent); color: var(--ng-on-accent); }
.ag .png-bar--ok .png-bar__dot.is-on { background: var(--ng-ok); border-color: var(--ng-ok); color: #0A0B1E; }
.ag .png-bar__dot { border-color: var(--ng-border-strong); color: var(--ng-muted); }
/* Selector de regalo y otros bloques que los plugins ponen junto al botón: a lo ancho */
.ag-buy .woocommerce-variation-add-to-cart, .ag-buy form.cart:not(.variations_form) { flex-wrap: wrap; }
.ag-buy .woocommerce-variation-add-to-cart > *:not(.quantity):not(.single_add_to_cart_button):not(input[type="hidden"]),
.ag-buy form.cart:not(.variations_form) > *:not(.quantity):not(.single_add_to_cart_button):not(input[type="hidden"]) { flex: 1 1 100%; min-width: 0; max-width: 100%; }
.ag-buy .single_add_to_cart_button { min-width: 0; }
/* Juegos de regalo (plugin de promociones) con el estilo de la ficha */
.ag .png-gifts { margin: 0; padding: 16px; border-radius: 16px; border: 1px solid #23265A; background: #0E1030; }
.ag .png-gifts__title { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #8E93C4; }
.ag .png-gifts__hint { margin: 2px 0 10px; font-size: 12.5px; color: #7D82B5; opacity: 1; }
.ag-gift-now { display: flex; align-items: center; gap: 9px; margin: 0 0 10px; padding: 9px 12px; border-radius: 10px; background: rgba(0,240,255,.08); border: 1px solid rgba(0,240,255,.25); font-size: 13px; color: #C9CCF0; line-height: 1.35; }
.ag-gift-now svg { color: var(--ag-cyan); flex: 0 0 16px; width: 16px; height: 16px; }
.ag-gift-now b { color: #fff; }
.ag-gw { position: relative; }
.ag .ag-gw .png-gifts__list { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 3px; }
.ag .ag-gw .png-gifts__list::-webkit-scrollbar { display: none; }
.ag .ag-gw .png-gift { flex: 0 0 calc((100% - 32px) / 4.45); padding: 0; border: 0; border-radius: 10px; background: transparent; scroll-snap-align: start; opacity: .6; transform: none; outline: 2px solid transparent; outline-offset: 2px; transition: opacity .15s ease, outline-color .15s ease; }
.ag .ag-gw .png-gift:hover { opacity: .9; transform: none; }
.ag .ag-gw .png-gift:has(input:checked) { opacity: 1; outline-color: var(--ng-accent); box-shadow: none; background: transparent; }
.ag .ag-gw .png-gift:has(input:checked)::after { content: none; }
.ag .ag-gw .png-gift input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: pointer; }
.ag .ag-gw .png-gift__img img { border-radius: 10px; }
.ag .ag-gw .png-gift__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ag-gw::before, .ag-gw::after { content: ""; position: absolute; top: 0; bottom: 0; width: 44px; z-index: 1; pointer-events: none; transition: opacity .2s; }
.ag-gw::before { left: 0; background: linear-gradient(90deg, #0E1030, transparent); }
.ag-gw::after { right: 0; background: linear-gradient(270deg, #0E1030, transparent); }
.ag-gw.at-start::before, .ag-gw.at-end::after, .ag-gw.no-scroll::before, .ag-gw.no-scroll::after { opacity: 0; }
.ag-gw__a { position: absolute; top: 50%; z-index: 2; width: 34px; height: 34px; margin-top: -17px; border: 0; border-radius: 50%; background: var(--ng-accent); cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.45); transition: opacity .2s; }
.ag-gw__a::before { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-right: 2.6px solid #0A0B1E; border-bottom: 2.6px solid #0A0B1E; transform: translate(-65%, -50%) rotate(-45deg); }
.ag-gw__a.prev { left: -8px; } .ag-gw__a.prev::before { transform: translate(-35%, -50%) rotate(135deg); }
.ag-gw__a.next { right: -8px; }
.ag-gw.at-start .prev, .ag-gw.at-end .next, .ag-gw.no-scroll .ag-gw__a { opacity: 0; pointer-events: none; }
.ag-gw__dots { display: flex; justify-content: center; gap: 5px; margin-top: 10px; }
.ag-gw__dots i { width: 6px; height: 6px; border-radius: 999px; background: #2F3370; transition: width .2s, background .2s; }
.ag-gw__dots i.on { width: 18px; background: var(--ng-accent); }
.ag-gw__name { margin: 8px 0 0; font-size: 13px; color: #8E93C4; }
.ag-gw__name b { color: #fff; }
.ag-gw__dots[hidden] { display: none; }
.ag-lic p.ag-lic__e { margin: 0; padding: 0; border: 0; color: #8E93C4; font-size: 13.5px; }
/* Selector de moneda propio para CURCY */
.ng-cur { position: relative; }
.ng-cur__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; background: var(--ag-input); border: 1px solid var(--ng-border-strong); color: #fff; font-weight: 700; font-size: 14px; cursor: pointer; list-style: none; user-select: none; }
.ng-cur__btn::-webkit-details-marker { display: none; }
.ng-cur__btn:hover, .ng-cur[open] .ng-cur__btn { border-color: var(--ng-accent); }
.ng-cur__btn i { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .8; }
.ng-cur[open] .ng-cur__btn i { transform: rotate(-135deg) translateY(-1px); }
.ng-cur__menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 70; width: 240px; max-height: 70vh; overflow-y: auto; padding: 6px; border-radius: 14px; background: #171A45; border: 1px solid #2F3370; box-shadow: 0 24px 50px rgba(0,0,0,.55); }
.ng-cur__h { margin: 6px 10px 6px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #8E93C4; }
.ng-cur__opt { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 10px; border-radius: 10px; color: var(--ng-text); font-size: 14px; }
.ng-cur__opt:hover { background: #23275C; text-decoration: none; color: #fff; }
.ng-cur__opt.is-on { background: rgba(255,235,0,.08); }
.ng-cur__opt.is-on b { color: var(--ng-accent); }
.ng-cur__opt span { color: #A3A8D6; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ng-cur__opt em { font-style: normal; color: #8E93C4; font-size: 13px; }
@media (max-width: 960px) {
	.ag-hdr .ng-cur__btn { min-height: 34px; padding: 0 10px; font-size: 12.5px; gap: 6px; }
	.ng-cur__menu { position: fixed; top: 64px; right: 12px; width: min(260px, calc(100vw - 24px)); }
}
/* Precio "Desde" en la ficha */
.ag-buy > .price .ag-from { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8E93C4; align-self: center; }
/* El selector de moneda que CURCY agrega debajo del precio de la ficha sobra: la moneda se cambia arriba */
.ag-buy .wmc-price-switcher, .ag-buy [class*="price-switcher"], .ag-buy .woocommerce-multi-currency.wmc-shortcode, .ag-buy .wmc-currency-wrapper { display: none !important; }
/* Computadora: sin pestaña "Inicio" (el logo ya lleva al inicio) para que quepan más categorías */
.ng-header__nav .ag-home { display: none; }
/* Seguro: nada puede mover la página de lado en el celular */
html, body { max-width: 100%; overflow-x: clip; }
/* La descripción de cada variación repite lo que ya explica el recuadro de la licencia */
.ag-buy .woocommerce-variation-description { display: none; }

/* Mi cuenta › Ver pedido: estado y siguiente paso */
.ag-ostat { margin: 0 0 24px; padding: 20px; border-radius: 16px; background: var(--ng-surf); border: 1px solid var(--ng-border); }
.ag-ostat--wait { border-color: rgba(255,235,0,.45); }
.ag-ostat--ok { border-color: rgba(61,220,151,.45); }
.ag-ostat__top { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.ag-ostat__top span { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ng-muted); }
.ag-ostat__top b { display: block; font-family: var(--ng-display); font-size: 26px; line-height: 1.1; }
.ag-ostat--wait .ag-ostat__top b { color: var(--ng-accent); }
.ag-ostat--ok .ag-ostat__top b { color: var(--ng-ok); }
.ag-ostat__num { text-align: right; }
.ag-ostat__num b { font-size: 20px; }
.ag-ostat__pay { margin-top: 16px; padding: 14px 16px; border-radius: 12px; background: var(--ag-input); border: 1px solid var(--ng-border); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.ag-ostat__pay > div > :last-child { margin-bottom: 0; }
.ag-ostat__h { margin: 0 0 8px; font-weight: 700; color: var(--ag-cyan); }
.ag-ostat__txt { margin: 14px 0 12px; color: #C9CCF0; font-size: 14px; }
.ag-ostat__wa { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 999px; background: #25D366; color: #fff; font-weight: 700; }
.ag-ostat__wa:hover { color: #fff; text-decoration: none; filter: brightness(1.05); }
@media (max-width: 640px) { .ag-ostat__wa { width: 100%; justify-content: center; } }
/* WhatsApp por encima del ícono flotante del carrito lateral */
.ng-whatsapp { bottom: 104px; }
@media (max-width: 640px) { .ng-whatsapp { bottom: 92px; } .single-product .ng-whatsapp { bottom: 160px; } }
/* Cajones del carrito lateral (sugeridos, cupones) con el fondo oscuro del sitio */
.xoo-wsc-slider, .xoo-wsc-drawer { background-color: var(--ng-bg) !important; color: var(--ng-text); }
/* Regalo más fácil de notar */
.ag .png-gifts { background: linear-gradient(160deg, rgba(255,235,0,.08), rgba(85,25,126,.25)); border-color: rgba(255,235,0,.35); }
.ag .png-gifts__title.ag-gift-h { display: flex; gap: 12px; align-items: center; margin: 0 0 12px; font-size: inherit; letter-spacing: 0; text-transform: none; color: #fff; }
.ag-gift-ic { flex: 0 0 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--ng-accent); color: var(--ng-on-accent); }
.ag-gift-h b { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 17px; line-height: 1.2; color: #fff; }
.ag-gift-h em { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .08em; padding: 3px 8px; border-radius: 999px; background: var(--ng-ok); color: #0A0B1E; }
.ag-gift-h small { display: block; margin-top: 3px; font-size: 13.5px; font-weight: 400; color: #C9CCF0; }
.ag-gw__name { font-size: 14px; color: #D5D8F5; }
.ag-gw__name b { color: var(--ng-accent); }

/* ==========================================================================
   CARRITO (A · Lista), PAGO (B · Resumen protagonista), GRACIAS (C · Descarga)
   ========================================================================== */
.ag-eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ag-cyan); }
.ag-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ag-chips span { font-size: 11.5px; font-weight: 700; padding: 3px 8px; border-radius: 6px; background: #1C1F4A; color: #C9CCF0; }
.ag-chips .is-gift { background: var(--ng-accent); color: var(--ng-on-accent); }

/* Barra 3x2 */
.ag-m3 { display: flex; align-items: center; gap: 18px; padding: 16px 18px; border-radius: 18px; margin-bottom: 14px; background: linear-gradient(120deg, rgba(85,25,126,.55), rgba(21,23,58,.9)); border: 1px solid #3A3E80; }
.ag-m3.is-full { background: linear-gradient(120deg, rgba(255,235,0,.12), rgba(21,23,58,.9)); border-color: rgba(255,235,0,.4); }
.ag-m3__s { display: flex; gap: 8px; flex: 0 0 auto; }
.ag-m3__s > span { position: relative; width: 48px; height: 64px; border-radius: 10px; border: 2px dashed #4A4F92; display: grid; place-items: center; color: #8E93C4; overflow: hidden; }
.ag-m3__s > span.on { border: 2px solid var(--ng-accent); }
.ag-m3__s img { width: 100%; height: 100%; object-fit: cover; }
.ag-m3__s em { position: absolute; inset: auto 0 0; font-style: normal; font-size: 9px; font-weight: 800; text-align: center; background: var(--ng-accent); color: #0A0B1E; }
.ag-m3__t b { display: block; font-size: 16px; }
.ag-m3__t span { font-size: 13.5px; color: #C9CCF0; }
.ag-m3__t strong, .ag-m3__t .amount { color: var(--ng-accent); }

/* Carrito */
.ag-cart__h { font-family: var(--ng-display); font-weight: 700; font-size: 44px; line-height: 1; margin: 8px 0 20px; }
.ag-cart__h span { font-family: var(--ng-body); font-size: 15px; font-weight: 500; color: #8E93C4; margin-left: 8px; }
.ag-cart__g { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; }
.ag-cart__list { display: flex; flex-direction: column; gap: 10px; }
.ag-ci { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto 120px 40px; gap: 16px; align-items: center; padding: 12px; border-radius: 16px; background: #12143A; border: 1px solid #23265A; }
.ag-ci__img img { width: 72px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 10px; }
.ag-ci__n > a, .ag-ci__n > span:first-child { font-weight: 600; font-size: 15.5px; color: #fff; }
.ag-ci__n .variation, .ag-ci__n dl { font-size: 12px; color: #8E93C4; margin: 4px 0 0; }
.ag-ci__p { display: flex; flex-direction: column; align-items: flex-end; }
.ag-ci__p s, .ag-ci__p s .amount { font-size: 12px; color: #6F74A6; }
.ag-ci__p b { font-size: 18px; font-variant-numeric: tabular-nums; }
.ag-ci__p .is-free { color: var(--ng-ok); }
.ag-ci__x a { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: #8E93C4; }
.ag-ci__x a:hover { background: #1C1F4A; color: var(--ng-sale); text-decoration: none; }
.ag-ci__qfix { display: inline-grid; place-items: center; min-width: 38px; height: 38px; border-radius: 999px; border: 1px solid #2F3370; font-weight: 700; }
.ag-cart .quantity { display: inline-flex; align-items: center; border: 1px solid #2F3370; border-radius: 999px; height: 40px; overflow: hidden; }
.ag-cart .quantity .qty { width: 40px; min-height: 0; height: 38px; padding: 0; border: 0; background: transparent; text-align: center; color: #fff; font-weight: 700; -moz-appearance: textfield; }
.ag-cart .quantity .qty::-webkit-outer-spin-button, .ag-cart .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ag-qb { width: 36px; height: 38px; border: 0; background: none; color: #fff; font-size: 18px; cursor: pointer; }
.ag-qb:hover { color: var(--ng-accent); }
.ag-cart__actions { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ag-cart__sum { position: sticky; top: calc(var(--ag-hdr-h) + 16px); }
.ag-sum { padding: 24px; border-radius: 22px; background: #12143A; border: 1px solid #23265A; }
.ag-sum h2 { font-family: var(--ng-body); font-size: 20px; font-weight: 700; margin: 0; }
.ag-sum__rows { display: flex; flex-direction: column; gap: 10px; padding: 14px 0; margin: 14px 0; border-top: 1px solid #23265A; border-bottom: 1px solid #23265A; }
.ag-sum__rows > div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: #C9CCF0; }
.ag-sum__rows b { color: #fff; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.ag-sum__rows .is-save span, .ag-sum__rows .is-save b, .ag-sum__rows .is-save .amount { color: var(--ng-ok) !important; }
.ag-sum__rows .woocommerce-remove-coupon { font-size: 12px; color: var(--ng-muted); margin-left: 6px; }
.ag-sum__total { padding-top: 10px; border-top: 1px dashed #2F3370; align-items: baseline; }
.ag-sum__total span { font-weight: 700; color: #fff !important; font-size: 16px; }
.ag-sum__total b, .ag-sum__total b .amount { font-family: var(--ng-body); font-size: 26px; font-weight: 700; color: var(--ng-accent) !important; }
.ag-sum__total small { display: block; font-size: 11px; color: var(--ng-muted); font-weight: 400; }
.ag-coupon summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; font-size: 14px; color: #C9CCF0; font-weight: 600; }
.ag-coupon summary::-webkit-details-marker { display: none; }
.ag-coupon summary svg { color: var(--ag-cyan); }
.ag-coupon__f { display: flex; gap: 8px; margin-top: 10px; }
.ag-coupon__f input { flex: 1; min-width: 0; min-height: 46px; }
.ag-coupon__f .button { min-height: 46px; padding: 0 18px; background: #1C1F4A; color: #fff; }
.ag-sum .wc-proceed-to-checkout { margin-top: 16px; }
.ag-sum__go { width: 100%; min-height: 56px; font-size: 16px; }
.ag-sum__go .amount { color: inherit; }
.ag-sum__quiet { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 12px 0 0; font-size: 12.5px; color: #7D82B5; text-align: center; }
.ag-sug { margin-top: 28px; }
.ag-sug h2 { font-family: var(--ng-body); font-size: 18px; margin: 0 0 12px; }
.ag-sug__l { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ag-sug__i { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border-radius: 14px; background: #12143A; border: 1px solid #23265A; color: #fff; }
.ag-sug__i:hover { border-color: var(--ng-accent); text-decoration: none; color: #fff; }
.ag-sug__i img { width: 48px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 8px; }
.ag-sug__i b { display: block; font-size: 13px; line-height: 1.25; }
.ag-sug__i small { display: block; color: #8E93C4; font-size: 11.5px; }
.ag-sug__i .ng-price__now { font-family: var(--ng-body); font-size: 13px; font-weight: 700; color: var(--ng-accent); }
.ag-sug__i .ng-price__from, .ag-sug__i .ng-price__was { display: none; }
.ag-sug__i i { width: 32px; height: 32px; border-radius: 50%; background: var(--ng-accent); color: #0A0B1E; display: grid; place-items: center; }
.woocommerce-cart .cart-empty, .woocommerce-cart .return-to-shop { text-align: center; }

/* Pago B */
form.woocommerce-checkout.ag-co { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); grid-template-areas: "sum main"; grid-template-rows: auto; column-gap: 0; align-items: stretch; border-radius: 24px; overflow: hidden; border: 1px solid #1C1F4A; background: var(--ng-bg); }
form.woocommerce-checkout.ag-co > * { grid-column: auto; grid-row: auto; }
.ag-co__sum { grid-area: sum; position: relative; padding: 36px; isolation: isolate; border-right: 1px solid #1C1F4A; }
.ag-co__sum::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,11,30,.35), #0A0B1E 80%), var(--a) center 20% / cover no-repeat; }
.ag-co__sum::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(10,11,30,.55); -webkit-backdrop-filter: blur(26px); backdrop-filter: blur(26px); }
.ag-co__sumin { position: sticky; top: calc(var(--ag-hdr-h) + 20px); max-width: 440px; margin-left: auto; }
.ag-co__fan { position: relative; height: 200px; margin: 14px 0 22px; }
.ag-co__fan img { position: absolute; top: 0; left: calc(var(--i) * 70px); width: 140px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 14px; box-shadow: 0 20px 40px rgba(0,0,0,.6); transform: rotate(calc((var(--i) - 1) * 5deg)); }
form.woocommerce-checkout.ag-co #order_review { position: static; padding: 0; background: transparent; border: 0; grid-area: auto; }
.ag-rv { border: 0 !important; background: transparent !important; margin: 0 !important; width: 100%; }
.ag-rv__items { display: flex; flex-direction: column; gap: 12px; }
.ag-rv__i { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.ag-rv__i img { width: 44px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 8px; }
.ag-rv__n b { display: block; font-size: 14px; line-height: 1.25; }
.ag-rv__n b em { font-style: normal; color: var(--ng-accent); }
.ag-rv__n small { display: block; color: #8E93C4; font-size: 12px; }
.ag-rv__p { font-weight: 700; font-size: 14px; text-align: right; white-space: nowrap; }
.ag-rv__p .is-free { color: var(--ng-ok); }
.ag-rv__save { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: #C9CCF0; }
.ag-rv__save svg, .ag-rv__save b, .ag-rv__save .amount { color: var(--ng-ok); }
.ag-co__main { grid-area: main; padding: 30px 40px 40px; min-width: 0; }
.ag-co__h { font-family: var(--ng-display); font-weight: 700; font-size: 44px; line-height: 1; margin: 0 0 18px; }
form.woocommerce-checkout.ag-co #customer_details { grid-area: auto; }
form.woocommerce-checkout.ag-co .ng-co-payment { grid-area: auto; margin-top: 24px; }
.ag-co .woocommerce-billing-fields h3, .ag-co .ng-co-payment__title { font-family: var(--ng-body) !important; font-size: 17px !important; font-weight: 700 !important; margin: 0 0 12px !important; }
.ag-co .ng-co-payment__hint { font-size: 13px; }
.ag-co #payment ul.payment_methods { display: flex !important; flex-direction: column; gap: 10px; border: 0; background: transparent; }
.ag-co #payment ul.payment_methods > li { margin: 0 !important; padding: 16px 16px 16px 50px !important; border-radius: 16px; border: 1px solid #2A2D5E !important; background: #0D0F2C !important; position: relative; display: block !important; }
.ag-co #payment ul.payment_methods > li > input[type=radio] { position: absolute; left: 18px; top: 19px; margin: 0; }
.ag-co #payment ul.payment_methods > li > label { display: inline-flex !important; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14.5px; }
.ag-co #payment ul.payment_methods > li:has(input:checked) { border-color: var(--ng-accent) !important; box-shadow: inset 0 0 0 1px var(--ng-accent); background: rgba(255,235,0,.05) !important; }
.ag-co #payment .payment_box { margin-top: 10px; background: #12143A; border-radius: 12px; }
.ag-auto { display: inline-block; font-style: normal; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; background: rgba(61,220,151,.15); color: var(--ng-ok); }
.ag-co #payment #place_order { min-height: 58px; font-size: 16.5px; }
.ag-scrollhint { position: fixed; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 55; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border: 0; border-radius: 999px; background: var(--ng-accent); color: var(--ng-on-accent); font: inherit; font-weight: 700; font-size: 14.5px; box-shadow: 0 10px 30px rgba(0,0,0,.5), 0 0 0 4px rgba(255,235,0,.2); cursor: pointer; white-space: nowrap; transition: opacity .3s ease, transform .3s ease; }
.ag-scrollhint[hidden] { display: none; }
.ag-scrollhint svg { animation: agBounce 1.1s ease-in-out infinite; }
.ag-scrollhint.is-out { opacity: 0; transform: translate(-50%, 20px); }
@keyframes agBounce { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(4px); } }
.woocommerce-checkout .ng-whatsapp { z-index: 54; }

/* Gracias C */
.ag-ty { max-width: none; }
.ag-ty__hero { position: relative; margin: -40px calc(50% - 50vw) 0; padding: 48px 0 40px; isolation: isolate; }
.ag-ty__hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #0A0B1E 5%, rgba(10,11,30,.72)), var(--a) center 25% / cover no-repeat; }
.ag-ty__in { max-width: var(--ng-wrap); margin: 0 auto; padding: 0 var(--ng-gutter); }
.ag-ty__cv { display: flex; gap: 10px; margin-bottom: 22px; }
.ag-ty__cv img { width: 84px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 12px; box-shadow: 0 16px 30px rgba(0,0,0,.5); }
.ag-ty__h { font-family: var(--ng-display); font-weight: 700; font-size: 56px; line-height: 1; margin: 0 0 18px; }
.ag-ty__bar { height: 10px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; max-width: 720px; }
.ag-ty__bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #00F0FF, #FFEB00); box-shadow: 0 0 20px rgba(0,240,255,.6); animation: agGrow 1.2s ease-out; }
@keyframes agGrow { from { width: 0; } }
.ag-ty__lb { display: flex; justify-content: space-between; max-width: 720px; margin-top: 10px; font-size: 13px; color: #8E93C4; }
.ag-ty__lb .ok { color: var(--ng-ok); }
.ag-ty__lb .now { color: var(--ng-accent); font-weight: 700; }
.ag-ty__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-top: 24px; }
.ag-ty__order { grid-column: 1 / -1; }
.ag-ty__card { padding: 22px; border-radius: 20px; background: #12143A; border: 1px solid #23265A; }
.ag-ty__card--ok { border-color: rgba(61,220,151,.45); }
.ag-ty__card h2 { font-family: var(--ng-body); font-size: 19px; font-weight: 700; margin: 0 0 8px; }
.ag-ty__card > p { color: #C9CCF0; font-size: 14.5px; margin: 0 0 16px; }
.ag-ty__wa { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; border-radius: 999px; background: #25D366; color: #fff; font-weight: 700; font-size: 15.5px; }
.ag-ty__wa:hover { color: #fff; text-decoration: none; filter: brightness(1.05); }
.ag-ty__pay { font-size: 14.5px; line-height: 1.6; overflow-wrap: anywhere; }
.ag-ty__pay > :last-child { margin-bottom: 0; }
.ag-pd { display: flex; flex-direction: column; border-radius: 14px; background: #0D0F2C; border: 1px solid #23265A; overflow: hidden; }
.ag-pd > div { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 14px; border-top: 1px solid #1C1F4A; }
.ag-pd > div:first-child { border-top: 0; }
.ag-pd span { color: #8E93C4; font-size: 13px; }
.ag-pd b { font-size: 15px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ag-pd__c { height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid #2F3370; background: transparent; color: #C9CCF0; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.ag-pd__c:hover { border-color: var(--ng-accent); color: #fff; }
.ag-pd__c.is-ok { border-color: var(--ng-ok); color: var(--ng-ok); }
.ag-pd__note { margin-top: 12px; font-size: 13.5px; color: #C9CCF0; }
.ag-pd__note p { margin: 0 0 6px; }
.ag-ty__meta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ag-ty__meta span { display: block; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: #8E93C4; }
.ag-ty__meta b { font-size: 14px; overflow-wrap: anywhere; }
.ag-ty__fail { padding: 28px; border-radius: 20px; background: #12143A; border: 1px solid #23265A; border-left: 4px solid var(--ng-sale); margin-top: 20px; }
.ag-ty__fail h1 { font-family: var(--ng-display); font-size: 40px; color: var(--ng-sale); margin: 0 0 10px; }
.ag-ty__acts { display: flex; gap: 10px; flex-wrap: wrap; }
.ag-ty__hooks:empty { display: none; }
.woocommerce-order-received .ng-page { padding-top: 40px; }

@media (max-width: 960px) {
	.ag-cart__g { grid-template-columns: minmax(0, 1fr); }
	.ag-cart__sum { position: static; }
	form.woocommerce-checkout.ag-co { display: flex !important; flex-direction: column; border-radius: 20px; }
	.ag-co__sum { border-right: 0; border-bottom: 1px solid #1C1F4A; padding: 24px 18px; }
	.ag-co__sumin { position: static; max-width: none; }
	.ag-co__main { padding: 24px 18px 30px; }
	.ag-ty__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.ag-cart__h, .ag-co__h { font-size: 34px; }
	.ag-ci { grid-template-columns: 60px minmax(0, 1fr) auto; grid-template-areas: "img name x" "img qty price"; row-gap: 8px; gap: 8px 12px; }
	.ag-ci__img { grid-area: img; } .ag-ci__img img { width: 60px; }
	.ag-ci__n { grid-area: name; } .ag-ci__q { grid-area: qty; } .ag-ci__p { grid-area: price; } .ag-ci__x { grid-area: x; }
	.ag-m3 { gap: 12px; padding: 12px; } .ag-m3__s > span { width: 38px; height: 50px; } .ag-m3__t span { font-size: 12.5px; }
	.ag-sug__l { grid-template-columns: minmax(0, 1fr); }
	.ag-co__fan { height: 150px; } .ag-co__fan img { width: 100px; left: calc(var(--i) * 60px); }
	.ag-ty__hero { margin-top: -40px; padding: 32px 0 28px; }
	.ag-ty__h { font-size: 36px; } .ag-ty__cv img { width: 62px; }
	.ag-pd > div { grid-template-columns: 84px minmax(0, 1fr) auto; }
	.ag-ty__meta { grid-template-columns: 1fr 1fr; }
	.ag-ty__wa { width: 100%; }
}
.ag-pd b { white-space: nowrap; }
@media (max-width: 960px) {
	.ag-scrollhint { left: 16px; transform: none; }
	.ag-scrollhint.is-out { transform: translateY(20px); }
}

/* =====================================================================
   Mi cuenta (Cuenta A) y Acceso (Acceso A) — v2.2.0
   ===================================================================== */
.ag-accpage { padding: 0 0 56px; }
.ag-accpage__c, .ag-accpage .woocommerce { display: block !important; }
.ag-accpage .woocommerce > .woocommerce-notices-wrapper:not(:empty) { max-width: var(--ng-wrap); margin: 20px auto 0; padding: 0 var(--ng-gutter); }

.ag-kst { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; white-space: nowrap; line-height: 1.3; }
.ag-kst::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ag-kst--ok { background: rgba(61,220,151,.14); color: #3DDC97; }
.ag-kst--proc { background: rgba(0,240,255,.12); color: #00F0FF; }
.ag-kst--wait { background: rgba(255,235,0,.12); color: #FFEB00; }
.ag-kst--cancel { background: rgba(246,68,43,.12); color: #FF7A66; }
.ag-kst--neutral { background: rgba(163,168,214,.12); color: #C9CCF0; }

.ag-kb { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid #2F3370; background: transparent; color: #fff; font-weight: 700; font-size: 13.5px; white-space: nowrap; text-decoration: none !important; transition: border-color .15s ease, background .15s ease; }
.ag-kb:hover { border-color: var(--ng-accent); color: #fff; }
.ag-kb--y { background: var(--ng-accent); color: var(--ng-on-accent) !important; border-color: var(--ng-accent); }
.ag-kb--y:hover { background: var(--ng-accent-hover); }
.ag-kb--g { background: #25D366; border-color: #25D366; color: #fff; }
.ag-kb--g:hover { background: #1fbe5a; border-color: #1fbe5a; }

/* Encabezado */
.ag-acc__h { padding: 40px 0 0; background: linear-gradient(0deg, var(--ng-bg) 6%, rgba(10,11,30,.78)), var(--a) center 20% / cover; }
.ag-kprof { display: flex; align-items: center; gap: 18px; }
.ag-kav { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; font-family: var(--ng-display); font-weight: 700; font-size: 32px; background: linear-gradient(135deg, #FFEB00, #F6442B); color: #0A0B1E; }
.ag-kprof__n { min-width: 0; }
.ag-kprof__n .ag-eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; }
.ag-kprof__n .ag-eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.ag-kprof h1 { font-family: var(--ng-display); font-size: 44px; line-height: 1; margin: 0; overflow-wrap: anywhere; }
.ag-kprof small { color: #A3A8D6; overflow-wrap: anywhere; }
.ag-kstats { margin-left: auto; display: flex; gap: 10px; }
.ag-kstats a { display: flex; flex-direction: column; align-items: center; min-width: 86px; padding: 10px 14px; border-radius: 14px; background: rgba(18,20,58,.75); border: 1px solid #2F3370; font-size: 12px; color: #A3A8D6; text-decoration: none; }
.ag-kstats a:hover { border-color: var(--ng-accent); color: #A3A8D6; }
.ag-kstats b { font-family: var(--ng-display); font-size: 26px; color: #fff; line-height: 1.1; }
.ag-kstats a.is-wait b { color: var(--ng-accent); }

/* Pestañas con flechas (sin barra de desplazamiento) */
.ag-ktw { position: relative; margin-top: 26px; border-bottom: 1px solid #1C1F4A; }
.ag-ktabs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; }
.ag-ktabs::-webkit-scrollbar { display: none; }
.ag-ktabs a { display: flex; align-items: center; gap: 8px; padding: 14px 16px; font-weight: 600; color: #A3A8D6; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; text-decoration: none; }
.ag-ktabs a:hover { color: #fff; }
.ag-ktabs a.is-on { color: #fff; border-bottom-color: var(--ng-accent); }
.ag-ktabs a.is-on svg { color: var(--ng-accent); }
.ag-kta { position: absolute; top: 0; bottom: 0; width: 58px; display: flex; align-items: center; border: 0; padding: 0; margin: 0; cursor: pointer; color: #0A0B1E; opacity: 0; pointer-events: none; transition: opacity .2s; z-index: 2; min-height: 0; border-radius: 0; }
.ag-kta--r { right: 0; justify-content: flex-end; background: linear-gradient(90deg, rgba(10,11,30,0), var(--ng-bg) 60%); }
.ag-kta--l { left: 0; justify-content: flex-start; background: linear-gradient(270deg, rgba(10,11,30,0), var(--ng-bg) 60%); }
.ag-kta:hover { background-color: transparent; }
.ag-kta i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ng-accent); box-shadow: 0 4px 14px rgba(255,235,0,.35); }
.ag-ktw.can-r .ag-kta--r, .ag-ktw.can-l .ag-kta--l { opacity: 1; pointer-events: auto; }

/* Cuerpo */
.ag-acc__b { padding-top: 24px; }
.ag-kpend { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; background: linear-gradient(120deg, rgba(255,235,0,.1), rgba(21,23,58,.9)); border: 1px solid rgba(255,235,0,.35); margin-bottom: 22px; }
.ag-kpend__ic { flex: 0 0 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--ng-accent); color: var(--ng-on-accent); }
.ag-kpend b { display: block; }
.ag-kpend small { color: #C9CCF0; }
.ag-kpend .ag-kb { margin-left: auto; }
.ag-ksec, .woocommerce-account h2.ag-ksec { font-family: var(--ng-body) !important; font-weight: 700 !important; font-size: 21px; margin: 4px 0 14px; }
.ag-ksec-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ag-ksec-h .ag-ksec { margin: 0; }
.ag-kchips { display: flex; gap: 6px; flex-wrap: wrap; }
.ag-kchips button { padding: 7px 14px; min-height: 0; height: auto; border-radius: 999px; border: 1px solid #2F3370; background: transparent; font-size: 13px; font-weight: 600; color: #C9CCF0; cursor: pointer; }
.ag-kchips button:hover { border-color: var(--ng-accent); background: transparent; color: #fff; }
.ag-kchips button.is-on { background: var(--ng-accent); color: var(--ng-on-accent); border-color: var(--ng-accent); }

.ag-klib { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px 16px; }
.ag-klib__i { display: flex; flex-direction: column; gap: 3px; color: #fff; text-decoration: none !important; }
.ag-klib__i[hidden] { display: none; }
.ag-klib__cv { position: relative; display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 3 / 4; background: #12143A; box-shadow: 0 14px 30px rgba(0,0,0,.4); transition: transform .2s ease; }
.ag-klib__i:hover .ag-klib__cv { transform: translateY(-3px); }
.ag-klib__cv img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ag-klib__cv .ag-kst { position: absolute; left: 8px; bottom: 8px; background: rgba(10,11,30,.88); }
.ag-klib__i b { font-size: 14px; margin-top: 8px; line-height: 1.25; }
.ag-klib__i small { color: #8E93C4; font-size: 12px; }

.ag-kempty { text-align: center; padding: 40px 20px; border-radius: 20px; background: #12143A; border: 1px dashed #2F3370; }
.ag-kempty > span { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: rgba(255,235,0,.12); color: var(--ng-accent); margin-bottom: 12px; }
.ag-kempty h3 { margin: 0 0 6px; font-size: 20px; }
.ag-kempty p { margin: 0 auto 18px; max-width: 46ch; color: #A3A8D6; }

/* Pedidos */
.ag-kord { display: flex; flex-direction: column; gap: 10px; }
.ag-kord__r { display: grid; grid-template-columns: auto minmax(0, 1fr) auto 150px auto; gap: 16px; align-items: center; padding: 12px 14px; border-radius: 16px; background: #12143A; border: 1px solid #23265A; }
.ag-kord__cv { display: flex; min-width: 40px; }
.ag-kord__cv img { width: 40px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 7px; margin-left: -12px; border: 2px solid #12143A; }
.ag-kord__cv img:first-child { margin-left: 0; }
.ag-kord__ph { display: grid; place-items: center; width: 40px; height: 53px; border-radius: 7px; background: #1C1F4A; color: #8E93C4; }
.ag-kord__m b { display: block; }
.ag-kord__m small { color: #8E93C4; }
.ag-kord__t { text-align: right; font-variant-numeric: tabular-nums; }
.ag-kord__a { display: flex; gap: 8px; justify-content: flex-end; }
.ag-kpag { display: flex; justify-content: space-between; gap: 10px; margin-top: 16px; }
.ag-kback { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; font-weight: 700; color: #A3A8D6; text-decoration: none; }
.ag-kback:hover { color: var(--ng-accent); }

/* Mi cuenta › datos */
.ag-acc__b .woocommerce-EditAccountForm { max-width: 760px; padding: 24px; border-radius: 20px; background: #12143A; border: 1px solid #23265A; }
.ag-acc__b .woocommerce-EditAccountForm fieldset { margin: 18px 0 0; padding: 18px 0 0; border: 0; border-top: 1px solid #23265A; }
.ag-acc__b .woocommerce-EditAccountForm legend { font-weight: 700; padding: 0; margin-bottom: 4px; }
.ag-acc__b .woocommerce-EditAccountForm em { color: #8E93C4; font-size: 13px; }
.ag-acc__b .woocommerce-EditAccountForm .button { border-radius: 999px; min-height: 50px; padding: 0 28px; }
.ag-acc__b .woocommerce-order-details, .ag-acc__b .woocommerce-customer-details { padding: 20px; border-radius: 18px; background: #12143A; border: 1px solid #23265A; margin-bottom: 18px; }
.ag-acc__b input.input-text, .ag-klg input.input-text { border-radius: 12px; min-height: 52px; background: #0D0F2C; border: 1px solid #2A2D5E; }
.ag-acc__b input.input-text:focus, .ag-klg input.input-text:focus { border-color: var(--ng-accent); box-shadow: 0 0 0 1px var(--ng-accent); outline: none; }

/* Acceso */
.ag-klg { display: grid; grid-template-columns: 1fr 1fr; min-height: min(760px, calc(100vh - 120px)); }
.ag-klg__art { position: relative; display: flex; align-items: flex-end; padding: 48px; background: linear-gradient(0deg, var(--ng-bg) 10%, rgba(10,11,30,.4)), var(--a) center 20% / cover; }
.ag-klg__art h2 { font-family: var(--ng-display) !important; font-size: 46px; line-height: 1; margin: 0 0 20px; max-width: 14ch; }
.ag-klg__art ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ag-klg__art li { display: flex; gap: 10px; align-items: center; color: #D5D8F5; }
.ag-klg__art li svg { color: var(--ng-accent); flex: none; }
.ag-klg__f { padding: 48px 32px; max-width: 520px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; justify-content: center; }
.ag-kseg { align-self: flex-start; display: inline-flex; padding: 4px; margin-bottom: 22px; border-radius: 999px; background: #12143A; border: 1px solid #23265A; }
.ag-kseg button { padding: 9px 18px; min-height: 0; height: auto; border: 0; border-radius: 999px; background: transparent; font-weight: 700; font-size: 14px; color: #A3A8D6; cursor: pointer; }
.ag-kseg button:hover { background: transparent; color: #fff; }
.ag-kseg button[aria-selected="true"] { background: var(--ng-accent); color: var(--ng-on-accent); }
.ag-klg__h { font-family: var(--ng-body); font-size: 34px; line-height: 1.1; margin: 0 0 20px; }
.ag-klg__p { color: #A3A8D6; margin: -8px 0 20px; }
.ag-klg__ok { display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: rgba(255,235,0,.12); color: var(--ng-accent); margin-bottom: 14px; }
[data-ag-auth="login"] .ag-klg__h--reg, [data-ag-auth="login"] .ag-kf--reg,
[data-ag-auth="reg"] .ag-klg__h--login, [data-ag-auth="reg"] .ag-kf--login { display: none; }
.ag-kf { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.ag-kf .form-row { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ag-kf label { font-size: 13px; font-weight: 600; color: #A3A8D6; }
.ag-kf__row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13.5px; }
.ag-kf__row a { color: var(--ag-cyan); }
.ag-kf .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: #C9CCF0; font-size: 13.5px; }
.ag-kf .woocommerce-form-login__rememberme input { width: 18px; height: 18px; accent-color: var(--ng-accent); margin: 0; }
.ag-kf__go, .ag-klg .ag-kf__go { width: 100%; min-height: 54px; border-radius: 999px !important; font-size: 16px; font-weight: 800; margin-top: 4px; }
.ag-kf__note { margin: 0; font-size: 13.5px; color: #A3A8D6; }
.ag-kf .woocommerce-privacy-policy-text p { margin: 0; font-size: 12.5px; color: #8E93C4; }
.ag-kf .woocommerce-privacy-policy-text a { color: #C9CCF0; text-decoration: underline; }
.ag-kf__back { display: inline-flex; align-items: center; gap: 6px; align-self: center; font-weight: 700; color: #A3A8D6; }
.ag-klg .woocommerce-notices-wrapper:not(:empty), .ag-klg .woocommerce-error, .ag-klg .woocommerce-message, .ag-klg .woocommerce-info { margin-bottom: 16px; border-radius: 12px; }
.ag-klg__pk { display: none; }

/* Botón de Google (Nextend) */
.ag-klg .ng-social-login { margin: 0; }
.ag-klg .ng-social-login .nsl-button { min-height: 54px; border-radius: 999px !important; border: 0 !important; background: #fff !important; color: #1F1F1F !important; box-shadow: 0 8px 20px rgba(0,0,0,.25) !important; display: flex !important; align-items: center; justify-content: center; }
.ag-klg .ng-social-login .nsl-button-label-container { font-weight: 700 !important; font-size: 15.5px !important; color: #1F1F1F !important; }
.ag-klg .ng-social-login .nsl-button-facebook { background: #1877F2 !important; }
.ag-klg .ng-social-login .nsl-button-facebook .nsl-button-label-container { color: #fff !important; }
.ag-klg .ng-social-login__or { margin: 18px 0; color: #8E93C4; }
.ag-klg .ng-social-login__or::before, .ag-klg .ng-social-login__or::after { background: #23265A; }

@media (max-width: 1100px) {
	.ag-klib { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.ag-acc__h { padding-top: 26px; }
	.ag-kprof { flex-wrap: wrap; gap: 14px; }
	.ag-kprof h1 { font-size: 32px; }
	.ag-kav { flex-basis: 52px; width: 52px; height: 52px; font-size: 26px; border-radius: 16px; }
	.ag-kprof__n { flex: 1; }
	.ag-kstats { margin-left: 0; width: 100%; }
	.ag-kstats a { flex: 1; min-width: 0; }
	.ag-ktw { margin-top: 20px; }
	.ag-klib { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
	.ag-kpend { flex-wrap: wrap; }
	.ag-kpend > div { flex: 1; min-width: 0; }
	.ag-kpend .ag-kb { margin-left: 0; width: 100%; }
	.ag-kord__r { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "cv m t" "st st st" "a a a"; row-gap: 10px; }
	.ag-kord__cv { grid-area: cv; }
	.ag-kord__m { grid-area: m; }
	.ag-kord__t { grid-area: t; }
	.ag-kord__r > .ag-kst { grid-area: st; justify-self: start; }
	.ag-kord__a { grid-area: a; }
	.ag-kord__a .ag-kb { flex: 1; }
	.ag-acc__b .woocommerce-EditAccountForm { padding: 18px; }
	.ag-klg { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.ag-klg__art { min-height: 240px; padding: 24px var(--ng-gutter); }
	.ag-klg__art h2 { font-size: 32px; margin: 0; }
	.ag-klg__art ul { display: none; }
	.ag-klg__f { padding: 26px var(--ng-gutter) 8px; }
	.ag-klg__h { font-size: 30px; }
	.ag-klg__pk { display: block; margin-top: 26px; padding: 18px; border-radius: 18px; background: linear-gradient(135deg, rgba(85,25,126,.45), rgba(21,23,58,.9)); border: 1px solid #2F3370; }
	.ag-klg__pk p { margin: 0 0 12px; font-family: var(--ng-display); font-weight: 700; font-size: 19px; color: #fff; }
	.ag-klg__pk ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
	.ag-klg__pk li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: #D5D8F5; }
	.ag-klg__pk li i { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,235,0,.12); color: var(--ng-accent); }
}

/* v2.2.1 — WhatsApp encima del ícono flotante del carrito (PC) y textos de los botones del carrito lateral */
@media (min-width: 641px) {
	.ng-whatsapp, .single-product .ng-whatsapp { bottom: 140px; }
}
.xoo-wsc-ft-buttons-cont { gap: 10px !important; }
.xoo-wsc-ft-btn {
	display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
	height: auto !important; min-height: 48px !important; padding: 8px 12px !important;
	white-space: nowrap !important; font-size: 14.5px !important; line-height: 1.15 !important;
	text-transform: none !important; font-style: normal !important; overflow: hidden; text-overflow: ellipsis;
}
.xoo-wsc-ft-btn-checkout { font-size: 16px !important; min-height: 54px !important; }
/* El total dentro de "Comprar" se veía tachado y en cursiva */
.xoo-wsc-ft-btn *, .xoo-wsc-ft-btn del, .xoo-wsc-ft-btn s {
	text-decoration: none !important; font-style: normal !important; opacity: 1 !important; color: inherit !important;
}
.xoo-wsc-ft-btn-checkout .amount, .xoo-wsc-ft-btn-checkout .woocommerce-Price-amount { font-weight: 800 !important; }

/* v2.3.0 — Tráiler de YouTube */
.ag-play { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; padding: 6px 18px 6px 6px; min-height: 0; height: auto; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(10,11,30,.55); backdrop-filter: blur(6px); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; transition: border-color .15s, background .15s; }
.ag-play:hover { border-color: var(--ng-accent); background: rgba(10,11,30,.8); color: #fff; }
.ag-play__i { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--ng-accent); color: var(--ng-on-accent); box-shadow: 0 0 0 0 rgba(255,235,0,.5); animation: ag-pulse 2.4s ease-out infinite; }
.ag-play__i svg { margin-left: 2px; }
@keyframes ag-pulse { 0% { box-shadow: 0 0 0 0 rgba(255,235,0,.45); } 70% { box-shadow: 0 0 0 12px rgba(255,235,0,0); } 100% { box-shadow: 0 0 0 0 rgba(255,235,0,0); } }
@media (prefers-reduced-motion: reduce) { .ag-play__i { animation: none; } }
.ag-band__cover.has-video { position: relative; cursor: pointer; }
.ag-band__cover.has-video::after { content: ""; position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: rgba(10,11,30,.6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5v11l9-5.5z' fill='%23FFEB00'/%3E%3C/svg%3E") center / 30px no-repeat; border: 2px solid rgba(255,235,0,.7); backdrop-filter: blur(4px); opacity: .9; transition: transform .2s, opacity .2s; pointer-events: none; }
.ag-band__cover.has-video:hover::after { transform: scale(1.08); opacity: 1; }
.ag-band__cover.has-video:focus-visible { outline: 2px solid var(--ng-accent); outline-offset: 4px; border-radius: 14px; }

.ag-ytm { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(5,6,18,.88); backdrop-filter: blur(6px); }
.ag-ytm.is-on { display: flex; }
html.ag-ytm-open { overflow: hidden; }
.ag-ytm__in { position: relative; width: min(1100px, 100%); }
.ag-ytm__v { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; box-shadow: 0 30px 80px rgba(0,0,0,.6); }
.ag-ytm__v iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ag-ytm__x { position: absolute; top: -48px; right: 0; width: 40px; height: 40px; min-height: 0; padding: 0; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(10,11,30,.6); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.ag-ytm__x:hover { border-color: var(--ng-accent); color: var(--ng-accent); background: rgba(10,11,30,.6); }
@media (max-width: 640px) {
	.ag-play { margin-top: 12px; font-size: 14px; }
	.ag-band__cover.has-video::after { width: 48px; height: 48px; margin: -24px 0 0 -24px; background-size: 22px; }
	.ag-ytm { padding: 12px; }
}

/* ===== v2.4.0: datos de acceso (plugin Entrega de cuentas) con los colores de Arcade ===== */
.ec { --ec-card: var(--ng-surf); --ec-text: var(--ng-text); --ec-muted: var(--ng-muted); --ec-line: var(--ng-border); --ec-accent: var(--ng-accent); --ec-soft: var(--ag-input); --ec-warn-bg: rgba(246, 68, 43, .14); --ec-warn-text: #FFD2CA; --ec-warn-icon: #FF7A63; --ec-dark: #070816; --ec-ok: var(--ng-ok); --ec-ok-bg: rgba(61, 220, 151, .14); --ec-radius: var(--ag-r-lg); --ec-heading-font: var(--ng-display); margin-top: 8px; }
.ec__t { font-weight: 700; text-transform: uppercase; font-size: 30px; letter-spacing: .01em; }
.ec-card { box-shadow: 0 18px 40px -26px rgba(0, 0, 0, .7); }
.ec-tag { background: rgba(0, 240, 255, .12); color: var(--ag-cyan); }
.ec-tag--secundaria { background: rgba(176, 132, 255, .18); color: #CDB6FF; }
.ec-tag--plus { background: rgba(255, 235, 0, .14); color: var(--ng-accent); }
.ec-card.is-wait .ec-card__st { background: rgba(0, 240, 255, .12); color: var(--ag-cyan); }
.ec-steps h3 { font-weight: 700; text-transform: uppercase; }
.ec-video { border: 1px solid var(--ng-border-strong); }
.ec-video__go { background: var(--ng-accent); color: var(--ng-on-accent); }
.ec-row__v { color: var(--ng-text); }
.ec-prep__dot { background: var(--ag-cyan); }

/* Fix: en productos simples el botón de compra se estiraba en vertical (círculo gigante). */
.ag-buy form.cart:not(.variations_form) { flex-direction: row; }
.ag-buy form.cart:not(.variations_form) .single_add_to_cart_button { flex: 1 1 160px; height: auto; }

/* ==========================================================================
   Juegos de PC (cuenta offline de Steam): categoría y ficha
   ========================================================================== */
.pc-i { flex: none; }
/* Cabecera de la categoría */
.pc-band { margin: 0 0 22px; padding: 18px 20px; background: var(--ng-surf); border: 1px solid var(--ng-border); border-left: 4px solid var(--ng-accent); border-radius: var(--pc-r, 16px); display: grid; gap: 14px; }
.pc-band__top { display: flex; align-items: center; gap: 14px; }
.pc-band__ico { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; background: var(--ng-surf2); color: var(--ng-accent); flex: none; }
.pc-band__txt { flex: 1; min-width: 0; }
.pc-band__txt b { display: block; font-size: 16px; }
.pc-band__txt span { font-size: 14px; color: var(--ng-muted); }
.pc-band__more { flex: none; font: inherit; font-weight: 700; font-size: 14px; color: var(--ng-text); background: transparent; border: 1px solid var(--ng-border-strong); border-radius: 999px; padding: 9px 16px; cursor: pointer; }
.pc-band__more[aria-expanded="true"] { background: var(--ng-accent); color: var(--ng-on-accent); border-color: var(--ng-accent); }
.pc-band__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pc-band__steps li { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; background: var(--ng-surf2); border-radius: 999px; padding: 6px 12px 6px 6px; }
.pc-band__steps em { font-style: normal; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--ng-accent); color: var(--ng-on-accent); font-size: 12px; font-weight: 800; }
.pc-band__steps .pc-band__war { padding-left: 10px; color: var(--ng-ok); }
.pc-band__info { border-top: 1px solid var(--ng-border); padding-top: 14px; }
/* Combo */
.pc-combo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; background: var(--ng-dark); color: #fff; border-radius: 12px; padding: 10px 14px; }
.pc-combo > .pc-i { color: var(--pc-hl, var(--ng-accent)); }
.pc-combo > b { font-family: var(--ng-display); text-transform: uppercase; font-size: 19px; letter-spacing: .02em; margin-right: 4px; font-weight: 700; }
.pc-combo span { font-size: 13px; font-weight: 800; background: rgba(255,255,255,.12); border-radius: 999px; padding: 5px 10px; }
.pc-combo span em { font-style: normal; font-weight: 500; opacity: .8; margin-right: 3px; }
.pc-combo span.is-hl { background: var(--ng-accent); color: var(--ng-on-accent); }
.pc-combo--sec { margin: 0 0 18px; }
/* Portada y textos de la ficha */
.pc-cover { position: relative; }
.pc-cover__tag { position: absolute; left: 10px; top: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 5px; background: rgba(7,8,22,.85); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .06em; border-radius: 6px; padding: 4px 8px; }
.pc-band-lead { margin: 10px 0 0; max-width: 560px; font-size: 16px; opacity: .85; }
.pc-buy__kicker { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ng-muted); }
/* Incluye / No incluye */
.pc-inc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pc-inc__col { border: 1px solid var(--ng-border); border-radius: 14px; padding: 16px 18px; background: var(--ng-surf2); }
.pc-inc__h { margin: 0 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pc-inc__col--yes .pc-inc__h, .pc-inc__col--yes .pc-i { color: var(--ng-ok); }
.pc-inc__col--no .pc-inc__h, .pc-inc__col--no .pc-i { color: var(--ng-sale); }
.pc-inc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.pc-inc li { display: flex; gap: 9px; align-items: flex-start; font-size: 14.5px; line-height: 1.4; }
.pc-inc li .pc-i { margin-top: 2px; }
.pc-inc--compact .pc-inc__col { padding: 12px 14px; }
/* Pasos */
.pc-steps { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.pc-steps li { display: flex; gap: 14px; align-items: flex-start; }
.pc-steps em { font-style: normal; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--ng-accent); color: var(--ng-on-accent); font-weight: 800; font-size: 14px; }
.pc-steps b { display: block; font-size: 15px; }
.pc-steps li div span { font-size: 14px; color: var(--ng-muted); }
.pc-steps__i { display: none; }
.pc-steps--list { display: grid; gap: 0; }
.pc-steps--list li { position: relative; padding-bottom: 18px; }
.pc-steps--list li:not(:last-child)::before { content: ""; position: absolute; left: 14px; top: 32px; bottom: 2px; width: 2px; background: var(--ng-border); }
.pc-steps--cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.pc-steps--cards li { flex-direction: column; gap: 10px; position: relative; padding: 16px; border: 1px solid var(--ng-border); border-radius: 14px; background: var(--ng-surf2); }
.pc-steps--cards em { position: absolute; top: 12px; right: 12px; width: 24px; height: 24px; font-size: 12px; }
.pc-steps--cards .pc-steps__i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--ng-surf); color: var(--ng-accent); }
/* Requisitos */
.pc-needs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pc-needs li { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border: 1px solid var(--ng-border); border-radius: 14px; }
.pc-needs .pc-i { color: var(--ng-accent); margin-top: 2px; }
.pc-needs b { display: block; font-size: 14.5px; }
.pc-needs span { font-size: 13px; color: var(--ng-muted); }
/* Caja de compra */
.pc-mini { list-style: none; margin: 4px 0 0; padding: 12px 14px; display: grid; gap: 7px; border-radius: 12px; background: var(--ng-surf2); }
.pc-mini li { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.pc-mini .ok .pc-i { color: var(--ng-ok); }
.pc-mini .no { color: var(--ng-muted); }
.pc-mini .no .pc-i { color: var(--ng-sale); }
.pc-ack { flex: 1 1 100%; display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.4; padding: 12px 14px; border: 1.5px dashed var(--ng-border-strong); border-radius: 12px; cursor: pointer; order: -1; }
.pc-ack input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--ng-accent); flex: none; }
.pc-ack:has(input:checked) { border-style: solid; border-color: var(--ng-ok); }
.pc-pdp--b form.cart:has(.pc-ack input:not(:checked)) .single_add_to_cart_button { opacity: .45; pointer-events: none; }
/* Perks */
.pc-perks .pc-i { color: var(--ng-accent); }
@media (max-width: 900px) {
	.pc-steps--cards, .pc-needs { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.pc-band { padding: 14px; }
	.pc-band__top { flex-wrap: wrap; }
	.pc-band__more { width: 100%; }
	.pc-band__steps li { font-size: 12.5px; }
	.pc-inc, .pc-needs { grid-template-columns: 1fr; }
	.pc-steps--cards { grid-template-columns: 1fr 1fr; gap: 8px; }
	.pc-steps--cards li { padding: 12px; }
	.pc-combo > b { width: 100%; }
}
/* PC: ajustes Arcade */
.pc-band { --pc-r: 22px; background: linear-gradient(115deg, #1A1550, #15173A 60%); border-left-color: #00F0FF; }
.pc-band__ico, .pc-steps--cards .pc-steps__i { color: #00F0FF; }
.pc-inc__col, .pc-steps--cards li, .pc-mini { background: #0E1030; }
.pc-needs li { background: #0E1030; border-color: #1C1F4A; }
.ag-pdp.pc-pdp .ag-band__eye { color: #00F0FF; }
.pc-perks.ag-perks svg { grid-row: 1 / 3; }
.ag-card .ag-card__pl { white-space: nowrap; }
