/* RUVI footer polish — loaded after all other theme CSS */
.ruvi-storefront footer{
  --f-bg:#2b473e;--f-text:#d5dfd9;--f-muted:#a9bbb2;--f-gold:#dfd596;--f-line:rgba(223,213,150,.18);
  background:var(--f-bg)!important;color:var(--f-text)!important;
  padding:64px max(5%,24px) 28px;border-radius:0;
}
.ruvi-storefront footer>*{max-width:1280px;margin-left:auto;margin-right:auto}
.ruvi-storefront footer a,.ruvi-storefront footer p,.ruvi-storefront footer h3,
.ruvi-storefront footer .footer-bottom{color:var(--f-text)!important}

/* grid: brand column + 4 even link columns */
.ruvi-storefront .footer-main{
  display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:48px 40px;
  align-items:start;padding:0 0 44px;
}
.ruvi-storefront .footer-brand p{margin:20px 0 14px;max-width:300px;font-size:15px;line-height:1.7;color:var(--f-muted)!important}
.ruvi-storefront footer .footer-logo,.ruvi-storefront footer .footer-logo .ruvi-brand-logo{width:150px}
.ruvi-storefront .footer-mark{
  display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;
  color:var(--f-gold)!important;padding-top:14px;border-top:1px solid var(--f-line);
}

/* column headings */
.ruvi-storefront .footer-main h3{
  font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--f-gold)!important;margin:6px 0 20px;
}

/* links */
.ruvi-storefront .footer-main a:not(.footer-logo){
  display:block;width:fit-content;font-size:14.5px;line-height:1.5;margin:0 0 12px;padding:0;
  color:var(--f-text)!important;text-decoration:none;position:relative;
  transition:color .2s,transform .2s;
}
.ruvi-storefront .footer-main a:not(.footer-logo):hover,
.ruvi-storefront .footer-main a:not(.footer-logo):focus-visible{color:var(--f-gold)!important;transform:translateX(3px)}
.ruvi-storefront footer a:focus-visible{outline:2px solid var(--f-gold);outline-offset:3px;border-radius:2px}

/* social */
.ruvi-storefront .ruvi-social-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0 auto;padding:0 0 24px}
.ruvi-storefront .ruvi-social-links a{font-size:13px;letter-spacing:.04em;text-decoration:none;transition:color .2s}
.ruvi-storefront .ruvi-social-links a:hover{color:var(--f-gold)!important}

/* policy links sit with the legal bar */
.ruvi-storefront .ruvi-policy-links{
  display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 auto;padding:22px 0 0;
  border-top:1px solid var(--f-line);font-size:13px;
}
.ruvi-storefront .ruvi-policy-links a{padding:0;margin:0;color:var(--f-muted)!important;text-decoration:none;font-size:13px;transition:color .2s}
.ruvi-storefront .ruvi-policy-links a:hover{color:var(--f-gold)!important}

/* bottom bar */
.ruvi-storefront footer .footer-bottom{
  display:flex;justify-content:space-between;align-items:center;gap:8px 24px;flex-wrap:wrap;
  margin-top:0;padding:18px 0 0;border-top:0!important;font-size:13px;line-height:1.6;color:var(--f-muted)!important;
}
.ruvi-storefront footer .footer-bottom a{color:var(--f-gold)!important;text-decoration:none}
.ruvi-storefront footer .footer-bottom a:hover{text-decoration:underline}

@media(max-width:1100px){
  .ruvi-storefront .footer-main{grid-template-columns:1.4fr 1fr 1fr;gap:40px 32px}
  .ruvi-storefront .footer-brand{grid-column:1/-1}
  .ruvi-storefront .footer-brand p{max-width:480px}
}
@media(max-width:767px){
  .ruvi-storefront footer{padding:44px 20px 24px}
  .ruvi-storefront .footer-main{grid-template-columns:1fr 1fr;gap:32px 20px;padding-bottom:32px}
  .ruvi-storefront footer .footer-logo,.ruvi-storefront footer .footer-logo .ruvi-brand-logo{width:120px!important}
  .ruvi-storefront .footer-main a:not(.footer-logo){margin-bottom:10px;padding:2px 0}
  .ruvi-storefront .ruvi-policy-links{gap:8px 20px}
  .ruvi-storefront footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:4px}
}
@media(prefers-reduced-motion:reduce){.ruvi-storefront .footer-main a{transition:none!important;transform:none!important}}

.ruvi-storefront .ruvi-newsletter-form .ruvi-newsletter-consent{grid-column:1/-1;display:block;font-size:12px;line-height:1.5;color:#6e675f}
.ruvi-storefront .ruvi-newsletter-form .ruvi-newsletter-consent a{color:#304e44;text-decoration:underline}
