/*
Theme Name: BM Closet
Theme URI: https://bmcloset.com.br
Author: BM Closet
Author URI: https://bmcloset.com.br
Description: Tema WooCommerce da loja BM Closet — moda feminina. Mega menu, busca Ajax, mini carrinho, favoritos, quick view, checkout otimizado, SEO estruturado e acessibilidade WCAG AA.
Version: 1.8.4
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bm-closet
WC requires at least: 7.0
WC tested up to: 9.0
*/

/* =========================================================
   1. TOKENS
   Contrastes verificados contra WCAG AA (4.5:1 para texto normal).
   ========================================================= */
:root{
  --bm-cream: #F3F0EA;
  --bm-cream-2: #EDE9E1;
  --bm-white: #FFFFFF;
  --bm-dark: #141414;
  --bm-text: #2A2724;
  --bm-muted: #635E56;        /* 5.34:1 sobre cream — era #857f76 (3.49) */
  --bm-line: #E4DFD6;
  --bm-accent: #9C846A;       /* decorativo: bordas, hover, avatares */
  --bm-accent-text: #6E5B45;  /* 5.71:1 sobre cream — uso em texto */
  --bm-sale: #46744A;         /* 5.42:1 com texto branco — era #7fae7a (2.55) */
  --bm-price: #1c1b19;
  --bm-focus: #1B4D8F;

  --bm-footer-text: #cbc5ba;
  --bm-footer-link: #b3ada2;
  --bm-footer-dim: #948E85;   /* 5.02:1 sobre #0e0e0e — era #7d776d (4.35) */

  --bm-radius: 4px;
  --bm-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --bm-sans: "Jost", "Helvetica Neue", Arial, sans-serif;
  --bm-wrap: 1240px;
  --bm-header-h: 104px;
}

/* =========================================================
   2. BASE
   ========================================================= */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
body.bm-body{
  margin:0;
  font-family:var(--bm-sans);
  font-size:15px;
  line-height:1.6;
  color:var(--bm-text);
  background:var(--bm-cream);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block;}
a{color:inherit; text-decoration:none; transition:color .2s ease, opacity .2s ease;}
a:hover{color:var(--bm-accent-text);}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}
h1,h2,h3,h4{margin:0; font-weight:500;}
p{margin:0 0 1em;}

/* --- Acessibilidade: foco visível --- */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--bm-focus);
  outline-offset:2px;
  border-radius:2px;
}
#bm-content:focus{outline:none;}

