/* =====================================================================
   RecambioMX (tema hijo de AngarTheme) - estilos propios
   PrestaShop carga este fichero solo (assets/css/custom.css, prioridad 1000),
   despues de los CSS de AngarTheme. Todo va bajo body.rmx para no pisar el back office.
   Indice:  0 tokens · 1 base · 2 cabecera · 3 pie · 4 paginas claras
            5 paginas oscuras (envoltorio, migas, columna/filtros) · 6 piezas comunes
            7 listado · 8 tarjeta · 9 ficha · 10 portada · 11 movimiento
   ===================================================================== */

/* ---------- 0 tokens ---------- */
body.rmx {
  --ink: #04062B;
  --deep: #02041F;
  --night: #010214;
  --panel: #070C5C;
  --blue: #0203F2;
  --blue2: #0B1A9E;
  --lime: #C4FC07;
  --t1: #DDE2FA;
  --t2: #B8C0F0;
  --t3: #8A93C9;
  --line: rgba(255,255,255,.16);
  --line2: rgba(255,255,255,.5);
  --head-h: 95px;
  --f-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --f-cond: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --ease: cubic-bezier(.2,.6,.2,1);
}

/* ---------- 1 base ---------- */
body.rmx { margin: 0; background: var(--ink); -webkit-font-smoothing: antialiased; }
body.rmx main { background: var(--ink); overflow-x: clip; max-width: none; }
html { scroll-padding-top: 100px; }
body.rmx .rmx-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.rmx .rmx-mono { font-family: var(--f-mono); }
body.rmx .rmx-lime { color: var(--lime); }
body.rmx .rmx-wrap { max-width: 1440px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
body.rmx .rmx-kicker { font: 500 11px var(--f-mono); letter-spacing: .2em; color: var(--t2); text-transform: uppercase; }
body.rmx .rmx-hint { display: block; font: 500 10px var(--f-mono); letter-spacing: .12em; color: var(--t2); }
body.rmx :focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }

/* botones */
body.rmx .rmx-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 18px; border: 1px solid var(--lime); border-radius: 0;
  font: 800 18px/1 var(--f-cond); letter-spacing: .08em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; box-shadow: none; transition: background .2s, color .2s, border-color .2s;
}
body.rmx .rmx-btn--lime { background: var(--lime); color: var(--ink); }
body.rmx .rmx-btn--lime:hover, body.rmx .rmx-btn--lime:focus { background: #fff; border-color: #fff; color: var(--ink); text-decoration: none; }
body.rmx .rmx-btn--ghost { background: transparent; color: #fff; border-color: #fff; }
body.rmx .rmx-btn--ghost:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); text-decoration: none; }
body.rmx .rmx-btn--xl { min-height: 60px; font-size: 24px; width: 100%; }
body.rmx .rmx-btn[disabled] { opacity: .45; cursor: not-allowed; }

