/*
  Manuel Márquez · Enhanced Checkout
  Built from Kajabi's exported Simple Checkout template.
  Brand-aligned, minimal and reusable across Offers.
*/
:root {
  --mmv-blue: #2436A8;
  --mmv-blue-dark: #1D2D90;
  --mmv-ink: #101218;
  --mmv-copy: #30343D;
  --mmv-muted: #686E79;
  --mmv-line: #DFE3EB;
  --mmv-soft: #F7F8FA;
  --mmv-white: #FFFFFF;
  --mmv-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html, body { background: var(--mmv-soft) !important; }
body#encore-theme {
  margin: 0 !important;
  color: var(--mmv-copy) !important;
  font-family: var(--mmv-font) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body#encore-theme *,
body#encore-theme input,
body#encore-theme select,
body#encore-theme textarea,
body#encore-theme button {
  font-family: var(--mmv-font) !important;
  box-sizing: border-box;
}

/* One focused purchase surface: no site-navigation chrome. */
body#encore-theme header,
body#encore-theme footer { display: none !important; }
body#encore-theme main { min-height: 100vh; }

/* Checkout rail */
body#encore-theme main > .section,
body#encore-theme .section { background: var(--mmv-soft) !important; }
body#encore-theme .section .sizer { padding: 68px 0 76px !important; }
body#encore-theme .section .container { width: min(1120px, calc(100% - 56px)) !important; max-width: none !important; margin: 0 auto !important; }
body#encore-theme .section .row-for-desktop-and-wide-tablet-only { align-items: flex-start !important; }
body#encore-theme .blocks-column { padding-top: 30px !important; }

/* Editorial side: useful context, not a second sales page. */
body#encore-theme .mmv-checkout-intro { max-width: 430px; }
body#encore-theme .mmv-checkout-brand {
  margin: 0 0 28px !important;
  color: var(--mmv-blue) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}
body#encore-theme .mmv-checkout-intro h1 {
  margin: 0 0 18px !important;
  max-width: 420px;
  color: var(--mmv-ink) !important;
  font-size: clamp(38px, 4.2vw, 54px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.038em !important;
  font-weight: 700 !important;
}
body#encore-theme .mmv-checkout-lead {
  margin: 0 0 18px !important;
  max-width: 420px;
  color: var(--mmv-copy) !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}
body#encore-theme .mmv-checkout-sequence-note {
  margin: 0 0 30px !important;
  max-width: 420px;
  color: var(--mmv-blue) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 650 !important;
}
body#encore-theme .mmv-checkout-steps { border-top: 1px solid var(--mmv-line); max-width: 420px; }
body#encore-theme .mmv-checkout-steps p {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: baseline;
  gap: 12px;
  margin: 0 !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid var(--mmv-line);
  color: var(--mmv-copy) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
body#encore-theme .mmv-checkout-steps span {
  color: var(--mmv-blue) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

/* Kajabi-generated checkout card. Preserve functionality; refine presentation. */
body#encore-theme .checkout-column { max-width: 560px !important; margin-left: auto !important; }
body#encore-theme .kjb-embedded-checkout {
  width: 100% !important;
  color: var(--mmv-copy) !important;
}
body#encore-theme .kjb-embedded-checkout h1,
body#encore-theme .kjb-embedded-checkout h2,
body#encore-theme .kjb-embedded-checkout h3,
body#encore-theme .kjb-embedded-checkout h4,
body#encore-theme .kjb-embedded-checkout h5,
body#encore-theme .kjb-embedded-checkout h6 {
  color: var(--mmv-ink) !important;
  letter-spacing: -.025em !important;
  font-weight: 700 !important;
}
body#encore-theme .kjb-embedded-checkout h1,
body#encore-theme .kjb-embedded-checkout h2,
body#encore-theme .kjb-embedded-checkout h3 {
  text-wrap: balance;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body#encore-theme .kjb-embedded-checkout p,
body#encore-theme .kjb-embedded-checkout label,
body#encore-theme .kjb-embedded-checkout small { color: var(--mmv-copy); }

/* Custom fields (including the Secuencia fields) inherit exactly the same visual system. */
body#encore-theme .kjb-embedded-checkout input:not([type="checkbox"]):not([type="radio"]),
body#encore-theme .kjb-embedded-checkout select,
body#encore-theme .kjb-embedded-checkout textarea {
  min-height: 50px !important;
  border: 1px solid #C9D0E1 !important;
  border-radius: 0 !important;
  background: var(--mmv-white) !important;
  color: var(--mmv-ink) !important;
  box-shadow: none !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}
body#encore-theme .kjb-embedded-checkout input:not([type="checkbox"]):not([type="radio"]):focus,
body#encore-theme .kjb-embedded-checkout select:focus,
body#encore-theme .kjb-embedded-checkout textarea:focus {
  outline: 2px solid rgba(36,54,168,.12) !important;
  outline-offset: 0 !important;
  border-color: var(--mmv-blue) !important;
  box-shadow: none !important;
}
body#encore-theme .kjb-embedded-checkout input::placeholder,
body#encore-theme .kjb-embedded-checkout textarea::placeholder { color: #9298A3 !important; opacity: 1 !important; }

/* Primary purchase action */
body#encore-theme .kjb-embedded-checkout button,
body#encore-theme .kjb-embedded-checkout .btn,
body#encore-theme .kjb-embedded-checkout input[type="submit"] {
  min-height: 52px !important;
  border-radius: 0 !important;
  border-color: var(--mmv-blue) !important;
  background: var(--mmv-blue) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
}
body#encore-theme .kjb-embedded-checkout button:hover,
body#encore-theme .kjb-embedded-checkout .btn:hover,
body#encore-theme .kjb-embedded-checkout input[type="submit"]:hover {
  border-color: var(--mmv-blue-dark) !important;
  background: var(--mmv-blue-dark) !important;
  transform: none !important;
}
body#encore-theme .kjb-embedded-checkout a { color: var(--mmv-blue) !important; }

/* Keep consent/service-agreement controls readable and clearly separate from the purchase button. */
body#encore-theme .kjb-embedded-checkout input[type="checkbox"],
body#encore-theme .kjb-embedded-checkout input[type="radio"] { accent-color: var(--mmv-blue); }

/* Mobile: the buyer came here to complete the purchase, so the form leads. */
@media (max-width: 1023px) {
  body#encore-theme .section .sizer { padding: 34px 0 48px !important; }
  body#encore-theme .section .container { width: min(680px, calc(100% - 34px)) !important; }
  body#encore-theme .checkout-column,
  body#encore-theme .checkout-standalone-column { max-width: 680px !important; margin: 0 auto !important; padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 620px) {
  body#encore-theme .section .sizer { padding: 18px 0 30px !important; }
  body#encore-theme .section .container { width: calc(100% - 24px) !important; }
  body#encore-theme .kjb-embedded-checkout input:not([type="checkbox"]):not([type="radio"]),
  body#encore-theme .kjb-embedded-checkout select,
  body#encore-theme .kjb-embedded-checkout textarea { min-height: 52px !important; font-size: 16px !important; }
  body#encore-theme .kjb-embedded-checkout button,
  body#encore-theme .kjb-embedded-checkout .btn,
  body#encore-theme .kjb-embedded-checkout input[type="submit"] { min-height: 54px !important; width: 100% !important; }
}
