/* ============================================================
 * Lake & Carlton Cleaners Booking - Frontend Styles
 * Uses !important on key declarations to defeat Elementor / theme
 * overrides without resorting to brittle deep selectors.
 * ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

.mcb-scope {
  --mcb-navy: #0B1121 !important;
  --mcb-navy-soft: #1E293B !important;
  --mcb-accent: #0284C7 !important;
  --mcb-accent-h: #036aa0 !important;
  --mcb-accent-lt: #38BDF8 !important;
  --mcb-grey: #64748B !important;
  --mcb-grey-lt: #94A3B8 !important;
  --mcb-bg: #FFFFFF !important;
  --mcb-bg-soft: #F8FAFC !important;
  --mcb-border: #E2E8F0 !important;
  --mcb-error: #EF4444 !important;
  --mcb-success: #10B981 !important;
  --mcb-font-h: 'Outfit', sans-serif !important;
  --mcb-font-b: 'Plus Jakarta Sans', sans-serif !important;
  --mcb-max-w: 1350px;
  --mcb-px: clamp(1rem, 3vw, 2rem);
  --mcb-py: clamp(2rem, 4vw, 3.5rem);
}

.mcb-scope, .mcb-scope *, .mcb-scope *::before, .mcb-scope *::after {
  box-sizing: border-box !important;
}

.mcb-scope {
  font-family: var(--mcb-font-b) !important;
  color: #0F172A !important;
  background: transparent !important;
  padding-block: 15px !important;
}

.mcb-container {
  max-width: var(--mcb-max-w) !important;
  margin-inline: auto !important;
  padding-inline: 0px !important;
}

.mcb-svc-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

/* ---------- Accordion card ---------- */
.mcb-svc-card {
  background: #fff !important;
  border: 2px solid var(--mcb-border) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
}
.mcb-svc-card.mcb-open {
  border-color: var(--mcb-accent) !important;
  box-shadow: 0 12px 35px rgba(2, 132, 199, 0.12) !important;
}
.mcb-svc-trigger {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1.5rem 1.75rem !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  text-align: left !important;
  font-family: var(--mcb-font-b) !important;
  color: inherit !important;
  margin: 0 !important;
  transition: background 0.2s !important;
  box-shadow: none !important;
}
.mcb-svc-trigger:hover { background: var(--mcb-bg-soft) !important; }
.mcb-svc-trigger:focus { outline: none !important; }
.mcb-svc-trigger-left {
  display: flex !important;
  align-items: center !important;
  gap: 1.1rem !important;
}
.mcb-svc-icon-box {
  width: 52px !important; height: 52px !important;
  background: rgba(2, 132, 199, 0.08) !important;
  border-radius: 14px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: var(--mcb-accent) !important;
  flex-shrink: 0 !important;
}
.mcb-svc-name {
  font-family: var(--mcb-font-h) !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: var(--mcb-navy) !important;
  line-height: 1.2 !important;
}
.mcb-svc-tagline {
  font-size: 0.92rem !important;
  color: var(--mcb-grey) !important;
  margin-top: 0.2rem !important;
  font-weight: 500 !important;
}
.mcb-svc-chevron {
  transition: transform 0.3s ease !important;
  color: var(--mcb-grey-lt) !important;
  flex-shrink: 0 !important;
}
.mcb-svc-card.mcb-open .mcb-svc-chevron {
  transform: rotate(180deg) !important;
  color: var(--mcb-accent) !important;
}
.mcb-svc-body {
  border-top: 1px solid var(--mcb-border) !important;
  background: var(--mcb-bg-soft) !important;
  display: none !important;
}
.mcb-svc-card.mcb-open .mcb-svc-body { display: block !important; }
.mcb-inner-panel {
  background: #fff !important;
  margin: 1.25rem !important;
  border-radius: 16px !important;
  border: 1px solid var(--mcb-border) !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
}

