/* Bonplanscolmar 2.3.1 — Noir & Champagne, shared readability fixes. */
body.bpc-noir-active {
  --bpc-noir: #191919;
  --bpc-champagne: #c5ab78;
  --bpc-paper: #faf8f3;
  --bpc-noir-line: #e2ddd3;
  --bpc-noir-text: #191919;
}

/* Shared chrome: higher specificity than historical inline contrast rules. */
body.bpc-ivory-active.bpc-noir-active .bpc-utility,
body.bpc-ivory-active.bpc-noir-active header.bpc-ivory-header {
  background: var(--bpc-noir) !important;
  border-color: #33312d !important;
  box-shadow: none !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-utility,
body.bpc-ivory-active.bpc-noir-active .bpc-utility * {
  color: #dbc696 !important;
  -webkit-text-fill-color: #dbc696 !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-wordmark,
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-menu-item > a,
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-icon-button,
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-icon-button * {
  color: #faf8f3 !important;
  -webkit-text-fill-color: #faf8f3 !important;
  text-shadow: none !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-icon-button:hover,
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-icon-button:focus-visible {
  background: #36332e !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-mainbar {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
body.bpc-ivory-active.bpc-noir-active .bpc-menu-item > a::after {
  background: var(--bpc-champagne) !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-cart-count {
  color: #191919 !important;
  -webkit-text-fill-color: #191919 !important;
  background: #d4bd8f !important;
}
body.bpc-ivory-active.bpc-noir-active footer.bpc-ivory-footer {
  background: #191919 !important;
  content-visibility: visible;
  contain-intrinsic-size: none;
}
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-footer :is(a, p, span) {
  color: #eee8dd !important;
  -webkit-text-fill-color: #eee8dd !important;
}

/* Isolated homepage components, so old hero/carousel styles cannot leak in. */
.bpc-noir-home, .bpc-noir-home * { box-sizing: border-box; }
.bpc-noir-home {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0;
  background: var(--bpc-paper);
  color: var(--bpc-noir);
  font: 400 1rem/1.5 var(--bpc-sans, Arial, sans-serif);
}
.bpc-noir-home :is(h1, h2, h3, p) { margin: 0; }
.bpc-noir-home a { text-decoration: none !important; }
.bpc-noir-home img { display: block; width: 100%; max-width: 100%; }
.bpc-noir-home :is(h1, h2, h3) { text-transform: none !important; }
.bpc-noir-home h2 { font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.15 var(--bpc-serif, Georgia, serif); letter-spacing: -.025em; }

/* Retire inherited brown text only inside this new homepage. The variable is
   inherited from the local surface, including the black hero and gold CTA. */
body.bpc-ivory-active.bpc-noir-active.bpc-noir-front.page .entry-content .bpc-noir-home :is(h1, h2, h3, p, a),
body.bpc-ivory-active.bpc-noir-active.bpc-noir-front .bpc-noir-home :is(h1, h2, h3, p, a) {
  color: var(--bpc-noir-text, #191919) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.bpc-noir-home :is(span, div, ins, del, bdi, small) { -webkit-text-fill-color: currentColor; }

.bpc-noir-hero {
  display: grid;
  grid-template-columns: minmax(0, 43%) minmax(0, 57%);
  min-height: 0;
  background: var(--bpc-noir);
}
.bpc-noir-hero-copy {
  --bpc-noir-text: #faf8f3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(36px, 4.6vw, 70px);
  color: #faf8f3;
}
.bpc-noir-hero-copy h1 {
  font: 400 clamp(2.8rem, 5.2vw, 5rem)/1.01 var(--bpc-serif, Georgia, serif) !important;
  letter-spacing: -.035em;
  margin: 0 0 24px;
}
.bpc-noir-hero-copy > p { font-size: 1.05rem; margin: 0 0 30px; }
.bpc-noir-home a.bpc-noir-button {
  --bpc-noir-text: #191919;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  padding: 14px 24px;
  border: 1px solid #c5ab78;
  border-radius: 0;
  background: #c5ab78;
  color: #191919;
  font: 650 .875rem/1.35 var(--bpc-sans, Arial, sans-serif);
  letter-spacing: .03em;
  text-align: center;
  text-transform: uppercase;
  transition: background-color .18s ease, border-color .18s ease;
}
.bpc-noir-home a.bpc-noir-button:hover { background: #dbc496; border-color: #dbc496; }
.bpc-noir-hero-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: #e8dfd0; }
.bpc-noir-hero-images > a { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; }
.bpc-noir-hero-images img { height: 100%; min-height: 410px; max-height: 560px; object-fit: cover; object-position: 51% center; }
.bpc-noir-hero-images > a:first-child img { object-position: 54% center; }
.bpc-noir-hero-images > a > span {
  position: absolute;
  bottom: 20px;
  left: 20px;
  padding: 9px 15px;
  background: #faf8f3;
  color: #191919;
  font-size: .875rem;
}
.bpc-noir-services {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 30px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--bpc-noir-line);
  color: #4c4840;
  font-size: .875rem;
}
.bpc-noir-services > span + span::before { content: '·'; margin-right: 30px; color: #8b744d; }

.bpc-noir-new { padding: 42px clamp(20px, 4vw, 64px) 34px; scroll-margin-top: 115px; }
.bpc-noir-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin: 0 0 28px; }
.bpc-noir-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; }
.bpc-noir-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 0; border-bottom: 2px solid transparent; font-size: .875rem; white-space: nowrap; }
.bpc-noir-tabs a[aria-current] { border-bottom-color: #9a7b42; font-weight: 700; }
.bpc-noir-tabs a:hover { border-bottom-color: #c5ab78; }
.bpc-noir-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 26px; }
.bpc-noir-card { display: flex; flex-direction: column; min-width: 0; padding: 0; margin: 0; border: 1px solid var(--bpc-noir-line); background: #fffefa; }
.bpc-noir-product-image { display: grid; place-items: center; aspect-ratio: 1; width: 100%; overflow: hidden; background: #f1eee8; }
.bpc-noir-product-image img { width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: center; transition: transform .2s ease; }
@media (hover: hover) { .bpc-noir-product-image:hover img { transform: scale(1.025); } }
.bpc-noir-card-info { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 16px 18px 13px; }
.bpc-noir-card-info .bpc-noir-brand { margin: 0 0 5px; font-size: .875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bpc-noir-card-info h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; margin: 0 0 8px; font: 400 1rem/1.4 var(--bpc-sans, Arial, sans-serif); }
.bpc-noir-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-bottom: 6px; color: #191919; font-size: 1.125rem; font-weight: 700; }
.bpc-noir-price del { color: #71695e; font-size: .875rem; font-weight: 400; }
.bpc-noir-price ins { background: transparent; text-decoration: none; }
.bpc-noir-product-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: auto; font-size: .875rem; text-decoration: underline !important; text-underline-offset: 4px; }
.bpc-noir-image-pending { display: grid; place-items: center; height: 100%; padding: 24px; font-size: .875rem; color: #5f594e; }
.bpc-noir-empty { padding: 30px 0; font-size: 1rem; }
.bpc-noir-view-all { display: flex; justify-content: center; padding-top: 26px; }
.bpc-noir-view-all a { display: inline-flex; align-items: center; gap: 12px; min-height: 46px; font-size: .875rem; border-bottom: 1px solid #9a7b42; }
.bpc-noir-view-all svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }

.bpc-noir-members { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px clamp(20px, 4vw, 64px); border-block: 1px solid var(--bpc-noir-line); background: #f1ece2; }
.bpc-noir-members-copy { display: flex; align-items: center; gap: 20px; }
.bpc-noir-members-copy > svg { flex: 0 0 38px; width: 38px; height: 42px; fill: none; stroke: #8b6a32; stroke-width: 1; }
.bpc-noir-members h2 { margin: 0 0 7px; font-size: 1.7rem; }
.bpc-noir-members p { font-size: .875rem; }
.bpc-noir-home a.bpc-noir-button-outline { --bpc-noir-text: #6a5028; flex-shrink: 0; background: transparent; border-color: #a38a5a; }
.bpc-noir-home a.bpc-noir-button-outline:hover { background: #e7ddc9; }
.bpc-noir-collections { padding: 50px clamp(20px, 4vw, 64px) 36px; }
.bpc-noir-collections h2 { margin-bottom: 24px; }
.bpc-noir-collection-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.bpc-noir-collection-grid > a { display: block; min-width: 0; border-bottom: 1px solid var(--bpc-noir-line); }
.bpc-noir-collection-grid img { aspect-ratio: 4 / 3; object-fit: cover; }
.bpc-noir-collection-grid span { display: block; padding: 12px 0; color: #191919; font-size: .875rem; }
.bpc-noir-intro { max-width: 920px; margin: 0 auto; padding: 30px 24px 50px; text-align: center; }
.bpc-noir-intro h2 { margin-bottom: 14px; font-size: 1.75rem; }
.bpc-noir-intro p { font-size: 1rem; line-height: 1.7; }
.bpc-noir-dock { display: none; }

.bpc-noir-home a:focus-visible,
body.bpc-noir-active .bpc-ivory-header a:focus-visible,
body.bpc-noir-active .bpc-ivory-header button:focus-visible,
.bpc-noir-dock a:focus-visible { outline: 2px solid #a17b35; outline-offset: 4px; }

@media (min-width: 1280px) {
  body.bpc-ivory-active.bpc-noir-active .bpc-mainbar { grid-template-columns: auto minmax(0, 1fr) auto !important; gap: 20px !important; padding-inline: clamp(24px, 3vw, 48px) !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-wordmark { font-size: 18px !important; letter-spacing: .19em !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-desktop-menu { justify-content: center; gap: clamp(12px, 1.15vw, 23px); }
  body.bpc-ivory-active.bpc-noir-active .bpc-menu-item > a { font-size: 12px !important; letter-spacing: .015em !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-account-link { display: inline-grid !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-header-actions { gap: 0; }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .bpc-noir-hero-copy { padding: 30px; }
  .bpc-noir-hero-copy h1 { font-size: 3.3rem !important; }
  .bpc-noir-hero-images img { min-height: 370px; }
  .bpc-noir-section-head { align-items: flex-start; flex-direction: column; gap: 10px; }
}

@media (max-width: 767px) {
  body.bpc-ivory-active.bpc-noir-active.bpc-noir-front { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  body.bpc-ivory-active.bpc-noir-active .bpc-mainbar { min-height: 62px !important; grid-template-columns: 38px minmax(0, 1fr) 76px !important; gap: 4px !important; padding: 0 12px !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-wordmark { font-size: clamp(12px, 3.45vw, 17px) !important; letter-spacing: .13em !important; white-space: nowrap; }
  body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-icon-button { width: 38px; height: 44px; }
  body.bpc-ivory-active.bpc-noir-active .bpc-utility-item--2 { display: none !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-utility-track { grid-template-columns: 1fr 1.4fr !important; gap: 8px !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-utility-item { font-size: 10px !important; line-height: 1.3 !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-utility-item--3 { grid-column: auto !important; border-top: 0 !important; padding-block: 3px !important; }
  .bpc-noir-hero { grid-template-columns: 1fr; }
  .bpc-noir-hero-copy { align-items: flex-start; padding: 24px 22px; }
  .bpc-noir-hero-copy h1 { margin-bottom: 12px; font-size: clamp(2.4rem, 10.5vw, 3.1rem) !important; }
  .bpc-noir-hero-copy > p { margin-bottom: 19px; font-size: 1rem; }
  .bpc-noir-home a.bpc-noir-button { min-height: 46px; padding: 12px 17px; font-size: .8125rem; }
  .bpc-noir-hero-images { gap: 1px; }
  .bpc-noir-hero-images > a { height: clamp(190px, 57vw, 280px); }
  .bpc-noir-hero-images img { min-height: 0; height: 100%; max-height: none; object-fit: cover; }
  .bpc-noir-hero-images > a > span { bottom: 10px; left: 10px; padding: 7px 12px; font-size: .8125rem; }
  .bpc-noir-services { gap: 8px 10px; padding: 12px 10px; font-size: .75rem; }
  .bpc-noir-services > span + span::before { margin-right: 10px; }
  .bpc-noir-new { padding: 25px 14px 25px; scroll-margin-top: 90px; }
  .bpc-noir-section-head { flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 17px; }
  .bpc-noir-section-head h2 { font-size: 2rem; }
  .bpc-noir-tabs { flex-wrap: nowrap; justify-content: space-between; gap: 14px; overflow-x: auto; scrollbar-width: thin; }
  .bpc-noir-tabs a { flex: 0 0 auto; font-size: .875rem; }
  .bpc-noir-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; }
  .bpc-noir-card-info { padding: 11px 10px 5px; }
  .bpc-noir-card-info .bpc-noir-brand { font-size: .8125rem; letter-spacing: .02em; overflow-wrap: anywhere; }
  .bpc-noir-card-info h3 { font-size: .875rem; line-height: 1.4; }
  .bpc-noir-price { font-size: 1rem; }
  .bpc-noir-price del { font-size: .75rem; }
  .bpc-noir-product-link { font-size: .8125rem; }
  .bpc-noir-members { flex-direction: column; align-items: stretch; gap: 17px; padding: 23px 20px; }
  .bpc-noir-members-copy { gap: 14px; }
  .bpc-noir-members h2 { font-size: 1.55rem; }
  .bpc-noir-members p { font-size: .875rem; }
  .bpc-noir-members .bpc-noir-button { align-self: flex-start; margin-left: 52px; }
  .bpc-noir-collections { padding: 33px 14px 16px; }
  .bpc-noir-collections h2 { font-size: 1.85rem; }
  .bpc-noir-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .bpc-noir-collection-grid > a:last-child { grid-column: 1 / -1; }
  .bpc-noir-collection-grid > a:last-child img { aspect-ratio: 2.7 / 1; object-position: center; }
  .bpc-noir-intro { padding: 22px 20px 36px; text-align: left; }
  .bpc-noir-intro h2 { font-size: 1.5rem; }
  .bpc-noir-intro p { font-size: .9375rem; }
  body.bpc-ivory-active.bpc-noir-active .bpc-noir-dock {
    position: fixed;
    z-index: 9995;
    inset: auto 0 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 8px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    background: #191919;
    border-top: 1px solid #40392d;
  }
  body.bpc-ivory-active.bpc-noir-active .bpc-noir-dock a { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 4px; min-height: 44px; color: #faf8f3 !important; -webkit-text-fill-color: #faf8f3 !important; font: 400 .75rem/1.25 var(--bpc-sans, Arial, sans-serif); text-decoration: none !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-noir-dock a[aria-current] { color: #d4b97f !important; -webkit-text-fill-color: #d4b97f !important; }
  .bpc-noir-dock svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
  body.bpc-noir-front .gt_float_switcher { margin-bottom: 68px; }
  body.bpc-noir-front #ast-scroll-top { bottom: 82px !important; }
}

@media (max-width: 359px) {
  body.bpc-ivory-active.bpc-noir-active .bpc-mainbar { padding-inline: 6px !important; gap: 0 !important; grid-template-columns: 34px minmax(0, 1fr) 68px !important; }
  body.bpc-ivory-active.bpc-noir-active .bpc-ivory-header .bpc-icon-button { width: 34px; }
  body.bpc-ivory-active.bpc-noir-active .bpc-wordmark { letter-spacing: .08em !important; }
  .bpc-noir-services { column-gap: 7px; font-size: .75rem; }
  .bpc-noir-services > span + span::before { margin-right: 7px; }
  .bpc-noir-members .bpc-noir-button { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .bpc-noir-home * { transition: none !important; scroll-behavior: auto !important; } }

/* 2.3.1 — readable secondary links, including the older SEO module markup. */
body.bpc-ivory-active.bpc-noir-active :is(.bpc-seo-related, .bpc-seo-related-categories) a {
  background: #faf8f3 !important;
  color: #3f3028 !important;
  -webkit-text-fill-color: #3f3028 !important;
  border: 1px solid #82786b !important;
  min-height: 44px;
  font-size: 14px !important;
  line-height: 1.4;
  text-shadow: none !important;
}
body.bpc-ivory-active.bpc-noir-active :is(.bpc-seo-related, .bpc-seo-related-categories) a:is(:hover, :focus-visible) {
  background: #e9e0ce !important;
  color: #191919 !important;
  -webkit-text-fill-color: #191919 !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-brands-alphabet button {
  background: #faf8f3 !important;
  color: #3f3028 !important;
  -webkit-text-fill-color: #3f3028 !important;
  min-height: 44px;
  font-size: 13px !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-brands-alphabet button:is(.is-active, :hover, :focus-visible) {
  background: #191919 !important;
  color: #faf8f3 !important;
  -webkit-text-fill-color: #faf8f3 !important;
  border-color: #191919 !important;
}

/* Keep the header icons explicit, including keyboard and touch states. */
body.bpc-ivory-active.bpc-noir-active header.bpc-ivory-header .bpc-icon-button svg {
  color: #faf8f3 !important;
  stroke: currentColor !important;
  fill: none !important;
  opacity: 1 !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-utility-item {
  font-size: 11px !important;
  line-height: 1.4 !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-utility-item > span {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Inputs retain dark text on a solid light surface; placeholders are readable. */
body.bpc-ivory-active.bpc-noir-active :is(.woocommerce, .bpc-search-inner, .bpc-brands-search) :is(input.input-text, input[type="email"], input[type="password"], input[type="search"], input[type="tel"], textarea, select) {
  color: #2b211a !important;
  -webkit-text-fill-color: #2b211a !important;
  font-size: 16px !important;
}
body.bpc-ivory-active.bpc-noir-active :is(.woocommerce, .bpc-search-inner, .bpc-brands-search) :is(input, textarea)::placeholder {
  color: #665d52 !important;
  -webkit-text-fill-color: #665d52 !important;
  opacity: 1 !important;
}
body.bpc-ivory-active.bpc-noir-active :is(.woocommerce, .bpc-search-inner, .bpc-brands-search) :is(input, select, textarea):focus-visible {
  outline: 2px solid #6a5028 !important;
  outline-offset: 3px;
}
body.bpc-ivory-active.bpc-noir-active .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 16px !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}

/* Leave room below legal links for the floating language selector. */
body.bpc-ivory-active.bpc-noir-active .bpc-footer-bottom {
  padding-bottom: 84px !important;
  font-size: 13px !important;
}
body.bpc-ivory-active.bpc-noir-active .bpc-ivory-footer :is(nav a, p) {
  font-size: 14px;
  line-height: 1.6;
}
@media (max-width: 767px) {
  body.bpc-ivory-active.bpc-noir-active #bp-account-page .bp-account-hero {
    padding: 32px 20px !important;
  }
  body.bpc-ivory-active.bpc-noir-active #bp-account-page .bp-account-hero h1 {
    font-size: 32px !important;
    line-height: 1.15 !important;
    text-transform: none !important;
  }
  body.bpc-ivory-active.bpc-noir-active #bp-account-page .bp-account-hero p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  body.bpc-ivory-active.bpc-noir-active.bpc-noir-front #gt_float_wrapper,
  body.bpc-ivory-active.bpc-noir-active.bpc-noir-front #ast-scroll-top {
    bottom: calc(80px + env(safe-area-inset-bottom)) !important;
  }
}

/* 2.3.2 — one purchase shortcut, with the product details left in the page. */
body.bpc-ivory-active.single-product .woocommerce-product-gallery {
  /* The image links remain usable while a delayed gallery script initializes. */
  opacity: 1 !important;
}
body.bpc-ivory-active.single-product .bpc-mobile-purchase-bar[hidden],
body.bpc-ivory-active.single-product .bpc-v119-mobile-buy,
body.bpc-ivory-active.single-product .bpc-v119-mobile-buy.is-visible {
  display: none !important;
}
body.bpc-ivory-active.single-product .summary .product_title {
  display: block !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  text-transform: none !important;
}
body.bpc-ivory-active.single-product .summary .price .wlr-product-message {
  display: block !important;
  flex: 0 0 100%;
  width: 100%;
  padding: 8px 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  white-space: normal !important;
}
body.bpc-ivory-active.single-product .summary :is(.bpc-discovery-link:hover, .bpc-discovery-link:focus-visible) {
  background: #e9e0ce !important;
  color: #3f3028 !important;
  -webkit-text-fill-color: #3f3028 !important;
}
body.bpc-ivory-active.single-product .summary :is(.bpc-discovery-link, .bpc-purchase-trust span) {
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: .02em !important;
}
@media (max-width: 767px) {
  body.bpc-ivory-active.single-product .ast-sticky-add-to-cart {
    display: none !important;
  }
  body.bpc-ivory-active.single-product {
    padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
  }
  body.bpc-ivory-active.single-product .bpc-mobile-purchase-bar:not([hidden]) {
    display: block !important;
    position: fixed;
    inset: auto 0 0;
    z-index: 990;
    padding: 8px max(12px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    border-top: 1px solid #b5a995;
    background: #faf8f3;
    box-shadow: 0 -4px 16px rgba(25, 25, 25, .1);
  }
  body.bpc-ivory-active.single-product .bpc-mobile-purchase-bar a.bpc-mobile-purchase-primary {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 1px solid #191919 !important;
    border-radius: 4px !important;
    background: #191919 !important;
    color: #faf8f3 !important;
    -webkit-text-fill-color: #faf8f3 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    text-align: center;
    text-decoration: none !important;
  }
  body.bpc-ivory-active.single-product .bpc-mobile-purchase-bar a:focus-visible {
    outline: 3px solid #6a5028 !important;
    outline-offset: 3px;
  }
  body.bpc-ivory-active.single-product:is(.bpc-menu-open, .bpc-search-open) .bpc-mobile-purchase-bar {
    display: none !important;
  }
  body.bpc-ivory-active.single-product.bpc-product-dock-visible :is(#gt_float_wrapper, #ast-scroll-top) {
    bottom: calc(80px + env(safe-area-inset-bottom)) !important;
  }
  body.bpc-ivory-active.single-product .summary .single_add_to_cart_button {
    font-size: 14px !important;
    line-height: 1.4 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
  }
  body.bpc-ivory-active.single-product .summary :is(.bpc-v119-service span, .woocommerce-product-details__short-description) {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  body.bpc-ivory-active.single-product .summary form.cart {
    scroll-margin-block: 120px 80px;
  }
}
@media (min-width: 768px) {
  body.bpc-ivory-active.single-product .bpc-mobile-purchase-bar {
    display: none !important;
  }
}
