:root {
    --ws-red: #d53941;
    --ws-green: #34af6f;
    --ws-green-dark: #25945b;
    --ws-radius: 30px 0 30px 30px;
    --ws-border-light: #cbcbcb8a;
}

/* =========================
   ELEMENTOS OCULTOS / AJUSTES GERAIS
========================= */
#id_telefone_principal,
label[for="id_telefone_principal"],
.produto-detalhes .cep #formCalcularCep {
    display: none;
}

.banners-vantagens,
.banners-full,
.listagem .com-caixa .listagem-item-wrap,
.listagem .listagem-item .listagem-item-wrap {
    border: 0;
}

#cabecalho {
    border-bottom: 0;
}

.menu-desktop,
body.fixed #cabecalho {
    box-shadow: none;
}

/* =========================
   BORDER RADIUS PADRÃO
========================= */
.banners-full .int-mobile img,
.listagem .imagem-produto img,
.banners-extras img,
.listagem .listagem-item:hover .listagem-item-wrap,
.busca,
.cores-personalizadas .botao.principal,
.cores-personalizadas .bandeiras-produto .bandeira-promocao,
.keywords-tags a {
    border-radius: var(--ws-radius);
}

/* =========================
   BANNERS / IMAGENS / CARROSSEL
========================= */
.banners-full .int-mobile img {
    max-width: 100% !important;
}

.carrossel-departamentos li a img:hover {
    opacity: 0.8;
}

.carrossel-departamentos li img {
    box-shadow: none;
    border-radius: var(--ws-radius);
    border: 1px solid var(--ws-border-light);
}

/* =========================
   HEADER / BUSCA / MENU
========================= */
.botao-whatsapp a span {
    height: 22px;
}

.popup-busca {
    background-color: var(--ws-red);
}

@media (max-width: 820px) {
    .popup-busca {
        bottom: 66px;
        visibility: visible;
        transform: scale(1);
        opacity: 1;
    }
}

.categoria-id-683872 .com-filho .menu-categoria {
    display: none;
}

.categorias-mobile .nivel-um .level1-wrap > i {
    font-size: 16px;
}

.categorias-mobile .nivel-dois a {
    padding: 9px;
}

/* =========================
   LISTAGEM / PRODUTOS
========================= */
.listagem .listagem-item .acoes-produto .qtde-adicionar-carrinho {
    width: 85px;
    height: 45px;
}

.preco-produto > :nth-child(2) {
    font-size: 16px;
}

.produto-detalhes .botao-comprar {
    font-size: 18px !important;
    height: 65px;
    font-weight: 600;
}

/* =========================
   BOTÕES PRINCIPAIS
========================= */
.cores-personalizadas .botao.principal,
#formas-pagamento-wrapper button#finalizarCompra {
    text-transform: uppercase;
    font-size: 22px;
    background: var(--ws-green);
    border-bottom: 3px solid var(--ws-green-dark);
}

#formas-pagamento-wrapper button#finalizarCompra {
    width: 100%;
    height: 60px;
}

/* =========================
   ABAS CUSTOM
========================= */
.abas-custom {
    font-size: 15px;
    line-height: 1.5;
}

.abas-custom h2 {
    font-size: 22px;
    margin: 20px 0 0;
}

.abas-custom .tab-content ul {
    padding: 0;
    border: 1px solid rgba(143, 143, 143, 0.3);
    margin: 0 0 20px;
}

.abas-custom .tab-content ul > li {
    list-style: none;
    display: block;
    width: 100%;
    padding: 15px;
    color: #25262C;
    font-weight: 700;
    box-sizing: border-box;
}

.abas-custom .tab-content ul > li:nth-child(odd) {
    background: #f3f2f2;
}

.abas-custom .tab-content ul > li > strong {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 400;
}

/* =========================
   TAGS / KEYWORDS
========================= */
.keywords-tags {
    text-align: left;
    border: 10px solid transparent !important;
}

.keywords-tags li {
    display: contents !important;
}

.keywords-tags a {
    padding: 18px;
    border: 1px solid #e4e4e4;
    font-size: 12px;
    line-height: 50px;
}

.keywords-tags a:hover {
    background-color: #ececec !important;
}

@media (max-width: 600px) {
    .keywords-tags {
        padding: 0 !important;
    }

    .keywords-tags a {
        padding: 15px;
        font-size: 12px;
        line-height: 55px;
    }
}

/* =========================
   CARRINHO / CHECKOUT
========================= */
.tabela-carrinho .formas-envio ul li label.radio .nome {
    display: block;
    text-align: left !important;
    white-space: nowrap;
}

div#exibirFormasPagamento a.btn.btn-small,
div#formularioEndereco a.btn-small {
    font-size: 14px;
    padding: 8px 10px;
}

.descontos.avista .cor-principal.titulo.font-15 {
    font-size: 24px;
    font-weight: 700;
    color: var(--ws-red);
}

/* =========================
   FILTROS / ORDENAÇÃO
========================= */
body.pagina-categoria a[href*="sort=promocao"] .icon-dollar:before,
body.pagina-busca a[href*="sort=promocao"] .icon-dollar:before {
    content: "\f005";
}

body.pagina-categoria a[href*="sort=promocao"] .icon-dollar,
body.pagina-busca a[href*="sort=promocao"] .icon-dollar {
    margin-right: 8px;
}

