/* ==========================================================================
   LA BRUJA ARTES — Design System
   Cole em: Elementor > Configurações do site > CSS personalizado
   (ou no CSS adicional do Customizer do WordPress)
   ========================================================================== */

:root{
  /* Cores */
  --lb-wine:        #640034;
  --lb-wine-deep:   #4E0A2A;
  --lb-wine-soft:   #8A2050;
  --lb-cream:       #FBF5E9;
  --lb-cream-2:     #FBF5E9;
  --lb-sand:        #EFD9C4;
  --lb-gold:        #E1AD33;
  --lb-gold-soft:   #E1AD33;
  --lb-terra:       #BE6E4A;
  --lb-ink:         #3A2129;
  --lb-muted:       #8A7670;
  --lb-line:        rgba(107,15,58,.14);
  --lb-line-light:  rgba(251,239,232,.22);

  /* Tipografia */
  --lb-serif: "Cormorant Garamond", "EB Garamond", Georgia, serif;
  --lb-sans:  "Jost", "Futura", "Helvetica Neue", Arial, sans-serif;

  /* Raios */
  --lb-r-pill: 999px;
  --lb-r-arch: 180px 180px 12px 12px;
  --lb-r-soft: 14px;

  /* Sombras */
  --lb-shadow: 0 10px 40px -18px rgba(107,15,58,.35);
}

/* ---------- BASE ---------------------------------------------------------- */
body{
  background: var(--lb-cream);
  color: var(--lb-ink);
  font-family: var(--lb-sans);
  font-weight: 300;
  letter-spacing: .01em;
}
h1,h2,h3,h4,.lb-serif{ font-family: var(--lb-serif); font-weight: 400; }

/* Olho / eyebrow */
.lb-eyebrow{
  font-family: var(--lb-sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--lb-gold);
}
.lb-eyebrow--wine{ color: var(--lb-wine); }

/* ---------- BOTÕES -------------------------------------------------------- */
.lb-btn-gold .elementor-button,
.elementor-widget-button.lb-btn-gold a.elementor-button{
  background: var(--lb-gold);
  color: var(--lb-wine);
  border-radius: var(--lb-r-pill);
  font-family: var(--lb-sans);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 20px 38px;
  transition: .25s ease;
}
.lb-btn-gold .elementor-button:hover{ background: var(--lb-gold-soft); transform: translateY(-1px); }

.lb-btn-ghost .elementor-button{
  background: transparent;
  color: var(--lb-cream);
  border: 1px solid var(--lb-line-light);
  border-radius: var(--lb-r-pill);
  font-family: var(--lb-sans);
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 20px 38px;
  transition: .25s ease;
}
.lb-btn-ghost .elementor-button:hover{ background: rgba(251,239,232,.08); border-color: var(--lb-cream); }

.lb-btn-wine .elementor-button{
  background: var(--lb-wine);
  color: var(--lb-cream);
  border-radius: var(--lb-r-pill);
  font-family: var(--lb-sans);
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 20px 38px;
}
.lb-btn-wine .elementor-button:hover{ background: var(--lb-wine-deep); }

/* Contorno vinho — para botoes secundarios sobre fundo creme */
.lb-btn-outline-wine .elementor-button{
  background: transparent;
  color: var(--lb-wine);
  border: 1px solid var(--lb-line);
}
.lb-btn-outline-wine .elementor-button:hover{
  background: var(--lb-wine);
  color: var(--lb-cream);
  border-color: var(--lb-wine);
}

/* ---------- MENU / CARRINHO / BUSCA (versao Elementor gratuito) ------------
   Substituem os widgets Nav Menu, Menu Cart e Search, que sao do Pro.
   A marcacao vem dos widgets visuais próprios registrados pelo kit. -------- */
