.elementor-kit-83{--e-global-color-primary:#181818;--e-global-color-secondary:#cc382b;--e-global-color-text:#FFFFFF;--e-global-color-accent:#BF2E26;--e-global-color-background:#F5F5F5;--e-global-color-backgroundAccent:#F1F1E7;--e-global-color-transparent:#00000000;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-size:24px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Space Grotesk";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Space Grotesk";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.5em;--e-global-typography-heading-xl-font-family:"Poppins";--e-global-typography-heading-xl-font-size:56px;--e-global-typography-heading-xl-font-weight:600;--e-global-typography-heading-xl-line-height:1.2em;--e-global-typography-heading-l-font-family:"Poppins";--e-global-typography-heading-l-font-size:48px;--e-global-typography-heading-l-font-weight:600;--e-global-typography-heading-l-line-height:1.2em;--e-global-typography-heading-m-font-family:"Poppins";--e-global-typography-heading-m-font-size:40px;--e-global-typography-heading-m-font-weight:600;--e-global-typography-heading-m-line-height:1.2em;--e-global-typography-heading-s-font-family:"Poppins";--e-global-typography-heading-s-font-size:18px;--e-global-typography-heading-s-font-weight:500;--e-global-typography-body-s-font-family:"Space Grotesk";--e-global-typography-body-s-font-size:14px;--e-global-typography-body-s-font-weight:400;--e-global-typography-body-s-line-height:1.5em;background-color:var( --e-global-color-background );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-83 e-page-transition{background-color:var( --e-global-color-primary );}@media(max-width:1024px){.elementor-kit-83{--e-global-typography-primary-font-size:22px;--e-global-typography-secondary-font-size:18px;--e-global-typography-heading-xl-font-size:48px;--e-global-typography-heading-l-font-size:40px;--e-global-typography-heading-m-font-size:32px;--e-global-typography-heading-s-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-83{--e-global-typography-primary-font-size:18px;--e-global-typography-secondary-font-size:16px;--e-global-typography-heading-xl-font-size:40px;--e-global-typography-heading-l-font-size:32px;--e-global-typography-heading-m-font-size:32px;--e-global-typography-heading-s-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}}/* Start custom CSS */.raw-logged-user-name {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #F1F1E7;
    text-transform: none; /* caso queira sem maiúsculas */
}

/* Logout Button */
.raw-logout-button {
    display: block;
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-decoration: underline;
    color: #F1F1E7; /* mesma cor do nome do usuário */
    text-transform: uppercase;
    cursor: pointer;
    margin: 10px 0;
}

.raw-login-button {
    display: inline-block;
    font-family: "Poppins", sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    color: #F1F1E7; /* cor que você mencionou antes */
    text-align: center;
    cursor: pointer;
    transition: opacity .2s ease;
}

.raw-login-button:hover {
    opacity: 0.8;
}

.raw-register-button {
    display: inline-block !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-transform: none !important; /* mantém exatamente como está no PHP */
    text-decoration: underline !important;
    text-decoration-color: #F1F1E7 !important;
    text-decoration-thickness: 20pxpx !important;
    color: #F1F1E7 !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: opacity .2s ease !important;
}

.raw-register-button:hover {
    opacity: 0.8 !important;
}
.raw-register-button {
    text-transform: none !important;
}



/* Overlay para animação de logout */
#logout-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #181818; /* fundo do site */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
    z-index: 9999;
}

#logout-overlay.active {
    opacity: 1;
    pointer-events: all;
}


#raw-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
    z-index: 9998;
}

#raw-mini-cart {
    position: fixed;
    top: 0;
    right: -420px;
    width: 400px;
    height: 100%;
    background: #fff;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    transition: 0.3s;
}

#raw-mini-cart.active {
    right: 0;
}

#raw-cart-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.raw-cart-header {
    background: #000;
    color: #fff;
    padding: 20px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
}

#raw-cart-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.raw-cart-item {
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
}

.raw-cart-item img {
    width: 60px;
}

.raw-cart-info {
    flex: 1;
}

.raw-cart-controls {
    display: flex;
    gap: 10px;
    align-items: center;
}

.raw-cart-footer {
    padding: 20px;
    border-top: 1px solid #eee;
}

.btn-cart {
    display: block;
    text-align: center;
    border: 1px solid #000;
    padding: 12px;
    margin-bottom: 10px;
}

