/* =============================================================
   COLLORE — Página de produto (WooCommerce + WowAddons 1.6.11)
   Visual Base44: limpo, card-based. Vale pra TODA página de produto.

   Escrito a partir da leitura dos renderers do plugin
   (includes/blocks/types/*.php), então cobre TODOS os tipos:
   radio, checkbox, products (radio/checkbox/swatch), upload,
   section (card por etapa + acordeão), separator.

   Princípio: NÃO sobrescrever o flex do plugin (ele já usa
   prad-justify-between p/ jogar o preço à direita). Só adicionamos
   o "chrome" (borda, raio, padding, cor). Isso evita o bug de
   alinhamento que tínhamos.

   Cores da marca nas variáveis :root — ajuste à vontade.
   ============================================================= */

/* =============================================================
   0) FONTE GLOBAL — Quicksand (brand Collore = Base44)
   Aplica em TUDO; bate Elementor/tema com herança forçada.
   ============================================================= */
html, body,
body *,
body input, body select, body textarea, body button,
.elementor-widget-container,
.elementor-widget-container *,
.e-con-inner, .e-con-inner *,
.woocommerce, .woocommerce *,
h1, h2, h3, h4, h5, h6{
  font-family: "Quicksand", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
/* exceção: ícones (Font Awesome, Elementor icons, etc.) mantêm a fonte deles */
body i.fa, body i.fas, body i.far, body i.fab, body i.fal,
body .e-font-icon-svg, body [class*="fa-"]::before,
body .elementor-icon, body .dashicons,
body .dashicons-before::before,
body .e-icon{
  font-family: revert !important;
}

:root{
  --col-card:        #ffffff;
  --col-border:      #ececec;
  --col-border-hover:#cdcdcd;
  --col-selected:    #1a1a1a;   /* borda da opção selecionada */
  --col-text:        #1a1a1a;
  --col-muted:       #8a8a8a;
  --col-accent:      #5b5e3f;   /* verde-oliva (botão) */
  --col-accent-2:    #c9a24b;   /* dourado (preço) */
  --col-info-bg:     #fdf6e3;   /* callout âmbar (aviso DPI) */
  --col-info-bd:     #f1e2b6;
  --col-info-tx:     #8a6d1b;
  --col-radius:      14px;
  --col-radius-sm:   10px;
  --col-gap:         16px;
}

/* ===== Container geral dos addons ===== */
.prad-thematic-style.prad-addons-wrapper{ margin-top:8px; }
.prad-thematic-style .prad-blocks-container{
  display:flex; flex-direction:column; gap:var(--col-gap);
}
/* separadores do plugin somem — o gap entre cards cuida do espaço */
.prad-thematic-style .prad-block-separator{ display:none !important; }

/* =============================================================
   1) CADA BLOCO VIRA UM CARD (a "etapa")
   ============================================================= */
.prad-thematic-style > .prad-blocks-container > .prad-parent.prad-block-radio,
.prad-thematic-style > .prad-blocks-container > .prad-parent.prad-block-checkbox,
.prad-thematic-style > .prad-blocks-container > .prad-parent.prad-block-upload,
.prad-thematic-style > .prad-blocks-container > .prad-parent.prad-block-products{
  background:var(--col-card);
  border:1px solid var(--col-border);
  border-radius:var(--col-radius);
  padding:20px 22px;
  margin:0 !important;
}

/* Se o bloco está DENTRO de uma Section, a Section é o card —
   então o bloco não ganha borda própria (evita borda dupla). */
.prad-thematic-style .prad-section-container .prad-parent{
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
}

/* ===== Título e descrição (comum a todo bloco) ===== */
.prad-thematic-style .prad-block-title{
  font-size:1.05rem; font-weight:600; color:var(--col-text); line-height:1.3;
}
.prad-thematic-style .prad-block-description{
  font-size:.85rem; color:var(--col-muted);
}
.prad-thematic-style .prad-block-required{ color:#d33; }

/* =============================================================
   2) OPÇÕES (radio / checkbox / products) COMO MINI-CARDS
   NÃO mexemos no display/justify — o plugin já faz (prad-d-flex
   + prad-justify-between empurra o preço pra direita sozinho).
   ============================================================= */
.prad-thematic-style .prad-radio-item-wrapper,
.prad-thematic-style .prad-checkbox-item-wrapper,
.prad-thematic-style .prad-products-item-wrapper{
  border:1px solid var(--col-border);
  border-radius:var(--col-radius-sm);
  padding:12px 14px;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.prad-thematic-style .prad-radio-item-wrapper:hover,
.prad-thematic-style .prad-checkbox-item-wrapper:hover,
.prad-thematic-style .prad-products-item-wrapper:hover{
  border-color:var(--col-border-hover);
}
/* espaço entre opções consecutivas (funciona com qualquer layout do parent) */
.prad-thematic-style .prad-radio-item-wrapper + .prad-radio-item-wrapper,
.prad-thematic-style .prad-checkbox-item-wrapper + .prad-checkbox-item-wrapper,
.prad-thematic-style .prad-products-item-wrapper + .prad-products-item-wrapper{
  margin-top:10px;
}
/* margem entre o título do bloco e as opções */
.prad-thematic-style .prad-input-container{ margin-top:14px; }

/* selecionado → borda destacada (Base44) */
.prad-thematic-style .prad-radio-item-wrapper:has(input:checked),
.prad-thematic-style .prad-checkbox-item-wrapper:has(input:checked),
.prad-thematic-style .prad-products-item-wrapper:has(input:checked){
  border-color:var(--col-selected);
  box-shadow:0 0 0 1px var(--col-selected) inset;
}

/* products (input mode) não usa justify-between: forçamos preço à direita
   só no escopo dele, sem afetar radio/checkbox */
.prad-thematic-style .prad-products-item-wrapper > .prad-d-flex{
  width:100%; justify-content:space-between;
}

/* miniatura da opção */
.prad-thematic-style .prad-block-item-img{
  width:46px; height:46px; border-radius:8px; object-fit:cover; flex:0 0 auto;
}
.prad-thematic-style .prad-block-content .prad-ellipsis-2{
  font-size:.95rem; font-weight:500; color:var(--col-text);
}

/* marca do radio — círculo discreto */
.prad-thematic-style .prad-radio-mark{
  width:18px; height:18px; border:2px solid #cfcfcf; border-radius:50%;
  flex:0 0 auto; position:relative;
}
.prad-thematic-style input:checked + label .prad-radio-mark{ border-color:var(--col-selected); }
.prad-thematic-style input:checked + label .prad-radio-mark::after{
  content:""; position:absolute; inset:3px; border-radius:50%; background:var(--col-selected);
}
/* marca do checkbox — quadrado arredondado */
.prad-thematic-style .prad-checkbox-mark{
  width:18px; height:18px; border:2px solid #cfcfcf; border-radius:5px;
  display:flex; align-items:center; justify-content:center; color:#fff; flex:0 0 auto;
}
.prad-thematic-style input:checked + label .prad-checkbox-mark{
  background:var(--col-selected); border-color:var(--col-selected);
}

/* preço da opção */
.prad-thematic-style .prad-block-price{
  font-size:.9rem; font-weight:600; color:var(--col-text); white-space:nowrap;
}

/* =============================================================
   3) UPLOAD (dropzone tracejada + callout do DPI)
   ============================================================= */
.prad-thematic-style .prad-block-upload .prad-upload-wrapper{ margin-top:14px; }
.prad-thematic-style .prad-upload-container.prad-drop-zone{
  display:flex !important; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; width:100%; min-height:140px; padding:32px 20px;
  border:2px dashed #d8d8d8 !important; border-radius:var(--col-radius-sm);
  background:#fbfbfb; text-align:center; cursor:pointer;
  transition:border-color .15s ease, background .15s ease;
}
.prad-thematic-style .prad-upload-container.prad-drop-zone:hover{
  border-color:var(--col-accent) !important; background:#f7f7f4;
}
.prad-thematic-style .prad-upload-container.prad-drop-zone .prad-d-flex{
  flex-direction:column; align-items:center; gap:8px;
}
.prad-thematic-style .prad-block-upload-icon{ flex-direction:column; gap:6px; color:var(--col-muted); }
.prad-thematic-style .prad-block-upload-icon svg{ width:26px; height:26px; }
.prad-thematic-style .prad-block-upload-icon svg path{ fill:var(--col-muted); }
.prad-thematic-style .prad-block-upload .prad-cursor-pointer{
  font-size:.9rem; color:var(--col-text); font-weight:500;
}
/* descrição do upload (aviso DPI) como callout âmbar */
.prad-thematic-style .prad-block-upload .prad-block-description{
  background:var(--col-info-bg); border:1px solid var(--col-info-bd); color:var(--col-info-tx);
  padding:10px 12px; border-radius:8px; font-size:.82rem;
}

/* =============================================================
   4) SECTION — card por etapa + acordeão (Composição, etc.)
   ============================================================= */
.prad-thematic-style .prad-section-wrapper{
  background:var(--col-card);
  border:1px solid var(--col-border);
  border-radius:var(--col-radius);
  overflow:hidden;
}
.prad-thematic-style .prad-section-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px; gap:12px;
}
.prad-thematic-style .prad-section-title .prad-block-title{
  font-size:1.1rem; font-weight:600;
}
.prad-thematic-style .prad-accordion-icon{ color:var(--col-muted); }
.prad-thematic-style .prad-section-body.prad-block-border-top{ border-top:1px solid var(--col-border); }
.prad-thematic-style .prad-section-container{ padding:18px 22px; display:flex; flex-direction:column; gap:var(--col-gap); }

/* =============================================================
   5) Resumo de preço (Addons/Total) — escondido (Base44 não mostra).
   Pra reexibir, comente a linha abaixo.
   ============================================================= */
.prad-thematic-style .prad-product-price-summary{ display:none !important; }

/* =============================================================
   6) Dropdown nativo de variação (quando existir)
   ============================================================= */
.single-product table.variations{ margin:0 0 4px; border:0; }
.single-product table.variations td,
.single-product table.variations th{ padding:0 0 6px; border:0; display:block; text-align:left; }
.single-product table.variations th.label label{ font-weight:600; color:var(--col-text); font-size:.95rem; }
.single-product .variations select{
  width:100%; padding:12px 40px 12px 14px;
  border:1px solid var(--col-border); border-radius:var(--col-radius-sm);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%238a8a8a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  background-size:12px; font-size:.95rem; color:var(--col-text);
  -webkit-appearance:none; appearance:none; cursor:pointer;
}
.single-product .variations select:focus{ outline:none; border-color:var(--col-selected); }
.single-product .woocommerce-variation-add-to-cart{ margin-top:8px; }

/* =============================================================
   7) Título, preço, botão, quantidade, breadcrumb
   ============================================================= */
.single-product .product_title.entry-title{
  font-size:2rem; font-weight:700; color:var(--col-text); line-height:1.15;
}
.single-product .summary .price,
.single-product .summary .price .amount{ color:var(--col-accent-2); font-weight:700; }
.single-product .single_add_to_cart_button.button{
  background:var(--col-accent) !important; color:#fff !important; border:0 !important;
  border-radius:var(--col-radius-sm) !important; padding:14px 28px !important;
  font-weight:600 !important; text-transform:none !important; letter-spacing:0;
  transition:filter .15s ease, transform .05s ease;
}
.single-product .single_add_to_cart_button.button:hover{ filter:brightness(.92); }
.single-product .single_add_to_cart_button.button:active{ transform:translateY(1px); }
.single-product .quantity .qty{
  border:1px solid var(--col-border); border-radius:var(--col-radius-sm); padding:10px;
}
.single-product .woocommerce-breadcrumb{ font-size:.82rem; color:var(--col-muted); margin-bottom:18px; }
.single-product .woocommerce-breadcrumb a{ color:var(--col-muted); }
.single-product .woocommerce-breadcrumb a:hover{ color:var(--col-text); }

/* =============================================================
   8) Limpeza Base44-style — esconder o que o Base44 não mostra
   ============================================================= */

/* SKU + Categoria + Tags abaixo do botão (Base44 não exibe) */
.single-product .product_meta{ display:none !important; }

/* Linhas redundantes na "Informação adicional"
   (Tecido/Acabamento/Arte/Cor agora vivem na option list lá em cima) */
.single-product .woocommerce-product-attributes-item--attribute_pa_tecido,
.single-product .woocommerce-product-attributes-item--attribute_pa_acabamento,
.single-product .woocommerce-product-attributes-item--attribute_pa_arte,
.single-product .woocommerce-product-attributes-item--attribute_pa_cor,
.single-product .woocommerce-product-attributes-item--attribute_pa_cores{
  display:none !important;
}

/* Aba "Avaliações (0)" — Base44 não tem avaliações */
.single-product .woocommerce-tabs .reviews_tab,
.single-product .woocommerce-tabs li.tab-reviews,
.single-product #tab-reviews{ display:none !important; }

/* Bloco "Informação adicional" inteiro (Peso/Dimensões) — Base44 não mostra */
.single-product .woocommerce-tabs,
.single-product .product .woocommerce-tabs{ display:none !important; }

/* =============================================================
   9) CARDS DA LOJA / CATEGORIA (estilo Base44)
   ============================================================= */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  text-align:left !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  margin-bottom:36px !important;
}

/* foto: ocupa toda a largura, quadrada, sem moldura */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img{
  width:100% !important;
  height:auto !important;
  border-radius:0 !important;
  margin:0 0 14px !important;
  box-shadow:none !important;
  display:block;
}

/* nome do produto: neutro, médio, sem cor de link */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce-page ul.products li.product h2,
.woocommerce ul.products li.product h3,
.woocommerce-page ul.products li.product h3{
  font-size:1rem !important;
  font-weight:500 !important;
  color:var(--col-text) !important;
  padding:0 !important;
  margin:0 0 8px !important;
  line-height:1.35;
}

/* "A partir de R$ X /peça" */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  color:var(--col-muted) !important;
  font-size:.95rem !important;
  font-weight:400 !important;
  padding-bottom:14px !important;
  border-bottom:1px solid var(--col-border);
  margin:0 0 14px !important;
  display:block;
}
.woocommerce ul.products li.product .price .amount,
.woocommerce-page ul.products li.product .price .amount,
.woocommerce ul.products li.product .price bdi,
.woocommerce-page ul.products li.product .price bdi{
  color:var(--col-text) !important;
  font-weight:700 !important;
}
.collore-per-peca{ color:var(--col-muted); font-weight:400; }

