/* ============================================================
 * Bohemart Jewellery — Main Stylesheet
 * Warm Bohemian Editorial: terracotta, cream, forest, brass
 * Typography: Cormorant Garamond + Manrope + Azeret Mono
 * ============================================================ */

/* Hide third-party social-login buttons (Nextend Social Login, etc.)
   even if the plugin remains installed. */
.nsl-container,
.nsl-button,
.nsl-button-default,
.nsl-button-svg-container,
.nsl-button-label-container,
[class*="nsl-container-"],
[id^="nsl-button-"],
.woocommerce-form-login .nsl-container,
.woocommerce-form-register .nsl-container,
.woocommerce form .nsl-container,
.nextend-social-login,
.nsl-login-buttons-container { display: none !important; }

:root {
  --bm-cream: #FBF6EE;
  --bm-warm-white: #FFFCF7;
  --bm-sand: #E9DDCF;
  --bm-terracotta: #B85A3C;
  --bm-clay: #C86B4A;
  --bm-forest: #1F3A2E;
  --bm-forest-dark: #173024;
  --bm-sage: #7E9B86;
  --bm-ink: #1A1A18;
  --bm-charcoal: #2A2A26;
  --bm-brass: #B08D57;
  --bm-brass-soft: #D7C2A1;
  --bm-shadow-ambient: 0 10px 30px rgba(26,26,24,0.08);
  --bm-shadow-lift: 0 18px 50px rgba(26,26,24,0.12);
  --bm-radius: 16px;
  --bm-radius-sm: 10px;
  --bm-container: 1180px;
}

*,*::before,*::after { box-sizing: border-box; }
html, body { padding:0; margin:0; }
body {
  background: var(--bm-warm-white);
  color: var(--bm-ink);
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

.bm-container { max-width: var(--bm-container); margin: 0 auto; padding: 0 20px; }
@media (min-width: 768px) { .bm-container { padding: 0 28px; } }

/* Typography */
h1,h2,h3,h4 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; letter-spacing: -0.01em; margin: 0; }
.bm-h1 { font-size: clamp(2.5rem, 6vw, 4.6rem); line-height: 1.04; font-weight: 600; }
.bm-h1--md { font-size: clamp(2rem, 4.5vw, 3.2rem); }
.bm-h1__em { font-style: italic; color: var(--bm-forest); font-weight: 500; }
.bm-h2 { font-size: clamp(1.75rem, 3.2vw, 2.4rem); line-height: 1.15; font-weight: 600; }
.bm-h2--xl { font-size: clamp(2.2rem, 4vw, 3rem); line-height: 1.05; }
.bm-h3 { font-size: clamp(1.25rem, 1.6vw, 1.5rem); line-height: 1.25; font-weight: 500; }
.bm-text { font-size: 1rem; color: rgba(42,42,38,0.85); line-height: 1.7; }
.bm-text-soft { font-size: 0.9rem; color: rgba(42,42,38,0.72); line-height: 1.65; }
.bm-caption { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.22em; color: rgba(42,42,38,0.6); font-weight: 500; margin: 0; }
.bm-caption--light { color: rgba(255,252,247,0.8); }
.bm-font-mono { font-family: 'Azeret Mono', ui-monospace, SFMono-Regular, monospace; }
.bm-link { display: inline-flex; align-items: center; gap: 6px; font-size: 0.9rem; color: var(--bm-forest); transition: color .2s; }
.bm-link:hover { color: var(--bm-terracotta); }
.bm-stone-underline { background-image: linear-gradient(90deg, transparent 0%, var(--bm-brass) 12%, var(--bm-brass) 88%, transparent 100%); background-repeat: no-repeat; background-size: 100% 1px; background-position: 0 100%; padding-bottom: 6px; display: inline; }

