/* ==========================================================================
   SONHO MÁGICO — CSS DA LOJA (organizado)
   Índice
    1. Base: variáveis e tipografia
    2. Topo: faixa de frete, cabeçalho, busca, atalhos de ajuda
    3. Home: benefícios e carrosséis
    4. Produto e listagem
    5. Rodapé: base, apresentação, navegação, contato, pagamentos, copyright
    6. WhatsApp flutuante
    7. Conta: login, cadastro, recuperação e Minha conta
    8. Formulários, CMS, 404, estados vazios, minicarrinho e checkout (8.6 = visual novo)
    9. Ajustes de celular (770px)
   10. Movimento reduzido
   ========================================================================== */


/* ==========================================================================
   1. BASE
   ========================================================================== */
:root {
  --sm-primary: var(--tc-btn-buy-detail, #a34e85);
  --sm-primary-hover: color-mix(in srgb, var(--sm-primary) 78%, #000);
  --sm-rose: #a34e85;
  --sm-ink: #284a43;
  --sm-line: #deded8;
  --sm-cream: #fbf8f2;
  --sm-radius: 10px;
}

/* Fonte de conteúdo; fontes de ícones ficam preservadas. */
body, h1, h2, h3, h4, h5, h6, p, label, input, select, textarea,
button, .button, .form-list, .page-title, .product-name,
.product-sku, .std, .toolbar, .step-title {
  font-family: Inter, Arial, sans-serif !important;
}


/* ==========================================================================
   2. TOPO
   ========================================================================== */

/* 2.1 Faixa de frete: só na home */
.barra-topo-loja { display: none !important; }
body.cms-index-index .barra-topo-loja {
  display: block !important;
  width: 100%;
  text-align: center;
  padding: 9px 16px;
  box-sizing: border-box;
}
body.cms-index-index .barra-topo-loja > * { display: none !important; }
body.cms-index-index .barra-topo-loja::before {
  content: "Frete grátis acima de R$ 300,00";
  display: block;
  color: #fff;
  font: 600 14px/1.5 Inter, Arial, sans-serif;
}

/* 2.2 Cabeçalho desktop: busca à esquerda, logo ao centro, atalhos à direita */
@media (min-width: 768px) {
  body .topoSite {
    border-bottom: 1px solid #f2e9ee;
  }
  body .topoSite #header {
    box-shadow: 0 3px 14px rgba(54, 75, 84, 0.035);
  }
  body .topoSite #header .page-header-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas: "search logo actions";
    align-items: center;
    gap: 24px;
    width: min(1200px, calc(100% - 32px));
    max-width: 1200px;
    min-height: 94px;
    margin: 0 auto;
    padding: 10px 0;
    box-sizing: border-box;
  }

  /* Logo */
  body .topoSite #header .page-header-container > .logo {
    grid-area: logo;
    justify-self: center;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    float: none;
  }
  body .topoSite #header .page-header-container > .logo img {
    display: block;
    width: 116px;
    max-width: 100%;
    max-height: 62px;
    margin: 0 auto;
    object-fit: contain;
  }

  /* Busca */
  body .topoSite #header-search {
    grid-area: search;
    justify-self: start;
    width: min(295px, 100%);
    max-width: 295px;
    margin: 0;
  }
  body .topoSite #header-search form,
  body .topoSite #header-search .input-box {
    width: 100%;
    margin: 0;
  }
  body .topoSite #header-search .input-box { position: relative; }
  body .topoSite #header-search input {
    width: 100%;
    height: 38px;
    box-sizing: border-box;
    border: 1px solid #e8dfe5;
    border-radius: 999px;
    box-shadow: 0 3px 12px rgba(74, 54, 68, 0.045);
    transition: border-color 180ms ease, box-shadow 180ms ease;
  }
  body .topoSite #header-search input:focus {
    border-color: #d79abd;
    box-shadow: 0 0 0 3px rgba(215, 154, 189, 0.16);
    outline: none;
  }
  body .topoSite #header-search .input-box .search-button {
    top: 0;
    right: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 38px;
    margin: 0;
    padding: 0 !important;
    border: 0;
    background: transparent;
    box-shadow: none;
    line-height: 1;
    color: #4f5b60;
  }
  body .topoSite #header-search .search-button > span:not(.hc-icon-svg) { display: none !important; }
  body .topoSite #header-search .search-button .hc-icon-svg,
  body .topoSite #header-search .search-button .hc-icon-svg svg {
    display: block;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
  }

  /* Atalhos (conta e carrinho) */
  body .topoSite #header .page-header-container > .skip-links {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    gap: 18px;
    width: auto;
    margin: 0;
    float: none;
  }
  body .topoSite #header .skip-links > .skip-nav,
  body .topoSite #header .skip-links > .skip-search,
  body .topoSite #header .skip-links > .logo-mobile { display: none !important; }
  body .topoSite #header .skip-links > .skip-account,
  body .topoSite #header .skip-links .header-minicart > .skip-cart { margin: 0; }
  body .topoSite #header .skip-account,
  body .topoSite #header .header-minicart > a {
    transition: color 180ms ease, transform 180ms ease;
  }
  body .topoSite #header .skip-account:hover,
  body .topoSite #header .header-minicart > a:hover {
    color: #815878;
    transform: translateY(-1px);
  }

  body .menuPrincipal #header-nav {
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    padding: 0;
  }
  body .menuPrincipal #header-nav #nav {
    width: min(1260px, calc(100% - 48px));
    margin: 0 auto;
  }
  body .menuPrincipal #header-nav .nav-primary {
    width: 100%;
    justify-content: center;
    gap: 12px;
  }
  body .menuPrincipal #header-nav .nav-primary > li { margin: 0 3px; }
  body .menuPrincipal::after {
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #a7d5e4 0%, #e7a8cc 50%, #a8d5b8 100%);
    content: "";
  }

  /* Cabeçalho compacto ao rolar */
  body .barraItemFixo {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid #f0e7ed;
    box-shadow: 0 8px 24px rgba(45, 58, 66, 0.10);
  }
}

/* Menu: sem destaque no hover/foco */
body .menuPrincipal #header-nav .nav-primary > li > a:hover,
body .menuPrincipal #header-nav .nav-primary > li > a:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
}

/* Busca: bordas sempre arredondadas */
html body #header-search #search_mini_form .input-box,
html body #header-search #search_mini_form .input-box:is(:hover, :focus-within),
html body #header-search #search_mini_form #search.input-text,
html body #header-search #search_mini_form #search.input-text:is(:hover, :focus, :active),
html body #header-search #search_mini_form .search-button,
html body #header-search #search_mini_form .search-button:is(:hover, :focus, :active),
html body #header-search #search_mini_form .search-button::before {
  border-radius: 999px !important;
}

/* 2.3 Cabeçalho celular */
@media (max-width: 767px) {
  body .topoSite #header {
    height: auto;
    min-height: 0;
  }
  body .topoSite #header .logo {
    width: 200px;
    height: auto;
    margin: 10px auto 0;
    padding: 8px 8px 4px;
  }
  body .topoSite #header .logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 68px;
    height: 68px;
    margin: 0 auto;
    object-fit: contain;
  }
  body .barra-topo-loja {
    min-height: 36px;
    padding: 8px 12px !important;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
  }
  body .topoSite #header .skip-links a { min-height: 48px; }
  body .barraItemFixo { box-shadow: 0 6px 18px rgba(45, 58, 66, 0.12); }
}

/* ==========================================================================
   3. HOME
   ========================================================================== */

/* 3.1 Faixa de benefícios */
.footer-before-container {
  background: #fff !important;
  padding: 28px 20px;
}
html body .linhaDestaques.sm-benefits {
  width: calc(100% - 48px) !important;
  max-width: 1200px !important;
  margin: 32px auto !important;
  padding: 0 !important;
  border: 1px solid #e8e0d9 !important;
  border-radius: 20px !important;
  box-sizing: border-box;
}
html body .linhaDestaques.sm-benefits > .page-header {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 24px 12px !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
html body .linhaDestaques.sm-benefits > .page-header::before,
html body .linhaDestaques.sm-benefits > .page-header::after { display: none !important; }
html body .linhaDestaques.sm-benefits .coluna1de4 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  float: none !important;
  width: auto !important;
  padding: 10px 18px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-width: 0;
  box-sizing: border-box;
}
html body .linhaDestaques.sm-benefits .coluna1de4 + .coluna1de4 { border-left: 1px solid #dfc2c5 !important; }
html body .linhaDestaques.sm-benefits .icone {
  display: grid !important;
  place-items: center !important;
  width: 50px !important;
  height: 50px !important;
  flex: 0 0 50px !important;
  margin: 0 !important;
  background: #e9ece4 !important;
  color: #4a7367 !important;
  border-radius: 50% !important;
}
html body .linhaDestaques.sm-benefits .icone svg { width: 29px; height: 29px; display: block; }
html body .linhaDestaques.sm-benefits .caixaTexto,
html body .linhaDestaques.sm-benefits .caixaTexto table {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}
html body .linhaDestaques.sm-benefits .caixaTexto {
  min-width: 0;
  padding: 0 !important;
  text-align: left !important;
}
html body .linhaDestaques.sm-benefits .titulo {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  min-height: 0 !important;
  white-space: normal !important;
  margin: 0 0 5px !important;
}
html body .linhaDestaques.sm-benefits .titulo::before { content: none !important; }
html body .linhaDestaques.sm-benefits .subtitulo {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #62736f !important;
  margin: 0 !important;
}

/* Tablet: 2 colunas com divisórias contínuas */
@media (max-width: 1000px) {
  html body .linhaDestaques.sm-benefits > .page-header {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    position: relative !important;
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
  }
  html body .linhaDestaques.sm-benefits > .page-header > .coluna1de4,
  html body .linhaDestaques.sm-benefits > .page-header > .coluna1de4 + .coluna1de4,
  html body .linhaDestaques.sm-benefits > .page-header > .coluna1de4:nth-child(n + 3) {
    border: 0 !important;
    align-self: stretch !important;
    height: auto !important;
  }
  html body .linhaDestaques.sm-benefits > .page-header::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 1px !important;
    height: auto !important;
    background: #e4d4d1 !important;
    transform: translateX(-0.5px);
    pointer-events: none;
  }
  html body .linhaDestaques.sm-benefits > .page-header::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 12px !important;
    right: 12px !important;
    height: 1px !important;
    width: auto !important;
    background: #e4d4d1 !important;
    transform: translateY(-0.5px);
    pointer-events: none;
  }
}

/* Celular */
@media (max-width: 600px) {
  .footer-before-container { padding: 24px 16px; }
  html body .linhaDestaques.sm-benefits {
    width: calc(100% - 32px) !important;
    margin: 24px auto !important;
    border-radius: 16px !important;
  }
  html body .linhaDestaques.sm-benefits > .page-header { padding: 8px !important; }
  html body .linhaDestaques.sm-benefits .coluna1de4 {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 16px 12px !important;
    gap: 10px !important;
  }
  html body .linhaDestaques.sm-benefits .titulo { font-size: 13px !important; }
}

