/* Connected EMI intake and customer status extend the existing Shital Finance system. */
.emi-application-page .emi-connection-state {
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 1px solid #c8d4e4;
  border-radius: 8px;
  background: #f2f5fa;
  color: #344b70;
  font-size: .875rem;
  line-height: 1.65;
}
.emi-application-page .emi-connection-state[data-state="preview"] {
  border-color: #d9c59e;
  background: #fff8ec;
  color: #71501b;
}
.emi-application-page .emi-session-bar,
.emi-application-page .emi-account-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
}
.emi-application-page .emi-session-bar {
  padding: 0 0 20px;
  margin-bottom: 24px;
  border-bottom: 1px solid #dbe1ea;
}
.emi-application-page .emi-session-bar p { margin: 0; color: #536078; font-size: .875rem; }
.emi-application-page .emi-session-bar strong { color: #213969; font-weight: 600; font-variant-numeric: tabular-nums; }
.emi-application-page .emi-session-bar > div { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.emi-application-page .emi-session-bar button,
.emi-application-page .emi-new-application {
  min-height: 44px;
  padding: 10px 0;
  color: #213969;
  font-size: .875rem;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.emi-application-page .application-otp {
  padding: 18px 0 23px;
  margin-bottom: 23px;
  border-bottom: 1px solid #e2e5e9;
}
.emi-application-page .application-otp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.emi-application-page .application-verified { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; color: #246345; font-size: .875rem; font-weight: 550; }
.emi-application-page #app-otp-entry { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start; gap: 12px; margin-top: 20px; }
.emi-application-page #app-otp-entry > label { display: grid; gap: 8px; width: min(100%, 340px); font-size: .875rem; color: #27374f; }
.emi-application-page #app-otp { min-width: 0; width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #b7c3d3; border-radius: 5px; background: #fff; color: #1c2028; font: inherit; font-size: 1rem; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.emi-application-page #app-otp::placeholder { letter-spacing: 0; color: #646b75; }
.emi-application-page #app-otp-help,
.emi-application-page #app-otp-status { max-width: 65ch; margin: 0; color: #536078; font-size: .8125rem; line-height: 1.65; }
.emi-application-page #app-otp-status:not(:empty) { margin-top: 12px; }
.emi-application-page .application-otp-preview { width: 100%; margin: 0; padding: 11px 13px; border-radius: 5px; background: #fff6e7; color: #71501b; font-size: .875rem; line-height: 1.6; font-variant-numeric: tabular-nums; }
.emi-application-page .application-fees { min-width: 0; margin-top: 25px; padding-block: 22px; border-block: 1px solid #dbe1ea; }
.emi-application-page .application-fees :is(h3, h4) { margin: 0 0 14px; color: #213969; font-size: 1.125rem; font-weight: 550; line-height: 1.4; }
.emi-application-page .application-fees dl { margin: 0; }
.emi-application-page .application-fees dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 14px; padding-block: 8px; font-size: .875rem; line-height: 1.6; }
.emi-application-page .application-fees dt { color: #536078; }
.emi-application-page .application-fees dd { margin: 0; color: #213969; font-weight: 550; font-variant-numeric: tabular-nums; white-space: nowrap; }
.emi-application-page .application-fees .application-fees-total { margin-top: 10px; padding-top: 16px; border-top: 1px solid #dbe1ea; font-size: 1rem; }
.emi-application-page .application-fees-total dt { color: #213969; font-weight: 550; }
.emi-application-page .application-fees p { margin: 14px 0 0; color: #536078; font-size: .8125rem; line-height: 1.65; }
.emi-application-page .emi-account { margin-bottom: 48px; scroll-margin-top: 20px; }
.emi-application-page .emi-account-header { align-items: start; margin-bottom: 24px; }
.emi-application-page .emi-account-header h2 { margin: 0; color: #1c2028; font-size: 1.75rem; font-weight: 550; line-height: 1.25; letter-spacing: -.02em; }
.emi-application-page .emi-account-header p { margin: 9px 0 0; color: #536078; font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
.emi-application-page .emi-account .button { min-height: 46px; padding: 12px 18px; font-size: .9375rem; line-height: 1.45; }
.emi-application-page .emi-account .button:disabled { border: 1px solid #cbd5e3; background: #e4eaf2; color: #536078; opacity: 1; cursor: not-allowed; }
.emi-application-page .emi-decision { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; padding: 30px; border-radius: 12px; background: #f2f5fa; }
.emi-application-page .emi-decision.is-approved { position:relative; isolation:isolate; overflow:hidden; grid-template-columns: minmax(0, 1fr) minmax(250px, .65fr); gap: 30px; border:1px solid #294777; background: #213969; color: #fff; }
.emi-application-page .emi-decision.is-approved::after { content:""; position:absolute; z-index:-1; inset:-40% auto -40% -60%; width:34%; background:linear-gradient(90deg,transparent,rgba(192,241,227,.12),transparent); transform:translateX(0) rotate(20deg); opacity:0; pointer-events:none; }
.emi-application-page .emi-decision-copy { min-width:0; }
.emi-application-page .emi-decision h3 { max-width: 24ch; margin: 0; color: inherit; font-size: clamp(1.65rem, 2.5vw, 2.25rem); font-weight: 550; letter-spacing: -.025em; line-height: 1.2; text-wrap: balance; }
.emi-application-page .emi-decision p { max-width: 58ch; margin: 15px 0 0; color: #415570; font-size: .9375rem; line-height: 1.7; }
.emi-application-page .emi-decision.is-approved p { color: #e1eafb; }
.emi-application-page .emi-decision.is-approved .emi-approval-kicker { margin:0 0 11px; color:#b7eddc; font-size:.75rem; font-weight:600; line-height:1.5; letter-spacing:.065em; text-transform:uppercase; }
.emi-application-page .emi-approval-check { display: block; width: 43px; height: 43px; margin-bottom: 20px; fill: none; stroke: #9de3ce; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.emi-application-page .emi-approved-limit { margin: 24px 0 0; }
.emi-application-page .emi-approved-limit dt { margin-bottom: 6px; color: #e1eafb; font-size: .875rem; line-height: 1.5; }
.emi-application-page .emi-approved-limit dd { min-height:1.2em; margin: 0; color: #fff; font-size: clamp(2.1rem, 4.5vw, 3.5rem); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.emi-application-page .emi-approval-breakdown { display:flex; flex-wrap:wrap; gap:16px 26px; margin:21px 0 0; padding:16px 0; border-block:1px solid rgba(207,224,246,.24); }
.emi-application-page .emi-approval-breakdown > div { min-width:0; }
.emi-application-page .emi-approval-breakdown dt { color:#d5e1f4; font-size:.75rem; line-height:1.5; }
.emi-application-page .emi-approval-breakdown dd { margin:4px 0 0; color:#fff; font-size:1rem; font-weight:600; line-height:1.5; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.emi-application-page .emi-approval-breakdown > div:last-child dd { color:#b7eddc; }
.emi-application-page .emi-approval-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:24px; }
.emi-application-page .emi-approval-actions > span { max-width:25ch; color:#e1eafb; font-size:.75rem; line-height:1.6; }
.emi-application-page .emi-approval-actions .emi-order-card-cta { gap:14px; min-height:48px; border:1px solid #b7eddc; border-radius:5px; background:#b7eddc; color:#163e3b; font-weight:650; }
.emi-application-page .emi-approval-actions .emi-order-card-cta:hover { border-color:#e5fff5; background:#e5fff5; color:#163e3b; }
.emi-application-page .emi-approval-actions .emi-order-card-cta:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.emi-application-page #emi-card-order-start { scroll-margin-top:110px; }
.emi-application-page #emi-card-order-start:focus-visible { outline:2px solid #213969; outline-offset:6px; }
.emi-application-page .emi-decision p.emi-preview-note { margin-top: 22px; color: #415570; font-size: .8125rem; }
.emi-application-page .emi-decision.is-approved p.emi-preview-note { color: #e1eafb; }
.emi-application-page .emi-account-card { display: flex; align-items: center; justify-content: center; min-width: 0; }
.emi-application-page .emi-account-card .emi-reference-card { display: grid; grid-template-rows: 26% 48% 26%; width: min(100%, 325px); height: auto; max-width: 100%; aspect-ratio: 1.59; border: 1px solid #8295b5; box-shadow: none; transform: none; container-type: inline-size; }
.emi-application-page .emi-account-card .emi-reference-top { min-height: 0; height: auto; gap: 6px; padding: 8px 11px; }
.emi-application-page .emi-account-card .emi-reference-brand { gap: 5px; min-width: 0; }
.emi-application-page .emi-account-card .emi-reference-brand > img { width: 6.5cqi; height: 6.5cqi; }
.emi-application-page .emi-account-card .emi-reference-brand > span { font-size: 2.5cqi; }
.emi-application-page .emi-account-card .emi-reference-top > strong { font-size: 4.5cqi; }
.emi-application-page .emi-account-card .emi-contactless { width: 6.5cqi; height: 6.5cqi; }
.emi-application-page .emi-account-card .emi-reference-band { min-height: 0; height: auto; padding: 5px 7px; }
.emi-application-page .emi-account-card .emi-device-grid .icon { width: 7cqi; height: 7cqi; }
.emi-application-page .emi-account-card .emi-chip { width: 14%; left: 15%; top: 14%; transform: none; }
.emi-application-page .emi-account-card .emi-reference-bottom { min-height: 0; padding: 8px 11px; }
.emi-application-page .emi-account-card .emi-reference-bottom > span { font-size: 2cqi; }
.emi-application-page .emi-account-card .emi-reference-bottom > span > strong { font-size: 2.4cqi; }
.emi-application-page .emi-account-card .emi-reference-bottom > b { font-size: 7.5cqi; }
.emi-application-page .emi-account-card .emi-reference-bottom > b > span { font-size: 2.8cqi; }
.emi-application-page .emi-status-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; margin: 25px 0 0; }
.emi-application-page .emi-status-rows > div { padding-block: 18px; border-bottom: 1px solid #e2e5e9; }
.emi-application-page .emi-status-rows dt { color: #536078; font-size: .8125rem; line-height: 1.5; }
.emi-application-page .emi-status-rows dd { margin: 5px 0 0; color: #213969; font-size: 1rem; font-weight: 550; line-height: 1.6; overflow-wrap: anywhere; }
.emi-application-page .emi-status-rows dd small { display: block; margin-top: 5px; color: #536078; font-size: .8125rem; font-weight: 400; line-height: 1.6; }
.emi-application-page .emi-payment-section { padding-top: 34px; margin-top: 10px; }
.emi-application-page .emi-payment-section > h3 { margin: 0; color: #1c2028; font-size: 1.75rem; line-height: 1.25; font-weight: 550; letter-spacing: -.02em; }
.emi-application-page .emi-payment-section > p { max-width: 65ch; margin: 10px 0 0; color: #536078; font-size: .875rem; line-height: 1.7; }
.emi-application-page .emi-payment-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 36px; margin-top: 25px; }
.emi-application-page .emi-payment-layout .application-fees { margin: 0; padding-top: 18px; }
.emi-application-page .emi-payment-options { min-width: 0; margin: 0; padding: 0; border: 0; }
.emi-application-page .emi-payment-options legend { margin-bottom: 12px; color: #213969; font-size: .875rem; font-weight: 550; line-height: 1.5; }
.emi-application-page .emi-payment-option { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 12px; min-height: 44px; margin-bottom: 12px; padding: 17px; border: 1px solid #c4cedc; border-radius: 8px; background: #fff; cursor: pointer; }
.emi-application-page .emi-payment-option:hover { border-color: #213969; }
.emi-application-page .emi-payment-option.is-selected { border-color: #213969; background: #f2f5fa; }
.emi-application-page .emi-payment-option input { width: 19px; height: 19px; margin: 3px 0 0; accent-color: #213969; }
.emi-application-page .emi-payment-option strong { display: block; color: #213969; font-size: 1rem; line-height: 1.5; font-weight: 550; }
.emi-application-page .emi-payment-option small { display: block; margin-top: 6px; color: #536078; font-size: .8125rem; font-weight: 400; line-height: 1.65; }
.emi-application-page .emi-card-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.emi-application-page .emi-activation-help { color: #536078; font-size: .8125rem; line-height: 1.65; }
.emi-application-page .emi-account-message:not(:empty) { margin-top: 20px; padding-block: 12px; color: #213969; font-size: .875rem; line-height: 1.65; }
.emi-application-page .emi-new-application { margin-top: 15px; }
.emi-application-page .emi-application-list { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.emi-application-page .emi-application-list button { min-height: 44px; max-width: 100%; padding: 11px 14px; border: 1px solid #c4cedc; border-radius: 5px; color: #213969; font-size: .8125rem; line-height: 1.6; overflow-wrap: anywhere; text-align: left; }
.emi-application-page .emi-application-count { margin: 0 0 12px; color: #536078; font-size: .875rem; line-height: 1.6; }
.emi-application-page #emi-load-more { margin-bottom: 24px; }
.emi-application-page .celebrate .emi-approval-check path { stroke-dasharray: 40; animation: emi-confirm 750ms cubic-bezier(.16, 1, .3, 1) both; }
.emi-application-page .celebrate .emi-account-card { animation: emi-card-confirm 900ms cubic-bezier(.16, 1, .3, 1) both; }
.emi-application-page .emi-decision.is-approved.celebrate::after { animation:emi-approval-sheen 1450ms ease-out 150ms both; }
.emi-application-page .celebrate .emi-decision-copy > :is(h3,.emi-approved-limit,.emi-approval-actions) { animation:emi-approval-copy 650ms cubic-bezier(.16,1,.3,1) both; }
@keyframes emi-confirm { from { stroke-dashoffset: 40; } to { stroke-dashoffset: 0; } }
@keyframes emi-card-confirm { from { opacity:.2; transform:translateY(16px) rotate(-3deg); } to { opacity:1; transform:translateY(0) rotate(0); } }
@keyframes emi-approval-copy { from { opacity:.3; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@keyframes emi-approval-sheen { 0% { opacity:0; transform:translateX(0) rotate(20deg); } 25% { opacity:1; } 100% { opacity:0; transform:translateX(520%) rotate(20deg); } }

/* Two short party-popper bursts stay inside the saved approval panel. */
.emi-application-page .emi-confetti { position: absolute; z-index: 3; inset: 0; overflow: hidden; pointer-events: none; }
.emi-application-page .emi-confetti i { position: absolute; top: 66%; left: var(--origin); width: 7px; height: 12px; border-radius: 1px; background: #ffe49c; opacity: 0; animation: emi-party-burst 2300ms cubic-bezier(.16, 1, .3, 1) var(--delay) both; }
.emi-application-page .emi-confetti i:nth-child(3n) { background: #b7eddc; border-radius: 50%; width: 8px; height: 8px; }
.emi-application-page .emi-confetti i:nth-child(3n + 1) { background: #ff9caf; }
@keyframes emi-party-burst {
  0% { opacity: 0; transform: translate(0, 30px) rotate(0); }
  12% { opacity: 1; }
  40% { opacity: 1; transform: translate(var(--travel), var(--rise)) rotate(var(--spin)); }
  100% { opacity: 0; transform: translate(var(--travel), 260px) rotate(calc(var(--spin) * 2)); }
}
.emi-application-page .application-final-review { margin-top: 30px; padding-top: 26px; border-top: 1px solid #dbe1ea; }
.emi-application-page .application-final-review > h3 { margin: 0 0 10px; color: #213969; font-size: 1.5rem; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
.emi-application-page .application-stepper { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (prefers-reduced-motion: reduce) { .emi-application-page .emi-confetti { display: none; } }
@media (max-width: 880px) {
  .emi-application-page .emi-decision.is-approved { grid-template-columns: minmax(0, 1fr) minmax(210px, .8fr); padding: 25px; gap: 25px; }
  .emi-application-page .emi-payment-layout { gap: 25px; }
}
@media (max-width: 600px) {
  .emi-application-page .emi-connection-state { padding: 12px 14px; font-size: .8125rem; }
  .emi-application-page .emi-session-bar { gap: 4px; }
  .emi-application-page .emi-session-bar > div { width: 100%; justify-content: space-between; }
  .emi-application-page .application-otp-actions > .button { width: 100%; }
  .emi-application-page #app-otp-entry { justify-items: stretch; }
  .emi-application-page #app-otp-entry > label { width: 100%; }
  .emi-application-page .emi-account-header h2 { font-size: 1.5rem; }
  .emi-application-page .emi-decision,
  .emi-application-page .emi-decision.is-approved { grid-template-columns: minmax(0, 1fr); padding: 22px 18px; gap: 26px; }
  .emi-application-page .emi-decision h3 { font-size: 1.75rem; }
  .emi-application-page .emi-decision p { font-size: .875rem; }
  .emi-application-page .emi-approval-actions { align-items:stretch; flex-direction:column; gap:10px; }
  .emi-application-page .emi-approval-actions > span { max-width:none; }
  .emi-application-page .emi-approval-actions .emi-order-card-cta { width:100%; }
  .emi-application-page .emi-account-card .emi-reference-card { width: min(100%, 290px); }
  .emi-application-page .emi-status-rows { grid-template-columns: minmax(0, 1fr); }
  .emi-application-page .emi-status-rows > div { padding-block: 15px; }
  .emi-application-page .emi-payment-section > h3 { font-size: 1.5rem; }
  .emi-application-page .emi-payment-layout { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .emi-application-page .emi-payment-option { padding: 15px 13px; }
  .emi-application-page .emi-card-actions > .button { width: 100%; }
  .emi-application-page .emi-account { margin-bottom: 35px; }
}
@media (prefers-reduced-motion: reduce) {
  .emi-application-page .celebrate :is(.emi-approval-check path, .emi-account-card, .emi-decision-copy > h3, .emi-approved-limit, .emi-approval-actions),
  .emi-application-page .emi-decision.is-approved.celebrate::after { animation: none; }
}

/* Card designs are chosen before the order is committed. */
.emi-application-page .application-otp-optional { max-width:65ch; margin:14px 0 0; color:#536078; font-size:.875rem; line-height:1.65; }
.emi-application-page .emi-guest-receipt { max-width:760px; margin:0 0 48px; padding:30px; border:1px solid #dbe1ea; border-radius:12px; background:#f2f5fa; scroll-margin-top:24px; }
.emi-application-page .emi-guest-receipt[hidden] { display:none; }
.emi-application-page .emi-guest-receipt h2 { margin:0; color:#213969; font-size:clamp(1.5rem,3vw,2rem); font-weight:550; line-height:1.25; letter-spacing:-.02em; }
.emi-application-page .emi-guest-receipt p { max-width:65ch; margin:16px 0 0; color:#536078; font-size:.9375rem; line-height:1.75; }
.emi-application-page .emi-guest-receipt dl { margin:24px 0; }
.emi-application-page .emi-guest-receipt dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:16px; padding:13px 0; border-bottom:1px solid #dbe1ea; }
.emi-application-page .emi-guest-receipt dt { color:#536078; font-size:.875rem; line-height:1.6; }
.emi-application-page .emi-guest-receipt dd { margin:0; color:#213969; font-size:.9375rem; font-weight:550; line-height:1.6; overflow-wrap:anywhere; }
.emi-application-page .emi-guest-receipt a:not(.button) { color:#213969; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.emi-application-page .emi-guest-receipt .button { min-height:48px; padding:12px 18px; }
@media(max-width:600px) {
  .emi-application-page .emi-guest-receipt { padding:24px 18px; }
  .emi-application-page .emi-guest-receipt dl > div { grid-template-columns:minmax(0,1fr); gap:5px; }
  .emi-application-page .emi-guest-receipt .emi-card-actions > .button { width:100%; }
}
.emi-application-page .emi-reference-card[data-card-design="navy"] { --card-ink:#213969; --card-band:#38b8df; --card-device:#11637b; --card-tile:#44bee1; --card-tile-alt:#53c3e4; }
.emi-application-page .emi-reference-card[data-card-design="ocean"] { --card-ink:#075762; --card-band:#8de2dd; --card-device:#155961; --card-tile:#a3e9e4; --card-tile-alt:#b4eee9; }
.emi-application-page .emi-reference-card[data-card-design="ruby"] { --card-ink:#78243b; --card-band:#efb9c3; --card-device:#712038; --card-tile:#f2c9d0; --card-tile-alt:#f6d5dc; }
.emi-application-page .emi-reference-card[data-card-design] { background:var(--card-ink); }
.emi-application-page .emi-reference-card[data-card-design] .emi-reference-band { background:var(--card-band); color:var(--card-device); }
.emi-application-page .emi-reference-card[data-card-design] .emi-device-grid > span { color:var(--card-device); background:var(--card-tile); border-color:var(--card-device); }
.emi-application-page .emi-reference-card[data-card-design] .emi-device-grid > span:nth-child(even) { background:var(--card-tile-alt); }
.emi-application-page .emi-account-card .emi-reference-bottom > .emi-printed-name { max-width:77%; color:#fff; font-size:3.5cqi; line-height:1.5; letter-spacing:.02em; text-transform:uppercase; overflow-wrap:anywhere; }
.emi-application-page .emi-decision.is-approved.is-customising { grid-template-columns:minmax(0,1fr); }
.emi-application-page .emi-card-customizer { margin-top:36px; padding-block:28px; border-bottom:1px solid #dbe1ea; }
.emi-application-page .emi-card-customizer > h3 { margin:0; color:#1c2028; font-size:1.75rem; font-weight:550; line-height:1.25; letter-spacing:-.02em; }
.emi-application-page .emi-card-customizer > p { max-width:65ch; margin:10px 0 24px; color:#536078; font-size:.875rem; line-height:1.7; }
.emi-application-page .emi-customise-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:36px; }
.emi-application-page .emi-customise-preview { min-height:245px; padding:26px; border-radius:12px; background:#edf3fa; }
.emi-application-page .emi-customise-controls { min-width:0; }
.emi-application-page .emi-design-options { min-width:0; padding:0; margin:0 0 25px; border:0; }
.emi-application-page .emi-design-options legend { padding:0; margin-bottom:12px; font-size:.875rem; font-weight:550; color:#213969; }
.emi-application-page .emi-design-options > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.emi-application-page .emi-design-choice { position:relative; min-width:0; cursor:pointer; }
.emi-application-page .emi-design-choice input { position:absolute; width:1px; height:1px; opacity:0; font-size:1rem; }
.emi-application-page .emi-design-choice > span { display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 8px; border:1px solid #b7c3d3; border-radius:6px; background:#fff; color:#213969; font-size:.875rem; }
.emi-application-page .emi-design-choice input:checked + span { border-color:#213969; background:#eaf0fa; box-shadow:inset 0 0 0 1px #213969; font-weight:600; }
.emi-application-page .emi-design-choice input:focus-visible + span { outline:3px solid #213969; outline-offset:3px; }
.emi-application-page .emi-design-choice input:disabled + span { opacity:.65; cursor:wait; }
.emi-application-page .emi-design-swatch { display:block; width:13px; height:13px; flex:0 0 13px; border-radius:50%; background:#213969; }
.emi-application-page .emi-design-swatch[data-card-design="ocean"] { background:#075762; }
.emi-application-page .emi-design-swatch[data-card-design="ruby"] { background:#78243b; }
.emi-application-page .emi-card-name-label { display:block; margin-bottom:9px; font-size:.875rem; font-weight:550; color:#213969; }
.emi-application-page .emi-card-name-input { display:block; width:100%; min-width:0; min-height:48px; padding:12px 13px; border:1px solid #b7c3d3; border-radius:5px; background:#fff; color:#1c2028; font:inherit; font-size:1rem; caret-color:#213969; }
.emi-application-page .emi-card-name-input:focus-visible { outline:2px solid #213969; outline-offset:2px; }
.emi-application-page .emi-card-name-input[aria-invalid="true"] { border-color:#b32634; }
.emi-application-page .emi-card-name-input:disabled { background:#f2f5fa; color:#536078; }
.emi-application-page :is(#emi-card-name-help,.emi-customise-note,.emi-card-name-error) { margin:9px 0 0; color:#536078; font-size:.8125rem; line-height:1.65; }
.emi-application-page .emi-customise-note { margin-top:20px; }
.emi-application-page .emi-card-name-error { color:#a32030; }
.emi-application-page .emi-card-name-error:empty { display:none; }
@media(max-width:700px) {
  .emi-application-page .emi-customise-layout { grid-template-columns:minmax(0,1fr); gap:25px; }
  .emi-application-page .emi-customise-preview { min-height:220px; padding:22px; }
  .emi-application-page .emi-card-customizer > h3 { font-size:1.5rem; }
  .emi-application-page .emi-design-choice > span { gap:6px; padding-inline:5px; font-size:.8125rem; }
}

/* Approval leads to dedicated customisation and order pages. */
.emi-application-page .emi-journey-progress { display:flex; gap:12px; justify-content:space-between; list-style:none; padding:0; margin:0 0 24px; color:#536078; font-size:.8125rem; }
.emi-application-page .emi-journey-progress li { display:flex; align-items:center; gap:7px; }
.emi-application-page .emi-journey-progress span { display:grid; place-items:center; width:28px; height:28px; border:1px solid #c4cedc; border-radius:50%; flex:0 0 28px; }
.emi-application-page .emi-journey-progress [aria-current] { color:#213969; font-weight:600; }
.emi-application-page .emi-journey-progress [aria-current] span { background:#213969; border-color:#213969; color:#fff; }
.emi-application-page .emi-approved-product { margin:18px 0; color:#536078; font-size:.875rem; line-height:1.65; overflow-wrap:anywhere; }
@media(max-width:360px) { .emi-application-page .emi-journey-progress { gap:7px; font-size:.75rem; } .emi-application-page .emi-journey-progress li { gap:5px; } }
