/* Simple, always-visible navigation. Scoped to the local Welm footer. */
.welmc-footer {
  --footer-background: #3a1317;
  --footer-text: #d8c3bc;
  --footer-muted: #c3a79f;
  --footer-faint: #b79a8f;
  --footer-highlight: #f2ede6;
  --footer-wordmark: #6e3438;
  --footer-line: rgb(242 237 230 / 14%);
  background: var(--footer-background);
  color: var(--footer-text);
  padding: 56px var(--gutter) 0;
  font: 400 14px/1.5 var(--body);
  scroll-margin-top: 24px;
}
.welmc-footer__inner { max-width: 1280px; margin: 0 auto; }
.welmc-footer__grid {
  display: grid;
  grid-template-columns: 1.15fr .6fr .85fr 1.4fr;
  gap: clamp(28px, 4vw, 56px);
  padding-bottom: 36px;
}
.welmc-footer__grid > * { min-width: 0; }
.welmc-footer svg { display: block; max-width: 100%; }
.welmc-footer__logo { height: 34px; width: auto; }
.welmc-footer__wave {
  margin: clamp(26px, 3.4vw, 46px) calc(-1 * var(--gutter)) 0;
  overflow: hidden;
  line-height: 0;
}
.welmc-footer__wordmark {
  width: 100%;
  height: auto;
  margin-bottom: -1.7%;
  fill: var(--footer-wordmark);
  opacity: .72;
}
.welmc-footer__blurb {
  color: var(--footer-muted);
  font: 400 14px/1.65 var(--body);
  max-width: 29ch;
  margin: 18px 0 0;
}
.welmc-footer h2 {
  color: var(--footer-highlight);
  font: 500 15px/1.5 var(--body);
  margin: 0 0 13px;
}
.welmc-footer__links { padding-top: 4px; }
.welmc-footer ul { list-style: none; margin: 0; padding: 0; }
.welmc-footer a { color: var(--footer-text); text-decoration: none; text-underline-offset: 4px; }
.welmc-footer a:hover { color: var(--footer-highlight); text-decoration: underline; }
.welmc-footer a:focus-visible { outline: 2px solid var(--footer-highlight); outline-offset: 4px; border-radius: 2px; }
.welmc-footer li a { display: inline-block; max-width: 100%; padding: 6px 0; line-height: 1.6; }
.welmc-footer__contact { margin-top: 26px; }
.welmc-footer__contact h2 { margin-bottom: 7px; }
.welmc-footer__contact-row { display: flex; align-items: center; gap: 16px; }
.welmc-footer address { min-width: 0; font-style: normal; }
.welmc-footer address a { display: block; padding: 5px 0; overflow-wrap: anywhere; }
.welmc-social { flex-shrink: 0; }
.welmc-social a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--footer-line); border-radius: 50%; }
.welmc-social a:hover { background: rgb(241 231 218 / 7%); }
.welmc-footer__fineprint {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--footer-line);
}
.welmc-legitscript { display: block; width: 52px; border-radius: 4px; }
.welmc-legitscript img { display: block; width: 52px; height: auto; }
.welmc-footer__disclaimer { margin: 0; color: var(--footer-faint); font: 400 12px/1.7 var(--body); }
.welmc-footer__bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 28px; margin-top: 24px; }
.welmc-footer__copy { color: var(--footer-faint); font: 400 12px/1.5 var(--body); margin: 0; }
.welmc-footer__pay { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.welmc-footer__pay-label { color: var(--footer-muted); font-size: 12px; }
.welmc-footer__marks { display: flex; align-items: center; gap: 6px; }
.welmc-paymark { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 23px; border-radius: 3px; background: #f8f5ef; font: 700 10px/1 var(--body); }
.welmc-paymark--visa { font-style: italic; color: #1a1f71; }
.welmc-paymark--amex { background: #006fcf; color: #fff; font-size: 8px; letter-spacing: .02em; }
@media (max-width: 1050px) {
  .welmc-footer__grid { grid-template-columns: .65fr .9fr 1.4fr; gap: 32px; }
  .welmc-footer__brand { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
  .welmc-footer__contact { margin-top: 0; padding-top: 4px; }
  .welmc-footer__blurb { max-width: 36ch; }
}
@media (max-width: 640px) {
  .welmc-footer { padding-top: 36px; }
  .welmc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; padding-bottom: 28px; }
  .welmc-footer__brand { display: block; }
  .welmc-footer__blurb { max-width: 38ch; margin-top: 15px; }
  .welmc-footer__contact { margin-top: 22px; padding: 0; }
  .welmc-footer__contact-row { gap: 24px; }
  .welmc-footer__contact-row a { min-height: 40px; }
  .welmc-footer__links { padding: 0; }
  .welmc-footer h2 { font-size: 15px; margin-bottom: 9px; }
  .welmc-footer li a { min-height: 40px; padding: 9px 0; }
  .welmc-footer__legal { grid-column: 1 / -1; }
  .welmc-footer__legal ul { display: flex; flex-wrap: wrap; align-items: start; gap: 0 20px; }
  .welmc-footer__legal a { font-size: 13px; }
  .welmc-footer__fineprint { grid-template-columns: 1fr; gap: 16px; }
  .welmc-footer__bottom { align-items: flex-start; flex-direction: column; gap: 14px; }
}
