/* ============================================================================
   moovi · Contratación online · Checkout single-page v0.6.0
   Diseño telco moderno · Stepper horizontal · Side-cart sticky desktop ·
   Bottom-bar mobile · Trust marks · Match con moovitelecom.com
============================================================================ */

.mc-co {
  --mc-blue: #001EE4;
  --mc-blue-dark: #0017AB;
  --mc-blue-soft: #F4F5FF;
  --mc-blue-line: #DDE1F5;
  --mc-ink: #0A1130;
  --mc-ink-soft: #5b6168;
  --mc-mint: #B8F1D5;
  --mc-mint-dark: #5BC892;
  --mc-bg: #FAFBFE;
  --mc-shadow: 0 6px 20px rgba(10, 17, 48, .07);
  --mc-shadow-hover: 0 12px 32px rgba(0, 30, 228, .14);
  --mc-radius: 14px;
  --mc-radius-lg: 22px;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--mc-ink);
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 24px 80px;
}

/* ---- HERO ---- */
.mc-co-hero {
  text-align: center;
  margin-bottom: 28px;
}
.mc-co-hero__title {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0 0 10px;
  color: var(--mc-ink);
  line-height: 1.1;
}
.mc-co-hero__subtitle {
  font-size: 15px;
  color: var(--mc-ink-soft);
  margin: 0;
}

/* ---- STEPPER ---- */
.mc-co-stepper {
  background: #fff;
  border: 1px solid var(--mc-blue-line);
  border-radius: var(--mc-radius);
  padding: 18px 24px;
  margin: 0 0 28px;
  box-shadow: var(--mc-shadow);
}
.mc-co-stepper__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.mc-co-stepper__item {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  padding: 0 6px;
  position: relative;
}
.mc-co-stepper__num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--mc-blue-soft);
  color: var(--mc-ink-soft);
  font-weight: 700;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .25s;
  flex: 0 0 32px;
}
.mc-co-stepper__label {
  font-size: 13px;
  font-weight: 600;
  color: var(--mc-ink-soft);
  transition: color .25s;
}
.mc-co-stepper__item.is-current .mc-co-stepper__num {
  background: var(--mc-blue);
  color: #fff;
  box-shadow: 0 0 0 4px var(--mc-blue-soft);
}
.mc-co-stepper__item.is-current .mc-co-stepper__label {
  color: var(--mc-ink);
}
.mc-co-stepper__item.is-done .mc-co-stepper__num {
  background: var(--mc-mint);
  color: var(--mc-blue-dark);
}
.mc-co-stepper__item.is-done .mc-co-stepper__label {
  color: var(--mc-ink);
}
.mc-co-stepper__line {
  flex: 1 1 auto;
  height: 2px;
  max-width: 80px;
  background: var(--mc-blue-line);
  margin: 0 4px;
  border-radius: 2px;
}
.mc-co-stepper__item.is-done + .mc-co-stepper__line {
  background: var(--mc-mint-dark);
}

@media (max-width: 640px) {
  .mc-co-stepper { padding: 12px 14px; }
  .mc-co-stepper__list { gap: 0; }
  .mc-co-stepper__label { display: none; }
  .mc-co-stepper__item.is-current .mc-co-stepper__label { display: inline; font-size: 12px; }
  .mc-co-stepper__line { max-width: 32px; }
}

/* ---- GRID layout ---- */
.mc-co-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 28px;
  align-items: start;
}
@media (max-width: 1024px) {
  .mc-co-grid { grid-template-columns: 1fr; }
}

/* ---- STEPS ---- */
.mc-co-step {
  background: #fff;
  border: 1px solid var(--mc-blue-line);
  border-radius: var(--mc-radius);
  margin-bottom: 20px;
  box-shadow: var(--mc-shadow);
  overflow: hidden;
}
.mc-co-step[hidden] { display: none; }

.mc-co-step__head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--mc-blue-line);
  background: linear-gradient(to bottom, #fff, var(--mc-bg));
}
.mc-co-step__num {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--mc-blue);
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mc-co-step__title {
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 4px;
  color: var(--mc-ink);
}
.mc-co-step__lead {
  font-size: 13px;
  color: var(--mc-ink-soft);
  margin: 0;
  line-height: 1.5;
}
.mc-co-step__body {
  padding: 24px;
}
.mc-co-step__body--catalog {
  padding: 16px 12px;
}

/* Catálogo (paso 1) — ajustes para encajar dentro del checkout */
.mc-co-step__body--catalog .mc-catalog__hero { display: none; }

/* ---- FORM ---- */
.mc-co-fset {
  border: 0;
  padding: 0;
  margin: 0 0 24px;
}
.mc-co-fset__legend {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: var(--mc-blue);
  margin: 0 0 14px;
  padding: 0;
  display: block;
}
.mc-co-fset__lead {
  font-size: 13px;
  color: var(--mc-ink-soft);
  margin: -8px 0 14px;
}
.mc-co-fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 600px) { .mc-co-fields { grid-template-columns: 1fr; } }
.mc-co-field { display: flex; flex-direction: column; gap: 6px; }
.mc-co-field--full { grid-column: 1 / -1; }
.mc-co-field label {
  font-size: 12px;
  font-weight: 600;
  color: var(--mc-ink-soft);
  text-transform: uppercase;
  letter-spacing: .3px;
}
.mc-co-field input[type="text"],
.mc-co-field input[type="tel"],
.mc-co-field input[type="email"],
.mc-co-field input[type="date"],
.mc-co-field select {
  font: inherit;
  padding: 12px 14px;
  border: 1.5px solid var(--mc-blue-line);
  border-radius: 10px;
  background: #fff;
  color: var(--mc-ink);
  font-size: 14px;
  transition: border-color .2s, box-shadow .2s;
}
.mc-co-field input:focus,
.mc-co-field select:focus {
  outline: 0;
  border-color: var(--mc-blue);
  box-shadow: 0 0 0 4px rgba(0, 30, 228, .12);
}
.mc-co-field input[aria-invalid="true"] {
  border-color: #d11a2a;
  background: #fff5f5;
}
.mc-co-help {
  font-size: 11px;
  color: var(--mc-ink-soft);
  font-style: italic;
}

.mc-co-radios {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.mc-co-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border: 1.5px solid var(--mc-blue-line);
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--mc-ink);
  transition: all .2s;
  background: #fff;
}
.mc-co-radio input { display: none; }
.mc-co-radio.is-checked,
.mc-co-radio:has(input:checked) {
  background: var(--mc-blue-soft);
  border-color: var(--mc-blue);
  color: var(--mc-blue);
}

.mc-co-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  cursor: pointer;
  font-size: 13px;
  color: var(--mc-ink);
  line-height: 1.5;
}
.mc-co-check input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0;
  flex: 0 0 20px;
  accent-color: var(--mc-blue);
  cursor: pointer;
}
.mc-co-check a { color: var(--mc-blue); text-decoration: underline; }

[data-portab],
[data-show-when-fibra],
[data-show-when-movil] { display: none; }
.mc-co-form.has-portab [data-portab],
.mc-co-form.has-fibra [data-show-when-fibra],
.mc-co-form.has-movil [data-show-when-movil] { display: block; }

/* ---- ACTIONS / BTN ---- */
.mc-co-actions {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-top: 28px;
  flex-wrap: wrap;
}
.mc-co-actions > button { flex: 1 1 200px; }

.mc-co-btn {
  font: inherit;
  font-weight: 700;
  font-size: 15px;
  padding: 14px 28px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  transition: all .2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  position: relative;
}
.mc-co-btn--primary {
  background: var(--mc-blue);
  color: #fff;
}
.mc-co-btn--primary:hover {
  background: var(--mc-mint);
  color: var(--mc-blue-dark);
  transform: translateY(-1px);
  box-shadow: var(--mc-shadow-hover);
}
.mc-co-btn--ghost {
  background: transparent;
  color: var(--mc-blue);
  border: 1.5px solid var(--mc-blue-line);
}
.mc-co-btn--ghost:hover {
  background: var(--mc-blue-soft);
  border-color: var(--mc-blue);
}
.mc-co-btn--big { padding: 18px 36px; font-size: 16px; }

.mc-co-btn[disabled],
.mc-co-btn.is-loading {
  opacity: .65;
  cursor: progress;
}
.mc-co-btn__spinner { display: none; }
.mc-co-btn.is-loading .mc-co-btn__spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: mc-spin .8s linear infinite;
}
@keyframes mc-spin { }

.mc-co-error {
  background: #fff5f5;
  border: 1px solid #f3c4c4;
  color: #b71c2b;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 13px;
  margin: 16px 0;
}

.mc-co-legal-note {
  font-size: 12px;
  color: var(--mc-ink-soft);
  margin: 14px 0 0;
  text-align: center;
}

/* ---- COBERTURA inline ---- */
.mc-co-cov {
  background: var(--mc-blue-soft);
  border-radius: 10px;
  padding: 16px;
  text-align: center;
}
.mc-co-cov__result {
  margin-top: 14px;
  padding: 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
}
.mc-co-cov__result.is-ok    { background: #e8faf0; color: #2e7d50; }
.mc-co-cov__result.is-no    { background: #fff5f5; color: #b71c2b; }
.mc-co-cov__result.is-warn  { background: #fff8e1; color: #855900; }

/* ---- CART side / sticky ---- */
.mc-co-cart {
  position: sticky;
  top: 24px;
  background: #fff;
  border: 1px solid var(--mc-blue-line);
  border-radius: var(--mc-radius);
  padding: 22px;
  box-shadow: var(--mc-shadow);
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.mc-co-cart__title {
  font-size: 16px;
  font-weight: 800;
  margin: 0;
  color: var(--mc-ink);
}
.mc-co-cart__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mc-co-cart__list li {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid var(--mc-blue-line);
  border-radius: 10px;
  background: var(--mc-bg);
  font-size: 13px;
}
.mc-co-cart__list li > span:first-child {
  color: var(--mc-ink);
  font-weight: 600;
}
.mc-co-cart__list li > span:last-child {
  color: var(--mc-blue);
  font-weight: 800;
  white-space: nowrap;
}
.mc-co-cart__empty {
  font-style: italic;
  color: var(--mc-ink-soft);
  text-align: center;
  border-style: dashed !important;
  background: transparent !important;
}
.mc-co-cart__total {
  background: linear-gradient(135deg, var(--mc-blue), var(--mc-blue-dark));
  border-radius: var(--mc-radius);
  padding: 18px;
  color: #fff;
  text-align: center;
}
.mc-co-cart__total[hidden] { display: none; }
.mc-co-cart__total-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .8px;
  font-weight: 700;
  margin: 0 0 6px;
  color: rgba(255,255,255,.8);
}
.mc-co-cart__total-amount {
  font-size: 32px;
  font-weight: 800;
  margin: 0;
  line-height: 1;
}
.mc-co-cart__total-amount small {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.85);
}
.mc-co-cart__total-iva {
  font-size: 11px;
  color: rgba(255,255,255,.75);
  margin: 6px 0 0;
}
.mc-co-cart__edit {
  background: transparent;
  color: var(--mc-blue);
  border: 1.5px solid var(--mc-blue-line);
  border-radius: 10px;
  padding: 10px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
}
.mc-co-cart__edit:hover {
  background: var(--mc-blue-soft);
  border-color: var(--mc-blue);
}
.mc-co-cart__edit[hidden] { display: none; }
.mc-co-cart__trust {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid var(--mc-blue-line);
}
.mc-co-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--mc-ink-soft);
}
.mc-co-trust-item svg {
  color: var(--mc-mint-dark);
  flex: 0 0 16px;
}

@media (max-width: 1024px) {
  .mc-co-cart {
    position: static;
    order: -1;
    margin-bottom: 8px;
  }
}

/* ---- MOBILE BAR sticky ---- */
.mc-co-mobile-bar {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: #fff;
  border-top: 1px solid var(--mc-blue-line);
  padding: 12px 16px;
  z-index: 100;
  box-shadow: 0 -8px 24px rgba(10, 17, 48, .08);
  align-items: center;
  gap: 12px;
}
@media (max-width: 1024px) {
  .mc-co-mobile-bar:not([hidden]) { display: flex; }
  .mc-co { padding-bottom: 110px; }
  .mc-co-cart { display: none; }
}
.mc-co-mobile-bar__total {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  font-size: 12px;
}
.mc-co-mobile-bar__label {
  color: var(--mc-ink-soft);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.mc-co-mobile-bar__total strong {
  font-size: 18px;
  color: var(--mc-blue);
}
.mc-co-mobile-bar .mc-co-btn {
  flex: 0 0 auto;
  padding: 12px 22px;
  font-size: 14px;
}

/* ---- SUCCESS ---- */
.mc-co-step--success { background: linear-gradient(180deg, #fff, var(--mc-bg)); }
.mc-co-success {
  text-align: center;
  padding: 30px 20px;
}
.mc-co-success__check {
  color: var(--mc-mint-dark);
  margin-bottom: 14px;
  display: inline-block;
}
.mc-co-success__title {
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 10px;
  color: var(--mc-ink);
}
.mc-co-success__lead {
  font-size: 15px;
  color: var(--mc-ink-soft);
  margin: 0 0 20px;
}
.mc-co-success__ref {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: var(--mc-blue-soft);
  border: 1.5px solid var(--mc-blue);
  border-radius: var(--mc-radius);
  padding: 14px 28px;
  margin: 0 0 28px;
}
.mc-co-success__ref span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--mc-ink-soft);
  font-weight: 600;
}
.mc-co-success__ref strong {
  font-size: 22px;
  font-weight: 800;
  color: var(--mc-blue);
  font-family: 'Courier New', monospace;
}

.mc-co-timeline {
  list-style: none;
  margin: 0 auto 28px;
  padding: 0;
  text-align: left;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.mc-co-timeline li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--mc-blue-line);
  border-radius: 10px;
}
.mc-co-timeline__dot {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--mc-blue-soft);
  border: 2px solid var(--mc-blue-line);
  margin-top: 4px;
}
.mc-co-timeline__dot.is-done {
  background: var(--mc-mint-dark);
  border-color: var(--mc-mint-dark);
}
.mc-co-timeline li > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mc-co-timeline li strong { font-size: 14px; color: var(--mc-ink); }
.mc-co-timeline li span { font-size: 12px; color: var(--mc-ink-soft); }

.mc-co-success__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ---- TRUST BAR bottom ---- */
.mc-co-trustbar {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding: 24px;
  background: var(--mc-bg);
  border-radius: var(--mc-radius);
}
@media (max-width: 768px) {
  .mc-co-trustbar { grid-template-columns: repeat(2, 1fr); }
}
.mc-co-trustbar__item {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.mc-co-trustbar__item svg { color: var(--mc-blue); margin-bottom: 4px; }
.mc-co-trustbar__item strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--mc-ink);
}
.mc-co-trustbar__item span {
  font-size: 12px;
  color: var(--mc-ink-soft);
}

/* ============================================================================
   v0.6.2 — Mode selector + Trust items · pro UI con isolation contra theme
============================================================================ */

/* Reset suave dentro del checkout para evitar bleed del theme oscuro */
.mc-co, .mc-co * {
  box-sizing: border-box;
}
.mc-co {
  color: var(--mc-ink) !important;
}

/* ---- MODE SELECTOR cards ---- */
.mc-co-mode {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 0 auto 28px;
  max-width: 820px;
}
@media (max-width: 600px) {
  .mc-co-mode { grid-template-columns: 1fr; gap: 14px; }
}

.mc-co-mode__card {
  /* Reset agresivo contra theme */
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: var(--mc-ink) !important;
  border: 2px solid var(--mc-blue-line) !important;
  border-radius: var(--mc-radius-lg) !important;
  padding: 36px 24px 28px !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  text-align: center !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 240px;

  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow: 0 2px 8px rgba(10, 17, 48, .04);
}
.mc-co-mode__card:hover,
.mc-co-mode__card:focus-visible {
  outline: 0 !important;
  transform: translateY(-4px);
  border-color: var(--mc-blue) !important;
  box-shadow: 0 18px 44px rgba(0, 30, 228, .16);
}

.mc-co-mode__card--featured {
  border-color: var(--mc-blue) !important;
  background: linear-gradient(180deg, #ffffff 0%, var(--mc-blue-soft) 100%) !important;
  box-shadow: 0 6px 24px rgba(0, 30, 228, .12);
}
.mc-co-mode__card--featured::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at top right, rgba(184, 241, 213, .35), transparent 60%);
  pointer-events: none;
}

.mc-co-mode__badge {
  position: absolute !important;
  top: -12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--mc-mint) !important;
  color: var(--mc-blue-dark) !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  box-shadow: 0 4px 12px rgba(91, 200, 146, .35);
  z-index: 2;
}

.mc-co-mode__ico {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  background: var(--mc-blue-soft) !important;
  color: var(--mc-blue) !important;
  flex: 0 0 76px !important;
  z-index: 1;
}
.mc-co-mode__ico svg {
  width: 36px !important;
  height: 36px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
}
.mc-co-mode__card--featured .mc-co-mode__ico {
  background: var(--mc-blue) !important;
  color: #fff !important;
}

.mc-co-mode__title {
  display: block !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--mc-ink) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  z-index: 1;
}
.mc-co-mode__desc {
  display: block !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--mc-ink-soft) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  max-width: 280px;
  z-index: 1;
}

/* CTA implícito al final de la card */
.mc-co-mode__card::after {
  content: "→";
  position: absolute;
  bottom: 18px;
  right: 22px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--mc-blue-soft);
  color: var(--mc-blue);
  font-size: 18px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s, background .2s;
  z-index: 1;
}
.mc-co-mode__card:hover::after {
  background: var(--mc-blue);
  color: #fff;
  transform: translateX(3px);
}
.mc-co-mode__card--featured::after {
  background: var(--mc-blue);
  color: #fff;
}

/* ---- PANE BACK button mejorado ---- */
.mc-co-pane__back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--mc-blue) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  padding: 8px 0 16px !important;
  margin: 0 0 8px !important;
  transition: gap .2s, color .2s !important;
  font-family: inherit !important;
}
.mc-co-pane__back:hover {
  color: var(--mc-blue-dark) !important;
  gap: 10px !important;
}

/* ---- TRUST ITEMS en sidebar — fix render negro ---- */
.mc-co-cart__trust {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding-top: 14px !important;
  margin-top: 6px !important;
  border-top: 1px solid var(--mc-blue-line) !important;
  background: transparent !important;
}
.mc-co-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 12px !important;
  color: var(--mc-ink-soft) !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  list-style: none !important;
}
.mc-co-trust-item svg {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  color: var(--mc-mint-dark) !important;
  fill: none !important;
  stroke: currentColor !important;
  background: transparent !important;
  display: block !important;
}
.mc-co-trust-item span {
  display: block !important;
  background: transparent !important;
  color: var(--mc-ink-soft) !important;
  font-weight: 500 !important;
}

/* ---- TRUST BAR bottom — fix render negro ---- */
.mc-co-trustbar {
  background: var(--mc-bg) !important;
  border: 1px solid var(--mc-blue-line) !important;
}
.mc-co-trustbar__item {
  background: transparent !important;
  color: var(--mc-ink) !important;
}
.mc-co-trustbar__item svg {
  color: var(--mc-blue) !important;
  fill: none !important;
  stroke: currentColor !important;
  background: transparent !important;
}
.mc-co-trustbar__item strong {
  background: transparent !important;
  color: var(--mc-ink) !important;
}
.mc-co-trustbar__item span {
  background: transparent !important;
  color: var(--mc-ink-soft) !important;
}

/* ---- HERO subtítulo — un poco más subtle y centrado ---- */
.mc-co-hero__subtitle {
  font-size: 14px !important;
  color: var(--mc-ink-soft) !important;
}
.mc-co-hero__subtitle strong { color: var(--mc-ink) !important; }

/* ============================================================================
   v0.7.0 — Recomendador IA (Sube tu factura)
============================================================================ */

/* Badge "Con IA" en el card del mode selector */
.mc-co-mode__badge--ai {
  background: linear-gradient(135deg, #001EE4, #6c4cff) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(108, 76, 255, .35) !important;
}
.mc-co-mode__card--ai {
  border-color: var(--mc-blue-line) !important;
}
.mc-co-mode__card--ai:hover {
  border-color: #6c4cff !important;
  box-shadow: 0 18px 44px rgba(108, 76, 255, .20) !important;
}

/* Pane wrapper */
.mc-co-pane--ai .mc-co-ai {
  background: #fff;
  border: 1px solid var(--mc-blue-line);
  border-radius: var(--mc-radius-lg);
  padding: 36px 32px;
  position: relative;
  overflow: hidden;
}
.mc-co-pane--ai .mc-co-ai::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--mc-blue), #6c4cff, var(--mc-mint-dark));
}

.mc-co-ai-state { display: none; }
.mc-co-ai-state.is-active,
.mc-co-ai-state[data-ai-state]:not([hidden]) { display: block; }

.mc-co-ai-hero {
  text-align: center;
  margin-bottom: 24px;
}
.mc-co-ai-badge {
  display: inline-block;
  background: linear-gradient(135deg, var(--mc-blue), #6c4cff);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .6px;
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
  box-shadow: 0 4px 12px rgba(108, 76, 255, .3);
}
.mc-co-ai-title {
  font-size: 26px;
  font-weight: 800;
  color: var(--mc-ink);
  margin: 0 0 8px;
  line-height: 1.2;
}
.mc-co-ai-sub {
  font-size: 14px;
  color: var(--mc-ink-soft);
  margin: 0 0 6px;
  line-height: 1.6;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}

/* Drop zone */
.mc-co-ai-drop {
  display: block;
  background: linear-gradient(180deg, var(--mc-bg), #fff);
  border: 2.5px dashed var(--mc-blue-line);
  border-radius: var(--mc-radius);
  padding: 40px 24px;
  text-align: center;
  cursor: pointer;
  transition: all .25s;
  margin: 22px 0 18px;
}
.mc-co-ai-drop:hover,
.mc-co-ai-drop.is-dragover {
  border-color: var(--mc-blue);
  background: var(--mc-blue-soft);
  transform: translateY(-2px);
}
.mc-co-ai-drop__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--mc-blue-soft);
  color: var(--mc-blue);
  margin-bottom: 14px;
}
.mc-co-ai-drop__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--mc-ink);
  margin: 0 0 4px;
}
.mc-co-ai-drop__hint {
  font-size: 12px;
  color: var(--mc-ink-soft);
  margin: 0;
}

.mc-co-ai-features {
  list-style: none;
  margin: 18px 0 12px;
  padding: 0;
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--mc-ink-soft);
}
.mc-co-ai-features li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mc-co-ai-features svg { color: var(--mc-mint-dark); }

.mc-co-ai-privacy {
  text-align: center;
  font-size: 12px;
  color: var(--mc-ink-soft);
  margin: 14px 0 0;
  font-style: italic;
}

/* Loader */
.mc-co-ai-state--loading { text-align: center; padding: 40px 20px; }
.mc-co-ai-loader {
  position: relative;
  display: inline-block;
  width: 100px;
  height: 100px;
  margin-bottom: 18px;
}
.mc-co-ai-loader__ring {
  position: absolute;
  inset: 0;
  border: 4px solid var(--mc-blue-soft);
  border-top-color: var(--mc-blue);
  border-right-color: #6c4cff;
  border-radius: 50%;
  animation: mcAiSpin 1.2s linear infinite;
}
.mc-co-ai-loader__doc {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mc-blue);
}
@keyframes mcAiSpin { }

.mc-co-ai-steps {
  list-style: none;
  margin: 22px auto 0;
  padding: 0;
  max-width: 360px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mc-co-ai-steps li {
  padding: 10px 14px;
  background: var(--mc-bg);
  border-radius: 10px;
  font-size: 13px;
  color: var(--mc-ink-soft);
  border-left: 3px solid var(--mc-blue-line);
  transition: all .3s;
}
.mc-co-ai-steps li.is-active {
  background: var(--mc-blue-soft);
  color: var(--mc-blue);
  font-weight: 700;
  border-left-color: var(--mc-blue);
}
.mc-co-ai-steps li.is-done {
  color: var(--mc-mint-dark);
  border-left-color: var(--mc-mint-dark);
  text-decoration: line-through;
  opacity: .7;
}

/* Resultado: comparativa */
.mc-co-ai-state--result { padding: 8px 0; }
.mc-co-ai-result-head { text-align: center; margin-bottom: 22px; }

.mc-co-ai-compare {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
  margin: 0 0 24px;
}
@media (max-width: 600px) {
  .mc-co-ai-compare { grid-template-columns: 1fr; }
  .mc-co-ai-compare__arrow { transform: rotate(90deg); }
}
.mc-co-ai-compare__col {
  background: var(--mc-bg);
  border: 1.5px solid var(--mc-blue-line);
  border-radius: var(--mc-radius);
  padding: 20px 18px;
  text-align: center;
}
.mc-co-ai-compare__col--moovi {
  background: linear-gradient(135deg, var(--mc-blue), #0017AB);
  border-color: var(--mc-blue);
  color: #fff;
}
.mc-co-ai-compare__label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-weight: 700;
  color: var(--mc-ink-soft);
  margin: 0 0 6px;
}
.mc-co-ai-compare__col--moovi .mc-co-ai-compare__label { color: rgba(255,255,255,.85); }
.mc-co-ai-compare__operator {
  font-size: 16px;
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--mc-ink);
}
.mc-co-ai-compare__col--moovi .mc-co-ai-compare__operator { color: #fff; }
.mc-co-ai-compare__price {
  font-size: 30px;
  font-weight: 800;
  color: var(--mc-ink);
  margin: 0 0 4px;
  line-height: 1;
}
.mc-co-ai-compare__price small {
  font-size: 13px;
  font-weight: 600;
  color: var(--mc-ink-soft);
}
.mc-co-ai-compare__col--moovi .mc-co-ai-compare__price { color: #fff; }
.mc-co-ai-compare__col--moovi .mc-co-ai-compare__price small { color: rgba(255,255,255,.85); }
.mc-co-ai-compare__detail {
  font-size: 12px;
  color: var(--mc-ink-soft);
  margin: 4px 0 0;
  line-height: 1.5;
}
.mc-co-ai-compare__col--moovi .mc-co-ai-compare__detail { color: rgba(255,255,255,.85); }
.mc-co-ai-compare__arrow {
  font-size: 28px;
  font-weight: 800;
  color: var(--mc-blue);
  text-align: center;
}

/* Ahorro */
.mc-co-ai-savings {
  background: linear-gradient(135deg, var(--mc-mint), #d9f7e8);
  border: 2px solid var(--mc-mint-dark);
  border-radius: var(--mc-radius);
  padding: 22px;
  text-align: center;
  margin: 0 0 22px;
}
.mc-co-ai-savings__label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .8px;
  font-weight: 800;
  color: var(--mc-blue-dark);
  margin: 0 0 6px;
}
.mc-co-ai-savings__amount {
  font-size: 38px;
  font-weight: 800;
  color: var(--mc-blue-dark);
  margin: 0 0 6px;
  line-height: 1;
}
.mc-co-ai-savings__year {
  font-size: 14px;
  color: var(--mc-blue-dark);
  margin: 0;
}
.mc-co-ai-savings__year strong { font-weight: 800; }

.mc-co-ai-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 0 22px;
}
.mc-co-ai-actions > * { flex: 1 1 200px; max-width: 320px; }

/* Alternativas */
.mc-co-ai-alts {
  border-top: 1px dashed var(--mc-blue-line);
  padding-top: 18px;
  margin-top: 8px;
}
.mc-co-ai-alts__title {
  font-size: 13px;
  font-weight: 700;
  color: var(--mc-ink-soft);
  margin: 0 0 10px;
  text-align: center;
}
.mc-co-ai-alts__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}
.mc-co-ai-alt {
  background: #fff;
  border: 1.5px solid var(--mc-blue-line);
  border-radius: 12px;
  padding: 14px 16px;
  cursor: pointer;
  text-align: left;
  font: inherit;
  transition: all .2s;
}
.mc-co-ai-alt:hover { border-color: var(--mc-blue); transform: translateY(-1px); }
.mc-co-ai-alt strong { display: block; font-size: 14px; color: var(--mc-ink); margin-bottom: 4px; }
.mc-co-ai-alt span { font-size: 13px; color: var(--mc-blue); font-weight: 700; }

/* Error */
.mc-co-ai-state--error { text-align: center; padding: 36px 20px; }
.mc-co-ai-error-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #fff5f5;
  color: #d11a2a;
  margin-bottom: 16px;
}

/* ============================================================================
   v0.7.2 — Eliminar doble resumen + recuperar carrito flotante
============================================================================ */

/* Hide del sidebar interno del configurador cuando está dentro del checkout */
.mc-co .mc-cfg__layout {
  display: block !important;
  grid-template-columns: 1fr !important;
}
.mc-co .mc-cfg__layout > .mc-cart,
.mc-co .mc-cart-mobile {
  display: none !important;
}
.mc-co .mc-cfg__main {
  width: 100% !important;
  max-width: 100% !important;
}

/* Catálogo dentro del paso 1: que use el layout lista compacto */
.mc-co-step__body--catalog .mc-cards { gap: 12px !important; }
.mc-co-step__body--catalog .mc-card { max-width: 100% !important; }

/* Pulido del side cart del checkout */
.mc-co-cart__title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.mc-co-cart__title::after {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--mc-mint-dark) !important;
  margin-left: auto !important;
  box-shadow: 0 0 0 4px rgba(91, 200, 146, .2) !important;
  animation: mcCoPulse 2s ease-in-out infinite !important;
}
@keyframes mcCoPulse {
  0%,100% { box-shadow: 0 0 0 4px rgba(91, 200, 146, .2); }
  50% { box-shadow: 0 0 0 8px rgba(91, 200, 146, 0); }
}