/* campo de busqueda (cabecera, portada, listado) */
body.rmx .rmx-field { display: flex; background: rgba(4,6,43,.85); border-bottom: 2px solid var(--lime); }
body.rmx .rmx-field input[type=text] {
  flex: 1; min-width: 0; height: 52px; margin: 0; padding: 0 14px; border: 0; border-radius: 0; outline: 0;
  background: transparent; color: #fff; font: 500 18px var(--f-mono); box-shadow: none;
}
body.rmx .rmx-field input[type=text]::placeholder { color: var(--t3); opacity: 1; }
body.rmx .rmx-field__go {
  position: static; width: auto; height: auto; line-height: 1; padding: 0 16px; border: 0; border-radius: 0;
  background: var(--lime); color: var(--ink); font: 800 20px var(--f-cond); letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
}
body.rmx .rmx-field__go:hover { background: #fff; }

/* ---------- 2 cabecera ---------- */
body.rmx #header.rmx-head {
  position: sticky; top: 0; z-index: 400; margin: 0; padding: 0; box-shadow: none;
  background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; font-family: var(--f-sans);
}
body.rmx #header.rmx-head--over { position: fixed; left: 0; right: 0; background: rgba(4,6,43,.7); transition: background .4s; }
body.rmx #header.rmx-head--over.is-past { background: var(--ink); }
body.rmx #header .header-banner:empty { display: none; }
body.rmx .rmx-bar { max-width: 1440px; margin: 0 auto; padding: 0 8px 0 16px; height: 56px; display: flex; align-items: center; gap: 4px; box-sizing: border-box; }
body.rmx .rmx-logo { display: flex; align-items: center; min-width: 0; flex: 1 1 0; margin-right: 12px; overflow: hidden; }
body.rmx .rmx-logo img { display: block; width: 100%; max-width: 340px; height: auto; max-height: none; }
body.rmx .rmx-iconbtn {
  flex: none; position: relative; min-width: 48px; min-height: 48px; padding: 0 12px; margin: 0;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: transparent; border: 0; border-radius: 0; color: #fff; font: 600 14px var(--f-sans); text-decoration: none; cursor: pointer;
}
body.rmx .rmx-iconbtn:hover, body.rmx .rmx-iconbtn[aria-expanded=true] { color: var(--lime); text-decoration: none; }
body.rmx .rmx-wide { display: none; }
body.rmx .rmx-account { display: none; }
body.rmx #header #_desktop_search_widget, body.rmx #header #_desktop_cart {
  display: block; float: none; width: auto; padding: 0; margin: 0; position: static;
}
body.rmx #footer #_desktop_user_info { display: block; }
body.rmx #header #_desktop_search_widget { margin-left: auto; }
body.rmx #header .blockcart, body.rmx #header .blockcart .header { float: none; background: transparent; padding: 0; margin: 0; }
body.rmx .rmx-cart__n {
  position: absolute; top: 6px; right: 4px; min-width: 18px; height: 18px; padding: 0 4px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; border-radius: 9px;
  background: var(--lime); color: var(--ink); font: 600 11px/1 var(--f-mono);
}
body.rmx .blockcart.inactive .rmx-cart__n { background: rgba(255,255,255,.2); color: #fff; }

/* panel del buscador de la cabecera */
body.rmx .rmx-search__panel {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 5;
  background: var(--ink); border-bottom: 1px solid var(--line); padding: 14px 16px 16px;
  box-shadow: 0 24px 40px rgba(0,0,10,.5);
}
body.rmx .rmx-search__panel[hidden] { display: none; }
body.rmx .rmx-search__panel #search_widget { max-width: 760px; margin: 0 auto; float: none; width: auto; padding: 0; position: relative; }
body.rmx #search_widget form { display: flex; flex-direction: column; gap: 6px; }
body.rmx #search_widget form input[type=text] { height: 52px; padding: 0 14px; color: #fff; border: 0; }
body.rmx #search_widget form button[type=submit] { position: static; width: auto; height: auto; line-height: 1; background: var(--lime); color: var(--ink); }

/* autocompletado (jQuery UI) */
body.rmx ul.ui-autocomplete.ui-widget, body.rmx ul.ui-autocomplete.ui-corner-all {
  max-width: none; max-height: 60vh; overflow: auto; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 0;
  background: var(--ink); color: #fff; font-family: var(--f-sans); z-index: 600 !important;
}
body.rmx ul.ui-autocomplete li { border-bottom: 1px solid rgba(255,255,255,.08) !important; list-style: none; }
body.rmx ul.ui-autocomplete li a.rmx-ac {
  display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: baseline;
  padding: 12px 14px !important; color: #fff; text-decoration: none; border: 0 !important; border-radius: 0 !important; margin: 0 !important;
}
body.rmx ul.ui-autocomplete li a.rmx-ac.ui-state-focus, body.rmx ul.ui-autocomplete li a.rmx-ac:hover,
body.rmx ul.ui-autocomplete li.ui-state-focus a.rmx-ac { background: var(--blue2) !important; color: #fff !important; }
body.rmx .rmx-ac__ref { font: 600 16px var(--f-mono); color: var(--lime); }
body.rmx .rmx-ac__name { font-size: 13px; color: var(--t1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rmx .rmx-ac__price { font: 600 14px var(--f-mono); white-space: nowrap; }

/* tira de categorias */
body.rmx .rmx-strip {
  max-width: 1440px; margin: 0 auto; display: flex; overflow-x: auto; padding: 0 6px;
  scrollbar-width: none; border-top: 1px solid rgba(255,255,255,.08); box-sizing: border-box;
}
body.rmx .rmx-strip::-webkit-scrollbar { display: none; }
body.rmx .rmx-strip__a {
  flex: none; display: flex; align-items: center; min-height: 38px; padding: 0 10px; box-sizing: border-box;
  color: #fff; text-decoration: none; font: 600 13px var(--f-sans); white-space: nowrap; border-bottom: 2px solid transparent;
}
body.rmx .rmx-strip__a:first-child { color: var(--lime); }
body.rmx .rmx-strip__a:hover { color: var(--lime); text-decoration: none; }
body.rmx .rmx-strip__a.is-on { color: var(--lime); border-bottom-color: var(--lime); }

@media (min-width: 481px) {
  body.rmx .rmx-account { display: flex; }
}
@media (min-width: 701px) {
  body.rmx .rmx-wide { display: inline; }
  body.rmx .rmx-cart__a .rmx-wide { padding-right: 10px; }
}

/* ventana "producto anadido" (modal de ps_shoppingcart, plantilla de AngarTheme) */
body.rmx #blockcart-modal .modal-content { border-radius: 0; border: 2px solid var(--lime); background: var(--ink); color: #fff; font-family: var(--f-sans); }
body.rmx #blockcart-modal .modal-header { background: var(--panel); border: 0; }
body.rmx #blockcart-modal .modal-title, body.rmx #blockcart-modal .modal-body, body.rmx #blockcart-modal p,
body.rmx #blockcart-modal span, body.rmx #blockcart-modal strong, body.rmx #blockcart-modal .product-name { color: #fff; }
body.rmx #blockcart-modal .close { color: #fff; opacity: 1; text-shadow: none; }
body.rmx #blockcart-modal .btn-primary { background: var(--lime); border-color: var(--lime); color: var(--ink); border-radius: 0; font: 800 17px var(--f-cond); letter-spacing: .06em; text-transform: uppercase; }
body.rmx #blockcart-modal .btn-secondary { background: transparent; border: 1px solid #fff; color: #fff; border-radius: 0; }

/* ---------- 3 pie ---------- */
body.rmx #footer.rmx-foot { background: var(--deep); color: var(--t1); font-family: var(--f-sans); padding: 0; margin: 0; }
body.rmx #footer .rmx-foot__before:empty { display: none; }
body.rmx .rmx-footbar { max-width: 1440px; margin: 0 auto; padding: 48px 20px 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; box-sizing: border-box; }
body.rmx .rmx-footbar__logo { width: min(220px, 60vw); height: auto; display: block; }
body.rmx .rmx-footbar__info { display: flex; flex-wrap: wrap; gap: 12px 32px; font: 500 14px/1.5 var(--f-sans); color: var(--t1); }
body.rmx .rmx-footbar__info a { color: #fff; text-decoration: none; }
body.rmx .rmx-footbar__info a:hover { color: var(--lime); }
body.rmx .rmx-footbar__info .rmx-lime { font-weight: 600; }

/* creditos (portada) */
body.rmx .rmx-credits {
  background: var(--ink); text-align: center; padding: clamp(88px,10vw,144px) 20px 56px;
  display: flex; flex-direction: column; align-items: center; gap: 40px;
}
body.rmx .rmx-credit { display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 760px; }
body.rmx .rmx-credit__k { font: 500 12px var(--f-mono); letter-spacing: .32em; color: var(--t2); }
body.rmx .rmx-credit__v { font: 500 clamp(19px,2.2vw,24px)/1.4 var(--f-sans); color: #fff; text-decoration: none; }
body.rmx a.rmx-credit__v { font-family: var(--f-mono); padding: 4px 0; }
body.rmx a.rmx-credit__v:hover { color: var(--lime); }
body.rmx .rmx-credit__big { font: 700 clamp(30px,4vw,48px) var(--f-cond); letter-spacing: .06em; text-transform: uppercase; color: #fff; }
body.rmx .rmx-dashed { border: 1px dashed rgba(255,255,255,.6); padding: 2px 10px; font-size: clamp(17px,2vw,21px); }
body.rmx .rmx-credits__logo { width: min(340px,72vw); height: auto; display: block; }
body.rmx .rmx-credits__fin { padding-top: 48px; font: 800 clamp(56px,8vw,96px)/1 var(--f-cond); letter-spacing: .2em; padding-left: .2em; color: #fff; }

/* hooks del pie (enlaces legales, cuenta, idioma...) en pequeno */
body.rmx #footer .rmx-foot__hooks { background: var(--deep); border-top: 1px solid rgba(255,255,255,.08); padding: 24px 0 16px; color: var(--t2); font-size: 13px; }
body.rmx #footer .rmx-foot__hooks .container { max-width: 1440px; width: 100%; padding: 0 16px; box-sizing: border-box; }
body.rmx #footer .rmx-foot__hooks a { color: var(--t2); }
body.rmx #footer .rmx-foot__hooks a:hover { color: var(--lime); }
body.rmx #footer .rmx-foot__hooks h4, body.rmx #footer .rmx-foot__hooks .h4, body.rmx #footer .rmx-foot__hooks .h3,
body.rmx #footer .rmx-foot__hooks .title, body.rmx #footer .rmx-foot__hooks p.h6 { color: #fff; font: 700 16px var(--f-cond); letter-spacing: .08em; text-transform: uppercase; }
body.rmx #footer .rmx-foot__hooks ul { list-style: none; padding: 0; }
body.rmx #footer .rmx-foot__nav { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; padding: 12px 0 0; }
body.rmx #footer .rmx-foot__nav > * { float: none; width: auto; }
body.rmx #footer .bottom-footer { background: transparent; color: var(--t3); text-align: center; font: 500 11px var(--f-mono); letter-spacing: .12em; padding: 16px; border: 0; }

/* ---------- 4 paginas claras (carrito, pedido, cuenta, CMS, contacto) ---------- */
body.rmx-light #wrapper { background: #F4F5FB; color: #04062B; padding: 24px 0 48px; }
body.rmx-light #wrapper h1, body.rmx-light #wrapper .h1 { font-family: var(--f-cond); font-weight: 800; text-transform: uppercase; color: #04062B; }

/* ---------- 5 paginas oscuras ---------- */
body.rmx-dark, body.rmx-dark #wrapper { background: var(--ink); color: #fff; font-family: var(--f-sans); font-size: 15px; line-height: 1.45; }
body.rmx-dark #wrapper { padding: 0 0 72px; }
body.rmx-dark #wrapper a { color: #fff; text-underline-offset: 3px; }
body.rmx-dark #wrapper a:hover { color: var(--lime); }
body.rmx-dark #wrapper h1, body.rmx-dark #wrapper h2, body.rmx-dark #wrapper h3, body.rmx-dark #wrapper .h6 { color: #fff; }
body.rmx-dark #wrapper > .container { max-width: 1440px; width: 100%; padding: 0 16px; box-sizing: border-box; }
body.rmx-dark #wrapper > .container > .row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 28px; margin: 0; }
body.rmx-dark #wrapper > .container > .row::before, body.rmx-dark #wrapper > .container > .row::after { display: none; }
body.rmx-dark #wrapper > .container > .row > .breadcrumb { flex: 0 0 100%; }
body.rmx-dark #content-wrapper { flex: 1 1 0; min-width: 0; width: auto; max-width: none; float: none; padding: 20px 0 0; }
body.rmx-dark #right-column:empty { display: none; }
body.rmx-dark #main .page-footer:empty, body.rmx-dark #main .page-footer { margin: 0; }
body.rmx-dark #notifications .container { max-width: 1440px; }

/* migas (ficha) */
body.rmx-dark #wrapper .breadcrumb { display: block !important; padding: 16px 0 0; margin: 0; background: transparent; }
body.rmx-dark #wrapper .breadcrumb ol { display: flex; flex-wrap: wrap; gap: 4px 8px; background: transparent; border: 0; padding: 0; margin: 0; font: 500 13px var(--f-sans); }
body.rmx-dark #wrapper .breadcrumb li { background: transparent !important; display: inline-flex; align-items: center; gap: 8px; }
body.rmx-dark #wrapper .breadcrumb li::after { content: "›"; position: static; display: inline; border: 0; background: none; width: auto; height: auto; color: var(--t2); font-size: 13px; }
body.rmx-dark #wrapper .breadcrumb li:last-child::after { display: none; }
body.rmx-dark #wrapper .breadcrumb li a { padding: 0; line-height: 1.4; color: var(--t1); }
body.rmx-dark #wrapper .breadcrumb li:last-child a { color: #fff; font-weight: 600; text-decoration: none; pointer-events: none; }
body.rmx .rmx-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font: 500 13px var(--f-sans); color: var(--t2); }
body.rmx .rmx-crumbs a { color: var(--t1); }
body.rmx .rmx-crumbs [aria-current] { color: #fff; font-weight: 600; }

/* columna izquierda = filtros. Escritorio: caja fija al hacer scroll. Movil: hoja que sube desde abajo */
body.rmx-dark #left-column {
  float: none; width: auto; max-width: none; padding: 0; color: #fff;
}
body.rmx-dark #left-column .block, body.rmx-dark #left-column #search_filters, body.rmx-dark #left-column .block-categories,
body.rmx-dark #left-column .links, body.rmx-dark #left-column section {
  background: transparent; border: 0; box-shadow: none; margin: 0 0 18px; padding: 0;
}
body.rmx-dark #left-column .h6, body.rmx-dark #left-column .facet-title, body.rmx-dark #left-column .title_block,
body.rmx-dark #left-column p.h6 {
  display: block; margin: 0 0 10px; padding: 0 0 6px; border: 0; border-bottom: 1px solid var(--line); background: transparent;
  font: 500 11px var(--f-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--t2);
}
body.rmx-dark #left-column .h6 a, body.rmx-dark #left-column .h6 span { color: var(--t2); background: transparent; padding: 0; }
body.rmx-dark #left-column ul { list-style: none; margin: 0; padding: 0; }
body.rmx-dark #left-column li { border: 0; padding: 0; margin: 0 0 6px; }
body.rmx-dark #left-column a { color: #fff; }
body.rmx-dark #left-column .facet-label { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 10px; margin: 0; border: 1px solid rgba(255,255,255,.22); font: 600 14px var(--f-sans); color: #fff; cursor: pointer; }
body.rmx-dark #left-column .facet-label.active { background: var(--blue); border-color: var(--lime); }
body.rmx-dark #left-column .facet-label a { color: #fff; text-decoration: none; flex: 1; }
body.rmx-dark #left-column .magnitude { font: 500 13px var(--f-mono); color: var(--t2); }
body.rmx-dark #left-column .custom-checkbox input[type=checkbox], body.rmx-dark #left-column .custom-radio input[type=radio] { accent-color: var(--lime); }
body.rmx-dark #left-column .custom-checkbox span { border-color: #fff; background: transparent; }
body.rmx-dark #left-column .block-categories .tree a { display: block; padding: 6px 0; font: 500 14px var(--f-sans); }
body.rmx-dark #left-column .block-categories .tree a.selected { color: var(--lime); }
body.rmx-dark #left-column .grower { filter: invert(1); }
body.rmx-dark #left-column .js-search-filters-clear-all, body.rmx-dark #left-column .btn-tertiary {
  background: transparent; border: 0; color: var(--lime); font: 600 13px var(--f-sans); text-decoration: underline; padding: 0; min-height: 36px;
}
body.rmx-dark #left-column img { max-width: 100%; height: auto; }
body.rmx .rmx-sheet-head, body.rmx .rmx-sheet-foot { display: none; }

@media (min-width: 901px) {
  body.rmx-dark #left-column {
    flex: 0 0 264px; position: sticky; top: calc(var(--head-h) + 20px); margin-top: 20px;
    max-height: calc(100vh - var(--head-h) - 40px); overflow: auto; scrollbar-width: thin;
    padding: 18px; border: 1px solid var(--line); background: var(--panel); box-sizing: border-box;
  }
  body.rmx-dark #left-column::before { content: "Filtros"; display: block; margin: 0 0 14px; font: 800 26px var(--f-cond); text-transform: uppercase; letter-spacing: .04em; }
  body.rmx .rmx-tools__filters { display: none !important; }
}
@media (max-width: 900px) {
  body.rmx-dark #left-column { display: none; }
  body.rmx-dark.rmx-sheet-open #left-column {
    display: flex; flex-direction: column; position: fixed; left: 0; right: 0; bottom: 0; z-index: 700;
    max-height: 88svh; max-height: 88vh; overflow: auto; background: var(--panel); border-top: 2px solid var(--lime);
    padding: 0 16px; box-sizing: border-box; width: 100%;
  }
  body.rmx-dark.rmx-sheet-open::after { content: ""; position: fixed; inset: 0; z-index: 650; background: rgba(2,4,31,.7); }
  body.rmx-dark.rmx-sheet-open { overflow: hidden; }
  body.rmx .rmx-sheet-head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2; background: var(--panel); margin: 0 -16px 12px; padding: 6px 8px 6px 16px; border-bottom: 1px solid var(--line); }
  body.rmx .rmx-sheet-title { font: 800 26px var(--f-cond); text-transform: uppercase; letter-spacing: .04em; color: #fff; }
  body.rmx .rmx-sheet-close { width: 48px; height: 48px; border: 0; background: transparent; color: #fff; font: 400 30px var(--f-sans); cursor: pointer; }
  body.rmx .rmx-sheet-foot { display: flex; position: sticky; bottom: 0; background: var(--panel); margin: 12px -16px 0; padding: 12px 16px 16px; border-top: 1px solid var(--line); }
  body.rmx .rmx-sheet-foot .rmx-btn { width: 100%; }
  /* AngarTheme pone los titulos de filtro "solo escritorio": en la hoja los ensenamos */
  body.rmx-dark #left-column .hidden-sm-down { display: block !important; }
  body.rmx-dark #left-column .title.hidden-md-up { display: none !important; }
  body.rmx-dark #left-column .collapse { display: block !important; height: auto !important; }
}

/* ---------- 6 piezas comunes ---------- */
body.rmx .rmx-h2 { margin: 0; font: 800 clamp(34px,5vw,56px)/.9 var(--f-cond); text-transform: uppercase; color: #fff; }
body.rmx .rmx-h3 { margin: 0 0 14px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; font: 800 clamp(26px,3vw,34px)/.95 var(--f-cond); text-transform: uppercase; color: #fff; }
body.rmx .rmx-scene__label { display: flex; align-items: center; gap: 12px; font: 600 13px var(--f-mono); letter-spacing: .22em; color: #fff; }
body.rmx .rmx-scene__label span { width: 28px; height: 2px; background: var(--blue); flex: none; }
body.rmx .rmx-lead { display: flex; align-items: center; gap: 6px; font: 500 12px var(--f-sans); color: var(--t1); }
body.rmx .rmx-lead--big { font-size: 14px; font-weight: 600; gap: 8px; }
body.rmx .rmx-lead__dot { width: 8px; height: 8px; flex: none; border-radius: 50%; border: 2px solid #fff; box-sizing: border-box; }
body.rmx .rmx-copy { min-height: 32px; padding: 0 6px; border: 0; background: transparent; color: var(--t2); font: 500 11px var(--f-mono); letter-spacing: .08em; cursor: pointer; }
body.rmx .rmx-copy:hover { color: var(--lime); }
body.rmx .rmx-copy.is-done { color: var(--lime); }
body.rmx .rmx-tint { position: absolute; inset: 0; background: var(--blue); mix-blend-mode: color; opacity: .42; pointer-events: none; }
body.rmx .rmx-tint--50 { opacity: .5; }
body.rmx .rmx-grain {
  position: absolute; inset: -10%; z-index: 4; pointer-events: none; opacity: .07;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation: rmxGrain .9s steps(4) infinite;
}
body.rmx .rmx-grain--still { inset: 0; z-index: 0; animation: none; }
@keyframes rmxGrain { 0% { transform: translate(0,0); } 25% { transform: translate(-3%,2%); } 50% { transform: translate(2%,-3%); } 75% { transform: translate(-2%,-1%); } 100% { transform: translate(0,0); } }

/* cartel "sin foto": referencia grande sobre azul */
body.rmx .rmx-cartel {
  position: absolute; inset: 0; display: block; overflow: hidden;
  background: radial-gradient(90% 90% at 75% 15%, var(--blue2) 0%, var(--panel) 50%, var(--deep) 100%);
}
body.rmx .rmx-cartel::before {
  content: ""; position: absolute; inset: 0; opacity: .07; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
body.rmx .rmx-cartel__ref {
  position: absolute; left: 12px; right: 12px; bottom: 12px; color: #fff;
  font: 600 clamp(26px,4.6vw,40px)/1 var(--f-mono); letter-spacing: -.03em; overflow-wrap: anywhere;
}
body.rmx .rmx-cartel--big .rmx-cartel__ref { left: clamp(14px,2vw,24px); right: clamp(14px,2vw,24px); bottom: auto; top: 50%; transform: translateY(-50%); font-size: clamp(48px,8vw,104px); line-height: .9; letter-spacing: -.04em; }
body.rmx .rmx-cartel__logo { position: absolute; right: clamp(12px,2vw,20px); bottom: clamp(12px,2vw,20px); width: clamp(90px,10vw,130px); height: auto; opacity: .85; }

/* ---------- 7 listado ---------- */
body.rmx .rmx-lhead { position: relative; overflow: hidden; background: var(--panel); color: #fff; }
body.rmx .rmx-lhead picture, body.rmx .rmx-lhead__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 45%; }
body.rmx .rmx-lhead__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,6,43,.96) 0%, rgba(4,6,43,.86) 45%, rgba(4,6,43,.5) 100%); }
body.rmx .rmx-lhead__in { position: relative; padding-top: 16px; padding-bottom: 28px; display: flex; flex-direction: column; gap: 14px; }
body.rmx .rmx-lhead__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 32px; }
body.rmx .rmx-lhead__titles { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
body.rmx .rmx-lhead__titles .rmx-scene__label span { background: #fff; }
body.rmx .rmx-lhead__h1 { margin: 6px 0 0; font: 800 clamp(52px,10vw,140px)/.84 var(--f-cond); text-transform: uppercase; color: #fff; overflow-wrap: anywhere; }
body.rmx .rmx-lhead__desc { max-width: 60ch; color: var(--t1); font-size: 15px; }
body.rmx .rmx-lhead__desc p { margin: 6px 0 0; }
body.rmx .rmx-lhead__count { margin: 0; font: italic 400 clamp(15px,1.5vw,18px) var(--f-sans); color: var(--t1); }
body.rmx .rmx-lhead__form { width: min(520px,100%); display: flex; flex-direction: column; gap: 6px; }
body.rmx .rmx-lhead__form .rmx-kicker { font-size: 11px; letter-spacing: .16em; }

body.rmx .rmx-tools { display: flex; flex-direction: column; gap: 10px; margin: 0 0 14px; padding: 0; }
body.rmx .rmx-tools__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.rmx .rmx-tools__count { font: 500 12px var(--f-mono); letter-spacing: .1em; color: var(--t2); }
body.rmx .rmx-tools__filters { min-height: 48px; font: 600 15px var(--f-sans); letter-spacing: 0; text-transform: none; }
body.rmx .rmx-sort { display: flex; align-items: center; gap: 8px; flex: 1 1 180px; min-width: 0; margin: 0; float: none; width: auto; }
body.rmx .rmx-sort .rmx-kicker { letter-spacing: .16em; }
body.rmx .rmx-sort select {
  flex: 1; min-width: 0; min-height: 48px; padding: 0 10px; border-radius: 0;
  background: var(--ink); color: #fff; border: 1px solid var(--line2); font: 600 14px var(--f-sans);
}
body.rmx .rmx-sort select option { background: var(--ink); color: #fff; }
body.rmx .rmx-view { display: flex; border: 1px solid var(--line2); }
body.rmx .rmx-view__b { min-width: 48px; min-height: 46px; border: 0; background: transparent; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
body.rmx .rmx-view__b + .rmx-view__b { border-left: 1px solid var(--line2); }
body.rmx .rmx-view__b[aria-pressed=true] { background: #fff; color: var(--ink); }
body.rmx .rmx-active:empty, body.rmx .rmx-active .hide { display: none; }
body.rmx .rmx-active #js-active-search-filters { background: transparent; padding: 0; margin: 0 0 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
body.rmx .rmx-active #js-active-search-filters .h6 { margin: 0 6px 0 0; color: var(--t2); font: 500 11px var(--f-mono); letter-spacing: .16em; }
body.rmx .rmx-active #js-active-search-filters ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
body.rmx .rmx-active .filter-block { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 10px; margin: 0; border: 1px solid var(--lime); background: transparent; color: #fff; font: 600 13px var(--f-sans); box-shadow: none; }
body.rmx .rmx-active .filter-block a { color: var(--lime); }
body.rmx .rmx-active .filter-block .material-icons { font-size: 16px; color: var(--lime); }

body.rmx .rmx-empty { padding: 28px 20px; border: 1px dashed rgba(255,255,255,.4); display: flex; flex-direction: column; gap: 12px; color: #fff; }
body.rmx .rmx-empty__t { font: 800 30px var(--f-cond); text-transform: uppercase; }
body.rmx .rmx-empty__p { font-size: 15px; color: var(--t1); }
body.rmx .rmx-empty .rmx-btn { align-self: flex-start; }

body.rmx .rmx-pag { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px 0 0; margin: 0; float: none; width: auto; }
body.rmx .rmx-pag__line { font: 500 12px var(--f-mono); letter-spacing: .1em; color: var(--t2); }
body.rmx .rmx-pag__bar { width: min(320px,100%); height: 3px; background: rgba(255,255,255,.18); display: block; }
body.rmx .rmx-pag__bar span { display: block; height: 3px; background: var(--lime); }
body.rmx .rmx-pag__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 6px 0 0; padding: 0; list-style: none; }
body.rmx .rmx-pag__list li { display: block; float: none; margin: 0; border: 0; background: transparent; }
body.rmx .rmx-pag__list a, body.rmx .rmx-pag__list .spacer {
  display: flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding: 0 12px; box-sizing: border-box;
  border: 1px solid var(--line2); background: transparent; color: #fff; text-decoration: none; font: 600 15px var(--f-mono);
}
body.rmx .rmx-pag__list .spacer { border-color: transparent; }
body.rmx .rmx-pag__list a:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); }
body.rmx .rmx-pag__list li.current a { background: #fff; border-color: #fff; color: var(--ink); }
body.rmx .rmx-pag__list a.previous, body.rmx .rmx-pag__list a.next { font: 800 17px var(--f-cond); letter-spacing: .08em; text-transform: uppercase; }
body.rmx .rmx-pag__list a.disabled { opacity: .35; pointer-events: none; }
/* 06/11: la página en la que estás salía gris y sin número (PrestaShop le pone también «disabled») */
body.rmx .rmx-pag__list li.current a, body.rmx .rmx-pag__list li.current a.disabled { opacity: 1; background: var(--lime); border-color: var(--lime); color: var(--ink); }

/* ---------- 8 tarjeta de pieza ---------- */
body.rmx .rmx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(calc(50% - 5px), 232px), 1fr)); gap: 10px; margin: 0; padding: 0; }
body.rmx .rmx-grid::before, body.rmx .rmx-grid::after { display: none; }
body.rmx .rmx-grid--row { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(min(62vw,220px),250px); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: thin; }
body.rmx .rmx-grid--row > .rmx-card { scroll-snap-align: start; }
body.rmx .rmx-card {
  display: flex; flex-direction: column; min-width: 0; width: auto; max-width: none; float: none; margin: 0; padding: 0;
  background: var(--panel); border: 1px solid var(--line); color: #fff; font-family: var(--f-sans); box-shadow: none;
}
body.rmx .rmx-card__pic { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; text-decoration: none; color: #fff; }
body.rmx .rmx-card__pic--img { background: #F4F5FB; }
body.rmx .rmx-card__pic .rmx-pimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #F4F5FB; transition: transform .6s var(--ease); }
body.rmx .rmx-card__pic:hover .rmx-pimg { transform: scale(1.04); }
body.rmx .rmx-card__pic.is-broken .rmx-pimg { display: none; }
body.rmx .rmx-card__flags { position: absolute; top: 10px; left: 12px; display: flex; gap: 6px; z-index: 2; }
body.rmx .rmx-card__flags .product-flag { position: static; margin: 0; padding: 2px 6px; background: var(--lime); color: var(--ink); font: 600 10px var(--f-mono); letter-spacing: .12em; text-transform: uppercase; box-shadow: none; min-width: 0; min-height: 0; }
body.rmx .rmx-card__body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
body.rmx .rmx-card__refrow { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
body.rmx .rmx-card__ref { font: 600 13px var(--f-mono); color: var(--lime); overflow-wrap: anywhere; }
body.rmx .rmx-card__name { margin: 0; min-height: 36px; font: 500 14px/1.3 var(--f-sans); text-transform: none; height: auto; }
body.rmx .rmx-card__name a { color: #fff; text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.rmx .rmx-card__name a:hover { color: var(--lime); }
body.rmx .rmx-card__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 8px; margin: 0; padding: 0; }
body.rmx .rmx-card__price .price { font: 600 20px var(--f-mono); color: #fff !important; }
body.rmx .rmx-card__price .regular-price { font: 500 13px var(--f-mono); color: var(--t3); text-decoration: line-through; }
body.rmx .rmx-card__iva { font: 500 11px var(--f-sans); color: var(--t2); }
body.rmx .rmx-card__form { margin: auto 0 0; padding: 0; }
body.rmx .rmx-card__add { width: 100%; min-height: 48px; font-size: 17px; }
body.rmx .rmx-card__add.is-added { background: transparent; color: var(--lime); }

/* AngarTheme fija anchos/floats de .product-miniature con selectores de ID segun su configurador: aqui se anulan */
body.rmx .products.rmx-grid { margin: 0 !important; float: none !important; width: auto !important; }
body.rmx .products.rmx-grid > .product-miniature.rmx-card {
  width: auto !important; max-width: none !important; float: none !important; clear: none !important;
  margin: 0 !important; padding: 0 !important; text-align: left !important; flex: none !important;
}
body.rmx.rmx-view-list .products.rmx-grid:not(.rmx-grid--row) > .product-miniature.rmx-card { padding: 10px 4px !important; }
/* vista en lista */
body.rmx.rmx-view-list .rmx-grid:not(.rmx-grid--row) { grid-template-columns: minmax(0,1fr); gap: 0; border-top: 1px solid var(--line); }
body.rmx.rmx-view-list .rmx-grid:not(.rmx-grid--row) .rmx-card { flex-direction: row; align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--line); padding: 10px 4px; gap: 12px; }
body.rmx.rmx-view-list .rmx-grid:not(.rmx-grid--row) .rmx-card__pic { width: 64px; flex: none; }
body.rmx.rmx-view-list .rmx-grid:not(.rmx-grid--row) .rmx-card__pic .rmx-cartel__ref { font-size: 11px; left: 4px; right: 4px; bottom: 4px; }
body.rmx.rmx-view-list .rmx-grid:not(.rmx-grid--row) .rmx-card__body { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "ref price" "name btn"; align-items: center; gap: 4px 12px; padding: 0; }
body.rmx.rmx-view-list .rmx-card__refrow { grid-area: ref; justify-content: flex-start; }
body.rmx.rmx-view-list .rmx-card__ref { font-size: 17px; }
body.rmx.rmx-view-list .rmx-card__name { grid-area: name; min-height: 0; }
body.rmx.rmx-view-list .rmx-card__price { grid-area: price; justify-content: flex-end; }
body.rmx.rmx-view-list .rmx-card__price .price { font-size: 17px; }
body.rmx.rmx-view-list .rmx-card__iva { display: none; }
body.rmx.rmx-view-list .rmx-grid:not(.rmx-grid--row) .rmx-lead { display: none; }
body.rmx.rmx-view-list .rmx-card__form { grid-area: btn; margin: 0; }
body.rmx.rmx-view-list .rmx-card__add { min-height: 44px; min-width: 96px; font-size: 15px; }
@media (min-width: 901px) {
  body.rmx.rmx-view-list .rmx-grid:not(.rmx-grid--row) .rmx-card__body { grid-template-columns: 150px minmax(0,1fr) 130px 130px; grid-template-areas: "ref name price btn"; }
}

/* ---------- 9 ficha ---------- */
body#product.rmx-dark #content-wrapper { padding-top: 16px; }
body.rmx .rmx-pp { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; padding-bottom: 32px; }
body.rmx .rmx-pp__top { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(16px,3vw,40px); align-items: start; }
body.rmx .rmx-pp #content.page-content { padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; }
body.rmx .rmx-pp .product-flags { position: absolute; z-index: 3; margin: 12px; padding: 0; list-style: none; }
body.rmx .rmx-pp .product-flags:empty { display: none; }
body.rmx .rmx-pp .product-flag { position: static; display: inline-block; margin: 0 6px 0 0; padding: 2px 8px; background: var(--lime); color: var(--ink); font: 600 11px var(--f-mono); letter-spacing: .12em; box-shadow: none; }
body.rmx .rmx-pp__media { position: relative; }
body.rmx .rmx-media { margin: 0; }
body.rmx .rmx-media__fig { position: relative; margin: 0; aspect-ratio: 16 / 8; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: var(--deep); }
body.rmx .rmx-media--img .rmx-media__fig { aspect-ratio: 1 / 1; background: #F4F5FB; }
body.rmx .rmx-media__fig .rmx-pimg { position: absolute; inset: 0; width: 100% !important; height: 100%; object-fit: contain; background: #F4F5FB; }
body.rmx .rmx-media__fig.is-broken .rmx-pimg, body.rmx .rmx-media__fig.is-broken .rmx-media__zoom { display: none; }
body.rmx .rmx-media__zoom { position: absolute; right: 10px; bottom: 10px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 0; background: var(--ink); color: #fff; cursor: pointer; opacity: 1; }
body.rmx .rmx-thumbs { display: flex; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; overflow-x: auto; }
body.rmx .rmx-thumbs .thumb { width: 72px; height: 72px; object-fit: contain; background: #F4F5FB; border: 2px solid transparent; cursor: pointer; }
body.rmx .rmx-thumbs .thumb.selected { border-color: var(--lime); }
body.rmx .rmx-pp__info { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
body.rmx .rmx-refbox { display: flex; align-items: stretch; align-self: flex-start; max-width: 100%; border: 2px solid var(--lime); }
body.rmx .rmx-refbox__v { padding: 4px 14px; font: 600 clamp(34px,4vw,52px)/1 var(--f-mono); letter-spacing: -.03em; user-select: all; overflow-wrap: anywhere; min-width: 0; }
body.rmx .rmx-refbox__copy { min-width: 92px; min-height: 0; padding: 0 12px; border: 0; border-left: 2px solid var(--lime); color: #fff; font-size: 13px; }
body.rmx .rmx-refbox__copy.is-done { background: var(--lime); color: var(--ink); }
body.rmx .rmx-pp__h1 { margin: 0; font: 800 clamp(30px,3.4vw,46px)/.95 var(--f-cond); text-transform: uppercase; text-wrap: balance; color: #fff; }
body.rmx .rmx-pp__short { color: var(--t1); font-size: 15px; }
body.rmx .rmx-pp__short p { margin: 0; }
body.rmx .rmx-pp .product-actions { margin: 0; padding: 0; background: transparent; border: 0; }
body.rmx .rmx-price { display: flex; flex-direction: column; gap: 10px; padding: 4px 0 0; margin: 0; background: transparent; border: 0; }
body.rmx .rmx-price__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; padding: 0; }
body.rmx .rmx-price .current-price { display: inline; }
body.rmx .rmx-price__v, body.rmx .rmx-price .price { font: 600 clamp(36px,3.8vw,46px) var(--f-mono); letter-spacing: -.02em; color: #fff !important; }
body.rmx .rmx-price__iva { font: 600 14px var(--f-sans); color: var(--t1); }
body.rmx .rmx-price .regular-price { color: var(--t3); font-family: var(--f-mono); }
body.rmx .rmx-price .tax-shipping-delivery-label:empty { display: none; }
body.rmx .rmx-price .tax-shipping-delivery-label { color: var(--t2); font-size: 12px; }
body.rmx .rmx-buy { margin: 14px 0 0; padding: 0; }
body.rmx .rmx-buy__row { display: flex; gap: 10px; align-items: stretch; margin: 0; padding: 0; }
body.rmx .rmx-buy__qty { flex: none; float: none; margin: 0; }
body.rmx .rmx-buy__add { flex: 1; float: none; margin: 0; min-width: 0; }
body.rmx .rmx-buy .bootstrap-touchspin { display: flex; height: 100%; min-height: 58px; border: 1px solid var(--line2); width: auto; float: none; box-shadow: none; }
body.rmx .rmx-buy #quantity_wanted { width: 56px; height: auto; min-height: 56px; padding: 0 4px; border: 0; background: transparent; color: #fff; text-align: center; font: 600 20px var(--f-mono); box-shadow: none; }
body.rmx .rmx-buy .input-group-btn-vertical { display: flex; flex-direction: column; width: 40px; position: static; }
body.rmx .rmx-buy .input-group-btn-vertical .btn { flex: 1; width: 40px; height: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; color: #fff; position: relative; }
body.rmx .rmx-buy .input-group-btn-vertical .btn + .btn { border-top: 1px solid var(--line); }
body.rmx .rmx-buy .input-group-btn-vertical .btn:hover { background: var(--lime); color: var(--ink); }
body.rmx .rmx-buy .input-group-btn-vertical i { position: static; color: inherit; font-size: 20px; line-height: 1; }
body.rmx .rmx-buy .add-to-cart { height: 100%; min-height: 60px; margin: 0; width: 100%; }
body.rmx .rmx-avail:empty, body.rmx .product-minimal-quantity:empty { display: none; }
body.rmx .rmx-avail { display: block; margin: 8px 0 0; font-size: 13px; color: var(--t1); }
body.rmx .rmx-trust { margin: 0; padding: 14px 0 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px 20px; font: 500 13px var(--f-sans); color: var(--t1); border-top: 1px solid rgba(255,255,255,.14); }
body.rmx .rmx-trust li { display: flex; align-items: center; gap: 6px; }
body.rmx .rmx-trust li > span { color: var(--lime); }
body.rmx .rmx-trust a { color: var(--t1) !important; }
body.rmx .rmx-pp #block-reassurance { margin: 0; background: transparent; border: 0; }
body.rmx .rmx-pp #block-reassurance ul { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 0; margin: 0; list-style: none; }
body.rmx .rmx-pp #block-reassurance li { border: 0; padding: 0; }
body.rmx .rmx-pp #block-reassurance img { filter: invert(1); width: 22px; height: auto; opacity: .8; }
body.rmx .rmx-pp #block-reassurance .h6 { color: var(--t1); font: 500 13px var(--f-sans); text-transform: none; }
body.rmx .rmx-pp .product-additional-info:empty { display: none; }
body.rmx .rmx-pp .social-sharing { margin-top: 10px; }

body.rmx .rmx-pp__more { display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.14); }
body.rmx .rmx-acc { border-bottom: 1px solid rgba(255,255,255,.14); scroll-margin-top: calc(var(--head-h) + 16px); }
body.rmx .rmx-acc summary { display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; min-height: 56px; cursor: pointer; list-style: none; }
body.rmx .rmx-acc summary::-webkit-details-marker { display: none; }
body.rmx .rmx-acc__t { font: 800 24px var(--f-cond); text-transform: uppercase; letter-spacing: .03em; color: #fff; }
body.rmx .rmx-acc__s { font: 500 13px var(--f-sans); color: var(--t2); }
body.rmx .rmx-acc__sign { margin-left: auto; font: 500 22px var(--f-mono); color: var(--lime); transition: transform .3s; }
body.rmx .rmx-acc[open] .rmx-acc__sign { transform: rotate(45deg); }
body.rmx .rmx-acc__body { padding: 0 0 18px; color: var(--t1); font-size: 15px; }
body.rmx .rmx-acc__body p { margin: 0 0 8px; }
body.rmx .rmx-acc .tab-pane { display: block !important; opacity: 1 !important; padding: 0; background: transparent; border: 0; }
body.rmx .rmx-acc .index_title { display: none; }
body.rmx .rmx-acc .label, body.rmx .rmx-acc dt { color: var(--t2); font-weight: 500; background: transparent; }
body.rmx .rmx-acc dd, body.rmx .rmx-acc .data-sheet { background: transparent; color: #fff; }
body.rmx .rmx-related { margin: 24px 0 0; }
body.rmx .rmx-related--hook { margin: 0; }
body.rmx .rmx-related .rmx-kicker { font-size: 11px; }

@media (min-width: 901px) {
  body.rmx .rmx-pp__top { grid-template-columns: minmax(0,.9fr) minmax(0,1fr); }
  body.rmx .rmx-media__fig { aspect-ratio: 4 / 3; }
  body.rmx .rmx-media--img .rmx-media__fig { aspect-ratio: 1 / 1; }
}
/* movil: barra de compra fija abajo */
@media (max-width: 900px) {
  body#product.rmx .rmx-buy__row {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 350; margin: 0;
    background: var(--ink); border-top: 2px solid var(--lime);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); box-sizing: border-box; gap: 8px;
  }
  body#product.rmx .rmx-buy .bootstrap-touchspin { min-height: 54px; }
  body#product.rmx .rmx-buy .add-to-cart { min-height: 56px; font-size: 20px; }
  body#product.rmx #footer { padding-bottom: 96px; }
}

/* ---------- 10 portada ---------- */
body#index.rmx #wrapper { padding: 0; background: var(--deep); }
body#index.rmx #wrapper > .container { max-width: none; width: 100%; padding: 0; }
body#index.rmx #wrapper > .container > .row { margin: 0; display: block; }
body#index.rmx #content-wrapper { width: 100%; max-width: none; float: none; padding: 0; flex: none; }
body#index.rmx #main, body#index.rmx #content.page-home { margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
body#index.rmx #left-column, body#index.rmx #right-column, body#index.rmx #main .page-footer { display: none; }
body.rmx .rmx-home { color: #fff; font-family: var(--f-sans); }
body.rmx .rmx-home a { color: #fff; }

/* apertura */
body.rmx .rmx-hero { height: 150vh; height: 150svh; position: relative; background: var(--deep); --p: 0; }
body.rmx .rmx-hero__frame { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; background: var(--deep); }
body.rmx .rmx-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%;
  transform: scale(1.08); transition: transform 14s var(--ease);
}
body.rmx.rmx-ready .rmx-hero__img { transform: scale(1); }
body.rmx .rmx-hero__shade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(4,6,43,.9) 0%, rgba(4,6,43,.72) 38%, rgba(4,6,43,0) 60%, rgba(4,6,43,0) 86%, rgba(4,6,43,.6) 100%); }
body.rmx .rmx-hero__bar { position: absolute; left: 0; right: 0; z-index: 2; background: var(--deep); height: calc(5svh * (1 - var(--p))); }
body.rmx .rmx-hero__bar--t { top: 0; }
body.rmx .rmx-hero__bar--b { bottom: 0; }
body.rmx .rmx-hero__body {
  position: absolute; inset: 0; z-index: 3; box-sizing: border-box; text-align: center;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 10px; padding: 108px 16px 48px;
}
body.rmx .rmx-hero__pre { font: 500 11px var(--f-mono); letter-spacing: .32em; color: var(--t2); }
body.rmx .rmx-hero__title { margin: 0; display: flex; flex-direction: column; align-items: center; color: #fff; }
body.rmx .rmx-hero__kicker { font: 600 clamp(15px,2.6vw,32px) var(--f-cond); letter-spacing: .48em; padding-left: .48em; text-transform: uppercase; }
body.rmx .rmx-hero__brand { font: 800 clamp(68px,19vw,272px)/.84 var(--f-cond); letter-spacing: .06em; padding-left: .06em; text-transform: uppercase; }
body.rmx .rmx-hero__line { margin: 0 0 6px; font: italic 400 clamp(15px,1.6vw,20px) var(--f-sans); color: var(--t1); }
body.rmx .rmx-hero__form { position: relative; width: min(720px,100%); display: flex; flex-direction: column; gap: 8px; margin: 0; }
body.rmx .rmx-field--hero { background: rgba(4,6,43,.78); }
body.rmx .rmx-field--hero input[type=text] { text-align: center; height: clamp(54px,6vw,64px); font: 500 clamp(18px,2.4vw,28px) var(--f-sans); padding: 0 10px; }
body.rmx .rmx-field--hero .rmx-field__go { padding: 0 clamp(14px,2vw,20px); }
body.rmx .rmx-live {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 5; max-height: 52vh; overflow: auto;
  background: var(--ink); border: 1px solid rgba(255,255,255,.22); text-align: left;
}
body.rmx .rmx-live[hidden] { display: none; }
body.rmx .rmx-live__note { padding: 10px 16px; font: 500 12px var(--f-mono); color: var(--t2); border-bottom: 1px solid rgba(255,255,255,.12); }
body.rmx .rmx-live__row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 14px; align-items: baseline; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.08); text-decoration: none; color: #fff; }
body.rmx .rmx-live__row:hover, body.rmx .rmx-live__row:focus { background: var(--blue2); color: #fff; text-decoration: none; }
body.rmx .rmx-live__ref { font: 600 17px var(--f-mono); color: var(--lime); }
body.rmx .rmx-live__name { font-size: 13px; color: var(--t1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rmx .rmx-live__price { font: 600 14px var(--f-mono); }
body.rmx .rmx-live__more { display: block; padding: 14px 16px; font: 600 14px var(--f-sans); color: var(--lime) !important; }
body.rmx .rmx-hero__foot {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: 14px 16px;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px;
  font: 500 11px var(--f-mono); letter-spacing: .12em; color: var(--t2);
}
body.rmx .rmx-hero__foot a { text-decoration: none; }

/* que vendemos */
body.rmx .rmx-cats { background: var(--blue); padding: clamp(28px,4vw,44px) 0 clamp(32px,4vw,52px); scroll-margin-top: var(--head-h); }
body.rmx .rmx-cats .rmx-wrap { display: flex; flex-direction: column; gap: 16px; }
body.rmx .rmx-cats__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 24px; }
body.rmx .rmx-cats__head .rmx-kicker { font-size: 12px; letter-spacing: .12em; color: var(--t1); }
body.rmx .rmx-cats__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(calc(50% - 4px),168px),1fr)); gap: 8px; }
body.rmx .rmx-cat {
  display: flex; flex-direction: column; justify-content: space-between; gap: 10px; min-height: clamp(78px,10vw,108px);
  padding: 12px 14px; border: 1px solid var(--line2); background: transparent; color: #fff; text-decoration: none;
  transition: background .25s, color .25s, border-color .25s;
}
body.rmx .rmx-cat--main { grid-column: span 2; background: var(--ink); }
body.rmx .rmx-cat:hover, body.rmx .rmx-cat:focus { background: var(--lime); color: var(--ink) !important; border-color: var(--lime); text-decoration: none; }
body.rmx .rmx-cat__n { font: 600 clamp(15px,1.8vw,22px) var(--f-mono); letter-spacing: -.01em; }
body.rmx .rmx-cat--main .rmx-cat__n { font-size: clamp(19px,2.4vw,28px); }
body.rmx .rmx-cat__name { display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; font: 700 clamp(18px,1.9vw,24px)/1.05 var(--f-cond); text-transform: uppercase; letter-spacing: .02em; }
body.rmx .rmx-cat__name > span:first-child { min-width: 0; overflow-wrap: anywhere; }

/* bandas de foto */
body.rmx .rmx-band { position: relative; background: var(--deep); overflow: hidden; }
body.rmx .rmx-band__frame { position: relative; width: 100%; aspect-ratio: 2.39 / 1; min-height: 300px; max-height: 82vh; max-height: 82svh; overflow: hidden; }
body.rmx .rmx-band__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.rmx .rmx-band__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(2,4,31,.92) 0%, rgba(2,4,31,.2) 55%, rgba(2,4,31,.35) 100%); }
body.rmx .rmx-band__text { position: absolute; left: 0; right: 0; bottom: 0; max-width: 1440px; margin: 0 auto; padding: 0 16px 22px; box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 10px 24px; }
body.rmx .rmx-band__text p { margin: 0; max-width: 16ch; font: 800 clamp(34px,5.4vw,80px)/.9 var(--f-cond); text-transform: uppercase; text-wrap: balance; color: #fff; }
body.rmx .rmx-band__text span { font: 500 11px var(--f-mono); letter-spacing: .16em; color: var(--t2); }

/* escenas */
body.rmx .rmx-scene { position: relative; overflow: hidden; background: var(--deep); border-top: 1px solid rgba(2,3,242,.35); scroll-margin-top: var(--head-h); }
body.rmx .rmx-scene__bg { position: absolute; top: var(--head-h); left: 0; right: 0; height: 78vh; height: 78svh; overflow: hidden; }
body.rmx .rmx-scene__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.rmx .rmx-scene__bgshade { position: absolute; inset: 0; background: linear-gradient(to bottom, var(--deep) 0%, rgba(2,4,31,.55) 10%, rgba(2,4,31,.2) 22%, rgba(2,4,31,.18) 52%, rgba(2,4,31,.9) 82%, var(--deep) 100%); }
body.rmx .rmx-scene__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 46% at 50% 38%, rgba(40,58,190,.42) 0%, rgba(14,22,110,.22) 45%, rgba(2,4,31,0) 75%); }
body.rmx .rmx-scene--bg .rmx-scene__glow { display: none; }
body.rmx .rmx-scene__floor { position: absolute; left: 0; right: 0; bottom: 0; height: 46%; pointer-events: none; background: linear-gradient(to bottom, rgba(2,4,31,0), var(--night) 85%); }
body.rmx .rmx-scene__in {
  position: relative; z-index: 1; width: 100%; max-width: 1440px; margin: 0 auto; box-sizing: border-box;
  padding: calc(var(--head-h) + 24px) 16px 64px; display: flex; flex-direction: column; gap: 20px;
}
body.rmx .rmx-scene__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 32px; }
body.rmx .rmx-scene__head > div { display: flex; flex-direction: column; gap: 10px; }
body.rmx .rmx-scene__title { margin: 0; font: 800 clamp(68px,12vw,176px)/.82 var(--f-cond); text-transform: uppercase; letter-spacing: .01em; color: #fff; text-shadow: 0 2px 30px rgba(2,4,31,.5); }
body.rmx .rmx-scene__line { margin: 0; max-width: 360px; font: italic 400 clamp(16px,1.6vw,20px) var(--f-sans); color: var(--t1); }

/* escenario de estudio: la moto entera, nunca cortada (alto limitado por la pantalla menos la cabecera) */
body.rmx .rmx-stage {
  position: relative; width: 100%; max-width: 1100px; margin: 0 auto;
  aspect-ratio: 16 / 9; max-height: calc(100vh - var(--head-h) - 40px); max-height: calc(100svh - var(--head-h) - 40px);
}
body.rmx .rmx-stage__glow { position: absolute; left: 4%; right: 4%; bottom: 2%; height: 34%; background: radial-gradient(50% 50% at 50% 70%, rgba(60,80,220,.30), rgba(2,4,31,0) 70%); }
body.rmx .rmx-stage__line { position: absolute; left: 8%; right: 8%; bottom: 9%; height: 1px; background: linear-gradient(90deg, rgba(2,3,242,0), rgba(2,3,242,.9) 30%, rgba(2,3,242,.9) 70%, rgba(2,3,242,0)); }
body.rmx .rmx-stage__shadow { position: absolute; left: 12%; right: 12%; bottom: 6.5%; height: 7%; border-radius: 50%; background: radial-gradient(50% 50% at 50% 50%, rgba(0,0,8,.85), rgba(0,0,8,.4) 55%, rgba(0,0,8,0) 75%); filter: blur(4px); }
body.rmx .rmx-stage__img {
  position: absolute; left: 5%; right: 5%; bottom: 7.5%; width: 90%; height: 84%;
  object-fit: contain; object-position: center bottom; filter: drop-shadow(0 18px 18px rgba(0,0,10,.55));
}
html body.rmx .rmx-stage__img.is-swap, html.rmx-js body.rmx .is-in .rmx-stage__img.is-swap { opacity: .15; transition: opacity .2s; }
body.rmx .rmx-stage__name { position: absolute; left: 0; bottom: 0; display: flex; align-items: center; gap: 10px; font: 600 12px var(--f-mono); letter-spacing: .16em; color: #fff; }
body.rmx .rmx-stage__credit { position: absolute; right: 0; bottom: 0; font: 500 11px var(--f-mono); letter-spacing: .16em; color: var(--t3); }
body.rmx .rmx-dot { width: 8px; height: 8px; background: var(--blue); display: inline-block; }
body.rmx .rmx-stage--bg { aspect-ratio: auto; height: clamp(200px,30vw,400px); max-height: none; }
body.rmx .rmx-stage--bg .rmx-stage__credit { color: var(--t2); }

/* fila de motos */
body.rmx .rmx-posters { display: flex; flex-direction: column; gap: 10px; }
body.rmx .rmx-posters__row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(min(62vw,210px),250px); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: thin; }
body.rmx .rmx-poster { scroll-snap-align: start; display: flex; flex-direction: column; text-align: left; background: var(--ink); border: 2px solid rgba(255,255,255,.16); color: #fff; text-decoration: none; transition: border-color .3s, transform .3s var(--ease); }
body.rmx .rmx-poster:hover, body.rmx .rmx-poster:focus, body.rmx .rmx-poster.is-on { border-color: var(--lime); text-decoration: none; color: #fff; }
body.rmx .rmx-poster__pic { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: radial-gradient(70% 60% at 50% 40%, #1A2690 0%, var(--panel) 50%, var(--deep) 100%); }
body.rmx .rmx-poster__pic img { position: absolute; left: 6%; right: 6%; bottom: 12%; width: 88%; height: 72%; object-fit: contain; object-position: center bottom; transition: transform .6s var(--ease); }
body.rmx .rmx-poster__pic--photo img { inset: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
body.rmx .rmx-poster__pic--photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(4,6,43,.7) 0%, rgba(4,6,43,0) 30%); }
body.rmx .rmx-poster:hover .rmx-poster__pic img { transform: scale(1.04); }
body.rmx .rmx-poster__shadow { position: absolute; left: 14%; right: 14%; bottom: 11%; height: 8%; border-radius: 50%; background: radial-gradient(50% 50% at 50% 50%, rgba(0,0,8,.8), rgba(0,0,8,0) 72%); }
body.rmx .rmx-poster__kind { position: absolute; z-index: 1; top: 10px; left: 12px; right: 12px; font: 500 10px var(--f-mono); letter-spacing: .2em; color: var(--t2); }
body.rmx .rmx-poster__txt { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px 12px; }
body.rmx .rmx-poster__model { font: 800 32px/.9 var(--f-cond); text-transform: uppercase; }
body.rmx .rmx-poster__tag { font: italic 400 13px var(--f-sans); color: var(--t1); }
body.rmx .rmx-poster__go { margin-top: 6px; font: 600 12px var(--f-mono); letter-spacing: .08em; color: var(--lime); }

@media (min-width: 701px) {
  body.rmx .rmx-hero__img { object-position: 56% 45%; }
  body.rmx .rmx-hero__shade { background: radial-gradient(ellipse at 50% 55%, rgba(4,6,43,.35), rgba(4,6,43,.8)); }
  body.rmx .rmx-hero__bar { height: calc(max(0px, (100svh - 100vw / 2.39) / 2) * (1 - var(--p))); }
  body.rmx .rmx-hero__body { justify-content: center; gap: 14px; padding: 120px 20px 64px; }
  body.rmx .rmx-scene__bg { height: max(88vh, 700px); height: max(88svh, 700px); }
}
@media (min-width: 1000px) {
  /* la escena entra entera en una pantalla: titulo algo mas bajo y escenario limitado */
  body.rmx .rmx-scene__in { padding-top: calc(var(--head-h) + 32px); }
  body.rmx .rmx-scene__title { font-size: clamp(80px,9vw,150px); }
  body.rmx .rmx-stage { max-height: calc(100svh - var(--head-h) - 260px); min-height: 340px; }
  body.rmx .rmx-stage--bg { max-height: none; min-height: 0; }
}

/* ---------- 11 movimiento (respeta "reducir movimiento") ---------- */
/* Solo se esconde si el JS del tema esta (html.rmx-js lo pone head.tpl). Si rmx.js no llegara
   a ejecutarse (sin .rmx-io), a los 3 s todo se ve igualmente. */
html.rmx-js body.rmx .rmx-reveal { opacity: 0; transform: translateY(28px); transition: opacity 1s ease, transform 1.2s var(--ease); }
html.rmx-js body.rmx .rmx-reveal.is-in { opacity: 1; transform: none; }
html.rmx-js body.rmx .rmx-intro { opacity: 0; transition: opacity 1.2s .2s; }
html.rmx-js body.rmx .rmx-intro--d1 { transform: scale(1.04); transition: opacity 1.6s .5s, transform 2.4s .5s var(--ease); }
html.rmx-js body.rmx .rmx-intro--d2 { transition-delay: 1.4s; }
html.rmx-js body.rmx.rmx-ready .rmx-intro { opacity: 1; transform: none; }
html.rmx-js body.rmx .rmx-stage__img { transform: translateX(-4%); opacity: 0; transition: transform 1.4s var(--ease), opacity 1s ease; }
html.rmx-js body.rmx .is-in .rmx-stage__img { transform: none; opacity: 1; }
html.rmx-js:not(.rmx-io) body.rmx .rmx-reveal, html.rmx-js:not(.rmx-io) body.rmx .rmx-intro, html.rmx-js:not(.rmx-io) body.rmx .rmx-stage__img { animation: rmxShow .01s 3s forwards; }
@keyframes rmxShow { to { opacity: 1; transform: none; } }
/* Ken Burns lento en las fotos de fondo */
body.rmx .rmx-ken { animation: rmxKen 26s ease-in-out infinite alternate; transform-origin: 50% 40%; will-change: transform; }
@keyframes rmxKen { from { transform: scale(1) translate3d(0,0,0); } to { transform: scale(1.09) translate3d(-1.5%,-1%,0); } }
body.rmx .rmx-cats__grid .rmx-reveal:nth-child(2) { transition-delay: .05s; }
body.rmx .rmx-cats__grid .rmx-reveal:nth-child(3) { transition-delay: .1s; }
body.rmx .rmx-cats__grid .rmx-reveal:nth-child(4) { transition-delay: .15s; }
body.rmx .rmx-cats__grid .rmx-reveal:nth-child(5) { transition-delay: .2s; }
body.rmx .rmx-cats__grid .rmx-reveal:nth-child(n+6) { transition-delay: .25s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.rmx *, body.rmx *::before, body.rmx *::after { animation: none !important; transition: none !important; }
  body.rmx .rmx-reveal, body.rmx .rmx-intro, body.rmx .rmx-stage__img { opacity: 1 !important; transform: none !important; }
  body.rmx .rmx-hero__img { transform: none !important; }
  body.rmx .rmx-hero__bar { height: 0 !important; }
}

/* =====================================================================
   12 correcciones 05/11 (revision de Christian en dev)
   ===================================================================== */

/* imagen "sin foto" (sinfoto-recambiomx-400/800.jpg) en lugar del cartel HTML */
body.rmx .rmx-pimg--none, body.rmx .rmx-card__pic .rmx-pimg--none, body.rmx .rmx-media__fig .rmx-pimg--none { object-fit: cover; background: var(--deep); }
body.rmx .rmx-card__pic:hover .rmx-pimg--none { transform: none; }
body.rmx .rmx-card__pic { background: #F4F5FB; }

/* "Que vendemos": fondo de estudio oscuro como las escenas, sin palabras partidas */
body.rmx .rmx-cats { position: relative; overflow: hidden; background: var(--deep); border-top: 1px solid rgba(2,3,242,.35); }
body.rmx .rmx-cats .rmx-wrap { position: relative; z-index: 1; }
body.rmx .rmx-cats__head .rmx-kicker { color: var(--t2); }
body.rmx .rmx-cats__grid { grid-template-columns: repeat(auto-fill, minmax(min(calc(50% - 4px), 200px), 1fr)); }
body.rmx .rmx-cat { justify-content: flex-end; min-height: clamp(72px, 9vw, 100px); background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.28); }
body.rmx .rmx-cat--main { justify-content: space-between; background: var(--panel); border-color: rgba(255,255,255,.5); }
body.rmx .rmx-cat__name { font-size: clamp(16px, 4.4vw, 23px); }
body.rmx .rmx-cat__name, body.rmx .rmx-cat__name > span:first-child {
  overflow-wrap: normal; word-break: normal; -webkit-hyphens: manual; hyphens: manual;
}
@media (min-width: 701px) { body.rmx .rmx-cat__name { font-size: clamp(18px, 1.7vw, 23px); } }

/* posters: todos con la moto de estudio recortada */
body.rmx .rmx-posters__row { grid-auto-columns: minmax(min(62vw,210px),250px); }

/* migas iguales en todas las paginas (tambien carrito/cuenta) */
body.rmx #wrapper .breadcrumb { display: block !important; padding: 16px 0 0; margin: 0 0 8px; background: transparent; }
body.rmx #wrapper .breadcrumb ol { display: flex; flex-wrap: wrap; gap: 4px 8px; list-style: none; background: transparent; border: 0; padding: 0; margin: 0; font: 500 13px var(--f-sans); }
body.rmx #wrapper .breadcrumb li { list-style: none; background: transparent !important; display: inline-flex; align-items: center; gap: 8px; padding: 0; margin: 0; }
body.rmx #wrapper .breadcrumb li::before { display: none; content: none; }
body.rmx #wrapper .breadcrumb li::after { content: "›"; position: static; display: inline; border: 0; background: none; width: auto; height: auto; color: var(--t3); font-size: 13px; }
body.rmx #wrapper .breadcrumb li:last-child::after { display: none; }
body.rmx #wrapper .breadcrumb li a { padding: 0; line-height: 1.4; }
body.rmx #wrapper .breadcrumb li:last-child a { font-weight: 600; text-decoration: none; pointer-events: none; }
body.rmx-light #wrapper .breadcrumb li a { color: #3B4170; }
body.rmx-light #wrapper .breadcrumb li:last-child a { color: var(--ink); }

/* paginas claras (carrito, pedido, cuenta, CMS): tipografia y botones de la marca, sin el morado de Angar */
body.rmx-light #wrapper, body.rmx-light #wrapper p, body.rmx-light #wrapper li, body.rmx-light #wrapper label,
body.rmx-light #wrapper td, body.rmx-light #wrapper th, body.rmx-light #wrapper input, body.rmx-light #wrapper select, body.rmx-light #wrapper textarea { font-family: var(--f-sans); }
body.rmx-light #wrapper { font-size: 15px; line-height: 1.45; }
body.rmx-light #wrapper > .container { max-width: 1200px; width: 100%; padding: 0 16px; box-sizing: border-box; }
body.rmx-light #wrapper a { color: var(--blue); }
body.rmx-light #wrapper a:hover { color: var(--ink); }
body.rmx-light #wrapper h1, body.rmx-light #wrapper h2, body.rmx-light #wrapper .h1, body.rmx-light #wrapper .h2,
body.rmx-light #wrapper .page-header h1, body.rmx-light #wrapper .card-block h1 {
  font-family: var(--f-cond) !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .02em; color: var(--ink) !important; background: transparent !important; border: 0;
}
body.rmx-light #wrapper .h3, body.rmx-light #wrapper .h4, body.rmx-light #wrapper .h5, body.rmx-light #wrapper .h6,
body.rmx-light #wrapper h3, body.rmx-light #wrapper h4, body.rmx-light #wrapper .step-title { font-family: var(--f-cond) !important; letter-spacing: .03em; color: var(--ink) !important; background: transparent !important; }
body.rmx-light #wrapper .card, body.rmx-light #wrapper .card-block, body.rmx-light #wrapper .cart-grid-body .card,
body.rmx-light #wrapper .page-content, body.rmx-light #wrapper .cart-summary, body.rmx-light #wrapper #content.page-content {
  background: #fff; border: 1px solid #DCDFF0; border-radius: 0; box-shadow: none;
}
body.rmx-light #wrapper .btn-primary, body.rmx-light #wrapper .btn.btn-primary, body.rmx-light .modal .btn-primary,
body.rmx-light #wrapper button[type=submit].btn, body.rmx-light #wrapper .continue {
  background: var(--lime) !important; border: 1px solid var(--lime) !important; color: var(--ink) !important; border-radius: 0 !important;
  font: 800 17px var(--f-cond) !important; letter-spacing: .06em; text-transform: uppercase; box-shadow: none !important; text-shadow: none;
}
body.rmx-light #wrapper .btn-primary:hover, body.rmx-light #wrapper button[type=submit].btn:hover { background: var(--ink) !important; border-color: var(--ink) !important; color: #fff !important; }
body.rmx-light #wrapper .btn-secondary, body.rmx-light #wrapper .btn-tertiary, body.rmx-light #wrapper .btn-default {
  background: #fff !important; border: 1px solid var(--ink) !important; color: var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; font-family: var(--f-sans);
}
body.rmx-light #wrapper .btn-secondary:hover, body.rmx-light #wrapper .btn-tertiary:hover { background: var(--ink) !important; color: #fff !important; }
body.rmx-light #wrapper .form-control, body.rmx-light #wrapper input[type=text], body.rmx-light #wrapper input[type=email],
body.rmx-light #wrapper input[type=password], body.rmx-light #wrapper select { border-radius: 0; border-color: #B9BEDB; }
body.rmx-light #wrapper .form-control:focus { border-color: var(--blue); outline: 2px solid var(--blue); outline-offset: 0; }
body.rmx-light #wrapper .cart-summary-line .value, body.rmx-light #wrapper .product-price, body.rmx-light #wrapper .price { font-family: var(--f-mono); color: var(--ink); }
body.rmx-light #wrapper .label, body.rmx-light #wrapper .badge { border-radius: 0; }
body.rmx-light #wrapper .material-icons { font-family: 'Material Icons'; }
body.rmx-light #left-column { display: none; }

/* pie limpio */
body.rmx #footer .rmx-foot__main { background: var(--deep); border-top: 1px solid rgba(255,255,255,.08); }
body.rmx #footer .rmx-foot__grid {
  max-width: 1440px; margin: 0 auto; padding: 48px 20px 32px; box-sizing: border-box;
  display: grid; grid-template-columns: minmax(0,1fr); gap: 32px 40px;
}
body.rmx #footer .rmx-fcol { float: none; width: auto; max-width: none; padding: 0; margin: 0; min-width: 0; }
body.rmx #footer .rmx-fcol__t { margin: 0 0 12px; font: 700 16px var(--f-cond); letter-spacing: .1em; text-transform: uppercase; color: #fff; }
body.rmx #footer .rmx-fcol__t a { color: #fff; text-decoration: none; }
body.rmx #footer .rmx-fcol ul { list-style: none; margin: 0; padding: 0; display: block !important; height: auto !important; }
body.rmx #footer .rmx-fcol li { margin: 0; padding: 0; border: 0; }
body.rmx #footer .rmx-fcol li a { display: inline-block; padding: 6px 0; font: 500 14px var(--f-sans); color: var(--t1); text-decoration: none; }
body.rmx #footer .rmx-fcol li a:hover { color: var(--lime); }
body.rmx #footer .rmx-fcol--brand { display: flex; flex-direction: column; gap: 16px; }
body.rmx #footer .rmx-fcontact { display: flex; flex-direction: column; gap: 6px; font: 500 14px/1.5 var(--f-sans); font-style: normal; color: var(--t1); }
body.rmx #footer .rmx-fcontact a { color: #fff; text-decoration: none; }
body.rmx #footer .rmx-fcontact a:hover { color: var(--lime); }
body.rmx #footer .rmx-fcontact .rmx-lime { color: var(--lime); font-weight: 600; }
body.rmx #footer .rmx-news { float: none; width: auto; padding: 0; margin: 0; background: transparent; }
body.rmx #footer .rmx-news form { margin: 0; }
body.rmx #footer .rmx-field--news { max-width: 460px; }
body.rmx #footer .rmx-field--news input[type=email] {
  flex: 1; min-width: 0; height: 52px; margin: 0; padding: 0 14px; border: 0; border-radius: 0; outline: 0;
  background: transparent; color: #fff; font: 500 15px var(--f-sans); box-shadow: none;
}
body.rmx #footer .rmx-field--news input[type=email]::placeholder { color: var(--t3); opacity: 1; }
body.rmx #footer .rmx-field--news .rmx-field__go { font-size: 18px; float: none; height: auto; }
body.rmx #footer .rmx-news__info { margin: 8px 0 0; font-size: 12px; color: var(--t3); }
body.rmx #footer .rmx-news .alert { margin: 10px 0 0; border-radius: 0; font-size: 13px; }
body.rmx #footer .rmx-news .psgdpr_consent_message, body.rmx #footer .rmx-news label { color: var(--t2); font-size: 12px; }
body.rmx #footer .rmx-foot__copy { background: var(--deep); color: var(--t3); text-align: center; font: 500 11px var(--f-mono); letter-spacing: .12em; padding: 16px 16px 24px; border-top: 1px solid rgba(255,255,255,.06); }
body.rmx #footer .rmx-foot__before:empty { display: none; }
@media (min-width: 701px) {
  body.rmx #footer .rmx-foot__grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
  body.rmx #footer .rmx-fcol--brand { grid-column: span 1; }
  body.rmx #footer .rmx-fcol--news { grid-column: span 2; }
}
@media (min-width: 1100px) {
  body.rmx #footer .rmx-foot__grid { grid-template-columns: 1.3fr repeat(3, minmax(0,1fr)) 1.6fr; }
  body.rmx #footer .rmx-fcol--news { grid-column: auto; }
}
/* boton "subir" de angarscrolltop (si lo pinta algun otro sitio): fuera */
body.rmx #scrolltop, body.rmx .scrolltop, body.rmx #scroll-top, body.rmx .scroll-top, body.rmx #back-top, body.rmx a[href="#header"].back_to_top { display: none !important; }
/* 13 · Si la búsqueda no trae filtros, fuera la caja «Filtros» vacía y el listado a todo el ancho */
body.rmx:not(:has(#left-column #search_filters)) #left-column { display: none !important; }
body.rmx:not(:has(#left-column #search_filters)) #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
/* 14 · Pie (05/11): las columnas que haya se reparten el ancho; el boletín con sitio para el correo */
body.rmx #footer .rmx-foot__grid { display: flex !important; flex-wrap: wrap; gap: 32px 56px; }
body.rmx #footer .rmx-foot__grid > .rmx-fcol { flex: 1 1 180px; }
body.rmx #footer .rmx-foot__grid > .rmx-fcol--brand { flex: 1.3 1 240px; }
body.rmx #footer .rmx-foot__grid > .rmx-fcol--news { flex: 2 1 340px; }
body.rmx #footer .rmx-field--news { max-width: 520px; }
body.rmx #footer .rmx-field--news input[type=email] { flex: 1 1 auto; min-width: 0; width: auto; }
body.rmx #footer .rmx-field--news .rmx-field__go { flex: 0 0 auto; }

/* 15 · Despieces Sherco (05/11): casillas de secciones y página de lámina (despieces_sherco\LEEME.md) */
body.rmx .rmx-casillas { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin: 0 0 28px; }
body.rmx .rmx-casilla { display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--line); color: #fff; text-decoration: none; transition: border-color .15s, transform .15s; }
body.rmx .rmx-casilla:hover { border-color: var(--lime); transform: translateY(-2px); }
body.rmx .rmx-casilla__img { display: block; aspect-ratio: 4 / 3; background: #fff; overflow: hidden; }
body.rmx .rmx-casilla__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
body.rmx .rmx-casilla__t { padding: 10px 12px 2px; font: 700 17px/1.15 var(--f-cond); text-transform: uppercase; letter-spacing: .02em; }
body.rmx .rmx-casilla__n { padding: 0 12px 10px; font: 500 11px var(--f-mono); letter-spacing: .14em; color: var(--lime); }
body.rmx .rmx-casilla__t:last-child { padding-bottom: 12px; }
body.rmx .rmx-lamhead { font: 600 14px var(--f-mono) !important; color: var(--lime) !important; letter-spacing: .04em; }
body.rmx:has(.rmx-lamp) #left-column { display: none !important; }
body.rmx:has(.rmx-lamp) #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
body.rmx .rmx-lamp { color: #fff; font-family: var(--f-sans); }
body.rmx .rmx-lamp__bar { display: flex; justify-content: flex-end; margin: 0 0 14px; }
body.rmx .rmx-lamp__cambiar { display: flex; align-items: center; gap: 10px; margin: 0; font: 600 13px var(--f-cond); letter-spacing: .08em; text-transform: uppercase; color: var(--t2); }
body.rmx .rmx-lamp__cambiar select { max-width: min(420px, 70vw); background: var(--ink); color: #fff; border: 1px solid var(--lime); padding: 8px 10px; font: 500 14px var(--f-sans); text-transform: none; letter-spacing: 0; }
body.rmx .rmx-lamp__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 22px; align-items: start; }
body.rmx .rmx-lamp__hoja { position: sticky; top: calc(var(--head-h) + 12px); background: #fff; border: 1px solid var(--line); }
body.rmx .rmx-lamp__cab { display: flex; justify-content: space-between; align-items: center; background: var(--panel); padding: 8px 12px; font: 700 13px var(--f-cond); letter-spacing: .08em; text-transform: uppercase; }
body.rmx .rmx-lamp__amp { background: none; border: 1px solid var(--lime); color: var(--lime); font: 700 12px var(--f-cond); letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; cursor: pointer; }
body.rmx .rmx-lamp__dib, body.rmx .rmx-lamp__zin { position: relative; }
body.rmx .rmx-lamp__dib img, body.rmx .rmx-lamp__zin img { display: block; width: 100%; height: auto; }
body.rmx .rmx-pt { position: absolute; transform: translate(-50%, -50%); width: 22px; height: 22px; padding: 0; border-radius: 50%; border: 2px solid var(--blue); background: rgba(196,252,7,.92); color: var(--ink); font: 700 10px/18px var(--f-mono); text-align: center; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.35); transition: transform .15s; z-index: 2; }
body.rmx .rmx-pt:hover, body.rmx .rmx-pt.on { transform: translate(-50%, -50%) scale(1.35); background: var(--blue); color: #fff; border-color: var(--lime); z-index: 3; }
body.rmx .rmx-pt.no { background: rgba(255,255,255,.85); border-color: #9aa0c0; color: #555; }
body.rmx .rmx-lamp__tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 10px; color: var(--t2); font-size: 13px; }
body.rmx .rmx-lamp__vis { display: flex; border: 1px solid var(--line); }
body.rmx .rmx-lamp__vis button { background: none; border: 0; color: var(--t2); padding: 6px 12px; font: 700 13px var(--f-cond); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
body.rmx .rmx-lamp__vis button.on { background: var(--lime); color: var(--ink); }
body.rmx .rmx-lamp__orden { margin-left: auto; background: var(--ink); color: #fff; border: 1px solid var(--line); padding: 6px 8px; font: 500 13px var(--f-sans); }
body.rmx .rmx-lamp__lista { display: flex; flex-direction: column; gap: 6px; }
body.rmx .rmx-lit { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: center; background: var(--panel); border: 1px solid var(--line); padding: 10px 12px; transition: border-color .15s, background .15s; scroll-margin-top: calc(var(--head-h) + 20px); }
body.rmx .rmx-lit.on { border-color: var(--lime); background: var(--blue2); }
body.rmx .rmx-lit__num { width: 30px; height: 30px; border-radius: 50%; background: var(--lime); color: var(--ink); font: 700 12px/30px var(--f-mono); text-align: center; }
body.rmx .rmx-lit__ref { font: 500 12px var(--f-mono); color: var(--lime); letter-spacing: .05em; }
body.rmx .rmx-lit__solo:not(:empty) { display: inline-block; margin-left: 6px; padding: 1px 6px; background: #fff; color: var(--blue); border: 1px solid var(--blue); font: 700 10px var(--f-sans); letter-spacing: .03em; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
body.rmx .rmx-lit__nom { display: block; margin: 2px 0; font: 600 14px/1.3 var(--f-sans); color: #fff; text-decoration: none; }
body.rmx a.rmx-lit__nom:hover { color: var(--lime); }
body.rmx .rmx-lit__vale { font-size: 12px; color: var(--t3); }
body.rmx .rmx-lit__der { text-align: right; }
body.rmx .rmx-lit__pre { font: 600 17px var(--f-mono); white-space: nowrap; color: #fff; }
body.rmx .rmx-lit__pre small { display: block; font: 400 10px var(--f-sans); color: var(--t3); }
body.rmx .rmx-lit__pre--sin { font-size: 13px; color: var(--t2); }
body.rmx .rmx-lit__form { margin: 6px 0 0; }
body.rmx .rmx-lit__add { display: inline-block; background: var(--lime); color: var(--ink); border: 0; font: 800 13px var(--f-cond); letter-spacing: .06em; text-transform: uppercase; padding: 7px 12px; cursor: pointer; text-decoration: none; }
body.rmx .rmx-lit__add:hover { background: #fff; }
body.rmx .rmx-lit--sin { opacity: .6; }
body.rmx .rmx-lit--sin .rmx-lit__num { background: #9aa0c0; }
body.rmx .rmx-lit__add--sin { background: none; border: 1px solid var(--t3); color: var(--t2); margin-top: 6px; }
body.rmx .rmx-lamp__lista--cuad { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
body.rmx .rmx-lamp__lista--cuad .rmx-lit { grid-template-columns: 36px minmax(0, 1fr); }
body.rmx .rmx-lamp__lista--cuad .rmx-lit__der { grid-column: 1 / -1; text-align: left; display: flex; justify-content: space-between; align-items: end; gap: 8px; }
body.rmx .rmx-lamp__nota { margin: 14px 0 0; font-size: 12px; color: var(--t3); }
body.rmx .rmx-lamp__zoom { position: fixed; inset: 0; z-index: 2000; background: rgba(1,2,20,.94); overflow: auto; padding: 56px 20px 30px; }
body.rmx .rmx-lamp__zoom[hidden] { display: none; }
body.rmx .rmx-lamp__zin { width: min(1800px, 180vw); margin: 0 auto; background: #fff; }
body.rmx .rmx-lamp__x { position: fixed; top: 12px; right: 18px; z-index: 2001; background: var(--lime); color: var(--ink); border: 0; font: 800 16px var(--f-cond); padding: 8px 14px; cursor: pointer; }
html.rmx-sinscroll, html.rmx-sinscroll body { overflow: hidden; }
@media (max-width: 900px) {
  body.rmx .rmx-lamp__grid { grid-template-columns: 1fr; }
  body.rmx .rmx-lamp__hoja { position: static; }
  body.rmx .rmx-lamp__bar { justify-content: stretch; } body.rmx .rmx-lamp__cambiar { flex: 1; } body.rmx .rmx-lamp__cambiar select { flex: 1; max-width: none; }
  body.rmx .rmx-pt { width: 18px; height: 18px; font-size: 9px; line-height: 14px; }
  body.rmx .rmx-lit { grid-template-columns: 30px minmax(0, 1fr); }
  body.rmx .rmx-lit__der { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; text-align: left; }
  body.rmx .rmx-lit__form { margin: 0; }
}body.rmx .rmx-casilla--moto .rmx-casilla__img { background: radial-gradient(ellipse at 50% 60%, #12208f 0%, var(--panel) 55%, var(--ink) 100%); }
body.rmx .rmx-casilla--moto .rmx-casilla__img img { object-fit: contain; padding: 10px 8px 4px; box-sizing: border-box; filter: drop-shadow(0 8px 10px rgba(0,0,0,.45)); transition: transform .25s var(--ease); }
body.rmx .rmx-casilla--moto:hover .rmx-casilla__img img { transform: scale(1.04); }
/* 16 · Portada «Qué vendemos» con foto de la moto (06/11) */
body.rmx .rmx-cat--foto { position: relative; overflow: hidden; min-height: clamp(150px, 15vw, 190px); justify-content: flex-end; background: radial-gradient(ellipse at 60% 40%, #12208f 0%, var(--panel) 60%, var(--ink) 100%); }
body.rmx .rmx-cat--foto .rmx-cat__img { position: absolute; left: 50%; top: 8px; width: 88%; max-width: 300px; height: calc(100% - 52px); object-fit: contain; transform: translateX(-50%); filter: drop-shadow(0 8px 10px rgba(0,0,0,.45)); transition: transform .25s var(--ease); pointer-events: none; }
body.rmx .rmx-cat--foto:hover .rmx-cat__img { transform: translateX(-50%) scale(1.05); }
body.rmx .rmx-cat--foto .rmx-cat__n, body.rmx .rmx-cat--foto .rmx-cat__name { position: relative; z-index: 1; }
body.rmx .rmx-cat--main.rmx-cat--foto .rmx-cat__img { left: auto; right: 4%; transform: none; width: 55%; }
body.rmx .rmx-cat--main.rmx-cat--foto:hover .rmx-cat__img { transform: scale(1.05); }body.rmx .rmx-cat--main.rmx-cat--foto .rmx-cat__img { left: 0; top: 0; right: auto; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; transform: none; filter: none; }
body.rmx .rmx-cat--main.rmx-cat--foto:hover .rmx-cat__img { transform: scale(1.03); }
body.rmx .rmx-cat--main.rmx-cat--foto .rmx-cat__n, body.rmx .rmx-cat--main.rmx-cat--foto .rmx-cat__name { text-shadow: 0 2px 8px rgba(0,0,0,.6); }