/*
Theme Name:   Hello Elementor Child
Description:  A child theme from Hello Elementor
Author:       Informatiza
Author URL:   https://informatizaweb.com.br
Template:     hello-elementor
Version:      1.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  hello-elementor
*/

/* ==== Joay design system (migrado do Customizer → child theme na F0.3) ==== */
/* ==========================================================================
   Joay Agropecuária — Design System da Loja (WooCommerce)
   Camada 1: CSS global. Cole em Aparência → Personalizar → CSS Adicional.
   Paleta: nova identidade laranja pôr-do-sol + preto (logo cavalo/ferradura).
   Para reskinnar, troque só as variáveis do :root. Atualizado: 2026-07-01.
   ========================================================================== */

:root {
  --joay-primary:      #DE5E12;   /* laranja marca — CTAs */
  --joay-primary-dark: #B24709;   /* hover / escuro */
  --joay-gold:         #F5A623;   /* dourado — selos, destaques */
  --joay-ink:          #191410;   /* preto quente — títulos/texto */
  --joay-cream:        #FFF8EF;   /* fundo quente */
  --joay-card:         #ffffff;
  --joay-border:       #efe4d5;   /* borda quente */
  --joay-radius:       14px;
  --joay-shadow:       0 2px 10px rgba(25,20,16,.06);
  --joay-shadow-hover: 0 12px 28px rgba(222,94,18,.18);
}

/* ---------- Base ---------- */
.woocommerce, .woocommerce-page { color: var(--joay-ink); }
.woocommerce a { color: var(--joay-primary); }
.woocommerce a:hover { color: var(--joay-primary-dark); }
.woocommerce .woocommerce-breadcrumb {
  font-size: .85rem; color: #9a8f80; margin-bottom: 1.5rem;
}

/* ---------- Botões ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--joay-primary);
  color: #fff;
  border-radius: 999px;
  padding: .7em 1.6em;
  font-weight: 700;
  letter-spacing: .01em;
  border: 0;
  transition: transform .12s ease, background .2s ease, box-shadow .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover {
  background: var(--joay-primary-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: var(--joay-shadow-hover);
}

/* ---------- Grade de produtos (vitrine / categoria) ---------- */
.woocommerce ul.products { gap: 1.5rem 1.25rem; }
.woocommerce ul.products li.product {
  background: var(--joay-card);
  border: 1px solid var(--joay-border);
  border-radius: var(--joay-radius);
  padding: 1rem 1rem 1.4rem;
  box-shadow: var(--joay-shadow);
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
  text-align: center;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--joay-shadow-hover);
  border-color: var(--joay-primary);
}
.woocommerce ul.products li.product img {
  border-radius: 10px;
  margin-bottom: .9rem;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--joay-ink);
  min-height: 2.6em;
  padding: 0 .3rem;
}
.woocommerce ul.products li.product .price {
  color: var(--joay-ink);
  font-weight: 700;
  font-size: 1.15rem;
}
.woocommerce ul.products li.product .price del { color: #b7ac9d; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--joay-primary-dark); }

/* Selo de promoção */
.woocommerce span.onsale {
  background: var(--joay-gold);
  color: var(--joay-ink);
  border-radius: 999px;
  font-weight: 800;
  min-height: auto;
  min-width: auto;
  padding: .35em .8em;
  line-height: 1;
  top: .8rem; left: .8rem; right: auto; margin: 0;
}

/* ---------- Página de produto ---------- */
.single-product.woocommerce div.product:not(.elementor) .product_title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--joay-ink);
  font-weight: 700;
}
.single-product.woocommerce div.product:not(.elementor) p.price,
.single-product.woocommerce div.product:not(.elementor) span.price {
  color: var(--joay-primary-dark);
  font-size: 1.7rem;
  font-weight: 700;
}
.single-product.woocommerce div.product:not(.elementor) form.cart .quantity input.qty {
  border: 1px solid var(--joay-border);
  border-radius: 8px;
  padding: .5em;
}
.single-product.woocommerce div.product:not(.elementor) .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--joay-primary);
}
.single-product.woocommerce div.product:not(.elementor) .woocommerce-tabs ul.tabs li.active a { color: var(--joay-primary-dark); }
.woocommerce table.variations td, .woocommerce table.variations th { padding: .4rem 0; }
.single-product.woocommerce div.product:not(.elementor) .stock { color: #2e7d32; font-weight: 600; }

/* ---------- Mensagens / avisos ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-noreviews {
  border-top-color: var(--joay-primary);
  border-radius: 10px;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--joay-primary); }

/* ---------- Carrinho ---------- */
.woocommerce table.shop_table {
  border-radius: var(--joay-radius);
  border-color: var(--joay-border);
  overflow: hidden;
}
.woocommerce table.shop_table thead th { background: var(--joay-cream); color: var(--joay-ink); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { color: var(--joay-ink); }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
  background: var(--joay-card);
  border: 1px solid var(--joay-border);
  border-radius: var(--joay-radius);
  padding: 1.2rem;
  box-shadow: var(--joay-shadow);
}

/* ---------- Checkout: campos de formulário ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection {
  border: 1px solid var(--joay-border) !important;
  border-radius: 8px !important;
  padding: .7em .8em !important;
  min-height: 44px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--joay-primary) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(222,94,18,.16);
}
#add_payment_method #payment, .woocommerce-cart #payment,
.woocommerce-checkout #payment { background: var(--joay-cream); border-radius: var(--joay-radius); }

/* ---------- Widgets / filtros ---------- */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--joay-primary); }

/* ---------- Override das cores globais do Elementor (verde antigo → laranja) ----
   Unifica o site INTEIRO (institucional + loja) na nova marca. Reversível. --- */
.elementor-kit-6 {
  --e-global-color-primary:   #DE5E12;
  --e-global-color-secondary: #F5A623;
  --e-global-color-accent:    #DE5E12;
  --e-global-color-text:      #191410;
  --e-global-color-9b04eda:   #DE5E12;
}

/* ---------- Reforço nos botões e links de loja (bate a especificidade do tema) ---------- */
.woocommerce a.button.alt,
.woocommerce button.single_add_to_cart_button,
.woocommerce .single_add_to_cart_button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--joay-primary) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
.woocommerce a.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover {
  background: var(--joay-primary-dark) !important;
}
/* botão desabilitado (variação não escolhida) — laranja translúcido, não roxo */
.woocommerce .single_add_to_cart_button.disabled,
.woocommerce .single_add_to_cart_button:disabled {
  background: var(--joay-primary) !important;
  color: #fff !important;
  opacity: .45;
}
/* links de produto no carrinho / widgets em preto legível, hover laranja */
.woocommerce-cart-form .product-name a,
.woocommerce ul.product_list_widget a,
.woocommerce-mini-cart a.remove ~ a,
td.product-name a {
  color: var(--joay-ink) !important;
}
.woocommerce-cart-form .product-name a:hover,
td.product-name a:hover { color: var(--joay-primary) !important; }