/* ---- Recuperar carrito · widget flotante (visible en TODAS las páginas) ---- */
#mc-recover {
  position: fixed !important;
  right: 0 !important;
  top: 35% !important;
  z-index: 9990 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  pointer-events: auto !important;
}
#mc-recover[hidden] { display: none !important; }
.mc-recover-tab {
  background: #fff !important;
  border: 2px solid var(--mc-blue) !important;
  border-right: 0 !important;
  border-radius: 14px 0 0 14px !important;
  color: var(--mc-blue) !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
  padding: 18px 10px !important;
  cursor: pointer !important;
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: -6px 8px 24px rgba(0, 30, 228, .18) !important;
  transition: padding .2s, background .2s !important;
}
.mc-recover-tab:hover {
  background: var(--mc-blue) !important;
  color: #fff !important;
  padding: 22px 12px !important;
}
.mc-recover-tab__count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--mc-blue) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 22px !important;
  height: 22px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  writing-mode: horizontal-tb !important;
  transform: rotate(-180deg) !important;
}
.mc-recover-tab:hover .mc-recover-tab__count { background: #fff !important; color: var(--mc-blue) !important; }

.mc-recover-panel {
  position: fixed !important;
  right: 0 !important;
  top: 25% !important;
  width: 340px !important;
  max-width: calc(100vw - 32px) !important;
  background: #fff !important;
  border: 1px solid var(--mc-blue-line) !important;
  border-right: 0 !important;
  border-radius: 18px 0 0 18px !important;
  box-shadow: -12px 14px 36px rgba(10, 17, 48, .12) !important;
  padding: 20px 22px !important;
  transform: translateX(100%) !important;
  transition: transform .3s cubic-bezier(.5, 0, .2, 1) !important;
  z-index: 9991 !important;
}
.mc-recover-panel.is-open { transform: translateX(0) !important; }

.mc-recover-panel__head {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--mc-ink) !important;
  margin: 0 0 14px !important;
}
.mc-recover-panel__close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--mc-ink-soft) !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  font-size: 20px !important;
  line-height: 1 !important;
  transition: all .15s !important;
}
.mc-recover-panel__close:hover {
  background: var(--mc-blue-soft) !important;
  color: var(--mc-blue) !important;
}

.mc-recover-panel__item {
  background: var(--mc-bg) !important;
  border: 1px solid var(--mc-blue-line) !important;
  border-radius: 12px !important;
  padding: 14px !important;
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.mc-recover-panel__item-icon {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  color: var(--mc-mint-dark) !important;
}
.mc-recover-panel__item-body {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.mc-recover-panel__item-name {
  display: block !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--mc-ink) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.mc-recover-panel__item-price {
  display: block !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--mc-blue) !important;
  margin-top: 2px !important;
}
.mc-recover-panel__item-price small {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--mc-ink-soft) !important;
  margin-left: 2px !important;
}
.mc-recover-panel__item-trash {
  background: transparent !important;
  border: 0 !important;
  color: var(--mc-ink-soft) !important;
  cursor: pointer !important;
  padding: 4px !important;
  border-radius: 6px !important;
  transition: all .15s !important;
}
.mc-recover-panel__item-trash:hover {
  color: #b71c2b !important;
  background: #fff5f5 !important;
}

.mc-recover-panel__cta {
  display: block !important;
  text-align: center !important;
  padding: 14px 24px !important;
  background: var(--mc-blue) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all .2s !important;
  width: 100% !important;
  font-family: inherit !important;
}
.mc-recover-panel__cta:hover {
  background: var(--mc-mint) !important;
  color: var(--mc-blue-dark) !important;
}

.mc-recover-panel__trust {
  font-size: 11px !important;
  color: var(--mc-ink-soft) !important;
  text-align: center !important;
  margin: 12px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}
.mc-recover-panel__trust svg { color: var(--mc-mint-dark) !important; flex: 0 0 14px !important; }

@media (max-width: 600px) {
  .mc-recover-panel { top: auto !important; bottom: 80px !important; right: 8px !important; left: 8px !important; width: auto !important; border-radius: 18px !important; border-right: 1px solid var(--mc-blue-line) !important; }
  #mc-recover .mc-recover-tab { font-size: 10px !important; padding: 12px 8px !important; }
}

/* En la página /contratar/ no mostramos el widget — ya hay sidebar */
body.mc-page-contratar #mc-recover { display: none !important; }

/* ============================================================================
   v0.7.3 — Fixes UI/UX globales (tab orientación, contrast, contadores, tipografía)
============================================================================ */

/* ---- 1. RECUPERAR CARRITO tab — orientación correcta (top → bottom) ---- */
#mc-recover .mc-recover-tab,
.mc-recover-tab {
  writing-mode: vertical-rl !important;
  transform: none !important;
  direction: ltr !important;
  text-orientation: mixed !important;
  letter-spacing: 1px !important;
  font-size: 11px !important;
  padding: 24px 12px !important;
}
#mc-recover .mc-recover-tab__count,
.mc-recover-tab__count {
  writing-mode: horizontal-tb !important;
  transform: none !important;
}

/* ---- 2. "por mes" duplicado en counter cards del configurador ---- */
.mc-option__price-suffix small,
.mc-cfg .mc-option__price small,
.mc-cfg .mc-option__price-suffix small {
  display: none !important;
}

/* ---- 3. CONTRAST en options del configurador (cuando se selecciona) ---- */
.mc-option.is-active,
.mc-option[aria-pressed="true"],
.mc-option.is-selected {
  background: linear-gradient(135deg, #001EE4, #0017AB) !important;
  color: #fff !important;
  border-color: #001EE4 !important;
}
.mc-option.is-active *,
.mc-option[aria-pressed="true"] *,
.mc-option.is-selected * {
  color: inherit !important;
}
.mc-option.is-active .mc-option__name,
.mc-option.is-active .mc-option__sub,
.mc-option.is-active .mc-option__tag,
.mc-option[aria-pressed="true"] .mc-option__name,
.mc-option[aria-pressed="true"] .mc-option__sub,
.mc-option[aria-pressed="true"] .mc-option__tag,
.mc-option.is-selected .mc-option__name,
.mc-option.is-selected .mc-option__sub {
  color: #fff !important;
}
.mc-option.is-active .mc-option__price-amount,
.mc-option[aria-pressed="true"] .mc-option__price-amount {
  color: #fff !important;
}
.mc-option.is-active .mc-option__price-suffix,
.mc-option[aria-pressed="true"] .mc-option__price-suffix {
  color: rgba(255,255,255,.85) !important;
}
.mc-option.is-active .mc-option__bullets,
.mc-option[aria-pressed="true"] .mc-option__bullets {
  color: rgba(255,255,255,.9) !important;
}

/* ---- 4. Counter buttons (- 0 +) bien visibles ---- */
.mc-counter {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  background: #fff !important;
  border: 2px solid #DDE1F5 !important;
  border-radius: 999px !important;
  padding: 4px !important;
  overflow: hidden !important;
}
.mc-counter__btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: #F4F5FF !important;
  color: #001EE4 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transition: all .15s !important;
  font-family: inherit !important;
  padding: 0 !important;
}
.mc-counter__btn:hover {
  background: #001EE4 !important;
  color: #fff !important;
}
.mc-counter__btn:disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
  background: #F4F5FF !important;
  color: #5b6168 !important;
}
.mc-counter__value {
  min-width: 36px !important;
  text-align: center !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  color: #0A1130 !important;
  padding: 0 6px !important;
}
.mc-option.is-active .mc-counter,
.mc-option[aria-pressed="true"] .mc-counter {
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.35) !important;
}
.mc-option.is-active .mc-counter__btn,
.mc-option[aria-pressed="true"] .mc-counter__btn {
  background: rgba(255,255,255,.95) !important;
  color: #001EE4 !important;
}
.mc-option.is-active .mc-counter__value,
.mc-option[aria-pressed="true"] .mc-counter__value {
  color: #fff !important;
}