/* --- Texto só para leitor de tela --- */
.bm-sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* --- Skip link --- */
.bm-skip-link{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--bm-dark); color:#fff; padding:12px 22px;
  font-size:13px; letter-spacing:.1em; text-transform:uppercase;
}
.bm-skip-link:focus{left:8px; top:8px; color:#fff;}

/* --- Movimento reduzido --- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

.bm-wrap{max-width:var(--bm-wrap); margin:0 auto; padding:0 24px;}

/* Rede de segurança contra rolagem horizontal indevida.
   'clip' não transforma overflow-y em auto (ao contrário de 'hidden'),
   então o header sticky continua funcionando. */
html{overflow-x:clip;}
body.bm-body{overflow-x:clip; max-width:100%;}

/* =========================================================
   3. TIPOGRAFIA DE SEÇÃO
   ========================================================= */
.bm-section{padding:68px 0;}
.bm-section--white{background:var(--bm-white);}
.bm-section--sand{background:var(--bm-cream-2);}

.bm-section-title{
  text-align:center;
  font-weight:400;
  letter-spacing:.30em;
  text-transform:uppercase;
  font-size:14px;
  color:var(--bm-text);
  margin:0 0 8px;
}
/* pequeno filete sob o título — toque editorial */
.bm-section-title::after{
  content:""; display:block; width:34px; height:1px;
  background:var(--bm-accent); margin:16px auto 0; opacity:.6;
}
.bm-section-sub{
  text-align:center; color:var(--bm-muted); font-size:13px;
  margin:12px 0 38px; letter-spacing:.02em;
}
.bm-section-title:only-child::after{margin-bottom:0;}
.bm-section-title + .bm-section-sub{margin-top:-4px;}
.bm-empty{text-align:center; color:var(--bm-muted);}

.bm-page{padding-top:40px; padding-bottom:60px;}
.bm-page--narrow{max-width:820px;}
.bm-page-title{margin-bottom:30px;}
.bm-page-heading{
  font-family:var(--bm-serif); font-size:clamp(28px,4vw,40px);
  line-height:1.15; text-align:center; margin:0 0 28px;
}
.bm-post-meta{text-align:center; color:var(--bm-accent-text);}
.bm-post-cover{margin:0 0 30px;}
.bm-entry{line-height:1.8;}
.bm-entry h2{font-family:var(--bm-serif); font-size:26px; margin:32px 0 12px;}
.bm-entry h3{font-family:var(--bm-serif); font-size:21px; margin:26px 0 10px;}
.bm-entry ul,.bm-entry ol{margin:0 0 1em 1.4em; list-style:revert;}
.bm-entry a{color:var(--bm-accent-text); text-decoration:underline;}
.bm-pagination{margin-top:40px; text-align:center;}
.bm-pagination .page-numbers{
  display:inline-block; padding:8px 14px; border:1px solid var(--bm-line);
  margin:0 3px; font-size:13px;
}
.bm-pagination .page-numbers.current{background:var(--bm-dark); color:#fff; border-color:var(--bm-dark);}

/* =========================================================
   4. BARRA PROMOCIONAL + HEADER
   ========================================================= */
.bm-topbar{
  background:var(--bm-dark); color:#f3efe8; font-size:12px;
  letter-spacing:.14em; text-transform:uppercase; text-align:center;
  padding:9px 16px; margin:0;
}
.bm-topbar-sep{margin:0 8px; opacity:.5;}

/* Header + menu grudados num único bloco fixo — sem vão nem sobreposição
   com o hero (antes eram dois sticky separados com offset fixo). */
.bm-sticky{position:sticky; top:0; z-index:120; transition:box-shadow .25s ease;}
.bm-sticky.is-stuck{box-shadow:0 6px 24px rgba(0,0,0,.09);}

.bm-header{
  background:var(--bm-cream);
  border-bottom:1px solid var(--bm-line);
}
.bm-header-main{
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:20px;
  padding:14px 24px; max-width:var(--bm-wrap); margin:0 auto;
}
.bm-header-left{display:flex; align-items:center; gap:12px;}
.bm-logo{display:flex; align-items:center;}
.bm-logo img,
.bm-logo .custom-logo,
.bm-logo .custom-logo-link img{height:40px; width:auto; max-height:40px; object-fit:contain; display:block;}
.bm-header-center{display:flex; justify-content:center;}

.bm-search-wrap{max-width:880px;}
.bm-search{
  display:flex; align-items:center; width:100%; max-width:880px;
  background:var(--bm-white); border:1px solid var(--bm-line);
  border-radius:40px; padding:6px 8px 6px 22px;
}
.bm-search input{
  border:0; background:transparent; outline:none; flex:1;
  font-size:13px; color:var(--bm-text); font-family:var(--bm-sans);
}
.bm-search button{
  border:0; background:var(--bm-dark); color:#fff;
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex:none;
}
.bm-search button:hover{background:var(--bm-accent-text);}

.bm-header-right{display:flex; justify-content:flex-end; align-items:center; gap:20px;}
.bm-icon-link{
  position:relative; display:flex; align-items:center; color:var(--bm-text);
}
.bm-icon-link svg{width:24px; height:24px; stroke:currentColor; flex:none;}
.bm-icon-link:hover{color:var(--bm-accent-text);}
/* rótulo (Conta/Favoritos/Sacola) fica só para leitores de tela */
.bm-icon-link > span:not([class]){
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
/* contador vira um selo no canto superior do ícone */
.bm-header-right .bm-cart-count,
.bm-header-right .bm-wish-count{
  position:absolute; top:-7px; left:15px; margin:0;
  background:var(--bm-accent-text); color:#fff; border-radius:50%;
  min-width:17px; height:17px; font-size:10px; padding:0 4px;
  display:inline-flex; align-items:center; justify-content:center; line-height:1;
}
.bm-header-right .bm-wish-count[hidden]{display:none;}
.bm-burger{display:none; background:none; border:0; padding:8px; color:var(--bm-text);}
.bm-burger svg{width:26px; height:26px;}

/* =========================================================
   5. NAVEGAÇÃO PRINCIPAL
   ========================================================= */
.bm-nav{background:var(--bm-dark);}
.bm-nav-inner{max-width:var(--bm-wrap); margin:0 auto; padding:0 24px;}
.bm-menu{display:flex; justify-content:center; flex-wrap:wrap; gap:4px;}
.bm-menu > li{position:relative;}
.bm-menu > li > a{
  display:flex; align-items:center; gap:9px;
  color:#e9e4db; font-size:12.5px; letter-spacing:.16em;
  text-transform:uppercase; padding:14px 16px;
}
.bm-menu > li > a:hover,
.bm-menu > li > a[aria-current="page"]{color:#fff;}
.bm-menu .bm-cat-ico{width:18px; height:18px; stroke:currentColor; flex:none; opacity:.9;}
.bm-menu .bm-sale-link > a{color:#e7b7a6;}
.bm-menu .bm-sale-link > a:hover{color:#ffcdbc;}

.bm-submenu{
  position:absolute; top:100%; left:0; min-width:220px;
  background:var(--bm-white); border:1px solid var(--bm-line);
  box-shadow:0 20px 40px rgba(0,0,0,.12); padding:10px 0;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:60;
}
/* Abre no hover E no foco por teclado — antes era só :hover */
.bm-menu > li:hover > .bm-submenu,
.bm-menu > li:focus-within > .bm-submenu{
  opacity:1; visibility:visible; transform:translateY(0);
}
@media (min-width:821px){
  .bm-js-menu .bm-menu > li:hover > .bm-submenu{opacity:0; visibility:hidden; transform:translateY(6px);}
  .bm-js-menu .bm-menu > li.is-open > .bm-submenu,
  .bm-js-menu .bm-menu > li:focus-within > .bm-submenu{opacity:1; visibility:visible; transform:translateY(0);}
}
.bm-submenu li a{
  display:block; padding:9px 20px; font-size:12px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--bm-text);
}
.bm-submenu li a:hover{background:var(--bm-cream); color:var(--bm-accent-text);}

/* =========================================================
   6. BREADCRUMB
   ========================================================= */
.bm-breadcrumb{background:var(--bm-cream); padding:16px 0 0;}
.bm-breadcrumb ol{display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--bm-muted);}
.bm-breadcrumb li{display:flex; align-items:center; gap:8px;}
.bm-breadcrumb li + li::before{content:"/"; color:var(--bm-line);}
.bm-breadcrumb a{color:var(--bm-muted);}
.bm-breadcrumb a:hover{color:var(--bm-accent-text);}
.bm-breadcrumb [aria-current="page"]{color:var(--bm-text);}

/* =========================================================
   7. HERO + TILES
   ========================================================= */
.bm-hero{position:relative; background:var(--bm-cream-2);}
.bm-hero-slide{
  position:relative; min-height:480px; display:flex; align-items:center;
  background-image:linear-gradient(90deg, rgba(243,240,234,.82), rgba(243,240,234,.15) 62%), var(--bm-hero-img);
  background-size:cover; background-position:center;
}
.bm-hero-inner{max-width:var(--bm-wrap); margin:0 auto; padding:0 24px; width:100%;}
.bm-hero-card{
  max-width:460px; background:transparent;
  padding:0;
}
.bm-hero-eyebrow{
  letter-spacing:.28em; text-transform:uppercase; font-size:12px;
  color:var(--bm-accent-text); margin:0 0 14px;
}
.bm-hero-title{
  font-family:var(--bm-serif); font-size:clamp(30px,5vw,44px);
  line-height:1.08; color:var(--bm-text); margin:0 0 14px; text-wrap:balance;
}
.bm-hero-sub{color:var(--bm-muted); margin:0 0 26px; font-size:15px;}

.bm-btn{
  display:inline-block; background:var(--bm-dark); color:#fff;
  padding:14px 40px; letter-spacing:.22em; text-transform:uppercase;
  font-size:12px; border:1px solid var(--bm-dark);
}
.bm-btn:hover{background:transparent; color:var(--bm-dark);}
.bm-btn-light{background:transparent; color:var(--bm-dark);}
.bm-btn-light:hover{background:var(--bm-dark); color:#fff;}

.bm-feature-tiles{
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--bm-line);
}
.bm-feature-tile{
  position:relative; min-height:210px; display:flex; align-items:flex-end;
  background-image:linear-gradient(180deg, rgba(20,18,16,0) 35%, rgba(20,18,16,.55)), var(--bm-tile-img);
  background-size:cover; background-position:center;
  border-right:1px solid rgba(255,255,255,.35);
  overflow:hidden;
}
.bm-feature-tile:last-child{border-right:0;}
.bm-feature-tile .bm-tile-img-zoom{transition:transform .6s ease;}
.bm-tile-body{padding:26px 32px; display:flex; flex-direction:column; gap:8px;}
.bm-tile-name{font-family:var(--bm-serif); font-size:28px; color:#fff; line-height:1;}
.bm-tile-link{
  color:#fff; font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  opacity:.9; display:inline-flex; align-items:center; gap:7px; align-self:flex-start;
}
.bm-tile-link::after{content:"→"; transition:transform .25s ease;}
.bm-feature-tile:hover .bm-tile-link::after{transform:translateX(4px);}

/* =========================================================
   8. TIRA DE CATEGORIAS
   ========================================================= */
.bm-catstrip{
  background:var(--bm-white);
  border-top:1px solid var(--bm-line); border-bottom:1px solid var(--bm-line);
}
.bm-catstrip-inner{
  max-width:var(--bm-wrap); margin:0 auto; padding:26px 24px;
  display:flex; gap:14px; justify-content:space-between; overflow-x:auto;
}
.bm-cat-item{
  flex:1 0 auto; min-width:96px; display:flex; flex-direction:column;
  align-items:center; gap:10px; text-align:center;
}
.bm-cat-circle{
  width:66px; height:66px; border-radius:50%;
  background:var(--bm-cream); border:1px solid var(--bm-line);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s ease, border-color .2s ease;
}
.bm-cat-item:hover .bm-cat-circle{background:var(--bm-dark); border-color:var(--bm-dark);}
.bm-cat-circle svg{width:30px; height:30px; stroke:var(--bm-text); transition:stroke .2s ease;}
.bm-cat-item:hover .bm-cat-circle svg{stroke:#fff;}
.bm-cat-label{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--bm-text);}

/* =========================================================
   9. GRADE E CARD DE PRODUTO
   ========================================================= */
.bm-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}

.bm-card{
  background:var(--bm-white); border:1px solid var(--bm-line);
  display:flex; flex-direction:column;
}
.bm-card-media{position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--bm-cream-2); display:block;}
.bm-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.bm-card:hover .bm-card-media img{transform:scale(1.04);}
.bm-badge{
  position:absolute; top:12px; left:12px; z-index:2;
  background:var(--bm-dark); color:#fff; font-size:10px;
  letter-spacing:.14em; text-transform:uppercase; padding:5px 10px;
}
.bm-badge-sale{background:var(--bm-sale);}
.bm-card-body{padding:16px 16px 20px; display:flex; flex-direction:column; flex:1; text-align:center;}
.bm-card-title{
  font-size:12px; letter-spacing:.06em; line-height:1.5;
  color:var(--bm-text); min-height:36px; text-transform:uppercase; font-weight:400; margin:0;
}
.bm-card-price{margin:12px 0 4px; font-size:15px; color:var(--bm-price); font-weight:500;}
.bm-card-price del{color:var(--bm-muted); font-weight:400; margin-right:8px;}
.bm-card-price ins{text-decoration:none;}
.bm-card-install{font-size:11px; color:var(--bm-muted); margin:0;}
.bm-card-cta{
  margin-top:auto; display:block; background:var(--bm-dark); color:#fff;
  text-align:center; padding:11px; font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
}
.bm-card-body > .bm-card-cta{margin-top:14px;}
.bm-card-cta:hover{background:var(--bm-accent-text); color:#fff;}

/* =========================================================
   10. FITCHECKS / DEPOIMENTOS / BLOG
   ========================================================= */
.bm-fit-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.bm-fit-card{position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--bm-cream-2); display:block;}
.bm-fit-card img{width:100%; height:100%; object-fit:cover;}
.bm-fit-tag{
  position:absolute; left:12px; bottom:12px; right:12px;
  background:var(--bm-sale); color:#fff; text-align:center; padding:9px;
  font-size:11px; letter-spacing:.1em; text-transform:uppercase;
}

.bm-testi{background:var(--bm-cream-2);}
.bm-testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px;}
.bm-testi-card{margin:0;}
.bm-testi-head{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.bm-testi-avatar{
  width:44px; height:44px; border-radius:50%; background:var(--bm-accent-text);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-family:var(--bm-serif); font-size:18px; flex:none;
}
.bm-testi-name{font-size:13px; font-weight:600; letter-spacing:.04em; display:block;}
.bm-testi-loc{font-size:11px; color:var(--bm-muted); display:block;}
.bm-stars{color:var(--bm-accent-text); letter-spacing:2px; font-size:13px; margin:0 0 8px;}
.bm-testi-text{font-size:13.5px; color:#45413B; line-height:1.7; margin:0; border:0; padding:0;}

.bm-blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.bm-blog-card{background:var(--bm-white); border:1px solid var(--bm-line);}
.bm-blog-media{aspect-ratio:4/3; overflow:hidden; background:var(--bm-cream-2); display:block;}
.bm-blog-media img{width:100%; height:100%; object-fit:cover;}
.bm-blog-body{padding:20px;}
.bm-blog-title{font-family:var(--bm-serif); font-size:20px; line-height:1.25; margin:0 0 8px;}
.bm-blog-meta{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--bm-accent-text); margin:0 0 6px;}
.bm-blog-excerpt{color:var(--bm-muted); font-size:13px; margin:0;}

/* =========================================================
   11. COMPRE POR TAMANHO
   ========================================================= */
.bm-size-grid{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px;}
.bm-size-chip{
  display:block; min-width:64px; padding:16px 18px;
  border:1px solid var(--bm-accent); text-align:center;
  letter-spacing:.16em; text-transform:uppercase; font-size:14px; font-weight:600;
  color:var(--bm-text); background:var(--bm-white);
}
.bm-size-chip:hover{background:var(--bm-dark); color:#fff; border-color:var(--bm-dark);}

/* =========================================================
   12. NEWSLETTER
   ========================================================= */
.bm-news{background:var(--bm-dark); color:#f1ece4; padding:60px 0;}
.bm-news-inner{max-width:640px; margin:0 auto; text-align:center; padding:0 24px;}
.bm-news h2{font-family:var(--bm-serif); font-size:30px; margin:0 0 10px; letter-spacing:0; text-transform:none;}
.bm-news p{color:#bdb6ab; margin:0 0 26px;}
.bm-news-form{display:flex; gap:10px; flex-wrap:wrap; justify-content:center;}
.bm-news-form input{
  flex:1; min-width:200px; background:transparent;
  border:1px solid #56514A; color:#fff; padding:14px 18px; font-size:13px;
  font-family:var(--bm-sans);
}
.bm-news-form input::placeholder{color:#9a948b;}
.bm-news-form button{
  background:#fff; color:var(--bm-dark); border:0; padding:14px 30px;
  letter-spacing:.18em; text-transform:uppercase; font-size:12px;
}
.bm-news-form button[disabled]{opacity:.6; cursor:wait;}
.bm-news-msg{margin:16px 0 0; font-size:13px; min-height:1.3em;}
.bm-news-msg.is-ok{color:#9fd6b4;}
.bm-news-msg.is-error{color:#f0a79c;}

/* =========================================================
   13. RODAPÉ
   ========================================================= */
.bm-footer{background:var(--bm-dark); color:var(--bm-footer-text); font-size:13px;}
.bm-footer-top{
  max-width:var(--bm-wrap); margin:0 auto; padding:54px 24px 40px;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px;
}
.bm-footer-logo{font-family:var(--bm-serif); font-size:26px; letter-spacing:.2em; color:#fff; margin:0 0 16px;}
.bm-footer-brand img{height:54px; width:auto; margin-bottom:16px; filter:brightness(0) invert(1);}
.bm-footer-brand p{color:#a49e94; line-height:1.7; max-width:280px;}
.bm-footer-social{display:flex; gap:14px; margin-top:20px;}
.bm-footer-social a{
  width:34px; height:34px; border:1px solid #3a3733; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--bm-footer-link);
}
.bm-footer-social a:hover{background:#fff; color:var(--bm-dark); border-color:#fff;}
.bm-footer-social svg{width:16px; height:16px; fill:currentColor;}

.bm-footer-col h2{
  color:#fff; font-size:12px; letter-spacing:.18em;
  text-transform:uppercase; margin:0 0 18px; font-weight:500;
}
.bm-footer-col li{margin-bottom:11px;}
.bm-footer-col a{color:var(--bm-footer-link);}
.bm-footer-col a:hover{color:#fff;}
.bm-footer-hint{color:#8b857c; font-size:12px; line-height:1.6;}
.bm-footer-contact li{display:flex; gap:10px; align-items:flex-start; color:var(--bm-footer-link);}
.bm-footer-contact svg{width:16px; height:16px; flex:none; margin-top:3px; color:#8b857c;}

.bm-footer-badges{border-top:1px solid #2c2926;}
.bm-footer-badges-inner{
  max-width:var(--bm-wrap); margin:0 auto; padding:24px;
  display:flex; justify-content:space-between; align-items:center;
  gap:24px; flex-wrap:wrap;
}
.bm-badges-label{
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:#948E85; margin:0 0 10px;
}
.bm-pay-badges{display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
.bm-pay-badge{
  background:#fff; border-radius:4px; padding:6px 9px;
  font-size:10px; font-weight:700; color:#222; letter-spacing:.02em;
  line-height:1; display:flex; align-items:center;
}
.bm-security-badges{display:flex; gap:16px; align-items:center; color:#948E85; font-size:11px; flex-wrap:wrap;}
.bm-security-badges li{display:flex; align-items:center; gap:6px;}

.bm-footer-bottom{
  background:#0e0e0e; color:var(--bm-footer-dim); text-align:center;
  font-size:11.5px; padding:16px 24px; line-height:1.7;
}

/* =========================================================
   14. BOTÕES FLUTUANTES
   ========================================================= */
/* WhatsApp e "voltar ao topo" empilhados no canto inferior DIREITO — assim
   não cobrem o "ver todos" dos cards de categoria (que ficam à esquerda). */
.bm-whatsapp{
  position:fixed; right:20px; bottom:20px; z-index:130;
  width:52px; height:52px; border-radius:50%;
  background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.24);
}
.bm-whatsapp:hover{background:#1FAF52; color:#fff;}
.bm-whatsapp svg{width:28px; height:28px;}

.bm-to-top{
  position:fixed; right:24px; bottom:84px; z-index:129;
  width:44px; height:44px; border-radius:50%;
  background:var(--bm-dark); color:#fff; border:0;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.22);
  opacity:0; transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease;
}
.bm-to-top[hidden]{display:none;}
.bm-to-top.is-visible{opacity:1; transform:translateY(0);}
.bm-to-top svg{width:20px; height:20px;}
.bm-to-top:hover{background:var(--bm-accent-text);}
/* quando não há WhatsApp, o topo desce para a base */
body:not(:has(.bm-whatsapp)) .bm-to-top{bottom:20px;}

/* =========================================================
   15. WOOCOMMERCE
   ========================================================= */
.bm-shop-wrap{max-width:var(--bm-wrap); margin:0 auto; padding:24px 24px 60px;}
.woocommerce .woocommerce-result-count{color:var(--bm-muted); font-size:13px;}

.woocommerce ul.products{
  display:grid !important; grid-template-columns:repeat(4,1fr);
  gap:22px; margin:24px 0 0 !important;
}
.woocommerce ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important;
  background:var(--bm-white); border:1px solid var(--bm-line);
  text-align:center; padding-bottom:18px;
}
.woocommerce ul.products li.product a img{margin:0 0 12px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:12px; text-transform:uppercase; letter-spacing:.06em; padding:0 14px;
}
.woocommerce ul.products li.product .price{color:var(--bm-price); font-size:15px;}
.woocommerce ul.products li.product .price del{color:var(--bm-muted);}

.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit{
  background:var(--bm-dark); color:#fff; border-radius:0;
  letter-spacing:.16em; text-transform:uppercase; font-size:11px; padding:11px 20px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce ul.products li.product .button:hover{background:var(--bm-accent-text); color:#fff;}

/* Botões primários do WooCommerce (add-to-cart, finalizar, blocos de carrinho/checkout)
   — sobrescreve o roxo padrão (#7f54b3) para a paleta da marca. */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce #place_order,
.woocommerce-checkout #place_order,
.wc-block-components-button:not(.is-link),
.wp-element-button{
  background:var(--bm-dark) !important;
  color:#fff !important;
  border-radius:0 !important;
  border:1px solid var(--bm-dark) !important;
  box-shadow:none !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce #place_order:hover,
.wc-block-components-button:not(.is-link):hover,
.wp-element-button:hover{
  background:var(--bm-accent-text) !important;
  border-color:var(--bm-accent-text) !important;
}

.woocommerce span.onsale{
  background:var(--bm-sale); border-radius:0; min-height:auto; min-width:auto;
  padding:4px 10px; font-size:11px; top:10px; left:10px; margin:0; line-height:1.4;
}
.woocommerce div.product .product_title{font-family:var(--bm-serif); font-size:clamp(26px,4vw,34px);}
.woocommerce div.product p.price, .woocommerce div.product span.price{color:var(--bm-price); font-size:24px;}
.woocommerce .quantity .qty{border:1px solid var(--bm-line); padding:8px;}
.woocommerce div.product form.cart .variations td{padding:8px 0;}
.bm-product-installment{color:var(--bm-muted); font-size:13px; margin:-6px 0 12px;}
.bm-product-freeship{
  color:var(--bm-sale); font-size:13px; font-weight:500;
  margin:0 0 14px; display:flex; align-items:center; gap:6px;
}

/* =========================================================
   16. 404
   ========================================================= */
.bm-404{padding:80px 24px; text-align:center;}
.bm-404-code{font-family:var(--bm-serif); font-size:clamp(64px,12vw,96px); color:var(--bm-accent); line-height:1; margin:0;}
.bm-404-text{color:var(--bm-muted); margin:10px auto 26px; max-width:46ch;}
.bm-404-actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:34px;}
.bm-404-search{max-width:420px; margin:0 auto;}
.bm-404-search input[type="search"]{
  width:100%; padding:13px 16px; border:1px solid var(--bm-line);
  background:var(--bm-white); font-family:var(--bm-sans); font-size:14px;
}
.bm-404-search input[type="submit"]{
  margin-top:10px; background:var(--bm-dark); color:#fff; border:0;
  padding:13px 30px; letter-spacing:.18em; text-transform:uppercase; font-size:12px;
}

/* =========================================================
   17. RESPONSIVO
   ========================================================= */
@media (max-width:1024px){
  .bm-grid, .woocommerce ul.products{grid-template-columns:repeat(3,1fr) !important;}
  .bm-fit-grid{grid-template-columns:repeat(2,1fr);}
  .bm-footer-top{grid-template-columns:1fr 1fr;}
}

@media (max-width:820px){
  .bm-sticky{position:static;}
  /*
   * Cabeçalho em duas linhas: [burger · logo · ícones] e [busca em largura total].
   *
   * As três colunas 1fr/auto/1fr deixam a logo no centro óptico da tela,
   * independentemente da largura do menu e dos ícones nas laterais. O
   * display:contents dissolve o agrupador para que o burger e a logo entrem
   * como células do próprio grid.
   */
  .bm-header-main{
    display:grid; grid-template-columns:1fr auto 1fr;
    align-items:center; gap:10px 8px; padding:12px 16px;
  }
  .bm-header-left{display:contents;}
  .bm-burger{grid-column:1; grid-row:1; justify-self:start; display:inline-flex;}
  .bm-logo{grid-column:2; grid-row:1; justify-self:center;}
  .bm-header-right{grid-column:3; grid-row:1; justify-self:end; gap:16px; margin:0;}
  .bm-header-center{grid-column:1 / -1; grid-row:2; display:flex;}
  .bm-search-wrap{max-width:100%;}
  /* mantém só os ícones (e os contadores), esconde os rótulos para não estourar a largura */
  .bm-header-right .bm-icon-link > span:not([class]){display:none;}
  .bm-logo img,
  .bm-logo .custom-logo,
  .bm-logo .custom-logo-link img{height:64px; max-height:64px;}

  .bm-nav{position:static; display:none;}
  .bm-nav.is-open{display:block;}
  .bm-menu{flex-direction:column; align-items:stretch; gap:0;}
  .bm-menu > li{border-bottom:1px solid rgba(255,255,255,.08);}
  .bm-menu > li > a{justify-content:flex-start; padding:15px 18px;}
  .bm-submenu{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:0; background:rgba(255,255,255,.04);
    padding:0; display:none;
  }
  .bm-menu > li.is-expanded > .bm-submenu{display:block;}
  .bm-submenu li a{color:#d9d3c9; padding:12px 34px;}
  .bm-submenu li a:hover{background:rgba(255,255,255,.06); color:#fff;}

  .bm-feature-tiles{grid-template-columns:1fr;}
  .bm-testi-grid, .bm-blog-grid{grid-template-columns:1fr;}
}

/* Aparelhos bem estreitos (SE, Android antigo): os três ícones à direita
   ocupam mais que o menu à esquerda, e a logo em 64px encostava neles.
   Alguns pixels a menos devolvem a folga sem perder presença. */
@media (max-width:360px){
  .bm-header-main{gap:10px 6px; padding:12px 12px;}
  .bm-header-right{gap:13px;}
  .bm-logo img,
  .bm-logo .custom-logo,
  .bm-logo .custom-logo-link img{height:54px; max-height:54px;}
}

@media (max-width:640px){
  .bm-grid, .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important;}
  .bm-section{padding:38px 0;}
  .bm-hero-card{padding:28px; max-width:100%;}
  .bm-hero-slide{min-height:340px;}
  .bm-footer-top{grid-template-columns:1fr; gap:32px;}
  .bm-footer-badges-inner{flex-direction:column; align-items:flex-start;}
  .bm-whatsapp{width:46px; height:46px;}
  .bm-whatsapp svg{width:24px; height:24px;}
  .bm-to-top{width:40px; height:40px;}
}

/* =========================================================
   18. MEGA MENU
   ========================================================= */
.bm-menu-arrow{width:14px; height:14px; opacity:.6; margin-left:-2px;}
.bm-menu > li.bm-has-mega{position:static;}

.bm-megapanel{
  position:absolute; left:0; right:0; top:100%;
  background:var(--bm-white); border-top:1px solid var(--bm-line);
  box-shadow:0 24px 40px rgba(0,0,0,.14);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:100;
}
/* Sem JS o painel abre no hover puro (o site continua navegável).
   Com JS, a classe bm-js-menu passa o controle para o atraso de intenção:
   o painel é largo e cobre o banner, e abrir ao simples roçar do ponteiro
   dava a impressão de que abria sozinho. */
.bm-menu > li:hover > .bm-megapanel,
.bm-menu > li:focus-within > .bm-megapanel{opacity:1; visibility:visible; transform:translateY(0);}

@media (min-width:821px){
  .bm-js-menu .bm-menu > li:hover > .bm-megapanel{opacity:0; visibility:hidden; transform:translateY(6px);}
  .bm-js-menu .bm-menu > li.is-open > .bm-megapanel,
  .bm-js-menu .bm-menu > li:focus-within > .bm-megapanel{opacity:1; visibility:visible; transform:translateY(0);}
}
.bm-megapanel-inner{max-width:var(--bm-wrap); margin:0 auto; padding:28px 24px;}

.bm-submenu--mega{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:4px 24px; position:static; opacity:1; visibility:visible;
  transform:none; box-shadow:none; border:0; padding:0; min-width:0; background:none;
}
.bm-submenu--mega > li a{
  display:flex; align-items:center; gap:10px; padding:9px 10px;
  font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--bm-text);
}
.bm-submenu--mega > li a:hover{background:var(--bm-cream); color:var(--bm-accent-text);}
.bm-sub-ico{width:17px; height:17px; stroke:var(--bm-accent-text); flex:none; opacity:.75;}

/* =========================================================
   19. BUSCA AJAX
   ========================================================= */
.bm-search-wrap{position:relative; width:100%; max-width:440px;}
.bm-search-panel{
  position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:140;
  background:var(--bm-white); border:1px solid var(--bm-line);
  box-shadow:0 20px 40px rgba(0,0,0,.14); max-height:70vh; overflow-y:auto;
}
.bm-search-results li + li{border-top:1px solid var(--bm-line);}
.bm-search-results a{display:flex; gap:12px; align-items:center; padding:12px 14px;}
.bm-search-results a:hover, .bm-search-results a:focus-visible{background:var(--bm-cream);}
.bm-search-results img{width:52px; height:66px; object-fit:cover; flex:none; background:var(--bm-cream-2);}
.bm-search-info{display:flex; flex-direction:column; gap:3px; min-width:0;}
.bm-search-name{font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; line-height:1.4;}
.bm-search-price{font-size:13px; color:var(--bm-price); font-weight:500;}
.bm-search-price del{color:var(--bm-muted); font-weight:400; margin-right:6px;}
.bm-search-empty{padding:20px 16px; text-align:center; color:var(--bm-muted); font-size:13px; margin:0;}
.bm-search-all{
  display:block; text-align:center; padding:13px; background:var(--bm-cream);
  border-top:1px solid var(--bm-line); font-size:11.5px;
  letter-spacing:.16em; text-transform:uppercase;
}
.bm-search-all:hover{background:var(--bm-dark); color:#fff;}
.bm-search-skel-row{display:flex; gap:12px; align-items:center; padding:12px 14px;}
.bm-search-skel-row .bm-skeleton-line{flex:1; margin-top:0;}

/* =========================================================
   20. SKELETON
   ========================================================= */
.bm-skeleton{
  display:block;
  background:linear-gradient(90deg, var(--bm-cream-2) 25%, #f6f3ee 50%, var(--bm-cream-2) 75%);
  background-size:200% 100%; animation:bm-shimmer 1.4s ease-in-out infinite; border-radius:2px;
}
@keyframes bm-shimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
.bm-skeleton-media{aspect-ratio:3/4; width:100%;}
.bm-skeleton-thumb{width:52px; height:66px; flex:none;}
.bm-skeleton-line{height:12px; margin-top:10px;}
.bm-skeleton-line--short{width:55%;}
.bm-skeleton-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.bm-skeleton-card{background:var(--bm-white); border:1px solid var(--bm-line); padding:0 0 16px;}
.bm-skeleton-card .bm-skeleton-line{margin:10px 16px 0;}
@media (prefers-reduced-motion: reduce){
  .bm-skeleton{animation:none;}
}

/* =========================================================
   21. SCROLL REVEAL
   ========================================================= */
.bm-reveal{opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease;}
.bm-reveal.is-revealed{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  .bm-reveal{opacity:1 !important; transform:none !important; transition:none;}
}

/* =========================================================
   22. WISHLIST + QUICK VIEW NO CARD
   ========================================================= */
.bm-card-media-wrap{position:relative; overflow:hidden;}

.bm-wish{
  position:absolute; top:10px; right:10px; z-index:3;
  width:36px; height:36px; border-radius:50%; border:1px solid var(--bm-line);
  background:rgba(255,255,255,.94); color:var(--bm-text);
  display:flex; align-items:center; justify-content:center; padding:0;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.bm-wish svg{width:19px; height:19px;}
.bm-wish .bm-wish-label{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap;
}
.bm-wish:hover{transform:scale(1.08);}
.bm-wish.is-active{background:var(--bm-accent-text); border-color:var(--bm-accent-text); color:#fff;}
.bm-wish.is-active svg{fill:currentColor;}

.bm-wish--single{
  position:static; width:auto; height:auto; border-radius:0; border:0;
  background:none; gap:8px; margin:14px 0 0; padding:6px 0;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
}
.bm-wish--single .bm-wish-label{position:static; width:auto; height:auto; clip:auto;}
.bm-wish--single:hover{transform:none; color:var(--bm-accent-text);}
.bm-wish--single.is-active{background:none; color:var(--bm-accent-text);}

.bm-quick-btn{
  position:absolute; left:12px; right:12px; bottom:12px; z-index:3;
  background:rgba(20,20,20,.92); color:#fff; border:0; padding:10px;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  opacity:0; transform:translateY(8px);
  transition:opacity .25s ease, transform .25s ease, background .2s ease;
}
.bm-card:hover .bm-quick-btn,
.bm-card:focus-within .bm-quick-btn{opacity:1; transform:translateY(0);}
.bm-quick-btn:hover{background:var(--bm-accent-text);}
@media (hover:none){
  .bm-quick-btn{opacity:1; transform:none;}
}

.bm-wish-count{
  background:var(--bm-accent-text); color:#fff; border-radius:50%;
  min-width:18px; height:18px; font-size:11px;
  display:inline-flex; align-items:center; justify-content:center; padding:0 4px;
}

/* =========================================================
   23. MODAL (QUICK VIEW)
   ========================================================= */
body.bm-no-scroll{overflow:hidden;}

.bm-modal{position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:24px;}
.bm-modal[hidden]{display:none;}
.bm-modal-backdrop{position:absolute; inset:0; background:rgba(20,20,20,.6);}
.bm-modal-box{
  position:relative; background:var(--bm-white); width:100%; max-width:720px;
  max-height:88vh; overflow-y:auto; box-shadow:0 30px 70px rgba(0,0,0,.3);
}
.bm-modal-close{
  position:absolute; top:12px; right:12px; z-index:5;
  width:38px; height:38px; border:0; border-radius:50%;
  background:var(--bm-cream); color:var(--bm-text);
  display:flex; align-items:center; justify-content:center;
}
.bm-modal-close:hover{background:var(--bm-dark); color:#fff;}
.bm-modal-close svg{width:18px; height:18px;}

.bm-quick-grid{display:grid; grid-template-columns:1fr 1fr;}
.bm-quick-media{background:var(--bm-cream-2);}
.bm-quick-media img{width:100%; height:100%; object-fit:cover;}
.bm-quick-info{padding:38px 34px;}
.bm-quick-title{font-family:var(--bm-serif); font-size:28px; line-height:1.15; margin:0 0 12px;}
.bm-quick-price{font-size:22px; color:var(--bm-price); margin-bottom:6px;}
.bm-quick-price del{color:var(--bm-muted); font-size:17px; margin-right:8px;}
.bm-quick-install{color:var(--bm-muted); font-size:13px; margin:0 0 16px;}
.bm-quick-desc{color:var(--bm-muted); font-size:13.5px; line-height:1.7; margin-bottom:18px;}
.bm-quick-full{
  display:inline-block; margin-top:18px; font-size:11.5px;
  letter-spacing:.16em; text-transform:uppercase;
  border-bottom:1px solid var(--bm-accent-text); color:var(--bm-accent-text); padding-bottom:2px;
}
.bm-quick-loading{display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:24px;}

/* =========================================================
   24. MINI CARRINHO (DRAWER)
   ========================================================= */
.bm-drawer-overlay{position:fixed; inset:0; background:rgba(20,20,20,.5); z-index:190;}
.bm-drawer-overlay[hidden]{display:none;}

.bm-minicart{
  position:fixed; top:0; right:0; bottom:0; width:min(400px,92vw); z-index:200;
  background:var(--bm-white); display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .3s ease;
  box-shadow:-10px 0 40px rgba(0,0,0,.18);
}
.bm-minicart.is-open{transform:translateX(0);}
@media (prefers-reduced-motion: reduce){
  .bm-minicart{transition:none;}
}

.bm-minicart-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 22px; border-bottom:1px solid var(--bm-line); flex:none;
}
.bm-minicart-head h2{font-size:13px; letter-spacing:.2em; text-transform:uppercase; margin:0;}
.bm-minicart-close{
  width:34px; height:34px; border:0; background:none; color:var(--bm-text);
  display:flex; align-items:center; justify-content:center;
}
.bm-minicart-close:hover{color:var(--bm-accent-text);}
.bm-minicart-close svg{width:18px; height:18px;}

.bm-minicart-content{display:flex; flex-direction:column; flex:1; overflow:hidden;}
.bm-minicart-items{flex:1; overflow-y:auto; padding:8px 22px;}
.bm-minicart-item{display:flex; gap:12px; padding:16px 0; border-bottom:1px solid var(--bm-line); position:relative;}
.bm-minicart-thumb{width:62px; flex:none;}
.bm-minicart-thumb img{width:62px; height:80px; object-fit:cover; background:var(--bm-cream-2);}
.bm-minicart-info{display:flex; flex-direction:column; gap:4px; min-width:0; padding-right:22px;}
.bm-minicart-name{font-size:12px; text-transform:uppercase; letter-spacing:.05em; line-height:1.45;}
.bm-minicart-meta{font-size:11.5px; color:var(--bm-muted);}
.bm-minicart-qty{font-size:12.5px; color:var(--bm-price);}
.bm-minicart-remove{
  position:absolute; top:16px; right:0; width:24px; height:24px;
  border:0; background:none; color:var(--bm-muted);
  display:flex; align-items:center; justify-content:center;
}
.bm-minicart-remove:hover{color:var(--bm-text);}
.bm-minicart-remove svg{width:14px; height:14px;}
.bm-minicart-remove[disabled]{opacity:.4; cursor:wait;}

.bm-minicart-footer{padding:20px 22px; border-top:1px solid var(--bm-line); flex:none; background:var(--bm-cream);}
.bm-minicart-total{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; font-size:13px;}
.bm-minicart-total strong{font-size:19px; color:var(--bm-price);}
.bm-btn-block{display:block; text-align:center; width:100%;}
.bm-minicart-link{
  display:block; text-align:center; margin-top:12px; font-size:11.5px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--bm-muted);
}
.bm-minicart-link:hover{color:var(--bm-accent-text);}
.bm-minicart-empty{padding:60px 24px; text-align:center; color:var(--bm-muted);}
.bm-minicart-empty svg{width:52px; height:52px; margin:0 auto 16px; stroke:var(--bm-line);}
.bm-minicart-empty p{margin-bottom:20px;}

/* =========================================================
   25. BARRA DE FRETE GRÁTIS
   ========================================================= */
.bm-freeship-bar{padding:16px 22px; background:var(--bm-cream); border-bottom:1px solid var(--bm-line);}
.bm-freeship-text{font-size:12.5px; text-align:center; margin:0 0 9px; color:var(--bm-text);}
.bm-freeship-text strong{color:var(--bm-sale);}
.bm-freeship-track{height:6px; background:var(--bm-line); border-radius:3px; overflow:hidden;}
.bm-freeship-fill{display:block; height:100%; background:var(--bm-sale); border-radius:3px; transition:width .4s ease;}
.woocommerce .bm-freeship-bar{margin-bottom:24px; border:1px solid var(--bm-line);}

/* =========================================================
   26. CARRINHO / CHECKOUT
   ========================================================= */
.bm-trust{display:flex; flex-direction:column; gap:12px; margin-top:20px; padding-top:20px; border-top:1px solid var(--bm-line);}
.bm-trust li{display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--bm-muted);}
.bm-trust svg{width:20px; height:20px; stroke:var(--bm-sale); flex:none;}
.bm-cart-continue{
  display:inline-block; margin-right:12px; font-size:12px;
  letter-spacing:.12em; text-transform:uppercase; color:var(--bm-muted);
}
.bm-cart-continue:hover{color:var(--bm-accent-text);}
.bm-checkout-trust{
  display:flex; gap:11px; align-items:flex-start; padding:14px 16px;
  background:var(--bm-cream); border:1px solid var(--bm-line); margin-bottom:16px;
}
.bm-checkout-trust svg{width:20px; height:20px; stroke:var(--bm-sale); flex:none; margin-top:2px;}
.bm-checkout-trust p{margin:0; font-size:12.5px; color:var(--bm-muted); line-height:1.6;}

/* =========================================================
   27. FORMULÁRIO DE CONTATO
   ========================================================= */
.bm-contact-form{display:flex; flex-direction:column; gap:18px; margin-top:24px;}
.bm-field{display:flex; flex-direction:column; gap:6px;}
.bm-field-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.bm-field label{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--bm-muted);}
.bm-field input, .bm-field select, .bm-field textarea{
  border:1px solid var(--bm-line); background:var(--bm-white);
  padding:12px 14px; font-family:var(--bm-sans); font-size:14px; color:var(--bm-text);
}
.bm-field input:focus, .bm-field select:focus, .bm-field textarea:focus{outline:none; border-color:var(--bm-accent-text);}
.bm-field textarea{resize:vertical;}
.bm-contact-form .bm-btn{align-self:flex-start; border:0; cursor:pointer;}
.bm-contact-msg{font-size:13.5px; margin:0;}
.bm-contact-msg.is-ok{color:var(--bm-sale);}
.bm-contact-msg.is-error{color:#A32C21;}
.bm-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

/* =========================================================
   28. RESPONSIVO DOS NOVOS COMPONENTES
   ========================================================= */
@media (max-width:1024px){
  .bm-skeleton-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:820px){
  .bm-megapanel{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:0; background:rgba(255,255,255,.04); display:none;
  }
  .bm-menu > li.is-expanded > .bm-megapanel{display:block;}
  .bm-megapanel-inner{padding:0;}
  .bm-submenu--mega{grid-template-columns:1fr; gap:0;}
  .bm-submenu--mega > li a{color:#d9d3c9; padding:12px 34px;}
  .bm-submenu--mega > li a:hover{background:rgba(255,255,255,.06); color:#fff;}
  .bm-sub-ico{stroke:#b9b2a7;}
  .bm-quick-grid, .bm-quick-loading{grid-template-columns:1fr;}
  .bm-quick-media img{max-height:44vh;}
  .bm-quick-info{padding:26px 22px;}
}
@media (max-width:640px){
  .bm-skeleton-grid{grid-template-columns:repeat(2,1fr);}
  .bm-field-row{grid-template-columns:1fr;}
  .bm-modal{padding:0;}
  .bm-modal-box{max-height:100vh; height:100%;}
}

/* =========================================================
   29. LOJA / ARQUIVO DE CATEGORIA
   ========================================================= */
.woocommerce-products-header{text-align:center; padding:8px 0 6px;}
.woocommerce-products-header__title,
.woocommerce .bm-shop-wrap h1.page-title{
  font-family:var(--bm-serif); font-size:clamp(30px,4vw,42px);
  font-weight:500; letter-spacing:.01em; margin:0 0 6px; text-transform:none;
}
.bm-archive-count{
  font-family:var(--bm-sans); font-size:12px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--bm-accent-text); margin:0 0 10px;
}
.term-description, .woocommerce-product-details__short-description,
.woocommerce-products-header .term-description{
  max-width:60ch; margin:0 auto 8px; color:var(--bm-muted); font-size:14px; line-height:1.7;
}
.woocommerce-products-header__title::after,
.woocommerce .bm-shop-wrap h1.page-title::after{
  content:""; display:block; width:34px; height:1px; background:var(--bm-accent);
  opacity:.6; margin:16px auto 0;
}

/* Barra de ordenação / contagem */
.bm-shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  border-top:1px solid var(--bm-line); border-bottom:1px solid var(--bm-line);
  padding:14px 0; margin:26px 0 4px; flex-wrap:wrap;
}
.woocommerce .woocommerce-result-count{margin:0; color:var(--bm-muted); font-size:12.5px; letter-spacing:.02em;}
.woocommerce .woocommerce-ordering{margin:0;}
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--bm-line); background:var(--bm-white); color:var(--bm-text);
  padding:9px 34px 9px 14px; font-family:var(--bm-sans); font-size:12.5px;
  letter-spacing:.04em; border-radius:0; -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E5B45' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center;
}

/* Loop usa o card do tema — remove a moldura padrão do <li> */
.woocommerce ul.products li.product.bm-loop-item{
  background:none !important; border:0 !important; padding:0 !important; text-align:left;
}
.woocommerce ul.products li.product.bm-loop-item .bm-card{height:100%;}

/* Paginação da loja */
.woocommerce nav.woocommerce-pagination ul{border:0; margin-top:40px;}
.woocommerce nav.woocommerce-pagination ul li{border:0; margin:0 3px;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--bm-line); padding:10px 15px; font-size:13px; min-width:auto;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--bm-dark); color:#fff; border-color:var(--bm-dark);
}

/* =========================================================
   30. PÁGINA DE PRODUTO
   ========================================================= */
.single-product div.product{
  display:grid; grid-template-columns:1.15fr 1fr; gap:52px; margin-top:8px; align-items:start;
}
/* Galeria domina a tela (padrão de e-commerce de moda). */
.single-product div.product .woocommerce-product-gallery{
  margin:0 !important; float:none !important; width:100% !important; max-width:100%;
}
.single-product div.product .woocommerce-product-gallery__wrapper{margin:0;}
.single-product div.product .woocommerce-product-gallery__image img,
.single-product div.product .woocommerce-product-gallery img{
  width:100% !important; height:auto; background:var(--bm-cream-2);
}
.single-product div.product .woocommerce-product-gallery__trigger{top:16px; right:16px;}
.single-product div.product .flex-control-thumbs{margin-top:12px; display:flex; gap:10px; padding:0;}
.single-product div.product .flex-control-thumbs li{width:72px;}

.single-product div.product .summary{margin:0; float:none; width:auto;}
.single-product div.product .product_title{
  font-family:var(--bm-serif); font-size:clamp(26px,3.2vw,36px); line-height:1.15; margin:0 0 14px;
}
.single-product .woocommerce-product-rating{margin-bottom:14px;}
.single-product div.product p.price,
.single-product div.product .summary .price{
  color:var(--bm-price); font-size:26px; margin:0 0 8px;
}
.single-product div.product p.price del{color:var(--bm-muted); font-size:19px; margin-right:10px;}
.single-product div.product p.price ins{text-decoration:none;}
.bm-product-installment{color:var(--bm-muted); font-size:13px; margin:0 0 18px;}
.woocommerce-product-details__short-description{
  margin:0 0 22px; color:#514c44; line-height:1.75; font-size:14.5px; max-width:none;
}

/* Variações — seletor de tamanho/cor
   Seletores com a mesma especificidade do WooCommerce para vencer o padrão. */
.woocommerce div.product form.cart .variations,
.single-product table.variations{border:0; margin:0 0 20px; width:100%;}
.woocommerce div.product form.cart .variations tr,
.single-product table.variations tr{display:block; margin-bottom:14px;}
.woocommerce div.product form.cart .variations th.label,
.single-product table.variations th.label{
  display:block; width:auto; padding:0 0 7px; text-align:left;
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bm-muted); font-weight:500;
}
.woocommerce div.product form.cart .variations td.value,
.single-product table.variations td.value{display:block; padding:0; width:auto;}

.woocommerce div.product form.cart .variations select,
.single-product table.variations select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  display:block; width:100%; max-width:320px; min-width:0; float:none;
  border:1px solid var(--bm-line); border-radius:0;
  background-color:var(--bm-white); color:var(--bm-text);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236E5B45' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
  padding:13px 42px 13px 15px; margin:0;
  font-family:var(--bm-sans); font-size:14px; line-height:1.3; cursor:pointer;
  transition:border-color .18s ease;
}
.woocommerce div.product form.cart .variations select:hover{border-color:var(--bm-accent);}
.woocommerce div.product form.cart .variations select:focus{
  border-color:var(--bm-accent-text); outline:none; box-shadow:0 0 0 3px rgba(110,91,69,.12);
}
.woocommerce div.product form.cart .variations select:focus-visible{outline:none;}

.single-product .reset_variations,
.woocommerce div.product form.cart .reset_variations{
  display:inline-block; margin:10px 0 0; font-size:11.5px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--bm-muted);
  border-bottom:1px solid var(--bm-line); padding-bottom:2px;
}
.single-product .reset_variations:hover{color:var(--bm-accent-text); border-bottom-color:var(--bm-accent-text);}

/* ---- Swatches de variação (chips de tamanho / bolinhas de cor) ---- */
/* o <select> nativo só é escondido quando o JS ativa os swatches */
.bm-hidden-select{display:none !important;}
.bm-swatches{display:flex; flex-wrap:wrap; gap:9px; margin:2px 0 2px;}
.bm-swatch{
  font-family:var(--bm-sans); font-size:13px; line-height:1;
  background:var(--bm-white); border:1.5px solid var(--bm-line); border-radius:24px;
  padding:11px 18px; cursor:pointer; color:var(--bm-text);
  display:inline-flex; align-items:center; gap:9px; letter-spacing:.03em;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.bm-swatch--size{min-width:48px; justify-content:center; text-transform:uppercase; font-weight:500;}
.bm-swatch:hover{border-color:var(--bm-accent);}
.bm-swatch.is-active{background:var(--bm-dark); border-color:var(--bm-dark); color:#fff;}
.bm-swatch:focus-visible{outline:none; box-shadow:0 0 0 3px rgba(110,91,69,.25);}
.bm-swatch.is-disabled{opacity:.35; cursor:not-allowed; text-decoration:line-through;}
.bm-swatch-dot{width:17px; height:17px; border-radius:50%; border:1px solid rgba(0,0,0,.18); flex:none;}
.bm-swatch.is-active .bm-swatch-dot{box-shadow:0 0 0 2px var(--bm-dark), 0 0 0 3px #fff inset;}
.bm-swatch-label{white-space:nowrap;}
.single-product .woocommerce-variation-price{margin-bottom:14px;}

/* Quantidade + botão */
.single-product form.cart{display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin:0 0 24px;}
.single-product form.cart .quantity{margin:0;}
.single-product form.cart .quantity .qty{
  border:1px solid var(--bm-line); padding:0 8px; height:52px; width:78px;
  text-align:center; font-size:15px; background:var(--bm-white);
}
.single-product .single_add_to_cart_button{
  flex:1; min-width:220px; min-height:52px; letter-spacing:.18em;
  text-transform:uppercase; font-size:12px;
}
/* feedback de carregando no add-to-cart AJAX */
.single-product .single_add_to_cart_button.loading{opacity:.75; pointer-events:none; position:relative; color:transparent !important;}
.single-product .single_add_to_cart_button.loading::after{
  content:""; position:absolute; top:50%; left:50%; width:16px; height:16px; margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%;
  animation:bm-spin .7s linear infinite;
}
@keyframes bm-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){.single_add_to_cart_button.loading::after{animation:none;}}
.single-product .bm-wish--single{margin:4px 0 22px;}

/* Meta (SKU / categorias) */
.single-product .product_meta{
  border-top:1px solid var(--bm-line); padding-top:18px; margin-top:8px;
  font-size:12.5px; color:var(--bm-muted); letter-spacing:.02em;
}
.single-product .product_meta > span{display:block; margin-bottom:6px;}
.single-product .product_meta a{color:var(--bm-accent-text);}

/* Abas */
.woocommerce-tabs{grid-column:1 / -1; margin-top:56px;}
.woocommerce-tabs ul.tabs{
  border-bottom:1px solid var(--bm-line); padding:0; margin:0 0 26px;
  display:flex; gap:6px; flex-wrap:wrap;
}
.woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce-tabs ul.tabs li{
  background:none; border:0; border-radius:0; margin:0; padding:0;
}
.woocommerce-tabs ul.tabs li a{
  display:block; padding:12px 20px; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--bm-muted); border-bottom:2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover{color:var(--bm-text); border-bottom-color:var(--bm-dark);}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce-tabs .panel{padding:0; margin:0; line-height:1.8; color:#514c44; max-width:820px;}
.woocommerce-tabs .panel h2{font-family:var(--bm-serif); font-size:24px; margin:0 0 14px;}
.woocommerce-tabs .panel h3{
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--bm-text); margin:28px 0 10px; padding-bottom:7px;
  border-bottom:1px solid var(--bm-line);
}
.woocommerce-tabs .panel p{margin:0 0 14px;}
.woocommerce-tabs .panel ul{list-style:none; margin:0 0 16px; padding:0;}
.woocommerce-tabs .panel ul li{position:relative; padding-left:20px; margin-bottom:7px;}
.woocommerce-tabs .panel ul li::before{
  content:""; position:absolute; left:2px; top:12px;
  width:5px; height:5px; background:var(--bm-accent); border-radius:50%;
}

/* Tabela de medidas */
.bm-size-table{
  width:100%; border-collapse:collapse; margin:6px 0 10px;
  font-size:13.5px; background:var(--bm-white); border:1px solid var(--bm-line);
}
.bm-size-table th{
  background:var(--bm-cream); color:var(--bm-muted); font-weight:500;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  padding:11px 12px; text-align:left; border-bottom:1px solid var(--bm-line);
}
.bm-size-table td{
  padding:11px 12px; border-bottom:1px solid var(--bm-line);
  font-variant-numeric:tabular-nums; color:var(--bm-text);
}
.bm-size-table tbody tr:last-child td{border-bottom:0;}
.bm-size-table tbody tr:nth-child(even){background:var(--bm-cream);}
.bm-size-note{font-size:12.5px; color:var(--bm-muted); font-style:italic; margin:0 0 8px;}

/* Relacionados / upsell */
.related.products, .upsells.products{grid-column:1 / -1; margin-top:64px;}
.related.products > h2, .upsells.products > h2{
  font-family:var(--bm-sans); text-align:center; font-weight:400; font-size:14px;
  letter-spacing:.30em; text-transform:uppercase; margin:0 0 30px;
}
.related.products > h2::after, .upsells.products > h2::after{
  content:""; display:block; width:34px; height:1px; background:var(--bm-accent);
  opacity:.6; margin:16px auto 0;
}

/* =========================================================
   31. CARRINHO
   ========================================================= */
.woocommerce-cart .bm-shop-wrap, .woocommerce-checkout .bm-shop-wrap{max-width:var(--bm-wrap);}
.woocommerce table.shop_table{border:1px solid var(--bm-line); border-radius:0; border-collapse:collapse;}
.woocommerce table.shop_table th{
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--bm-muted);
  font-weight:500; padding:16px; border-bottom:1px solid var(--bm-line);
}
.woocommerce table.shop_table td{padding:16px; border-top:1px solid var(--bm-line); vertical-align:middle;}
.woocommerce-cart table.cart img{width:72px; background:var(--bm-cream-2);}
.woocommerce-cart table.cart .product-name a{color:var(--bm-text); font-size:13px; text-transform:uppercase; letter-spacing:.04em;}
.woocommerce-cart table.cart td.product-name a.remove{color:var(--bm-muted); font-size:18px;}
.woocommerce-cart .quantity .qty{border:1px solid var(--bm-line); padding:8px; width:64px; text-align:center;}
.woocommerce-cart table.cart td.actions{padding:16px; background:var(--bm-cream);}
.woocommerce-cart .coupon input#coupon_code{
  border:1px solid var(--bm-line); padding:12px 14px; font-size:13px; min-width:160px; background:var(--bm-white);
}
.cart-collaterals .cart_totals{float:none; width:100%;}
.cart_totals h2{font-family:var(--bm-serif); font-size:22px; margin:0 0 16px;}
.cart_totals table{border:1px solid var(--bm-line);}
.cart_totals .order-total .amount{color:var(--bm-price); font-size:18px;}
.wc-proceed-to-checkout{padding:0; margin-top:18px;}
.wc-proceed-to-checkout a.checkout-button{
  display:block; text-align:center; min-height:52px; line-height:30px;
  letter-spacing:.18em; text-transform:uppercase; font-size:12px;
}
.bm-cart-continue{margin:0;}

/* Selos de confiança (carrinho) */
.bm-trust{list-style:none;}

/* =========================================================
   32. CHECKOUT
   ========================================================= */
.woocommerce-checkout h3{font-family:var(--bm-serif); font-size:22px; font-weight:500; margin:0 0 18px;}
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details{width:100%;}
.woocommerce form .form-row{margin:0 0 16px; padding:0;}
.woocommerce form .form-row label{
  font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--bm-muted); margin-bottom:6px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single{
  border:1px solid var(--bm-line); background:var(--bm-white); color:var(--bm-text);
  padding:12px 14px; font-family:var(--bm-sans); font-size:14px; border-radius:0; line-height:1.4;
}
.woocommerce .select2-container--default .select2-selection--single{height:auto; padding:6px 10px;}
.woocommerce-checkout #order_review_heading{font-family:var(--bm-serif); font-size:22px; font-weight:500; margin:26px 0 16px;}
.woocommerce-checkout #order_review{
  border:1px solid var(--bm-line); background:var(--bm-cream); padding:24px;
}
.woocommerce-checkout #order_review table.shop_table{border:0; background:none;}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{padding:12px 0; border-color:var(--bm-line);}
.woocommerce-checkout #payment{background:transparent; border-radius:0;}
.woocommerce-checkout #payment ul.payment_methods{border:0; padding:0; margin:0 0 16px;}
.woocommerce-checkout #payment ul.payment_methods li{
  border:1px solid var(--bm-line); padding:14px 16px; margin-bottom:10px; list-style:none; background:var(--bm-white);
}
.woocommerce-checkout #payment div.payment_box{background:var(--bm-cream); border-radius:0;}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--bm-cream);}
.woocommerce-checkout #place_order{width:100%; min-height:54px; letter-spacing:.18em; text-transform:uppercase; margin-top:8px;}
.bm-checkout-trust{margin-top:16px;}

/* =========================================================
   33. MINHA CONTA
   ========================================================= */
.woocommerce-account .bm-shop-wrap{max-width:1080px;}
.woocommerce-account:not(.logged-in) .woocommerce{max-width:760px; margin:0 auto;}
.woocommerce .col2-set#customer_login{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
.woocommerce #customer_login h2{font-family:var(--bm-serif); font-size:24px; font-weight:500; margin:0 0 18px;}
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce .woocommerce-ResetPassword{
  border:1px solid var(--bm-line); padding:28px; border-radius:0; background:var(--bm-white);
}
.woocommerce form.login .button, .woocommerce form.register .button{width:100%; min-height:48px; letter-spacing:.16em; text-transform:uppercase;}

/* Layout logado: navegação lateral + conteúdo */
.woocommerce-account.logged-in .woocommerce{
  display:grid; grid-template-columns:230px 1fr; gap:40px; align-items:start;
}
.woocommerce-MyAccount-navigation{float:none; width:auto;}
.woocommerce-MyAccount-navigation ul{border:1px solid var(--bm-line);}
.woocommerce-MyAccount-navigation ul li{border-bottom:1px solid var(--bm-line);}
.woocommerce-MyAccount-navigation ul li:last-child{border-bottom:0;}
.woocommerce-MyAccount-navigation ul li a{
  display:block; padding:13px 18px; font-size:12.5px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--bm-muted);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover{background:var(--bm-cream); color:var(--bm-text);}
.woocommerce-MyAccount-content{float:none; width:auto; line-height:1.7;}
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3{font-family:var(--bm-serif); font-weight:500;}
.woocommerce-MyAccount-content .button{letter-spacing:.14em; text-transform:uppercase; font-size:11px;}

/* =========================================================
   34. AVISOS / NOTICES
   ========================================================= */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews{
  border-radius:0; border-top:3px solid var(--bm-accent); background:var(--bm-cream);
  color:var(--bm-text); font-size:13.5px; padding:16px 18px 16px 44px;
}
.woocommerce-message{border-top-color:var(--bm-sale);}
.woocommerce-error{border-top-color:#A32C21;}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before{color:var(--bm-accent-text); top:16px;}
.woocommerce-message::before{color:var(--bm-sale);}
.woocommerce-message .button, .woocommerce-info .button{
  background:transparent !important; color:var(--bm-accent-text) !important;
  border:1px solid var(--bm-accent-text) !important; padding:7px 16px; font-size:11px;
}

/* =========================================================
   35. PÁGINAS INSTITUCIONAIS / BLOG (refino)
   ========================================================= */
.bm-page-heading::after{
  content:""; display:block; width:36px; height:1px; background:var(--bm-accent);
  opacity:.6; margin:18px auto 0;
}
.bm-entry{color:#4a463f; font-size:15.5px;}
.bm-entry > p:first-of-type{font-size:16.5px; color:#3a362f;}
.bm-entry h2{border-bottom:1px solid var(--bm-line); padding-bottom:8px;}
.bm-entry ol{counter-reset:bm; list-style:none; margin-left:0;}
.bm-entry ol > li{position:relative; padding-left:38px; margin-bottom:12px;}
.bm-entry ol > li::before{
  counter-increment:bm; content:counter(bm); position:absolute; left:0; top:-2px;
  width:26px; height:26px; border:1px solid var(--bm-accent); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:12px;
  color:var(--bm-accent-text); font-family:var(--bm-serif);
}
.bm-entry ul{list-style:none; margin-left:0;}
.bm-entry ul > li{position:relative; padding-left:22px; margin-bottom:9px;}
.bm-entry ul > li::before{content:""; position:absolute; left:2px; top:11px; width:6px; height:6px; background:var(--bm-accent); border-radius:50%;}

/* =========================================================
   36. RESPONSIVO — páginas
   ========================================================= */
@media (max-width:900px){
  .single-product div.product{grid-template-columns:1fr; gap:28px;}
  .woocommerce .col2-set#customer_login{grid-template-columns:1fr;}
  .woocommerce-account.logged-in .woocommerce{grid-template-columns:1fr;}
  .woocommerce-checkout #customer_details{margin-bottom:8px;}
}
@media (max-width:640px){
  .bm-shop-toolbar{flex-direction:column; align-items:stretch; gap:10px; text-align:center;}
  .woocommerce .woocommerce-ordering select{width:100%;}
  .single-product form.cart{flex-direction:column;}
  .single-product .single_add_to_cart_button{width:100%;}
  .woocommerce-tabs ul.tabs{gap:0;}
  .woocommerce-tabs ul.tabs li a{padding:12px 14px;}
}
