/* RAFimport patch v79: calculator rebuilt to match the approved compact visualization */

.raf-calculator{
  position:relative!important;
  overflow:hidden!important;
  padding:54px 0 58px!important;
  background:
    radial-gradient(circle at 12% 12%,rgba(77,159,239,.12),transparent 34%),
    radial-gradient(circle at 88% 82%,rgba(24,93,161,.10),transparent 32%),
    linear-gradient(180deg,#eef6fc 0%,#e6f0f8 100%)!important;
}

.raf-calculator::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.22),transparent 24%,transparent 76%,rgba(255,255,255,.16));
}

.raf-calculator .container{
  position:relative;
  z-index:1;
  width:min(1280px,calc(100% - 48px))!important;
}

.raf-calculator__card{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,.92fr)!important;
  gap:30px!important;
  align-items:center!important;
  min-height:408px!important;
  padding:42px 44px!important;
  border:1px solid rgba(121,190,247,.22)!important;
  border-radius:34px!important;
  background:#04172d!important;
  box-shadow:0 30px 74px rgba(12,37,68,.20)!important;
  color:#fff!important;
}

.raf-calculator__card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:url('/assets/img/home/calculator-budget-bg-v79.webp') center center/cover no-repeat;
}

.raf-calculator__card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(1,13,29,.97) 0%,rgba(1,16,34,.91) 34%,rgba(2,20,42,.55) 54%,rgba(2,18,38,.20) 72%,rgba(2,16,34,.30) 100%),
    linear-gradient(180deg,rgba(5,34,67,.12),rgba(1,12,27,.42));
}

.raf-calculator__intro,
.raf-range-box{
  position:relative;
  z-index:2;
  min-width:0;
}

.raf-calculator__intro{
  max-width:610px;
}

.raf-calculator__eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:11px!important;
  margin:0!important;
  color:rgba(226,239,255,.94)!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:650!important;
}

.raf-calculator__eyebrow svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:none;
  stroke:#47b7ff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 7px 14px rgba(22,143,232,.25));
}

.raf-calculator__card h2{
  margin:18px 0 16px!important;
  max-width:none!important;
  color:#fff!important;
  font-size:clamp(43px,3.15vw,52px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  text-transform:uppercase!important;
}

.raf-calculator__card h2 span{
  display:block;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  min-width:0;
}

.raf-calculator__card p{
  margin:0!important;
  max-width:600px!important;
  color:rgba(220,233,247,.82)!important;
  font-size:17px!important;
  line-height:1.55!important;
}

.raf-calculator__perks{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:27px!important;
}

.raf-calculator__perk{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  padding:0 20px!important;
  color:#f5f9ff!important;
  font-size:15px!important;
  line-height:1.28!important;
  font-weight:650!important;
}

.raf-calculator__perk:first-child{padding-left:0!important;}
.raf-calculator__perk:last-child{padding-right:0!important;}
.raf-calculator__perk + .raf-calculator__perk{border-left:1px solid rgba(119,184,235,.22);}

.raf-calculator__perk-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(77,183,255,.34);
  background:linear-gradient(180deg,rgba(17,91,160,.28),rgba(4,42,86,.48));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,80,165,.16);
}

.raf-calculator__perk-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:#43b7ff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.raf-range-box{
  justify-self:end!important;
  width:min(100%,520px)!important;
  display:grid!important;
  gap:22px!important;
  padding:29px 30px!important;
  border:1px solid rgba(137,205,255,.26)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,rgba(8,36,74,.72),rgba(4,22,48,.86))!important;
  box-shadow:0 24px 58px rgba(2,10,24,.24),inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}

.raf-range-box label{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:10px 16px!important;
  align-items:end!important;
}

.raf-range-box label span{
  color:rgba(221,235,249,.78)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.raf-range-box label b{
  color:#fff!important;
  font-size:34px!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
  justify-self:end!important;
  text-align:right!important;
  min-width:max-content!important;
}

.raf-range-box label input[type="range"]{
  --range-pct:35%;
  grid-column:1/-1!important;
  width:100%!important;
  height:22px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  background:transparent!important;
}

.raf-range-box label input[type="range"]:focus{outline:none!important;}

.raf-range-box label input[type="range"]::-webkit-slider-runnable-track{
  height:6px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#168eff 0%,#48c0ff var(--range-pct),rgba(255,255,255,.27) var(--range-pct),rgba(255,255,255,.27) 100%)!important;
}

.raf-range-box label input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  width:20px!important;
  height:20px!important;
  margin-top:-7px!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:#1698ff!important;
  box-shadow:0 6px 16px rgba(0,68,148,.34)!important;
}

.raf-range-box label input[type="range"]::-moz-range-track{
  height:6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.27)!important;
}