.lb-menu{
  display:flex; flex-wrap:wrap; align-items:center;
  gap: 34px; margin:0; padding:0; list-style:none;
}
.lb-menu li{ position:relative; list-style:none; }
.lb-menu a{
  font-family: var(--lb-sans); font-size:15px; font-weight:300;
  color: var(--lb-ink); letter-spacing:.03em; text-decoration:none;
  padding: 6px 0; display:inline-block;
  border-bottom:1px solid transparent; transition:.25s ease;
}
.lb-menu a:hover,
.lb-menu .current-menu-item > a{ color: var(--lb-wine); border-bottom-color: var(--lb-gold-soft); }

/* Submenu */
.lb-menu .sub-menu{
  position:absolute; top:100%; left:0; z-index:60;
  min-width: 210px; margin:0; padding:14px 0; list-style:none;
  background: var(--lb-cream-2);
  border:1px solid var(--lb-line); border-radius: var(--lb-r-soft);
  box-shadow: var(--lb-shadow);
  opacity:0; visibility:hidden; transform: translateY(6px); transition:.2s ease;
}
.lb-menu li:hover > .sub-menu,
.lb-menu li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:none; }
.lb-menu .sub-menu a{ display:block; padding: 9px 22px; border:0; }

@media (max-width:1024px){
  .lb-menu{ gap:18px; justify-content:center; }
  .lb-menu .sub-menu{ position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:0; background:transparent; padding:0 0 0 14px; }
}

.lb-menu-empty{ font-family:var(--lb-sans); font-size:13px; color:var(--lb-terra); margin:0; }
.lb-menu--editor span{
  font-family:var(--lb-sans); font-size:15px; font-weight:300;
  color:var(--lb-ink); letter-spacing:.03em; padding:6px 0;
}

/* Carrinho */
.lb-cart-link{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--lb-sans); font-size:15px; font-weight:300;
  color: var(--lb-wine); text-decoration:none; line-height:1;
}
.lb-cart-link:hover{ color: var(--lb-wine-deep); }
.lb-cart-ico{ display:inline-flex; font-size:20px; line-height:1; }
.lb-cart-count{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:22px; height:22px; padding:0 6px;
  border-radius: var(--lb-r-pill);
  background: var(--lb-gold-soft); color: var(--lb-wine);
  font-size:12px; font-weight:400; letter-spacing:0;
}
.lb-cart-count--empty{ display:inline-flex; }

/* Busca de produtos */
.lb-search-form form,
.lb-search-form .woocommerce-product-search{ display:flex; gap:10px; align-items:center; }
.lb-search-form input[type="search"],
.lb-search-form input[type="text"]{
  flex:1; min-width:0;
  background: transparent;
  border: 1px solid var(--lb-line);
  border-radius: var(--lb-r-pill);
  padding: 18px 26px;
  font-family: var(--lb-sans); font-size:16px; font-weight:300;
  color: var(--lb-ink);
}
.lb-search-form input::placeholder{ color: var(--lb-muted); }
.lb-search-form input:focus{ outline:none; border-color: var(--lb-wine); }
.lb-search-form button[type="submit"]{
  background: var(--lb-wine); color: var(--lb-cream);
  border:0; border-radius: var(--lb-r-pill);
  padding: 18px 30px; cursor:pointer;
  font-family: var(--lb-sans); font-size:13px;
  letter-spacing:.16em; text-transform:uppercase;
}
.lb-search-form button[type="submit"]:hover{ background: var(--lb-wine-deep); }
@media (max-width:600px){
  .lb-search-form form{ flex-direction:column; align-items:stretch; }
}

/* Slots injetados pelo plugin no lugar do Theme Builder */
.lb-slot{ width:100%; }
.lb-slot--header{ position:relative; z-index:50; }

/* Maquete mostrada dentro do editor no lugar do carrinho/checkout */
.lb-placeholder{
  display:flex; flex-direction:column; gap:10px;
  padding: 42px 34px; text-align:center;
  border: 1px dashed var(--lb-line); border-radius: 20px;
  background: var(--lb-cream-2);
}
.lb-placeholder strong{
  font-family: var(--lb-serif); font-size:26px; font-weight:400; color: var(--lb-wine);
}
.lb-placeholder span{
  font-family: var(--lb-sans); font-size:14px; font-weight:300;
  color: var(--lb-muted); max-width: 52ch; margin-inline:auto; line-height:1.6;
}

