/* ==========================================================================
   Night Games M+C
   ========================================================================== */

:root {
	--ng-bg: #F4F6FB;
	--ng-surf: #FFFFFF;
	--ng-surf2: #EAF0FA;
	--ng-text: #0B1033;
	--ng-muted: #4A5078;
	--ng-border: #E3E7F2;
	--ng-border-strong: #C9D0E4;
	--ng-accent: #1F3BFF;
	--ng-accent-hover: #1630D6;
	--ng-on-accent: #FFFFFF;
	--ng-sale: #B5174A;
	--ng-on-sale: #FFFFFF;
	--ng-dark: #0B1033;
	--ng-hero-eyebrow: #8FD3FF;
	--ng-ok: #0F7B4E;
	--ng-display: 'Bebas Neue', 'Oswald', 'Arial Narrow', sans-serif;
	--ng-body: 'Inter Tight', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--ng-wrap: 1280px;
	--ng-gutter: 32px;
	--ng-gap: 20px;
	--ng-tile-0: #0B1033;
	--ng-tile-1: #1F3BFF;
	--ng-tile-2: #B5174A;
	--ng-tile-3: #5B2BC2;
	--ng-tile-4: #8A5800;
}

*, *::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: #fff; 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: #fff; 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: #fff; }
.ng-card__add:hover { background: var(--ng-accent-hover); color: #fff; 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: #fff; }
.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: #fff; 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: #fff; }
.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: #FFFFFF !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: #FFFFFF !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; }
@media (max-width: 640px) { .xoo-wsc-container, .xoo-wsc-slider { max-width: 100vw; } }

/* 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: #fff !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: #fff !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: #fff; }
.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: #fff; 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: #fff; 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: #fff; 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: #fff; }
#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: #fff; 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: #fff; 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(255,255,255,.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: #fff; 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: #F7F9FF; }
.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: #fff; 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: #fff; }
.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: #fff; 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: #fff; 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: #fff; 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: #fff; 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: #fff; border: 1px solid var(--ng-accent); }
.woocommerce-button.pay:hover { background: var(--ng-accent-hover); color: #fff; }
.woocommerce-button.cancel { background: #fff; color: var(--ng-sale); border: 1px solid var(--ng-sale); }
.woocommerce-button.cancel:hover { background: var(--ng-sale); color: #fff; }
.woocommerce-button.view { background: #fff; 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: #fff; 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; } }
