/* ============================================================
   Megalight Brasil — REDESIGN v3 (Light mode estilo ML real)
   Body branco, header dark, cards brancos limpos.
   ============================================================ */

:root {
  --ml-bg: #ebebeb;
  --ml-bg-page: #fff;
  --ml-bg-soft: #f5f5f5;
  --ml-bg-card: #fff;
  --ml-line: #e6e6e6;
  --ml-line-strong: #d4d4d4;
  --ml-text: #1a1a1a;
  --ml-text-soft: #555;
  --ml-text-dim: #888;
  --ml-accent: #ffd54f;        /* amarelo Megalight (ML usa #fff159 — similar) */
  --ml-accent-dark: #f5c400;
  --ml-green: #00a650;
  --ml-blue: #3483fa;
  --ml-danger: #e23636;
  --ml-header-bg: #ffd54f;     /* header amarelo ML-style */
  --ml-header-text: #1a1a1a;
  --ml-radius: 6px;
  --ml-radius-lg: 10px;
  --ml-shadow-sm: 0 1px 2px rgba(0,0,0,.08);
  --ml-shadow: 0 2px 8px rgba(0,0,0,.1);
  --ml-shadow-hover: 0 6px 20px rgba(0,0,0,.15);
}

/* ===== Reset / base ===== */
html, body { background: var(--ml-bg) !important; color: var(--ml-text) !important; }
body, body.home, body.archive, body.single, body.woocommerce, body.page {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.page-wrapper, .main-page-wrapper, #main, #content, body.home #main, body.home #content { background: var(--ml-bg) !important; }
.section, .row, .container { background-color: transparent !important; }

h1, h2, h3, h4, h5, .product-title, .section-title, .entry-title, .heading-font,
.row-title, .featured-title, .post-title, .product-page-title {
  font-family: 'Inter', sans-serif !important;
  letter-spacing: -.01em !important;
  color: var(--ml-text) !important;
  font-weight: 600 !important;
}

a { transition: color .15s ease; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--ml-blue); outline-offset: 1px; }

/* ===== Top bar (acima do header) ===== */
.dg-top-bar {
  background: var(--ml-text) !important;
  color: #fff !important;
  font-size: 12px;
  font-weight: 400;
  padding: 8px 16px;
  text-align: center;
  letter-spacing: .01em;
  position: relative;
  z-index: 100;
}
.dg-top-bar a { color: var(--ml-accent) !important; text-decoration: none; font-weight: 600; }
.dg-top-bar a:hover { text-decoration: underline; }
.dg-top-bar strong { color: var(--ml-accent); font-weight: 700; }
.dg-top-bar .sep { margin: 0 14px; color: rgba(255,255,255,.3); }
@media (max-width: 720px) {
  .dg-top-bar { font-size: 11px; padding: 6px 10px; }
  .dg-top-bar .sep { display: none; }
  .dg-top-bar > span { display: inline-block; margin: 0 4px; }
}

