
/* SOFBAC module family V4 */
.sofbac-module-family-v4{
  background:#0b0f15;
  border-top:1px solid #2a3443;
  border-bottom:1px solid #202936;
  color:#eef1f5;
  padding:46px 20px 40px;
}
.sofbac-module-family-v4 *{box-sizing:border-box}
.sofbac-module-family-v4 .spf-shell{
  width:min(1180px,100%);
  margin:0 auto;
}
.sofbac-module-family-v4 .spf-kicker{
  color:#d5b46a;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin:0 0 8px;
}
.sofbac-module-family-v4 h2{
  color:#fff;
  font-size:clamp(1.55rem,3vw,2.25rem);
  line-height:1.13;
  margin:0 0 10px;
}
.sofbac-module-family-v4 .spf-intro{
  max-width:850px;
  color:#b8c0cc;
  line-height:1.65;
  margin:0 0 30px;
}
.sofbac-module-family-v4 .spf-group{
  margin-top:24px;
}
.sofbac-module-family-v4 .spf-group-title{
  display:block;
  color:#8f9aaa;
  font-size:.70rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:9px;
}
.sofbac-module-family-v4 .spf-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.sofbac-module-family-v4 .spf-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  column-gap:11px;
  align-items:center;
  min-height:76px;
  padding:12px 13px;
  text-decoration:none!important;
  color:#eef1f5!important;
  background:#111720;
  border:1px solid #273241;
  border-radius:10px;
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}
.sofbac-module-family-v4 .spf-card:hover{
  transform:translateY(-2px);
  border-color:#d5b46a;
  background:#151d28;
}
.sofbac-module-family-v4 .spf-code{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid #55492f;
  border-radius:50%;
  color:#d5b46a;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
}
.sofbac-module-family-v4 .spf-card strong{
  display:block;
  color:#fff;
  font-size:.92rem;
  line-height:1.25;
}
.sofbac-module-family-v4 .spf-card small{
  display:block;
  color:#9ea8b6;
  font-size:.76rem;
  line-height:1.3;
  margin-top:3px;
}
.sofbac-module-family-v4 .spf-card.is-current{
  border-color:#8f7745;
  background:#181a18;
}
@media(max-width:900px){
  .sofbac-module-family-v4 .spf-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .sofbac-module-family-v4{
    padding:34px 14px 30px;
  }
  .sofbac-module-family-v4 .spf-grid{
    grid-template-columns:1fr;
  }
}

/* Remote: module family integrated into full footer */
.sgv3 .sofbac-remote-products-v4{
  display:block!important;
}
.sgv3 .sofbac-remote-products-v4 .spf-group{
  margin:18px 0 0;
}
.sgv3 .sofbac-remote-products-v4 .spf-group-title{
  display:block;
  margin-bottom:8px;
  color:#929cab;
  font-size:.70rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sgv3 .sofbac-remote-products-v4 .spf-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.sgv3 .sofbac-remote-products-v4 .sgv3-product{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr);
  column-gap:10px;
  align-items:center;
  min-height:70px;
}
.sgv3 .sofbac-remote-products-v4 .spf-code{
  display:flex;
  width:36px;
  height:36px;
  align-items:center;
  justify-content:center;
  border:1px solid #6b5933;
  border-radius:50%;
  font-size:.68rem;
  font-weight:900;
}
.sgv3 .sofbac-remote-products-v4 .sgv3-product.is-current{
  border-color:#c8a85e;
}
@media(max-width:900px){
  .sgv3 .sofbac-remote-products-v4 .spf-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .sgv3 .sofbac-remote-products-v4 .spf-grid{
    grid-template-columns:1fr;
  }
}
