:root{--mrs-blue:#003366;--mrs-pink:#ff0066;--mrs-white:#fff;--mrs-ink:#172033;--mrs-muted:#657083;--mrs-line:#e6eaf0;--mrs-soft:#f6f8fb;--mrs-green:#17a673;--mrs-warn:#d99000;--mrs-danger:#c62828}
.mrs-page{background:#fff}.mrs-shell,.mrs-shell *{box-sizing:border-box}.mrs-shell{font-family:Inter,Arial,Helvetica,sans-serif;max-width:1140px;margin:36px auto;padding:clamp(24px,5vw,56px);color:var(--mrs-ink);background:#fff;border:1px solid var(--mrs-line);border-radius:24px;box-shadow:0 16px 50px rgba(0,51,102,.08)}.mrs-shell h1,.mrs-shell h2,.mrs-shell h3{font-family:Inter,Arial,Helvetica,sans-serif;color:var(--mrs-blue);letter-spacing:-.02em}.mrs-shell h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.03;margin:.35em 0}.mrs-shell h2{margin-top:30px}.mrs-eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.14em;color:var(--mrs-pink)}.mrs-lead{font-size:1.06rem;line-height:1.65;color:var(--mrs-muted);max-width:760px}.mrs-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:34px 0}.mrs-card{position:relative;padding:24px;border:1px solid var(--mrs-line);border-radius:18px;background:#fff;transition:.2s ease}.mrs-card:hover{transform:translateY(-3px);border-color:#cbd5e1;box-shadow:0 12px 30px rgba(0,51,102,.09)}.mrs-featured{border:2px solid var(--mrs-pink)}.mrs-badge{position:absolute;right:16px;top:14px;font-size:.72rem;font-weight:800;color:var(--mrs-pink)}.mrs-price{font-size:1.7rem;font-weight:900;color:var(--mrs-blue);margin:15px 0}.mrs-price small{font-size:.75rem;color:var(--mrs-muted)}.mrs-card p{min-height:82px;color:var(--mrs-muted);line-height:1.5}.mrs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:0;border-radius:12px;background:var(--mrs-pink);color:#fff!important;text-decoration:none!important;font-weight:800;cursor:pointer;transition:.2s ease}.mrs-btn:hover{transform:translateY(-1px);filter:brightness(.94)}.mrs-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.mrs-btn-secondary{background:var(--mrs-blue)}.mrs-terms{display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:14px;background:var(--mrs-soft);line-height:1.55}.mrs-terms input{margin-top:4px}.mrs-security-note{margin-top:16px;font-size:.85rem;color:var(--mrs-muted)}.mrs-notice{padding:14px 16px;border-radius:12px;margin:16px 0;background:var(--mrs-soft);border-left:4px solid var(--mrs-blue)}.mrs-error{border-color:var(--mrs-danger);background:#fff5f5}.mrs-warning{border-color:var(--mrs-warn);background:#fffaf0}.mrs-info{border-color:var(--mrs-blue)}.mrs-check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e8fff5;color:var(--mrs-green);font-size:2.2rem;font-weight:900;margin-bottom:24px}.mrs-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.mrs-summary>div{padding:18px;background:var(--mrs-soft);border-radius:14px}.mrs-summary span{display:block;color:var(--mrs-muted);font-size:.78rem;margin-bottom:5px}.mrs-summary strong{color:var(--mrs-blue);word-break:break-word}.mrs-form{display:grid;gap:15px;max-width:640px}.mrs-form label{font-size:.84rem;font-weight:700;color:var(--mrs-blue)}.mrs-form input{display:block;width:100%;margin-top:7px;min-height:48px;border:1px solid #ced5df;border-radius:10px;padding:10px 12px;font:inherit;background:#fff}.mrs-grid{grid-template-columns:1fr 1fr}.mrs-grid .mrs-btn{grid-column:1/-1;justify-self:start}.mrs-profile-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.mrs-status{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border-radius:999px;font-weight:800;background:var(--mrs-soft)}.mrs-status-active{color:var(--mrs-green);background:#ebfff7}.mrs-status-grace{color:var(--mrs-warn);background:#fff8e8}.mrs-status-blocked{color:var(--mrs-danger);background:#fff0f0}.mrs-pulse{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:mrs-pulse 2s infinite}.mrs-license-box{margin:24px 0;padding:24px;border-radius:18px;background:linear-gradient(135deg,var(--mrs-blue),#064a80);color:#fff}.mrs-license-box span,.mrs-license-box small{display:block;opacity:.76}.mrs-license-box strong{display:block;font-size:clamp(1.15rem,3vw,1.8rem);letter-spacing:.07em;margin:7px 0;word-break:break-all}.mrs-permanent{padding:20px;border:1px solid #bcebd8;background:#effff8;border-radius:16px;color:var(--mrs-green)}.mrs-permanent p{color:#45695c;margin-bottom:0}.mrs-progress{height:10px;border-radius:99px;background:#e7ebf0;overflow:hidden}.mrs-progress>div{height:100%;background:linear-gradient(90deg,var(--mrs-blue),var(--mrs-pink));border-radius:inherit}@keyframes mrs-pulse{0%{box-shadow:0 0 0 0 rgba(23,166,115,.45)}70%{box-shadow:0 0 0 10px rgba(23,166,115,0)}100%{box-shadow:0 0 0 0 rgba(23,166,115,0)}}
.woocommerce-checkout .site-main,.woocommerce-order-received .site-main{max-width:1080px!important;margin:30px auto!important;padding:28px!important}.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register,.woocommerce-checkout-review-order,.woocommerce-billing-fields,.woocommerce-additional-fields{border-radius:18px!important}.woocommerce #payment #place_order{background:var(--mrs-pink)!important;border-radius:12px!important;font-weight:800!important;padding:15px 24px!important}.woocommerce input.input-text,.woocommerce select{border:1px solid #ced5df!important;border-radius:10px!important;min-height:46px!important;padding:10px 12px!important}.woocommerce-checkout h3{color:var(--mrs-blue)!important}
@media(max-width:900px){.mrs-plans{grid-template-columns:1fr 1fr}.mrs-summary{grid-template-columns:1fr}.mrs-grid{grid-template-columns:1fr}.mrs-profile-head{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.mrs-shell{margin:16px 10px;border-radius:18px}.mrs-plans{grid-template-columns:1fr}.mrs-card p{min-height:auto}.mrs-btn{width:100%}}

/* v1.0.6 · Portal configurable + integración Elementor */
.mrs-portal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.mrs-elementor-widget{--mrs-widget-bg:#fff}.mrs-elementor-widget .mrs-shell{background:var(--mrs-widget-bg)}.mrs-elementor-heading{max-width:1140px;margin:0 auto 18px}.mrs-elementor-heading h2{margin:0 0 8px;color:var(--mrs-blue);font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.1}.mrs-elementor-heading p{margin:0;color:var(--mrs-ink);font-size:1rem;line-height:1.6}/* v1.0.33: no ocultar contenido real del Portal/Acceso dentro de Elementor.
   La regla antigua v1.0.6 se elimina porque ocultaba el título y la descripción
   tanto en editor como en frontend al usar los widgets nativos MemoRobles. */@media(max-width:560px){.mrs-portal-actions{flex-direction:column}.mrs-portal-actions .mrs-btn{width:100%}.mrs-elementor-heading{padding:0 10px}}

/* v1.0.11 · Restauración visual MemoRobles + fondo unificado */
.mrs-page{background:#fff!important}
.mrs-page .mrs-shell{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  margin:0 auto!important;
  padding:clamp(28px,5vw,56px)!important;
}
.mrs-selector{--mrs-blue:#003366;--mrs-pink:#ff0066}
.mrs-selector .mrs-brand{display:flex;align-items:center;margin:0 0 18px}
.mrs-selector .mrs-brand-logo{display:block;width:auto;max-width:min(220px,52vw);max-height:64px;height:auto;object-fit:contain}
.mrs-selector .mrs-eyebrow{color:#ff0066!important}
.mrs-selector h1,.mrs-selector h2,.mrs-selector h3,.mrs-selector .mrs-price{color:#003366!important}
.mrs-selector .mrs-card{background:#fff!important;border:1px solid #dfe6ee!important;box-shadow:none!important}
.mrs-selector .mrs-card:hover{border-color:#b9c8d8!important;box-shadow:0 10px 28px rgba(0,51,102,.08)!important}
.mrs-selector .mrs-featured{border:2px solid #ff0066!important}
.mrs-selector .mrs-badge{color:#ff0066!important}
.mrs-selector .mrs-btn,
.mrs-selector button.mrs-btn,
.mrs-selector input[type=submit].mrs-btn{
  background:#ff0066!important;
  background-color:#ff0066!important;
  border:2px solid #ff0066!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  box-shadow:none!important;
}
.mrs-selector .mrs-btn:hover{background:#e6005c!important;background-color:#e6005c!important;border-color:#e6005c!important;color:#fff!important}
.mrs-selector .mrs-btn:disabled{background:#ff0066!important;background-color:#ff0066!important;border-color:#ff0066!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:.48!important}
.mrs-selector .mrs-terms{background:#f6f8fb!important;border:0!important;color:#172033!important}
.mrs-selector .mrs-terms a{color:#003366!important}
.mrs-selector .mrs-security-note{color:#657083!important}
@media(max-width:560px){.mrs-page .mrs-shell{padding:24px 18px!important}.mrs-selector .mrs-brand-logo{max-height:54px}}

/* v1.0.12 · Identidad visual global MemoRobles */
body.mrs-page{
  --mrs-blue:#003366;
  --mrs-pink:#ff0066;
  --mrs-brand-bg:#ffffff;
  background:var(--mrs-brand-bg)!important;
  overflow-x:hidden;
}
body.mrs-page::before,
body.mrs-page::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:0;
  border-radius:48% 52% 58% 42% / 48% 44% 56% 52%;
  filter:none;
}
body.mrs-page::before{
  width:min(42vw,620px);
  height:min(42vw,620px);
  right:-9vw;
  top:17vh;
  background:rgba(0,51,102,.055);
  transform:rotate(13deg);
}
body.mrs-page::after{
  width:min(34vw,490px);
  height:min(34vw,490px);
  right:-3vw;
  top:46vh;
  background:rgba(255,0,102,.065);
  transform:rotate(-12deg);
}
body.mrs-page:has(.mrs-brand-decor-off)::before,
body.mrs-page:has(.mrs-brand-decor-off)::after{display:none}
body.mrs-page .site,
body.mrs-page .site-content,
body.mrs-page .site-main,
body.mrs-page article,
body.mrs-page .entry-content,
body.mrs-page .elementor,
body.mrs-page .elementor-section-wrap{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.mrs-page .site-main,
body.mrs-page .entry-content,
body.mrs-page .elementor{position:relative;z-index:1}
.mrs-brand-system{
  position:relative;
  z-index:2;
  max-width:1140px;
  margin:0 auto;
  padding:clamp(30px,5vw,56px) clamp(28px,5vw,56px) 0;
  font-family:Inter,Arial,Helvetica,sans-serif;
}
.mrs-global-brand{display:flex;align-items:center;margin:0 0 22px}
.mrs-global-brand-logo{
  display:block;
  width:auto;
  max-width:min(230px,55vw);
  max-height:70px;
  height:auto;
  object-fit:contain;
}
.mrs-global-kicker{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 13px;
  border-radius:999px;
  background:rgba(0,51,102,.055);
  color:var(--mrs-blue);
  font-size:.76rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.mrs-page .mrs-shell{
  position:relative;
  z-index:2;
  color:var(--mrs-ink);
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.mrs-page .mrs-shell h1,
.mrs-page .mrs-shell h2,
.mrs-page .mrs-shell h3,
.mrs-page .mrs-price{color:var(--mrs-blue)!important}
.mrs-page .mrs-eyebrow{color:var(--mrs-pink)!important}
.mrs-page .mrs-btn,
.mrs-page button.mrs-btn,
.mrs-page input[type=submit].mrs-btn{
  background:var(--mrs-pink)!important;
  background-color:var(--mrs-pink)!important;
  border:2px solid var(--mrs-pink)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.mrs-page .mrs-btn-secondary{
  background:var(--mrs-blue)!important;
  background-color:var(--mrs-blue)!important;
  border-color:var(--mrs-blue)!important;
}
.mrs-page .mrs-card{background:rgba(255,255,255,.94)!important}
.mrs-page .mrs-featured{border-color:var(--mrs-pink)!important}
.mrs-page .mrs-badge{color:var(--mrs-pink)!important}
.mrs-page .mrs-license-box{background:linear-gradient(135deg,var(--mrs-blue),#064a80)!important}
.mrs-page .mrs-progress>div{background:linear-gradient(90deg,var(--mrs-blue),var(--mrs-pink))!important}
@media(max-width:700px){
  body.mrs-page::before{width:380px;height:380px;right:-210px;top:180px}
  body.mrs-page::after{width:320px;height:320px;right:-190px;top:490px}
  .mrs-brand-system{padding:24px 18px 0}
  .mrs-global-brand-logo{max-height:58px}
  .mrs-global-kicker{font-size:.68rem}
}

/* v1.0.13 · Composición maestra coherente con la portada MemoRobles */
body.mrs-page{
  background:var(--mrs-brand-bg,#fff)!important;
}
/* La decoración vive sólo en el lateral derecho y nunca compite con el contenido. */
body.mrs-page::before{
  width:min(40vw,560px)!important;
  height:min(40vw,560px)!important;
  right:-7vw!important;
  top:31vh!important;
  background:rgba(0,51,102,.045)!important;
  border-radius:46% 54% 58% 42% / 43% 48% 52% 57%!important;
}
body.mrs-page::after{
  width:min(32vw,450px)!important;
  height:min(32vw,450px)!important;
  right:-1vw!important;
  top:54vh!important;
  background:rgba(255,0,102,.052)!important;
  border-radius:53% 47% 45% 55% / 47% 54% 46% 53%!important;
}
/* Una sola columna maestra: logo -> gran respiro -> cápsula -> titular -> contenido. */
.mrs-brand-system{
  max-width:1194px!important;
  padding:clamp(58px,8vw,96px) clamp(28px,5.2vw,62px) 0!important;
}
.mrs-global-brand{
  min-height:60px;
  margin:0 0 clamp(72px,8vw,108px)!important;
}
.mrs-global-brand-logo{
  max-width:min(205px,52vw)!important;
  max-height:64px!important;
}
/* Si el logo no está configurado, la cápsula sigue manteniendo el ritmo sin duplicar identidad. */
.mrs-global-kicker{
  min-height:32px!important;
  padding:7px 14px!important;
  background:rgba(0,51,102,.055)!important;
  color:var(--mrs-blue)!important;
  font-size:.73rem!important;
  letter-spacing:.035em!important;
  border-radius:999px!important;
}
.mrs-page .mrs-shell{
  max-width:1194px!important;
  margin:0 auto!important;
  padding:clamp(28px,3.7vw,44px) clamp(28px,5.2vw,62px) clamp(54px,7vw,82px)!important;
}
.mrs-page .mrs-shell h1{
  max-width:900px;
  margin:0 0 22px!important;
  color:var(--mrs-blue)!important;
  font-size:clamp(2.6rem,5.1vw,4.3rem)!important;
  line-height:.99!important;
  letter-spacing:-.045em!important;
  font-weight:780!important;
}
.mrs-page .mrs-lead{
  max-width:790px!important;
  margin:0!important;
  color:#5d7293!important;
  font-size:clamp(1rem,1.45vw,1.13rem)!important;
  line-height:1.58!important;
}
.mrs-selector .mrs-plans{margin-top:38px!important;position:relative;z-index:3}
.mrs-selector .mrs-card{
  background:#fff!important;
  border:1px solid #dde5ef!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.mrs-selector .mrs-featured{border:2px solid var(--mrs-pink)!important}
.mrs-selector .mrs-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,51,102,.07)!important}
.mrs-selector .mrs-terms{position:relative;z-index:3;margin-top:2px;background:#f6f8fb!important}
.mrs-selector .mrs-security-note{position:relative;z-index:3}
/* Suprime cualquier eyebrow heredado dentro del selector: la cápsula maestra ya identifica la página. */
.mrs-selector > .mrs-eyebrow{display:none!important}
/* Cabeceras de las demás pantallas: una sola identidad, sin tarjetas exteriores. */
.mrs-confirm,.mrs-login,.mrs-portal-intro{padding-top:clamp(28px,3.7vw,44px)!important}
.mrs-page .mrs-shell > .mrs-eyebrow{margin-bottom:12px}
@media(max-width:900px){
  .mrs-brand-system{padding-top:48px!important}
  .mrs-global-brand{margin-bottom:64px!important}
  .mrs-page .mrs-shell h1{font-size:clamp(2.35rem,7vw,3.4rem)!important}
  body.mrs-page::before{right:-220px!important;top:300px!important}
  body.mrs-page::after{right:-180px!important;top:610px!important}
}
@media(max-width:560px){
  .mrs-brand-system{padding:34px 18px 0!important}
  .mrs-global-brand{min-height:48px;margin-bottom:44px!important}
  .mrs-global-brand-logo{max-width:165px!important;max-height:52px!important}
  .mrs-page .mrs-shell{padding:24px 18px 48px!important}
  .mrs-page .mrs-shell h1{font-size:clamp(2.15rem,11vw,2.9rem)!important}
  body.mrs-page::before,body.mrs-page::after{opacity:.65}
}

/* v1.0.14 · Ajuste fino de logo, espaciado y responsive */
body.mrs-page{overflow-x:hidden!important}
.mrs-brand-system{
  width:min(100%,1194px)!important;
  padding:clamp(26px,3.2vw,44px) clamp(18px,4.2vw,52px) 0!important;
}
.mrs-global-brand{
  min-height:0!important;
  margin:0 0 clamp(34px,4.5vw,58px)!important;
}
.mrs-global-brand-logo{
  width:auto!important;
  height:auto!important;
  max-width:clamp(150px,17vw,215px)!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.mrs-global-kicker{
  gap:7px!important;
  margin:0!important;
  white-space:normal!important;
}
.mrs-global-kicker-icon{
  width:16px!important;
  height:16px!important;
  object-fit:contain!important;
  flex:0 0 16px!important;
}
.mrs-page .mrs-shell{
  width:min(100%,1194px)!important;
  padding:clamp(18px,2.2vw,30px) clamp(18px,4.2vw,52px) clamp(38px,5vw,68px)!important;
}
.mrs-page .mrs-shell h1{
  max-width:880px!important;
  font-size:clamp(2.35rem,4.45vw,4rem)!important;
  line-height:1.01!important;
  margin:0 0 clamp(14px,1.8vw,22px)!important;
}
.mrs-page .mrs-lead{
  max-width:780px!important;
  font-size:clamp(.98rem,1.25vw,1.12rem)!important;
}
.mrs-selector .mrs-plans{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(12px,1.4vw,18px)!important;
  margin:clamp(26px,3vw,38px) 0 28px!important;
}
.mrs-selector .mrs-card{
  min-width:0!important;
  padding:clamp(18px,2vw,24px)!important;
}
.mrs-selector .mrs-card h3{font-size:clamp(1.35rem,2vw,1.75rem)!important}
.mrs-selector .mrs-price{font-size:clamp(1.45rem,2vw,1.75rem)!important}
.mrs-selector .mrs-card p{min-height:0!important;margin-bottom:18px!important}
.mrs-selector .mrs-btn{width:auto!important;min-width:108px!important}
/* Decoración contenida: nunca invade el contenido funcional. */
body.mrs-page::before{
  width:min(36vw,500px)!important;height:min(36vw,500px)!important;
  right:-10vw!important;top:33vh!important;opacity:.9!important;
}
body.mrs-page::after{
  width:min(28vw,390px)!important;height:min(28vw,390px)!important;
  right:-4vw!important;top:57vh!important;opacity:.9!important;
}
@media (max-width:1024px){
  .mrs-brand-system{padding:30px 28px 0!important}
  .mrs-global-brand{margin-bottom:42px!important}
  .mrs-page .mrs-shell{padding:20px 28px 52px!important}
  .mrs-selector .mrs-plans{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.mrs-page::before{right:-250px!important;top:280px!important}
  body.mrs-page::after{right:-190px!important;top:620px!important}
}
@media (max-width:767px){
  .mrs-brand-system{padding:24px 18px 0!important}
  .mrs-global-brand{margin-bottom:30px!important}
  .mrs-global-brand-logo{max-width:170px!important;max-height:56px!important}
  .mrs-global-kicker{font-size:.67rem!important;padding:6px 11px!important;min-height:28px!important}
  .mrs-page .mrs-shell{padding:18px 18px 42px!important}
  .mrs-page .mrs-shell h1{font-size:clamp(2rem,10vw,2.75rem)!important;letter-spacing:-.035em!important}
  .mrs-selector .mrs-plans{grid-template-columns:1fr!important;gap:12px!important;margin-top:24px!important}
  .mrs-selector .mrs-card{padding:20px!important}
  .mrs-selector .mrs-card p{margin-bottom:16px!important}
  .mrs-selector .mrs-btn{width:100%!important}
  .mrs-terms{font-size:.95rem!important;padding:15px!important}
  body.mrs-page::before,body.mrs-page::after{display:none!important}
}
@media (max-width:420px){
  .mrs-brand-system{padding:20px 14px 0!important}
  .mrs-page .mrs-shell{padding:16px 14px 36px!important}
  .mrs-global-brand-logo{max-width:154px!important}
  .mrs-page .mrs-shell h1{font-size:clamp(1.9rem,10.8vw,2.45rem)!important}
}

/* v1.0.18 · Selección dinámica de planes + branding horizontal consistente */
.mrs-selector .mrs-card{
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease!important;
}
/* Pago total permanece recomendado en magenta por defecto. */
.mrs-selector .mrs-card.mrs-featured{
  border-color:var(--mrs-pink)!important;
  box-shadow:0 0 0 1px rgba(255,0,102,.08)!important;
}
/* Los demás planes adquieren intención visual azul al explorarlos. */
@media (hover:hover) and (pointer:fine){
  .mrs-selector .mrs-card:not(.mrs-featured):hover{
    transform:translateY(-5px)!important;
    border-color:var(--mrs-blue)!important;
    box-shadow:0 14px 34px rgba(0,51,102,.14),0 0 0 3px rgba(0,51,102,.10)!important;
  }
  .mrs-selector .mrs-card:not(.mrs-featured):hover .mrs-btn{
    background:var(--mrs-blue)!important;
  }
}
/* Accesibilidad: el mismo estado se activa al navegar con teclado. */
.mrs-selector .mrs-card:not(.mrs-featured):focus-within{
  transform:translateY(-4px)!important;
  border-color:var(--mrs-blue)!important;
  box-shadow:0 12px 30px rgba(0,51,102,.13),0 0 0 3px rgba(0,51,102,.11)!important;
}
.mrs-selector .mrs-card:not(.mrs-featured):focus-within .mrs-btn{background:var(--mrs-blue)!important}
/* Evita que el plan recomendado pierda su identidad al pasar el mouse. */
@media (hover:hover) and (pointer:fine){
  .mrs-selector .mrs-card.mrs-featured:hover{
    border-color:var(--mrs-pink)!important;
    box-shadow:0 14px 32px rgba(255,0,102,.12),0 0 0 2px rgba(255,0,102,.08)!important;
  }
}
/* El masthead reserva un espacio compacto y coherente para el logotipo horizontal. */
.mrs-global-brand-logo{
  display:block!important;
  width:auto!important;
  max-width:clamp(165px,18vw,225px)!important;
  max-height:68px!important;
}
.mrs-global-kicker-icon{display:none!important}
@media(max-width:767px){
  .mrs-global-brand-logo{max-width:170px!important;max-height:54px!important}
  .mrs-selector .mrs-card:not(.mrs-featured):focus-within{transform:none!important}
}

/* v1.0.19 · Colores exactos MemoRobles + Checkout moderno y unificado */
:root,
body.mrs-page{
  --mrs-blue:#003366!important;
  --mrs-pink:#ff0066!important;
}
/* Plan recomendado: magenta exacto. */
.mrs-selector .mrs-card.mrs-featured{
  border-color:#ff0066!important;
  box-shadow:0 0 0 1px rgba(255,0,102,.08)!important;
}
.mrs-selector .mrs-featured .mrs-badge{color:#ff0066!important}
/* Intención de selección: halo azul exacto MemoRobles. */
@media (hover:hover) and (pointer:fine){
  .mrs-selector .mrs-card:not(.mrs-featured):hover{
    border-color:#003366!important;
    box-shadow:0 14px 34px rgba(0,51,102,.16),0 0 0 3px rgba(0,51,102,.12)!important;
  }
  .mrs-selector .mrs-card:not(.mrs-featured):hover .mrs-btn{
    background:#003366!important;
    background-color:#003366!important;
    border-color:#003366!important;
  }
  .mrs-selector .mrs-card.mrs-featured:hover{
    border-color:#ff0066!important;
    box-shadow:0 14px 32px rgba(255,0,102,.14),0 0 0 3px rgba(255,0,102,.10)!important;
  }
}
.mrs-selector .mrs-card:not(.mrs-featured):focus-within{
  border-color:#003366!important;
  box-shadow:0 12px 30px rgba(0,51,102,.15),0 0 0 3px rgba(0,51,102,.12)!important;
}
.mrs-selector .mrs-card:not(.mrs-featured):focus-within .mrs-btn{
  background:#003366!important;background-color:#003366!important;border-color:#003366!important;
}

/* Checkout MemoRobles: elimina visual envejecido de WooCommerce sin alterar su lógica. */
.mrs-checkout-shell{
  padding-top:clamp(18px,2.2vw,30px)!important;
}
.mrs-checkout-content{
  position:relative;
  z-index:3;
  margin-top:clamp(28px,3.5vw,42px);
  color:#23364f;
}
.mrs-checkout-content .woocommerce{
  width:100%;
  max-width:none;
  font-family:inherit;
}
.mrs-checkout-content .woocommerce-info,
.mrs-checkout-content .woocommerce-message,
.mrs-checkout-content .woocommerce-error{
  border:0!important;
  border-left:4px solid #003366!important;
  border-radius:14px!important;
  background:#f5f8fb!important;
  color:#263b56!important;
  padding:16px 18px!important;
  margin:0 0 22px!important;
  box-shadow:none!important;
}
.mrs-checkout-content .woocommerce-error{border-left-color:#ff0066!important}
.mrs-checkout-content .woocommerce-info::before,
.mrs-checkout-content .woocommerce-message::before{color:#003366!important}
.mrs-checkout-content .woocommerce-error::before{color:#ff0066!important}
.mrs-checkout-content form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr)!important;
  gap:clamp(22px,3vw,42px)!important;
  align-items:start!important;
}
.mrs-checkout-content #customer_details,
.mrs-checkout-content #order_review_heading,
.mrs-checkout-content #order_review{
  float:none!important;
  width:auto!important;
  margin:0!important;
}
.mrs-checkout-content #customer_details{grid-column:1;grid-row:1 / span 2}
.mrs-checkout-content #order_review_heading{grid-column:2;grid-row:1}
.mrs-checkout-content #order_review{grid-column:2;grid-row:2}
.mrs-checkout-content .col2-set,
.mrs-checkout-content .col-1,
.mrs-checkout-content .col-2{
  float:none!important;
  width:100%!important;
  margin:0!important;
}
.mrs-checkout-content .col-2{margin-top:22px!important}
.mrs-checkout-content h3,
.mrs-checkout-content #order_review_heading{
  color:#003366!important;
  font-size:clamp(1.28rem,1.8vw,1.65rem)!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  margin:0 0 18px!important;
  padding:0!important;
}
.mrs-checkout-content .woocommerce-billing-fields,
.mrs-checkout-content .woocommerce-additional-fields,
.mrs-checkout-content #order_review{
  background:rgba(255,255,255,.96)!important;
  border:1px solid #e1e8f0!important;
  border-radius:20px!important;
  padding:clamp(20px,2.4vw,30px)!important;
  box-shadow:0 12px 34px rgba(0,51,102,.055)!important;
}
.mrs-checkout-content .form-row{
  margin:0 0 16px!important;
  padding:0!important;
}
.mrs-checkout-content label{
  display:block!important;
  color:#003366!important;
  font-size:.92rem!important;
  font-weight:700!important;
  line-height:1.35!important;
  margin:0 0 7px!important;
}
.mrs-checkout-content label .required{color:#ff0066!important}
.mrs-checkout-content input.input-text,
.mrs-checkout-content textarea,
.mrs-checkout-content select,
.mrs-checkout-content .select2-container .select2-selection--single{
  width:100%!important;
  min-height:48px!important;
  border:1px solid #cfd9e5!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#203752!important;
  box-shadow:none!important;
  outline:none!important;
  font-size:16px!important;
  padding:11px 13px!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
.mrs-checkout-content textarea{min-height:110px!important;resize:vertical!important}
.mrs-checkout-content .select2-container .select2-selection--single{padding:7px 12px!important}
.mrs-checkout-content .select2-selection__rendered{line-height:32px!important;padding:0!important;color:#203752!important}
.mrs-checkout-content .select2-selection__arrow{height:46px!important}
.mrs-checkout-content input.input-text:focus,
.mrs-checkout-content textarea:focus,
.mrs-checkout-content select:focus,
.mrs-checkout-content .select2-container--focus .select2-selection--single{
  border-color:#003366!important;
  box-shadow:0 0 0 3px rgba(0,51,102,.10)!important;
}
.mrs-checkout-content .woocommerce-input-wrapper .description{
  color:#60728b!important;
  font-size:.82rem!important;
  line-height:1.45!important;
}
.mrs-checkout-content table.shop_table{
  width:100%!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0 0 22px!important;
  background:transparent!important;
}
.mrs-checkout-content table.shop_table th,
.mrs-checkout-content table.shop_table td{
  border:0!important;
  border-bottom:1px solid #e8edf3!important;
  padding:13px 4px!important;
  color:#32465f!important;
  vertical-align:top!important;
}
.mrs-checkout-content table.shop_table th{color:#003366!important;font-weight:800!important}
.mrs-checkout-content table.shop_table .order-total th,
.mrs-checkout-content table.shop_table .order-total td{
  color:#003366!important;
  font-size:1.08rem!important;
  border-bottom:0!important;
}
.mrs-checkout-content #payment{
  background:#f7f9fc!important;
  border:0!important;
  border-radius:16px!important;
  padding:4px!important;
}
.mrs-checkout-content #payment ul.payment_methods{
  border:0!important;
  padding:16px 16px 4px!important;
}
.mrs-checkout-content #payment .payment_box{
  background:#fff!important;
  color:#53677f!important;
  border-radius:12px!important;
  margin:10px 0 12px!important;
  padding:14px!important;
}
.mrs-checkout-content #payment .payment_box::before{display:none!important}
.mrs-checkout-content #payment .place-order{
  padding:12px 16px 16px!important;
  margin:0!important;
}
.mrs-checkout-content #place_order,
.mrs-checkout-content button.button,
.mrs-checkout-content input.button,
.mrs-checkout-content a.button{
  background:#ff0066!important;
  background-color:#ff0066!important;
  border:2px solid #ff0066!important;
  border-radius:12px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:800!important;
  line-height:1.2!important;
  min-height:48px!important;
  padding:13px 20px!important;
  box-shadow:none!important;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.mrs-checkout-content #place_order{width:100%!important;font-size:1rem!important}
@media (hover:hover) and (pointer:fine){
  .mrs-checkout-content #place_order:hover,
  .mrs-checkout-content button.button:hover,
  .mrs-checkout-content input.button:hover,
  .mrs-checkout-content a.button:hover{
    background:#003366!important;
    background-color:#003366!important;
    border-color:#003366!important;
    transform:translateY(-2px)!important;
    box-shadow:0 10px 24px rgba(0,51,102,.14)!important;
  }
}
.mrs-checkout-content .woocommerce-privacy-policy-text,
.mrs-checkout-content .woocommerce-terms-and-conditions-wrapper{
  color:#60728b!important;
  font-size:.88rem!important;
  line-height:1.5!important;
}
.mrs-checkout-content a{color:#003366!important;text-underline-offset:2px}
.mrs-checkout-content .woocommerce-form-coupon{
  border:1px solid #e1e8f0!important;
  border-radius:16px!important;
  background:#fff!important;
  padding:18px!important;
  margin:0 0 22px!important;
}
@media(max-width:900px){
  .mrs-checkout-content form.checkout{grid-template-columns:1fr!important;gap:24px!important}
  .mrs-checkout-content #customer_details,
  .mrs-checkout-content #order_review_heading,
  .mrs-checkout-content #order_review{grid-column:1!important;grid-row:auto!important}
}
@media(max-width:560px){
  .mrs-checkout-content{margin-top:24px!important}
  .mrs-checkout-content .woocommerce-billing-fields,
  .mrs-checkout-content .woocommerce-additional-fields,
  .mrs-checkout-content #order_review{padding:18px!important;border-radius:16px!important}
  .mrs-checkout-content h3,
  .mrs-checkout-content #order_review_heading{font-size:1.25rem!important}
  .mrs-checkout-content table.shop_table th,
  .mrs-checkout-content table.shop_table td{padding:11px 2px!important;font-size:.92rem!important}
}

/* ================================================================
   v1.0.20 · Checkout compacto, equilibrado y multipantalla
   Mantiene lógica WooCommerce intacta; solo composición/idioma visual.
   ================================================================ */
.mrs-checkout-shell{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:clamp(14px,1.8vw,24px) clamp(18px,3vw,34px) clamp(32px,4vw,48px)!important;
}
.mrs-checkout-shell > h1{
  font-size:clamp(2rem,3.3vw,3.05rem)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  margin:clamp(14px,1.8vw,22px) 0 10px!important;
  max-width:820px!important;
}
.mrs-checkout-shell > .mrs-lead{
  font-size:clamp(.98rem,1.25vw,1.12rem)!important;
  line-height:1.52!important;
  margin:0!important;
  max-width:760px!important;
}
.mrs-checkout-content{
  margin-top:clamp(20px,2.6vw,30px)!important;
}

/* El encabezado nativo se oculta y el título se integra dentro del panel derecho.
   Esto elimina el gran vacío lateral que generaba el grid clásico de WooCommerce. */
.mrs-checkout-content #order_review_heading{
  display:none!important;
}
.mrs-checkout-content form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;
  gap:clamp(20px,2.4vw,30px)!important;
  align-items:start!important;
}
.mrs-checkout-content #customer_details{
  grid-column:1!important;
  grid-row:1!important;
}
.mrs-checkout-content #order_review{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  align-self:start!important;
}
.mrs-checkout-content #order_review::before{
  content:"Resumen de tu pedido";
  display:block;
  color:#003366;
  font-family:inherit;
  font-size:clamp(1.28rem,1.65vw,1.55rem);
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
  margin:0 0 16px;
}
.mrs-checkout-content .woocommerce-billing-fields,
.mrs-checkout-content .woocommerce-additional-fields,
.mrs-checkout-content #order_review{
  padding:clamp(18px,2vw,26px)!important;
  border-radius:18px!important;
}
.mrs-checkout-content h3{
  font-size:clamp(1.22rem,1.55vw,1.48rem)!important;
  margin-bottom:15px!important;
}
.mrs-checkout-content .form-row{
  margin-bottom:13px!important;
}
.mrs-checkout-content label{
  font-size:.88rem!important;
  margin-bottom:6px!important;
}
.mrs-checkout-content input.input-text,
.mrs-checkout-content textarea,
.mrs-checkout-content select,
.mrs-checkout-content .select2-container .select2-selection--single{
  min-height:44px!important;
  border-radius:10px!important;
  padding:9px 12px!important;
}
.mrs-checkout-content .select2-selection__rendered{line-height:28px!important}
.mrs-checkout-content .select2-selection__arrow{height:42px!important}
.mrs-checkout-content .woocommerce-info,
.mrs-checkout-content .woocommerce-message,
.mrs-checkout-content .woocommerce-error{
  padding:13px 16px!important;
  margin-bottom:18px!important;
  border-radius:12px!important;
  font-size:.95rem!important;
}
.mrs-checkout-content table.shop_table th,
.mrs-checkout-content table.shop_table td{
  padding:11px 3px!important;
  font-size:.93rem!important;
}
.mrs-checkout-content #payment ul.payment_methods{padding:14px 14px 2px!important}
.mrs-checkout-content #payment .place-order{padding:10px 14px 14px!important}
.mrs-checkout-content #place_order{min-height:46px!important}

/* WooCommerce puede dejar anchors/iconos heredados antes del texto del cupón. */
.mrs-checkout-content .woocommerce-info a,
.mrs-checkout-content .woocommerce-info .showcoupon{font-weight:700!important}

/* Tablet: columna única, orden natural y ancho cómodo. */
@media (max-width:900px){
  .mrs-checkout-shell{
    max-width:760px!important;
    padding:16px 22px 38px!important;
  }
  .mrs-checkout-shell > h1{font-size:clamp(2rem,6vw,2.65rem)!important}
  .mrs-checkout-content form.checkout{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .mrs-checkout-content #customer_details,
  .mrs-checkout-content #order_review{
    grid-column:1!important;
    grid-row:auto!important;
  }
}

/* Móvil: sin márgenes desperdiciados, títulos contenidos y targets táctiles. */
@media (max-width:560px){
  .mrs-checkout-shell{
    width:100%!important;
    margin:0!important;
    padding:12px 14px 30px!important;
  }
  .mrs-checkout-shell > h1{
    font-size:clamp(1.85rem,9.3vw,2.35rem)!important;
    line-height:1.05!important;
    margin-top:12px!important;
  }
  .mrs-checkout-shell > .mrs-lead{
    font-size:.96rem!important;
    line-height:1.48!important;
  }
  .mrs-checkout-content{margin-top:18px!important}
  .mrs-checkout-content .woocommerce-billing-fields,
  .mrs-checkout-content .woocommerce-additional-fields,
  .mrs-checkout-content #order_review{
    padding:16px!important;
    border-radius:14px!important;
  }
  .mrs-checkout-content #order_review::before,
  .mrs-checkout-content h3{font-size:1.2rem!important}
  .mrs-checkout-content input.input-text,
  .mrs-checkout-content textarea,
  .mrs-checkout-content select,
  .mrs-checkout-content .select2-container .select2-selection--single{
    min-height:46px!important;
    font-size:16px!important;
  }
}


/* ================================================================
   v1.0.21 · Checkout más sereno + navegación de embudo
   ================================================================ */
.mrs-checkout-shell > h1{
  font-size:clamp(1.95rem,2.65vw,2.55rem)!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
  margin:12px 0 8px!important;
  max-width:720px!important;
}
.mrs-checkout-shell > .mrs-lead{
  font-size:clamp(.96rem,1.05vw,1.04rem)!important;
  line-height:1.5!important;
  max-width:700px!important;
}
.mrs-funnel-back{
  display:inline-grid!important;
  grid-template-columns:28px auto!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;
  align-items:center!important;
  min-height:48px!important;
  margin:2px 0 12px!important;
  padding:8px 14px 8px 10px!important;
  border:1px solid rgba(0,51,102,.20)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#003366!important;
  text-decoration:none!important;
  box-shadow:0 5px 16px rgba(0,51,102,.045)!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.mrs-funnel-back > span{
  grid-row:1 / 3!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:#003366!important;
  color:#fff!important;
  font-size:1.05rem!important;
  line-height:1!important;
  transition:background-color .18s ease,transform .18s ease!important;
}
.mrs-funnel-back > strong{
  font-size:.86rem!important;
  line-height:1.1!important;
  font-weight:800!important;
  color:inherit!important;
}
.mrs-funnel-back > small{
  font-size:.69rem!important;
  line-height:1.1!important;
  color:#64748b!important;
}
@media (hover:hover) and (pointer:fine){
  .mrs-funnel-back:hover{
    background:#003366!important;
    border-color:#003366!important;
    color:#fff!important;
    transform:translateY(-2px)!important;
    box-shadow:0 10px 24px rgba(0,51,102,.14)!important;
  }
  .mrs-funnel-back:hover > span{
    background:#ff0066!important;
    transform:translateX(-2px)!important;
  }
  .mrs-funnel-back:hover > small{color:rgba(255,255,255,.82)!important}
}
.mrs-funnel-back:focus-visible{
  outline:3px solid rgba(255,0,102,.22)!important;
  outline-offset:3px!important;
}
@media(max-width:900px){
  .mrs-checkout-shell > h1{font-size:clamp(1.9rem,5vw,2.3rem)!important}
  .mrs-funnel-back{margin-bottom:10px!important}
}
@media(max-width:560px){
  .mrs-checkout-shell > h1{
    font-size:clamp(1.7rem,8vw,2.05rem)!important;
    line-height:1.08!important;
  }
  .mrs-checkout-shell > .mrs-lead{font-size:.94rem!important}
  .mrs-funnel-back{min-height:44px!important;padding:7px 12px 7px 8px!important}
}

/* v1.0.22 · Botón Regresar en selección de licencia */
.mrs-brand-system .mrs-brand-back{
  margin:-2px 0 18px!important;
  width:max-content!important;
  max-width:100%!important;
}
@media(max-width:700px){
  .mrs-brand-system .mrs-brand-back{margin:0 0 14px!important}
}
@media(max-width:560px){
  .mrs-brand-system .mrs-brand-back{
    min-height:42px!important;
    padding:6px 11px 6px 8px!important;
  }
}

/* v1.0.23 — Avisos y ayudas de checkout con identidad MemoRobles. */
.mrs-checkout-content .woocommerce-input-wrapper .description{
  display:inline-block!important;
  margin-top:7px!important;
  padding:8px 11px!important;
  border:0!important;
  border-radius:9px!important;
  background:#003366!important;
  background-color:#003366!important;
  color:#ffffff!important;
  font-size:.80rem!important;
  font-weight:600!important;
  line-height:1.35!important;
  box-shadow:none!important;
  max-width:100%!important;
}
.mrs-checkout-content .woocommerce-input-wrapper .description::before,
.mrs-checkout-content .woocommerce-input-wrapper .description::after{
  display:none!important;
}

/* Avisos generales: azul para información, magenta para errores, siempre texto blanco. */
.mrs-checkout-content .woocommerce-info,
.mrs-checkout-content .woocommerce-message{
  border:0!important;
  border-left:0!important;
  background:#003366!important;
  background-color:#003366!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
.mrs-checkout-content .woocommerce-error{
  border:0!important;
  border-left:0!important;
  background:#ff0066!important;
  background-color:#ff0066!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
.mrs-checkout-content .woocommerce-info a,
.mrs-checkout-content .woocommerce-message a,
.mrs-checkout-content .woocommerce-error a,
.mrs-checkout-content .woocommerce-info .showcoupon,
.mrs-checkout-content .woocommerce-message .showcoupon,
.mrs-checkout-content .woocommerce-error .showcoupon{
  color:#ffffff!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
.mrs-checkout-content .woocommerce-info::before,
.mrs-checkout-content .woocommerce-message::before,
.mrs-checkout-content .woocommerce-error::before{
  color:#ffffff!important;
}

/* Algunos temas renderizan los errores de checkout fuera de la lista estándar. */
.mrs-checkout-content .woocommerce-NoticeGroup-checkout .woocommerce-error,
.mrs-checkout-content .woocommerce-notices-wrapper .woocommerce-error{
  background:#ff0066!important;
  color:#ffffff!important;
  border-radius:12px!important;
}

@media (max-width:600px){
  .mrs-checkout-content .woocommerce-input-wrapper .description{
    display:block!important;
    width:100%!important;
    font-size:.78rem!important;
    padding:8px 10px!important;
  }
}

/* v1.0.24 · Acceso 2FA más claro, equilibrado y responsive */
.mrs-auth-shell{padding-top:clamp(18px,2.4vw,30px)!important}
.mrs-auth-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);
  gap:clamp(32px,5vw,72px);
  align-items:center;
  max-width:1060px;
  margin:0 auto;
}
.mrs-auth-copy{min-width:0;padding:8px 0}
.mrs-auth-copy .mrs-eyebrow{margin:0 0 12px!important;font-size:.73rem!important;letter-spacing:.12em!important;font-weight:800!important}
.mrs-page .mrs-auth-copy h1{
  max-width:680px!important;
  margin:0 0 16px!important;
  font-size:clamp(2.25rem,4.1vw,3.55rem)!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
}
.mrs-auth-copy .mrs-lead{max-width:650px!important;font-size:clamp(1rem,1.25vw,1.08rem)!important;line-height:1.62!important}
.mrs-auth-steps{display:grid;gap:12px;margin:30px 0 0;max-width:520px}
.mrs-auth-step{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid #e1e8f0;border-radius:14px;background:rgba(255,255,255,.78)}
.mrs-auth-step>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#edf2f7;color:#5d7293;font-weight:800}
.mrs-auth-step strong{display:block;color:#003366;font-size:.96rem;line-height:1.15}
.mrs-auth-step small{display:block;margin-top:3px;color:#71819a;font-size:.78rem}
.mrs-auth-step.is-active{border-color:#003366;box-shadow:0 0 0 3px rgba(0,51,102,.07)}
.mrs-auth-step.is-active>span{background:#003366;color:#fff}
.mrs-auth-step.is-done>span{background:#ff0066;color:#fff}
.mrs-auth-card{
  position:relative;
  z-index:3;
  width:100%;
  max-width:440px;
  justify-self:end;
  padding:clamp(24px,3vw,34px);
  border:1px solid #dfe7f0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 48px rgba(0,51,102,.09);
}
.mrs-auth-card-brand{display:flex;align-items:center;gap:9px;margin:0 0 20px;color:#003366;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.mrs-auth-card-brand img{width:34px;height:34px;object-fit:contain}
.mrs-auth-lock{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ff0066;color:#fff;font-size:1rem}
.mrs-page .mrs-auth-card h2{margin:0 0 9px!important;color:#003366!important;font-size:clamp(1.45rem,2vw,1.8rem)!important;line-height:1.15!important;letter-spacing:-.025em!important}
.mrs-auth-card-copy{margin:0 0 22px;color:#687b99;font-size:.94rem;line-height:1.5}
.mrs-auth-form{display:grid;gap:15px}
.mrs-auth-form label{display:grid;gap:7px;color:#003366;font-size:.88rem;font-weight:750}
.mrs-auth-form input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #cad6e4!important;border-radius:12px!important;background:#fff!important;color:#172033!important;font-size:16px!important;outline:none;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease}
.mrs-auth-form input:focus{border-color:#003366!important;box-shadow:0 0 0 3px rgba(0,51,102,.09)!important}
.mrs-auth-form .mrs-btn{width:100%;min-height:50px;margin-top:2px;border-radius:12px!important;font-weight:800!important;transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important}
.mrs-auth-form .mrs-btn:hover{background:#003366!important;border-color:#003366!important;transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,51,102,.16)!important}
.mrs-otp-input{text-align:center;letter-spacing:.28em;font-size:1.25rem!important;font-weight:800!important}
.mrs-auth-footnote{margin:18px 0 0;padding-top:16px;border-top:1px solid #edf1f5;color:#7a879a;font-size:.78rem;line-height:1.45;text-align:center}
.mrs-auth-success{max-width:720px;margin:0 auto;text-align:left}
/* Evita la antigua doble jerarquía visual en Mi Cuenta. */
.mrs-login>.mrs-eyebrow,.mrs-login>h1,.mrs-login>.mrs-lead{display:none!important}
@media(max-width:900px){
  .mrs-auth-grid{grid-template-columns:1fr;gap:28px;max-width:720px;align-items:start}
  .mrs-auth-card{justify-self:stretch;max-width:none}
  .mrs-auth-steps{grid-template-columns:1fr 1fr;max-width:none;margin-top:24px}
}
@media(max-width:600px){
  .mrs-auth-shell{padding-top:10px!important}
  .mrs-auth-grid{gap:22px}
  .mrs-page .mrs-auth-copy h1{font-size:clamp(2rem,10vw,2.55rem)!important;margin-bottom:12px!important}
  .mrs-auth-copy .mrs-lead{font-size:.98rem!important;line-height:1.55!important}
  .mrs-auth-steps{grid-template-columns:1fr;gap:9px;margin-top:20px}
  .mrs-auth-step{padding:11px 12px}
  .mrs-auth-card{padding:22px 18px;border-radius:17px}
  .mrs-auth-card-brand{margin-bottom:16px}
}


/* v1.0.25 · Acceso unificado con MemoRobles LMS 2.6.39 */
.mrs-course-access{
  margin:24px 0 28px;
  padding:26px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border:1px solid rgba(0,51,102,.14);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(0,51,102,.035),rgba(255,0,102,.025));
}
.mrs-course-access-copy{min-width:0;max-width:720px}
.mrs-course-access h2{margin:7px 0 8px;font-size:clamp(24px,2.2vw,34px);line-height:1.08;color:#003366}
.mrs-course-access p{margin:0;color:#60708f;line-height:1.6}
.mrs-course-access-action{flex:0 0 auto}
.mrs-course-enter{white-space:nowrap}
.mrs-course-enter span{display:inline-block;margin-left:8px;transition:transform .2s ease}
.mrs-course-enter:hover span,.mrs-course-enter:focus span{transform:translateX(4px)}
.mrs-course-access-blocked{
  border-color:rgba(255,0,102,.24);
  background:linear-gradient(135deg,rgba(255,0,102,.04),rgba(0,51,102,.02));
}
@media (max-width: 820px){
  .mrs-course-access{align-items:flex-start;flex-direction:column;padding:22px}
  .mrs-course-access-action,.mrs-course-access-action .mrs-btn{width:100%}
  .mrs-course-access-action .mrs-btn{text-align:center;justify-content:center}
}
@media (max-width: 520px){
  .mrs-course-access{margin:18px 0 22px;padding:18px;border-radius:18px;gap:18px}
  .mrs-course-access h2{font-size:24px}
}


/* v1.0.26 · Seguridad de acceso y recuperación */
.mrs-forgot-password{margin:14px 0 0;text-align:center}
.mrs-forgot-password a{color:#003366;font-weight:700;text-decoration:none}
.mrs-forgot-password a:hover,.mrs-forgot-password a:focus{color:#ff0066;text-decoration:underline}
.mrs-reset-panel{max-width:620px;margin:0 auto;padding:30px;border:1px solid rgba(0,51,102,.14);border-radius:22px;background:#fff}
.mrs-reset-panel h2{color:#003366;font-size:clamp(26px,3vw,36px);line-height:1.1;margin:8px 0 10px}
.mrs-reset-panel p{color:#60708f;line-height:1.6}
.mrs-generated-password{margin:20px 0;padding:18px 20px;border-radius:16px;background:#003366;color:#fff;overflow-wrap:anywhere}
.mrs-generated-password code{color:#fff;background:transparent;font-size:18px;font-weight:800;letter-spacing:.04em}
@media(max-width:520px){.mrs-reset-panel{padding:20px;border-radius:18px}.mrs-generated-password code{font-size:16px}}


/* v1.0.27 · Fix icono aviso cupón WooCommerce
   WooCommerce inserta un icono ::before en .woocommerce-info.
   En el checkout MemoRobles se reserva espacio real para el icono,
   evitando que se superponga al texto en escritorio, tablet y móvil. */
.mrs-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.mrs-checkout .woocommerce-info {
    position: relative !important;
    padding-left: 52px !important;
}

.mrs-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.mrs-checkout .woocommerce-info::before {
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    line-height: 1 !important;
}

@media (max-width: 767px) {
    .mrs-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
    .mrs-checkout .woocommerce-info {
        padding-left: 46px !important;
    }

    .mrs-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
    .mrs-checkout .woocommerce-info::before {
        left: 16px !important;
    }
}


/* v1.0.28 · Corrección definitiva del aviso de cupón
   La v1.0.27 apuntaba a .mrs-checkout, pero el contenedor real es
   .mrs-checkout-content. Además, algunos temas no cargan correctamente
   el icon-font de WooCommerce, produciendo el glifo roto que se veía
   superpuesto al texto. Para este aviso eliminamos ese pseudo-icono
   nativo y mantenemos una franja limpia de marca MemoRobles. */
.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info{
    position:relative!important;
    padding:15px 20px!important;
    margin:0 0 20px!important;
    border:0!important;
    border-left:4px solid #003366!important;
    border-radius:12px!important;
    background:#003366!important;
    color:#ffffff!important;
    box-shadow:none!important;
    line-height:1.45!important;
}

.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info::before,
.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info::after{
    content:none!important;
    display:none!important;
}

.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info,
.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info a,
.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info a:visited{
    color:#ffffff!important;
}

.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info a{
    font-weight:800!important;
    text-decoration:underline!important;
    text-underline-offset:3px;
}

.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info a:hover,
.mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info a:focus{
    color:#ffffff!important;
    opacity:.84;
}

@media(max-width:767px){
    .mrs-checkout-content .woocommerce-form-coupon-toggle .woocommerce-info{
        padding:14px 16px!important;
        border-radius:10px!important;
        font-size:15px!important;
    }
}


/* v1.0.32 · Vista previa estable dentro de Elementor */
.mrs-editor-preview{position:relative}
.mrs-editor-preview-label{
  display:inline-flex;
  align-items:center;
  margin:0 0 16px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,51,102,.08);
  color:#003366;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.mrs-editor-form-preview input[disabled]{opacity:1!important;cursor:default!important}
.mrs-editor-form-preview .mrs-btn{display:flex;align-items:center;justify-content:center;cursor:default}


/* v1.0.33 · Visibilidad garantizada de textos editables Elementor */
.mrs-elementor-custom .mrs-portal-intro > .mrs-eyebrow,
.mrs-elementor-custom .mrs-portal-intro > h1,
.mrs-elementor-custom .mrs-portal-intro > .mrs-lead,
.mrs-elementor-custom .mrs-login .mrs-auth-copy > .mrs-eyebrow,
.mrs-elementor-custom .mrs-login .mrs-auth-copy > h1,
.mrs-elementor-custom .mrs-login .mrs-auth-copy > .mrs-lead,
.mrs-elementor-custom .mrs-editor-preview > .mrs-eyebrow,
.mrs-elementor-custom .mrs-editor-preview > h1,
.mrs-elementor-custom .mrs-editor-preview > .mrs-lead {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

.mrs-elementor-custom .mrs-portal-intro > h1,
.mrs-elementor-custom .mrs-login .mrs-auth-copy > h1,
.mrs-elementor-custom .mrs-editor-preview > h1 {
    color:var(--mrs-blue,#003366) !important;
}

.mrs-elementor-custom .mrs-portal-intro > .mrs-lead,
.mrs-elementor-custom .mrs-login .mrs-auth-copy > .mrs-lead,
.mrs-elementor-custom .mrs-editor-preview > .mrs-lead {
    color:var(--mrs-muted,#657083) !important;
}

/* Mantener la etiqueta de vista previa solo dentro del editor */
body:not(.elementor-editor-active) .mrs-editor-preview-label{
    display:none !important;
}


/* v1.0.40 · Cuenta WooCommerce integrada a MemoRobles */
body.woocommerce-account .site-main,
body.woocommerce-account main,
body.woocommerce-account .entry-content{max-width:none!important;width:100%!important}
body.woocommerce-account .entry-title,
body.woocommerce-account h1.entry-title{display:none!important}

.mrs-wc-account-shell{
  position:relative;
  overflow:hidden;
  min-height:72vh;
  background:var(--mrs-widget-bg,#fff);
}
.mrs-wc-account-shell:before,
.mrs-wc-account-shell:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.mrs-wc-account-shell:before{
  width:430px;height:430px;right:-120px;top:145px;
  background:rgba(0,51,102,.045);
}
.mrs-wc-account-shell:after{
  width:350px;height:350px;right:-35px;top:345px;
  background:rgba(255,0,102,.055);
}
.mrs-wc-account-shell>.mrs-shell,
.mrs-wc-account-shell>.mrs-brand-masthead{position:relative;z-index:1}
.mrs-wc-account-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:22px;
}
.mrs-wc-account-heading{max-width:780px}
.mrs-wc-account-heading h1{
  margin:.15em 0 .18em;
  color:var(--mrs-blue,#003366);
  font-size:clamp(34px,5vw,64px);
  line-height:.98;
  letter-spacing:-.035em;
}
.mrs-wc-account-content{
  display:grid;
  grid-template-columns:minmax(220px,260px) minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding-bottom:50px;
}
.mrs-wc-account-content .woocommerce-MyAccount-navigation{
  float:none!important;
  width:auto!important;
  margin:0!important;
}
.mrs-wc-account-content .woocommerce-MyAccount-navigation ul{
  list-style:none!important;
  margin:0!important;
  padding:10px!important;
  border:1px solid #e3e9f2;
  border-radius:18px;
  background:#f5f7fb;
}
.mrs-wc-account-content .woocommerce-MyAccount-navigation li{margin:4px 0!important}
.mrs-wc-account-content .woocommerce-MyAccount-navigation a{
  display:block;
  padding:12px 14px;
  border-radius:12px;
  color:var(--mrs-blue,#003366)!important;
  text-decoration:none!important;
  font-weight:800;
  line-height:1.25;
}
.mrs-wc-account-content .woocommerce-MyAccount-navigation li.is-active a,
.mrs-wc-account-content .woocommerce-MyAccount-navigation a:hover{
  background:var(--mrs-blue,#003366)!important;
  color:#fff!important;
}
.mrs-wc-account-main{
  min-width:0;
  padding:26px;
  background:#fff;
  border:1px solid #e3e9f2;
  border-radius:18px;
  box-shadow:0 14px 34px rgba(0,51,102,.055);
}
.mrs-wc-account-main .woocommerce-MyAccount-content{
  float:none!important;
  width:auto!important;
}
.mrs-wc-account-main h2,
.mrs-wc-account-main h3{color:var(--mrs-blue,#003366)}
.mrs-wc-account-main a{color:var(--mrs-blue,#003366)}
.mrs-wc-account-main .button,
.mrs-wc-account-main button,
.mrs-wc-account-main input[type=submit]{
  background:var(--mrs-blue,#003366)!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
  padding:12px 18px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.mrs-wc-account-main .button:hover,
.mrs-wc-account-main button:hover,
.mrs-wc-account-main input[type=submit]:hover{
  background:var(--mrs-pink,#ff0066)!important;
  color:#fff!important;
}
.mrs-wc-account-main table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid #e3e9f2!important;
  border-radius:14px!important;
  overflow:hidden;
}
.mrs-wc-account-main th{
  background:#f5f7fb!important;
  color:var(--mrs-blue,#003366)!important;
}
.mrs-wc-account-main td,
.mrs-wc-account-main th{padding:12px!important}
.mrs-wc-account-main input[type=text],
.mrs-wc-account-main input[type=email],
.mrs-wc-account-main input[type=password],
.mrs-wc-account-main input[type=tel],
.mrs-wc-account-main select,
.mrs-wc-account-main textarea{
  width:100%;
  border:1px solid #d7deea!important;
  border-radius:10px!important;
  padding:11px 12px!important;
  background:#fff!important;
}
.mrs-wc-account-main .woocommerce-message,
.mrs-wc-account-main .woocommerce-info,
.mrs-wc-account-main .woocommerce-error{
  border-radius:12px!important;
  border-top:0!important;
}
.mrs-wc-account-back{white-space:nowrap}

@media(max-width:800px){
  .mrs-wc-account-hero{display:block}
  .mrs-wc-account-back{display:inline-flex;margin-top:14px}
  .mrs-wc-account-content{grid-template-columns:1fr}
  .mrs-wc-account-content .woocommerce-MyAccount-navigation ul{
    display:flex;
    gap:6px;
    overflow-x:auto;
    scrollbar-width:thin;
  }
  .mrs-wc-account-content .woocommerce-MyAccount-navigation li{flex:0 0 auto}
  .mrs-wc-account-main{padding:16px}
}


/* v1.0.41 · Ajuste quirúrgico SOLO para acciones de Aspiring Subscriptions */
body.woocommerce-account .mrs-wc-account-main table .asp-subscription-actions,
body.woocommerce-account .mrs-wc-account-main table td.actions,
body.woocommerce-account .mrs-wc-account-main table td[data-title="Actions"],
body.woocommerce-account .mrs-wc-account-main table td[data-title="Acciones"]{
  min-width:210px;
}

body.woocommerce-account .mrs-wc-account-main table .asp-subscription-actions .button,
body.woocommerce-account .mrs-wc-account-main table td.actions .button,
body.woocommerce-account .mrs-wc-account-main table td[data-title="Actions"] .button,
body.woocommerce-account .mrs-wc-account-main table td[data-title="Acciones"] .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding:8px 11px!important;
  margin:2px 4px 2px 0!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  vertical-align:middle!important;
}

body.woocommerce-account .mrs-wc-account-main table .asp-subscription-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}

body.woocommerce-account .mrs-wc-account-main table td[data-title="Actions"],
body.woocommerce-account .mrs-wc-account-main table td[data-title="Acciones"]{
  white-space:normal!important;
}

@media (max-width:900px){
  body.woocommerce-account .mrs-wc-account-main table .asp-subscription-actions,
  body.woocommerce-account .mrs-wc-account-main table td.actions,
  body.woocommerce-account .mrs-wc-account-main table td[data-title="Actions"],
  body.woocommerce-account .mrs-wc-account-main table td[data-title="Acciones"]{
    min-width:0;
  }

  body.woocommerce-account .mrs-wc-account-main table .asp-subscription-actions .button,
  body.woocommerce-account .mrs-wc-account-main table td.actions .button,
  body.woocommerce-account .mrs-wc-account-main table td[data-title="Actions"] .button,
  body.woocommerce-account .mrs-wc-account-main table td[data-title="Acciones"] .button{
    font-size:12px!important;
    padding:7px 9px!important;
    margin:2px!important;
  }
}


/* v1.0.43 · Logo horizontal garantizado SOLO en Cuenta WooCommerce */
.mrs-wc-account-brand{
  position:relative;
  z-index:2;
  width:min(1090px,calc(100% - 40px));
  margin:0 auto;
  padding:54px 0 30px;
}
.mrs-wc-account-brand-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:220px;
  max-height:72px;
  object-fit:contain;
}
@media(max-width:800px){
  .mrs-wc-account-brand{
    width:min(100% - 28px,1090px);
    padding:34px 0 22px;
  }
  .mrs-wc-account-brand-logo{
    max-width:180px;
    max-height:60px;
  }
}


/* v1.0.45 · Feedback UX del guardado de Datos personales */
.mrs-save-popup-wrap{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  pointer-events:none;
  background:rgba(0,30,70,.08);
  backdrop-filter:blur(2px);
  animation:mrsSavePopupIn .20s ease both;
}
.mrs-save-popup{
  position:relative;
  width:min(460px,calc(100vw - 36px));
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:25px 28px;
  background:#fff;
  border:1px solid #dfe6f0;
  border-radius:22px;
  box-shadow:0 24px 70px rgba(0,51,102,.20);
  pointer-events:auto;
  overflow:hidden;
}
.mrs-save-popup:before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:6px;
  background:#ff0066;
}
.mrs-save-popup.is-error:before{background:#d99000}
.mrs-save-popup-icon{
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:#f3f6fb;
}
.mrs-save-popup-icon img{
  display:block;
  max-width:36px;
  max-height:36px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.mrs-save-popup-icon span{
  font-size:28px;
  font-weight:900;
  color:#003366;
}
.mrs-save-popup-kicker{
  margin:0 0 5px;
  color:#ff0066;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.09em;
}
.mrs-save-popup.is-error .mrs-save-popup-kicker{color:#9b6800}
.mrs-save-popup h3{
  margin:0 0 5px!important;
  color:#003366!important;
  font-size:24px!important;
  line-height:1.08!important;
}
.mrs-save-popup p{
  margin:0!important;
  color:#66748f!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.mrs-save-popup-close{
  position:absolute;
  top:8px;
  right:10px;
  width:30px!important;
  height:30px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#6c7890!important;
  font-size:22px!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer;
}
.mrs-save-popup-wrap.is-hiding{animation:mrsSavePopupOut .26s ease both}
@keyframes mrsSavePopupIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes mrsSavePopupOut{from{opacity:1}to{opacity:0}}
@media(max-width:600px){
  .mrs-save-popup{
    grid-template-columns:1fr;
    text-align:center;
    padding:28px 22px 24px;
  }
  .mrs-save-popup-icon{margin:0 auto}
}


/* v1.0.48 · Tarjeta de compromiso de pago / Checkout MemoRobles */
.mrs-checkout-top-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:34px;
  align-items:center;
  margin:14px 0 28px;
}
.mrs-checkout-heading{min-width:0}
.mrs-checkout-heading h1{margin-top:0}
.mrs-commitment-card{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  min-width:0;
  padding:22px;
  border:1px solid rgba(0,51,102,.14);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(0,51,102,.98),rgba(0,51,102,.92));
  color:#fff;
  box-shadow:0 20px 48px rgba(0,51,102,.16);
  overflow:hidden;
}
.mrs-commitment-card:after{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:-55px;bottom:-70px;
  border-radius:50%;
  background:rgba(255,0,102,.20);
  pointer-events:none;
}
.mrs-commitment-icon{
  position:relative;
  z-index:1;
  width:52px;height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#fff;
  flex:none;
}
.mrs-commitment-icon img{
  display:block;
  max-width:34px;
  max-height:34px;
  width:auto;height:auto;
  object-fit:contain;
}
.mrs-commitment-icon span{
  color:#003366;
  font-size:25px;
  font-weight:900;
}
.mrs-commitment-copy{position:relative;z-index:1;min-width:0}
.mrs-commitment-eyebrow{
  margin:0 0 5px;
  color:#ff72aa;
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.10em;
}
.mrs-commitment-card h2{
  margin:0 0 16px!important;
  color:#fff!important;
  font-size:clamp(20px,2vw,26px)!important;
  line-height:1.12!important;
}
.mrs-commitment-amount-label{
  margin-bottom:3px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:700;
}
.mrs-commitment-amount{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(30px,3vw,42px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.035em;
}
.mrs-commitment-amount .woocommerce-Price-currencySymbol{font-size:.72em}
.mrs-commitment-message{
  margin:0 0 9px!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.48!important;
}
.mrs-commitment-note{
  margin:0!important;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.17);
  color:rgba(255,255,255,.76)!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.mrs-checkout-editor-placeholder{
  margin-top:18px;
  padding:30px;
  border:1px dashed #cbd5e3;
  border-radius:16px;
  background:#f7f9fc;
  color:#65738c;
  text-align:center;
  font-weight:700;
}
@media(max-width:1024px){
  .mrs-checkout-top-grid{
    grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
    gap:24px;
  }
  .mrs-commitment-card{padding:19px}
}
@media(max-width:820px){
  .mrs-checkout-top-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .mrs-commitment-card{
    width:100%;
    grid-template-columns:auto minmax(0,1fr);
  }
}
@media(max-width:560px){
  .mrs-checkout-top-grid{margin-top:10px}
  .mrs-commitment-card{
    grid-template-columns:1fr;
    padding:20px;
  }
  .mrs-commitment-icon{width:48px;height:48px}
  .mrs-commitment-card h2{margin-bottom:13px!important}
  .mrs-commitment-amount{font-size:34px}
}


/* v1.0.49 · Estado especial Pago total */
.mrs-commitment-card.is-full-payment .mrs-commitment-amount-label,
.mrs-commitment-card.is-full-payment .mrs-commitment-amount{
  display:none;
}
.mrs-commitment-card.is-full-payment h2{
  margin-bottom:10px!important;
}
.mrs-commitment-card.is-full-payment .mrs-commitment-message{
  font-size:15px!important;
  line-height:1.55!important;
}


/* v1.0.51 · /suscripcion/ · 3 opciones optimizadas */
#mrs-license-selector .mrs-plans-three{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
  margin-top:36px!important;
}
#mrs-license-selector .mrs-plans-three .mrs-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  padding:26px!important;
  border-radius:20px!important;
}
#mrs-license-selector .mrs-plans-three .mrs-card p{flex:1 1 auto!important}
#mrs-license-selector .mrs-plans-three .mrs-card .mrs-btn{margin-top:auto!important}

/* Destacada: 36 meses */
#mrs-license-selector .mrs-option-36{
  order:1!important;
  position:relative!important;
  background:#ff0066!important;
  border-color:#ff0066!important;
  color:#fff!important;
  box-shadow:0 18px 46px rgba(255,0,102,.18)!important;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
#mrs-license-selector .mrs-option-36 h3,
#mrs-license-selector .mrs-option-36 .mrs-price,
#mrs-license-selector .mrs-option-36 p{
  color:#fff!important;
}
#mrs-license-selector .mrs-option-36 .mrs-badge{
  background:#fff!important;
  color:#ff0066!important;
}
#mrs-license-selector .mrs-option-36 .mrs-btn{
  background:#fff!important;
  color:#003366!important;
}
#mrs-license-selector .mrs-option-36:hover{
  background:#003366!important;
  border-color:#003366!important;
  transform:translateY(-4px)!important;
  box-shadow:0 22px 52px rgba(0,51,102,.24)!important;
}
#mrs-license-selector .mrs-option-36:hover .mrs-badge{color:#003366!important}
#mrs-license-selector .mrs-option-36:hover .mrs-btn{color:#ff0066!important}

/* Segunda y tercera */
#mrs-license-selector .mrs-option-12{order:2!important}
#mrs-license-selector .mrs-option-full{order:3!important}
#mrs-license-selector .mrs-offer-line{
  font-size:clamp(25px,2.6vw,34px)!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}
#mrs-license-selector .mrs-full-discount{
  margin:2px 0 9px;
  color:#ff0066;
  font-size:15px;
  line-height:1.35;
  font-weight:800;
}
#mrs-license-selector .mrs-full-net{
  margin-bottom:12px!important;
  color:#003366!important;
  font-size:clamp(24px,2.5vw,33px)!important;
  line-height:1.15!important;
  font-weight:900!important;
}

/* Popup de decisión: solo se genera desde el selector de suscripción */
.mrs-budget-popup-wrap[hidden]{display:none!important}
.mrs-budget-popup-wrap{
  position:fixed;
  inset:0;
  z-index:1000001;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,25,60,.14);
  backdrop-filter:blur(2px);
  animation:mrsBudgetIn .22s ease both;
}
.mrs-budget-popup{
  position:relative;
  width:min(520px,calc(100vw - 34px));
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:26px 28px;
  border-radius:22px;
  border:1px solid rgba(0,51,102,.14);
  background:#fff;
  box-shadow:0 28px 80px rgba(0,51,102,.24);
  overflow:hidden;
}
.mrs-budget-popup:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:7px;
  background:#ff0066;
}
.mrs-budget-popup-icon{
  width:62px;height:62px;
  display:flex;align-items:center;justify-content:center;
  border-radius:18px;
  background:#f3f6fb;
}
.mrs-budget-popup-icon img{
  display:block;max-width:38px;max-height:38px;width:auto;height:auto;object-fit:contain;
}
.mrs-budget-popup-icon span{color:#003366;font-size:28px;font-weight:900}
.mrs-budget-popup-copy span{
  display:block;margin-bottom:6px;
  color:#ff0066;font-size:10px;font-weight:900;letter-spacing:.10em
}
.mrs-budget-popup-copy h3{
  margin:0!important;
  color:#003366!important;
  font-size:clamp(21px,3vw,30px)!important;
  line-height:1.18!important;
}
.mrs-budget-popup-close{
  position:absolute;right:9px;top:7px;
  width:32px!important;height:32px!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;border-radius:50%!important;
  background:transparent!important;color:#65738c!important;
  font-size:24px!important;line-height:1!important;cursor:pointer;
}
.mrs-budget-popup-wrap.is-hiding{animation:mrsBudgetOut .26s ease both}
@keyframes mrsBudgetIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes mrsBudgetOut{from{opacity:1}to{opacity:0}}

@media(max-width:1024px){
  #mrs-license-selector .mrs-plans-three{
    grid-template-columns:1fr 1fr!important;
  }
  #mrs-license-selector .mrs-option-full{
    grid-column:1/-1!important;
  }
}
@media(max-width:767px){
  #mrs-license-selector .mrs-plans-three{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-top:26px!important;
  }
  #mrs-license-selector .mrs-option-full{grid-column:auto!important}
  #mrs-license-selector .mrs-plans-three .mrs-card{padding:22px!important}
}
@media(max-width:560px){
  .mrs-budget-popup{
    grid-template-columns:1fr;
    text-align:center;
    padding:28px 22px 24px;
  }
  .mrs-budget-popup-icon{margin:0 auto}
  #mrs-license-selector .mrs-offer-line{font-size:27px!important}
}


/* v1.0.52 · Ajuste visual EXCLUSIVO de /suscripcion/ */

/* Botones: contraste Azul/Rojo + hover invertido */
#mrs-license-selector .mrs-option-36 .mrs-btn{
  background:#003366!important;
  color:#fff!important;
  border:2px solid #003366!important;
  box-shadow:0 8px 20px rgba(0,51,102,.18)!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,
             transform .22s ease,box-shadow .22s ease!important;
}
#mrs-license-selector .mrs-option-36 .mrs-btn:hover,
#mrs-license-selector .mrs-option-36 .mrs-btn:focus-visible{
  background:#ff0066!important;
  color:#fff!important;
  border-color:#fff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 10px 26px rgba(255,255,255,.22)!important;
}

#mrs-license-selector .mrs-option-12 .mrs-btn,
#mrs-license-selector .mrs-option-full .mrs-btn{
  background:#ff0066!important;
  color:#fff!important;
  border:2px solid #ff0066!important;
  box-shadow:0 8px 20px rgba(255,0,102,.16)!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,
             transform .22s ease,box-shadow .22s ease!important;
}
#mrs-license-selector .mrs-option-12 .mrs-btn:hover,
#mrs-license-selector .mrs-option-12 .mrs-btn:focus-visible,
#mrs-license-selector .mrs-option-full .mrs-btn:hover,
#mrs-license-selector .mrs-option-full .mrs-btn:focus-visible{
  background:#003366!important;
  color:#fff!important;
  border-color:#003366!important;
  transform:translateY(-2px)!important;
  box-shadow:0 10px 26px rgba(0,51,102,.20)!important;
}

/* Recomendado: mayor borde, pulso y destello sutil */
#mrs-license-selector .mrs-option-36 .mrs-badge{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:4!important;
  overflow:hidden!important;
  padding:7px 12px!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#ff0066!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  box-shadow:0 0 0 0 rgba(255,255,255,.50),0 6px 18px rgba(0,0,0,.10)!important;
  animation:mrsRecommendedPulse 1.9s ease-in-out infinite!important;
}
#mrs-license-selector .mrs-option-36 .mrs-badge:after{
  content:"";
  position:absolute;
  top:-40%;
  left:-55%;
  width:28%;
  height:180%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  transform:rotate(18deg);
  animation:mrsRecommendedShine 2.6s ease-in-out infinite;
}
@keyframes mrsRecommendedPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(255,255,255,.42),0 6px 18px rgba(0,0,0,.10);
  }
  50%{
    transform:scale(1.065);
    box-shadow:0 0 0 7px rgba(255,255,255,0),0 8px 24px rgba(0,0,0,.14);
  }
}
@keyframes mrsRecommendedShine{
  0%,58%{left:-55%;opacity:0}
  68%{opacity:1}
  82%{left:130%;opacity:0}
  100%{left:130%;opacity:0}
}

/* Mantener la armonía tipográfica del proyecto */
#mrs-license-selector .mrs-plans-three .mrs-card,
#mrs-license-selector .mrs-plans-three .mrs-card h3,
#mrs-license-selector .mrs-plans-three .mrs-card p,
#mrs-license-selector .mrs-plans-three .mrs-card .mrs-btn,
#mrs-license-selector .mrs-plans-three .mrs-badge{
  font-family:inherit!important;
}

/* Mejor respiro visual para que el badge animado no invada el título */
#mrs-license-selector .mrs-option-36{
  padding-top:34px!important;
}

/* Accesibilidad: respeta usuarios que reducen animaciones */
@media (prefers-reduced-motion: reduce){
  #mrs-license-selector .mrs-option-36 .mrs-badge,
  #mrs-license-selector .mrs-option-36 .mrs-badge:after{
    animation:none!important;
  }
}

/* Tablet y móvil: conserva el contraste y tamaño táctil */
@media(max-width:1024px){
  #mrs-license-selector .mrs-plans-three .mrs-btn{
    min-height:50px!important;
  }
}
@media(max-width:767px){
  #mrs-license-selector .mrs-plans-three .mrs-btn{
    width:100%!important;
    min-height:52px!important;
  }
  #mrs-license-selector .mrs-option-36 .mrs-badge{
    top:12px!important;
    right:12px!important;
    padding:6px 10px!important;
  }
}


/* v1.0.53 · /suscripcion/ · Tablet en una sola columna */
@media (min-width:768px) and (max-width:1024px){
  #mrs-license-selector .mrs-plans-three{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  #mrs-license-selector .mrs-option-full{
    grid-column:auto!important;
  }
}


/* v1.0.54 · Ajuste visual EXCLUSIVO de /suscripcion/ */

/* 1) Botón del plan destacado:
   estado normal azul, hover/focus magenta #ff0066 */
#mrs-license-selector .mrs-option-36 .mrs-btn{
  background:#003366!important;
  color:#fff!important;
  border:2px solid #003366!important;
}
#mrs-license-selector .mrs-option-36 .mrs-btn:hover,
#mrs-license-selector .mrs-option-36 .mrs-btn:focus-visible{
  background:#ff0066!important;
  color:#fff!important;
  border-color:#ff0066!important;
  box-shadow:0 10px 28px rgba(255,0,102,.34)!important;
  transform:translateY(-2px)!important;
}

/* 2) Dar espacio real al badge para que nunca quede encima del título */
#mrs-license-selector .mrs-option-36{
  padding-top:78px!important;
}
#mrs-license-selector .mrs-option-36 h3{
  margin-top:0!important;
}

/* Badge Recomendado:
   posición separada del título + pulso/temblor visible y destello */
#mrs-license-selector .mrs-option-36 .mrs-badge{
  top:16px!important;
  right:18px!important;
  padding:8px 14px!important;
  border:3px solid #fff!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#ff0066!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:
    0 0 0 0 rgba(255,255,255,.58),
    0 8px 22px rgba(0,0,0,.12)!important;
  transform-origin:center center!important;
  animation:
    mrsRecommendedAttention 2.2s ease-in-out infinite,
    mrsRecommendedGlow 2.2s ease-in-out infinite!important;
  will-change:transform,box-shadow!important;
}
#mrs-license-selector .mrs-option-36 .mrs-badge:after{
  content:"";
  position:absolute;
  top:-50%;
  left:-55%;
  width:32%;
  height:200%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.98),
    transparent
  );
  transform:rotate(18deg);
  animation:mrsRecommendedSweep 2.6s ease-in-out infinite!important;
}

/* Pulso + microtemblor: perceptible, pero sin resultar agresivo */
@keyframes mrsRecommendedAttention{
  0%,100%{transform:scale(1) rotate(0deg)}
  12%{transform:scale(1.07) rotate(-1.4deg)}
  18%{transform:scale(1.07) rotate(1.4deg)}
  24%{transform:scale(1.07) rotate(-1deg)}
  30%{transform:scale(1.07) rotate(1deg)}
  42%{transform:scale(1.03) rotate(0deg)}
  64%{transform:scale(1) rotate(0deg)}
}
@keyframes mrsRecommendedGlow{
  0%,100%{
    box-shadow:
      0 0 0 0 rgba(255,255,255,.48),
      0 8px 22px rgba(0,0,0,.12)
  }
  35%{
    box-shadow:
      0 0 0 10px rgba(255,255,255,0),
      0 10px 28px rgba(0,0,0,.17)
  }
}
@keyframes mrsRecommendedSweep{
  0%,58%{left:-55%;opacity:0}
  66%{opacity:1}
  82%{left:135%;opacity:0}
  100%{left:135%;opacity:0}
}

/* 3) La tercera opción conserva tipografía MemoRobles,
      sin forzar mayúsculas en el total */
#mrs-license-selector .mrs-option-full .mrs-full-net{
  text-transform:none!important;
}

/* Tablet y móvil: margen suficiente para el badge y sin solapamientos */
@media (max-width:1024px){
  #mrs-license-selector .mrs-option-36{
    padding-top:76px!important;
  }
}
@media (max-width:767px){
  #mrs-license-selector .mrs-option-36{
    padding-top:72px!important;
  }
  #mrs-license-selector .mrs-option-36 .mrs-badge{
    top:14px!important;
    right:14px!important;
    padding:7px 12px!important;
  }
}

/* Accesibilidad: si el sistema pide reducir movimiento,
   se mantiene un pulso visual estático sin animación. */
@media (prefers-reduced-motion: reduce){
  #mrs-license-selector .mrs-option-36 .mrs-badge,
  #mrs-license-selector .mrs-option-36 .mrs-badge:after{
    animation:none!important;
  }
}


/* v1.0.55 · Corrección definitiva del badge Recomendado en /suscripcion/
   El badge deja de usar posicionamiento absoluto y pasa a ocupar
   su propia fila dentro de la tarjeta destacada. */
#mrs-license-selector .mrs-option-36{
  padding-top:26px!important;
}

#mrs-license-selector .mrs-option-36 .mrs-badge{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  bottom:auto!important;

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:flex-end!important;

  width:max-content!important;
  max-width:calc(100% - 4px)!important;
  margin:0 0 22px auto!important;
  padding:8px 14px!important;

  border:3px solid #fff!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#ff0066!important;

  font-family:inherit!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;

  overflow:hidden!important;
  z-index:2!important;

  transform-origin:center!important;
  animation:
    mrsRecommendedAttention55 2.2s ease-in-out infinite,
    mrsRecommendedGlow55 2.2s ease-in-out infinite!important;
  will-change:transform,box-shadow!important;
}

#mrs-license-selector .mrs-option-36 .mrs-badge:after{
  content:"";
  position:absolute;
  top:-55%;
  left:-60%;
  width:34%;
  height:210%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.98),
    transparent
  );
  transform:rotate(18deg);
  animation:mrsRecommendedSweep55 2.7s ease-in-out infinite!important;
}

#mrs-license-selector .mrs-option-36 h3{
  margin:0 0 28px!important;
  position:relative!important;
  z-index:1!important;
}

/* Pulso + microtemblor claramente visible */
@keyframes mrsRecommendedAttention55{
  0%,100%{transform:scale(1) rotate(0deg)}
  10%{transform:scale(1.07) rotate(-1.5deg)}
  16%{transform:scale(1.07) rotate(1.5deg)}
  22%{transform:scale(1.07) rotate(-1deg)}
  28%{transform:scale(1.07) rotate(1deg)}
  38%{transform:scale(1.03) rotate(0deg)}
  62%{transform:scale(1) rotate(0deg)}
}

@keyframes mrsRecommendedGlow55{
  0%,100%{
    box-shadow:
      0 0 0 0 rgba(255,255,255,.52),
      0 8px 22px rgba(0,0,0,.12)
  }
  35%{
    box-shadow:
      0 0 0 10px rgba(255,255,255,0),
      0 10px 28px rgba(0,0,0,.16)
  }
}

@keyframes mrsRecommendedSweep55{
  0%,58%{left:-60%;opacity:0}
  66%{opacity:1}
  82%{left:135%;opacity:0}
  100%{left:135%;opacity:0}
}

/* Responsive: el badge sigue ocupando su propia fila */
@media(max-width:1024px){
  #mrs-license-selector .mrs-option-36{
    padding-top:24px!important;
  }
  #mrs-license-selector .mrs-option-36 .mrs-badge{
    margin-bottom:20px!important;
  }
}
@media(max-width:767px){
  #mrs-license-selector .mrs-option-36{
    padding-top:22px!important;
  }
  #mrs-license-selector .mrs-option-36 .mrs-badge{
    align-self:flex-start!important;
    margin:0 0 18px 0!important;
    padding:7px 12px!important;
  }
}

/* Accesibilidad */
@media(prefers-reduced-motion:reduce){
  #mrs-license-selector .mrs-option-36 .mrs-badge,
  #mrs-license-selector .mrs-option-36 .mrs-badge:after{
    animation:none!important;
  }
}


/* v1.0.56 · EXCLUSIVO /suscripcion/
   Al pasar el mouse por la tarjeta destacada, el botón se vuelve magenta.
   Se conserva el comportamiento hover ya existente del botón. */
#mrs-license-selector .mrs-option-36:hover .mrs-btn{
  background:#ff0066!important;
  border-color:#ff0066!important;
  color:#fff!important;
}

/* El hover/focus directo sobre el botón se mantiene magenta. */
#mrs-license-selector .mrs-option-36:hover .mrs-btn:hover,
#mrs-license-selector .mrs-option-36:hover .mrs-btn:focus-visible,
#mrs-license-selector .mrs-option-36 .mrs-btn:hover,
#mrs-license-selector .mrs-option-36 .mrs-btn:focus-visible{
  background:#ff0066!important;
  border-color:#ff0066!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(255,0,102,.34)!important;
  transform:translateY(-2px)!important;
}


