/*
Theme Name: NMR Industrial
Theme URI: https://www.neoxmusicrecords.com
Author: NeoX Music Records
Description: Tema propio de NeoX Music Records. Blanco y negro, industrial: tipografia condensada, lineas finas y el emblema como unica textura.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: nmr-industrial
*/

:root {
	--bg: #0A0A0A;
	--panel: #141414;
	--fg: #EDEDE8;
	--mut: #8F8F8A;
	--line: #2B2B2A;
	--disp: 'Big Shoulders Display', 'Arial Narrow', sans-serif;
	--mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;
	--pad: clamp(20px, 4vw, 56px);
	--sec: clamp(48px, 6vw, 88px);
}

html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--fg); -webkit-font-smoothing: antialiased; }
::selection { background: var(--fg); color: var(--bg); }
a { color: inherit; text-underline-offset: 3px; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--fg); outline-offset: 2px; }

.nmr-wrap { max-width: 1440px; margin-inline: auto; padding-inline: var(--pad); box-sizing: border-box; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block: 0 !important; }
.nmr-main > * { margin-block-start: 0; }

/* ---------- Botones y etiquetas ---------- */
.nmr-btn, .wp-block-button__link, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wc-block-components-button:not(.is-link), .woocommerce #respond input#submit, .single_add_to_cart_button {
	display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
	min-height: 52px; padding: 0 26px; border: 1px solid var(--fg); border-radius: 0;
	background: transparent; color: var(--fg);
	font-family: var(--disp); font-weight: 700; font-size: 19px; line-height: 1; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none;
	cursor: pointer; transition: background .15s, color .15s;
}
.nmr-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--fg); color: var(--bg); }
.nmr-btn--solid, .wp-block-button__link, .woocommerce button.button.alt, .woocommerce a.button.alt, .single_add_to_cart_button,
.wc-block-components-button.contained, .woocommerce a.checkout-button, .woocommerce #place_order {
	background: var(--fg) !important; color: var(--bg) !important; border-color: var(--fg) !important;
}
.nmr-btn--solid:hover, .wp-block-button__link:hover, .single_add_to_cart_button:hover, .woocommerce button.button.alt:hover { background: #fff !important; }

.nmr-tags { display: flex; flex-wrap: wrap; font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1; }
.nmr-tag { padding: 8px 10px; background: var(--line); color: var(--fg); }
.nmr-tag--solid { background: var(--fg); color: var(--bg); }
.nmr-tag--line { background: transparent; box-shadow: inset 0 0 0 1px var(--fg); }

.nmr-h2 { margin: 0; font-family: var(--disp); font-weight: 900; font-size: clamp(44px, 5vw, 72px); line-height: 0.9; text-transform: uppercase; }
.nmr-h3 { margin: 0; font-family: var(--disp); font-weight: 900; font-size: 48px; line-height: 0.9; text-transform: uppercase; }

/* ---------- Cabecera ---------- */
.nmr-header { position: sticky; top: 0; z-index: 50; background: var(--bg); border-bottom: 1px solid var(--line); }
.admin-bar .nmr-header { top: 32px; }
.nmr-top { border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mut); overflow: hidden; transition: max-height .2s; max-height: 60px; }
.nmr-top__in { min-height: 48px; padding-left: calc(var(--pad) + 196px); display: flex; align-items: center; justify-content: space-between; gap: 8px 24px; }
.nmr-top__links { display: flex; align-items: center; gap: 22px; white-space: nowrap; }
.nmr-top a { text-decoration: none; }
.nmr-top a:hover { color: #fff; }
.nmr-top__links > a:not(.nmr-top__social) { color: var(--fg); }
.nmr-top__sep { color: var(--line); }
.nmr-top__btn { padding: 6px 14px; border: 1px solid var(--fg); }
.nmr-top__btn--solid { background: var(--fg); color: var(--bg) !important; }
.nmr-bar { position: relative; min-height: 84px; padding-left: calc(var(--pad) + 196px) !important; gap: 10px !important; align-items: center; transition: min-height .2s; }
.nmr-logo { position: absolute; left: var(--pad); top: -40px; display: block; line-height: 0; z-index: 2; }
.nmr-logo img { width: 164px; height: 164px; transition: width .2s, height .2s; filter: drop-shadow(0 6px 14px rgba(0,0,0,.6)); }
.nmr2-scrolled .nmr-top { max-height: 0; border-bottom-color: transparent; }
.nmr2-scrolled .nmr-bar { min-height: 68px; }
.nmr2-scrolled .nmr-logo { top: 4px; }
.nmr2-scrolled .nmr-logo img { width: 96px; height: 96px; }

.nmr-nav { margin-right: 14px !important; font-family: var(--disp); font-weight: 700; font-size: 19px; letter-spacing: 0.04em; text-transform: uppercase; }
.nmr-nav .wp-block-navigation__container { gap: 4px 22px; flex-wrap: nowrap; white-space: nowrap; }
.nmr-nav .wp-block-navigation-item__content { padding: 8px 0 !important; border-bottom: 3px solid transparent; }
.nmr-nav .wp-block-navigation-item__content:hover, .nmr-nav .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--fg); }
.nmr-nav .wp-block-navigation__submenu-container { background: var(--panel) !important; color: var(--fg) !important; border: 1px solid var(--line) !important; padding: 8px 0; min-width: 240px !important; font-size: 18px; }
.nmr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 7px 18px !important; border: 0; }
.nmr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--fg); color: var(--bg); }
.nmr-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--bg) !important; color: var(--fg) !important; padding: 24px var(--pad); }
.nmr-nav .is-menu-open .wp-block-navigation__container { gap: 6px; font-size: 30px; }
.nmr-nav .wp-block-navigation__responsive-container-open, .nmr-header .wc-block-mini-cart__button, .nmr-header-search .wp-block-search__button {
	width: 46px; height: 46px; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important;
	background: transparent !important; color: var(--fg) !important; border: 1px solid var(--line) !important; border-radius: 0 !important;
}
.nmr-header .wc-block-mini-cart__button, .nmr-header-search .wp-block-search__button { display: flex; }
/* En escritorio, lo que ya esta en la franja de arriba (o en el logo) no se repite en el menu. */
.nmr-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item:has(> a[href$="/contact"], > a[href*="/mi-cuenta"], > a[href$=".com/"], > a[href$=":8097/"]) { display: none; }
.nmr-header .wc-block-mini-cart__button:hover, .nmr-header-search .wp-block-search__button:hover { border-color: var(--fg) !important; }
.nmr-header-search .wp-block-search__inside-wrapper { border: 0 !important; padding: 0 !important; background: transparent !important; }
.nmr-header-search .wp-block-search__input { background: var(--panel); color: var(--fg); border: 1px solid var(--line); border-radius: 0; font-family: var(--mono); font-size: 13px; }
.nmr-header .wc-block-mini-cart__badge { background: var(--fg); color: var(--bg); }
@media (max-width: 1340px) {
	.nmr-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.nmr-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 900px) {
	.nmr-top__tag, .nmr-top__social, .nmr-top__sep { display: none; }
	.nmr-top__in { justify-content: flex-end; padding-left: var(--pad); }
	.nmr-top__in, .nmr-bar { padding-left: calc(var(--pad) + 120px) !important; }
	.nmr-logo { top: -36px; }
	.nmr-logo img { width: 104px; height: 104px; }
	.nmr2-scrolled .nmr-logo img { width: 64px; height: 64px; }
	.nmr-bar { min-height: 64px; }
	.admin-bar .nmr-header { top: 0; }
}

