/** Shopify CDN: Minification failed

Line 421:0 Unexpected "<"

**/
/* --- Global breadcrumbs: Ohr eyebrow treatment --- */
.shopify-section.bc-wrapper{
  --cl: #1E2A44;
  --bg: #F7F3EC;
  --fs: 10px;
}
.bc-wrapper .breadcrumb{
  background-color: transparent;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.bc-wrapper .breadcrumb a{
  color: #1E2A44;
  opacity: .45;
  text-decoration: none;
  transition: opacity .3s ease, color .3s ease;
}
.bc-wrapper .breadcrumb a:hover{
  opacity: 1;
  color: #A8853B;
}
.bc-wrapper .bc-icon{
  opacity: .3;
}

/* ============================================================
   OJ: FILTER SIDEBAR — collapsible groups + hairline seams
   Headings are tagged .oj-fhead by the script in theme.liquid;
   the seam keys off that heading's container via :has(), so no
   container class is needed.
   ============================================================ */
.oj-fhead{cursor:pointer; position:relative; user-select:none;}
.oj-fhead::after{content:""; position:absolute; right:2px; top:50%;
  width:7px; height:7px; border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-70%) rotate(45deg); transition:transform .2s ease;}
.oj-collapsed .oj-fhead::after{transform:translateY(-40%) rotate(-45deg);}
.oj-collapsed > *:not(.oj-fhead){display:none !important;}
@media (prefers-reduced-motion: reduce){.oj-fhead::after{transition:none;}}

*:has(> .oj-fhead){
  border-bottom: 1px solid #E4DED2;
  padding-bottom: 16px;
  margin-bottom: 16px;
}
*:has(> .oj-fhead):last-of-type{ border-bottom: 0; }
.oj-collapsed{ padding-bottom: 10px; }   /* tighter seam when a group is folded shut */

/* ============================================================
   OJ: COLOUR FILTER SWATCHES
   Avone paints each swatch from the S&D Color metaobject entry
   as an inline style — background:<gid> until the search index
   resolves the entry's hex, then background:rgb(R G B). Rules
   below key on the class (stable taxonomy value id) or the
   resolved rgb triplet — never the value name. Hairline border
   keeps White and Clear legible on the white sidebar.
   !important in a stylesheet outranks an inline style.
   ============================================================ */
.filter-swatch {
  border: 1px solid #E4DED2 !important;
}

/* Unresolved GID backgrounds: quiet placeholder (self-retires
   once the index serves real hexes — then this never matches) */
.filter-swatch[style*="background:gid"]{
  background: #EDEDED !important;
}

