/* Global shell only. Page-specific layouts remain owned by their existing files. */
.elora-announce {
 background: var(--elora-navy); color: var(--elora-ivory);
 padding: .75rem var(--elora-gutter); text-align: center;
 font: 400 .875rem/1.7 var(--elora-font-body); letter-spacing: .12em; text-transform: uppercase;
}
.elora-announce p { margin: 0; }
.elora-site-header { position: relative; z-index: 60; background: var(--elora-navy); --elora-focus: var(--elora-gold-light); --elora-focus-halo: var(--elora-navy); }
.elora-header-inner { --elora-container: 103.125rem; display: flex; align-items: center; justify-content: space-between; gap: clamp(.5rem, 1.5vw, 1.5rem); padding-block: .5rem; }
.elora-brand { display: inline-flex; flex: 0 0 auto; text-decoration: none; }
/* Window: source x=230..970, y=350..1110. Only empty navy canvas is
   trimmed; the entire emblem, ELORA and CANDLE artwork remain untouched.
   The image itself is an exact copy of the official 1200x1600 JPEG. */
.elora-brand-frame { display: block; position: relative; overflow: hidden; width: clamp(5.5rem, 7vw, 6.5rem); aspect-ratio: 740 / 760; background: var(--elora-navy); }
.elora-brand-image { position: absolute; width: 162.162162%; max-width: none; height: auto; left: -31.081081%; top: -46.052632%; }
/* A full-height brand panel connects the official artwork to the announcement
   band. The original image and the footer framing remain unchanged. */