/* ---- 5. Tipografía global pulida (jerarquía clara) ---- */
.mc-co {
  font-feature-settings: "ss01", "cv01", "cv11" !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
.mc-co h1, .mc-co h2, .mc-co h3, .mc-co h4 {
  font-feature-settings: "ss01" !important;
  letter-spacing: -.015em !important;
}
.mc-co-hero__title { font-weight: 800 !important; letter-spacing: -.025em !important; }
.mc-co-step__title { font-weight: 800 !important; letter-spacing: -.02em !important; font-size: 22px !important; }

.mc-cfg__title { font-weight: 800 !important; letter-spacing: -.025em !important; }
.mc-section__title { font-weight: 800 !important; letter-spacing: -.02em !important; font-size: 22px !important; }
.mc-option__name {
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
}
.mc-option__tag {
  font-weight: 700 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .6px !important;
}
.mc-option__sub {
  font-weight: 600 !important;
  font-size: 12px !important;
  color: #5b6168 !important;
}
.mc-option__price-amount {
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  font-size: 26px !important;
  line-height: 1 !important;
}
.mc-option__price-suffix {
  font-weight: 600 !important;
  font-size: 11px !important;
  color: #5b6168 !important;
}
.mc-option__bullets {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #5b6168 !important;
}

/* Sidebar del checkout */
.mc-co-cart__title { font-size: 15px !important; font-weight: 800 !important; letter-spacing: -.01em !important; }
.mc-co-cart__total-amount { font-feature-settings: "tnum" !important; }

/* ---- 6. Tabs y radios consistentes ---- */
.mc-tabs { gap: 6px !important; }
.mc-tab { font-weight: 700 !important; font-size: 13px !important; letter-spacing: -.01em !important; }

/* ============================================================================
   v0.7.4 — Mode selector: 3 cards en row, compactas, sin overflow, badge brand
   Override total de la sección — los selectores de v0.6.2 quedan obsoletos.
============================================================================ */

.mc-co-mode {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin: 0 auto 28px !important;
  max-width: 980px !important;
  width: 100% !important;
}
@media (max-width: 880px) {
  .mc-co-mode { grid-template-columns: 1fr !important; gap: 12px !important; }
}

.mc-co-mode__card {
  /* Reset agresivo */
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #0A1130 !important;
  border: 1.5px solid #DDE1F5 !important;
  border-radius: 18px !important;
  padding: 22px 18px 20px !important;
  margin: 0 !important;
  font-family: inherit !important;
  text-align: left !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: visible !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-height: 0 !important;

  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
  box-shadow: 0 1px 3px rgba(10, 17, 48, .04) !important;
}
.mc-co-mode__card:hover,
.mc-co-mode__card:focus-visible {
  outline: 0 !important;
  transform: translateY(-2px) !important;
  border-color: #001EE4 !important;
  box-shadow: 0 14px 32px rgba(0, 30, 228, .12) !important;
}
.mc-co-mode__card:focus-visible {
  outline: 3px solid rgba(0, 30, 228, .25) !important;
  outline-offset: 2px !important;
}

/* Featured (Configúrala) — borde + label */
.mc-co-mode__card--featured {
  border-color: #001EE4 !important;
  border-width: 2px !important;
  box-shadow: 0 6px 18px rgba(0, 30, 228, .10) !important;
  background: linear-gradient(180deg, #ffffff 0%, #FAFBFE 100%) !important;
}
.mc-co-mode__card--featured::before { content: none !important; }

/* Badge encima del card centrado en moovi blue (NO menta) */
.mc-co-mode__badge {
  position: absolute !important;
  top: -10px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #001EE4 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 4px 12px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  box-shadow: 0 4px 10px rgba(0, 30, 228, .25) !important;
  white-space: nowrap !important;
  z-index: 2 !important;
}
.mc-co-mode__badge--ai {
  background: linear-gradient(135deg, #001EE4, #6c4cff) !important;
  box-shadow: 0 4px 10px rgba(108, 76, 255, .3) !important;
}

/* Icono más pequeño y a la izquierda (no centrado) */
.mc-co-mode__ico {
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
  background: #F4F5FF !important;
  color: #001EE4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
}
.mc-co-mode__ico svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
}
.mc-co-mode__card--featured .mc-co-mode__ico {
  background: #001EE4 !important;
  color: #fff !important;
}
.mc-co-mode__card--ai .mc-co-mode__ico {
  background: linear-gradient(135deg, #001EE4, #6c4cff) !important;
  color: #fff !important;
}

/* Title y desc — text-align left, no overflow */
.mc-co-mode__title {
  display: block !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #0A1130 !important;
  letter-spacing: -.015em !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  width: 100% !important;
}
.mc-co-mode__desc {
  display: block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #5b6168 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  width: 100% !important;
  /* No truncamos — dejamos que crezca */
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
}

/* Flecha CTA en bottom-right más sutil */
.mc-co-mode__card::after {
  content: "→" !important;
  position: absolute !important;
  bottom: 18px !important;
  right: 18px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #F4F5FF !important;
  color: #001EE4 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform .15s, background .15s, color .15s !important;
  z-index: 1 !important;
}
.mc-co-mode__card:hover::after {
  background: #001EE4 !important;
  color: #fff !important;
  transform: translateX(2px) !important;
}
.mc-co-mode__card--featured::after,
.mc-co-mode__card--ai::after {
  background: #001EE4 !important;
  color: #fff !important;
}
.mc-co-mode__card--ai::after {
  background: linear-gradient(135deg, #001EE4, #6c4cff) !important;
}

/* Padding bottom para no chocar con la flecha */
.mc-co-mode__card { padding-bottom: 56px !important; }

/* ---- Estado "Próximamente" para card AI sin API key ---- */
.mc-co-mode__card.is-soon {
  border-color: #DDE1F5 !important;
  background: #FAFBFE !important;
  cursor: default !important;
}
.mc-co-mode__card.is-soon:hover {
  transform: none !important;
  box-shadow: 0 1px 3px rgba(10, 17, 48, .04) !important;
  border-color: #DDE1F5 !important;
}
.mc-co-mode__card.is-soon .mc-co-mode__badge--ai {
  background: #5b6168 !important;
  box-shadow: none !important;
}
.mc-co-mode__card.is-soon .mc-co-mode__ico {
  background: #DDE1F5 !important;
  color: #5b6168 !important;
}
.mc-co-mode__card.is-soon::after {
  content: "🔒" !important;
  background: #DDE1F5 !important;
  color: #5b6168 !important;
  font-size: 12px !important;
}

/* ---- HERO subtítulo más fino ---- */
.mc-co-hero__title { font-size: 30px !important; font-weight: 800 !important; letter-spacing: -.025em !important; }
.mc-co-hero__subtitle { font-size: 14px !important; }
@media (max-width: 600px) {
}

/* ============================================================================
   v0.7.5 — Notch label inputs + validación visual
============================================================================ */

.mc-co-field--notch {
  position: relative !important;
  margin-top: 6px !important;
}
.mc-co-field--notch {
  --mc-notch-bg: #fff;
}
.mc-co-field--notch > label {
  position: absolute !important;
  top: 50% !important;
  left: 16px !important;
  transform: translateY(-50%) !important;
  background: var(--mc-notch-bg) !important;
  padding: 0 6px !important;
  color: #5b6168 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  pointer-events: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: top .15s ease, font-size .15s ease, color .15s ease, font-weight .15s ease !important;
  margin: 0 !important;
  z-index: 1 !important;
}
.mc-co-field--notch > input,
.mc-co-field--notch > select {
  width: 100% !important;
  padding: 18px 16px 12px !important;
  border: 1.5px solid #DDE1F5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0A1130 !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: border-color .15s, box-shadow .15s !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.mc-co-field--notch > input:focus,
.mc-co-field--notch > select:focus {
  outline: 0 !important;
  border-color: #001EE4 !important;
  box-shadow: 0 0 0 4px rgba(0, 30, 228, .12) !important;
}
/* Notch arriba cuando focus o filled */
.mc-co-field--notch > input:focus + label,
.mc-co-field--notch > input:not(:placeholder-shown) + label,
.mc-co-field--notch.mc-co-field--filled > label,
.mc-co-field--notch > select:focus + label {
  top: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #001EE4 !important;
  letter-spacing: .2px !important;
}
/* Para selects: el label siempre arriba (no podemos detectar :placeholder-shown) */
.mc-co-field--notch > select + label {
  top: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #5b6168 !important;
  letter-spacing: .2px !important;
}
.mc-co-field--notch > select:focus + label { color: #001EE4 !important; }

/* Caret personalizado para selects */
.mc-co-field--notch > select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23001EE4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 14px !important;
  padding-right: 40px !important;
}

/* Mensajes de validación bajo el campo */
.mc-co-field__msg {
  display: none;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #b71c2b;
  padding-left: 4px;
}
.mc-co-field--notch.is-invalid > input,
.mc-co-field--notch.is-invalid > select {
  border-color: #d11a2a !important;
  background-color: #fff5f5 !important;
}
.mc-co-field--notch.is-invalid .mc-co-field__msg { display: block; }
.mc-co-field--notch.is-valid > input { border-color: #5BC892 !important; }
.mc-co-field--notch.is-valid::after {
  content: "✓";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #5BC892;
  font-weight: 800;
  font-size: 16px;
  pointer-events: none;
}

.mc-co-help {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  color: #5b6168;
  padding-left: 4px;
}

/* ============================================================================
   v0.7.5 — Info pills en cards de tarifa (estilo Digi · "más info")
============================================================================ */

.mc-card__infopills {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin: 8px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.mc-card__infopill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: #F4F5FF !important;
  border: 1px solid #DDE1F5 !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #001EE4 !important;
  cursor: help !important;
  position: relative !important;
}
.mc-card__infopill svg { width: 12px !important; height: 12px !important; }
.mc-card__infopill[data-tooltip]:hover::after,
.mc-card__infopill[data-tooltip]:focus-visible::after {
  content: attr(data-tooltip) !important;
  position: absolute !important;
  bottom: calc(100% + 6px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #0A1130 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  z-index: 100 !important;
  max-width: 280px !important;
  white-space: normal !important;
  width: max-content !important;
  box-shadow: 0 6px 18px rgba(10, 17, 48, .25) !important;
}
.mc-card__infopill[data-tooltip]:hover::before {
  content: "" !important;
  position: absolute !important;
  bottom: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 5px solid transparent !important;
  border-top-color: #0A1130 !important;
}

/* En layout lista, las pills van inline al final */
.mc-catalog--list .mc-card__infopills { margin: 4px 0 0 !important; }

/* ============================================================================
   v0.7.5 — Tipografía Poppins (semibold titulares, regular body) — estilo moovi.com
   Adelgaza pesos: 800/extrabold → 600/semibold; 700/bold → 500/medium
============================================================================ */

.mc-co,
.mc-co *,
.mc-co-mode__card,
.mc-co-stepper,
.mc-co-cart,
.mc-recover-tab,
.mc-recover-panel,
.mc-recover-panel * {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Hero */
.mc-co-hero__title {
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  font-size: 30px !important;
}
.mc-co-hero__subtitle {
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
}
@media (max-width: 600px) { .mc-co-hero__title { font-size: 24px !important; } }

/* Stepper */
.mc-co-stepper__num { font-weight: 600 !important; }
.mc-co-stepper__label { font-weight: 500 !important; letter-spacing: 0 !important; }

/* Steps */
.mc-co-step__title {
  font-weight: 600 !important;
  font-size: 20px !important;
  letter-spacing: -.005em !important;
}
.mc-co-step__lead {
  font-weight: 400 !important;
  font-size: 13px !important;
}
.mc-co-step__lead strong { font-weight: 600 !important; }

.mc-co-step__num { font-weight: 600 !important; }

/* Mode selector cards */
.mc-co-mode__title {
  font-weight: 600 !important;
  letter-spacing: -.005em !important;
  font-size: 17px !important;
}
.mc-co-mode__desc {
  font-weight: 400 !important;
  font-size: 13px !important;
}
.mc-co-mode__badge {
  font-weight: 600 !important;
  font-size: 10px !important;
  letter-spacing: 1px !important;
}

/* Side cart */
.mc-co-cart__title {
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
}
.mc-co-cart__list li > span:first-child { font-weight: 500 !important; }
.mc-co-cart__list li > span:last-child { font-weight: 600 !important; }
.mc-co-cart__total-label {
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: .5px !important;
}
.mc-co-cart__total-amount { font-weight: 600 !important; letter-spacing: -.01em !important; }
.mc-co-cart__edit { font-weight: 500 !important; }
.mc-co-trust-item { font-weight: 400 !important; }

/* Botones */
.mc-co-btn { font-weight: 500 !important; letter-spacing: 0 !important; }
.mc-co-btn--primary { font-weight: 600 !important; }
.mc-co-btn--big { font-weight: 600 !important; }

/* Forms — labels y inputs */
.mc-co-fset__legend {
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: .5px !important;
}
.mc-co-fset__lead { font-weight: 400 !important; }
.mc-co-field label,
.mc-co-field--notch > label {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  font-size: 14px !important;
}
.mc-co-field--notch > input,
.mc-co-field--notch > select,
.mc-co-field input,
.mc-co-field select { font-weight: 400 !important; }

/* Notch label active state — bold semibold */
.mc-co-field--notch > input:focus + label,
.mc-co-field--notch > input:not(:placeholder-shown) + label,
.mc-co-field--notch.mc-co-field--filled > label,
.mc-co-field--notch > select:focus + label,
.mc-co-field--notch > select + label {
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: .3px !important;
}

/* Radios y checks */
.mc-co-radio { font-weight: 500 !important; }
.mc-co-check { font-weight: 400 !important; }

/* Trustbar bottom */
.mc-co-trustbar__item strong { font-weight: 600 !important; letter-spacing: 0 !important; }
.mc-co-trustbar__item span { font-weight: 400 !important; }

/* Success step */
.mc-co-success__title { font-weight: 600 !important; letter-spacing: -.01em !important; }
.mc-co-success__lead { font-weight: 400 !important; }
.mc-co-success__ref strong { font-weight: 600 !important; }
.mc-co-timeline li strong { font-weight: 600 !important; }
.mc-co-timeline li span { font-weight: 400 !important; }

/* AI recommender */
.mc-co-ai-title { font-weight: 600 !important; letter-spacing: -.01em !important; }
.mc-co-ai-sub { font-weight: 400 !important; }
.mc-co-ai-badge { font-weight: 600 !important; }
.mc-co-ai-drop__title { font-weight: 500 !important; }
.mc-co-ai-savings__amount { font-weight: 600 !important; }
.mc-co-ai-compare__price { font-weight: 600 !important; }
.mc-co-ai-compare__operator { font-weight: 600 !important; }

/* Configurador embedded */
.mc-co .mc-cfg__title,
.mc-co .mc-section__title { font-weight: 600 !important; letter-spacing: -.005em !important; }
.mc-co .mc-option__name { font-weight: 600 !important; letter-spacing: 0 !important; font-size: 16px !important; }
.mc-co .mc-option__sub { font-weight: 400 !important; }
.mc-co .mc-option__tag { font-weight: 600 !important; }
.mc-co .mc-option__price-amount { font-weight: 600 !important; letter-spacing: -.01em !important; }

/* Recover panel */
.mc-recover-tab { font-weight: 600 !important; letter-spacing: 1.2px !important; }
.mc-recover-panel__head { font-weight: 600 !important; }
.mc-recover-panel__item-name { font-weight: 500 !important; }
.mc-recover-panel__item-price { font-weight: 600 !important; }
.mc-recover-panel__cta { font-weight: 500 !important; }

/* Recordatorio: en moovi.com los precios suelen ser 600, no 800.
   Las cards de catálogo (.mc-card__price-amount) las dejamos como están porque
   son el "top" del usuario, pero las redondeamos a 600. */
.mc-card__price-amount { font-weight: 600 !important; }
.mc-card__title-key { font-weight: 600 !important; }
.mc-card__title-value { font-weight: 600 !important; }
.mc-card__cta { font-weight: 500 !important; }
.mc-card__more { font-weight: 500 !important; }

/* ============================================================================
   v0.7.6 — Toggle IVA/IGIC dentro del side cart (más útil que en el catálogo)
============================================================================ */

.mc-co-cart__tax {
  display: flex !important;
  background: #F4F5FF !important;
  border-radius: 999px !important;
  padding: 4px !important;
  margin: 0 0 14px !important;
  gap: 0 !important;
}
.mc-co-cart__tax-btn {
  flex: 1 1 50% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 8px 6px !important;
  cursor: pointer !important;
  font: inherit !important;
  font-family: 'Poppins', sans-serif !important;
  text-align: center !important;
  color: #5b6168 !important;
  transition: all .15s !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1px !important;
  line-height: 1.2 !important;
}
.mc-co-cart__tax-label {
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
}
.mc-co-cart__tax-region {
  font-weight: 400 !important;
  font-size: 9px !important;
  color: inherit !important;
  opacity: .8 !important;
}
.mc-co-cart__tax-btn.is-active {
  background: #001EE4 !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(0, 30, 228, .25) !important;
}
.mc-co-cart__tax-btn:not(.is-active):hover {
  color: #001EE4 !important;
}

/* En el catálogo dentro del checkout, ocultamos el toggle nativo (lo hacemos en sidebar) */
.mc-co-step__body--catalog .mc-tax-toggle { display: none !important; }

/* ============================================================================
   v0.7.7 — Toggle IVA MINI (estilo PDF original) + tipografía limpia
============================================================================ */

/* Reset del toggle gigante anterior */
.mc-co-cart__tax { display: none !important; }

/* Mini toggle "IVA incluido ⌄" debajo del precio */
.mc-co-cart__tax-toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
  font: inherit !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,.85) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  cursor: pointer !important;
  transition: color .15s !important;
}
.mc-co-cart__tax-toggle:hover { color: #fff !important; }
.mc-co-cart__tax-toggle svg { transition: transform .2s !important; }
.mc-co-cart__tax-toggle[aria-expanded="true"] svg { transform: rotate(180deg) !important; }

/* Popover */
.mc-co-cart__tax-popover {
  position: absolute !important;
  background: #fff !important;
  border: 1px solid #DDE1F5 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(10, 17, 48, .15) !important;
  padding: 6px !important;
  margin-top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 20 !important;
  min-width: 220px !important;
}
.mc-co-cart__tax-popover[hidden] { display: none !important; }
.mc-co-cart__tax-opt {
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font: inherit !important;
  font-family: 'Poppins', sans-serif !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  transition: background .15s !important;
  color: #0A1130 !important;
}
.mc-co-cart__tax-opt.is-active { background: #001EE4 !important; color: #fff !important; }
.mc-co-cart__tax-opt strong { font-weight: 600 !important; font-size: 13px !important; }
.mc-co-cart__tax-opt .mc-co-cart__tax-region { font-size: 11px !important; font-weight: 400 !important; color: inherit !important; opacity: .8 !important; }

.mc-co-cart__total { position: relative !important; }
.mc-co-cart__total-iva-note {
  font-size: 11px !important;
  color: rgba(255,255,255,.75) !important;
  margin: 8px 0 0 !important;
  font-weight: 400 !important;
}

/* ============================================================================
   v0.7.7 — Tipografía limpia · matchea el PDF (no extrabold!)
============================================================================ */

.mc-co-hero__title {
  font-weight: 700 !important;
  font-size: 26px !important;
  letter-spacing: 0 !important;
  color: #001EE4 !important;
}
.mc-co-hero__subtitle {
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #5b6168 !important;
}
.mc-co-step__title {
  font-weight: 700 !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
  color: #0A1130 !important;
}
.mc-co-step__lead {
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #5b6168 !important;
}
.mc-co-step__lead strong {
  font-weight: 600 !important;
  color: #0A1130 !important;
}
.mc-co-mode__title {
  font-weight: 700 !important;
  font-size: 17px !important;
  color: #0A1130 !important;
}
.mc-co-mode__desc {
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #5b6168 !important;
}
.mc-co-mode__badge {
  font-weight: 600 !important;
  font-size: 9px !important;
  letter-spacing: 1.2px !important;
}
.mc-co-cart__title {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #001EE4 !important;
}
.mc-co-cart__total-amount {
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  font-size: 36px !important;
  font-feature-settings: "tnum" !important;
}
.mc-co-cart__total-amount small {
  font-weight: 400 !important;
  font-size: 13px !important;
}
.mc-co-cart__total-label {
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.mc-co-btn {
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
}
.mc-co-btn--big { font-weight: 600 !important; font-size: 15px !important; }
.mc-co-fset__legend {
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
  color: #5b6168 !important;
}

/* Configurador embedded — match PDF */
.mc-co .mc-cfg__title {
  font-weight: 700 !important;
  font-size: 26px !important;
  text-align: center !important;
  color: #0A1130 !important;
}
.mc-co .mc-section__title {
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #0A1130 !important;
}
.mc-co .mc-section__lead {
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #5b6168 !important;
}
.mc-co .mc-option__name {
  font-weight: 700 !important;
  font-size: 17px !important;
  color: #001EE4 !important;
  letter-spacing: 0 !important;
}
.mc-co .mc-option__sub,
.mc-co .mc-option__tag {
  font-weight: 600 !important;
  font-size: 13px !important;
  font-style: italic !important;
  color: #5b6168 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.mc-co .mc-option__bullets {
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #5b6168 !important;
  list-style: disc !important;
  padding-left: 18px !important;
}
.mc-co .mc-option__bullets li { line-height: 1.6 !important; }
.mc-co .mc-option__price-amount {
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #0A1130 !important;
  letter-spacing: 0 !important;
}
.mc-co .mc-option__price-suffix {
  font-weight: 400 !important;
  font-size: 12px !important;
  color: #5b6168 !important;
}

/* Selected state cards configurador — fibra/tv lavanda con borde azul, móvil azul sólido */
.mc-co .mc-option.is-active,
.mc-co .mc-option[aria-pressed="true"] {
  background: #F4F5FF !important;
  border-color: #001EE4 !important;
  border-width: 2px !important;
  color: #0A1130 !important;
}
.mc-co .mc-option.is-active .mc-option__name,
.mc-co .mc-option[aria-pressed="true"] .mc-option__name { color: #001EE4 !important; }
/* Móvil counter cards — cuando active tienen fondo azul moovi sólido (PDF Móvil 50GB) */
.mc-co .mc-option.mc-option--counter.is-active,
.mc-co .mc-option.mc-option--counter[aria-pressed="true"],
.mc-co .mc-option--counter[data-counter] .mc-counter__value:not(:empty):not([data-counter-value="0"]) {
  /* lo manejamos en JS añadiendo clase .has-count */
}
.mc-co .mc-option.mc-option--counter.has-count {
  background: #001EE4 !important;
  border-color: #001EE4 !important;
  color: #fff !important;
}
.mc-co .mc-option.mc-option--counter.has-count .mc-option__name,
.mc-co .mc-option.mc-option--counter.has-count .mc-option__sub,
.mc-co .mc-option.mc-option--counter.has-count .mc-option__tag,
.mc-co .mc-option.mc-option--counter.has-count .mc-option__bullets,
.mc-co .mc-option.mc-option--counter.has-count .mc-option__price-amount,
.mc-co .mc-option.mc-option--counter.has-count .mc-option__price-suffix { color: #fff !important; }
.mc-co .mc-option.mc-option--counter.has-count .mc-option__bullets { color: rgba(255,255,255,.95) !important; }
.mc-co .mc-option.mc-option--counter.has-count .mc-option__price-suffix { color: rgba(255,255,255,.85) !important; }

/* Counter pill blanca cuando está sobre fondo azul */
.mc-co .mc-option.mc-option--counter.has-count .mc-counter {
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.4) !important;
}
.mc-co .mc-option.mc-option--counter.has-count .mc-counter__btn {
  background: #fff !important;
  color: #001EE4 !important;
}
.mc-co .mc-option.mc-option--counter.has-count .mc-counter__value { color: #fff !important; }

/* ============================================================================
   v0.7.8 — SISTEMA UNIFICADO DE BOTONES Y HOVERS
   Sobreescribe TODAS las reglas anteriores de hover/focus/active/disabled
   para garantizar consistencia visual en todos los botones del plugin.

   Filosofía moovi (igual que en moovi.com):
   - Primary CTA: azul moovi sólido → en hover invierte a verde menta
   - Ghost / outline: borde lavanda → en hover borde y bg azul moovi soft
   - Texto / link: link azul → en hover ligero shift de gap o color
   - Cards-as-button: lift sutil 2-3px + sombra azul moovi
   - Transitions consistentes: 200ms ease en todo
   - Focus ring accesible con outline azul moovi semi-transparente
============================================================================ */

/* ===== RESET de transición base ===== */
.mc-co button,
.mc-co .mc-co-btn,
.mc-co a.mc-co-btn,
.mc-co-mode__card,
.mc-co-pane__back,
.mc-co-cart__edit,
.mc-co-cart__tax-toggle,
.mc-co-cart__tax-opt,
.mc-co-ai .mc-co-btn,
.mc-co-success__actions > a,
.mc-co-success__actions > button,
.mc-counter__btn,
.mc-co-cov-block__btn,
.mc-recover-tab,
.mc-recover-panel__cta,
.mc-recover-panel__close,
.mc-recover-panel__item-trash {
  font-family: 'Poppins', -apple-system, sans-serif !important;
  cursor: pointer !important;
  transition: background-color .2s ease,
              color .2s ease,
              border-color .2s ease,
              box-shadow .2s ease,
              transform .15s ease !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* ===== PRIMARY (CTA azul → menta hover) ===== */
.mc-co-btn--primary,
.mc-recover-panel__cta,
.mc-co-cov-block__btn {
  background: #001EE4 !important;
  background-color: #001EE4 !important;
  color: #fff !important;
  border: 2px solid transparent !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  text-align: center !important;
  line-height: 1.3 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  box-shadow: 0 4px 12px rgba(0, 30, 228, .15) !important;
}
.mc-co-btn--primary:hover,
.mc-co-btn--primary:focus-visible,
.mc-recover-panel__cta:hover,
.mc-recover-panel__cta:focus-visible,
.mc-co-cov-block__btn:hover {
  background: #B8F1D5 !important;
  background-color: #B8F1D5 !important;
  color: #0017AB !important;
  border-color: transparent !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(0, 30, 228, .22) !important;
}
.mc-co-btn--primary:active,
.mc-recover-panel__cta:active,
.mc-co-cov-block__btn:active { transform: translateY(0) !important; }
.mc-co-btn--primary[disabled],
.mc-co-btn--primary.is-loading {
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}
.mc-co-btn--big { padding: 18px 36px !important; font-size: 16px !important; }

/* ===== GHOST (outline azul → fondo soft hover) ===== */
.mc-co-btn--ghost,
.mc-co-cart__edit {
  background: transparent !important;
  color: #001EE4 !important;
  border: 2px solid #DDE1F5 !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}
.mc-co-btn--ghost:hover,
.mc-co-btn--ghost:focus-visible,
.mc-co-cart__edit:hover,
.mc-co-cart__edit:focus-visible {
  background: #F4F5FF !important;
  border-color: #001EE4 !important;
  color: #0017AB !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(0, 30, 228, .10) !important;
}
.mc-co-btn--ghost:active,
.mc-co-cart__edit:active { transform: translateY(0) !important; }

/* ===== TEXT / LINK (volver, etc) ===== */
.mc-co-pane__back {
  background: transparent !important;
  border: 0 !important;
  color: #001EE4 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 6px 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.mc-co-pane__back:hover,
.mc-co-pane__back:focus-visible {
  color: #0017AB !important;
  gap: 8px !important;
  transform: none !important;
  background: transparent !important;
}

/* ===== MODE SELECTOR CARDS ===== */
.mc-co-mode__card {
  background: #fff !important;
  border: 2px solid #DDE1F5 !important;
  border-radius: 18px !important;
}
.mc-co-mode__card:hover,
.mc-co-mode__card:focus-visible {
  border-color: #001EE4 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 36px rgba(0, 30, 228, .14) !important;
}
.mc-co-mode__card:active { transform: translateY(-1px) !important; }
.mc-co-mode__card--featured { border-color: #001EE4 !important; }
.mc-co-mode__card--featured:hover {
  box-shadow: 0 18px 40px rgba(0, 30, 228, .20) !important;
}
.mc-co-mode__card.is-soon,
.mc-co-mode__card.is-soon:hover {
  cursor: default !important;
  transform: none !important;
  border-color: #DDE1F5 !important;
  box-shadow: 0 1px 3px rgba(10, 17, 48, .04) !important;
}

/* ===== TOGGLE IVA mini en sidecart ===== */
.mc-co-cart__tax-toggle:hover { color: #fff !important; opacity: 1 !important; }
.mc-co-cart__tax-opt {
  background: transparent !important;
  border: 0 !important;
}
.mc-co-cart__tax-opt:hover { background: #F4F5FF !important; }
.mc-co-cart__tax-opt.is-active,
.mc-co-cart__tax-opt.is-active:hover { background: #001EE4 !important; color: #fff !important; }

/* ===== COUNTER +/- ===== */
.mc-counter__btn {
  background: #F4F5FF !important;
  border: 0 !important;
  color: #001EE4 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}
.mc-counter__btn:hover,
.mc-counter__btn:focus-visible {
  background: #001EE4 !important;
  color: #fff !important;
  transform: scale(1.05) !important;
}
.mc-counter__btn:active { transform: scale(.95) !important; }
.mc-counter__btn[disabled] { opacity: .35 !important; cursor: not-allowed !important; transform: none !important; background: #F4F5FF !important; color: #5b6168 !important; }

/* ===== ICON BUTTONS (close, trash) ===== */
.mc-recover-panel__close {
  background: transparent !important;
  border: 0 !important;
  color: #5b6168 !important;
}
.mc-recover-panel__close:hover {
  background: #F4F5FF !important;
  color: #001EE4 !important;
  transform: rotate(90deg) !important;
}
.mc-recover-panel__item-trash {
  background: transparent !important;
  border: 0 !important;
  color: #5b6168 !important;
}
.mc-recover-panel__item-trash:hover {
  background: #fff5f5 !important;
  color: #b71c2b !important;
}

/* ===== RECOVER TAB (Finetwork-style) — solo lift sutil ===== */
.mc-recover-tab:hover,
.mc-recover-tab:focus-visible {
  background: #0017AB !important;
  transform: translateX(-2px) !important;
  box-shadow: -8px 8px 30px rgba(0, 30, 228, .42) !important;
}
.mc-recover-tab:active { transform: translateX(0) !important; }

/* ===== TABS del catálogo ===== */
.mc-tab {
  background: transparent !important;
  border: 1.5px solid #DDE1F5 !important;
  color: #5b6168 !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
}
.mc-tab:hover {
  border-color: #001EE4 !important;
  color: #001EE4 !important;
}
.mc-tab.is-active {
  background: #001EE4 !important;
  border-color: #001EE4 !important;
  color: #fff !important;
}

/* ===== FOCUS RING accesible (todos los botones) ===== */
.mc-co button:focus-visible,
.mc-co a.mc-co-btn:focus-visible,
.mc-co-mode__card:focus-visible,
.mc-recover-tab:focus-visible,
.mc-recover-panel__cta:focus-visible,
.mc-recover-panel__close:focus-visible {
  outline: 3px solid rgba(0, 30, 228, .30) !important;
  outline-offset: 2px !important;
}
.mc-co button:focus:not(:focus-visible),
.mc-co a:focus:not(:focus-visible) { outline: 0 !important; }

/* ===== CONFIGURADOR EMBEDDED — buttons también ===== */
.mc-co .mc-cart__cta,
.mc-co .mc-cart-mobile__cta {
  background: #001EE4 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid transparent !important;
  font-family: 'Poppins', sans-serif !important;
}
.mc-co .mc-cart__cta:hover,
.mc-co .mc-cart-mobile__cta:hover {
  background: #B8F1D5 !important;
  color: #0017AB !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(0, 30, 228, .22) !important;
}

/* ===== EMPRESA / PARTICULAR radio (mc-co-radio) ===== */
.mc-co-radio {
  border: 2px solid #DDE1F5 !important;
  background: #fff !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  transition: all .2s ease !important;
  cursor: pointer !important;
}
.mc-co-radio:hover { border-color: #001EE4 !important; }
.mc-co-radio.is-checked,
.mc-co-radio:has(input:checked) {
  background: #001EE4 !important;
  border-color: #001EE4 !important;
  color: #fff !important;
  font-weight: 600 !important;
}

/* ===== AI RECOMMENDER buttons inherit primary/ghost ===== */
.mc-co-ai-actions .mc-co-btn--primary { /* hereda */ }
.mc-co-ai-alt {
  background: #fff !important;
  border: 2px solid #DDE1F5 !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
  font-family: 'Poppins', sans-serif !important;
}
.mc-co-ai-alt:hover {
  border-color: #001EE4 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(0, 30, 228, .10) !important;
}

/* ===== SUCCESS step actions ===== */
.mc-co-success__actions > a,
.mc-co-success__actions > button {
  /* heredan estilos de mc-co-btn primary/ghost */
}

/* ============================================================
   v0.7.10 — × por línea en sidecart + CTA dinámico
   ============================================================ */

/* Cada fila del carrito ahora es flex con [name | price | ×] */
.mc-co-cart__list .mc-co-cart__row,
.mc-co-cart__list li.mc-co-cart__row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  background: #FAFBFE !important;
  border: 1px solid #EEF0FB !important;
  border-radius: 12px !important;
  margin: 0 0 8px !important;
  list-style: none !important;
}
.mc-co-cart__list .mc-co-cart__row:last-child { margin-bottom: 0 !important; }

.mc-co-cart__row-name {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 13px !important;
  color: #0A1130 !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.mc-co-cart__row-price {
  flex: 0 0 auto !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #001EE4 !important;
  white-space: nowrap !important;
}
.mc-co-cart__row-remove {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  border: 0 !important;
  background: transparent !important;
  color: #5b6168 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: background .15s ease, color .15s ease !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.mc-co-cart__row-remove:hover,
.mc-co-cart__row-remove:focus-visible {
  background: #fff5f5 !important;
  color: #b71c2b !important;
  outline: 0 !important;
}
.mc-co-cart__row-remove svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* CTA dinámico del sidecart (Continuar / Continuar al pago / Contratar ahora) */
.mc-co-cart__edit.mc-co-cart__edit--primary,
button.mc-co-cart__edit.mc-co-cart__edit--primary {
  background: #001EE4 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  width: 100% !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background .2s ease, color .2s ease, transform .2s ease !important;
  display: block !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  margin-top: 10px !important;
}
.mc-co-cart__edit.mc-co-cart__edit--primary:hover,
.mc-co-cart__edit.mc-co-cart__edit--primary:focus-visible {
  background: #B8F1D5 !important;
  color: #0017AB !important;
  transform: translateY(-2px) !important;
  outline: 0 !important;
}
.mc-co-cart__edit.mc-co-cart__edit--primary:active {
  transform: translateY(0) !important;
}

/* ============================================================
   v0.7.12 — Cobertura gate en step 1 (solo si carrito tiene fibra)
   ============================================================ */
.mc-co-cov-gate {
  margin-top: 24px;
  padding: 20px;
  background: linear-gradient(180deg, #F4F5FF 0%, #FAFBFE 100%);
  border: 1px solid #DDE1F5;
  border-radius: 18px;
  position: relative;
}
.mc-co-cov-gate[hidden] { display: none !important; }
.mc-co-cov-gate__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
}
.mc-co-cov-gate__icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #001EE4;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mc-co-cov-gate__icon svg { display: block; }
.mc-co-cov-gate__title {
  margin: 0 0 2px;
  font-size: 16px;
  font-weight: 600;
  color: #0A1130;
  font-family: inherit;
}
.mc-co-cov-gate__lead {
  margin: 0;
  font-size: 13px;
  color: #5b6168;
  line-height: 1.4;
}
.mc-co-cov-gate__fields {
  display: grid;
  grid-template-columns: 1fr 110px;
  gap: 12px;
  margin-bottom: 14px;
}
.mc-co-cov-gate__fields .mc-co-field { margin: 0 !important; }
.mc-co-cov-gate__fields .mc-co-field--notch:not(.mc-co-cov-gate__num):not(.mc-co-cov-gate__cp) {
  grid-column: 1 / -1;
}
.mc-co-cov-gate__num,
.mc-co-cov-gate__cp { grid-column: auto; }
.mc-co-cov-gate__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#mc-co-cov1-btn {
  align-self: flex-start;
  padding: 11px 22px !important;
  font-size: 13px !important;
}
.mc-co-cov-gate__result {
  font-size: 13px;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 500;
  line-height: 1.4;
  border: 1px solid transparent;
}
.mc-co-cov-gate__result.is-ok {
  background: #E8F8F0;
  color: #1f7a4a;
  border-color: #BCEBD0;
}
.mc-co-cov-gate__result.is-warn {
  background: #FFF7E6;
  color: #8a5a00;
  border-color: #F8D89A;
}
.mc-co-cov-gate__result.is-no {
  background: #FFF1F1;
  color: #b71c2b;
  border-color: #F5C2C7;
}

/* CTA del sidecart en estado disabled (cobertura pendiente) */
.mc-co-cart__edit--disabled,
button.mc-co-cart__edit--disabled,
.mc-co-cart__edit.mc-co-cart__edit--disabled {
  background: #DDE1F5 !important;
  color: #5b6168 !important;
  cursor: not-allowed !important;
  pointer-events: auto !important;
  transform: none !important;
  opacity: 1 !important;
  font-size: 13px !important;
}
.mc-co-cart__edit--disabled:hover,
.mc-co-cart__edit--disabled:focus-visible {
  background: #DDE1F5 !important;
  color: #5b6168 !important;
  transform: none !important;
}

@media (max-width: 600px) {
  .mc-co-cov-gate { padding: 16px; border-radius: 14px; }
  .mc-co-cov-gate__fields { grid-template-columns: 1fr 90px; }
  #mc-co-cov1-btn { width: 100%; align-self: stretch; }
}

/* ============================================================
   v0.7.13 — Step KYC (Didit)
   ============================================================ */
.mc-co-kyc {
  background: linear-gradient(180deg, #F4F5FF 0%, #FAFBFE 100%);
  border: 1px solid #DDE1F5;
  border-radius: 18px;
  padding: 28px;
}
.mc-co-kyc__hero {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 18px;
}
.mc-co-kyc__icon {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: #001EE4;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mc-co-kyc__icon svg { display: block; }
.mc-co-kyc__intro h3 {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 600;
  color: #0A1130;
  font-family: inherit;
}
.mc-co-kyc__intro p {
  margin: 0;
  font-size: 13px;
  color: #5b6168;
  line-height: 1.5;
}
.mc-co-kyc__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
.mc-co-kyc__pills li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid #DDE1F5;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  color: #0A1130;
  font-weight: 500;
}
.mc-co-kyc__pills li svg { color: #5BC892; flex: 0 0 16px; }
.mc-co-kyc__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}
.mc-co-kyc__status {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #DDE1F5;
  border-radius: 12px;
  margin-top: 12px;
}
.mc-co-kyc__spinner {
  width: 20px;
  height: 20px;
  border: 2.5px solid #DDE1F5;
  border-top-color: #001EE4;
  border-radius: 50%;
  animation: mc-kyc-spin 0.8s linear infinite;
  flex: 0 0 20px;
}
@keyframes mc-kyc-spin {
  to { transform: rotate(360deg); }
}
.mc-co-kyc__status-text {
  margin: 0;
  font-size: 13px;
  color: #5b6168;
  line-height: 1.4;
}
.mc-co-kyc__result {
  margin-top: 12px;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  border: 1px solid transparent;
}
.mc-co-kyc__result.is-ok {
  background: #E8F8F0;
  color: #1f7a4a;
  border-color: #BCEBD0;
}
.mc-co-kyc__result.is-warn {
  background: #FFF7E6;
  color: #8a5a00;
  border-color: #F8D89A;
}
.mc-co-kyc__result.is-no {
  background: #FFF1F1;
  color: #b71c2b;
  border-color: #F5C2C7;
}
@media (max-width: 600px) {
  .mc-co-kyc { padding: 20px; border-radius: 14px; }
  .mc-co-kyc__hero { flex-direction: column; gap: 12px; }
  .mc-co-kyc__icon { width: 48px; height: 48px; flex: 0 0 48px; }
  .mc-co-kyc__actions { flex-direction: column; }
  .mc-co-kyc__actions .mc-co-btn { width: 100%; }
}

/* ============================================================
   v0.8.2 — Hotfix: forzar grid layout y comportamiento mobile.
   El tema o caches estaban pisando el grid y la sidecart caía
   como bloque full-width en lugar de columna lateral.
   ============================================================ */
.mc-co .mc-co-grid {
  display: grid !important;
  grid-template-columns: 1fr 340px !important;
  gap: 28px !important;
  align-items: start !important;
  width: 100% !important;
}
.mc-co .mc-co-main {
  min-width: 0 !important; /* impide que el contenido fuerce 1 columna */
  grid-column: 1 !important;
}
.mc-co .mc-co-cart {
  grid-column: 2 !important;
  position: sticky !important;
  top: 24px !important;
  align-self: start !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* MOBILE: una columna y sidecart oculta — solo se ve la mobile-bar sticky */
@media (max-width: 1024px) {
  .mc-co .mc-co-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .mc-co .mc-co-cart {
    display: none !important;     /* oculta del flujo: solo se ve la mobile-bar */
  }
  .mc-co .mc-co-mobile-bar:not([hidden]) {
    display: flex !important;
  }
}


/* ============================================================
   v0.9.0 — Hints y mensajes de validación bajo cada input
   ============================================================ */
.mc-co-field__hint {
  display: block;
  font-size: 11px;
  color: #5b6168;
  margin: 4px 2px 0;
  line-height: 1.3;
}
.mc-co-field__msg {
  display: block;
  font-size: 11px;
  color: #b71c2b;
  margin: 4px 2px 0;
  min-height: 14px;
  line-height: 1.3;
  font-weight: 500;
}
.mc-co-field.is-invalid .mc-co-field__hint { display: none; }
.mc-co-field.is-invalid input,
.mc-co-field.is-invalid select {
  border-color: #b71c2b !important;
  background: #fff5f5 !important;
}
.mc-co-field.is-invalid > label,
.mc-co-field.is-valid > label { color: inherit; }
.mc-co-field.is-valid input,
.mc-co-field.is-valid select { border-color: #5BC892 !important; }


/* ============================================================
   v0.9.3 — Stepper skipped + cards configurador activas legibles
   ============================================================ */
.mc-co-stepper__item.is-skipped { opacity: 0.35; filter: grayscale(0.5); }
.mc-co-stepper__item.is-skipped .mc-co-stepper__label::after { content: ""; }

/* Card de tarifa activa en configurador: texto blanco legible */
.mc-cfg .mc-card.is-active,
.mc-cfg [data-cfg-option].is-active,
.mc-cfg .mc-card.is-active * {
  background: #001EE4 !important;
  color: #fff !important;
}
.mc-cfg .mc-card.is-active .mc-card__title,
.mc-cfg [data-cfg-option].is-active .mc-card__title,
.mc-cfg .mc-card.is-active strong,
.mc-cfg [data-cfg-option].is-active strong { color: #fff !important; }
.mc-cfg .mc-card.is-active .mc-card__price,
.mc-cfg [data-cfg-option].is-active [class*="precio"] { color: #fff !important; }

/* ============================================================
   v1.1.0 — SIM/eSIM por línea + tooltips Particular/Empresa
   ============================================================ */
.mc-co-sim-section { margin-top: 16px; }
.mc-co-sim-list { display: flex; flex-direction: column; gap: 12px; }
.mc-co-sim-row {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #FAFBFE;
  border: 1px solid #EEF0FB;
  border-radius: 12px;
  padding: 12px 14px;
  flex-wrap: wrap;
}
.mc-co-sim-row__label {
  flex: 1 1 200px;
  font-weight: 600;
  font-size: 13px;
  color: #0A1130;
}
.mc-co-sim-toggle {
  display: inline-flex;
  background: #fff;
  border: 1px solid #DDE1F5;
  border-radius: 999px;
  padding: 3px;
  gap: 0;
}
.mc-co-sim-opt {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 16px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: #0A1130;
  transition: all .15s ease;
  min-width: 100px;
  text-align: center;
}
.mc-co-sim-opt input { position: absolute; opacity: 0; pointer-events: none; }
.mc-co-sim-opt small { font-size: 10px; font-weight: 400; color: #5b6168; }
.mc-co-sim-opt.is-checked {
  background: #001EE4;
  color: #fff;
}
.mc-co-sim-opt.is-checked small { color: #cdd5ff; }
@media (max-width: 600px) {
  .mc-co-sim-row { flex-direction: column; align-items: stretch; }
  .mc-co-sim-toggle { width: 100%; justify-content: stretch; }
  .mc-co-sim-opt { flex: 1; min-width: 0; }
}

/* Particular vs Empresa: ocultar campos del otro tipo cuando se elige uno */
.mc-co-form.is-empresa [data-only="particular"],
.mc-co-form.is-particular [data-only="empresa"] { display: none !important; }

/* Hint estilo Digi: borde sutil y tipo más serio */
.mc-co-field__hint {
  display: block;
  font-size: 11px;
  color: #5b6168;
  margin: 3px 2px 0;
  line-height: 1.35;
}
.mc-co-field.is-invalid .mc-co-field__hint { display: none; }

/* ============================================================
   v1.1.1 — Notch label: bg según contexto del contenedor padre
   Evita el "rectángulo blanco" cuando el field está dentro de
   un fieldset/sección con fondo distinto al blanco.
   ============================================================ */

/* Default: fields dentro de un step body (fondo blanco) */
.mc-co-step__body .mc-co-field--notch { --mc-notch-bg: #fff; }

/* Cobertura gate: fondo gradient F4F5FF → FAFBFE */
.mc-co-cov-gate .mc-co-field--notch { --mc-notch-bg: #F8F9FF; }

/* Sidecart: fondo blanco */
.mc-co-cart .mc-co-field--notch { --mc-notch-bg: #fff; }

/* SIM/eSIM section: dentro del paso datos, fondo blanco */
.mc-co-sim-section .mc-co-field--notch { --mc-notch-bg: #fff; }

/* Cualquier fset con fondo gris suave */
.mc-co-fset[style*="FAFBFE"] .mc-co-field--notch,
.mc-co-fset.mc-co-fset--gray .mc-co-field--notch { --mc-notch-bg: #FAFBFE; }

/* KYC step: card con gradient F4F5FF → FAFBFE */
.mc-co-kyc .mc-co-field--notch { --mc-notch-bg: #F8F9FF; }

/* Estado focused/filled: el label arriba mantiene el bg del contenedor */
.mc-co-field--notch > input:focus + label,
.mc-co-field--notch > input:not(:placeholder-shown) + label,
.mc-co-field--notch.mc-co-field--filled > label,
.mc-co-field--notch > select:focus + label,
.mc-co-field--notch > select + label {
  background: var(--mc-notch-bg) !important;
}

/* Borde más limpio: usar 1.5px y radius 14 para estilo más moderno */
.mc-co-field--notch > input,
.mc-co-field--notch > select,
.mc-co-field--notch > textarea {
  border-width: 1.5px !important;
  border-radius: 14px !important;
  background: transparent !important;
}

/* Hover sutil del input */
.mc-co-field--notch > input:hover,
.mc-co-field--notch > select:hover {
  border-color: #C9CDF2 !important;
}

/* Cuando el label NO está flotando arriba (input vacío sin focus), no debe tener bg */
.mc-co-field--notch > input:placeholder-shown:not(:focus) + label {
  background: transparent !important;
}

/* ============================================================
   v1.2.0 — Compactación y limpieza (Path A)
   Reduce paddings, oculta steps no-aplica, deshabilita CTA vacío,
   armoniza tipografías. Sin cambios estructurales.
   ============================================================ */

/* HERO más compacto */
.mc-co .mc-co-hero {
  padding: 24px 0 18px !important;
  margin-bottom: 12px !important;
}
.mc-co .mc-co-hero__title {
  font-size: 28px !important;
  margin: 0 0 4px !important;
  line-height: 1.15 !important;
}
.mc-co .mc-co-hero__subtitle {
  font-size: 13px !important;
  margin: 0 !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-hero { padding: 16px 0 12px !important; }
  .mc-co .mc-co-hero__title { font-size: 22px !important; }
}

/* STEPPER compacto: ocultar items skipped del flujo */
.mc-co-stepper__item.is-skipped,
.mc-co-stepper__item.is-skipped + .mc-co-stepper__line {
  display: none !important;
}
.mc-co-stepper {
  padding: 12px 16px !important;
  margin-bottom: 18px !important;
}
.mc-co-stepper__num {
  width: 28px !important;
  height: 28px !important;
  font-size: 13px !important;
}
.mc-co-stepper__label {
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* CARDS mode-selector compactas */
.mc-co .mc-co-mode__cards {
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.mc-co .mc-co-mode__card {
  padding: 16px 14px !important;
  min-height: 0 !important;
  gap: 8px !important;
}
.mc-co .mc-co-mode__card__icon,
.mc-co .mc-co-mode__icon,
.mc-co .mc-co-mode__card .mc-co-mode__card__icon {
  width: 40px !important;
  height: 40px !important;
}
.mc-co .mc-co-mode__card h3,
.mc-co .mc-co-mode__card__title {
  font-size: 16px !important;
  margin: 4px 0 2px !important;
  font-weight: 600 !important;
}
.mc-co .mc-co-mode__card p,
.mc-co .mc-co-mode__card__lead {
  font-size: 12px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
@media (max-width: 720px) {
  .mc-co .mc-co-mode__cards { grid-template-columns: 1fr !important; }
  .mc-co .mc-co-mode__card { min-height: 0 !important; padding: 12px 14px !important; }
}

/* STEP body con menos padding */
.mc-co .mc-co-step__head {
  padding: 14px 18px !important;
}
.mc-co .mc-co-step__title {
  font-size: 18px !important;
  margin: 0 !important;
}
.mc-co .mc-co-step__lead {
  font-size: 12px !important;
  margin: 2px 0 0 !important;
}
.mc-co .mc-co-step__body {
  padding: 16px 18px !important;
}
.mc-co .mc-co-step__num {
  width: 30px !important;
  height: 30px !important;
  font-size: 13px !important;
}

/* SIDECART compactada */
.mc-co .mc-co-cart {
  padding: 16px !important;
  gap: 10px !important;
}
.mc-co .mc-co-cart__title {
  font-size: 14px !important;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
}
.mc-co .mc-co-cart__total {
  padding: 14px 16px !important;
}
.mc-co .mc-co-cart__total-amount {
  font-size: 26px !important;
  margin: 0 !important;
  font-weight: 700 !important;
}
.mc-co .mc-co-cart__total-label {
  font-size: 11px !important;
  margin: 0 !important;
}

/* CTA del sidecart deshabilitado cuando cart vacío */
.mc-co .mc-co-cart:has(.mc-co-cart__empty) .mc-co-cart__edit,
.mc-co .mc-co-cart .mc-co-cart__edit:not([data-cart-cta]),
.mc-co-cart .mc-co-cart__edit[disabled],
.mc-co-cart__edit--disabled,
.mc-co-cart__edit:disabled {
  background: #DDE1F5 !important;
  color: #5b6168 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  box-shadow: none !important;
  transform: none !important;
}

/* TRUST BAR: simplificar — solo iconos + texto compacto */
.mc-co-trustbar {
  padding: 14px 16px !important;
  margin-top: 18px !important;
  border-radius: 14px !important;
  background: #F4F5FF !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  justify-content: space-around !important;
  border: 0 !important;
}
.mc-co-trustbar__item {
  flex: 1 1 200px !important;
  text-align: center !important;
  font-size: 12px !important;
}
.mc-co-trustbar__item svg {
  width: 22px !important;
  height: 22px !important;
  margin-bottom: 4px !important;
}
.mc-co-trustbar__item strong {
  font-size: 13px !important;
  display: block !important;
  margin: 2px 0 !important;
}
.mc-co-trustbar__item span {
  font-size: 11px !important;
  color: #5b6168 !important;
}

/* Sidecart info-pills duplicadas (Pago seguro, Sin permanencia, Atención 24/7) */
/* Si la trust bar inferior está visible, ocultar las del sidecart */
.mc-co-cart .mc-co-trust-item,
.mc-co-cart .mc-co-cart__trust .mc-co-trust-item {
  font-size: 11px !important;
}
.mc-co-cart__trust { gap: 4px !important; }

/* FORMS: padding compacto */
.mc-co-fset {
  padding: 14px 16px !important;
  margin-bottom: 12px !important;
  border-radius: 14px !important;
}
.mc-co-fset__legend {
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 0 6px !important;
}
.mc-co-fset__lead {
  font-size: 12px !important;
  margin: 0 0 8px !important;
}
.mc-co-fields {
  gap: 10px !important;
}
.mc-co-field {
  margin: 0 !important;
}
.mc-co-field--notch > input,
.mc-co-field--notch > select {
  padding: 14px 14px 10px !important;
  font-size: 14px !important;
}

/* ACTIONS row con botones más bajos */
.mc-co-actions {
  padding: 14px 0 0 !important;
  gap: 10px !important;
}
.mc-co-btn {
  padding: 11px 22px !important;
  font-size: 13px !important;
}
.mc-co-btn--big {
  padding: 13px 28px !important;
  font-size: 14px !important;
}

/* Ocultar iconos repetidos en sidecart si trustbar inferior los muestra */
@media (min-width: 1024px) {
  .mc-co-cart__trust { padding-top: 6px !important; border-top: 1px solid #EEF0FB; }
}

/* ============================================================
   v1.3.2 — Notch label robusto via clase JS (.is-filled .is-focused)
   ============================================================ */

/* Reset: el label notch siempre absoluto centrado por defecto */
.mc-co-field--notch > label {
  position: absolute !important;
  top: 50% !important;
  left: 14px !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  padding: 0 6px !important;
  color: #5b6168 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  pointer-events: none !important;
  letter-spacing: 0 !important;
  transition: top .18s ease, font-size .18s ease, color .18s ease, background .18s ease !important;
  margin: 0 !important;
  z-index: 1 !important;
  white-space: nowrap !important;
  max-width: calc(100% - 28px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Estado FLOTANTE: cuando input tiene valor o focus */
.mc-co-field--notch.is-filled > label,
.mc-co-field--notch.is-focused > label,
.mc-co-field--notch > select + label {
  top: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #001EE4 !important;
  letter-spacing: .2px !important;
  background: var(--mc-notch-bg, #fff) !important;
}

/* Color azul solo cuando focus */
.mc-co-field--notch.is-focused:not(.is-invalid) > label { color: #001EE4 !important; }
.mc-co-field--notch.is-filled:not(.is-focused):not(.is-invalid) > label { color: #5b6168 !important; }

/* Inputs notch: sin background propio para que herede del padre */
.mc-co-field--notch > input,
.mc-co-field--notch > select,
.mc-co-field--notch > textarea {
  background: var(--mc-notch-bg, #fff) !important;
}

/* Hint y msg como bloque después del input/label */
.mc-co-field--notch .mc-co-field__hint,
.mc-co-field--notch .mc-co-field__msg {
  margin-top: 4px !important;
}


/* ============================================================
   v1.3.3 — FIX notch label: posición fija respecto al input
   El hint .mc-co-field__hint añade altura al wrapper, así que
   top:50% caía entre input y hint. Pinned a 26px (centro del input).
   ============================================================ */
.mc-co-field--notch {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  margin-top: 6px !important;
}
.mc-co-field--notch > input,
.mc-co-field--notch > select,
.mc-co-field--notch > textarea {
  width: 100% !important;
  padding: 18px 14px 12px !important;
  border: 1.5px solid #DDE1F5 !important;
  border-radius: 12px !important;
  background: var(--mc-notch-bg, #fff) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0A1130 !important;
  line-height: 1.3 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  order: 1 !important;
}
.mc-co-field--notch > label {
  position: absolute !important;
  top: 26px !important;          /* centro del input notch (~52px alto / 2) */
  left: 14px !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  padding: 0 6px !important;
  color: #5b6168 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  pointer-events: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  z-index: 2 !important;
  white-space: nowrap !important;
  max-width: calc(100% - 28px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: top .18s ease, font-size .18s ease, color .18s ease, background .18s ease !important;
}
/* Estado FLOTANTE: label arriba */
.mc-co-field--notch.is-filled > label,
.mc-co-field--notch.is-focused > label,
.mc-co-field--notch > select + label {
  top: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  background: var(--mc-notch-bg, #fff) !important;
  color: #5b6168 !important;
}
.mc-co-field--notch.is-focused:not(.is-invalid) > label { color: #001EE4 !important; }
.mc-co-field--notch.is-focused > input,
.mc-co-field--notch.is-focused > select,
.mc-co-field--notch.is-focused > textarea {
  outline: 0 !important;
  border-color: #001EE4 !important;
  box-shadow: 0 0 0 4px rgba(0,30,228,.12) !important;
}
.mc-co-field--notch .mc-co-field__hint {
  order: 3 !important;
  display: block !important;
  font-size: 11px !important;
  color: #5b6168 !important;
  margin: 4px 2px 0 !important;
  line-height: 1.35 !important;
}
.mc-co-field--notch .mc-co-field__msg {
  order: 4 !important;
  display: block !important;
  font-size: 11px !important;
  color: #b71c2b !important;
  margin: 4px 2px 0 !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}
.mc-co-field--notch.is-invalid .mc-co-field__hint { display: none !important; }
.mc-co-field--notch.is-invalid > input,
.mc-co-field--notch.is-invalid > select {
  border-color: #b71c2b !important;
  background: #fff5f5 !important;
}
.mc-co-field--notch.is-valid > input,
.mc-co-field--notch.is-valid > select {
  border-color: #5BC892 !important;
}

/* ============================================================
   v1.3.4 — Cobertura step 2 estilo Finetwork (dark gradient + 1 input)
   ============================================================ */
.mc-co-cov-gate {
  background: linear-gradient(135deg, #001EE4 0%, #0A1130 100%) !important;
  border-radius: 22px !important;
  padding: 36px 32px 28px !important;
  text-align: center;
  border: 0 !important;
  position: relative;
  overflow: hidden;
}
.mc-co-cov-gate::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 0%, rgba(184, 241, 213, 0.15) 0%, transparent 60%);
  pointer-events: none;
}
.mc-co-cov-gate__hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
  position: relative;
  z-index: 1;
}
.mc-co-cov-gate__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.mc-co-cov-gate__hero h3 {
  margin: 0 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #fff !important;
  font-family: inherit !important;
}
.mc-co-cov-gate__card {
  background: #fff !important;
  border-radius: 14px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 1;
  box-shadow: 0 18px 36px -12px rgba(10, 17, 48, 0.45);
}
.mc-co-cov-gate__card input[type="text"] {
  width: 100% !important;
  padding: 14px 16px !important;
  border: 1.5px solid #DDE1F5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0A1130 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  outline: 0 !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.mc-co-cov-gate__card input[type="text"]:focus {
  border-color: #001EE4 !important;
  box-shadow: 0 0 0 4px rgba(0,30,228,.12) !important;
}
.mc-co-cov-gate__card input::placeholder { color: #8b909a; }
.mc-co-cov-gate__btn {
  width: 100%;
  padding: 14px 22px !important;
  background: #0A1130 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer;
  transition: all .2s ease !important;
}
.mc-co-cov-gate__btn:hover {
  background: #1a2545 !important;
  transform: translateY(-1px);
}
.mc-co-cov-gate__btn:disabled {
  background: #5b6168 !important;
  cursor: not-allowed;
  transform: none !important;
}
.mc-co-cov-gate__result {
  position: relative;
  z-index: 1;
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.mc-co-cov-gate__result.is-ok {
  background: rgba(184, 241, 213, 0.95);
  color: #0e3d24 !important;
  border-color: #5BC892;
}
.mc-co-cov-gate__result.is-warn {
  background: rgba(255, 247, 230, 0.95);
  color: #6b3d00 !important;
}
.mc-co-cov-gate__result.is-no {
  background: rgba(255, 230, 230, 0.95);
  color: #6b1c20 !important;
}
.mc-co-cov-gate__legal {
  position: relative;
  z-index: 1;
  margin: 18px 0 0 !important;
  text-align: center;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
}
.mc-co-cov-gate__legal a {
  color: rgba(255, 255, 255, 0.9) !important;
  text-decoration: underline !important;
}
@media (max-width: 600px) {
  .mc-co-cov-gate { padding: 28px 22px 22px !important; }
  .mc-co-cov-gate__hero h3 { font-size: 19px !important; }
}

/* Google Places dropdown sobre nuestro overlay */
.pac-container { z-index: 100000 !important; }

/* ============================================================
   v1.3.5 — Dropdown sugerencias autocomplete cobertura Finetwork
   ============================================================ */
.mc-co-cov-gate__card {
  position: relative;
}
.mc-co-cov-suggest {
  position: absolute;
  top: calc(100% - 50px);
  left: 18px;
  right: 18px;
  background: #fff;
  border: 1px solid #DDE1F5;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 18px 30px -10px rgba(10,17,48,0.25);
  max-height: 320px;
  overflow-y: auto;
  z-index: 100;
}
.mc-co-cov-suggest[hidden] { display: none; }
/* v2.3.4: !important para anular themes (Elementor) que estilizan botones nativos */
.mc-co-cov-suggest__item,
button.mc-co-cov-suggest__item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  width: 100% !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid #F4F5FF !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  font-size: 13px !important;
  color: #0A1130 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background .12s !important;
  font-family: inherit !important;
}
.mc-co-cov-suggest__item:last-child { border-bottom: 0 !important; }
.mc-co-cov-suggest__item:hover,
.mc-co-cov-suggest__item:focus,
button.mc-co-cov-suggest__item:hover,
button.mc-co-cov-suggest__item:focus {
  background: #F4F5FF !important;
  background-color: #F4F5FF !important;
  color: #0A1130 !important;
  outline: 0 !important;
}
.mc-co-cov-suggest__icon {
  flex: 0 0 auto !important;
  font-size: 14px !important;
  color: inherit !important;
}
.mc-co-cov-suggest__label {
  flex: 1 1 auto !important;
  font-weight: 500 !important;
  color: inherit !important;
}
.mc-co-cov-suggest__empty {
  padding: 14px;
  font-size: 13px;
  color: #5b6168;
  text-align: center;
}

/* Asegurar que el card de cobertura permite overflow para el dropdown */
.mc-co-cov-gate { overflow: visible !important; }


/* =========================================================================
 * v2.4.0 — Pulido visual del step cobertura para que se sienta como el form
 * ========================================================================= */

/* Cobertura: convertir el card oscuro azul en blanco con notch como el form */
.mc-co-cov-gate {
  background: #fff !important;
  border: 1px solid #E1E3EE !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(15,18,48,.06), 0 4px 16px rgba(15,18,48,.06) !important;
  padding: 24px !important;
  color: #0A1130 !important;
}
.mc-co-cov-gate__hero {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}
.mc-co-cov-gate__hero h3 {
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0A1130 !important;
}
.mc-co-cov-gate__icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #F4F5FF !important;
  color: #001EE4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

/* Card del input + botón */
.mc-co-cov-gate__card {
  position: relative !important;
  display: flex !important;
  gap: 10px !important;
  align-items: stretch !important;
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 12px !important;
}
.mc-co-cov-gate__card input[type="text"],
input#mc-co-cov1-direccion {
  flex: 1 1 auto !important;
  padding: 14px 16px !important;
  border: 1px solid #E1E3EE !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  background: #fff !important;
  color: #0A1130 !important;
  transition: border-color .12s, box-shadow .12s !important;
  font-family: inherit !important;
}
.mc-co-cov-gate__card input:focus,
input#mc-co-cov1-direccion:focus {
  outline: 0 !important;
  border-color: #001EE4 !important;
  box-shadow: 0 0 0 3px rgba(0,30,228,.12) !important;
}
.mc-co-cov-gate__btn,
button#mc-co-cov1-btn {
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #001EE4 !important;
  color: #fff !important;
  font: inherit !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color .12s !important;
  white-space: nowrap !important;
}
.mc-co-cov-gate__btn:hover,
button#mc-co-cov1-btn:hover { background: #0014a8 !important; }

/* Resultado de cobertura */
.mc-co-cov-gate__result {
  margin-top: 14px !important;
  padding: 12px 14px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  border: 1px solid transparent !important;
}
.mc-co-cov-gate__result.is-ok {
  background: rgba(31,122,74,.08) !important;
  border-color: rgba(31,122,74,.25) !important;
  color: #1f7a4a !important;
}
.mc-co-cov-gate__result.is-warn {
  background: rgba(178,106,0,.08) !important;
  border-color: rgba(178,106,0,.25) !important;
  color: #b26a00 !important;
}
.mc-co-cov-gate__result.is-no,
.mc-co-cov-gate__result.is-error {
  background: rgba(183,28,43,.08) !important;
  border-color: rgba(183,28,43,.25) !important;
  color: #b71c2b !important;
}
.mc-co-cov-gate__legal {
  margin-top: 12px !important;
  font-size: 12px !important;
  color: #5b6168 !important;
}
.mc-co-cov-gate__legal a { color: #001EE4 !important; text-decoration: underline !important; }

/* Coherencia de actions en todos los steps */
.mc-co-actions {
  display: flex !important;
  gap: 12px !important;
  margin-top: 24px !important;
  flex-wrap: wrap !important;
}
.mc-co-actions .mc-co-btn--primary {
  margin-left: auto !important;
}

/* =========================================================================
 * v2.4.0 — Pulido visual radios particular/empresa
 * ========================================================================= */
.mc-co-radio {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  border: 1px solid #E1E3EE !important;
  border-radius: 999px !important;
  background: #fff !important;
  cursor: pointer !important;
  font-weight: 500 !important;
  color: #0A1130 !important;
  transition: background-color .12s, border-color .12s, color .12s !important;
}
.mc-co-radio:hover { background: #F4F5FF !important; }
.mc-co-radio.is-checked {
  background: #001EE4 !important;
  border-color: #001EE4 !important;
  color: #fff !important;
}
.mc-co-radio input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.mc-co-radios { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; }

/* =========================================================================
 * v2.4.0 — Animación suave al ocultar/mostrar campos por tipo de cliente
 * ========================================================================= */
[data-only] {
  transition: opacity .15s !important;
}
[data-only][hidden] {
  display: none !important;
  opacity: 0 !important;
}

/* =============================================================================
 * v2.5.0 — Premium upgrade · nivel Vodafone/Movistar/O2
 * Layer al final para ganar la cascada y elevar la ejecución del checkout
 * sin tocar HTML ni JS. Diseño sobrio, generoso de aire, jerarquía clara,
 * sombras suaves elevables, microinteracciones, mobile pulido.
 * ============================================================================= */

.mc-co {
  /* Tokens premium — sobrescriben los del legacy */
  --mc-blue:        #001EE4;
  --mc-blue-700:    #0014a8;
  --mc-blue-800:    #000F73;
  --mc-blue-50:     #F0F2FF;
  --mc-blue-100:    #E1E5FF;
  --mc-mint:        #B6FBD9;
  --mc-mint-dark:   #1F7A4A;
  --mc-ink:         #0A1130;
  --mc-ink-2:       #2B3155;
  --mc-mute:        #5B6079;
  --mc-line:        #E5E7F2;
  --mc-line-2:      #F0F2F8;
  --mc-bg:          #FFFFFF;
  --mc-bg-alt:      #FAFBFE;
  --mc-error:       #B71C2B;
  --mc-warn:        #B26A00;

  --mc-r-sm:  10px;
  --mc-r-md:  14px;
  --mc-r-lg:  20px;
  --mc-r-xl:  28px;

  --mc-elev-1:  0 1px 2px rgba(10,17,48,.04), 0 2px 6px rgba(10,17,48,.05);
  --mc-elev-2:  0 2px 4px rgba(10,17,48,.05), 0 12px 28px rgba(10,17,48,.10);
  --mc-elev-3:  0 4px 8px rgba(10,17,48,.06), 0 24px 56px rgba(10,17,48,.14);

  --mc-trans:   200ms cubic-bezier(.2,.6,.2,1);

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  color: var(--mc-ink) !important;
}

/* ---------- Hero del checkout ---------- */
.mc-co .mc-co-hero { padding: 56px 0 32px !important; text-align: center !important; }
.mc-co .mc-co-hero__title {
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: var(--mc-blue) !important;
  margin: 0 0 12px !important;
}
.mc-co .mc-co-hero__sub,
.mc-co .mc-co-hero__lead {
  font-size: 15px !important;
  color: var(--mc-mute) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  display: inline-flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}
.mc-co .mc-co-hero__sub > span,
.mc-co .mc-co-hero__lead > span {
  display: inline-flex !important;
  align-items: center !important;
}

/* ---------- Banner cobertura ---------- */
.mc-co .mc-co-cov-banner,
.mc-co .mc-co-cov__banner {
  background: linear-gradient(135deg, var(--mc-blue) 0%, var(--mc-blue-800) 100%) !important;
  color: #fff !important;
  padding: 14px 24px !important;
  border-radius: var(--mc-r-md) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  box-shadow: var(--mc-elev-1) !important;
}

/* ---------- Stepper premium con progressbar ---------- */
.mc-co .mc-co-stepper {
  background: var(--mc-bg) !important;
  border: 1px solid var(--mc-line) !important;
  border-radius: var(--mc-r-lg) !important;
  padding: 18px 24px !important;
  margin-bottom: 28px !important;
  box-shadow: var(--mc-elev-1) !important;
}
.mc-co .mc-co-stepper__list {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.mc-co .mc-co-stepper__item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 6px 4px !important;
  white-space: nowrap !important;
  color: var(--mc-mute) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  position: relative !important;
}
.mc-co .mc-co-stepper__num {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: var(--mc-line-2) !important;
  color: var(--mc-mute) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  border: 2px solid transparent !important;
  transition: all var(--mc-trans) !important;
  flex: 0 0 30px !important;
}
.mc-co .mc-co-stepper__item.is-current { color: var(--mc-blue) !important; font-weight: 700 !important; }
.mc-co .mc-co-stepper__item.is-current .mc-co-stepper__num {
  background: var(--mc-blue) !important;
  color: #fff !important;
  border-color: var(--mc-blue) !important;
  box-shadow: 0 0 0 4px var(--mc-blue-50) !important;
}
.mc-co .mc-co-stepper__item.is-done { color: var(--mc-mint-dark) !important; }
.mc-co .mc-co-stepper__item.is-done .mc-co-stepper__num {
  background: var(--mc-mint-dark) !important;
  color: #fff !important;
  border-color: var(--mc-mint-dark) !important;
}
.mc-co .mc-co-stepper__line {
  flex: 1 1 auto !important;
  height: 2px !important;
  background: var(--mc-line-2) !important;
  border-radius: 2px !important;
  min-width: 24px !important;
  transition: background var(--mc-trans) !important;
}

/* ---------- Layout principal ---------- */
.mc-co .mc-co-shell,
.mc-co .mc-co-main { gap: 28px !important; }
.mc-co .mc-co-section,
.mc-co .mc-co-step {
  background: var(--mc-bg) !important;
  border: 1px solid var(--mc-line) !important;
  border-radius: var(--mc-r-lg) !important;
  box-shadow: var(--mc-elev-1) !important;
  padding: 28px !important;
}
.mc-co .mc-co-step__head {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
}
.mc-co .mc-co-step__num {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--mc-blue) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  flex: 0 0 36px !important;
}
.mc-co .mc-co-step__title {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--mc-ink) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 4px !important;
}
.mc-co .mc-co-step__lead {
  margin: 0 !important;
  color: var(--mc-mute) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* ---------- Cards mode selector (Elige tu tarifa / Configúrala) ---------- */
.mc-co .mc-co-mode__grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}
.mc-co .mc-co-mode__card {
  position: relative !important;
  background: var(--mc-bg) !important;
  border: 2px solid var(--mc-line) !important;
  border-radius: var(--mc-r-md) !important;
  padding: 28px 24px !important;
  cursor: pointer !important;
  transition: transform var(--mc-trans), border-color var(--mc-trans), box-shadow var(--mc-trans) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.mc-co .mc-co-mode__card:hover {
  transform: translateY(-3px) !important;
  border-color: var(--mc-blue) !important;
  box-shadow: var(--mc-elev-2) !important;
}
.mc-co .mc-co-mode__card.is-recommended { border-color: var(--mc-blue) !important; box-shadow: var(--mc-elev-2) !important; }
.mc-co .mc-co-mode__badge {
  position: absolute !important;
  top: -10px !important; left: 24px !important;
  background: var(--mc-blue) !important; color: #fff !important;
  padding: 4px 12px !important;
  font-size: 10px !important; font-weight: 800 !important;
  letter-spacing: .5px !important; text-transform: uppercase !important;
  border-radius: 999px !important;
}
.mc-co .mc-co-mode__icon {
  width: 48px !important; height: 48px !important;
  background: var(--mc-blue) !important; color: #fff !important;
  border-radius: 12px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  margin-bottom: 4px !important;
}
.mc-co .mc-co-mode__title {
  font-size: 18px !important; font-weight: 700 !important;
  color: var(--mc-ink) !important; margin: 0 !important;
  letter-spacing: -0.01em !important;
}
.mc-co .mc-co-mode__desc {
  font-size: 14px !important; color: var(--mc-mute) !important;
  line-height: 1.5 !important; margin: 0 !important; font-weight: 500 !important;
}

/* ---------- Sidecart premium ---------- */
.mc-co .mc-co-cart,
.mc-co .mc-co-sidecart {
  background: var(--mc-bg) !important;
  border: 1px solid var(--mc-line) !important;
  border-radius: var(--mc-r-lg) !important;
  padding: 24px !important;
  box-shadow: var(--mc-elev-1) !important;
  position: sticky !important; top: 24px !important;
}
.mc-co .mc-co-cart__title,
.mc-co .mc-co-sidecart__title {
  font-size: 13px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .8px !important;
  color: var(--mc-mute) !important; margin: 0 0 16px !important;
}
.mc-co .mc-co-cart__line,
.mc-co .mc-co-sidecart__line {
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--mc-line) !important;
}
.mc-co .mc-co-cart__line:last-of-type { border-bottom: 0 !important; }
.mc-co .mc-co-cart__name {
  font-size: 14px !important; font-weight: 600 !important;
  color: var(--mc-ink) !important;
}
.mc-co .mc-co-cart__price {
  font-size: 14px !important; font-weight: 700 !important;
  color: var(--mc-ink) !important;
}
.mc-co .mc-co-cart__total,
.mc-co .mc-co-sidecart__total {
  margin-top: 16px !important;
  padding: 20px 22px !important;
  background: linear-gradient(135deg, var(--mc-blue) 0%, var(--mc-blue-800) 100%) !important;
  color: #fff !important;
  border-radius: var(--mc-r-md) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  position: relative !important;
  overflow: hidden !important;
}
.mc-co .mc-co-cart__total::after,
.mc-co .mc-co-sidecart__total::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(120% 80% at 100% 0%, rgba(255,255,255,.18), transparent 60%) !important;
  pointer-events: none !important;
}
.mc-co .mc-co-cart__total-label {
  font-size: 12px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: .6px !important;
  opacity: .8 !important; margin: 0 !important;
}
.mc-co .mc-co-cart__total-amount {
  font-size: 30px !important; font-weight: 800 !important;
  line-height: 1.1 !important; letter-spacing: -0.02em !important;
  display: flex !important; align-items: baseline !important; gap: 6px !important;
}
.mc-co .mc-co-cart__total-amount small { font-size: 14px !important; font-weight: 600 !important; opacity: .85 !important; }
.mc-co .mc-co-cart__total-tax {
  font-size: 11px !important; opacity: .75 !important; margin-top: 2px !important;
}

/* ---------- Botones premium ---------- */
.mc-co .mc-co-btn,
.mc-co button.mc-co-btn,
.mc-co .mc-co-cart__cta,
.mc-co .mc-co-step__cta,
.mc-co button[data-step-next] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  border-radius: 12px !important;
  border: 0 !important;
  cursor: pointer !important;
  transition: transform var(--mc-trans), box-shadow var(--mc-trans), background-color var(--mc-trans) !important;
  font-family: inherit !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
.mc-co .mc-co-btn--primary,
.mc-co button.mc-co-btn--primary,
.mc-co .mc-co-cart__cta {
  background: linear-gradient(135deg, var(--mc-blue) 0%, var(--mc-blue-700) 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(0,30,228,.25) !important;
}
.mc-co .mc-co-btn--primary:hover,
.mc-co button.mc-co-btn--primary:hover,
.mc-co .mc-co-cart__cta:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(0,30,228,.35) !important;
}
.mc-co .mc-co-btn--primary:active { transform: translateY(0) !important; }
.mc-co .mc-co-btn--primary:disabled,
.mc-co .mc-co-cart__cta:disabled,
.mc-co .mc-co-btn--disabled {
  background: var(--mc-line-2) !important;
  color: var(--mc-mute) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  transform: none !important;
}
.mc-co .mc-co-btn--ghost,
.mc-co button.mc-co-btn--ghost {
  background: var(--mc-bg) !important;
  color: var(--mc-ink) !important;
  border: 1.5px solid var(--mc-line) !important;
}
.mc-co .mc-co-btn--ghost:hover {
  background: var(--mc-blue-50) !important;
  border-color: var(--mc-blue) !important;
  color: var(--mc-blue) !important;
}

/* ---------- Trust strip ---------- */
.mc-co .mc-co-trust,
.mc-co .mc-co-trust-strip,
.mc-co .mc-co-features-strip {
  background: var(--mc-bg-alt) !important;
  border: 1px solid var(--mc-line) !important;
  border-radius: var(--mc-r-lg) !important;
  padding: 28px !important;
  margin-top: 32px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 24px !important;
  text-align: center !important;
}
.mc-co .mc-co-trust__item,
.mc-co .mc-co-trust-strip__item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
}
.mc-co .mc-co-trust__icon { color: var(--mc-blue) !important; width: 32px !important; height: 32px !important; }
.mc-co .mc-co-trust__title,
.mc-co .mc-co-trust-strip__title {
  font-size: 15px !important; font-weight: 700 !important; color: var(--mc-ink) !important; margin: 0 !important;
}
.mc-co .mc-co-trust__desc,
.mc-co .mc-co-trust-strip__desc {
  font-size: 13px !important; color: var(--mc-mute) !important; margin: 0 !important; font-weight: 500 !important;
}

/* ---------- Tarifa cards más premium ---------- */
.mc-co .mc-co-tariff-card,
.mc-co .mc-tarifa-card,
.mc-co .moovi-tariff-card {
  border-radius: var(--mc-r-lg) !important;
  box-shadow: var(--mc-elev-1) !important;
  transition: transform var(--mc-trans), box-shadow var(--mc-trans) !important;
}
.mc-co .mc-co-tariff-card:hover,
.mc-co .mc-tarifa-card:hover,
.mc-co .moovi-tariff-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--mc-elev-2) !important;
}

/* ---------- Form fields & notch labels ---------- */
.mc-co .mc-co-field,
.mc-co .mc-co-field--notch {
  position: relative !important;
}
.mc-co .mc-co-field input,
.mc-co .mc-co-field select,
.mc-co .mc-co-field textarea {
  padding: 14px 16px !important;
  border: 1.5px solid var(--mc-line) !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-family: inherit !important;
  background: var(--mc-bg) !important;
  color: var(--mc-ink) !important;
  width: 100% !important;
  transition: border-color var(--mc-trans), box-shadow var(--mc-trans) !important;
}
.mc-co .mc-co-field input:focus,
.mc-co .mc-co-field select:focus,
.mc-co .mc-co-field textarea:focus {
  outline: 0 !important;
  border-color: var(--mc-blue) !important;
  box-shadow: 0 0 0 4px var(--mc-blue-50) !important;
}
.mc-co .mc-co-field.is-invalid input,
.mc-co .mc-co-field.is-invalid select {
  border-color: var(--mc-error) !important;
  box-shadow: 0 0 0 4px rgba(183,28,43,.08) !important;
}
.mc-co .mc-co-field__msg,
.mc-co .mc-co-field__error {
  font-size: 12px !important;
  font-weight: 500 !important;
  margin-top: 6px !important;
  color: var(--mc-error) !important;
  display: block !important;
}
.mc-co .mc-co-field__hint {
  font-size: 12px !important;
  color: var(--mc-mute) !important;
  margin-top: 6px !important;
  display: block !important;
}

/* ---------- Mobile bottom action bar ---------- */
@media (max-width: 768px) {
  .mc-co .mc-co-step,
  .mc-co .mc-co-section { padding: 20px !important; border-radius: var(--mc-r-md) !important; }
  .mc-co .mc-co-step__title { font-size: 18px !important; }
  .mc-co .mc-co-stepper { padding: 14px !important; }
  .mc-co .mc-co-stepper__item__label,
  .mc-co .mc-co-stepper__label { display: none !important; }
  .mc-co .mc-co-stepper__item.is-current .mc-co-stepper__label { display: inline !important; }
  .mc-co .mc-co-cart,
  .mc-co .mc-co-sidecart { position: static !important; padding: 18px !important; }
  .mc-co .mc-co-mobile-bar,
  .mc-co .mc-co-bottom-bar {
    position: fixed !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    background: var(--mc-bg) !important;
    border-top: 1px solid var(--mc-line) !important;
    padding: 12px 16px env(safe-area-inset-bottom) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    z-index: 50 !important;
    box-shadow: 0 -4px 16px rgba(10,17,48,.08) !important;
  }
}

/* ---------- Cobertura "Tienes cobertura" notch banner ---------- */
.mc-cob-bar,
.mc-cobertura-bar,
.mc-co-tienes-cobertura {
  background: linear-gradient(135deg, var(--mc-blue) 0%, var(--mc-blue-700) 100%) !important;
  color: #fff !important;
  padding: 14px 22px !important;
  border-radius: var(--mc-r-md) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  box-shadow: 0 6px 18px rgba(0,30,228,.25) !important;
}

/* Suprimir border feo del configurador interno cuando toca al contratar */
.mc-co .mc-co-section + .mc-co-section { margin-top: 24px !important; }

/* =============================================================================
 * v2.5.2 — Refinamiento del rediseño: pesos más razonables, círculos
 * realmente redondos, inputs con padding restaurado para no solapar el notch,
 * font heredada del tema (no forzar Inter).
 * Inspiración: O2 (peso 600-700, espaciado generoso, círculos prominentes).
 * ============================================================================= */

.mc-co {
  /* Quitar la fuerza de Inter — el tema moovi ya carga Poppins desde Google Fonts.
     Dejamos un fallback robusto pero NO override agresivo. */
  font-family: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* ---------- Pesos: bajar de 800 a 700 max, 600 en sub-títulos ---------- */
.mc-co .mc-co-hero__title { font-weight: 700 !important; letter-spacing: -0.01em !important; }
.mc-co .mc-co-step__title { font-weight: 700 !important; letter-spacing: 0 !important; }
.mc-co .mc-co-mode__title { font-weight: 700 !important; letter-spacing: 0 !important; }
.mc-co .mc-co-cart__total-amount,
.mc-co .mc-co-sidecart__total-amount { font-weight: 700 !important; letter-spacing: -0.01em !important; }
.mc-co .mc-co-cart__total-amount small,
.mc-co .mc-co-sidecart__total-amount small { font-weight: 500 !important; }
.mc-co .mc-co-cart__title,
.mc-co .mc-co-sidecart__title { font-weight: 600 !important; letter-spacing: .4px !important; font-size: 14px !important; text-transform: none !important; }
.mc-co .mc-co-mode__badge { font-weight: 700 !important; letter-spacing: .3px !important; }
.mc-co .mc-co-stepper__item { font-weight: 500 !important; }
.mc-co .mc-co-stepper__item.is-current { font-weight: 600 !important; }
.mc-co .mc-co-btn,
.mc-co button.mc-co-btn,
.mc-co .mc-co-cart__cta { font-weight: 600 !important; letter-spacing: 0 !important; }
.mc-co .mc-co-trust__title,
.mc-co .mc-co-trust-strip__title { font-weight: 600 !important; }

/* ---------- Círculos REALMENTE redondos ---------- */
.mc-co .mc-co-stepper__num,
.mc-co .mc-co-step__num,
.mc-co .mc-co-mode__icon {
  aspect-ratio: 1 / 1 !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  box-sizing: border-box !important;
}
.mc-co .mc-co-stepper__num {
  width: 32px !important; height: 32px !important;
  min-width: 32px !important; min-height: 32px !important;
  flex: 0 0 32px !important;
  border-radius: 50% !important;
  font-size: 13px !important;
}
.mc-co .mc-co-step__num {
  width: 40px !important; height: 40px !important;
  min-width: 40px !important; min-height: 40px !important;
  flex: 0 0 40px !important;
  border-radius: 50% !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
.mc-co .mc-co-mode__icon {
  width: 56px !important; height: 56px !important;
  min-width: 56px !important; min-height: 56px !important;
  flex: 0 0 56px !important;
  border-radius: 14px !important;
}

/* Stepper: el item es contenedor flex, NO debe achicar el círculo */
.mc-co .mc-co-stepper__item { flex-shrink: 0 !important; }

/* ---------- Form fields: restaurar padding que respete los notch labels ---------- */
.mc-co .mc-co-field--notch input,
.mc-co .mc-co-field--notch select,
.mc-co .mc-co-field--notch textarea {
  /* Notch labels se posicionan en top: 0 con transform: translateY(-50%).
     El input necesita padding-top suficiente para no solapar con el label flotante. */
  padding-top: 18px !important;
  padding-bottom: 10px !important;
}
.mc-co .mc-co-field input:not([type="checkbox"]):not([type="radio"]),
.mc-co .mc-co-field select,
.mc-co .mc-co-field textarea {
  /* Inputs sin notch: padding clásico simétrico */
  padding: 12px 14px !important;
}

/* ---------- Letter-spacing global más suave ---------- */
.mc-co * { letter-spacing: normal !important; }
.mc-co .mc-co-hero__title { letter-spacing: -0.01em !important; }
.mc-co .mc-co-cart__total-amount,
.mc-co .mc-co-sidecart__total-amount { letter-spacing: -0.01em !important; }

/* ---------- Hero menos agresivo ---------- */
.mc-co .mc-co-hero__title { font-size: clamp(26px, 3.4vw, 38px) !important; }

/* ---------- Stepper líneas conectoras un pelín más visibles ---------- */
.mc-co .mc-co-stepper__line { background: var(--mc-line) !important; }

/* ---------- Cards mode: hover lift más sutil ---------- */
.mc-co .mc-co-mode__card:hover { transform: translateY(-2px) !important; }

/* ---------- Sidecart total: gradient más sutil, no tan agresivo ---------- */
.mc-co .mc-co-cart__total,
.mc-co .mc-co-sidecart__total {
  background: linear-gradient(140deg, #001EE4 0%, #0014a8 100%) !important;
  padding: 18px 20px !important;
}
.mc-co .mc-co-cart__total-amount,
.mc-co .mc-co-sidecart__total-amount { font-size: 28px !important; }

/* ---------- Botones: padding más equilibrado ---------- */
.mc-co .mc-co-btn,
.mc-co button.mc-co-btn,
.mc-co .mc-co-cart__cta {
  padding: 12px 22px !important;
  font-size: 14px !important;
  border-radius: 10px !important;
}

/* ---------- Trust strip menos grande ---------- */
.mc-co .mc-co-trust,
.mc-co .mc-co-trust-strip { padding: 22px !important; }
.mc-co .mc-co-trust__title,
.mc-co .mc-co-trust-strip__title { font-size: 14px !important; }
.mc-co .mc-co-trust__desc,
.mc-co .mc-co-trust-strip__desc { font-size: 12px !important; }

/* ---------- Step head: alinear bien círculo + texto ---------- */
.mc-co .mc-co-step__head {
  align-items: center !important;
}

/* ---------- Inputs notch: el label NO tiene fondo blanco si el input está vacío
     (eso provocaba el "rectángulo blanco encima del texto" reportado en otra ocasión) ---------- */
.mc-co .mc-co-field--notch label {
  background: transparent !important;
  padding: 0 4px !important;
}
.mc-co .mc-co-field--notch.is-focused label,
.mc-co .mc-co-field--notch.is-filled label {
  background: var(--mc-bg) !important;
  background: white !important;
}


/* =============================================================================
 * v2.5.3 — Bundle de fixes UI
 * ============================================================================= */

/* ---------- Stepper: ocultar steps skipped DEFINITIVAMENTE ---------- */
.mc-co .mc-co-stepper__item.is-skipped,
.mc-co-stepper__item.is-skipped {
  display: none !important;
}
.mc-co .mc-co-stepper__item.is-skipped + .mc-co-stepper__line,
.mc-co-stepper__item.is-skipped + .mc-co-stepper__line {
  display: none !important;
}

/* ---------- Badge RECOMENDADO ANCLADO a la card específica, no al grid ---------- */
.mc-co .mc-co-mode__card { position: relative !important; overflow: visible !important; }
.mc-co .mc-co-mode__badge {
  position: absolute !important;
  top: -10px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 2 !important;
}
/* Si el badge está fuera de la card por error en el HTML legacy, lo escondemos */
.mc-co .mc-co-mode__grid > .mc-co-mode__badge { display: none !important; }

/* ---------- Form empresa: legend dinámico, labels NO truncados ---------- */
.mc-co .mc-co-fset__legend,
.mc-co .mc-co-form legend {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--mc-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 12px !important;
}
/* Renombrar legend "Datos personales" → "Datos de la empresa" cuando empresa */
.mc-co .mc-co-form.is-empresa fieldset .mc-co-fset__legend:not(:empty) {
  /* Mantenemos el texto original; el JS ya cambia data-only.
     Solo nos aseguramos de que se vea bien. */
}
/* CRÍTICO: labels NO deben truncarse con ellipsis. Permitir wrap. */
.mc-co .mc-co-field--notch label,
.mc-co .mc-co-field label {
  white-space: normal !important;
  text-overflow: clip !important;
  overflow: visible !important;
  max-width: none !important;
  word-break: normal !important;
  hyphens: none !important;
  line-height: 1.2 !important;
}

/* ---------- Step Cobertura: botón Siguiente NO debe solapar input ---------- */
.mc-co .mc-co-cov-gate__card {
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.mc-co .mc-co-cov-gate__card input[type="text"],
.mc-co input#mc-co-cov1-direccion {
  flex: 1 1 100% !important;
  min-width: 0 !important;
}
.mc-co .mc-co-cov-gate__btn,
.mc-co button#mc-co-cov1-btn {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 140px !important;
  align-self: flex-start !important;
  margin-top: 4px !important;
}

/* ---------- Sidecart: nombre de tarifa con espacio ---------- */
.mc-co .mc-co-cart__name,
.mc-co .mc-co-sidecart__name {
  word-spacing: 0.1em !important;
  white-space: normal !important;
  /* Forzar wrap entre Fibra y 1GB cuando vienen pegados del backend */
  word-break: break-word !important;
}

/* ---------- Sidecart: spacing arreglado, no tan exagerado ---------- */
.mc-co .mc-co-cart,
.mc-co .mc-co-sidecart { padding: 20px !important; }
.mc-co .mc-co-cart__title,
.mc-co .mc-co-sidecart__title { margin-bottom: 12px !important; }
.mc-co .mc-co-cart__total-amount {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  font-size: 26px !important;
}

/* ---------- IVA dropdown / tooltip — z-index y position ---------- */
.mc-co .mc-co-iva-dropdown,
.mc-co .mc-co-iva-options,
.mc-co [class*="iva"][class*="dropdown"],
.mc-co [class*="iva"][class*="popover"],
.mc-co [class*="iva"][class*="menu"] {
  position: absolute !important;
  z-index: 100 !important;
  background: #fff !important;
  border: 1px solid var(--mc-line) !important;
  border-radius: 12px !important;
  box-shadow: var(--mc-elev-2) !important;
  color: var(--mc-ink) !important;
  padding: 8px !important;
  min-width: 200px !important;
}
.mc-co .mc-co-iva-dropdown li,
.mc-co .mc-co-iva-options li,
.mc-co [class*="iva"][class*="dropdown"] li {
  padding: 10px 12px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
}
.mc-co .mc-co-iva-dropdown li:hover,
.mc-co .mc-co-iva-options li:hover {
  background: var(--mc-blue-50) !important;
}

/* ---------- Empresa form: grid layout limpio ---------- */
.mc-co .mc-co-form .mc-co-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.mc-co .mc-co-form .mc-co-fields .mc-co-field--full {
  grid-column: 1 / -1 !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-form .mc-co-fields {
    grid-template-columns: 1fr !important;
  }
}

/* =============================================================================
 * v2.5.4 — Cards radio estilo Lowi/O2 con título + pill verde mint + descripción
 * Aplicado a portabilidad ("Me traigo mi número" / "Quiero un número nuevo")
 * y SIM/eSIM ("eSIM INMEDIATA" / "SIM física").
 * ============================================================================= */

/* Subtitle bajo legend */
.mc-co .mc-co-fset__lead {
  margin: -4px 0 16px !important;
  color: var(--mc-mute) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Grid 2 columnas para las cards radio */
.mc-co .mc-co-card-radios {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-card-radios {
    grid-template-columns: 1fr !important;
  }
}

/* Card radio individual */
.mc-co .mc-co-card-radio {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 18px 18px 18px 48px !important;
  background: #fff !important;
  border: 2px solid var(--mc-line) !important;
  border-radius: 14px !important;
  cursor: pointer !important;
  transition: border-color var(--mc-trans), background-color var(--mc-trans), box-shadow var(--mc-trans) !important;
  font-family: inherit !important;
}
.mc-co .mc-co-card-radio:hover {
  border-color: var(--mc-blue) !important;
  background: var(--mc-blue-50) !important;
}

/* El input radio nativo lo escondemos pero accesible */
.mc-co .mc-co-card-radio input[type="radio"] {
  position: absolute !important;
  top: 20px !important;
  left: 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 2px solid var(--mc-line) !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: border-color var(--mc-trans), background var(--mc-trans) !important;
}
.mc-co .mc-co-card-radio input[type="radio"]:checked {
  border-color: var(--mc-blue) !important;
  background: radial-gradient(circle, var(--mc-blue) 0 5px, #fff 6px 100%) !important;
}

/* Estado seleccionado: borde azul y fondo lavanda muy suave */
.mc-co .mc-co-card-radio.is-checked,
.mc-co .mc-co-card-radio:has(input[type="radio"]:checked) {
  border-color: var(--mc-blue) !important;
  background: var(--mc-blue-50) !important;
  box-shadow: 0 0 0 1px var(--mc-blue) inset !important;
}

/* Header con título + pill */
.mc-co .mc-co-card-radio__head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.mc-co .mc-co-card-radio__title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--mc-ink) !important;
  letter-spacing: -0.01em !important;
}

/* Pill verde mint estilo Lowi/O2 */
.mc-co .mc-co-card-radio__pill {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 10px !important;
  background: var(--mc-mint, #B6FBD9) !important;
  color: #064E3B !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

/* Descripción */
.mc-co .mc-co-card-radio__desc {
  font-size: 13px !important;
  color: var(--mc-mute) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* SIM section: contenedor de cards radio */
.mc-co .mc-co-sim-section {
  margin-top: 24px !important;
}
.mc-co .mc-co-sim-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.mc-co .mc-co-sim-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.mc-co .mc-co-sim-row__label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--mc-mute) !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
}
/* Importante: el sim-toggle ahora también es .mc-co-card-radios → ya hereda */

/* Numeración pequeña antes del legend (estilo subpaso "1, 2") */
.mc-co .mc-co-fset {
  position: relative !important;
  margin-bottom: 28px !important;
  padding-left: 0 !important;
  border: 0 !important;
}
.mc-co .mc-co-fset__legend {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--mc-ink) !important;
  margin-bottom: 6px !important;
  padding: 0 !important;
}

/* Campos condicionales de portabilidad: ocultos hasta que se seleccione "portar" */
.mc-co [data-portab-fields] { display: none !important; }
.mc-co .mc-co-form.has-portab [data-portab-fields] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 8px !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-form.has-portab [data-portab-fields] {
    grid-template-columns: 1fr !important;
  }
}
.mc-co .mc-co-form.has-portab [data-portab-fields] .mc-co-field--full {
  grid-column: 1 / -1 !important;
}

/* ==========================================================================
   v2.6.1 — Tipografía Poppins SemiBold (600) en titulares
   - Pasamos de bold (700) a semibold (600) para look más refinado
   - Aplica a hero, steps, modes, cards radio, fieldset legends, totales
   ========================================================================== */
.mc-co .mc-co-hero__title,
.mc-co .mc-co-step__title,
.mc-co .mc-co-mode__title,
.mc-co .mc-co-card-radio__title,
.mc-co .mc-co-fset__legend,
.mc-co .mc-co-section__title,
.mc-co .mc-co-side__title,
.mc-co .mc-co-summary__title,
.mc-co .mc-co-cobertura__title,
.mc-co .mc-co-modal__title {
  font-weight: 600 !important;
}

.mc-co .mc-co-cart__total,
.mc-co .mc-co-cart__total-amount,
.mc-co .mc-co-sidecart__total,
.mc-co .mc-co-sidecart__total-amount,
.mc-co .mc-co-summary__total,
.mc-co .mc-co-summary__total-amount {
  font-weight: 600 !important;
}

/* Botones primarios: semibold también, no chunky bold */
.mc-co .mc-co-btn--primary,
.mc-co .mc-co-btn--cta,
.mc-co .mc-co-btn-primary {
  font-weight: 600 !important;
}

/* Pills y badges: medium, no bold */
.mc-co .mc-co-pill,
.mc-co .mc-co-badge,
.mc-co .mc-co-card-radio__pill {
  font-weight: 500 !important;
}

/* ============================================================================
   v2.6.2 — Escala tipográfica alineada con moovitelecom.com
   Captura real de la web (3 May 2026):
     body: 13px / lh 26 / 300 Poppins
     h1:   29px / 600
     h2:   17-30px (40-80px en hero) / 400-700
     h3:   20px / 600  ← patrón estándar de títulos de sección
     p:    13px / 300
     .elementor-button: 15px / 400
     button: 15px / 500
   Nuestro objetivo: que el checkout se sienta "del mismo sitio".
   ========================================================================== */

/* Familia: forzar Poppins en todo el .mc-co (ya estaba pero sin importance) */
.mc-co,
.mc-co * {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Body baseline en el contenedor */
.mc-co {
  font-size: 14px !important;          /* 1px más que la web; el checkout pide más densidad de info */
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: var(--mc-ink) !important;
}

/* Hero del checkout (título principal) */
.mc-co .mc-co-hero__title {
  font-size: clamp(22px, 2.4vw, 28px) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}
.mc-co .mc-co-hero__subtitle,
.mc-co .mc-co-hero__lead {
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: var(--mc-ink-soft) !important;
}

/* Títulos de step (Tu pedido · Tus datos · Pago) — patrón h3 de la web */
.mc-co .mc-co-step__title,
.mc-co .mc-co-section__title {
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: var(--mc-blue) !important;
}

/* Sub-títulos / mode__title / fset legends */
.mc-co .mc-co-mode__title,
.mc-co .mc-co-fset__legend,
.mc-co .mc-co-side__title,
.mc-co .mc-co-summary__title,
.mc-co .mc-co-cobertura__title {
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  color: var(--mc-ink) !important;
}

/* Mode descriptions */
.mc-co .mc-co-mode__desc,
.mc-co .mc-co-step__desc,
.mc-co .mc-co-section__desc {
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: var(--mc-ink-soft) !important;
}

/* Cards radio (Lowi/O2 style) */
.mc-co .mc-co-card-radio__title {
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}
.mc-co .mc-co-card-radio__desc {
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: var(--mc-ink-soft) !important;
}
.mc-co .mc-co-card-radio__pill {
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}

/* Cart / sidecart / summary */
.mc-co .mc-co-cart__item-name,
.mc-co .mc-co-sidecart__item-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}
.mc-co .mc-co-cart__item-price,
.mc-co .mc-co-sidecart__item-price {
  font-size: 14px !important;
  font-weight: 500 !important;
}
.mc-co .mc-co-cart__total,
.mc-co .mc-co-sidecart__total,
.mc-co .mc-co-summary__total {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--mc-ink-soft) !important;
}
.mc-co .mc-co-cart__total-amount,
.mc-co .mc-co-sidecart__total-amount,
.mc-co .mc-co-summary__total-amount {
  font-size: 22px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  color: var(--mc-blue) !important;
}

/* Form labels y notch labels */
.mc-co .mc-co-field label,
.mc-co .mc-co-field__label,
.mc-co .mc-co-input-wrap label {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  color: var(--mc-ink-soft) !important;
}
.mc-co .mc-co-input,
.mc-co .mc-co-field input,
.mc-co .mc-co-field select,
.mc-co .mc-co-field textarea {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

/* Hint helpers debajo de inputs */
.mc-co .mc-co-field__hint,
.mc-co .mc-co-hint,
.mc-co .mc-co-help {
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

/* Botones — alineados con .elementor-button (15px / 500) */
.mc-co .mc-co-btn,
.mc-co .mc-co-btn--primary,
.mc-co .mc-co-btn--secondary,
.mc-co .mc-co-btn--cta,
.mc-co .mc-co-btn-primary,
.mc-co button.mc-co-cta {
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: .005em !important;
}
.mc-co .mc-co-btn--small,
.mc-co .mc-co-btn-secondary {
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Pills informativas (info debajo de tarifa) */
.mc-co .mc-co-pill,
.mc-co .mc-co-badge,
.mc-co .mc-co-tag {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .005em !important;
}

/* Stepper labels */
.mc-co .mc-co-stepper__label,
.mc-co .mc-co-stepper__step {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
}

/* Cobertura widget interno */
.mc-co .mc-co-cobertura__hint,
.mc-co .mc-co-cobertura__result {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Móvil: bajar el hero un punto */
@media (max-width: 600px) {
  .mc-co .mc-co-hero__title { font-size: 22px !important; }
  .mc-co .mc-co-step__title,
  .mc-co .mc-co-section__title { font-size: 18px !important; }
  .mc-co .mc-co-mode__title,
  .mc-co .mc-co-fset__legend { font-size: 16px !important; }
  .mc-co .mc-co-cart__total-amount,
  .mc-co .mc-co-sidecart__total-amount { font-size: 20px !important; }
}

/* ============================================================================
   v2.6.2 — Recover widget (recuperar carrito): rediseño completo
   Problemas anteriores: writing-mode vertical + rotate(180deg) producía texto
   ilegible sobre fondos oscuros del tema, badge mal posicionado, choque con
   el widget de WhatsApp del footer en móvil.
   Solución: tab horizontal compacto con icono SVG + badge — patrón "chat
   widget" reconocible. En desktop queda como pestaña horizontal flotante
   anclada a la derecha (no vertical), en móvil se queda fuera del path del
   bottom-nav.
   ========================================================================== */

/* Reset de las reglas v0.7.x para evitar conflictos */
#mc-recover .mc-recover-tab,
.mc-recover-tab {
  writing-mode: horizontal-tb !important;
  transform: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Tab moderno: pill horizontal con icono + label + badge */
#mc-recover {
  position: fixed !important;
  right: 16px !important;
  bottom: 92px !important;          /* deja sitio para el chat de WhatsApp */
  top: auto !important;
  z-index: 9990 !important;
}

#mc-recover .mc-recover-tab,
.mc-recover-tab {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--mc-blue) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 10px 16px 10px 12px !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(0, 30, 228, .28) !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
#mc-recover .mc-recover-tab:hover,
.mc-recover-tab:hover {
  background: var(--mc-blue-dark, #001ea0) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 28px rgba(0, 30, 228, .35) !important;
  padding: 10px 16px 10px 12px !important;        /* override del v0.7.x */
}

/* Icono SVG carrito dentro del tab */
#mc-recover .mc-recover-tab__icon {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  color: #fff !important;
}

/* Badge contador: blanco circular sobre el azul del tab */
#mc-recover .mc-recover-tab__count,
.mc-recover-tab__count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: var(--mc-blue) !important;
  border-radius: 999px !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
}

/* Panel desplegado */
.mc-recover-panel {
  position: fixed !important;
  right: 16px !important;
  bottom: 150px !important;              /* arriba del tab */
  top: auto !important;
  width: 340px !important;
  max-width: calc(100vw - 32px) !important;
  background: #fff !important;
  border: 1px solid var(--mc-blue-line, #e3e8f0) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 48px rgba(10, 17, 48, .18) !important;
  padding: 18px 20px !important;
  transform: translateX(120%) !important;  /* fuera de pantalla */
  opacity: 0 !important;
  transition: transform .25s cubic-bezier(.5, 0, .2, 1), opacity .2s ease !important;
  pointer-events: none !important;
  z-index: 9991 !important;
}
.mc-recover-panel.is-open {
  transform: translateX(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.mc-recover-panel__head {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--mc-ink) !important;
  margin: 0 0 14px !important;
  padding-right: 32px !important;       /* sitio para el close */
}
.mc-recover-panel__close {
  width: 28px !important;
  height: 28px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}
.mc-recover-panel__item-name {
  font-size: 13px !important;
  font-weight: 600 !important;
}
.mc-recover-panel__item-price {
  font-size: 16px !important;
  font-weight: 700 !important;
}
.mc-recover-panel__item-price small {
  font-size: 11px !important;
  font-weight: 500 !important;
}
.mc-recover-panel__cta {
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 22px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.mc-recover-panel__trust { font-size: 11px !important; }

/* Móvil: tab más compacto, panel ocupa width casi total */
@media (max-width: 600px) {
  #mc-recover { right: 12px !important; bottom: 84px !important; }
  #mc-recover .mc-recover-tab,
  .mc-recover-tab {
    font-size: 0 !important;          /* oculta el label "Recuperar carrito" */
    padding: 12px !important;          /* botón circular con sólo icono */
    gap: 6px !important;
  }
  #mc-recover .mc-recover-tab__count,
  .mc-recover-tab__count {
    font-size: 10px !important;
    min-width: 18px !important;
    height: 18px !important;
  }
  .mc-recover-panel {
    right: 12px !important;
    bottom: 144px !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* En la página /contratar/ ya hay sidebar: ocultar widget */
body.mc-page-contratar #mc-recover,
body.mc-has-checkout #mc-recover { display: none !important; }

/* ============================================================================
   v2.6.5 — Fix bundle: PRECIO FINAL centrado, IVA dropdown legible, SIM sin
   espacio vacío gigante.
   ========================================================================== */

/* PRECIO FINAL: centrado total, color blanco sólido, popover IVA por encima */
.mc-co .mc-co-cart__total,
.mc-co .mc-co-sidecart__total {
  align-items: center !important;
  text-align: center !important;
  overflow: visible !important;          /* permitir popover salir del bloque */
  position: relative !important;
  z-index: 1 !important;
}
.mc-co .mc-co-cart__total-amount,
.mc-co .mc-co-sidecart__total-amount {
  justify-content: center !important;
  align-items: baseline !important;
  color: #ffffff !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;  /* defeats theme gradient text */
  background: none !important;
}
.mc-co .mc-co-cart__total-amount > *,
.mc-co .mc-co-sidecart__total-amount > * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
.mc-co .mc-co-cart__total-amount [data-cart-amount] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700 !important;
}
/* Toggle IVA centrado */
.mc-co .mc-co-cart__total-iva,
.mc-co .mc-co-cart__total-iva-toggle,
.mc-co .mc-co-sidecart__total-iva-toggle,
.mc-co button.mc-co-cart__total-iva-toggle {
  margin: 8px auto 0 !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}
.mc-co .mc-co-cart__total-iva-toggle:hover {
  background: rgba(255,255,255,.2) !important;
}

/* Popover IVA: salir del bloque PRECIO FINAL, z-index alto */
.mc-co .mc-co-cart__tax-popover,
.mc-co #mc-co-tax-popover {
  position: absolute !important;
  z-index: 100 !important;
  background: #fff !important;
  color: var(--mc-ink) !important;
  border: 1px solid var(--mc-blue-line, #e3e8f0) !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 48px rgba(10, 17, 48, .25) !important;
  padding: 12px !important;
  min-width: 240px !important;
  bottom: auto !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin-top: 8px !important;
}
.mc-co .mc-co-cart__tax-popover[hidden] { display: none !important; }
.mc-co .mc-co-cart__tax-popover button,
.mc-co .mc-co-cart__tax-popover [role="menuitem"] {
  color: var(--mc-ink) !important;
  background: transparent !important;
  width: 100% !important;
  text-align: left !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  border: 0 !important;
  cursor: pointer !important;
}
.mc-co .mc-co-cart__tax-popover button:hover,
.mc-co .mc-co-cart__tax-popover [role="menuitem"]:hover {
  background: var(--mc-blue-soft, #f0f3ff) !important;
}
.mc-co .mc-co-cart__tax-popover .is-active,
.mc-co .mc-co-cart__tax-popover [aria-selected="true"] {
  background: var(--mc-blue) !important;
  color: #fff !important;
}

/* SIM/eSIM: contenedor sin espacio fantasma */
.mc-co [data-sim-line],
.mc-co .mc-co-sim-line,
.mc-co .mc-co-sim-section {
  min-height: 0 !important;
  padding: 16px !important;
}
.mc-co [data-sim-line] .mc-co-card-radios,
.mc-co .mc-co-sim-line .mc-co-card-radios,
.mc-co .mc-co-sim-section .mc-co-card-radios {
  margin-top: 0 !important;
}
.mc-co .mc-co-sim-line__head,
.mc-co .mc-co-sim-section__title,
.mc-co .mc-co-sim-section__head {
  margin: 0 0 12px !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: var(--mc-ink-soft) !important;
}

/* Step 2 cobertura — asegurar que no quede oculto cuando es necesario */
.mc-co .mc-co-step[data-step="2"] {
  display: block !important;
}
.mc-co .mc-co-step[data-step="2"][hidden] {
  display: none !important;
}

/* v2.6.5: Toggle admin para SIM/eSIM choice */
body.mc-co-no-sim-choice .mc-co [data-sim-line],
body.mc-co-no-sim-choice .mc-co .mc-co-sim-line,
body.mc-co-no-sim-choice .mc-co .mc-co-sim-section { display: none !important; }

/* ============================================================================
   v2.6.6 — Configurador compacto estilo DIGI: filas horizontales con qty
   ========================================================================== */

/* Selector qty (− N +) */
.mc-cfg .mc-cfg-qty,
.mc-co .mc-cfg-qty {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 8px !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
  border-radius: 999px !important;
  border: 1px solid var(--mc-blue-line, #e3e8f0) !important;
}
.mc-cfg-qty__btn {
  width: 28px !important; height: 28px !important;
  border-radius: 50% !important;
  border: 1px solid var(--mc-blue-line, #d4dbeb) !important;
  background: #fff !important;
  color: var(--mc-blue, #001ee4) !important;
  font-size: 16px !important; font-weight: 600 !important;
  line-height: 1 !important; cursor: pointer !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
.mc-cfg-qty__btn:hover:not(:disabled) {
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
}
.mc-cfg-qty__btn:disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
}
.mc-cfg-qty__val {
  min-width: 22px !important;
  text-align: center !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--mc-ink, #0a1130) !important;
}

/* Filas DIGI compactas: cuando .is-compact se aplica al root */
.mc-cfg.is-compact .mc-card,
.mc-cfg.is-compact .mc-cfg-card,
.mc-co.is-compact .mc-card {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 14px 18px !important;
  margin-bottom: 8px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid var(--mc-blue-line, #e3e8f0) !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
}
.mc-cfg.is-compact .mc-card.is-active,
.mc-co.is-compact .mc-card.is-active {
  border-color: var(--mc-blue, #001ee4) !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
}
.mc-cfg.is-compact .mc-card.is-incompatible,
.mc-co.is-compact .mc-card.is-incompatible {
  opacity: .45 !important;
  pointer-events: none !important;
}
.mc-cfg.is-compact .mc-card__title,
.mc-co.is-compact .mc-card__title {
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 0 4px !important;
  color: var(--mc-blue, #001ee4) !important;
}
.mc-cfg.is-compact .mc-card__features,
.mc-cfg.is-compact .mc-card__bullets,
.mc-co.is-compact .mc-card__features {
  font-size: 12px !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  margin: 0 !important;
  display: flex !important; flex-wrap: wrap !important; gap: 4px 12px !important;
}
.mc-cfg.is-compact .mc-card__price,
.mc-co.is-compact .mc-card__price {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--mc-blue, #001ee4) !important;
  white-space: nowrap !important;
}
/* Ocultar el flip 3D y otros adornos en modo compacto */
.mc-cfg.is-compact .mc-card__flip-trigger,
.mc-cfg.is-compact .mc-card__back,
.mc-cfg.is-compact .mc-card__cta,
.mc-co.is-compact .mc-card__flip-trigger,
.mc-co.is-compact .mc-card__back { display: none !important; }

/* Mobile: el qty queda debajo del título */
@media (max-width: 600px) {
  .mc-cfg.is-compact .mc-card,
  .mc-co.is-compact .mc-card {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .mc-cfg.is-compact .mc-card .mc-cfg-qty {
    align-self: flex-start !important;
  }
}

/* ============================================================================
   v2.6.8 — QA fixes: header solapado, cart vacío, spacing del form
   ========================================================================== */

/* Header del tema solapa el stepper. Añadimos margen superior al checkout root */
.mc-co {
  padding-top: 16px !important;
}

/* Sidecart "Aún no has elegido tarifa": mensaje claro, centrado, no descolocado */
.mc-co .mc-co-cart__empty,
.mc-co [data-empty] {
  text-align: center !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  font-size: 13px !important;
  font-style: italic !important;
  padding: 18px 12px !important;
  margin: 0 !important;
  list-style: none !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
  border-radius: 10px !important;
}

/* Cuando cart vacío, ocultar precio final + CTA del sidecart para evitar
   confusión (estaba mostrando 4,88 € sin items en el cart) */
.mc-co .mc-co-cart__list:has([data-empty]) ~ .mc-co-cart__total,
.mc-co .mc-co-cart__list:has([data-empty]) ~ .mc-co-cart__cta,
.mc-co .mc-co-cart__list:has([data-empty]) ~ #mc-co-cart-edit {
  display: none !important;
}

/* Form spacing: hints DEBAJO del input, no en columna paralela */
.mc-co .mc-co-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin-bottom: 14px !important;
}
.mc-co .mc-co-field__hint {
  display: block !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  margin-top: 4px !important;
  padding: 0 4px !important;
}
.mc-co .mc-co-field__msg:empty { display: none !important; }
.mc-co .mc-co-field__msg {
  display: block !important;
  font-size: 11px !important;
  color: #b71c2b !important;
  margin-top: 4px !important;
  padding: 0 4px !important;
}

/* Asegurar que los campos respetan grid en filas/columnas razonables */
.mc-co .mc-co-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 16px !important;
}
.mc-co .mc-co-field--full {
  grid-column: 1 / -1 !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-fields { grid-template-columns: 1fr !important; }
}

/* Stepper: pegado arriba del contenido, no oculto */
.mc-co .mc-co-stepper {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Botón "Continuar a tus datos" del sidecart: deshabilitado claramente cuando vacío */
.mc-co #mc-co-cart-edit:disabled,
.mc-co .mc-co-cart__edit--disabled {
  background: #d4dbeb !important;
  color: #888 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

@keyframes mc-co-shake {
  0%,100% { transform: translateX(0); }
  20%,60% { transform: translateX(-4px); }
  40%,80% { transform: translateX(4px); }
}
.mc-co .is-shake {
  animation: mc-co-shake .55s ease-in-out !important;
}

/* ============================================================================
   v2.6.9 — Fix portabilidad: especificidad CSS para ocultar campos cuando
   se elige "Quiero un número nuevo".
   El selector .mc-co-form .mc-co-fields tiene 3 clases (especificidad 0,3,0)
   y ganaba sobre .mc-co [data-portab-fields] (0,2,0). Subimos especificidad
   con doble selector + atributo.
   ========================================================================== */
.mc-co .mc-co-form [data-portab-fields].mc-co-fields,
.mc-co form[id="mc-co-form-2"] [data-portab-fields].mc-co-fields {
  display: none !important;
}
.mc-co .mc-co-form.has-portab [data-portab-fields].mc-co-fields,
.mc-co form[id="mc-co-form-2"].has-portab [data-portab-fields].mc-co-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 16px !important;
  margin-top: 8px !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-form.has-portab [data-portab-fields].mc-co-fields,
  .mc-co form[id="mc-co-form-2"].has-portab [data-portab-fields].mc-co-fields {
    grid-template-columns: 1fr !important;
  }
}

/* También blindar cards radio: al elegir uno, sólo ese se ve activo */
.mc-co .mc-co-card-radios input[type="radio"]:not(:checked) ~ * { /* placeholder */ }
.mc-co .mc-co-card-radio input[type="radio"]:checked + .mc-co-card-radio__body,
.mc-co .mc-co-card-radio.is-checked {
  border-color: var(--mc-blue, #001ee4) !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
}
.mc-co .mc-co-card-radio:not(.is-checked) {
  border-color: var(--mc-blue-line, #e3e8f0) !important;
  background: #fff !important;
}

/* ============================================================================
   v2.6.10 — SIM/eSIM: limpiar wrapper extra, alinear con bloque "número"
   El wrapper .mc-co-sim-row tenía un fondo rgb(250,251,254) + radius + padding
   que creaba un "cuadro" visual diferente al bloque "¿Tienes ya un número?".
   Lo neutralizamos para que ambos bloques se vean idénticos.
   ========================================================================== */
.mc-co .mc-co-sim-row,
.mc-co [data-sim-line] .mc-co-sim-row,
.mc-co .mc-co-sim-line,
.mc-co .mc-co-sim-list {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Si hay un título de línea ("MÓVIL 25 GB + LLAMADAS ILIMITADAS") arriba,
   queda como mini-header tenue, no como cabecera de bloque destacado */
.mc-co .mc-co-sim-line__head,
.mc-co .mc-co-sim-row__head,
.mc-co .mc-co-sim-section__line-title {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  text-align: left !important;
}

/* Las cards radio SIM y "número" usan exactamente el mismo grid */
.mc-co .mc-co-sim-section .mc-co-card-radios,
.mc-co .mc-co-sim-row .mc-co-card-radios {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 8px 0 0 !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-sim-section .mc-co-card-radios,
  .mc-co .mc-co-sim-row .mc-co-card-radios {
    grid-template-columns: 1fr !important;
  }
}

/* Fieldset SIM: padding mínimo, sin background, alineado al resto */
.mc-co .mc-co-sim-section,
.mc-co .mc-co-fset.mc-co-sim-section {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  margin-bottom: 24px !important;
}

/* ============================================================================
   v2.6.11 — Quitar box-shadow inset duplicado en .mc-co-card-radio.is-checked
   El inset shadow rgb(0,30,228) 0 0 0 1px creaba un segundo borde "fantasma"
   por dentro del border:2px existente. Resultado: doble contorno azul.
   Fix: solo border:2px, sin box-shadow inset extra.
   ========================================================================== */
.mc-co .mc-co-card-radio,
.mc-co label.mc-co-card-radio,
.mc-co .mc-co-card-radio.is-checked {
  box-shadow: none !important;
  outline: 0 !important;
}
.mc-co .mc-co-card-radio.is-checked {
  border: 2px solid var(--mc-blue, #001ee4) !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
}
.mc-co .mc-co-card-radio:not(.is-checked) {
  border: 2px solid var(--mc-blue-line, #dde1f5) !important;
  background: #fff !important;
}
/* hover sutil cuando no checked */
.mc-co .mc-co-card-radio:not(.is-checked):hover {
  border-color: var(--mc-blue, #001ee4) !important;
}

/* ============================================================================
   v2.6.12 — Fix espacio enorme en sim-row + cap 5 líneas
   El .mc-co-sim-row__label salía con height 200px porque heredaba layout
   grid/flex stretch del padre. Forzamos block normal.
   ========================================================================== */
.mc-co .mc-co-sim-row,
.mc-co [data-sim-line] .mc-co-sim-row {
  display: block !important;
  margin: 18px 0 0 !important;
}
.mc-co .mc-co-sim-row:first-of-type {
  margin-top: 8px !important;
}
.mc-co .mc-co-sim-row__label {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 0 6px !important;
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  text-align: center !important;
  width: 100% !important;
  flex: none !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radios {
  margin-top: 4px !important;
}
.mc-co .mc-co-sim-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* ============================================================================
   v2.6.13 — Limpiar definitivamente bordes fantasma cards SIM
   ========================================================================== */
/* Wrapper pill que englobaba ambas cards: borrar border + radius + bg */
.mc-co .mc-co-card-radios.mc-co-sim-toggle,
.mc-co .mc-co-fset .mc-co-card-radios.mc-co-sim-toggle,
.mc-co .mc-co-sim-row .mc-co-card-radios {
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-card-radios.mc-co-sim-toggle,
  .mc-co .mc-co-sim-row .mc-co-card-radios {
    grid-template-columns: 1fr !important;
  }
}

/* Eliminar definitivamente el inset shadow duplicado en cards checked.
   Especificidad subida con doble selector + label tag + .mc-co-fset */
.mc-co .mc-co-fset .mc-co-card-radio,
.mc-co .mc-co-fset label.mc-co-card-radio,
.mc-co .mc-co-fset .mc-co-card-radio.is-checked,
.mc-co .mc-co-fset label.mc-co-card-radio.is-checked,
.mc-co .mc-co-fset .mc-co-card-radio:has(input[type="radio"]:checked),
.mc-co label.mc-co-card-radio.is-checked,
.mc-co label.mc-co-card-radio:has(input[type="radio"]:checked) {
  box-shadow: none !important;
  outline: 0 !important;
}

/* Coste eSIM badge: si hay coste, lo mostramos como pill secundaria */
.mc-co .mc-co-card-radio__coste {
  display: inline-block !important;
  margin-left: 8px !important;
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  letter-spacing: .02em !important;
}
.mc-co .mc-co-card-radio__coste--free {
  background: var(--mc-mint, #b6fbd9) !important;
  color: var(--mc-blue-dark, #001ea0) !important;
}

/* ============================================================================
   v2.6.14 — Compactar cards SIM/portab + sidecart sticky con offset
   ========================================================================== */

/* Cards radio más finas (SIM física, eSIM, portabilidad) */
.mc-co .mc-co-card-radio {
  padding: 12px 14px 12px 42px !important;
  min-height: 0 !important;
  border-width: 1.5px !important;
  border-radius: 12px !important;
}
.mc-co .mc-co-card-radio__title {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}
.mc-co .mc-co-card-radio__desc {
  font-size: 12px !important;
  line-height: 1.35 !important;
  margin-top: 2px !important;
  display: block !important;
}
.mc-co .mc-co-card-radio__pill,
.mc-co .mc-co-card-radio__coste {
  font-size: 10px !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
}
.mc-co .mc-co-card-radio__head {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin-bottom: 1px !important;
}
/* El radio dot a la izquierda más fino */
.mc-co .mc-co-card-radio input[type="radio"] {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
}

/* Sub-headers de bloques (¿SIM? / ¿Tienes ya un número?) más finos */
.mc-co .mc-co-fset__legend,
.mc-co .mc-co-sim-section .mc-co-fset__legend {
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}
.mc-co .mc-co-fset__lead {
  font-size: 12px !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  margin: 0 0 10px !important;
}

/* Línea label "MÓVIL 25 GB" más sutil arriba de cada card SIM */
.mc-co .mc-co-sim-row__label {
  font-size: 10px !important;
  letter-spacing: .06em !important;
  padding: 0 0 4px !important;
  color: var(--mc-blue, #001ee4) !important;
}

/* Sidecart sticky con offset para no quedar tapado por header tema */
@media (min-width: 1024px) {
  .mc-co .mc-co-sidecart,
  .mc-co .mc-co-side,
  .mc-co [class*="sidecart"] {
    position: sticky !important;
    top: 100px !important;       /* offset header sticky tema + breathing room */
    align-self: flex-start !important;
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
  }
  /* scroll suave dentro del sidecart */
  .mc-co .mc-co-sidecart::-webkit-scrollbar,
  .mc-co .mc-co-side::-webkit-scrollbar { width: 6px; }
  .mc-co .mc-co-sidecart::-webkit-scrollbar-thumb,
  .mc-co .mc-co-side::-webkit-scrollbar-thumb {
    background: var(--mc-blue-line, #d4dbeb);
    border-radius: 3px;
  }
}

/* Espaciado vertical entre fieldsets en el step 3 */
.mc-co #mc-co-form-2 .mc-co-fset {
  margin-bottom: 18px !important;
}
.mc-co #mc-co-form-2 .mc-co-fset:last-child {
  margin-bottom: 0 !important;
}

/* Layout SIM más compacto: cards lado a lado siempre con altura mínima */
.mc-co .mc-co-card-radios.mc-co-sim-toggle {
  gap: 8px !important;
}
.mc-co .mc-co-sim-list {
  gap: 8px !important;
}

/* Si hay varias líneas móvil, el bloque SIM por línea se ve compacto, sin
   "MÓVIL 25 GB · LÍNEA 1 (DESCUENTO)" muy grande */
.mc-co .mc-co-sim-row {
  background: var(--mc-blue-soft, #f0f3ff) !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  margin: 0 !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radio {
  background: #fff !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked {
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  border-color: var(--mc-blue, #001ee4) !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked .mc-co-card-radio__title,
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked .mc-co-card-radio__desc {
  color: #fff !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked .mc-co-card-radio__desc {
  opacity: .85 !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked input[type="radio"] {
  accent-color: #fff !important;
}

/* Mensaje al final del bloque SIM/portab por línea: hint conciso */
.mc-co .mc-co-fset[data-show-when-movil] {
  background: var(--mc-blue-soft, #f0f3ff) !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
}

/* Responsive: en móvil las cards SIM siguen full width */
@media (max-width: 600px) {
  .mc-co .mc-co-sim-row { padding: 12px 10px !important; }
  .mc-co .mc-co-card-radio { padding: 10px 12px 10px 38px !important; }
}

/* ============================================================================
   v2.6.15 — Pulido cards SIM/portab is-checked + nota alta eSIM + compactación
   ========================================================================== */

/* Anular el "azul sólido + texto blanco" de v2.6.14 que era ilegible.
   Volver al estilo outline azul claro con radio dot lleno (más legible). */
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked,
.mc-co .mc-co-card-radio.is-checked {
  background: #fff !important;
  border-color: var(--mc-blue, #001ee4) !important;
  box-shadow: 0 0 0 2px rgba(0, 30, 228, .08) !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked .mc-co-card-radio__title,
.mc-co .mc-co-card-radio.is-checked .mc-co-card-radio__title {
  color: var(--mc-blue, #001ee4) !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked .mc-co-card-radio__desc,
.mc-co .mc-co-card-radio.is-checked .mc-co-card-radio__desc {
  color: var(--mc-ink, #0a1130) !important;
  opacity: 1 !important;
}
.mc-co .mc-co-sim-row .mc-co-card-radio.is-checked input[type="radio"] {
  accent-color: var(--mc-blue, #001ee4) !important;
}
/* Pill INMEDIATA + coste eSIM mantienen sus colores incluso en checked */
.mc-co .mc-co-card-radio.is-checked .mc-co-card-radio__pill {
  background: var(--mc-mint, #b6fbd9) !important;
  color: #064e2b !important;
}
.mc-co .mc-co-card-radio.is-checked .mc-co-card-radio__coste {
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
}

/* Container .mc-co-sim-row sin fondo soft (era demasiado bloqueado).
   Hacemos que solo divida líneas con un separador sutil, no caja entera. */
.mc-co .mc-co-sim-row {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid var(--mc-blue-line, #e3e8f0) !important;
  padding-top: 12px !important;
  margin-top: 12px !important;
}
.mc-co .mc-co-sim-row:first-of-type {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Nota alta única eSIM bajo el PRECIO FINAL */
.mc-co .mc-co-cart__alta-note {
  margin: 6px 0 0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, .85) !important;
  text-align: center !important;
  background: rgba(255, 255, 255, .12) !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  display: block !important;
}
.mc-co .mc-co-cart__alta-note[hidden] { display: none !important; }

/* Compactación extra entre fieldsets y dentro */
.mc-co #mc-co-form-2 .mc-co-fset {
  margin-bottom: 14px !important;
  padding: 0 !important;
}
.mc-co #mc-co-form-2 .mc-co-fset__legend {
  margin: 0 0 4px !important;
}
.mc-co #mc-co-form-2 .mc-co-fset__lead {
  margin: 0 0 8px !important;
}
.mc-co #mc-co-form-2 .mc-co-fields {
  gap: 10px 14px !important;
}
.mc-co #mc-co-form-2 .mc-co-field {
  margin-bottom: 0 !important;
}

/* Bloque "¿Tienes ya un número?" sin fondo soft (estaba demasiado destacado) */
.mc-co .mc-co-fset[data-show-when-movil] {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Ajustar el coste eSIM badge: no llamar tanto la atención, decirlo como info */
.mc-co .mc-co-card-radio__coste {
  font-size: 10px !important;
  font-weight: 600 !important;
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
}
.mc-co .mc-co-card-radio__coste::after {
  content: ' alta' !important;
  font-weight: 400 !important;
  opacity: .8 !important;
}
.mc-co .mc-co-card-radio__coste--free {
  background: var(--mc-mint, #b6fbd9) !important;
  color: #064e2b !important;
}
.mc-co .mc-co-card-radio__coste--free::after { content: '' !important; }

/* Filas de portabilidad con espacios reducidos */
.mc-co [data-portab-fields] {
  margin-top: 12px !important;
  gap: 10px 14px !important;
}

/* ============================================================================
   v2.6.16 — Sidecart sticky con offset DINÁMICO
   El JS bindStickyOffset() calcula el bottom real de los elementos
   sticky/fixed del tema (header + banner cobertura + admin bar) y publica
   la variable --mc-sidecart-top. CSS la usa con fallback de 160px.
   ========================================================================== */
:root {
  --mc-sidecart-top: 160px;
}

@media (min-width: 1024px) {
  .mc-co .mc-co-sidecart,
  .mc-co .mc-co-side,
  .mc-co [class*="sidecart"] {
    position: sticky !important;
    top: var(--mc-sidecart-top, 160px) !important;
    align-self: flex-start !important;
    max-height: calc(100vh - var(--mc-sidecart-top, 160px) - 24px) !important;
    overflow-y: auto !important;
  }
}

/* ============================================================================
   v2.6.17 — Sidecart sticky offset 180px fallback + portabilidad por línea
   ========================================================================== */
:root { --mc-sidecart-top: 180px; }

@media (min-width: 1024px) {
  .mc-co .mc-co-sidecart,
  .mc-co .mc-co-side,
  .mc-co [class*="sidecart"] {
    top: var(--mc-sidecart-top, 180px) !important;
    max-height: calc(100vh - var(--mc-sidecart-top, 180px) - 24px) !important;
  }
}

/* v2.6.17: bloques SIM + portabilidad por línea */
.mc-co .mc-co-line-block {
  margin-top: 10px !important;
}
.mc-co .mc-co-line-block:first-of-type {
  margin-top: 6px !important;
}
.mc-co .mc-co-line-block__title {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  margin: 0 0 6px !important;
}
.mc-co .mc-co-line-portab-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 14px !important;
  margin-top: 10px !important;
}
.mc-co .mc-co-line-portab-fields[hidden] { display: none !important; }
.mc-co .mc-co-line-portab-fields .mc-co-field--full { grid-column: 1 / -1 !important; }
@media (max-width: 600px) {
  .mc-co .mc-co-line-portab-fields { grid-template-columns: 1fr !important; }
}

/* Listener para togglear visibilidad de los campos de portabilidad por línea */

/* ============================================================================
   v2.6.18 — Bundle fixes del QA exhaustivo
   ========================================================================== */

/* QA-D: "Cambiar de modo" link suelto — discreto y bien posicionado */
.mc-co [data-mc-mode-back],
.mc-co .mc-co-mode-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 12px !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 4px 0 !important;
  margin: 0 0 12px !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.mc-co [data-mc-mode-back]:hover,
.mc-co .mc-co-mode-back:hover {
  color: var(--mc-blue, #001ee4) !important;
}

/* QA-E: cart line items — espacio entre nombre y "GB" / "1GB" */
.mc-co .mc-co-cart__row-name,
.mc-co .mc-co-sidecart__item-name {
  white-space: normal !important;
  word-spacing: .15em !important;
}

/* QA-F + G: Widget cobertura layout — botón Siguiente full-width centrado,
   política privacidad dentro del widget abajo, no colgando */
.mc-co .mc-co-cobertura,
.mc-co [class*="cobertura-widget"],
.mc-co [class*="cob-widget"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  padding: 24px !important;
  background: #fff !important;
  border: 1px solid var(--mc-blue-line, #e3e8f0) !important;
  border-radius: 16px !important;
}
.mc-co .mc-co-cobertura input[type="text"],
.mc-co [class*="cob"] input[type="text"] {
  width: 100% !important;
}
.mc-co .mc-co-cobertura button[type="submit"],
.mc-co .mc-co-cobertura .mc-co-cob__submit,
.mc-co [class*="cob"] button[type="submit"] {
  width: 100% !important;
  padding: 12px 22px !important;
  margin: 0 !important;
}
.mc-co .mc-co-cobertura a[href*="privacidad"],
.mc-co [class*="cob"] a[href*="privacidad"] {
  font-size: 11px !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  text-align: center !important;
  display: block !important;
  margin: 4px 0 0 !important;
}

/* QA-H: Step 2 — sidecart CTA y body CTA: solo uno visible.
   Si hay un CTA de "Continuar a tus datos" en el body, ocultar el del sidecart
   cuando el sidecart ya tiene "Comprueba cobertura" deshabilitado. */
.mc-co .mc-co-step[data-step="2"] ~ .mc-co-cart__cta,
.mc-co .mc-co-step[data-step="2"] [data-step-next] {
  /* Mantener CTA body, pero diferenciarlo bien del sidecart */
}

/* QA-I: Tipo cliente pills uniformes */
.mc-co .mc-co-radios .mc-co-radio,
.mc-co label.mc-co-radio {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  text-align: center !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  border: 1.5px solid var(--mc-blue-line, #e3e8f0) !important;
  background: #fff !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  transition: all .15s ease !important;
}
.mc-co .mc-co-radios {
  display: flex !important;
  gap: 8px !important;
  max-width: 480px !important;
}
.mc-co .mc-co-radios .mc-co-radio.is-checked,
.mc-co label.mc-co-radio.is-checked {
  background: var(--mc-blue, #001ee4) !important;
  border-color: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
}
.mc-co .mc-co-radios .mc-co-radio input[type="radio"] {
  display: none !important;
}

/* QA-J: Reducir espacio entre stepper y cuerpo */
.mc-co .mc-co-stepper {
  margin-bottom: 16px !important;
}
.mc-co .mc-co-step {
  padding-top: 0 !important;
}
.mc-co .mc-co-step__head {
  padding: 16px 0 12px !important;
  margin: 0 !important;
}

/* QA-A: Step "Tus datos" numera dinámicamente desde JS — número en cuerpo
   se reemplaza por la posición visible. Aplicamos display:none al span
   estático y dejamos que JS lo actualice (o lo escondemos si no es
   estrictamente necesario porque ya está en el stepper). */
.mc-co .mc-co-step__num {
  display: none !important;
}
.mc-co .mc-co-step__head {
  display: flex !important;
  align-items: baseline !important;
  gap: 0 !important;
}
.mc-co .mc-co-step__title {
  margin: 0 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--mc-blue, #001ee4) !important;
}
.mc-co .mc-co-step__desc {
  margin: 4px 0 0 !important;
  font-size: 13px !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}

/* "Tu pedido" header del sidecart compacto */
.mc-co .mc-co-cart__head,
.mc-co [class*="sidecart"] > h2,
.mc-co [class*="sidecart"] > h3 {
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
}

/* Responsive: en móvil radios uno encima del otro */
@media (max-width: 600px) {
  .mc-co .mc-co-radios { flex-direction: column !important; max-width: 100% !important; }
}

/* ============================================================================
   v2.6.19 — Experiencia Shopify-like
   ========================================================================== */

/* ---------- Animaciones suaves de transición entre steps ---------- */
.mc-co .mc-co-step {
  transition: opacity .25s ease, transform .25s ease !important;
}
.mc-co .mc-co-step[hidden] {
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
}
.mc-co .mc-co-step:not([hidden]) {
  opacity: 1;
  transform: translateY(0);
  animation: mc-co-step-in .35s ease both;
}
@keyframes mc-co-step-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Stepper con tick verde en completados ---------- */
.mc-co .mc-co-stepper__item.is-done .mc-co-stepper__num,
.mc-co .mc-co-stepper__item.is-completed .mc-co-stepper__num {
  background: #0a8a3a !important;
  color: #fff !important;
  border-color: #0a8a3a !important;
}
.mc-co .mc-co-stepper__item.is-done .mc-co-stepper__num::before,
.mc-co .mc-co-stepper__item.is-completed .mc-co-stepper__num::before {
  content: "✓" !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}
.mc-co .mc-co-stepper__item.is-done .mc-co-stepper__num,
.mc-co .mc-co-stepper__item.is-completed .mc-co-stepper__num {
  font-size: 0 !important; /* oculta el número, deja solo el ✓ */
}
.mc-co .mc-co-stepper__line.is-done,
.mc-co .mc-co-stepper__line.is-completed {
  background: #0a8a3a !important;
}
.mc-co .mc-co-stepper__item.is-done .mc-co-stepper__label {
  color: #0a8a3a !important;
  font-weight: 600 !important;
}

/* ---------- Botones con loading state ---------- */
.mc-co .mc-co-btn.is-loading,
.mc-co button.is-loading,
.mc-co [data-step-next].is-loading,
.mc-co #mc-co-cart-edit.is-loading {
  position: relative !important;
  color: transparent !important;
  pointer-events: none !important;
  opacity: .85 !important;
}
.mc-co .mc-co-btn.is-loading::after,
.mc-co button.is-loading::after,
.mc-co [data-step-next].is-loading::after,
.mc-co #mc-co-cart-edit.is-loading::after {
  content: "" !important;
  position: absolute !important;
  width: 18px !important; height: 18px !important;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  border: 2px solid rgba(255,255,255,.3) !important;
  border-top-color: #fff !important;
  border-radius: 50% !important;
  animation: mc-co-spin .7s linear infinite !important;
}
@keyframes mc-co-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* ---------- Toast / snackbar ---------- */
.mc-co-toast {
  position: fixed !important;
  bottom: 24px !important; left: 50% !important;
  transform: translateX(-50%) translateY(80px) !important;
  background: var(--mc-ink, #0a1130) !important;
  color: #fff !important;
  padding: 14px 22px !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(10, 17, 48, .35) !important;
  font-size: 13px !important; font-weight: 500 !important;
  max-width: 90vw !important;
  z-index: 100000 !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
  opacity: 0 !important;
  transition: transform .35s cubic-bezier(.5, 0, .2, 1), opacity .25s !important;
  pointer-events: none !important;
}
.mc-co-toast.is-visible {
  transform: translateX(-50%) translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.mc-co-toast--success { background: #0a8a3a !important; }
.mc-co-toast--error   { background: #b71c2b !important; }
.mc-co-toast--warning { background: #c47a02 !important; }
.mc-co-toast__icon {
  width: 20px !important; height: 20px !important;
  flex: 0 0 20px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .15) !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

/* ---------- Focus states más vivos ---------- */
.mc-co input:focus,
.mc-co select:focus,
.mc-co textarea:focus {
  outline: 0 !important;
  border-color: var(--mc-blue, #001ee4) !important;
  box-shadow: 0 0 0 3px rgba(0, 30, 228, .12) !important;
}
.mc-co .mc-co-field--notch input:focus + label,
.mc-co .mc-co-field--notch select:focus + label,
.mc-co .mc-co-field--notch textarea:focus + label {
  color: var(--mc-blue, #001ee4) !important;
  font-weight: 600 !important;
}

/* ---------- Validation: check verde al hacer blur con valor válido ---------- */
.mc-co .mc-co-field.is-valid {
  position: relative;
}
.mc-co .mc-co-field.is-valid::after {
  content: "✓" !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important; height: 18px !important;
  border-radius: 50% !important;
  background: #0a8a3a !important;
  color: #fff !important;
  font-size: 11px !important; font-weight: 800 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  pointer-events: none !important;
  animation: mc-co-pop .25s ease !important;
}
@keyframes mc-co-pop {
  0%   { transform: translateY(-50%) scale(0); }
  60%  { transform: translateY(-50%) scale(1.15); }
  100% { transform: translateY(-50%) scale(1); }
}

/* ---------- Trust badges en sidecart ---------- */
.mc-co .mc-co-cart__trust,
.mc-co [class*="sidecart"] .mc-co-trust {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--mc-blue-line, #e3e8f0) !important;
}
.mc-co .mc-co-cart__trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}
.mc-co .mc-co-cart__trust-item svg {
  flex: 0 0 16px !important;
  color: #0a8a3a !important;
}

/* Edit button en sidecart cart items */
.mc-co .mc-co-cart__row-edit {
  background: none !important;
  border: 0 !important;
  color: var(--mc-blue, #001ee4) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin-left: 4px !important;
}
.mc-co .mc-co-cart__row-edit:hover {
  color: var(--mc-blue-dark, #001ea0) !important;
}

/* ---------- Smooth scroll global en checkout ---------- */
.mc-co {
  scroll-behavior: smooth !important;
}

/* ---------- Sidecart bottom bar fija en mobile ---------- */
@media (max-width: 1023px) {
  .mc-co .mc-co-mobile-bar,
  .mc-co #mc-co-mobile-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important; right: 0 !important;
    z-index: 999 !important;
    background: #fff !important;
    border-top: 1px solid var(--mc-blue-line, #e3e8f0) !important;
    box-shadow: 0 -4px 16px rgba(10, 17, 48, .08) !important;
    padding: 12px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .mc-co .mc-co-mobile-bar__price {
    flex: 1 1 auto !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: var(--mc-blue, #001ee4) !important;
  }
  .mc-co .mc-co-mobile-bar__cta {
    flex: 0 0 auto !important;
    padding: 10px 24px !important;
  }
  /* Padding bottom al body del checkout para no quedar tapado por bottom bar */
  .mc-co {
    padding-bottom: 80px !important;
  }
}

/* ---------- Hover states más vivos en cards ---------- */
.mc-co .mc-co-card-radio:not(.is-checked):hover {
  border-color: rgba(0, 30, 228, .4) !important;
  box-shadow: 0 4px 12px rgba(0, 30, 228, .08) !important;
  transform: translateY(-1px) !important;
}
.mc-co .mc-co-card-radio {
  transition: all .15s ease !important;
}

/* ---------- Empty state cart más amigable ---------- */
.mc-co .mc-co-cart__empty,
.mc-co [data-empty] {
  text-align: center !important;
  padding: 24px 16px !important;
}
.mc-co .mc-co-cart__empty::before,
.mc-co [data-empty]::before {
  content: "🛒" !important;
  display: block !important;
  font-size: 28px !important;
  margin-bottom: 6px !important;
  opacity: .5 !important;
}

/* ---------- Skeleton loader para precio ---------- */
.mc-co .is-skeleton {
  background: linear-gradient(90deg, #e3e8f0 25%, #f0f3ff 50%, #e3e8f0 75%) !important;
  background-size: 200% 100% !important;
  animation: mc-co-skeleton 1.4s ease-in-out infinite !important;
  color: transparent !important;
  border-radius: 6px !important;
}
@keyframes mc-co-skeleton {
  0%   { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

/* ============================================================================
   v2.6.20 — Rediseño sidecart estilo moovi.com
   Tokens moovi: brand #001ee4, mint #b6fbd9, soft #f0f3ff, ink #0a1130,
   gris claro #f5f7fa, radius grande 20px (igual que cards de moovi.com).
   Tipografía Poppins 600 en titulares.
   ========================================================================== */

/* Contenedor principal del sidecart */
.mc-co .mc-co-cart,
.mc-co aside.mc-co-cart {
  background: #ffffff !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 24px !important;
  padding: 24px !important;
  box-shadow: 0 8px 32px rgba(10, 17, 48, .04) !important;
}

/* Header "Tu pedido" — más fino, con dot indicador a la derecha */
.mc-co .mc-co-cart__title {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--mc-blue, #001ee4) !important;
  margin: 0 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  letter-spacing: -.005em !important;
}
.mc-co .mc-co-cart__title::after {
  content: "" !important;
  display: inline-block !important;
  width: 9px !important; height: 9px !important;
  border-radius: 50% !important;
  background: #0a8a3a !important;
  box-shadow: 0 0 0 3px rgba(10, 138, 58, .12) !important;
}

/* Lista de items */
.mc-co .mc-co-cart__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* Cada line item del cart: card sutil con esquinas redondeadas */
.mc-co .mc-co-cart__row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
}
.mc-co .mc-co-cart__row-name {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--mc-ink, #0a1130) !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.mc-co .mc-co-cart__row-price {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--mc-blue, #001ee4) !important;
  white-space: nowrap !important;
}
.mc-co .mc-co-cart__row-remove {
  background: rgba(255, 255, 255, .6) !important;
  border: 0 !important;
  width: 24px !important; height: 24px !important;
  border-radius: 50% !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 24px !important;
  transition: all .15s !important;
}
.mc-co .mc-co-cart__row-remove:hover {
  background: #fff !important;
  color: #b71c2b !important;
}

/* Empty state con SVG carrito limpio (no emoji) */
.mc-co .mc-co-cart__empty,
.mc-co [data-empty] {
  list-style: none !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
  border-radius: 16px !important;
  padding: 32px 20px !important;
  text-align: center !important;
  font-size: 13px !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  font-style: normal !important;
  position: relative !important;
}
/* Sustituimos el emoji por un SVG inline via mask */
.mc-co .mc-co-cart__empty::before,
.mc-co [data-empty]::before {
  content: "" !important;
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 auto 8px !important;
  background: var(--mc-blue, #001ee4) !important;
  opacity: .25 !important;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>") center/contain no-repeat !important;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>") center/contain no-repeat !important;
}

/* PRECIO FINAL — bloque hero estilo card moovi.com con gradiente brand */
.mc-co .mc-co-cart__total,
.mc-co [class*="sidecart"] .mc-co-cart__total {
  margin: 18px 0 0 !important;
  padding: 22px 20px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, var(--mc-blue, #001ee4) 0%, #0017b4 100%) !important;
  color: #fff !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 12px 28px rgba(0, 30, 228, .22) !important;
}
.mc-co .mc-co-cart__total::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 100% 0%, rgba(255,255,255,.18), transparent 60%) !important;
  pointer-events: none !important;
}
.mc-co .mc-co-cart__total-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  opacity: .8 !important;
  margin: 0 0 6px !important;
  color: #fff !important;
}
.mc-co .mc-co-cart__total-amount {
  font-family: "Poppins", sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -.02em !important;
  margin: 0 !important;
  color: #fff !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 4px !important;
}
.mc-co .mc-co-cart__total-amount small {
  font-size: 14px !important;
  font-weight: 500 !important;
  opacity: .85 !important;
}

/* Toggle IVA: pill discreta debajo del precio */
.mc-co .mc-co-cart__tax-toggle {
  margin: 10px auto 0 !important;
  background: rgba(255, 255, 255, .12) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 5px 12px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  cursor: pointer !important;
}
.mc-co .mc-co-cart__total-iva-note {
  font-size: 11px !important;
  margin: 8px 0 0 !important;
  opacity: .75 !important;
  color: #fff !important;
  text-align: center !important;
}

/* CTA principal "Continuar" — pill grande estilo moovi.com */
.mc-co .mc-co-cart__edit,
.mc-co #mc-co-cart-edit {
  width: 100% !important;
  padding: 14px 24px !important;
  margin: 14px 0 0 !important;
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .005em !important;
  cursor: pointer !important;
  transition: all .15s !important;
}
.mc-co .mc-co-cart__edit:hover:not(:disabled) {
  background: var(--mc-mint, #b6fbd9) !important;
  color: var(--mc-blue, #001ee4) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 16px rgba(0, 30, 228, .12) !important;
}
.mc-co .mc-co-cart__edit:disabled,
.mc-co #mc-co-cart-edit:disabled {
  background: #e8ebf5 !important;
  color: #9aa0b0 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Trust badges — linea simple, iconos verde mint, texto sutil */
.mc-co .mc-co-cart__trust {
  margin: 18px 0 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid #eef0f6 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.mc-co .mc-co-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--mc-ink, #0a1130) !important;
}
.mc-co .mc-co-trust-item svg {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  color: #0a8a3a !important;
}

/* Sidecart oculto en mobile */
@media (max-width: 1023px) {
  .mc-co aside.mc-co-cart {
    display: none !important;
  }
}

/* ============================================================================
   v2.6.21 — Refinado tipográfico final, alineado con escala moovi.com
   Web: body 13/300 · h3 20/600 · button 15/500 · small 12/300
   Aplicamos override selectivo donde se desvíó en versiones intermedias.
   ========================================================================== */

/* Step title (cuerpo): 20/600 — antes 22 */
.mc-co .mc-co-step__title {
  font-size: 20px !important;
  line-height: 1.25 !important;
}

/* Fieldset legend: 17/600 (h4-like) — antes 14, demasiado pequeño */
.mc-co .mc-co-fset__legend {
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--mc-ink, #0a1130) !important;
  margin: 0 0 6px !important;
}

/* Lead bajo legend: 13/400 — antes 12/500 */
.mc-co .mc-co-fset__lead {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  margin: 0 0 12px !important;
}

/* Hints bajo inputs: 12/400 — antes 11/400 (poco legible) */
.mc-co .mc-co-field__hint,
.mc-co .mc-co-cobertura__hint {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}

/* Card radio title: 15/600 — antes 14, demasiado fino vs button 15 */
.mc-co .mc-co-card-radio__title {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

/* Card radio descripción: 13/400 — antes 12 */
.mc-co .mc-co-card-radio__desc {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Botones (CTA principal y secundarios): 15/500 matching elementor-button */
.mc-co .mc-co-cart__edit,
.mc-co #mc-co-cart-edit,
.mc-co .mc-co-btn,
.mc-co button.mc-co-cta,
.mc-co [data-step-next],
.mc-co [data-step-back] {
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

/* Botones secundarios pequeños (back, edit row) más finos */
.mc-co .mc-co-btn--small,
.mc-co .mc-co-cart__row-edit {
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Trust items: 13/500 (igual que sidecart row name) */
.mc-co .mc-co-trust-item {
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Sidecart title: 18/600 (h3-ish, antes 16) */
.mc-co .mc-co-cart__title {
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -.005em !important;
}

/* Sidecart row name + price: 14/500 nombre, 15/700 precio (más legible) */
.mc-co .mc-co-cart__row-name,
.mc-co .mc-co-sidecart__item-name {
  font-size: 14px !important;
  font-weight: 500 !important;
}
.mc-co .mc-co-cart__row-price,
.mc-co .mc-co-sidecart__item-price {
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* PRECIO FINAL block typography: matching tarjetas precio web (32 ya OK) */
.mc-co .mc-co-cart__total-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.mc-co .mc-co-cart__total-amount {
  font-size: 34px !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
  line-height: 1 !important;
}
.mc-co .mc-co-cart__total-amount small {
  font-size: 16px !important;
  font-weight: 500 !important;
}
.mc-co .mc-co-cart__total-iva-note,
.mc-co .mc-co-cart__alta-note {
  font-size: 11px !important;
  font-weight: 500 !important;
}

/* Empty state cart: 13/400 */
.mc-co .mc-co-cart__empty,
.mc-co [data-empty] {
  font-size: 13px !important;
  font-weight: 400 !important;
}

/* Step desc del cuerpo: 13/400 */
.mc-co .mc-co-step__desc {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}

/* Stepper labels: 13/500 antes había sido 12 */
.mc-co .mc-co-stepper__label {
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Modes/configurador títulos (las 3 cards "¿Cómo quieres empezar?") */
.mc-co .mc-co-mode__title {
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
.mc-co .mc-co-mode__desc {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}

/* Línea label "MÓVIL 25 GB · LÍNEA 1": volver a 11/600 letter-spacing .04em
   pero con peso 600 (antes 500) para más presencia */
.mc-co .mc-co-sim-row__label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--mc-blue, #001ee4) !important;
}

/* line-block titles ("SIM" / "Número") */
.mc-co .mc-co-line-block__title {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}

/* Body input + select consistente */
.mc-co .mc-co input,
.mc-co .mc-co select,
.mc-co .mc-co textarea {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Label notch consistente: 12/500 con tracking sutil */
.mc-co .mc-co-field--notch label,
.mc-co .mc-co-field label {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .005em !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}

/* Tipo cliente pills: 14/500 (antes 13) */
.mc-co .mc-co-radios .mc-co-radio,
.mc-co label.mc-co-radio {
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* ============================================================================
   v2.6.22 — Widget cobertura integrado y limpio
   Estructura:
     .mc-co-cov-gate
       ├ .mc-co-cov-gate__hero (icono + título)
       ├ .mc-co-cov-gate__card (input + button + dropdown)
       ├ .mc-co-cov-gate__result (banner verde / rojo)
       └ .mc-co-cov-gate__legal (link política)
   ========================================================================== */

/* Contenedor principal del gate: card moovi */
.mc-co .mc-co-cov-gate {
  background: #fff !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 24px !important;
  padding: 28px 28px 22px !important;
  box-shadow: 0 8px 32px rgba(10, 17, 48, .04) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

/* Hero compacto: icono pequeño + título alineados horizontalmente */
.mc-co .mc-co-cov-gate__hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  text-align: center !important;
  margin: 0 !important;
}
.mc-co .mc-co-cov-gate__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
  color: var(--mc-blue, #001ee4) !important;
}
.mc-co .mc-co-cov-gate__icon svg {
  width: 28px !important;
  height: 28px !important;
}
.mc-co .mc-co-cov-gate__hero h3 {
  font-family: "Poppins", sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--mc-ink, #0a1130) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* Card del input: contenedor relativo para que el dropdown se posicione */
.mc-co .mc-co-cov-gate__card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
  padding: 8px !important;
  border-radius: 14px !important;
  align-items: stretch !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-cov-gate__card {
    grid-template-columns: 1fr !important;
  }
}

/* Input dentro de la card: full width sin border, fondo blanco */
.mc-co .mc-co-cov-gate__card input[type="text"],
.mc-co .mc-co-cov-gate__card #mc-co-cov1-direccion {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--mc-ink, #0a1130) !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.mc-co .mc-co-cov-gate__card input[type="text"]:focus {
  border-color: var(--mc-blue, #001ee4) !important;
  box-shadow: 0 0 0 3px rgba(0, 30, 228, .1) !important;
}

/* Botón "Siguiente" al lado del input (no debajo) */
.mc-co .mc-co-cov-gate__btn,
.mc-co #mc-co-cov1-btn {
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 0 22px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all .15s !important;
  min-height: 44px !important;
  margin: 0 !important;
}
.mc-co .mc-co-cov-gate__btn:hover {
  background: var(--mc-mint, #b6fbd9) !important;
  color: var(--mc-blue, #001ee4) !important;
}
.mc-co .mc-co-cov-gate__btn:disabled {
  background: #d4dbeb !important;
  color: #9aa0b0 !important;
  cursor: not-allowed !important;
}

/* Dropdown autocomplete posicionado absoluto bajo el card, z-index alto */
.mc-co .mc-co-cov-suggest {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  border: 1px solid var(--mc-blue-line, #e3e8f0) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(10, 17, 48, .12) !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  z-index: 50 !important;
  padding: 6px !important;
}
.mc-co .mc-co-cov-suggest[hidden] { display: none !important; }
.mc-co .mc-co-cov-suggest > * {
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--mc-ink, #0a1130) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  display: block !important;
}
.mc-co .mc-co-cov-suggest > *:hover,
.mc-co .mc-co-cov-suggest > .is-active {
  background: var(--mc-blue-soft, #f0f3ff) !important;
  color: var(--mc-blue, #001ee4) !important;
}

/* Result banner: integrado dentro de la card, no flotando aparte */
.mc-co .mc-co-cov-gate__result {
  margin: 0 !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.mc-co .mc-co-cov-gate__result[hidden] { display: none !important; }
.mc-co .mc-co-cov-gate__result.is-ok,
.mc-co .mc-co-cov-gate__result.is-success {
  background: rgba(10, 138, 58, .08) !important;
  color: #0a8a3a !important;
  border: 1px solid rgba(10, 138, 58, .2) !important;
}
.mc-co .mc-co-cov-gate__result.is-warn,
.mc-co .mc-co-cov-gate__result.is-warning {
  background: rgba(196, 122, 2, .08) !important;
  color: #c47a02 !important;
  border: 1px solid rgba(196, 122, 2, .2) !important;
}
.mc-co .mc-co-cov-gate__result.is-error,
.mc-co .mc-co-cov-gate__result.is-no {
  background: rgba(183, 28, 43, .08) !important;
  color: #b71c2b !important;
  border: 1px solid rgba(183, 28, 43, .2) !important;
}

/* Legal link discreto, integrado dentro del gate, no flotando */
.mc-co .mc-co-cov-gate__legal {
  margin: 0 !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}
.mc-co .mc-co-cov-gate__legal a {
  color: var(--mc-ink-soft, #6b7280) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.mc-co .mc-co-cov-gate__legal a:hover {
  color: var(--mc-blue, #001ee4) !important;
}

/* Quitar el icono enorme wifi anterior si está duplicado en otro selector */
.mc-co [class*="cov"] [class*="hero"] svg[width="36"] {
  width: 28px !important;
  height: 28px !important;
}

/* Step buttons abajo (Volver / Continuar a tus datos) — mejor presencia */
.mc-co .mc-co-step .mc-co-step__nav,
.mc-co .mc-co-step__buttons {
  display: flex !important;
  gap: 12px !important;
  margin-top: 24px !important;
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.mc-co .mc-co-step [data-step-back] {
  background: #fff !important;
  border: 1.5px solid var(--mc-blue-line, #e3e8f0) !important;
  color: var(--mc-ink, #0a1130) !important;
  border-radius: 999px !important;
  padding: 12px 24px !important;
  font-weight: 500 !important;
}
.mc-co .mc-co-step [data-step-back]:hover {
  border-color: var(--mc-blue, #001ee4) !important;
  color: var(--mc-blue, #001ee4) !important;
}

/* ============================================================================
   v2.6.23 — Suggest list: quitar emojis, items compactos, scroll real,
   loading state en el input
   ========================================================================== */

/* Ocultar emojis 📍 del autocomplete */
.mc-co .mc-co-cov-suggest__icon,
.mc-co .mc-co-cov-suggest .mc-co-cov-suggest__icon {
  display: none !important;
}

/* Items del suggest: más compactos, sin emoji, jerarquía clara */
.mc-co .mc-co-cov-suggest__item,
.mc-co .mc-co-cov-suggest > button {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--mc-ink, #0a1130) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  text-align: left !important;
  cursor: pointer !important;
}
.mc-co .mc-co-cov-suggest__item:hover,
.mc-co .mc-co-cov-suggest > button:hover,
.mc-co .mc-co-cov-suggest__item.is-active,
.mc-co .mc-co-cov-suggest > button.is-active {
  background: var(--mc-blue-soft, #f0f3ff) !important;
  color: var(--mc-blue, #001ee4) !important;
}
.mc-co .mc-co-cov-suggest__label {
  font-size: 13px !important;
  white-space: normal !important;
  word-break: break-word !important;
}

/* Suggest container: max-height más bajo + scroll forzado */
.mc-co .mc-co-cov-suggest,
.mc-co [class*="cov"] .mc-co-cov-suggest {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  max-height: 240px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 60 !important;
  background: #fff !important;
  border: 1px solid var(--mc-blue-line, #e3e8f0) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(10, 17, 48, .14) !important;
  padding: 6px !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--mc-blue-line, #d4dbeb) transparent !important;
}
.mc-co .mc-co-cov-suggest::-webkit-scrollbar { width: 6px; }
.mc-co .mc-co-cov-suggest::-webkit-scrollbar-thumb {
  background: var(--mc-blue-line, #d4dbeb);
  border-radius: 3px;
}

/* Cuando el suggest está abierto, asegurar que el banner result y legal
   queden visualmente OCULTOS (el dropdown ya los tapa con z-index, pero
   por accesibilidad les bajamos opacity para no distraer) */
.mc-co .mc-co-cov-gate.is-suggesting .mc-co-cov-gate__result,
.mc-co .mc-co-cov-gate.is-suggesting .mc-co-cov-gate__legal {
  opacity: .35 !important;
  pointer-events: none !important;
  transition: opacity .15s !important;
}

/* Loading state en el input mientras consulta API */
.mc-co .mc-co-cov-gate__card.is-loading {
  position: relative !important;
}
.mc-co .mc-co-cov-gate__card.is-loading::after {
  content: "" !important;
  position: absolute !important;
  right: 90px !important;  /* a la izquierda del botón */
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 14px !important; height: 14px !important;
  border: 2px solid var(--mc-blue-line, #d4dbeb) !important;
  border-top-color: var(--mc-blue, #001ee4) !important;
  border-radius: 50% !important;
  animation: mc-co-spin .65s linear infinite !important;
  z-index: 5 !important;
  pointer-events: none !important;
}

/* Empty/no-results state cuando no hay sugerencias */
.mc-co .mc-co-cov-suggest__empty,
.mc-co .mc-co-cov-suggest .is-empty {
  padding: 14px 16px !important;
  font-size: 12px !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  text-align: center !important;
  font-style: italic !important;
}

/* v2.6.23: CTA body bloqueado por falta de cobertura */
.mc-co [data-step-next].is-cov-locked,
.mc-co [data-step-next][disabled],
.mc-co button[data-step-next][disabled] {
  background: #d4dbeb !important;
  color: #888 !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

/* Tooltip discreto al hacer hover sobre el CTA bloqueado del step 2 */
.mc-co .mc-co-step[data-step="2"] [data-step-next].is-cov-locked {
  position: relative !important;
}
.mc-co .mc-co-step[data-step="2"] [data-step-next].is-cov-locked::after {
  content: "Comprueba primero la cobertura ↑" !important;
  position: absolute !important;
  bottom: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--mc-ink, #0a1130) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 6px 10px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .2s !important;
}
.mc-co .mc-co-step[data-step="2"] [data-step-next].is-cov-locked:hover::after {
  opacity: 1 !important;
}

/* v2.6.24: Mode selector con 2 cards (catálogo retirado).
   Configurador a la izquierda, factura IA a la derecha.
   Ambas misma altura, ambas seleccionables. */
.mc-co .mc-co-mode {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}
@media (max-width: 600px) {
  .mc-co .mc-co-mode {
    grid-template-columns: 1fr !important;
  }
}

/* Si solo hay 1 card visible (AI desactivado), centrarla */
.mc-co .mc-co-mode:has(.mc-co-mode__card:only-child) {
  grid-template-columns: 1fr !important;
  max-width: 480px !important;
}

/* ============================================================================
   v2.6.25 — Limpiar banner cobertura, ocultar mientras suggesting,
   icono wifi armonizado, paleta más limpia
   ========================================================================== */

/* Cuando hay suggestions visibles, OCULTAR el banner result completamente
   (no opacity 0.35 que aún se ve). Y la legal también. */
.mc-co .mc-co-cov-gate.is-suggesting .mc-co-cov-gate__result,
.mc-co .mc-co-cov-gate.is-suggesting .mc-co-cov-gate__legal {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Banner result: paleta más limpia, menos verde "vacaciones" */
.mc-co .mc-co-cov-gate__result.is-ok,
.mc-co .mc-co-cov-gate__result.is-success {
  background: #ecfdf5 !important;             /* verde MUY claro */
  color: #064e2b !important;                  /* verde oscuro legible */
  border: 1px solid #a7f3d0 !important;       /* borde verde mint claro */
  font-weight: 500 !important;
  font-size: 13px !important;
}
.mc-co .mc-co-cov-gate__result.is-warn,
.mc-co .mc-co-cov-gate__result.is-warning {
  background: #fffbeb !important;
  color: #78350f !important;
  border: 1px solid #fcd34d !important;
}
.mc-co .mc-co-cov-gate__result.is-no,
.mc-co .mc-co-cov-gate__result.is-error {
  background: #fef2f2 !important;
  color: #7f1d1d !important;
  border: 1px solid #fecaca !important;
}
/* Añadir un mini icono ✓ a la izquierda del mensaje OK */
.mc-co .mc-co-cov-gate__result.is-ok::before,
.mc-co .mc-co-cov-gate__result.is-success::before {
  content: "" !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #0a8a3a !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  flex: 0 0 18px !important;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L20 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat !important;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L20 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat !important;
  background: #0a8a3a !important;
}

/* Asegurar que el suggest se solapa SIEMPRE encima del banner result aunque
   el banner esté visible (z-index del banner bajo, suggest alto) */
.mc-co .mc-co-cov-gate__result {
  position: relative !important;
  z-index: 5 !important;
}
.mc-co .mc-co-cov-suggest {
  z-index: 100 !important;
}

/* Icono wifi del hero: más fino, color azul brand puro, unificado con
   iconografía de moovi.com (stroke-width 1.5, líneas suaves) */
.mc-co .mc-co-cov-gate__icon {
  width: 56px !important;
  height: 56px !important;
  background: linear-gradient(135deg, var(--mc-blue-soft, #f0f3ff) 0%, #e8edff 100%) !important;
  border: 1px solid #dde3f5 !important;
}
.mc-co .mc-co-cov-gate__icon svg {
  width: 28px !important;
  height: 28px !important;
  stroke-width: 1.6 !important;
  color: var(--mc-blue, #001ee4) !important;
  opacity: 1 !important;
}

/* Card del input: fondo blanco neutro para no competir cromáticamente */
.mc-co .mc-co-cov-gate__card {
  background: #f7f9fc !important;
  border: 1px solid #eef0f6 !important;
  padding: 6px !important;
}
.mc-co .mc-co-cov-gate__card input[type="text"] {
  border: 1px solid #eef0f6 !important;
  background: #fff !important;
}


   ========================================================================== */

/* P0.1: Mode selector y configurador NUNCA visibles a la vez.
   Cuando el JS aplica hidden=true a #mc-co-mode, blindamos con CSS. */
.mc-co #mc-co-mode[hidden] {
  display: none !important;
}
.mc-co #mc-co-pane-cfg[hidden],
.mc-co #mc-co-pane-catalog[hidden],
.mc-co #mc-co-pane-ai[hidden] {
  display: none !important;
}

/* P0.5: Dot verde junto a "Tu pedido" solo cuando hay items en cart.
   Por defecto gris. */
.mc-co .mc-co-cart__title::after {
  background: #d4dbeb !important;
  box-shadow: 0 0 0 3px rgba(212, 219, 235, .35) !important;
  transition: background .25s, box-shadow .25s !important;
}
.mc-co .mc-co-cart:has(.mc-co-cart__row) .mc-co-cart__title::after,
.mc-co .mc-co-cart:not(:has([data-empty])) .mc-co-cart__title::after {
  background: #0a8a3a !important;
  box-shadow: 0 0 0 3px rgba(10, 138, 58, .12) !important;
}

/* P0.2: Cards de tarifa en grid auto-fit (más cards por fila) */
.mc-co .mc-cfg .mc-options--grid,
.mc-cfg .mc-options--grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

/* P1.1: Hero compacto — mucho menos espacio vertical */
.mc-co .mc-co-hero,
.mc-co .mc-co__hero,
.mc-co [class*="hero"]:first-child {
  padding: 16px 0 8px !important;
  text-align: center !important;
  margin-bottom: 12px !important;
}
.mc-co .mc-co-hero__title,
.mc-co h1 {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  letter-spacing: -.005em !important;
}
.mc-co .mc-co-hero__lead,
.mc-co .mc-co-hero__subtitle {
  font-size: 12px !important;
  margin: 4px 0 0 !important;
  color: var(--mc-ink-soft, #6b7280) !important;
}

/* P1.3: "Cambiar de modo" como chip back estilizado */
.mc-co [data-mc-mode-back],
.mc-co .mc-co-pane__back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #fff !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--mc-ink-soft, #6b7280) !important;
  cursor: pointer !important;
  margin: 0 0 14px !important;
  text-decoration: none !important;
  transition: all .15s !important;
}
.mc-co [data-mc-mode-back]:hover,
.mc-co .mc-co-pane__back:hover {
  border-color: var(--mc-blue, #001ee4) !important;
  color: var(--mc-blue, #001ee4) !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
}

/* P1.4: Cards featured con ribbon visible */
.mc-cfg .mc-option[data-featured="1"],
.mc-cfg .mc-option--featured {
  border-color: var(--moovi-blue, #001ee4) !important;
  border-width: 2px !important;
  box-shadow: 0 8px 24px rgba(0, 30, 228, .14) !important;
  position: relative !important;
}
.mc-cfg .mc-option[data-featured="1"]::before,
.mc-cfg .mc-option--featured::before {
  content: "★ DESTACADO" !important;
  position: absolute !important;
  top: -10px !important;
  left: 12px !important;
  background: var(--moovi-blue, #001ee4) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 12px rgba(0, 30, 228, .25) !important;
}

/* P2.1: Empty state cart con CTA scroll */
.mc-co .mc-co-cart__empty::after,
.mc-co [data-empty]::after {
  content: "Empieza eligiendo abajo ↓" !important;
  display: block !important;
  margin-top: 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--mc-blue, #001ee4) !important;
  font-style: normal !important;
}

/* WCAG 1.4.3 Contrast: subir gris muted */
.mc-co {
  --mc-ink-soft: #5b6168 !important;
}

/* WCAG 1.4.11 Non-text contrast: borders inputs más visibles */
.mc-co .mc-co-field input,
.mc-co .mc-co-field select,
.mc-co .mc-co-field textarea {
  border-color: #d4dbeb !important;
}

/* P2.4: Microinteracción al añadir al cart — pulse */
.mc-co .mc-co-cart__row.is-just-added {
  animation: mc-cart-add .45s cubic-bezier(.34,1.56,.64,1) !important;
}
@keyframes mc-cart-add {
  0%   { transform: scale(.9); opacity: 0; background: #b6fbd9; }
  60%  { transform: scale(1.03); opacity: 1; background: #ecfdf5; }
  100% { transform: scale(1); opacity: 1; background: var(--mc-blue-soft, #f0f3ff); }
}


   ========================================================================== */

/* P0.3: Banner sticky tema → padding-top al main column del checkout */
@media (min-width: 1024px) {
  .mc-co {
    scroll-padding-top: var(--mc-sidecart-top, 180px) !important;
  }
}

/* P0.4: Stepper integrado, no card flotante separada */
.mc-co .mc-co-stepper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  max-width: none !important;
}

/* P1.2: Iconos contextuales en cada step del stepper */
.mc-co .mc-co-stepper__item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
}
.mc-co .mc-co-stepper__num {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #f0f3ff !important;
  color: var(--mc-blue, #001ee4) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: 2px solid transparent !important;
  position: relative !important;
}
.mc-co .mc-co-stepper__item.is-active .mc-co-stepper__num {
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  box-shadow: 0 0 0 4px rgba(0, 30, 228, .12) !important;
}
.mc-co .mc-co-stepper__item.is-done .mc-co-stepper__num,
.mc-co .mc-co-stepper__item.is-completed .mc-co-stepper__num {
  background: #0a8a3a !important;
  color: transparent !important;
  font-size: 0 !important;
}
.mc-co .mc-co-stepper__item.is-done .mc-co-stepper__num::before,
.mc-co .mc-co-stepper__item.is-completed .mc-co-stepper__num::before {
  content: "✓" !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}
.mc-co .mc-co-stepper__line {
  flex: 1 1 auto !important;
  height: 2px !important;
  background: #eef0f6 !important;
  margin: 0 4px !important;
  transition: background .25s !important;
}
.mc-co .mc-co-stepper__line.is-done {
  background: #0a8a3a !important;
}

/* P1.7: Doble CTA cobertura — copy diferenciado */
.mc-co .mc-co-step[data-step="2"] [data-step-next]:not(.is-cov-locked) {
  /* CTA body: "Continuar →" — más simple */
}

/* P2.2: Trust badges con jerarquía */
.mc-co .mc-co-cart__trust {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.mc-co .mc-co-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 4px 0 !important;
}
.mc-co .mc-co-trust-item:first-child {
  font-weight: 600 !important;
  color: var(--mc-ink, #0a1130) !important;
}
.mc-co .mc-co-trust-item:not(:first-child) {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--mc-ink-soft, #5b6168) !important;
}
.mc-co .mc-co-trust-item:first-child svg {
  width: 18px !important;
  height: 18px !important;
}
.mc-co .mc-co-trust-item:not(:first-child) svg {
  width: 14px !important;
  height: 14px !important;
}

/* v2.6.36 (M-7): chip flotante mobile mejorado · SVG bag · sticky bottom-right */
@media (max-width: 1023px) {
  .mc-co-mobile-summary {
    position: fixed !important;
    bottom: 16px !important;
    right: 16px !important;
    background: #001ee4 !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 12px 18px 12px 14px !important;
    box-shadow: 0 12px 32px rgba(0, 30, 228, .35), 0 4px 8px rgba(0, 0, 0, .08) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #fff !important;
    z-index: 9500 !important;
    display: none !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: transform .12s ease, box-shadow .12s ease !important;
  }
  .mc-co.has-cart .mc-co-mobile-summary {
    display: inline-flex !important;
  }
  .mc-co-mobile-summary:hover,
  .mc-co-mobile-summary:focus-visible {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 40px rgba(0, 30, 228, .42), 0 6px 12px rgba(0, 0, 0, .10) !important;
    outline: none !important;
  }
  .mc-co-mobile-summary::before {
    content: '' !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/><line x1='3' y1='6' x2='21' y2='6'/><path d='M16 10a4 4 0 0 1-8 0'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }
  /* Si el sidecart está abierto en bottom-sheet, ocultar chip */
  .mc-co.has-cart.cart-open .mc-co-mobile-summary {
    display: none !important;
  }
}

/* P1.6: Field invalid con mensaje contextual visible */
.mc-co .mc-co-field.is-invalid input,
.mc-co .mc-co-field.is-invalid select {
  border-color: #b71c2b !important;
  background: #fef7f7 !important;
  box-shadow: 0 0 0 3px rgba(183, 28, 43, .08) !important;
}
.mc-co .mc-co-field.is-invalid label {
  color: #b71c2b !important;
}
.mc-co .mc-co-field.is-invalid .mc-co-field__msg {
  color: #b71c2b !important;
  font-weight: 500 !important;
  display: block !important;
  margin-top: 4px !important;
  padding: 0 4px !important;
}

/* P2.6: Animación slide-in al añadir item al cart */
.mc-co .mc-co-cart__row {
  animation: mc-cart-slide-in .35s cubic-bezier(.5, 0, .2, 1) !important;
}
@keyframes mc-cart-slide-in {
  from { opacity: 0; transform: translateX(8px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* P0.4 (cont): Stepper móvil compacto */
@media (max-width: 600px) {
  .mc-co .mc-co-stepper {
    overflow-x: auto !important;
    padding: 4px 0 !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .mc-co .mc-co-stepper::-webkit-scrollbar { display: none !important; }
  .mc-co .mc-co-stepper__item .mc-co-stepper__label {
    display: none !important;
  }
  .mc-co .mc-co-stepper__item.is-active .mc-co-stepper__label {
    display: inline !important;
  }
}

/* WCAG 4.1.2: aria-disabled state visible */
.mc-co [aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .6 !important;
}

/* P2.5: Política privacidad consistente — mismo estilo en todos los sitios */
.mc-co a[href*="politica"],
.mc-co a[href*="privacidad"],
.mc-co a[href*="condiciones"] {
  color: var(--mc-ink-soft, #5b6168) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-size: inherit !important;
}
.mc-co a[href*="politica"]:hover,
.mc-co a[href*="privacidad"]:hover,
.mc-co a[href*="condiciones"]:hover {
  color: var(--mc-blue, #001ee4) !important;
}

/* ============================================================================
   v2.6.30 — Mantiene SOLO fixes funcionales de v2.6.27/28, revierte cambios
   estéticos que rompían el diseño previo aprobado por el usuario.
   ========================================================================== */

/* Funcional: mode selector y configurador no visibles a la vez */
.mc-co #mc-co-mode[hidden],
.mc-co #mc-co-pane-cfg[hidden],
.mc-co #mc-co-pane-catalog[hidden],
.mc-co #mc-co-pane-ai[hidden] {
  display: none !important;
}

/* Funcional: dot "Tu pedido" condicional (gris vacío, verde con items) */
.mc-co .mc-co-cart__title::after {
  background: #d4dbeb !important;
  box-shadow: 0 0 0 3px rgba(212, 219, 235, .35) !important;
  transition: background .25s, box-shadow .25s !important;
}
.mc-co .mc-co-cart:has(.mc-co-cart__row) .mc-co-cart__title::after {
  background: #0a8a3a !important;
  box-shadow: 0 0 0 3px rgba(10, 138, 58, .12) !important;
}

/* Funcional: campo invalid con error contextual */
.mc-co .mc-co-field.is-invalid input,
.mc-co .mc-co-field.is-invalid select {
  border-color: #b71c2b !important;
  box-shadow: 0 0 0 3px rgba(183, 28, 43, .08) !important;
}
.mc-co .mc-co-field.is-invalid label {
  color: #b71c2b !important;
}
.mc-co .mc-co-field.is-invalid .mc-co-field__msg {
  color: #b71c2b !important;
  font-weight: 500 !important;
  display: block !important;
  margin-top: 4px !important;
}
.mc-co .mc-co-field__msg:empty { display: none !important; }

/* Microinteracción discreta al añadir item */
.mc-co .mc-co-cart__row.is-just-added {
  animation: mc-cart-slide-in .35s cubic-bezier(.5, 0, .2, 1) !important;
}
@keyframes mc-cart-slide-in {
  from { opacity: 0; transform: translateX(8px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* WCAG aria-disabled */
.mc-co [aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .6 !important;
}

/* ============================================================================
   v2.6.32 — Telco real: badges, trust signals, sticky bar mobile,
   microcopy, comparador, polish premium
   ========================================================================== */

/* --- Badges destacados estilo telco real --- */
.mc-co .mc-co-badge--top-seller,
.mc-co .mc-co-card--top-seller::before {
  content: "🔥 MÁS VENDIDO" !important;
  position: absolute !important;
  top: -10px !important;
  right: 14px !important;
  background: linear-gradient(135deg, #ff6b35, #f7b801) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 12px rgba(255, 107, 53, .35) !important;
  z-index: 5 !important;
}
.mc-co .mc-co-badge--best-value::before,
.mc-co .mc-co-card--best-value::before {
  content: "⭐ MEJOR PRECIO" !important;
  position: absolute !important;
  top: -10px !important;
  right: 14px !important;
  background: linear-gradient(135deg, #0a8a3a, #14ba56) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 12px rgba(10, 138, 58, .35) !important;
  z-index: 5 !important;
}
.mc-co .mc-co-badge--new::before {
  content: "✨ NUEVO" !important;
  position: absolute !important;
  top: -10px !important;
  left: 14px !important;
  background: linear-gradient(135deg, #001ee4, #4f46e5) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  z-index: 5 !important;
}

/* --- Trust signals enriquecidos (footer del sidecart) --- */
.mc-co .mc-co-cart__trust-extras {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid #eef0f6 !important;
  justify-content: center !important;
}
.mc-co .mc-co-trust-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
  color: var(--mc-blue, #001ee4) !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
}

/* --- Microcopy persuasivo (urgencia, ahorro) --- */
.mc-co .mc-co-savings-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: #ecfdf5 !important;
  color: #064e2b !important;
  border: 1px solid #a7f3d0 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin-top: 4px !important;
}
.mc-co .mc-co-savings-badge::before {
  content: "💰" !important;
  font-size: 12px !important;
}

/* --- Sticky bottom bar mobile mejorada (telco real) --- */
@media (max-width: 1023px) {
  .mc-co #mc-co-mobile-bar,
  .mc-co .mc-co-mobile-bar {
    padding: 10px 14px !important;
    box-shadow: 0 -8px 24px rgba(10, 17, 48, .12) !important;
    backdrop-filter: blur(8px) !important;
    background: rgba(255, 255, 255, .96) !important;
  }
  .mc-co .mc-co-mobile-bar__total {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    line-height: 1.2 !important;
  }
  .mc-co .mc-co-mobile-bar__total::before {
    content: "Total mensual" !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    color: var(--mc-ink-soft, #5b6168) !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
  }
  .mc-co .mc-co-mobile-bar__total strong {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--mc-blue, #001ee4) !important;
  }
}

/* --- Cards de tarifa con detalle premium --- */
.mc-co .mc-card,
.mc-cfg .mc-option {
  position: relative !important;
}
.mc-co .mc-card__perma-tag,
.mc-cfg .mc-option__perma-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: rgba(255, 255, 255, .15) !important;
  color: rgba(255, 255, 255, .9) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  margin-top: 4px !important;
}
.mc-co .mc-card__perma-tag--free,
.mc-cfg .mc-option__perma-tag--free {
  background: var(--mc-mint, #b6fbd9) !important;
  color: #064e2b !important;
}

/* --- Comparador entre tarifas (futuro shortcode) --- */
.mc-co-comparator {
  display: grid !important;
  grid-template-columns: 200px repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  font-family: "Poppins", sans-serif !important;
  box-shadow: 0 8px 24px rgba(10, 17, 48, .04) !important;
}
.mc-co-comparator__row {
  display: contents !important;
}
.mc-co-comparator__cell {
  padding: 12px 14px !important;
  border-bottom: 1px solid #eef0f6 !important;
  font-size: 13px !important;
  color: var(--mc-ink, #0a1130) !important;
}
.mc-co-comparator__head {
  background: var(--mc-blue-soft, #f0f3ff) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--mc-blue, #001ee4) !important;
}
.mc-co-comparator__cell--featured {
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
}

/* --- Estrellas de rating tipo Trustpilot --- */
.mc-co .mc-co-rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 12px !important;
  color: var(--mc-ink-soft, #5b6168) !important;
}
.mc-co .mc-co-rating__stars {
  color: #f7b801 !important;
  font-weight: 700 !important;
}

/* --- Iconos de pago aceptados (Visa, MC, Bizum) --- */
.mc-co .mc-co-pay-icons {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  margin-top: 8px !important;
}
.mc-co .mc-co-pay-icon {
  width: 32px !important;
  height: 20px !important;
  background: #fff !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  color: var(--mc-ink, #0a1130) !important;
}

/* --- FAQ inline collapsible --- */
.mc-co-faq {
  margin-top: 24px !important;
}
.mc-co-faq__item {
  border: 1px solid #eef0f6 !important;
  border-radius: 12px !important;
  margin-bottom: 8px !important;
  background: #fff !important;
}
.mc-co-faq__item summary {
  padding: 12px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--mc-ink, #0a1130) !important;
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
}
.mc-co-faq__item summary::-webkit-details-marker { display: none !important; }
.mc-co-faq__item summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 16px !important;
  font-size: 18px !important;
  color: var(--mc-blue, #001ee4) !important;
  transition: transform .2s !important;
}
.mc-co-faq__item[open] summary::after {
  content: "−" !important;
}
.mc-co-faq__item[open] summary {
  border-bottom: 1px solid #eef0f6 !important;
  color: var(--mc-blue, #001ee4) !important;
}
.mc-co-faq__answer {
  padding: 12px 16px !important;
  font-size: 13px !important;
  color: var(--mc-ink-soft, #5b6168) !important;
  line-height: 1.6 !important;
}

/* --- Mejor presentación de los pasos en stepper estilo telco --- */
.mc-co .mc-co-stepper__num {
  font-feature-settings: "tnum" !important;
}

/* --- Hover effect en cards de tarifa más vivo (telco visual) --- */
.mc-cfg .mc-option:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(10, 17, 48, .08) !important;
  border-color: var(--moovi-blue, #001ee4) !important;
}
.mc-cfg .mc-option {
  transition: all .2s cubic-bezier(.5, 0, .2, 1) !important;
}

/* --- Notch label más nítido en focus --- */
.mc-co .mc-co-field--notch input:focus + label,
.mc-co .mc-co-field--notch select:focus + label {
  background: linear-gradient(180deg, transparent 50%, #fff 50%) !important;
  padding: 0 6px !important;
  font-weight: 600 !important;
  color: var(--mc-blue, #001ee4) !important;
}

/* ============================================================================
   v2.6.33 — Rediseño estilo Lowi / Vodafone / Movistar mainstream
   - Cards limpias, sin gradients excesivos
   - Sombras sutiles 0 4 12 con baja opacidad
   - Sin emojis promo (🔥⭐✨); badges con texto plano
   - Border-radius 12px conservador
   - CTAs grandes planos
   - Whitespace generoso
   - Mantiene brand moovi (azul #001ee4 + mint)
   ========================================================================== */

/* --- DESACTIVAR badges con emojis promo ---- */
.mc-co .mc-co-badge--top-seller::before,
.mc-co .mc-co-card--top-seller::before {
  content: "Más popular" !important;
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
.mc-co .mc-co-badge--best-value::before,
.mc-co .mc-co-card--best-value::before {
  content: "Mejor relación" !important;
  background: #0a8a3a !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
.mc-co .mc-co-badge--new::before {
  content: "Nuevo" !important;
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
}

/* --- Empty state cart sin emoji 🛒 ---- */
.mc-co .mc-co-cart__empty::before,
.mc-co [data-empty]::before {
  content: "" !important;
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 auto 8px !important;
  background: #d4dbeb !important;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>") center/contain no-repeat !important;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>") center/contain no-repeat !important;
}
.mc-co .mc-co-cart__empty::after,
.mc-co [data-empty]::after {
  content: "" !important;
  display: none !important;
}

/* --- Card sidecart "Tu pedido" estilo Lowi: blanco limpio sin sombras grandes ---- */
.mc-co .mc-co-cart,
.mc-co aside.mc-co-cart {
  background: #fff !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  box-shadow: none !important;
}

/* --- PRECIO FINAL flat (sin gradient, estilo Vodafone) ---- */
.mc-co .mc-co-cart__total,
.mc-co [class*="sidecart"] .mc-co-cart__total {
  background: var(--mc-blue, #001ee4) !important;
  border-radius: 12px !important;
  padding: 18px 16px !important;
  box-shadow: none !important;
}
.mc-co .mc-co-cart__total::before,
.mc-co .mc-co-cart__total::after {
  content: none !important;
  display: none !important;
}
.mc-co .mc-co-cart__total-amount {
  font-size: 30px !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: #fff !important;
  line-height: 1 !important;
}
.mc-co .mc-co-cart__total-amount small {
  font-size: 14px !important;
  font-weight: 500 !important;
  opacity: .9 !important;
  margin-left: 4px !important;
}
.mc-co .mc-co-cart__total-label {
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  opacity: .85 !important;
  margin: 0 0 4px !important;
}

/* --- CTAs grandes y planos (estilo Movistar) ---- */
.mc-co .mc-co-cart__edit,
.mc-co #mc-co-cart-edit,
.mc-co .mc-co-btn--primary,
.mc-co button.mc-co-cta {
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background .15s, transform .1s !important;
  box-shadow: none !important;
}
.mc-co .mc-co-cart__edit:hover:not(:disabled),
.mc-co #mc-co-cart-edit:hover:not(:disabled) {
  background: #0017b4 !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}
.mc-co .mc-co-cart__edit:active:not(:disabled),
.mc-co #mc-co-cart-edit:active:not(:disabled) {
  transform: scale(.98) !important;
}

/* --- Cards de tarifa: blancas, border sutil, sombra ligera al hover ---- */
.mc-co .mc-card,
.mc-cfg .mc-option,
.mc-co .mc-co-tariff {
  background: #fff !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  transition: all .15s ease !important;
}
.mc-co .mc-card:hover,
.mc-cfg .mc-option:hover {
  border-color: #d4dbeb !important;
  box-shadow: 0 4px 12px rgba(10, 17, 48, .06) !important;
  transform: none !important;
}

/* --- Stepper limpio (estilo Lowi/Movistar) ---- */
.mc-co .mc-co-stepper {
  background: #fff !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  margin: 0 0 20px !important;
  box-shadow: none !important;
}

/* --- Trust signals discretos (sin pills coloreadas) ---- */
.mc-co .mc-co-trust-pill {
  background: transparent !important;
  color: var(--mc-ink-soft, #5b6168) !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  border: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.mc-co .mc-co-trust-pill::before {
  content: "✓" !important;
  color: #0a8a3a !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}
.mc-co .mc-co-cart__trust-extras {
  border-top: 1px solid #eef0f6 !important;
  padding-top: 12px !important;
  margin-top: 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
  justify-content: flex-start !important;
}

/* --- Hero con peso (no compacto), estilo Vodafone ---- */
.mc-co h1,
.mc-co .mc-co-hero__title {
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--mc-ink, #0a1130) !important;
  margin: 0 0 4px !important;
  letter-spacing: -.01em !important;
}
.mc-co .mc-co-hero,
.mc-co .mc-co__hero {
  text-align: center !important;
  padding: 28px 0 20px !important;
}

/* --- Inputs limpios estilo telco ---- */
.mc-co .mc-co-field input[type="text"],
.mc-co .mc-co-field input[type="email"],
.mc-co .mc-co-field input[type="tel"],
.mc-co .mc-co-field input[type="date"],
.mc-co .mc-co-field input[type="number"],
.mc-co .mc-co-field select {
  background: #fff !important;
  border: 1px solid #d4dbeb !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--mc-ink, #0a1130) !important;
  height: 52px !important;
  transition: border-color .15s !important;
}
.mc-co .mc-co-field input:focus,
.mc-co .mc-co-field select:focus {
  border-color: var(--mc-blue, #001ee4) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(0, 30, 228, .1) !important;
}

/* --- Card radio (SIM/portab) limpia estilo telco ---- */
.mc-co .mc-co-card-radio {
  background: #fff !important;
  border: 1.5px solid #d4dbeb !important;
  border-radius: 10px !important;
  padding: 14px 14px 14px 44px !important;
  box-shadow: none !important;
  transition: border-color .15s !important;
}
.mc-co .mc-co-card-radio.is-checked {
  border-color: var(--mc-blue, #001ee4) !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
}
.mc-co .mc-co-card-radio:hover:not(.is-checked) {
  border-color: #b8c1d9 !important;
}

/* --- Pills "RECOMENDADO" / "+RÁPIDO" / "INMEDIATA" más sobrias ---- */
.mc-co .mc-co-card-radio__pill,
.mc-co .mc-co-mode__badge {
  background: var(--mc-mint, #b6fbd9) !important;
  color: #064e2b !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* --- Configurador cards estilo Lowi (filas) ---- */
.mc-cfg .mc-section {
  background: #fff !important;
  border: 1px solid #eef0f6 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  padding: 20px !important;
  margin-bottom: 12px !important;
}
.mc-cfg .mc-section__head {
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.mc-cfg .mc-section__icon {
  width: 32px !important;
  height: 32px !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
  color: var(--mc-blue, #001ee4) !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.mc-cfg .mc-section__icon svg {
  width: 18px !important;
  height: 18px !important;
}

/* --- Mode selector sin gradients ----- */
.mc-co .mc-co-mode__card {
  background: #fff !important;
  border: 1.5px solid #d4dbeb !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  padding: 24px 20px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: border-color .15s, transform .1s !important;
}
.mc-co .mc-co-mode__card:hover {
  border-color: var(--mc-blue, #001ee4) !important;
  background: #fafbff !important;
}
.mc-co .mc-co-mode__card.is-active,
.mc-co .mc-co-mode__card[aria-pressed="true"] {
  border-color: var(--mc-blue, #001ee4) !important;
  background: var(--mc-blue-soft, #f0f3ff) !important;
}
.mc-co .mc-co-mode__ico {
  width: 56px !important;
  height: 56px !important;
  margin: 0 auto 12px !important;
  background: var(--mc-blue, #001ee4) !important;
  color: #fff !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.mc-co .mc-co-mode__title {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--mc-ink, #0a1130) !important;
  display: block !important;
  margin: 0 0 6px !important;
}
.mc-co .mc-co-mode__desc {
  font-size: 13px !important;
  color: var(--mc-ink-soft, #5b6168) !important;
  line-height: 1.5 !important;
}

/* --- Quitar text-shadow / gradient text excesivos del precio sidecart  --- */
.mc-co .mc-co-cart__total-amount [data-cart-amount] {
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}

/* --- Ajustes mobile (sticky bar más limpia) ---- */
@media (max-width: 1023px) {
  .mc-co #mc-co-mobile-bar,
  .mc-co .mc-co-mobile-bar {
    background: #fff !important;
    backdrop-filter: none !important;
    border-top: 1px solid #eef0f6 !important;
    box-shadow: 0 -2px 8px rgba(10, 17, 48, .06) !important;
    padding: 12px 16px !important;
  }
}

/* --- Quitar bordes/sombras agresivos del config compact que ya no aplica --- */
.mc-co .mc-co-card-radio:hover {
  transform: none !important;
}

/* --- Iconos pago aceptados estilo telco real (logos planos) ---- */
.mc-co .mc-co-pay-icons {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid #eef0f6 !important;
  justify-content: flex-start !important;
}

/* ============================================================================
   v2.6.34 — REGLA MAESTRA: [hidden] siempre gana (fix regresiones funcionales)
   Las CSS de versiones anteriores pusieron muchas reglas con `display:
   block/grid/flex !important` que pisaban [hidden]. Esto rompía:
   - IVA/IGIC popover (no se ocultaba al cerrar)
   - Tipo cliente Particular/Empresa (campos data-only seguían visibles)
   - Portabilidad nuevo número (campos data-portab-fields persistían)
   - SIM secciones (no se ocultaban cuando AI off, etc.)
   - KYC step (renderizado pero hidden ignorado)
   ========================================================================== */

/* MAESTRA — [hidden] siempre invisible, sin excepción */
.mc-co [hidden],
.mc-co [hidden][hidden],
.mc-co .mc-co-step[hidden],
.mc-co [data-only][hidden],
.mc-co [data-portab-fields][hidden],
.mc-co [data-show-when-movil][hidden],
.mc-co .mc-co-cart__tax-popover[hidden],
.mc-co .mc-co-cov-suggest[hidden],
.mc-co .mc-co-cov-gate[hidden],
.mc-co .mc-co-cov-gate__result[hidden],
.mc-co .mc-co-cov-gate__legal[hidden],
.mc-co #mc-co-cart-edit[hidden],
.mc-co .mc-co-cart__edit[hidden],
.mc-co .mc-co-cart__advantages[hidden],
.mc-co .mc-co-mobile-bar[hidden],
.mc-co .mc-co-cart__total[hidden],
.mc-co .mc-co-line-portab-fields[hidden],
.mc-co [data-portab-fields-line][hidden],
.mc-co .mc-co-sim-section[hidden],
.mc-co .mc-co-sim-row[hidden] {
  display: none !important;
  visibility: hidden !important;
}

/* IVA toggle popover: cuando NO está hidden, layout correcto */
.mc-co .mc-co-cart__tax-popover:not([hidden]),
.mc-co-cart__tax-popover.mc-co-cart__tax-popover--portaled:not([hidden]) {
  display: block !important;
  visibility: visible !important;
}

/* v2.6.35 (B1): popover IVA portado al <body> — fuera del clipping del padre.
   Aplica solo cuando el JS le añade .mc-co-cart__tax-popover--portaled. */
.mc-co-cart__tax-popover.mc-co-cart__tax-popover--portaled {
  position: fixed !important;
  z-index: 9999 !important;
  background: #fff;
  border: 1px solid #e3e6f3;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  padding: 8px;
  min-width: 240px;
  max-width: calc(100vw - 24px);
  font-family: inherit;
  color: #0a0a3a;
}
.mc-co-cart__tax-popover.mc-co-cart__tax-popover--portaled .mc-co-cart__tax-opt {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
}
.mc-co-cart__tax-popover.mc-co-cart__tax-popover--portaled .mc-co-cart__tax-opt:hover,
.mc-co-cart__tax-popover.mc-co-cart__tax-popover--portaled .mc-co-cart__tax-opt:focus-visible {
  background: rgba(0, 30, 228, 0.06);
  outline: none;
}
.mc-co-cart__tax-popover.mc-co-cart__tax-popover--portaled .mc-co-cart__tax-opt.is-active {
  background: rgba(0, 30, 228, 0.10);
  font-weight: 600;
}
.mc-co-cart__tax-popover.mc-co-cart__tax-popover--portaled .mc-co-cart__tax-region {
  font-size: 0.78em;
  opacity: 0.65;
  font-weight: 400;
}

/* Cobertura suggest: cuando NO hidden, posicionamiento correcto */
.mc-co .mc-co-cov-suggest:not([hidden]) {
  display: block !important;
  visibility: visible !important;
}

/* Result banner cobertura: cuando NO hidden */
.mc-co .mc-co-cov-gate__result:not([hidden]) {
  display: flex !important;
  visibility: visible !important;
}

/* Step actual visible — el resto hidden */
.mc-co .mc-co-step:not([hidden]) {
  display: block !important;
  visibility: visible !important;
}

/* Bloque portabilidad por línea cuando is-portar */
.mc-co .mc-co-line-portab-fields:not([hidden]) {
  display: grid !important;
  visibility: visible !important;
}

/* Form fields data-only cuando NO hidden (flex column normal) */
.mc-co [data-only]:not([hidden]) {
  visibility: visible !important;
}

/* AI states */
.mc-co .mc-co-ai-state[hidden] {
  display: none !important;
  visibility: hidden !important;
}
.mc-co .mc-co-ai-state:not([hidden]) {
  display: block !important;
  visibility: visible !important;
}

/* KYC step content cuando visible */
.mc-co #mc-co-step-5:not([hidden]) {
  display: block !important;
  visibility: visible !important;
}
.mc-co .mc-co-kyc__status[hidden],
.mc-co .mc-co-kyc__result[hidden] {
  display: none !important;
}
.mc-co .mc-co-kyc__status:not([hidden]),
.mc-co .mc-co-kyc__result:not([hidden]) {
  display: flex !important;
  visibility: visible !important;
}

/* Cart total y CTA solo cuando NO hidden */
.mc-co .mc-co-cart__total:not([hidden]) {
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
}
.mc-co #mc-co-cart-edit:not([hidden]) {
  display: block !important;
  visibility: visible !important;
}