/* ---------- Portada ---------- */
.nmr-hero2 { position: relative; overflow: hidden; background: #0A0A0A; color: #EDEDE8; }
.nmr-hero2__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.nmr-hero2__glow { position: absolute; right: -6%; top: -20%; width: 62%; height: 140%; background-size: cover; background-position: center; filter: blur(70px) saturate(1.25); opacity: .5; pointer-events: none; }
.nmr-hero2__in { position: relative; min-height: min(680px, 78vh); padding-top: 120px; padding-bottom: 72px; display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-end; gap: clamp(28px, 5vw, 72px); }
.nmr-hero2__txt { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.nmr-hero2__cover { flex: none; width: clamp(260px, 30vw, 420px); line-height: 0; outline: 1px solid rgba(237, 237, 232, .55); outline-offset: 12px; margin: 12px; box-shadow: 0 30px 90px rgba(0, 0, 0, .75); transition: outline-offset .2s; }
.nmr-hero2__cover:hover { outline-offset: 6px; }
.nmr-hero2__cover img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.nmr-hero2__title { margin: 0; max-width: 980px; font-family: var(--disp); font-weight: 900; font-size: clamp(60px, 9vw, 136px); line-height: 0.82; letter-spacing: -0.01em; text-transform: uppercase; text-wrap: balance; }
.nmr-hero2__artist { display: block; font-size: 0.42em; line-height: 1; letter-spacing: 0.02em; color: #B9B9B4; margin-bottom: 0.2em; }
.nmr-hero2__text { margin: 0; max-width: 520px; font-size: 18px; color: #B9B9B4; }
.nmr-hero2__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.nmr-hero2__cta .nmr-btn { min-height: 58px; padding: 0 30px; font-size: 22px; letter-spacing: 0.06em; }
@media (max-width: 800px) {
	.nmr-hero2__bg { opacity: .55; }
	.nmr-hero2__glow { right: -20%; top: 0; width: 140%; height: 70%; opacity: .45; }
	.nmr-hero2__in { min-height: 0; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding-top: 84px; padding-bottom: 44px; gap: 34px; }
	.nmr-hero2__cover { width: min(64vw, 300px); }
	.nmr-hero2__txt { flex: none; width: 100%; }
}

/* ---------- Secciones ---------- */
.nmr-sec { padding-block: var(--sec); }
.nmr-sec--panel { background: var(--panel); border-block: 1px solid var(--line); }
.nmr-sec > .nmr-wrap > .nmr-h2 { margin-bottom: 36px; }
.nmr-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 36px; }
.nmr-split { display: flex; flex-wrap: wrap; gap: 40px 56px; }
.nmr-split__side { flex: 0 1 300px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.nmr-split__side p { margin: 0; color: var(--mut); }
.nmr-split__main { flex: 1 1 520px; min-width: 0; }
.nmr-split--rail { padding-right: 0; }
.nmr-rail__nav { display: flex; gap: 10px; margin-top: 12px; }
.nmr-rail__btn { width: 52px; height: 52px; background: transparent; color: var(--fg); border: 1px solid var(--line); font-size: 20px; cursor: pointer; }
.nmr-rail__btn--solid, .nmr-rail__btn:hover { background: var(--fg); color: var(--bg); border-color: var(--fg); }

/* ---------- Tarjetas de producto ---------- */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; margin: 0 !important; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	float: none !important; width: auto !important; margin: 0 !important; padding: 24px 24px 0;
	display: flex; flex-direction: column; position: relative; box-sizing: border-box;
	background: var(--panel); border: 1px solid var(--line); text-align: left; transition: border-color .15s;
}
.nmr-sec--panel ul.products li.product { background: var(--bg); }
.woocommerce ul.products li.product:hover { border-color: var(--fg); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex-grow: 1; text-decoration: none; color: inherit; }
.woocommerce ul.products li.product a img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 !important; border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0; padding: 18px 0 4px !important; font-size: inherit; }
.nmr-title { display: flex; flex-direction: column-reverse; gap: 8px; }
.nmr-track { font-family: var(--disp); font-weight: 900; font-size: 30px; line-height: 1; text-transform: uppercase; color: var(--fg); }
.nmr-artist { font-family: var(--mono); font-weight: 400; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--mut); }
.woocommerce ul.products li.product .price { display: block; margin: auto 0 0; padding: 10px 0 20px; font-family: var(--mono); font-size: 14px; font-weight: 400; color: var(--fg) !important; }
.woocommerce ul.products li.product .price del { color: var(--mut); }
.woocommerce ul.products li.product .nmr-dos-btn, .woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart {
	display: flex; align-items: center; justify-content: center; min-height: 54px; margin: auto -24px 0 !important; padding: 0 12px; border: 0; border-top: 1px solid var(--line);
	background: var(--fg); color: var(--bg); font-family: var(--disp); font-weight: 700; font-size: 19px; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none;
}
.woocommerce ul.products li.product .nmr-dos-btn:hover, .woocommerce ul.products li.product .button:hover { background: #fff; color: var(--bg); }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale { top: 24px; right: 24px; left: auto; margin: 0; min-height: 0; min-width: 0; padding: 8px 10px; border-radius: 0; background: var(--fg); color: var(--bg); font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: .12em; line-height: 1; text-transform: uppercase; }
/* reproductor de preescucha dentro de la tarjeta */
.woocommerce ul.products li.product .wcmp-player-container { margin: 0 0 16px; }
.woocommerce ul.products li.product .wcmp-player-list { margin: 0 0 16px; }

.nmr-grid--3 { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important; }
.nmr-grid--4 { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; gap: 24px !important; }
.woocommerce ul.products.nmr-grid--rail { display: flex !important; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-right: var(--pad) !important; }
.nmr-grid--rail::-webkit-scrollbar { display: none; }
.woocommerce ul.products.nmr-grid--rail li.product { flex: 0 0 340px; width: 340px !important; scroll-snap-align: start; }
.nmr-rail > .woocommerce { min-width: 0; }

/* ---------- Special releases: lista ---------- */
.nmr-rows { border-top: 1px solid var(--fg); }
.nmr-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 14px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.nmr-row:hover .nmr-row__go { background: var(--fg); color: var(--bg); }
.nmr-row__img { flex: none; width: 56px; height: 56px; background: var(--panel); border: 1px solid var(--line); line-height: 0; }
.nmr-row__img img { width: 100%; height: 100%; object-fit: cover; }
.nmr-row__txt { flex: 1 1 260px; display: flex; flex-direction: column; gap: 3px; }
.nmr-row__title { font-family: var(--disp); font-weight: 900; font-size: 26px; line-height: 1; text-transform: uppercase; }
.nmr-row__artist { font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mut); }
.nmr-row__price { width: 84px; font-family: var(--mono); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.nmr-row__go { flex: none; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--fg); }

/* ---------- Artistas ---------- */
.nmr-artists { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 20px; }
.nmr-artistcard { display: flex; flex-direction: column; text-decoration: none; }
.nmr-artistcard__img { display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--bg); border: 1px solid var(--line); }
.nmr-artistcard__img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); transition: filter .25s, transform .4s; }
.nmr-artistcard:hover img { filter: none; transform: scale(1.03); }
.nmr-artistcard__name { padding: 12px 14px; background: var(--fg); color: var(--bg); font-family: var(--disp); font-weight: 900; font-size: 26px; line-height: 1; text-transform: uppercase; }

