.footer-widgets{
  color:var(--fw-text);
  background:var(--fw-bg);
  border-top:1px solid var(--fw-border);
  border-bottom:1px solid var(--footer-sep);
}
.footer-wrap{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  justify-content:space-between;
  gap:clamp(26px,4vw,72px);
  align-items:center;
  padding:1rem 0;
}
.footer-wrap--layout-stack{ grid-template-columns:1fr; }
.footer-wrap--left-only{ grid-template-columns:minmax(0,760px); }
.footer-wrap--right-only{ grid-template-columns:1fr; }
.footer-left{ min-width:0; display:flex; align-items:center; gap:clamp(18px,2.4vw,30px); }
.footer-logo{
  width:auto;
  height:clamp(60px,6.2vw,86px);
  max-width:min(180px,100%);
  object-fit:contain;
  border-radius:16px;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.30));
}
.footer-logo-text{ color:var(--fw-heading); font-size:1.25rem; font-weight:950; letter-spacing:.02em; }
.footer-desc{
  max-width:620px;
  margin:0;
  color:var(--fw-muted);
  font-size:.98rem;
  line-height:1.74;
}
.footer-right{
  min-width:0;
  width:min(100%,760px);
  justify-self:end;
}
.links-grid,
.footer-menu{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
  margin:0;
  padding:0;
  list-style:none;
}
.footer-right--menu-cols-1 .links-grid{ grid-template-columns:1fr; }
.footer-right--menu-cols-3 .links-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.footer-right--menu-cols-4 .links-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.footer-right--menu-cols-auto .links-grid{ grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.links-grid a,
.footer-menu a,
.footer-link-group a{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:8px 10px;
  color:var(--fw-muted);
  border:1px solid transparent;
  border-radius:12px;
  font-weight:760;
  line-height:1.25;
  overflow-wrap:anywhere;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.links-grid a:hover,
.footer-menu a:hover,
.footer-link-group a:hover{
  color:var(--fw-heading);
  background:var(--chrome-active-bg);
  border-color:var(--fw-border);
  transform:translateY(-1px);
  text-decoration:none;
}
.footer-right--groups{
  display:grid;
  grid-template-columns:repeat(var(--fw-group-count,2),minmax(128px,1fr));
  gap:clamp(12px,1.4vw,18px);
}
.footer-link-group{
  min-width:0;
  padding:14px;
  background:var(--fw-panel-bg);
  border:1px solid var(--fw-border-soft);
  border-radius:16px;
}
.footer-title{
  margin:0 0 10px;
  color:var(--fw-heading);
  font-size:1rem;
  line-height:1.2;
  font-weight:950;
  text-align:left;
}
.footer-link-group--no-title{ padding-top:10px; }
.footer-link-group ul{ margin:0; padding:0; list-style:none; }
.footer-link-group li + li{ margin-top:4px; }
.footer-wrap--left-only,
.footer-wrap--right-only{
  grid-template-columns:minmax(0,min(100%,880px));
  justify-content:center;
}
.footer-wrap--left-only .footer-left{ justify-content:center; }
.footer-wrap--layout-stack .footer-right{ justify-self:start; width:min(100%,880px); }
.footer-wrap--right-only .footer-right{ justify-self:center; width:min(100%,880px); }
@media (max-width:1023px){
  .footer-wrap{ grid-template-columns:1fr; gap:26px; align-items:start; }
  .footer-left{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:14px;
  }
  .footer-desc{ margin-inline:auto; }
  .footer-right{ justify-self:start; width:100%; }
  .footer-wrap--left-only .footer-left{ justify-content:center; }
  .footer-wrap--right-only .footer-right{ justify-self:center; width:min(100%,880px); }
  .footer-right--groups{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px){
  .links-grid,.footer-menu{ grid-template-columns:1fr; }
  .footer-right--groups{ grid-template-columns:1fr; }
  .footer-desc{ font-size:.92rem; }
}