.btn-checkout {
    display: block;
    text-align: center;
    background: #000;
    color: #fff;
    padding: 12px;
}


/* GRID PRINCIPAL */
.raw-grid-produtos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* CARD DO PRODUTO */
.raw-card-produto {
  background: transparent;
  border-radius: 12px;
  overflow: hidden; /* controla as bordas da imagem */
  text-align: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  transition: transform 0.2s ease;
  display: flex;
  flex-direction: column;
  padding: 0;
}

.raw-card-produto:hover {
  transform: translateY(-4px);
}

/* IMAGEM */
.raw-img-wrap {
  width: 100%;
  display: block;
  margin: 0;
}

.raw-img-wrap img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  margin: 0;
}

/* BLOCO INFERIOR */
.raw-info-area {
  background: #f7f7f7;
  padding: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

/* TÍTULO */
.raw-title-produto {
  font-size: 16px;
  margin: 4px 0;
}

/* LINK DO TÍTULO */
.raw-title-produto a {
  color: #000;
  text-decoration: none;
}

.raw-title-produto a:hover {
  text-decoration: underline;
}

/* PREÇO */
.raw-preco-produto {
  font-weight: bold;
  color: #000;
}

/* ===== BOTÕES ===== */

/* "Adicionar ao Carrinho" (com ícone, sem fundo) */
.raw-btn-carrinho,
.raw-info-area .add_to_cart_button,
.raw-info-area .product_type_simple,
.raw-info-area .ajax_add_to_cart {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: #000 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  cursor: pointer;
}

/* Ícone do carrinho */
.raw-btn-carrinho::before,
.raw-info-area .add_to_cart_button::before,
.raw-info-area .product_type_simple::before,
.raw-info-area .ajax_add_to_cart::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f07a"; /* ícone de carrinho */
  font-size: 14px;
  display: inline-block;
  margin-right: 4px;
}

/* "Fora de estoque" sem fundo */
.raw-outofstock,
.raw-info-area .outofstock,
.raw-info-area .out-of-stock {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: #b5b5b5 !important;
  font-size: 14px;
  font-weight: 600;
  cursor: not-allowed;
  text-decoration: none !important;
  margin-top: 8px;
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
  .raw-grid-produtos {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .raw-grid-produtos {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* ============================================================
   RAW CREAM CO. — CSS LOJA (Archive + Single Product)
   Versão 1.0 — Aplicar em Aparência → CSS Adicional
   Paleta: #BF2E26 vermelho · #F1F1E7 creme · #181818 preto
   Fontes: Space Grotesk (títulos) + Grift (corpo)
   ============================================================ */

/* ---------- 0. TOKENS ---------- */
:root {
  --raw-red: #BF2E26;
  --raw-red-dark: #8E1E18;
  --raw-cream: #F1F1E7;
  --raw-black: #181818;
  --raw-ink: #2A2A2A;
  --raw-muted: #7A7A72;
  --raw-line: #E6E6DC;
  --raw-pix: #0F9D58;

  --raw-font-display: "Space Grotesk", "Inter", system-ui, sans-serif;
  --raw-font-body: "Grift", "Inter", system-ui, sans-serif;

  --raw-radius-sm: 4px;
  --raw-radius-md: 8px;
  --raw-radius-lg: 14px;

  --raw-shadow-card: 0 1px 2px rgba(24,24,24,.04);
  --raw-shadow-hover: 0 18px 40px -20px rgba(24,24,24,.22), 0 2px 6px rgba(24,24,24,.05);
  --raw-transition: all .28s cubic-bezier(.2,.7,.2,1);
}

/* ---------- 1. GOOGLE FONTS FALLBACK (caso o tema não importe) ---------- */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* ============================================================
   2. ARCHIVE DE PRODUTOS  (/produtos/)
   ============================================================ */

/* Container geral do archive */
.woocommerce-shop .site-main,
.post-type-archive-product .elementor-location-archive {
  background: #FAFAF6;
}

/* Resultado count + filtros no topo */
.woocommerce-result-count,
.wl-archive-result-count {
  font-family: var(--raw-font-display);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--raw-muted);
  margin-bottom: 24px;
}

/* Grid de produtos — espaçamento generoso */
ul.products,
.elementor-location-archive ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1024px) {
  ul.products { grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
}
@media (max-width: 768px) {
  ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
}
@media (max-width: 480px) {
  ul.products { grid-template-columns: 1fr !important; }
}

/* CARD base */
ul.products li.product {
  position: relative !important;
  background: #FFFFFF !important;
  border: 1px solid var(--raw-line) !important;
  border-radius: var(--raw-radius-lg) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  transition: var(--raw-transition) !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: var(--raw-shadow-card) !important;
}

/* Link envolvendo o card inteiro — click leva ao single */
ul.products li.product > a.woocommerce-LoopProduct-link,
ul.products li.product > a {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  color: inherit !important;
  flex: 1;
}

/* Container da imagem */
ul.products li.product .attachment-woocommerce_thumbnail,
ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  background: var(--raw-cream) !important;
  margin: 0 !important;
  transition: transform .5s cubic-bezier(.2,.7,.2,1) !important;
  border-radius: 0 !important;
}

/* Wrapper pra forçar aspect ratio mesmo em imagens antigas */
ul.products li.product .woocommerce-loop-product__link,
ul.products li.product .attachment-woocommerce_thumbnail {
  display: block;
  overflow: hidden;
}

/* Hover do card */
ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--raw-shadow-hover) !important;
  border-color: var(--raw-black) !important;
}
ul.products li.product:hover img {
  transform: scale(1.04);
}