/* Layout */
.bm-section { padding: 60px 0; }
.bm-section--np { padding-top: 0; }
.bm-section--center { padding: 80px 0; text-align: center; }
.bm-section__head { max-width: 640px; margin-bottom: 36px; }
.bm-section__head .bm-caption { margin-bottom: 10px; }
.bm-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 28px; }
.bm-row--end { align-items: flex-end; }
.bm-mt-l { margin-top: 36px; }

.bm-grid { display: grid; gap: 20px; }
.bm-grid--2 { grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 700px) { .bm-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.bm-grid--3 { grid-template-columns: 1fr; gap: 26px; }
@media (min-width: 768px) { .bm-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.bm-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px 14px; }
@media (min-width: 640px) { .bm-product-grid { gap: 36px 22px; } }
@media (min-width: 768px) { .bm-product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (min-width: 1024px) { .bm-product-grid { grid-template-columns: repeat(4, minmax(0,1fr)); } }

/* Skip link */
.bm-skip { position: absolute; left: -9999px; }
.bm-skip:focus { left: 16px; top: 16px; background: var(--bm-ink); color: var(--bm-warm-white); padding: 10px 14px; border-radius: 8px; z-index: 1000; }

/* Header */
.bm-header { position: sticky; top: 0; z-index: 30; background: rgba(255,252,247,0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(215,194,161,0.5); }
.bm-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 70px; gap: 14px; }
.bm-header__left { display: flex; align-items: center; gap: 10px; }
.bm-header__menu { display: inline-flex; }
@media (min-width: 1024px) { .bm-header__menu { display: none; } }
.bm-logo { display: inline-flex; align-items: baseline; gap: 8px; }
.bm-logo__word { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 500; color: var(--bm-ink); transition: color .2s; }
.bm-logo:hover .bm-logo__word { color: var(--bm-forest); }
.bm-logo__sub { font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(42,42,38,0.55); }
.bm-logo--lg .bm-logo__word { font-size: 2rem; }

.bm-nav--primary { display: flex; align-items: center; flex-wrap: wrap; }
.bm-nav__list { list-style: none; padding: 0; margin: 0; display: flex; gap: 14px; flex-wrap: wrap; }
@media (min-width: 1024px) { .bm-nav__list { gap: 28px; } }
.bm-nav__list li a { font-size: 0.82rem; color: var(--bm-charcoal); transition: color .2s; }
@media (min-width: 1024px) { .bm-nav__list li a { font-size: 0.88rem; } }
.bm-nav__list li a:hover, .bm-nav__list li.current-menu-item a { color: var(--bm-terracotta); }

.bm-header__right { display: flex; align-items: center; gap: 4px; }
.bm-icon-btn { background: transparent; border: 0; padding: 9px; border-radius: 8px; color: var(--bm-ink); display: inline-flex; align-items: center; justify-content: center; position: relative; }
.bm-icon-btn:hover { background: rgba(233,221,207,0.45); }
.bm-icon-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--bm-warm-white), 0 0 0 4px var(--bm-forest); }
.bm-icon-btn__badge, .bm-cart-count { position: absolute; top: 0; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--bm-forest); color: var(--bm-warm-white); font-size: 0.62rem; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.bm-wishlist-count { background: var(--bm-terracotta); }

/* Buttons */
.bm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px; border-radius: 12px; font-family: inherit; font-size: 0.88rem; letter-spacing: 0.02em; transition: background-color .2s, color .2s, border-color .2s; border: 0; cursor: pointer; line-height: 1; text-align: center; }
.bm-btn--primary { background: var(--bm-forest); color: var(--bm-warm-white); }
.bm-btn--primary:hover { background: var(--bm-forest-dark); }
.bm-btn--outline { background: transparent; color: var(--bm-forest); border: 1px solid var(--bm-forest); }
.bm-btn--outline:hover { background: rgba(31,58,46,0.06); }
.bm-btn--lg { min-height: 52px; padding: 0 26px; font-size: 0.95rem; }
.bm-btn[disabled] { opacity: 0.6; cursor: not-allowed; }

