/* Elunara header + mega menus (sections/el-header.liquid).
   Every value here is Elunara's own — palette, type, spacing and motion are taken from the design
   document's header (assets/demo/el-src-*.js), so the bar matches the rest of the site. Fonts
   come from assets/demo/fonts.css, which the layout already loads. Everything is under .eln so
   nothing leaks into the design document, which styles bare `.nav`, `.wrap`, `a`, `button`. */

.eln {
  --eln-ink: #14110E; --eln-ink-2: #0E0C0A; --eln-ivory: #F4EEE4; --eln-stone: #E8E0D3;
  --eln-ch: #C6B184; --eln-mute: #A69C8F; --eln-mute-2: #8F857A; --eln-soft: #BDB3A6;
  --eln-hair: rgba(244,238,228,.12); --eln-hair-2: rgba(244,238,228,.08);
  --eln-serif: 'Bodoni Moda','Didot','Bodoni 72',Georgia,serif;
  --eln-label: 'Tenor Sans','Optima','Candara',sans-serif;
  --eln-sans: 'Albert Sans','Helvetica Neue',Arial,sans-serif;
  --eln-ease: cubic-bezier(.22,.61,.24,1);
  --eln-h: 76px;
  color: var(--eln-ivory); font-family: var(--eln-sans); font-weight: 300; line-height: normal;
  -webkit-font-smoothing: antialiased;
}
.eln *, .eln *::before, .eln *::after { box-sizing: border-box; }
.eln a { color: inherit; text-decoration: none; }
.eln button { font: inherit; color: inherit; cursor: pointer; background: none; border: 0; padding: 0; }
.eln ul { list-style: none; margin: 0; padding: 0; }
.eln p { margin: 0; }
.eln-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.eln-wrap { max-width: 1480px; margin: 0 auto; padding-inline: clamp(20px,5vw,80px); }

/* Sticky lives on the section wrapper: the bar alone would only be sticky inside this short box. */
.el-header-section { position: sticky; top: 0; z-index: 60; }
.el-header-section:has(.eln--hero) { top: -38px; margin-bottom: -92px; }

/* ---- announcement strip (home page, as in the design) ---- */
.eln-ann { height: 38px; display: flex; align-items: center; justify-content: center; background: var(--eln-ink-2);
  font-family: var(--eln-label); font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--eln-mute);
  border-bottom: 1px solid var(--eln-hair-2); }

/* ---- bar: solid everywhere; transparent over the home hero, darkening on scroll ---- */
.eln-bar { position: relative; background: rgba(20,17,14,.96); border-bottom: 1px solid rgba(244,238,228,.1);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  transition: background .6s var(--eln-ease), border-color .6s var(--eln-ease); }
.eln--hero { --eln-h: 92px; }
.eln--hero .eln-bar { background: rgba(20,17,14,0); border-bottom-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none;
  animation: eln-fadeDown 1.4s var(--eln-ease) both 3.8s; }
.eln--hero.is-scrolled .eln-bar,
.eln--hero.is-open .eln-bar { background: rgba(20,17,14,.93); border-bottom-color: var(--eln-hair); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
@keyframes eln-fadeDown { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }

.eln-in { height: var(--eln-h); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: clamp(20px,2.6vw,44px); }
.eln-links { display: flex; align-items: center; gap: clamp(20px,2.2vw,36px); height: 100%; }
.eln-links--l { justify-content: flex-end; }
.eln-r { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 100%; }
.eln-item { height: 100%; display: flex; align-items: center; }
.eln-lk { font-family: var(--eln-label); font-size: 11px; letter-spacing: .24em; text-transform: uppercase; position: relative; padding: 8px 0; white-space: nowrap;
  transition: color .5s var(--eln-ease); }
.eln-lk::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 1px; background: var(--eln-ch);
  transition: left .6s var(--eln-ease), right .6s var(--eln-ease); }
.eln-lk:hover, .eln-item.is-open .eln-lk { color: var(--eln-ch); }
.eln-lk:hover::after, .eln-item.is-open .eln-lk::after { left: 0; right: 0; }