/* Título */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2.woocommerce-loop-product__title,
ul.products li.product .product-title {
  font-family: var(--raw-font-display) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  color: var(--raw-black) !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  padding: 16px 18px 6px !important;
  margin: 0 !important;
  min-height: 52px;
}

/* Preço */
ul.products li.product .price {
  font-family: var(--raw-font-display) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--raw-black) !important;
  padding: 0 18px 16px !important;
  margin: 0 !important;
  display: block !important;
}
ul.products li.product .price del {
  color: var(--raw-muted) !important;
  font-weight: 400 !important;
  opacity: .6;
  margin-right: 6px;
}
ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--raw-red) !important;
}

/* Remover qualquer botão "Adicionar ao Carrinho" do loop — click vai pro single */
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
ul.products li.product .product_type_simple,
ul.products li.product .product_type_variable,
ul.products li.product .button.wc-forward,
ul.products li.product a.added_to_cart {
  display: none !important;
}

/* CTA invisível que aparece no hover — "VER PRODUTO" */
ul.products li.product::after {
  content: "VER PRODUTO →";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 14px 18px;
  background: var(--raw-black);
  color: #FFFFFF;
  font-family: var(--raw-font-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .12em;
  text-align: center;
  transform: translateY(100%);
  transition: transform .32s cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
}
ul.products li.product:hover::after {
  transform: translateY(0);
}

/* ---------- BADGE "INDISPONÍVEL" (out of stock) ---------- */
ul.products li.product.outofstock .onsale,
ul.products li.product.outofstock::before {
  content: "INDISPONÍVEL";
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--raw-black);
  color: #FFFFFF;
  font-family: var(--raw-font-display);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: .14em;
  padding: 6px 10px;
  border-radius: 3px;
  z-index: 3;
  text-transform: uppercase;
}

/* Esconder o badge "Esgotado" padrão do WooCommerce (usamos o nosso) */
ul.products li.product .outofstock-badge,
ul.products li.product span.outofstock {
  display: none !important;
}

/* Card de produto indisponível: dessaturar imagem */
ul.products li.product.outofstock img {
  filter: grayscale(.7) opacity(.75);
}
ul.products li.product.outofstock:hover img {
  filter: grayscale(.4) opacity(.9);
  transform: scale(1.02);
}

/* Ocultar botão de compra se indisponível (reforço) */
ul.products li.product.outofstock .button,
ul.products li.product.outofstock a.button {
  display: none !important;
}

/* CTA no hover dos indisponíveis muda de texto */
ul.products li.product.outofstock::after {
  content: "VER DETALHES →";
  background: var(--raw-ink);
}

/* Badge de promoção (on sale) — caso tenha no futuro */
ul.products li.product .onsale:not(.outofstock) {
  background: var(--raw-red) !important;
  color: #FFFFFF !important;
  font-family: var(--raw-font-display);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: .14em;
  padding: 6px 10px;
  border-radius: 3px;
  top: 14px;
  left: 14px;
  right: auto;
  text-transform: uppercase;
  min-width: 0;
  min-height: 0;
  line-height: 1;
}

