
/* SONI FINCORP HOMEPAGE THEME V1
   Homepage-only visual system. Form typography intentionally untouched. */

:root{
  --sf-home-ink:#081a35;
  --sf-home-muted:#66758d;
  --sf-home-blue:#0b4aa2;
  --sf-home-blue2:#1474e6;
  --sf-home-blue3:#eaf4ff;
  --sf-home-soft:#f5f9ff;
  --sf-home-green:#11ae68;
  --sf-home-line:#dfe8f3;
}

/* Remove visible red treatment from homepage. */
.pill-red{
  background:linear-gradient(135deg,#0b63d8,#1680ef)!important;
  box-shadow:0 13px 28px rgba(20,116,230,.22)!important;
}
.hero h1 em,
.card-go{
  color:var(--sf-home-blue2)!important;
}
.kicker{
  color:var(--sf-home-blue)!important;
  background:#eef6ff!important;
  border-color:#d6e8fb!important;
}
input[type=range]{accent-color:var(--sf-home-blue2)!important}
.sf-cashback-note,
.enquiry .sf-cashback-note,
#eligibilityCheck .sf-cashback-note,
#consolidation .sf-cashback-note{
  color:#0b4aa2!important;
  background:#eef6ff!important;
  border-color:#cfe4fb!important;
}

/* Readability: do not target .enquiry, .field, inputs, selects or form labels. */
.hero-sub{
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:500!important;
  color:#3c5775!important;
  max-width:720px;
}
.trust-chip b{font-size:14px!important}
.trust-chip small{font-size:12.5px!important;line-height:1.4!important}
.section-head p,.section p.sub{font-size:15.5px!important;line-height:1.6!important}
.process .step p,
.review-panel p,
.review-card blockquote{
  font-size:15px!important;
  line-height:1.6!important;
}
.lender-strip .label{font-size:13px!important}

