/* =====================================================================================================================
   Site header (Templates > Theme Builder > Header > "Site Header"; build/pro/header.php, inc/pro/header.php).
   Full width (the logo and the icons 40px from the window's edges), charcoal, the top bar's four facts, the lotus
   wordmark, the menu in the middle with kailash-style panels in the site's own look: an ivory list of types on the
   left (the one shown in gold with a small arrow), compact white product cards on the right, a thin gold line on top.
   On pages that open with a photograph (body.bj-has-hero) the main row floats over it; it stays at the top when you
   scroll (Elementor's Sticky), solid charcoal and a little shorter.
   The words, links, pictures and queries are all widget settings; this file only gives them the site's look.
   ===================================================================================================================== */

:root {
	--bj-hd-side: 40px;
	--header-sticky-height: 72px;   /* the sticky row's height: other sticky parts (legal menu, cart summary) sit below it */
}
@media (max-width: 1024px) {
	:root { --bj-head-h: 72px; --bj-hd-side: 24px; }
}
@media (max-width: 767px) {
	:root { --bj-hd-side: 22px; }
}

/* ---------------------------------------------------------------- frame */
.elementor-location-header { position: relative; }
.e-con.bj-hd { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; position: relative; }
.e-con.bj-hd .e-con.bj-hd__top, .e-con.bj-hd .e-con.bj-hd__main { --flex-wrap: nowrap; flex-wrap: nowrap !important; }

/* ---------------------------------------------------------------- top bar: four quiet facts */
.e-con.bj-hd__top { --min-height: 40px; }
.bj-hd__facts { width: 100%; }
.bj-hd__facts .elementor-icon-list-items { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: 0 46px; width: 100%; margin: 0 !important; padding: 0 !important; }
.bj-hd__facts .elementor-icon-list-item { display: flex !important; align-items: center; margin: 0 !important; padding: 0 !important; white-space: nowrap; }
.bj-hd__facts .elementor-icon-list-item::after { display: none !important; }
.bj-hd__facts .elementor-icon-list-item:last-child { margin-left: auto !important; }
.bj-hd__facts .elementor-icon-list-item > a { display: flex !important; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.bj-hd__facts .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: var(--bj-gold) !important; }
.bj-hd__facts .elementor-icon-list-icon { display: inline-flex; margin-right: 10px; }
.bj-hd__facts .elementor-icon-list-item > a .elementor-icon-list-icon { margin-right: 0; }
.bj-hd__facts .elementor-icon-list-icon svg { width: 19px !important; height: 19px !important; color: var(--bj-gold); }
.bj-hd__facts .elementor-icon-list-text { padding: 0 !important; font-family: var(--bj-sans); font-size: 13.5px; line-height: 1; color: var(--bj-on-dark); }
@media (max-width: 1099px) { .bj-hd__facts .elementor-icon-list-item:nth-child(2) { display: none !important; } }
@media (max-width: 899px) {
	.bj-hd__facts .elementor-icon-list-items { justify-content: center; }
	.bj-hd__facts .elementor-icon-list-item:not(:first-child) { display: none !important; }
}

/* ---------------------------------------------------------------- main row */
.e-con.bj-hd__main { position: relative; z-index: 40; transition: min-height .25s var(--bj-ease), background-color .25s var(--bj-ease), box-shadow .25s var(--bj-ease); }
.e-con.bj-hd__main.elementor-sticky--effects { --min-height: 72px; box-shadow: 0 14px 34px -22px rgba(0, 0, 0, .65); }
/* over the opening photograph: the row floats (the top bar keeps its place above it) and lets the photo show through */
.bj-has-hero .e-con.bj-hd__main { position: absolute; top: 100%; left: 0; right: 0; }
.bj-has-hero .e-con.bj-hd__main:not(.elementor-sticky--active) { background-color: transparent !important; }
.bj-has-hero .e-con.bj-hd__main.elementor-sticky__spacer { visibility: hidden; }
/* the three parts: logo and icons share the room either side, so the menu sits in the exact middle */
.e-con.bj-hd__brand, .e-con.bj-hd__icons { flex: 1 1 0 !important; min-width: 0; width: auto !important; }
.e-con.bj-hd__icons { align-self: stretch !important; --padding-top: 0px; --padding-bottom: 0px; }
.e-con.bj-hd__brand { --padding-top: 0px; --padding-bottom: 0px; }
.bj-hd__logo { line-height: 0; }
.bj-hd__logo a { display: inline-block; }
.bj-hd__logo img { display: block; max-width: 100% !important; height: auto !important; }
.bj-hd__logo a:focus-visible { outline-offset: 6px; }