/* ==========================================================================
   CAMADA 2a — Redesign profundo (grade, produto, swatches, carrinho, checkout)
   ========================================================================== */

/* ---------- Grade da vitrine: grid responsivo consistente ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem !important;
  margin: 0 0 2rem !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  display: flex; flex-direction: column;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { flex: 1 1 auto; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  margin-top: .6rem; width: 100%; text-align: center;
}
@media (max-width: 1024px){ .woocommerce ul.products { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 720px){ .woocommerce ul.products { grid-template-columns: repeat(2,1fr); gap: 1rem !important; } }

/* barra de resultados + ordenação */
.woocommerce .woocommerce-result-count { color:#8a8175; font-size:.9rem; }
.woocommerce .woocommerce-ordering select {
  border:1px solid var(--joay-border); border-radius:8px; padding:.5em 2em .5em .8em; background:#fff;
}

/* ---------- Página de produto: layout ---------- */
.single-product.woocommerce div.product:not(.elementor) { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 2.5rem; }
.single-product.woocommerce div.product:not(.elementor) .woocommerce-product-gallery { margin-bottom: 0; }
.single-product.woocommerce div.product:not(.elementor) .woocommerce-product-gallery__image img { border-radius: var(--joay-radius); }
.single-product.woocommerce div.product:not(.elementor) .summary { margin: 0 !important; }
@media (min-width: 992px){
  .single-product.woocommerce div.product:not(.elementor) .summary { position: sticky; top: 1.5rem; align-self: start; }
}
@media (max-width: 860px){
  .single-product.woocommerce div.product:not(.elementor) { grid-template-columns: 1fr; gap: 1.4rem; }
}
.single-product.woocommerce div.product:not(.elementor) .woocommerce-tabs { grid-column: 1 / -1; margin-top: 1rem; }
.single-product.woocommerce div.product:not(.elementor) .related.products { grid-column: 1 / -1; }
.single-product.woocommerce div.product:not(.elementor) form.cart { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin-top:1rem; }
.single-product.woocommerce div.product:not(.elementor) form.cart .single_add_to_cart_button { flex: 1 1 auto; min-width: 200px; }

/* ---------- Swatches (Variation Swatches) na marca ---------- */
.woo-variation-swatches .variable-items-wrapper { gap: .5rem; }
.woo-variation-swatches ul.variable-items-wrapper li.variable-item,
.woo-variation-swatches .variable-items-wrapper .variable-item {
  border-radius: 10px !important;
  border: 1.5px solid var(--joay-border) !important;
  box-shadow: none !important;
  min-width: 44px; min-height: 44px;
  transition: border-color .15s ease, transform .1s ease;
}
.woo-variation-swatches ul.variable-items-wrapper li.variable-item.button-variable-item {
  padding: .45em .9em !important; font-weight: 600; color: var(--joay-ink);
}
.woo-variation-swatches .variable-item:hover { border-color: var(--joay-primary) !important; transform: translateY(-1px); }
.woo-variation-swatches .variable-item.selected,
.woo-variation-swatches li.variable-item[aria-checked="true"] {
  border-color: var(--joay-primary) !important;
  box-shadow: 0 0 0 2px rgba(222,94,18,.25) !important;
}
.woo-variation-swatches .variable-item.button-variable-item.selected { background: var(--joay-primary) !important; color:#fff !important; }

/* ---------- Quantidade: stepper limpo ---------- */
.woocommerce .quantity { display:inline-flex; align-items:center; border:1px solid var(--joay-border); border-radius:10px; overflow:hidden; }
.woocommerce .quantity input.qty { border:0 !important; width:56px; text-align:center; height:44px; }

/* ---------- Carrinho: layout ---------- */
.woocommerce-cart .woocommerce { display:grid; grid-template-columns: 1fr; gap:1.5rem; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 1rem; vertical-align: middle; }
.woocommerce a.remove { color: var(--joay-primary-dark) !important; border-radius:50%; }
.woocommerce a.remove:hover { background: var(--joay-primary) !important; color:#fff !important; }
.woocommerce .cart-collaterals { width:100%; }
.woocommerce .cart-collaterals .cart_totals { float:none; width:100%; max-width:420px; margin-left:auto; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { display:block; text-align:center; font-size:1.05rem; padding:.9em; }

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details { margin-bottom: 1.5rem; }
@media (min-width: 992px){
  .woocommerce-checkout form.checkout { display:grid; grid-template-columns: 1.3fr .9fr; gap:2rem; align-items:start; }
  .woocommerce-checkout #customer_details { grid-column: 1; }
  .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
  .woocommerce-checkout #order_review { position: sticky; top: 1.5rem; }
}
.woocommerce-checkout #place_order { width:100%; font-size:1.1rem; padding:.95em; }

/* ---------- Mini-cart / header ---------- */
.woocommerce .widget_shopping_cart .buttons a.checkout { background: var(--joay-primary) !important; color:#fff !important; }

/* ---------- Tipografia / ritmo ---------- */
.single-product.woocommerce div.product:not(.elementor) .woocommerce-product-details__short-description { color:#5a544c; line-height:1.6; }

/* ---------- Responsivo ---------- */
@media (max-width: 480px) {
  .woocommerce ul.products li.product { padding: .8rem .8rem 1.1rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: auto; }
  .single-product.woocommerce div.product:not(.elementor) form.cart .single_add_to_cart_button { min-width: 100%; }
}

/* ==========================================================================
   CAMADA 2b — correções institucional (Elementor)
   ========================================================================== */

/* ck-fix-botao-elementor: força texto branco nos botões Elementor.
   Motivo: após unificar as cores globais em laranja, botões que herdavam
   texto=primary sobre fundo=accent ficavam laranja-sobre-laranja (invisíveis,
   ex.: "Fale Conosco" do hero). Todo botão do site tem fundo laranja/dourado,
   então texto branco é sempre correto. */
.elementor-button,
.elementor-button:hover,
.elementor-button:focus { color: #fff !important; }

/* ==========================================================================
   CAMADA 2b — F1: Header (busca + nav de departamentos)
   ========================================================================== */

/* ---- Barra de busca: pill única com lupa (padrão Joay Cordas) ---- */
.elementor-widget-search form {
  border: 1.5px solid #E3D8C8;
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
  box-shadow: none;
  align-items: center;
}
.elementor-widget-search form:focus-within {
  border-color: var(--joay-primary);
  box-shadow: 0 0 0 3px rgba(222,94,18,.10);
}
.e-search-input-wrapper { flex: 1 1 auto; }
.e-search-input {
  padding: .78em 1.4em !important;
  color: var(--joay-ink);
  background: transparent;
  border: 0 !important;
  box-shadow: none !important;
}
.e-search-input::placeholder { color: #9a8f80; }
.elementor-widget-search .e-search-form .e-search-submit,
.e-search-submit {
  background: transparent !important;
  border: 0 !important;
  margin: 0 22px 0 8px !important;
  padding: 0 !important;
  width: 24px !important;
  min-width: 24px !important;
  font-size: 0 !important;
  line-height: 0;
  color: var(--joay-ink) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
}
.e-search-submit::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.6-4.6"/></svg>') center / contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.6-4.6"/></svg>') center / contain no-repeat;
}
.e-search-submit:hover { color: var(--joay-primary) !important; }

/* ---- Nav de departamentos: dropdown na marca ---- */
.elementor-nav-menu--main .elementor-item { font-weight: 600; letter-spacing: .01em; }
.elementor-nav-menu .sub-menu,
.elementor-nav-menu--dropdown {
  border: 1px solid var(--joay-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--joay-shadow-hover) !important;
  padding: .4rem !important;
  overflow: hidden;
}
.elementor-nav-menu .sub-menu .elementor-item,
.elementor-nav-menu .sub-menu a { border-radius: 8px; }
.elementor-nav-menu .sub-menu .elementor-item:hover {
  background: var(--joay-cream) !important;
  color: var(--joay-primary-dark) !important;
}

/* ---- F1: busca responsiva (mobile em largura total) ---- */
@media (max-width: 880px) {
  .elementor-widget-search { width: 100% !important; }
  .elementor-widget-search > .elementor-widget-container { width: 100%; }
  .elementor-widget-search form { width: 100%; display: flex; }
  .e-search-input { flex: 1 1 auto; min-width: 0; }
  .e-search-submit { flex: 0 0 auto; white-space: nowrap; }
}

/* ---- F1: header quebra no mobile → busca 100% na própria linha ---- */
@media (max-width: 880px) {
  .elementor-element-dc96a03 { flex-wrap: wrap !important; }
  .elementor-element-950ef15 {
    flex: 1 1 100% !important;
    width: 100% !important;
    order: 3;
    margin-top: .7rem;
  }
}

/* ==========================================================================
   CAMADA 2b — F1 v2: Header premium (faixa de nav + dropdown compacto)
   Ref: joaycordas.com.br (mesmo grupo)
   ========================================================================== */

/* ---- Faixa de navegação escura full-width (estilo premium) ---- */
.elementor-element-b194dfe { background: var(--joay-ink) !important; }
.elementor-element-b194dfe .elementor-nav-menu > ul > li > a.elementor-item {
  color: #f6ede0 !important;
  text-transform: uppercase;
  font-weight: 600 !important;
  letter-spacing: .04em;
  font-size: .82rem !important;
  padding: 1.15em 1.15em !important;
  border: 0 !important;
}
.elementor-element-b194dfe .elementor-nav-menu > ul > li > a.elementor-item:hover,
.elementor-element-b194dfe .elementor-nav-menu > ul > li.current-menu-item > a.elementor-item,
.elementor-element-b194dfe .elementor-item.elementor-item-active {
  color: var(--joay-gold) !important;
  background: rgba(255,255,255,.06) !important;
}
.elementor-element-b194dfe .elementor-item-active:after,
.elementor-element-b194dfe .elementor-item:before { display:none !important; }
.elementor-element-b194dfe .sub-arrow { color: inherit !important; }

/* ---- Dropdown compacto e limpo ---- */
.elementor-nav-menu .sub-menu {
  background: #fff !important;
  border: 1px solid var(--joay-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 30px rgba(25,20,16,.18) !important;
  padding: .35rem !important;
  min-width: 200px !important;
  margin-top: 2px !important;
}
.elementor-nav-menu .sub-menu li > a.elementor-sub-item {
  padding: .62em .95em !important;
  min-height: 0 !important;
  border-radius: 7px;
  color: var(--joay-ink) !important;
  font-size: .9rem !important;
  text-transform: none !important;
  letter-spacing: 0;
  font-weight: 500 !important;
}
.elementor-nav-menu .sub-menu li > a.elementor-sub-item:hover {
  background: var(--joay-cream) !important;
  color: var(--joay-primary-dark) !important;
}

/* ---- Busca: domar largura (não dominar o header) ---- */
.elementor-element-950ef15 { max-width: 560px; }

/* ==========================================================================
   CAMADA 3 — F1 v3: Header premium PROGRAMÁTICO (classes semânticas joay-*)
   O header novo (template "Joay Header Premium") usa css_classes em vez de
   IDs de elemento. As regras por ID acima (dc96a03/950ef15/b194dfe) morrem
   junto com o header antigo na F6.
   ========================================================================== */

/* ---- Barra superior fina (discreta, escura) ---- */
.joay-topbar { font-size: .8rem; }
.joay-topbar .elementor-icon-list-text { color: #F6EDE0; font-size: .8rem; }
.joay-topbar .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--joay-gold); }
.joay-topbar .elementor-social-icon { transition: opacity .15s ease; }
.joay-topbar .elementor-social-icon:hover { opacity: .75; }

/* ---- Header principal: quebra responsiva (busca vai pra linha própria) ---- */
.joay-header-search { max-width: 500px; }
@media (max-width: 880px) {
  .joay-header-main.e-con > .e-con-inner,
  .joay-header-main.e-con { flex-wrap: wrap !important; }
  .joay-header-logo { width: auto !important; order: 1 !important; }
  .joay-header-actions { width: auto !important; order: 2 !important; margin-left: auto; }
  .joay-header-search {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: none;
    order: 3 !important;
    margin-top: .5rem;
  }
}

/* ---- Ícones de ação (conta + carrinho) ---- */
.joay-header-actions .elementor-icon { transition: color .15s ease, transform .12s ease; }
.joay-header-actions .elementor-icon:hover { transform: translateY(-1px); }
.joay-header-actions .elementor-menu-cart__toggle .elementor-button-icon { font-size: 22px; }
.joay-header-actions .elementor-menu-cart__toggle .elementor-button { padding: 0; background: transparent; }

/* ---- Faixa de navegação escura (classe substitui .elementor-element-b194dfe) ---- */
.joay-nav-strip { background: var(--joay-ink) !important; }
.joay-nav-strip ul.elementor-nav-menu > li > a.elementor-item {
  color: #f6ede0 !important;
  text-transform: uppercase;
  font-weight: 600 !important;
  letter-spacing: .04em;
  font-size: .82rem !important;
  padding: 1.05em 1.15em !important;
  border: 0 !important;
}
.joay-nav-strip ul.elementor-nav-menu > li > a.elementor-item:hover,
.joay-nav-strip ul.elementor-nav-menu > li.current-menu-item > a.elementor-item,
.joay-nav-strip .elementor-item.elementor-item-active {
  color: var(--joay-gold) !important;
  background: rgba(255,255,255,.06) !important;
}
.joay-nav-strip .elementor-item-active:after,
.joay-nav-strip .elementor-item:before { display: none !important; }
.joay-nav-strip .sub-arrow { color: inherit !important; }
.joay-nav-strip.elementor-sticky--active { box-shadow: 0 6px 18px rgba(25,20,16,.25); }

/* ---- Selo "EM BREVE" no item Moda Country ----
   O :after do Elementor (pointer do menu) impõe position/height; força reset. */
.joay-nav-strip .elementor-nav-menu .joay-embreve > a::after,
.joay-embreve > a::after {
  content: "EM BREVE" !important;
  display: inline-block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  opacity: 1 !important;
  background: var(--joay-gold) !important;
  color: var(--joay-ink) !important;
  font-size: .56rem !important;
  font-weight: 800;
  letter-spacing: .06em;
  padding: .3em .65em;
  border-radius: 999px;
  margin-left: .55em;
  vertical-align: middle;
  line-height: 1;
}

/* ---- Mini-cart (slide-in) na marca ---- */
.elementor-menu-cart__container { z-index: 9999; }
.elementor-menu-cart__main .elementor-button--checkout {
  background: var(--joay-primary) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
.elementor-menu-cart__main .elementor-button--view-cart {
  border: 1.5px solid var(--joay-ink) !important;
  color: var(--joay-ink) !important;
  background: transparent !important;
  border-radius: 999px !important;
}

/* ==========================================================================
   CAMADA 3 — F2: Card de produto (Loop Item) + Archive + Filtros
   ========================================================================== */

/* ---- Card ---- */
.e-loop-item { position: relative; }
.e-loop-item .joay-card {
  height: 100%;
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.e-loop-item:hover .joay-card {
  transform: translateY(-4px);
  box-shadow: var(--joay-shadow-hover);
  border-color: var(--joay-primary);
}
.joay-card-img img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.e-loop-item:hover .joay-card-img img { transform: scale(1.045); }
.joay-card-title .elementor-heading-title,
.joay-card-title h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
}
.joay-card-caption p { margin: 0; }
.joay-card .joay-card-btn { width: 100%; }

/* Selo OFERTA (classe .sale vem do post_class no wrapper e-loop-item) */
.e-loop-item.sale::before {
  content: "OFERTA";
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  background: var(--joay-gold);
  color: var(--joay-ink);
  font-weight: 800;
  font-size: .68rem;
  letter-spacing: .04em;
  padding: .45em .85em;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(25,20,16,.18);
  pointer-events: none;
}

/* ---- Sidebar de filtros ---- */
.joay-filters {
  background: #fff;
  border: 1px solid var(--joay-border);
  border-radius: 14px;
  padding: 20px 18px 24px;
  box-shadow: var(--joay-shadow);
}
.joay-filters .e-filter {  gap: .35rem; }
.joay-filters .e-filter-item {
  color: #5a544c;
  font-size: .92rem;
  padding: .3em .2em;
  border-radius: 7px;
  cursor: pointer;
  background: transparent;
  border: 0;
  text-align: left;
  transition: color .15s ease, background .15s ease;
}
.joay-filters .e-filter-item:hover { color: var(--joay-primary-dark); background: var(--joay-cream); }
.joay-filters .e-filter-item[aria-pressed="true"],
.joay-filters .e-filter-item.e-active {
  color: var(--joay-primary-dark);
  font-weight: 700;
  background: var(--joay-cream);
}

/* ---- Drawer de filtros (tablet/mobile) ---- */
@media (max-width: 1024px) {
  .joay-archive-band > .e-con-inner { flex-direction: column !important; }
  .joay-archive-band .joay-archive-main,
  .joay-archive-band .joay-filters,
  .joay-archive-band .joay-sidenav { width: 100% !important; max-width: 100% !important; flex: 1 1 auto !important; }
  .joay-filters { display: none; }
  .joay-filters.joay-open { display: flex; }
}

/* ---- Paginação do loop grid ---- */
.joay-archive-main nav[aria-label] .page-numbers,
.joay-archive-main .e-loop__load-more,
.joay-archive-main .elementor-pagination .page-numbers {
  color: var(--joay-ink);
  font-weight: 600;
  padding: .35em .8em;
  border-radius: 8px;
}
.joay-archive-main .elementor-pagination .page-numbers.current {
  background: var(--joay-primary);
  color: #fff;
}

/* ---- F2: layout da banda archive (sidebar fixa + grade fluida) ---- */
@media (min-width: 1025px) {
  .joay-filters { flex: 0 0 248px !important; min-width: 248px; max-width: 248px; }
}
.joay-archive-main { flex: 1 1 0 !important; min-width: 0; }
.joay-archive-main .elementor-loop-container { align-items: stretch; }
.joay-archive-main .e-loop-item { height: 100%; }

/* filtros: itens alinhados à esquerda */
.joay-filters .e-filter { align-items: flex-start; justify-content: flex-start; }
.joay-filters .e-filter-item { width: 100%; }

/* ---- F2: drawer mobile precisa vencer o display do .e-con ---- */
@media (max-width: 1024px) {
  .joay-filters { display: none !important; }
  .joay-filters.joay-open { display: flex !important; }
}

/* ---- F2: sidebar de navegação dos archives de categoria ---- */
@media (min-width: 1025px) {
  .joay-sidenav { flex: 0 0 248px !important; min-width: 248px; max-width: 248px; }
}
.joay-sidenav {
  background: #fff;
  border: 1px solid var(--joay-border);
  border-radius: 14px;
  padding: 20px 18px 24px;
  box-shadow: var(--joay-shadow);
}
.joay-side-list { list-style: none; margin: 0; padding: 0; }
.joay-side-list li { margin: 0 0 2px; }
.joay-side-list a {
  display: block;
  color: #5a544c;
  font-size: .92rem;
  padding: .34em .5em;
  border-radius: 7px;
  text-decoration: none;
  transition: color .15s ease, background .15s ease;
}
.joay-side-list a:hover { color: var(--joay-primary-dark); background: var(--joay-cream); }
.joay-side-list a span { color: #b7ac9d; font-size: .82em; }
.joay-side-back a { font-weight: 700; color: var(--joay-ink); }

/* ---- F2: grid de marcas (/marcas/) ---- */
.joay-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2rem;
}
@media (max-width: 1024px) { .joay-brand-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .joay-brand-grid { grid-template-columns: repeat(2, 1fr); } }
.joay-brand-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  background: #fff;
  border: 1px solid var(--joay-border);
  border-radius: 14px;
  padding: 2.2rem 1rem;
  text-decoration: none;
  box-shadow: var(--joay-shadow);
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.joay-brand-tile:hover {
  transform: translateY(-4px);
  box-shadow: var(--joay-shadow-hover);
  border-color: var(--joay-primary);
}
.joay-brand-name {
  font-family: "Alfa Slab One", serif;
  font-size: 1.15rem;
  color: var(--joay-ink);
}
.joay-brand-count { font-size: .85rem; color: #9a8f80; }

/* ==========================================================================
   CAMADA 3 — F3: Página de produto (template Elementor)
   ========================================================================== */
/* sticky removido: dentro do e-con o offset aplicava em repouso e o summary
   vazava sobre as abas (bug reproduzido) — estático é o comportamento correto */
.joay-pdp-summary { position: static; }

.joay-whats-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55em;
  width: 100%;
  border: 1.5px solid var(--joay-ink);
  color: var(--joay-ink) !important;
  background: transparent;
  border-radius: 999px;
  padding: .72em 1.5em;
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, transform .12s ease;
}
.joay-whats-ghost:hover { background: var(--joay-ink); color: #fff !important; transform: translateY(-1px); }

/* form de compra do widget add-to-cart na marca */
.joay-pdp-summary form.cart { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.joay-pdp-summary form.cart .single_add_to_cart_button { flex: 1 1 auto; min-width: 200px; }
.joay-pdp-summary .quantity {
  display: inline-flex; align-items: center;
  border: 1px solid var(--joay-border); border-radius: 10px; overflow: hidden;
}
.joay-pdp-summary .quantity input.qty { border: 0 !important; width: 56px; text-align: center; height: 44px; }

/* Sticky CTA da PDP (desktop + mobile): entra rolando p/ baixo, sai rolando p/ cima */
.joay-sticky-cta {
  position: fixed !important;
  bottom: 0; left: 0; right: 0;
  z-index: 998;
  background: #fff;
  border-top: 1px solid var(--joay-border);
  box-shadow: 0 -6px 18px rgba(25,20,16,.12);
  padding: 10px 24px calc(10px + env(safe-area-inset-bottom));
  transform: translateY(110%);
  transition: transform .28s ease;
}
.joay-sticky-cta.joay-sticky-visible { transform: translateY(0); }
.joay-sticky-thumb img { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; border: 1px solid var(--joay-border); }
.joay-sticky-title { max-width: 480px; }
.joay-sticky-title div, .joay-sticky-title .elementor-heading-title {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.joay-sticky-cta .elementor-widget-woocommerce-product-price { margin-left: auto; }
@media (max-width: 880px) {
  .joay-sticky-cta .elementor-widget-button { flex: 1 1 auto; }
  .joay-sticky-cta .elementor-button { width: 100%; }
}

/* PDP: colunas com base flex firme (galeria não pode colapsar) */
@media (min-width: 881px) {
  .joay-pdp-band .joay-pdp-gallery { flex: 0 0 52% !important; max-width: 52%; }
  .joay-pdp-band .joay-pdp-summary { flex: 1 1 0 !important; min-width: 0; }
}
@media (max-width: 880px) {
  .joay-pdp-band > .e-con-inner { flex-direction: column; }
  .joay-pdp-band .joay-pdp-gallery,
  .joay-pdp-band .joay-pdp-summary { width: 100% !important; max-width: 100%; }
}
.woocommerce-product-gallery { width: 100% !important; }
.woocommerce-product-gallery img { border-radius: var(--joay-radius); }

/* PDP: meta (categorias/marca/SKU) com respiro */
.joay-pdp-summary .product_meta { display: flex; flex-direction: column; gap: .3rem; border-top: 1px solid var(--joay-border); padding-top: .9rem; margin-top: .4rem; }

/* ==========================================================================
   CAMADA 3 — F4: Home ecommerce
   ========================================================================== */
.joay-pill {
  display: inline-block;
  background: var(--joay-gold);
  color: var(--joay-ink);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .06em;
  padding: .35em .7em;
  border-radius: 999px;
  line-height: 1;
}
.joay-tile { transition: transform .18s ease, box-shadow .2s ease; cursor: pointer; }
.joay-tile:hover { transform: translateY(-5px); box-shadow: var(--joay-shadow-hover); }
.joay-hero h1 { text-shadow: 0 2px 18px rgba(25,20,16,.35); }

/* form da waitlist Moda Country */
.joay-waitlist-form input[type="email"] {
  border-radius: 999px !important;
  border: 0 !important;
  padding: .65em 1.1em !important;
  font-size: .85rem;
}
.joay-waitlist-form .elementor-button { color: var(--joay-ink) !important; }
.joay-waitlist-form .elementor-message { color: #fff; font-size: .82rem; }

/* rail: setas na marca */
.joay-rail .elementor-swiper-button {
  background: #fff;
  border: 1px solid var(--joay-border);
  border-radius: 50%;
  width: 40px; height: 40px;
  box-shadow: var(--joay-shadow);
  color: var(--joay-ink);
  display: flex; align-items: center; justify-content: center;
}
.joay-rail .elementor-swiper-button:hover { color: var(--joay-primary); border-color: var(--joay-primary); }
.joay-rail .elementor-swiper-button svg { width: 14px; height: 14px; fill: currentColor; }

/* F4: refinamentos hero + tiles */
.joay-tile { min-height: 300px !important; }
@media (min-width: 881px) {
  .joay-hero h1 { max-width: 50%; }
  .joay-hero .elementor-widget-text-editor { max-width: 40%; }
}
.joay-story .elementor-widget-image img { width: 100%; height: 400px; object-fit: cover; border-radius: 14px; }
@media (max-width: 880px) { .joay-story .elementor-widget-image img { height: 260px; } }

/* ==========================================================================
   CAMADA 3 — F5: Checkout distraction-free
   ========================================================================== */
.joay-checkout-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 1120px;
  margin: 0 auto;
  padding: 14px 20px;
  border-bottom: 1px solid var(--joay-border);
}
.joay-checkout-bar img { display: block; height: auto; }
.joay-checkout-secure {
  display: inline-flex; align-items: center; gap: .45em;
  color: #2e7d32; font-size: .85rem; font-weight: 600;
}
.joay-checkout-back { color: var(--joay-ink); font-size: .85rem; text-decoration: none; font-weight: 600; }
.joay-checkout-back:hover { color: var(--joay-primary); }
body.woocommerce-checkout { background: #fff; }
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
  background: var(--joay-primary) !important;
  border-radius: 999px !important;
  font-weight: 700;
}
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover { background: var(--joay-primary-dark) !important; }

/* ==========================================================================
   CAMADA 3 — F6: Fonts self-hosted (subset latin, woff2)
   Inter é variável (100-900 num arquivo). Elementor google_font=off.
   ========================================================================== */
@font-face {
  font-family: 'Alfa Slab One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/alfa-slab-one-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('assets/fonts/inter-var.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Corpo do site em Inter (design system). !important: vence o stack do Hello;
   não afeta headings/widgets com font própria (regra direta > herança). */
body, button, input, select, textarea {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Checkout: texto do botão Finalizar pedido sempre branco */
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  color: #fff !important;
}
/* Carrinho blocks: botão Finalizar compra na marca */
.wc-block-cart__submit-button {
  background: var(--joay-primary) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 700;
}
.wc-block-cart__submit-button:hover { background: var(--joay-primary-dark) !important; }

/* Cart/Checkout blocks: alignwide desloca -70px no mobile (Hello sem content-width) */
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide {
  max-width: 1120px;
  width: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 16px 40px;
  box-sizing: border-box;
}

/* ==========================================================================
   CAMADA 3 — Revisão UX: exceções à regra global de texto branco em botões
   (a Camada 2b força #fff em .elementor-button; botões GHOST em fundo claro
   ficavam com texto invisível)
   ========================================================================== */
.joay-filter-toggle .elementor-button,
a.joay-filter-toggle {
  color: var(--joay-ink) !important;
}
.joay-guide-card .elementor-button {
  color: var(--joay-primary-dark) !important;
  padding-left: 0 !important;
}
.joay-guide-card .elementor-button:hover { color: var(--joay-primary) !important; }

/* ==========================================================================
   CAMADA 3 — Revisão UX (2ª rodada): correções confirmadas
   ========================================================================== */

/* 1. Menu mobile ilegível: a regra creme era ampla demais e pegava o dropdown.
   Dropdown (painel branco) volta a texto tinta. */
.joay-nav-strip nav.elementor-nav-menu--dropdown ul.elementor-nav-menu > li > a.elementor-item,
.joay-nav-strip .elementor-nav-menu--dropdown a.elementor-item,
.joay-nav-strip .elementor-nav-menu--dropdown a.elementor-sub-item {
  color: var(--joay-ink) !important;
  text-shadow: none;
}
.joay-nav-strip .elementor-nav-menu--dropdown a.elementor-item:hover,
.joay-nav-strip .elementor-nav-menu--dropdown a.elementor-sub-item:hover {
  color: var(--joay-primary-dark) !important;
  background: var(--joay-cream) !important;
}

/* 2. Mini-cart: linha de quantidade legível + alvo de toque do remover */
.elementor-menu-cart__main .quantity { color: #5A544C !important; }
.elementor-menu-cart__product-remove,
.elementor-menu-cart__main a.remove {
  min-width: 32px; min-height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
}

/* 3. Waitlist Moda Country: erros legíveis sobre o card laranja */
.joay-waitlist-form .elementor-message-danger,
.joay-waitlist-form .elementor-error,
.joay-waitlist-form .help-inline,
.joay-waitlist-form .elementor-help-inline {
  color: #fff !important;
  font-weight: 700;
  text-shadow: 0 1px 4px rgba(25,20,16,.45);
}
.joay-waitlist-form input.elementor-field-textual.elementor-error {
  border: 2px solid #fff !important;
}

/* 4. Sticky CTA da PDP acima das abas */
.joay-sticky-cta { z-index: 998 !important; }

/* 5. FAB WhatsApp: fora do caminho dos CTAs críticos */
body.woocommerce-checkout #floating-whatsapp,
body.woocommerce-cart #floating-whatsapp { display: none !important; }
@media (max-width: 880px) {
  body.single-product #floating-whatsapp { bottom: 92px !important; }
}

/* 6. Carrossel Destaques: sem setas no mobile (swipe) */
@media (max-width: 767px) {
  .joay-rail .elementor-swiper-button { display: none !important; }
}

/* 7. Hero: subtítulo não atravessa os packshots */
@media (min-width: 881px) {
  .joay-hero .elementor-widget-text-editor,
  .joay-hero .elementor-widget-text-editor .elementor-widget-container p {
    max-width: 560px !important;
  }
}

/* 8. Título do card agora é link — herda cor e ganha hover */
.joay-card-title a { color: inherit; text-decoration: none; }
.joay-card-title a:hover { color: var(--joay-primary-dark); }

/* 9. Headings da sidebar renderizados pelos shortcodes */
.joay-side-heading {
  font-family: "Alfa Slab One", serif;
  font-size: 15px;
  font-weight: 400;
  color: var(--joay-ink);
  margin: 14px 0 8px;
}
.joay-sidenav .joay-side-heading:first-child { margin-top: 0; }

/* 10. Links dentro da mensagem de estado vazio */
.e-loop-nothing-found-message__text a { color: var(--joay-primary-dark); font-weight: 700; }

/* ==========================================================================
   CAMADA 3 — Ajustes do Robson (topbar, ícones, footer com pôr-do-sol)
   ========================================================================== */
/* Links Quem Somos/Contato na barra superior */
.joay-topbar-links .elementor-icon-list-text { color: #F6EDE0; font-size: .8rem; font-weight: 600; }
.joay-topbar-links .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--joay-gold); }

/* Ícones conta/carrinho: mesma família (eicons), mesmo tamanho óptico */
.joay-icon-conta .elementor-icon { font-size: 24px; }
.joay-icon-conta .elementor-icon svg { width: 24px; height: 24px; }

/* Footer sobre a foto: reforço de legibilidade */
.joay-footer-main { position: relative; }
.joay-footer-main .joay-side-list a,
.joay-footer-main .elementor-icon-list-text { text-shadow: 0 1px 3px rgba(25,20,16,.5); }

/* Topbar: contatos não quebram em duas linhas */
.joay-topbar .elementor-icon-list-items.elementor-inline-items { flex-wrap: nowrap; }
@media (max-width: 880px) {
  .joay-topbar .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; }
}
/* Conteúdo do footer sempre acima do overlay (iframe do mapa incluso) */
.joay-footer-main > .e-con-inner { position: relative; z-index: 2; }

/* Topbar: contatos numa linha só no desktop (vence a regra do widget) */
@media (min-width: 881px) {
  .joay-topbar .elementor-widget-icon-list .elementor-icon-list-items.elementor-inline-items { flex-wrap: nowrap !important; }
  .joay-topbar .elementor-widget-icon-list { flex-shrink: 0; }
}

/* Ícone de conta em SVG no mesmo traço do carrinho (eicon cart-light) */
.joay-account-link {
  display: inline-flex;
  align-items: center;
  color: var(--joay-ink) !important;
  transition: color .15s ease, transform .12s ease;
}
.joay-account-link:hover { color: var(--joay-primary) !important; transform: translateY(-1px); }
.joay-account-link svg { display: block; }

/* Carrinho: esconder a bolha quando vazio */
.elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter="0"] { display: none !important; }

/* ==========================================================================
   CAMADA 3 — Ajustes Robson (rodada 2): abas da PDP, mini-cart, checkout
   ========================================================================== */

/* ---- PDP: abas Descrição/Info/Avaliações na marca ---- */
.woocommerce div.product .woocommerce-tabs ul.wc-tabs {
  display: flex; gap: .5rem;
  border: 0 !important; margin: 0 0 -1px; padding: 0;
  background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li {
  background: #fff !important;
  border: 1px solid var(--joay-border) !important;
  border-radius: 999px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li a {
  padding: .6em 1.4em !important;
  font-weight: 600 !important;
  color: #5A544C !important;
  font-size: .92rem;
}
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li.active {
  background: var(--joay-ink) !important;
  border-color: var(--joay-ink) !important;
}
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li.active a { color: #fff !important; }
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  background: #fff;
  border: 1px solid var(--joay-border);
  border-radius: 14px;
  padding: 1.6rem 1.8rem !important;
  margin-top: 1rem;
  box-shadow: var(--joay-shadow);
}
.woocommerce-Tabs-panel h2 {
  font-family: "Alfa Slab One", serif;
  font-weight: 400;
  font-size: 1.25rem;
  color: var(--joay-ink);
}
.woocommerce table.woocommerce-product-attributes {
  border: 0;
}
.woocommerce table.woocommerce-product-attributes th {
  color: var(--joay-ink); background: var(--joay-cream);
}

/* ---- Mini-cart: botões empilhados, uma linha cada ---- */
.elementor-menu-cart__footer-buttons {
  display: flex !important;
  flex-direction: column;
  gap: .6rem;
}
.elementor-menu-cart__footer-buttons .elementor-button {
  width: 100%;
  white-space: nowrap;
  border-radius: 999px !important;
  font-weight: 700;
}
.elementor-menu-cart__main .elementor-button--checkout { order: -1; } /* Finalizar compra primeiro */

/* ---- Notice de "adicionado ao carrinho" some (feedback = mini-cart abre) ---- */
body.single-product .woocommerce-message { display: none !important; }

/* ---- Checkout: identidade Joay ---- */
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .wp-block-post-title,
body.woocommerce-checkout h1 {
  font-family: "Alfa Slab One", serif;
  font-weight: 400;
  color: var(--joay-ink);
}
/* títulos de seção */
.wc-block-components-checkout-step__heading .wc-block-components-title,
.wc-block-components-title {
  font-family: "Alfa Slab One", serif !important;
  font-weight: 400 !important;
  color: var(--joay-ink) !important;
  letter-spacing: .01em;
}
/* inputs no padrão do site */
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-state-input select,
.wc-block-components-select .components-custom-select-control__button {
  border: 1px solid var(--joay-border) !important;
  border-radius: 10px !important;
  background: #fff;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus {
  border-color: var(--joay-primary) !important;
  box-shadow: 0 0 0 3px rgba(222,94,18,.15) !important;
}
/* radios/checkbox na marca */
.wc-block-components-radio-control__option,
.wc-block-components-checkbox {
  --wc-blue: var(--joay-primary);
}
.wc-block-components-radio-control__input:checked { border-color: var(--joay-primary) !important; background: var(--joay-primary) !important; }
.wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--joay-primary) !important; border-color: var(--joay-primary) !important; }
/* painéis de entrega/pagamento */
.wc-block-components-radio-control,
#payment-method .wc-block-components-radio-control__option,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option {
  border-radius: 12px;
}
/* resumo do pedido como card da marca */
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-components-order-summary {
  background: transparent;
}
.wc-block-components-sidebar {
  background: #fff;
  border: 1px solid var(--joay-border);
  border-radius: 14px;
  box-shadow: var(--joay-shadow);
  padding: 8px 16px 16px !important;
}
.wc-block-components-order-summary-item__image img { border-radius: 8px; border: 1px solid var(--joay-border); }
/* fundo levemente quente na página */
body.woocommerce-checkout { background: #FFFDF9; }

/* mini-footer do checkout */
.joay-checkout-footer {
  max-width: 1120px;
  margin: 40px auto 0;
  padding: 18px 20px calc(20px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--joay-border);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  color: #8a8175;
  font-size: .82rem;
}
.joay-checkout-footer .joay-cf-trust { display: flex; flex-wrap: wrap; gap: 1.2rem; font-weight: 600; color: #5A544C; }
.joay-checkout-footer a { color: var(--joay-primary-dark); text-decoration: none; font-weight: 600; }
.joay-checkout-footer a:hover { color: var(--joay-primary); }
@media (max-width: 700px) { .joay-checkout-footer { flex-direction: column; align-items: flex-start; } }

/* ==========================================================================
   CAMADA 3 — Ajustes Robson (rodada 3): ícones pareados, topbar premium, trust band
   ========================================================================== */

/* ---- Carrinho: substitui o eicon (tinha "caixa") por SVG no traço do usuário ---- */
.elementor-menu-cart__toggle .elementor-button-icon i,
.elementor-menu-cart__toggle .elementor-button-icon > svg { display: none !important; }
.elementor-menu-cart__toggle .elementor-button-icon::before {
  content: "";
  display: block;
  width: 23px;
  height: 23px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.4"/><circle cx="18" cy="20" r="1.4"/><path d="M2 3h2.6l2.5 11.6a1.8 1.8 0 0 0 1.8 1.4h7.9a1.8 1.8 0 0 0 1.8-1.4L21 7H6"/></svg>') center / contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.4"/><circle cx="18" cy="20" r="1.4"/><path d="M2 3h2.6l2.5 11.6a1.8 1.8 0 0 0 1.8 1.4h7.9a1.8 1.8 0 0 0 1.8-1.4L21 7H6"/></svg>') center / contain no-repeat;
}
.elementor-menu-cart__toggle .elementor-button-icon { color: var(--joay-ink); position: relative; }
.elementor-menu-cart__toggle:hover .elementor-button-icon { color: var(--joay-primary); }

/* ---- Topbar premium: grupos alinhados, links em small caps, divisor ---- */
.joay-topbar { font-size: .78rem; }
.joay-topbar .elementor-icon-list-item,
.joay-topbar .elementor-icon-list-item a { align-items: center; }
.joay-topbar-links .elementor-icon-list-text {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .72rem !important;
  font-weight: 700;
}
.joay-topbar-right { position: relative; }
.joay-topbar-right .elementor-widget-social-icons {
  border-left: 1px solid rgba(246,237,224,.22);
  padding-left: 16px;
}
.joay-topbar .elementor-social-icon { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; }

/* ---- Trust band premium (abaixo do hero) ---- */
.joay-trust-band .joay-trust-item .elementor-icon-box-wrapper,
.joay-trust-band .joay-trust-item { min-width: 0; }
.joay-trust-t {
  margin: 0 !important;
  font-weight: 700;
  font-size: .95rem;
  color: #FFF8EF;
  line-height: 1.25;
}
.joay-trust-s {
  margin: 2px 0 0 !important;
  font-size: .78rem;
  color: #B9AE9F;
  line-height: 1.3;
}
.joay-trust-band .elementor-icon { display: inline-flex; }
@media (max-width: 640px) {
  .joay-trust-band .joay-trust-item { width: 100% !important; }
}

/* Carrinho: remove a borda default do toggle (a "caixa" em volta do ícone) */
.elementor-menu-cart__toggle .elementor-button,
.elementor-menu-cart__toggle_button {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Banners promocionais da home */
.joay-promo .joay-promo-cta { margin: 4px 0 0 !important; }
.joay-promo:hover .joay-promo-cta { text-decoration: underline; }
.joay-promo h3, .joay-promo .elementor-heading-title { text-shadow: 0 1px 10px rgba(25,20,16,.45); }
.joay-promo p { text-shadow: 0 1px 6px rgba(25,20,16,.45); }

/* Topbar: grupo Quem Somos/Contato/redes alinhado à direita */
.joay-topbar .joay-topbar-right {
  margin-left: auto !important;
  width: auto !important;
  flex-grow: 0 !important;
}

/* ==========================================================================
   CAMADA 3 — Ajustes Robson (rodada 5): PDP
   ========================================================================== */

/* Preço sem sublinhado (o <ins> do sale vinha com underline cortando o cifrão) */
.woocommerce div.product ins,
.elementor-widget-woocommerce-product-price ins,
.joay-card ins,
.wc-block-components-product-price ins {
  text-decoration: none !important;
}

/* Abas: respiro entre pills e painel; sem linha de apoio */
.woocommerce div.product .woocommerce-tabs ul.wc-tabs {
  margin: 0 0 14px !important;
  border-bottom: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.wc-tabs::before,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs::after {
  display: none !important;
  border: 0 !important;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel { margin-top: 0; }

/* Box de frete em destaque na PDP */
.joay-frete-box {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--joay-border);
  border-left: 4px solid var(--joay-primary);
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 4px;
}
.joay-frete-linha {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--joay-primary-dark);
}
.joay-frete-linha svg { flex-shrink: 0; margin-top: 2px; }
.joay-frete-linha strong {
  display: block;
  color: var(--joay-ink);
  font-size: .92rem;
}
.joay-frete-linha span {
  display: block;
  color: #7A7061;
  font-size: .82rem;
  line-height: 1.4;
}

/* Abas: elimina qualquer hairline residual do wrapper/pseudo-elementos */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .wc-tabs-wrapper { border: 0 !important; box-shadow: none !important; }
.woocommerce div.product .woocommerce-tabs::before,
.woocommerce div.product .woocommerce-tabs::after,
.woocommerce div.product .wc-tabs-wrapper::before,
.woocommerce div.product .wc-tabs-wrapper::after,
.elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs ul::before,
.elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs ul::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

/* Painel das abas: vence o CSS default do widget do Elementor */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  background: #fff !important;
  border: 1px solid var(--joay-border) !important;
  border-radius: 14px !important;
  margin-top: 0 !important;
  padding: 1.6rem 1.8rem !important;
  box-shadow: var(--joay-shadow) !important;
}

/* ==========================================================================
   CAMADA 3 — r6: faixa pagamento/envio/segurança (pré-footer, todas as páginas)
   ========================================================================== */
.joay-selos {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 48px;
}
.joay-selos-grupo h4 {
  margin: 0 0 10px;
  font-family: "Alfa Slab One", serif;
  font-size: .95rem;
  font-weight: 400;
  letter-spacing: .01em;
  color: var(--joay-ink);
}
.joay-selos-lista { display: flex; flex-wrap: wrap; gap: 8px; }
.joay-selo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  border: 1px solid var(--joay-border);
  border-radius: 999px;
  background: #fff;
  color: #5A544C;
  font-size: .76rem;
  font-weight: 600;
  padding: 7px 13px;
}
.joay-selo svg { color: var(--joay-gold); }
.joay-selo-seg { color: #2e7d32; border-color: #d3e3d4; }
.joay-selo-seg svg { color: #2e7d32; }
@media (min-width: 1025px) {
  .joay-selos-lista { flex-wrap: nowrap; }
}
@media (max-width: 880px) {
  .joay-selos { gap: 18px 28px; }
}

/* Selos: três grupos numa linha no desktop (chips quebram dentro do grupo) */
@media (min-width: 1025px) {
  .joay-selos { flex-wrap: nowrap; justify-content: space-between; }
  .joay-selos-grupo { min-width: 0; }
  .joay-selos-pag { flex: 0 1 52%; }
}