/* Multicolor group — keyed to its taxonomy value id, permanent */
.filter-swatch[class*="taxonomyvalue-2865"]{
  background: conic-gradient(#A62B2B, #C9A227, #3E6B4F, #2E4A8F, #7A5A9E, #A62B2B) !important;
}

/* Clear (entry hex #EDEDED → rgb(237 237 237)) — glass gradient */
.filter-swatch[style*="237 237 237"]{
  background: linear-gradient(135deg, #FFFFFF 0%, #E3DFD6 100%) !important;
}

/* ============================================================
   OJ: FILTER SIDEBAR — native <details> collapse, pure CSS
   Avone renders each S&D group as <details class="filters-item">
   with <summary class="filters-title">. No JS: the browser
   toggles, CSS draws the chevron + seams. Immune to S&D
   re-renders and count bubbles.
   ============================================================ */
summary.filters-title{
  cursor: pointer;
  list-style: none;
  position: relative;
  user-select: none;
  padding-right: 22px;
}
summary.filters-title::-webkit-details-marker{ display: none; }
summary.filters-title::after{
  content: "";
  position: absolute; right: 2px; top: 50%;
  width: 7px; height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
  transition: transform .2s ease;
}
details:not([open]) > summary.filters-title::after{
  transform: translateY(-40%) rotate(-135deg);
}
@media (prefers-reduced-motion: reduce){
  summary.filters-title::after{ transition: none; }
}

/* hairline seam between groups */
details.filters-item{
  border-bottom: 1px solid #E4DED2;
  padding-bottom: 16px;
  margin-bottom: 16px;
}
details.filters-item:last-of-type{ border-bottom: 0; }
details.filters-item:not([open]){ padding-bottom: 10px; }

/* Clear (taxonomy value 17) — glass gradient, keyed to its id */
.filter-swatch[class~="swatch-gid-shopify-taxonomyvalue-17"]{
  background: linear-gradient(135deg, #FFFFFF 0%, #E3DFD6 100%) !important;
}

/* ============================================================
   OJ POLICY SUITE — SITE-WIDE STYLES (custom.css)
   Port of the Heriz policy suite to the Ohr design system:
   ink→navy #1E2A44, hairline #E4DED2, stone→cream #F7F3EC,
   links gold #A8853B / hover deep gold #8F6E2F, radius 8 on
   panels. Fonts identical across stores (Cormorant + Jost).
   Shopify's policy fields strip <style> tags, so these styles
   must live here. Covers native /policies/ routes AND any
   Custom Liquid /pages/ versions.
   ============================================================ */

/* Shopify's native policy wrapper: hide its duplicate title and
   let our 820px frame breathe inside the container */
.shopify-policy__title { display: none; }
.shopify-policy__container { max-width: 100% !important; padding: 0 !important; }

#oj-policy{
  --p-ink:#1E2A44; --p-body:#3B3B3B; --p-grey:#7A7469;
  --p-gold:#A8853B; --p-goldd:#8F6E2F;
  --p-hair:#E4DED2; --p-cream:#F7F3EC;
  --p-serif:'Cormorant Garamond',Georgia,serif;
  --p-sans:'Jost',Helvetica,Arial,sans-serif;
  max-width:820px; margin:0 auto; padding:64px 24px 96px;
  font-family:var(--p-sans); font-weight:300; line-height:1.75;
  color:var(--p-body);
}
#oj-policy *,#oj-policy *::before,#oj-policy *::after{box-sizing:border-box}
/* Avone gradient reset — colours only, never layout */
#oj-policy,#oj-policy *{
  background-image:none !important;
  -webkit-text-fill-color:currentColor !important;
  background-clip:border-box !important;
}

#oj-policy .p-eyebrow{
  font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--p-gold); margin-bottom:18px;
}
#oj-policy .p-title{
  font-family:var(--p-serif); font-weight:500; color:var(--p-ink);
  font-size:clamp(34px,4.4vw,52px); line-height:1.12; margin:0 0 22px;
}
#oj-policy .p-standfirst{
  font-family:var(--p-serif); font-size:20px; line-height:1.6;
  color:var(--p-ink); margin:0 0 14px;
}
#oj-policy .p-updated{
  font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--p-grey); padding-bottom:40px; border-bottom:1px solid var(--p-hair);
  margin-bottom:56px;
}

#oj-policy h2{
  font-family:var(--p-sans); font-weight:400; color:var(--p-ink);
  font-size:13px; letter-spacing:.22em; text-transform:uppercase;
  margin:56px 0 20px; padding-top:26px; border-top:1px solid var(--p-hair);
}
#oj-policy h2:first-of-type{border-top:0; padding-top:0; margin-top:0}
#oj-policy h2 .p-num{color:var(--p-gold); margin-right:14px}
#oj-policy h3{
  font-family:var(--p-serif); font-weight:500; color:var(--p-ink);
  font-size:22px; line-height:1.3; margin:30px 0 10px;
}
#oj-policy p{margin:0 0 1.15em; font-size:16px}
#oj-policy strong{font-weight:500; color:var(--p-ink)}
#oj-policy ul,#oj-policy ol{margin:0 0 1.4em; padding-left:20px}
#oj-policy li{margin-bottom:.6em; font-size:16px}
#oj-policy li::marker{color:var(--p-gold)}
#oj-policy a{color:var(--p-gold); text-decoration:none; border-bottom:1px solid var(--p-gold)}
#oj-policy a:hover{color:var(--p-goldd); border-bottom-color:var(--p-goldd)}
#oj-policy a:focus-visible{outline:2px solid var(--p-ink); outline-offset:3px}

/* clause-numbered lists (T&Cs) */
#oj-policy .p-clauses{list-style:none; padding-left:0; margin:0 0 1.4em}
#oj-policy .p-clauses li{padding-left:42px; position:relative; margin-bottom:.9em}
#oj-policy .p-clauses li::marker{content:none}
#oj-policy .p-clauses li .p-cn{
  position:absolute; left:0; top:0; font-size:13px; color:var(--p-gold);
  letter-spacing:.04em;
}

/* statutory callout (Returns, T&Cs) */
#oj-policy .p-statute{
  border-left:1px solid var(--p-gold); padding:2px 0 2px 22px;
  margin:26px 0 30px; font-size:15px; color:var(--p-body);
}
#oj-policy .p-statute .p-ref{
  display:block; margin-top:10px; font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--p-grey);
}

