
/* SONI FINCORP HOMEPAGE POLISH V2
   Fixes hero layout, dropdown hover, Loans & Cards polish, EMI schedule stretch. */

.hero{
  position:relative!important;
  overflow:hidden!important;
}
.hero-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(400px,440px)!important;
  gap:34px!important;
  align-items:start!important;
}
.hero-copy-v2{
  padding-top:20px;
  min-width:0;
}
.hero h1{
  font-size:clamp(46px,4vw,62px)!important;
  line-height:1.02!important;
  letter-spacing:-2.5px!important;
  margin:18px 0 16px!important;
  max-width:790px!important;
}
.hero h1 em{display:inline;color:#1474e6!important}
.hero-sub{
  max-width:760px!important;
  font-size:16px!important;
  line-height:1.6!important;
}
.hero .enquiry{
  width:100%!important;
  max-width:440px!important;
  justify-self:end!important;
  align-self:start!important;
  position:relative!important;
  z-index:5!important;
  margin:0!important;
}
.hero>.login,
.hero-inner>.login,
.hero-inner>button.login,
.hero-inner>a.login{
  display:none!important;
}

/* Dropdown: keep open while pointer crosses the trigger-to-panel gap. */
.sf-menu-parent{position:relative!important}
.sf-menu-parent::after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  top:100%;
  height:18px;
  background:transparent;
  pointer-events:auto;
}
.sf-menu-parent.sf-open>.sf-loans-dropdown,
.sf-menu-parent.sf-open>.sf-small-dropdown{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.sf-menu-parent.sf-open>.sf-menu-trigger .sf-caret{
  transform:translateY(3px) rotate(225deg)!important;
}

/* Loans & Cards - unified icon language. */
.sf-loans-cards{
  padding:48px 0 54px!important;
}
.sf-lc-grid{
  gap:12px!important;
}
.sf-lc-card{
  min-height:150px!important;
  padding:18px 10px 14px!important;
  border-radius:18px!important;
}
.sf-lc-card:hover{
  transform:translateY(-4px)!important;
  border-color:#9bc8f5!important;
  box-shadow:0 16px 32px rgba(15,70,140,.10)!important;
}
.sf-lc-icon{
  width:66px!important;
  height:66px!important;
  border-radius:17px!important;
  margin-bottom:11px!important;
  font-size:0!important;
}
.sf-lc-icon svg{
  width:34px;
  height:34px;
  stroke:#0b67d8;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sf-lc-card strong{
  font-size:15px!important;
  line-height:1.32!important;
}
.sf-lc-badge{
  top:-9px!important;
  font-size:10px!important;
  padding:4px 9px!important;
}

/* EMI layout: result stays compact. Schedule expands underneath. */
.sf-home-emi .emi-shell{
  grid-template-columns:.68fr 1.48fr .80fr!important;
  align-items:start!important;
}
.sf-home-emi .emi-result{
  align-self:start!important;
  min-height:0!important;
  height:auto!important;
  position:sticky;
  top:110px;
}
.sf-home-emi .calc label{
  font-size:12.5px!important;
  line-height:1.35!important;
}
.sf-home-emi .calc-value,
.sf-home-emi .calc-value input,
.sf-home-emi .sf-emi-type select{
  font-size:15px!important;
}
.sf-home-emi .range-labels{
  font-size:11px!important;
}
.sf-home-emi .emi-result small,
.sf-home-emi .result-row,
.sf-home-emi .sf-emi-key,
.sf-home-emi .sf-emi-prepay label,
.sf-home-emi .sf-emi-saving{
  font-size:12px!important;
  line-height:1.45!important;
}
.sf-home-emi .sf-emi-schedule{
  width:100%;
  margin-top:16px!important;
  border:1px solid #dce8f4;
  background:#fff;
  border-radius:18px;
  overflow:auto;
  box-shadow:0 12px 28px rgba(15,70,140,.07);
}
.sf-home-emi .sf-emi-schedule[hidden]{
  display:none!important;
}
.sf-home-emi .sf-emi-schedule table{
  width:100%;
  border-collapse:collapse;
  min-width:680px;
}
.sf-home-emi .sf-emi-schedule th,
.sf-home-emi .sf-emi-schedule td{
  padding:11px 14px;
  border-bottom:1px solid #edf2f7;
  text-align:right;
  font-size:12px;
  color:#425e7d;
}
.sf-home-emi .sf-emi-schedule th:first-child,
.sf-home-emi .sf-emi-schedule td:first-child{text-align:left}
.sf-home-emi .sf-emi-schedule th{
  color:#0b4aa2;
  background:#f7fbff;
  font-weight:700;
}
.sf-home-emi .sf-emi-actions button,
.sf-home-emi .sf-emi-actions a{
  font-size:12px!important;
  min-height:40px!important;
}

/* Hide any red residue caused by the far-right source photo edge. */
.hero-bg::before{
  content:"";
  position:absolute;
  top:0;right:0;bottom:0;
  width:3.5%;
  background:linear-gradient(90deg,rgba(247,251,255,0),rgba(247,251,255,.92));
  z-index:1;
  pointer-events:none;
}

@media(max-width:1100px){
  .hero-inner{
    grid-template-columns:1fr!important;
  }
  .hero .enquiry{
    max-width:620px!important;
    justify-self:stretch!important;
  }
  .sf-home-emi .emi-result{position:static!important}
}