/* Prévia visual leve do widget Produtos dentro do Elementor. */
.lb-products-editor{
  display:grid;
  grid-template-columns:repeat(var(--lb-editor-columns, 4), minmax(0, 1fr));
  gap:22px;
}
.lb-products-editor article{ display:flex; flex-direction:column; gap:8px; }
.lb-products-editor .lb-product-photo{
  display:block; aspect-ratio:4/5; border-radius:16px;
  background:linear-gradient(145deg, var(--lb-sand), var(--lb-cream-2));
  border:1px solid var(--lb-line);
}
.lb-products-editor strong{
  font-family:var(--lb-serif); font-size:20px; font-weight:400; color:var(--lb-wine);
}
.lb-products-editor small{ font-family:var(--lb-sans); font-size:13px; color:var(--lb-muted); }
@media (max-width:767px){
  .lb-products-editor{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

/* Minha conta do WooCommerce */
.lb-account .woocommerce{ display:grid; gap:32px; }
.lb-account .woocommerce-MyAccount-navigation ul{
  display:flex; flex-wrap:wrap; gap:10px; margin:0 0 26px; padding:0; list-style:none;
}
.lb-account .woocommerce-MyAccount-navigation a{
  display:inline-flex; padding:11px 18px; border:1px solid var(--lb-line);
  border-radius:var(--lb-r-pill); color:var(--lb-wine); text-decoration:none;
}
.lb-account .woocommerce-MyAccount-navigation .is-active a{
  background:var(--lb-wine); color:var(--lb-cream); border-color:var(--lb-wine);
}
.lb-account input[type="text"],
.lb-account input[type="email"],
.lb-account input[type="password"]{
  width:100%; padding:15px 18px; border:1px solid var(--lb-line);
  border-radius:12px; background:var(--lb-cream-2); color:var(--lb-ink);
}

/* Cabeçalho responsivo, implementado pelo próprio kit sem widget Pro. */
.lb-header-burger{ display:none; cursor:pointer; }
@media (max-width:1024px){
  body.lb-menu-is-open{ overflow:hidden; }
  .lb-header-burger{ display:flex; width:auto; }
  .lb-main-menu{
    display:none;
    position:absolute;
    inset:100% 0 auto;
    width:100%;
    padding:26px 20px 30px;
    background:var(--lb-cream-2);
    border-top:1px solid var(--lb-line);
    box-shadow:var(--lb-shadow);
  }
  .lb-menu-open .lb-main-menu{ display:block; }
  .lb-main-menu .lb-menu{ flex-direction:column; align-items:center; gap:12px; }
  .lb-header-center{ width:70%; }
  .lb-header-right{ width:auto; margin-left:auto; }
}
.lb-logo-mark img{ border-radius: 50%; width:48px; height:48px; max-width:48px; }

/* Composição desktop fiel ao mockup publicado. */
@media (min-width:1025px){
  .lb-header-row{ min-height:46px; }
  .lb-header-left{ width:38%; }
  .lb-header-brand{ width:34%; justify-content:center; }
  .lb-header-right{ width:28%; }
  .lb-header .lb-menu{ gap:28px; flex-wrap:nowrap; }
  .lb-header .lb-menu a{ font-size:13px; }
  .lb-logotype{ font-size:25px; letter-spacing:.30em; white-space:nowrap; }
}

/* Hero em duas colunas, como no render original. */
.lb-hero-row{ width:100%; }
.lb-hero-copy{ max-width:500px; }
.lb-hero-visual{ display:flex; align-items:center; justify-content:center; }
.lb-hero-img img{ width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:50%; }
@media (max-width:1024px){
  .lb-hero-row{ flex-wrap:wrap; }
  .lb-hero-copy,.lb-hero-visual{ width:100%; }
  .lb-hero-visual{ margin-top:44px; }
}

/* Evita duplicidade quando o tema ativo é o Hello Elementor. */
body.hello-elementor-default #site-header,
body.hello-elementor-default #site-footer{ display:none !important; }

/* ---------- FORMAS -------------------------------------------------------- */
.lb-arch img{ border-radius: var(--lb-r-arch); display:block; width:100%; }
.lb-ellipse img{ border-radius: 50%; display:block; width:100%; }
.lb-soft img{ border-radius: var(--lb-r-soft); }

/* ---------- CARDS DE PRODUTO (loop WooCommerce) --------------------------- */
.lb-grid ul.products{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 34px 22px;
  margin:0; padding:0; list-style:none;
}
@media (min-width: 1025px){ .lb-grid ul.products{ grid-template-columns: repeat(4, minmax(0,1fr)); gap: 56px 32px; } }
@media (min-width: 768px) and (max-width:1024px){ .lb-grid ul.products{ grid-template-columns: repeat(3, minmax(0,1fr)); } }

.lb-grid ul.products::before,
.lb-grid ul.products::after{
  content: none !important;
  display: none !important;
}
.lb-grid ul.products li.product{
  width:100% !important; margin:0 !important; float:none !important;
  clear: none !important;
  background: transparent; text-align:left; position:relative;
}
.lb-grid ul.products li.product a img{
  border-radius: var(--lb-r-arch);
  aspect-ratio: 3/4;
  object-fit: cover;
  width:100%;
  margin-bottom: 18px;
  background: var(--lb-sand);
  transition: transform .5s ease;
}
.lb-grid ul.products li.product:hover a img{ transform: scale(1.02); }

.lb-grid ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--lb-serif) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.25;
  color: var(--lb-wine);
  padding: 0 !important;
  margin: 0 0 8px !important;
}
.lb-grid ul.products li.product .price{
  font-family: var(--lb-sans) !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  color: var(--lb-muted) !important;
}
.lb-grid ul.products li.product .price del{ opacity:.5; margin-right:8px; }
.lb-grid ul.products li.product .price ins{ text-decoration:none; color: var(--lb-terra) !important; }

