.vfooter {
    margin: 0;
    padding: 44px 30px 36px;
    border-top: 1px solid #dce5ee;
    background: #f6f8fb;
    color: #58697b;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.vfooter-grid {
    display: grid;
    grid-template-columns: 1.15fr .8fr 1.35fr 1fr;
    gap: 32px;
    max-width: 1140px;
    margin: 0 auto;
}
.vfooter .vfooter-widget { margin: 0; padding: 0; border: 0; background: transparent; }
.vfooter .vfooter-heading {
    margin: 0 0 20px;
    padding: 0 0 12px;
    border: 0;
    border-bottom: 1px solid #dce5ee;
    background: transparent;
    color: #14263c;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45;
}
.vfooter p, .vfooter li { font-size: 14px; line-height: 1.75; }
.vfooter p { margin: 0 0 14px; }
.vfooter .vfooter-lead { color: #243d57; font-size: 17px; line-height: 1.55; }
.vfooter a { color: #33485f; text-decoration: none; transition: color .15s ease; }
.vfooter a:hover { color: #0868b4; text-decoration: underline; text-underline-offset: 4px; }
.vfooter a:focus-visible { outline: 2px solid #0873cc; outline-offset: 4px; }
.vfooter ul { list-style: none; margin: 0; padding: 0; }
.vfooter li { margin: 0 0 9px; padding: 0; border: 0; }
.vfooter .widget_recent_entries li { margin: 0 0 14px; }
.vfooter .widget_recent_entries li a { display: block; line-height: 1.55; }
.vfooter .post-date { display: block; color: #64748b; font-size: 12px; margin-top: 4px; }
.vfooter .vfooter-more { margin-top: 18px; font-weight: 600; }
.vfooter .vfooter-email { color: #0868b4; overflow-wrap: anywhere; font-size: 16px; font-weight: 600; }
.vfooter .vfooter-note { color: #64748b; font-size: 13px; }
.vfooter .vfooter-more a { color: #0868b4; }
#cm-footer.cm-footer { background: #fff!important; color: #64748b; border-top: 1px solid #e5ebf1; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
#cm-footer .cm-footer-row, #cm-footer .cm-footer-bar, #cm-footer .cm-footer-bottom-row { background: transparent!important; }
#cm-footer a { color: #0868b4; }
#cm-footer .cm-copyright, #cm-footer .cm-copyright p { color: #64748b!important; font-size: 13px; }
@media (max-width: 980px) {
    .vfooter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
}
@media (max-width: 600px) {
    .vfooter { padding: 30px 24px 24px; }
    .vfooter-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .vfooter .vfooter-heading { margin-bottom: 14px; }
    .vfooter .vfooter-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
}
