/* :root lives exclusively in design-system.css — do not redeclare here */

html {
    scroll-behavior: smooth;
}

.bd-minimalizm-front {
    background: var(--bd-surface);
    color: var(--bd-primary);
}

.bd-minimalizm-front .site-content,
.bd-minimalizm-front .inside-article,
.bd-minimalizm-front .container.grid-container,
.bd-minimalizm-front.one-container .site-content {
    max-width: none;
    margin: 0;
    padding: 0;
}

.bd-minimalizm-front .site-main {
    margin: 0;
}

.bd-home {
    overflow: hidden;
    background: var(--bd-surface);
    color: var(--bd-primary);
    font-family: var(--bd-sans);
}

.bd-home * {
    box-sizing: border-box;
}

.bd-home a:not(.bd-btn):not(.bd-button) {
    color: inherit;
    text-decoration: none;
}

.bd-home img {
    display: block;
    max-width: 100%;
    height: auto;
}

.bd-home h1,
.bd-home h2,
.bd-home h3 {
    margin: 0;
    color: var(--bd-primary);
    font-family: var(--bd-serif);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.08;
}

.bd-home p {
    margin: 0;
}

/* Global Unified Breadcrumbs Component (Matching /sklep/) */
.bd-breadcrumbs,
.woocommerce-breadcrumb,
.bd-commerce .woocommerce-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px;
    padding: 12px 0;
    font-family: var(--bd-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--bd-muted, rgba(15, 42, 29, 0.65));
}

.bd-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bd-breadcrumbs li {
    display: inline-flex;
    align-items: center;
}

.bd-breadcrumbs li + li::before {
    content: "/";
    margin-right: 8px;
    color: var(--bd-outline, rgba(15, 42, 29, 0.3));
    font-weight: 300;
}

.bd-breadcrumbs a,
.woocommerce-breadcrumb a,
.bd-commerce .woocommerce-breadcrumb a {
    color: var(--bd-muted, rgba(15, 42, 29, 0.65));
    text-decoration: none;
    transition: color 0.2s ease;
}