/* ---------- Demos / servicios / podcast ---------- */
.nmr-label { position: relative; overflow: hidden; border-block: 1px solid var(--line); }
.nmr-label__ghost { position: absolute; right: -140px; top: 50%; width: 760px; height: 760px; max-width: none; margin-top: -380px; opacity: 0.12; pointer-events: none; }
.nmr-label__in { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); padding-block: 32px; }
.nmr-label__cell { padding: 48px 32px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; border-left: 1px solid var(--line); }
.nmr-label__cell:first-child { padding-left: 0; border-left: 0; }
.nmr-label__cell p { margin: 0; color: var(--mut); max-width: 34ch; }
.nmr-label__cell .nmr-btn { margin-top: auto; }
@media (max-width: 700px) { .nmr-label__cell { padding: 32px 0; border-left: 0; border-top: 1px solid var(--line); } .nmr-label__cell:first-child { border-top: 0; } }

/* ---------- Pie ---------- */
.nmr-foot { padding: clamp(40px, 5vw, 64px) 0 32px; }
.nmr-foot__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px; }
.nmr-foot__logo { flex: none; }
.nmr-foot__logo img { display: block; width: 300px; max-width: 70vw; height: auto; }
.nmr-foot__cols { display: flex; flex-wrap: wrap; gap: 32px 72px; font-family: var(--mono); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; }
.nmr-foot__col { display: flex; flex-direction: column; gap: 4px; }
.nmr-foot__head { color: var(--mut); padding-bottom: 8px; }
.nmr-foot a { padding: 6px 0; text-decoration: none; }
.nmr-foot a:hover { color: #fff; text-decoration: underline; }
.nmr-foot__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mut); }
.nmr-foot__legal { display: flex; gap: 24px; }