/* ---------- Progress steps ---------- */
.mcb-steps {
  display: flex !important;
  align-items: center !important;
  padding: 1.1rem 1.75rem !important;
  background: var(--mcb-navy) !important;
}
.mcb-step { display: flex !important; align-items: center !important; gap: 0.5rem !important; }
.mcb-step-num {
  width: 28px !important; height: 28px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.1) !important;
  border: 2px solid rgba(255,255,255,0.15) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  font-family: var(--mcb-font-h) !important;
  color: rgba(255,255,255,0.5) !important;
  transition: all 0.3s ease !important;
}
.mcb-step-lbl {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
  white-space: nowrap !important;
}
.mcb-step.active .mcb-step-num {
  background: var(--mcb-accent) !important;
  border-color: var(--mcb-accent) !important;
  color: #fff !important;
  box-shadow: 0 0 10px rgba(56,189,248,0.5) !important;
}
.mcb-step.active .mcb-step-lbl { color: #fff !important; }
.mcb-step.done .mcb-step-num {
  background: rgba(56,189,248,0.3) !important;
  border-color: rgba(56,189,248,0.5) !important;
  color: #fff !important;
}
.mcb-step.done .mcb-step-lbl { color: rgba(255,255,255,0.7) !important; }
.mcb-step-line {
  flex: 1 !important;
  height: 2px !important;
  background: rgba(255,255,255,0.1) !important;
  margin: 0 0.75rem !important;
  min-width: 15px !important;
}

/* ---------- Panes ---------- */
.mcb-pane {
  padding: 1.75rem !important;
  display: block !important;
  animation: mcbFadeIn 0.4s ease forwards !important;
}
.mcb-hidden { display: none !important; }
@keyframes mcbFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.mcb-pane-title {
  font-family: var(--mcb-font-h) !important;
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  color: var(--mcb-navy) !important;
  margin: 0 0 0.5rem !important;
}
.mcb-pane-sub {
  font-size: 0.95rem !important;
  color: var(--mcb-grey) !important;
  margin: 0 0 1.4rem !important;
  line-height: 1.6 !important;
}
.mcb-center { text-align: center !important; max-width: 460px !important; margin: 0 auto 1.5rem !important; }

/* ---------- Inputs ---------- */
.mcb-field-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.1rem !important;
  margin-bottom: 1.1rem !important;
}
.mcb-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  margin-bottom: 1.1rem !important;
}
.mcb-field-row .mcb-field { margin-bottom: 0 !important; }
.mcb-label {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--mcb-grey) !important;
  display: flex !important;
  justify-content: space-between !important;
  margin: 0 !important;
}
.mcb-req { color: var(--mcb-error) !important; }
.mcb-input {
  padding: 0.8rem 1rem !important;
  border: 2px solid var(--mcb-border) !important;
  border-radius: 10px !important;
  font-family: var(--mcb-font-b) !important;
  font-size: 0.95rem !important;
  color: var(--mcb-navy) !important;
  background: #fff !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  outline: none !important;
  width: 100% !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  height: auto !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.mcb-input:focus,
.mcb-input:focus-visible {
  border-color: var(--mcb-accent) !important;
  box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.12) !important;
  outline: none !important;
}
select.mcb-input {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' 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 0.8rem center !important;
  padding-right: 2.5rem !important;
}
.mcb-input.mcb-has-error {
  border-color: var(--mcb-error) !important;
  background: #FEF2F2 !important;
}
.mcb-textarea { min-height: 100px !important; resize: vertical !important; }

/* ---------- Option cards (tiers) ---------- */
.mcb-grid-tiers {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 0.7rem !important;
  margin-bottom: 1.25rem !important;
}
.mcb-grid-cond {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0.7rem !important;
  margin-bottom: 1.25rem !important;
}
.mcb-card-opt {
  border: 2px solid var(--mcb-border) !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  background: var(--mcb-bg-soft) !important;
  transition: border-color 0.2s, background 0.2s, transform 0.2s, box-shadow 0.2s !important;
  font-family: var(--mcb-font-b) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem 0.5rem !important;
  text-align: center !important;
  gap: 0.35rem !important;
  color: var(--mcb-navy) !important;
  box-shadow: none !important;
}
.mcb-card-opt:hover {
  border-color: rgba(2, 132, 199, 0.4) !important;
  background: #fff !important;
  transform: translateY(-2px) !important;
}
.mcb-card-opt.mcb-selected {
  border-color: var(--mcb-accent) !important;
  background: rgba(2, 132, 199, 0.06) !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.1) !important;
}
.mcb-co-title {
  font-family: var(--mcb-font-h) !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  color: var(--mcb-navy) !important;
}
.mcb-co-sub {
  font-size: 0.78rem !important;
  color: var(--mcb-grey) !important;
}
.mcb-card-cond .mcb-cond-dot {
  width: 12px !important; height: 12px !important;
  border-radius: 50% !important;
  display: block !important;
  margin-bottom: 0.35rem !important;
}

/* ---------- Quantity stepper ---------- */
.mcb-qty-block {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  background: var(--mcb-bg-soft) !important;
  border: 2px solid var(--mcb-border) !important;
  border-radius: 12px !important;
  padding: 0.9rem 1.2rem !important;
  margin-bottom: 1.2rem !important;
}
.mcb-qty-lbl {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--mcb-navy) !important;
  flex: 1 !important;
}
.mcb-qty-btn {
  width: 38px !important; height: 38px !important;
  border-radius: 50% !important;
  border: 2px solid var(--mcb-border) !important;
  background: #fff !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--mcb-navy) !important;
  cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: border-color 0.2s, color 0.2s !important;
  font-family: var(--mcb-font-h) !important;
  padding: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
.mcb-qty-btn:hover {
  border-color: var(--mcb-accent) !important;
  color: var(--mcb-accent) !important;
  background: #fff !important;
}
.mcb-qty-num {
  font-family: var(--mcb-font-h) !important;
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  color: var(--mcb-navy) !important;
  min-width: 36px !important;
  text-align: center !important;
}

/* ---------- Pane nav buttons (FIX: hover color was turning white) ---------- */
.mcb-pane-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid var(--mcb-border) !important;
  margin-top: 1.25rem !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}
.mcb-pane-nav.mcb-end { justify-content: flex-end !important; }