.bd-breadcrumbs a:hover,
.bd-breadcrumbs a:focus-visible,
.woocommerce-breadcrumb a:hover,
.woocommerce-breadcrumb a:focus-visible,
.bd-commerce .woocommerce-breadcrumb a:hover {
    color: var(--bd-gold-ink, var(--bd-primary, #0f2a1d));
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bd-breadcrumbs [aria-current="page"],
.bd-breadcrumbs li:last-child span,
.woocommerce-breadcrumb span[aria-current="page"] {
    color: var(--bd-primary, #0f2a1d);
    font-weight: 500;
}

.bd-hero-breadcrumbs .bd-breadcrumbs {
    margin: 0 0 16px;
    padding: 0;
}

.bd-map-3d-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--bd-radius-sm, 4px);
}

.bd-map-3d-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    right: auto;
    width: auto;
    max-width: calc(100% - 24px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(15, 42, 29, 0.92);
    color: #ffffff !important;
    font-family: var(--bd-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    z-index: 5;
}

.bd-map-3d-badge span,
.bd-map-3d-badge svg {
    color: #ffffff !important;
    fill: none;
}

.bd-map-3d-badge:hover,
.bd-map-3d-badge:focus-visible {
    background: #0f2a1d;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.bd-map-3d-badge:hover span,
.bd-map-3d-badge:focus-visible span {
    color: #ffffff !important;
    text-decoration: underline;
}

.bd-visually-hidden,
.bd-skip-link:not(:focus) {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.bd-skip-link:focus {
    position: fixed;
    z-index: 9999;
    top: 12px;
    left: 12px;
    background: var(--bd-primary);
    color: #fff;
    padding: 12px 16px;
    font: 700 12px/1 var(--bd-sans);
    text-transform: uppercase;
}

.bd-container {
    width: min(var(--bd-content), calc(100% - (var(--bd-gutter) * 2)));
    margin: 0 auto;
}

.bd-shell {
    width: min(var(--bd-content), calc(100% - (var(--bd-gutter) * 2)));
    margin-inline: auto;
}

/* Eyebrow — gold always wins over inherited muted color from parent selectors */
.bd-eyebrow {
    color: var(--bd-gold-ink) !important;
    font-family: var(--bd-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    font-style: normal !important;
}

.bd-reviewed-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  align-items: baseline;
  margin: 1rem 0 0;
  color: var(--bd-muted);
  font-size: 0.8125rem;
  line-height: 1.6;
}

.bd-reviewed-meta time {
  color: inherit;
  font-variant-numeric: tabular-nums;
}

.bd-section--dark .bd-reviewed-meta,
.bd-landing-final .bd-reviewed-meta {
  color: rgba(255, 255, 255, 0.78);
}

.bd-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 1px solid var(--bd-primary);
    border-radius: var(--bd-radius);
    padding: 11px 22px;
    color: var(--bd-primary);
    background: transparent;
    font: 700 11px/1.25 var(--bd-sans);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    transition: color var(--bd-duration) var(--bd-ease);
}

.bd-btn--primary,
.bd-button--primary {
    background: var(--bd-primary);
    color: #ffffff !important;
}

.bd-btn--ghost,
.bd-button--ghost {
    background: transparent;
    color: var(--bd-primary);
}

.bd-button--light {
    border-color: var(--bd-on-primary);
    background: var(--bd-on-primary);
    color: var(--bd-primary);
}

.bd-btn--primary:hover,
.bd-btn--primary:focus-visible,
.bd-button--primary:hover,
.bd-button--primary:focus-visible,
a.bd-btn--primary:hover,
a.bd-btn--primary:focus-visible,
a.bd-button--primary:hover,
a.bd-button--primary:focus-visible {
    background: var(--bd-primary-container);
    border-color: var(--bd-gold);
    color: #ffffff !important;
}

.bd-button--light:hover,
.bd-button--light:focus-visible,
a.bd-button--light:hover,
a.bd-button--light:focus-visible {
    background: var(--bd-surface-low);
    border-color: var(--bd-gold);
    color: var(--bd-primary);
}

.bd-text-link {
    min-height: 44px;
    border: 0;
    padding: 10px 0;
    color: var(--bd-primary);
    gap: 8px;
    text-align: left;
}

.bd-text-link:hover,
.bd-text-link:focus-visible {
    color: var(--bd-gold-ink);
}

.bd-nav {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* The three clusters (brand, links, actions) share one flex row and each
       reserves its own track. The links used to be position:absolute and
       centred on the viewport, which took them out of the row: at common
       laptop widths the brand lockup ran underneath them on the left and the
       action cluster on top of them on the right. */
    gap: clamp(8px, 1.2vw, 22px);
    padding: 0 var(--bd-gutter);
}

/* The frosted-glass background lives on a pseudo-element, not on .bd-nav
   itself. backdrop-filter on a real element creates a new containing block
   for its position:fixed descendants (Chrome/Safari) — that broke the
   mini-cart panel and confirmation, which are fixed descendants of this nav
   and need to stay anchored to the true viewport, not this 72px bar. */
.bd-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(250, 249, 246, 0.97);
    border-bottom: 1px solid rgba(230, 230, 230, 0.76);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    pointer-events: none;
}

.bd-nav__brand {
    min-height: 44px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--bd-primary);
    font-family: var(--bd-serif);
    font-size: clamp(20px, 2vw, 28px);
    line-height: 1;
    /* Pull the mark toward the header's left edge regardless of how wide
       --bd-gutter grows, while keeping a constant, deliberate breathing gap. */
    margin-left: calc(14px - var(--bd-gutter));
}

.bd-nav__mark {
    display: flex;
    align-items: center;
    gap: 9px;
    height: auto;
    flex: 0 0 auto;
}

.bd-global-header .bd-nav__mark .bd-nav__logo {
    display: block;
    width: 60px;
    max-width: none;
    height: 60px;
    object-fit: contain;
}

.bd-nav__mark .bd-nav__wordmark {
    display: block;
    width: auto;
    height: 18px;
    max-width: none;
}

.bd-nav__mark .bd-nav__pineapple-logo {
    display: block;
    width: auto;
    height: 40px;
    max-width: none;
}

.bd-nav__brand-text {
    color: var(--bd-primary);
    font: 400 clamp(20px, 2vw, 27px)/1 var(--bd-serif);
    white-space: nowrap;
}

.bd-nav__links {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: clamp(6px, 1vw, 18px);
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Nav labels stay on one line. Two-line labels ("Na zamówienie", "Usługi /
   Pracownia") made the 72px bar look broken and shifted the chevrons off the
   text baseline. */
.bd-nav__links > li {
    flex: 0 0 auto;
}

.bd-nav__links .bd-mega-item__link,
.bd-nav__links .bd-nav__primary a,
.bd-nav__links .bd-nav__direct a {
    white-space: nowrap;
}

.bd-nav__links a,
.bd-mega-item__link,
.bd-mega-item__toggle,
.bd-mobile-menu a,
.bd-footer a {
    color: rgba(26, 28, 26, 0.72);
    font: 700 10px/1 var(--bd-sans);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.bd-nav__links a,
.bd-mega-item__link,
.bd-mega-panel__links a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.bd-nav__links a:hover,
.bd-nav__links a:focus-visible,
.bd-nav__links a[aria-current="page"],
.bd-mega-item__link:hover,
.bd-mega-item__link:focus-visible,
.bd-mega-item__link[aria-current="page"],
.bd-mega-item__toggle:hover,
.bd-mega-item__toggle:focus-visible,
.bd-mega-item.is-open .bd-mega-item__link,
.bd-mega-item.is-open .bd-mega-item__toggle,
.bd-mobile-menu a:hover,
.bd-mobile-menu a[aria-current="page"],
.bd-footer a:hover {
    color: var(--bd-gold-ink);
}

.bd-mega-item {
    position: static;
}

.bd-mega-item.is-open::before {
    content: "";
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    z-index: 998;
    height: 22px;
}

.bd-mega-item__top {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.bd-mega-item__link {
    display: inline-flex;
    align-items: center;
}

.bd-mega-item__toggle {
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.bd-mega-item__toggle i {
    display: block;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform var(--bd-duration) var(--bd-ease);
}

.bd-mega-item.is-open .bd-mega-item__toggle i {
    transform: translateY(1px) rotate(225deg);
}

.bd-mega-panel {
    position: fixed;
    top: 72px;
    left: 50%;
    z-index: 999;
    width: min(1080px, calc(100vw - (var(--bd-gutter) * 2)));
    display: grid;
    grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.6fr);
    gap: clamp(24px, 4vw, 48px);
    padding: clamp(24px, 3vw, 38px);
    /*
     * Fully opaque on purpose. At 0.98 the page showed through the panel: the
     * hero headline ghosted across it and thin page rules (section dividers,
     * image edges) read as stray pale lines inside the menu. The panel is an
     * overlay, so it needs its own opaque surface plus real elevation instead
     * of relying on a 1px border to separate it from the content behind.
     */
    background: var(--bd-surface, #faf9f6);
    border: 1px solid rgba(194, 200, 194, 0.8);
    box-shadow: 0 18px 44px rgba(15, 42, 29, 0.14);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -8px);
    transition: opacity var(--bd-duration) var(--bd-ease), transform var(--bd-duration) var(--bd-ease);
}

.bd-mega-panel[hidden] {
    display: none;
}

.bd-mega-item.is-open .bd-mega-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.bd-mega-panel__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    border-right: 1px solid rgba(194, 200, 194, 0.68);
    padding-right: clamp(20px, 3vw, 36px);
}

.bd-mega-panel__intro span {
    color: var(--bd-gold-ink);
    font: 700 10px/1 var(--bd-sans);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.bd-mega-panel__intro strong {
    color: var(--bd-primary);
    font-family: var(--bd-serif);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 400;
    line-height: 1.05;
}

.bd-mega-panel__intro p {
    max-width: 28ch;
    margin: 0;
    color: rgba(26, 28, 26, 0.72);
    font-size: 14px;
    line-height: 1.6;
}

.bd-mega-panel__intro a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    margin-top: 6px;
    color: var(--bd-primary);
    font: 700 10px/1 var(--bd-sans);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

/*
 * Shared CTA for every mega panel intro ("Zobacz sekcję", "Wszystkie produkty").
 * Keep both classes in the selector: a bare .bd-mega-panel__cta would lose to
 * .bd-mega-panel__intro a above and render dark text on the dark fill.
 */
.bd-mega-panel__intro .bd-mega-panel__cta {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
    padding: 0 20px;
    background: var(--bd-primary);
    color: var(--bd-ivory, #faf9f6);
    font: 700 10px/1 var(--bd-sans);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid var(--bd-primary);
    border-radius: 2px;
    transition: background var(--bd-duration) var(--bd-ease), color var(--bd-duration) var(--bd-ease);
}

/* Filled button — same hover language as .bd-btn--primary. */
.bd-mega-panel__intro .bd-mega-panel__cta:hover,
.bd-mega-panel__intro .bd-mega-panel__cta:focus-visible {
    background: var(--bd-primary-container);
    border-color: var(--bd-gold);
    color: var(--bd-ivory, #faf9f6);
}

/*
 * On the CTA's own page, .bd-nav__links a[aria-current="page"] would repaint the
 * label gold on the dark fill (~2.3:1). Carry the current state in the fill
 * instead and keep the label ivory. Needs the attribute in the selector to
 * outweigh that nav rule.
 */
.bd-mega-panel__intro .bd-mega-panel__cta[aria-current="page"] {
    background: var(--bd-gold-ink);
    border-color: var(--bd-gold-ink);
    color: var(--bd-ivory, #faf9f6);
}

.bd-mega-panel__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(190px, 1fr));
    gap: 8px clamp(20px, 3vw, 38px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.bd-mega-panel__links a {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 66px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(194, 200, 194, 0.48);
    color: var(--bd-primary);
    text-transform: none;
    letter-spacing: 0;
}

/*
 * The separator is a divider *between* rows, so the bottom row must not draw
 * one — otherwise the panel ends on a pair of dangling lines under the last
 * items. The list is a 2-column grid filled row-wise: the final item is always
 * in the last row, and its neighbour is too whenever the total is even (which
 * puts that neighbour at an odd :nth-child position).
 */
.bd-mega-panel__links li:last-child a,
.bd-mega-panel__links li:nth-last-child(2):nth-child(odd) a {
    border-bottom: 0;
}

.bd-mega-panel__links span {
    color: var(--bd-primary);
    font: 700 14px/1.2 var(--bd-sans);
}

.bd-mega-panel__links small {
    color: rgba(66, 72, 68, 0.78);
    font: 400 12px/1.45 var(--bd-sans);
}

.bd-mega-panel__links a:hover span,
.bd-mega-panel__links a:focus-visible span {
    color: var(--bd-gold-ink);
}

/* --- "Sklep" transactional mega panel (4 curated columns) --- */
.bd-mega-panel--shop {
    width: min(1120px, calc(100vw - (var(--bd-gutter) * 2)));
    grid-template-columns: minmax(210px, 0.72fr) minmax(0, 2.6fr);
    align-items: start;
}

.bd-mega-panel__columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 34px);
}

.bd-mega-col {
    min-width: 0;
}

.bd-global-header h3.bd-mega-col__title {
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(194, 200, 194, 0.68);
    color: var(--bd-primary);
    font: 700 11px/1.3 var(--bd-sans);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bd-mega-col__links {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bd-mega-col__links a {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 6px 0;
    color: rgba(26, 28, 26, 0.82);
    font: 400 14px/1.35 var(--bd-sans);
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    transition: color var(--bd-duration) var(--bd-ease);
}

.bd-mega-col__links a:hover,
.bd-mega-col__links a:focus-visible {
    color: var(--bd-gold-ink);
}

.bd-mega-col__links a[aria-current="page"] {
    color: var(--bd-primary);
    font-weight: 700;
}

@media (max-width: 1024px) {
    .bd-mega-panel--shop {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }
    .bd-mega-panel--shop .bd-mega-panel__intro {
        border-right: 0;
        border-bottom: 1px solid rgba(194, 200, 194, 0.68);
        padding-right: 0;
        padding-bottom: 16px;
    }
}

.bd-nav__actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.bd-language-switch {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    color: var(--bd-primary);
    font: 700 11px/1 var(--bd-sans);
    letter-spacing: 0.08em;
    text-decoration: none;
}

.bd-language-switch:hover,
.bd-language-switch:focus-visible {
    color: var(--bd-gold-ink);
}

.bd-nav__search {
    position: relative;
    width: 44px;
    display: flex;
    align-items: center;
}

.bd-nav__search input {
    position: absolute;
    top: 0;
    right: 44px;
    z-index: 1;
    min-height: 44px;
    width: 220px;
    opacity: 0;
    pointer-events: none;
    border: 1px solid rgba(15, 42, 29, 0.34);
    background: var(--bd-surface);
    color: var(--bd-primary);
    padding: 7px 14px;
    font: 400 12px/1 var(--bd-sans);
    transform: translateY(-4px);
    transition: opacity var(--bd-duration) var(--bd-ease), transform var(--bd-duration) var(--bd-ease);
}

.bd-nav__search input:focus,
.bd-nav__search.is-open input {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.bd-nav__search button,
.bd-icon-link,
.bd-menu-toggle {
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--bd-primary);
    padding: 0;
    cursor: pointer;
}

/* GP dynamic CSS sets button:focus { color: #fff } with higher specificity (0,0,1,1)
   than our .bd-menu-toggle (0,0,1,0). Override explicitly for all interaction states. */
.bd-menu-toggle:hover,
.bd-menu-toggle:focus,
.bd-menu-toggle:focus-visible,
.bd-menu-toggle:active {
    background: transparent;
    color: var(--bd-primary);
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.bd-nav__search button,
.bd-menu-toggle {
    display: none;
}

/* Cart and account are always-on commerce affordances. They previously
   inherited display:none from the rule above and were therefore invisible at
   every width, even though the markup rendered them. */
.bd-icon-link {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
}

.bd-nav__search-trigger {
    display: inline-flex;
}

.bd-global-header .bd-nav__search-trigger:hover,
.bd-global-header .bd-nav__search-trigger:focus-visible,
.bd-global-header .bd-nav__search-trigger:active,
.bd-global-header .bd-nav__search-trigger[aria-expanded="true"] {
    background: var(--bd-surface-low) !important;
    background-color: var(--bd-surface-low) !important;
    color: var(--bd-primary) !important;
}

.bd-global-header .bd-nav__search-trigger > svg {
    color: inherit;
    stroke: currentColor;
    opacity: 1;
    visibility: visible;
}

.bd-global-header a.bd-icon-link:visited {
    color: var(--bd-primary) !important;
}

.bd-global-header a.bd-icon-link:hover,
.bd-global-header a.bd-icon-link:focus-visible,
.bd-global-header a.bd-icon-link:active {
    border-radius: var(--bd-radius);
    background: var(--bd-surface-low);
    color: var(--bd-primary) !important;
}

.bd-icon-link--cart,
.bd-wishlist-link,
.bd-mobile-menu__cart-link,
.bd-mobile-menu__wishlist-link {
    position: relative;
}

.bd-wishlist-link__count {
    position: absolute;
    top: 4px;
    right: 2px;
    min-width: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--bd-primary);
    color: var(--bd-on-primary);
    font: 700 10px/16px var(--bd-sans);
    text-align: center;
}

.bd-cart-count {
    position: absolute;
    top: 0;
    right: -2px;
    display: inline-grid;
    min-width: 18px;
    height: 18px;
    place-items: center;
    border: 2px solid var(--bd-surface);
    border-radius: var(--bd-radius);
    background: var(--bd-primary);
    color: var(--bd-on-primary);
    padding-inline: 3px;
    font: 700 10px/1 var(--bd-sans);
    letter-spacing: 0;
}

.bd-cart-count:empty {
    display: none;
}

.bd-mini-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.bd-mini-cart__panel[hidden] {
    display: none;
}

.bd-mini-cart.is-open::before {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: rgba(10, 20, 18, 0.32);
    content: "";
}

.bd-mini-cart__panel {
    position: fixed;
    inset: auto 0 0;
    z-index: 1201;
    max-height: min(82vh, 620px);
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--bd-outline-variant);
    border-radius: var(--bd-radius) var(--bd-radius) 0 0;
    background: var(--bd-surface);
    color: var(--bd-text);
    padding: 20px max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
    opacity: 0;
    transform: translateY(12px);
    transition: opacity var(--bd-duration-fast) var(--bd-ease), transform var(--bd-duration-fast) var(--bd-ease);
}

.bd-mini-cart.is-open .bd-mini-cart__panel {
    opacity: 1;
    transform: translateY(0);
}

.bd-mini-cart__close {
    position: absolute;
    top: 8px;
    right: 8px;
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0;
    border-radius: var(--bd-radius);
    background: transparent;
    color: var(--bd-primary);
    padding: 0;
    font: 400 24px/1 var(--bd-sans);
}

.bd-mini-cart__close:hover,
.bd-mini-cart__close:focus-visible,
.bd-mini-cart__close:active {
    background: var(--bd-surface-low);
}

body.bd-mini-cart-open {
    overflow: hidden;
}

body.bd-mobile-menu-open {
    overflow: hidden;
}

.bd-mini-cart__confirmation {
    margin: 0 44px 14px 0;
    border-left: 3px solid var(--bd-gold);
    background: var(--bd-surface-low);
    color: var(--bd-primary);
    padding: 12px 14px;
    font: 600 13px/1.5 var(--bd-sans);
}

.bd-mini-cart__confirmation > :where(p, .woocommerce-message) {
    min-height: 0;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    box-shadow: none !important;
    font: inherit;
}

.bd-mini-cart__confirmation > .woocommerce-message::before {
    display: none !important;
}

.bd-mini-cart__confirmation .woocommerce-message a.button {
    display: none !important;
}

.bd-mini-cart__panel :where(a, button) {
    min-height: 44px;
}

.bd-mini-cart .bd-mini-cart__panel a,
.bd-mini-cart .bd-mini-cart__panel a:visited {
    color: var(--bd-primary) !important;
    text-decoration: none;
}

.bd-mini-cart__panel .woocommerce-mini-cart {
    max-height: min(42vh, 390px);
    overflow: auto;
    margin: 0;
    padding: 0;
    list-style: none;
    scrollbar-gutter: stable;
}

.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart-item {
    position: relative;
    display: block;
    min-height: 96px;
    margin: 0;
    padding: 14px 44px 14px 0;
    border-bottom: 1px solid var(--bd-border);
    font: 600 13px/1.45 var(--bd-sans);
}

.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart-item > a:not(.remove) {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 64px;
    background: transparent !important;
    color: var(--bd-primary) !important;
}

.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart-item > a:not(.remove):hover,
.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart-item > a:not(.remove):focus-visible,
.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart-item > a:not(.remove):active {
    background: transparent !important;
    color: var(--bd-gold-ink) !important;
    text-decoration: none;
}

.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart-item > a:not(.remove) img {
    position: static;
    inset: auto;
    float: none;
    width: 64px;
    height: 64px;
    margin: 0;
    transform: none;
    object-fit: contain;
    background: var(--bd-surface-lowest);
}

.bd-mini-cart .bd-mini-cart__panel a.remove_from_cart_button,
.bd-mini-cart .bd-mini-cart__panel a.remove_from_cart_button:visited {
    position: absolute;
    top: 10px;
    right: 0;
    display: inline-grid !important;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0 !important;
    border-radius: var(--bd-radius) !important;
    background: transparent !important;
    color: var(--bd-muted) !important;
    padding: 0 !important;
    font: 400 24px/1 var(--bd-sans) !important;
    opacity: 1;
}

.bd-mini-cart .bd-mini-cart__panel a.remove_from_cart_button:hover,
.bd-mini-cart .bd-mini-cart__panel a.remove_from_cart_button:focus-visible,
.bd-mini-cart .bd-mini-cart__panel a.remove_from_cart_button:active {
    border: 0 !important;
    background: var(--bd-surface-low) !important;
    color: var(--bd-primary) !important;
}

.bd-mini-cart__panel :where(.quantity, .variation) {
    display: block;
    margin: 4px 0 0 76px;
    color: var(--bd-muted);
    font: 600 12px/1.45 var(--bd-sans);
}

.bd-mini-cart__panel .woocommerce-mini-cart__total {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0 14px;
    color: var(--bd-primary);
    font: 700 13px/1.4 var(--bd-sans);
}

.bd-mini-cart__panel .woocommerce-mini-cart__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0;
}

.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .button,
.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .button:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bd-primary) !important;
    border-radius: var(--bd-radius) !important;
    background: transparent !important;
    color: var(--bd-primary) !important;
    padding: 10px 12px;
    font: 700 11px/1.2 var(--bd-sans);
    text-align: center;
}

.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .button:not(.checkout):focus-visible,
.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .button:not(.checkout):active {
    border-color: var(--bd-gold) !important;
    background: var(--bd-surface-low) !important;
    color: var(--bd-primary) !important;
}

.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .checkout,
.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .checkout:visited {
    border-color: var(--bd-primary) !important;
    background: var(--bd-primary) !important;
    color: var(--bd-on-primary) !important;
}

.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .checkout:hover,
.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .checkout:focus-visible,
.bd-mini-cart .bd-mini-cart__panel .woocommerce-mini-cart__buttons .checkout:active {
    border-color: var(--bd-primary-deep) !important;
    background: var(--bd-primary-deep) !important;
    color: var(--bd-on-primary) !important;
}

.bd-mini-cart__panel .woocommerce-mini-cart__empty-message {
    margin: 0;
    color: var(--bd-muted);
    font: 600 13px/1.6 var(--bd-sans);
}

/* Mini-cart recommendations. The panel renders on every route, so these rules
 * live in the global sheet; the transactions sheet only owns the cart page. */

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations {
    margin: 16px 0 0;
    border-top: 1px solid var(--bd-border);
    padding-top: 14px;
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations h2 {
    margin: 0 0 10px;
    color: var(--bd-muted);
    font: 700 10px/1.2 var(--bd-sans);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations li {
    min-width: 0;
    margin: 0;
    list-style: none;
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations a {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 0;
    padding: 4px 0;
    color: var(--bd-primary) !important;
    text-decoration: none;
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations a:hover,
.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations a:focus-visible {
    color: var(--bd-gold-ink) !important;
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations img {
    width: 48px;
    height: 48px;
    margin: 0;
    object-fit: contain;
    background: var(--bd-surface-lowest);
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations__name {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: inherit;
    font: 600 12px/1.4 var(--bd-sans);
    text-transform: none;
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations__price {
    display: block;
    margin-top: 2px;
    color: var(--bd-primary);
    font: 700 12px/1.4 var(--bd-sans);
}

.bd-mini-cart .bd-mini-cart__panel .bd-cart-recommendations__price :where(del, ins, .amount) {
    background: transparent;
    font: inherit;
}

@media (max-width: 980px) {
    .bd-mini-cart .bd-mini-cart__panel [data-bd-recommendation-context="mini_cart"] .bd-cart-recommendations__price {
        display: none;
    }
}

@media (min-width: 981px) {
    .bd-mini-cart.is-open::before {
        display: none;
    }

    .bd-mini-cart__panel {
        inset: auto auto auto auto;
        /* Fixed-position top is viewport-relative, so this tracks the real nav
           height (72px, 60px compact) + gap, not a percentage of it. */
        top: 84px;
        right: 0;
        width: min(390px, calc(100vw - 32px));
        max-height: min(70vh, 620px);
        border-radius: var(--bd-radius);
        padding: 20px;
        transform: translateY(-6px);
    }

}

@media (prefers-reduced-motion: reduce) {
    .bd-mini-cart__panel {
        transition: none;
    }
}

.bd-nav svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
}

.bd-menu-toggle {
    width: auto;
    min-width: 44px;
    min-height: 44px;
}

.bd-menu-toggle i,
.bd-menu-toggle i::before,
.bd-menu-toggle i::after {
    display: block;
    width: 20px;
    height: 1.4px;
    background: currentColor;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), top 0.28s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.15s ease;
}

.bd-menu-toggle i {
    position: relative;
}

.bd-menu-toggle i::before,
.bd-menu-toggle i::after {
    content: "";
    position: absolute;
    left: 0;
}

.bd-menu-toggle i::before {
    top: -6px;
}

.bd-menu-toggle i::after {
    top: 6px;
}

/* Active state — the trigger's own aria-expanded (already toggled by
   bigdiamond-navigation.js on open/close) morphs the three bars into an X,
   no separate JS hook needed. */
.bd-menu-toggle[aria-expanded="true"] i {
    background: transparent;
}

.bd-menu-toggle[aria-expanded="true"] i::before {
    top: 0;
    transform: rotate(45deg);
}

.bd-menu-toggle[aria-expanded="true"] i::after {
    top: 0;
    transform: rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
    .bd-menu-toggle i,
    .bd-menu-toggle i::before,
    .bd-menu-toggle i::after {
        transition: none;
    }
}

.bd-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 1200;
    pointer-events: none;
    background: rgba(15, 42, 29, 0);
}

.bd-mobile-menu[hidden] {
    display: none;
}

.bd-mobile-menu.is-open {
    pointer-events: auto;
    background: rgba(15, 42, 29, 0.24);
}

.bd-mobile-menu__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: min(390px, 100vw);
    height: 100%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px clamp(20px, 6vw, 28px);
    background: var(--bd-surface);
    transform: translateX(100%);
    transition: transform 0.35s var(--bd-ease);
}

.bd-mobile-menu.is-open .bd-mobile-menu__panel {
    transform: translateX(0);
}

.bd-mobile-menu__top {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    margin-bottom: 12px;
    font-family: var(--bd-serif);
    font-size: 24px;
}

.bd-mobile-menu__brand {
    display: flex;
    justify-content: center;
    grid-column: 2;
}

.bd-mobile-menu__brand .bd-nav__wordmark {
    display: block;
    width: min(180px, 48vw);
    height: auto;
    max-width: 100%;
}

.bd-mobile-menu__top button {
    grid-column: 3;
    justify-self: end;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--bd-primary);
    font-size: 28px;
    cursor: pointer;
}

.bd-mobile-menu a {
    min-height: 44px;
    display: flex;
    align-items: center;
}

.bd-mobile-menu__primary {
    border-bottom: 1px solid rgba(194, 200, 194, 0.5);
}

.bd-mobile-contact {
    display: grid;
    gap: 8px;
    margin: 4px 0 0;
    border-top: 1px solid rgba(194, 200, 194, 0.72);
    padding-top: 18px;
    color: var(--bd-primary);
    font-style: normal;
}

.bd-mobile-contact__link {
    gap: 10px;
    min-height: 44px;
    color: var(--bd-primary) !important;
    font: 600 13px/1.45 var(--bd-sans) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.bd-mobile-contact__link:hover,
.bd-mobile-contact__link:focus-visible {
    color: var(--bd-gold-ink) !important;
}

.bd-mobile-contact__icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.bd-footer nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.bd-mobile-menu__cta {
    justify-content: center;
    min-height: 44px;
    margin-top: 2px;
    border: 1px solid var(--bd-primary);
    background: var(--bd-primary);
    color: var(--bd-on-primary) !important;
    padding: 0 16px;
}

/* Filled button — keeps its fill, lightens one step like .bd-btn--primary. */
.bd-mobile-menu__cta:hover,
.bd-mobile-menu__cta:focus-visible {
    border-color: var(--bd-gold);
    background: var(--bd-primary-container);
    color: var(--bd-on-primary) !important;
}

.bd-mobile-accordion {
    border-bottom: 1px solid rgba(194, 200, 194, 0.72);
    padding-bottom: 12px;
}

.bd-mobile-accordion > button {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 0;
    background: transparent;
    color: var(--bd-primary);
    padding: 0;
    font: 700 12px/1 var(--bd-sans);
    letter-spacing: 0.14em;
    text-align: left;
    text-transform: uppercase;
}

.bd-mobile-accordion > button i {
    width: 9px;
    height: 9px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--bd-duration) var(--bd-ease);
}

.bd-mobile-accordion > button[aria-expanded="true"] i {
    transform: rotate(225deg);
}

.bd-mobile-accordion__panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 8px 0 12px;
}

/* The [hidden] attribute (toggled by nav JS) must win over display:flex,
   otherwise the top-level accordions can never collapse. */
.bd-mobile-accordion__panel[hidden] {
    display: none;
}

.bd-mobile-accordion__panel p {
    margin: 0;
    color: rgba(66, 72, 68, 0.78);
    font-size: 14px;
    line-height: 1.55;
}

.bd-mobile-accordion__primary {
    color: var(--bd-gold-ink) !important;
}

/* --- "Sklep" nested disclosure groups (mobile) --- */
.bd-mobile-shop {
    gap: 10px;
}

.bd-mobile-shop__group {
    border-top: 1px solid rgba(194, 200, 194, 0.55);
    padding-top: 8px;
}

.bd-mobile-shop__group > button {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 0;
    background: transparent;
    color: var(--bd-primary);
    padding: 0;
    font: 700 11px/1 var(--bd-sans);
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
}

.bd-mobile-shop__group > button i {
    width: 8px;
    height: 8px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--bd-duration) var(--bd-ease);
}

.bd-mobile-shop__group > button[aria-expanded="true"] i {
    transform: rotate(225deg);
}

.bd-mobile-shop__links {
    display: flex;
    flex-direction: column;
    padding: 4px 0 8px;
}

.bd-mobile-shop__links a {
    min-height: 44px;
    color: rgba(26, 28, 26, 0.82) !important;
    font: 400 15px/1.4 var(--bd-sans) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.bd-mobile-shop__links a:hover,
.bd-mobile-shop__links a:focus-visible {
    color: var(--bd-gold-ink) !important;
}

.bd-mobile-shop [hidden] {
    display: none !important;
}

.bd-section {
    padding: var(--bd-section-gap) 0;
}

.bd-section--muted {
    background: var(--bd-surface-low);
}

.bd-section__head {
    margin-bottom: clamp(28px, 5vw, 56px);
}

.bd-section__head--row {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: end;
}

.bd-section__head h2 {
    max-width: 760px;
    margin-top: 14px;
    font-size: clamp(34px, 5vw, 64px);
}

/* ════════════════════════════════════════════════
   Global footer  (template-parts/footer/brand-footer.php)
   Server-rendered, inline theme SVG only, no external libs.
════════════════════════════════════════════════ */
.bd-footer {
    position: relative;
    overflow: hidden;
    padding: 0 var(--bd-gutter) calc(28px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--bd-border);
    background: var(--bd-surface);
    color: var(--bd-primary);
    font-family: var(--bd-sans);
    font-size: 15px;
    line-height: 1.65;
}

.bd-footer__watermark {
    position: absolute;
    left: 50%;
    top: 8px;
    z-index: 0;
    color: rgba(15, 42, 29, 0.045);
    font-family: var(--bd-serif);
    font-size: clamp(76px, 15vw, 230px);
    line-height: 0.9;
    pointer-events: none;
    transform: translateX(-50%);
    white-space: nowrap;
}

/* ── Trust bar ─────────────────────────────────── */
.bd-footer__trust {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 48px);
    width: min(var(--bd-content), 100%);
    margin: 0 auto;
    padding: clamp(40px, 5vw, 64px) 0 clamp(30px, 4vw, 44px);
    border-bottom: 1px solid var(--bd-border);
    list-style: none;
}

.bd-footer__trust-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
}

.bd-footer__trust-icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    color: var(--bd-gold-ink);
}

.bd-footer__trust-copy {
    display: grid;
    gap: 3px;
}

.bd-footer__trust-copy strong {
    color: var(--bd-primary);
    font: 600 14px/1.4 var(--bd-sans);
}

.bd-footer__trust-copy span {
    color: var(--bd-muted);
    font: 400 13px/1.55 var(--bd-sans);
}

/* ── Main columns ──────────────────────────────── */
.bd-footer__content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(280px, 1.5fr) repeat(3, minmax(150px, 1fr));
    gap: clamp(28px, 5vw, 64px);
    width: min(var(--bd-content), 100%);
    margin: 0 auto;
    padding-top: clamp(48px, 6vw, 80px);
    align-items: start;
}

.bd-footer__col,
.bd-footer__brand-col {
    min-width: 0;
}

.bd-footer__logo {
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
}

.bd-footer__logo-img {
    display: block;
    width: clamp(88px, 9vw, 128px);
    height: auto;
}

.bd-footer__intro {
    max-width: 42ch;
    margin: 0 0 22px;
    color: var(--bd-muted);
    line-height: 1.7;
}

.bd-footer__address {
    display: grid;
    gap: 8px;
    margin: 0 0 22px;
    color: var(--bd-muted);
    font-style: normal;
    line-height: 1.6;
}

.bd-footer__address-line {
    line-height: 1.6;
}

.bd-footer__hours {
    color: var(--bd-muted);
}

.bd-footer__contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    width: fit-content;
    color: var(--bd-muted);
}

.bd-footer__contact-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

.bd-footer__cta {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid var(--bd-gold-ink);
    color: var(--bd-gold-ink);
    font: 700 11px/1 var(--bd-sans);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background var(--bd-duration) var(--bd-ease), color var(--bd-duration) var(--bd-ease);
}

/* Outline button on the dark footer — same hover language, light fill + gold border. */
.bd-footer__cta:hover,
.bd-footer__cta:focus-visible {
    background: var(--bd-surface-low);
    border-color: var(--bd-gold);
    color: var(--bd-primary);
}

/* ── Nav columns + accordion heading ───────────── */
.bd-footer__col {
    display: grid;
    align-content: start;
    gap: 14px;
}

.bd-footer__col-title {
    margin: 0;
    font: inherit;
}

.bd-footer__col-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 32px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--bd-gold-ink);
    font: 700 11px/1 var(--bd-sans);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-align: left;
    cursor: default;
}