/* Hero */
.bm-hero { background: radial-gradient(1200px 600px at 20% 10%, rgba(184,90,60,0.18), transparent 60%), radial-gradient(900px 500px at 80% 30%, rgba(31,58,46,0.12), transparent 55%), linear-gradient(180deg, #FFFCF7 0%, #FBF6EE 55%, #FFFCF7 100%); position: relative; }
.bm-grain { position: relative; }
.bm-grain::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0.055; mix-blend-mode: multiply; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }
.bm-hero__inner { display: grid; grid-template-columns: 1fr; gap: 50px; padding: 70px 0 80px; align-items: center; }
@media (min-width: 768px) { .bm-hero__inner { grid-template-columns: repeat(2, 1fr); gap: 60px; padding: 100px 0 120px; } }
.bm-hero__sub { font-size: 1rem; color: rgba(42,42,38,0.8); max-width: 460px; margin: 24px 0 0; line-height: 1.65; }
.bm-hero__ctas { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.bm-hero__tags { display: flex; align-items: center; gap: 22px; margin-top: 36px; }
.bm-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--bm-brass); display: inline-block; }
.bm-hero__visual { position: relative; }
.bm-hero__image-frame { aspect-ratio: 4/5; border-radius: var(--bm-radius); overflow: hidden; border: 1px solid var(--bm-brass-soft); box-shadow: var(--bm-shadow-lift); }
.bm-hero__image-frame img { width: 100%; height: 100%; object-fit: cover; }
.bm-hero__note { display: none; }
@media (min-width: 768px) { .bm-hero__note { display: block; position: absolute; bottom: -22px; left: -22px; max-width: 260px; background: var(--bm-warm-white); border: 1px solid var(--bm-brass-soft); border-radius: var(--bm-radius); padding: 18px; box-shadow: var(--bm-shadow-ambient); } }
.bm-hero__note-text { margin: 8px 0 0; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1rem; color: var(--bm-ink); line-height: 1.5; }

/* Features */
.bm-feature { padding: 0; }
.bm-feature__icon { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--bm-brass); background: var(--bm-warm-white); display: inline-flex; align-items: center; justify-content: center; color: var(--bm-forest); }
.bm-feature h3 { margin-top: 20px; }
.bm-feature p { margin-top: 8px; }

/* Category tiles */
.bm-cat-tile { display: block; position: relative; border-radius: var(--bm-radius); overflow: hidden; background: var(--bm-sand); color: var(--bm-warm-white); }
.bm-cat-tile__media { aspect-ratio: 4/3; overflow: hidden; }
@media (min-width: 1024px) { .bm-cat-tile__media { aspect-ratio: 16/12; } }
.bm-cat-tile__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.bm-cat-tile:hover .bm-cat-tile__media img { transform: scale(1.03); }
.bm-cat-tile__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.45) 100%); pointer-events: none; }
.bm-cat-tile__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 26px; }
.bm-cat-tile__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 6px; }
.bm-cat-tile__row h3 { color: var(--bm-warm-white); font-size: clamp(1.6rem, 3vw, 2.4rem); }
.bm-cat-tile .bm-link { color: var(--bm-warm-white); }

/* Product card */
.bm-product-card { position: relative; }
.bm-product-card__media { display: block; }
.bm-product-card__imgwrap { position: relative; aspect-ratio: 4/5; border-radius: var(--bm-radius); overflow: hidden; background: var(--bm-sand); }
.bm-product-card__img { width: 100%; height: 100%; object-fit: cover; transition: opacity .25s ease; display: block; }
.bm-product-card__img--secondary { position: absolute; inset: 0; opacity: 0; }
.bm-product-card:hover .bm-product-card__img--secondary { opacity: 1; }
.bm-product-card__info { margin-top: 14px; padding: 0 2px; }
.bm-product-card__title { font-size: clamp(1.05rem, 1.3vw, 1.25rem); margin: 0; line-height: 1.3; color: var(--bm-ink); transition: color .2s; }
.bm-product-card:hover .bm-product-card__title { color: var(--bm-terracotta); }
.bm-product-card__meta { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }
.bm-product-card__price { font-weight: 600; font-size: 0.9rem; font-variant-numeric: tabular-nums; color: var(--bm-ink); }
.bm-product-card__price .amount, .bm-product-card__price ins { text-decoration: none; }
.bm-product-card__price del { color: rgba(42,42,38,0.5); margin-right: 6px; }