/* ---------- Paginas interiores ---------- */
/* el emblema cuelga por debajo de la cabecera: todo lo que no es la portada deja ese hueco arriba */
.wp-site-blocks > header + *:not(.nmr-main), .nmr-page { padding-top: clamp(72px, 7vw, 104px) !important; padding-bottom: var(--sec); }
.nmr-main > .nmr-page:first-child { margin-top: 0; }
.nmr-page h1, .woocommerce-products-header__title { margin: 0 0 20px; font-family: var(--disp); font-weight: 900; font-size: clamp(48px, 6vw, 88px); line-height: 0.9; text-transform: uppercase; }
.nmr-404 { font-size: clamp(120px, 20vw, 260px) !important; line-height: .8 !important; }
.wp-block-post-content a:not(.wp-block-button__link):not(.nmr-btn) { text-decoration: underline; text-decoration-color: var(--mut); }
.wp-block-post-content a:not(.wp-block-button__link):hover { text-decoration-color: var(--fg); }
.wp-block-social-links .wp-social-link { background: transparent !important; color: var(--fg) !important; border: 1px solid var(--line); border-radius: 0 !important; }
.wp-block-social-links .wp-social-link:hover { border-color: var(--fg); transform: none; }
.wp-block-media-text__media img, .wp-block-image img { border-radius: 0; }
hr, .wp-block-separator { border: 0; border-top: 1px solid var(--line); }
table { border-collapse: collapse; }
th, td { border-color: var(--line) !important; }

/* formularios */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], input[type="url"], textarea, select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .wc-block-components-text-input input, .wc-blocks-components-select__select {
	background: var(--panel) !important; color: var(--fg) !important; border: 1px solid var(--line) !important; border-radius: 0 !important;
	font-family: inherit; font-size: 16px; min-height: 48px; padding: 10px 14px; box-sizing: border-box;
}
input:focus, textarea:focus, select:focus { border-color: var(--fg) !important; outline: 0; }
.wc-block-components-text-input label, .wc-blocks-components-select__label { color: var(--mut) !important; }
label { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mut); }
.wc-block-components-checkbox label, .woocommerce-form__label-for-checkbox, .wc-block-components-radio-control label { font-family: inherit; font-size: inherit; letter-spacing: 0; text-transform: none; color: var(--fg); }

/* ---------- Tienda (archivo) ---------- */
.woocommerce .woocommerce-breadcrumb { margin: 0 0 20px; font-family: var(--mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--mut); }
.woocommerce .woocommerce-breadcrumb a { color: var(--mut); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--fg); }
.term-description, .page-description { max-width: 640px; color: var(--mut); margin-bottom: 28px; }
.woocommerce .woocommerce-result-count { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mut); margin: 14px 0 28px; }
.woocommerce .woocommerce-ordering { margin: 0 0 28px; }
.woocommerce nav.woocommerce-pagination { margin-top: 48px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; float: none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 48px; height: 48px; padding: 0 8px; display: flex; align-items: center; justify-content: center; box-sizing: border-box; border: 1px solid var(--line); background: transparent; color: var(--fg); font-family: var(--mono); font-size: 14px; }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--fg); color: var(--bg); border-color: var(--fg); }

/* ---------- Ficha de producto ---------- */
.single-product .wp-block-columns.alignwide { gap: clamp(32px, 5vw, 72px); }
.single-product .wp-block-post-title { margin: 0 0 18px; font-size: clamp(48px, 6.4vw, 104px); line-height: 0.84; letter-spacing: -0.01em; text-wrap: balance; }
.single-product .wp-block-post-title a { text-decoration: none; border-bottom: 2px solid var(--line); }
.single-product .wp-block-post-title a:hover { border-bottom-color: var(--fg); }
.single-product .wp-block-woocommerce-product-price, .single-product .wc-block-components-product-price { font-family: var(--disp); font-weight: 900; font-size: 52px !important; line-height: 1; margin: 0 0 18px; color: var(--fg); }
.single-product .wp-block-woocommerce-product-summary, .single-product .wc-block-components-product-summary { background: transparent !important; color: var(--mut) !important; padding: 0 !important; }
.single-product .woocommerce-product-gallery, .single-product .woocommerce-product-gallery img { border-radius: 0; }
.single-product .woocommerce-product-gallery { border: 1px solid var(--line); }
.single-product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 22px 0; }
.single-product form.cart .quantity .qty { width: 84px; min-height: 60px; text-align: center; font-family: var(--mono); }
.single-product form.cart .single_add_to_cart_button { flex: 1 1 240px; min-height: 60px; font-size: 22px; float: none; }
.single-product table.variations { margin: 0 0 8px; width: 100%; }
.single-product table.variations th, .single-product table.variations td { display: block; padding: 4px 0; text-align: left; border: 0; }
.single-product .reset_variations { font-family: var(--mono); font-size: 12px; text-transform: uppercase; }
.single-product .wp-block-woocommerce-product-meta, .single-product .product_meta { border-top: 1px solid var(--fg); font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mut); padding-top: 14px; margin-top: 26px; }
.single-product .product_meta > span { display: block; padding: 6px 0; }
.single-product .product_meta a { color: var(--fg); text-decoration: none; }
.single-product .product_meta a:hover { text-decoration: underline; }
.nmr-spotify { margin: 18px 0; }
.nmr-spotify iframe { border-radius: 0; display: block; }
.single-product .wp-block-woocommerce-product-details { margin-top: 56px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 24px; border-bottom: 1px solid var(--fg); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0 24px 0 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 0; color: var(--mut); font-family: var(--disp); font-weight: 700; font-size: 22px; letter-spacing: .04em; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fg); box-shadow: inset 0 -3px 0 var(--fg); }
.single-product h2.wp-block-heading.alignwide { margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--fg); font-size: clamp(40px, 4.4vw, 64px); }
/* relacionados (bloques) */
.wc-block-product-template { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px !important; }
.wc-block-product-template > li.wc-block-product { width: auto !important; max-width: none !important; margin: 0 !important; }
li.wc-block-product { background: var(--panel); border: 1px solid var(--line); padding: 16px 16px 0; display: flex; flex-direction: column; text-align: left; }
li.wc-block-product:hover { border-color: var(--fg); }
li.wc-block-product .wc-block-components-product-image { margin: 0 0 12px; }
li.wc-block-product .wc-block-components-product-image img { border-radius: 0; aspect-ratio: 1/1; object-fit: cover; }
li.wc-block-product h3 { margin: 0 0 6px !important; text-align: left !important; font-size: inherit; }
li.wc-block-product h3 a { display: flex; flex-direction: column-reverse; gap: 6px; text-decoration: none; }
li.wc-block-product h3 .nmr-track { font-size: 22px; }
li.wc-block-product h3 .nmr-artist { font-size: 11px; }
li.wc-block-product .wc-block-components-product-price { text-align: left !important; font-family: var(--mono); font-size: 13px !important; margin: 0 0 14px; }
li.wc-block-product .nmr-dos-btn, li.wc-block-product .wp-block-button { margin: auto -16px 0; }
li.wc-block-product .nmr-dos-btn, li.wc-block-product .wp-block-button__link { display: flex; align-items: center; justify-content: center; min-height: 46px; width: auto; background: var(--fg) !important; color: var(--bg) !important; font-family: var(--disp); font-weight: 700; font-size: 16px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border-radius: 0; }