/* v1.0.57 · EXCLUSIVO /pago/
   Corrige el icono de los avisos WooCommerce para que no se superponga al texto. */
.mrs-checkout-shell .woocommerce-message,
.mrs-checkout-shell .woocommerce-info,
.mrs-checkout-shell .woocommerce-error{
  position:relative!important;
  padding-left:56px!important;
}

.mrs-checkout-shell .woocommerce-message::before,
.mrs-checkout-shell .woocommerce-info::before,
.mrs-checkout-shell .woocommerce-error::before{
  position:absolute!important;
  left:20px!important;
  top:50%!important;
  margin:0!important;
  transform:translateY(-50%)!important;
  line-height:1!important;
  width:18px!important;
  height:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Evita que cualquier icono SVG interno invada el texto. */
.mrs-checkout-shell .woocommerce-message > svg,
.mrs-checkout-shell .woocommerce-info > svg,
.mrs-checkout-shell .woocommerce-error > svg{
  flex:0 0 auto!important;
  margin-right:12px!important;
  position:static!important;
  transform:none!important;
}


/* v1.0.58 · EXCLUSIVO /pago/
   Cuando existe un cupón aplicado:
   1) el aviso de éxito usa magenta MemoRobles;
   2) se oculta la invitación/formulario para aplicar otro cupón. */
.mrs-checkout-shell.mrs-has-applied-coupon .woocommerce-message{
  background:#ff0066!important;
  border-color:#ff0066!important;
  color:#fff!important;
}
.mrs-checkout-shell.mrs-has-applied-coupon .woocommerce-message::before{
  color:#fff!important;
}

/* WooCommerce puede renderizar el acceso al cupón como toggle y/o formulario. */
.mrs-checkout-shell.mrs-has-applied-coupon .woocommerce-form-coupon-toggle,
.mrs-checkout-shell.mrs-has-applied-coupon form.checkout_coupon,
.mrs-checkout-shell.mrs-has-applied-coupon .checkout_coupon{
  display:none!important;
}

/* Mantiene los enlaces del aviso legibles si WooCommerce inserta alguno. */
.mrs-checkout-shell.mrs-has-applied-coupon .woocommerce-message a{
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}


/* v1.0.62 · Solo panel de contraseña nueva en Mi Cuenta / Acceso Seguro */
#mrs-password-reset .mrs-generated-password-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:stretch!important;
  padding:10px!important;
  border-radius:16px!important;
  background:#003366!important;
}