.bm-wishlist-btn { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,252,247,0.95); border: 1px solid var(--bm-brass-soft); color: var(--bm-ink); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 1px 3px rgba(0,0,0,0.05); transition: background-color .2s; z-index: 2; }
.bm-wishlist-btn:hover { background: var(--bm-warm-white); }
.bm-wishlist-btn.is-saved { color: var(--bm-terracotta); }
.bm-wishlist-btn.is-saved svg { fill: var(--bm-terracotta); }

.bm-badge { display: inline-block; font-family: 'Azeret Mono', monospace; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.18em; padding: 5px 10px; border-radius: 999px; background: var(--bm-warm-white); color: var(--bm-ink); border: 1px solid var(--bm-brass-soft); position: absolute; top: 12px; left: 12px; z-index: 1; box-shadow: 0 1px 2px rgba(0,0,0,0.04); }

/* Split section */
.bm-split { display: grid; grid-template-columns: 1fr; gap: 36px; align-items: center; }
@media (min-width: 768px) { .bm-split { grid-template-columns: repeat(2, 1fr); gap: 56px; } }
.bm-image-frame { border-radius: var(--bm-radius); overflow: hidden; border: 1px solid var(--bm-brass-soft); box-shadow: var(--bm-shadow-ambient); aspect-ratio: 4/5; }
.bm-image-frame img { width: 100%; height: 100%; object-fit: cover; }
.bm-split__copy .bm-text { margin: 18px 0 24px; max-width: 480px; }

/* Form / Inputs */
.bm-input, .bm-textarea, input[type="text"].bm-input, input[type="email"].bm-input { width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--bm-brass-soft); background: var(--bm-warm-white); border-radius: 12px; font-family: inherit; font-size: 0.95rem; color: var(--bm-ink); transition: border-color .2s; }
.bm-input:focus, .bm-textarea:focus { outline: none; border-color: var(--bm-forest); box-shadow: 0 0 0 2px rgba(31,58,46,0.1); }
.bm-textarea { min-height: 130px; padding: 12px 14px; resize: vertical; }
.bm-label { display: block; }
.bm-label .bm-caption { margin-bottom: 8px; display: block; }

/* Footer */
.bm-footer { background: var(--bm-cream); border-top: 1px solid rgba(215,194,161,0.5); margin-top: 60px; }
.bm-footer__newsletter { padding: 60px 0; }
.bm-footer__newsletter-row { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: end; }
@media (min-width: 768px) { .bm-footer__newsletter-row { grid-template-columns: 7fr 5fr; gap: 36px; } }
.bm-footer__newsletter-sub { margin: 12px 0 0; font-size: 0.88rem; color: rgba(42,42,38,0.7); max-width: 460px; }
.bm-newsletter-form { display: flex; gap: 8px; flex-wrap: wrap; }
.bm-newsletter-form .bm-input { flex: 1 1 240px; height: 48px; }
.bm-newsletter-form .bm-btn { height: 48px; }