/* ============================================================
   3. SINGLE PRODUCT (/produto/xxx/)
   ============================================================ */

/* Breadcrumb clean */
.single-product .woocommerce-breadcrumb {
  font-family: var(--raw-font-display);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--raw-muted);
  margin-bottom: 28px;
}
.single-product .woocommerce-breadcrumb a {
  color: var(--raw-muted);
  text-decoration: none;
}
.single-product .woocommerce-breadcrumb a:hover { color: var(--raw-black); }

/* Título */
.single-product .product_title,
.single-product h1.product_title {
  font-family: var(--raw-font-display) !important;
  font-weight: 700 !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  line-height: 1.1 !important;
  color: var(--raw-black) !important;
  text-transform: uppercase !important;
  letter-spacing: -.01em !important;
  margin: 0 0 10px !important;
}

/* Short description */
.single-product .woocommerce-product-details__short-description,
.single-product [data-widget_type="woocommerce-product-short-description.default"] p {
  font-family: var(--raw-font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--raw-ink);
  margin-bottom: 20px;
}

/* Label "PREÇO UNITÁRIO" */
.single-product h2,
.single-product .elementor-heading-title {
  font-family: var(--raw-font-display);
  font-weight: 600;
  font-size: 11px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--raw-muted) !important;
}

/* Preço principal */
.single-product p.price,
.single-product .price {
  font-family: var(--raw-font-display) !important;
  font-weight: 700 !important;
  font-size: 30px !important;
  color: var(--raw-black) !important;
  margin: 4px 0 12px !important;
  line-height: 1.1 !important;
}
.single-product .price .woocommerce-Price-amount {
  color: inherit;
}

/* Badge Pix (já vem do plugin — só estilizar melhor) */
.single-product [class*="pix"],
.single-product .pix-discount,
.single-product .elementor-widget-shortcode p[style*="background"] {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: rgba(15,157,88,.1) !important;
  color: var(--raw-pix) !important;
  font-family: var(--raw-font-display) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15,157,88,.25) !important;
  margin-bottom: 20px !important;
}

/* Parcelamento */
.single-product [class*="parcel"],
.single-product .wci-installments,
.single-product .wci-parcelas {
  font-family: var(--raw-font-body);
  font-size: 13px;
  color: var(--raw-ink);
  margin: 6px 0 16px;
}
.single-product [class*="parcel"] a,
.single-product .wci-installments a {
  color: var(--raw-red);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Divider — usar linha simples em vez da divider widget */
.single-product .elementor-widget-divider hr,
.single-product .elementor-widget-divider-separator {
  border-color: var(--raw-line) !important;
  opacity: 1;
}

/* ---------- SELETOR DE TAMANHO em pílulas ---------- */
.single-product table.variations {
  border: none !important;
  margin-bottom: 16px !important;
}
.single-product table.variations tr {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
  margin-bottom: 18px;
}
.single-product table.variations th.label,
.single-product table.variations th.label label {
  font-family: var(--raw-font-display) !important;
  font-size: 11px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--raw-muted) !important;
  padding: 0 !important;
  font-weight: 600 !important;
}
.single-product table.variations td.value {
  padding: 0 !important;
}
/* Select com visual clean */
.single-product table.variations td.value select {
  width: 100%;
  max-width: 420px;
  padding: 14px 16px;
  font-family: var(--raw-font-display);
  font-size: 15px;
  font-weight: 500;
  color: var(--raw-black);
  background: #FFFFFF;
  border: 1.5px solid var(--raw-line);
  border-radius: var(--raw-radius-md);
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23181818' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  transition: var(--raw-transition);
}
.single-product table.variations td.value select:focus,
.single-product table.variations td.value select:hover {
  border-color: var(--raw-black);
  outline: none;
}
.single-product .reset_variations {
  display: inline-block !important;
  font-family: var(--raw-font-display) !important;
  font-size: 11px !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--raw-muted) !important;
  margin-top: 8px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- QUANTITY + ADD TO CART ---------- */