#mrs-password-reset .mrs-generated-password-copy code{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  padding:10px 12px!important;
  background:transparent!important;
  color:#fff!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important;
  font-size:clamp(15px,4vw,20px)!important;
  font-weight:700!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-all!important;
  user-select:all!important;
  -webkit-user-select:all!important;
}

#mrs-password-reset .mrs-copy-password{
  min-width:92px!important;
  padding:10px 14px!important;
  border:2px solid #fff!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#003366!important;
  font-family:inherit!important;
  font-weight:900!important;
  cursor:pointer!important;
}

#mrs-password-reset .mrs-copy-password:hover,
#mrs-password-reset .mrs-copy-password:focus-visible{
  background:#ff0066!important;
  border-color:#ff0066!important;
  color:#fff!important;
}

#mrs-password-reset .mrs-copy-feedback{
  margin-top:10px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  background:#eafaf3!important;
  color:#117a53!important;
  font-size:13px!important;
  font-weight:800!important;
}

#mrs-password-reset .mrs-password-email-note{
  margin:14px 0 4px!important;
  padding:12px 14px!important;
  border-left:4px solid #003366!important;
  border-radius:10px!important;
  background:#f4f7fb!important;
  color:#52627f!important;
  font-size:13px!important;
  line-height:1.5!important;
}

