/* =========================================================
   NecoExpress — base global (extraído do design original)
   ========================================================= */

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  margin:0;
  font-family:'Montserrat',sans-serif;
  color:#1a1a1a;
  background:#FBF6EF;
  -webkit-font-smoothing:antialiased;
}
::selection{background:#FF6B00;color:#fff}
input::placeholder{color:#b3aa9c}
a{color:inherit}
img{max-width:100%;height:auto;display:block}

/* FAQ accordion */
details.faq{border-bottom:1px solid #E6DECF}
details.faq:first-child{border-top:1px solid #E6DECF}
details.faq summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;
  align-items:center;gap:20px;padding:22px 4px;font-size:17px;font-weight:700;
  color:#1a1a1a;letter-spacing:-.01em;
}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary .ic{position:relative;width:18px;height:18px;flex:none}
details.faq summary .ic::before,
details.faq summary .ic::after{content:'';position:absolute;background:#FF6B00;border-radius:2px}
details.faq summary .ic::before{top:8px;left:1px;width:16px;height:2px}
details.faq summary .ic::after{top:1px;left:8px;width:2px;height:16px;transition:transform .2s,opacity .2s}
details.faq[open] summary .ic::after{transform:scaleY(0);opacity:0}
details.faq .ans{padding:0 4px 22px;font-size:15px;color:#6a6055;line-height:1.7;max-width:680px}

/* Marquee (barra laranja topo) */
@keyframes necoMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.neco-marquee{
  display:flex;flex-shrink:0;gap:56px;padding-right:56px;white-space:nowrap;
  animation:necoMarquee 38s linear infinite;will-change:transform;
}
.neco-marquee-track{
  display:flex;overflow:hidden;background:#FF6B00;color:#fff;padding:9px 0;
  font-size:12px;font-weight:600;letter-spacing:.06em;
}
.neco-marquee span{flex:none}

/* Hover utilitários (substituem o style-hover do DC) */
.neco-btn-primary{
  background:#FF6B00;color:#fff;border:none;border-radius:999px;padding:16px 36px;
  font:800 14px 'Montserrat',sans-serif;letter-spacing:.04em;cursor:pointer;
  box-shadow:0 10px 24px rgba(255,107,0,.3);transition:transform .15s, box-shadow .15s;
  text-decoration:none;display:inline-flex;align-items:center;justify-content:center;
}
.neco-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(255,107,0,.4)}

.neco-btn-outline{
  background:#fff;color:#1a1a1a;border:1.5px solid #E6DECF;border-radius:999px;
  padding:15px 30px;font:700 14px 'Montserrat',sans-serif;cursor:pointer;
  transition:border-color .15s;text-decoration:none;display:inline-flex;align-items:center;
}
.neco-btn-outline:hover{border-color:#FF6B00}

.neco-card-product{transition:transform .18s ease, box-shadow .18s ease}
.neco-card-product:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(45,33,20,.13)}
.neco-card-blog{transition:transform .18s ease, box-shadow .18s ease}
.neco-card-blog:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(45,33,20,.13)}

.neco-card-product .neco-add{transition:background .16s, color .16s}
.neco-card-product .neco-add:hover{background:#FF6B00 !important;color:#fff !important}

.neco-nav-link{transition:color .15s}
.neco-nav-link:hover{color:#FF6B00}

.neco-footer-link{color:#ccc;font-size:14px;cursor:pointer;text-decoration:none;transition:color .15s}
.neco-footer-link:hover{color:#fff}

.neco-whats-fab{transition:transform .18s ease, box-shadow .18s ease}
.neco-whats-fab:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 24px rgba(0,0,0,.22)}

/* Imagens em placeholders (fallback quando a imagem não está disponível) */
.neco-img-fit{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Inputs com foco laranja */
input.neco-input:focus,
textarea.neco-input:focus{
  border-color:#FF6B00;
  box-shadow:0 0 0 3px rgba(255,107,0,.13);
}

/* Reseta header/footer padrão do Hello Elementor */
body.elementor-default header[data-elementor-type],
body.elementor-default footer[data-elementor-type]{display:none}

/* Conteúdo de páginas/posts (cms content) */
.neco-cms-content h2{margin:18px 0 0;font-size:clamp(24px,3vw,30px);font-weight:900;letter-spacing:-.015em;line-height:1.2;color:#1a1a1a}
.neco-cms-content h3{margin:14px 0 0;font-size:22px;font-weight:800;letter-spacing:-.01em;color:#1a1a1a}
.neco-cms-content p{margin:0;font-size:18px;color:#3a342c;line-height:1.75}
.neco-cms-content blockquote{margin:8px 0;padding:8px 0 8px 26px;border-left:4px solid #FF6B00;font-size:21px;font-weight:700;font-style:italic;color:#1a1a1a;line-height:1.5}
.neco-cms-content ul, .neco-cms-content ol{padding-left:22px;color:#3a342c;line-height:1.75;font-size:18px}
.neco-cms-content li{margin:6px 0}
.neco-cms-content a{color:#FF6B00;text-decoration:underline}
.neco-cms-content img{border-radius:18px;margin:14px 0}