.single-product form.cart {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
  margin: 20px 0 !important;
}
.single-product .quantity {
  display: flex !important;
  align-items: center;
  border: 1.5px solid var(--raw-line);
  border-radius: var(--raw-radius-md);
  overflow: hidden;
  background: #FFFFFF;
  height: 56px;
}
.single-product .quantity input[type="number"],
.single-product .quantity .qty {
  border: none !important;
  background: transparent !important;
  width: 60px !important;
  text-align: center;
  font-family: var(--raw-font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--raw-black);
}

/* Botão principal de add to cart */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button {
  flex: 1;
  min-width: 220px;
  height: 56px;
  background: var(--raw-black) !important;
  color: #FFFFFF !important;
  font-family: var(--raw-font-display) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: var(--raw-radius-md) !important;
  padding: 0 28px !important;
  cursor: pointer;
  transition: var(--raw-transition) !important;
}
.single-product .single_add_to_cart_button:hover {
  background: var(--raw-red) !important;
  transform: translateY(-1px);
}
.single-product .single_add_to_cart_button:disabled {
  opacity: .4;
  cursor: not-allowed;
}

/* Estado "indisponível" no single product */
.single-product .out-of-stock,
.single-product .stock.out-of-stock {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-family: var(--raw-font-display) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--raw-red) !important;
  padding: 14px 18px !important;
  background: rgba(191,46,38,.08) !important;
  border: 1px solid rgba(191,46,38,.25) !important;
  border-radius: var(--raw-radius-md) !important;
  margin: 16px 0 !important;
}
.single-product .out-of-stock::before {
  content: "●";
  font-size: 10px;
}

/* Esconde add-to-cart se o produto tiver a classe outofstock */
body.single-product.outofstock form.cart {
  display: none !important;
}

/* ---------- CONSULTAR FRETE ---------- */
.single-product .melhorenvio-calcular,
.single-product [class*="shipping-calculator"],
.single-product .elementor-shortcode .calcular-frete {
  margin-top: 20px;
  padding: 18px;
  border: 1px solid var(--raw-line);
  border-radius: var(--raw-radius-md);
  background: #FFFFFF;
}
.single-product .melhorenvio-calcular h3,
.single-product .calcular-frete .titulo {
  font-family: var(--raw-font-display) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--raw-black) !important;
  margin: 0 0 10px !important;
}
.single-product .melhorenvio-calcular input[type="text"],
.single-product input[placeholder*="CEP"] {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--raw-line);
  border-radius: var(--raw-radius-sm);
  font-family: var(--raw-font-body);
  font-size: 14px;
  transition: var(--raw-transition);
}
.single-product .melhorenvio-calcular input[type="text"]:focus,
.single-product input[placeholder*="CEP"]:focus {
  outline: none;
  border-color: var(--raw-black);
}

/* ---------- BADGES DE MEIOS DE PAGAMENTO ---------- */
.single-product .payment-methods-row,
.single-product .wci-payment-methods,
.single-product .metodos-pagamento {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 18px 0;
}
.single-product .payment-methods-row img,
.single-product .wci-payment-methods img {
  height: 26px;
  width: auto;
  opacity: .85;
  transition: var(--raw-transition);
  filter: grayscale(.15);
}
.single-product .payment-methods-row img:hover,
.single-product .wci-payment-methods img:hover {
  opacity: 1;
  filter: grayscale(0);
}

/* ---------- TRUST ROW (benefícios) ---------- */
.single-product .raw-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding: 18px 0;
  border-top: 1px solid var(--raw-line);
  border-bottom: 1px solid var(--raw-line);
  margin: 28px 0;
}
.single-product .raw-trust-row > div {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--raw-font-display);
  font-size: 12px;
  letter-spacing: .06em;
  color: var(--raw-ink);
  font-weight: 500;
}
.single-product .raw-trust-row svg {
  width: 22px;
  height: 22px;
  stroke: var(--raw-black);
}

/* ---------- TABS DE DESCRIÇÃO ---------- */
.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--raw-line) !important;
  padding: 0 !important;
  margin: 40px 0 0 !important;
  display: flex;
  gap: 32px;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a {
  font-family: var(--raw-font-display) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  color: var(--raw-muted) !important;
  padding: 18px 0 !important;
  display: inline-block;
  border-bottom: 2px solid transparent;
  transition: var(--raw-transition);
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--raw-black) !important;
  border-bottom-color: var(--raw-red) !important;
}
.single-product .woocommerce-Tabs-panel {
  padding: 24px 0 !important;
  font-family: var(--raw-font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--raw-ink);
}