.eln-logo { font-family: var(--eln-serif); font-size: 23px; letter-spacing: .5em; padding-left: .5em; line-height: 1;
  display: flex; flex-direction: column; align-items: center; gap: 6px; }
.eln-logo small { font-family: var(--eln-label); font-size: 7.5px; letter-spacing: .7em; padding-left: .7em; color: var(--eln-mute); }
.eln--hero .eln-logo { font-size: 28px; }
.eln--hero .eln-logo small { font-size: 8px; }

.eln-icons { display: flex; gap: 14px; align-items: center; margin-left: auto; }
.eln-ic { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; transition: color .5s var(--eln-ease); }
.eln-ic:hover { color: var(--eln-ch); }
.eln-count { font-family: var(--eln-label); font-size: 11px; }
.eln-ic--menu { display: none; }

/* ---- mega panels ---- */
.eln-panels { position: absolute; left: 0; right: 0; top: 100%; }
.eln-panel { position: absolute; left: 0; right: 0; top: 0; background: var(--eln-ink); border-top: 1px solid var(--eln-hair-2); border-bottom: 1px solid var(--eln-hair);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 40px 80px rgba(0,0,0,.35);
  opacity: 0; visibility: hidden; transform: translateY(-10px); pointer-events: none;
  transition: opacity .6s var(--eln-ease), transform .6s var(--eln-ease), visibility 0s linear .6s; }
.eln-panel.is-open { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity .6s var(--eln-ease), transform .6s var(--eln-ease), visibility 0s; }
.eln-panel > .eln-wrap { padding-block: 44px 52px; max-height: calc(100vh - var(--eln-h) - 40px); overflow: auto; }

.eln-h { font-family: var(--eln-label); font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; color: var(--eln-mute);
  padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid var(--eln-hair); }
.eln-list { display: grid; gap: 11px; }
.eln-list--2 { grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 28px; }
.eln-list a { font-size: 14px; color: var(--eln-stone); transition: color .5s var(--eln-ease); }
.eln-list a:hover { color: var(--eln-ch); }
.eln-then { margin-top: 34px; }

/* Single columns never get narrower than their heading; two-column lists take twice the share;
   the promo keeps a fixed card width. */
.eln-grid { display: flex; gap: clamp(28px, 2.8vw, 44px); align-items: flex-start; }
.eln-grid > .eln-col { flex: 1 1 0; min-width: max-content; }
.eln-grid > .eln-col--2 { flex: 2 1 0; min-width: 0; }
.eln-grid > .eln-promo { flex: 0 0 clamp(240px, 21vw, 300px); }
.eln-h { white-space: nowrap; }

/* Shop by Shape — Elunara's own shape glyphs, styled as the design's shape picker */
.eln-shapes { margin-bottom: 40px; }
.eln-shapes ul { display: grid; grid-template-columns: repeat(10, minmax(0,1fr)); gap: 4px; }
.eln-shape { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 12px 4px 14px; color: #9A9083; border-bottom: 1px solid transparent;
  transition: color .6s var(--eln-ease), border-color .6s var(--eln-ease); }
.eln-shape svg { width: 36px; height: 36px; }
.eln-shape span { font-family: var(--eln-label); font-size: 9.5px; letter-spacing: .28em; text-transform: uppercase; }
.eln-shape:hover { color: var(--eln-ivory); border-bottom-color: var(--eln-ch); }

/* promo */
.eln-promo { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 340px; overflow: hidden; isolation: isolate;
  background: linear-gradient(160deg, #221D17, #14110E); border: 1px solid var(--eln-hair-2); }
.eln-promo__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 2.2s var(--eln-ease); }
.eln-promo:hover .eln-promo__img { transform: scale(1.05); }
.eln-promo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(14,12,10,.92) 0%, rgba(14,12,10,.55) 45%, rgba(14,12,10,.05) 100%); }
.eln-promo__body { display: flex; flex-direction: column; gap: 10px; padding: 28px 26px 22px; }
.eln-promo__eyebrow { font-family: var(--eln-label); font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--eln-ch); }
.eln-promo__title { font-family: var(--eln-serif); font-size: 28px; line-height: 1.08; color: var(--eln-ivory); }
.eln-promo__text { font-size: 13px; line-height: 1.6; color: var(--eln-soft); }

