/* =========================================================
   MÁQUINAS E FERRAMENTAS
   CSS ADICIONAL GLOBAL — VERSÃO LIMPA

   IMPORTANTE:
   - O design de Categorias fica na própria página Categorias.
   - O design do Catálogo fica no template do Catálogo.
   - O design do Produto fica no template Produto Único.
   - Carrinho, Checkout, Contactos, Sobre Nós e Promoções
     também usam o respetivo CSS local.
   - Este ficheiro contém apenas estilos globais/shortcodes
     que podem ser reutilizados no site.
========================================================= */

:root{
  --cv-orange:#ff5a00;
  --cv-orange-dark:#e44e00;
  --cv-dark:#17191c;
  --cv-text:#202327;
  --cv-muted:#747a80;
  --cv-line:#e5e7e9;
  --cv-white:#ffffff;
}



/* =========================================================
   0. WORDPRESS FSE — HEADER COLADO AO CONTEÚDO
   Remove apenas o block-gap que o tema pode inserir entre
   o Header (template part) e o conteúdo principal.
========================================================= */

body .wp-site-blocks > .wp-block-template-part{
  margin-bottom:0 !important;
}

body .wp-site-blocks > .wp-block-template-part + *,
body .wp-site-blocks > header.wp-block-template-part + main,
body .wp-site-blocks > header.wp-block-template-part + .wp-block-group,
body .wp-site-blocks > main{
  margin-block-start:0 !important;
  margin-top:0 !important;
}

/* Header novo */
body .mf-header-v2{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* Evita que o wrapper principal das páginas redesenhadas
   volte a receber margem automática do layout "flow". */
body .mf-home,
body .mf-catalog,
body .mf-single-product,
body .mf-cart-page,
body .mf-checkout-page,
body .mf-contact-page,
body .mf-about-page,
body .mf-promo-page,
body .mf-categories-page{
  margin-block-start:0 !important;
  margin-top:0 !important;
}


/* =========================================================
   1. WHATSAPP FLUTUANTE
========================================================= */

.cv-wa-float{
  position:fixed !important;
  right:24px !important;
  left:auto !important;
  bottom:24px !important;

  width:58px;
  height:58px;

  display:flex;
  align-items:center;
  justify-content:center;

  z-index:999999;

  border-radius:50%;
  background:#25D366;
  color:#ffffff;
  text-decoration:none !important;

  box-shadow:0 12px 28px rgba(0,0,0,.20);

  transition:
    transform .18s ease,
    box-shadow .18s ease;
}

.cv-wa-float:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(0,0,0,.26);
}

.cv-wa-float .cv-wa-icon{
  width:40px;
  height:40px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  background:#ffffff;
  line-height:0;
}

.cv-wa-float .cv-wa-icon svg{
  width:24px !important;
  height:24px !important;

  display:block !important;

  max-width:none !important;
  max-height:none !important;

  opacity:1 !important;
  visibility:visible !important;

  fill:#25D366 !important;
}

.cv-wa-float .cv-wa-icon svg path{
  fill:#25D366 !important;
}

@media(max-width:600px){
  .cv-wa-float{
    right:16px !important;
    bottom:18px !important;

    width:54px;
    height:54px;
  }

  .cv-wa-float .cv-wa-icon{
    width:38px;
    height:38px;
  }
}


/* =========================================================
   2. LOGÓTIPO DA MARCA NO PRODUTO
   Shortcode: [cv_brand_logo]
========================================================= */

.cv-brand-logos{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:10px;

  margin:10px 0;
}

.cv-brand-logo-item{
  display:flex;
  align-items:center;
}

.cv-brand-logo-link,
.cv-brand-logo-wrap{
  display:flex;
  align-items:center;

  gap:8px;

  color:inherit;
  text-decoration:none !important;
}

.cv-brand-logo{
  display:block;

  width:auto;
  max-width:160px;
  max-height:58px;

  object-fit:contain;
}

