/*
Theme Name: Nexo Ambientes
Theme URI: https://nexoambientes.com.br
Template: hello-elementor
Author: Nexo Ambientes
Description: Tema filho do Hello Elementor com a identidade visual da Nexo Ambientes — paleta, tipografia e componentes base para o ecossistema digital (site + WooCommerce + Área de Parceiros).
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 8.1
License: Proprietary
Text Domain: nexo
*/

/* =========================================================
   TOKENS — identidade visual Nexo
   ========================================================= */
:root{
  /* paleta extraída do Figma "Nexo Ambientes" */
  --nexo-bg:        #FEF8EF;   /* creme quente (fundo principal) */
  --nexo-bg-alt:    #EDE5D9;   /* areia */
  --nexo-bg-alt2:   #F5EEE3;   /* areia clara */
  --nexo-ink:       #1E1E1E;   /* preto suave */
  --nexo-ink-soft:  #2A2A2A;
  --nexo-muted:     #A89B8A;   /* taupe (labels, textos secundários) */
  --nexo-muted-dark:#6B6357;
  --nexo-terra:     #AD5D3A;   /* terracota (acento principal) */
  --nexo-terra-dark:#8E4A2D;
  --nexo-terra-soft:#C47A57;
  --nexo-line:      #E4DCCF;
  --nexo-danger:    #B04A4A;

  /* aliases legados → terracota (compat com código antigo que usa --nexo-gold) */
  --nexo-gold:      var(--nexo-terra);
  --nexo-gold-dark: var(--nexo-terra-dark);

  --nexo-serif: 'DM Sans', Georgia, 'Times New Roman', serif;
  --nexo-sans:  'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --nexo-radius: 2px;
  --nexo-shadow-sm: 0 1px 2px rgba(30,30,30,.06);
  --nexo-shadow-md: 0 8px 24px rgba(30,30,30,.08);
}

/* =========================================================
   BASE
   ========================================================= */
body{
  background: var(--nexo-bg);
  color: var(--nexo-ink);
  font-family: var(--nexo-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a{ color: var(--nexo-ink); text-decoration: none; transition: color .2s; }
a:hover{ color: var(--nexo-gold); }

h1,h2,h3,h4,h5{
  font-family: var(--nexo-serif);
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--nexo-ink);
  margin: 0 0 .6em;
}
h1{ font-size: clamp(40px, 5vw, 64px); line-height: 1.05; }
h2{ font-size: clamp(28px, 3.4vw, 42px); line-height: 1.15; }
h3{ font-size: clamp(22px, 2.4vw, 28px); }

.eyebrow{
  font-family: var(--nexo-sans);
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--nexo-gold);
  display: inline-block;
  margin-bottom: 14px;
}

/* =========================================================
   BUTTONS
   ========================================================= */
.nexo-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  background: var(--nexo-ink);
  color: var(--nexo-bg);
  font-family: var(--nexo-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  border: 1px solid var(--nexo-ink);
  border-radius: var(--nexo-radius);
  cursor: pointer;
  transition: all .25s ease;
}
.nexo-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover{
  background: var(--nexo-gold);
  border-color: var(--nexo-gold);
  color: #fff;
}
.nexo-btn--ghost{
  background: transparent;
  color: var(--nexo-ink);
}
.nexo-btn--ghost:hover{
  background: var(--nexo-ink);
  color: var(--nexo-bg);
}
.nexo-btn--whatsapp{
  background: #25D366;
  border-color: #25D366;
  color: #fff;
}
.nexo-btn--whatsapp:hover{
  background: #1DA851;
  border-color: #1DA851;
}

/* =========================================================
   WOOCOMMERCE — refinamentos
   ========================================================= */
.woocommerce ul.products li.product .price{
  color: var(--nexo-ink);
  font-weight: 500;
  font-size: 18px;
}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--nexo-serif);
  font-size: 18px !important;
  font-weight: 500;
  color: var(--nexo-ink);
}
.woocommerce span.onsale{
  background: var(--nexo-gold);
  border-radius: 0;
  font-family: var(--nexo-sans);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 12px;
}
.woocommerce .star-rating span::before{ color: var(--nexo-gold); }
.woocommerce-product-gallery__trigger{ background: var(--nexo-ink); color: var(--nexo-bg); border-radius: 50%; }

/* Card de produto "sob consulta" */
.nexo-sob-consulta-badge{
  display: inline-block;
  padding: 4px 10px;
  background: var(--nexo-bg-alt);
  color: var(--nexo-muted);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

/* =========================================================
   CATÁLOGO — swatches + specs
   ========================================================= */
.nexo-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:8px 0 4px;
}
.nexo-swatch{
  position:relative;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid var(--nexo-line);
  border-radius:50%;
  cursor:pointer;
  background-size:cover;
  background-position:center;
  transition:all .2s ease;
  outline:none;
}
.nexo-swatch:hover{ transform:scale(1.08); border-color:var(--nexo-gold); }
.nexo-swatch.is-active{
  border:2px solid var(--nexo-ink);
  box-shadow:0 0 0 2px var(--nexo-bg), 0 0 0 3px var(--nexo-gold);
}
.nexo-swatch__label{
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  transform:translateX(-50%);
  background:var(--nexo-ink);
  color:var(--nexo-bg);
  font-size:11px;
  letter-spacing:.08em;
  padding:4px 8px;
  border-radius:2px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s;
}
.nexo-swatch:hover .nexo-swatch__label{ opacity:1; }

.nexo-product-specs{
  list-style:none;
  margin:18px 0 22px;
  padding:18px 0;
  border-top:1px solid var(--nexo-line);
  border-bottom:1px solid var(--nexo-line);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:14px;
}
.nexo-product-specs li{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.nexo-product-specs li span{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--nexo-muted);
}
.nexo-product-specs li strong{
  font-family:var(--nexo-serif);
  font-size:16px;
  font-weight:500;
  color:var(--nexo-ink);
}

/* =========================================================
   ELEMENTOR — herança de tokens
   ========================================================= */
.elementor-button{
  font-family: var(--nexo-sans) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