/* Hero locked copy */
.hero h1{
  max-width:800px!important;
}
.hero-actions .sf-home-primary,
.hero-actions .sf-home-secondary{
  min-height:48px;
  padding:0 20px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
.hero-actions .sf-home-primary{
  border:0;
  color:#fff;
  background:linear-gradient(135deg,#0b63d8,#1680ef);
  box-shadow:0 13px 28px rgba(20,116,230,.22);
}
.hero-actions .sf-home-secondary{
  background:#fff;
  color:#0b4aa2;
  border:1px solid #cfe0f4;
}

/* Loans & Cards */
.sf-loans-cards{
  padding:54px 0 58px;
  background:#fff;
  border-bottom:1px solid #e9eff6;
}
.sf-loans-cards .sf-lc-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
}
.sf-loans-cards h2{
  margin:0;
  color:#083c88;
  font-size:clamp(30px,2.4vw,40px);
  line-height:1.05;
  letter-spacing:-1.3px;
}
.sf-loans-cards .sf-lc-sub{
  margin:7px 0 0;
  color:#66758d;
  font-size:15.5px;
  line-height:1.55;
}
.sf-lc-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(112px,1fr));
  gap:14px;
}
.sf-lc-card{
  position:relative;
  min-height:164px;
  border:1px solid #dfe8f3;
  background:linear-gradient(180deg,#fff,#f9fcff);
  border-radius:20px;
  padding:17px 12px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  text-decoration:none!important;
  color:#263f5d!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.sf-lc-card:hover{
  transform:translateY(-4px);
  border-color:#a9cff7;
  box-shadow:0 18px 34px rgba(15,70,140,.10);
}
.sf-lc-icon{
  width:72px;
  height:72px;
  border-radius:18px;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  background:linear-gradient(145deg,#edf6ff,#e4f0ff);
  border:1px solid #d7e8fb;
  color:#0b63d8;
  font-size:31px;
  font-weight:850;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.sf-lc-icon.sf-upi{
  font-size:18px;
  letter-spacing:-.5px;
}
.sf-lc-card strong{
  font-size:15px;
  line-height:1.35;
  font-weight:600;
  color:#263f5d;
}
.sf-lc-badge{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  min-width:max-content;
  padding:5px 10px;
  border-radius:999px;
  background:#e9f8f0;
  border:1px solid #ccebdc;
  color:#0d8350;
  font-size:10.5px;
  font-weight:750;
}
.sf-lc-card:nth-child(2) .sf-lc-badge,
.sf-lc-card:nth-child(6) .sf-lc-badge,
.sf-lc-card:nth-child(8) .sf-lc-badge{
  background:#eef6ff;
  border-color:#d4e7fb;
  color:#0b63d8;
}

/* Advanced EMI */
.sf-home-emi{
  padding:54px 0 58px!important;
  background:linear-gradient(180deg,#f7fbff,#eef6ff)!important;
}
.sf-home-emi .emi-shell{
  display:grid!important;
  grid-template-columns:.72fr 1.45fr .82fr!important;
  gap:18px!important;
  padding:20px!important;
}
.sf-home-emi .emi-intro p{
  font-size:15px!important;
  line-height:1.6!important;
}
.sf-home-emi .emi-tip{
  font-size:12.5px!important;
  line-height:1.45!important;
}
.sf-home-emi .calc-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
.sf-home-emi .calc{
  align-self:stretch;
}
.sf-home-emi .sf-emi-type{
  grid-column:1/-1;
}
.sf-home-emi .sf-emi-type select{
  width:100%;
  height:44px;
  border:1px solid #dbe4ee;
  background:#fff;
  border-radius:14px;
  padding:0 12px;
  color:#0b448f;
  font-weight:700;
  outline:none;
}
.sf-home-emi .emi-result{
  gap:5px;
}
.sf-emi-breakdown{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:14px;
  align-items:center;
  margin:11px 0 7px;
}
.sf-emi-donut{
  width:78px;
  height:78px;
  border-radius:50%;
  background:conic-gradient(#69aefa 0 72%,rgba(255,255,255,.24) 72% 100%);
  display:grid;
  place-items:center;
  position:relative;
}
.sf-emi-donut:after{
  content:"";
  width:52px;
  height:52px;
  border-radius:50%;
  background:#0b4f9f;
}
.sf-emi-key{
  display:grid;
  gap:5px;
  font-size:11.5px;
  color:#dcecff;
}
.sf-emi-key span{display:flex;justify-content:space-between;gap:10px}
.sf-emi-prepay{
  margin-top:10px;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.18);
}
.sf-emi-prepay label{
  display:block;
  font-size:11.5px;
  color:#dcecff;
  margin-bottom:6px;
}
.sf-emi-prepay-row{
  display:flex;
  gap:7px;
}
.sf-emi-prepay input{
  width:100%;
  min-width:0;
  height:38px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  color:#fff;
  border-radius:10px;
  padding:0 10px;
  outline:none;
}
.sf-emi-saving{
  margin-top:7px;
  font-size:11.5px;
  color:#baf2d3;
  min-height:16px;
}
.sf-emi-actions{
  display:flex;
  gap:8px;
  margin-top:11px;
  flex-wrap:wrap;
}
.sf-emi-actions a,
.sf-emi-actions button{
  min-height:38px;
  border-radius:11px;
  padding:0 11px;
  font-size:11.5px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
}
.sf-emi-actions a{
  color:#0b4aa2!important;
  background:#fff;
  border:1px solid #d9e7f7;
}
.sf-emi-actions button{
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
}
.sf-emi-schedule{
  grid-column:1/-1;
  display:none;
  margin-top:3px;
  border:1px solid #dce8f4;
  background:#fff;
  border-radius:16px;
  overflow:auto;
}
.sf-emi-schedule.show{display:block}
.sf-emi-schedule table{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
}
.sf-emi-schedule th,.sf-emi-schedule td{
  padding:10px 12px;
  border-bottom:1px solid #edf2f7;
  text-align:right;
  font-size:12px;
  color:#425e7d;
}
.sf-emi-schedule th:first-child,.sf-emi-schedule td:first-child{text-align:left}
.sf-emi-schedule th{
  color:#0b4aa2;
  background:#f7fbff;
  font-weight:700;
}

/* Global nav hover bridge: avoids dropdown vanishing while cursor crosses the gap. */
.sf-menu-parent::after{
  content:"";
  position:absolute;
  left:-8px;
  right:-8px;
  top:100%;
  height:14px;
  background:transparent;
  pointer-events:auto;
}

/* Keep dropdown interactive over page content. */
.sf-loans-dropdown,.sf-small-dropdown{
  z-index:2000!important;
}

@media(max-width:1250px){
  .sf-lc-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}
}
@media(max-width:900px){
  .sf-lc-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}
  .sf-home-emi .emi-shell{grid-template-columns:1fr!important}
  .sf-home-emi .calc-grid{grid-template-columns:1fr!important}
  .sf-home-emi .sf-emi-type{grid-column:auto}
}
@media(max-width:560px){
  .sf-loans-cards{padding:40px 0}
  .sf-lc-grid{
    display:flex;
    overflow-x:auto;
    gap:12px;
    padding:6px 2px 12px;
    scroll-snap-type:x mandatory;
  }
  .sf-lc-card{
    flex:0 0 150px;
    scroll-snap-align:start;
  }
}