.cv-brand-logo-name{
  color:#4b5055;

  font-family:"Poppins",Arial,sans-serif;
  font-size:12px;
  font-weight:600;
}


/* =========================================================
   3. ESTADO / WHATSAPP DO PRODUTO
   Shortcode: [cv_whatsapp_status]
========================================================= */

a.cv-wa-status{
  --cv-status-bg:#18b78f;

  position:relative !important;

  width:fit-content !important;
  max-width:100% !important;
  min-height:46px;

  margin:10px 0 !important;
  padding:7px 14px 7px 8px !important;

  display:inline-flex !important;
  align-items:center !important;

  gap:10px !important;

  border:0 !important;
  border-radius:9px !important;

  background:var(--cv-status-bg) !important;
  color:#ffffff !important;

  text-decoration:none !important;

  box-shadow:0 8px 20px rgba(0,0,0,.13) !important;

  line-height:1.2 !important;

  box-sizing:border-box !important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

a.cv-wa-status::before,
a.cv-wa-status::after{
  content:none !important;
  display:none !important;
}

a.cv-wa-status *{
  box-sizing:border-box !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;
  background:transparent !important;

  color:inherit !important;
  text-decoration:none !important;

  box-shadow:none !important;
}

a.cv-wa-status:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.18) !important;
  filter:brightness(1.035);
}

a.cv-wa-status:active{
  transform:translateY(0);
}

.cv-wa-status__icon{
  width:36px !important;
  height:36px !important;

  flex:0 0 36px;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:8px !important;

  background:rgba(255,255,255,.13) !important;

  transition:transform .2s ease;
}

a.cv-wa-status:hover .cv-wa-status__icon{
  transform:scale(1.04);
}

.cv-wa-status__icon svg{
  width:20px !important;
  height:20px !important;

  display:block !important;

  max-width:none !important;
  max-height:none !important;
}

.cv-wa-status__body{
  min-width:0 !important;

  display:flex !important;
  flex-direction:column !important;

  gap:3px !important;
}