.bm-footer__columns { border-top: 1px solid rgba(215,194,161,0.5); }
.bm-footer__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; padding: 48px 20px; }
@media (min-width: 1024px) { .bm-footer__grid { grid-template-columns: 4fr 2fr 2fr 2fr 2fr; padding: 56px 28px; } }
.bm-footer__brand { grid-column: 1 / -1; }
@media (min-width: 1024px) { .bm-footer__brand { grid-column: auto; } }
.bm-footer__tagline { margin: 12px 0 0; font-size: 0.9rem; color: rgba(42,42,38,0.7); max-width: 360px; }
.bm-footer__instagram { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; color: var(--bm-forest); font-size: 0.88rem; transition: color .2s; }
.bm-footer__instagram:hover { color: var(--bm-terracotta); }
.bm-footer__col .bm-nav__list { flex-direction: column; gap: 10px; }
.bm-footer__col .bm-caption { margin-bottom: 16px; display: block; }
.bm-footer__col a { font-size: 0.9rem; color: var(--bm-charcoal); transition: color .2s; }
.bm-footer__col a:hover { color: var(--bm-terracotta); }
.bm-footer__bottom { border-top: 1px solid rgba(215,194,161,0.5); }
.bm-footer__bottom-row { padding: 22px 0; display: flex; flex-direction: column; gap: 6px; justify-content: space-between; align-items: center; }
@media (min-width: 640px) { .bm-footer__bottom-row { flex-direction: row; } }
.bm-footer__bottom-row p { margin: 0; font-size: 0.75rem; color: rgba(42,42,38,0.6); }

/* Mobile menu / Search / Cart drawer */
.bm-mobile-menu, .bm-search, .bm-cart-drawer { position: fixed; inset: 0; z-index: 50; visibility: hidden; }
.bm-mobile-menu[aria-hidden="false"], .bm-search[aria-hidden="false"], .bm-cart-drawer[aria-hidden="false"] { visibility: visible; }
.bm-mobile-menu__overlay, .bm-search__overlay, .bm-cart-drawer__overlay { position: absolute; inset: 0; background: rgba(26,26,24,0.4); opacity: 0; transition: opacity .25s; }
.bm-mobile-menu[aria-hidden="false"] .bm-mobile-menu__overlay, .bm-search[aria-hidden="false"] .bm-search__overlay, .bm-cart-drawer[aria-hidden="false"] .bm-cart-drawer__overlay { opacity: 1; }
.bm-mobile-menu__panel { position: absolute; top: 0; left: 0; bottom: 0; width: 82%; max-width: 360px; background: var(--bm-warm-white); transform: translateX(-100%); transition: transform .3s ease; display: flex; flex-direction: column; }
.bm-mobile-menu[aria-hidden="false"] .bm-mobile-menu__panel { transform: translateX(0); }
.bm-mobile-menu__header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid rgba(215,194,161,0.5); }
.bm-mobile-menu__body { padding: 18px 20px; flex: 1; overflow-y: auto; }
.bm-mobile-menu__body .bm-nav__list { flex-direction: column; gap: 0; }
.bm-mobile-menu__body .bm-nav__list li a { display: block; padding: 14px 0; font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; color: var(--bm-ink); border-bottom: 1px solid rgba(215,194,161,0.3); }

