/* Elunara footer (sections/el-footer.liquid). Values are the design document's home-page footer:
   #0F0D0B ground, hairline rules, Bodoni wordmark, Tenor Sans champagne labels, stone links. */
.elf {
  --elf-ink: #0F0D0B; --elf-ivory: #F4EEE4; --elf-ch: #C6B184; --elf-soft: #BDB3A6; --elf-mute: #8F857A;
  --elf-hair: rgba(244,238,228,.1); --elf-hair-2: rgba(244,238,228,.08);
  --elf-serif: 'Bodoni Moda','Didot','Bodoni 72',Georgia,serif;
  --elf-label: 'Tenor Sans','Optima','Candara',sans-serif;
  --elf-sans: 'Albert Sans','Helvetica Neue',Arial,sans-serif;
  --elf-ease: cubic-bezier(.22,.61,.24,1);
  background: var(--elf-ink); color: var(--elf-soft); border-top: 1px solid var(--elf-hair);
  font-family: var(--elf-sans); font-weight: 300; line-height: normal; -webkit-font-smoothing: antialiased;
}
.elf *, .elf *::before, .elf *::after { box-sizing: border-box; }
.elf a { color: inherit; text-decoration: none; transition: color .5s var(--elf-ease); }
.elf a:hover { color: var(--elf-ch); }
.elf ul { list-style: none; margin: 0; padding: 0; }
.elf p, .elf address { margin: 0; font-style: normal; }
.elf-wrap { max-width: 1480px; margin: 0 auto; padding-inline: clamp(20px,5vw,80px); }

.elf-top { padding-top: 56px; padding-bottom: 40px; display: grid; grid-template-columns: minmax(0,2fr) repeat(3, minmax(0,1fr)); gap: 36px 48px; align-items: start; }

.elf-brand { display: flex; flex-direction: column; gap: 18px; max-width: 420px; }
.elf-logo { font-family: var(--elf-serif); font-size: 26px; letter-spacing: .45em; color: var(--elf-ivory); line-height: 1; align-self: flex-start; }
.elf-tagline { font-size: 14px; line-height: 1.7; }
.elf-contact { display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; line-height: 1.6; }
.elf-social { display: flex; gap: 24px; padding-top: 4px; }
.elf-social a { font-family: var(--elf-label); font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--elf-ivory); }

.elf-h { display: flex; align-items: center; justify-content: space-between; font-family: var(--elf-label); font-size: 10px; letter-spacing: .28em;
  text-transform: uppercase; color: var(--elf-ch); padding-bottom: 14px; list-style: none; cursor: default; }
.elf-h::-webkit-details-marker { display: none; }
.elf-plus { display: none; position: relative; width: 12px; height: 12px; flex: none; }
.elf-plus::before, .elf-plus::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: currentColor; transition: transform .6s var(--elf-ease); }
.elf-plus::after { transform: rotate(90deg); }
.elf-acc[open] .elf-plus::after { transform: rotate(0deg); }
.elf-links { display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; }

.elf-bottom { padding-top: 18px; padding-bottom: 22px; border-top: 1px solid var(--elf-hair-2); display: flex; justify-content: space-between; align-items: center;
  gap: 14px 24px; flex-wrap: wrap; font-size: 12px; color: var(--elf-mute); }
.elf-pay { display: flex; flex-wrap: wrap; gap: 8px; }
.elf-pay li { font-family: var(--elf-label); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--elf-soft);
  height: 26px; padding: 0 10px; display: inline-flex; align-items: center; border: 1px solid var(--elf-hair); }

@media (max-width: 1024px) {
  .elf-top { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .elf-brand { grid-column: 1 / -1; }
}
/* Phones: columns become accordions (White Moon's behaviour), in Elunara's hairline style. */
@media (max-width: 767px) {
  .elf-top { grid-template-columns: 1fr; gap: 0; padding-top: 44px; padding-bottom: 28px; }
  .elf-brand { padding-bottom: 32px; }
  .elf-col { border-top: 1px solid var(--elf-hair); }
  .elf-col:last-child { border-bottom: 1px solid var(--elf-hair); }
  .elf-h { padding: 18px 0; cursor: pointer; }
  .elf-plus { display: block; }
  .elf-acc[open] .elf-links { padding-bottom: 20px; }
  .elf-bottom { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .elf *, .elf *::before, .elf *::after { transition: none !important; }
}