/* ---------- GALERIA ---------- */
.single-product .woocommerce-product-gallery {
  background: var(--raw-cream);
  border-radius: var(--raw-radius-lg);
  padding: 18px;
}
.single-product .woocommerce-product-gallery img {
  border-radius: var(--raw-radius-md);
}
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  margin-top: 14px;
  gap: 8px;
  display: flex;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  width: 64px !important;
  height: 64px;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  border: 1.5px solid transparent;
  border-radius: var(--raw-radius-sm);
  transition: var(--raw-transition);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
  border-color: var(--raw-black);
  opacity: 1;
}




/* ============================================================
   5. AJUSTES GLOBAIS DA LOJA
   ============================================================ */

/* Messages (add-to-cart success, errors, etc.) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--raw-radius-md) !important;
  border-top: none !important;
  background: var(--raw-cream) !important;
  font-family: var(--raw-font-body) !important;
  font-size: 14px;
  padding: 14px 18px !important;
  border-left: 3px solid var(--raw-red) !important;
}
.woocommerce-message .button,
.woocommerce-info .button {
  background: var(--raw-black) !important;
  color: #FFFFFF !important;
  padding: 8px 16px !important;
  border-radius: var(--raw-radius-sm) !important;
  font-family: var(--raw-font-display) !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}

/* Scrollbar (webkit) */
body::-webkit-scrollbar { width: 10px; }
body::-webkit-scrollbar-track { background: var(--raw-cream); }
body::-webkit-scrollbar-thumb { background: var(--raw-black); border-radius: 5px; }

/* ============================================================
   PATCH 1 — Corrigir CTA "VER PRODUTO" vazando do card
   Cole no FINAL do CSS Adicional (depois de tudo que já tem)
   ============================================================ */

/* Aumenta especificidade pra vencer o EAEL widget */
.elementor-widget-eicon-woocommerce ul.products li.product,
.eael-post-appender li.product,
ul.products li.product.product {
  overflow: hidden !important;
  position: relative !important;
}

/* CTA "VER PRODUTO" — esconder por baixo do card por padrão */
.elementor-widget-eicon-woocommerce ul.products li.product::after,
.eael-post-appender li.product::after,
ul.products li.product.product::after {
  content: "VER PRODUTO →";
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  padding: 14px 18px !important;
  background: #181818 !important;
  color: #FFFFFF !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  -webkit-transform: translateY(100%) !important;
  transform: translateY(100%) !important;
  -webkit-transition: -webkit-transform .32s cubic-bezier(.2,.7,.2,1) !important;
  transition: transform .32s cubic-bezier(.2,.7,.2,1) !important;
  pointer-events: none !important;
  z-index: 5 !important;
  display: block !important;
  visibility: visible !important;
}

/* Mostrar CTA no hover */
.elementor-widget-eicon-woocommerce ul.products li.product:hover::after,
.eael-post-appender li.product:hover::after,
ul.products li.product.product:hover::after {
  -webkit-transform: translateY(0) !important;
  transform: translateY(0) !important;
}

/* CTA diferente pros indisponíveis */
.elementor-widget-eicon-woocommerce ul.products li.product.outofstock::after,
.eael-post-appender li.product.outofstock::after,
ul.products li.product.outofstock.outofstock::after {
  content: "VER DETALHES →" !important;
  background: #2A2A2A !important;
}

/* ============================================================
   PATCH 2 — Garantir que badge "INDISPONÍVEL" fica acima
   ============================================================ */
.elementor-widget-eicon-woocommerce ul.products li.product.outofstock::before,
.eael-post-appender li.product.outofstock::before,
ul.products li.product.outofstock.outofstock::before {
  content: "INDISPONÍVEL" !important;
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  background: #181818 !important;
  color: #FFFFFF !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: .14em !important;
  padding: 6px 10px !important;
  border-radius: 3px !important;
  z-index: 6 !important;
  text-transform: uppercase !important;
  display: block !important;
  visibility: visible !important;
}




/* ============================================================
   PATCH — "FORMA DE PAGAMENTO" (wci_popup_payment_methods)
   Cola no FINAL do CSS Adicional, depois dos outros patches.
   ============================================================ */

