@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

/* Independent copy of the shop footer. No theme, cart, or shop scripts required. */
.richmond-footer { position:relative; width:100%; box-sizing:border-box; background:#1d1511; color:#f0e5d1; padding:62px 5% 24px; border-top:1px solid #d6ad6944; font-family:'DM Sans',Arial,sans-serif; }
.richmond-footer * { box-sizing:border-box; }
.richmond-footer a { color:inherit; text-decoration:none; }
.richmond-footer a:hover { color:#d6ad69; }
.richmond-footer a:focus-visible { outline:2px solid #d6ad69; outline-offset:5px; }
.richmond-footer__inner { max-width:1392px; margin:auto; }
.richmond-footer__top { display:grid; grid-template-columns:minmax(0,1fr) minmax(440px,1fr); align-items:start; gap:56px; padding-bottom:38px; }
.richmond-footer__eyebrow { color:#d6ad69; font-size:10px; line-height:1.5; letter-spacing:2.5px; font-weight:700; margin:0 0 18px; }
.richmond-footer__title { font:clamp(28px,3.3vw,44px)/1.3 'Libre Baskerville',Georgia,serif; color:#f0e5d1; letter-spacing:-1px; margin:0 0 18px; }
.richmond-footer__copy { font-size:14px; line-height:1.8; color:#c0ad92; max-width:420px; margin:0; }
.richmond-footer__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:32px; }
.richmond-footer__links nav { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.richmond-footer__links h3 { font:700 10px/1.5 'DM Sans',Arial,sans-serif; text-transform:uppercase; letter-spacing:2px; color:#d6ad69; margin:4px 0 16px; }
.richmond-footer__links a { display:block; font-size:13px; line-height:1.5; padding:7px 0; }
.richmond-footer__names { border-top:1px solid #d6ad6933; border-bottom:1px solid #d6ad6933; padding:22px 0; display:flex; flex-wrap:wrap; gap:16px 30px; font:14px/1.5 Georgia,serif; color:#c5ad87; }
.richmond-footer__bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding-top:24px; font-size:11px; line-height:1.5; color:#b29b7a; }
.richmond-footer__legal { display:flex; flex-wrap:wrap; gap:20px; }
.richmond-footer__closing { margin:28px 0 0; padding-top:24px; border-top:1px solid #d6ad6933; color:#d6ad69; font:italic 16px/1.8 Georgia,serif; text-align:center; }
/* Keep the error artwork centered, with a full-width footer beneath it. */
body.front-house-error { display:flex; flex-direction:column; align-items:center; padding:0; }
.front-house-error .richmond-last-call { width:min(calc(100% - 48px),1080px); margin:48px auto; flex:1 0 auto; }
@media (max-width:900px) {
  .richmond-footer__top { grid-template-columns:1fr; gap:32px; padding-bottom:30px; }
}
@media (max-width:767px) {
  .richmond-footer { padding:42px 6% 24px; }
  .richmond-footer__links { gap:24px; }
  .richmond-footer__bottom { align-items:flex-start; flex-direction:column; }
  .richmond-footer__names { font-size:12px; gap:14px 24px; }
  .front-house-error .richmond-last-call { width:calc(100% - 32px); margin:16px auto; }
}