body.pagina-categoria a[href*="sort=promocao"],
body.pagina-busca a[href*="sort=promocao"] {
    padding: 3px 20px 3px 18px;
}

body.pagina-categoria a[href*="sort=-preco"] .icon-dollar:before,
body.pagina-busca a[href*="sort=-preco"] .icon-dollar:before {
    content: "\f155\f155";
}

body.pagina-categoria a[href*="sort=-preco"] .icon-dollar,
body.pagina-busca a[href*="sort=-preco"] .icon-dollar {
    margin-right: 6px;
}

body.pagina-categoria a[href*="sort=-preco"],
body.pagina-busca a[href*="sort=-preco"] {
    padding: 3px 20px 3px 17px;
}

body.pagina-categoria a[href*="sort=mais_vendidos"] .icon-shopping-cart,
body.pagina-busca a[href*="sort=mais_vendidos"] .icon-shopping-cart {
    margin-right: 7px !important;
}

body.pagina-categoria a[href*="sort=mais_vendidos"] .icon-shopping-cart:before,
body.pagina-busca a[href*="sort=mais_vendidos"] .icon-shopping-cart:before {
    content: "\f004";
}

/* =========================
   PAGINAÇÃO
========================= */
.pagina-categoria #corpo .ordenar-listagem.rodape .pagination ul > li > a,
.pagina-categoria #corpo .ordenar-listagem.topo .pagination ul > li > a {
    color: var(--ws-red);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 19px;
    text-align: center;
    border: 2px solid #66676B;
    padding: 0;
    border-radius: 50%;
    margin: 5px;
    box-shadow: none;
    background: #fff;
    height: 50px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagina-categoria #corpo .ordenar-listagem.rodape .pagination ul > .active > a,
.pagina-categoria #corpo .ordenar-listagem.topo .pagination ul > .active > a {
    color: #fff !important;
    background-color: var(--ws-red);
    border: none;
}
/* ══════════════════════════════════════════
   WIDGET VÍDEO — WARESHOP (isolado em #wsv)
══════════════════════════════════════════ */

#wsv, #wsv * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  line-height: 1;
}

#wsv #wsv-hide {
  display: none !important;
  position: fixed !important;
  width: 0 !important;
  height: 0 !important;
  visibility: hidden !important;
}

/* ── Botão flutuante ── */
#wsv .wsv-float {
  position: fixed;
  left: 16px;
  bottom: 80px;
  z-index: 9997;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#wsv #wsv-hide:checked ~ .wsv-float {
  display: none !important;
}

#wsv #wsv-modal:target ~ .wsv-float {
  display: none !important;
}

#wsv .wsv-thumb {
  display: block;
  position: relative;
  width: 60px;
  height: 107px;
  border-radius: 10px;
  overflow: hidden;
  border: none;
  box-shadow: none;
  cursor: pointer;
  text-decoration: none !important;
  transition: transform .2s;
}

#wsv .wsv-thumb:hover {
  transform: scale(1.06);
}

#wsv .wsv-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

#wsv .wsv-play-over {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.3);
  transition: background .2s;
}

#wsv .wsv-thumb:hover .wsv-play-over {
  background: rgba(0,0,0,.5);
}

#wsv .wsv-play-over svg {
  width: 26px;
  height: 26px;
  filter: none;
}

#wsv .wsv-label {
  display: block !important;
  background: #d53941;
  color: #fff !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  padding: 4px 2px !important;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-decoration: none !important;
}

#wsv .wsv-x-float {
  position: absolute;
  top: -8px;
  left: -8px;
  z-index: 10;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0,0,0,.55);
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: none;
  text-decoration: none !important;
  transition: background .15s, transform .15s;
  line-height: 1 !important;
  border: none;
  -webkit-user-select: none;
  user-select: none;
}

#wsv .wsv-x-float:hover {
  background: #d53941;
  transform: scale(1.15);
}

/* ── Modal ── */
#wsv #wsv-modal {
  position: fixed !important;
  inset: 0;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  z-index: 99999;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}

#wsv #wsv-modal:target {
  width: 100% !important;
  height: 100% !important;
  visibility: visible !important;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

/* Wrapper relativo: segura o X fora do overflow:hidden do box */
#wsv .wsv-modal-wrap {
  position: relative;
  width: min(340px, 80vw);
  aspect-ratio: 9 / 16;
  transform: scale(.88);
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}

#wsv #wsv-modal:target .wsv-modal-wrap {
  transform: scale(1);
  opacity: 1;
}

/* Box: overflow hidden apenas aqui, sem cortar o X */
#wsv .wsv-modal-box {
  width: 100%;
  height: 100%;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: none;
}

#wsv .wsv-modal-box iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}

/* X do modal — posicionado no wrap, acima do overflow:hidden */
#wsv .wsv-x-modal {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(0,0,0,.55);
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  box-shadow: none;
  z-index: 10;
  transition: background .15s, transform .15s;
  line-height: 1 !important;
  border: none;
}

#wsv .wsv-x-modal:hover {
  background: #d53941;
  transform: scale(1.1);
}

#wsv .wsv-backdrop {
  position: fixed;
  inset: 0;
  display: block;
  z-index: -1;
  text-decoration: none !important;
}