/*
 * Canonical site shell.
 *
 * This file is intentionally enqueued after every page-specific stylesheet.
 * Page templates may own their content layout, but they must not restyle the
 * shared announcement bar, header, navigation, footer, page-title weight or
 * frame.
 */

body .bv-announcement,
body.home .bv-announcement,
body.bv-footer-info-page .bv-announcement {
  align-items: center !important;
  background: var(--bv-block) !important;
  box-sizing: border-box;
  color: var(--bv-on-dark) !important;
  display: flex !important;
  font: 500 12px/1.2 var(--bv-sans) !important;
  height: 40px !important;
  justify-content: center;
  letter-spacing: .08em !important;
  min-height: 40px !important;
  overflow: hidden;
  padding: 0 20px !important;
  text-align: center;
  text-transform: capitalize !important;
}

body .bv-site-header,
body.home .bv-site-header,
body.bv-footer-info-page .bv-site-header {
  background: var(--bv-paper) !important;
  border-bottom: 1px solid var(--bv-line) !important;
  box-sizing: border-box;
  left: auto !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  z-index: 30;
}

body .bv-site-header .bv-header-inner,
body.home .bv-site-header .bv-header-inner,
body.bv-footer-info-page .bv-site-header .bv-header-inner {
  align-items: center;
  box-sizing: border-box;
  display: grid !important;
  gap: clamp(18px, 2.4vw, 40px) !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  height: 64px !important;
  margin-inline: auto;
  max-width: var(--bv-content-max, 1200px) !important;
  min-height: 64px !important;
  padding: 0 !important;
  width: calc(100% - (var(--bv-page-gutter) * 2)) !important;
}

body .bv-site-header .bv-logo,
body.home .bv-site-header .bv-logo,
body.bv-footer-info-page .bv-site-header .bv-logo {
  color: #171310 !important;
  font: 400 18px/1 var(--bv-serif) !important;
  letter-spacing: .34em !important;
  margin: 0 !important;
  min-width: 0;
  text-indent: 0 !important;
  white-space: nowrap;
  -webkit-text-fill-color: #171310 !important;
}

body .bv-site-header .bv-nav {
  align-items: center !important;
  background: var(--bv-paper) !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--bv-ink) !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 0 !important;
  justify-self: center;
  opacity: 1 !important;
  padding: 0 !important;
  pointer-events: auto !important;
  position: static !important;
  transform: none !important;
  visibility: visible !important;
  width: auto !important;
}

/* Primary navigation has one spacing contract across every page. */
body .bv-site-header .bv-menu {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body .bv-site-header .bv-menu > li {
  border-bottom: 0 !important;
  margin: 0;
  padding: 0;
  width: auto !important;
}

body .bv-site-header .bv-menu > li::before,
body .bv-site-header .bv-menu > li::after {
  content: none !important;
}

body .bv-site-header .bv-menu > li > a {
  align-items: center;
  color: #171310 !important;
  display: inline-flex !important;
  font: 500 16px/1.4 var(--bv-sans) !important;
  min-height: 44px;
  padding: 0 !important;
  width: auto !important;
  -webkit-text-fill-color: #171310 !important;
}

body .bv-site-header .bv-menu-toggle {
  display: none !important;
}

body .bv-site-header .bv-header-tools {
  align-items: center;
  display: flex !important;
  gap: 0 !important;
  justify-self: end;
}

body .bv-site-header .bv-header-icon {
  display: inline-flex !important;
  flex: 0 0 44px !important;
  height: 44px !important;
  width: 44px !important;
}

body .bv-site-header .bv-header-search {
  display: block !important;
  flex: 0 0 44px !important;
  width: 44px !important;
}

body .bv-site-header :where(.bv-menu > li > a, .bv-header-icon),
body.home .bv-site-header :where(.bv-menu > li > a, .bv-header-icon),
body.bv-footer-info-page .bv-site-header :where(.bv-menu > li > a, .bv-header-icon) {
  color: var(--bv-ink) !important;
  -webkit-text-fill-color: var(--bv-ink) !important;
}

body .bv-site-header .bv-menu-toggle__line,
body.home .bv-site-header .bv-menu-toggle__line,
body.bv-footer-info-page .bv-site-header .bv-menu-toggle__line {
  background: var(--bv-ink) !important;
}

/* Retired page-specific separators must not appear between utility icons. */
body .bv-site-header .bv-header-tools > a::before {
  content: none !important;
  display: none !important;
}

body .bv-site-header .bv-cart-count.is-empty {
  display: none !important;
}

body .bv-site-header .bv-cart-count:not(.is-empty) {
  color: #171310 !important;
  font: 500 12px/1 var(--bv-mono) !important;
  -webkit-text-fill-color: #171310 !important;
}

/* The same footer component and frame are used on every template. */
body .bv-site-footer,
body.home .bv-site-footer,
body.bv-footer-info-page .bv-site-footer {
  background: var(--bv-block) !important;
  color: var(--bv-on-dark) !important;
  font-family: var(--bv-sans) !important;
  margin: 0 !important;
  padding: 44px 0 !important;
}

body .bv-site-footer .bv-footer-grid,
body .bv-legal .bv-container {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: var(--bv-frame-max) !important;
  padding-inline: var(--bv-page-gutter) !important;
  width: 100% !important;
}

body .bv-site-footer .bv-footer-grid {
  column-gap: 64px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)) !important;
  row-gap: 28px !important;
}