/* ---------- Reproductor fijo (fragmento "NMR sticky player") ---------- */
#nmr-player-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: none; align-items: center; gap: 14px; padding: 10px var(--pad); background: var(--bg); border-top: 1px solid var(--fg); color: var(--fg); }
#nmr-player-bar.nmr-visible { display: flex; }
#nmr-player-bar button { flex: none; width: 44px; height: 44px; background: var(--fg); color: var(--bg); border: 0; border-radius: 0; cursor: pointer; font-size: 14px; }
#nmr-player-bar .nmr-pb-close { background: transparent; color: var(--fg); border: 1px solid var(--line); }
#nmr-player-bar .nmr-pb-info { flex: 1 1 auto; min-width: 0; }
#nmr-player-bar .nmr-pb-title { font-family: var(--disp); font-weight: 700; font-size: 18px; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#nmr-player-bar .nmr-pb-rail { height: 6px; margin-top: 6px; background: var(--line); cursor: pointer; }
#nmr-player-bar .nmr-pb-progress { height: 100%; width: 0; background: var(--fg); }
#nmr-player-bar .nmr-pb-time { font-family: var(--mono); font-size: 12px; color: var(--mut); }
.nmr-player-inline #nmr-player-bar { position: static; padding: 14px; border: 1px solid var(--line); background: var(--panel); margin: 18px 0; }
/* con el reproductor propio, en la ficha sobran el del plugin y la barra del fragmento */
.nmr2-own-player.single-product #nmr-player-bar, .nmr2-own-player.single-product .wp-block-columns .wcmp-player-container, .nmr2-own-player.single-product .wp-block-columns .wcmp-player-title, .nmr2-own-player.single-product .wp-block-columns .wcmp-player-list { display: none !important; }

/* ---------- Avisos, carrito, cuenta ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { background: var(--panel) !important; color: var(--fg) !important; border: 1px solid var(--line) !important; border-left: 3px solid var(--fg) !important; border-radius: 0 !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--fg) !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fg); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); font-family: var(--disp); font-weight: 700; font-size: 20px; letter-spacing: .04em; text-transform: uppercase; text-decoration: none !important; color: var(--mut); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { color: var(--fg); }
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 0; }
.woocommerce table.shop_table th { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mut); }
.nmr-dl-product { display: flex; align-items: center; gap: 12px; }
.wc-block-components-sidebar, .wc-block-components-totals-wrapper, .wc-block-cart-items, .wc-block-cart-items td, .wc-block-components-panel { border-color: var(--line) !important; }
.wc-block-components-totals-item__value, .wc-block-components-product-name { color: var(--fg); }
.wc-block-components-product-metadata, .wc-block-components-order-summary-item__quantity { color: var(--mut); }
.wc-block-components-order-summary-item__quantity { background: var(--bg) !important; border-color: var(--line) !important; color: var(--fg) !important; }
.wc-block-mini-cart__drawer .components-modal__content, .wc-block-components-drawer { background: var(--bg) !important; color: var(--fg) !important; }
.is-style-outline .wp-block-button__link { background: transparent !important; color: var(--fg) !important; border: 1px solid var(--fg) !important; }

.single-product form.cart .quantity.hidden, .single-product form.cart .quantity:has(input[type="hidden"]) { display: none; }
.single-product form.cart .single_add_to_cart_button { margin: 0 !important; }

/* ---------- Carrito de la cabecera (plugin Side Cart) y aviso de cookies ---------- */
.nmr-cart { height: 46px; min-width: 46px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--line); color: var(--fg); cursor: pointer; }
.nmr-cart:hover { border-color: var(--fg); }
.nmr-cart .xoo-wsc-sc-cont, .nmr-cart .xoo-wsc-cart-trigger { display: flex; align-items: center; gap: 8px; margin: 0; }
.nmr-cart .xoo-wsc-sc-subt { display: none; }
.nmr-cart .xoo-wsc-sc-bkcont { display: flex; align-items: center; gap: 8px; position: static; }
.nmr-cart .xoo-wsc-sc-bki { font-size: 18px; color: var(--fg); }
.nmr-cart .xoo-wsc-sc-count { position: static; width: auto; height: auto; min-width: 0; padding: 0; background: transparent; color: var(--fg); border-radius: 0; font-family: var(--mono); font-size: 13px; line-height: 1; }
.xoo-wsc-basket { display: none !important; }
.xoo-wsc-container, .xoo-wsc-slider { background: var(--bg) !important; color: var(--fg) !important; }
.xoo-wsc-header, .xoo-wsc-footer, .xoo-wsc-product { background: var(--bg) !important; color: var(--fg) !important; border-color: var(--line) !important; }
.xoo-wsc-container a, .xoo-wsc-ft-totals, .xoo-wsc-sm-info, .xoo-wsc-pname a { color: var(--fg) !important; }
.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn, .xoo-wsc-container .xoo-wsc-btn { background: var(--fg) !important; color: var(--bg) !important; border: 1px solid var(--fg) !important; border-radius: 0 !important; font-family: var(--disp); font-weight: 700; font-size: 18px; letter-spacing: .08em; text-transform: uppercase; }
#cookie-notice { background: var(--panel) !important; border-top: 1px solid var(--line); font-family: inherit; }
#cookie-notice .cn-button { background: var(--fg) !important; color: var(--bg) !important; border-radius: 0 !important; font-family: var(--disp); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- Titulo de pagina ---------- */
.nmr-pagetitle { margin-bottom: 32px !important; }
/* las paginas de artista (foto + nombre) y la cuenta ya traen su propio titulo */
.nmr-page:has(.wp-block-post-content > .wp-block-media-text:first-child) > .nmr-pagetitle,
.woocommerce-account .nmr-pagetitle, .woocommerce-checkout .nmr-pagetitle { display: none; }
.wp-block-post-content h3 a, .wp-block-post-content h2 a { text-decoration: none !important; }
.wp-block-post-content h3 a:hover { text-decoration: underline !important; }
.wpcf7 form { max-width: 640px; }
.wpcf7 form p { margin: 0 0 18px; }
.wpcf7 input:not([type="submit"]), .wpcf7 textarea { width: 100%; }
input[type="submit"] { background: var(--fg) !important; color: var(--bg) !important; }
.wp-block-media-text { gap: clamp(24px, 4vw, 56px); }
.wp-block-media-text .wp-block-media-text__content { padding: 0; }