.mcb-btn-next {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  background: var(--mcb-accent) !important;
  color: #fff !important;
  padding: 0.85rem 1.6rem !important;
  border: 2px solid var(--mcb-accent) !important;
  border-radius: 50px !important;
  font-family: var(--mcb-font-h) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s, color 0.2s !important;
  margin-left: auto !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}
.mcb-btn-next:hover:not(:disabled),
.mcb-btn-next:focus:not(:disabled),
.mcb-btn-next:focus-visible:not(:disabled),
.mcb-btn-next:active:not(:disabled) {
  background: var(--mcb-accent-h) !important;
  border-color: var(--mcb-accent-h) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.28) !important;
  outline: none !important;
}
.mcb-btn-next:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

.mcb-btn-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  background: #fff !important;
  border: 2px solid var(--mcb-border) !important;
  color: var(--mcb-navy) !important;
  padding: 0.85rem 1.4rem !important;
  border-radius: 50px !important;
  font-family: var(--mcb-font-h) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background 0.2s, color 0.2s !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}
.mcb-btn-back:hover,
.mcb-btn-back:focus,
.mcb-btn-back:focus-visible,
.mcb-btn-back:active {
  border-color: var(--mcb-navy) !important;
  background: var(--mcb-bg-soft) !important;
  color: var(--mcb-navy) !important;
  outline: none !important;
}

.mcb-btn-add-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  background: #fff !important;
  border: 2px dashed var(--mcb-accent) !important;
  color: var(--mcb-accent) !important;
  padding: 0.75rem 1.4rem !important;
  border-radius: 12px !important;
  font-family: var(--mcb-font-h) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
  margin-bottom: 1.25rem !important;
  width: 100% !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.mcb-btn-add-item:hover,
.mcb-btn-add-item:focus,
.mcb-btn-add-item:active {
  background: rgba(2, 132, 199, 0.06) !important;
  color: var(--mcb-accent-h) !important;
  outline: none !important;
}

/* ---------- Time pills (Wash & Fold) ---------- */
.mcb-time-pills {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
}
.mcb-time-pill {
  border: 2px solid var(--mcb-border) !important;
  border-radius: 10px !important;
  padding: 0.85rem 1rem !important;
  cursor: pointer !important;
  background: var(--mcb-bg-soft) !important;
  font-family: var(--mcb-font-b) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--mcb-navy) !important;
  text-align: left !important;
  transition: border-color 0.2s, background 0.2s !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  box-shadow: none !important;
}
.mcb-time-pill:hover {
  border-color: rgba(2, 132, 199, 0.4) !important;
  background: #fff !important;
}
.mcb-time-pill.mcb-selected {
  border-color: var(--mcb-accent) !important;
  background: rgba(2, 132, 199, 0.06) !important;
  color: var(--mcb-navy) !important;
}
.mcb-time-pill.mcb-has-error { border-color: var(--mcb-error) !important; }

/* ---------- Callout / note ---------- */
.mcb-callout-note {
  background: rgba(2, 132, 199, 0.07) !important;
  border: 1px solid rgba(2, 132, 199, 0.2) !important;
  border-radius: 10px !important;
  padding: 0.85rem 1.1rem !important;
  font-size: 0.86rem !important;
  font-weight: 500 !important;
  color: #0c4a6e !important;
  margin-bottom: 1.2rem !important;
  line-height: 1.55 !important;
}
.mcb-callout-note-soft {
  background: var(--mcb-bg-soft) !important;
  border-color: var(--mcb-border) !important;
  color: var(--mcb-grey) !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

/* ---------- Live price bar ---------- */
.mcb-price-bar {
  background: var(--mcb-navy) !important;
  border-radius: 12px !important;
  padding: 1.1rem 1.4rem !important;
  margin-bottom: 1.25rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}
.mcb-price-left { display: flex !important; flex-direction: column !important; }
.mcb-price-lbl {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 0.2rem !important;
}
.mcb-price-amt {
  font-family: var(--mcb-font-h) !important;
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1 !important;
}
.mcb-price-right { margin-left: auto !important; text-align: right !important; }
.mcb-price-rate {
  display: block !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--mcb-accent-lt) !important;
}
.mcb-price-min {
  display: block !important;
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.4) !important;
}