/* cream callout panel (in-store / special terms) */
#oj-policy .p-panel{
  background-color:var(--p-cream); border:1px solid var(--p-hair);
  border-radius:8px;
  padding:32px 30px; margin:40px 0;
}
#oj-policy .p-panel h2{border-top:0; padding-top:0; margin-top:0}
#oj-policy .p-panel h2:first-of-type{margin-bottom:8px}
#oj-policy .p-panel .p-panel-note{
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--p-grey); margin-bottom:22px;
}

/* rate table (Shipping) — hairline ROWS only; strips theme grid */
#oj-policy .p-rates{width:100%; border-collapse:collapse; margin:14px 0 20px; font-size:15px}
#oj-policy .p-rates,
#oj-policy .p-rates tr,
#oj-policy .p-rates th,
#oj-policy .p-rates td{
  border:0 !important;
  background-color:transparent !important;
}
#oj-policy .p-rates th{
  text-align:left; font-family:var(--p-sans); font-weight:400;
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--p-grey);
  padding:0 16px 12px 0;
  border-bottom:1px solid var(--p-ink) !important;
}
#oj-policy .p-rates th:last-child{text-align:right; padding-right:0}
#oj-policy .p-rates td{
  padding:16px 16px 16px 0; vertical-align:top;
  border-bottom:1px solid var(--p-hair) !important;
}
#oj-policy .p-rates td:last-child{
  text-align:right; padding-right:0; white-space:nowrap;
  font-family:var(--p-serif); font-size:19px; color:var(--p-ink);
}
#oj-policy .p-rates .p-tier{font-weight:500; color:var(--p-ink)}
#oj-policy .p-rates .p-eg{display:block; margin-top:3px; font-size:13px; color:var(--p-grey)}

/* recipient table (Privacy) — hairline ROWS only; strips theme grid */
#oj-policy .p-table{width:100%; border-collapse:collapse; margin:8px 0 28px; font-size:15px}
#oj-policy .p-table,
#oj-policy .p-table tr,
#oj-policy .p-table th,
#oj-policy .p-table td{
  border:0 !important;
  background-color:transparent !important;
}
#oj-policy .p-table th{
  text-align:left; font-family:var(--p-sans); font-weight:400;
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--p-grey);
  padding:0 16px 12px 0;
  border-bottom:1px solid var(--p-ink) !important;
}
#oj-policy .p-table td{
  padding:14px 16px 14px 0; vertical-align:top; color:var(--p-body);
  border-bottom:1px solid var(--p-hair) !important;
}
#oj-policy .p-table td:last-child,#oj-policy .p-table th:last-child{padding-right:0}

/* free-delivery statements (Shipping) */
#oj-policy .p-free{
  border-left:1px solid var(--p-gold); padding:4px 0 4px 22px; margin:0 0 14px;
}
#oj-policy .p-free strong{font-family:var(--p-serif); font-weight:500; font-size:18px}

/* contact panel (all pages) */
#oj-policy .p-contact{
  background-color:var(--p-cream); border:1px solid var(--p-hair);
  border-radius:8px;
  padding:36px 32px; margin-top:64px;
}
#oj-policy .p-contact h2{margin:0 0 22px; border-top:0; padding-top:0}
#oj-policy .p-contact .p-name{
  font-family:var(--p-serif); font-size:22px; color:var(--p-ink); margin-bottom:4px;
}
#oj-policy .p-contact dl{margin:20px 0 0; font-size:15px}
#oj-policy .p-contact dt{
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--p-grey); margin-top:16px;
}
#oj-policy .p-contact dd{margin:3px 0 0}
#oj-policy .p-hours{margin-top:4px; line-height:1.9}

@media (max-width:600px){
  #oj-policy{padding:44px 20px 72px}
  #oj-policy .p-updated{margin-bottom:40px; padding-bottom:30px}
  #oj-policy h2{margin:42px 0 16px; padding-top:22px}
  #oj-policy .p-panel,#oj-policy .p-contact{padding:26px 20px}
  #oj-policy .p-clauses li{padding-left:36px}
  #oj-policy .p-rates td:last-child{font-size:17px}
  /* Privacy recipient table stacks on mobile */
  #oj-policy .p-table,#oj-policy .p-table tbody,#oj-policy .p-table tr,#oj-policy .p-table td{display:block; width:100%}
  #oj-policy .p-table thead{display:none}
  #oj-policy .p-table td{padding:4px 0; border-bottom:0 !important}
  #oj-policy .p-table tr{padding:14px 0; border-bottom:1px solid #E4DED2 !important}
  #oj-policy .p-table td:first-child{font-weight:500; color:var(--p-ink)}
}
/* ======================== end OJ policy suite ======================== */

