/* Vime - vitrine. Parte do plugin "Vime - Ajustes da Loja".
   O !important aqui e proposital: as regras do Elementor para o widget de produtos
   sao mais especificas e venceriam estas. Desativar o plugin desfaz tudo. */
ul.products li.product{
  position:relative; background:#fff; border:1px solid #E1E4F2 !important; border-radius:14px;
  overflow:hidden; display:flex; flex-direction:column; padding:0 0 16px !important;
  text-align:left !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
ul.products li.product:hover{
  transform:translateY(-4px); border-color:transparent !important;
  box-shadow:0 2px 4px rgba(13,16,48,.08), 0 18px 40px rgba(13,16,48,.14);
}
ul.products li.product a.woocommerce-LoopProduct-link{ display:block; text-decoration:none; }
ul.products li.product img{
  width:100%; aspect-ratio:1/1; object-fit:cover; display:block;
  background:#EEF0FA; margin:0 0 13px !important; border-radius:0;
}
ul.products li.product .woocommerce-loop-product__title{
  font-size:15px !important; font-weight:500 !important; line-height:1.4 !important;
  color:#0D1030 !important; padding:0 14px !important; margin:0 0 9px !important;
  text-align:left !important;
}
ul.products li.product .price,
ul.products li.product .price .amount,
ul.products li.product .price bdi{
  font-size:20px !important; font-weight:700 !important; color:#0D1030 !important;
  text-align:left !important; font-variant-numeric:tabular-nums;
}
ul.products li.product .price{ display:block; padding:0 14px !important; margin:0 !important; }
ul.products li.product .vime-entrega{
  display:block; padding:5px 14px 0; font-size:12.5px; font-weight:500;
  color:#0E7A4B; text-align:left !important;
}
ul.products li.product .vime-selo{
  position:absolute; top:11px; left:11px; z-index:2; line-height:1.4;
  font-family:ui-monospace,Consolas,monospace; font-size:10.5px; letter-spacing:.08em;
  background:#fff; color:#0D1030; border:1px solid #E1E4F2; border-radius:5px; padding:3px 7px;
}
ul.products li.product .woocommerce-loop-product__buttons{ padding:13px 14px 0; margin:auto 0 0; }
ul.products li.product .button{
  display:block !important; width:100% !important; margin:0 !important; text-align:center !important;
  background:#E10061 !important; color:#fff !important; border-radius:9px !important;
  font-weight:700 !important; font-size:14.5px !important; padding:12px 16px !important; line-height:1.4;
}
ul.products li.product .button:hover,ul.products li.product .button:focus{ background:#C60056 !important; }

/* ---------- Pagina de produto ---------- */
.single-product .vime-pix{
  display:block; width:100%; background:#E4F4EC; color:#0E7A4B; border-radius:10px;
  padding:12px 14px; margin:0 0 14px; font-size:14px; font-weight:500; line-height:1.5;
}
.single-product form.cart{
  display:block !important;
  background:#fff; border:1px solid #E1E4F2; border-radius:14px; padding:18px;
  box-shadow:0 1px 2px rgba(13,16,48,.06), 0 8px 24px rgba(13,16,48,.06);
}
.single-product form.cart .single_add_to_cart_button{
  display:block !important; width:100% !important; margin:0 !important;
  background:#E10061 !important; color:#fff !important; border-radius:9px !important;
  font-weight:700 !important; font-size:16.5px !important; padding:15px 18px !important;
  text-align:center !important; line-height:1.4;
}
.single-product form.cart .single_add_to_cart_button:hover{ background:#C60056 !important; }
.single-product .vime-pgto{
  display:flex; width:100%; align-items:center; gap:8px; flex-wrap:wrap;
  margin:14px 0 0; font-size:12.5px; color:#5B6080;
}
.single-product .vime-tag{
  font-family:ui-monospace,Consolas,monospace; font-size:11px; color:#0D1030;
  border:1px solid #E1E4F2; border-radius:6px; padding:3px 9px;
}
.single-product .price,
.single-product .price .amount,
.single-product .price bdi{
  font-size:34px !important; font-weight:800 !important; color:#0D1030 !important;
  font-variant-numeric:tabular-nums; letter-spacing:-.02em;
}
.single-product .quantity{ margin-bottom:12px; }

.single-product .vime-ficha{
  width:100%; margin:16px 0 0; padding:14px 0 0; border-top:1px solid #E1E4F2;
}
.single-product .vime-ficha > div{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding:7px 0; font-size:13.5px;
}
.single-product .vime-ficha dt{ margin:0; color:#5B6080; }
.single-product .vime-ficha dd{
  margin:0; text-align:right; color:#0D1030;
  font-family:ui-monospace,Consolas,monospace; font-size:12.5px;
}

/* Entrega manual pelo WhatsApp: azul da marca, para nao prometer instantaneo */
ul.products li.product .vime-entrega.vime-whats{ color:#0004A9; }
.single-product .vime-pix.vime-whats{ background:#E8E9FA; color:#0004A9; }

/* Descricao da categoria */
.vime-cat-desc{
  max-width:70ch; margin:0 0 26px; color:#5B6080; font-size:15px; line-height:1.65;
}
.vime-cat-desc p{ margin:0 0 12px; }
.vime-cat-desc p:last-child{ margin-bottom:0; }
.vime-cat-desc strong{ color:#0D1030; font-weight:700; }

.single-product .vime-texto-padrao{ color:#5B6080; font-size:15px; line-height:1.65; max-width:65ch; }

/* Trilho de categorias */
.vime-cats{
  display:flex; gap:8px; overflow-x:auto; padding:0 0 4px; margin:0 0 22px;
  scrollbar-width:thin; -webkit-overflow-scrolling:touch;
}
.vime-cats .vime-cat{
  display:inline-flex; align-items:baseline; gap:7px; white-space:nowrap; text-decoration:none;
  border:1px solid #E1E4F2; border-radius:999px; padding:8px 15px;
  font-size:14px; font-weight:500; color:#0D1030; background:#fff; line-height:1.4;
  transition:border-color .15s ease, color .15s ease;
}
.vime-cats .vime-cat:hover{ border-color:#0004A9; color:#0004A9; }
.vime-cats .vime-cat i{
  font-style:normal; font-family:ui-monospace,Consolas,monospace; font-size:11.5px;
  color:#5B6080; font-variant-numeric:tabular-nums;
}
.vime-cats .vime-cat.on{ background:#0004A9; border-color:#0004A9; color:#fff; }
.vime-cats .vime-cat.on i{ color:rgba(255,255,255,.75); }

/* Campo de busca do cabecalho */
.elementor-search-form__container{ border-radius:10px !important; overflow:hidden; }
.elementor-search-form__input{ font-size:15px !important; padding-left:18px !important; }
.elementor-search-form__input::placeholder{ color:#8A8FAE; opacity:1; }
.elementor-search-form__submit{ background-color:#E10061 !important; }
.elementor-search-form__submit:hover{ background-color:#C60056 !important; }