/* ---------- DC Item rows ---------- */
.mcb-item-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  margin-bottom: 1rem !important;
}
.mcb-item-row {
  background: var(--mcb-bg-soft) !important;
  border: 2px solid var(--mcb-border) !important;
  border-radius: 14px !important;
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  transition: border-color 0.2s !important;
}
.mcb-item-row.mcb-has-error { border-color: var(--mcb-error) !important; }
.mcb-item-row-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
}
.mcb-item-row-title {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--mcb-grey) !important;
}
.mcb-item-remove {
  background: none !important;
  border: none !important;
  color: var(--mcb-grey-lt) !important;
  cursor: pointer !important;
  font-size: 1.3rem !important;
  padding: 0.25rem 0.5rem !important;
  border-radius: 6px !important;
  line-height: 1 !important;
  transition: color 0.15s, background 0.15s !important;
  box-shadow: none !important;
}
.mcb-item-remove:hover {
  color: var(--mcb-error) !important;
  background: rgba(239, 68, 68, 0.08) !important;
}
.mcb-item-row-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.75rem !important;
}
.mcb-item-row-grid .mcb-field { margin-bottom: 0 !important; }
.mcb-item-search-wrap {
  position: relative !important;
}
.mcb-item-search-results {
  position: absolute !important;
  z-index: 50 !important;
  top: calc(100% + 4px) !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  border: 2px solid var(--mcb-border) !important;
  border-radius: 10px !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12) !important;
  display: none !important;
}
.mcb-item-search-results.mcb-open { display: block !important; }
.mcb-item-search-results-item {
  padding: 0.7rem 0.9rem !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 0.75rem !important;
  border-bottom: 1px solid var(--mcb-bg-soft) !important;
  font-size: 0.92rem !important;
  color: var(--mcb-navy) !important;
  transition: background 0.15s !important;
}
.mcb-item-search-results-item:last-child { border-bottom: none !important; }
.mcb-item-search-results-item:hover,
.mcb-item-search-results-item.mcb-active {
  background: rgba(2, 132, 199, 0.06) !important;
}
.mcb-item-search-results-price {
  font-family: var(--mcb-font-h) !important;
  font-weight: 700 !important;
  color: var(--mcb-accent) !important;
  font-size: 0.85rem !important;
  background: rgba(2, 132, 199, 0.08) !important;
  padding: 0.15rem 0.55rem !important;
  border-radius: 50px !important;
  white-space: nowrap !important;
}
.mcb-item-search-results-empty {
  padding: 1rem !important;
  color: var(--mcb-grey) !important;
  font-size: 0.9rem !important;
  text-align: center !important;
}
.mcb-item-row-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  padding-top: 0.5rem !important;
  border-top: 1px dashed var(--mcb-border) !important;
}
.mcb-item-qty-mini {
  display: flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
}
.mcb-item-qty-mini .mcb-qty-btn { width: 30px !important; height: 30px !important; font-size: 1rem !important; }
.mcb-item-qty-mini .mcb-qty-num { font-size: 1.05rem !important; min-width: 26px !important; }
.mcb-item-line-total {
  font-family: var(--mcb-font-h) !important;
  font-weight: 800 !important;
  color: var(--mcb-navy) !important;
  font-size: 1.05rem !important;
}

/* ---------- Running total banner (DC step 1) ---------- */
.mcb-running-total {
  background: var(--mcb-navy) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 1rem 1.25rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin-bottom: 1.25rem !important;
}
.mcb-running-lbl {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.5) !important;
}
.mcb-running-amt {
  font-family: var(--mcb-font-h) !important;
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.1 !important;
}
.mcb-running-min {
  font-size: 0.8rem !important;
  color: rgba(255,255,255,0.65) !important;
  font-weight: 600 !important;
  text-align: right !important;
}

/* ---------- Review (Payment step) - TWO clean cards ---------- */
.mcb-review-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 1.1rem !important;
  margin-bottom: 1.5rem !important;
}
.mcb-review-card {
  background: var(--mcb-bg-soft) !important;
  border: 1px solid var(--mcb-border) !important;
  border-radius: 14px !important;
  padding: 1.25rem !important;
}
.mcb-review-card-pay {
  background: #fff !important;
  border: 2px solid var(--mcb-accent) !important;
  box-shadow: 0 8px 24px rgba(2, 132, 199, 0.1) !important;
  display: flex !important;
  flex-direction: column !important;
}
.mcb-review-card-head {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--mcb-grey) !important;
  margin-bottom: 0.75rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}
.mcb-review-card-pay .mcb-review-card-head { color: var(--mcb-accent) !important; }
.mcb-review-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mcb-review-list .mcb-review-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  font-size: 0.92rem !important;
  border-bottom: 1px dashed var(--mcb-border) !important;
  padding-bottom: 0.5rem !important;
}
.mcb-review-list .mcb-review-row:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
.mcb-review-row dt {
  color: var(--mcb-grey) !important;
  font-weight: 600 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.mcb-review-row dd {
  color: var(--mcb-navy) !important;
  font-weight: 700 !important;
  text-align: right !important;
  margin: 0 !important;
}
.mcb-review-row dd.mcb-multi { text-align: left !important; flex: 1 !important; padding-left: 1rem !important; }
.mcb-pay-amount {
  font-family: var(--mcb-font-h) !important;
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  color: var(--mcb-navy) !important;
  line-height: 1 !important;
  margin-bottom: 0.4rem !important;
}
.mcb-pay-meta {
  font-size: 0.85rem !important;
  color: var(--mcb-grey) !important;
  margin-bottom: 0.4rem !important;
  font-weight: 500 !important;
}

/* ---------- Stripe Payment Element wrapper ---------- */
.mcb-stripe-wrap {
  margin-bottom: 1.25rem !important;
}
.mcb-stripe-element {
  background: #fff !important;
  border: 2px solid var(--mcb-border) !important;
  border-radius: 10px !important;
  padding: 1rem !important;
  margin-top: 0.5rem !important;
  min-height: 60px !important;
  transition: border-color 0.2s !important;
}
.mcb-stripe-element.StripeElement--focus,
.mcb-stripe-element:focus-within {
  border-color: var(--mcb-accent) !important;
  box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1) !important;
}
.mcb-stripe-loading {
  color: var(--mcb-grey) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  padding: 0.5rem 0 !important;
}
.mcb-stripe-error {
  color: var(--mcb-error) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  margin-top: 0.5rem !important;
  display: none !important;
}
.mcb-stripe-error.mcb-show { display: block !important; }
.mcb-secure-badge {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--mcb-success) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin-top: 0.6rem !important;
  justify-content: flex-end !important;
}