/* ===== Header AMARELO ML-style ===== */
.header-main, #header, .header-wrapper, .header-top {
  background: var(--ml-header-bg) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 0 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.08) !important;
}
.header-bg-color, .header-wrapper.stuck { background-color: var(--ml-header-bg) !important; }
.header-main .nav > li > a, .header-nav .nav > li > a, .header-top .nav > li > a {
  color: var(--ml-header-text) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  font-size: 13px !important;
}
.header-main .nav > li > a:hover { color: rgba(0,0,0,.6) !important; }
.header-bottom { background: rgba(255,255,255,.5) !important; border: 0 !important; border-bottom: 1px solid var(--ml-line) !important; }
.header-bottom .nav > li > a { color: var(--ml-text) !important; font-weight: 500 !important; font-size: 13px !important; }
.nav-dropdown { background: #fff !important; border: 1px solid var(--ml-line) !important; border-radius: var(--ml-radius) !important; box-shadow: var(--ml-shadow) !important; }
.nav-dropdown a { color: var(--ml-text) !important; }
.nav-dropdown a:hover { background: var(--ml-bg-soft) !important; color: var(--ml-blue) !important; }

/* Search field ML real */
.header-search-form, .search-form, form.searchform { flex: 1 !important; max-width: 660px !important; }
.header-search-form input.search-field, .header-search-form input[type="search"],
.search-form input[type="search"], form.searchform input[type="search"] {
  background: #fff !important;
  border: 0 !important;
  color: var(--ml-text) !important;
  border-radius: var(--ml-radius) !important;
  padding: 12px 50px 12px 16px !important;
  font-size: 14px !important;
  width: 100% !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.1);
}
.header-search-form input::placeholder { color: #999 !important; }
.header-search-form button, .search-form button[type="submit"] {
  background: var(--ml-text) !important;
  color: #fff !important;
  border-radius: var(--ml-radius) !important;
  padding: 8px 14px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

/* Logo header — forcar 80px de altura (override do tema que tem width:140px do wrapper) */
#logo, .logo, #logo.flex-col { width: auto !important; min-width: 0 !important; max-width: none !important; }
#logo img, .logo img, .logo a img,
.header-main img.header_logo, .header-main img.header-logo, .header-main .header_logo img,
img.header_logo, img.header-logo, img.header-logo-dark {
  height: 80px !important;
  max-height: 80px !important;
  width: auto !important;
  max-width: 280px !important;
  filter: none !important;
  object-fit: contain !important;
}
.stuck #logo img, .stuck img.header_logo { height: 60px !important; max-height: 60px !important; }
@media (max-width: 768px) {
  #logo img, .logo img, .header-main img.header_logo, img.header_logo { height: 56px !important; max-height: 56px !important; }
}

/* Cart icon */
.header-cart-link, .cart-icon { color: var(--ml-header-text) !important; }
.header-cart-link .cart-icon strong {
  color: #fff !important;
  background: var(--ml-text) !important;
  border: 0 !important;
  border-radius: 999px !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  font-weight: 700 !important;
  font-size: 11px !important;
}

/* ===== Trust strip (faixa abaixo header) ===== */
.dg-trust-strip {
  background: #fff;
  border-bottom: 1px solid var(--ml-line);
  padding: 10px 0;
}
.dg-trust-strip__row {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 0 16px;
}
.dg-trust-strip__item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ml-text-soft);
  font-size: 12px;
  font-weight: 500;
}
.dg-trust-strip__item strong { color: var(--ml-text); font-weight: 600; }
.dg-trust-strip__item svg { width: 18px; height: 18px; stroke: var(--ml-blue); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
@media (max-width: 720px) {
  .dg-trust-strip__row { gap: 10px; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .dg-trust-strip__item { white-space: nowrap; font-size: 11px; }
}

/* ===== Botoes (proporcionais) ===== */
.button, button.button, input[type="submit"], .woocommerce a.button, .woocommerce button.button.alt,
.button.primary, .woocommerce #respond input#submit {
  background: var(--ml-blue) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--ml-radius) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding: 10px 22px !important;
  text-transform: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background .15s ease !important;
  font-size: 13px !important;
  font-family: 'Inter', sans-serif !important;
  line-height: 1.2 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}
.button *, button.button * { text-shadow: none !important; }
.button:hover, button.button:hover, .woocommerce a.button:hover, .woocommerce button.button.alt:hover {
  background: #1565d8 !important;
  transform: none !important;
  box-shadow: none !important;
}
.button.is-outline {
  background: transparent !important;
  color: var(--ml-blue) !important;
  border: 1px solid var(--ml-blue) !important;
}
.button.is-outline:hover { background: rgba(52,131,250,.06) !important; color: var(--ml-blue) !important; }

