/* Site footer (all pages). Original dark-grey colour scheme with yellow accents; only spacing and alignment are tidied. Loaded after the theme bundle. */
#footer.cm-footer { background-color: #333; color: #ccc; }
#footer.cm-footer .footer-widgets-wrap { padding: 64px 0 50px; }

/* Link columns */
.cm-footer .widget { margin-top: 0; }
.cm-footer .widget h4 { position: relative; margin: 0 0 20px; padding-bottom: 12px; font-family: 'Raleway', sans-serif; font-size: 15px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #eee; }
.cm-footer .widget h4:after { content: ""; position: absolute; left: 0; bottom: 0; width: 30px; height: 2px; background: #ffca05; }
.cm-footer .widget_links ul { list-style: none; margin: 0; padding: 0; }
.cm-footer .widget_links li { margin: 0; padding: 0; background: none; }
.cm-footer .widget_links li + li { margin-top: 2px; }
#footer.cm-footer .widget_links li a { display: inline-flex; align-items: center; gap: 8px; padding: 5px 0; background: none; font-size: 15px; line-height: 1.4; color: #ccc; transition: color .2s; }
#footer.cm-footer .widget_links li a:before { content: "\203A"; font-size: 17px; line-height: 1; color: #888; transition: color .2s; }
#footer.cm-footer .widget_links li a:hover { color: #fff; }
#footer.cm-footer .widget_links li a:hover:before { color: #ffca05; }
.cm-footer .widget_links a div { display: inline; }
/* "VoIP Long Distance Rates" stays yellow (inline style) */
#footer.cm-footer .widget_links li a[style*="ffca05"]:before { color: #ffca05; }

/* Bottom band: business hours + copyright + policy links */
#footer.cm-footer #copyrights { padding: 0; background-color: rgba(0,0,0,.2); color: #ccc; font-size: 14px; }
.cm-footer .cm-footer-hours { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 22px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.cm-footer .cm-footer-hours span { margin: 0; color: #fff; white-space: nowrap; }
.cm-footer .cm-footer-hours span:first-of-type { color: #ffca05; font-weight: 700; }
.cm-footer .cm-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding: 16px 0 20px; }
.cm-footer .cm-footer-bottom p { margin: 0; color: #ccc; }
.cm-footer .cm-footer-legal { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.cm-footer .cm-footer-legal a { color: #ffca05; }
.cm-footer .cm-footer-legal a:hover { color: #fff; }

@media (max-width: 991px) {
    #footer.cm-footer .footer-widgets-wrap { padding: 48px 0 24px; }
    .cm-footer .widget { margin-bottom: 30px; }
}
@media (max-width: 767px) {
    .cm-footer .cm-footer-hours { gap: 4px 16px; }
    .cm-footer .cm-footer-bottom { flex-direction: column; text-align: center; }
    .cm-footer .cm-footer-legal { justify-content: center; }
}