/* ---------- 1. Botão trigger (substitui o link solto) ---------- */
.elementor-widget-wci_popup_payment_methods .elementor-widget-container {
  width: 100% !important;
}

.wci-open-popup {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 14px 18px !important;
  background: #FFFFFF !important;
  border: 1px solid #E6E6DC !important;
  border-radius: 10px !important;
  color: #181818 !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all .22s cubic-bezier(.2,.7,.2,1) !important;
  box-shadow: 0 1px 2px rgba(24,24,24,.04) !important;
  position: relative !important;
}

.wci-open-popup:hover {
  border-color: #181818 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px -8px rgba(24,24,24,.18) !important;
}

.wci-open-popup .open-popup-text {
  text-decoration: none !important;
  font: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
  order: 1 !important;
}

/* Ícones de pagamento antes do texto */
.wci-open-popup::before {
  content: "" !important;
  order: 0 !important;
  display: inline-block !important;
  width: 140px !important;
  height: 22px !important;
  margin-right: 14px !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  /* Pix + Visa + Master + Amex em linha (SVG inline URL-encoded) */
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 22' fill='none'%3E%3Crect x='0' y='1' width='32' height='20' rx='3' fill='%230F9D58'/%3E%3Ctext x='16' y='15' font-family='Space Grotesk, Inter, sans-serif' font-size='9' font-weight='700' fill='white' text-anchor='middle'%3EPIX%3C/text%3E%3Crect x='36' y='1' width='32' height='20' rx='3' fill='%231A1F71'/%3E%3Ctext x='52' y='15' font-family='Space Grotesk, Inter, sans-serif' font-size='8' font-weight='700' fill='white' text-anchor='middle'%3EVISA%3C/text%3E%3Ccircle cx='76' cy='11' r='7' fill='%23EB001B'/%3E%3Ccircle cx='84' cy='11' r='7' fill='%23F79E1B' fill-opacity='0.9'/%3E%3Crect x='94' y='1' width='42' height='20' rx='3' fill='%232E77BC'/%3E%3Ctext x='115' y='15' font-family='Space Grotesk, Inter, sans-serif' font-size='8' font-weight='700' fill='white' text-anchor='middle'%3EAMEX%3C/text%3E%3C/svg%3E") !important;
}

/* Chevron depois do texto */
.wci-open-popup::after {
  content: "→" !important;
  order: 2 !important;
  margin-left: auto !important;
  padding-left: 12px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  transition: transform .22s ease !important;
}

.wci-open-popup:hover::after {
  transform: translateX(3px) !important;
}

/* ---------- 2. Popup (modal) estilização Raw ---------- */
.wci-popup-container {
  background: rgba(24,24,24,.55) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

.wci-popup-content {
  background: #FFFFFF !important;
  border-radius: 14px !important;
  border: 1px solid #E6E6DC !important;
  box-shadow: 0 30px 80px -20px rgba(24,24,24,.45) !important;
  max-width: 440px !important;
  width: 92% !important;
  overflow: hidden !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
}

.wci-popup-header {
  background: #181818 !important;
  color: #FFFFFF !important;
  padding: 18px 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 0 !important;
}

.wci-popup-title {
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  margin: 0 !important;
}

.wci-close-popup,
.btn-close.wci-close-popup {
  background: transparent !important;
  border: 0 !important;
  color: #FFFFFF !important;
  opacity: .85 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 4px !important;
  filter: invert(1) brightness(2) !important;
}

.wci-close-popup:hover {
  opacity: 1 !important;
}

.wci-popup-body {
  padding: 22px 24px !important;
  max-height: 68vh !important;
  overflow-y: auto !important;
}

/* Seções internas do popup */
.woo-custom-installments-pix-section,
.woo-custom-installments-credit-card-section,
.woo-custom-installments-debit-card-section {
  padding: 14px 0 !important;
  border-bottom: 1px solid #F0F0E8 !important;
}

.woo-custom-installments-pix-section:last-child,
.woo-custom-installments-credit-card-section:last-child,
.woo-custom-installments-debit-card-section:last-child,
.wci-popup-body > *:last-child {
  border-bottom: 0 !important;
}

.pix-method-title,
.woo-custom-installments-pix-section h4,
.woo-custom-installments-credit-card-section h4,
.woo-custom-installments-debit-card-section h4 {
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #7A7A72 !important;
  margin: 0 0 10px 0 !important;
}

.pix-method-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 4px 0 !important;
}