/* 3.2 Carrosséis de produtos: botões anterior/próximo */
html body .category-products .owl-carousel .owl-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  width: auto !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .category-products .owl-carousel .owl-nav.disabled { display: none !important; }
html body .category-products .owl-carousel .owl-nav button:is(.owl-prev, .owl-next) {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e5d5df !important;
  border-radius: 15px !important;
  background: #fffafb !important;
  color: #80516c !important;
  box-shadow: 0 4px 12px rgba(128, 81, 108, 0.08) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  opacity: 1 !important;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.2s !important;
}
html body .category-products .owl-carousel .owl-nav button span { display: none !important; }
html body .category-products .owl-carousel .owl-nav button::after { content: none !important; }
html body .category-products .owl-carousel .owl-nav button::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  background: none !important;
  transform: rotate(45deg) !important;
  margin: 0 3px 0 0 !important;
}
html body .category-products .owl-carousel .owl-nav button.owl-prev::before {
  transform: rotate(-135deg) !important;
  margin: 0 0 0 3px !important;
}
html body .category-products .owl-carousel .owl-nav button:focus-visible {
  outline: 2px solid var(--tc-link-hover, #ad628b) !important;
  outline-offset: 3px !important;
}
html body .category-products .owl-carousel .owl-nav button.disabled,
html body .category-products .owl-carousel .owl-nav button:disabled {
  opacity: 0.4 !important;
  cursor: default !important;
  box-shadow: none !important;
}
@media (hover: hover) and (pointer: fine) {
  html body .category-products .owl-carousel .owl-nav button:not(.disabled):not(:disabled):hover {
    background: var(--tc-link-hover, #ad628b) !important;
    border-color: var(--tc-link-hover, #ad628b) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 7px 16px rgba(173, 98, 139, 0.23) !important;
  }
}
html body .category-products .owl-carousel .owl-nav button:not(.disabled):not(:disabled):active {
  background: #e9dce3 !important;
  border-color: #c6a3b5 !important;
  color: #7d4260 !important;
  box-shadow: none !important;
  transform: scale(0.96) !important;
}
@media (min-width: 768px) {
  html body .widget-title:has(+ .category-products.hc-nav-titulo) { padding-right: 132px !important; min-height: 64px; box-sizing: border-box; }
  html body .category-products.lista-carrousel.hc-nav-titulo .owl-carousel .owl-nav { right: 0 !important; top: -110px !important; }
}
@media (max-width: 767px) {
  html body .widget-title:has(+ .category-products.hc-nav-titulo) {
    padding-right: 0 !important;
    margin-bottom: 0 !important;
  }
  html body .widget-title:has(+ .category-products.hc-nav-titulo) h2 {
    font-size: 20px !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
  }
  html body .category-products.hc-nav-titulo { padding-top: 80px !important; }
  html body .category-products.lista-carrousel.hc-nav-titulo .owl-carousel .owl-nav { top: -64px !important; right: 0 !important; gap: 10px !important; }
  html body .category-products .owl-carousel .owl-nav button:is(.owl-prev, .owl-next) {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    flex-basis: 48px !important;
  }
  /* Mantém os controles quando há mais de um produto no carrossel */
  html body .category-products.hc-nav-titulo .owl-carousel:has(.owl-item:not(.cloned) ~ .owl-item:not(.cloned)) .owl-nav.disabled {
    display: flex !important;
  }
}


/* ==========================================================================
   4. PRODUTO E LISTAGEM
   ========================================================================== */

/* 4.1 Preço e SKU */
/* Preço antigo (riscado) em cinza */
body .page .price-box .old-price .price { color: #8a8f8c !important; }

/* Rótulos e SKU em cinza */
.product-sku, .sku-number, .product-view .no-rating,
.product-view .price-box .price-label { color: #626b68 !important; }

.col-main .page-title h1 { color: var(--sm-ink); line-height: 1.3; overflow-wrap: anywhere; }
/* 4.2 Descrição legível */
#pdp-panel-description .std.sm-readable-description { line-height: 1.85; color: #46534f; }
.sm-readable-description p { margin: 0 0 16px; }
.sm-readable-description h3 { font-size: 17px; color: var(--sm-ink); margin: 24px 0 10px; }
.sm-readable-description ul { padding-left: 20px; margin: 0 0 18px; list-style: disc; }
.sm-readable-description li { margin-bottom: 6px; }

/* 4.3 Imagem indisponível */
.sm-missing-image { position: relative !important; background: #f7f5f0 !important; }
.sm-missing-image > img,
.sm-missing-image img.sm-placeholder-image { opacity: 0 !important; }
.sm-missing-image::after {
  content: "Imagem indisponível";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  color: #69736c;
  font: 500 13px/1.5 Inter, Arial, sans-serif;
  text-align: center;
  pointer-events: none;
}
.product-image-thumbs .sm-missing-image::after { content: "Sem foto"; padding: 3px; font-size: 10px; }

/* 4.4 Filtros e paginação */
.block-layered-nav .block-title,
.block-layered-nav .block-subtitle--filter {
  background: var(--sm-cream) !important;
  color: var(--sm-ink) !important;
  border: 1px solid var(--sm-line);
  border-radius: 8px;
}
.block-layered-nav .block-title span,
.block-layered-nav .block-subtitle--filter:before { color: var(--sm-ink) !important; }
#narrow-by-list dt { color: var(--sm-ink); font-weight: 600; }
#narrow-by-list dd ol {
  max-height: 280px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding-right: 7px;
}
#narrow-by-list dd a { line-height: 1.6; }
.toolbar { border-color: #e4e8e5; color: #46534f; }
.toolbar select {
  border: 1px solid #cbd5d0;
  border-radius: 7px;
  min-height: 38px;
  background-color: #fff;
  color: #34463f;
}
.toolbar .pages li,
.toolbar .pages li a { border-radius: 7px; }
.toolbar .pages li.current {
  background: var(--sm-primary) !important;
  color: #fff !important;
  border-color: var(--sm-primary) !important;
}


/* ==========================================================================
   5. RODAPÉ
   ========================================================================== */

/* 5.1 Base e grade */
html body div.rodapeSite.footer_custom_1 {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  color: #345954 !important;
  padding: 0 !important;
}
html body div.rodapeSite.footer_custom_1 > .footer-container {
  max-width: 1200px !important;
  width: calc(100% - 48px) !important;
  padding: 48px 0 40px !important;
  margin: 0 auto !important;
}
html body div.rodapeSite.footer_custom_1 .footer {
  display: grid !important;
  grid-template-columns: 0.95fr 1.7fr 1fr !important;
  gap: 30px !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}
/* Elementos legados do tema que não entram no layout */
html body div.rodapeSite.footer_custom_1 .footer::before,
html body div.rodapeSite.footer_custom_1 .footer::after,
html body div.rodapeSite.footer_custom_1 .allMarcas,
html body div.rodapeSite.footer_custom_1 .mp-copyright,
html body div.rodapeSite.footer_custom_1 .user-welcome-mobile,
html body div.rodapeSite.footer_custom_1 .footer > .links:not(.sm-footer-info),
html body div.rodapeSite.footer_custom_1 .sm-contact-label,
html body div.rodapeSite.footer_custom_1 .sm-footer-dots { display: none !important; }
html body div.rodapeSite.footer_custom_1 .footer > .sm-footer-intro,
html body div.rodapeSite.footer_custom_1 .footer > .sm-footer-contact {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  min-width: 0 !important;
}
.rodapeSite a:focus-visible { outline: 3px solid #689cc0; outline-offset: 4px; border-radius: 4px; }

/* Logo antigo do rodapé: escondido (a marca está na apresentação) */
a[aria-label="Link Logo Rodape"] { display: none !important; }

/* 5.2 Apresentação (logo, frase e texto) */
body .rodapeSite.footer_custom_1 .sm-footer-intro {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 20px 10px 0;
}
html body div.rodapeSite.footer_custom_1 .sm-footer-brand { display: block !important; width: 155px !important; margin: 0 0 20px !important; }
html body div.rodapeSite.footer_custom_1 .sm-footer-brand img { display: block !important; width: 155px !important; max-width: 100% !important; height: auto !important; }
html body div.rodapeSite.footer_custom_1 .sm-footer-intro .sm-eyebrow {
  display: block !important;
  color: #4e7767;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
}
html body div.rodapeSite.footer_custom_1 .sm-footer-intro h2 {
  color: #345954 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.7px !important;
  text-transform: none;
  margin: 0 0 16px !important;
}
html body div.rodapeSite.footer_custom_1 .sm-footer-intro p {
  color: #62736f !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  max-width: 320px !important;
  margin: 0 !important;
}

/* 5.3 Navegação: Institucional, Atendimento e Ajuda */
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-self: center !important;
}
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups > .sm-footer-group { padding: 0 16px; min-width: 0; }
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups > .sm-footer-group:first-child { padding-left: 0; }
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups > .sm-footer-group + .sm-footer-group { border-left: 1px solid #e8ded8; }
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups summary {
  display: block;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 16px;
  pointer-events: none;
}
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups summary::-webkit-details-marker { display: none; }
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups a {
  font-size: 12px !important;
  line-height: 1.6 !important;
}
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups a:hover { color: var(--tc-link-hover) !important; }

/* Navegação: ajustes de desktop (vieram do <style> que ficava dentro do bloco).
   Limitados a 601px+ para não sobrescrever o acordeão do celular (5.10). */
@media (min-width: 601px) {
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups { align-self: start !important; gap: 22px !important; }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups > .sm-footer-group { padding: 0 !important; border: 0 !important; }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups summary { font-size: 16px !important; margin: 0 0 20px !important; color: var(--tc-footer-title) !important; }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups a { font-size: 14px !important; line-height: 1.5 !important; }
}
html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups summary::before { content: none !important; display: none !important; }

/* 5.4 Atendimento (cartão rosa) */
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact {
  padding: 26px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: #f7e9ed !important;
  box-shadow: none !important;
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact h3 {
  font-size: 24px !important;
  line-height: 1.25 !important;
  color: #345954 !important;
  font-weight: 700 !important;
  letter-spacing: -0.4px;
  margin: 0 0 12px !important;
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact p {
  color: #62736f !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 22px !important;
}

/* 5.5 Botão de WhatsApp do rodapé */
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.25 !important;
  text-align: center !important;
  box-shadow: 0 5px 14px rgba(45, 100, 76, 0.12) !important;
  transform: translateY(0) !important;
  filter: none !important;
  transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease !important;
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp::before {
  content: "" !important;
  position: absolute;
  inset: -60% auto -60% -55%;
  width: 35%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.23), transparent);
  transform: skewX(-20deg) translateX(0);
  opacity: 0;
  pointer-events: none;
  transition: transform 650ms ease, opacity 200ms ease;
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp::after { content: none !important; }
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp svg.sm-whatsapp-icon {
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px !important;
  margin: 0 !important;
  fill: currentColor !important;
  stroke: none !important;
  overflow: visible;
  animation: none !important;
  transform: none;
  transform-origin: 50% 55%;
}
html body .rodapeSite.footer_custom_1 .sm-whatsapp svg.sm-whatsapp-icon path { fill: currentColor !important; stroke: none !important; }
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp:focus-visible {
  outline: 2px solid #39775f !important;
  outline-offset: 4px !important;
}
@keyframes sm-footer-phone-hover {
  0%, 100% { transform: rotate(0); }
  20% { transform: rotate(-12deg); }
  40% { transform: rotate(11deg); }
  60% { transform: rotate(-8deg); }
  80% { transform: rotate(5deg); }
}
@media (hover: hover) and (pointer: fine) {
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp:hover {
    transform: translateY(-3px) !important;
    filter: brightness(1.06) !important;
    box-shadow: 0 10px 22px rgba(45, 100, 76, 0.24) !important;
  }
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp:hover::before {
    opacity: 1;
    transform: skewX(-20deg) translateX(550%);
  }
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp:hover svg.sm-whatsapp-icon {
    animation: sm-footer-phone-hover 650ms ease-in-out 1 !important;
  }
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp:active {
  transform: translateY(0) scale(0.98) !important;
}

/* Verde WhatsApp e cápsula: rodapé e botão flutuante, em todos os estados */
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp,
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp:is(:hover, :focus, :focus-visible, :active),
html body a.whatsapp-float.ww-whatsapp-contact,
html body a.whatsapp-float.ww-whatsapp-contact:is(:hover, :focus, :focus-visible, :active) {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #2cdb70 0%, #20bd5b 100%) !important;
  color: #fff !important;
}

/* 5.6 Redes sociais */
html body div.rodapeSite.footer_custom_1 .sm-social {
  display: flex !important;
  gap: 10px !important;
  margin: 14px 0 0 !important;
}
html body div.rodapeSite.footer_custom_1 .sm-social a {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 1 !important;
  justify-content: center !important;
  padding: 10px 8px !important;
  border: 1px solid #d9c9cd !important;
  border-radius: 10px !important;
  color: #36584f !important;
  font-size: 13px !important;
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact .sm-social a {
  position: relative;
  min-height: 42px;
  box-sizing: border-box;
  text-decoration: none !important;
  background: transparent !important;
  transform: translateY(0);
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease !important;
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact .sm-social a svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  transform: scale(1);
  transition: transform 220ms ease;
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact .sm-social a:focus-visible { outline: 2px solid #ad628b; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact .sm-social a:hover {
    color: #fff !important;
    background: #ad628b !important;
    border-color: #ad628b !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 14px rgba(130, 66, 100, 0.18);
  }
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact .sm-social a[aria-label*="Facebook"]:hover {
    background: #4267a3 !important;
    border-color: #4267a3 !important;
  }
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact .sm-social a:hover svg { transform: scale(1.1); }
}
html body div.rodapeSite.footer_custom_1 section.sm-footer-contact .sm-social a:active { transform: translateY(0) scale(0.98) !important; }

/* 5.7 Pagamentos e selos */
html body .contentSelos {
  padding: 0 !important;
  border: 0 !important;
}
html body .page .contentSelos > .footer-container {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr !important;
  gap: 42px !important;
  align-items: start !important;
  max-width: 1200px !important;
  width: calc(100% - 48px) !important;
  margin: 0 auto !important;
  padding: 24px 0 20px !important;
  border-top: 1px solid #e8ded8 !important;
}
html body .page .contentSelos .footer-container > div.pagamento,
html body .page .contentSelos .footer-container > div.scriptSelos {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box;
  align-self: stretch;
}
html body .page .contentSelos .footer-container > div.pagamento::before,
html body .page .contentSelos .footer-container > div.pagamento::after,
html body .page .contentSelos .footer-container > div.scriptSelos::before,
html body .page .contentSelos .footer-container > div.scriptSelos::after { content: none !important; display: none !important; }
html body .page .contentSelos .footer-container .block-title {
  min-height: 20px;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}
html body .page .contentSelos .footer-container .block-title strong { font: inherit !important; }
html body .page .contentSelos .scriptSelos .selosCx > .block-title {
  width: 100% !important;
  flex: 0 0 100% !important;
  margin: 0 0 4px !important;
}

/* Bandeiras */
html body .page .contentSelos .pagamento .cartoesRodapeLoja {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px 10px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
html body .page .contentSelos .pagamento .cartoesRodapeLoja > li {
  float: none !important;
  margin: 0 !important;
  flex-shrink: 0;
  box-shadow: none !important;
  border: 1px solid #edf0ed !important;
  border-radius: 6px;
  min-width: 58px;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
}
html body .page .contentSelos .pagamento .cartoesRodapeLoja > .sm-payment-divider { display: none !important; }

/* Selos */
html body .page .contentSelos .scriptSelos .selosCx {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  padding: 0 !important;
  background: transparent !important;
}
html body .page .contentSelos .scriptSelos .caixaSelo {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .page .contentSelos .scriptSelos .selosCx img {
  max-width: 110px !important;
  max-height: 58px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  mix-blend-mode: multiply;
}
html body .page .contentSelos .scriptSelos .selosCx img:is([src*="esgselo"], :last-child) {
  width: 68px !important;
  max-width: 68px !important;
}

/* 5.8 Copyright e dados legais */
body .assinaturaRodape {
  padding: 0 !important;
  border-top: 1px solid #e3eae5;
}
.assinaturaRodape > .footer-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1240px;
  width: 100%;
  padding: 22px 24px !important;
  margin: auto;
  min-height: 0 !important;
}
.assinaturaRodape .logoRodape { display: none !important; }
.assinaturaRodape .textosLeftRodape {
  font-size: 11px !important;
  line-height: 1.8 !important;
  text-align: left !important;
  width: auto !important;
  float: none !important;
  max-width: 820px;
}
.assinaturaRodape .textosRightRodape {
  float: none !important;
  width: auto !important;
  flex-shrink: 0;
}
.assinaturaRodape .textosRightRodape > br { display: none; }
.assinaturaRodape .nomePlataforma { font-size: 10px; color: #847b72; }
.sm-copyright strong {
  display: block;
  color: #4d6157;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 4px;
}
.sm-copyright p { margin: 0; }
.sm-copyright address { font-style: normal; margin: 3px 0 0; }

/* Selo de avaliações do Google, dentro da assinatura (script renderBadge) */
#sm-google-badge { margin-top: 8px; }
#sm-google-badge:empty { display: none; }

/* 5.9 Rodapé: tablet */
@media (max-width: 1000px) {
  html body div.rodapeSite.footer_custom_1 .footer { grid-template-columns: 1fr 1.5fr !important; }
  html body div.rodapeSite.footer_custom_1 .footer > .sm-footer-contact { grid-column: 1 / -1 !important; }
  html body div.rodapeSite.footer_custom_1 .sm-social { max-width: 340px; }
}

/* 5.10 Rodapé: celular (navegação em seções expansíveis) */
@media (max-width: 600px) {
  html body div.rodapeSite.footer_custom_1 > .footer-container { width: calc(100% - 40px) !important; padding: 28px 0 !important; }
  html body div.rodapeSite.footer_custom_1 .footer { grid-template-columns: 1fr !important; gap: 24px !important; }

  html body div.rodapeSite.footer_custom_1 .sm-footer-intro { padding: 0 !important; text-align: center !important; }
  html body div.rodapeSite.footer_custom_1 .sm-footer-brand { margin: 0 auto 14px !important; width: 112px !important; }
  html body div.rodapeSite.footer_custom_1 .sm-footer-brand img { width: 112px !important; }
  html body div.rodapeSite.footer_custom_1 .sm-footer-intro h2 { letter-spacing: -0.5px !important; margin: 0 0 10px !important; }
  html body div.rodapeSite.footer_custom_1 .sm-footer-intro p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    max-width: 310px !important;
    margin: 0 auto !important;
  }

  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups { display: block !important; border-top: 1px solid #e6dcd5 !important; }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups > .sm-footer-group {
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e6dcd5 !important;
  }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    padding: 14px 2px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    font-size: 15px !important;
    pointer-events: auto;
    cursor: pointer;
  }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups summary::after {
    content: "+";
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
    color: #8d9e92;
  }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups details[open] summary::after { content: "−"; }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups summary:focus-visible { outline: 2px solid #ad628b; outline-offset: 2px; }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups ul { gap: 0 !important; padding: 0 0 12px !important; }
  html body div.rodapeSite.footer_custom_1 nav.sm-footer-groups a {
    display: block !important;
    padding: 10px 2px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact {
    padding: 22px 20px !important;
    border-radius: 16px !important;
    text-align: center !important;
  }
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact h3 { font-size: 22px !important; margin-bottom: 8px !important; }
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact p { font-size: 14px !important; margin: 0 auto 18px !important; max-width: 290px; }
  html body div.rodapeSite.footer_custom_1 .sm-social { max-width: none !important; }

  html body .page .contentSelos > .footer-container {
    width: calc(100% - 40px) !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  html body .page .contentSelos .pagamento .cartoesRodapeLoja { gap: 8px !important; margin: 0 !important; }
  html body .page .contentSelos .scriptSelos .selosCx img { max-height: 48px !important; max-width: 100px !important; }

  .assinaturaRodape > .footer-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 20px !important;
  }
}


/* ==========================================================================
   6. WHATSAPP FLUTUANTE
   ========================================================================== */
html body a.whatsapp-float.ww-whatsapp-contact {
  display: inline-flex !important;
  position: fixed !important;
  right: 30px !important;
  bottom: 24px !important;
  z-index: 999;
  width: 58px !important;
  min-width: 0 !important;
  height: 58px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(23, 139, 67, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
  animation: none !important;
  will-change: width, transform;
  transition: width 480ms cubic-bezier(0.22, 1, 0.36, 1), transform 240ms ease, box-shadow 240ms ease, filter 240ms ease !important;
}
html body a.whatsapp-float.ww-whatsapp-contact::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1px;
  border: 1px solid rgba(37, 211, 102, 0.5);
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
}
html body a.whatsapp-float.ww-whatsapp-contact.is-typing::before { animation: ww-whatsapp-soft-ring 900ms ease-out; }

/* Expande ao abrir/passar o mouse (largura da frase “Posso ajudar?”) */
html body a.whatsapp-float.ww-whatsapp-contact:is(.is-expanded, :hover, :focus-visible) { width: 176px !important; }
html body a.whatsapp-float.ww-whatsapp-contact:hover,
html body a.whatsapp-float.ww-whatsapp-contact:focus-visible {
  filter: saturate(1.06) brightness(1.03) !important;
  box-shadow: 0 18px 40px rgba(23, 139, 67, 0.36), 0 0 0 4px rgba(37, 211, 102, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-3px) !important;
}
html body a.whatsapp-float.ww-whatsapp-contact:active { transform: translateY(-1px) scale(0.985); }
html body a.whatsapp-float.ww-whatsapp-contact:focus-visible { outline: 2px solid #159447; outline-offset: 4px; }

/* Ícone */
html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__icon {
  position: relative;
  display: inline-grid !important;
  place-items: center !important;
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  margin: 0 !important;
}
html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__icon svg {
  display: block;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  fill: currentColor;
  stroke: none;
  color: currentColor;
  line-height: 1;
  transform-origin: 50% 55%;
}
html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__icon svg path { fill: currentColor; stroke: none; }
html body a.whatsapp-float.ww-whatsapp-contact.is-typing .ww-float-whatsapp__icon svg { animation: ww-whatsapp-icon-wiggle 620ms ease-in-out; }

/* Texto digitado */
html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__label {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  padding-right: 20px;
  overflow: visible !important;
  opacity: 0 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-indent: 0 !important;
  text-shadow: none !important;
  filter: none !important;
  font-size: 13.76px !important;
  font-weight: 750;
  letter-spacing: -0.01em;
  line-height: 1;
  white-space: nowrap !important;
  transition: opacity 180ms ease 120ms;
}
html body a.whatsapp-float.ww-whatsapp-contact:is(.is-expanded, :hover, :focus-visible) .ww-float-whatsapp__label { opacity: 1 !important; }
html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__typed { display: inline-flex !important; }
html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__cursor {
  display: inline-block !important;
  flex: 0 0 1px;
  width: 1px;
  height: 1.05em;
  margin-left: 3px;
  background: rgba(255, 255, 255, 0.9);
  animation: ww-whatsapp-cursor 720ms steps(1, end) infinite;
}

/* Recolhe o botão quando o script detecta campo/ação na sua área */
body a.whatsapp-float.ww-whatsapp-contact.sm-avoid-control { width: 58px !important; }
body a.whatsapp-float.ww-whatsapp-contact.sm-avoid-control .ww-float-whatsapp__label {
  opacity: 0 !important;
  width: 0 !important;
  padding: 0 !important;
}
body a.whatsapp-float.ww-whatsapp-contact.sm-avoid-control:hover { transform: translateY(-2px); }
body a.whatsapp-float.ww-whatsapp-contact.sm-control-collision {
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 575.98px) {
  html body a.whatsapp-float.ww-whatsapp-contact {
    right: 14px !important;
    bottom: 16px !important;
    width: 54px !important;
    height: 54px !important;
  }
  html body a.whatsapp-float.ww-whatsapp-contact:is(.is-expanded, :hover, :focus-visible) { width: 160px !important; }
  html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__icon {
    width: 54px !important;
    height: 54px !important;
    flex-basis: 54px !important;
  }
  html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__label { padding-right: 16px; font-size: 12.48px !important; }
}

@keyframes ww-whatsapp-cursor {
  0%, 46% { opacity: 1; }
  47%, 100% { opacity: 0; }
}
@keyframes ww-whatsapp-icon-wiggle {
  0%, 100% { transform: rotate(0) scale(1); }
  25% { transform: rotate(-10deg) scale(1.05); }
  50% { transform: rotate(9deg) scale(1.08); }
  75% { transform: rotate(-5deg) scale(1.03); }
}
@keyframes ww-whatsapp-soft-ring {
  0% { opacity: 0.58; transform: scale(0.96); }
  100% { opacity: 0; transform: scale(1.32); }
}


/* ==========================================================================
   7. CONTA
   ========================================================================== */

/* 7.1 Login, cadastro e recuperação de senha */
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] { color: #52635d; }
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(h1, h2, h3, .legend) { color: #345954 !important; }
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] label { color: #52635d !important; }
html body.customer-account-login .account-login .col2-set > .col-1,
html body.customer-account-login .account-login .col2-set > .col-2,
html body.customer-account-create .account-create .fieldset {
  border: 1px solid #e8ded8 !important;
  border-radius: 16px !important;
  background: #fffdfb !important;
  box-shadow: 0 4px 16px rgba(53, 76, 66, 0.045) !important;
}
html body.customer-account-login .account-login .col2-set > .col-1 { background: #faf6f2 !important; }
html body.customer-account-create .account-create .legend { border-color: #e8ded8 !important; }
html body.customer-account-login .benefits li::before { color: #39775f !important; }

/* Botões */
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(button.button, a.button) {
  color: #fff !important;
  background: var(--sm-action-bg, var(--tc-btn-account)) !important;
  border: 1px solid var(--sm-action-bg, var(--tc-btn-account)) !important;
  border-radius: var(--sm-radius) !important;
  box-shadow: none !important;
  min-height: 46px;
  text-shadow: none !important;
}
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(button.button, a.button) span {
  background: transparent !important;
  color: inherit !important;
  border-color: transparent !important;
  text-shadow: none !important;
}
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(button.button, a.button):hover {
  background: color-mix(in srgb, var(--sm-action-bg, var(--tc-btn-account)) 78%, #000) !important;
  border-color: color-mix(in srgb, var(--sm-action-bg, var(--tc-btn-account)) 78%, #000) !important;
  transform: none !important;
  box-shadow: none !important;
}
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(button.button, a.button):focus-visible {
  outline: 2px solid #965174 !important;
  outline-offset: 4px;
}

/* Campos */
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(input.input-text, select, textarea) {
  background: #fff !important;
  border: 1px solid #ddd8d3 !important;
  border-radius: 10px !important;
  color: #345954 !important;
  box-shadow: none !important;
}
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(input.input-text, select, textarea):focus {
  border-color: #ad628b !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(173, 98, 139, 0.13) !important;
}
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(input, select, textarea).validation-failed { border-color: #b74747 !important; }
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] input:is([type="checkbox"], [type="radio"]) { accent-color: #39775f; }

/* Links */
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] a:not(.button) { color: #965174 !important; }
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] a:not(.button):hover { color: #7d4260 !important; text-decoration: underline; }

@media (max-width: 600px) {
  html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(input.input-text, select, textarea) { font-size: 16px !important; }
  html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(button.button, a.button) { max-width: 100% !important; box-sizing: border-box !important; }
}

/* 7.2 Minha conta */
html body.customer-account .main {
  display: grid !important;
  grid-template-columns: 230px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}
html body.customer-account .main::before,
html body.customer-account .main::after { display: none !important; }
html body.customer-account .main > .col-left-first,
html body.customer-account .main > .col-main { width: auto !important; float: none !important; margin: 0 !important; min-width: 0; }
html body.customer-account .main > .col-main { padding: 0 !important; }
html body.customer-account .main > .col-left:not(.col-left-first):empty { display: none !important; }

/* Menu lateral */
html body .block-account.menuPainel {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #faf6f2 !important;
  border: 1px solid #e8ded8 !important;
  border-radius: 16px !important;
  padding: 20px 14px !important;
  box-shadow: none !important;
}
html body .block-account.menuPainel .block-title {
  color: #345954 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 10px 14px !important;
  margin: 0 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em;
}
html body .block-account.menuPainel .block-content { padding: 0 !important; background: transparent !important; }
html body .block-account.menuPainel ul { padding: 0 !important; margin: 0 !important; }
html body .block-account.menuPainel li { padding: 0 !important; margin: 4px 0 !important; border: 0 !important; }
html body .block-account.menuPainel li a {
  display: block !important;
  padding: 12px 13px !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #52635d !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: background-color 0.2s, color 0.2s;
}
html body .block-account.menuPainel li.current a,
html body .block-account.menuPainel li.current a strong { background: #e8eee7 !important; color: #345954 !important; font-weight: 700 !important; }
html body .block-account.menuPainel li.current a strong { display: inline !important; padding: 0 !important; }
html body .block-account.menuPainel li a:hover { background: #f3e3ea !important; color: #965174 !important; }
html body .block-account.menuPainel li a:focus-visible { outline: 2px solid #965174; outline-offset: 2px; }

/* Conteúdo */
html body.customer-account .my-account { color: #52635d; font-size: 14px; line-height: 1.65; }
html body.customer-account .my-account .page-title { border: 0 !important; margin: 0 0 22px !important; padding: 0 !important; }
html body.customer-account .my-account .page-title h1 {
  color: #345954 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.5px;
  margin: 0 !important;
}
html body.customer-account .my-account .welcome-msg {
  background: #faf6f2 !important;
  border: 1px solid #e8ded8 !important;
  border-radius: 16px !important;
  padding: 22px 24px !important;
  margin: 0 0 28px !important;
}
html body.customer-account .my-account .welcome-msg .hello { font-size: 18px !important; color: #345954 !important; margin: 0 0 8px !important; }
html body.customer-account .my-account .welcome-msg p { margin: 0 !important; }
html body.customer-account .my-account .welcome-msg p + p { margin-top: 8px !important; }
html body.customer-account .dashboard .order-info-box-content,
html body.customer-account .dashboard .box-account {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 28px !important;
  box-shadow: none !important;
}
html body.customer-account .dashboard .box-informacoes-conta { margin-bottom: 0 !important; }
html body.customer-account .dashboard .box-head,
html body.customer-account .dashboard .box-informacoes-conta > .box-title {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
}
html body.customer-account .dashboard .box-head h2,
html body.customer-account .dashboard .box-informacoes-conta > .box-title h2 {
  color: #345954 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  letter-spacing: 0 !important;
}

/* Cartões (endereço, contato etc.) */
html body.customer-account .dashboard .col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
html body.customer-account .dashboard .col2-set::before,
html body.customer-account .dashboard .col2-set::after { display: none !important; }
html body.customer-account .dashboard .col2-set > .col-1,
html body.customer-account .dashboard .col2-set > .col-2 { float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; min-width: 0; }
html body.customer-account .dashboard .box.order-info-box {
  display: flex !important;
  flex-direction: column !important;
  min-height: 190px !important;
  height: 100% !important;
  box-sizing: border-box;
  border: 1px solid #e8ded8 !important;
  border-radius: 14px !important;
  background: #fffdfb !important;
  padding: 22px !important;
  margin: 0 !important;
  box-shadow: 0 3px 12px rgba(53, 76, 66, 0.035) !important;
}
html body.customer-account .dashboard .box.order-info-box > .box-title,
html body.customer-account .dashboard .box.order-info-box > .box-content {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  position: static !important;
  box-sizing: border-box !important;
  flex: none !important;
  display: block !important;
}
html body.customer-account .dashboard .box.order-info-box .box-title {
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
}
html body.customer-account .dashboard .box.order-info-box .box-title h2 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  color: #345954 !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body.customer-account .dashboard .box-title h2::after { content: none !important; }
html body.customer-account .dashboard .box-content {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #62736f !important;
  overflow-wrap: anywhere;
}
html body.customer-account .dashboard .box-content :is(p, address) {
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-style: normal !important;
  margin: 0 0 14px !important;
}
html body.customer-account .my-account a { color: #965174 !important; }
html body.customer-account .my-account a:hover { color: #7d4260 !important; text-decoration: underline; }
html body.customer-account .dashboard .linkEditar { float: none !important; clear: both !important; margin-top: 16px !important; padding: 0 !important; }
html body.customer-account .dashboard a.editar {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 5px 14px;
  border: 1px solid #ddc4d0;
  border-radius: 999px;
  color: #965174 !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  background: #fbf3f6;
  box-sizing: border-box;
}
html body.customer-account .dashboard a.editar:hover { background: #f2e0e8; }
html body.customer-account .my-account :is(input.input-text, select, textarea) {
  border: 1px solid #ddd8d3 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #345954 !important;
}
html body.customer-account .my-account :is(input.input-text, select, textarea):focus {
  border-color: #ad628b !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(173, 98, 139, 0.13) !important;
}
html body.customer-account .my-account button.button {
  background: #39775f !important;
  color: #fff !important;
  border: 1px solid #39775f !important;
  border-radius: 999px !important;
}
html body.customer-account .my-account button.button span { background: transparent !important; color: inherit !important; border: 0 !important; }

@media (max-width: 767px) {
  html body.customer-account .main { grid-template-columns: 1fr !important; gap: 24px !important; }
  html body .block-account.menuPainel { padding: 16px 12px !important; }
  html body .block-account.menuPainel ul { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
  html body .block-account.menuPainel li { margin: 0 !important; }
  html body .block-account.menuPainel li a { height: 100%; box-sizing: border-box; min-height: 44px; padding: 11px !important; }
  html body.customer-account .my-account .page-title h1 { font-size: 25px !important; }
  html body.customer-account .my-account .welcome-msg { padding: 20px !important; }
  html body.customer-account .dashboard .col2-set { grid-template-columns: 1fr !important; gap: 16px !important; }
  html body.customer-account .dashboard .box.order-info-box { padding: 20px !important; }
  html body.customer-account .my-account :is(input.input-text, select, textarea) {
    font-size: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* ==========================================================================
   8. FORMULÁRIOS, CMS, 404, ESTADOS VAZIOS, CHECKOUT E MINICARRINHO
   ========================================================================== */

/* Cores vinculadas aos campos nativos de Cores do Tema. */
body .product-view { --sm-action-bg: var(--tc-btn-buy-detail); }
body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) { --sm-action-bg: var(--tc-btn-account); }
body.customer-account-login #send2 { --sm-action-bg: var(--tc-btn-login); }
body #header-cart, body #header-cartBarra { --sm-action-bg: var(--tc-btn-minicart); }

/* 8.1 Botões principais (produto, formulários, checkout, carrinho) */
body .product-view button.btn-cart,
body .account-create .buttons-set button.button,
body .account-login .buttons-set button.button,
body .customer-account-forgotpassword .buttons-set button.button,
body.contacts-index-index .buttons-set button.button,
body .onestepcheckout button.button,
body #onestepcheckout-login-submit-btn,
body .cart .btn-proceed-checkout,
body #header-cart .mcl-btn-checkout,
body #header-cartBarra .mcl-btn-checkout,
body .sm-visual-search button {
  background: var(--sm-action-bg, var(--sm-primary)) !important;
  color: #fff !important;
  border: 1px solid var(--sm-action-bg, var(--sm-primary)) !important;
  border-radius: var(--sm-radius) !important;
  min-height: 44px;
  padding: 11px 22px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-transform: none;
  box-shadow: none !important;
  transition: background-color 0.18s ease, border-color 0.18s ease;
}
body .product-view button.btn-cart:hover,
body .account-create .buttons-set button.button:hover,
body .account-login .buttons-set button.button:hover,
body.contacts-index-index .buttons-set button.button:hover,
body .onestepcheckout button.button:hover,
body .cart .btn-proceed-checkout:hover,
body .sm-visual-search button:hover {
  background: color-mix(in srgb, var(--sm-action-bg, var(--sm-primary)) 78%, #000) !important;
  border-color: color-mix(in srgb, var(--sm-action-bg, var(--sm-primary)) 78%, #000) !important;
  border-radius: var(--sm-radius) !important;
}
body .product-view button.btn-cart span,
body .account-create .buttons-set button.button span,
body .account-login .buttons-set button.button span,
body.contacts-index-index .buttons-set button.button span,
body .onestepcheckout button.button span,
body .cart .btn-proceed-checkout span {
  background: transparent !important;
  border: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
}

/* 8.2 Campos de cadastro, contato e checkout */
.account-create .input-text, .account-login .input-text,
.customer-account-forgotpassword .input-text,
.contacts-index-index #contactForm .input-text,
.contacts-index-index #contactForm textarea,
.onestepcheckout .input-text, .onestepcheckout select,
.account-create select, .sm-visual-search input {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-height: 44px;
  background: #fff !important;
  color: #34463f !important;
  border: 1px solid #cbd5d0 !important;
  border-radius: 8px !important;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.4;
  box-shadow: none;
}
.account-create .input-text:focus, .account-login .input-text:focus,
.contacts-index-index #contactForm .input-text:focus,
.contacts-index-index #contactForm textarea:focus,
.onestepcheckout .input-text:focus, .sm-visual-search input:focus {
  border-color: var(--sm-primary) !important;
  outline: 3px solid rgba(163, 78, 133, .13);
  outline-offset: 1px;
}
.account-create .legend, .contacts-index-index .legend {
  font-size: 17px !important;
  font-weight: 600;
  text-transform: none !important;
}
/* Espaço para o WhatsApp flutuante não cobrir o botão de enviar */
.account-create .buttons-set, .contacts-index-index .buttons-set { padding-bottom: 76px; }

/* 8.3 Páginas institucionais: tabelas dentro da coluna */
.cms-page-view .col-main table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed;
  border-collapse: collapse;
}
.cms-page-view .col-main td,
.cms-page-view .col-main th {
  width: auto !important;
  min-width: 0 !important;
  overflow-wrap: anywhere;
  word-break: normal;
  padding: 12px !important;
  vertical-align: top;
}

/* 8.4 Estados vazios (busca sem resultado) */
.sm-empty-state {
  box-sizing: border-box;
  max-width: 900px;
  margin: 28px auto 50px;
  padding: 40px;
  background: var(--sm-cream);
  border: 1px solid #e7dfd3;
  border-radius: 16px;
  text-align: center;
}
.sm-empty-state h2 { color: var(--sm-ink); font-size: 24px; margin-bottom: 12px; }
.sm-empty-state p { color: #59645e; line-height: 1.7; }
.sm-visual-search { display: flex; gap: 10px; max-width: 560px; margin: 24px auto 0; }
.sm-visual-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.sm-visual-search input { min-width: 0; flex: 1; width: 100%; }
.sm-empty-links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 24px; }
.sm-empty-links a {
  color: #285c83;
  padding: 8px 16px;
  border: 1px solid #cbddeb;
  border-radius: 8px;
  background: #fff;
  text-decoration: none;
}

/* 8.4b Página 404
   O tema antigo monta a 404 com floats (título 250px, texto 350px, botões 140px)
   e pinta o body de cinza (#EEE). Aqui tudo vira uma coluna centralizada; o
   prefixo "html body.cms-pagina404" + !important vence o tema em qualquer ordem
   de carregamento. A busca é inserida pelo script da loja e entra na ordem 3. */
html body.cms-index-noroute.cms-pagina404 { background: #fff !important; }

html body.cms-pagina404 .caixatituloOps {
  display: block !important;
  box-sizing: border-box;
  width: calc(100% - 32px) !important;
  max-width: 720px !important;
  margin: 48px auto 64px !important;
  padding: 48px 40px !important;
  background: var(--sm-cream);
  border: 1px solid #ece3da;
  border-radius: 20px;
  text-align: center;
}
html body.cms-pagina404 .caixatituloOps .centerCaixatituloOps {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.cms-pagina404 .centerCaixatituloOps > * {
  float: none !important;
  box-sizing: border-box;
}

/* Título "Ops!" */
html body.cms-pagina404 .centerCaixatituloOps .tituloOpsPrincipal {
  order: 1;
  display: block !important;
  width: auto !important;
  margin: 0 0 12px !important;
  color: var(--sm-rose) !important;
  font-size: 64px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -1.5px !important;
  text-align: center !important;
}

/* Mensagem */
html body.cms-pagina404 .centerCaixatituloOps .tituloOps {
  order: 2;
  display: block !important;
  width: 100% !important;
  max-width: 460px;
  margin: 0 auto 28px !important;
  padding: 0 !important;
  color: #46534f !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

/* Busca (inserida pelo script) */
html body.cms-pagina404 .centerCaixatituloOps .sm-visual-search {
  order: 3;
  width: 100%;
  max-width: 480px;
  margin: 0 auto 24px !important;
}
html body.cms-pagina404 .centerCaixatituloOps .sm-visual-search input {
  height: 48px !important;
  min-height: 48px;
  padding: 0 20px !important;
  border: 1px solid #e3d6dd !important;
  border-radius: 999px !important;
  background: #fff !important;
  font-size: 15px;
}
html body.cms-pagina404 .centerCaixatituloOps .sm-visual-search input:focus {
  border-color: #d79abd !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(215, 154, 189, 0.18);
}
html body.cms-pagina404 .centerCaixatituloOps .sm-visual-search button {
  min-height: 48px;
  padding: 0 26px;
  border-radius: 999px !important;
}

/* Botões */
html body.cms-pagina404 .centerCaixatituloOps .linkuteis404 {
  order: 4;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
html body.cms-pagina404 .linkuteis404 .centerLinks404 {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  width: auto !important;
  margin: 0 !important;
}
html body.cms-pagina404 .linkuteis404 .botaoLink {
  display: block !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  background: transparent !important;
  line-height: normal !important;
  filter: none !important;
}
html body.cms-pagina404 .linkuteis404 .botaoLink a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px !important;
  box-sizing: border-box;
  border: 1px solid #ddc4d0;
  border-radius: var(--sm-radius);
  background: #fff !important;
  color: var(--sm-primary) !important;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
html body.cms-pagina404 .linkuteis404 .botaoLink:first-child a {
  background: var(--sm-primary) !important;
  border-color: var(--sm-primary);
  color: #fff !important;
}
@media (hover: hover) and (pointer: fine) {
  html body.cms-pagina404 .linkuteis404 .botaoLink a:hover { background: #fbf3f6 !important; border-color: #c9a3b8; }
  html body.cms-pagina404 .linkuteis404 .botaoLink:first-child a:hover {
    background: var(--sm-primary-hover) !important;
    border-color: var(--sm-primary-hover);
  }
}
html body.cms-pagina404 .linkuteis404 .botaoLink a:focus-visible {
  outline: 2px solid var(--sm-primary);
  outline-offset: 3px;
}

/* Elementos do bloco antigo que não entram no layout */
html body.cms-pagina404 .border404 { display: none !important; }

/* 404 no celular */
@media (max-width: 770px) {
  html body.cms-pagina404 .caixatituloOps {
    width: calc(100% - 24px) !important;
    margin: 24px auto 40px !important;
    padding: 32px 20px !important;
    border-radius: 16px;
  }
  html body.cms-pagina404 .centerCaixatituloOps .tituloOpsPrincipal { font-size: 52px !important; }
  html body.cms-pagina404 .centerCaixatituloOps .tituloOps { font-size: 16px !important; margin-bottom: 22px !important; }
  html body.cms-pagina404 .centerCaixatituloOps .sm-visual-search input { font-size: 16px; }
  html body.cms-pagina404 .linkuteis404 .centerLinks404 { flex-direction: column; align-items: stretch; }
  html body.cms-pagina404 .linkuteis404 .botaoLink a { min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html body.cms-pagina404 .linkuteis404 .botaoLink a { transition: none; }
}

/* 8.5 Minicarrinho (o checkout está na seção 8.6) */
body #header-cart .minicart-btn-checkout,
body #header-cartBarra .minicart-btn-checkout {
  background: var(--tc-btn-minicart) !important;
  border-radius: var(--sm-radius) !important;
}
body #header-cart .mcl-btn-continue, body #header-cartBarra .mcl-btn-continue,
body #header-cart .minicart-btn-cart, body #header-cartBarra .minicart-btn-cart { border-radius: var(--sm-radius) !important; }


/* ==========================================================================
   9. AJUSTES DE CELULAR (até 770px)
   ========================================================================== */
@media (max-width: 770px) {
  .col-main .page-title h1 { font-size: 24px !important; }

  /* Cadastro e contato */
  .account-create .form-list .field:not(.tipopessoaCadastro),
  .account-create .form-list .field:not(.tipopessoaCadastro) .input-box,
  .account-create .form-list .input-box:not(.customer-dob),
  .contacts-index-index #contactForm .field,
  .contacts-index-index #contactForm .input-box {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box;
  }
  .account-create .input-text,
  .contacts-index-index #contactForm .input-text,
  .contacts-index-index #contactForm textarea { width: 100% !important; }
  .account-create .customer-dob { display: flex; gap: 8px; width: 100%; }
  .account-create .customer-dob > div:not(.dob-full):not(.validation-advice) { width: calc((100% - 16px) / 3) !important; }
  .account-create .customer-dob select { width: 100% !important; padding: 9px 5px; }
  .account-create .form-list .field:not(.tipopessoaCadastro) { margin-bottom: 14px; }
  .account-create .form-list .tipopessoa { display: flex; gap: 12px; flex-wrap: wrap; }
  .account-create .tipopessoaCadastro { width: auto !important; }

  /* Checkout: altura natural para não cortar o botão Entrar */
  #onestepcheckout-authentification { height: auto !important; min-height: 0 !important; overflow: hidden !important; }
  #onestepcheckout-login-form { height: auto !important; float: none !important; }
  #onestepcheckout-authentification .onestepcheckout-auth-form-block {
    float: none !important;
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    box-sizing: border-box;
  }
  #onestepcheckout-authentification .midle { padding: 14px 18px !important; box-sizing: border-box; }
  #onestepcheckout-authentification .form-list li,
  #onestepcheckout-authentification .input-box { width: 100% !important; box-sizing: border-box; }
  #onestepcheckout-authentification input.input-text { width: 100% !important; }
  #onestepcheckout-login-submit-btn { margin: 12px 0 !important; }

  /* Tabelas, paginação e estados vazios */
  .cms-page-view .col-main td,
  .cms-page-view .col-main th { padding: 9px !important; font-size: 13px; }
  .toolbar .pager { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
  .toolbar .pages li,
  .toolbar .pages li a { min-width: 32px; min-height: 36px; line-height: 36px; }
  .sm-empty-state { padding: 26px 18px; margin: 16px auto 28px; }
  .sm-visual-search { flex-wrap: wrap; }
  .sm-visual-search button { width: 100%; }
  body a.whatsapp-float.ww-whatsapp-contact.sm-avoid-control { width: 54px !important; }
  
   .block-layered-nav .block-subtitle--filter {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 0 44px;
    background: #fff !important;
    color: var(--sm-primary) !important;
    border: 2px solid var(--sm-primary);
    font-size: 15px;
    font-weight: 700;
  }
  /* ícone de funil à esquerda */
  .block-layered-nav .block-subtitle--filter:before {
    content: "";
    position: absolute;
    left: 14px;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    background: var(--sm-primary);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18l-7 8.5V19l-4 2v-8.5z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18l-7 8.5V19l-4 2v-8.5z'/%3E%3C/svg%3E") no-repeat center / contain;
  }
  /* seta para baixo à direita; vira para cima quando abre */
  .block-layered-nav .block-subtitle--filter:after,
  .block-layered-nav .block-subtitle--filter.active:after {
    content: "";
    position: absolute;
    right: 16px;
    left: auto;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border: solid var(--sm-primary);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    transition: transform .2s;
  }
  .block-layered-nav .block-subtitle--filter.active:after {
    margin-top: -2px;
    transform: rotate(-135deg);
  }
}




/* ==========================================================================
   10. MOVIMENTO REDUZIDO
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  /* Topo */
  body .topoSite #header-search input,
  body .topoSite #header .skip-account,
  body .topoSite #header .header-minicart > a { transition: none !important; }

  /* Carrosséis e conta */
  html body .category-products .owl-carousel .owl-nav button { transition: none !important; }
  html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(button.button, a.button) {
    transition: none !important;
    transform: none !important;
  }

  /* Rodapé */
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a,
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a svg,
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp:hover svg.sm-whatsapp-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
  html body div.rodapeSite.footer_custom_1 section.sm-footer-contact a.sm-whatsapp::before { display: none !important; }

  /* WhatsApp flutuante: já aberto e sem animação */
  html body a.whatsapp-float.ww-whatsapp-contact { width: 176px !important; transition: none !important; }
  html body a.whatsapp-float.ww-whatsapp-contact * { animation: none !important; transition: none !important; }
  html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__label { opacity: 1 !important; }
  html body a.whatsapp-float.ww-whatsapp-contact .ww-float-whatsapp__cursor { display: none !important; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 575.98px) {
  html body a.whatsapp-float.ww-whatsapp-contact { width: 160px !important; }
}


/* Remove o tooltip vazio que cria altura extra no fim do produto */
.catalog-product-view .ms-product-tooltip:empty {
  display: none !important;
}


/* Hover dos textos principais: cor editável em Cores do Tema > Outros > Links em textos (mouse em cima). */
html body .page :is(.product-name, .breadcrumbs, .toolbar, .pager, .std, .block-layered-nav, .block-account, .my-account, .account-login, .account-create, .topoSite .links, .rodapeSite .footer .links) a:not(.button):is(:hover, :focus-visible) {
  color: var(--tc-link-hover) !important;
}
html body .page #header-nav .nav-primary a:is(:hover, :focus-visible) {
  color: var(--tc-menu-link-hover, var(--tc-link-hover)) !important;
}
html body .page .caixaMinhaConta:is(:hover, :focus-within) {
  color: var(--tc-link-hover) !important;
}

/* Abas da home: hover e foco seguem Tabs Home no Magento. */
html body .page .tabsProdutos .tab-links a:is(:hover, :focus-visible) {
  color: var(--tc-tab-link-hover) !important;
  border-bottom-color: var(--tc-tab-link-hover-border) !important;
}


/* Botões de conta: cores do painel, altura uniforme e bom toque no celular. */
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(button.button, a.button):not(.remember-me-popup-close) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  min-height: 48px !important;
  height: auto !important;
  padding: 13px 24px !important;
  line-height: 1.4 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 12px !important;
  text-align: center;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] :is(button.button, a.button) span {
  line-height: inherit !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
html body .page #fazerLogin { border-radius: 9px; overflow: hidden; }
html body .page #fazerLogin > a {
  display: flex; align-items: center; justify-content: center;
  min-height: 42px; padding: 8px 16px; box-sizing: border-box;
  color: #fff !important; font-size: 15px; font-weight: 600; line-height: 1.4;
}
@media (hover: hover) and (pointer: fine) {
  html body .page #fazerLogin:hover { background: color-mix(in srgb, var(--tc-btn-login) 78%, #000) !important; }
}
@media (max-width: 767px) {
  html body:is(.customer-account-login, .customer-account-create, .customer-account-forgotpassword) [role="main"] .buttons-set :is(button.button, a.button) { width: 100% !important; max-width: 100% !important; }
}


/* Checkout Sonho Mágico: aparência; etapas e validações permanecem nativas. */
body.onestepcheckout-index-index .onestepcheckout { --sm-action-bg: var(--tc-checkout-btn-bg); color: #52635d; }
body.onestepcheckout-index-index #onestepcheckout-title { margin: 0 0 28px; }
body.onestepcheckout-index-index #onestepcheckout-title h1 { color: #345954; font-size: 28px; font-weight: 700; line-height: 1.3; }
body.onestepcheckout-index-index #onestepcheckout-title p { color: #62736f; font-size: 14px; line-height: 1.6; margin-top: 8px; }
body.onestepcheckout-index-index .onestepcheckout :is(#onestepcheckout-address-billing-wrapper, .block_content_shipping, .block_content_payment, .block_content_review) { border: 1px solid #e8dedf; border-radius: 16px; background: #fff; box-shadow: 0 4px 18px rgba(76, 53, 66, .045); overflow: hidden; margin-bottom: 20px; }
body.onestepcheckout-index-index .onestepcheckout .opc { background: transparent; border: 0; }
body.onestepcheckout-index-index .onestepcheckout .step-title { display: flex; align-items: center; gap: 10px; min-height: 62px; box-sizing: border-box; padding: 16px 18px; border-bottom: 1px solid #e8dedf; border-radius: 15px 15px 0 0; }
body.onestepcheckout-index-index .onestepcheckout .step-title h2 { margin: 0; padding: 0; color: #345954 !important; font-size: 17px !important; font-weight: 600; line-height: 1.4; }
body.onestepcheckout-index-index .onestepcheckout .step-title .number { display: inline-flex; align-items: center; justify-content: center; float: none; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; margin: 0; padding: 0; background: var(--tc-checkout-btn-bg) !important; color: #fff !important; font-size: 15px; font-weight: 700; line-height: 1; }
body.onestepcheckout-index-index .onestepcheckout .step { border: 0; padding: 20px; background: #fff; border-radius: 0 0 15px 15px; }
body.onestepcheckout-index-index .onestepcheckout label { color: #52635d; font-size: 13px; font-weight: 500; line-height: 1.5; margin-bottom: 5px; }
body.onestepcheckout-index-index .onestepcheckout .osc-title { color: #345954; font-size: 15px; font-weight: 700; margin-top: 20px; }
body.onestepcheckout-index-index .onestepcheckout :is(input.input-text, select, textarea) { width: 100%; box-sizing: border-box; min-height: 46px; border: 1px solid #ddd5d7 !important; border-radius: 10px !important; background: #fff !important; color: #345954 !important; padding: 10px 12px; font: 14px/1.4 Inter, Arial, sans-serif; }
body.onestepcheckout-index-index .onestepcheckout :is(input.input-text, select, textarea):focus { border-color: var(--tc-checkout-btn-bg) !important; outline: 0; box-shadow: 0 0 0 3px rgba(163, 78, 133, .12); }
body.onestepcheckout-index-index .onestepcheckout .validation-failed { border-color: #b74747 !important; }
body.onestepcheckout-index-index .onestepcheckout :is(input[type=checkbox], input[type=radio]) { accent-color: var(--tc-checkout-btn-bg); }
body.onestepcheckout-index-index .content-mensagem-passos { background: #faf6f2; border: 1px solid #e7ded9; border-radius: 10px; color: #52635d; padding: 16px; font-size: 13px; font-weight: 400; line-height: 1.6; }
body.onestepcheckout-index-index .onestepcheckout button.button { min-height: 48px; padding: 12px 20px; border-radius: 11px !important; font-size: 14px; font-weight: 600; line-height: 1.4; }
body.onestepcheckout-index-index .onestepcheckout button.button span { font: inherit; line-height: inherit; padding: 0; }
body.onestepcheckout-index-index #onestepcheckout-place-order-button { width: 100%; min-height: 54px; background: var(--tc-checkout-btn-bg) !important; border-color: var(--tc-checkout-btn-bg) !important; color: #fff !important; font-size: 17px; }
body.onestepcheckout-index-index .onestepcheckout button.button:hover { background: color-mix(in srgb, var(--tc-checkout-btn-bg) 78%, #000) !important; border-color: color-mix(in srgb, var(--tc-checkout-btn-bg) 78%, #000) !important; }
body.onestepcheckout-index-index .onestepcheckout button.button:focus-visible { outline: 2px solid var(--tc-checkout-btn-bg); outline-offset: 3px; }
body.onestepcheckout-index-index .onestepcheckout button.button:disabled { cursor: not-allowed; }
body.onestepcheckout-index-index .onestepcheckout-cart-table { width: 100%; table-layout: fixed; }
body.onestepcheckout-index-index .onestepcheckout-cart-table col:nth-child(1) { width: 54px; }
body.onestepcheckout-index-index .onestepcheckout-cart-table col:nth-child(2) { width: auto; }
body.onestepcheckout-index-index .onestepcheckout-cart-table col:nth-child(3) { width: 0; }
body.onestepcheckout-index-index .onestepcheckout-cart-table col:nth-child(4) { width: 86px; }
body.onestepcheckout-index-index .onestepcheckout-cart-table tbody td { padding: 14px 5px; border-bottom: 1px solid #efe8e5; vertical-align: middle; }
body.onestepcheckout-index-index .onestepcheckout-cart-table .product-name { font-size: 13px; font-weight: 600; line-height: 1.5; color: #345954; overflow-wrap: anywhere; }
body.onestepcheckout-index-index .onestepcheckout-cart-table :is(.item-options, .quantidade) { font-size: 12px; color: #62736f; line-height: 1.5; }
body.onestepcheckout-index-index .onestepcheckout-cart-table .price { white-space: nowrap; }
body.onestepcheckout-index-index .totals-onestepcheckout td { background: #faf6f2; padding: 12px 8px; color: #52635d; }
body.onestepcheckout-index-index .totals-onestepcheckout tr:last-child td { border-top: 1px solid #e8dedf; font-weight: 700; }
body.onestepcheckout-index-index .totals-onestepcheckout tr:last-child .price { color: var(--tc-checkout-btn-bg) !important; font-size: 20px; }
body.onestepcheckout-index-index #onestepcheckout-review-coupon { margin-top: 20px; }
body.onestepcheckout-index-index #onestepcheckout-review-coupon .input-text { max-width: 100%; }
body.onestepcheckout-index-index .fechamentoPedido { border-bottom-color: #e8dedf; }
body.onestepcheckout-index-index .fechamentoPedido .tituloItemStatus { color: #75817a; }
body.onestepcheckout-index-index .fechamentoPedido .itemOk { color: var(--tc-checkout-btn-bg); }
body.onestepcheckout-index-index .fechamentoPedido .itemOk .bordaStatus { background: var(--tc-checkout-btn-bg) !important; height: 3px; }
body.onestepcheckout-index-index .center-header-onestepcheckout { color: #52635d; font-size: 13px; }
@media (max-width: 900px) {
  body.onestepcheckout-index-index .onestepcheckout .col3-set #onestepcheckout-general-form > :is(.col-1, .col-2, .col-3) { float: none; width: 100%; margin: 0 0 20px; }
  body.onestepcheckout-index-index #onestepcheckout-title h1 { font-size: 24px; }
}
@media (max-width: 600px) {
  body.onestepcheckout-index-index .main-container .main { padding-left: 14px; padding-right: 14px; box-sizing: border-box; }
  body.onestepcheckout-index-index .onestepcheckout .step { padding: 18px 16px; }
  body.onestepcheckout-index-index .onestepcheckout .step-title { padding: 14px 16px; }
  body.onestepcheckout-index-index .onestepcheckout .step-title h2 { font-size: 16px !important; }
  body.onestepcheckout-index-index .onestepcheckout .form-list :is(.field, .input-box, .customer-name) { width: 100% !important; max-width: 100% !important; float: none !important; box-sizing: border-box; }
  body.onestepcheckout-index-index .onestepcheckout .form-list .field { margin-bottom: 12px; }
  body.onestepcheckout-index-index .onestepcheckout :is(input.input-text, select, textarea) { font-size: 16px; min-height: 48px; }
  body.onestepcheckout-index-index .fechamentoPedido .tituloSta { font-size: 12px; }
  body.onestepcheckout-index-index .onestepcheckout { padding-bottom: 80px; }
  body.onestepcheckout-index-index .onestepcheckout .col-3 { padding-bottom: 60px; }
}

/* Compatibilidade com os estilos antigos do módulo de checkout. */
body.onestepcheckout-index-index .page { background: var(--tc-bg-checkout) !important; }
body.onestepcheckout-index-index .onestepcheckout .step-title .number { position: static !important; display: inline-flex !important; margin: 0 !important; width: 28px !important; height: 28px !important; font-size: 15px !important; line-height: 1 !important; }
body.onestepcheckout-index-index .onestepcheckout .step-title h2 { float: none !important; height: auto !important; margin: 0 !important; }
body.onestepcheckout-index-index .onestepcheckout button.button span { font: inherit !important; line-height: inherit !important; height: auto !important; min-height: 0 !important; padding: 0 !important; }
body.onestepcheckout-index-index #onestepcheckout-review-coupon .field-row { display: flex; align-items: stretch; gap: 8px; }
body.onestepcheckout-index-index #onestepcheckout-review-coupon .field-row .input-text { flex: 1 1 0; width: 0 !important; min-width: 0; margin: 0; }
body.onestepcheckout-index-index #onestepcheckout-review-coupon button { flex: 0 0 auto; float: none; margin: 0; }

body.onestepcheckout-index-index .onestepcheckout .step-title { padding: 16px 18px !important; }
body.onestepcheckout-index-index #onestepcheckout-review-coupon label { float: none !important; width: 100% !important; margin: 0 0 8px !important; }
body.onestepcheckout-index-index #onestepcheckout-review-coupon .field-row { width: 100% !important; max-width: 100%; clear: both; box-sizing: border-box; }
@media (max-width: 600px) {
 body.onestepcheckout-index-index .onestepcheckout .step-title { padding: 14px 16px !important; }
 body.onestepcheckout-index-index .page-header-onestepcheckout { padding: 14px 16px !important; }
 body.onestepcheckout-index-index :is(.topo-logo-onestepchekout, .center-header-onestepcheckout, .right-header-onestepcheckout) { height: auto !important; min-height: 0 !important; padding: 5px 0 !important; margin: 0 !important; }
 body.onestepcheckout-index-index .logo-onestepcheckout { display: block; height: auto !important; padding: 0 !important; }
 body.onestepcheckout-index-index .logo-onestepcheckout img { max-height: 72px !important; width: auto !important; max-width: 160px; margin: 0 auto; }
 body.onestepcheckout-index-index :is(.onestepcheckout_center_top, .onestepcheckout_right_top) { height: auto !important; min-height: 0 !important; padding: 0 !important; line-height: 1.5 !important; }
 body.onestepcheckout-index-index .right-header-onestepcheckout img { max-height: 28px; width: auto; }
}

@media (max-width: 600px) {
 body.onestepcheckout-index-index .page-header-onestepcheckout { margin: 0 !important; }
 body.onestepcheckout-index-index .toposite-onestepcheckout { padding: 0 !important; }
 body.onestepcheckout-index-index .page-header-onestepcheckout .page-header-container { padding: 0 !important; }
 body.onestepcheckout-index-index .center-header-onestepcheckout :is(.midle, .caixa) { display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; }
}


/* ==========================================================================
   8.6 CHECKOUT — VISUAL NOVO (checkout-visual-refresh + address-cards)
   O módulo novo já desenha cartões, etapas e estados, mas em azul padrão
   (#3399cc / #1b80b3) e com sombra própria na .step. Este bloco:
   - deixa só UM cartão por etapa (o wrapper), sem a borda/sombra da .step,
     que criava a segunda linha no rodapé de cada cartão;
   - troca o azul do módulo pela cor de Cores do Tema > Carrinho e Checkout;
   - corrige Dia/Mês/Ano cortados.
   Vem por último no arquivo, então vence as regras anteriores de checkout.
   ========================================================================== */
html body.onestepcheckout-index-index {
  --sm-co: var(--tc-checkout-btn-bg, #a34e85);
  --sm-co-hover: color-mix(in srgb, var(--sm-co) 80%, #000);
  --sm-co-soft: #f8eef3;
  --sm-co-line: #ddc4d0;
  --sm-co-ring: rgba(163, 78, 133, 0.14);
}

/* Cartões: o wrapper é o cartão; a .step interna fica lisa */
html body.onestepcheckout-index-index .onestepcheckout :is(#onestepcheckout-address-billing-wrapper, .block_content_shipping, .block_content_payment, .block_content_review) {
  border: 1px solid #ece2e5 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 4px 18px rgba(76, 53, 66, 0.05) !important;
  overflow: hidden !important;
}
html body.onestepcheckout-index-index .onestepcheckout :is(#onestepcheckout-address-billing-wrapper, .block_content_shipping, .block_content_payment, .block_content_review) .step {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
}
html body.onestepcheckout-index-index .onestepcheckout .step-title {
  border: 0 !important;
  border-bottom: 1px solid #efe3e8 !important;
  border-radius: 0 !important;
}

/* Cabeçalho das etapas: o módulo novo põe line-height 36px e largura automática
   no número (por isso o círculo ficava oval). Aqui o número volta a ser um
   círculo fixo de 32px, alinhado ao título. */
html body.onestepcheckout-index-index .onestepcheckout .step-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 62px !important;
  height: auto !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
}
html body.onestepcheckout-index-index .onestepcheckout .step-title .number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  float: none !important;
  flex: 0 0 32px !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
html body.onestepcheckout-index-index .onestepcheckout .step-title h2 {
  float: none !important;
  flex: 1 1 auto;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
}
@media (max-width: 600px) {
  html body.onestepcheckout-index-index .onestepcheckout .step-title { min-height: 56px !important; padding: 12px 16px !important; }
  html body.onestepcheckout-index-index .onestepcheckout .step-title .number { flex-basis: 28px !important; width: 28px !important; min-width: 28px !important; height: 28px !important; font-size: 14px !important; }
}

/* Foco dos campos */
html body.onestepcheckout-index-index .onestepcheckout :is(input[type="email"], input[type="search"], input[type="number"], input[type="password"], input[type="tel"], input[type="text"], select, textarea):focus {
  border-color: var(--sm-co) !important;
  box-shadow: 0 0 0 3px var(--sm-co-ring) !important;
  outline: none !important;
}
html body.onestepcheckout-index-index .onestepcheckout :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--sm-co); }

/* Selects do checkout: a seta volta (o fundo branco das regras antigas a apagava) */
html body.onestepcheckout-index-index div.onestepcheckout select:not([multiple]) {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2362736f' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 10px !important;
  padding-right: 32px !important;
}

/* Data de nascimento: três selects proporcionais, sem cortar "Dia" e "Mês" */
html body.onestepcheckout-index-index .onestepcheckout .customer-dob {
  display: flex !important;
  gap: 6px !important;
  width: 100% !important;
}
html body.onestepcheckout-index-index .onestepcheckout .customer-dob > div:not(.dob-full):not(.validation-advice) {
  float: none !important;
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.onestepcheckout-index-index .onestepcheckout .customer-dob > div.dob-year:not(.dob-full):not(.validation-advice) { flex-grow: 1.4 !important; }
html body.onestepcheckout-index-index div.onestepcheckout .customer-dob select:not([multiple]) {
  width: 100% !important;
  min-width: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  padding: 0 18px 0 8px !important;
  background-position: right 6px center !important;
  background-size: 9px !important;
  font-size: 13px !important;
  text-overflow: clip;
}

/* Opções em cartão: tipo de pessoa, "enviar para outro endereço", fretes */
html body.onestepcheckout-index-index .onestepcheckout :is(.form-list li.tipopessoa, .form-list li.enviarEndereco, .sp-methods dt, #onestepcheckout-shipping-method .sp-methods dd) label:hover {
  border-color: var(--sm-co-line) !important;
}
html body.onestepcheckout-index-index .onestepcheckout .form-list li.tipopessoa:has(input.radio:checked) label,
html body.onestepcheckout-index-index .onestepcheckout .form-list li.enviarEndereco:has(input:checked) label,
html body.onestepcheckout-index-index .onestepcheckout .sp-methods dt:has(input.radio:checked) label,
html body.onestepcheckout-index-index .onestepcheckout #onestepcheckout-shipping-method .sp-methods dd:has(input.radio:checked) label {
  border-color: var(--sm-co) !important;
  background-color: var(--sm-co-soft) !important;
  color: #345954 !important;
}

/* "Já tem cadastro? Faça login" */
html body.onestepcheckout-index-index .osc-auth-toggle {
  background: var(--sm-co-soft) !important;
  border-color: var(--sm-co-line) !important;
  color: var(--sm-co) !important;
  box-shadow: none !important;
}
html body.onestepcheckout-index-index .osc-auth-toggle:is(:hover, .active) {
  background: #f2e1ea !important;
  border-color: var(--sm-co) !important;
  color: var(--sm-co-hover) !important;
}
html body.onestepcheckout-index-index #onestepcheckout-login-forgot-link:hover {
  color: var(--sm-co) !important;
  border-color: var(--sm-co) !important;
}

/* Endereços salvos (cliente logado) */
html body.onestepcheckout-index-index .address-card:hover,
html body.onestepcheckout-index-index .address-card--new:hover { border-color: var(--sm-co-line) !important; }
html body.onestepcheckout-index-index .address-card--active,
html body.onestepcheckout-index-index .address-card--new.address-card--active {
  border-color: var(--sm-co) !important;
  box-shadow: 0 0 0 1px var(--sm-co) !important;
}
html body.onestepcheckout-index-index :is(.address-card:hover, .address-card--active) .address-card__radio { border-color: var(--sm-co) !important; }
html body.onestepcheckout-index-index .address-card--active .address-card__radio::after { background-color: var(--sm-co) !important; }
html body.onestepcheckout-index-index .address-card__icon,
html body.onestepcheckout-index-index .address-card--new .address-card__text { color: var(--sm-co) !important; }

/* Carregamento ao finalizar e ao calcular CEP */
html body.onestepcheckout-index-index .onestepcheckout-place-order-please-wait {
  background: var(--sm-co-soft) !important;
  border-color: var(--sm-co-line) !important;
  color: #345954 !important;
}
html body.onestepcheckout-index-index .onestepcheckout-place-order-please-wait::before {
  border-color: var(--sm-co-line) !important;
  border-top-color: var(--sm-co) !important;
}
html body.onestepcheckout-index-index :is(.onestepcheckout-overlay, .onestepcheckout-postcod-process.onestepcheckout-overlay-16)::after {
  border-color: var(--sm-co-line) !important;
  border-top-color: var(--sm-co) !important;
}

/* Revisão do pedido */
html body.onestepcheckout-index-index .onestepcheckout td.linhas-review .product-name,
html body.onestepcheckout-index-index .onestepcheckout td.linhas-review .product-name a {
  color: #345954 !important;
  font-size: 13px;
  line-height: 1.45;
}
html body.onestepcheckout-index-index #onestepcheckout-review-coupon button.button {
  background: var(--sm-co) !important;
  border: 1px solid var(--sm-co) !important;
  color: #fff !important;
}
html body.onestepcheckout-index-index #onestepcheckout-review-coupon button.button:hover {
  background: var(--sm-co-hover) !important;
  border-color: var(--sm-co-hover) !important;
}


/* Revisão geral: ações alinhadas às cores configuráveis do Magento. */
body.checkout-cart-index { --sm-action-bg: var(--tc-checkout-btn-bg); --mcl-btn-action: var(--tc-checkout-btn-bg); --mcl-btn-action-hover: color-mix(in srgb, var(--tc-checkout-btn-bg) 78%, #000); --mcl-cta: var(--tc-checkout-btn-bg); --mcl-cta-hover: color-mix(in srgb, var(--tc-checkout-btn-bg) 78%, #000); --mcl-text: #345954; }
body.checkout-cart-index .page { background: var(--tc-bg-cart) !important; }
body.checkout-cart-index .cart-right .btn-proceed-checkout { border-radius: 12px !important; }
body.checkout-cart-index .shipping input.input-text { min-height: 44px !important; border-radius: 10px !important; font-size: 14px; }
body.checkout-cart-index #shipping-zip-form .buttons-set button { height: 44px !important; min-height: 44px !important; border-radius: 10px !important; }
body.checkout-cart-index :is(.mcl-qty-btn, .mcl-qty-input) { height: 40px !important; }
html body .page .products-grid .caixaBotaoTotals .txtBotaoADDDetalhes,
html body .page .products-list .caixaBotaoAdd button,
html body .page .owl-carousel .caixaBotaoTotals .txtBotaoADDDetalhes { border-radius: 11px !important; transition: background-color 180ms ease, box-shadow 180ms ease; }
@media (hover: hover) and (pointer: fine) {
 html body .page :is(.products-grid, .owl-carousel) .caixaBotaoTotals:hover .txtBotaoADDDetalhes { background: color-mix(in srgb, var(--tc-btn-buy) 78%, #000) !important; color: #fff !important; }
}
html body.catalog-product-view #btn_estimate { background: #fffafb !important; border: 1px solid #ddc4d0 !important; color: var(--tc-btn-buy-detail) !important; border-radius: 10px !important; min-height: 44px; padding: 10px 18px; }
html body.catalog-product-view #btn_estimate:is(:hover, :focus-visible) { background: var(--tc-btn-buy-detail) !important; color: #fff !important; }
html body.customer-account .my-account button.button,
html body.catalogsearch-advanced-index [role=main] button.button { background: var(--tc-btn-account) !important; border: 1px solid var(--tc-btn-account) !important; color: #fff !important; border-radius: 12px !important; min-height: 48px; padding: 12px 22px; font-size: 14px; font-weight: 600; line-height: 1.4; }
html body.customer-account .my-account button.button:is(:hover, :focus-visible),
html body.catalogsearch-advanced-index [role=main] button.button:is(:hover, :focus-visible) { background: color-mix(in srgb, var(--tc-btn-account) 78%, #000) !important; border-color: color-mix(in srgb, var(--tc-btn-account) 78%, #000) !important; }
html body:is(.customer-account, .catalogsearch-advanced-index) [role=main] button.button span { background: transparent !important; color: inherit !important; font: inherit !important; line-height: inherit !important; padding: 0 !important; height: auto !important; }
body.contacts-index-index [role=main] { display: flow-root; }
body.contacts-index-index :is(.informacoesContato, #contactForm),
body.catalogsearch-advanced-index [role=main] .fieldset,
body.customer-account .my-account > form > .fieldset { box-sizing: border-box; background: #fffdfb; border: 1px solid #e8dedf; border-radius: 16px; padding: 24px; box-shadow: 0 4px 16px rgba(53, 76, 66, .04); }
body.contacts-index-index :is(h1, h2, .legend),
body.catalogsearch-advanced-index :is(h1, h2, .legend) { color: #345954; text-transform: none; }
body.catalogsearch-advanced-index [role=main] :is(input.input-text, select, textarea) { box-sizing: border-box; max-width: 100%; border: 1px solid #ddd5d7; border-radius: 10px; background: #fff; min-height: 44px; padding: 10px 12px; color: #345954; }
body.catalogsearch-advanced-index [role=main] :is(input.input-text, select, textarea):focus { outline: 0; border-color: var(--tc-btn-account); box-shadow: 0 0 0 3px rgba(163, 78, 133, .12); }
body.contacts-index-index #contactForm textarea { min-height: 130px; }
body.contacts-index-index #contactForm button.button span { font: inherit !important; line-height: inherit !important; padding: 0 !important; height: auto !important; }
body.contacts-index-index #contactForm button.button { min-height: 48px; line-height: 1.4; }
@media (max-width: 767px) {
 body.checkout-cart-index #postcode { font-size: 16px !important; }
 body:is(.customer-account, .catalogsearch-advanced-index) [role=main] :is(input.input-text, select, textarea) { font-size: 16px !important; }
 body:is(.customer-account, .catalogsearch-advanced-index) [role=main] .buttons-set button.button { width: 100%; }
 body.contacts-index-index :is(.informacoesContato, #contactForm) { float: none !important; display: block; width: 100% !important; margin: 0 0 20px !important; padding: 20px; }
 body.contacts-index-index #contactForm :is(input.input-text, textarea) { font-size: 16px; }
 body.contacts-index-index #contactForm button.button { width: 100%; }
 body.catalogsearch-advanced-index [role=main] .fieldset,
 body.customer-account .my-account > form > .fieldset { padding: 20px 16px; }
 body .toolbar select { min-height: 44px; }
 body .block-layered-nav .filtrosPadrao a { display: block; min-height: 40px; box-sizing: border-box; padding-top: 8px; padding-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
 html body .page .caixaBotaoTotals .txtBotaoADDDetalhes { transition: none !important; }
}

/* Espaçamento do contato e área de toque dos controles de quantidade. */
body.contacts-index-index #contactForm { padding: 24px !important; }
body.checkout-cart-index #shopping-cart-table .mcl-qty-pm { min-height: 40px !important; height: 40px !important; }
body.checkout-cart-index #shopping-cart-table button.mcl-qty-btn,
body.checkout-cart-index #shopping-cart-table input.mcl-qty-input { height: 40px !important; min-height: 40px !important; }
@media (max-width: 767px) {
 body.contacts-index-index #contactForm { padding: 20px !important; }
}

/* Ações e diálogos do minicarrinho seguem Botão Minicart no painel. */
body { --mcl-btn-action: var(--tc-btn-minicart); --mcl-btn-action-hover: color-mix(in srgb, var(--tc-btn-minicart) 78%, #000); --mcl-cta: var(--tc-btn-minicart); --mcl-cta-hover: color-mix(in srgb, var(--tc-btn-minicart) 78%, #000); }

/* Checkout: centraliza a miniatura na coluna do produto. */
html body.onestepcheckout-index-index .onestepcheckout .onestepcheckout-cart-table td:first-child {
  text-align: center !important;
  vertical-align: middle !important;
}
html body.onestepcheckout-index-index .onestepcheckout .onestepcheckout-cart-table td:first-child img {
  display: block;
  margin: 0 auto !important;
}


/* Acerto fino da miniatura: compensa o avanço da coluna para a direita. */
html body.onestepcheckout-index-index .onestepcheckout .onestepcheckout-cart-table td:first-child img {
  position: relative;
  left: -2px;
}


/* Miniatura do produto: largura compatível com a coluna no checkout móvel. */
html body.onestepcheckout-index-index .onestepcheckout .onestepcheckout-cart-table td:first-child img {
  position: static;
  left: auto;
  width: 44px !important;
  height: 44px !important;
  object-fit: contain;
  margin: 0 auto !important;
}


/* Etapas do checkout: círculos 1:1, sem deformar no flex. */
html body.onestepcheckout-index-index .onestepcheckout .step-title .number {
  flex: 0 0 32px !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
}
@media (max-width: 600px) {
  html body.onestepcheckout-index-index .onestepcheckout .step-title .number {
    flex-basis: 28px !important;
    width: 28px !important; min-width: 28px !important; max-width: 28px !important;
    height: 28px !important; min-height: 28px !important; max-height: 28px !important;
  }
}


/* Remove o contorno de foco dos rádios e checkboxes. */
input[type='radio']:focus,
input[type='checkbox']:focus {
  outline: 0 solid;
}

/* SONHO MAGICO — barra de listagem responsiva, 26/10/2026 */
html body .category-products .toolbar{display:flex!important;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:18px;padding:18px 0!important;margin:0 0 24px!important;border:0!important;border-top:1px solid #eee7ec!important;border-bottom:1px solid #eee7ec!important;background:transparent!important;box-shadow:none!important;clear:both;box-sizing:border-box}
html body .category-products .toolbar:before,html body .category-products .toolbar:after,html body .category-products .toolbar .sorter:after,html body .category-products .toolbar .pager:after{display:none!important}
html body .category-products .toolbar .sorter{display:flex!important;align-items:center;gap:18px;float:none!important;margin:0!important;padding:0!important;width:auto!important}
html body .category-products .toolbar .sort-by{order:0;display:flex!important;align-items:center;gap:9px;float:none!important;padding:0!important;margin:0!important}
html body .category-products .toolbar .sort-by label,html body .category-products .toolbar .limiter label{font-size:12px!important;font-weight:400!important;color:#857a83!important;white-space:nowrap;margin:0!important;padding:0!important;line-height:1.3!important}
html body .category-products .toolbar label:after{content:none!important}
html body .category-products .toolbar select{appearance:none!important;-webkit-appearance:none!important;height:40px!important;min-height:40px!important;border:1px solid #e5dce3!important;border-radius:9px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23877a85' stroke-width='1.4'%3E%3Cpath d='m3 4 3 3 3-3'/%3E%3C/svg%3E") no-repeat right 10px center!important;padding:0 30px 0 12px!important;color:#514b52!important;font-size:12px!important;line-height:normal!important;box-shadow:none!important;cursor:pointer;margin:0!important;width:auto!important}
html body .category-products .toolbar .sort-by select{min-width:140px!important}
html body .category-products .toolbar .sort-by-switcher{display:block!important;float:none!important;position:relative!important;width:26px!important;height:32px!important;margin:0!important;background:none!important;font-size:0!important;text-indent:-9999px!important;color:#927386!important}
html body .category-products .toolbar .sort-by-switcher:before{content:''!important;position:absolute;left:6px;top:7px;width:14px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='18' fill='none' stroke='%23927386' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 15V3M3 7l4-4 4 4'/%3E%3C/svg%3E") center no-repeat!important;border:0!important}
html body .category-products .toolbar .sort-by-switcher--desc:before{transform:rotate(180deg)}
html body .category-products .toolbar .view-mode{order:1;display:flex!important;align-items:center;gap:3px;float:none!important;border-left:1px solid #eee7ec;padding:0 0 0 15px!important;margin:0!important}
html body .category-products .toolbar .view-mode>a,html body .category-products .toolbar .view-mode>strong{display:grid!important;place-items:center!important;width:34px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;border-radius:8px!important;background:none!important;color:#a99da6!important;font-size:0!important;text-indent:0!important;line-height:0!important;position:relative!important}
html body .category-products .toolbar .view-mode>strong{background:#f5edf3!important;color:#a34e85!important}
html body .category-products .toolbar .view-mode .grid:before,html body .category-products .toolbar .view-mode .list:before{content:''!important;position:static!important;display:block!important;width:18px!important;height:18px!important;background:currentColor!important;border:0!important;margin:0!important;mask-position:center;mask-repeat:no-repeat;mask-size:contain}
html body .category-products .toolbar .view-mode .grid:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E")}
html body .category-products .toolbar .view-mode .list:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='7' rx='1'/%3E%3Crect x='3' y='14' width='18' height='7' rx='1'/%3E%3C/svg%3E")}
html body .category-products .toolbar .pager,html body .category-products .toolbar .count-container{display:contents!important}
html body .category-products .toolbar .amount{flex:1;text-align:center;float:none!important;margin:0!important;padding:0!important;color:#958891!important;font-size:11px!important;white-space:nowrap;line-height:1.5!important}
html body .category-products .toolbar .limiter{display:flex!important;align-items:center;gap:8px;float:none!important;margin:0!important;padding:0!important}
html body .category-products .toolbar .limiter select{height:36px!important;min-height:36px!important}
html body .category-products .toolbar .pages{display:block!important;float:none!important;margin:0!important;padding:0!important;position:static!important}
html body .category-products .toolbar .pages>strong{display:none!important}
html body .category-products .toolbar .pages ol{display:flex!important;align-items:center;gap:5px;padding:0!important;margin:0!important}
html body .category-products .toolbar .pages li{display:grid!important;place-items:center;float:none!important;padding:0!important;margin:0!important;min-width:34px;height:34px;line-height:34px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#857783!important;font-size:12px!important}
html body .category-products .toolbar .pages li.current{background:#a34e85!important;color:#fff!important}
html body .category-products .toolbar .pages a{display:grid!important;place-items:center;min-width:34px!important;height:34px!important;border:0!important;border-radius:8px!important;margin:0!important;padding:0!important;background:transparent!important;color:#857783!important;font-size:12px!important;line-height:34px!important}
html body .category-products .toolbar .pages a:hover{background:#f5edf3!important}
html body .category-products .toolbar .pages .next,html body .category-products .toolbar .pages .previous{font-size:0!important;position:relative;text-indent:-9999px!important}
html body .category-products .toolbar .pages .next:before,html body .category-products .toolbar .pages .previous:before{content:''!important;position:static!important;width:7px!important;height:7px!important;border:0!important;border-top:1.4px solid #857783!important;border-right:1.4px solid #857783!important;background:none!important;transform:rotate(45deg);margin:0!important}
html body .category-products .toolbar .pages .previous:before{transform:rotate(-135deg)}
html body .category-products .toolbar a:focus-visible,html body .category-products .toolbar select:focus-visible{outline:2px solid #d6a5c5!important;outline-offset:3px}
@media(max-width:1100px) and (min-width:771px){html body .category-products .toolbar{gap:12px}html body .category-products .toolbar .sorter{gap:8px}html body .category-products .toolbar .sort-by select{min-width:118px!important}html body .category-products .toolbar .view-mode{padding-left:8px!important}}
@media(max-width:770px){
html body .category-products .toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:14px 8px;padding:15px 0!important;margin-bottom:20px!important}
html body .category-products .toolbar .sorter{grid-column:1/-1;width:100%!important;justify-content:space-between;gap:8px}
html body .category-products .toolbar .sort-by{flex:1;gap:7px;min-width:0}
html body .category-products .toolbar .sort-by label{font-size:11px!important}
html body .category-products .toolbar .sort-by select{min-width:0!important;width:100%!important;max-width:165px;flex:1}
html body .category-products .toolbar .sort-by-switcher{width:22px!important;flex-shrink:0}
html body .category-products .toolbar .view-mode{padding-left:8px!important}
html body .category-products .toolbar .view-mode>a,html body .category-products .toolbar .view-mode>strong{width:31px!important;height:34px!important}
html body .category-products .toolbar .amount{grid-column:1;grid-row:2;text-align:left;font-size:10px!important}
html body .category-products .toolbar .limiter{display:none!important}
html body .category-products .toolbar .pages{grid-column:2;grid-row:2}
html body .category-products .toolbar .pages li,html body .category-products .toolbar .pages a{height:30px!important;min-width:30px!important;line-height:30px!important;font-size:11px!important}
}
@media(max-width:360px){html body .category-products .toolbar .sort-by label{display:none!important}}
/* Fim da barra de listagem responsiva */

/* Refinamento de alinhamento da barra */
html body .category-products .toolbar .amount{display:block!important}
html body .category-products .toolbar .pages li,html body .category-products .toolbar .pages a{min-height:0!important}
html body .category-products .toolbar .pages .next,html body .category-products .toolbar .pages .previous{display:flex!important;align-items:center!important;justify-content:center!important;text-indent:0!important;font-size:0!important;line-height:0!important}

/* Paginação estável com vários números de página */
html body .category-products{container-type:inline-size;container-name:sm-catalog}
@media(min-width:771px){html body .category-products .toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;flex-wrap:nowrap!important}html body .category-products .toolbar .sorter{min-width:0}html body .category-products .toolbar .amount{min-width:65px}html body .category-products .toolbar .pages{justify-self:end}html body .category-products .toolbar .pages ol{flex-wrap:nowrap!important}}
@container sm-catalog (max-width:950px){@media(min-width:771px){html body .category-products .toolbar .sort-by label,html body .category-products .toolbar .limiter label{display:none!important}html body .category-products .toolbar .sort-by select{min-width:118px!important}html body .category-products .toolbar .sorter{gap:8px}html body .category-products .toolbar .view-mode{padding-left:8px!important}}}
@container sm-catalog (max-width:700px){@media(min-width:771px){html body .category-products .toolbar{grid-template-columns:minmax(0,1fr) auto auto;row-gap:14px}html body .category-products .toolbar .sorter{grid-column:1/-1;grid-row:1}html body .category-products .toolbar .amount{grid-column:1;grid-row:2;text-align:left}html body .category-products .toolbar .limiter{grid-column:2;grid-row:2}html body .category-products .toolbar .pages{grid-column:3;grid-row:2}}}
@media(max-width:770px){html body .category-products .toolbar .pages ol{flex-wrap:nowrap!important;gap:3px}html body .category-products .toolbar .pages li,html body .category-products .toolbar .pages a{width:28px!important;min-width:28px!important}html body .category-products .toolbar .pages{max-width:100%}html body .category-products .toolbar .amount{min-width:0}}
@media(max-width:360px){html body .category-products .toolbar .pages ol{gap:1px}html body .category-products .toolbar .pages li,html body .category-products .toolbar .pages a{width:26px!important;min-width:26px!important}}

/* Centralizar icones de grade e lista */
html body .category-products .toolbar .view-mode>a,html body .category-products .toolbar .view-mode>strong{display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;line-height:0!important;text-indent:0!important}
html body .category-products .toolbar .view-mode>a:after,html body .category-products .toolbar .view-mode>strong:after{display:none!important;content:none!important}
html body .category-products .toolbar .view-mode .grid:before,html body .category-products .toolbar .view-mode .list:before{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;margin:0!important}

/* Estados dos controles conforme a identidade da loja */
html body .category-products .toolbar select:focus,html body .category-products .toolbar select:focus-visible{border-color:var(--sm-primary,#a34e85)!important;outline:none!important;box-shadow:0 0 0 3px rgba(163,78,133,.12)!important}
html body .category-products .toolbar select{transition:border-color .18s ease,box-shadow .18s ease}
html body .category-products .toolbar .view-mode>strong{background:var(--sm-primary,#a34e85)!important;color:#fff!important}
html body .category-products .toolbar .view-mode>a:hover{background:#f5edf3!important;color:var(--sm-primary,#a34e85)!important}
html body .category-products .toolbar .view-mode>a:focus-visible{outline:2px solid var(--sm-primary,#a34e85)!important;outline-offset:3px}


/* Ajuste Selo de qualidade do Google */
[id^="___ratingbadge"]{position:fixed!important;left:16px!important;bottom:16px!important;right:auto!important;top:auto!important;margin:0!important;z-index:999!important}
@media (max-width:770px){[id^="___ratingbadge"]{display:none!important}}
/* Ajuste Selo de qualidade do Google */