.bm-cart-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: 92%; max-width: 440px; background: var(--bm-warm-white); transform: translateX(100%); transition: transform .3s ease; display: flex; flex-direction: column; }
.bm-cart-drawer[aria-hidden="false"] .bm-cart-drawer__panel { transform: translateX(0); }
.bm-cart-drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 22px 20px 18px; border-bottom: 1px solid rgba(215,194,161,0.5); }
.bm-cart-drawer__body { flex: 1; overflow-y: auto; padding: 16px 20px 24px; }
.bm-cart-drawer .woocommerce-mini-cart { list-style: none; padding: 0; margin: 0; }
.bm-cart-drawer .woocommerce-mini-cart__total { padding: 16px 0; border-top: 1px solid rgba(215,194,161,0.4); display: flex; justify-content: space-between; align-items: center; font-weight: 600; }
.bm-cart-drawer .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 8px; padding-top: 8px; }
.bm-cart-drawer .woocommerce-mini-cart__buttons a { display: block; text-align: center; padding: 14px; border-radius: 12px; text-decoration: none; font-size: 0.9rem; font-weight: 500; transition: background-color .2s; }
.bm-cart-drawer .woocommerce-mini-cart__buttons a.checkout { background: var(--bm-forest); color: var(--bm-warm-white); }
.bm-cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover { background: var(--bm-forest-dark); }
.bm-cart-drawer .woocommerce-mini-cart__buttons a:not(.checkout) { background: transparent; color: var(--bm-forest); border: 1px solid var(--bm-forest); }
.bm-cart-drawer .woocommerce-mini-cart__empty-message { color: rgba(42,42,38,0.7); text-align: center; padding: 36px 0; }
.bm-cart-drawer .woocommerce-mini-cart-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(215,194,161,0.3); align-items: flex-start; }
.bm-cart-drawer .woocommerce-mini-cart-item img { width: 64px; height: 80px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.bm-cart-drawer .woocommerce-mini-cart-item a { color: inherit; text-decoration: none; }

.bm-search__panel { position: absolute; top: 14%; left: 50%; transform: translate(-50%, 0); width: 92%; max-width: 640px; background: var(--bm-warm-white); border-radius: var(--bm-radius); box-shadow: var(--bm-shadow-lift); padding: 18px 20px; }
.bm-search__form { display: flex; align-items: center; gap: 10px; }
.bm-search__form input[type="search"] { flex: 1; height: 44px; border: 0; outline: none; font-size: 1.05rem; background: transparent; font-family: inherit; color: var(--bm-ink); }
.bm-search__hint { margin: 10px 0 0; }

/* Shop / Archive */
.bm-shop-hero { background: radial-gradient(800px 400px at 20% 10%, rgba(184,90,60,0.16), transparent 60%), linear-gradient(180deg, #FFFCF7, #FBF6EE); border-bottom: 1px solid rgba(215,194,161,0.4); padding: 50px 0 56px; }
.bm-shop-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; gap: 16px; flex-wrap: wrap; }
.bm-shop-toolbar .woocommerce-result-count { margin: 0; font-size: 0.88rem; color: rgba(42,42,38,0.7); }
.bm-shop-toolbar .woocommerce-ordering select { background: var(--bm-warm-white); border: 1px solid var(--bm-brass-soft); border-radius: 10px; padding: 8px 14px; font-family: inherit; font-size: 0.82rem; color: var(--bm-ink); }
.bm-pagination { margin-top: 40px; }
.bm-pagination .page-numbers { display: inline-flex; min-width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 10px; margin: 0 3px; border: 1px solid var(--bm-brass-soft); font-size: 0.88rem; color: var(--bm-ink); text-decoration: none; padding: 0 12px; }
.bm-pagination .page-numbers.current { background: var(--bm-forest); color: var(--bm-warm-white); border-color: var(--bm-forest); }

/* PDP */
.bm-pdp { display: grid; grid-template-columns: 1fr; gap: 40px; padding: 30px 0 60px; }
@media (min-width: 768px) { .bm-pdp { grid-template-columns: 7fr 5fr; gap: 56px; } }
.bm-pdp__gallery .bm-image-frame { aspect-ratio: 4/5; cursor: zoom-in; }
.bm-pdp__details .bm-h1 { font-size: clamp(2rem, 3.5vw, 3rem); }
.bm-pdp__price { font-size: 1.5rem; font-weight: 600; font-variant-numeric: tabular-nums; margin-top: 10px; }
.bm-pdp__price .amount { font-weight: 600; }
.bm-pdp__price del { color: rgba(42,42,38,0.5); font-weight: 400; margin-right: 8px; }
.bm-pdp__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
.bm-chip { font-family: 'Azeret Mono', monospace; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.18em; padding: 5px 10px; border: 1px solid var(--bm-brass-soft); background: var(--bm-warm-white); border-radius: 999px; color: var(--bm-ink); }
.bm-pdp__desc { margin-top: 22px; }
.bm-pdp__actions { display: flex; align-items: center; gap: 10px; margin-top: 28px; flex-wrap: wrap; }
.bm-pdp__actions .bm-btn--primary { flex: 1; min-width: 200px; }
.bm-pdp__reassure { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 26px; }
.bm-pdp__reassure li { display: flex; align-items: center; gap: 8px; font-size: 0.78rem; color: rgba(42,42,38,0.75); }
.bm-pdp__reassure svg { color: var(--bm-forest); flex-shrink: 0; }

/* WooCommerce default quantity styling overrides */
.quantity { display: inline-flex; align-items: center; border: 1px solid var(--bm-brass-soft); border-radius: 999px; overflow: hidden; }
.quantity input.qty { width: 44px; height: 44px; border: 0; text-align: center; font-family: inherit; font-size: 0.9rem; background: transparent; -moz-appearance: textfield; }
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.single_add_to_cart_button.button { background: var(--bm-forest) !important; color: var(--bm-warm-white) !important; border-radius: 12px !important; padding: 14px 24px !important; font-size: 0.95rem !important; font-weight: 500 !important; border: 0 !important; }
.single_add_to_cart_button.button:hover { background: var(--bm-forest-dark) !important; }

/* WooCommerce notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--bm-cream); border: 1px solid var(--bm-brass-soft); border-radius: 12px; padding: 14px 18px; color: var(--bm-ink); font-size: 0.92rem; margin: 16px 0; }
.woocommerce-message::before { display: none; }
.woocommerce-message { border-left: 3px solid var(--bm-forest); }
.woocommerce-error { border-left: 3px solid #B42318; }

/* Cart / Checkout: page-level woocommerce */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce { padding: 30px 0 60px; }
.woocommerce-cart table.shop_table, .woocommerce-checkout table.shop_table { border: 1px solid var(--bm-brass-soft); border-radius: var(--bm-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--bm-warm-white); }
.woocommerce-cart table.shop_table th, .woocommerce-checkout table.shop_table th { background: var(--bm-cream); font-family: 'Manrope', sans-serif; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.18em; }
.woocommerce-cart table.shop_table td, .woocommerce-checkout table.shop_table td { padding: 16px; vertical-align: middle; }
.cart-collaterals .cart_totals h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; }
.checkout #payment, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { background: var(--bm-cream); border-radius: var(--bm-radius); border: 1px solid var(--bm-brass-soft); padding: 24px; }
.checkout #payment ul.payment_methods { border: 0; padding: 0; }
.button.wc-forward, button.button.alt, .checkout button.button.alt, #place_order { background: var(--bm-forest) !important; color: var(--bm-warm-white) !important; border-radius: 12px !important; padding: 14px 24px !important; font-weight: 500 !important; border: 0 !important; }
.button.wc-forward:hover, button.button.alt:hover, #place_order:hover { background: var(--bm-forest-dark) !important; }
.woocommerce-tabs ul.tabs { border-bottom: 1px solid rgba(215,194,161,0.5); padding-left: 0; }
.woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 16px 0 0; }
.woocommerce-tabs ul.tabs li a { padding: 12px 0; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.18em; font-weight: 500; color: var(--bm-charcoal); border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover { color: var(--bm-forest); border-bottom-color: var(--bm-forest); }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none; }

