.oic-wrap{padding:32px 16px;background:linear-gradient(#f8fafc,#f1f5f9);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}
.oic-container{max-width:860px;margin:0 auto}
.oic-header{text-align:center;margin-bottom:22px}
.oic-header h1{color:#142D52;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(26px,3vw,40px);font-family:ui-serif,Georgia,serif}
.oic-header p{color:#64748b;margin:0;font-size:16px}

.oic-progress{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0 22px}
.oic-step{display:flex;flex-direction:column;align-items:center;gap:6px}
.oic-dot{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;font-weight:800;background:#e2e8f0;color:#94a3b8}
.oic-dotlabel{font-size:12px;color:#475569;font-weight:600}
.oic-line{height:4px;width:110px;background:#e2e8f0;border-radius:999px}
.oic-dot.is-active,.oic-dot.is-done{background:#916D29;color:#fff;box-shadow:0 10px 18px rgba(0,0,0,.12)}
.oic-line.is-done{background:#916D29}

.oic-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;box-shadow:0 18px 32px rgba(2,6,23,.12)}
.oic-cardhead{background:#142D52;border-bottom:4px solid #916D29;padding:18px 20px}
.oic-cardhead h2{color:#fff;margin:0;font-size:20px;font-weight:800}
.oic-cardhead p{color:rgba(255,255,255,.8);margin:6px 0 0;font-size:13px}
.oic-body{padding:22px}

.oic-field{margin-bottom:16px}
.oic-field label{display:block;color:#142D52;font-weight:800;font-size:13px;margin:0 0 8px}
.oic-field label span{color:#ef4444}
.oic-inline{display:flex;align-items:center;gap:8px}
.oic-tip{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#e2e8f0;color:#475569;font-weight:800;font-size:12px;cursor:help}

.oic-field input,.oic-field select{width:100%;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;outline:none;font-size:15px;background:#fff}
.oic-field input:focus,.oic-field select:focus{border-color:#916D29;box-shadow:0 0 0 4px rgba(145,109,41,.18)}
.oic-field small{display:block;color:#64748b;margin-top:6px;font-size:12px}

.oic-money{position:relative}
.oic-money-prefix{position:absolute;inset:0 auto 0 0;width:44px;display:grid;place-items:center;background:#f1f5f9;border-right:1px solid #cbd5e1;border-radius:12px 0 0 12px;color:#475569;font-weight:800}
.oic-money input{padding-left:56px}

.oic-invalid{border-color:#ef4444 !important;box-shadow:none !important}
.oic-err{color:#ef4444;font-size:12px;margin-top:6px;display:flex;align-items:center;gap:6px}
.oic-err::before{content:"!";width:14px;height:14px;border-radius:999px;border:1px solid #ef4444;display:inline-grid;place-items:center;font-size:10px;font-weight:900;line-height:1}
.oic-err:empty{display:none}

.oic-infobox{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:12px;padding:12px 14px;margin-top:10px}
.oic-infobox-title{font-weight:900;margin-bottom:6px}
.oic-infobox small{color:#1d4ed8}

.oic-nav{display:flex;gap:12px;padding:18px 20px;border-top:1px solid #e2e8f0}
.oic-back{padding:12px 14px;border-radius:12px;border:1px solid #cbd5e1;background:#f1f5f9;font-weight:800;color:#142D52;min-width:120px}

/* Buttons */
.oic-next{
  flex:1;
  padding:12px 14px;
  border-radius:12px;
  border:0;
  background:#916D29;
  color:#fff;
  font-weight:900;
  transition:background-color .15s ease, box-shadow .15s ease, transform .15s ease;

  /* ✅ fixes */
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  white-space:normal;
  line-height:1.2;
}
.oic-next:hover{background:#7D5E24}
.oic-next:active{transform:translateY(1px)}
.oic-back:hover{filter:brightness(.98)}

.oic-results-card{margin-top:0}
.oic-results-head{background:linear-gradient(90deg,#142D52,#0f2443)}

.oic-banner{border-radius:14px;padding:16px 16px;margin-bottom:18px;border:2px solid}
.oic-offers{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:18px}
@media(min-width:768px){.oic-offers{grid-template-columns:1fr 1fr}}
.oic-offer{border:2px solid #e2e8f0;border-radius:14px;padding:16px;background:linear-gradient(135deg,#f8fafc,#fff)}
.oic-offer-kicker{font-size:11px;letter-spacing:.08em;color:#64748b;font-weight:900;margin:0 0 10px}
.oic-offer-amt{font-size:40px;font-weight:900;color:#142D52;margin:0 0 10px}
.oic-offer-meta{color:#475569;font-size:13px}
.oic-muted{font-size:12px;color:#94a3b8;margin:4px 0}
.oic-good{color:#16a34a;font-weight:800;margin:10px 0 0}
.oic-warn{color:#b45309;font-weight:700;margin:10px 0 0}

.oic-breakdown{border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:16px;margin-bottom:16px}
.oic-breakdown h3{margin:0 0 12px;color:#142D52;font-weight:900}
.oic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.oic-grid .k{color:#64748b;font-size:12px;margin:0}
.oic-grid .v{color:#142D52;font-weight:900;margin:6px 0 0}
.oic-grid .vgreen{color:#16a34a}
.oic-grid small{color:#94a3b8}

.oic-cta{
  width:100%;
  padding:14px 16px;
  border:0;
  border-radius:14px;
  background:#916D29;
  color:#fff;
  font-size:16px;
  font-weight:1000;
  letter-spacing:.01em;
  transition:background-color .15s ease, box-shadow .15s ease, transform .15s ease;

  /* ✅ fixes */
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  white-space:normal;
  line-height:1.2;
}
.oic-cta:hover{background:#7D5E24}
.oic-cta:active{transform:translateY(1px)}

.oic-reset{width:100%;margin-top:10px;padding:12px 14px;border-radius:12px;border:1px solid #cbd5e1;background:#f1f5f9;font-weight:900;color:#142D52}

.oic-disclaimerbox{margin-top:16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:12px 14px;color:#1e3a8a}
.oic-disclaimerbox p{margin:0;font-size:12px;line-height:1.5}

.oic-foot{text-align:center;color:#94a3b8;font-size:13px;margin-top:14px}

/* Icon spacing inside buttons */
.oic-btnicon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:0;
  vertical-align:middle;
  flex-shrink:0; /* ✅ keep icon from shrinking weirdly */
}
.oic-btnicon svg{display:block}

/* ✅ Mobile-specific: slightly smaller font + more padding room */
@media (max-width: 420px){
  .oic-cta{font-size:14px;padding:14px 12px}
  .oic-next{font-size:14px;padding:12px 12px}
}