/* Botão "adicionar ao carrinho" no loop: some por padrão, aparece no hover */
.lb-grid ul.products li.product .button{
  margin-top: 14px;
  background: transparent;
  color: var(--lb-wine);
  border: 1px solid var(--lb-line);
  border-radius: var(--lb-r-pill);
  font-family: var(--lb-sans);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 12px 22px;
}
.lb-grid ul.products li.product .button:hover{ background: var(--lb-wine); color: var(--lb-cream); }

/* ---------- BADGES (etiquetas) -------------------------------------------- */
.lb-badge,
.lb-grid ul.products li.product .onsale,
.lb-grid ul.products li.product .lb-tag{
  display:inline-flex; align-items:center;
  font-family: var(--lb-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 9px 18px;
  border-radius: var(--lb-r-pill);
  line-height:1;
}
/* Pronta entrega — pílula creme */
.lb-badge--entrega{ background: var(--lb-cream-2); color: var(--lb-wine); box-shadow: 0 2px 10px rgba(107,15,58,.08); }
/* Personalizável — pílula dourada */
.lb-badge--custom{ background: var(--lb-gold-soft); color: var(--lb-wine); }

.lb-grid ul.products li.product .onsale{
  position:absolute; top:16px; left:16px; z-index:2;
  background: var(--lb-gold-soft); color: var(--lb-wine);
  min-height:0; min-width:0; width:auto; height:auto;
  margin:0; padding:9px 18px;
}
/* Empilha etiquetas de categoria como badges (usa product_cat como tag) */
.lb-tag-stack{ position:absolute; top:16px; left:16px; z-index:2; display:flex; flex-direction:column; gap:8px; align-items:flex-start; }

/* ---------- BUSCA / FILTRO ------------------------------------------------ */
.lb-search input[type="search"],
.lb-search input[type="text"]{
  background: transparent;
  border: 1px solid var(--lb-line);
  border-radius: var(--lb-r-pill);
  padding: 20px 26px;
  font-family: var(--lb-sans);
  font-size: 16px;
  color: var(--lb-ink);
}
.lb-search input::placeholder{ color: var(--lb-muted); }
.lb-search input:focus{ outline:none; border-color: var(--lb-wine); }

/* ---------- PASSOS NUMERADOS (Como funciona) ------------------------------ */
.lb-step{ border-bottom: 1px solid var(--lb-line); padding: 34px 0; }
.lb-step:last-child{ border-bottom:0; }
.lb-step-num{
  font-family: var(--lb-serif);
  font-size: 34px;
  color: var(--lb-terra);
  line-height:1;
  margin-bottom: 18px;
  font-variant-numeric: oldstyle-nums;
}
.lb-step-title{ font-family: var(--lb-sans); font-size: 22px; font-weight:400; color: var(--lb-ink); margin-bottom: 8px; }
.lb-step-desc{ font-family: var(--lb-sans); font-size: 17px; font-weight:300; color: var(--lb-muted); line-height:1.6; }

/* ---------- SEÇÃO VINHO --------------------------------------------------- */
.lb-section-wine{ background: var(--lb-wine); color: var(--lb-cream); }
.lb-section-wine h1,.lb-section-wine h2,.lb-section-wine h3{ color: var(--lb-cream); }
.lb-section-wine p{ color: rgba(251,239,232,.82); }
.lb-em-gold{ color: var(--lb-gold-soft); font-style: italic; }

/* ---------- HEADER -------------------------------------------------------- */
.lb-header{
  background: linear-gradient(180deg, var(--lb-cream-2) 0%, #F6E4DC 100%);
  border-bottom: 1px solid var(--lb-line);
}
.lb-header .elementor-nav-menu a{
  font-family: var(--lb-sans); font-size: 15px; font-weight:300;
  color: var(--lb-ink); letter-spacing:.03em;
}
.lb-header .elementor-nav-menu a:hover{ color: var(--lb-wine); }
.lb-logotype{
  font-family: var(--lb-serif);
  font-size: 30px;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--lb-wine);
  margin:0;
}

/* ---------- FOOTER -------------------------------------------------------- */
.lb-footer{ background: var(--lb-wine); color: var(--lb-cream); }
.lb-footer a{ color: rgba(251,239,232,.88); text-decoration:none; font-family: var(--lb-sans); font-weight:300; }
.lb-footer a:hover{ color: var(--lb-gold-soft); }
.lb-footer .lb-col-title{
  font-family: var(--lb-sans); font-size: 12px; letter-spacing: .28em;
  text-transform: uppercase; color: rgba(251,239,232,.55); margin-bottom: 22px;
}
.lb-footer .elementor-social-icon{
  background: transparent !important;
  border: 1px solid var(--lb-line-light);
  color: var(--lb-cream) !important;
  width: 52px; height: 52px;
}
.lb-footer .elementor-social-icon:hover{ border-color: var(--lb-gold-soft); color: var(--lb-gold-soft) !important; }

/* Assinatura do rodape */
.lb-signature{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end;
  gap: 10px; margin:0;
  font-family: var(--lb-sans); font-size:13px; font-weight:300;
  letter-spacing:.06em;
  color: rgba(251,239,232,.62);
}
.lb-signature__sep{ color: rgba(251,239,232,.28); }

/* Nome do autor, linkado */
.lb-signature a{
  color: rgba(251,239,232,.9);
  text-decoration:none;
  border-bottom: 1px solid var(--lb-line-light);
  padding-bottom: 2px;
  transition:.25s ease;
}
.lb-signature a:hover{ color: var(--lb-gold-soft); border-bottom-color: var(--lb-gold-soft); }

@media (max-width:767px){
  .lb-signature{ justify-content:flex-start; }
}

/* ---------- PÁGINA DE PRODUTO --------------------------------------------- */
.lb-product-gallery img{ border-radius: var(--lb-r-arch); }
.lb-product-gallery .flex-control-thumbs img{ border-radius: 10px; }
.lb-product .price{ font-family: var(--lb-sans); font-size: 30px; font-weight:300; color: var(--lb-wine); }
.lb-product form.cart .qty{
  border:1px solid var(--lb-line); border-radius: var(--lb-r-pill);
  padding: 16px; width: 84px; text-align:center; background:transparent;
}
.lb-product form.cart button.button,
.lb-product .single_add_to_cart_button{
  background: var(--lb-gold) !important;
  color: var(--lb-wine) !important;
  border-radius: var(--lb-r-pill) !important;
  font-family: var(--lb-sans);
  font-size: 14px; letter-spacing:.18em; text-transform: uppercase;
  padding: 20px 40px !important;
}
.lb-product .single_add_to_cart_button:hover{ background: var(--lb-gold-soft) !important; }

.lb-tabs .wc-tabs{ border:0; margin:0 0 24px; padding:0; display:flex; gap:28px; }
.lb-tabs .wc-tabs li{ background:transparent !important; border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important; }
.lb-tabs .wc-tabs li a{
  font-family: var(--lb-sans); font-size: 13px; letter-spacing:.18em;
  text-transform:uppercase; color: var(--lb-muted) !important; padding: 0 0 12px !important;
  border-bottom: 1px solid transparent;
}
.lb-tabs .wc-tabs li.active a{ color: var(--lb-wine) !important; border-bottom-color: var(--lb-wine); }
.lb-tabs .woocommerce-Tabs-panel{ padding:0; }
.lb-tabs .woocommerce-Tabs-panel h2{ display:none; }

/* ---------- CARRINHO / CHECKOUT ------------------------------------------- */
.lb-cart table.shop_table{ border:0; border-collapse: collapse; }
.lb-cart table.shop_table th{
  font-family: var(--lb-sans); font-size: 12px; letter-spacing:.2em;
  text-transform: uppercase; color: var(--lb-muted); border-bottom:1px solid var(--lb-line); padding: 18px 0;
}
.lb-cart table.shop_table td{ border-bottom:1px solid var(--lb-line); padding: 26px 0; }
.lb-cart table.shop_table img{ border-radius: 60px 60px 8px 8px; width: 88px !important; }
.lb-cart .cart_totals h2, .lb-checkout h3{
  font-family: var(--lb-serif); font-size: 30px; font-weight:400; color: var(--lb-wine);
}
.lb-cart .cart_totals{ background: var(--lb-cream-2); border-radius: 20px; padding: 34px; }

.lb-checkout .woocommerce-input-wrapper input,
.lb-checkout .woocommerce-input-wrapper textarea,
.lb-checkout .select2-container .select2-selection{
  background: transparent;
  border: 1px solid var(--lb-line) !important;
  border-radius: 12px !important;
  padding: 16px 18px !important;
  font-family: var(--lb-sans); font-size: 16px; height:auto !important;
}
.lb-checkout label{
  font-family: var(--lb-sans); font-size: 13px; letter-spacing:.1em;
  text-transform: uppercase; color: var(--lb-muted);
}
.lb-checkout #order_review{ background: var(--lb-cream-2); border-radius: 20px; padding: 34px; }
.lb-checkout #place_order{
  background: var(--lb-gold) !important; color: var(--lb-wine) !important;
  border-radius: var(--lb-r-pill) !important; width:100%;
  font-family: var(--lb-sans); font-size:14px; letter-spacing:.18em;
  text-transform: uppercase; padding: 22px !important;
}

