/* ===========================================================
   Spacivo Footer — dark navy multi-column layout (newsletter bar,
   dynamic link columns, social, payment icons, trust badges, copyright
   bar). Colors come from --footer-* custom properties set inline on
   <footer> (templates/footer-template.php), driven by Settings → Footer.
   Per-text-element typography (font/size/color/bold) is printed as a
   separate <style> block by inc/options.php's spacivo_ft_print_css().
   =========================================================== */

.site-footer { background-color: var(--footer-bg, #0b1130); color: var(--footer-text, #ffffff); padding: 0 0 1.5rem; }
.site-footer h3, .site-footer h4 { color: var(--footer-text, #ffffff); }
.site-footer a { color: var(--footer-text, #ffffff); transition: opacity .2s; text-decoration: none; }
.site-footer a:hover { opacity: .8; }
.site-footer .text-muted { color: var(--footer-muted, #aab0c8); }

.site-footer__newsletter { border-bottom: 1px solid rgba(255,255,255,.12); padding: 2rem 0; margin-bottom: 2.5rem; }
.site-footer__newsletter-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.spacivo-ft-newsletter-heading { margin: 0 0 .35rem; font-size: 1.15rem; letter-spacing: .04em; text-transform: uppercase; }
.spacivo-ft-newsletter-subheading { margin: 0; color: var(--footer-muted, #aab0c8); font-size: .9rem; }
.site-footer__newsletter-form { display: flex; flex: 0 0 auto; width: 100%; max-width: 480px; }
.site-footer__newsletter-input {
  flex: 1; min-width: 0; padding: .8rem 1.25rem; border-radius: 999px 0 0 999px; border: none;
  background: #fff; color: #111; font-size: .9rem;
}
.site-footer__newsletter-input::placeholder { color: #888; }
.site-footer__newsletter-submit {
  flex: 0 0 auto; padding: .8rem 1.75rem; border-radius: 0 999px 999px 0; border: none;
  background: var(--footer-text, #ffffff); color: var(--footer-bg, #0b1130); font-weight: 700; cursor: pointer;
}
.site-footer__newsletter-submit:hover { opacity: .9; }

.site-footer__columns { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; margin-bottom: 2.5rem; }
.spacivo-ft-column-heading { margin: 0 0 1rem; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; }
.site-footer__columns ul { list-style: none; padding: 0; margin: 0; }
.site-footer__columns li { margin-bottom: .65rem; font-size: .9rem; }
.spacivo-ft-column-link { display: inline-block; }
.spacivo-ft-social-heading, .spacivo-ft-payment-heading { margin: 0 0 1rem; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; }
.spacivo-ft-payment-heading { margin-top: 1.5rem; }

.social-list { display: inline-flex; gap: .5rem; flex-wrap: wrap; }
.social-list a { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--footer-bg, #0b1130); }
.social-list a:hover { opacity: .85; }
.social-list--footer { margin-bottom: 1rem; }

.site-footer__payment-icons { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.payment-badge-image { height: 28px; width: auto; display: block; border-radius: 3px; background: #fff; padding: 2px 4px; }

.site-footer__trust {
  display: flex; flex-wrap: wrap; gap: 2rem 3rem; padding: 2rem 0; border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12); margin-bottom: 2rem;
}
.site-footer__trust-item { display: flex; align-items: center; gap: .75rem; }
.site-footer__trust-image { width: 26px; height: 26px; object-fit: contain; flex-shrink: 0; }
.spacivo-ft-trust-text { color: var(--footer-text, #ffffff); font-size: .85rem; letter-spacing: .02em; font-weight: 600; }

.site-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; font-size: .85rem; color: var(--footer-muted, #aab0c8); }
.site-footer__bottom a { color: var(--footer-muted, #aab0c8); }
.site-footer__bottom--left { justify-content: flex-start; }
.site-footer__bottom--left .spacivo-ft-copyright { order: 0; }
.site-footer__bottom--center { justify-content: center; text-align: center; }
.site-footer__bottom--right { flex-direction: row-reverse; }
.spacivo-ft-copyright { display: block; }

@media (max-width: 1024px) {
  .site-footer__columns { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 750px) {
  .site-footer__columns { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .site-footer__newsletter-inner { flex-direction: column; align-items: flex-start; }
  .site-footer__newsletter-form { max-width: none; }
  .site-footer__trust { justify-content: center; text-align: left; }
  .site-footer__bottom, .site-footer__bottom--right { flex-direction: column; text-align: center; }
}