.pix-method-name {
  font-size: 14px !important;
  color: #181818 !important;
  font-weight: 500 !important;
}

.pix-method-name strong,
.woo-custom-installments-pix-section strong,
.woo-custom-installments-pix-section .price,
.woo-custom-installments-pix-section .amount {
  color: #0F9D58 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* Linhas de parcelas */
.woo-custom-installments-credit-card-section table,
.wci-popup-body table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-top: 8px !important;
}

.wci-popup-body td {
  padding: 8px 0 !important;
  border-bottom: 1px solid #F5F5EE !important;
  font-size: 13px !important;
  color: #2A2A2A !important;
}

.wci-popup-body td:first-child {
  font-weight: 500 !important;
  color: #181818 !important;
}

.wci-popup-body td:last-child {
  text-align: right !important;
  font-weight: 600 !important;
  color: #7A7A72 !important;
}

.wci-popup-body tr:last-child td {
  border-bottom: 0 !important;
}

/* "Aprovação imediata" badge */
.woo-custom-installments-approval-text,
.wci-popup-body [class*="approval"] {
  font-size: 11px !important;
  color: #0F9D58 !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  background: rgba(15,157,88,.08) !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  margin-left: 8px !important;
}

/* ---------- 3. Mobile ---------- */
@media (max-width: 480px) {
  .wci-open-popup {
    padding: 12px 14px !important;
    font-size: 11px !important;
  }
  .wci-open-popup::before {
    width: 110px !important;
    margin-right: 10px !important;
  }
  .wci-popup-body {
    padding: 18px 18px !important;
  }
}

/* ============================================


/* ============================================
   RAW — MELHORIAS FLUXO DE COMPRA
   ============================================ */

/* Ocultar contagem de resultados */
.woocommerce-result-count {
  display: none !important;
}

/* Ocultar ordenacao padrao */
.woocommerce-ordering {
  display: none !important;
}

/* Botao adicionar ao carrinho — produto individual */
.woocommerce div.product .single_add_to_cart_button {
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  font-size: 13px !important;
  padding: 16px 32px !important;
  text-transform: uppercase !important;
  transition: background 0.2s ease !important;
}
.woocommerce div.product .single_add_to_cart_button:hover {
  background: #333 !important;
  transform: translateY(-1px) !important;
}

/* Select de variacao (tamanho) */
.woocommerce div.product .variations select {
  border: 1.5px solid #111 !important;
  border-radius: 4px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  width: 100% !important;
}

/* Carrinho — cabecalho da tabela */
.woocommerce-cart table.woocommerce-cart-form__contents th {
  border-bottom: 2px solid #111 !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 12px 0 !important;
}
.woocommerce-cart table.woocommerce-cart-form__contents td {
  border-bottom: 1px solid #e8e8e8 !important;
  padding: 20px 0 !important;
  vertical-align: middle !important;
}

/* Carrinho — botao finalizar pedido */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
a.checkout-button.button {
  background: #111 !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  padding: 18px 0 !important;
  display: block !important;
  text-align: center !important;
  transition: background 0.2s ease !important;
  border: none !important;
}

/* Carrinho — titulo de totais */
.cart_totals h2 {
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-bottom: 2px solid #111 !important;
  padding-bottom: 12px !important;
}
.cart_totals table .order-total th,
.cart_totals table .order-total td {
  font-weight: 700 !important;
  border-top: 1px solid #e8e8e8 !important;
  padding-top: 14px !important;
}

/* Checkout — campos de formulario */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select {
  border: 1.5px solid #ddd !important;
  border-radius: 4px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  transition: border-color 0.2s ease !important;
}
.woocommerce-checkout .form-row input.input-text:focus {
  border-color: #111 !important;
  outline: none !important;
}

/* Checkout — botao finalizar */
#place_order,
.woocommerce #payment #place_order {
  background: #111 !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  padding: 18px 0 !important;
  width: 100% !important;
  border: none !important;
  transition: background 0.2s ease !important;
  cursor: pointer !important;
}
#place_order:hover {
  background: #333 !important;
}/* End custom CSS */