/* text link with arrow (the design's .tl) */
.eln-tl { display: inline-flex; align-items: center; gap: 14px; align-self: flex-start; font-family: var(--eln-label); font-size: 11px; letter-spacing: .28em;
  text-transform: uppercase; padding: 10px 0; position: relative; color: var(--eln-ivory); }
.eln-tl::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 1px; background: currentColor; transform-origin: right; transition: transform .7s var(--eln-ease); }
.eln-tl:hover::after, .eln-promo:hover .eln-tl::after { transform: scaleX(.25); }
.eln-ar { transition: transform .7s var(--eln-ease); }
.eln-tl:hover .eln-ar, .eln-promo:hover .eln-ar { transform: translateX(6px); }

/* ---- overlays: menu (mobile) and search — the design's .overlay ---- */
.eln-overlay { position: fixed; inset: 0; z-index: 90; background: rgba(10,8,6,.72); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  display: flex; align-items: flex-start; justify-content: center; overflow: auto; animation: eln-fadeIn .7s var(--eln-ease) both; }
.eln-overlay[hidden] { display: none; }
.eln-sheet { width: 100%; background: var(--eln-ink); border-bottom: 1px solid rgba(244,238,228,.14); padding: 40px 0 56px; animation: eln-rise 1s var(--eln-ease) both; }
.eln-sheet--search { padding: 56px 0 72px; }
.eln-sheet__in { display: flex; flex-direction: column; gap: 32px; }
.eln-sheet--search .eln-sheet__in { gap: 40px; }
.eln-sheet__top { display: flex; justify-content: space-between; align-items: center; }
.eln-lbl { font-family: var(--eln-label); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--eln-mute); }
@keyframes eln-fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes eln-rise { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: none; } }

.eln-field { display: flex; align-items: center; border-bottom: 1px solid rgba(244,238,228,.35); height: 90px; }
.eln-field input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; height: 88px; color: var(--eln-ivory);
  font-family: var(--eln-serif); font-style: italic; font-size: clamp(30px,4vw,54px); }
.eln-field input::placeholder { color: var(--eln-mute-2); }
.eln-field input::-webkit-search-cancel-button { -webkit-appearance: none; }
.eln-quick { display: flex; gap: 12px; flex-wrap: wrap; }
.eln-quick[hidden] { display: none; }
.eln-btn { display: inline-flex; align-items: center; justify-content: center; height: 56px; padding: 0 34px; border: 1px solid currentColor;
  font-family: var(--eln-label); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; transition: color .7s var(--eln-ease), background .7s var(--eln-ease); }
.eln-btn:hover { background: var(--eln-ivory); color: var(--eln-ink); border-color: var(--eln-ivory); }