/* paginas cuyo contenido ya empieza por su propio titulo (NMR Releases, Special Releases...) */
.nmr-page:has(.wp-block-post-content > .wp-block-heading:first-child) > .nmr-pagetitle { display: none; }
.wp-block-post-content > .wp-block-heading:first-child { margin-top: 0; font-size: clamp(48px, 6vw, 88px); line-height: 0.9; }

/* ---------- Movil ---------- */
@media (max-width: 900px) {
	.nmr-top__links > a:not(.nmr-top__btn) { display: none; }
}
@media (max-width: 600px) {
	.nmr-artists { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.nmr-artistcard__name { font-size: 20px; padding: 10px; }
	.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; }
	.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding: 16px 16px 0; }
	.woocommerce ul.products li.product .nmr-dos-btn, .woocommerce ul.products li.product .button { margin-inline: -16px !important; }
	.woocommerce ul.products.nmr-grid--rail li.product { flex-basis: 280px; width: 280px !important; }
	.nmr-row__price { width: auto; }
	.nmr-foot__cols { gap: 28px 40px; }
	.nmr-hero2__cta .nmr-btn { min-height: 52px; padding: 0 20px; font-size: 19px; }
	.nmr-h3 { font-size: 40px; }
}

/* ---------- Menu movil: submenus plegados con flecha ---------- */
.nmr-nav .is-menu-open .has-child { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; }
.nmr-nav .is-menu-open .has-child > .wp-block-navigation__submenu-container { display: none !important; flex-basis: 100%; padding: 4px 0 10px 16px !important; border: 0 !important; border-left: 1px solid var(--line) !important; background: transparent !important; font-size: 22px; }
.nmr-nav .is-menu-open .has-child.nmr-sub-open > .wp-block-navigation__submenu-container { display: flex !important; }
.nmr-nav .is-menu-open .wp-block-navigation-submenu__toggle { display: flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0 !important; padding: 0; border: 1px solid var(--line); background: transparent; color: var(--fg); cursor: pointer; }
.nmr-nav .is-menu-open .wp-block-navigation-submenu__toggle svg { width: 16px; height: 16px; stroke: currentColor; transition: transform .15s; }
.nmr-nav .is-menu-open .nmr-sub-open > .wp-block-navigation-submenu__toggle { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.nmr-nav .is-menu-open .nmr-sub-open > .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg); }
.nmr-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; }
.nmr-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; width: 100%; }
.nmr-nav .is-menu-open .wp-block-navigation-item__content { border-bottom: 0 !important; }
.nmr-nav .is-menu-open .has-child { justify-content: flex-start !important; align-items: center !important; width: 100%; flex-direction: row !important; }
.nmr-nav .is-menu-open .has-child > .wp-block-navigation-item__content { flex: 0 1 auto !important; width: auto !important; }
.nmr-nav .is-menu-open .has-child > .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; width: 100%; box-sizing: border-box; margin-top: 8px; gap: 2px; }
.nmr-nav .is-menu-open .wp-block-navigation-submenu__toggle svg { transform: rotate(0deg) !important; margin: 0 !important; }
.nmr-nav .is-menu-open .nmr-sub-open > .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg) !important; }
.nmr-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
.nmr-nav .is-menu-open .has-child.nmr-sub-open > .wp-block-navigation-submenu__toggle svg { rotate: 180deg; transform: none !important; }