.raf-range-box label input[type="range"]::-moz-range-progress{
  height:6px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#168eff,#48c0ff)!important;
}

.raf-range-box label input[type="range"]::-moz-range-thumb{
  width:15px!important;
  height:15px!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:#1698ff!important;
  box-shadow:0 6px 16px rgba(0,68,148,.34)!important;
}

.raf-calc-result{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) minmax(120px,auto)!important;
  align-items:center!important;
  gap:13px!important;
  min-height:70px!important;
  padding:13px 17px!important;
  border:1px solid rgba(95,187,255,.24)!important;
  border-radius:19px!important;
  background:linear-gradient(180deg,rgba(2,17,37,.86),rgba(1,13,29,.96))!important;
  box-shadow:0 15px 34px rgba(0,0,0,.15)!important;
  color:#fff!important;
}

.raf-calc-result__icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#8de5ff 0%,#31a8ff 46%,#07519a 100%);
  box-shadow:0 10px 24px rgba(8,111,219,.31);
}

.raf-calc-result__icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:#fff;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.raf-calc-result__text{
  color:#fff;
  font-size:16px;
  line-height:1.18;
  font-weight:700;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  min-width:0;
}

.raf-calc-result b{
  margin:0!important;
  color:#4cc3ff!important;
  font-size:18px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  justify-self:end!important;
  text-align:right!important;
  min-width:max-content!important;
}

@media(max-width:1180px){
  .raf-calculator .container{width:min(1120px,calc(100% - 40px))!important;}
  .raf-calculator__card{
    grid-template-columns:minmax(0,1fr) 405px!important;
    gap:24px!important;
    padding:36px!important;
  }
  .raf-calculator__card h2{font-size:42px!important;}
  .raf-calculator__card p{font-size:15px!important;}
  .raf-calculator__perk{padding:0 12px!important;font-size:13px!important;grid-template-columns:40px 1fr!important;gap:9px!important;}
  .raf-calculator__perk-icon{width:40px;height:40px;}
  .raf-range-box{padding:24px!important;}
  .raf-range-box label b{font-size:30px!important;}
  .raf-calc-result{grid-template-columns:38px minmax(0,1fr) minmax(112px,auto)!important;padding:11px 13px!important;}
  .raf-calc-result__icon{width:38px;height:38px;}
  .raf-calc-result__text{font-size:14px;white-space:normal;line-height:1.18;}
  .raf-calc-result b{font-size:16px!important;justify-self:end!important;text-align:right!important;}
}

@media(max-width:940px){
  .raf-calculator{padding:46px 0 50px!important;}
  .raf-calculator__card{
    grid-template-columns:1fr!important;
    gap:25px!important;
    min-height:0!important;
    padding:31px!important;
  }
  .raf-calculator__card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(180deg,rgba(1,13,29,.84),rgba(1,13,29,.58));
  }
  .raf-calculator__intro{max-width:none;}
  .raf-calculator__card h2{font-size:44px!important;}
  .raf-calculator__card p{max-width:none!important;}
  .raf-range-box{justify-self:stretch!important;width:100%!important;}
}

@media(max-width:680px){
  .raf-calculator{padding:38px 0 42px!important;}
  .raf-calculator .container{width:min(100% - 20px,620px)!important;}
  .raf-calculator__card{
    gap:21px!important;
    padding:24px 18px!important;
    border-radius:25px!important;
  }
  .raf-calculator__eyebrow{font-size:14px!important;}
  .raf-calculator__eyebrow svg{width:19px;height:19px;flex-basis:19px;}
  .raf-calculator__card h2{
    margin:14px 0 12px!important;
    font-size:clamp(30px,8.8vw,38px)!important;
    line-height:.96!important;
  }
  .raf-calculator__card h2 span{white-space:normal;}
  .raf-calculator__card p{font-size:15px!important;line-height:1.46!important;}
  .raf-calculator__perks{grid-template-columns:1fr!important;gap:11px!important;margin-top:19px!important;}
  .raf-calculator__perk{padding:0!important;border-left:0!important;grid-template-columns:38px 1fr!important;}
  .raf-calculator__perk span:last-child br{display:none;}
  .raf-calculator__perk-icon{width:38px;height:38px;}
  .raf-range-box{gap:17px!important;padding:18px!important;border-radius:20px!important;}
  .raf-range-box label span{font-size:12px!important;}
  .raf-range-box label b{font-size:27px!important;}
  .raf-calc-result{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:10px!important;
    padding:12px!important;
    border-radius:16px!important;
  }
  .raf-calc-result__icon{width:36px;height:36px;}
  .raf-calc-result__text{font-size:14px;white-space:normal;}
  .raf-calc-result b{grid-column:2;font-size:15px!important;white-space:normal!important;justify-self:start!important;text-align:left!important;min-width:0!important;}
}