/* live suggestions under the search field */
.eln-suggest { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 24px clamp(32px,4vw,64px); animation: eln-fadeIn .6s var(--eln-ease) both; }
.eln-suggest[hidden] { display: none; }
.eln-sg-col { min-width: 0; }
.eln-sg-items, .eln-sg-links { grid-template-columns: minmax(0, 1fr); }
.eln-sg-items { display: grid; gap: 4px; }
.eln-sg-item { display: flex; align-items: center; gap: 18px; padding: 10px 12px; margin-inline: -12px; transition: background .5s var(--eln-ease), color .5s var(--eln-ease); }
.eln-sg-item:hover, .eln-sg-item.is-active { background: rgba(244,238,228,.05); color: var(--eln-ch); }
.eln-sg-thumb { flex: none; width: 56px; height: 56px; display: grid; place-items: center; overflow: hidden; background: #1C1813; color: #6E665C; border: 1px solid var(--eln-hair-2); }
.eln-sg-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.eln-sg-thumb svg { width: 26px; height: 26px; }
.eln-sg-text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.eln-sg-title { font-family: var(--eln-serif); font-size: 17px; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eln-sg-price { font-family: var(--eln-label); font-size: 11px; letter-spacing: .2em; color: var(--eln-ch); }
.eln-sg-price s { color: var(--eln-mute-2); margin-left: 10px; }
.eln-sg-links { display: grid; gap: 4px; }
.eln-sg-links .eln-sg-item { font-size: 15px; color: var(--eln-stone); padding-block: 8px; }
.eln-sg-foot { grid-column: 1 / -1; }
.eln-sg-empty { grid-column: 1 / -1; font-family: var(--eln-serif); font-style: italic; font-size: 22px; color: var(--eln-soft); }
@media (max-width: 820px) { .eln-suggest { grid-template-columns: 1fr; } }

/* account, wishlist and store under the mobile menu (their icons leave the bar on phones) */
.eln-mfoot { display: flex; flex-wrap: wrap; gap: 14px 32px; }
.eln-mfoot a, .eln-mfoot button { font-family: var(--eln-label); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--eln-mute); transition: color .5s var(--eln-ease); }
.eln-mfoot a:hover, .eln-mfoot button:hover { color: var(--eln-ch); }

/* wishlist panel — saved pieces, in the suggestion-list style */
.eln-wish { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 4px 40px; }
.eln-wish__row { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--eln-hair-2); }
.eln-wish__item { flex: 1; min-width: 0; display: flex; align-items: center; gap: 18px; padding: 12px 0; transition: color .5s var(--eln-ease); }
.eln-wish__item:hover { color: var(--eln-ch); }
.eln-wish__rm { flex: none; min-height: 44px; font-family: var(--eln-label); font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--eln-mute); transition: color .5s var(--eln-ease); }
.eln-wish__rm:hover { color: var(--eln-ch); }
.eln-wish__empty { font-family: var(--eln-serif); font-style: italic; font-size: 22px; color: var(--eln-soft); }
.eln-wish__empty[hidden] { display: none; }
.eln-wish .eln-sg-thumb { width: 64px; height: 64px; }
.eln-count[hidden] { display: none; }

/* mobile menu: the design's serif list, each item opening its submenu */
.eln-mnav { display: flex; flex-direction: column; border-bottom: 1px solid var(--eln-hair); }
.eln-acc, .eln-mlink { border-top: 1px solid var(--eln-hair); }
.eln-acc summary, .eln-mlink { display: flex; align-items: center; justify-content: space-between; font-family: var(--eln-serif); font-size: clamp(30px,8vw,40px);
  line-height: 1; padding: 18px 0; cursor: pointer; list-style: none; }
.eln-acc summary::-webkit-details-marker { display: none; }
.eln-plus { position: relative; width: 16px; height: 16px; flex: none; }
.eln-plus::before, .eln-plus::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: currentColor; transition: transform .6s var(--eln-ease); }
.eln-plus::after { transform: rotate(90deg); }
.eln-acc[open] .eln-plus::after { transform: rotate(0deg); }
.eln-acc[open] summary { color: var(--eln-ch); }
.eln-acc__body { display: grid; gap: 30px; padding: 6px 0 34px; animation: eln-fadeIn .7s var(--eln-ease) both; }
.eln-mcol .eln-h + .eln-list ~ .eln-h { margin-top: 30px; }

/* Desktop bar holds six links + four icons, so pointer-sized icon targets; 44px returns below. */
@media (min-width: 1280px) {
  /* five icons (White Moon's set) + three links must fit the right column at every desktop width */
  .eln-links { gap: 22px; }
  .eln-r { gap: 14px; }
  .eln-icons { gap: 6px; }
  .eln-ic { min-width: 34px; }
}
@media (min-width: 1280px) and (max-width: 1365px) {
  .eln-links { gap: 18px; }
  .eln-icons { gap: 4px; }
  .eln-ic { min-width: 32px; }
}
/* 1280–1479: the side columns need ~480px each and the fluid gutters leave ~410 at 1280, which
   pushed the bar past the viewport and the wordmark off centre. Tighter gutters and a 25px home
   wordmark close the gap; from 1480 the wrap is at full width and the defaults fit. */