/* ---------- Reproductor propio ---------- */
.nmr-player { width: 100%; box-sizing: border-box; }
.nmr-player__main { display: flex; align-items: center; gap: 14px; }
.nmr-player__btn { flex: none; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; padding: 0; background: var(--fg); color: var(--bg); border: 0; border-radius: 0; cursor: pointer; }
.nmr-player__btn:hover { background: #fff; }
.nmr-player .nmr-ic-pause, .nmr-player.is-playing .nmr-ic-play { display: none; }
.nmr-player.is-playing .nmr-ic-pause { display: block; }
.nmr-player__wave { flex: 1 1 auto; min-width: 0; height: 56px; display: flex; align-items: center; gap: 2px; cursor: pointer; }
.nmr-player__wave i { flex: 1 1 0; min-width: 1px; background: #3A3A38; transition: background .1s; }
.nmr-player__wave i.is-on { background: var(--fg); }
.nmr-player__wave:hover i:not(.is-on) { background: #55554F; }
.nmr-player__time { flex: none; font-family: var(--mono); font-size: 12px; color: var(--mut); white-space: nowrap; }
.nmr-player__tracks { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--line); counter-reset: t; }
.nmr-player__tracks li { margin: 0; border-bottom: 1px solid var(--line); }
.nmr-player__track { width: 100%; min-height: 44px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 0 4px; background: transparent; color: var(--mut); border: 0; text-align: left; font-family: var(--mono); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.nmr-player__track::before { counter-increment: t; content: counter(t, decimal-leading-zero); margin-right: 4px; }
.nmr-player__track span:first-of-type { flex: 1 1 auto; }
.nmr-player__track:hover, .nmr-player__track.is-current { color: var(--fg); }
.nmr-hero2 .nmr-player { max-width: 520px; padding: 14px; background: rgba(10, 10, 10, .72); border: 1px solid var(--line); }
.nmr-hero2 .nmr-player__btn, .nmr-hero2 .nmr-player__wave { height: 48px; }
.nmr-hero2 .nmr-player__btn { width: 48px; }

/* ---------- Ficha: caja de compra y ficha tecnica ---------- */
.nmr-buybox { margin-top: 22px; padding: 16px; background: var(--panel); border: 1px solid var(--line); }
.nmr-buybox form.cart { margin: 16px 0 0 !important; }
.single-product .nmr-spotify { margin: 22px 0 0; }
.single-product .nmr-spotify::before { content: "Stream on Spotify"; display: block; margin-bottom: 8px; font-family: var(--mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--mut); }
.nmr-sheet { margin: 28px 0 0; border-top: 1px solid var(--fg); font-family: var(--mono); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.nmr-sheet > div { display: flex; justify-content: space-between; gap: 24px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.nmr-sheet dt { color: var(--mut); }
.nmr-sheet dd { margin: 0; text-align: right; }

/* ---------- Franja de senalizacion y cinta ---------- */
.nmr-hazard { height: 14px; background: repeating-linear-gradient(135deg, var(--fg) 0 14px, var(--bg) 14px 28px); }
.nmr-tape { overflow: hidden; border-bottom: 1px solid var(--line); }
.nmr-tape__run { display: flex; width: max-content; gap: 36px; padding: 14px 0; white-space: nowrap; font-family: var(--disp); font-weight: 700; font-size: 26px; letter-spacing: .06em; text-transform: uppercase; animation: nmr-tape 60s linear infinite; }
.nmr-tape__run span { padding-right: 0; }
.nmr-tape__sep { color: var(--mut); }
@keyframes nmr-tape { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .nmr-tape__run { animation: none; } }
@media (max-width: 600px) { .nmr-tape__run { font-size: 20px; gap: 24px; padding: 10px 0; } .nmr-hazard { height: 10px; } }

/* ---------- Ficha: comprar + streaming ---------- */
.nmr-buybox__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.nmr-buybox__actions > .wp-block-add-to-cart-form { flex: 1 1 240px; margin: 0; }
.nmr-buybox__actions form.cart { margin: 0 !important; }
.nmr-buybox__actions form.cart:not(.variations_form) { height: 100%; }
.nmr-stream { flex: 1 1 200px; min-height: 60px; gap: 10px; font-size: 22px; letter-spacing: .06em; white-space: nowrap; }
.nmr-sheet ~ .wp-block-woocommerce-product-meta:not(:has(*)) { display: none; }
.nmr-buybox__actions form.cart { padding: 0 !important; display: flex; }
.nmr-buybox__actions form.cart .single_add_to_cart_button { width: 100%; }
.nmr-buybox__actions .wp-block-add-to-cart-form, .nmr-buybox__actions form.cart, .nmr-buybox__actions form.cart .single_add_to_cart_button { margin: 0 !important; padding-left: 0; padding-right: 0; }
.nmr-buybox__actions .wp-block-add-to-cart-form { padding: 0 !important; }

.nmr-sheet dd a { color: var(--fg); text-decoration: underline; text-decoration-color: var(--mut); text-underline-offset: 4px; padding: 10px 0; }
.nmr-sheet dd a:hover { text-decoration-color: var(--fg); }

/* ---------- Ficha: botones de compra en rejilla (con los pagos rapidos de Stripe y PayPal debajo) ---------- */
.nmr-buybox__actions { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
.nmr-buybox__actions:has(> .nmr-stream) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.nmr-buybox__actions > .wp-block-add-to-cart-form { display: contents !important; }
.nmr-buybox__actions form.cart { display: block !important; height: auto !important; min-width: 0; margin: 0 !important; padding: 0 !important; order: 1; grid-column: 1; }
.nmr-buybox__actions form.cart.variations_form { grid-column: 1 / -1; }
.nmr-buybox__actions form.cart .single_add_to_cart_button { display: flex; width: 100%; height: 60px; min-height: 60px; flex: none; }
.nmr-buybox__actions > .nmr-stream { order: 2; grid-column: 2; min-width: 0; height: 60px; flex: none; }
.nmr-buybox__actions form.cart.variations_form ~ * , .nmr-buybox__actions:has(form.cart.variations_form) > .nmr-stream { grid-column: 1 / -1; }
.nmr-buybox__actions #wc-stripe-express-checkout-element, .nmr-buybox__actions .ppcp-messages, .nmr-buybox__actions .ppc-button-wrapper, .nmr-buybox__actions wc-order-attribution-inputs { order: 3; grid-column: 1 / -1; min-width: 0; margin: 0 !important; }
.nmr-buybox__actions .ppcp-messages:empty, .nmr-buybox__actions wc-order-attribution-inputs { display: none; }
@media (max-width: 600px) {
	.nmr-buybox__actions, .nmr-buybox__actions:has(> .nmr-stream) { grid-template-columns: minmax(0, 1fr); }
	.nmr-buybox__actions > .nmr-stream { grid-column: 1; }
}
/* los textos de PayPal vienen en negro (son suyos, dentro de un marco): se les pone fondo claro para que se lean */
.nmr-buybox__actions .ppcp-messages:not(:empty) { background: var(--fg); padding: 8px 10px 2px; margin-bottom: -12px !important; }
.nmr-buybox__actions .ppc-button-wrapper { background: var(--fg); padding: 10px 10px 4px; }
.ppcp-messages:not(:empty) { background: var(--fg); padding: 8px 10px 2px; }
.woocommerce-message .button, .woocommerce-error .button, .woocommerce-info .button { color: var(--fg) !important; border-color: var(--fg) !important; min-height: 40px; font-size: 16px; }

/* ---------- Texto solo para lectores de pantalla y buscadores ---------- */
.nmr-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
h2.nmr-hero2__title { margin: 0; }
.wp-block-post-content > h1.wp-block-heading:first-child { margin-bottom: 20px; }
.wp-block-media-text h1 { margin: 0 0 16px; font-size: clamp(48px, 6vw, 88px); line-height: .9; }

/* ---------- Mi cuenta > Downloads agrupadas por release ---------- */
.nmr-dl { border-top: 1px solid var(--fg); }
.nmr-dl__release { border-bottom: 1px solid var(--line); }
.nmr-dl__release > summary { display: flex; align-items: center; gap: 14px; padding: 14px 0; cursor: pointer; list-style: none; }
.nmr-dl__release > summary::-webkit-details-marker { display: none; }
.nmr-dl__cover { flex: none; width: 64px; height: 64px; background: var(--panel); border: 1px solid var(--line); line-height: 0; }
.nmr-dl__cover img { width: 100%; height: 100%; object-fit: cover; }
.nmr-dl__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nmr-dl__title { font-family: var(--disp); font-weight: 900; font-size: 26px; line-height: 1; text-transform: uppercase; }
.nmr-dl__artist { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mut); }
.nmr-dl__count { flex: none; font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mut); white-space: nowrap; }
.nmr-dl__arrow { flex: none; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); transition: transform .15s; }
.nmr-dl__release[open] .nmr-dl__arrow { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.nmr-dl__release[open] .nmr-dl__arrow svg { transform: rotate(180deg); }
.nmr-dl__files { list-style: none; margin: 0 0 16px; padding: 0 0 0 78px; counter-reset: f; }
.nmr-dl__files li { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding: 8px 0; border-top: 1px solid var(--line); }
.nmr-dl__name { min-width: 0; font-size: 15px; overflow-wrap: anywhere; }
.nmr-dl__name small { display: block; font-family: var(--mono); font-size: 11px; color: var(--mut); }
.nmr-dl__get { flex: none; min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px; background: var(--fg); color: var(--bg) !important; font-family: var(--disp); font-weight: 700; font-size: 17px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none !important; }
.nmr-dl__get:hover { background: #fff; }
@media (max-width: 600px) {
	.nmr-dl__files { padding-left: 0; }
	.nmr-dl__cover { width: 52px; height: 52px; }
	.nmr-dl__title { font-size: 22px; }
	.nmr-dl__get span { display: none; }
	.nmr-dl__get { padding: 0; width: 44px; justify-content: center; }
}
.woocommerce-order-downloads { margin-bottom: 40px; }
.woocommerce-order-downloads__title, .wc-block-order-confirmation-downloads__title { margin-bottom: 16px; }

/* ---------- Ficha: pagos rapidos recogidos tras un boton ---------- */
.nmr-stream svg { flex: none; }
.nmr-buybox__actions { position: relative; }
.nmr-express__toggle { display: none; order: 3; grid-column: 1 / -1; min-height: 48px; padding: 8px 14px; align-items: center; gap: 4px 14px; flex-wrap: wrap; background: transparent; color: var(--fg); border: 1px solid var(--line); border-radius: 0; font-family: var(--mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; text-align: left; cursor: pointer; }
.has-express > .nmr-express__toggle { display: flex; }
.nmr-express__toggle:hover, .is-express-open > .nmr-express__toggle { border-color: var(--fg); }
.nmr-express__brands { flex: 1 1 auto; color: var(--mut); letter-spacing: .04em; text-transform: none; }
.nmr-express__chev { flex: none; margin-left: auto; transition: transform .15s; }
.is-express-open > .nmr-express__toggle .nmr-express__chev { transform: rotate(180deg); }
.nmr-buybox__actions #wc-stripe-express-checkout-element, .nmr-buybox__actions .ppc-button-wrapper { order: 4; }
/* cerrado: los botones siguen cargados (con su ancho real) pero fuera de la vista y sin ocupar sitio */
.has-express:not(.is-express-open) > .wp-block-add-to-cart-form > #wc-stripe-express-checkout-element,
.has-express:not(.is-express-open) > .wp-block-add-to-cart-form > .ppc-button-wrapper { position: absolute; left: 0; right: 0; top: 0; height: 0; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; padding: 0; }
/* el aviso de "paga en 3 plazos" es para compras de mas de 20 EUR: en una release sobra */
.nmr-buybox .ppcp-messages, .nmr-buybox #wc-stripe-express-checkout-button-separator { display: none !important; }
.nmr-buybox--free #wc-stripe-express-checkout-element, .nmr-buybox--free .ppc-button-wrapper { display: none !important; }

/* ---------- Boton de Spotify: su verde y su logo (el unico color de la ficha, a proposito) ---------- */
.nmr-btn.nmr-stream { background: #1ED760; border-color: #1ED760; color: #0A0A0A; gap: 10px; }
.nmr-btn.nmr-stream:hover { background: #3BE477; border-color: #3BE477; color: #0A0A0A; }
.nmr-stream__logo { flex: none; }
