.joylux-footer.site-footer {
  position: relative;
  margin-top: clamp(48px, 7vw, 96px);
  padding: clamp(34px, 4vw, 60px) 0 16px;
  background:var(--footer-bg, var(--color-surface));
  border:1px solid var(--color-border);
  border-bottom:0;
  border-radius: 30px 30px 0 0;
  box-shadow:0 -18px 55px rgba(94, 70, 29, .06);
}
.joylux-footer.site-footer::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background:linear-gradient(90deg, transparent, var(--color-primary) 20%, var(--color-primary) 50%, var(--color-primary) 80%, transparent);
}
.joylux-footer .joylux-footer__grid { grid-template-columns: 1fr 1.35fr 1.12fr; gap: clamp(28px, 4vw, 64px); }
.joylux-footer h2 { color:var(--color-heading); letter-spacing: -.2px; }
.joylux-footer h2::after { content: ''; display: block; width: 42px; height: 3px; margin-top: 11px; border-radius: 99px; background:var(--color-primary); }
.joylux-footer__logo { margin-bottom: 13px; padding: 8px 0; }
.joylux-footer__logo img { width: clamp(105px, 9vw, 145px); }
.joylux-footer__contact { padding: 4px 0; }
.joylux-footer__socials { margin-top: 17px; }
.joylux-footer__socials a { width: 42px; height: 42px; background:var(--color-surface); color:var(--color-accent); border:1px solid var(--color-border); font-size: 19px; box-shadow:0 4px 12px rgba(121,89,35,.07); }
.joylux-footer__socials a:hover { background:var(--color-action); color:var(--color-action-text); }
.joylux-footer__story { padding-inline: clamp(0px, 1vw, 16px); }
.joylux-footer__story>p { max-width: 620px; line-height: 2.15; }
.joylux-footer__follow { margin-top: 25px; padding: 16px; border:1px solid var(--color-border); border-radius: 18px; background:color-mix(in srgb,var(--color-surface) 66%,transparent); }
.joylux-footer__follow h3 { margin-bottom: 11px; font-size: 14px; text-align: right; }
.joylux-footer__follow>div { justify-content: flex-start; gap: 9px; }
.joylux-footer__follow a { min-width: 142px; min-height: 43px; padding: 8px 14px; border-radius: 11px; font-size: 12px; }
.joylux-footer__links { padding: 4px 0; }
.joylux-footer__links nav { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 14px; }
.joylux-footer__links nav a { padding: 7px 0; color:var(--color-accent); font-size: 13px; }
.joylux-footer__links nav a:hover { color:var(--color-accent); transform: translateX(-3px); }
.joylux-footer__trust { margin-top: 24px; padding-top: 20px; border-top:1px dashed var(--color-border); }
.joylux-footer__trust h3 { font-size: 13px; line-height: 1.8; }
.joylux-footer__badges { gap: 10px; min-height: 98px; }
.joylux-footer__badge { width: 88px; height: 98px; padding: 6px; border:1px solid var(--color-border); border-radius: 14px; background:var(--color-surface); }
.joylux-footer__badge img,.joylux-footer__badge a img { max-width: 75px !important; max-height: 82px !important; }
.joylux-footer__copyright { margin-top: 28px; padding-top: 15px; color:var(--color-text); font-size: 11px; }
@media (max-width: 1050px) { .joylux-footer .joylux-footer__grid { grid-template-columns: 1fr 1fr; } .joylux-footer__links { grid-column: 1 / -1; } }
@media (max-width: 680px) {
  .joylux-footer.site-footer { padding: 32px 0 86px; border-radius: 24px 24px 0 0; }
  .joylux-footer .joylux-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .joylux-footer__contact,.joylux-footer__story,.joylux-footer__links { text-align: right; }
  .joylux-footer__story,.joylux-footer__links { padding-top: 23px; border-top:1px solid var(--color-border); }
  .joylux-footer h2::after { margin-inline: 0 auto; }
  .joylux-footer__logo { display: flex; justify-content: center; }
  .joylux-footer__contact h2 { max-width: 230px; }
  .joylux-footer__socials { justify-content: flex-start; flex-wrap: wrap; }
  .joylux-footer__story>p { font-size: 13px; line-height: 2.1; }
  .joylux-footer__follow>div { grid-template-columns: 1fr 1fr; }
  .joylux-footer__links nav { grid-template-columns: 1fr 1fr; }
  .joylux-footer__badges { justify-content: flex-start; }
}
