/**
 * renegademakers · Mi Cuenta - estilos front
 * renegademakers · 4ADDICTIC SL *
 * Todos los colores llegan por variables CSS inyectadas desde el modulo
 * (hookDisplayHeader). Este archivo no contiene funciones CSS modernas
 * (color-mix, oklch...) para mantener compatibilidad con navegadores antiguos.
 */

/* IMPORTANTE: los valores por defecto van en :root, NUNCA sobre .rmma-dashboard.
   Si se declaran sobre el propio elemento, tapan a las variables que inyecta el
   modulo (que llegan por herencia desde :root) y la paleta del back-office deja
   de tener efecto. */
:root {
  --rmma-primary: #f5a800;
  --rmma-primary-dark: #3b3b3b;
  --rmma-primary-rgb: 245, 168, 0;
  --rmma-primary-soft: #fef8eb;
  --rmma-primary-line: #fce1a8;
  --rmma-on-primary: #172033;
  --rmma-accent: #f5a800;
  --rmma-accent-soft: #fef5e0;
  --rmma-on-accent: #172033;
  --rmma-ink: #16181d;
  --rmma-muted: #6b7280;
  --rmma-border: #e6e4df;
  --rmma-surface: #ffffff;
  --rmma-panel: #1c1f26;
  --rmma-on-panel: #ffffff;
  --rmma-btn-bg: #f5a800;
  --rmma-btn-text: #172033;
  --rmma-btn-bg-hover: #3b3b3b;
  --rmma-btn-text-hover: #ffffff;
  --rmma-radius: 18px;
  --rmma-radius-sm: 11px;
  --rmma-radius-xs: 7px;
  --rmma-radius-pill: 999px;
  --rmma-font: inherit;
  /* v2.6.3: marca para el respaldo de carga de hookDisplayHeader */
  --rmma-css-loaded: 1;
}

.rmma-dashboard {
  width: 100%;
  margin: 0 0 32px;
  font-family: var(--rmma-font);
  color: var(--rmma-ink);
  box-sizing: border-box;
}

.rmma-dashboard *,
.rmma-dashboard *::before,
.rmma-dashboard *::after {
  box-sizing: border-box;
}

/* ------------------------------- Cabecera ------------------------------- */

.rmma-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  overflow: hidden;
  padding: 32px 36px;
  border-radius: var(--rmma-radius);
  background: var(--rmma-primary);
  background: linear-gradient(135deg, var(--rmma-primary) 0%, var(--rmma-primary-dark) 100%);
  color: var(--rmma-on-primary);
  box-shadow: 0 18px 42px rgba(var(--rmma-primary-rgb), 0.18);
}

.rmma-hero__content {
  position: relative;
  z-index: 2;
  max-width: 660px;
}

.rmma-eyebrow,
.rmma-kicker {
  display: block;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rmma-eyebrow {
  opacity: 0.75;
  margin-bottom: 14px;
}

.rmma-hero__greet {
  display: flex;
  align-items: center;
  gap: 14px;
}

.rmma-avatar {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: var(--rmma-radius-pill, 999px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.32);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.rmma-hero h2 {
  color: inherit;
  font-size: 28px;
  line-height: 1.15;
  margin: 0;
  font-weight: 800;
}

.rmma-hero__subtitle {
  margin: 4px 0 0;
  font-size: 16px;
  font-weight: 600;
  opacity: 0.92;
}

.rmma-hero__text {
  margin: 14px 0 0;
  font-size: 14.5px;
  line-height: 1.6;
  opacity: 0.82;
  max-width: 560px;
}

.rmma-hero__art {
  position: relative;
  z-index: 1;
  flex: 0 0 160px;
  width: 160px;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rmma-hero__art svg {
  position: relative;
  z-index: 2;
  width: 108px;
  height: 108px;
  color: currentColor;
  opacity: 0.85;
}

.rmma-hero__orb {
  position: absolute;
  border-radius: var(--rmma-radius-pill, 999px);
  background: rgba(255, 255, 255, 0.10);
}

.rmma-hero__orb--one { width: 180px; height: 180px; }
.rmma-hero__orb--two { width: 104px; height: 104px; right: -28px; top: -18px; background: rgba(255, 255, 255, 0.08); }

/* ----------------------------- Bloque PRO ------------------------------ */

.rmma-pro {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  padding: 18px 20px;
  border: 1px solid var(--rmma-border);
  border-left: 4px solid var(--rmma-accent);
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-surface);
}

.rmma-pro__icon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: var(--rmma-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rmma-accent-soft);
  color: var(--rmma-accent);
}

.rmma-pro__icon svg { width: 24px; height: 24px; }

.rmma-pro__badge {
  display: inline-block;
  margin-bottom: 5px;
  padding: 3px 9px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-accent);
  color: var(--rmma-on-accent);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.rmma-pro strong { display: block; font-size: 15px; color: var(--rmma-ink); }
.rmma-pro p { margin: 3px 0 0; color: var(--rmma-muted); font-size: 13px; }

/* ----------------------------- Estadisticas ---------------------------- */

.rmma-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.rmma-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 90px;
  padding: 16px 18px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-surface);
  color: inherit;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

a.rmma-stat:hover,
a.rmma-stat:focus {
  transform: translateY(-2px);
  border-color: var(--rmma-primary-line);
  box-shadow: 0 12px 26px rgba(23, 32, 51, 0.08);
}

.rmma-stat__icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: var(--rmma-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rmma-primary-soft);
  color: var(--rmma-primary);
}

.rmma-stat__icon svg { width: 22px; height: 22px; }
.rmma-stat__body { min-width: 0; }
.rmma-stat small { display: block; color: var(--rmma-muted); font-size: 12px; margin-bottom: 2px; }
.rmma-stat strong { display: block; color: var(--rmma-ink); font-size: 19px; line-height: 1.2; font-weight: 800; }

/* -------------------------- Aviso de seguridad ------------------------- */

.rmma-security {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 12px 16px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-primary-soft);
  color: var(--rmma-muted);
  font-size: 13px;
  line-height: 1.5;
}

.rmma-security svg {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  color: var(--rmma-primary);
}

.rmma-security strong { color: var(--rmma-ink); }
.rmma-security a { color: var(--rmma-primary); text-decoration: underline; }

/* ---------------------------- Ultimo pedido ---------------------------- */

.rmma-last-order {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 16px;
  padding: 20px 24px;
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-panel);
  color: var(--rmma-on-panel);
}

.rmma-last-order .rmma-kicker { opacity: 0.6; margin-bottom: 6px; }
.rmma-last-order strong { font-size: 17px; }
.rmma-last-order p { margin: 4px 0 0; opacity: 0.72; font-size: 13px; }

.rmma-state {
  display: inline-block;
  margin-top: 10px;
  padding: 4px 11px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: rgba(255, 255, 255, 0.16);
  color: inherit;
  font-size: 11.5px;
  font-weight: 700;
}

.rmma-ghost-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: none;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--rmma-radius-pill, 999px);
  color: inherit !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 700;
  transition: background 0.18s ease;
}

.rmma-ghost-btn:hover,
.rmma-ghost-btn:focus { background: rgba(255, 255, 255, 0.12); }

/* ------------------------------- Tarjetas ------------------------------ */

.rmma-section-heading { margin: 30px 0 14px; }
.rmma-section-heading .rmma-kicker { color: var(--rmma-primary); margin-bottom: 7px; }
.rmma-section-heading h3 { color: var(--rmma-ink); font-size: 21px; line-height: 1.25; margin: 0; font-weight: 800; }

.rmma-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.rmma-dashboard.rmma-cols-3 .rmma-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.rmma-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 108px;
  padding: 18px 20px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-surface);
  color: inherit !important;
  text-decoration: none !important;
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.rmma-card::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -52px;
  width: 108px;
  height: 108px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary-soft);
  transition: transform 0.22s ease;
}

.rmma-card:hover,
.rmma-card:focus {
  transform: translateY(-3px);
  border-color: var(--rmma-primary-line);
  box-shadow: 0 14px 30px rgba(23, 32, 51, 0.08);
}

.rmma-card:hover::after { transform: scale(1.16); }

.rmma-card__icon {
  position: relative;
  z-index: 2;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: var(--rmma-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rmma-primary-soft);
  color: var(--rmma-primary);
}

.rmma-card__icon svg { width: 24px; height: 24px; }
.rmma-card__body { position: relative; z-index: 2; flex: 1; min-width: 0; }
.rmma-card__body strong { display: block; color: var(--rmma-ink); font-size: 15px; margin-bottom: 4px; font-weight: 800; }
.rmma-card__body small { display: block; color: var(--rmma-muted); font-size: 12.5px; line-height: 1.45; }

.rmma-card__arrow {
  position: relative;
  z-index: 2;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-pill, 999px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rmma-surface);
  color: var(--rmma-primary);
  font-size: 16px;
  transition: transform 0.18s ease;
}

.rmma-card:hover .rmma-card__arrow { transform: translateX(3px); }

/* -------------------------------- Ayuda -------------------------------- */

.rmma-help {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  padding: 20px 24px;
  border: 1px dashed var(--rmma-primary-line);
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-primary-soft);
}

.rmma-help strong { display: block; color: var(--rmma-ink); font-size: 15px; }
.rmma-help p { margin: 4px 0 0; color: var(--rmma-muted); font-size: 13px; }

.rmma-solid-btn {
  display: inline-flex;
  align-items: center;
  flex: none;
  padding: 11px 20px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary);
  color: var(--rmma-on-primary) !important;
  text-decoration: none !important;
  font-size: 13.5px;
  font-weight: 700;
  transition: background 0.18s ease, transform 0.18s ease;
}

.rmma-solid-btn:hover,
.rmma-solid-btn:focus { background: var(--rmma-primary-dark); transform: translateY(-1px); }

/* --------------------- Boton de vuelta al panel ------------------------ */

.rmma-back-wrap { width: 100%; margin: 0 0 18px; }