/* ---------- Success pane ---------- */
.mcb-success {
  min-height: 360px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}
.mcb-success.mcb-hidden { display: none !important; }
.mcb-success-icon {
  width: 70px !important; height: 70px !important;
  background: rgba(16, 185, 129, 0.12) !important;
  color: var(--mcb-success) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 1.25rem !important;
}

/* ---------- SVG icon helper ---------- */
.mcb-svg-icon {
  stroke: currentColor !important;
  stroke-width: 2 !important;
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .mcb-review-grid { grid-template-columns: 1fr !important; }
  .mcb-grid-tiers { grid-template-columns: repeat(2, 1fr) !important; }
  .mcb-grid-cond  { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .mcb-field-row { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .mcb-pane { padding: 1.25rem !important; }
  .mcb-steps { padding: 0.85rem 1rem !important; }
  .mcb-step-lbl { display: none !important; }
  .mcb-svc-trigger { padding: 1.1rem 1.2rem !important; }
  .mcb-svc-name { font-size: 1.15rem !important; }
  .mcb-running-total { flex-direction: column !important; align-items: flex-start !important; }
  .mcb-running-min { text-align: left !important; }
  .mcb-item-row-grid { grid-template-columns: 1fr !important; }
  .mcb-item-row-foot { flex-direction: column !important; align-items: stretch !important; }
  .mcb-item-line-total { text-align: right !important; }
}

/* Dynamic DC item rows (JS-injected markup) */
.mcb-scope .mcb-item-row-inner {
  display: grid !important;
  grid-template-columns: 1.1fr 2fr auto auto auto !important;
  gap: 0.85rem !important;
  align-items: end !important;
}
.mcb-scope .mcb-item-field { display: flex !important; flex-direction: column !important; gap: 0.3rem !important; }
.mcb-scope .mcb-label-sm {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--mcb-grey) !important;
  margin: 0 !important;
}
.mcb-scope .mcb-qty-mini { display: flex !important; align-items: center !important; gap: 0.4rem !important; }
.mcb-scope .mcb-qty-mini .mcb-qty-btn { width: 32px !important; height: 32px !important; font-size: 1.05rem !important; }
.mcb-scope .mcb-qty-mini .mcb-qty-num { font-size: 1rem !important; min-width: 22px !important; text-align: center !important; }
.mcb-scope .mcb-item-field-total .mcb-item-line-total {
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 0.6rem !important;
  border-radius: 8px !important;
  background: rgba(2, 132, 199, 0.06) !important;
  color: var(--mcb-accent) !important;
  font-family: var(--mcb-font-h) !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  min-width: 80px !important;
}
.mcb-scope .mcb-item-search-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0.65rem 0.9rem !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mcb-bg-soft) !important;
  background: #fff !important;
  text-align: left !important;
  cursor: pointer !important;
  gap: 0.75rem !important;
  font-size: 0.92rem !important;
  color: var(--mcb-navy) !important;
  transition: background 0.15s !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.mcb-scope .mcb-item-search-row:hover { background: rgba(2, 132, 199, 0.07) !important; }
.mcb-scope .mcb-item-search-row:last-child { border-bottom: 0 !important; }
.mcb-scope .mcb-isr-name { font-weight: 500 !important; }
.mcb-scope .mcb-isr-price {
  font-family: var(--mcb-font-h) !important;
  font-weight: 700 !important;
  color: var(--mcb-accent) !important;
  background: rgba(2, 132, 199, 0.08) !important;
  padding: 0.15rem 0.55rem !important;
  border-radius: 50px !important;
  font-size: 0.83rem !important;
  white-space: nowrap !important;
}
.mcb-scope .mcb-item-search-empty {
  padding: 0.9rem !important;
  color: var(--mcb-grey) !important;
  font-size: 0.9rem !important;
  text-align: center !important;
}
.mcb-scope .mcb-item-row .mcb-item-remove {
  background: none !important;
  border: none !important;
  color: var(--mcb-grey-lt) !important;
  cursor: pointer !important;
  font-size: 1.1rem !important;
  height: 42px !important;
  width: 42px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.15s, background 0.15s !important;
  box-shadow: none !important;
}
.mcb-scope .mcb-item-row .mcb-item-remove:hover {
  color: var(--mcb-error) !important;
  background: rgba(239, 68, 68, 0.08) !important;
}
.mcb-scope .mcb-pane-error {
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
  color: #b91c1c !important;
  padding: 0.6rem 0.85rem !important;
  border-radius: 10px !important;
  font-size: 0.9rem !important;
  margin: 0.75rem 0 0.25rem !important;
  font-family: var(--mcb-font-b) !important;
}
.mcb-scope .mcb-pane-error:empty { display: none !important; }
.mcb-scope .mcb-stripe-loading {
  padding: 1.2rem !important;
  color: var(--mcb-grey) !important;
  font-size: 0.95rem !important;
  text-align: center !important;
}
.mcb-scope .mcb-step.done .mcb-step-num {
  background: var(--mcb-accent) !important;
  color: #fff !important;
  border-color: var(--mcb-accent) !important;
}
.mcb-scope { color: var(--mcb-navy) !important; }
@media (max-width: 720px) {
  .mcb-scope .mcb-item-row-inner { grid-template-columns: 1fr 1fr !important; }
  .mcb-scope .mcb-item-field-cat,
  .mcb-scope .mcb-item-field-item { grid-column: span 2 !important; }
  .mcb-scope .mcb-item-field-total { justify-self: end !important; }
}