.bd-footer__col-chevron {
    display: none;
    width: 18px;
    height: 18px;
    transition: transform var(--bd-duration) var(--bd-ease);
}

.bd-footer__links {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bd-footer__links li {
    margin: 0;
}

.bd-footer__links a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    color: var(--bd-muted);
}

/* Footer nav/legal/social/contact links read as legible sentence-case body
   links, overriding the shared uppercase micro-link style used by the header
   nav. Column headings keep the uppercase eyebrow treatment. */
.bd-footer__links a,
.bd-footer__legal a,
.bd-footer__social a,
.bd-footer__contact-link {
    font: 400 14px/1.5 var(--bd-sans);
    letter-spacing: 0;
    text-transform: none;
}

.bd-footer p {
    color: var(--bd-muted);
    line-height: 1.7;
}

.bd-footer a {
    color: var(--bd-muted);
}

/* ── Legal + social bottom bar ────────────────── */
.bd-footer__bar {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 16px 28px;
    align-items: center;
    width: min(var(--bd-content), 100%);
    margin: clamp(44px, 6vw, 80px) auto 0;
    padding-top: 22px;
    border-top: 1px solid var(--bd-border);
}

.bd-footer__copyright {
    margin: 0;
    color: var(--bd-muted);
    font-size: 13px;
}

