/* A Total Woman: refreshed footer. Created by update_footer_and_urls.py. */
.atw-footer {
  display: block !important;
  width: 100%;
  box-sizing: border-box;
  background: #f8f3f8 !important;
  color: #493a49 !important;
  border-top: 3px solid #572169;
  font-family: inherit;
  line-height: 1.55;
  padding: 0 !important;
}
.atw-footer * { box-sizing: border-box; }
.atw-footer__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 35px 32px 25px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.45fr) minmax(0, 1.1fr);
  gap: 36px;
  align-items: start;
}
.atw-footer h2, .atw-footer h3 {
  color: #511c68 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  line-height: 1.3;
  font-weight: 700;
}
.atw-footer h2 { font-size: 18px !important; }
.atw-footer h3 { font-size: 14px !important; margin-top: 20px !important; }
.atw-footer p { margin: 0 0 14px !important; color: #493a49; font-size: 14px; }
.atw-footer__policy { font-size: 13px !important; color: #645763 !important; }
.atw-footer a { color: #59236b !important; text-decoration: none !important; overflow-wrap: anywhere; }
.atw-footer a:hover, .atw-footer a:focus { text-decoration: underline !important; }
.atw-footer__social { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 14px; font-size: 14px; }
.atw-footer__primary-links { display: flex; flex-wrap: wrap; column-gap: 16px; row-gap: 6px; font-size: 14px; }
.atw-footer__brand-list { list-style: none !important; padding: 0 !important; margin: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px 14px; }
.atw-footer__brand-list li { padding: 0 !important; margin: 0 !important; list-style: none !important; font-size: 13px; line-height: 1.4; }
.atw-footer__contact address { font-size: 14px; font-style: normal; margin: 0 0 14px; }
.atw-footer__contact p strong { display: block; font-size: 13px; color: #645763; }
.atw-footer__hours { padding: 0; margin: 0; font-size: 13px; }
.atw-footer__hours > div { display: flex; justify-content: space-between; gap: 12px; margin: 4px 0; }
.atw-footer__hours dt, .atw-footer__hours dd { margin: 0; padding: 0; }
.atw-footer__hours dd { text-align: right; }
.atw-footer__bottom { border-top: 1px solid #e4d9e4; text-align: center; padding: 14px 18px; color: #786a78; font-size: 12px; }
@media (max-width: 850px) {
  .atw-footer__inner { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 25px; }
  .atw-footer__contact { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .atw-footer__inner { grid-template-columns: minmax(0,1fr); padding: 25px 20px 18px; gap: 22px; }
  .atw-footer__contact { grid-column: auto; }
  .atw-footer__brand-list { gap: 8px 10px; }
  .atw-footer__hours > div { max-width: 350px; }
}