/* ============================================================
 * Stacked review layout (replaces side-by-side grid)
 * ============================================================ */
.mcb-scope .mcb-review-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  margin-bottom: 1.25rem !important;
}
.mcb-scope .mcb-review-stack .mcb-review-card {
  width: 100% !important;
  background: #fff !important;
  border: 2px solid var(--mcb-border) !important;
  border-radius: 14px !important;
  padding: 1.25rem 1.4rem !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03) !important;
}
.mcb-scope .mcb-review-stack .mcb-review-card-head {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  font-family: var(--mcb-font-h) !important;
  font-weight: 800 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--mcb-accent) !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.65rem !important;
  border-bottom: 1px solid var(--mcb-border) !important;
}
.mcb-scope .mcb-review-stack .mcb-review-card-head svg { color: var(--mcb-accent) !important; }

/* Summary list inside the first card — two columns of dt/dd */
.mcb-scope .mcb-review-summary .mcb-review-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.85rem 1.5rem !important;
  margin: 0 !important;
}
.mcb-scope .mcb-review-summary .mcb-review-list dt {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--mcb-grey) !important;
  margin: 0 0 0.2rem !important;
}
.mcb-scope .mcb-review-summary .mcb-review-list dd {
  font-size: 0.98rem !important;
  font-weight: 600 !important;
  color: var(--mcb-navy) !important;
  margin: 0 0 0.2rem !important;
  line-height: 1.45 !important;
}
/* Long-content rows span full width (Items, Address, Notes) */
.mcb-scope .mcb-review-summary .mcb-review-list dt:nth-child(4n-3),
.mcb-scope .mcb-review-summary .mcb-review-list dd:nth-child(4n-2) { /* no-op default */ }
.mcb-scope .mcb-review-summary .mcb-review-list .mcb-rl-wide { grid-column: 1 / -1 !important; }