#mrs-password-reset .mrs-password-email-note.is-warning{
  border-left-color:#ff0066!important;
  background:#fff3f7!important;
}

@media(max-width:560px){
  #mrs-password-reset .mrs-generated-password-copy{
    grid-template-columns:1fr!important;
  }
  #mrs-password-reset .mrs-copy-password{
    width:100%!important;
    min-height:48px!important;
  }
}


/* v1.0.63 · EXCLUSIVO Mi Cuenta / recuperación de acceso */
#mrs-login-form,
#mrs-password-reset{
  scroll-margin-top:24px!important;
}

.mrs-inline-email-warning{
  margin:10px 0 4px!important;
  padding:11px 13px!important;
  border-left:4px solid #ff0066!important;
  border-radius:10px!important;
  background:#fff3f7!important;
  color:#5a2b3d!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:700!important;
}

.mrs-inline-email-warning[hidden]{
  display:none!important;
}

.mrs-email-guard-form input[aria-invalid="true"]{
  border-color:#ff0066!important;
  box-shadow:0 0 0 3px rgba(255,0,102,.10)!important;
}

@media(max-width:767px){
  #mrs-login-form,
  #mrs-password-reset{
    scroll-margin-top:14px!important;
  }
}


/* v1.0.65 · UX específica para “¿Olvidaste tu contraseña?” */
#mrs-password-reset{
  scroll-margin-top:28px!important;
}
@media(max-width:767px){
  #mrs-password-reset{
    scroll-margin-top:16px!important;
  }
}