/* botão "Montar Meu Lenço": preto, retangular, full width */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .button{
  display:block !important;
  width:100% !important;
  background:#1a1a1a !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  padding:14px 20px !important;
  font-weight:600 !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.85rem !important;
  text-align:center;
  margin:0 !important;
  transition:background .15s ease;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover{
  background:var(--col-accent) !important;
}

/* esconde "Esgotado"/rating no card (não temos avaliações; Base44 não mostra) */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .onsale{ display:none !important; }

/* =============================================================
   10) MEGA MENU / DROPDOWNS (injetados pelo collore-menu.js)
   ============================================================= */

li.menu-item.clre-has-mega{ position: relative; }

/* Esconde o sub-menu nativo do Elementor (que tinha o "Início" cinza)
   nos itens que receberam meu mega menu */
li.menu-item.clre-has-mega > ul.sub-menu,
li.menu-item.clre-has-mega > .elementor-nav-menu--dropdown,
li.menu-item.clre-has-mega > ul{ display: none !important; }

/* Tira a cor verde de "ancestor" do Elementor (deixa cor padrão do menu) */
li.menu-item.clre-has-mega.current-menu-ancestor > a,
li.menu-item.clre-has-mega.current-menu-parent > a,
li.menu-item.clre-has-mega.current-menu-item > a{
  color: inherit !important;
}

.clre-mm-panel,
.clre-mm-panel *{ box-sizing: border-box; }

.clre-mm-panel{
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  margin-top: 12px !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.10) !important;
  z-index: 99999 !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
  pointer-events: none;
  font-family: inherit;
  text-align: left;
}
/* abre via classe .clre-open controlada pelo JS (com delay no fechamento → resolve o "vácuo") */
li.menu-item.clre-has-mega.clre-open > .clre-mm-panel,
body[data-clre-show] li.menu-item.clre-has-mega > .clre-mm-panel{
  opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}