/* Deposit row */
.mcb-scope .mcb-review-deposit {
  background: linear-gradient(135deg, #0B1121 0%, #0e1932 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
}
.mcb-scope .mcb-review-deposit .mcb-review-card-head {
  color: rgba(255, 255, 255, 0.65) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
.mcb-scope .mcb-review-deposit .mcb-review-card-head svg { color: var(--mcb-accent-lt) !important; }
.mcb-scope .mcb-deposit-row {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 1.5rem !important;
  align-items: center !important;
}
.mcb-scope .mcb-review-deposit .mcb-pay-lbl {
  display: block !important;
  font-family: var(--mcb-font-h) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.55) !important;
  margin: 0 0 0.35rem !important;
}
.mcb-scope .mcb-review-deposit .mcb-pay-amount {
  font-family: var(--mcb-font-h) !important;
  font-weight: 800 !important;
  font-size: 2.4rem !important;
  line-height: 1 !important;
  color: #fff !important;
  margin: 0 !important;
}
.mcb-scope .mcb-review-deposit .mcb-pay-meta {
  margin-top: 0.5rem !important;
  font-size: 0.82rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
}
.mcb-scope .mcb-review-deposit .mcb-callout-note,
.mcb-scope .mcb-review-deposit .mcb-callout-note-soft {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: rgba(255, 255, 255, 0.82) !important;
  margin: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
}
@media (max-width: 720px) {
  .mcb-scope .mcb-deposit-row {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
}

/* Payment-method card */
.mcb-scope .mcb-review-payment .mcb-stripe-wrap { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.mcb-scope .mcb-review-payment .mcb-stripe-element {
  background: var(--mcb-bg-soft) !important;
  border: 1px solid var(--mcb-border) !important;
  border-radius: 10px !important;
  padding: 0.6rem !important;
  min-height: 50px !important;
}
.mcb-scope .mcb-review-payment .mcb-secure-badge {
  margin-top: 0.65rem !important;
  font-size: 0.8rem !important;
  color: var(--mcb-success) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

/* Force the legacy grid into a stack too (in case any cache serves old markup) */
.mcb-scope .mcb-review-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

/* ============================================================
 * W&F bag icons (tier cards)
 * ============================================================ */
.mcb-scope .mcb-tier-card { color: var(--mcb-accent) !important; }
.mcb-scope .mcb-tier-card .mcb-tier-bags {
  display: inline-flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin-bottom: 0.35rem !important;
}
.mcb-scope .mcb-tier-card .mcb-bag-svg {
  height: 38px !important;
  width: auto !important;
  max-width: 100% !important;
  display: block !important;
}
.mcb-scope .mcb-tier-card[aria-pressed="true"] .mcb-bag-svg,
.mcb-scope .mcb-tier-card.mcb-selected .mcb-bag-svg { filter: drop-shadow(0 2px 6px rgba(2, 132, 199, 0.25)) !important; }

/* ============================================================
 * v1.1 — Two-card review row + payment amount card
 * (supersedes the prior single-summary + dark deposit treatment)
 * ============================================================ */

/* Two-card row at top of review */
.mcb-scope .mcb-review-row-top {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1rem !important;
}
@media (max-width: 760px) {
  .mcb-scope .mcb-review-row-top { grid-template-columns: 1fr !important; }
}

/* Detail card (Contact / Order) */
.mcb-scope .mcb-review-card-detail {
  background: #fff !important;
  border: 2px solid var(--mcb-border) !important;
  border-radius: 14px !important;
  padding: 1.25rem 1.4rem !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03) !important;
}
.mcb-scope .mcb-review-card-detail .mcb-review-card-head {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  font-family: var(--mcb-font-h) !important;
  font-weight: 800 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--mcb-accent) !important;
  margin: 0 0 0.85rem !important;
  padding-bottom: 0.7rem !important;
  border-bottom: 1px solid var(--mcb-border) !important;
}
.mcb-scope .mcb-review-card-detail .mcb-review-card-head svg { color: var(--mcb-accent) !important; }

.mcb-scope .mcb-review-card-detail .mcb-review-list {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mcb-scope .mcb-review-card-detail .mcb-rl-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  padding: 0.7rem 0 !important;
  border-bottom: 1px solid #c4c4c4 !important;
}
.mcb-scope .mcb-review-card-detail .mcb-rl-row:first-child { padding-top: 0 !important; }
.mcb-scope .mcb-review-card-detail .mcb-rl-row:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
.mcb-scope .mcb-review-card-detail .mcb-rl-row dt {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--mcb-grey) !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.mcb-scope .mcb-review-card-detail .mcb-rl-row dd {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--mcb-navy) !important;
  margin: 0 !important;
  text-align: right !important;
  line-height: 1.45 !important;
  word-break: break-word !important;
}
/* Long-content rows (Address, Items, Notes) stack term/value */
.mcb-scope .mcb-review-card-detail .mcb-rl-row.mcb-rl-stack {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.4rem !important;
}
.mcb-scope .mcb-review-card-detail .mcb-rl-row.mcb-rl-stack dd { text-align: left !important; }

/* Itemized list inside Order card */
.mcb-scope .mcb-review-items {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
}
.mcb-scope .mcb-review-items-line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.5rem 0 !important;
  border-bottom: 1px dashed #c4c4c4 !important;
  font-size: 12px !important;
}
.mcb-scope .mcb-review-items-line:first-child { padding-top: 0.25rem !important; }
.mcb-scope .mcb-review-items-line:last-child  { border-bottom: 0 !important; padding-bottom: 0.25rem !important; }
.mcb-scope .mcb-review-items-line .mcb-rii-name { color: var(--mcb-navy) !important; font-weight: 500 !important; }
.mcb-scope .mcb-review-items-line .mcb-rii-amt {
  font-family: var(--mcb-font-h) !important;
  font-weight: 700 !important;
  color: var(--mcb-accent) !important;
  white-space: nowrap !important;
}

/* Payment-amount card (replaces dark-navy deposit treatment) */
.mcb-scope .mcb-review-payment-amt {
  background: linear-gradient(135deg, rgba(2, 132, 199, 0.05), rgba(56, 189, 248, 0.04)) !important;
  border: 2px solid rgba(2, 132, 199, 0.22) !important;
  border-radius: 14px !important;
  padding: 1.25rem 1.4rem !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03) !important;
}
.mcb-scope .mcb-review-payment-amt .mcb-review-card-head {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  font-family: var(--mcb-font-h) !important;
  font-weight: 800 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--mcb-accent) !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.7rem !important;
  border-bottom: 1px solid rgba(2, 132, 199, 0.18) !important;
}
.mcb-scope .mcb-review-payment-amt .mcb-deposit-row {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 1.5rem !important;
  align-items: center !important;
}
@media (max-width: 720px) {
  .mcb-scope .mcb-review-payment-amt .mcb-deposit-row {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
	.mcb-item-row{
	  position: relative;
	}
	.mcb-item-remove {
		position: absolute;
		top: -5px;
		right: 0px;
	}
}
.mcb-scope .mcb-review-payment-amt .mcb-deposit-amount-block { min-width: 0 !important; }
.mcb-scope .mcb-review-payment-amt .mcb-pay-lbl {
  font-family: var(--mcb-font-h) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--mcb-grey) !important;
  display: block !important;
  margin-bottom: 0.35rem !important;
}
.mcb-scope .mcb-review-payment-amt .mcb-pay-amount {
  font-family: var(--mcb-font-h) !important;
  font-weight: 800 !important;
  font-size: 2.4rem !important;
  line-height: 1 !important;
  color: var(--mcb-accent) !important;
  margin: 0 !important;
}
.mcb-scope .mcb-review-payment-amt .mcb-pay-meta {
  margin-top: 0.5rem !important;
  font-size: 0.82rem !important;
  color: var(--mcb-grey) !important;
}
.mcb-scope .mcb-review-payment-amt .mcb-callout-note,
.mcb-scope .mcb-review-payment-amt .mcb-callout-note-soft {
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--mcb-border) !important;
  color: var(--mcb-navy) !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
  padding: 0.85rem 1rem !important;
  border-radius: 10px !important;
}