/* ---------- UTIL ---------------------------------------------------------- */
.lb-divider{ height:1px; background: var(--lb-line); border:0; }
.lb-divider--light{ background: var(--lb-line-light); }
.lb-hide{ display:none !important; }
@media (max-width:767px){
  .lb-grid ul.products li.product .woocommerce-loop-product__title{ font-size: 19px !important; }
}

/* ---------- PRODUTO ÚNICO SEM TEMPLATE DO ELEMENTOR ------------------------
   Se a página de produto ainda estiver usando o layout padrão do
   WooCommerce, estas regras já deixam ela no tom do resto do site. -------- */
.woocommerce div.product .product_title{
  font-family: var(--lb-serif); font-weight: 400; color: var(--lb-wine);
  font-size: 46px; line-height: 1.12;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family: var(--lb-sans); font-weight: 300; font-size: 30px;
  color: var(--lb-wine);
}
.woocommerce div.product p.price del{ opacity:.5; font-size: 22px; }
.woocommerce div.product p.price ins{ text-decoration:none; color: var(--lb-terra); }
.woocommerce div.product div.images img{ border-radius: var(--lb-r-arch); }
.woocommerce div.product .flex-control-thumbs img{ border-radius: 10px; }
.woocommerce div.product form.cart .qty{
  border:1px solid var(--lb-line); border-radius: var(--lb-r-pill);
  padding: 16px; width: 84px; text-align:center; background:transparent;
}
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  background: var(--lb-gold) !important; color: var(--lb-wine) !important;
  border-radius: var(--lb-r-pill) !important;
  font-family: var(--lb-sans); font-size: 14px; font-weight: 400;
  letter-spacing:.18em; text-transform: uppercase; padding: 20px 40px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  border:0; padding:0; margin:0 0 24px; display:flex; gap:28px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  margin:0 !important; padding:0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family: var(--lb-sans); font-size: 13px; letter-spacing:.18em;
  text-transform:uppercase; color: var(--lb-muted) !important;
  padding: 0 0 12px !important; border-bottom: 1px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color: var(--lb-wine) !important; border-bottom-color: var(--lb-wine);
}

