/* The footer is an information landmark, not a second sales banner. */
.site-footer.store-footer { margin-top:64px; background:#f8f2f1; border-top:1px solid #ecdfdc; color:#403039; }
.store-footer *, .store-footer *::before,.store-footer *::after { box-sizing:border-box; }
.store-footer a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.store-footer-icon { display:block; flex:none; width:24px; height:24px; }
.store-footer-promises { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; padding:34px 0; border-bottom:1px solid #e9dcd9; }
.store-footer-promise { display:flex; align-items:flex-start; gap:15px; min-width:0; }
.store-footer-symbol { display:grid; place-items:center; flex:none; width:46px; height:46px; background:#fffaf8; border:1px solid #eee0dd; border-radius:50%; color:#96516a; }
.store-footer-promise strong { display:block; margin:0 0 6px; font-size:16px; line-height:1.4; font-weight:650; }
.store-footer-promise p { margin:0; font-size:13px; line-height:1.7; color:#77616a; }
.store-footer-main { display:grid; grid-template-columns:minmax(230px,1.35fr) minmax(155px,.85fr) minmax(175px,1fr) minmax(210px,1.05fr); align-items:start; gap:36px; padding:42px 0 38px; }
.store-footer-main > * { min-width:0; }
.store-footer-logo { position:relative; display:block; width:240px; max-width:100%; height:82px; overflow:hidden; margin:-14px 0 13px -10px; }
.store-footer-logo img { position:absolute; display:block; width:260px; max-width:none; height:auto; top:-24px; left:-10px; mix-blend-mode:multiply; }
.store-footer-brand h2 { max-width:235px; margin:0 0 10px; font-size:22px; line-height:1.3; letter-spacing:-.025em; font-weight:600; }
.store-footer-brand > p { max-width:275px; margin:0; color:#7b656e; font-size:14px; line-height:1.7; }
.store-footer-online { margin:22px 0 0; padding:16px 17px; max-width:290px; background:#fffaf7; border:1px solid #eddfd9; border-radius:17px; }
.store-footer-online strong { display:block; color:#8b415b; font-size:13px; line-height:1.6; font-weight:650; }
.store-footer-online p { margin:6px 0 0; color:#7b656e; font-size:12px; line-height:1.7; }
.store-footer-nav h2,.store-footer-contact h2 { margin:0 0 16px; font-size:16px; line-height:1.5; font-weight:650; }
.store-footer-nav { display:flex; flex-direction:column; align-items:flex-start; }
.store-footer-nav a { display:flex; align-items:center; min-height:38px; max-width:100%; padding:6px 0; color:#705963; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.store-footer-phone { display:inline-flex; align-items:center; min-height:44px; margin:-10px 0 6px; font-size:24px; line-height:1.4; letter-spacing:-.025em; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.store-footer-hours { display:flex; flex-direction:column; gap:3px; margin-bottom:10px; color:#7b656e; font-size:13px; line-height:1.6; font-variant-numeric:tabular-nums; }
.store-footer-email { display:inline-flex; align-items:center; min-height:36px; color:#8b415b!important; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.store-footer-contact address { margin:12px 0 0; color:#705963; font-size:13px; line-height:1.7; font-style:normal; }
.store-footer-map { display:inline-flex; align-items:center; gap:6px; min-height:38px; color:#8b415b!important; font-size:12px; line-height:1.6; }
.store-footer-map .store-footer-icon { width:16px; height:16px; }
.store-footer-social-title { margin:20px 0 7px; font-size:12px; line-height:1.6; color:#7b656e; }
.store-footer-socials { display:flex; flex-wrap:wrap; gap:8px; }
.store-footer-socials a { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#fffaf8; border:1px solid #eadbd8; color:#96516a; transition:color 150ms ease,background-color 150ms ease,transform 150ms cubic-bezier(.23,1,.32,1); }
.store-footer-socials .store-footer-icon { width:22px; height:22px; }
.store-footer-socials a span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.store-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px 30px; padding:22px 0 26px; border-top:1px solid #e9dcd9; }
.store-footer-bottom nav { display:flex; flex-wrap:wrap; gap:7px 28px; }
.store-footer-bottom a { display:inline-flex; align-items:center; min-height:36px; color:#7b656e; font-size:12px; line-height:1.6; }
.store-footer-bottom p { margin:0; color:#8b7780; font-size:11px; line-height:1.7; }
.store-footer a:focus-visible { outline:2px solid #a44968; outline-offset:4px; border-radius:5px; }
.store-footer .store-footer-socials a:focus-visible { border-radius:50%; }
@media (hover:hover) and (pointer:fine) {
  .store-footer-nav a:hover,.store-footer-bottom a:hover,.store-footer-map:hover,.store-footer-email:hover { color:#8d3655; text-decoration:underline; text-underline-offset:4px; }
  .store-footer-socials a:hover { transform:translateY(-2px); color:#82354f; background:#f3dce3; }
}
@media (max-width:1100px) {
  .store-footer-main { grid-template-columns:minmax(210px,1.2fr) minmax(155px,1fr) minmax(190px,1fr); gap:28px; }
  .store-footer-brand { grid-row:span 2; }
  .store-footer-contact { grid-column:2/-1; display:grid; grid-template-columns:minmax(190px,1fr) minmax(190px,1fr); column-gap:26px; }
  .store-footer-contact h2 { grid-column:1/-1; margin-bottom:12px; }
  .store-footer-contact .store-footer-phone { grid-column:1; grid-row:2; }
  .store-footer-contact .store-footer-hours { grid-column:1; grid-row:3 / span 2; }
  .store-footer-contact .store-footer-email { grid-column:2; grid-row:2; }
  .store-footer-contact address { grid-column:2; grid-row:3; margin-top:0; }
  .store-footer-contact .store-footer-map { grid-column:2; grid-row:4; }
  .store-footer-social-title { grid-column:1; margin-top:12px; }
  .store-footer-socials { grid-column:1/-1; }
}
@media (max-width:760px) {
  .site-footer.store-footer { margin-top:40px; }
  .store-footer-promises { grid-template-columns:1fr; gap:24px; padding:30px 10px; }
  .store-footer-promise { gap:15px; }
  .store-footer-promise p { max-width:480px; }
  .store-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 24px; padding:32px 10px; }
  .store-footer-brand { grid-column:1/-1; grid-row:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:25px; align-items:start; }
  .store-footer-logo { grid-column:1; margin-bottom:12px; width:225px; max-width:100%; }
  .store-footer-brand h2 { grid-column:1; max-width:100%; font-size:23px; }
  .store-footer-brand > p { grid-column:1; max-width:100%; }
  .store-footer-online { grid-column:2; grid-row:1 / span 3; max-width:100%; margin:0; }
  .store-footer-nav a { min-height:44px; padding-block:7px; font-size:14px; }
  .store-footer-contact { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; padding-top:25px; border-top:1px solid #e9dcd9; }
  .store-footer-phone { font-size:22px; }
  .store-footer-bottom { padding:18px 10px 24px; }
  .store-footer-bottom nav { gap:2px 20px; }
  .store-footer-bottom a { min-height:44px; }
}
@media (max-width:480px) {
  .store-footer-main { column-gap:20px; }
  .store-footer-brand { display:block; }
  .store-footer-logo { max-width:none; }
  .store-footer-brand h2 { max-width:250px; }
  .store-footer-online { margin-top:20px; padding:14px 16px; }
  .store-footer-contact { display:block; }
  .store-footer-contact h2 { margin-bottom:12px; }
  .store-footer-phone { font-size:25px; }
  .store-footer-contact address { max-width:260px; margin-top:10px; }
  .store-footer-social-title { margin-top:16px; }
  .store-footer-socials { gap:10px; }
  .store-footer-bottom nav { display:grid; gap:0; }
}
@media (prefers-reduced-motion:reduce) { .store-footer-socials a { transition:none; } }
