/* Existing flagship store/footer presentation, scoped for reuse on customer pages. */
.classic-brand-content {
  --ivory: var(--classic-ivory); --ivory-deep: #EDE8DF; --warm-black: var(--classic-ink);
  --white: var(--classic-white); --caramel: var(--classic-caramel); --muted: var(--classic-muted);
  --border: var(--classic-border); --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'DM Sans', sans-serif; --font-mono: 'Barlow Condensed', sans-serif;
  --ease-out: cubic-bezier(.16,1,.3,1); font-family: var(--font-body); font-size: 15px;
  line-height: 1.6; color: var(--warm-black); width: 100%;
}
.classic-brand-content, .classic-brand-content *, .classic-brand-content *::before, .classic-brand-content *::after { box-sizing: border-box; }
.classic-brand-content :is(p,h2,h3,h4,ul) { margin: 0; padding: 0; }
.classic-brand-content :is(h2,h3,h4) { line-height: 1.2; }
.classic-brand-content img { display: block; max-width: 100%; }
.classic-brand-content a { text-decoration: none; }
.classic-brand-content .section-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid var(--border); }
.classic-brand-content .section-title { font:600 italic clamp(40px,5vw,72px)/1 var(--font-display); color:var(--warm-black); letter-spacing:-.025em; }
.classic-brand-content .section-count { padding-bottom:6px; white-space:nowrap; font-family:var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.classic-brand-content .no-items { text-align:center; color:var(--muted); font-family:var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; padding:80px 0; }
/* Only the Bootstrap utilities used by the original store markup; no dependency on Bootstrap elsewhere. */
.classic-brand-content #stores { padding-block:48px; }
.classic-brand-content #stores > .container-fluid { width:100%; margin-inline:auto; padding-inline:24px; }
.classic-brand-content #stores .row { display:flex; flex-wrap:wrap; justify-content:center; margin-top:-24px; margin-inline:-12px; }
.classic-brand-content #stores .row > .col-12 { flex-shrink:0; width:100%; max-width:100%; padding-inline:12px; margin-top:24px; }
.classic-brand-content .store-img-item.d-flex { display:flex; align-items:center; justify-content:center; }
@media (min-width:768px) {
 .classic-brand-content #stores > .container-fluid { padding-inline:48px; }
 .classic-brand-content #stores .row > .col-md-6 { width:50%; }
}
@media (min-width:992px) { .classic-brand-content #stores .row > .col-lg-5 { width:41.66666667%; } }
.classic-brand-content #stores { background: var(--ivory-deep); }
.classic-brand-content .store-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 0;
  overflow: hidden;
  opacity: 1;
  transform: none;
  transition: border-color 0.25s, box-shadow 0.3s;
}
html.classic-motion-ready .classic-brand-content.classic-brand-motion-ready .store-card:not(.visible) {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s var(--ease-out), border-color 0.25s, box-shadow 0.3s;
}
html.classic-motion-ready .classic-brand-content .store-card.visible {
  opacity: 1;
  transform: translateY(0);
}
@media (hover: hover) and (pointer: fine) {
.classic-brand-content .store-card:hover {
    border-color: var(--caramel);
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(26,23,20,0.08);
  }
}
.classic-brand-content .store-img-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  background: var(--border);
  aspect-ratio: 16/9;
}
.classic-brand-content .store-img-item {
  overflow: hidden;
  background: var(--ivory-deep);
}
.classic-brand-content .store-img-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.8) brightness(0.95);
  transition: transform 0.6s var(--ease-out), filter 0.3s;
}
@media (hover: hover) and (pointer: fine) {
.classic-brand-content .store-card:hover .store-img-item img {
    transform: scale(1.05);
    filter: saturate(1) brightness(1);
  }
}
.classic-brand-content .store-body {
  padding: 22px 24px 26px;
}
.classic-brand-content .store-tag {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: var(--caramel);
  margin-bottom: 8px;
}
.classic-brand-content .store-name {
  font-family: var(--font-display);
  font-size: 1.7rem;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.04em;
  color: var(--warm-black);
  margin-bottom: 6px;
}
.classic-brand-content .store-address {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin: 2px 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.classic-brand-content .store-hours {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.classic-brand-content .store-hours::before {
  content: "";
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #5E9E6E;
  flex-shrink: 0;
}
.classic-brand-content .store-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:18px; }
.classic-brand-content .store-map-link, .classic-brand-content .store-directions { display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.classic-brand-content .store-map-link { color:var(--warm-black); border-bottom:1px solid var(--caramel); padding-bottom:4px; }
.classic-brand-content .store-directions { color:var(--muted); }
.classic-brand-content .store-map-preview { margin-top:18px; border-top:1px solid var(--border); padding-top:14px; }
.classic-brand-content .store-map-preview iframe { width:100%; height:180px; border:0; filter:grayscale(.9) contrast(.95); }
.classic-brand-content .site-footer {
  background: var(--warm-black);
  color: var(--ivory);
  padding: 56px 52px 36px;
  opacity: 1;
  transform: none;
}
html.classic-motion-ready .classic-brand-content.classic-brand-motion-ready .site-footer:not(.visible) {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s var(--ease-out);
}
.classic-brand-content .footer-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(245,242,236,0.08);
  margin-bottom: 28px;
}
.classic-brand-content .footer-brand .footer-logo {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.08em;
  color: var(--ivory);
  display: block;
  margin-bottom: 10px;
}
.classic-brand-content .footer-brand p {
  font-size: 12px;
  color: rgba(245,242,236,0.35);
  max-width: 220px;
  line-height: 1.7;
  letter-spacing: 0.03em;
}
.classic-brand-content .footer-nav-col h4 {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--caramel);
  margin-bottom: 14px;
}
.classic-brand-content .footer-nav-col ul { list-style: none; }
.classic-brand-content .footer-nav-col ul li + li { margin-top: 8px; }
.classic-brand-content .footer-nav-col ul li a {
  font-size: 12px;
  color: rgba(245,242,236,0.45);
  letter-spacing: 0.04em;
  transition: color 0.2s;
}
@media (hover: hover) and (pointer: fine) {
.classic-brand-content .footer-nav-col ul li a:hover { color: var(--ivory); }
}
.classic-brand-content .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.classic-brand-content .footer-copy {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(245,242,236,0.22);
}
.classic-brand-content .footer-socials {
  display: flex;
  gap: 16px;
}
.classic-brand-content .footer-social-link {
  width: 32px; height: 32px;
  border: 1px solid rgba(245,242,236,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(245,242,236,0.35);
  font-size: 13px;
  border-radius: 0;
  transition: border-color 0.2s, color 0.2s;
}
@media (hover: hover) and (pointer: fine) {
.classic-brand-content .footer-social-link:hover {
    border-color: var(--caramel);
    color: var(--caramel);
  }
}
@media (max-width:768px) {
 .classic-brand-content .store-img-grid { grid-template-columns:repeat(2,1fr); aspect-ratio:4/3; }
 .classic-brand-content .store-card { margin:0 4px; }
 .classic-brand-content .store-body { padding:18px 18px 22px; }
 .classic-brand-content .store-name { font-size:1.45rem; }
 .classic-brand-content .store-address { font-size:13px; }
 .classic-brand-content .store-hours { font-size:10px; }
 .classic-brand-content .site-footer { padding:44px 28px 28px; }
 .classic-brand-content .footer-top { flex-direction:column; gap:32px; }
 .classic-brand-content .footer-bottom { flex-direction:column; gap:14px; text-align:center; }
}
/* Compact branding for forms, checkout and account-security tasks. */
.classic-brand-content--compact .site-footer { padding:28px clamp(20px,4vw,52px) 36px; }
.classic-brand-content--compact .footer-top { flex-direction:row; flex-wrap:wrap; gap:20px 32px; padding-bottom:0; margin-bottom:0; border:0; }
.classic-brand-content--compact .footer-brand { flex:1 1 220px; }
.classic-brand-content--compact .footer-nav-col { flex:0 1 120px; }
.classic-brand-content--compact .footer-bottom { flex:1 1 100%; gap:14px; }
/* Let every footer link scroll clear of the existing fixed launchers. */
.classic-module-customer .classic-brand-content :is(a,iframe) { scroll-margin-bottom:120px; }
.classic-module-customer .classic-brand-content .site-footer { padding-bottom:120px; }
@media (prefers-reduced-motion:reduce) {
 .classic-brand-content :is(.store-card,.store-img-item img,.site-footer,.section-head) { opacity:1!important; transform:none!important; transition:none!important; }
}

/* Preserve the original Bootstrap typography spacing inside the extracted footer. */
.classic-brand-content .footer-brand p, .classic-brand-content .footer-copy { margin-bottom:16px; }
.classic-brand-content .footer-nav-col ul { padding-left:32px; margin-bottom:16px; }
.classic-module-landing:not(.classic-page-index) .classic-brand-content .site-footer { padding-bottom:120px; }

/* Keep centered tasks at their original viewport height; branding follows below. */
.classic-page-verify_otp:has(.classic-brand-content),
.classic-page-goodbye:has(.classic-brand-content),
.classic-page-reset_password:has(.loader-box):has(.classic-brand-content) { display:block; height:auto; padding:0; }
.classic-page-verify_otp .classic-brand-task,
.classic-page-reset_password:has(.loader-box) .classic-brand-task { min-height:100vh; display:flex; align-items:center; justify-content:center; }
.classic-page-goodbye .classic-brand-task { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 20px; }