.rmma-back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface, #fff);
  color: var(--rmma-ink, #172033) !important;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(23, 32, 51, 0.06);
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.rmma-back:hover,
.rmma-back:focus {
  color: var(--rmma-primary, #1f6feb) !important;
  border-color: var(--rmma-primary-line, #b6d0f8);
  box-shadow: 0 10px 24px rgba(23, 32, 51, 0.10);
  transform: translateY(-1px);
}

.rmma-back__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary-soft, #f2f7fe);
  color: var(--rmma-primary, #1f6feb);
  font-size: 16px;
  font-weight: 700;
}

/* --------------------- Integracion con el tema ------------------------- */

/* Oculta la cabecera duplicada de "Su cuenta" cuando el panel esta activo. */
body.rmma-ready.page-my-account #main .page-header,
body.rmma-ready#my-account #main .page-header {
  display: none;
}

/* Oculta los accesos nativos, tanto si el tema los saca en .links como si
   los renderiza como columnas Bootstrap sueltas. Solo cuando esta activada
   la opcion "Ocultar los accesos nativos del tema" (clase rmma-hide-native). */
body.rmma-hide-native.rmma-ready #content > .links,
body.rmma-hide-native.rmma-ready #content > .row > .links > a,
body.rmma-hide-native.rmma-ready #content > .row > .links > a[class*="col-"],
body.rmma-hide-native.rmma-ready #content .links > a[id$="-link"],
body.rmma-hide-native.rmma-ready .rmma-native-links {
  display: none !important;
}

body.rmma-ready #content > .row > .links > .rmma-dashboard,
body.rmma-ready #content .links > .rmma-dashboard {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  clear: both;
}

/* Coherencia visual en el resto de subpaginas de la cuenta. */
body.rmma-account-page .table { border-radius: var(--rmma-radius-xs, 7px); overflow: hidden; }

body.rmma-account-page .btn-primary,
body.rmma-account-page .btn.btn-primary {
  background: var(--rmma-primary, #1f6feb);
  border-color: var(--rmma-primary, #1f6feb);
  border-radius: var(--rmma-radius-xs, 7px);
}

body.rmma-account-page .btn-primary:hover,
body.rmma-account-page .btn.btn-primary:hover {
  background: var(--rmma-primary-dark, #17529f);
  border-color: var(--rmma-primary-dark, #17529f);
}

/* --------------------------- Desistimiento ----------------------------- */

.rmma-withdrawal { font-family: var(--rmma-font, inherit); color: var(--rmma-ink, #172033); }
.rmma-withdrawal .rmma-intro { color: var(--rmma-muted, #6f7787); font-size: 14px; line-height: 1.6; }

.rmma-panel {
  padding: 20px 22px;
  margin-bottom: 18px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-sm, 11px);
  background: var(--rmma-surface, #fff);
}

.rmma-panel h4 { margin: 0 0 12px; font-size: 16px; font-weight: 800; color: var(--rmma-ink, #172033); }

.rmma-order-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }

.rmma-order-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-xs, 7px);
  cursor: pointer;
  transition: border-color 0.16s ease, background 0.16s ease;
}

.rmma-order-option:hover { border-color: var(--rmma-primary-line, #b6d0f8); background: var(--rmma-primary-soft, #f2f7fe); }
.rmma-order-option input { margin: 0; flex: none; }
.rmma-order-option__main { flex: 1; min-width: 0; }
.rmma-order-option strong { display: block; font-size: 14.5px; }
.rmma-order-option small { display: block; color: var(--rmma-muted, #6f7787); font-size: 12.5px; margin-top: 2px; }

.rmma-badge {
  flex: none;
  padding: 3px 10px;
  border-radius: var(--rmma-radius-pill, 999px);
  font-size: 11px;
  font-weight: 700;
  background: var(--rmma-accent-soft, #e6f8f2);
  color: var(--rmma-accent, #0fae7e);
}

.rmma-badge--off { background: #f1f2f5; color: #7a8396; }

.rmma-product-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-xs, 7px);
  margin-bottom: 8px;
}

.rmma-product-row__name { flex: 1; min-width: 0; font-size: 14px; }
.rmma-product-row__name small { display: block; color: var(--rmma-muted, #6f7787); font-size: 12px; }
.rmma-product-row__qty { flex: none; display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--rmma-muted, #6f7787); }
.rmma-product-row__qty input { width: 68px; }
.rmma-hp { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; }

@media (max-width: 767px) {
  .rmma-dashboard { margin-bottom: 22px; }
  .rmma-hero { padding: 24px 20px; }
  .rmma-hero h2 { font-size: 23px; }
  .rmma-hero__subtitle { font-size: 15px; }
  .rmma-hero__text { font-size: 13.5px; }
  .rmma-hero__art { flex-basis: 84px; width: 84px; height: 110px; }
  .rmma-hero__art svg { width: 70px; height: 70px; }
  .rmma-hero__orb--one { width: 112px; height: 112px; }
  .rmma-stats { grid-template-columns: 1fr; gap: 10px; }
  .rmma-stat { min-height: 76px; padding: 14px; }
  .rmma-grid,
  .rmma-dashboard.rmma-cols-3 .rmma-grid { grid-template-columns: 1fr; gap: 10px; }
  .rmma-card { min-height: 92px; padding: 16px; }
  .rmma-last-order,
  .rmma-help { flex-direction: column; align-items: flex-start; }
  .rmma-ghost-btn,
  .rmma-solid-btn { width: 100%; justify-content: center; }
  .rmma-section-heading { margin-top: 24px; }
  .rmma-section-heading h3 { font-size: 19px; }
}

@media (max-width: 420px) {
  .rmma-hero__art { display: none; }
  .rmma-hero__content { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .rmma-card,
  .rmma-stat,
  .rmma-back,
  .rmma-solid-btn,
  .rmma-card__arrow,
  .rmma-card::after { transition: none !important; }
  .rmma-card:hover,
  .rmma-stat:hover,
  .rmma-back:hover { transform: none !important; }
}

@media print {
  .rmma-hero__art,
  .rmma-card__arrow,
  .rmma-back-wrap { display: none !important; }
  .rmma-hero { box-shadow: none; }
}

/* =======================================================================
 * v1.1.0 - Historial visual, linea de progreso, widget de cabecera y
 * homogeneizacion de las subpaginas de la cuenta.
 * ===================================================================== */

/* ------------------- Etiqueta de estado (compartida) ------------------- */

.rmma-obadge {
  display: inline-flex;
  align-items: center;
  padding: 3px 11px;
  border-radius: var(--rmma-radius-pill, 999px);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background: var(--rmma-accent-soft, #e6f8f2);
  color: var(--rmma-accent, #0fae7e);
  white-space: nowrap;
}

/* ---------------- Historial de pedidos como tarjetas ------------------- */

.rmma-olist {
  display: grid;
  gap: 14px;
  margin: 0 0 26px;
}

.rmma-ocard {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 22px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-sm, 11px);
  background: var(--rmma-surface, #fff);
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.05);
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.rmma-ocard:hover {
  border-color: var(--rmma-primary-line, #b6d0f8);
  box-shadow: 0 12px 28px rgba(23, 32, 51, 0.09);
}

.rmma-ocard__main { flex: 1; min-width: 0; }

.rmma-ocard__top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.rmma-ocard__ref { font-size: 15.5px; font-weight: 800; color: var(--rmma-ink, #172033); }

.rmma-ocard__addr {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--rmma-muted, #6f7787);
}

.rmma-ocard__meta {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--rmma-ink, #172033);
}

.rmma-ocard__thumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.rmma-ocard__thumbs img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-xs, 7px);
  background: #fff;
  padding: 3px;
}

.rmma-ocard__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: 1px dashed var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-xs, 7px);
  color: var(--rmma-muted, #6f7787);
  font-size: 13px;
  font-weight: 700;
}

.rmma-ocard__actions {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
  min-width: 190px;
}

.rmma-ocard__reorder { justify-content: center; }

.rmma-ocard__detail,
.rmma-ocard__invoice {
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--rmma-primary, #1f6feb) !important;
  text-decoration: none !important;
}

.rmma-ocard__detail:hover,
.rmma-ocard__invoice:hover { text-decoration: underline !important; }

/* Cuando la version visual esta lista, la tabla nativa se retira. */
body.rmma-orders-ready.page-history #content .table-responsive,
body.rmma-orders-ready.page-history #content table.table,
body.rmma-orders-ready#history #content .table-responsive,
body.rmma-orders-ready#history #content table.table {
  display: none !important;
}

/* --------------------- Linea de progreso del pedido -------------------- */

.rmma-progress {
  margin: 0 0 24px;
  padding: 22px 24px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-sm, 11px);
  background: var(--rmma-surface, #fff);
  box-shadow: 0 10px 26px rgba(23, 32, 51, 0.06);
}

.rmma-progress__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }

.rmma-progress__top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.rmma-progress__ref { font-size: 17px; font-weight: 800; color: var(--rmma-ink, #172033); }

.rmma-progress__meta {
  margin: 6px 0 0;
  font-size: 13.5px;
  color: var(--rmma-muted, #6f7787);
  font-weight: 600;
}

.rmma-steps {
  display: flex;
  align-items: flex-start;
  list-style: none;
  margin: 22px 0 4px;
  padding: 0;
}

.rmma-step {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 9px;
  min-width: 0;
}

/* Conector entre pasos */
.rmma-step::before {
  content: "";
  position: absolute;
  top: 21px;
  left: -50%;
  width: 100%;
  height: 3px;
  background: var(--rmma-border, #e6eaf1);
  z-index: 1;
}

.rmma-step:first-child::before { display: none; }

.rmma-step--done::before,
.rmma-step--active::before { background: var(--rmma-accent, #0fae7e); }

.rmma-step__icon {
  position: relative;
  z-index: 2;
  width: 42px;
  height: 42px;
  border-radius: var(--rmma-radius-pill, 999px);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--rmma-border, #e6eaf1);
  background: var(--rmma-surface, #fff);
  color: var(--rmma-muted, #9aa2b1);
  transition: border-color 0.16s ease, color 0.16s ease, background 0.16s ease;
}

.rmma-step__icon svg { width: 21px; height: 21px; }

.rmma-step--done .rmma-step__icon {
  border-color: var(--rmma-accent, #0fae7e);
  background: var(--rmma-accent, #0fae7e);
  color: var(--rmma-on-accent, #fff);
}

.rmma-step--active .rmma-step__icon {
  border-color: var(--rmma-accent, #0fae7e);
  background: var(--rmma-accent-soft, #e6f8f2);
  color: var(--rmma-accent, #0fae7e);
  box-shadow: 0 0 0 5px rgba(15, 174, 126, 0.14);
}

.rmma-step__label {
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--rmma-muted, #9aa2b1);
  max-width: 120px;
}

.rmma-step--done .rmma-step__label,
.rmma-step--active .rmma-step__label { color: var(--rmma-ink, #172033); }

.rmma-progress__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

/* ---------------------- Widget de cuenta en cabecera ------------------- */

.rmma-hw {
  width: 320px;
  max-width: 100%;
  margin-top: 12px;
  padding: 16px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-sm, 11px);
  background: var(--rmma-surface, #fff);
  color: var(--rmma-ink, #172033);
  font-family: var(--rmma-font, inherit);
  text-align: left;
  box-shadow: 0 14px 34px rgba(23, 32, 51, 0.10);
}

.rmma-hw__title { display: block; font-size: 16px; font-weight: 800; color: var(--rmma-ink, #172033); }

.rmma-hw__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 4px;
}

.rmma-hw__email {
  font-size: 12.5px;
  color: var(--rmma-muted, #6f7787);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rmma-hw__logout {
  flex: none;
  font-size: 12px;
  font-weight: 700;
  color: #d63f3f !important;
  text-decoration: none !important;
}

.rmma-hw__logout:hover { text-decoration: underline !important; }

.rmma-hw__order {
  margin-top: 14px;
  padding: 13px 14px;
  border: 1px solid var(--rmma-accent, #0fae7e);
  border-radius: var(--rmma-radius-xs, 7px);
  background: var(--rmma-accent-soft, #e6f8f2);
}

.rmma-hw__order-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.rmma-hw__order .rmma-kicker { color: var(--rmma-accent, #0fae7e); }

.rmma-hw__order-line { margin: 8px 0 0; font-size: 13.5px; color: var(--rmma-ink, #172033); }
.rmma-hw__order-addr { margin: 3px 0 0; font-size: 12.5px; color: var(--rmma-muted, #6f7787); }

.rmma-hw__order-actions {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 9px;
}

.rmma-hw__track,
.rmma-hw__view {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rmma-primary, #1f6feb) !important;
  text-decoration: underline !important;
  word-break: break-all;
}

.rmma-hw__links {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 12px;
  border-top: 1px solid var(--rmma-border, #e6eaf1);
}

.rmma-hw__link {
  display: block;
  padding: 10px 4px;
  border-bottom: 1px solid var(--rmma-border, #e6eaf1);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rmma-ink, #172033) !important;
  text-decoration: none !important;
  transition: color 0.14s ease, padding-left 0.14s ease;
}

.rmma-hw__link:hover { color: var(--rmma-primary, #1f6feb) !important; padding-left: 8px; }

.rmma-hw__cta {
  width: 100%;
  justify-content: center;
  margin-top: 14px;
  border-radius: var(--rmma-radius-xs, 7px);
}

/* ---------------- Homogeneizacion de las subpaginas -------------------- */

/* Titulos de pagina con el mismo lenguaje visual del panel. */
body.rmma-account-page:not(.page-my-account) #main .page-header h1,
body.rmma-account-page:not(.page-my-account) #main h1.page-heading,
body.rmma-account-page:not(.page-my-account) #main h1 {
  font-size: 24px;
  font-weight: 800;
  color: var(--rmma-ink, #172033);
  border: 0;
  text-transform: none;
}

/* Contenedor principal como tarjeta. */
body.rmma-account-page:not(.page-my-account) #content.page-content,
body.rmma-account-page:not(.page-my-account) #main .page-content {
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-sm, 11px);
  background: var(--rmma-surface, #fff);
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.04);
  padding: 22px;
}

/* Tablas nativas (abonos, cupones, seguimiento...) */
body.rmma-account-page #content table.table {
  border: 1px solid var(--rmma-border, #e6eaf1);
}

body.rmma-account-page #content table.table thead th {
  background: var(--rmma-primary-soft, #f2f7fe);
  color: var(--rmma-ink, #172033);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--rmma-border, #e6eaf1);
}

body.rmma-account-page #content table.table td {
  vertical-align: middle;
  font-size: 13.5px;
  border-color: var(--rmma-border, #e6eaf1);
}

body.rmma-account-page #content table.table tbody tr:hover td {
  background: var(--rmma-primary-soft, #f2f7fe);
}

/* Formularios (datos personales, direcciones) */
body.rmma-account-page #content .form-control,
body.rmma-account-page #content input[type="text"],
body.rmma-account-page #content input[type="email"],
body.rmma-account-page #content input[type="password"],
body.rmma-account-page #content input[type="tel"],
body.rmma-account-page #content select,
body.rmma-account-page #content textarea {
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-xs, 7px);
  min-height: 42px;
  box-shadow: none;
}

body.rmma-account-page #content .form-control:focus,
body.rmma-account-page #content input:focus,
body.rmma-account-page #content select:focus,
body.rmma-account-page #content textarea:focus {
  border-color: var(--rmma-primary, #1f6feb);
  box-shadow: 0 0 0 3px rgba(var(--rmma-primary-rgb, 31, 111, 235), 0.14);
  outline: none;
}

/* Botones secundarios y alertas */
body.rmma-account-page #content .btn-secondary,
body.rmma-account-page #content .btn-default {
  border-radius: var(--rmma-radius-xs, 7px);
}

body.rmma-account-page #content .alert {
  border-radius: var(--rmma-radius-xs, 7px);
  border: 1px solid var(--rmma-border, #e6eaf1);
}

/* Tarjetas de direcciones del tema classic */
body.rmma-account-page .address,
body.rmma-account-page article.address {
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-sm, 11px);
  box-shadow: 0 6px 18px rgba(23, 32, 51, 0.04);
}

/* ------------------------------ Responsive ----------------------------- */

@media (max-width: 767px) {
  .rmma-ocard { flex-direction: column; gap: 14px; padding: 16px; }
  .rmma-ocard__actions { min-width: 0; flex-direction: column; }
  .rmma-ocard__thumbs img,
  .rmma-ocard__more { width: 48px; height: 48px; }

  .rmma-progress { padding: 18px 14px; }
  .rmma-steps { margin-top: 18px; }
  .rmma-step__icon { width: 36px; height: 36px; }
  .rmma-step__icon svg { width: 18px; height: 18px; }
  .rmma-step::before { top: 18px; }
  .rmma-step__label { font-size: 10.5px; max-width: 88px; }

  .rmma-hw { width: 100%; box-shadow: none; }

  body.rmma-account-page:not(.page-my-account) #content.page-content,
  body.rmma-account-page:not(.page-my-account) #main .page-content { padding: 16px 14px; }
}

@media print {
  .rmma-hw,
  .rmma-ocard__actions,
  .rmma-progress__actions { display: none !important; }
}

/* =======================================================================
 * v1.1.1 - Correcciones de contraste sobre fondos oscuros y botones
 * "ghost" sobre superficies claras.
 * ===================================================================== */

/* Muchos temas declaran `p { color: gris }` a nivel de elemento; esa regla
   gana a la herencia del color del panel oscuro y el texto se vuelve
   ilegible. Se fuerza color: inherit en todos los descendientes de las
   superficies con fondo de color. */
.rmma-hero h2,
.rmma-hero p,
.rmma-hero .rmma-hero__subtitle,
.rmma-hero .rmma-hero__text,
.rmma-hero .rmma-eyebrow,
.rmma-last-order,
.rmma-last-order p,
.rmma-last-order strong,
.rmma-last-order .rmma-kicker,
.rmma-last-order .rmma-state {
  color: inherit !important;
}

/* El boton ghost nacio para el panel oscuro (borde blanco). Sobre tarjetas
   claras (historial, panel de progreso) usa la paleta de marca. */
.rmma-ocard .rmma-ghost-btn,
.rmma-progress .rmma-ghost-btn {
  border-color: var(--rmma-border, #e6eaf1);
  color: var(--rmma-primary, #1f6feb) !important;
  background: var(--rmma-surface, #fff);
}

.rmma-ocard .rmma-ghost-btn:hover,
.rmma-ocard .rmma-ghost-btn:focus,
.rmma-progress .rmma-ghost-btn:hover,
.rmma-progress .rmma-ghost-btn:focus {
  background: var(--rmma-primary-soft, #f2f7fe);
  border-color: var(--rmma-primary-line, #b6d0f8);
}

/* Refuerzo equivalente en el widget de cabecera por si el tema colorea
   los parrafos del desplegable. */
.rmma-hw p,
.rmma-hw strong,
.rmma-hw span:not(.rmma-obadge) {
  color: inherit;
}

.rmma-hw__title { color: var(--rmma-ink, #172033) !important; }
.rmma-hw__email,
.rmma-hw__order-addr { color: var(--rmma-muted, #6f7787) !important; }
.rmma-hw__order-line { color: var(--rmma-ink, #172033) !important; }

/* =======================================================================
 * v1.2.0 - Barra superior persistente en subpaginas y contraste definitivo
 * sobre superficies de color (temas con selectores agresivos tipo
 * `#content section { color: ... }`).
 * ===================================================================== */

/* Contraste blindado: !important en el CONTENEDOR gana a cualquier regla
   del tema sin !important, sea cual sea su especificidad. Los hijos ya
   heredan con inherit !important (v1.1.1). */
.rmma-hero { color: var(--rmma-on-primary, #ffffff) !important; }
.rmma-last-order { color: var(--rmma-on-panel, #ffffff) !important; }
.rmma-last-order .rmma-ghost-btn { color: inherit !important; }
.rmma-last-order .rmma-ghost-btn span { color: inherit !important; }

/* ------------------- Barra superior de las subpaginas ------------------ */

.rmma-topbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin: 0 0 20px;
  padding: 14px 18px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-sm, 11px);
  background: var(--rmma-surface, #fff);
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.05);
  font-family: var(--rmma-font, inherit);
}

.rmma-topbar__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: none;
  padding: 8px 14px 8px 9px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface, #fff);
  color: var(--rmma-ink, #172033) !important;
  text-decoration: none !important;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  transition: color 0.16s ease, border-color 0.16s ease;
}

.rmma-topbar__back:hover,
.rmma-topbar__back:focus {
  color: var(--rmma-primary, #1f6feb) !important;
  border-color: var(--rmma-primary-line, #b6d0f8);
}

.rmma-topbar__id {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: none;
}

.rmma-topbar__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary-soft, #f2f7fe);
  color: var(--rmma-primary, #1f6feb);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.rmma-topbar__id strong {
  font-size: 15px;
  font-weight: 800;
  color: var(--rmma-ink, #172033);
}

.rmma-topbar__stats {
  display: inline-flex;
  align-items: stretch;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
}

.rmma-topbar__stat {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  padding: 6px 14px;
  border-left: 1px solid var(--rmma-border, #e6eaf1);
  text-decoration: none !important;
  min-width: 0;
}

.rmma-topbar__stat small {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--rmma-muted, #6f7787);
  white-space: nowrap;
}

.rmma-topbar__stat strong {
  font-size: 14.5px;
  font-weight: 800;
  color: var(--rmma-ink, #172033);
  white-space: nowrap;
}

a.rmma-topbar__stat:hover strong { color: var(--rmma-primary, #1f6feb); }

.rmma-topbar__order {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
  flex: none;
  max-width: 260px;
  padding: 9px 14px;
  border: 1px solid var(--rmma-primary-line, #b6d0f8);
  border-radius: var(--rmma-radius-xs, 7px);
  background: var(--rmma-primary-soft, #f2f7fe);
  text-decoration: none !important;
}

.rmma-topbar__order-head {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rmma-topbar__order .rmma-kicker {
  font-size: 9.5px;
  color: var(--rmma-primary, #1f6feb);
}

.rmma-topbar__order strong {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--rmma-ink, #172033);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rmma-topbar__order .rmma-obadge { font-size: 9.5px; padding: 2px 8px; }

a.rmma-topbar__order:hover { border-color: var(--rmma-primary, #1f6feb); }

/* La barra sustituye al boton de vuelta suelto: si por cualquier motivo
   coexistieran, el suelto se retira. */
.rmma-topbar ~ .rmma-back-wrap { display: none; }

@media (max-width: 991px) {
  .rmma-topbar__stats { flex-wrap: wrap; }
  .rmma-topbar__order { max-width: 100%; }
}

@media (max-width: 767px) {
  .rmma-topbar { padding: 12px 14px; gap: 10px 14px; }
  .rmma-topbar__stat { padding: 4px 10px; }
  .rmma-topbar__stat:first-child { border-left: 0; padding-left: 0; }
  .rmma-topbar__order { flex: 1 1 100%; }
}

/* =======================================================================
 * v1.2.1 - El widget sustituye al contenido nativo del desplegable, el
 * selector de idioma se recoloca dentro y los botones crecen.
 * ===================================================================== */

/* Contenido nativo del desplegable ocultado por el widget. */
.rmma-hw-native-off {
  display: none !important;
}

/* Cuando el widget es el unico contenido, no necesita separarse de nada. */
.rmma-hw:first-child,
.rmma-hw-native-off + .rmma-hw {
  margin-top: 0;
}

/* Bloque de idioma del tema recolocado dentro del panel. */
.rmma-hw__lang {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid var(--rmma-border, #e6eaf1);
  border-radius: var(--rmma-radius-xs, 7px);
  background: var(--rmma-primary-soft, #f2f7fe);
}

.rmma-hw__lang > * {
  margin: 0 !important;
  float: none !important;
}

.rmma-hw__lang img {
  vertical-align: middle;
}

/* ------------------------ Tallas mas generosas ------------------------- */

.rmma-hw {
  width: 340px;
  padding: 18px;
}

.rmma-hw__title {
  font-size: 17px;
}

.rmma-hw__email {
  font-size: 13px;
}

.rmma-hw__logout {
  font-size: 13px;
}

.rmma-hw__order-line {
  font-size: 14.5px;
}

.rmma-hw__order-addr {
  font-size: 13px;
}

.rmma-hw__track,
.rmma-hw__view {
  font-size: 13.5px;
  padding: 2px 0;
}

.rmma-hw__link {
  padding: 13px 4px;
  font-size: 15px;
}

.rmma-hw__cta {
  padding: 14px 20px;
  font-size: 14.5px;
  font-weight: 800;
  margin-top: 16px;
}

/* =======================================================================
 * v1.3.0 - Botones con colores propios (normal + hover), iconos en los
 * enlaces de accion, acciones de direcciones, barra inferior a juego con
 * la superior, desplegable con mas aire y repaso movil.
 * ===================================================================== */

/* --------------------- Botones solidos configurables ------------------- */

/* Especificidad reforzada + !important en ambos estados: gana a los temas
   que colorean los enlaces de cabecera con !important. */
body .rmma-solid-btn,
body a.rmma-solid-btn {
  background: var(--rmma-btn-bg, #f5a800) !important;
  color: var(--rmma-btn-text, #172033) !important;
  border: 0;
}

body .rmma-solid-btn:hover,
body .rmma-solid-btn:focus,
body a.rmma-solid-btn:hover,
body a.rmma-solid-btn:focus {
  background: var(--rmma-btn-bg-hover, #3b3b3b) !important;
  color: var(--rmma-btn-text-hover, #ffffff) !important;
}

body .rmma-solid-btn span { color: inherit !important; }

/* ------------------------- Iconos de accion ---------------------------- */

.rmma-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 20px;
  height: 20px;
}

.rmma-ico svg { width: 18px; height: 18px; }

/* Enlaces de accion de las tarjetas de pedido: chips con icono. */
.rmma-ocard__detail,
.rmma-ocard__invoice {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid var(--rmma-border, #e6e4df);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface, #fff);
  transition: background 0.16s ease, border-color 0.16s ease;
}

.rmma-ocard__detail:hover,
.rmma-ocard__invoice:hover {
  background: var(--rmma-primary-soft, #fef8eb);
  border-color: var(--rmma-primary-line, #fce1a8);
  text-decoration: none !important;
}

/* --------------------- Desplegable: aire y tallas ---------------------- */

.rmma-hw__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 6px;
  font-size: 15.5px;
}

.rmma-hw__link .rmma-ico {
  color: var(--rmma-primary, #f5a800);
}

.rmma-hw__link-arrow {
  margin-left: auto;
  color: var(--rmma-muted, #6b7280);
  font-size: 15px;
  transition: transform 0.16s ease, color 0.16s ease;
}

.rmma-hw__link:hover .rmma-hw__link-arrow {
  transform: translateX(3px);
  color: var(--rmma-primary, #f5a800);
}

.rmma-hw__cta {
  padding: 16px 22px;
  font-size: 15px;
  border-radius: var(--rmma-radius-xs, 7px);
}

.rmma-hw__view,
.rmma-hw__track {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none !important;
  font-weight: 700;
}

.rmma-hw__view:hover,
.rmma-hw__track:hover { text-decoration: underline !important; }

/* ----------------- Direcciones: botones de accion ---------------------- */

body.rmma-account-page article.address .address-footer a,
body.rmma-account-page .address footer a,
body.rmma-account-page .address .card-footer a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 15px;
  margin-right: 8px;
  border: 1px solid var(--rmma-border, #e6e4df);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface, #fff);
  color: var(--rmma-ink, #16181d) !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

body.rmma-account-page article.address .address-footer a:hover,
body.rmma-account-page .address footer a:hover,
body.rmma-account-page .address .card-footer a:hover {
  background: var(--rmma-primary-soft, #fef8eb);
  border-color: var(--rmma-primary-line, #fce1a8);
  color: var(--rmma-primary-dark, #3b3b3b) !important;
}

/* "Borrar" en tono de peligro. */
body.rmma-account-page article.address .address-footer a[data-link-action="delete-address"],
body.rmma-account-page .address footer a[data-link-action="delete-address"],
body.rmma-account-page .address a[href*="delete"] {
  color: #c0392b !important;
  border-color: #f0d4d0;
}

body.rmma-account-page article.address .address-footer a[data-link-action="delete-address"]:hover,
body.rmma-account-page .address footer a[data-link-action="delete-address"]:hover,
body.rmma-account-page .address a[href*="delete"]:hover {
  background: #fdf1ef;
  border-color: #e6b5af;
  color: #a93226 !important;
}

/* ---------------- Barra inferior a juego con la superior --------------- */

body.rmma-account-page #main .page-footer,
body.rmma-account-page #content ~ .page-footer,
body.rmma-account-page footer.page-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  padding: 14px 18px;
  border: 1px solid var(--rmma-border, #e6e4df);
  border-radius: var(--rmma-radius-sm, 11px);
  background: var(--rmma-surface, #fff);
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.05);
}

body.rmma-account-page .page-footer a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border: 1px solid var(--rmma-border, #e6e4df);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface, #fff);
  color: var(--rmma-ink, #16181d) !important;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  transition: color 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

body.rmma-account-page .page-footer a:hover {
  color: var(--rmma-primary-dark, #3b3b3b) !important;
  border-color: var(--rmma-primary-line, #fce1a8);
  background: var(--rmma-primary-soft, #fef8eb);
}

body.rmma-account-page .page-footer li { list-style: none; }
body.rmma-account-page .page-footer ul { display: flex; gap: 10px; margin: 0; padding: 0; }

/* ------------------------------ Movil ---------------------------------- */

@media (max-width: 480px) {
  .rmma-hw { width: 100%; padding: 16px 14px; }
  .rmma-hw__link { padding: 15px 4px; font-size: 15px; }
  .rmma-hw__cta { padding: 15px 18px; }

  .rmma-ocard__actions { width: 100%; }
  .rmma-ocard__reorder,
  .rmma-ocard__detail,
  .rmma-ocard__invoice { width: 100%; }

  .rmma-progress__actions { flex-direction: column; }
  .rmma-progress__actions .rmma-ghost-btn,
  .rmma-progress__actions .rmma-solid-btn { width: 100%; justify-content: center; }

  body.rmma-account-page article.address .address-footer a,
  body.rmma-account-page .address footer a { margin-bottom: 6px; }

  body.rmma-account-page .page-footer { padding: 12px 14px; }
  body.rmma-account-page .page-footer ul { flex-wrap: wrap; }
}

/* =======================================================================
 * v1.4.0 - Widget para visitantes y tamanos tactiles reales en movil.
 * ===================================================================== */

/* ------------------------- Variante visitante -------------------------- */

.rmma-hw__guest-text {
  margin: 6px 0 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--rmma-muted, #6b7280) !important;
}

/* Boton secundario en contorno ("Crear cuenta"). */
.rmma-hw__alt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 10px;
  padding: 14px 20px;
  border: 2px solid var(--rmma-btn-bg, #f5a800);
  border-radius: var(--rmma-radius-xs, 7px);
  background: transparent;
  color: var(--rmma-ink, #16181d) !important;
  font-size: 14.5px;
  font-weight: 800;
  text-decoration: none !important;
  transition: background 0.16s ease, color 0.16s ease;
}

.rmma-hw__alt:hover,
.rmma-hw__alt:focus {
  background: var(--rmma-primary-soft, #fef8eb);
  color: var(--rmma-primary-dark, #3b3b3b) !important;
}

.rmma-hw--guest .rmma-hw__cta { margin-top: 14px; }
.rmma-hw--guest .rmma-hw__cart { border-top: 1px solid var(--rmma-border, #e6e4df); margin-top: 12px; }

/* --------------------- Tactil: objetivos de 48px ----------------------- */

/* En pantallas tactiles / moviles TODO crece: enlaces, botones y flechas.
   48px es el minimo recomendado de area de toque. */
@media (max-width: 767px), (pointer: coarse) {
  .rmma-hw {
    width: min(400px, 92vw);
    padding: 20px 16px;
  }

  .rmma-hw__title { font-size: 19px; }
  .rmma-hw__email { font-size: 14px; }

  .rmma-hw__logout {
    font-size: 14.5px;
    padding: 10px 6px;
    margin: -10px -6px;
  }

  .rmma-hw__order { padding: 15px 16px; }
  .rmma-hw__order-line { font-size: 16px; }
  .rmma-hw__order-addr { font-size: 14px; }

  .rmma-hw__view,
  .rmma-hw__track {
    font-size: 15px;
    min-height: 44px;
    align-items: center;
  }

  .rmma-hw__lang { padding: 13px 14px; }
  .rmma-hw__lang img { transform: scale(1.25); transform-origin: left center; margin-right: 6px; }

  .rmma-hw__link {
    padding: 0 6px;
    min-height: 52px;
    font-size: 17px;
  }

  .rmma-hw__link .rmma-ico { width: 24px; height: 24px; }
  .rmma-hw__link .rmma-ico svg { width: 22px; height: 22px; }
  .rmma-hw__link-arrow { font-size: 17px; }

  .rmma-hw__cta {
    min-height: 52px;
    padding: 16px 22px;
    font-size: 16px;
  }

  .rmma-hw__alt {
    min-height: 50px;
    font-size: 15.5px;
  }

  /* Chips y botones del resto de vistas tambien crecen. */
  .rmma-ocard__reorder,
  .rmma-ocard__detail,
  .rmma-ocard__invoice {
    min-height: 46px;
    font-size: 14.5px;
  }

  .rmma-topbar__back,
  body.rmma-account-page .page-footer a {
    min-height: 42px;
    font-size: 13.5px;
  }

  body.rmma-account-page article.address .address-footer a,
  body.rmma-account-page .address footer a {
    min-height: 44px;
    font-size: 14px;
    padding: 10px 18px;
  }
}

/* =======================================================================
 * v1.4.1 - Accesos del desplegable y CTA con mucho mas aire, en TODAS las
 * pantallas (la base crece; movil/tactil crece aun mas).
 * ===================================================================== */

/* Base (escritorio incluido) */
.rmma-hw__links {
  margin-top: 14px;
}

.rmma-hw__link {
  min-height: 56px;
  padding: 18px 8px;
  font-size: 16.5px;
  gap: 14px;
}

.rmma-hw__link .rmma-ico { width: 24px; height: 24px; }
.rmma-hw__link .rmma-ico svg { width: 22px; height: 22px; }
.rmma-hw__link-arrow { font-size: 17px; }

.rmma-hw__cta {
  min-height: 56px;
  padding: 18px 24px;
  font-size: 16px;
  margin-top: 18px;
}

.rmma-hw__alt {
  min-height: 54px;
  padding: 16px 22px;
  font-size: 15.5px;
}

.rmma-hw--guest .rmma-hw__cart {
  min-height: 56px;
  padding: 18px 8px;
  font-size: 16.5px;
}

/* Movil / tactil: un punto mas todavia */
@media (max-width: 767px), (pointer: coarse) {
  .rmma-hw__link,
  .rmma-hw--guest .rmma-hw__cart {
    min-height: 60px;
    padding: 19px 8px;
    font-size: 18px;
  }

  .rmma-hw__link .rmma-ico { width: 26px; height: 26px; }
  .rmma-hw__link .rmma-ico svg { width: 24px; height: 24px; }
  .rmma-hw__link-arrow { font-size: 18px; }

  .rmma-hw__cta {
    min-height: 60px;
    padding: 19px 24px;
    font-size: 17px;
  }

  .rmma-hw__alt {
    min-height: 58px;
    font-size: 16.5px;
  }
}

/* =======================================================================
 * v1.5.0 - Disposicion en dos columnas: menu lateral fijo + contenido.
 * ===================================================================== */

.rmma-shell {
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

/* ------------------------------ Menu ----------------------------------- */

.rmma-shell__nav {
  position: sticky;
  top: 20px;
  display: flex;
  flex-direction: column;
  padding: 10px;
  border: 1px solid var(--rmma-border, #e6e4df);
  border-radius: var(--rmma-radius-sm, 11px);
  background: var(--rmma-surface, #fff);
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.05);
}

.rmma-shell__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: var(--rmma-radius-xs, 7px);
  border-left: 3px solid transparent;
  color: var(--rmma-ink, #16181d) !important;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none !important;
  transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease;
}

.rmma-shell__item .rmma-ico {
  color: var(--rmma-muted, #6b7280);
  transition: color 0.14s ease;
}

.rmma-shell__item:hover {
  background: var(--rmma-primary-soft, #fef8eb);
}

.rmma-shell__item:hover .rmma-ico {
  color: var(--rmma-primary, #f5a800);
}

.rmma-shell__item--active {
  background: var(--rmma-primary-soft, #fef8eb);
  border-left-color: var(--rmma-primary, #f5a800);
  font-weight: 800;
}

.rmma-shell__item--active .rmma-ico {
  color: var(--rmma-primary, #f5a800);
}

/* Panel arriba y Desconectar abajo, separados del resto. */
.rmma-shell__item--panel {
  border-bottom: 1px solid var(--rmma-border, #e6e4df);
  border-radius: var(--rmma-radius-xs, 7px) var(--rmma-radius-xs, 7px) 0 0;
  margin-bottom: 6px;
}

.rmma-shell__item--logout {
  border-top: 1px solid var(--rmma-border, #e6e4df);
  margin-top: 6px;
  color: #c0392b !important;
}

.rmma-shell__item--logout .rmma-ico { color: #c0392b; }

.rmma-shell__item--logout:hover {
  background: #fdf1ef;
}

/* ---------------------------- Contenido -------------------------------- */

.rmma-shell__main { min-width: 0; }

/* El contenedor-tarjeta de la subpagina ya no necesita duplicar marco
   cuando vive dentro del shell: se mantiene, pero sin sombra extra. */
body.rmma-shell-on.rmma-account-page:not(.page-my-account) #content.page-content,
body.rmma-shell-on.rmma-account-page:not(.page-my-account) #main .page-content {
  box-shadow: none;
  border: 0;
  padding: 0;
  background: transparent;
}

body.rmma-shell-on .rmma-shell__main > * {
  margin-top: 0;
}

/* ------------------------------ Movil ---------------------------------- */

@media (max-width: 991px) {
  .rmma-shell {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* El menu pasa a fila de pastillas deslizable. */
  .rmma-shell__nav {
    position: static;
    flex-direction: row;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px;
    gap: 6px;
    scrollbar-width: none;
  }

  .rmma-shell__nav::-webkit-scrollbar { display: none; }

  .rmma-shell__item {
    flex: none;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--rmma-border, #e6e4df);
    border-radius: var(--rmma-radius-pill, 999px);
    font-size: 13.5px;
    white-space: nowrap;
  }

  .rmma-shell__item--active {
    border-color: var(--rmma-primary, #f5a800);
    background: var(--rmma-primary-soft, #fef8eb);
  }

  .rmma-shell__item--panel,
  .rmma-shell__item--logout {
    border-top: 1px solid var(--rmma-border, #e6e4df);
    border-bottom: 1px solid var(--rmma-border, #e6e4df);
    margin: 0;
  }

  .rmma-shell__item--logout { border-color: #f0d4d0; }

  .rmma-shell__item .rmma-ico { width: 18px; height: 18px; }
  .rmma-shell__item .rmma-ico svg { width: 17px; height: 17px; }
}

/* =======================================================================
 * v1.5.1 - El widget nunca se sale del viewport en movil.
 * ===================================================================== */

.rmma-hw,
.rmma-hw * {
  box-sizing: border-box;
}

@media (max-width: 767px), (pointer: coarse) {
  .rmma-hw {
    /* Nunca mas ancho que la pantalla menos margen; el JS ademas corrige
       la posicion si el popup del tema lo ancla fuera del viewport. */
    max-width: calc(100vw - 20px);
  }
}

/* =======================================================================
 * v2.0.0 - Modulo estandar renegademakers
 * Linea temporal en tarjetas y panel oscuro, importes con base imponible,
 * filtros/buscador del historial, tarjetas de estado (puntos, opiniones,
 * perfil, direccion), opiniones desde la cuenta y desplegable con anillos.
 * ===================================================================== */

.rmma-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

.rmma-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.rmma-orders [hidden],
.rmma-reviews [hidden],
.rmma-dashboard [hidden] { display: none !important; }

/* ---------------------------- Mano saludando --------------------------- */

.rmma-wave {
  display: inline-block;
  transform-origin: 70% 75%;
  animation: rmma-wave 1.6s ease-in-out 0.3s 1;
}

.rmma-wave.is-waving { animation: rmma-wave 1.6s ease-in-out 0.15s 1; }

@keyframes rmma-wave {
  0% { transform: rotate(0deg); }
  15% { transform: rotate(16deg); }
  30% { transform: rotate(-8deg); }
  45% { transform: rotate(16deg); }
  60% { transform: rotate(-4deg); }
  75% { transform: rotate(10deg); }
  100% { transform: rotate(0deg); }
}

/* ------------------------------ Insignias ------------------------------ */

.rmma-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  margin-left: 6px;
  padding: 0 7px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary);
  color: var(--rmma-on-primary) !important;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1;
  vertical-align: middle;
}

.rmma-obadge--caps {
  border-radius: 6px;
  padding: 5px 12px;
  letter-spacing: 0.06em;
}

/* ---------------------- Estadisticas en 4 tarjetas --------------------- */

.rmma-dashboard .rmma-stats {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.rmma-stat--security { align-items: flex-start; }
.rmma-stat--security strong { font-size: 17px; }
.rmma-stat--security em {
  display: block;
  margin-top: 3px;
  font-style: normal;
  font-size: 12px;
  color: var(--rmma-muted);
  line-height: 1.4;
}
.rmma-stat--security em a { color: var(--rmma-primary) !important; text-decoration: underline !important; }

/* ------------------- Panel de ultimo pedido (oscuro) ------------------- */

.rmma-dashboard .rmma-last-order {
  align-items: center;
  padding: 26px 30px;
  border-radius: var(--rmma-radius);
}

.rmma-last-order__info { min-width: 0; flex: 1; }
.rmma-last-order .rmma-kicker { letter-spacing: 0.16em; }
.rmma-dashboard .rmma-last-order strong { display: block; font-size: 22px; font-weight: 800; }
.rmma-dashboard .rmma-last-order p { font-size: 15px; opacity: 0.85; }
.rmma-last-order__excl { opacity: 0.7; font-size: 13px; }

.rmma-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: none;
  min-height: 52px;
  padding: 12px 30px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: #ffffff;
  color: var(--rmma-panel) !important;
  text-decoration: none !important;
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.rmma-pill-btn:hover,
.rmma-pill-btn:focus { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.26); }
.rmma-last-order .rmma-pill-btn span { color: inherit !important; }

/* ------------------------- Linea temporal v2 --------------------------- */

.rmma-step__date {
  display: block;
  margin-top: -4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--rmma-muted);
  white-space: nowrap;
}

.rmma-steps--compact { margin: 18px 0 0; max-width: 620px; }
.rmma-steps--compact .rmma-step { gap: 7px; }
.rmma-steps--compact .rmma-step::before { top: 15px; height: 2px; }
.rmma-steps--compact .rmma-step__icon { width: 32px; height: 32px; border-width: 2px; }
.rmma-steps--compact .rmma-step__icon svg { width: 16px; height: 16px; }
.rmma-steps--compact .rmma-step__label { font-size: 11.5px; }

/* Sobre el panel oscuro */
.rmma-steps--dark .rmma-step::before { background: rgba(255, 255, 255, 0.16); }
.rmma-steps--dark .rmma-step--done::before,
.rmma-steps--dark .rmma-step--active::before { background: var(--rmma-accent); }
.rmma-steps--dark .rmma-step__icon {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.28);
  color: rgba(255, 255, 255, 0.55);
}
.rmma-steps--dark .rmma-step--done .rmma-step__icon {
  background: var(--rmma-accent);
  border-color: var(--rmma-accent);
  color: var(--rmma-on-accent);
}
.rmma-steps--dark .rmma-step--active .rmma-step__icon {
  background: var(--rmma-panel);
  border-color: var(--rmma-accent);
  color: var(--rmma-accent);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.10);
}
.rmma-last-order .rmma-steps--dark .rmma-step__label { color: rgba(255, 255, 255, 0.55) !important; }
.rmma-last-order .rmma-steps--dark .rmma-step--done .rmma-step__label,
.rmma-last-order .rmma-steps--dark .rmma-step--active .rmma-step__label { color: #ffffff !important; }

/* En las tarjetas del historial */
.rmma-steps--card { margin: 18px 0 0; }
.rmma-steps--card .rmma-step { gap: 7px; }
.rmma-steps--card .rmma-step::before { top: 17px; height: 2px; }
.rmma-steps--card .rmma-step__icon { width: 36px; height: 36px; }
.rmma-steps--card .rmma-step__icon svg { width: 17px; height: 17px; }
.rmma-steps--card .rmma-step__label { font-size: 12px; }

/* Mini (desplegable de cabecera) */
.rmma-steps--mini { margin: 12px 0 2px; }
.rmma-steps--mini .rmma-step { gap: 5px; }
.rmma-steps--mini .rmma-step::before { top: 11px; height: 2px; }
.rmma-steps--mini .rmma-step__icon { width: 24px; height: 24px; border-width: 2px; }
.rmma-steps--mini .rmma-step__icon svg { width: 12px; height: 12px; }
.rmma-steps--mini .rmma-step__label { font-size: 10px; line-height: 1.2; }
.rmma-steps--mini .rmma-step--active .rmma-step__icon { box-shadow: 0 0 0 3px rgba(var(--rmma-primary-rgb), 0.12); }

/* Detalle con fechas */
.rmma-steps--detail { margin-top: 26px; }

/* ----------------------- Tarjetas de estado (HSN) ---------------------- */

.rmma-insights {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.rmma-insight {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 100%;
  padding: 22px 22px 20px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-surface);
  box-shadow: 0 10px 26px rgba(23, 32, 51, 0.05);
}

.rmma-insight h4 {
  margin: 0;
  font-size: 15.5px;
  font-weight: 800;
  color: var(--rmma-ink);
  text-transform: none;
}

.rmma-insight__text {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--rmma-muted);
}

.rmma-insight__meta { margin: 8px 0 0; text-align: center; font-size: 12.5px; font-weight: 700; color: var(--rmma-ink); }
.rmma-insight__meta--soft { margin-top: 2px; font-weight: 600; color: var(--rmma-muted); }

.rmma-insight__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 16px;
}

.rmma-insight__link {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--rmma-primary) !important;
  text-decoration: none !important;
}

.rmma-insight__link:hover { text-decoration: underline !important; }

.rmma-insight__product {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 18px 0 0;
}

.rmma-insight__product img {
  width: 120px;
  height: 120px;
  object-fit: contain;
}

.rmma-insight__bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary-soft);
  color: var(--rmma-primary);
}

.rmma-insight__bubble svg { width: 44px; height: 44px; }

.rmma-insight__todo {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  font-size: 12.5px;
}

.rmma-insight__todo li { padding: 4px 0 4px 18px; position: relative; }
.rmma-insight__todo li::before {
  content: "";
  position: absolute;
  left: 2px; top: 10px;
  width: 7px; height: 7px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-accent);
}
.rmma-insight__todo a { color: var(--rmma-ink) !important; text-decoration: none !important; font-weight: 600; }
.rmma-insight__todo a:hover { color: var(--rmma-primary) !important; }

.rmma-insight address {
  margin: 10px 0 0;
  font-style: normal;
  font-size: 13px;
  line-height: 1.55;
  color: var(--rmma-ink);
}

.rmma-insight address span { display: block; }
.rmma-insight address span:first-child { font-weight: 700; }

.rmma-insight__map {
  display: flex;
  justify-content: center;
  margin-top: 12px;
  color: var(--rmma-primary);
}

.rmma-insight__map svg { width: 120px; height: 80px; }

/* Anillo de progreso */
.rmma-ring {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 150px;
  margin: 18px auto 0;
}

.rmma-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }

.rmma-ring__track { fill: none; stroke: var(--rmma-border); stroke-width: 9; }

.rmma-ring__bar {
  fill: none;
  stroke: currentColor;
  stroke-width: 9;
  stroke-linecap: round;
  stroke-dasharray: 263.89;
  transition: stroke-dashoffset 0.9s ease;
}


.rmma-ring__label {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.1;
}

.rmma-ring__label small {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rmma-muted);
}

.rmma-ring__label b {
  margin: 3px 0;
  font-size: 26px;
  font-weight: 800;
  color: var(--rmma-ink);
}

.rmma-ring--sm { width: 96px; height: 96px; margin: 0 auto; }
.rmma-ring--sm .rmma-ring__track,
.rmma-ring--sm .rmma-ring__bar { stroke-width: 10; }
.rmma-ring--sm .rmma-ring__label b { font-size: 16px; }
.rmma-ring--sm .rmma-ring__label small { font-size: 8px; }

/* Barra de progreso */
.rmma-bar {
  height: 8px;
  margin-top: 16px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-border);
  overflow: hidden;
}

.rmma-bar span {
  display: block;
  height: 100%;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary);
  background: linear-gradient(90deg, var(--rmma-primary) 0%, var(--rmma-accent) 100%);
}

/* Estrellas estaticas */
.rmma-stars-static { display: inline-flex; gap: 3px; }
.rmma-stars-static i {
  display: inline-block;
  width: 15px;
  height: 15px;
  background: var(--rmma-border);
  -webkit-clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
.rmma-stars-static i.is-on { background: #f5b301; }
.rmma-stars-static--lg i { width: 22px; height: 22px; }

/* -------------------------- Opiniones rapidas -------------------------- */

.rmma-quick-reviews { margin-top: 26px; }
.rmma-section-heading--row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.rmma-section-heading--row p { margin: 4px 0 0; color: var(--rmma-muted); font-size: 13.5px; }

.rmma-rv-list { display: grid; gap: 12px; margin-top: 14px; }

.rmma-rv {
  display: flex;
  gap: 18px;
  padding: 16px 18px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-surface);
  transition: opacity 0.4s ease, transform 0.4s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.rmma-rv.is-open { border-color: var(--rmma-primary-line); box-shadow: 0 12px 28px rgba(23, 32, 51, 0.07); }
.rmma-rv.is-busy { opacity: 0.7; pointer-events: none; }
.rmma-rv.is-leaving { opacity: 0; transform: translateY(-6px); }

.rmma-rv__img {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-xs);
  background: #fff;
  overflow: hidden;
}

.rmma-rv__img img { width: 100%; height: 100%; object-fit: contain; }
.rmma-rv__noimg { display: block; width: 100%; height: 100%; background: var(--rmma-primary-soft); }

.rmma-rv__body { flex: 1; min-width: 0; position: relative; }

.rmma-rv__name {
  display: block;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--rmma-ink) !important;
  text-decoration: none !important;
}

.rmma-rv__name:hover { color: var(--rmma-primary) !important; }
.rmma-rv__meta { display: block; margin-top: 2px; font-size: 12px; color: var(--rmma-muted); }

.rmma-rv__form { margin: 8px 0 0; }

/* Estrellas interactivas: orden inverso + selector de hermanos */
.rmma-stars {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 2px;
  margin: 0;
  padding: 0;
  border: 0;
}

.rmma-stars input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }

.rmma-stars label {
  display: inline-flex;
  margin: 0;
  padding: 3px;
  cursor: pointer;
  color: var(--rmma-border);
  transition: transform 0.12s ease, color 0.12s ease;
}

.rmma-stars label svg { width: 30px; height: 30px; fill: currentColor; }

.rmma-stars label:hover,
.rmma-stars label:hover ~ label,
.rmma-stars input:checked ~ label { color: #f5b301; }

.rmma-stars label:hover { transform: scale(1.12); }
.rmma-stars input:focus-visible + label { outline: 2px solid var(--rmma-primary); outline-offset: 2px; border-radius: 6px; }

.rmma-rv__more { margin-top: 10px; }
.rmma-js .rmma-rv:not(.is-open) .rmma-rv__more { display: none; }

.rmma-rv__title,
.rmma-rv__text {
  display: block;
  width: 100%;
  margin: 0 0 8px;
  padding: 10px 12px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-xs);
  background: #fff;
  color: var(--rmma-ink);
  font: inherit;
  font-size: 14px;
  box-sizing: border-box;
}

.rmma-rv__title:focus,
.rmma-rv__text:focus {
  outline: none;
  border-color: var(--rmma-primary);
  box-shadow: 0 0 0 3px rgba(var(--rmma-primary-rgb), 0.14);
}

.rmma-rv__text { min-height: 84px; resize: vertical; }

.rmma-rv__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.rmma-rv__actions .rmma-solid-btn { border: 0; cursor: pointer; }

.rmma-link-btn {
  padding: 6px 0;
  border: 0;
  background: none;
  color: var(--rmma-muted);
  font: inherit;
  font-size: 12.5px;
  text-decoration: underline;
  cursor: pointer;
}

.rmma-link-btn:hover { color: var(--rmma-ink); }

.rmma-rv__msg { min-height: 0; margin: 0 0 8px; font-size: 13px; font-weight: 600; }
.rmma-rv__msg:empty { display: none; }
.rmma-rv__msg.is-ko { color: #c0392b; }

.rmma-rv__done {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--rmma-surface);
  font-size: 14px;
  font-weight: 700;
  color: var(--rmma-ink);
  animation: rmma-fade-in 0.3s ease both;
}

.rmma-rv__done p { margin: 0; }

.rmma-rv__done-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-accent);
  color: var(--rmma-on-accent);
}

.rmma-rv__done-ico svg { width: 20px; height: 20px; }

@keyframes rmma-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* Pagina "Mis opiniones" */
.rmma-reviews { font-family: var(--rmma-font); color: var(--rmma-ink); }
.rmma-reviews *,
.rmma-reviews *::before,
.rmma-reviews *::after { box-sizing: border-box; }

.rmma-rv-intro {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 22px;
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-primary-soft);
  border: 1px solid var(--rmma-primary-line);
}

.rmma-rv-intro strong { display: block; font-size: 17px; }
.rmma-rv-intro p { margin: 3px 0 0; font-size: 13.5px; color: var(--rmma-muted); }

.rmma-rv-intro__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--rmma-primary);
  color: var(--rmma-on-primary);
}

.rmma-rv-intro__icon svg { width: 26px; height: 26px; }

.rmma-rv-intro__count {
  margin-left: auto;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--rmma-muted);
  white-space: nowrap;
}

.rmma-rv-intro__count b { display: block; font-size: 28px; color: var(--rmma-primary); }

.rmma-rv-reward {
  display: inline-block;
  margin-top: 8px;
  padding: 4px 10px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-accent);
  color: var(--rmma-on-accent);
  font-size: 12px;
  font-weight: 800;
}

.rmma-rv-filter { margin: 16px 0 0; font-size: 13.5px; color: var(--rmma-muted); }
.rmma-rv-filter a { color: var(--rmma-primary); font-weight: 700; }

.rmma-rv-empty {
  margin-top: 18px;
  padding: 34px 20px;
  border: 1px dashed var(--rmma-border);
  border-radius: var(--rmma-radius-sm);
  text-align: center;
}

.rmma-rv-empty span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-accent);
  color: var(--rmma-on-accent);
}

.rmma-rv-empty span svg { width: 26px; height: 26px; }
.rmma-rv-empty strong { display: block; margin-top: 10px; font-size: 17px; }
.rmma-rv-empty p { margin: 4px auto 0; max-width: 440px; color: var(--rmma-muted); font-size: 13.5px; }

.rmma-rv-done { display: grid; gap: 10px; margin-top: 12px; }

.rmma-rvd {
  display: flex;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-sm);
  background: var(--rmma-surface);
}

.rmma-rvd__img { flex: 0 0 64px; width: 64px; height: 64px; }
.rmma-rvd__img img { width: 100%; height: 100%; object-fit: contain; }
.rmma-rvd__body { flex: 1; min-width: 0; }
.rmma-rvd__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rmma-rvd__top a { color: var(--rmma-ink) !important; text-decoration: none !important; }
.rmma-rvd__title { margin: 6px 0 0; font-weight: 700; font-size: 14px; }
.rmma-rvd__text { margin: 3px 0 4px; font-size: 13.5px; color: var(--rmma-muted); }
.rmma-rvd small { font-size: 12px; color: var(--rmma-muted); }

.rmma-rvd__status {
  flex: none;
  padding: 3px 10px;
  border-radius: var(--rmma-radius-pill, 999px);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.rmma-rvd__status.is-on { background: var(--rmma-accent-soft); color: var(--rmma-accent); }
.rmma-rvd__status.is-wait { background: #f3f4f6; color: #6b7280; }

.rmma-rv-back { margin-top: 24px; }

.rmma-alert {
  margin: 0 0 16px;
  padding: 12px 16px;
  border-radius: var(--rmma-radius-xs);
  font-size: 14px;
}
.rmma-alert p, .rmma-alert ul { margin: 0; }
.rmma-alert--ok { background: #e7f7ef; color: #11744a; }
.rmma-alert--ko { background: #fdecec; color: #a12a2a; }

/* ------------------------ Historial v2: filtros ------------------------ */

.rmma-orders { margin: 0 0 26px; font-family: var(--rmma-font); }

.rmma-otools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
}

.rmma-otabs { display: flex; flex-wrap: wrap; gap: 8px; }

.rmma-otab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 18px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface);
  color: var(--rmma-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.rmma-otab:hover { border-color: var(--rmma-primary-line); }

.rmma-otab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 22px;
  padding: 0 7px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary-soft);
  color: var(--rmma-primary);
  font-size: 11.5px;
  font-weight: 800;
}

.rmma-otab.is-active { background: var(--rmma-primary); border-color: var(--rmma-primary); color: var(--rmma-on-primary); }
.rmma-otab.is-active .rmma-otab__count { background: rgba(255, 255, 255, 0.22); color: inherit; }

.rmma-osearch {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 1 380px;
  min-height: 46px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface);
  color: var(--rmma-muted);
}

.rmma-osearch .rmma-ico svg { width: 18px; height: 18px; }

.rmma-osearch input {
  flex: 1;
  min-width: 0;
  height: 44px;
  border: 0 !important;
  outline: none;
  background: transparent;
  color: var(--rmma-ink);
  font: inherit;
  font-size: 14px;
  box-shadow: none !important;
}

.rmma-osearch:focus-within { border-color: var(--rmma-primary); box-shadow: 0 0 0 3px rgba(var(--rmma-primary-rgb), 0.12); }

.rmma-oempty {
  padding: 28px;
  border: 1px dashed var(--rmma-border);
  border-radius: var(--rmma-radius-sm);
  text-align: center;
  color: var(--rmma-muted);
}

.rmma-ofooter {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
}

.rmma-ofooter__info { font-size: 12.5px; color: var(--rmma-muted); }

/* ---------------------- Tarjeta de pedido v2 --------------------------- */

.rmma-olist { margin: 0; }

.rmma-ocard {
  display: block;
  padding: 20px 24px;
}

.rmma-ocard--cancelled { background: #fbfaf9; }
.rmma-ocard--cancelled .rmma-ocard__thumbs { opacity: 0.6; }

.rmma-ocard__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.rmma-ocard__id { min-width: 0; }
.rmma-ocard__ref { font-size: 17px; letter-spacing: 0.02em; }
.rmma-ocard__meta { font-weight: 700; }

.rmma-ocard__amounts {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  flex: none;
  text-align: right;
}

.rmma-amount small {
  display: block;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rmma-ink);
  opacity: 0.8;
}

.rmma-amount b { display: block; margin-top: 2px; font-size: 17px; font-weight: 800; color: var(--rmma-ink); }
.rmma-amount--total b { font-size: 21px; color: var(--rmma-primary); }

.rmma-ocard__body {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
}

.rmma-ocard__main { flex: 1; min-width: 0; }

.rmma-thumb {
  position: relative;
  display: inline-flex;
  width: 64px;
  height: 64px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-xs);
  background: #fff;
  box-shadow: 0 4px 10px rgba(23, 32, 51, 0.05);
}

.rmma-ocard__thumbs .rmma-thumb img {
  width: 100%;
  height: 100%;
  border: 0;
  padding: 4px;
  object-fit: contain;
  border-radius: inherit;
}

.rmma-thumb__qty {
  position: absolute;
  right: -6px;
  bottom: -6px;
  padding: 1px 6px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-panel);
  color: var(--rmma-on-panel) !important;
  font-size: 10.5px;
  font-weight: 800;
}

.rmma-ocard__more { width: 64px; height: 64px; }

.rmma-ocard__actions {
  min-width: 240px;
  gap: 10px;
}

.rmma-outline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 10px 20px;
  border: 1px solid var(--rmma-primary-line);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface);
  color: var(--rmma-primary) !important;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.rmma-outline-btn:hover,
.rmma-outline-btn:focus { background: var(--rmma-primary-soft); border-color: var(--rmma-primary); transform: translateY(-1px); }
.rmma-outline-btn .rmma-ico svg,
.rmma-chip .rmma-ico svg,
.rmma-solid-btn .rmma-ico svg { width: 17px; height: 17px; }
.rmma-outline-btn span,
.rmma-chip span { color: inherit !important; }
.rmma-outline-btn--accent { border-color: var(--rmma-accent); color: var(--rmma-accent) !important; }

.rmma-ocard__minor { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }

.rmma-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 5px 12px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-primary-soft);
  color: var(--rmma-primary) !important;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none !important;
}

.rmma-chip:hover { background: var(--rmma-primary-line); }
.rmma-chip--accent { background: var(--rmma-accent-soft); color: var(--rmma-accent) !important; }

.rmma-chip__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  margin-left: 2px;
  padding: 0 6px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-accent);
  color: var(--rmma-on-accent) !important;
  font-size: 11px;
  font-weight: 800;
}

/* ---------------------- Detalle del pedido v2 -------------------------- */

.rmma-progress { padding: 24px 28px; }
.rmma-progress__msg { margin: 6px 0 0; font-size: 16px; font-weight: 800; color: var(--rmma-ink); }
.rmma-progress__amounts { margin-left: auto; }

.rmma-breakdown {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 16px 0 0;
  padding: 12px 0 0;
  border-top: 1px dashed var(--rmma-border);
}

.rmma-breakdown__row { display: flex; gap: 6px; font-size: 13px; }
.rmma-breakdown dt { font-weight: 600; color: var(--rmma-muted); }
.rmma-breakdown dd { margin: 0; font-weight: 800; color: var(--rmma-ink); }

.rmma-progress .rmma-ocard__thumbs { margin-top: 16px; flex-wrap: wrap; }
.rmma-progress__actions .rmma-solid-btn { border: 0; }

/* ---------------------- Desplegable de cabecera v2 --------------------- */

.rmma-hw { width: 380px; }
.rmma-hw__title { font-size: 21px; line-height: 1.2; }
.rmma-hw__title .rmma-wave { font-size: 20px; }

.rmma-hw__intro {
  margin: 10px 0 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--rmma-border);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--rmma-muted) !important;
}

.rmma-hw__meta { margin-top: 12px; }
.rmma-hw__email { font-size: 14px; font-weight: 800; color: var(--rmma-ink) !important; }
.rmma-hw__logout { display: inline-flex; align-items: center; gap: 5px; font-size: 13.5px; }
.rmma-hw__logout .rmma-ico svg { width: 16px; height: 16px; }

a.rmma-hw__order,
.rmma-hw__order {
  display: block;
  margin-top: 14px;
  padding: 14px 16px;
  border: 2px solid var(--rmma-accent);
  border-radius: var(--rmma-radius-xs);
  background: var(--rmma-surface);
  color: var(--rmma-ink) !important;
  text-decoration: none !important;
  transition: box-shadow 0.15s ease;
}

a.rmma-hw__order:hover { box-shadow: 0 8px 20px rgba(23, 32, 51, 0.10); }

.rmma-hw__order-top { align-items: flex-start; }
.rmma-hw__order-msg strong {
  display: block;
  font-size: 15px;
  line-height: 1.3;
  color: var(--rmma-accent) !important;
}

.rmma-hw__order-line { display: block; margin-top: 5px; font-size: 13px; }
.rmma-hw__order-ico { flex: none; color: var(--rmma-accent); }
.rmma-hw__order-ico svg { width: 34px; height: 34px; }

.rmma-hw__track {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  text-align: left;
}

.rmma-hw__rings {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 16px;
}

.rmma-hw__rings--2 { grid-template-columns: repeat(2, 1fr); }
.rmma-hw__rings--1 { grid-template-columns: 1fr; }

.rmma-hw__ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 4px 2px;
  border-radius: var(--rmma-radius-xs);
  color: var(--rmma-ink) !important;
  text-decoration: none !important;
  transition: background 0.15s ease;
}

a.rmma-hw__ring:hover { background: var(--rmma-primary-soft); }
.rmma-hw__ring-label { font-size: 12.5px; font-weight: 800; text-align: center; line-height: 1.25; }

.rmma-hw .rmma-ring__label small { color: var(--rmma-muted) !important; }
.rmma-hw .rmma-ring__label b { color: var(--rmma-ink) !important; }

/* ------------------------------ Responsive ----------------------------- */

@media (max-width: 991px) {
  .rmma-ocard__body { flex-direction: column; align-items: stretch; }
  .rmma-ocard__actions { min-width: 0; flex-direction: row; flex-wrap: wrap; }
  .rmma-ocard__actions .rmma-outline-btn { flex: 1 1 160px; }
  .rmma-ocard__minor { width: 100%; justify-content: flex-start; }
}

@media (max-width: 767px) {
  .rmma-dashboard .rmma-last-order { flex-direction: column; align-items: stretch; padding: 22px 20px; }
  .rmma-pill-btn { justify-content: center; }
  .rmma-steps--compact .rmma-step__label,
  .rmma-steps--card .rmma-step__label { font-size: 10.5px; }
  .rmma-ocard { padding: 16px; }
  .rmma-ocard__head { flex-direction: column; }
  .rmma-ocard__amounts { text-align: left; }
  .rmma-osearch { flex: 1 1 100%; }
  .rmma-otabs { width: 100%; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
  .rmma-otab { flex: none; }
  .rmma-rv { flex-direction: column; }
  .rmma-rv__img { width: 80px; height: 80px; flex-basis: 80px; }
  .rmma-rv-intro { flex-wrap: wrap; }
  .rmma-rv-intro__count { margin-left: 0; }
  .rmma-progress { padding: 18px; }
  .rmma-progress__head { flex-direction: column; }
  .rmma-progress__amounts { margin-left: 0; text-align: left; }
  .rmma-progress__actions .rmma-outline-btn { width: 100%; }
  .rmma-step__date { font-size: 9.5px; white-space: normal; }
}

@media (max-width: 767px), (pointer: coarse) {
  .rmma-hw { width: min(400px, 92vw); }
  .rmma-outline-btn { min-height: 52px; }
  .rmma-stars label svg { width: 36px; height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .rmma-wave,
  .rmma-wave.is-waving { animation: none !important; }
  .rmma-ring__bar { transition: none; }
  .rmma-rv { transition: none; }
}

@media print {
  .rmma-otools,
  .rmma-ofooter,
  .rmma-ocard__actions,
  .rmma-progress__actions,
  .rmma-quick-reviews,
  .rmma-insights { display: none !important; }
}

/* v2.0.0 - ajustes finos */
.rmma-ring--sm.rmma-ring--long .rmma-ring__label b { font-size: 12px; }
.rmma-steps--mini .rmma-step__label { max-width: 64px; word-break: normal; overflow-wrap: anywhere; }
.rmma-steps--compact .rmma-step__label,
.rmma-steps--card .rmma-step__label { max-width: 110px; }
body .rmma-chip .rmma-chip__count,
body .rmma-outline-btn .rmma-chip__count { color: var(--rmma-on-accent) !important; background: var(--rmma-accent); }
.rmma-ocard__actions .rmma-outline-btn,
.rmma-progress__actions .rmma-outline-btn,
.rmma-progress__actions .rmma-solid-btn {
  min-height: 46px;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 1.2;
}
.rmma-outline-btn .rmma-ico,
.rmma-solid-btn .rmma-ico,
.rmma-chip .rmma-ico { display: inline-flex; width: auto; height: auto; margin: 0; }
.rmma-ocard__thumbs .rmma-thumb img { box-sizing: border-box; max-width: none; }
.rmma-ocard__thumbs { flex-wrap: wrap; }
.rmma-outline-btn,
.rmma-solid-btn,
.rmma-chip,
.rmma-otab,
.rmma-pill-btn { box-sizing: border-box; }
.rmma-shell > * { min-width: 0; }
@media (max-width: 991px) {
  .rmma-shell { grid-template-columns: minmax(0, 1fr); }
}
.rmma-orders,
.rmma-otools,
.rmma-olist { min-width: 0; max-width: 100%; }

/* =======================================================================
 * v2.1.0 - Cabecera neutra, estilo "neutro" sin recuadros y anillos en
 * modo semaforo.
 * ===================================================================== */

/* -------------------- Cabecera de bienvenida neutra -------------------- */

.rmma-dashboard .rmma-hero.rmma-hero--neutral {
  padding: 4px 0 22px;
  border-radius: 0;
  border-bottom: 1px solid var(--rmma-border);
  background: transparent !important;
  box-shadow: none;
  color: var(--rmma-ink) !important;
}

.rmma-hero--neutral .rmma-hero__art { display: none; }
.rmma-hero--neutral .rmma-hero__content { max-width: none; }

.rmma-hero--neutral .rmma-eyebrow {
  color: var(--rmma-primary) !important;
  opacity: 1;
}

.rmma-dashboard .rmma-hero--neutral h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 800;
  color: var(--rmma-ink) !important;
}

.rmma-hero--neutral .rmma-hero__subtitle {
  margin-top: 4px;
  color: var(--rmma-ink) !important;
  opacity: 0.8;
}

.rmma-hero--neutral .rmma-hero__text {
  max-width: 720px;
  color: var(--rmma-muted) !important;
}

.rmma-hero--neutral .rmma-avatar {
  background: var(--rmma-primary-soft);
  border: 1px solid var(--rmma-primary-line);
  color: var(--rmma-primary);
}

.rmma-hero h2 .rmma-wave { font-size: 0.9em; }

@media (max-width: 767px) {
  .rmma-dashboard .rmma-hero--neutral { padding: 0 0 18px; }
  .rmma-dashboard .rmma-hero--neutral h2 { font-size: 24px; }
  .rmma-hero--neutral .rmma-avatar { flex-basis: 44px; width: 44px; height: 44px; font-size: 15px; }
}

/* ---------------------- Anillos: corporativo / semaforo ---------------- */

.rmma-ring { color: var(--rmma-primary); }
.rmma-ring--profile,
.rmma-ring--done { color: var(--rmma-accent); }
.rmma-ring--reviews { color: var(--rmma-accent); }

.rmma-rings-traffic .rmma-ring--lvl-low { color: #d64545; }
.rmma-rings-traffic .rmma-ring--lvl-mid { color: #e8a317; }
.rmma-rings-traffic .rmma-ring--lvl-high { color: #2fa86b; }
.rmma-rings-traffic .rmma-ring--lvl-info { color: var(--rmma-accent); }

.rmma-rings-traffic .rmma-bar--lvl-low span { background: #d64545; }
.rmma-rings-traffic .rmma-bar--lvl-mid span { background: #e8a317; }
.rmma-rings-traffic .rmma-bar--lvl-high span { background: #2fa86b; }

/* -------------------- Estilo neutro: sin recuadros ---------------------- */

.rmma-style-minimal .rmma-stat,
.rmma-style-minimal .rmma-insight,
.rmma-style-minimal .rmma-card,
.rmma-style-minimal .rmma-ocard,
.rmma-style-minimal .rmma-progress,
.rmma-style-minimal .rmma-rv,
.rmma-style-minimal .rmma-rvd,
.rmma-style-minimal .rmma-help,
.rmma-style-minimal .rmma-pro,
.rmma-style-minimal .rmma-topbar,
.rmma-style-minimal .rmma-rv-intro {
  border: 0 !important;
  border-bottom: 1px solid var(--rmma-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.rmma-style-minimal .rmma-stat,
.rmma-style-minimal .rmma-card,
.rmma-style-minimal .rmma-ocard,
.rmma-style-minimal .rmma-rv,
.rmma-style-minimal .rmma-rvd {
  padding-left: 0;
  padding-right: 0;
}

.rmma-style-minimal .rmma-ocard--cancelled { background: transparent !important; }

.rmma-style-minimal .rmma-stats,
.rmma-style-minimal .rmma-insights,
.rmma-style-minimal .rmma-grid,
.rmma-style-minimal .rmma-olist,
.rmma-style-minimal .rmma-rv-list,
.rmma-style-minimal .rmma-rv-done { gap: 0 28px; }

.rmma-style-minimal .rmma-insight { padding: 22px 0; }

.rmma-style-minimal .rmma-card::after,
.rmma-style-minimal .rmma-card::before { display: none !important; }

.rmma-style-minimal .rmma-card__arrow {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.rmma-style-minimal .rmma-stat__icon,
.rmma-style-minimal .rmma-card__icon,
.rmma-style-minimal .rmma-insight__bubble,
.rmma-style-minimal .rmma-rv-intro__icon {
  background: transparent !important;
  color: var(--rmma-primary) !important;
}

.rmma-style-minimal .rmma-stat__icon,
.rmma-style-minimal .rmma-card__icon { flex-basis: 30px; width: 30px; justify-content: flex-start; }

.rmma-style-minimal .rmma-thumb,
.rmma-style-minimal .rmma-rv__img,
.rmma-style-minimal .rmma-ocard__thumbs img { box-shadow: none; }

/* Ultimo pedido sin fondo oscuro */
.rmma-dashboard.rmma-style-minimal .rmma-last-order {
  padding: 22px 0;
  border-top: 1px solid var(--rmma-border);
  border-bottom: 1px solid var(--rmma-border);
  border-radius: 0;
  background: transparent;
  color: var(--rmma-ink) !important;
}

.rmma-dashboard.rmma-style-minimal .rmma-last-order .rmma-kicker { color: var(--rmma-primary) !important; opacity: 1; }
.rmma-dashboard.rmma-style-minimal .rmma-last-order p { color: var(--rmma-muted) !important; opacity: 1; }

.rmma-style-minimal .rmma-steps--dark .rmma-step::before { background: var(--rmma-border); }
.rmma-style-minimal .rmma-steps--dark .rmma-step--done::before,
.rmma-style-minimal .rmma-steps--dark .rmma-step--active::before { background: var(--rmma-accent); }
.rmma-style-minimal .rmma-steps--dark .rmma-step__icon {
  background: var(--rmma-surface);
  border-color: var(--rmma-border);
  color: var(--rmma-muted);
}
.rmma-style-minimal .rmma-steps--dark .rmma-step--done .rmma-step__icon {
  background: var(--rmma-accent);
  border-color: var(--rmma-accent);
  color: var(--rmma-on-accent);
}
.rmma-style-minimal .rmma-steps--dark .rmma-step--active .rmma-step__icon {
  background: var(--rmma-accent-soft);
  border-color: var(--rmma-accent);
  color: var(--rmma-accent);
  box-shadow: none;
}
.rmma-dashboard.rmma-style-minimal .rmma-last-order .rmma-steps--dark .rmma-step__label { color: var(--rmma-muted) !important; }
.rmma-dashboard.rmma-style-minimal .rmma-last-order .rmma-steps--dark .rmma-step--done .rmma-step__label,
.rmma-dashboard.rmma-style-minimal .rmma-last-order .rmma-steps--dark .rmma-step--active .rmma-step__label { color: var(--rmma-ink) !important; }

.rmma-dashboard.rmma-style-minimal .rmma-pill-btn {
  min-height: 46px;
  padding: 10px 22px;
  border: 1px solid var(--rmma-primary);
  background: transparent;
  color: var(--rmma-primary) !important;
  box-shadow: none;
}

/* Botones y pestanas mas ligeros */
.rmma-style-minimal .rmma-outline-btn { border-color: var(--rmma-border); background: transparent; }
.rmma-style-minimal .rmma-chip { background: transparent; padding-left: 4px; padding-right: 4px; }
.rmma-style-minimal .rmma-otab { border-color: transparent; background: transparent; border-radius: 0; border-bottom: 2px solid transparent; }
.rmma-style-minimal .rmma-otab.is-active { background: transparent; color: var(--rmma-primary); border-bottom-color: var(--rmma-primary); }
.rmma-style-minimal .rmma-otab.is-active .rmma-otab__count { background: var(--rmma-primary-soft); }
.rmma-style-minimal .rmma-osearch { border-radius: 0; border-width: 0 0 1px; background: transparent; }

/* Menu lateral */
.rmma-style-minimal .rmma-shell__nav { border: 0 !important; background: transparent !important; box-shadow: none !important; border-right: 1px solid var(--rmma-border) !important; border-radius: 0 !important; }
.rmma-style-minimal .rmma-shell__item--active { background: transparent !important; box-shadow: inset 3px 0 0 var(--rmma-primary) !important; }

@media (max-width: 991px) {
  .rmma-style-minimal .rmma-shell__nav { border-right: 0 !important; border-bottom: 1px solid var(--rmma-border) !important; }
}

/* Desplegable de cabecera */
.rmma-style-minimal .rmma-hw { box-shadow: 0 14px 34px rgba(23, 32, 51, 0.08); }
.rmma-style-minimal a.rmma-hw__order,
.rmma-style-minimal .rmma-hw__order { border: 0; border-left: 3px solid var(--rmma-accent); border-radius: 0; padding: 4px 0 4px 14px; }

/* --------------------- Movil: desplegable compacto --------------------- */

@media (max-width: 480px) {
  .rmma-hw__rings { gap: 2px; }
  .rmma-ring--sm { width: 84px; height: 84px; }
  .rmma-hw__ring-label { font-size: 11.5px; }
  .rmma-hw__order-ico svg { width: 28px; height: 28px; }
  .rmma-dashboard .rmma-ring:not(.rmma-ring--sm) { width: 132px; height: 132px; }
}

/* El refuerzo de contraste del desplegable (.rmma-hw span { color: inherit })
   pisaba el color de los anillos: se restablece con mas especificidad. */
.rmma-hw span.rmma-ring { color: var(--rmma-primary) !important; }
.rmma-hw span.rmma-ring--profile,
.rmma-hw span.rmma-ring--done,
.rmma-hw span.rmma-ring--reviews { color: var(--rmma-accent) !important; }
.rmma-rings-traffic .rmma-hw span.rmma-ring--lvl-low { color: #d64545 !important; }
.rmma-rings-traffic .rmma-hw span.rmma-ring--lvl-mid { color: #e8a317 !important; }
.rmma-rings-traffic .rmma-hw span.rmma-ring--lvl-high { color: #2fa86b !important; }
.rmma-rings-traffic .rmma-hw span.rmma-ring--lvl-info { color: var(--rmma-accent) !important; }
.rmma-hw .rmma-ring__label,
.rmma-hw .rmma-ring__label b { color: var(--rmma-ink) !important; }

/* =======================================================================
 * v2.1.1 - Tarjeta de ultimo pedido del desplegable al estilo HSN.
 * Es un <div>: los temas que ponen display:flex a los enlaces del
 * desplegable ya no reparten el contenido en columnas.
 * ===================================================================== */

.rmma-hw .rmma-hw__order {
  position: relative;
  display: block !important;
  margin-top: 16px;
  padding: 16px 64px 16px 18px;
  border: 2px solid var(--rmma-accent);
  border-radius: var(--rmma-radius-xs);
  background: var(--rmma-surface);
  text-align: left;
}

.rmma-hw .rmma-hw__order--shipped,
.rmma-hw .rmma-hw__order--delivered { border-color: #2fa86b; }
.rmma-hw .rmma-hw__order--cancel { border-color: var(--rmma-border); background: #fafafa; }

.rmma-hw .rmma-hw__order-ico {
  position: absolute;
  top: 14px;
  right: 14px;
  display: block;
  color: var(--rmma-accent) !important;
}

.rmma-hw .rmma-hw__order--shipped .rmma-hw__order-ico,
.rmma-hw .rmma-hw__order--delivered .rmma-hw__order-ico { color: #2fa86b !important; }
.rmma-hw .rmma-hw__order--cancel .rmma-hw__order-ico { color: var(--rmma-muted) !important; }
.rmma-hw .rmma-hw__order-ico svg { width: 40px; height: 40px; stroke-width: 1.4; }

.rmma-hw .rmma-hw__order-title {
  display: block !important;
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--rmma-accent) !important;
  text-decoration: none !important;
  background: none !important;
  border: 0 !important;
}

.rmma-hw .rmma-hw__order--shipped .rmma-hw__order-title,
.rmma-hw .rmma-hw__order--delivered .rmma-hw__order-title { color: #2fa86b !important; }
.rmma-hw .rmma-hw__order--cancel .rmma-hw__order-title { color: #c0392b !important; }

.rmma-hw .rmma-hw__order-text {
  display: block;
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--rmma-ink) !important;
  text-transform: none;
}

.rmma-hw .rmma-hw__order-text b { font-weight: 800; color: var(--rmma-ink) !important; }

.rmma-hw .rmma-hw__order-meta {
  display: block;
  margin: 4px 0 0;
  font-size: 12.5px;
  color: var(--rmma-muted) !important;
}

.rmma-hw .rmma-hw__order .rmma-steps--mini { margin-right: -46px; }

.rmma-hw .rmma-hw__order .rmma-hw__track {
  display: inline-block !important;
  margin-top: 10px;
  padding: 0 !important;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rmma-ink) !important;
  text-decoration: underline !important;
  background: none !important;
  word-break: break-word;
}

.rmma-style-minimal .rmma-hw .rmma-hw__order { padding: 4px 56px 4px 14px; border-width: 0 0 0 3px; border-radius: 0; background: transparent; }

@media (max-width: 480px) {
  .rmma-hw .rmma-hw__order { padding-right: 56px; }
  .rmma-hw .rmma-hw__order-ico svg { width: 34px; height: 34px; }
}

/* =======================================================================
 * v2.2.0 - Selector de idiomas propio (fuera del desplegable) y ocultacion
 * cuando la tienda solo tiene un idioma.
 * ===================================================================== */

.rmma-lang-off { display: none !important; }

.rmma-lang {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-right: 10px;
  font-family: var(--rmma-font);
  vertical-align: middle;
}

.rmma-lang__flag {
  display: block;
  width: 22px;
  height: 15px;
  object-fit: cover;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.rmma-lang__txt { font-size: 13px; font-weight: 800; letter-spacing: 0.04em; }

/* Lista: todos visibles */
.rmma-lang--inline .rmma-lang__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 4px 8px;
  border-radius: var(--rmma-radius-pill, 999px);
  color: var(--rmma-muted) !important;
  text-decoration: none !important;
  opacity: 0.75;
  transition: opacity 0.15s ease, background 0.15s ease;
}

.rmma-lang--inline .rmma-lang__item:hover { opacity: 1; background: var(--rmma-primary-soft); }
.rmma-lang--inline .rmma-lang__item.is-current { opacity: 1; color: var(--rmma-ink) !important; background: var(--rmma-primary-soft); }
.rmma-lang--inline.rmma-lang--flags .rmma-lang__item { padding: 4px; }

/* Desplegable */
.rmma-lang__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 5px 10px;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-pill, 999px);
  background: var(--rmma-surface);
  color: var(--rmma-ink);
  font: inherit;
  cursor: pointer;
}

.rmma-lang__btn:hover,
.rmma-lang.is-open .rmma-lang__btn { border-color: var(--rmma-primary); }
.rmma-lang__caret { width: 14px; height: 14px; transition: transform 0.15s ease; }
.rmma-lang.is-open .rmma-lang__caret { transform: rotate(180deg); }

.rmma-lang__list {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 1050;
  min-width: 170px;
  margin: 0;
  padding: 6px;
  list-style: none;
  border: 1px solid var(--rmma-border);
  border-radius: var(--rmma-radius-xs);
  background: var(--rmma-surface);
  box-shadow: 0 14px 34px rgba(23, 32, 51, 0.14);
}

.rmma-lang__list li { margin: 0; padding: 0; list-style: none; }

.rmma-lang__opt {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 10px;
  border-radius: var(--rmma-radius-xs);
  color: var(--rmma-ink) !important;
  text-decoration: none !important;
  font-size: 14px;
}

.rmma-lang__opt:hover { background: var(--rmma-primary-soft); }
.rmma-lang__opt.is-current { font-weight: 800; background: var(--rmma-primary-soft); }
.rmma-lang__opt .rmma-lang__txt { font-weight: inherit; letter-spacing: 0; }

.rmma-style-minimal .rmma-lang__btn { border-color: transparent; background: transparent; }

@media (max-width: 767px) {
  .rmma-lang { margin-right: 6px; }
  .rmma-lang__btn { min-height: 40px; padding: 5px 8px; }
  .rmma-lang--inline .rmma-lang__item { min-height: 40px; }
}

/* v2.3.1 - selector de idiomas en cabeceras con float (Leo) */
.rmma-lang--float { margin: 0 10px; line-height: inherit; }
.rmma-lang--float.rmma-lang--inline,
.rmma-lang--float .rmma-lang__btn { min-height: 40px; }
.popup-over + .rmma-lang--float,
.rmma-lang--float { align-self: center; }

/* v2.4.0 - selector de idiomas mas integrado con los iconos de cabecera */
.rmma-lang--float .rmma-lang__btn { border-color: transparent; background: transparent; padding: 4px 6px; min-height: 0; }
.rmma-lang--float .rmma-lang__btn:hover,
.rmma-lang--float.is-open .rmma-lang__btn { border-color: var(--rmma-border); background: var(--rmma-surface); }
.rmma-lang--float { display: flex; align-items: center; }
.rmma-hw__link .rmma-badge { margin-left: auto; margin-right: 8px; }

/* v2.4.1 - selector de idiomas compacto en la cabecera: sin recuadro, sin
   salto de linea y ancho minimo para no empujar el menu. */
.rmma-lang--header { flex: 0 0 auto; white-space: nowrap; margin: 0 6px; }
.rmma-lang--header .rmma-lang__btn {
  min-height: 0;
  padding: 4px;
  border-color: transparent;
  background: transparent;
  gap: 3px;
}
.rmma-lang--header .rmma-lang__btn:hover,
.rmma-lang--header.is-open .rmma-lang__btn { border-color: var(--rmma-border); background: var(--rmma-surface); }
.rmma-lang--header .rmma-lang__caret { width: 12px; height: 12px; }
.rmma-lang--header.rmma-lang--inline .rmma-lang__item { min-height: 0; padding: 4px; }


/* =======================================================================
 * v2.5.0
 * ===================================================================== */

/* Botones, pestanas, chips e insignias siguen el radio configurado (con
   radio 0 quedan cuadrados). Los elementos que son circulos por diseno
   (avatar, pasos de la linea temporal, iconos de confirmacion) se
   mantienen redondos. */
.rmma-avatar,
.rmma-topbar__avatar,
.rmma-step__icon,
.rmma-rv__done-ico,
.rmma-rv-empty span,
.rmma-insight__bubble,
.rmma-insight__todo li::before {
  border-radius: 50% !important;
}

/* Historial en movil: el tema pinta ademas una lista propia (.orders) para
   pantallas pequenas. Se oculta cuando la version del modulo esta lista. */
body.rmma-orders-ready.page-history #content .orders,
body.rmma-orders-ready#history #content .orders,
body.rmma-orders-ready.page-history #content .hidden-md-up.orders,
body.rmma-orders-ready.page-history #content > .order,
body.rmma-orders-ready.page-history .rmma-shell__main > .orders {
  display: none !important;
}

/* Desplegable de cuenta: iconos alineados con el texto y flecha a la derecha
   aunque el tema aplique display:block / subrayado a los enlaces. */
.rmma-hw .rmma-hw__link {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  text-decoration: none !important;
}
.rmma-hw .rmma-hw__link > span:not(.rmma-ico):not(.rmma-hw__link-arrow):not(.rmma-badge) {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.25;
}
.rmma-hw .rmma-hw__link .rmma-ico {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0 !important;
}
.rmma-hw .rmma-hw__link .rmma-ico svg {
  display: block;
  width: 22px;
  height: 22px;
}
.rmma-hw .rmma-hw__link-arrow {
  margin-left: auto !important;
  flex: 0 0 auto;
}
.rmma-hw .rmma-hw__link .rmma-badge { margin-left: auto; margin-right: 6px; }
.rmma-hw .rmma-hw__link .rmma-badge + .rmma-hw__link-arrow { margin-left: 0 !important; }

.rmma-hw .rmma-hw__logout {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  line-height: 1 !important;
  text-decoration: none !important;
}
.rmma-hw .rmma-hw__logout .rmma-ico {
  display: inline-flex !important;
  align-items: center;
  width: 18px;
  height: 18px;
  margin: 0 !important;
}
.rmma-hw .rmma-hw__logout .rmma-ico svg { display: block; width: 18px; height: 18px; }
.rmma-hw .rmma-hw__logout span { line-height: 1 !important; text-decoration: none !important; }
.rmma-hw .rmma-hw__logout:hover span:last-child { text-decoration: underline !important; }

/* Menu interno de la cuenta en movil: icono + desplegable */
.rmma-mnav { display: none; }

@media (max-width: 991px) {
  .rmma-shell--mselect .rmma-shell__nav { display: none !important; }

  .rmma-shell--mselect .rmma-mnav {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 14px;
    border: 1px solid var(--rmma-border);
    border-radius: var(--rmma-radius-sm);
    background: var(--rmma-surface);
    color: var(--rmma-ink);
  }

  .rmma-shell--mselect .rmma-mnav {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none !important;
  }
  .rmma-mnav__btn {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 8px 14px;
    border: 1px solid var(--rmma-border);
    border-radius: var(--rmma-radius-sm);
    background: var(--rmma-surface);
    color: var(--rmma-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
  }
  .rmma-mnav.is-open .rmma-mnav__btn,
  .rmma-mnav__btn:focus-visible { border-color: var(--rmma-primary); box-shadow: 0 0 0 3px rgba(var(--rmma-primary-rgb), 0.14); outline: none; }
  .rmma-mnav__ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50% !important;
    background: var(--rmma-primary-soft);
    color: var(--rmma-primary);
  }
  .rmma-mnav__ico svg { width: 20px; height: 20px; display: block; }
  .rmma-mnav__txt { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.2; }
  .rmma-mnav__txt small { font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--rmma-muted); }
  .rmma-mnav__txt strong { font-size: 16px; font-weight: 800; color: var(--rmma-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rmma-mnav__caret { flex: none; width: 20px; height: 20px; color: var(--rmma-muted); transition: transform 0.18s ease; }
  .rmma-mnav.is-open .rmma-mnav__caret { transform: rotate(180deg); }

  .rmma-mnav__list {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 60;
    margin: 0;
    padding: 6px;
    list-style: none;
    border: 1px solid var(--rmma-border);
    border-radius: var(--rmma-radius-sm);
    background: var(--rmma-surface, #fff);
    box-shadow: 0 18px 40px rgba(23, 32, 51, 0.16);
    max-height: 70vh;
    overflow-y: auto;
  }
  .rmma-mnav__list[hidden] { display: none; }
  .rmma-mnav__list li { margin: 0; padding: 0; list-style: none; }
  .rmma-mnav__list li.rmma-mnav__sep { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--rmma-border); }
  .rmma-mnav__item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 6px 10px;
    border-radius: calc(var(--rmma-radius-sm) - 4px);
    color: var(--rmma-ink) !important;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none !important;
  }
  .rmma-mnav__item:hover,
  .rmma-mnav__item:focus-visible { background: var(--rmma-primary-soft); outline: none; }
  .rmma-mnav__item.is-current { background: var(--rmma-primary-soft); font-weight: 800; }
  .rmma-mnav__item.is-logout { color: #c0392b !important; }
  .rmma-mnav__iico { display: inline-flex; flex: 0 0 22px; color: var(--rmma-primary); }
  .rmma-mnav__item.is-logout .rmma-mnav__iico { color: inherit; }
  .rmma-mnav__iico svg { width: 20px; height: 20px; display: block; }
  .rmma-mnav__ititle { flex: 1; min-width: 0; }
  .rmma-mnav__badge { flex: none; }
  .rmma-mnav__check { flex: none; width: 18px; height: 18px; color: var(--rmma-primary); }

  .rmma-style-minimal .rmma-shell--mselect .rmma-mnav__btn {
    border-width: 0 0 1px;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

/* Refuerzos frente a estilos de enlaces del tema dentro del desplegable */
.rmma-hw .rmma-badge,
.rmma-shell .rmma-badge,
.rmma-dashboard .rmma-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
}
.rmma-hw .rmma-hw__cta {
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

/* =====================================================================
   v2.6.0 - Linea temporal: solo se colorean los pasos alcanzados
   ===================================================================== */

/* Pasos pendientes: grises y atenuados, como desactivados */
.rmma-step--todo .rmma-step__icon {
  background: var(--rmma-surface, #fff) !important;
  border-color: var(--rmma-border, #e6eaf1) !important;
  color: #b4bac5 !important;
  box-shadow: none !important;
}
.rmma-step--todo .rmma-step__icon svg { opacity: 0.75; }
.rmma-step--todo .rmma-step__label { opacity: 0.7; }
.rmma-step--todo::before { background: var(--rmma-border, #e6eaf1) !important; }
.rmma-steps--dark .rmma-step--todo .rmma-step__icon {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.4) !important;
}
.rmma-steps--dark .rmma-step--todo::before { background: rgba(255, 255, 255, 0.14) !important; }
.rmma-style-minimal .rmma-steps--dark .rmma-step--todo .rmma-step__icon {
  background: var(--rmma-surface, #fff) !important;
  border-color: var(--rmma-border) !important;
  color: #b4bac5 !important;
}
.rmma-style-minimal .rmma-steps--dark .rmma-step--todo::before { background: var(--rmma-border) !important; }

/* Paso en curso: halo del mismo color que el paso */
.rmma-step--active .rmma-step__icon { box-shadow: 0 0 0 4px var(--rmma-accent-soft, rgba(15, 174, 126, 0.14)); }
.rmma-steps--dark .rmma-step--active .rmma-step__icon { box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1); }

/* Fecha bajo el paso alcanzado */
.rmma-step--todo .rmma-step__date { display: none; }
.rmma-steps--card .rmma-step__date,
.rmma-steps--compact .rmma-step__date { margin-top: -3px; font-size: 10.5px; font-weight: 600; }
.rmma-steps--dark .rmma-step__date { color: rgba(255, 255, 255, 0.6); }
.rmma-style-minimal .rmma-steps--dark .rmma-step__date { color: var(--rmma-muted); }

/* Modo semaforo: el color de los pasos alcanzados depende de lo avanzado
   que este el pedido (inicio rojo, en camino ambar, entregado verde). */
.rmma-steps-traffic .rmma-steps--lvl-low {
  --rmma-accent: #d64545;
  --rmma-accent-soft: #fbe9e9;
  --rmma-on-accent: #ffffff;
  --rmma-primary-rgb: 214, 69, 69;
}
.rmma-steps-traffic .rmma-steps--lvl-mid {
  --rmma-accent: #e39400;
  --rmma-accent-soft: #fdf1d8;
  --rmma-on-accent: #ffffff;
  --rmma-primary-rgb: 227, 148, 0;
}
.rmma-steps-traffic .rmma-steps--lvl-high {
  --rmma-accent: #2fa86b;
  --rmma-accent-soft: #e2f4ea;
  --rmma-on-accent: #ffffff;
  --rmma-primary-rgb: 47, 168, 107;
}

/* =====================================================================
   v2.6.0 - Ventana de valoracion rapida
   ===================================================================== */

.rmma-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50% !important;
  background: transparent;
  color: var(--rmma-muted, #6f7787);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.rmma-x:hover { background: rgba(23, 32, 51, 0.06); color: var(--rmma-ink, #172033); }
.rmma-x svg { width: 16px; height: 16px; }

.rmma-chip--reward {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--rmma-radius-pill, 999px);
  background: #fff4d6;
  color: #8a5a00 !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

html.rmma-modal-open,
html.rmma-modal-open body { overflow: hidden !important; }

.rmma-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 20, 30, 0.55);
  opacity: 0;
  transition: opacity 0.2s ease;
  font-family: var(--rmma-font, inherit);
  color: var(--rmma-ink, #172033);
}
.rmma-modal[hidden] { display: none !important; }
.rmma-modal.is-open { opacity: 1; }

.rmma-modal__dialog {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 640px;
  max-height: calc(100vh - 40px);
  border-radius: var(--rmma-radius, 16px);
  background: var(--rmma-surface, #fff);
  box-shadow: 0 24px 60px rgba(15, 20, 30, 0.28);
  overflow: hidden;
  transform: translateY(12px) scale(0.98);
  transition: transform 0.2s ease;
}
.rmma-modal.is-open .rmma-modal__dialog { transform: none; }

.rmma-modal__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 20px 16px 22px;
  border-bottom: 1px solid var(--rmma-border, #e6eaf1);
}
.rmma-modal__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 50% !important;
  background: #fff4d6;
  color: #f5b301;
}
.rmma-modal__ico svg { width: 24px; height: 24px; }
.rmma-modal__htext { flex: 1; min-width: 0; }
.rmma-modal__title { margin: 0 0 4px !important; font-size: 19px !important; font-weight: 800; line-height: 1.25; color: var(--rmma-ink) !important; text-transform: none !important; }
.rmma-modal__sub { margin: 0 0 8px; font-size: 13.5px; line-height: 1.45; color: var(--rmma-muted); }

.rmma-modal__list {
  margin: 0;
  padding: 16px 20px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.rmma-modal__list .rmma-rv__img { flex-basis: 72px; width: 72px; height: 72px; }

.rmma-modal__done {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 34px 24px;
  text-align: center;
  font-weight: 700;
}
.rmma-modal__done[hidden] { display: none; }

.rmma-modal__foot {
  display: flex;
  justify-content: center;
  padding: 10px 20px 14px;
  border-top: 1px solid var(--rmma-border, #e6eaf1);
}
.rmma-modal__foot:empty { display: none; }

@media (max-width: 575px) {
  .rmma-modal { align-items: flex-end; padding: 0; }
  .rmma-modal__dialog {
    max-height: 92vh;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .rmma-modal__list .rmma-rv { flex-direction: row; gap: 12px; padding: 12px; }
  .rmma-modal__list .rmma-rv__img { flex-basis: 56px; width: 56px; height: 56px; }
  .rmma-modal__list .rmma-stars label svg { width: 28px; height: 28px; }
}

/* =====================================================================
   v2.6.0 - Aviso de compras sin valorar (checkout y confirmacion)
   ===================================================================== */

.rmma-rvp {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 16px 0;
  padding: 16px 44px 16px 16px;
  border: 1px solid var(--rmma-primary-line, #e6eaf1);
  border-radius: var(--rmma-radius-sm, 12px);
  background: var(--rmma-primary-soft, #f5f7fb);
  font-family: var(--rmma-font, inherit);
  color: var(--rmma-ink, #172033);
  text-align: left;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.rmma-rvp.is-leaving { opacity: 0; transform: translateY(-4px); }
.rmma-rvp__close { position: absolute; top: 6px; right: 6px; }

.rmma-rvp__thumbs { position: relative; display: flex; flex: none; padding-right: 8px; }
.rmma-rvp__thumb {
  display: block;
  width: 44px;
  height: 44px;
  margin-left: -14px;
  border: 2px solid var(--rmma-surface, #fff);
  border-radius: 50% !important;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(23, 32, 51, 0.1);
}
.rmma-rvp__thumb:first-child { margin-left: 0; }
.rmma-rvp__thumb img { width: 100%; height: 100%; object-fit: contain; }
.rmma-rvp__thumbs--sm .rmma-rvp__thumb { width: 34px; height: 34px; margin-left: -11px; }
.rmma-rvp__thumbs--sm .rmma-rvp__thumb:first-child { margin-left: 0; }

.rmma-rvp__count {
  position: absolute;
  top: -6px;
  right: 0;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border: 2px solid var(--rmma-surface, #fff);
  border-radius: 999px !important;
  background: #e5484d;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
  box-sizing: border-box;
}

.rmma-rvp__body { flex: 1; min-width: 0; }
.rmma-rvp__title { display: block; font-size: 15px; font-weight: 800; line-height: 1.3; }
.rmma-rvp__text { margin: 4px 0 8px; font-size: 13px; line-height: 1.45; color: var(--rmma-muted); }
.rmma-rvp__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 10px; font-size: 12.5px; font-weight: 600; color: var(--rmma-muted); }
.rmma-rvp__stars { display: inline-flex; gap: 1px; color: #f5b301; }
.rmma-rvp__stars svg { width: 15px; height: 15px; }
.rmma-rvp__actions .rmma-solid-btn { border: 0; cursor: pointer; padding: 9px 18px; }

/* En la columna estrecha del checkout: apilado */
#opc_content_side .rmma-rvp,
.cart-grid-right .rmma-rvp,
#js-checkout-summary .rmma-rvp { flex-direction: column; gap: 10px; }

/* =====================================================================
   v2.6.0 - Sello flotante de opiniones
   ===================================================================== */

.rmma-rstars { position: relative; display: inline-block; line-height: 0; vertical-align: middle; }
.rmma-rstars__base,
.rmma-rstars__fill { display: inline-flex; gap: 1px; white-space: nowrap; }
.rmma-rstars__base { color: #dfe2e8; }
.rmma-rstars__fill { position: absolute; top: 0; left: 0; overflow: hidden; color: #f5b301; }
.rmma-rstars svg { flex: none; width: 14px; height: 14px; }
.rmma-rstars--xs svg { width: 12px; height: 12px; }
.rmma-rstars--md svg { width: 18px; height: 18px; }

.rmma-rb {
  --rmma-rb-bottom: 20px;
  position: fixed;
  bottom: calc(var(--rmma-rb-bottom) + env(safe-area-inset-bottom, 0px));
  z-index: 9990;
  font-family: var(--rmma-font, inherit);
  color: var(--rmma-ink, #172033);
  font-size: 14px;
  line-height: 1.35;
  text-align: left;
}
.rmma-rb--left { left: 20px; }
.rmma-rb--right { right: 20px; }

.rmma-rb__pill {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 7px 16px 7px 7px;
  border: 1px solid rgba(23, 32, 51, 0.08);
  border-radius: 999px !important;
  background: #fff;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(23, 32, 51, 0.16);
  transition: transform 0.18s ease, box-shadow 0.18s ease, padding 0.18s ease;
}
.rmma-rb__pill:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(23, 32, 51, 0.2); }
.rmma-rb__pill:focus-visible { outline: 3px solid rgba(var(--rmma-primary-rgb, 23, 32, 51), 0.35); outline-offset: 2px; }

.rmma-rb__medal {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 50% !important;
  background: var(--rmma-primary, #172033);
  color: var(--rmma-on-primary, #fff);
}
.rmma-rb__medal svg { width: 25px; height: 25px; }
.rmma-rb__medal--lg { width: 52px; height: 52px; }
.rmma-rb__medal--lg svg { width: 30px; height: 30px; }

.rmma-rb__dot {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px !important;
  background: #e5484d;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
  box-sizing: border-box;
}
.rmma-rb.has-pending .rmma-rb__dot::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 999px;
  border: 2px solid #e5484d;
  animation: rmma-rb-pulse 1.8s ease-out infinite;
}
@keyframes rmma-rb-pulse {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(1.9); opacity: 0; }
}

.rmma-rb__info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rmma-rb__row { display: inline-flex; align-items: center; gap: 7px; }
.rmma-rb__score { font-size: 18px; font-weight: 800; line-height: 1.1; }
.rmma-rb__score--lg { font-size: 30px; }
.rmma-rb__outof { margin-left: -5px; font-size: 13px; font-weight: 700; color: var(--rmma-muted, #6f7787); }
.rmma-rb__sub { font-size: 12px; font-weight: 600; color: var(--rmma-muted, #6f7787); white-space: nowrap; }

/* Minimizar: aspa sobre la pastilla, visible al pasar el raton */
.rmma-rb__min {
  position: absolute;
  top: -8px;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(23, 32, 51, 0.1);
  background: #fff;
  box-shadow: 0 2px 6px rgba(23, 32, 51, 0.15);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.rmma-rb__min svg { width: 11px; height: 11px; }
.rmma-rb--left .rmma-rb__min { left: auto; right: -8px; }
.rmma-rb--right .rmma-rb__min { left: -8px; }
.rmma-rb:hover .rmma-rb__min,
.rmma-rb__min:focus-visible { opacity: 1; }
.rmma-rb.is-open .rmma-rb__min,
.rmma-rb.is-min .rmma-rb__min { display: none; }

.rmma-rb.is-min .rmma-rb__pill { padding: 5px; }
.rmma-rb.is-min .rmma-rb__info { display: none; }
.rmma-rb.is-min .rmma-rb__medal { width: 40px; height: 40px; }

/* Panel */
.rmma-rb__panel {
  position: absolute;
  bottom: calc(100% + 12px);
  display: flex;
  flex-direction: column;
  width: 360px;
  max-width: calc(100vw - 32px);
  max-height: min(560px, calc(100vh - 120px));
  border: 1px solid rgba(23, 32, 51, 0.08);
  border-radius: var(--rmma-radius, 16px);
  background: #fff;
  box-shadow: 0 20px 50px rgba(23, 32, 51, 0.22);
  overflow: hidden;
  animation: rmma-rb-in 0.18s ease;
}
.rmma-rb__panel[hidden] { display: none; }
.rmma-rb--left .rmma-rb__panel { left: 0; }
.rmma-rb--right .rmma-rb__panel { right: 0; }
@keyframes rmma-rb-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

.rmma-rb__head {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 44px 16px 18px;
  border-bottom: 1px solid var(--rmma-border, #e6eaf1);
}
.rmma-rb__htext { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rmma-rb__title { font-size: 12px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rmma-primary, #172033); }
.rmma-rb__close { position: absolute; top: 8px; right: 8px; }

.rmma-rb__scroll { padding: 14px 18px 4px; overflow-y: auto; -webkit-overflow-scrolling: touch; }

.rmma-rb__dist { margin: 0 0 14px; padding: 0; list-style: none; }
.rmma-rb__dist li { display: flex; align-items: center; gap: 10px; margin: 0 0 5px; font-size: 12px; font-weight: 600; color: var(--rmma-muted, #6f7787); }
.rmma-rb__dlabel { flex: 0 0 24px; }
.rmma-rb__dval { flex: 0 0 34px; text-align: right; }
.rmma-rb__bar { flex: 1; height: 7px; border-radius: 99px; background: #eef0f4; overflow: hidden; }
.rmma-rb__bar span { display: block; height: 100%; border-radius: 99px; background: #f5b301; }

.rmma-rb__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin: 0 0 14px;
  padding: 12px;
  border-radius: var(--rmma-radius-sm, 12px);
  background: var(--rmma-primary-soft, #f5f7fb);
}
.rmma-rb__cta[hidden] { display: none; }
.rmma-rb__ctabody { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 140px; font-size: 13.5px; }
.rmma-rb__cta .rmma-solid-btn { width: 100%; justify-content: center; border: 0; cursor: pointer; padding: 10px 16px; }

.rmma-rb__section { display: block; margin: 0 0 8px; font-size: 11.5px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rmma-muted, #6f7787); }
.rmma-rb__latest { margin: 0; padding: 0; list-style: none; }
.rmma-rb__review { margin: 0; padding: 12px 0; border-top: 1px solid var(--rmma-border, #e6eaf1); }
.rmma-rb__review:first-child { border-top: 0; padding-top: 2px; }
.rmma-rb__rtop { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.rmma-rb__rdate { font-size: 11.5px; color: var(--rmma-muted, #6f7787); }
.rmma-rb__rtitle { display: block; margin-bottom: 2px; font-size: 13.5px; font-weight: 800; }
.rmma-rb__rtext {
  display: -webkit-box;
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.45;
  color: #3d4556;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rmma-rb__rby { display: block; font-size: 12px; font-weight: 700; color: var(--rmma-muted, #6f7787); }
.rmma-rb__rby em { font-style: normal; font-weight: 500; }

.rmma-rb__all {
  display: block;
  padding: 13px 18px;
  border-top: 1px solid var(--rmma-border, #e6eaf1);
  color: var(--rmma-primary, #172033) !important;
  font-size: 13.5px;
  font-weight: 800;
  text-align: center;
  text-decoration: none !important;
}
.rmma-rb__all:hover { background: var(--rmma-primary-soft, #f5f7fb); }

/* Bocadillo de invitacion */
.rmma-rb__nudge {
  position: absolute;
  bottom: calc(100% + 12px);
  display: flex;
  align-items: flex-start;
  width: 290px;
  max-width: calc(100vw - 32px);
  border-radius: var(--rmma-radius-sm, 12px);
  background: #fff;
  box-shadow: 0 14px 36px rgba(23, 32, 51, 0.22);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.rmma-rb__nudge.is-in { opacity: 1; transform: none; }
.rmma-rb--left .rmma-rb__nudge { left: 0; }
.rmma-rb--right .rmma-rb__nudge { right: 0; }
.rmma-rb__nudge::after {
  content: "";
  position: absolute;
  bottom: -6px;
  width: 12px;
  height: 12px;
  background: #fff;
  transform: rotate(45deg);
}
.rmma-rb--left .rmma-rb__nudge::after { left: 22px; }
.rmma-rb--right .rmma-rb__nudge::after { right: 22px; }
.rmma-rb__nbody {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 12px 4px 12px 12px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.rmma-rb__nimg { flex: none; width: 48px; height: 48px; border-radius: 8px; object-fit: contain; background: #fff; border: 1px solid var(--rmma-border, #e6eaf1); }
.rmma-rb__ntext { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 12px; color: var(--rmma-muted, #6f7787); }
.rmma-rb__ntext strong { font-size: 13.5px; line-height: 1.3; color: var(--rmma-ink, #172033); }
.rmma-rb__nstars { display: inline-flex; gap: 2px; color: #f5b301; }
.rmma-rb__nstars svg { width: 16px; height: 16px; }
.rmma-rb__nclose { margin: 4px 4px 0 0; width: 26px; height: 26px; }

/* Movil */
@media (max-width: 767px) {
  .rmma-rb--left { left: 12px; }
  .rmma-rb--right { right: 12px; }
  .rmma-rb--m-hidden { display: none !important; }
  .rmma-rb--m-compact .rmma-rb__pill { padding: 5px 12px 5px 5px; gap: 8px; }
  .rmma-rb--m-compact .rmma-rb__medal:not(.rmma-rb__medal--lg) { width: 36px; height: 36px; }
  .rmma-rb--m-compact .rmma-rb__medal:not(.rmma-rb__medal--lg) svg { width: 20px; height: 20px; }
  .rmma-rb--m-compact .rmma-rb__pill .rmma-rb__sub,
  .rmma-rb--m-compact .rmma-rb__pill .rmma-rstars { display: none; }
  .rmma-rb--m-compact .rmma-rb__pill .rmma-rb__score { font-size: 15px; }
  .rmma-rb--m-compact .rmma-rb__pill .rmma-rb__score::after { content: " ★"; color: #f5b301; }
  .rmma-rb__min { opacity: 1; }
  .rmma-rb__panel { position: fixed; left: 8px !important; right: 8px !important; bottom: 76px; width: auto; max-width: none; max-height: calc(100vh - 110px); }
}

@media (prefers-reduced-motion: reduce) {
  .rmma-rb.has-pending .rmma-rb__dot::after { animation: none; }
  .rmma-rb__panel { animation: none; }
}

@media print {
  .rmma-rb,
  .rmma-rvp,
  .rmma-modal { display: none !important; }
}

/* v2.6.1 - fecha de la ultima opinion */
.rmma-rb__recent {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  font-size: 11.5px;
  font-weight: 600;
  color: #2fa86b;
}
.rmma-rb__recent::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2fa86b;
  box-shadow: 0 0 0 3px rgba(47, 168, 107, 0.18);
}

/* v2.6.2 - anillo de opiniones: con 0 valorados el anillo queda vacio y
   el numero pendiente toma el color del nivel */
.rmma-rings-traffic .rmma-hw span.rmma-ring--reviews.rmma-ring--lvl-low .rmma-ring__label b { color: #d64545 !important; }
.rmma-rings-traffic .rmma-hw span.rmma-ring--reviews.rmma-ring--lvl-mid .rmma-ring__label b { color: #b57900 !important; }

/* Menu movil: filas algo mas compactas */
@media (max-width: 991px) {
  .rmma-mnav__item { min-height: 46px; padding: 4px 10px; line-height: 1.25; }
}

/* =======================================================================
 * v2.6.4 - Desplegable propio sobre ps_customeraccountlinks
 * (#block_myaccount_infos usado como icono de cuenta en la cabecera:
 * MasterXtreme / Aasias con Leo Daone). El JS añade .rmma-cal-host al
 * bloque y .rmma-cal-open mientras esta abierto.
 * ===================================================================== */
.rmma-cal-host {
  position: relative;
}

.rmma-cal-host > .rmma-hw.rmma-hw--dropdown {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  z-index: 1060;
  margin-top: 10px;
  width: 360px;
  max-width: calc(100vw - 20px);
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.4;
  font-size: 14px;
  white-space: normal;
}

.rmma-cal-host.rmma-cal-open > .rmma-hw.rmma-hw--dropdown {
  display: block;
}

/* Puente invisible para no perder el hover entre el icono y el panel. */
.rmma-cal-host > .rmma-hw.rmma-hw--dropdown::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}

/* El tema estiliza los enlaces del bloque (blanco, mayusculas): se anula
   dentro del panel salvo en los botones de color. */
.rmma-cal-host .rmma-hw a:not(.rmma-solid-btn) {
  color: var(--rmma-ink, #172033) !important;
  text-transform: none !important;
  background: transparent;
}

.rmma-cal-host .rmma-hw .rmma-hw__alt,
.rmma-cal-host .rmma-hw .rmma-hw__logout {
  color: var(--rmma-primary, #1F6FEB) !important;
}

.rmma-cal-host .rmma-hw .rmma-solid-btn {
  text-transform: none !important;
}

@media (max-width: 767px) {
  .rmma-cal-host > .rmma-hw.rmma-hw--dropdown {
    width: auto;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }
}

/* v2.6.5 - Refuerzo (el JS ademas lo pone en linea con !important). */
html body #block_myaccount_infos.rmma-cal-host .account-list,
html body #block_myaccount_infos.rmma-cal-host:hover .account-list,
html body #block_myaccount_infos.rmma-cal-host .account-list.collapse.in {
  display: none !important;
}

/* v2.6.6 - Panel con altura limitada a la ventana (el JS fija max-height)
   y desplazamiento interno sin arrastrar la pagina. */
.rmma-cal-host > .rmma-hw.rmma-hw--dropdown {
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