/* ponte invisível que cobre o gap de 12px entre o item e o painel.
   Faz parte do .clre-mm-panel — então mouse sobre ela = hover do painel,
   o que mantém aberto enquanto o usuário atravessa. */
.clre-mm-panel::before{
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: -16px;
  height: 16px;
  background: transparent;
}

/* === Dropdown simples (Pashminas / Mantas) === */
.clre-mm-panel .clre-dd{
  padding: 18px 22px !important;
  min-width: 240px !important;
  display: block !important;
}
.clre-mm-panel .clre-dd > a{
  display: block !important;
  color:#1a1a1a !important;
  font-size: .98rem !important;
  font-weight: 400 !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  background: transparent !important;
}
.clre-mm-panel .clre-dd > a:hover{ color:#5b5e3f !important; }
.clre-mm-panel .clre-dd .clre-sep{
  display: block !important;
  height: 1px !important;
  background:#e5e5e5 !important;
  margin: 8px 0 !important;
}
.clre-mm-panel .clre-dd .ver-todos{ color:#c9a24b !important; font-weight: 500 !important; }
.clre-mm-panel .clre-dd .ver-todos:hover{ color:#a98538 !important; }

/* === Mega menu wide (Lenços Personalizados) === */
.clre-mm-panel .clre-mm-wide{
  padding: 28px 32px !important;
  width: 920px !important;
  max-width: 92vw !important;
  color:#1a1a1a !important;
  display: block !important;
}
.clre-mm-panel .clre-mm-title{
  font-size: 1rem !important;
  font-weight: 400 !important;
  color:#9a9a9a !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  letter-spacing: .02em !important;
  line-height: 1.3 !important;
}
.clre-mm-panel .clre-mm-grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 40px !important;
}
.clre-mm-panel .clre-mm-col{ display: block !important; }
.clre-mm-panel .clre-mm-group{ margin-bottom: 22px !important; }
.clre-mm-panel .clre-mm-group:last-child{ margin-bottom: 0 !important; }

/* TÍTULO do grupo (Petit, Pequenos, ...) */
.clre-mm-panel .clre-mm-h{
  font-size: 1rem !important;
  font-weight: 600 !important;
  color:#1a1a1a !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
.clre-mm-panel .clre-mm-h a{
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
  padding: 0 !important;
  background: transparent !important;
}

/* LINKS pequenos (10x55cm, 20x20cm, ...) */
.clre-mm-panel .clre-mm-links{ display: block !important; }
.clre-mm-panel .clre-mm-links a{
  display: block !important;
  color:#9a9a9a !important;
  font-size: .82rem !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  padding: 3px 0 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  background: transparent !important;
  transition: color .15s ease;
}
.clre-mm-panel .clre-mm-links a:hover{ color:#1a1a1a !important; }

/* COL 3 — quick links */
.clre-mm-panel .clre-mm-quick{ display: block !important; }
.clre-mm-panel .clre-mm-quick a{
  display: block !important;
  color:#1a1a1a !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  padding: 9px 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
}
.clre-mm-panel .clre-mm-quick a:hover{ color:#5b5e3f !important; }

/* esconde em mobile (Elementor usa hambúrguer próprio) */
@media (max-width: 1024px){
  li.menu-item.clre-has-mega:hover > .clre-mm-panel,
  li.menu-item.clre-has-mega:focus-within > .clre-mm-panel{ display: none !important; }
}

/* =============================================================
   12) PÁGINA DO CARRINHO (woocommerce-cart) — estilo Base44
   ============================================================= */

body.woocommerce-cart .woocommerce{
  max-width: 1300px;
  margin: 0 auto !important;
  padding: 32px !important;
}

/* esconde título "Carrinho" duplicado do tema (fica solto à esquerda) */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-cart header.entry-header,
body.woocommerce-cart .hello-elementor-default h1{
  display: none !important;
}

/* === Tabela do carrinho === */
body.woocommerce-cart table.shop_table.cart{
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin: 0 0 32px !important;
  background: transparent !important;
}

body.woocommerce-cart table.shop_table.cart thead{
  background: transparent !important;
}
body.woocommerce-cart table.shop_table.cart thead th{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--col-border) !important;
  padding: 14px 12px !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: var(--col-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  text-align: left !important;
}

body.woocommerce-cart table.shop_table.cart td{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--col-border) !important;
  padding: 18px 12px !important;
  vertical-align: middle !important;
}

/* X de remover — discreto */
body.woocommerce-cart .product-remove a.remove,
body.woocommerce-cart .product-remove a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important; height: 24px !important;
  border-radius: 50% !important;
  background: #f3f3f0 !important;
  color: #8a8a8a !important;
  text-decoration: none !important;
  font-size: 0 !important;
  border: 0 !important;
  transition: background .15s, color .15s !important;
}
body.woocommerce-cart .product-remove a.remove::before,
body.woocommerce-cart .product-remove a::before{
  content: "×" !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
}
body.woocommerce-cart .product-remove a.remove:hover,
body.woocommerce-cart .product-remove a:hover{
  background: #1a1a1a !important;
  color: #fff !important;
}

/* foto do produto */
body.woocommerce-cart .product-thumbnail img{
  width: 72px !important; height: 72px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 1px solid var(--col-border);
}

/* nome do produto: dark, sem cor de link */
body.woocommerce-cart .product-name a{
  color: var(--col-text) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
body.woocommerce-cart .product-name a:hover{ color: var(--col-accent) !important; }
body.woocommerce-cart .product-name .wc-item-meta,
body.woocommerce-cart .product-name dl,
body.woocommerce-cart .product-name p{
  color: var(--col-muted) !important;
  font-size: .85rem !important;
  margin: 6px 0 0 !important;
}

/* preço / subtotal */
body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal{
  color: var(--col-text) !important;
  font-weight: 500 !important;
}
body.woocommerce-cart .product-subtotal{ font-weight: 700 !important; }

/* qty input */
body.woocommerce-cart .product-quantity .qty,
body.woocommerce-cart .quantity .qty{
  width: 72px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--col-border) !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-size: .95rem !important;
}

/* === Cupom + Atualizar carrinho === */
body.woocommerce-cart .actions{
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--col-border) !important;
  background: transparent !important;
}
body.woocommerce-cart .coupon{
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  float: left !important;
}
body.woocommerce-cart #coupon_code{
  padding: 11px 14px !important;
  border: 1px solid var(--col-border) !important;
  border-radius: 8px !important;
  font-size: .95rem !important;
  min-width: 200px !important;
  background: #fff !important;
}
body.woocommerce-cart button[name="apply_coupon"]{
  background: #fff !important;
  border: 1px solid var(--col-text) !important;
  color: var(--col-text) !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
  font-size: .9rem !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.woocommerce-cart button[name="apply_coupon"]:hover{
  background: var(--col-text) !important;
  color: #fff !important;
}
body.woocommerce-cart button[name="update_cart"]{
  background: var(--col-text) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 11px 22px !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
  font-size: .9rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  float: right !important;
  cursor: pointer !important;
}
body.woocommerce-cart button[name="update_cart"]:disabled{
  opacity: .4 !important;
  cursor: not-allowed !important;
}

/* === Cart totals (Total no carrinho) === */
body.woocommerce-cart .cart-collaterals{
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: 32px !important;
}
body.woocommerce-cart .cart_totals{
  width: 420px !important;
  max-width: 100% !important;
  background: #faf9f6 !important;
  padding: 28px !important;
  border-radius: var(--col-radius) !important;
  border: 1px solid var(--col-border);
}
body.woocommerce-cart .cart_totals h2{
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--col-text) !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.woocommerce-cart .cart_totals table{
  width: 100% !important;
  border: 0 !important;
  border-collapse: collapse !important;
  margin: 0 0 18px !important;
  background: transparent !important;
}
body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--col-border) !important;
  padding: 12px 0 !important;
  color: var(--col-text) !important;
  font-size: .95rem !important;
}
body.woocommerce-cart .cart_totals tr:last-child th,
body.woocommerce-cart .cart_totals tr:last-child td{
  border-bottom: 0 !important;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--col-text) !important;
  padding-top: 16px !important;
}