body .bv-site-footer .bv-footer-grid > div {
  align-items: flex-start !important;
  border-left: 0 !important;
  display: flex;
  flex-direction: column;
  padding-left: 0 !important;
  text-align: left !important;
}

body .bv-site-footer :where(h3, h4) {
  color: var(--bv-accent-on-dark) !important;
  font: 500 12px/1.4 var(--bv-mono) !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
}

body .bv-site-footer :where(p, a, address),
body .bv-legal {
  color: var(--bv-on-dark-muted) !important;
}

body .bv-legal {
  background: var(--bv-block) !important;
  font-family: var(--bv-mono) !important;
}

/* H1 is the display role throughout the site; page styles may change its size. */
body h1,
body .bv-page-head h1,
body .bv-editorial-hero h1,
body .bvg-culture-hero h1,
body .bvg-colour-hero h1,
body .bv112-page h1,
body.page-custom .bv-custom-title-row h1,
body.single-product div.product .product_title {
  font-weight: 400 !important;
}

/* The page-head already supplies the required 56px lower space. */
body .bv-footer-page--shipping-policy > .bv-page-head + .bv-track-box,
body .bv-footer-page--returns-refunds > .bv-page-head + .bv-eligibility,
body .bv-footer-page--contact > .bv-page-head + .bv-channel-grid {
  margin-top: 0 !important;
}

/* Content disclosure blocks have no rule; the hero standing note keeps one. */
body .bvg-disclosure {
  border-left: 0 !important;
  padding-left: 0 !important;
}

body .bvg-culture-hero .bvg-standing {
  border-left: 1px solid var(--bv-on-dark-muted) !important;
}

body .bvg-culture-hero .bvg-culture-hero__breadcrumb,
body .bvg-culture-hero .bvg-culture-hero__breadcrumb a,
body .bvg-culture-hero .bvg-culture-hero__breadcrumb a:any-link,
body .bvg-culture-hero .bvg-culture-hero__breadcrumb span,
body .bv-editorial-hero .bv-editorial-hero__breadcrumb,
body .bv-editorial-hero .bv-editorial-hero__breadcrumb a,
body .bv-editorial-hero .bv-editorial-hero__breadcrumb a:any-link,
body .bv-editorial-hero .bv-editorial-hero__breadcrumb span {
  color: #d5d5d2 !important;
  -webkit-text-fill-color: #d5d5d2 !important;
}