/* ===== GERADO POR expand_css.py — NAO EDITE A MAO =====
   Espelha as regras de card do `.lb-grid` para o loop nativo do
   WooCommerce, preservando as media queries. Rode `python3 expand_css.py`
   depois de mexer no bloco `CARDS DE PRODUTO`.
   ============================================================ */

.woocommerce ul.products { display:grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px 22px; margin:0; padding:0; list-style:none; }
@media (min-width: 1025px) {
  .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 56px 32px; }
}
@media (min-width: 768px) and (max-width:1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product { width:100% !important; margin:0 !important; float:none !important; clear: none !important; background: transparent; text-align:left; position:relative; }
.woocommerce ul.products li.product a img { border-radius: var(--lb-r-arch); aspect-ratio: 3/4; object-fit: cover; width:100%; margin-bottom: 18px; background: var(--lb-sand); transition: transform .5s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.02); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--lb-serif) !important; font-size: 22px !important; font-weight: 400 !important; line-height: 1.25; color: var(--lb-wine); padding: 0 !important; margin: 0 0 8px !important; }
.woocommerce ul.products li.product .price { font-family: var(--lb-sans) !important; font-size: 17px !important; font-weight: 300 !important; color: var(--lb-muted) !important; }
.woocommerce ul.products li.product .price del { opacity:.5; margin-right:8px; }
.woocommerce ul.products li.product .price ins { text-decoration:none; color: var(--lb-terra) !important; }
.woocommerce ul.products li.product .button { margin-top: 14px; background: transparent; color: var(--lb-wine); border: 1px solid var(--lb-line); border-radius: var(--lb-r-pill); font-family: var(--lb-sans); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; padding: 12px 22px; }
.woocommerce ul.products li.product .button:hover { background: var(--lb-wine); color: var(--lb-cream); }
.woocommerce ul.products li.product .onsale, .woocommerce ul.products li.product .lb-tag { display:inline-flex; align-items:center; font-family: var(--lb-sans); font-size: 11px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; padding: 9px 18px; border-radius: var(--lb-r-pill); line-height:1; }
.woocommerce ul.products li.product .onsale { position:absolute; top:16px; left:16px; z-index:2; background: var(--lb-gold-soft); color: var(--lb-wine); min-height:0; min-width:0; width:auto; height:auto; margin:0; padding:9px 18px; }
@media (max-width:767px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 19px !important; }
}