.cv-wa-status__small{
  color:rgba(255,255,255,.82) !important;

  font-family:"Poppins",Arial,sans-serif !important;
  font-size:9px !important;
  line-height:1.2 !important;
  font-weight:600 !important;

  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.cv-wa-status__title{
  color:#ffffff !important;

  font-family:"Poppins",Arial,sans-serif !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
}

.cv-wa-status--stock{
  --cv-status-bg:#18a572 !important;
}

.cv-wa-status--encomenda{
  --cv-status-bg:#df7b2e !important;
}

.cv-wa-status--consulta{
  --cv-status-bg:#9b2b75 !important;
}

@media(max-width:480px){
  a.cv-wa-status{
    width:100% !important;
  }
}


/* =========================================================
   4. MENU DE CATEGORIAS EM DROPDOWN
   Mantido porque é funcional e não estiliza a página
   /categorias/.
========================================================= */

.categorias-lista{
  position:relative;
}

.cv-cat-dropdown{
  position:absolute;

  top:100%;
  left:0;

  min-width:300px;
  max-width:420px;

  padding:8px;

  display:none;

  overflow:visible !important;
  max-height:none !important;

  z-index:999999;

  border:1px solid #e6e8ea;
  border-radius:10px;

  background:#ffffff;

  box-shadow:0 18px 45px rgba(0,0,0,.16);
}

.categorias-lista:hover .cv-cat-dropdown,
.categorias-lista:focus-within .cv-cat-dropdown{
  display:block;
}

.cv-cat-dropdown ul{
  list-style:none;

  margin:0;
  padding:0;
}

.cv-cat-dropdown li{
  position:relative;
}

.cv-cat-dropdown a{
  min-height:36px;

  padding:7px 10px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  border-radius:7px;

  color:#22262a;
  text-decoration:none !important;

  font-family:"Poppins",Arial,sans-serif;
  font-size:11px;
  line-height:1.35;
  font-weight:550;

  white-space:nowrap;
}

.cv-cat-dropdown a:hover{
  background:#f6f7f8;
  color:var(--cv-orange);
}

.cv-cat-dropdown li.has-children > a::after{
  content:"›";

  margin-left:12px;

  color:#92979c;

  font-size:15px;
  line-height:1;
}

.cv-cat-dropdown .sub{
  position:absolute;

  top:-8px;
  left:calc(100% + 4px);

  min-width:260px;

  padding:8px;

  display:none;

  border:1px solid #e6e8ea;
  border-radius:10px;

  background:#ffffff;

  box-shadow:0 18px 45px rgba(0,0,0,.15);
}

.cv-cat-dropdown li.has-children:hover > .sub,
.cv-cat-dropdown li.has-children:focus-within > .sub{
  display:block;
}

@media(max-width:980px){
  .cv-cat-dropdown{
    position:static;

    width:100%;
    max-width:none;

    margin-top:8px;

    display:block;

    border:0;
    box-shadow:none;
  }

  .cv-cat-dropdown .sub{
    position:static;

    width:100%;

    margin:4px 0 4px 12px;

    display:block;

    border:0;
    box-shadow:none;
  }

  .cv-cat-dropdown li.has-children > a::after{
    content:"";
  }
}


/* =========================================================
   5. PREÇO PROMOCIONAL — PRODUTO ÚNICO
   Só atua dentro do novo template de Produto Único.
========================================================= */

.mf-single-product .cv-sale-price-box{
  margin:22px 0 0 !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;

  gap:7px !important;

  line-height:1.1 !important;
}

.mf-single-product .cv-sale-top{
  width:fit-content !important;
  max-width:100% !important;

  padding:4px 7px !important;

  display:inline-flex !important;
  align-items:center !important;

  gap:6px !important;

  border-radius:999px !important;

  background:#fff0e7 !important;
}

.mf-single-product .cv-regular-price,
.mf-single-product .cv-regular-price .woocommerce-Price-amount,
.mf-single-product .cv-regular-price bdi{
  color:#969ca2 !important;

  font-family:"Poppins",Arial,sans-serif !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:650 !important;

  text-decoration:line-through !important;
  text-decoration-thickness:1px !important;
}

.mf-single-product .discount-badge{
  padding:4px 7px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;

  background:var(--cv-orange) !important;
  color:#ffffff !important;

  font-family:"Poppins",Arial,sans-serif !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;

  white-space:nowrap !important;
}

.mf-single-product .cv-sale-current-price,
.mf-single-product .cv-sale-current-price .woocommerce-Price-amount,
.mf-single-product .cv-sale-current-price bdi{
  margin-top:2px !important;

  display:block !important;

  color:#17191c !important;

  font-family:"Poppins",Arial,sans-serif !important;
  font-size:clamp(34px,3.4vw,50px) !important;
  line-height:1 !important;
  font-weight:750 !important;
  letter-spacing:-.035em !important;

  text-decoration:none !important;

  background:transparent !important;
}


/* =========================================================
   6. PREÇO PROMOCIONAL — CARDS DO NOVO SITE
   Catálogo, Promoções e Produtos Relacionados.
========================================================= */

.mf-catalog .cv-sale-price-box,
.mf-promo-page .cv-sale-price-box,
.mf-related .cv-sale-price-box{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;

  gap:5px !important;
}

.mf-catalog .cv-sale-top,
.mf-promo-page .cv-sale-top,
.mf-related .cv-sale-top{
  width:fit-content !important;
  max-width:100% !important;

  padding:3px 6px !important;

  display:inline-flex !important;
  align-items:center !important;

  gap:5px !important;

  border-radius:999px !important;

  background:#fff1e8 !important;
}

.mf-catalog .cv-regular-price,
.mf-promo-page .cv-regular-price,
.mf-related .cv-regular-price{
  color:#999fa5 !important;

  font-family:"Poppins",Arial,sans-serif !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:600 !important;

  text-decoration:line-through !important;
}

.mf-catalog .discount-badge,
.mf-promo-page .discount-badge,
.mf-related .discount-badge{
  padding:3px 6px !important;

  border-radius:999px !important;

  background:var(--cv-orange) !important;
  color:#ffffff !important;

  font-family:"Poppins",Arial,sans-serif !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:800 !important;
}

.mf-catalog .cv-sale-current-price,
.mf-promo-page .cv-sale-current-price,
.mf-related .cv-sale-current-price{
  margin-top:2px !important;

  color:#191b1e !important;

  font-family:"Poppins",Arial,sans-serif !important;
  font-size:20px !important;
  line-height:1.05 !important;
  font-weight:750 !important;
  letter-spacing:-.02em !important;
}


/* =========================================================
   7. DESCRIÇÃO DO PRODUTO — LISTAS
   Só no template novo de Produto Único.
========================================================= */

.mf-single-product .woocommerce-Tabs-panel--description ul{
  margin:14px 0 !important;
  padding-left:0 !important;

  list-style:none !important;

  font-family:"Poppins",Arial,sans-serif !important;
}

.mf-single-product .woocommerce-Tabs-panel--description li{
  position:relative;

  margin-bottom:8px !important;
  padding-left:24px !important;

  color:#555b61;

  line-height:1.65;
}

.mf-single-product .woocommerce-Tabs-panel--description li::before{
  content:"✓";

  position:absolute;

  top:0;
  left:0;

  padding:0 !important;

  color:var(--cv-orange);

  font-weight:800;
}


/* =========================================================
   FIM

   Foram removidos daqui deliberadamente:
   - .cv-categorias e .cv-categoria
   - grids globais .woocommerce ul.products
   - Contact Form 7 global
   - html body table global
   - estilos genéricos de .preco_final
   - estilos repetidos de promoção
   - estilos de cards que agora vivem dentro das páginas

   Isto evita que o CSS Adicional volte a sobrepor os
   templates/páginas redesenhados.
========================================================= */


/* =========================================================
   GRID DE MARCAS
   Pode ficar no CSS Adicional global.
========================================================= */

.cv-brands-grid{
  display:grid;
  grid-template-columns:repeat(var(--cv-cols,6),minmax(0,1fr));
  gap:14px;
  width:100%;
}

.cv-brand-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #e5e7e9;
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 18px rgba(18,20,22,.035);
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.cv-brand-card:hover{
  transform:translateY(-3px);
  border-color:#ffd0b5;
  box-shadow:0 13px 28px rgba(18,20,22,.075);
}

.cv-brand-link{
  position:relative;
  min-height:156px;
  padding:16px 14px 13px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#202327;
  text-decoration:none !important;
}

.cv-brand-media{
  width:100%;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.cv-brand-img{
  display:block;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:68px !important;
  margin:0 !important;
  object-fit:contain !important;
  filter:grayscale(10%);
  transition:
    transform .2s ease,
    filter .2s ease;
}

.cv-brand-card:hover .cv-brand-img{
  transform:scale(1.035);
  filter:grayscale(0%);
}

.cv-brand-info{
  width:100%;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #f0f1f2;
  text-align:left;
}

.cv-brand-name{
  padding-right:24px;
  overflow:hidden;
  color:#22262a;
  font-family:"Poppins",Arial,sans-serif;
  font-size:11px;
  line-height:1.25;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cv-brand-meta{
  margin-top:3px;
  color:#999fa5;
  font-family:"Poppins",Arial,sans-serif;
  font-size:8px;
  line-height:1.3;
  font-weight:500;
}

.cv-brand-arrow{
  position:absolute;
  right:13px;
  bottom:17px;
  width:25px;
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#f4f5f6;
  color:#888e94;
  transition:
    background .2s ease,
    color .2s ease,
    transform .2s ease;
}

.cv-brand-card:hover .cv-brand-arrow{
  background:#fff0e7;
  color:#ff5a00;
  transform:translateX(2px);
}

@media(max-width:1180px){
  .cv-brands-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:820px){
  .cv-brands-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .cv-brands-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .cv-brand-link{
    min-height:140px;
    padding:13px 11px 11px;
  }

  .cv-brand-media{
    height:68px;
  }
}

/* =========================================================
   8. AJUSTES DE UI — LOJA / PRODUTO (1.8.1)
   Corrige relacionados em promoção, filtros, rodapé e quantidade.
========================================================= */

/* 8.1 Produtos relacionados: impedir preço/títulos gigantes e equilibrar o card. */
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) ul.products{
  gap:18px !important;
}

.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product{
  position:relative;
  overflow:hidden;
  border:1px solid #e3e6e8 !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(24,28,32,.045) !important;
}

.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .woocommerce-loop-product__title,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .wc-block-components-product-name,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .wp-block-post-title{
  font-family:"Poppins",Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.42 !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  color:#202327 !important;
}

.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .price,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .wc-block-components-product-price,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .cv-sale-current-price,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .cv-sale-current-price .woocommerce-Price-amount,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .cv-sale-current-price bdi{
  font-family:"Poppins",Arial,sans-serif !important;
  font-size:26px !important;
  line-height:1.05 !important;
  font-weight:750 !important;
  letter-spacing:-.035em !important;
  color:#16191d !important;
  white-space:nowrap !important;
}

.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .price del,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .cv-regular-price,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .cv-regular-price .woocommerce-Price-amount{
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  color:#9aa0a6 !important;
}

.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .price ins{
  background:transparent !important;
  text-decoration:none !important;
}

.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .discount-badge{
  font-size:9px !important;
  padding:3px 6px !important;
}

.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .button,
.single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .wc-block-components-product-button__button{
  min-height:38px !important;
  padding:10px 14px !important;
  border-radius:8px !important;
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
}

@media(max-width:680px){
  .single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .price,
  .single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .wc-block-components-product-price,
  .single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .cv-sale-current-price,
  .single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .cv-sale-current-price .woocommerce-Price-amount,
  .single-product :where(.related.products, .wp-block-woocommerce-product-collection) li.product .cv-sale-current-price bdi{
    font-size:21px !important;
  }
}

/* 8.2 Rodapé: retirar separadores verticais indesejados da área de vantagens. */
footer.wp-block-template-part :where(.service-text, .service-text-main, .service-group, .footer-service, .footer-services){
  border-left:0 !important;
  border-inline-start:0 !important;
}
footer.wp-block-template-part :where(.service-text, .service-text-main, .service-group, .footer-service, .footer-services)::before,
footer.wp-block-template-part :where(.service-text, .service-text-main, .service-group, .footer-service, .footer-services)::after{
  border-left:0 !important;
  border-inline-start:0 !important;
}

/* 8.3 Rodapé: telefones e links sempre legíveis sobre fundo escuro. */
footer.wp-block-template-part :where(a[href^="tel:"], .mf-footer-links a, .footer-contact a, .contact-info a),
footer.wp-block-template-part :where(.mf-footer-links, .footer-contact, .contact-info) a:visited{
  color:#e7ebef !important;
  opacity:1 !important;
  text-decoration:none !important;
}
footer.wp-block-template-part :where(a[href^="tel:"], .mf-footer-links a, .footer-contact a, .contact-info a):hover{
  color:#ff7a2f !important;
}

/* Fallback para blocos antigos do rodapé que herdavam links pretos. */
footer.wp-block-template-part .wp-block-group.has-background a[href^="tel:"],
footer.wp-block-template-part .wp-block-cover a[href^="tel:"]{
  color:#e7ebef !important;
}

/* 8.4 Filtros WooCommerce: painel mais limpo e interativo. */
:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) :where(.wp-block-woocommerce-filter-wrapper, .wc-blocks-filter-wrapper, .widget_price_filter, .widget_product_categories){
  font-family:"Poppins",Arial,sans-serif !important;
}

:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) :where(.wp-block-woocommerce-filter-wrapper, .wc-blocks-filter-wrapper){
  border:1px solid #e2e6e9 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 10px 30px rgba(20,24,28,.055) !important;
}

:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) :where(.wp-block-woocommerce-filter-wrapper, .wc-blocks-filter-wrapper) > *{
  padding-left:18px !important;
  padding-right:18px !important;
}

:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) :where(.wp-block-woocommerce-filter-wrapper, .wc-blocks-filter-wrapper) h2,
:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) :where(.wp-block-woocommerce-filter-wrapper, .wc-blocks-filter-wrapper) h3,
:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wc-block-components-filter-reset-button + *{
  color:#17191c !important;
}

:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wc-block-components-checkbox label{
  padding:5px 7px !important;
  margin:0 -7px !important;
  border-radius:7px !important;
  transition:background .16s ease,color .16s ease !important;
  cursor:pointer !important;
}
:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wc-block-components-checkbox label:hover{
  background:#f7f8f9 !important;
}

:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wc-block-components-checkbox__input,
:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  accent-color:var(--cv-orange) !important;
  cursor:pointer !important;
}

:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wc-block-price-filter__range-input-progress{
  --range-color:var(--cv-orange) !important;
}

:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wc-block-price-filter__controls input,
:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .price_slider_amount input{
  min-height:38px !important;
  border:1px solid #d8dde1 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#22262a !important;
  font-size:12px !important;
  box-shadow:none !important;
}

:where(.mf-catalog, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wc-block-components-filter-reset-button{
  color:var(--cv-orange) !important;
  font-size:11px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}

/* 8.5 Quantidade + adicionar ao carrinho: uma barra coerente. */
.single-product .woocommerce div.product form.cart{
  display:flex !important;
  align-items:stretch !important;
  gap:12px !important;
}
.single-product .woocommerce div.product form.cart .quantity{
  display:grid !important;
  grid-template-columns:34px 42px 34px !important;
  min-height:46px !important;
  overflow:hidden !important;
  border:1px solid #d8dde1 !important;
  border-radius:10px !important;
  background:#fff !important;
}
.single-product .woocommerce div.product form.cart .quantity .qty{
  width:42px !important;
  min-width:42px !important;
  height:46px !important;
  padding:0 4px !important;
  border:0 !important;
  border-left:1px solid #edf0f2 !important;
  border-right:1px solid #edf0f2 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#2a2e32 !important;
  font-size:13px !important;
  font-weight:650 !important;
  text-align:center !important;
  box-shadow:none !important;
  appearance:textfield !important;
}
.single-product .woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product .woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button{
  margin:0 !important;
  -webkit-appearance:none !important;
}
.single-product .woocommerce div.product form.cart .quantity :where(.minus, .plus, button){
  width:34px !important;
  height:46px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#f5f6f7 !important;
  color:#4d545a !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:46px !important;
  cursor:pointer !important;
  transition:background .16s ease,color .16s ease !important;
}
.single-product .woocommerce div.product form.cart .quantity :where(.minus, .plus, button):hover{
  background:#fff0e7 !important;
  color:var(--cv-orange) !important;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button{
  min-height:46px !important;
  flex:1 1 auto !important;
  margin:0 !important;
  border-radius:10px !important;
  font-size:13px !important;
  font-weight:750 !important;
  box-shadow:0 6px 14px rgba(201,75,8,.16) !important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease !important;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 9px 20px rgba(201,75,8,.22) !important;
  filter:brightness(.96) !important;
}

@media(max-width:540px){
  .single-product .woocommerce div.product form.cart{
    flex-wrap:wrap !important;
  }
  .single-product .woocommerce div.product form.cart .single_add_to_cart_button{
    flex-basis:100% !important;
    width:100% !important;
  }
}