/* Contact page info box — rounded per Ohr radius system */
.group-bk.bg-custom{
  border-radius: 8px;
  overflow: hidden;
}


/* ============================================================
   OJ: AVAILABILITY — "the light is lit"
   Flame + line only when the light is actually lit (.instock /
   .lowstock — low reads identically to in stock by design).
   Sold out (.outstock) = no flame, muted honest line.
   State classes come from the Quantity-message block's Liquid
   (fixed to treat tracked qty<=0 as outstock, since 'continue'
   policy keeps variant.available true at zero stock).
   Deliberate exception to the no-motion rule: a candle
   flickering is literal, not decorative. Reduced motion covered.
   No quantity, no urgency. Theme inventory block kept as
   anchor + state source only.
   ============================================================ */
[id^="Inventory-template"] .stock-lbl{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: none !important;
  background-color: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
[id^="Inventory-template"] .stock-lbl > span{
  display: none !important;   /* silence the theme's own text/qty */
}

/* the flame — SVG over a tight candleglow, flickering; lit states only */
[id^="Inventory-template"].instock .stock-lbl::before,
[id^="Inventory-template"].lowstock .stock-lbl::before{
  content: "";
  width: 16px; height: 18px;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23E8CD7A'/%3E%3Cstop offset='.5' stop-color='%23C9A227'/%3E%3Cstop offset='1' stop-color='%238F6E2F'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M10 0 C10 7 2 10 2 18 C2 23.5 5.6 28 10 28 C14.4 28 18 23.5 18 18 C18 10 10 7 10 0 Z'/%3E%3C/svg%3E"),
    radial-gradient(circle at 50% 42%, rgba(232,205,122,.55) 0%, rgba(201,162,39,.22) 32%, rgba(201,162,39,0) 55%) !important;
  background-size: 10px 14px, 16px 16px;
  background-repeat: no-repeat;
  background-position: center, center 40%;
  filter: drop-shadow(0 0 3px rgba(201,162,39,.5));
  flex-shrink: 0;
  margin-left: -2px;   /* glow canvas slightly wider than the flame — keeps text alignment */
  animation: oj-flicker 3s ease-in-out infinite;
}

/* visible light-then-dark, irregular so it never metronomes */
@keyframes oj-flicker{
  0%   { opacity: 1;   filter: drop-shadow(0 0 4px rgba(201,162,39,.55)); }
  22%  { opacity: .72; filter: drop-shadow(0 0 1px rgba(201,162,39,.25)); }
  38%  { opacity: .96; filter: drop-shadow(0 0 5px rgba(201,162,39,.6)); }
  55%  { opacity: .8;  filter: drop-shadow(0 0 2px rgba(201,162,39,.3)); }
  70%  { opacity: 1;   filter: drop-shadow(0 0 4px rgba(201,162,39,.55)); }
  85%  { opacity: .78; filter: drop-shadow(0 0 1px rgba(201,162,39,.25)); }
  100% { opacity: 1;   filter: drop-shadow(0 0 4px rgba(201,162,39,.55)); }
}
@media (prefers-reduced-motion: reduce){
  [id^="Inventory-template"].instock .stock-lbl::before,
  [id^="Inventory-template"].lowstock .stock-lbl::before{ animation: none; }
}

/* the line — lit states */
[id^="Inventory-template"].instock .stock-lbl::after,
[id^="Inventory-template"].lowstock .stock-lbl::after{
  content: "In Stock — Ready to Ship";
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #1E2A44;
  -webkit-text-fill-color: #1E2A44;
}

/* the line — sold out: no flame, muted, honest */
[id^="Inventory-template"].outstock .stock-lbl::after{
  content: "Currently Sold Out";
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #7A7469;
  -webkit-text-fill-color: #7A7469;
}

/* Product card thumbnails — show the whole image, no side crop */
.gitem .product-img img,
.gitem .img-fit,
.gitem picture img {
  object-fit: contain !important;
}

/* Hide page & article results in search — TEMPORARY, see handover */
#search-results .gitem:has(a[href^="/pages/"]),
#search-results .gitem:has(a[href^="/blogs/"]){ display:none !important; }
</parameter>