/* Static page (about/delivery/etc) */
.bm-prose { line-height: 1.75; color: rgba(42,42,38,0.88); font-size: 1rem; }
.bm-prose p { margin: 0 0 14px; }
.bm-prose h2 { margin: 30px 0 12px; }
.bm-prose h3 { margin: 24px 0 10px; }
.bm-prose ul, .bm-prose ol { padding-left: 22px; margin: 0 0 16px; }
.bm-prose a { color: var(--bm-forest); text-decoration: underline; }
.bm-prose a:hover { color: var(--bm-terracotta); }
.bm-prose-wrap { max-width: 760px; }

.bm-table { width: 100%; border-collapse: collapse; background: var(--bm-cream); border: 1px solid var(--bm-brass-soft); border-radius: var(--bm-radius); overflow: hidden; }
.bm-table th { text-align: left; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em; padding: 14px 18px; border-bottom: 1px solid rgba(215,194,161,0.5); font-weight: 500; }
.bm-table td { padding: 12px 18px; font-size: 0.9rem; border-top: 1px solid rgba(215,194,161,0.4); }

.bm-accordion { border-top: 1px solid rgba(215,194,161,0.5); }
.bm-accordion__item { border-bottom: 1px solid rgba(215,194,161,0.5); }
.bm-accordion__head { width: 100%; background: transparent; border: 0; padding: 16px 0; display: flex; justify-content: space-between; align-items: center; text-align: left; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.18em; font-weight: 500; color: var(--bm-ink); cursor: pointer; }
.bm-accordion__head[aria-expanded="true"] { color: var(--bm-forest); }
.bm-accordion__head::after { content: "+"; font-family: monospace; font-size: 1.1rem; transition: transform .2s; }
.bm-accordion__head[aria-expanded="true"]::after { content: "–"; }
.bm-accordion__body { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.bm-accordion__body-inner { padding: 0 0 18px; font-size: 0.9rem; color: rgba(42,42,38,0.8); line-height: 1.7; }
.bm-accordion__head[aria-expanded="true"] + .bm-accordion__body { max-height: 600px; }

/* Animations */
.bm-fade-in-up { animation: bmFadeInUp .6s cubic-bezier(0.2,0.8,0.2,1) both; }
@keyframes bmFadeInUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* Selection & scrollbar */
::selection { background: rgba(184,90,60,0.25); color: var(--bm-ink); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bm-cream); }
::-webkit-scrollbar-thumb { background: var(--bm-brass-soft); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--bm-brass); }