/* ============================================================
 * v1.2 — Tax / fee breakdown rows above amount-due
 * ============================================================ */
.mcb-scope .mcb-breakdown { margin: 0 0 0.85rem !important; }
.mcb-scope .mcb-breakdown:empty { display: none !important; }
.mcb-scope .mcb-bd-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0.4rem 0 !important;
  border-bottom: 1px dashed rgba(2, 132, 199, 0.15) !important;
  font-size: 0.9rem !important;
}
.mcb-scope .mcb-bd-row:last-child { border-bottom: 0 !important; }
.mcb-scope .mcb-bd-lbl {
  color: var(--mcb-grey) !important;
  font-weight: 500 !important;
}
.mcb-scope .mcb-bd-val {
  font-family: var(--mcb-font-h) !important;
  font-weight: 700 !important;
  color: var(--mcb-navy) !important;
}

/* ============================================================
 * v1.2.4 — Terms & Privacy consent checkbox
 * ============================================================ */
.mcb-scope .mcb-consent-row {
  margin: 1.25rem 0 0 !important;
  padding: 0.95rem 1.1rem !important;
  background: var(--mcb-bg-soft) !important;
  border: 1.5px solid var(--mcb-border) !important;
  border-radius: 12px !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
.mcb-scope .mcb-consent-row.mcb-consent-error {
  border-color: #EF4444 !important;
  background: #FEF2F2 !important;
  animation: mcbConsentShake 0.35s ease !important;
}
@keyframes mcbConsentShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.mcb-scope .mcb-consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  cursor: pointer !important;
  user-select: none !important;
  margin: 0 !important;
}

.mcb-scope .mcb-consent-cb {
  /* Hide the native checkbox but keep it interactive for a11y */
  position: absolute !important;
  opacity: 0 !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 1 !important;
}

.mcb-scope .mcb-consent-box {
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  border: 2px solid #CBD5E1 !important;
  border-radius: 6px !important;
  background: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.1s ease !important;
  position: relative !important;
  margin-top: 1px !important;
}
.mcb-scope .mcb-consent-tick {
  width: 14px !important;
  height: 14px !important;
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 2.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 0 !important;
  transform: scale(0.5) !important;
  transition: opacity 0.15s ease, transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.mcb-scope .mcb-consent:hover .mcb-consent-box { border-color: var(--mcb-accent) !important; }
.mcb-scope .mcb-consent-cb:checked + .mcb-consent-box {
  background: var(--mcb-accent) !important;
  border-color: var(--mcb-accent) !important;
}
.mcb-scope .mcb-consent-cb:checked + .mcb-consent-box .mcb-consent-tick {
  opacity: 1 !important;
  transform: scale(1) !important;
}
.mcb-scope .mcb-consent-cb:focus-visible + .mcb-consent-box {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.25) !important;
}

.mcb-scope .mcb-consent-text {
  flex: 1 !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  color: var(--mcb-navy) !important;
  font-weight: 500 !important;
}
.mcb-scope .mcb-consent-text a {
  color: var(--mcb-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 600 !important;
}
.mcb-scope .mcb-consent-text a:hover { text-decoration: none !important; }

/* ============================================================
 * v1.2.5 — Payment card grid: 70% breakdown+note · 30% amount
 * ============================================================ */
.mcb-scope .mcb-review-payment-amt .mcb-pay-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
}
.mcb-scope .mcb-review-payment-amt .mcb-pay-grid-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  min-width: 0 !important;
}
.mcb-scope .mcb-review-payment-amt .mcb-pay-grid-right {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: 1.1rem 1.25rem !important;
  background: linear-gradient(135deg, rgba(2, 132, 199, 0.06) 0%, rgba(56, 189, 248, 0.04) 100%) !important;
  border: 1.5px solid rgba(2, 132, 199, 0.18) !important;
  border-radius: 12px !important;
  min-width: 0 !important;
}
.mcb-scope .mcb-review-payment-amt .mcb-pay-grid-left .mcb-breakdown { margin: 0 !important; }
.mcb-scope .mcb-review-payment-amt .mcb-pay-grid-left .mcb-callout-note-soft { margin: 0 !important; }

/* Mobile: stack vertically, amount-due first for emphasis */
@media (max-width: 720px) {
  .mcb-scope .mcb-review-payment-amt .mcb-pay-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .mcb-scope .mcb-review-payment-amt .mcb-pay-grid-right {
    order: -1 !important;
    align-items: center !important;
    text-align: center !important;
    padding: 1.25rem !important;
  }
  .mcb-scope .mcb-review-payment-amt .mcb-pay-grid-right .mcb-pay-amount { font-size: 2.4rem !important; }
}
