.footer .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:clamp(1rem,2.4vw,2rem); padding-block:1.6rem; }
.footer .footer-grid:has(> .footer-badges-panel) { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.15fr); }
.footer .footer-brand { grid-column:auto; }
.footer-info { min-width:0; display:grid; gap:.9rem; }
.footer .footer-info h2 { margin-bottom:.4rem; }
.footer .footer-info .contact-phones { gap:.4rem; }
.footer .footer-info .contact-phones li { flex-wrap:wrap; gap:.25rem .75rem; }
.footer .footer-info .contact-phones a { white-space:normal; overflow-wrap:anywhere; }
.footer-info .footer-location > a { margin-top:.3rem; }
.footer-badges-panel { align-self:end; min-width:0; }
.footer-badges-list { display:grid; grid-template-columns:repeat(var(--footer-badge-count,3),minmax(0,104px)); justify-content:end; gap:.5rem; }
.footer-badge { position:relative; min-width:0; min-height:110px; border:1px solid #ffffff1c; border-radius:.65rem; display:flex; align-items:stretch; overflow:hidden; }
.footer-badge.is-placeholder { color:#c7cace; background:#181b1f; }
.footer-badge-content { display:flex; flex:1; min-width:0; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; padding:.45rem .3rem; border-radius:.6rem; }
.footer-badge-content:has(.footer-badge-sample) { padding-top:1.05rem; }
.footer-badge-placeholder { width:30px; height:52px; color:#7e858d; }
.footer-badge-caption { font-size:.66rem; line-height:1.6; text-align:center; overflow-wrap:anywhere; }
.footer-badge-sample { position:absolute; top:.25rem; inset-inline-end:.35rem; font-size:.6rem; color:#896039; line-height:1.4; }
.footer-badge.has-badge { background:#fff; color:#252b32; border-color:#e1e3e5; }
.footer-badge.has-badge[data-badge-tone="dark"] { background:#1b2026; color:#f0f1f2; border-color:#ffffff24; }
.footer-badge[data-badge-tone="dark"] .footer-badge-sample { color:#d6a96d; }
.footer-badge-image { display:block; width:100%; height:clamp(72px,8vw,94px); object-fit:contain; }
.footer-badge-content:focus-visible { outline:2px solid var(--orange,#ff8000); outline-offset:-3px; }
@media(max-width:850px) {
  .footer .footer-grid:has(> .footer-badges-panel) { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
  .footer-badges-panel { grid-column:1/-1; }
}
@media(max-width:600px) {
  .footer .footer-grid,
  .footer .footer-grid:has(> .footer-badges-panel) { grid-template-columns:minmax(0,1fr); }
  .footer-badges-list { justify-content:center; }
  .footer-badge-image { height:84px; }
}
