
footer.sf-foot {
  --sf-foot-ink:     var(--pl-footer-ink, var(--ink));
  --sf-foot-muted:   var(--pl-foot-muted, var(--muted));
  --sf-foot-line:    var(--pl-foot-line, var(--sf-line, var(--line)));
  --sf-foot-surface: var(--pl-foot-surface, var(--surface2));
  --sf-foot-accent:  var(--pl-foot-accent, var(--pl-primary, var(--green)));

  background: var(--pl-footer-bg, var(--surface));
  color: var(--sf-foot-ink);
  border-top: 1px solid var(--sf-foot-line);
}

footer.sf-foot h4,
footer.sf-foot h5,
footer.sf-foot .sf-foot-brand,
footer.sf-foot .sf-foot-badge b,
footer.sf-foot .sf-foot-badge .t,
footer.sf-foot .sf-foot-logo.is-empty b,
footer.sf-foot .sf-trust-about h5 { color: var(--sf-foot-ink) }

footer.sf-foot .sf-foot-about p,
footer.sf-foot .sf-foot-contact,
footer.sf-foot .sf-foot-contact span,
footer.sf-foot .sf-foot-links a,
footer.sf-foot .sf-foot-copy,
footer.sf-foot .sf-foot-copy span,
footer.sf-foot .sf-foot-copy a,
footer.sf-foot .sf-foot-badge,
footer.sf-foot .sf-foot-trust-title,
footer.sf-foot .sf-foot-logo.is-empty,
footer.sf-foot .sf-trust-about p { color: var(--sf-foot-muted) }

footer.sf-foot .sf-foot-links a:hover,
footer.sf-foot .sf-foot-copy a:hover,
footer.sf-foot .sf-trust-more,
footer.sf-foot .sf-trust-about p a { color: var(--sf-foot-accent) }

footer.sf-foot .sf-foot-badge,
footer.sf-foot .sf-social a,
footer.sf-foot .sf-foot-logo,
footer.sf-foot .sf-news input {
  background: var(--sf-foot-surface);
  border: 1px solid var(--sf-foot-line);
}
footer.sf-foot .sf-social a,
footer.sf-foot .sf-news input { color: var(--sf-foot-ink) }
footer.sf-foot .sf-news input::placeholder { color: var(--sf-foot-muted) }
footer.sf-foot .sf-social a:hover {
  background: var(--sf-foot-accent);
  border-color: var(--sf-foot-accent);
  color: var(--pl-on-primary, #fff);
}
footer.sf-foot .sf-foot-logo.is-empty {
  background: transparent;
  border: 1px dashed var(--sf-foot-line);
}
footer.sf-foot .sf-foot-badges,
footer.sf-foot .sf-foot-copy,
footer.sf-foot .sf-trust-row { border-color: var(--sf-foot-line) }

footer.sf-foot .sf-foot-badge { align-items: center; line-height: 1.7 }
footer.sf-foot .sf-foot-badge .t {
  display: block; font-size: calc(12px * var(--fz-foot, 1)); font-weight: 800; margin-bottom: 2px;
}

footer.sf-foot .sf-news .sfbtn:not(.ghost) {
  background: var(--sf-foot-accent);
  border-color: var(--sf-foot-accent);
  color: var(--pl-on-primary, #fff);
}

main.sf-auth {
  max-width: 500px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
  padding-block: clamp(26px, 6vw, 62px) clamp(46px, 9vw, 92px);
}
.sf-auth-perks { display: none !important }

.sf-auth .sf-auth-card {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 34px) clamp(20px, 3.4vw, 32px);
  border-radius: calc(var(--sf-r-lg, 22px) + 6px);
  border: 1px solid var(--sf-hair);
  background: var(--surface);
  box-shadow: var(--sf-shadow-2);
}
.sf-auth .sf-auth-card::before {
  content: "";
  position: absolute; top: 0; inset-inline: 0; height: 4px;
  background: linear-gradient(90deg,
    var(--pl-primary, var(--green)),
    var(--pl-accent, var(--pl-primary, var(--green))));
}

.sf-auth .sf-auth-head {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  margin-bottom: 22px;
}
.sf-auth .sf-auth-head h1 {
  font-size: calc(21px * var(--fz-h1, 1));
  margin: 0 0 6px;
}
.sf-auth .sf-auth-head p { max-width: 36ch; margin-inline: auto }
.sf-auth .sf-brand-mark {
  width: 58px; height: 58px; border-radius: 19px; font-size: calc(25px * var(--fz-nav, 1)); font-weight: 900;
}
.sf-auth .sf-auth-head .pl-logo img { height: auto; max-height: 54px; max-width: 200px }
.sf-auth .sf-auth-head .pl-logo-text { font-weight: 900; font-size: calc(20px * var(--fz-h1, 1))}

.sf-auth .sf-auth-tabs { flex-wrap: wrap }
.sf-auth .sf-auth-tabs a { min-width: 96px }

.sf-auth .sf-field select,
.sf-auth .sf-field textarea {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--sf-r-sm);
  padding: 13px 15px;
  font: 600 14px var(--font);
  color: var(--ink);
  width: 100%; font-size: calc(14px * var(--fz-form, 1))}
.sf-auth .sf-field select:focus,
.sf-auth .sf-field textarea:focus {
  border-color: var(--pl-primary, var(--green));
  box-shadow: var(--sf-ring);
}
.sf-auth .sf-auth-form { gap: 14px }
.sf-auth .sfbtn.block.lg { margin-top: 4px }

.sf-auth .sf-auth-foot {
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  text-align: center;
}

@media (max-width: 560px) {
  main.sf-auth { max-width: 100%; padding-inline: 16px }
  .sf-auth .sf-auth-card { border-radius: var(--sf-r-lg, 22px) }
}