/* "Comprar agora" verde ML */
.dg-buy-now {
  display: inline-block;
  background: var(--ml-green) !important;
  color: #fff !important;
  font-weight: 600;
  font-size: 14px;
  padding: 11px 26px;
  border-radius: var(--ml-radius);
  text-decoration: none;
  margin-top: 6px;
  box-shadow: none;
  transition: background .15s;
  line-height: 1.2;
}
.dg-buy-now:hover { background: #008a40 !important; color: #fff !important; }

/* ===== Cards de produto ML ===== */
.products .product, .products li.product, .product-small,
.col.has-hover .col-inner, .row-products .col > .col-inner {
  background: #fff !important;
  border: 1px solid var(--ml-line) !important;
  border-radius: var(--ml-radius) !important;
  overflow: hidden !important;
  transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease !important;
  padding: 0 !important;
  position: relative;
  box-shadow: var(--ml-shadow-sm);
}
.products .product:hover, .product-small:hover, .col.has-hover .col-inner:hover {
  border-color: var(--ml-line-strong) !important;
  box-shadow: var(--ml-shadow-hover) !important;
  transform: translateY(-2px);
  z-index: 2;
}

/* ===================================================================
   IMAGENS DOS PRODUTOS — fix definitivo aspect-ratio
   Flatsome usa .box-image { padding-top: 100% } no shop, mas
   NAO aplica em widgets/featured da home. Forcamos manualmente.
   =================================================================== */
.product-small .box-image,
.product .box-image,
.products .product .box-image,
li.product .box-image {
  background: #fff !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  padding-top: 100% !important;          /* aspect ratio 1:1 forcado */
  height: 0 !important;
  width: 100% !important;
}

/* Wrapper interno do <a>: pode ser .image-fade_in_back, .image-zoom, ou div sem classe */
.product-small .box-image > div,
.product .box-image > div,
.products .product .box-image > div,
.image-fade_in_back,
.image-zoom,
.image-cover {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.product-small .box-image > div > a,
.product .box-image > div > a,
.image-fade_in_back > a,
.image-zoom > a {
  position: absolute !important;
  top: 0; left: 0; right: 0; bottom: 0;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* As imagens ficam absolutas preenchendo todo o container */
.product-small .box-image img,
.product .box-image img,
.products .product .box-image img,
.products .product img.attachment-woocommerce_thumbnail,
li.product .box-image img,
.image-fade_in_back img,
.box-image .image-cover img {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;          /* contain pra nao cortar produto */
  object-position: 50% 50% !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 8px !important;                  /* respiro nas bordas */
  box-sizing: border-box !important;
}

/* image-tools — esconder TUDO que e overlay agressivo do Flatsome */
.image-tools.grid-tools,
.image-tools.hover-slide-in,
.image-tools.grid-tools.text-center.hide-for-small.bottom.hover-slide-in,
.image-tools .quick-view,
a.quick-view,
.product-small .image-tools.bottom,
.product .image-tools.bottom,
.image-tools.is-small.top.right,
.image-tools.is-small.hide-for-small.bottom.left { display: none !important; }

/* Hover sutil: zoom leve da imagem (estilo ML/Amazon) */
.product-small .box-image, .product .box-image { transition: box-shadow .25s ease !important; }
.product-small .box-image img, .product .box-image img {
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .25s ease !important;
}
.product-small:hover .box-image img.attachment-woocommerce_thumbnail,
.product:hover .box-image img.attachment-woocommerce_thumbnail,
li.product:hover .box-image img.attachment-woocommerce_thumbnail {
  transform: scale(1.06) !important;
}

/* HOVER IMAGE (segunda imagem que aparece on-hover) */
.box-image .show-on-hover,
.box-image img.show-on-hover,
.box-image img.back-image,
img.back-image {
  opacity: 0 !important;
  transition: opacity .3s ease !important;
  z-index: 1 !important;
}
.product-small:hover .box-image .show-on-hover,
.product:hover .box-image .show-on-hover,
.product-small:hover .box-image img.back-image,
.product:hover .box-image img.back-image,
li.product:hover .box-image img.back-image {
  opacity: 1 !important;
  z-index: 2 !important;
}

/* Box text */
.product-small .box-text, .product .box-text, .product .price-wrapper {
  padding: 12px 14px 14px !important;
  background: #fff !important;
  text-align: left !important;
}

/* Nome do produto */
.product-small .name, .product .name, .woocommerce-loop-product__title {
  color: var(--ml-text) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0 !important;
  margin: 0 0 8px !important;
  min-height: 36px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-small .name a, .product .name a, .woocommerce-loop-product__title a { color: var(--ml-text) !important; font-weight: 400 !important; }
.product-small .name a:hover, .product .name a:hover { color: var(--ml-blue) !important; }

/* Preco ML — destaque em preto */
.product .price, .price-wrapper .price, .product-small .price {
  color: var(--ml-text) !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  margin: 4px 0 2px !important;
  display: block !important;
}
.product-small .price .woocommerce-Price-amount, .product .price .amount, .price-wrapper .amount,
.product-small .price ins .amount, .product .price > .amount {
  color: var(--ml-text) !important;
  font-weight: 400 !important;
  font-size: 22px !important;
}
.product .price del .amount { color: var(--ml-text-dim) !important; font-size: 12px !important; opacity: 1 !important; font-weight: 400 !important; }
.product .price del { display: block; line-height: 1 !important; margin-bottom: 2px; text-decoration: line-through; }
.product .price ins { text-decoration: none !important; }
.woocommerce-Price-currencySymbol { color: var(--ml-text) !important; font-size: 12px !important; font-weight: 400 !important; vertical-align: top !important; margin-right: 2px !important; }

/* Hooks injetados pelo mu-plugin */
.dg-installments {
  color: var(--ml-green) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin: 2px 0 6px !important;
  display: block !important;
  line-height: 1.3;
}
.dg-freight {
  display: inline-block;
  background: transparent;
  color: var(--ml-green) !important;
  font-size: 11px;
  font-weight: 700;
  padding: 0;
  margin: 4px 0 2px;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.dg-stock-ready {
  display: inline-block;
  background: transparent;
  color: var(--ml-blue);
  font-size: 11px;
  font-weight: 600;
  padding: 0;
  margin: 2px 0;
  letter-spacing: .02em;
}
.dg-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--ml-text-dim);
  margin-bottom: 4px;
}
.dg-rating .stars { color: var(--ml-accent-dark); letter-spacing: -1px; font-size: 11px; }
.dg-rating .value { color: var(--ml-text-soft); }
.dg-rating .count { color: var(--ml-text-dim); }

/* Badges sobre a imagem */
.badge-container { position: absolute !important; top: 8px !important; left: 8px !important; z-index: 3 !important; }
.badge-container .badge { background: transparent !important; }
.badge-container .badge-inner {
  background: var(--ml-accent) !important;
  color: var(--ml-text) !important;
  font-weight: 700 !important;
  border-radius: var(--ml-radius) !important;
  padding: 3px 8px !important;
  font-size: 10px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
.onsale, span.onsale {
  background: var(--ml-danger) !important;
  color: #fff !important;
  border-radius: var(--ml-radius) !important;
  padding: 3px 8px !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: .04em !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  margin: 0 !important;
  border: 0 !important;
  width: auto !important;
  height: auto !important;
  line-height: 1.4 !important;
}

/* Botoes do card */
.product-small .add_to_cart_button, .product .add_to_cart_button,
.product .button.product_type_simple, .product .button.product_type_variable {
  width: 100% !important;
  margin-top: 10px !important;
  background: var(--ml-blue) !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 14px !important;
  box-shadow: none !important;
  border-radius: var(--ml-radius) !important;
}
.product-small .add_to_cart_button:hover, .product .add_to_cart_button:hover {
  background: #1565d8 !important;
  transform: none;
}
/* "Leia mais" / produto variavel */
.product-small a.button.product_type_variable, .product a.button.product_type_variable,
.product-small a.button.product_type_external, .product a.button.product_type_external {
  background: #fff !important;
  color: var(--ml-blue) !important;
  border: 1px solid var(--ml-blue) !important;
}
.product-small a.button.product_type_variable:hover, .product a.button.product_type_variable:hover {
  background: var(--ml-blue) !important;
  color: #fff !important;
}

/* ===== Inputs ===== */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="search"], input[type="number"], select, textarea {
  background: #fff !important;
  border: 1px solid var(--ml-line-strong) !important;
  color: var(--ml-text) !important;
  border-radius: var(--ml-radius) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
}
input:focus, select:focus, textarea:focus { border-color: var(--ml-blue) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(52,131,250,.15) !important; }
label, .form-row label { color: var(--ml-text) !important; font-weight: 500 !important; font-size: 13px !important; }

/* ===== Section titles ===== */
.section-title, .featured_title, .row-title { color: var(--ml-text) !important; border: 0 !important; }
.section-title b, .row-title b { border-color: var(--ml-line) !important; flex: 1 !important; }
.section-title span, .row-title span {
  color: var(--ml-text) !important;
  font-family: 'Inter', sans-serif !important;
  letter-spacing: -.01em !important;
  font-weight: 600 !important;
  text-transform: none !important;
  background: var(--ml-bg) !important;
  padding: 0 12px !important;
  font-size: 18px !important;
}

/* ===== Single product page ===== */
body.single-product .product-summary, body.single-product .product-info,
body.single-product .product .summary {
  background: #fff !important;
  border-radius: var(--ml-radius) !important;
  padding: 24px !important;
  border: 1px solid var(--ml-line);
  box-shadow: var(--ml-shadow-sm);
}
body.single-product .product-page-title, body.single-product .product-info h1, body.single-product .product .product-title {
  color: var(--ml-text) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
  letter-spacing: -.01em !important;
}
body.single-product .product .summary .price,
body.single-product .price ins .amount, body.single-product .price > .amount {
  color: var(--ml-text) !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  display: block;
}
body.single-product .product .summary .price del .amount { color: var(--ml-text-dim) !important; font-size: 14px !important; }
body.single-product .quantity input { background: #fff !important; color: var(--ml-text) !important; border-color: var(--ml-line-strong) !important; }
body.single-product .single_add_to_cart_button {
  font-size: 14px !important;
  padding: 12px 26px !important;
  background: var(--ml-blue) !important;
  color: #fff !important;
}
.dg-product-cta-stack { display: flex; flex-direction: column; gap: 8px; max-width: 340px; margin-top: 8px; }

.woocommerce-product-gallery, .product-gallery {
  background: #fff !important;
  border-radius: var(--ml-radius) !important;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--ml-line);
}

/* Tabs */
.tabbed-content .nav-tabs, .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--ml-line) !important; background: transparent !important; padding: 0 !important; }
.tabbed-content .nav-tabs > li > a, .woocommerce-tabs ul.tabs > li > a {
  color: var(--ml-text-soft) !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  padding: 12px 20px !important;
}
.tabbed-content .nav-tabs > li.active > a, .tabbed-content .nav-tabs > li > a:hover,
.woocommerce-tabs ul.tabs > li.active > a {
  color: var(--ml-blue) !important;
  border-bottom-color: var(--ml-blue) !important;
}
.woocommerce-Tabs-panel { padding: 20px 0 !important; color: var(--ml-text-soft) !important; }

/* ===== Checkout / cart ===== */
.woocommerce-cart-form, .cart_totals, #order_review, .woocommerce-checkout-review-order-table {
  background: #fff !important;
  border-radius: var(--ml-radius) !important;
  border: 1px solid var(--ml-line) !important;
  padding: 20px !important;
  box-shadow: var(--ml-shadow-sm);
}
.shop_table { background: #fff !important; color: var(--ml-text) !important; }
.shop_table th, .shop_table td { border-color: var(--ml-line) !important; color: var(--ml-text) !important; padding: 14px !important; }
.shop_table thead { background: var(--ml-bg-soft) !important; }
.shop_table thead th { color: var(--ml-text) !important; font-weight: 600 !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: .02em !important; }
.shop_table .amount { color: var(--ml-text) !important; font-weight: 500 !important; }
.shop_table .product-name a { color: var(--ml-blue) !important; }
.cart_totals h2 { color: var(--ml-text) !important; font-size: 16px !important; }

/* Quantity buttons (- / +) — input maior, botoes ovais discretos */
.quantity { display: inline-flex !important; align-items: center !important; gap: 0 !important; border: 1px solid var(--ml-line-strong) !important; border-radius: var(--ml-radius) !important; overflow: hidden !important; background: #fff !important; }
.quantity .qty {
  background: #fff !important;
  color: var(--ml-text) !important;
  border: 0 !important;
  border-left: 1px solid var(--ml-line) !important;
  border-right: 1px solid var(--ml-line) !important;
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  height: 38px !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-align: center !important;
  border-radius: 0 !important;
  -moz-appearance: textfield;
}
.quantity .qty::-webkit-inner-spin-button, .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.quantity .plus, .quantity .minus, .cart_table .quantity button {
  background: #fff !important;
  color: var(--ml-text) !important;
  border: 0 !important;
  width: 36px !important;
  height: 38px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.quantity .plus:hover, .quantity .minus:hover { background: var(--ml-bg-soft) !important; color: var(--ml-blue) !important; }

/* Mini cart */
.cart-popup, .header-cart-popup, .mini-cart {
  background: #fff !important;
  border: 1px solid var(--ml-line) !important;
  border-radius: var(--ml-radius) !important;
  color: var(--ml-text) !important;
  box-shadow: var(--ml-shadow) !important;
}
.cart-popup-inner, .cart-popup-inner * { color: var(--ml-text) !important; }
.cart-popup .cart_list .amount { color: var(--ml-text) !important; font-weight: 600 !important; }

/* ===== Sidebar widgets ===== */
.widget, .sidebar-widget { background: #fff !important; border: 1px solid var(--ml-line) !important; border-radius: var(--ml-radius) !important; padding: 16px !important; margin-bottom: 16px !important; box-shadow: var(--ml-shadow-sm); }
.widget-title { color: var(--ml-text) !important; font-family: 'Inter', sans-serif !important; text-transform: none !important; letter-spacing: -.01em !important; font-weight: 600 !important; font-size: 15px !important; padding-bottom: 10px !important; border-bottom: 1px solid var(--ml-line) !important; margin-bottom: 12px !important; }
.widget li { color: var(--ml-text-soft) !important; border-bottom: 1px solid var(--ml-line) !important; padding: 6px 0 !important; font-size: 13px !important; }
.widget li:last-child { border-bottom: 0 !important; }
.widget li a { color: var(--ml-text-soft) !important; }
.widget li a:hover { color: var(--ml-blue) !important; }
.price_slider_wrapper .price_slider_amount .button { background: var(--ml-blue) !important; color: #fff !important; }

/* ===== Footer — claro consistente com body ===== */
.footer-wrapper, .absolute-footer, footer .footer, .footer {
  background: #f5f5f5 !important;
  color: var(--ml-text-soft) !important;
  border-top: 1px solid var(--ml-line) !important;
  padding: 40px 0 20px !important;
}
.footer h3, .footer h4, .footer .widget-title {
  color: var(--ml-text) !important;
  font-family: 'Inter', sans-serif !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  border: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-bottom: 0 !important;
  padding-bottom: 8px !important;
}
.footer a, .absolute-footer a { color: var(--ml-text-soft) !important; }
.footer a:hover, .absolute-footer a:hover { color: var(--ml-blue) !important; }
.absolute-footer { background: #ebebeb !important; border-top: 1px solid var(--ml-line) !important; padding: 16px 0 !important; font-size: 12px !important; color: var(--ml-text-dim) !important; }
.absolute-footer .copyright-footer a, .absolute-footer strong { color: var(--ml-text) !important; }

/* ===== WhatsApp float ===== */
.dg-wa-float {
  position: fixed !important;
  bottom: 22px !important;
  right: 22px !important;
  z-index: 9998 !important;
  background: #25d366 !important;
  color: #fff !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 24px rgba(37,211,102,.45);
  transition: transform .2s ease;
  text-decoration: none !important;
}
.dg-wa-float:hover { transform: scale(1.08); color: #fff !important; }
.dg-wa-float svg { width: 28px; height: 28px; fill: #fff; }

/* Esconde dark mode toggle do plugin */
.wp-dark-mode-switcher, .wpdm-switcher { display: none !important; }

/* Banner hero — readable overlay */
.banner-layers .fill::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.4) 100%);
  pointer-events: none;
  z-index: 1;
}
.banner-layers .text-box { z-index: 2 !important; }
body.home .banner h1, body.home .banner h2 { color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,.6) !important; letter-spacing: -.02em !important; font-weight: 700 !important; }

/* ===== Shop page title / breadcrumb (FIX rosa que come o texto) ===== */
.shop-page-title, .category-page-title, .page-title:not(.dark-text), .featured-title {
  background: var(--ml-bg-soft) !important;
  padding: 16px 0 !important;
  min-height: auto !important;
}
.shop-page-title .page-title-bg, .category-page-title .page-title-bg,
.page-title .page-title-bg, .page-title-bg.fill, .title-bg, .bg-fill {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
}
.shop-page-title.dark, .category-page-title.dark, .page-title.dark {
  background: var(--ml-bg-soft) !important;
  color: var(--ml-text) !important;
}
.shop-page-title.dark *, .page-title.dark *,
.shop-page-title.dark .breadcrumbs, .page-title.dark .breadcrumbs {
  color: var(--ml-text-soft) !important;
  text-shadow: none !important;
}
.shop-page-title .breadcrumbs a, .page-title .breadcrumbs a,
.shop-page-title.dark .breadcrumbs a, .page-title.dark .breadcrumbs a {
  color: var(--ml-blue) !important;
  text-shadow: none !important;
}
.shop-page-title h1, .category-page-title h1, .page-title h1,
.shop-page-title.dark h1, .page-title.dark h1 {
  color: var(--ml-text) !important;
  text-shadow: none !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}
.page-title-inner { padding: 0 !important; }
.shop-page-title .woocommerce-ordering, .category-page-title .woocommerce-ordering { background: #fff !important; }
.shop-page-title .woocommerce-ordering select { background: #fff !important; color: var(--ml-text) !important; border: 1px solid var(--ml-line) !important; }

/* Stars Woo */
.star-rating::before { color: var(--ml-line-strong) !important; }
.star-rating span::before { color: var(--ml-accent-dark) !important; }

/* Breadcrumb */
.breadcrumbs, .woocommerce-breadcrumb { color: var(--ml-text-dim) !important; font-size: 12px !important; padding: 10px 0 !important; }
.breadcrumbs a, .woocommerce-breadcrumb a { color: var(--ml-blue) !important; }
.breadcrumbs a:hover { color: var(--ml-text) !important; }

/* Result count + ordering */
.woocommerce-result-count { color: var(--ml-text-dim) !important; font-size: 12px !important; }
.woocommerce-ordering select { background: #fff !important; color: var(--ml-text) !important; border-color: var(--ml-line-strong) !important; }

/* Pagination */
.woocommerce-pagination .page-numbers li a, .woocommerce-pagination .page-numbers li span {
  background: #fff !important;
  color: var(--ml-text) !important;
  border: 1px solid var(--ml-line) !important;
  border-radius: var(--ml-radius) !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
}
.woocommerce-pagination .page-numbers li .current,
.woocommerce-pagination .page-numbers li a:hover {
  background: var(--ml-blue) !important;
  color: #fff !important;
  border-color: var(--ml-blue) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--ml-bg-soft); }
::-webkit-scrollbar-thumb { background: var(--ml-line-strong); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--ml-text-dim); }

/* Selection */
::selection { background: var(--ml-accent); color: var(--ml-text); }

/* Categoria de produto / shop loop wrapper */
.shop-container, .archive .products, .product-section { background: var(--ml-bg) !important; }
.shop-container > .row { background: transparent !important; }