@media (min-width: 1280px) and (max-width: 1479px) {
  .eln-in { padding-inline: 32px; column-gap: 24px; }
  .eln--hero .eln-logo { font-size: 25px; }
}

/* ---- responsive: links fold into the menu below 1280px, where six links + logo + icons stop fitting ---- */
@media (max-width: 1279px) {
  .eln-links { display: none; }
  .eln-ic--menu { display: inline-flex; }
  .eln-panels { display: none; }
  .eln-logo { grid-column: 2; }
  .eln-r { grid-column: 3; }
}
/* Phones: a centred wordmark plus three icons does not fit (the design's own header scrolls
   sideways here), so the wordmark moves left and the icons keep the right. */
@media (max-width: 600px) {
  .eln-in { grid-template-columns: auto 1fr; column-gap: 12px; }
  .eln-logo { grid-column: 1; }
  .eln-r { grid-column: 2; }
  .eln-ic--account, .eln-ic--wish, .eln-ic--store { display: none; }
  .eln-ann { padding-inline: 16px; font-size: 9.5px; letter-spacing: .16em; }
  .eln-ann span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 820px) {
  .eln-ic--store { display: none; }
  .eln--hero .eln-logo { font-size: 22px; }
  .eln-icons { gap: 4px; }
}
@media (max-width: 400px) {
  .eln-logo { font-size: 19px; letter-spacing: .42em; padding-left: .42em; }
  .eln--hero .eln-logo { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .eln *, .eln *::before, .eln *::after { animation: none !important; transition: none !important; }
}

/* ---- announcement: several messages take turns (White Moon's ticker), one at a time ---- */
.eln-ann { position: relative; overflow: hidden; }
.eln-ann__m { position: absolute; left: 16px; right: 16px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  opacity: 0; transform: translateY(6px); transition: opacity .9s var(--eln-ease), transform .9s var(--eln-ease); }
.eln-ann__m.is-on { opacity: 1; transform: none; }

/* ---- bag drawer (from the right), in the overlay's palette ---- */
.eln-overlay--side { justify-content: flex-end; align-items: stretch; overflow: hidden; }
.eln-drawer { width: min(460px, 100%); height: 100%; background: var(--eln-ink); border-left: 1px solid rgba(244,238,228,.14);
  display: flex; flex-direction: column; gap: 22px; padding: 28px clamp(20px, 3vw, 36px); overflow-y: auto; animation: eln-slideIn .7s var(--eln-ease) both; }
/* the wishlist in the same side drawer: one column of saved pieces */
.eln-wish-in { display: flex; flex-direction: column; gap: 22px; }
.eln-drawer--wish .eln-wish { grid-template-columns: minmax(0, 1fr); gap: 0; }
.eln-drawer--wish .eln-wish__empty { font-size: 20px; }
@keyframes eln-slideIn { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.eln-bag { display: flex; flex-direction: column; }
.eln-bag__row { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--eln-hair-2); }
.eln-bag__img { width: 76px; height: 95px; background: #DDD3C5; overflow: hidden; display: block; }
.eln-bag__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.eln-bag__info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.eln-bag__t { font-family: var(--eln-serif); font-size: 19px; line-height: 1.15; overflow-wrap: anywhere; transition: color .5s var(--eln-ease); }
.eln-bag__t:hover { color: var(--eln-ch); }
.eln-bag__p { font-size: 12.5px; line-height: 1.5; color: var(--eln-mute); }
.eln-bag__line { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 6px; }
.eln-bag__qty { display: inline-flex; align-items: center; border: 1px solid rgba(244,238,228,.2); }
.eln-bag__qty button { width: 40px; height: 40px; font-size: 15px; color: var(--eln-ivory); }
.eln-bag__qty button:hover { background: rgba(244,238,228,.08); }
.eln-bag__qty span { min-width: 30px; text-align: center; font-size: 13px; }
.eln-bag__price { font-size: 14px; white-space: nowrap; }
.eln-bag__rm { align-self: flex-start; min-height: 32px; font-family: var(--eln-label); font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--eln-mute); transition: color .5s var(--eln-ease); }
.eln-bag__rm:hover { color: var(--eln-ch); }
.eln-bag__msg { font-size: 13px; color: var(--eln-ch); margin: 0; }
.eln-bag__msg[hidden], .eln-bag__empty[hidden], .eln-bag__foot[hidden] { display: none; }
.eln-bag__empty { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.eln-bag__foot { margin-top: auto; display: flex; flex-direction: column; gap: 12px; padding-top: 18px; border-top: 1px solid rgba(244,238,228,.14); }
.eln-bag__sub { display: flex; justify-content: space-between; align-items: baseline; }
.eln-bag__total { font-family: var(--eln-serif); font-size: 28px; }
.eln-bag__note { font-size: 12.5px; color: var(--eln-mute); margin: 0 0 6px; }
.eln .eln-btn--solid { background: var(--eln-ivory); color: var(--eln-ink); border-color: var(--eln-ivory); }
.eln .eln-btn--solid:hover { background: transparent; color: var(--eln-ivory); }
.eln-bag.is-busy { opacity: .55; pointer-events: none; }

/* ---- Call now (bottom left, as White Moon) and back to top (bottom left, right above Call now — user,
   2026-10-22). `.eln .eln-top`: the header's button reset `.eln button { background:none; border:0 }`
   (0-1-1) outranked `.eln-top` (0-1-0), so the disc lost its dark ground and the ivory arrow vanished on
   light pages ---- */
.eln-call, .eln .eln-top { position: fixed; bottom: 20px; z-index: 55; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 46px; background: var(--eln-ink); color: var(--eln-ivory); border: 1px solid rgba(244,238,228,.22); box-shadow: 0 10px 30px rgba(10,8,6,.25);
  transition: bottom .6s var(--eln-ease), background .5s var(--eln-ease), color .5s var(--eln-ease), opacity .5s var(--eln-ease); }
.eln-call { left: 20px; padding: 0 20px 0 16px; border-radius: 23px; font-family: var(--eln-label); font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; }
.eln .eln-top { left: 20px; bottom: 78px; width: 46px; padding: 0; border-radius: 50%; }
.eln-call:hover, .eln .eln-top:hover { background: var(--eln-ivory); color: var(--eln-ink); }
.eln .eln-top[hidden] { display: none; }
/* the product page's sticky add-to-bag bar (assets/el-pdp.js) sits along the bottom: rise above it */
body:has(.elp.on) .eln-call { bottom: 92px; }
body:has(.elp.on) .eln .eln-top { bottom: 150px; }
@media (max-width: 600px) { .eln-call { left: 12px; bottom: 12px; height: 42px; } .eln .eln-top { left: 12px; bottom: 64px; width: 42px; height: 42px; }
  body:has(.elp.on) .eln-call { bottom: 84px; } body:has(.elp.on) .eln .eln-top { bottom: 136px; } }
@media (prefers-reduced-motion: reduce) { .eln-ann__m, .eln-drawer, .eln-call, .eln-top { transition: none; animation: none; } }

/* ---- every header image (mega-menu photos, search / wishlist / bag thumbnails) shimmers in Elunara's dark tones
   until it has loaded (assets/el-nav.js marks it .is-ld); then it fades in (user, 2026-10-19) ---- */
.eln img { transition: opacity .5s var(--eln-ease); }
.eln img:not(.is-ld) { opacity: 1; color: transparent;
  background: linear-gradient(100deg, #1C1813 30%, #2E2721 50%, #1C1813 70%) 0 0 / 200% 100%; animation: eln-shim 1.4s linear infinite; }
.eln img.is-ld { background: none; animation: none; }
@keyframes eln-shim { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .eln img:not(.is-ld) { animation: none; background: #241F1A; } }