.elora-site-header .elora-brand {
 align-self: stretch; align-items: center; justify-content: center;
 margin-block: -.5rem; padding: .8rem clamp(.75rem, 1.5vw, 1.75rem);
 background: var(--elora-navy); border-inline: 1px solid var(--elora-bronze);
 --elora-focus: var(--elora-gold-light); --elora-focus-halo: var(--elora-navy);
}
.elora-site-header .elora-brand-frame { width: clamp(4.75rem, 6vw, 7.1875rem); }
.elora-nav-desktop ul, .elora-drawer ul, .elora-site-footer ul { list-style: none; margin: 0; padding: 0; }
.elora-nav-desktop ul { display: flex; align-items: center; gap: clamp(.75rem, 2.05vw, 2.5rem); }
.elora-nav-desktop a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; color: var(--elora-ivory); font-size: .9375rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.elora-nav-desktop a:is(:hover, [aria-current="page"]) { text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: .5em; }
.elora-nav-desktop a { min-width: 44px; justify-content: center; }
.elora-actions { display: flex; align-items: center; gap: .375rem; flex: 0 0 auto; }
.elora-actions > * { margin: 0; }
.elora-actions .wc-block-mini-cart__button,
.elora-search summary, .elora-menu-toggle, .elora-menu-close, .elora-account-link {
 display: inline-flex; align-items: center; justify-content: center;
 min-width: 44px; min-height: 44px; padding: .625rem; border: 0;
 background: transparent; color: var(--elora-ivory); font: 400 1rem/1.5 var(--elora-font-body);
 cursor: pointer; text-decoration: none;
}
.elora-menu-toggle[hidden], .elora-menu-close[hidden], .elora-mobile-menu[hidden] { display: none; }
.elora-actions .wc-block-mini-cart__button { gap: 0; }
.elora-actions .wc-block-mini-cart__amount { display: none; }
.elora-search summary { list-style: none; }
.elora-search summary::-webkit-details-marker { display: none; }
.elora-search-panel { position: absolute; top: 100%; right: var(--elora-gutter); width: min(30rem, calc(100% - 2 * var(--elora-gutter))); padding: var(--elora-space-md); background: var(--elora-ivory); color: var(--elora-navy); --elora-focus: var(--elora-navy); --elora-focus-halo: var(--elora-ivory); border: var(--elora-border); box-shadow: 0 12px 24px rgb(10 18 37 / .12); }
.elora-search-panel .wp-block-search__label { display: block; margin-bottom: .5rem; font-size: 1rem; }
.elora-search-panel .wp-block-search__inside-wrapper { display: flex; gap: .5rem; padding: 0; border: 0; }
.elora-search-panel .wp-block-search__input { width: 100%; min-width: 0; min-height: 48px; padding: .75rem; border: 1px solid var(--elora-blue-muted); border-radius: 0; background: var(--elora-ivory); color: var(--elora-navy); font: 400 1rem/1.5 var(--elora-font-body); }
.elora-search-panel .wp-block-search__button { min-height: 48px; margin: 0; padding: .75rem; border: 0; border-radius: 0; background: var(--elora-gold); color: var(--elora-navy); font: 400 .8125rem/1.5 var(--elora-font-body); letter-spacing: .02em; }
/* No-JS fallback is ordinary in-flow navigation, enhanced only after listeners exist. */
.elora-mobile-menu { padding: var(--elora-space-md) var(--elora-gutter); background: var(--elora-navy); color: var(--elora-ivory); --elora-focus: var(--elora-gold-light); --elora-focus-halo: var(--elora-navy); }
.elora-mobile-menu[role="dialog"] { position: fixed; inset: 0; z-index: 100000; overflow-y: auto; overscroll-behavior: contain; padding-top: max(var(--elora-space-md), env(safe-area-inset-top)); padding-bottom: max(var(--elora-space-md), env(safe-area-inset-bottom)); }
.elora-menu-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.elora-menu-top .elora-label { color: var(--elora-gold-light); }
.elora-menu-close { color: var(--elora-ivory); gap: .75rem; }
.elora-drawer { max-width: 45rem; margin-inline: auto; }
.elora-drawer a { display: flex; align-items: center; min-height: 48px; padding-block: .65rem; border-bottom: var(--elora-border); color: var(--elora-ivory); font: 300 clamp(1.75rem, 1.5rem + 1vw, 2.25rem)/1.25 var(--elora-font-display); text-decoration: none; }
.elora-drawer a:is(:hover, [aria-current="page"]) { color: var(--elora-gold-light); text-decoration: underline; text-underline-offset: .2em; }
.elora-drawer .elora-menu-utility { margin-top: var(--elora-space-md); display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.elora-menu-utility a { font: 400 1rem/1.5 var(--elora-font-body); }
.elora-site-footer { background: var(--elora-navy); color: var(--elora-ivory); --elora-focus: var(--elora-gold-light); --elora-focus-halo: var(--elora-navy); }
.elora-footer-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: var(--elora-space-lg); padding-block: var(--elora-space-xl); }
.elora-footer-grid > * { min-width: 0; }
.elora-footer-brand .elora-brand-frame { width: 10rem; }
.elora-footer-brand p { max-width: 28ch; margin: 1.25rem 0 0; font-size: 1rem; line-height: 1.7; }
.elora-site-footer .elora-label { color: var(--elora-gold-light); margin: 0 0 1rem; }
.elora-site-footer a:not(.elora-brand) { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; color: var(--elora-ivory); font-size: 1rem; text-decoration: none; overflow-wrap: anywhere; }
.elora-site-footer a:not(.elora-brand):hover { color: var(--elora-gold-light); text-decoration: underline; text-underline-offset: .3em; }
.elora-site-footer a:not(.elora-brand) { min-width: 44px; }
.elora-footer-pending li { padding-block: .5rem; min-height: 44px; font-size: 1rem; color: var(--elora-gold-light); }
.elora-footer-bottom { border-top: var(--elora-border); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: var(--elora-space-md); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.elora-footer-bottom p { margin: 0; }
.elora-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; }
@media (max-width: 71.99rem) {
 .elora-announce { font-size: .6875rem; }
 .elora-nav-desktop, .elora-account-link { display: none; }
}
@media (min-width: 72rem) {
 .elora-header-inner { min-height: 9rem; padding-inline: 3rem; }
 .elora-mobile-menu, .elora-menu-toggle { display: none; }
}
@media (max-width: 55rem) {
 .elora-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 30rem) {
 .elora-footer-grid { grid-template-columns: minmax(0, 1fr); }
 .elora-footer-brand .elora-brand-frame { width: 8rem; }
}