/* botão "Continuar para Finalização" — PRETO igual o resto, sem mais roxo */
body.woocommerce-cart .wc-proceed-to-checkout{
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-cart a.checkout-button{
  background: #1a1a1a !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 16px 24px !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  text-decoration: none !important;
  display: block !important;
  width: 100% !important;
  transition: background .15s !important;
  box-sizing: border-box !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.button:hover,
body.woocommerce-cart a.checkout-button:hover{
  background: var(--col-accent) !important;
}

/* responsivo: mobile empilha */
@media (max-width: 768px){
  body.woocommerce-cart .coupon{ float: none !important; width: 100% !important; }
  body.woocommerce-cart button[name="update_cart"]{ float: none !important; width: 100% !important; margin-top: 10px !important; }
  body.woocommerce-cart .cart_totals{ width: 100% !important; }
}

/* ============================================================
   13) MINI CART (drawer lateral do Elementor) — brand Collore
   ============================================================ */

/* fonte Quicksand + padding generoso em todo o drawer */
.elementor-menu-cart__container,
.elementor-menu-cart__container *,
.elementor-menu-cart__main,
.elementor-menu-cart__main *,
.widget_shopping_cart,
.widget_shopping_cart *,
.widget_shopping_cart_content,
.widget_shopping_cart_content *{
  font-family: "Quicksand", inherit, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.elementor-menu-cart__container .elementor-menu-cart__main,
.elementor-menu-cart__main,
.widget_shopping_cart_content{
  padding: 40px 32px 32px !important;
}

/* X de fechar — discreto */
.elementor-menu-cart__close-button{
  background: transparent !important;
  color: var(--col-text) !important;
  width: 36px !important; height: 36px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  transition: background .15s !important;
}
.elementor-menu-cart__close-button:hover{ background: #f3f3f0 !important; }

/* lista de produtos no mini cart */
ul.product_list_widget,
ul.woocommerce-mini-cart,
ul.cart_list{
  list-style: none !important;
  padding: 0 !important;
  margin: 20px 0 !important;
}
ul.product_list_widget li,
ul.woocommerce-mini-cart li.mini_cart_item,
ul.woocommerce-mini-cart li,
ul.cart_list li{
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--col-border) !important;
  display: grid !important;
  grid-template-columns: 80px 1fr 28px !important;
  gap: 16px !important;
  align-items: flex-start !important;
  position: relative !important;
  list-style: none !important;
}
ul.product_list_widget li img,
ul.woocommerce-mini-cart li img,
ul.cart_list li img{
  width: 80px !important;
  height: 80px !important;
}

ul.woocommerce-mini-cart .mini_cart_item img,
ul.woocommerce-mini-cart li img,
ul.cart_list li img{
  width: 70px !important; height: 70px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid var(--col-border);
  grid-column: 1 !important;
  margin: 0 !important;
  float: none !important;
}

/* nome do produto: DARK, sem vermelho — força com cor explícita e + cobertura ampla */
.elementor-menu-cart__main ul li > a:not(.remove):not(.button),
ul.product_list_widget li > a:not(.remove):not(.button),
ul.woocommerce-mini-cart .mini_cart_item > a:not(.remove):not(.button),
ul.woocommerce-mini-cart li > a:not(.remove):not(.button),
ul.cart_list li > a:not(.remove):not(.button){
  grid-column: 2 !important;
  color: #1a1a1a !important;
  font-size: .98rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.elementor-menu-cart__main ul li > a:not(.remove):not(.button):hover,
ul.product_list_widget li > a:not(.remove):not(.button):hover,
ul.woocommerce-mini-cart li > a:not(.remove):not(.button):hover{
  color: var(--col-accent) !important;
}

/* variação/acabamento ("Escolha o Acabamento: Selado a Lase") */
ul.woocommerce-mini-cart .variation,
ul.woocommerce-mini-cart .wc-item-meta,
ul.woocommerce-mini-cart dl.variation{
  font-size: .8rem !important;
  color: var(--col-muted) !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
ul.woocommerce-mini-cart .variation dt,
ul.woocommerce-mini-cart .variation dd{
  display: inline !important;
  margin: 0 !important;
  font-weight: 400 !important;
}
ul.woocommerce-mini-cart .variation dt{ margin-right: 4px !important; }
ul.woocommerce-mini-cart .variation dt::after{ content: ":" !important; }

/* "1 × R$ 69.90" */
ul.woocommerce-mini-cart .quantity{
  display: block !important;
  font-size: .9rem !important;
  color: var(--col-text) !important;
  margin: 6px 0 0 !important;
  font-weight: 500 !important;
}
ul.woocommerce-mini-cart .quantity .amount{
  color: var(--col-text) !important;
  font-weight: 600 !important;
}

/* X de remover item */
ul.woocommerce-mini-cart a.remove,
ul.woocommerce-mini-cart a.remove_from_cart_button{
  position: static !important;
  grid-column: 3 !important;
  width: 22px !important; height: 22px !important;
  border-radius: 50% !important;
  background: #f3f3f0 !important;
  color: var(--col-muted) !important;
  text-decoration: none !important;
  font-size: 0 !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  transition: background .15s, color .15s !important;
}
ul.woocommerce-mini-cart a.remove::before,
ul.woocommerce-mini-cart a.remove_from_cart_button::before{
  content: "×" !important;
  font-size: .95rem !important;
  line-height: 1 !important;
}
ul.woocommerce-mini-cart a.remove:hover,
ul.woocommerce-mini-cart a.remove_from_cart_button:hover{
  background: var(--col-text) !important;
  color: #fff !important;
}

/* Subtotal */
.woocommerce-mini-cart__total,
.elementor-menu-cart__subtotal,
.widget_shopping_cart .total{
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--col-text) !important;
  padding: 16px 0 !important;
  margin: 0 0 16px !important;
  text-align: left !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--col-border) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.woocommerce-mini-cart__total .amount,
.widget_shopping_cart .total .amount{
  color: var(--col-text) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}
.woocommerce-mini-cart__total strong,
.widget_shopping_cart .total strong{ font-weight: 600 !important; }

/* Botões "Ver carrinho" / "Finalização de compra" */
.woocommerce-mini-cart__buttons.buttons,
.widget_shopping_cart .buttons{
  display: flex !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-mini-cart__buttons a.button,
.widget_shopping_cart .buttons a.button{
  flex: 1 !important;
  padding: 14px 12px !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: all .15s ease !important;
  border: 0 !important;
  line-height: 1.3 !important;
}

/* "Ver carrinho" — secundário (outline preto) — cobertura ampla */
.elementor-menu-cart__main .woocommerce-mini-cart__buttons a.button:not(.checkout),
.elementor-menu-cart__main .buttons a.button:not(.checkout),
.woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout),
.widget_shopping_cart .buttons a.button:not(.checkout),
.widget_shopping_cart a.button.wc-forward:not(.checkout){
  background: #fff !important;
  color: #1a1a1a !important;
  border: 1px solid #1a1a1a !important;
}
.elementor-menu-cart__main .buttons a.button:not(.checkout):hover,
.woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover,
.widget_shopping_cart a.button.wc-forward:not(.checkout):hover{
  background: #1a1a1a !important;
  color: #fff !important;
}

/* "Finalização de compra" — primário preto */
.elementor-menu-cart__main .woocommerce-mini-cart__buttons a.button.checkout,
.elementor-menu-cart__main .buttons a.button.checkout,
.woocommerce-mini-cart__buttons a.button.checkout,
.widget_shopping_cart .buttons a.button.checkout,
.widget_shopping_cart a.button.checkout{
  background: #1a1a1a !important;
  color: #fff !important;
  border: 1px solid #1a1a1a !important;
}
.elementor-menu-cart__main .buttons a.button.checkout:hover,
.woocommerce-mini-cart__buttons a.button.checkout:hover,
.widget_shopping_cart a.button.checkout:hover{
  background: var(--col-accent) !important;
  border-color: var(--col-accent) !important;
}

/* "Seu carrinho está vazio" */
.woocommerce-mini-cart__empty-message,
.widget_shopping_cart p.empty{
  text-align: center !important;
  padding: 32px 16px !important;
  color: var(--col-muted) !important;
  font-size: .95rem !important;
}

/* =============================================================
   11) PÁGINA DE BUSCA (Resultados da pesquisa) — estilo da loja
   ============================================================= */

body.search-results main#content,
body.search-results main.site-main{
  max-width: 1400px;
  margin: 0 auto !important;
  padding: 32px 32px 64px !important;
}

/* cabeçalho "Resultados da pesquisa por:" */
body.search-results main .page-header{
  margin: 0 0 24px !important;
}
body.search-results main .page-header h1,
body.search-results main .page-header .entry-title{
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--col-text) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* GRID dos resultados dentro de .page-content */
body.search-results main .page-content{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 36px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 900px){
  body.search-results main .page-content{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}
@media (max-width: 540px){
  body.search-results main .page-content{
    grid-template-columns: 1fr !important;
  }
}

/* paginação ocupa linha inteira no fim */
body.search-results main .page-content > nav,
body.search-results main .page-content > .nav-links,
body.search-results main .page-content > .pagination{
  grid-column: 1 / -1 !important;
}

/* cada resultado = card */
body.search-results main .page-content > article.post,
body.search-results main article.post{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* imagem do produto: quadrada, full width do card */
body.search-results main article.post img,
body.search-results main article.post a img{
  order: 1 !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  margin: 0 0 14px !important;
  display: block !important;
  max-width: none !important;
}
body.search-results main article.post > a:has(img){ order: 1 !important; }

/* título: ordem 2, fonte pequena escura */
body.search-results main article.post h2.entry-title,
body.search-results main article.post h2{
  order: 2 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--col-text) !important;
  margin: 0 0 14px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--col-border) !important;
  line-height: 1.35 !important;
}
body.search-results main article.post h2 a{
  color: inherit !important;
  text-decoration: none !important;
}

/* botão "Ver Produto" injetado pelo JS */
body.search-results .clre-search-btn{
  order: 3 !important;
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  background: #1a1a1a !important;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center !important;
  font-weight: 600 !important;
  font-size: .85rem !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  transition: background .15s ease !important;
  box-sizing: border-box !important;
}
body.search-results .clre-search-btn:hover{ background: var(--col-accent) !important; }

/* "Nada encontrado" também ocupa linha inteira */
body.search-results main > p,
body.search-results main > .no-results{
  grid-column: 1 / -1 !important;
}

/* mata os pseudo-elementos ::before/::after que o WC injeta pra clearfix —
   eles viram FLEX ITEMS invisíveis e roubam a primeira coluna do grid */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{ display: none !important; content: none !important; }

/* GRID 3 colunas — usa FLEX (menos conflito com tema) */
body.woocommerce ul.products,
body.woocommerce-page ul.products,
.woocommerce-page .woocommerce ul.products{
  display:flex !important;
  flex-wrap:wrap !important;
  flex-direction:row !important;
  gap:36px !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 0 32px !important;
}
/* cada card = 1/3 da largura (com gap), zera margens/floats/clears do tema */
body.woocommerce ul.products > li.product,
body.woocommerce ul.products > li.product.first,
body.woocommerce ul.products > li.product.last,
body.woocommerce-page ul.products > li.product,
body.woocommerce-page ul.products > li.product.first,
body.woocommerce-page ul.products > li.product.last{
  flex: 0 0 calc((100% - 72px) / 3) !important;
  max-width: calc((100% - 72px) / 3) !important;
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 900px){
  body.woocommerce ul.products > li.product,
  body.woocommerce-page ul.products > li.product{
    flex: 0 0 calc((100% - 20px) / 2) !important;
    max-width: calc((100% - 20px) / 2) !important;
  }
  body.woocommerce ul.products,
  body.woocommerce-page ul.products{ gap: 20px !important; }
}
@media (max-width: 540px){
  body.woocommerce ul.products > li.product,
  body.woocommerce-page ul.products > li.product{
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}
@media (max-width: 768px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}
@media (max-width: 480px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: 1fr !important;
  }
}

/* === Single product: aplica o estilo "A partir de" no preço grande === */
.single-product .summary .price .collore-per-peca{
  font-size:.95rem; color:var(--col-muted); margin-left:2px;
}

/* "Produtos relacionados" — Base44 não exibe cross-sell */
.single-product .related.products,
.single-product section.related.products{ display:none !important; }