/* v1.0.67 · recuperación Mi Cuenta: conserva únicamente el margen del ancla.
   El botón Regresar reutiliza .mrs-funnel-back/.mrs-brand-back ya existente. */
#mrs-password-reset{scroll-margin-top:24px!important;}
@media(max-width:767px){#mrs-password-reset{scroll-margin-top:14px!important;}}


/* v1.0.69 · Confirmación visual MemoRobles SOLO en Mi Cuenta / Aspiring */
html.mrs-modal-open,
html.mrs-modal-open body{overflow:hidden!important}

.mrs-asp-cancel-modal[hidden]{display:none!important}
.mrs-asp-cancel-modal{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  font-family:inherit!important;
}
.mrs-asp-cancel-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,20,55,.58)!important;
  backdrop-filter:blur(5px)!important;
}
.mrs-asp-cancel-card{
  position:relative!important;
  z-index:1!important;
  width:min(480px,calc(100vw - 32px))!important;
  border:1px solid rgba(0,51,102,.12)!important;
  border-radius:22px!important;
  background:#fff!important;
  padding:30px!important;
  box-shadow:0 28px 80px rgba(0,31,78,.28)!important;
  text-align:center!important;
  color:#003366!important;
  animation:mrsAspCancelIn .22s ease-out both!important;
}
@keyframes mrsAspCancelIn{
  from{opacity:0;transform:translateY(10px) scale(.975)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.mrs-asp-cancel-x{
  position:absolute!important;
  top:13px!important;
  right:15px!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#f2f5fa!important;
  color:#003366!important;
  font-size:23px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.mrs-asp-cancel-icon{
  width:60px!important;
  height:60px!important;
  margin:0 auto 15px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  background:#f5f7fb!important;
  overflow:hidden!important;
}
.mrs-asp-cancel-icon img{
  width:42px!important;
  height:42px!important;
  object-fit:contain!important;
}
.mrs-asp-cancel-icon span{
  color:#ff0066!important;
  font-size:28px!important;
  font-weight:900!important;
}
.mrs-asp-cancel-kicker{
  margin-bottom:8px!important;
  color:#ff0066!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
}
.mrs-asp-cancel-card h3{
  margin:0 0 10px!important;
  color:#003366!important;
  font-size:clamp(24px,3vw,31px)!important;
  line-height:1.08!important;
  font-weight:800!important;
}
.mrs-asp-cancel-card p{
  margin:0 auto 22px!important;
  max-width:390px!important;
  color:#667594!important;
  font-size:15px!important;
  line-height:1.55!important;
}
.mrs-asp-cancel-actions{
  display:grid!important;
  grid-template-columns:1fr 1.35fr!important;
  gap:10px!important;
}
.mrs-asp-cancel-actions button{
  min-height:48px!important;
  border:0!important;
  border-radius:12px!important;
  padding:11px 14px!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:800!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.mrs-asp-cancel-secondary{
  background:#eef3f9!important;
  color:#003366!important;
}
.mrs-asp-cancel-primary{
  background:#ff0066!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(255,0,102,.2)!important;
}
.mrs-asp-cancel-actions button:hover{
  transform:translateY(-1px)!important;
}
.mrs-asp-cancel-primary:hover{
  background:#003366!important;
  box-shadow:0 9px 24px rgba(0,51,102,.2)!important;
}

@media(max-width:600px){
  .mrs-asp-cancel-card{
    padding:26px 18px 20px!important;
    border-radius:18px!important;
  }
  .mrs-asp-cancel-actions{
    grid-template-columns:1fr!important;
  }
  .mrs-asp-cancel-primary{order:1}
  .mrs-asp-cancel-secondary{order:2}
}


/* v1.0.75 · Recordar acceso + compatibilidad con gestores de contraseñas */
.mrs-auth-form .mrs-remember-access{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:2px 0!important;
  color:#003366!important;
  cursor:pointer!important;
}
.mrs-auth-form .mrs-remember-access input[type="checkbox"]{
  display:block!important;
  flex:0 0 18px!important;
  width:18px!important;
  min-height:18px!important;
  height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  accent-color:#ff0066!important;
  border-radius:4px!important;
}
.mrs-auth-form .mrs-remember-access span{
  display:block!important;
  min-width:0!important;
}
.mrs-auth-form .mrs-remember-access strong{
  display:block!important;
  margin:0 0 2px!important;
  color:#003366!important;
  font-size:.86rem!important;
  line-height:1.25!important;
}
.mrs-auth-form .mrs-remember-access small{
  display:block!important;
  color:#71819a!important;
  font-size:.75rem!important;
  font-weight:500!important;
  line-height:1.4!important;
}
.mrs-password-manager-note{
  margin:0 0 16px!important;
  padding:12px 14px!important;
  border-left:3px solid #003366!important;
  border-radius:10px!important;
  background:#f4f7fb!important;
  color:#5f6f8f!important;
  font-size:.84rem!important;
  line-height:1.5!important;
}
.mrs-password-manager-note strong{color:#003366!important}
@media(max-width:900px){
  .mrs-auth-form .mrs-remember-access{gap:9px!important}
}
@media(max-width:560px){
  .mrs-auth-form .mrs-remember-access strong{font-size:.84rem!important}
  .mrs-auth-form .mrs-remember-access small{font-size:.73rem!important}
  .mrs-password-manager-note{font-size:.80rem!important;padding:11px 12px!important}
}