body .bvg-culture-hero .bvg-culture-hero__breadcrumb [aria-current="page"],
body .bv-editorial-hero .bv-editorial-hero__breadcrumb [aria-current="page"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body .bvg-culture-hero .bvg-lead {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body .bvg-culture-hero .bvg-standing {
  color: #d5d5d2 !important;
  -webkit-text-fill-color: #d5d5d2 !important;
}

/* Product breadcrumbs use the same quiet label colour on the paper canvas. */
body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a,
body.single-product .woocommerce-breadcrumb span {
  color: var(--bv-muted) !important;
  -webkit-text-fill-color: var(--bv-muted) !important;
}

/* Calculator results live on evergreen and must not inherit paper-canvas ink. */
body .bvg-calculator__result,
body .bvg-calculator__result :where(strong, dd) {
  color: var(--bv-on-dark) !important;
  -webkit-text-fill-color: var(--bv-on-dark) !important;
}

body .bvg-calculator__result :where(span, small, dt, p) {
  color: var(--bv-on-dark-muted) !important;
  -webkit-text-fill-color: var(--bv-on-dark-muted) !important;
}

/* PDP primary action is evergreen, independent of legacy button skins. */
body.single-product form.cart .single_add_to_cart_button:not(:disabled) {
  background: #14231f !important;
  border-color: #14231f !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.single-product form.cart .single_add_to_cart_button:not(:disabled):where(:hover, :focus-visible) {
  background: #1e352f !important;
  border-color: #1e352f !important;
}

@media (max-width: 760px) {
  body .bv-site-header .bv-header-inner,
  body.home .bv-site-header .bv-header-inner,
  body.bv-footer-info-page .bv-site-header .bv-header-inner {
    gap: 0 !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  body .bv-site-header .bv-logo {
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
  }

  body .bv-site-header .bv-header-tools {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    min-width: 0;
    order: 0 !important;
  }

  body .bv-site-header .bv-menu-toggle {
    display: grid !important;
    grid-column: 3;
    grid-row: 1;
    order: 0 !important;
  }

  body .bv-site-header .bv-nav {
    align-items: stretch !important;
    border-bottom: 1px solid var(--bv-line) !important;
    display: flex !important;
    flex-direction: column !important;
    left: 0;
    opacity: 0 !important;
    padding: 18px var(--bv-page-gutter) !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 0;
    top: 100%;
    transform: translateY(-8px) !important;
    visibility: hidden !important;
    width: 100% !important;
    z-index: 50;
  }

  body .bv-site-header .bv-nav.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    visibility: visible !important;
  }

  body .bv-site-header .bv-menu {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }

  body .bv-site-header .bv-menu > li {
    border-bottom: 1px solid var(--bv-line) !important;
    width: 100% !important;
  }

  body .bv-site-header .bv-menu > li > a {
    display: block !important;
    padding: 12px 2px !important;
    width: 100% !important;
  }
}

@media (max-width: 900px) {
  body .bv-site-footer,
  body.home .bv-site-footer,
  body.bv-footer-info-page .bv-site-footer {
    padding: 38px 0 !important;
  }

  body .bv-site-footer .bv-footer-grid {
    column-gap: 28px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* v1.5.6 touch, checkout, hero, table and stone-rail acceptance fixes. */
body.page-custom .bv-custom-add:not(:disabled),
body.page-custom .bv-custom-sticky-add:not(:disabled),
body.page-custom .bv-custom-size-done:not(:disabled) {
  background: #14231f !important;
  border-color: #14231f !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.page-custom .bv-custom-picker,
body.page-custom .bv-custom-stones {
  overflow-anchor: none;
}

body.woocommerce-checkout form.checkout .bv-paypal-express-choice {
  color: #fff !important;
  font-size: 24px !important;
  -webkit-text-fill-color: #fff !important;
}

body .bv-footer-page--shipping-policy .bv-data-table--shipping,
body .bv-footer-page--shipping-policy .bv-data-table--shipping * {
  box-sizing: border-box;
}

body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-head,
body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, .9fr) !important;
}

body .bv-footer-page--shipping-policy .bv-data-table--shipping span {
  min-width: 0;
}

body .bv-stone-divider__track,
body.home .bv109-strand__row.bv-stone-divider__track,
body .bvg-bead-rail.bv-stone-divider__track {
  column-gap: 5px !important;
  gap: 5px !important;
  row-gap: 5px !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
  body .bv-footer-page--about .bv-editorial-hero--story picture img {
    object-position: 62% 62% !important;
  }

  body .bv-footer-page--about .bv-editorial-hero--story .bv-editorial-hero__scrim {
    background: linear-gradient(90deg, rgba(20,35,31,.88) 0%, rgba(20,35,31,.62) 48%, rgba(20,35,31,.08) 84%) !important;
  }

  body .bv-stone-divider__track,
  body.home .bv109-strand__row.bv-stone-divider__track,
  body .bvg-bead-rail.bv-stone-divider__track {
    grid-template-columns: repeat(16, 32px) !important;
    justify-content: start !important;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
  body .bv-footer-page--shipping-policy .bv-data-table--shipping {
    border: 1px solid var(--bv-line) !important;
    overflow: visible;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-head {
    display: none !important;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100%;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row span {
    border: 0 !important;
    border-bottom: 1px solid var(--bv-line) !important;
    display: grid;
    gap: 6px;
    grid-template-columns: 1fr;
    padding: 14px !important;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row span:nth-child(odd) {
    border-right: 1px solid var(--bv-line) !important;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row span:last-child {
    border-bottom: 0 !important;
    border-right: 0 !important;
    grid-column: 1 / -1;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row span::before {
    color: var(--bv-accent);
    content: attr(data-label);
    font: 500 11px/1.4 var(--bv-sans);
    letter-spacing: .08em;
    text-transform: uppercase;
  }
}

@media (max-width: 767px) {
  body .bvg-page.bvg-culture .bvg-culture-hero {
    background-image: linear-gradient(90deg, rgba(20,35,31,.78) 0%, rgba(20,35,31,.54) 56%, rgba(20,35,31,.16) 100%), var(--bvg-culture-hero) !important;
    background-position: center !important;
    background-size: cover !important;
  }

  body .bv-footer-page--about .bv-editorial-hero--story picture img {
    object-position: 58% 70% !important;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping {
    border: 1px solid var(--bv-line) !important;
    overflow: visible;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-head {
    display: none !important;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row {
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100%;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row span {
    align-items: baseline;
    border: 0 !important;
    border-bottom: 1px solid var(--bv-line) !important;
    display: grid;
    gap: 16px;
    grid-template-columns: 104px minmax(0, 1fr);
    padding: 12px 14px !important;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row span:last-child {
    border-bottom: 0 !important;
  }

  body .bv-footer-page--shipping-policy .bv-data-table--shipping .bv-data-row span::before {
    color: var(--bv-accent);
    content: attr(data-label);
    font: 500 11px/1.4 var(--bv-sans);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  body .bv-stone-divider__track,
  body.home .bv109-strand__row.bv-stone-divider__track,
  body .bvg-bead-rail.bv-stone-divider__track {
    grid-template-columns: repeat(16, 24px) !important;
    justify-content: start !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  body .bv-stone-divider__track::-webkit-scrollbar,
  body.home .bv109-strand__row.bv-stone-divider__track::-webkit-scrollbar,
  body .bvg-bead-rail.bv-stone-divider__track::-webkit-scrollbar {
    display: none;
  }

  body .bv-stone-divider__track > :where(li, a),
  body.home .bv109-strand__row.bv-stone-divider__track > li,
  body .bvg-bead-rail.bv-stone-divider__track > a {
    min-width: 24px !important;
    width: 100% !important;
  }
}

/* v1.5.23 — one full-width Founding 100 band below the hero at every width. */
body.home .bv-f100 { box-sizing: border-box; }
body.home .bv-f100[hidden] { display: none !important; }
body.home .bv-f100--card { display: none !important; }
body.home .bv-f100--strip {
  background: #14231f !important;
  border: 0 !important;
  display: block !important;
  padding: 24px 64px !important;
}
body.home .bv-f100--strip .bv-f100__wrap {
  align-items: center;
  display: grid !important;
  gap: 24px 48px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
  margin: 0 auto !important;
  max-width: 1200px !important;
  padding: 0 !important;
  width: 100%;
}
body.home .bv-f100__line {
  color: #fff !important;
  display: block;
  font: 400 18px/1.45 Jost,var(--bv-sans),sans-serif !important;
  margin: 0 !important;
  text-wrap: pretty;
}
body.home .bv-f100__line strong { color: #fff !important; font-weight: 500; }
body.home .bv-f100__kicker {
  color: #c9a25f !important;
  display: block;
  font: 700 11px/1.3 Jost,var(--bv-sans),sans-serif !important;
  letter-spacing: .2em;
  margin: 0 0 6px;
  text-transform: uppercase;
}
body.home .bv-f100__form {
  display: grid !important;
  gap: 0;
  grid-template-columns: minmax(0, 1fr) max-content;
  margin: 0 !important;
  max-width: 100%;
  width: 100%;
}
body.home .bv-f100__form input[type=email] {
  background: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  box-sizing: border-box;
  color: #171310 !important;
  font: 400 15px Jost,var(--bv-sans),sans-serif !important;
  height: 46px !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 14px !important;
  width: 100% !important;
}
body.home .bv-f100__form input[type=email]:focus { outline: 2px solid #c9a25f !important; outline-offset: -2px; }
body.home .bv-f100__form button[type=submit] {
  background: #c9a25f !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #14231f !important;
  cursor: pointer;
  font: 700 12px/1 Jost,var(--bv-sans),sans-serif !important;
  height: 46px !important;
  letter-spacing: .14em !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  text-transform: uppercase !important;
}
body.home .bv-f100__form button[type=submit]:hover,
body.home .bv-f100__form button[type=submit]:focus-visible { background: #fff !important; color: #171310 !important; }
body.home .bv-f100__form button[type=submit][disabled] { cursor: wait; }
body.home .bv-f100__hp { clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; height: 1px !important; overflow: hidden !important; position: absolute !important; width: 1px !important; }
body.home .bv-f100__fine {
  color: #d5d5d2 !important;
  font: 400 12px/1.5 Jost,var(--bv-sans),sans-serif !important;
  margin: 8px 0 0 !important;
  text-wrap: pretty;
}
body.home .bv-f100__fine a,
body.home .bv-f100__fine a:visited { color: #fff !important; -webkit-text-fill-color: #fff !important; text-decoration: underline !important; text-underline-offset: 3px; }
body.home #bv-f100-pv-strip,
body.home #bv-f100-pv-strip:visited { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.home .bv-f100__error { box-sizing: border-box; color: #f1b7a8 !important; font: 400 12px/1.4 Jost,var(--bv-sans),sans-serif !important; grid-column: 1 / -1; margin: 6px 0 0 !important; }
body.home .bv-f100__error[hidden] { display: none !important; }
body.home .bv-f100__msg { color: #fff !important; font: 400 14px/1.5 Jost,var(--bv-sans),sans-serif !important; margin: 0 !important; }
body.home .bv-f100__msg:empty { display: none; }
body.home .bv-f100__done { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
body.home .bv-f100__code {
  align-items: center;
  border: 1px dashed #c9a25f !important;
  color: #c9a25f !important;
  display: inline-flex !important;
  font: 600 14px/1 Jost,var(--bv-sans),sans-serif !important;
  height: 40px;
  letter-spacing: .1em !important;
  margin: 0 !important;
  padding: 0 12px !important;
}
body.home .bv-f100 button.bv-f100__copy {
  align-items: center;
  background: transparent !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: pointer;
  display: inline-flex !important;
  font: 600 12px/1 Jost,var(--bv-sans),sans-serif !important;
  height: 40px !important;
  justify-content: center;
  letter-spacing: .08em !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  text-transform: uppercase !important;
  -webkit-text-fill-color: #fff !important;
}
body.home .bv-f100 button.bv-f100__copy:hover,
body.home .bv-f100 button.bv-f100__copy:focus-visible { border-color: #c9a25f !important; color: #c9a25f !important; -webkit-text-fill-color: #c9a25f !important; }
body.home .bv-f100__note { color: #d5d5d2 !important; font: 400 12px/1.5 Jost,var(--bv-sans),sans-serif !important; margin: 4px 0 0 !important; text-wrap: pretty; }
body.home .bv-f100.is-done .bv-f100__form,
body.home .bv-f100.is-done .bv-f100__fine { display: none !important; }

body .bv-newsletter .bv-f100__code { border: 1px dashed #14231f; color: #14231f; display: inline-block; font: 600 14px/1.2 Jost,var(--bv-sans),sans-serif; letter-spacing: .1em; margin: 5px 8px 5px 0; padding: 4px 9px; }
body .bv-newsletter .bv-f100__copy { align-items: center; background: transparent !important; border: 1px solid currentColor !important; border-radius: 0 !important; color: inherit !important; display: inline-flex !important; font: 600 11px/1 Jost,var(--bv-sans),sans-serif !important; height: 30px !important; justify-content: center; letter-spacing: .06em !important; min-height: 30px !important; padding: 0 10px !important; text-transform: none !important; vertical-align: middle; }
body .bv-welcome-cart-note { margin: 8px 0 0; color: #5a534c; font: 400 12px/1.5 Jost,var(--bv-sans),sans-serif; }

@media (max-width: 1199px) {
  body.home .bv-f100--strip { padding-left: 40px !important; padding-right: 40px !important; }
}

@media (max-width: 899px) {
  body.home .bv-f100--strip .bv-f100__wrap { gap: 16px; grid-template-columns: 1fr; }
  body.home .bv-f100__form button[type=submit] { padding-inline: 14px !important; white-space: nowrap; width: auto !important; }
}

@media (max-width: 767px) {
  body.home .bv-f100--strip { padding: 20px !important; }
  body.home .bv-f100__line { font-size: 16px !important; }
  body.home .bv-f100__more { display: none; }
}

@media (max-width: 420px) {
  body .bv-newsletter .bv-f100__copy { padding-inline: 8px !important; }
}

/* v1.5.7: keep the shipping-reference image square and put the four production
 * attributes in a compact two-row strip below it. */
body.woocommerce-cart .bv-cart-custom-preview {
  aspect-ratio: auto !important;
  flex: 0 0 128px !important;
  height: auto !important;
  max-width: none !important;
  overflow: visible !important;
  width: 128px !important;
}

body .bv-cart-custom-preview__image {
  aspect-ratio: 1 !important;
  display: block !important;
  height: auto !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

body .bv-cart-custom-preview__image > i,
body .bv-cart-custom-preview > i {
  border-radius: 50% !important;
  display: block !important;
  position: absolute !important;
}

body .bv-cart-custom-preview__specs {
  border-top: 1px solid var(--bv-line-strong) !important;
  display: block !important;
  font-size: 0 !important;
}

body .bv-cart-custom-preview .bv-cart-custom-spec {
  box-sizing: border-box !important;
  display: inline-block !important;
  font: 600 6px/1.1 var(--bv-sans) !important;
  padding: 4px 5px !important;
  position: static !important;
  vertical-align: top !important;
  white-space: nowrap !important;
  width: 50% !important;
}

body .bv-cart-custom-preview .bv-cart-custom-spec b {
  color: #68625d !important;
  display: inline !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
}

body .bv-cart-custom-preview .bv-cart-custom-spec small {
  color: var(--bv-ink) !important;
  display: inline !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
}

body.woocommerce-checkout .bv-checkout-product > .bv-cart-custom-preview {
  aspect-ratio: auto !important;
  flex: 0 0 132px !important;
  height: auto !important;
  max-width: none !important;
  overflow: visible !important;
  width: 132px !important;
}
body.woocommerce-checkout .bv-cart-custom-preview .bv-cart-custom-spec,
body.woocommerce-cart .bv-cart-inline-preview .bv-cart-custom-spec {
  font-size: 8px !important;
  letter-spacing: -.08px !important;
  padding: 3px 2px !important;
}
body.woocommerce-checkout .bv-checkout-product:has(> .bv-cart-custom-preview) {
  grid-template-columns: 132px minmax(0, 1fr);
}

@media (max-width: 900px) {
  body.woocommerce-cart .bv-cart-inline-preview .bv-cart-custom-preview {
    flex-basis: 132px !important;
    height: auto !important;
    width: 132px !important;
  }

  body.woocommerce-cart .bv-cart-inline-product {
    grid-template-columns: 132px minmax(0, 1fr) !important;
  }

  body.woocommerce-cart .bv-cart-inline-preview {
    height: auto !important;
    width: 132px !important;
  }
}

@media (max-width: 620px) {
  body.woocommerce-checkout .bv-checkout-product:has(> .bv-cart-custom-preview) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.woocommerce-checkout .bv-checkout-product > .bv-cart-custom-preview {
    grid-row: auto !important;
  }
}

/* v1.5.1: the shop reuses the home page finished-designs module verbatim. */
body.woocommerce-shop main.bv-shop-catalog {
  background: var(--bv-sand) !important;
  box-sizing: border-box;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.woocommerce-shop .bv-shop-catalog .bv109-products {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1440px;
  padding: 72px 48px 80px;
}

body.woocommerce-shop .bv-shop-catalog .bv109-section-head h1 {
  color: var(--bv-ink);
  font: 400 48px/1.1 var(--bv-serif);
  margin: 0;
}

body.woocommerce-shop .bv-shop-catalog .woocommerce-pagination {
  margin: 0 auto;
  max-width: 1440px;
  padding: 0 48px 64px;
}

@media (max-width: 1380px) {
  body.woocommerce-shop .bv-shop-catalog .bv109-products {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 760px) {
  body.woocommerce-shop .bv-shop-catalog .bv109-products {
    padding: 44px 24px 56px;
  }

  body.woocommerce-shop .bv-shop-catalog .bv109-section-head h1 {
    font-size: 40px;
  }

  body.woocommerce-shop .bv-shop-catalog .woocommerce-pagination {
    padding: 0 24px 48px;
  }
}

@media (max-width: 620px) {
  body .bv-site-header .bv-header-icon,
  body .bv-site-header .bv-header-search {
    flex-basis: 36px !important;
    width: 36px !important;
  }

  body .bv-site-header .bv-menu-toggle {
    width: 40px;
  }

  body .bv-site-header .bv-header-search > input[type="search"] {
    right: 36px;
  }

  body .bv-site-footer .bv-footer-grid {
    column-gap: 18px !important;
    row-gap: 24px !important;
  }
}

@media (max-width: 767px) {
  body .bvg-page.bvg-culture .bvg-culture-hero h1 {
    font-size: 36px !important;
  }
}

/* Final visual acceptance pass. Functional behaviour and catalogue data stay untouched. */
body .bv-newsletter h2 {
  font-family: var(--bv-serif) !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  font-feature-settings: "lnum" 1, "onum" 0 !important;
  font-variant-numeric: lining-nums !important;
  line-height: 1.25 !important;
}

body .bv-newsletter__signup button {
  font-family: var(--bv-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.home .bv109-products {
  padding-bottom: 0 !important;
}

body.home .bv109-craft {
  margin-top: 72px !important;
}

body.home .bv109-stories {
  padding-bottom: 72px !important;
  padding-top: 72px !important;
}

body.home .bv109-story__user > span {
  background: #f5f5f3 !important;
  color: #5a534c !important;
}

body.home .bv109-strand__more {
  justify-content: flex-start !important;
}

body .bvg-calculator__result .bvg-calculator__warning {
  background: #f5f5f3 !important;
  border: 0 !important;
  color: #5a534c !important;
  padding: 16px !important;
  -webkit-text-fill-color: #5a534c !important;
}

body .bv-data-row span {
  color: #5a534c !important;
}

body .bv-data-row span:first-child {
  color: #171310 !important;
}

body .bv-footer-page--privacy-policy > .bv-legal-layout,
body .bv-footer-page--terms-conditions > .bv-legal-layout {
  gap: 48px !important;
  grid-template-columns: 240px minmax(0, 720px) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body .bv-legal-summary {
  background: #f5f5f3 !important;
  border: 0 !important;
  color: #5a534c !important;
  padding: 16px !important;
}

body .bv-footer-page--contact .bv-channel-grid article,
body .bv-footer-page--contact .bv-contact-layout,
body .bv-footer-page--contact .bv-contact-layout > div,
body .bv-footer-page--contact .bv-contact-form-panel :where(input, select, textarea) {
  background: #fff !important;
}

body .bv-footer-page--contact > .bv-channel-grid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body .bv-footer-page--contact > .bv-channel-grid > article:first-child {
  padding-left: 0 !important;
}

body .bv-footer-page--contact .bv-contact-form-panel :where(label, legend),
body .bv-footer-page--contact .bv-contact-form-panel form > small {
  color: #5a534c !important;
}

body .bv-footer-page--contact .bv-contact-form-panel :where(input, select, textarea) {
  border-color: #d5d5d2 !important;
  color: #171310 !important;
}

body .bv-footer-page--contact .bv-topic-field {
  border: 0 !important;
  padding: 0 !important;
}

body .bv-footer-page--contact .bv-topic-field span {
  background: #f5f5f3 !important;
  border-color: #d5d5d2 !important;
  color: #5a534c !important;
}

body .bv-footer-page--contact .bv-topic-field input:checked + span {
  border-color: #171310 !important;
  color: #171310 !important;
}

body .bv-footer-page--contact .bv-contact-form-panel .bv-button {
  font-family: var(--bv-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body .bv-footer-page--about .bv-stat-strip strong {
  color: #171310 !important;
}

body .bv-footer-page--about .bv-stat-strip span {
  color: #5a534c !important;
}

body.single-product div.product {
  column-gap: 64px !important;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr) !important;
}

body.single-product div.product .woocommerce-product-gallery {
  contain: inline-size;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs {
  gap: 16px !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  border: 1px solid #171310 !important;
}

body.single-product .woocommerce-product-gallery__image img {
  mix-blend-mode: multiply;
}

body.single-product div.product .summary > p.price {
  display: inline-block !important;
  margin-right: 12px !important;
}

body.single-product .bv-pdp-price-note {
  color: #5a534c !important;
  display: inline-block !important;
  font-family: var(--bv-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  margin: 0 0 20px !important;
  min-height: 0 !important;
  vertical-align: baseline;
}

body.single-product form.cart .single_add_to_cart_button {
  font-family: var(--bv-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.single-product .bv-pdp-culture__grid:not(.is-mixed) .bv-pdp-culture__stone {
  grid-template-columns: 200px minmax(0, 1fr) !important;
}

body.single-product .bv-pdp-wear-with .bv-pdp-section-head {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}

body.single-product .bv-pdp-wear-with .bv-pdp-section-head > a {
  flex: 0 0 auto;
  margin-left: 24px;
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.single-product div.product {
    column-gap: 32px !important;
    grid-template-columns: minmax(0, 7fr) minmax(260px, 5fr) !important;
  }
}

@media (max-width: 767px) {
  body .bvg-page.bvg-culture .bvg-culture-hero {
    background-image: linear-gradient(rgba(20, 35, 31, .82), rgba(20, 35, 31, .82)), var(--bvg-culture-hero) !important;
  }

  body.home .bv109-craft {
    margin-top: 48px !important;
  }

  body.home .bv109-stories {
    padding-bottom: 48px !important;
    padding-top: 48px !important;
  }

  body .bv-table-note {
    background: #f5f5f3 !important;
    border: 0 !important;
    color: #5a534c !important;
    padding: 16px !important;
  }

  body .bv-footer-page--privacy-policy > .bv-legal-layout,
  body .bv-footer-page--terms-conditions > .bv-legal-layout {
    display: block !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .bv-legal-copy article {
    display: block !important;
  }

  body .bv-legal-copy article h2 {
    margin-left: 0 !important;
    margin-top: 8px !important;
  }

  body .bv-footer-page--contact .bv-contact-layout > div {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .bv-footer-page--about .bv-about-story-layout,
  body .bv-footer-page--about .bv-story-sections,
  body .bv-footer-page--about .bv-story-sections article {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-product div.product {
    display: block !important;
  }

  body.single-product .bv-size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.single-product .bv-pdp-culture__grid:not(.is-mixed) .bv-pdp-culture__stone,
  body.single-product .bv-pdp-culture__grid.is-mixed .bv-pdp-culture__stone {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
}

/* v1.4.5 final acceptance locks.
 * Keep these after every page stylesheet so generic link/card rules cannot win. */
body .bv-footer-page--returns-refunds > .bv-eligibility {
  padding-bottom: 0 !important;
}

body .bv-footer-page--shipping-policy > .bv-track-box {
  padding-bottom: 48px !important;
  padding-top: 48px !important;
}

body main .bvg-culture-hero .bvg-culture-hero__breadcrumb a:is(#bv-hero-breadcrumb-colour, :any-link),
body main .bv-editorial-hero .bv-editorial-hero__breadcrumb a:is(#bv-hero-breadcrumb-colour, :any-link) {
  color: #d5d5d2 !important;
  -webkit-text-fill-color: #d5d5d2 !important;
}

body .bv-footer-page--terms-conditions .bv-terms-summary {
  background: #f5f5f3 !important;
  border: 0 !important;
  border-left: 0 !important;
}

body .bv-footer-page--contact .bv-contact-form-panel {
  background: #fff !important;
}

body main .bv-footer-page--contact > .bv-channel-grid > article {
  background: #fff !important;
  background-color: #fff !important;
}

body main .bv-footer-page--contact .bv-self-service-list > article {
  background: #fff !important;
  background-color: #fff !important;
}

/* v1.4.6: keep the Color pairing primary CTA legible in every interaction state. */
body main .bvg-page.bvg-colour .bvg-actions .bvg-button,
body main .bvg-page.bvg-colour .bvg-actions .bvg-button:visited {
  background: #171310 !important;
  border-color: #171310 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body main .bvg-page.bvg-colour .bvg-actions .bvg-button:hover,
body main .bvg-page.bvg-colour .bvg-actions .bvg-button:focus-visible,
body main .bvg-page.bvg-colour .bvg-actions .bvg-button:active {
  background: #171310 !important;
  border-color: #171310 !important;
  color: #c9a25f !important;
  -webkit-text-fill-color: #c9a25f !important;
}

/* v1.4.9: one readable footer-bottom type role and stable three-part layout. */
body .bv-legal .bv-container {
  align-items: center !important;
  display: grid !important;
  gap: 32px !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
}

body .bv-legal .bv-container > * {
  color: #d5d5d2 !important;
  font: 400 12px/1.5 var(--bv-sans) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}

body .bv-legal .bv-container > :nth-child(2) {
  text-align: center !important;
}

body .bv-legal .bv-container > :last-child {
  text-align: right !important;
}

@media (max-width: 900px) {
  body .bv-legal .bv-container {
    align-items: start !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .bv-legal .bv-container > * {
    text-align: left !important;
    white-space: normal;
  }
}

/* Final mobile hero lock: the earlier visual-acceptance rule used a uniform
 * 82% scrim and hid the Stones & Culture image completely. */
@media (max-width: 767px) {
  body .bvg-page.bvg-culture .bvg-culture-hero {
    background-image: linear-gradient(90deg, rgba(20,35,31,.78) 0%, rgba(20,35,31,.54) 56%, rgba(20,35,31,.16) 100%), var(--bvg-culture-hero) !important;
    background-position: center !important;
    background-size: cover !important;
  }
}