.bd-footer__legal ul,
.bd-footer__social ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bd-footer__legal li,
.bd-footer__social li {
    margin: 0;
}

.bd-footer__legal a,
.bd-footer__social a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    color: var(--bd-muted);
    font-size: 13px;
}

.bd-footer__bar nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

/* ── Responsive ─────────────────────────────── */
@media (max-width: 980px) {
    .bd-section__head--row {
        align-items: start;
        flex-direction: column;
    }

    .bd-footer__content {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .bd-footer__brand-col {
        grid-column: 1 / -1;
    }

    .bd-footer__trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .bd-footer {
        padding-inline: 20px;
    }

    .bd-footer__content {
        grid-template-columns: 1fr;
        gap: 0;
        padding-top: 36px;
    }

    .bd-footer__brand-col {
        margin-bottom: 22px;
    }

    .bd-footer__trust {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    /* Mobile accordion: groups collapse behind their heading buttons, but the
       markup is fully visible without JS. bigdiamond-footer.js adds
       .bd-footer--js and toggles [hidden] on the panels. */
    .bd-footer__col {
        gap: 0;
        border-top: 1px solid var(--bd-border);
    }

    .bd-footer__col-toggle {
        min-height: 54px;
        cursor: pointer;
    }

    .bd-footer__col-chevron {
        display: inline-flex;
    }

    .bd-footer__links {
        padding-bottom: 18px;
    }

    .bd-footer--js .bd-footer__links[hidden] {
        display: none;
    }

    .bd-footer--js .bd-footer__col-toggle[aria-expanded="true"] .bd-footer__col-chevron {
        transform: rotate(180deg);
    }

    .bd-footer__bar {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bd-footer__col-chevron,
    .bd-footer__cta,
    .bd-footer__contact-link {
        transition: none;
    }
}

.bd-global-header .bd-nav.bd-glass-nav::before {
    background: rgba(250, 249, 246, 0.97);
    border-bottom: 1px solid rgba(230, 230, 230, 0.78);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Nav base height — overridden per-context in home/commerce CSS */
.bd-nav {
    height: 72px;
}

.bd-nav__micro {
    color: rgba(15, 42, 29, 0.78);
    font: 700 10px/1.2 var(--bd-sans);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bd-nav__cta {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    border: 1px solid var(--bd-primary);
    padding: 0 14px;
    color: var(--bd-primary);
    font: 700 10px/1 var(--bd-sans);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* Outline button — same hover language as .bd-btn (gold border, one step lighter). */
.bd-nav__cta:hover,
.bd-nav__cta:focus-visible {
    background: var(--bd-surface-low);
    border-color: var(--bd-gold);
    color: var(--bd-primary);
}

/* The secondary direct links are the first thing to go when the row runs out
   of room. The previous rule targeted .bd-nav__micro, a class the markup no
   longer emits, so they never collapsed and overlapped the action icons. */
@media (max-width: 1400px) {
    .bd-nav__links .bd-nav__direct {
        display: none;
    }
}

@media (max-width: 1400px) {
    .bd-nav__micro,
    .bd-nav__cta {
        display: none;
    }
}

@media (max-width: 1024px) {
    /* Unified nav breakpoint: browsing links and search collapse into the
       hamburger drawer. The commerce affordances stay put — cart and account
       are how shoppers resume a session, so hiding them behind a drawer at
       common laptop widths cost more than the tidier layout was worth. */
    .bd-nav__links,
    .bd-nav__search {
        display: none;
    }

    .bd-global-header .bd-nav .bd-menu-toggle {
        display: inline-flex;
    }

    /* Bring the hamburger close to the header's left edge; the right edge
       keeps the full gutter for the action icons. */
    .bd-nav {
        padding-left: 14px;
    }

    /* Centre the lockup over the bar instead of sitting next to the
       hamburger: .bd-nav is position:fixed, so it's already a containing
       block for this. Taking the brand out of flow also means the hamburger
       and actions (the remaining flex items) keep splitting to the two
       edges untouched. */
    .bd-nav__brand {
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: 0;
        transform: translate(-50%, -50%);
    }

    .bd-nav__mark .bd-nav__wordmark {
        height: 32px;
    }

    /* Keep the action cluster clear of the absolutely centred brand. */
    .bd-nav__actions {
        margin-left: auto;
        gap: 4px;
    }

    .bd-mini-cart__panel {
        right: 0;
        max-width: min(320px, calc(100vw - 2 * var(--bd-gutter)));
    }
}

@media (max-width: 600px) {
    /* On phones only the cart and the new search trigger survive next to the
       brand and the hamburger. Account and the language switch remain
       reachable inside the drawer. The search trigger shares .bd-icon-link
       with those hidden icons, so it needs its own exclusion here — without
       it, this higher-specificity rule wins over the Task 4 mobile-header
       block below and the trigger silently disappears at phone widths. */
    .bd-nav__actions .bd-icon-link:not(.bd-icon-link--cart):not(.bd-nav__search-trigger),
    .bd-nav__actions .bd-language-switch {
        display: none;
    }

    /* Phones have far fewer icons competing for the bar than tablet, so the
       centred wordmark can grow past the tablet size above. */
    .bd-nav__mark .bd-nav__wordmark {
        width: clamp(96px, 30vw, 150px);
        height: auto;
    }
}

/* Mobile header — centered logo, search trigger, touch targets.
   Global-mobile (all routes ≤767px): the mobile PDP shares this header
   with the rest of the site, so this is not PDP-scoped CSS. */
@media (max-width: 767px) {
    .bd-nav {
        height: 68px;
        min-height: 68px;
        padding-inline: 20px;
        border-bottom: 1px solid #ece7e1;
        box-shadow: none;
    }

    .bd-nav::before {
        box-shadow: none;
    }

    /* Geometric centering: the brand mark is absolutely centered on the
       header regardless of how wide the icon clusters on either side are. */
    .bd-nav__brand {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .bd-nav__wordmark {
        width: clamp(96px, 30vw, 150px);
        height: auto;
    }

    .bd-menu-toggle,
    .bd-nav__search-trigger,
    .bd-icon-link,
    .bd-wishlist-link {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .bd-nav svg {
        width: 21px;
        height: 21px;
    }
}

.bd-header-search-panel {
    position: fixed;
    inset: 72px 0 auto;
    z-index: 1002;
    display: block;
    border-bottom: 1px solid var(--bd-outline-variant);
    background: rgba(250, 249, 246, 0.99);
    box-shadow: 0 14px 34px rgba(15, 42, 29, 0.1);
}

.bd-header-search-panel[hidden] {
    display: none;
}

.bd-header-search-panel__inner {
    width: min(720px, calc(100% - 40px));
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: var(--bd-space-sm);
    margin-inline: auto;
}

.bd-header-search-panel .search-form {
    display: flex;
    align-items: stretch;
    flex: 1;
    gap: var(--bd-space-sm);
}

.bd-global-header .bd-header-search-panel .search-field {
    flex: 1 1 auto;
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--bd-outline-variant) !important;
    border-radius: var(--bd-radius);
    background: var(--bd-surface-lowest) !important;
    color: var(--bd-text) !important;
    caret-color: var(--bd-text);
    font: 500 16px/1.4 var(--bd-sans);
    opacity: 1;
}

.bd-global-header .bd-header-search-panel .search-field::placeholder {
    color: var(--bd-muted);
    opacity: 1;
}

.bd-global-header .bd-header-search-panel .search-field:focus {
    border-color: var(--bd-primary) !important;
    outline: 2px solid var(--bd-gold);
    outline-offset: 2px;
}

.bd-global-header .bd-header-search-panel .search-submit {
    min-height: 48px;
    border: 1px solid var(--bd-primary) !important;
    border-radius: var(--bd-radius);
    background: var(--bd-primary) !important;
    color: var(--bd-on-primary) !important;
    padding: 0 18px;
    font: 700 11px/1.2 var(--bd-sans);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bd-global-header .bd-header-search-panel .search-submit:hover,
.bd-global-header .bd-header-search-panel .search-submit:focus-visible {
    border-color: var(--bd-primary-deep) !important;
    background: var(--bd-primary-deep) !important;
    color: var(--bd-on-primary) !important;
}

.bd-header-search-panel__close {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--bd-primary);
}

.bd-global-header .bd-header-search-panel__close:hover,
.bd-global-header .bd-header-search-panel__close:focus-visible,
.bd-global-header .bd-header-search-panel__close:active,
.bd-global-header .bd-mobile-menu__top > button:hover,
.bd-global-header .bd-mobile-menu__top > button:focus-visible,
.bd-global-header .bd-mobile-menu__top > button:active {
    background: var(--bd-surface-low) !important;
    color: var(--bd-primary) !important;
}

@media (max-width: 767px) {
    .bd-header-search-panel {
        inset: 68px 0 auto;
    }

    .bd-header-search-panel__inner {
        width: calc(100% - 32px);
        min-height: 68px;
    }
}

/* ────────────────────────────────────────────────
   Scroll Reveal — progressive enhancement
   Elements are fully visible by default.
   JS adds .bd-will-reveal and .bd-revealed classes.
──────────────────────────────────────────────── */
.bd-will-reveal {
    opacity: 1;
    transform: translateY(12px);
    transition:
        opacity var(--bd-duration) var(--bd-ease),
        transform var(--bd-duration) var(--bd-ease);
}

.bd-will-reveal.bd-revealed {
    opacity: 1;
    transform: translateY(0);
}

/* ────────────────────────────────────────────────
   Footer link hover refinement
──────────────────────────────────────────────── */
.bd-footer a:hover,
.bd-footer a:focus-visible {
    color: var(--bd-gold-ink);
}

.bd-footer strong {
    color: var(--bd-gold-ink);
}

/* Accordion heading is a bare <button>: neutralise GeneratePress's global
   button:hover (which turns text white and would vanish on the ivory footer). */
.bd-footer__col-toggle {
    background: none;
}

.bd-footer__col-toggle:hover,
.bd-footer__col-toggle:focus-visible {
    background: none;
    color: var(--bd-gold-ink);
}

/* The consultation CTA must keep readable text on its hover state, beating the
   generic .bd-footer a:hover rule and GeneratePress button colours. The hover
   fill is light (see .bd-footer__cta:hover), so the label has to go dark. */
.bd-footer__cta:hover,
.bd-footer__cta:focus-visible {
    color: var(--bd-primary) !important;
}

/* Visible keyboard focus across all footer controls. */
.bd-footer a:focus-visible,
.bd-footer__col-toggle:focus-visible {
    outline: 2px solid var(--bd-gold-ink);
    outline-offset: 3px;
}

/* ────────────────────────────────────────────────
   Section divider hairline (top of tonal sections)
──────────────────────────────────────────────── */
.bd-section--muted {
    border-top: 1px solid var(--bd-border);
    border-bottom: 1px solid var(--bd-border);
}

/* Search Authority: deterministic contextual links inside the main content. */
.bd-authority-next-steps {
    padding: clamp(2.5rem, 6vw, 5rem) 0;
    border-top: 1px solid var(--bd-border);
    border-bottom: 1px solid var(--bd-border);
    color: var(--bd-text);
    background: var(--bd-surface-low);
}

.bd-authority-next-steps__inner {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

.bd-authority-next-steps__heading {
    max-width: 42rem;
}

.bd-authority-next-steps__heading h2 {
    margin: .35rem 0 .85rem;
    color: inherit;
    font-family: var(--bd-font-display, Georgia, serif);
    font-size: clamp(1.8rem, 3.5vw, 3rem);
    font-weight: 400;
    line-height: 1.1;
}

.bd-authority-next-steps__heading > p:last-child {
    margin-bottom: 0;
    color: var(--bd-muted, #5d665f);
    line-height: 1.7;
}

.bd-authority-next-steps ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bd-authority-next-steps li {
    margin: 0;
}

.bd-authority-next-steps a {
    min-height: 4.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(22, 37, 31, .14);
    border-radius: var(--bd-radius);
    color: inherit;
    background: var(--bd-surface);
    text-decoration: none;
    transition: transform var(--bd-duration) var(--bd-ease);
}

.bd-authority-next-steps a:hover,
.bd-authority-next-steps a:focus-visible {
    border-color: var(--bd-gold, #a67c38);
    background: #fff;
    transform: translateY(-2px);
}

.bd-authority-next-steps a span {
    flex: 0 0 auto;
    font-size: 1.2em;
}

@media (max-width: 760px) {
    .bd-authority-next-steps__inner,
    .bd-authority-next-steps ul {
        grid-template-columns: 1fr;
    }
}

/* -------------------------------------------------------------------------
 * Search typeahead
 * ---------------------------------------------------------------------- */

.bd-typeahead-host {
    position: relative;
}

.bd-typeahead {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 200;
    max-height: min(70vh, 460px);
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--bd-border-soft, rgba(15, 42, 29, 0.12));
    border-radius: 12px;
    box-shadow: 0 18px 44px rgba(15, 42, 29, 0.16);
}

.bd-typeahead[hidden] {
    display: none;
}

.bd-typeahead__status {
    margin: 0;
    padding: 16px 18px;
    color: var(--bd-muted, #58625b);
    font-size: 14px;
}

.bd-typeahead__heading {
    margin: 0;
    padding: 10px 18px 2px;
    color: var(--bd-muted, #58625b);
    font: 600 11px/1.3 var(--bd-sans);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bd-typeahead__list {
    margin: 0;
    padding: 6px;
    list-style: none;
}

.bd-typeahead__item {
    margin: 0;
}

.bd-typeahead__link {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--bd-primary, #0f2a1d);
    cursor: pointer;
}

.bd-typeahead__link--simple {
    min-height: 40px;
}

.bd-typeahead__item.is-active .bd-typeahead__link,
.bd-typeahead__link:hover {
    background: rgba(15, 42, 29, 0.05);
}

.bd-typeahead__thumb {
    flex: none;
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    background: var(--bd-surface-low, #faf9f6);
}

.bd-typeahead__thumb--empty {
    display: block;
}

.bd-typeahead__meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.bd-typeahead__name {
    font: 600 14px/1.35 var(--bd-sans);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bd-typeahead__sub {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: var(--bd-muted, #58625b);
}

.bd-typeahead__price {
    font-weight: 600;
    color: var(--bd-gold-ink, #765722);
}

.bd-typeahead__all {
    display: block;
    padding: 12px 18px;
    border-top: 1px solid var(--bd-border-soft, rgba(15, 42, 29, 0.12));
    font: 600 13px/1 var(--bd-sans);
    letter-spacing: 0.02em;
    color: var(--bd-primary, #0f2a1d);
    text-decoration: none;
    text-align: center;
}

.bd-typeahead__all:hover {
    background: rgba(15, 42, 29, 0.04);
    color: var(--bd-gold-ink, #765722);
}

/* =========================================================================
 * Global Action Icon Buttons (Compare & Wishlist Toggles)
 * Neutralises GeneratePress & WooCommerce button:hover, button:focus, button:active
 * resets which otherwise force color: #ffffff (white) and vanish on light backgrounds.
 * ========================================================================= */

:where(button, a)[data-bd-wishlist-toggle],
:where(button, a)[data-bd-compare-toggle],
button.bd-card__compare,
button.bd-card__wishlist,
button.bd-pdp-gallery-wishlist,
button.bd-product-secondary-action {
    background-color: transparent;
    color: var(--bd-primary, #0F342A);
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

/* Hover and focus states when inactive: turn golden, never white */
:where(button, a)[data-bd-wishlist-toggle]:hover,
:where(button, a)[data-bd-wishlist-toggle]:focus,
:where(button, a)[data-bd-wishlist-toggle]:focus-visible,
:where(button, a)[data-bd-wishlist-toggle]:active,
:where(button, a)[data-bd-compare-toggle]:hover,
:where(button, a)[data-bd-compare-toggle]:focus,
:where(button, a)[data-bd-compare-toggle]:focus-visible,
:where(button, a)[data-bd-compare-toggle]:active,
button.bd-card__compare:hover,
button.bd-card__compare:focus,
button.bd-card__compare:focus-visible,
button.bd-card__compare:active,
button.bd-card__wishlist:hover,
button.bd-card__wishlist:focus,
button.bd-card__wishlist:focus-visible,
button.bd-card__wishlist:active,
button.bd-pdp-gallery-wishlist:hover,
button.bd-pdp-gallery-wishlist:focus,
button.bd-pdp-gallery-wishlist:focus-visible,
button.bd-pdp-gallery-wishlist:active {
    background-color: transparent !important;
    color: var(--bd-gold, #B8924F) !important;
    outline: none;
}

/* Active / Pressed state: MUST stay 100% visible and golden across ALL states */
:where(button, a)[data-bd-wishlist-toggle].is-active,
:where(button, a)[data-bd-wishlist-toggle][aria-pressed="true"],
:where(button, a)[data-bd-compare-toggle].is-active,
:where(button, a)[data-bd-compare-toggle][aria-pressed="true"],
button.bd-card__compare.is-active,
button.bd-card__compare[aria-pressed="true"],
button.bd-card__wishlist.is-active,
button.bd-card__wishlist[aria-pressed="true"],
button.bd-pdp-gallery-wishlist.is-active,
button.bd-pdp-gallery-wishlist[aria-pressed="true"] {
    background-color: transparent !important;
    color: var(--bd-gold, #B8924F) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Retain gold color even when focused, hovered or active while in active state */
:where(button, a)[data-bd-wishlist-toggle].is-active:hover,
:where(button, a)[data-bd-wishlist-toggle].is-active:focus,
:where(button, a)[data-bd-wishlist-toggle].is-active:active,
:where(button, a)[data-bd-wishlist-toggle][aria-pressed="true"]:hover,
:where(button, a)[data-bd-wishlist-toggle][aria-pressed="true"]:focus,
:where(button, a)[data-bd-wishlist-toggle][aria-pressed="true"]:active,
:where(button, a)[data-bd-compare-toggle].is-active:hover,
:where(button, a)[data-bd-compare-toggle].is-active:focus,
:where(button, a)[data-bd-compare-toggle].is-active:active,
:where(button, a)[data-bd-compare-toggle][aria-pressed="true"]:hover,
:where(button, a)[data-bd-compare-toggle][aria-pressed="true"]:focus,
:where(button, a)[data-bd-compare-toggle][aria-pressed="true"]:active,
button.bd-card__compare.is-active:hover,
button.bd-card__compare.is-active:focus,
button.bd-card__compare.is-active:active,
button.bd-card__compare[aria-pressed="true"]:hover,
button.bd-card__compare[aria-pressed="true"]:focus,
button.bd-card__compare[aria-pressed="true"]:active,
button.bd-card__wishlist.is-active:hover,
button.bd-card__wishlist.is-active:focus,
button.bd-card__wishlist.is-active:active,
button.bd-card__wishlist[aria-pressed="true"]:hover,
button.bd-card__wishlist[aria-pressed="true"]:focus,
button.bd-card__wishlist[aria-pressed="true"]:active,
button.bd-pdp-gallery-wishlist.is-active:hover,
button.bd-pdp-gallery-wishlist.is-active:focus,
button.bd-pdp-gallery-wishlist.is-active:active,
button.bd-pdp-gallery-wishlist[aria-pressed="true"]:hover,
button.bd-pdp-gallery-wishlist[aria-pressed="true"]:focus,
button.bd-pdp-gallery-wishlist[aria-pressed="true"]:active {
    background-color: transparent !important;
    color: var(--bd-gold, #B8924F) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Active Wishlist SVG: fill AND stroke the heart */
:where(button, a)[data-bd-wishlist-toggle].is-active svg path,
:where(button, a)[data-bd-wishlist-toggle][aria-pressed="true"] svg path,
button.bd-card__wishlist.is-active svg path,
button.bd-card__wishlist[aria-pressed="true"] svg path,
button.bd-pdp-gallery-wishlist.is-active svg path,
button.bd-pdp-gallery-wishlist[aria-pressed="true"] svg path {
    fill: currentColor !important;
    stroke: currentColor !important;
}

/* Compare SVG: keep stroke, no fill */
:where(button, a)[data-bd-compare-toggle] svg path,
button.bd-card__compare svg path {
    fill: none !important;
    stroke: currentColor !important;
}