/* WooCommerce: hide stock indicator if not relevant, refine prices */
.price ins { background: transparent; font-weight: 600; }

/* Star ratings hidden — we don't show reviews per brand decision */
.woocommerce-product-rating, .woocommerce-tabs .reviews_tab { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}

/* ============================================================
 * Mobile sticky bottom navigation (Shop / Wishlist / Cart / Account)
 * ============================================================ */
.bm-bottom-nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 35;
  background: var(--bm-warm-white);
  border-top: 1px solid var(--bm-brass-soft);
  box-shadow: 0 -4px 20px rgba(26,26,24,0.06);
  display: flex;
  align-items: stretch;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.bm-bottom-nav__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 10px 4px 8px;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--bm-ink);
  text-decoration: none;
  transition: color .2s;
}
.bm-bottom-nav__item:hover,
.bm-bottom-nav__item.is-active { color: var(--bm-terracotta); }
.bm-bottom-nav__item svg { width: 22px; height: 22px; }
.bm-bottom-nav__icon-wrap { position: relative; display: inline-flex; }
.bm-bottom-nav__badge {
  position: absolute;
  top: -4px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--bm-forest);
  color: var(--bm-warm-white);
  font-size: 0.62rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.bm-bottom-nav__badge.bm-wishlist-count { background: var(--bm-terracotta); }

/* Constrain bottom nav width on larger screens so it doesn't stretch edge-to-edge */
@media (min-width: 1024px) {
  .bm-bottom-nav {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    max-width: 720px;
    width: 100%;
    border-left: 1px solid var(--bm-brass-soft);
    border-right: 1px solid var(--bm-brass-soft);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
  }
}

/* Extra bottom padding on body to prevent content being hidden by bottom nav (all screens) */
body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