/* ---------------------------------------------------------------- icons: white, gold on hover */
.bj-hd__icon .elementor-icon-wrapper { display: flex; line-height: 0; }
.bj-hd__icon .elementor-icon { display: grid !important; place-items: center; width: 27px; height: 27px; font-size: 27px !important; color: #fff !important; fill: none !important; transition: color .2s var(--bj-ease); }
.bj-hd__icon .elementor-icon svg { width: 27px !important; height: 27px !important; }
.bj-hd__icon .elementor-icon:hover, .bj-hd__icon .elementor-icon:focus-visible { color: var(--bj-gold) !important; }
@media (max-width: 1024px) {
	.bj-hd__icon .elementor-icon, .bj-hd__icon .elementor-icon svg { width: 25px !important; height: 25px !important; }
}
@media (max-width: 767px) {
	.bj-hd__icon .elementor-icon, .bj-hd__icon .elementor-icon svg { width: 24px !important; height: 24px !important; }
	/* a bigger tap area without moving anything */
	.bj-hd__icons .elementor-icon, .bj-hd__cart .elementor-menu-cart__toggle_button { position: relative; }
	.bj-hd__icons .elementor-icon::after, .bj-hd__cart .elementor-menu-cart__toggle_button::after { content: ""; position: absolute; inset: -10px; }
}

/* ---------------------------------------------------------------- the menu (Elementor "Menu" widget) */
/* every part as tall as the row, so a panel starts exactly at the row's lower edge and the pointer never falls into a gap */
.bj-mm { align-self: stretch !important; flex: 0 0 auto !important; }
.bj-mm > .elementor-widget-container, .bj-mm .e-n-menu, .bj-mm .e-n-menu-wrapper, .bj-mm .e-n-menu-heading { height: 100%; }
.bj-mm .e-n-menu-heading { flex-wrap: nowrap !important; align-items: stretch; }
.bj-mm .e-n-menu-item { align-items: stretch; }
.bj-mm .e-n-menu-title { height: 100%; gap: 6px; }
.bj-mm .e-n-menu-title-text { font-family: var(--bj-sans) !important; font-size: 16px !important; font-weight: 500 !important; letter-spacing: 0; white-space: nowrap; }
.bj-mm .e-n-menu-item:hover > .e-n-menu-title .e-n-menu-title-text,
.bj-mm .e-n-menu-item:focus-within > .e-n-menu-title .e-n-menu-title-text { color: var(--bj-gold) !important; }
/* here: gold, with the gold line under it (also Shop on product and type pages, Collections on intention/symbol/stone
   pages, Blog on posts: body classes from inc/pro/header.php) */
.bj-mm .e-n-menu-title.e-current .e-n-menu-title-text,
body.bj-nav-shop .bj-mm #bj-mm-shop .e-n-menu-title-text,
body.bj-nav-collections .bj-mm #bj-mm-collections .e-n-menu-title-text,
body.bj-nav-blog .bj-mm #bj-mm-blog .e-n-menu-title-text { color: var(--bj-gold) !important; text-decoration: underline 2px var(--bj-gold); text-underline-offset: 13px; }
/* the small chevron after Shop and Collections; it turns over when the panel is open */
.bj-mm .e-n-menu-dropdown-icon { width: auto !important; height: auto !important; margin: 0 !important; color: inherit; }
.bj-mm .e-n-menu-dropdown-icon svg { width: 10px !important; height: 10px !important; fill: none !important; stroke: currentColor !important; transition: transform .25s var(--bj-ease); }
.bj-mm .e-n-menu-dropdown-icon-opened svg { transform: rotate(180deg); }
.bj-mm .e-n-menu-title:not(.e-current) .e-n-menu-dropdown-icon { color: var(--bj-on-dark); }
.bj-mm .e-n-menu-item:hover .e-n-menu-dropdown-icon { color: var(--bj-gold); }

/* ---------------------------------------------------------------- mega panels */
.bj-mm .e-n-menu-content > .e-con { box-shadow: 0 34px 60px -34px rgba(26, 26, 26, .5); }
.e-con.bj-mm-panel { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.bj-mm-panel, .bj-mm-panel p { text-align: left; }

/* Nested Tabs: the list on the left (ivory), the pieces on the right */
.bj-mm-tabs { width: 100%; }
.bj-mm-tabs .e-n-tabs { gap: 0 !important; --n-tabs-gap: 0px; }
.bj-mm-tabs .e-n-tabs-heading { flex: 0 0 auto; width: calc(var(--bj-hd-side) + 280px) !important; padding: 26px 20px 30px var(--bj-hd-side) !important; gap: 2px !important; background: var(--bj-ivory); border-right: 1px solid var(--bj-line); }
.bj-mm-tabs .e-n-tab-title { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 12px; width: 100% !important; margin: 0 !important; padding: 11px 14px 11px 16px !important; border: 0 !important; border-radius: 3px !important; background: transparent !important; box-shadow: none !important; color: var(--bj-text) !important; cursor: pointer; transition: background-color .2s var(--bj-ease), color .2s var(--bj-ease); }
.bj-mm-tabs .e-n-tab-title .e-n-tab-title-text { font-family: var(--bj-sans) !important; font-size: 15.5px !important; font-weight: 500 !important; line-height: 1.3 !important; color: inherit !important; text-align: left; }
.bj-mm-tabs .e-n-tab-title::after { content: ""; flex: none; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; opacity: 0; transform: translateX(-4px); transition: opacity .2s var(--bj-ease), transform .2s var(--bj-ease); }
.bj-mm-tabs .e-n-tab-title:hover { color: var(--bj-charcoal) !important; background: rgba(255, 255, 255, .6) !important; }
.bj-mm-tabs .e-n-tab-title[aria-selected="true"] { color: var(--bj-gold-text) !important; background: #fff !important; box-shadow: inset 2px 0 0 var(--bj-gold), 0 1px 2px rgba(26, 26, 26, .05) !important; }
.bj-mm-tabs .e-n-tab-title[aria-selected="true"]::after { opacity: 1; transform: none; }
.bj-mm-tabs .e-n-tab-title:focus-visible { outline: 2px solid var(--bj-gold); outline-offset: -2px; }
.bj-mm-tabs .e-n-tabs-content { flex: 1 1 auto; min-width: 0; }
.bj-mm-tabs .e-n-tabs-content > .e-con { max-width: 1240px; --padding-right: var(--bj-hd-side); }

/* the tab's title row: serif name, gold "View all →" */
.e-con.bj-mm-tab__head { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; flex-wrap: nowrap !important; }
.bj-mm-tab__title .elementor-heading-title { margin: 0; font-family: var(--bj-serif) !important; font-size: 1.75rem !important; font-weight: 500 !important; line-height: 1.1 !important; color: var(--bj-charcoal) !important; }
.bj-mm-all { flex: none; }
.bj-mm-all .elementor-button, .bj-mm-panel .bj-mm-all .elementor-button { display: inline-flex !important; padding: 0 !important; color: var(--bj-gold-text) !important; background: none !important; box-shadow: none !important; font-size: 14.5px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
.bj-mm-all .elementor-button:hover, .bj-mm-all .elementor-button:focus-visible { color: var(--bj-charcoal) !important; background: none !important; }
.bj-mm-all.bj-btn-arrow .elementor-button .elementor-button-text::after { display: inline-block; transition: transform .3s var(--bj-ease); }
.bj-mm-all.bj-btn-arrow .elementor-button:hover .elementor-button-text::after { transform: translateX(3px); }

/* compact product cards (not the shop's big ones): photo, short name, price; the round cart button and badges stay on
   the shop pages */
.bj-mm-cards { width: 100%; }
.bj-mm-cards .woocommerce { width: 100%; }
.bj-mm-cards ul.products { display: grid !important; grid-template-columns: repeat(var(--bj-mm-cols, 4), minmax(0, 1fr)) !important; gap: 18px !important; margin: 0 !important; padding: 0 !important; }
.bj-mm-feature .bj-mm-cards ul.products { --bj-mm-cols: 3; }
.bj-mm-cards ul.products li.product { display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; text-align: left !important; width: auto !important; margin: 0 !important; padding: 0 0 14px !important; background: #fff; border: 1px solid var(--bj-line); border-radius: 4px; overflow: hidden; transform: none; }
.bj-mm-cards ul.products li.product:hover { border-color: transparent; box-shadow: var(--bj-shadow); transform: translateY(-2px); }
.bj-mm-cards ul.products li.product > figure { margin: 0 !important; }
.bj-mm-cards ul.products li.product .ct-media-container { display: block; background: var(--bj-well); }
.bj-mm-cards ul.products li.product .ct-media-container img { display: block; width: 100%; height: auto !important; aspect-ratio: 4 / 3 !important; object-fit: cover; }
.bj-mm-cards ul.products li.product .woocommerce-loop-product__title { margin: 12px 14px 4px !important; padding: 0 !important; font-family: var(--bj-sans) !important; font-size: 14.5px !important; font-weight: 500 !important; line-height: 1.35 !important; color: var(--bj-charcoal) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bj-mm-cards ul.products li.product .woocommerce-loop-product__title a { color: inherit !important; text-decoration: none; }
.bj-mm-cards ul.products li.product .woocommerce-loop-product__title a:hover { color: var(--bj-gold-text) !important; }
.bj-mm-cards ul.products li.product > .price { align-self: flex-start !important; text-align: left !important; margin: auto 14px 0 !important; padding-top: 2px; font-size: 15px !important; font-weight: 700; line-height: 1.3; color: var(--bj-charcoal) !important; }
.bj-mm-cards ul.products li.product > .price del { margin-right: 5px; font-size: 13px; font-weight: 400; color: var(--bj-muted); }
.bj-mm-cards ul.products li.product .ct-woo-card-actions, .bj-mm-cards ul.products li.product .bj-badge, .bj-mm-cards ul.products li.product .star-rating { display: none !important; }

/* Collections: the group's links in two columns beside three pieces */
.e-con.bj-mm-tab--col { flex-wrap: nowrap !important; }
.e-con.bj-mm-links { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; flex: 0 0 40%; }
.e-con.bj-mm-feature { flex: 1 1 0; min-width: 0; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.bj-mm-list .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 0 !important; padding: 0 !important; }
.bj-mm-list .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--bj-line); }
.bj-mm-list .elementor-icon-list-item::after { display: none !important; }
.bj-mm-list .elementor-icon-list-item > a { display: flex !important; align-items: center; min-height: 40px; color: var(--bj-text) !important; text-decoration: none; }
.bj-mm-list .elementor-icon-list-icon { display: none !important; }
.bj-mm-list .elementor-icon-list-text { padding: 0 !important; font-family: var(--bj-sans); font-size: 15px; font-weight: 500; color: inherit !important; transition: color .2s var(--bj-ease), transform .2s var(--bj-ease); }
.bj-mm-list .elementor-icon-list-item > a:hover .elementor-icon-list-text, .bj-mm-list .elementor-icon-list-item > a:focus-visible .elementor-icon-list-text { color: var(--bj-gold-text) !important; transform: translateX(3px); }

/* ---------------------------------------------------------------- account (signed in: a small charcoal dropdown) */
.bj-acct { align-self: stretch !important; flex: 0 0 auto !important; }
.bj-acct > .elementor-widget-container, .bj-acct .e-n-menu, .bj-acct .e-n-menu-wrapper, .bj-acct .e-n-menu-heading { height: 100%; }
.bj-acct .e-n-menu-heading { align-items: stretch; }
.bj-acct .e-n-menu-item { align-items: stretch; }
.bj-acct .e-n-menu-title { height: 100%; padding: 0 !important; }
.bj-acct .e-n-menu-title-container { gap: 0 !important; color: #fff; }
.bj-acct .e-n-menu-title-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bj-acct .e-n-menu-icon { color: #fff; transition: color .2s var(--bj-ease); }
.bj-acct .e-n-menu-icon svg { width: 27px !important; height: 27px !important; }
.bj-acct .e-n-menu-item:hover .e-n-menu-icon, .bj-acct .e-n-menu-item:focus-within .e-n-menu-icon { color: var(--bj-gold); }
.bj-acct .e-n-menu-dropdown-icon { display: none !important; }
.bj-acct .e-n-menu-content > .e-con { min-width: 270px; border-radius: 0 0 4px 4px; box-shadow: 0 22px 44px -20px rgba(0, 0, 0, .6) !important; }
.e-con.bj-acct__panel, .e-con.bj-acct__panel .e-con { flex-wrap: nowrap !important; }
.e-con.bj-acct__who { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; min-width: 0; }
.bj-acct__avatar { flex: none; width: 44px; }
.bj-acct__avatar img { display: block; width: 44px !important; height: 44px !important; max-width: none !important; object-fit: cover; border-radius: 50% !important; }
.bj-acct__name .elementor-heading-title { margin: 0; font-family: var(--bj-sans) !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.3 !important; color: #fff !important; }
.bj-acct__email .elementor-heading-title { margin: 0; font-family: var(--bj-sans) !important; font-size: 13.5px !important; font-weight: 400 !important; line-height: 1.3 !important; color: var(--bj-on-dark-muted) !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 190px; }
.bj-acct__rule .elementor-divider { padding: 4px 0 !important; }
.bj-acct__rule .elementor-divider-separator { border-top-color: rgba(244, 243, 241, .14) !important; }
.bj-acct__links .elementor-icon-list-items { margin: 0 !important; padding: 0 !important; }
.bj-acct__links .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.bj-acct__links .elementor-icon-list-item::after { display: none !important; }
.bj-acct__links .elementor-icon-list-icon { display: none !important; }
.bj-acct__links .elementor-icon-list-item > a { display: flex !important; min-height: 40px; align-items: center; padding: 0 22px; text-decoration: none; }
.bj-acct__links .elementor-icon-list-text { padding: 0 !important; font-family: var(--bj-sans); font-size: 15px; color: #e6e2dc !important; transition: color .2s var(--bj-ease); }
.bj-acct__links .elementor-icon-list-item > a:hover .elementor-icon-list-text, .bj-acct__links .elementor-icon-list-item > a:focus-visible .elementor-icon-list-text { color: var(--bj-gold) !important; }

/* ---------------------------------------------------------------- cart: the icon with a gold count */
.bj-hd__cart { flex: 0 0 auto !important; }
.bj-hd__cart .elementor-menu-cart__toggle { line-height: 0; }
.bj-hd__cart .elementor-menu-cart__toggle .elementor-button,
.bj-hd__cart .elementor-menu-cart__toggle_button { display: inline-flex !important; align-items: center; gap: 0 !important; padding: 0 !important; color: #fff !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font-size: 27px !important; line-height: 1 !important; }
.bj-hd__cart .elementor-menu-cart__toggle .elementor-button-text { display: none !important; }
.bj-hd__cart .elementor-menu-cart__toggle .elementor-button-icon { position: relative; display: grid; place-items: center; color: inherit; transition: color .2s var(--bj-ease); }
.bj-hd__cart .elementor-menu-cart__toggle .elementor-button-icon svg { width: 27px !important; height: 27px !important; fill: none !important; }
.bj-hd__cart .elementor-menu-cart__toggle_button:hover .elementor-button-icon, .bj-hd__cart .elementor-menu-cart__toggle_button:focus-visible .elementor-button-icon { color: var(--bj-gold); }
.bj-hd__cart .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty[data-counter] { display: grid !important; place-items: center; top: -7px !important; right: -9px !important; inset-inline-end: -9px !important; min-width: 19px !important; height: 19px !important; padding: 0 5px; border-radius: 10px !important; font-family: var(--bj-sans); font-size: 11px !important; font-weight: 700; line-height: 1 !important; color: var(--bj-charcoal) !important; background: var(--bj-gold) !important; }
@media (max-width: 1024px) { .bj-hd__cart .elementor-menu-cart__toggle .elementor-button-icon svg { width: 25px !important; height: 25px !important; } }
@media (max-width: 767px) { .bj-hd__cart .elementor-menu-cart__toggle .elementor-button-icon svg { width: 24px !important; height: 24px !important; } }

/* the cart panel (Elementor's side cart), restyled as the site's charcoal mini cart */
.bj-hd__cart .elementor-menu-cart__container { background-color: rgba(10, 10, 10, .55) !important; }
.bj-hd__cart .elementor-menu-cart__main { width: min(400px, 92vw); padding: 64px 24px 24px !important; color: #e6e2dc; background: var(--bj-charcoal) !important; border-left: 2px solid var(--bj-gold); box-shadow: -24px 0 60px -24px rgba(0, 0, 0, .7) !important; font-family: var(--bj-sans); }
.bj-hd__cart .elementor-menu-cart__close-button, .bj-hd__cart .elementor-menu-cart__close-button-custom { position: absolute !important; top: 14px; right: 16px; display: grid !important; place-items: center; width: 40px !important; height: 40px !important; margin: 0 !important; color: #f4f3f1; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; cursor: pointer; transition: color .2s var(--bj-ease), border-color .2s var(--bj-ease); }
.bj-hd__cart .elementor-menu-cart__close-button-custom svg { width: 14px !important; height: 14px !important; fill: none !important; }
.bj-hd__cart .elementor-menu-cart__close-button-custom:hover { color: var(--bj-gold); border-color: var(--bj-gold); }
.bj-hd__cart .elementor-menu-cart__products { margin: 0; overflow-y: auto; }
.bj-hd__cart .elementor-menu-cart__product { grid-template-columns: 72px minmax(0, 1fr) !important; column-gap: 16px; padding: 18px 30px 18px 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .1) !important; }
.bj-hd__cart .elementor-menu-cart__product:first-child { padding-top: 0 !important; }
.bj-hd__cart .elementor-menu-cart__product-image { width: 72px; }
.bj-hd__cart .elementor-menu-cart__product-image img { width: 72px !important; height: 72px !important; object-fit: cover; border-radius: 4px; background: #fff; }
.bj-hd__cart .elementor-menu-cart__product-name, .bj-hd__cart .elementor-menu-cart__product-price { padding-inline-start: 0 !important; }
.bj-hd__cart .elementor-menu-cart__product-name a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; font-weight: 500; line-height: 1.4; color: #fff !important; text-decoration: none; }
.bj-hd__cart .elementor-menu-cart__product-name a:hover { color: var(--bj-gold) !important; }
.bj-hd__cart .elementor-menu-cart__product-name .variation { color: #a9a39e; font-size: 13px; }
.bj-hd__cart .elementor-menu-cart__product-price { align-self: start !important; margin-top: 6px; font-size: 14px; font-weight: 400; color: #a9a39e !important; }
.bj-hd__cart .elementor-menu-cart__product-price .amount { font-weight: 600; color: #fff; }
.bj-hd__cart .elementor-menu-cart__product-remove { top: 18px; bottom: auto !important; width: 20px !important; height: 20px !important; border-color: rgba(255, 255, 255, .25) !important; }
.bj-hd__cart .elementor-menu-cart__product:first-child .elementor-menu-cart__product-remove { top: 0; }
.bj-hd__cart .elementor-menu-cart__product-remove::before, .bj-hd__cart .elementor-menu-cart__product-remove::after { background: #a9a39e !important; }
.bj-hd__cart .elementor-menu-cart__product-remove:hover { border-color: var(--bj-gold) !important; }
.bj-hd__cart .elementor-menu-cart__product-remove:hover::before, .bj-hd__cart .elementor-menu-cart__product-remove:hover::after { background: var(--bj-gold) !important; }
.bj-hd__cart .elementor-menu-cart__subtotal { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding: 16px 0 !important; border-top: 1px solid rgba(255, 255, 255, .12); border-bottom: 1px solid rgba(255, 255, 255, .12); font-size: 15px; color: #fff; }
.bj-hd__cart .elementor-menu-cart__subtotal strong { font-weight: 400; color: #c9c4bd; }
.bj-hd__cart .elementor-menu-cart__subtotal .amount { font-size: 17px; font-weight: 700; color: #fff; }
.bj-hd__cart .elementor-menu-cart__footer-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; padding-top: 18px !important; }
.bj-hd__cart .elementor-menu-cart__footer-buttons .elementor-button { display: grid !important; place-items: center; height: 46px; margin: 0 !important; padding: 0 12px !important; border-radius: 3px !important; font-size: 15px !important; font-weight: 600 !important; color: #fff !important; background: transparent !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .85) !important; }
.bj-hd__cart .elementor-menu-cart__footer-buttons .elementor-button:hover { color: var(--bj-charcoal) !important; background: #fff !important; }
.bj-hd__cart .elementor-menu-cart__footer-buttons .elementor-button--checkout { color: var(--bj-charcoal) !important; background: var(--bj-gold) !important; box-shadow: none !important; }
.bj-hd__cart .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover { background: var(--bj-gold-hover) !important; }
.bj-hd__cart .woocommerce-mini-cart__empty-message { margin: 0; font-size: 15px; color: #c9c4bd !important; }

/* ---------------------------------------------------------------- Off-Canvas windows: search and the phone menu */
.bj-oc .e-off-canvas__content { box-shadow: none !important; }
.bj-oc__close .elementor-icon { display: grid !important; place-items: center; width: 44px !important; height: 44px !important; color: #f4f3f1 !important; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; transition: color .2s var(--bj-ease), border-color .2s var(--bj-ease); }
.bj-oc__close .elementor-icon svg { width: 15px !important; height: 15px !important; }
.bj-oc__close .elementor-icon:hover, .bj-oc__close .elementor-icon:focus-visible { color: var(--bj-gold) !important; border-color: var(--bj-gold); }

/* the search window: dark, a big serif field with a gold button, the matching pieces under it */
.bj-hd-searchwin .e-off-canvas__content { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.e-con.bj-srch { position: relative; justify-content: flex-start !important; padding-top: max(96px, 24vh) !important; }
.bj-srch > .bj-oc__close { position: absolute !important; top: 20px; right: 24px; }
.bj-srch__eyebrow .elementor-heading-title { margin: 0; font-family: var(--bj-caps) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .26em; line-height: 1 !important; text-transform: uppercase; color: var(--bj-gold) !important; text-align: center; }
.bj-srch__form { width: min(860px, 100%) !important; max-width: 100%; }
.bj-srch__form .e-search, .bj-pm__search .e-search { opacity: 1 !important; visibility: visible !important; }
.bj-srch__form .e-search-form, .bj-pm__search .e-search-form { position: relative; align-items: center; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .18); border-radius: 6px; transition: border-color .2s var(--bj-ease); }
.bj-srch__form .e-search-form { height: 64px; }
.bj-srch__form .e-search-form:focus-within, .bj-pm__search .e-search-form:focus-within { border-color: var(--bj-gold); }
.bj-srch__form .e-search-input-wrapper, .bj-pm__search .e-search-input-wrapper { height: 100%; }
.bj-srch__form .e-search-input, .bj-pm__search .e-search-input { height: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 44px 0 20px !important; color: #fff !important; background: none !important; border: 0 !important; box-shadow: none !important; outline: none; }
.bj-srch__form .e-search-input { font-family: var(--bj-serif) !important; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem) !important; font-weight: 500; }
.bj-srch__form .e-search-input::placeholder, .bj-pm__search .e-search-input::placeholder { color: rgba(244, 243, 241, .5) !important; }
.bj-srch__form .e-search-input-wrapper > svg, .bj-pm__search .e-search-input-wrapper > svg { width: 14px !important; height: 14px !important; color: rgba(244, 243, 241, .6); fill: none !important; }
.bj-srch__form .e-search-submit, .bj-pm__search .e-search-submit { display: grid !important; place-items: center; flex: none; margin: 0 6px 0 0 !important; padding: 0 !important; color: var(--bj-charcoal) !important; background: var(--bj-gold) !important; border: 0 !important; border-radius: 4px !important; transition: background-color .2s var(--bj-ease); }
.bj-srch__form .e-search-submit { width: 52px !important; height: 52px !important; }
.bj-srch__form .e-search-submit svg, .bj-pm__search .e-search-submit svg { width: 22px !important; height: 22px !important; margin: 0 !important; fill: none !important; color: var(--bj-charcoal); }
.bj-srch__form .e-search-submit:hover, .bj-pm__search .e-search-submit:hover { background: var(--bj-gold-hover) !important; }
/* the results: below the field, over the window's dark ground */
.bj-srch__form .e-search-results-container, .bj-pm__search .e-search-results-container { position: absolute !important; top: calc(100% + 18px) !important; left: -1px !important; right: -1px !important; width: auto !important; background: transparent !important; z-index: 5; }
.bj-srch__form .e-search-results-container > div, .bj-pm__search .e-search-results-container > div { padding: 0 !important; border: 0 !important; background: #101010 !important; }
.bj-srch__form .e-search-results-container > div { max-height: calc(100vh - max(96px, 24vh) - 200px); overflow-y: auto; }
.bj-srch__form .e-search-results-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 6px 24px !important; }
.bj-srch__form .e-search-nothing-found-message, .bj-pm__search .e-search-nothing-found-message { padding: 14px 0 !important; font-size: 16px; text-align: center; color: rgba(244, 243, 241, .75) !important; }
.bj-srch__form .e-search-loader svg, .bj-pm__search .e-search-loader svg { fill: var(--bj-gold) !important; }
/* while results show, the "Or browse" line steps aside */
.bj-srch:has(.e-search-results-list) .bj-srch__browse { visibility: hidden; }
.e-con.bj-srch__browse { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; margin-top: 6px; }
.bj-srch__label .elementor-heading-title { margin: 0; font-family: var(--bj-sans) !important; font-size: 14px !important; font-weight: 500 !important; color: rgba(244, 243, 241, .6) !important; }
.bj-srch__links .elementor-icon-list-items { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 8px 10px; margin: 0 !important; }
.bj-srch__links .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.bj-srch__links .elementor-icon-list-item::after { display: none !important; }
.bj-srch__links .elementor-icon-list-icon { display: none !important; }
.bj-srch__links .elementor-icon-list-item > a { display: inline-flex !important; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid rgba(203, 167, 103, .45); border-radius: 18px; text-decoration: none; transition: border-color .2s var(--bj-ease), background-color .2s var(--bj-ease); }
.bj-srch__links .elementor-icon-list-text { padding: 0 !important; font-family: var(--bj-sans); font-size: 14px; font-weight: 500; color: #f1eee9 !important; }
.bj-srch__links .elementor-icon-list-item > a:hover, .bj-srch__links .elementor-icon-list-item > a:focus-visible { border-color: var(--bj-gold); background: rgba(203, 167, 103, .12); }

/* one search result (Loop Item "Header search result"): photo, short name, price */
.e-con.bj-sr { --padding-top: 10px; --padding-right: 10px; --padding-bottom: 10px; --padding-left: 10px; flex-wrap: nowrap !important; border-radius: 6px; color: #f1eee9; text-decoration: none; transition: background-color .2s var(--bj-ease); }
.e-con.bj-sr:hover, .e-con.bj-sr:focus-visible { background: rgba(255, 255, 255, .05); }
.bj-sr__img { flex: none; width: 64px; }
.bj-sr__img img { display: block; width: 64px !important; height: 64px !important; max-width: none !important; object-fit: cover; border-radius: 6px; background: #fff; }
.e-con.bj-sr__words { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; min-width: 0; }
.bj-sr__name .elementor-heading-title { margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-family: var(--bj-sans) !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.4 !important; color: #f1eee9 !important; transition: color .2s var(--bj-ease); }
.e-con.bj-sr:hover .bj-sr__name .elementor-heading-title { color: var(--bj-gold) !important; }
.bj-sr__price .price { margin: 0 !important; font-family: var(--bj-sans); font-size: 14px !important; font-weight: 600; color: var(--bj-gold) !important; }
.bj-sr__price .price del { margin-right: 5px; font-weight: 400; color: rgba(244, 243, 241, .5) !important; }
.bj-sr__price .price ins { text-decoration: none; }

/* the phone menu: brand and search on top, serif items with dividers, gold arrow circles, quick links, the gold button */
.e-con.bj-pm { --padding-top: 0px; --padding-right: 0px; --padding-left: 0px; flex-wrap: nowrap !important; }
.e-con.bj-pm__top { border-bottom: 1px solid rgba(255, 255, 255, .08); }
.e-con.bj-pm__brand { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; flex-wrap: nowrap !important; margin-right: -10px; }
.bj-pm__logo { line-height: 0; }
.bj-pm__logo img { display: block; height: auto !important; }
.bj-pm__search .e-search-form { height: 48px; }
.bj-pm__search .e-search-input { padding: 0 40px 0 14px !important; font-family: var(--bj-sans) !important; font-size: 16px !important; }
.bj-pm__search .e-search-submit { width: 38px !important; height: 38px !important; margin-right: 4px !important; color: var(--bj-gold) !important; background: none !important; }
.bj-pm__search .e-search-submit svg { width: 19px !important; height: 19px !important; color: var(--bj-gold); }
.bj-pm__search .e-search-submit:hover { background: rgba(255, 255, 255, .06) !important; }
.bj-pm__search .e-search-results-container { top: calc(100% + 8px) !important; }
.bj-pm__search .e-search-results-container > div { max-height: 60vh; overflow-y: auto; border: 1px solid rgba(255, 255, 255, .12) !important; border-radius: 6px; background: #1b1b1b !important; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .8); }
.bj-pm__search .e-search-results-list { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
.bj-pm__search .bj-sr__img, .bj-pm__search .bj-sr__img img { width: 52px !important; height: 52px !important; }
.bj-pm__search .bj-sr__name .elementor-heading-title { font-size: 15px !important; }

.bj-pm__nav { width: 100%; }
.bj-pm__nav nav.elementor-nav-menu--dropdown { display: block !important; max-height: none !important; margin: 0 !important; overflow: visible !important; transform: none !important; background: none !important; }
.bj-pm__nav .elementor-nav-menu { display: block !important; margin: 0 !important; padding: 0 !important; }
.bj-pm__nav .elementor-nav-menu li { margin: 0 !important; padding: 0 !important; border: 0; }
.bj-pm__nav .elementor-nav-menu > li { border-bottom: 1px solid rgba(255, 255, 255, .08); }
.bj-pm__nav .elementor-nav-menu a { display: flex !important; align-items: center; justify-content: space-between !important; gap: 12px; text-decoration: none; background: none !important; border: 0 !important; }
.bj-pm__nav .elementor-nav-menu > li > a { min-height: 60px; padding: 0 14px 0 24px !important; font-family: var(--bj-serif) !important; font-size: 1.55rem !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: .01em; color: var(--bj-on-dark) !important; }
.bj-pm__nav .elementor-nav-menu > li.current-menu-item > a, .bj-pm__nav .elementor-nav-menu > li.current-menu-ancestor > a, .bj-pm__nav .elementor-nav-menu > li > a:hover { color: var(--bj-gold) !important; }
/* the arrow circle after an item with a submenu; it turns over when open (SmartMenus marks the open link "highlighted") */
.bj-pm__nav .sub-arrow { display: grid !important; place-items: center; flex: none; width: 40px; height: 40px; margin: 0 !important; padding: 0 !important; color: var(--bj-gold) !important; background: rgba(255, 255, 255, .06); border-radius: 50%; transition: transform .25s var(--bj-ease), background-color .2s var(--bj-ease); }
.bj-pm__nav .sub-arrow svg, .bj-pm__nav .sub-arrow i { width: 11px !important; height: 11px !important; font-size: 11px !important; fill: currentColor !important; transform: none !important; }
.bj-pm__nav a.highlighted .sub-arrow, .bj-pm__nav a[aria-expanded="true"] .sub-arrow { transform: rotate(180deg); background: rgba(203, 167, 103, .16); }
/* second level */
.bj-pm__nav .sub-menu { position: static !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 0 14px !important; background: rgba(255, 255, 255, .025) !important; border: 0 !important; box-shadow: none !important; }
.bj-pm__nav .sub-menu a { min-height: 44px; padding: 0 17px 0 36px !important; font-family: var(--bj-sans) !important; font-size: 15.5px !important; font-weight: 500 !important; color: #d9d4cc !important; border: 0 !important; }
.bj-pm__nav .sub-menu a:hover, .bj-pm__nav .sub-menu .current-menu-item > a { color: var(--bj-gold) !important; background: none !important; }
.bj-pm__nav .sub-menu > li > a.has-submenu { min-height: 46px; font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: .18em; text-transform: uppercase; color: var(--bj-gold) !important; }
.bj-pm__nav .sub-menu .sub-arrow { width: 34px; height: 34px; background: none; }
/* third level (By Intention › Protection…) */
.bj-pm__nav .sub-menu .sub-menu { padding: 0 0 8px !important; background: none !important; }
.bj-pm__nav .sub-menu .sub-menu a { min-height: 42px; padding-left: 50px !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: 0; text-transform: none; color: #d9d4cc !important; }

/* quick links */
.bj-pm__links { padding: 0 12px; }
.bj-pm__links--acct { margin-top: 14px; }
.bj-pm__links .elementor-icon-list-items { margin: 0 !important; padding: 0 !important; }
.bj-pm__links .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.bj-pm__links .elementor-icon-list-item::after { display: none !important; }
.bj-pm__links .elementor-icon-list-item > a { display: flex !important; align-items: center; gap: 14px; min-height: 48px; padding: 0 12px; border-radius: 4px; text-decoration: none; transition: background-color .2s var(--bj-ease); }
.bj-pm__links .elementor-icon-list-icon { display: inline-flex; margin: 0 !important; }
.bj-pm__links .elementor-icon-list-icon svg { width: 20px !important; height: 20px !important; color: var(--bj-gold); }
.bj-pm__links .elementor-icon-list-text { padding: 0 !important; font-family: var(--bj-sans); font-size: 15.5px; font-weight: 500; color: #e9e6e1 !important; }
.bj-pm__links .elementor-icon-list-item > a:hover { background: rgba(255, 255, 255, .05); }
.bj-pm__links .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: var(--bj-gold) !important; }
/* the foot: the shipping line and "Explore Shop" */
.e-con.bj-pm__foot { margin-top: auto; }
.bj-pm__note .elementor-icon-list-items { margin: 0 !important; padding: 0 !important; }
.bj-pm__note .elementor-icon-list-item { display: flex !important; align-items: center; gap: 12px; margin: 0 !important; padding: 0 !important; }
.bj-pm__note .elementor-icon-list-icon { display: inline-flex; margin: 0 !important; }
.bj-pm__note .elementor-icon-list-icon svg { width: 20px !important; height: 20px !important; color: var(--bj-gold); }
.bj-pm__note .elementor-icon-list-text { padding: 0 !important; font-family: var(--bj-sans); font-size: 14px; color: var(--bj-on-dark) !important; }
.bj-pm__cta .elementor-button-wrapper, .bj-pm__cta .elementor-button { width: 100%; }
.bj-pm__cta .elementor-button, .bj-hd-phonemenu .bj-pm__cta .elementor-button { display: flex !important; align-items: center; justify-content: center; height: 52px; padding: 0 20px !important; font-size: 16px !important; font-weight: 600 !important; color: var(--bj-charcoal) !important; background: var(--bj-gold) !important; border-radius: 4px !important; }
.bj-pm__cta .elementor-button:hover { background: var(--bj-gold-hover) !important; }

/* ---------------------------------------------------------------- the editor: show the closed windows' widgets a little */
.elementor-editor-active .bj-hd__main { position: relative !important; }

/* ---------------------------------------------------------------- narrower desktops (1025–1280px) */
.bj-mm-cards ul.products li.product > .price .sale-price { display: inline-flex !important; flex-direction: row-reverse !important; flex-wrap: wrap; justify-content: flex-end !important; align-items: baseline; gap: 0 6px; }
.bj-mm-cards ul.products li.product > .price del { margin-right: 0; }
@media (min-width: 1025px) and (max-width: 1280px) {
	.bj-mm { --n-menu-title-space-between: 28px !important; }
	.e-con.bj-hd__icons { --gap: 30px !important; --column-gap: 30px !important; }
	.e-con.bj-hd__main { --gap: 20px !important; --column-gap: 20px !important; }
	.bj-mm-tabs .e-n-tabs-heading { width: calc(var(--bj-hd-side) + 220px) !important; }
	.bj-mm-tabs .e-n-tabs-content > .e-con { --padding-left: 32px !important; }
	.e-con.bj-mm-tab--col { --gap: 32px !important; --column-gap: 32px !important; }
	.e-con.bj-mm-links { flex-basis: 48%; }
	.bj-mm-feature .bj-mm-cards ul.products { --bj-mm-cols: 2; }
	.bj-mm-feature .bj-mm-cards ul.products li.product:nth-child(n+3) { display: none !important; }
}
