/* ==========================================================================
   NecoExpress — main stylesheet
   Extraído do protótipo HTML/CSS estático
   Tokens: laranja #FF6B00 · creme #FBF6EF · preto #1A1A1A
   ========================================================================== */

:root{
  --ne-bg:#FBF6EF;
  --ne-bg-soft:#F2EEE7;
  --ne-bg-warm:#FFEEDF;
  --ne-border:#E6DECF;
  --ne-border-soft:#F0EAE0;
  --ne-ink:#1A1A1A;
  --ne-ink-2:#3a342c;
  --ne-muted:#6a6055;
  --ne-muted-2:#7a6b58;
  --ne-muted-3:#8a8073;
  --ne-muted-4:#a89e8e;
  --ne-muted-5:#b3aa9c;
  --ne-muted-6:#c2b9aa;
  --ne-brand:#FF6B00;
  --ne-brand-soft:#FFE0C7;
  --ne-success:#28A745;
  --ne-success-2:#1f9d3d;
  --ne-warning:#C7920A;
  --ne-danger:#DC3545;
  --ne-shadow-sm:0 4px 14px rgba(0,0,0,.08);
  --ne-shadow-md:0 8px 26px rgba(45,33,20,.06);
  --ne-shadow-lg:0 14px 40px rgba(45,33,20,.1);
  --ne-shadow-xl:0 24px 60px rgba(45,33,20,.12);
  --ne-shadow-brand:0 10px 24px rgba(255,107,0,.3);
  --ne-shadow-brand-hover:0 14px 30px rgba(255,107,0,.4);
  --ne-container:1240px;
}

/* ---------- Reset minimal ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth; height:100%}
body{
  margin:0;
  font-family:'Montserrat', system-ui, -apple-system, sans-serif;
  color:var(--ne-ink);
  background:var(--ne-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:16px;
  line-height:1.5;

  /* ---- Sticky footer ---- */
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.ne-main{flex:1 0 auto; display:block}
.ne-footer{flex-shrink:0; margin-top:auto}
::selection{background:var(--ne-brand); color:#fff}
input::placeholder, textarea::placeholder{color:var(--ne-muted-5)}
img, video{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
button{font-family:inherit}

/* ---------- Layout container ---------- */
.ne-container{
  max-width:var(--ne-container);
  margin:0 auto;
  padding:0 32px;
}

/* ---------- Announcement bar ---------- */
.ne-announcement{
  background:var(--ne-brand);
  color:#fff;
  text-align:center;
  padding:10px 16px;
  font-size:12px;
  letter-spacing:.08em;
  font-weight:600;
}

/* ---------- Header ---------- */
.ne-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(251,246,239,.9);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 2px 18px rgba(45,33,20,.05);
}
.ne-header__inner{
  max-width:var(--ne-container);
  margin:0 auto;
  padding:18px 32px;
  display:flex;
  align-items:center;
  gap:24px;
}
.ne-logo{
  flex:none;
  font-weight:900;
  font-size:23px;
  letter-spacing:-.02em;
  line-height:1;
  white-space:nowrap;
  color:var(--ne-ink);
}
.ne-logo__accent{color:var(--ne-brand)}
.ne-nav{
  flex:1;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:30px;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0;
}
.ne-nav a{
  font-size:14px;
  font-weight:600;
  color:var(--ne-ink-2);
  transition:color .15s;
}
.ne-nav a:hover, .ne-nav .current-menu-item > a{color:var(--ne-brand)}
.ne-header__tools{
  flex:none;
  display:flex;
  align-items:center;
  gap:20px;
}
.ne-icon-btn{
  background:none; border:none; padding:0; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--ne-ink);
}
.ne-cart{position:relative; cursor:pointer; display:flex}
.ne-cart__count{
  position:absolute;
  top:-7px; right:-9px;
  min-width:18px; height:18px;
  padding:0 4px;
  background:var(--ne-brand);
  color:#fff;
  border-radius:9px;
  font-size:11px;
  font-weight:800;
  display:flex; align-items:center; justify-content:center;
}

/* ---------- Buttons ---------- */
.ne-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:none;
  cursor:pointer;
  font:800 14px 'Montserrat', sans-serif;
  letter-spacing:.04em;
  padding:16px 36px;
  transition:transform .15s, box-shadow .15s, background .16s, color .16s, border-color .15s;
  text-align:center;
}
.ne-btn--primary{
  background:var(--ne-brand);
  color:#fff;
  box-shadow:var(--ne-shadow-brand);
}
.ne-btn--primary:hover{transform:translateY(-2px); box-shadow:var(--ne-shadow-brand-hover)}
.ne-btn--ghost{
  background:#fff;
  color:var(--ne-ink);
  border:1.5px solid var(--ne-border);
  padding:15px 30px;
  font-weight:700;
}
.ne-btn--ghost:hover{border-color:var(--ne-brand)}
.ne-btn--outline{
  background:transparent;
  color:var(--ne-brand);
  border:1.5px solid var(--ne-brand);
  padding:11px 22px;
  font-weight:800;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  width:100%;
}
.ne-btn--outline:hover{background:var(--ne-brand); color:#fff}
.ne-btn--block{width:100%}
.ne-btn--cta{
  height:58px;
  padding:0 32px;
  font-size:16px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* ---------- Section primitives ---------- */
.ne-eyebrow{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--ne-brand);
}
.ne-eyebrow--inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  background:var(--ne-bg-warm);
  border-radius:999px;
  padding:7px 15px;
  font-size:12px;
  letter-spacing:.1em;
  font-weight:700;
  color:var(--ne-brand);
  text-transform:uppercase;
}
.ne-h1{
  margin:0;
  font-size:clamp(42px,6vw,82px);
  font-weight:900;
  line-height:.97;
  letter-spacing:-.025em;
}
.ne-h2{
  margin:0;
  font-size:clamp(30px,3.6vw,46px);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.02;
}
.ne-h3{
  margin:0;
  font-size:26px;
  font-weight:900;
  letter-spacing:-.015em;
}
.ne-lead{
  margin:0;
  font-size:clamp(16px,1.6vw,21px);
  color:var(--ne-muted);
  max-width:460px;
  line-height:1.55;
}
.ne-link-brand{
  font-size:14px;
  font-weight:700;
  color:var(--ne-brand);
  white-space:nowrap;
}

/* ---------- Hero ---------- */
.ne-hero{padding:0}
.ne-hero__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  gap:56px;
  align-items:center;
  padding:72px 0;
}
.ne-hero__copy{display:flex; flex-direction:column; gap:24px}
.ne-hero__ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:8px; align-items:center}
.ne-hero__rating{
  display:flex; align-items:center; gap:10px; margin-top:6px;
  color:var(--ne-muted-3); font-size:13px; font-weight:600;
}
.ne-hero__rating--stars{color:var(--ne-brand); letter-spacing:2px}
.ne-hero__media{position:relative; padding:0 14px}
.ne-hero__video-wrap{
  position:relative;
  aspect-ratio:4 / 5;
  border-radius:28px;
  background:var(--ne-ink);
  box-shadow:var(--ne-shadow-xl);
  overflow:hidden;
}
.ne-hero__video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.ne-hero__seal{
  position:absolute; bottom:-20px; right:-4px;
  width:152px; height:152px; border-radius:50%;
  background:var(--ne-brand); color:#fff;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  transform:rotate(-8deg);
  box-shadow:0 16px 36px rgba(255,107,0,.4);
}
.ne-hero__seal-small{font-size:10px; letter-spacing:.16em; font-weight:700}
.ne-hero__seal-big{font-size:38px; font-weight:900; line-height:1}

/* ---------- Section headers ---------- */
.ne-section{padding:32px 0 84px}
.ne-section--tight{padding:0 0 84px}
.ne-section--blog{padding:0 0 90px}
.ne-section__head{
  display:flex; flex-direction:column; gap:12px;
  margin-bottom:38px;
}
.ne-section__head--row{
  flex-direction:row;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  flex-wrap:wrap;
}
.ne-section__head--row .ne-section__intro{display:flex; flex-direction:column; gap:12px}
.ne-section__sub{
  margin:0;
  font-size:17px;
  color:var(--ne-muted);
  max-width:520px;
}

/* ---------- Product grid ---------- */
.ne-grid-products{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(244px, 1fr));
  gap:24px;
}
.ne-grid-products--cat{
  grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
}

/* ---------- Product card (espelha ProductCardSoft) ---------- */
.ne-product-card{
  background:#fff;
  border-radius:22px;
  padding:13px;
  box-shadow:var(--ne-shadow-md);
  display:flex; flex-direction:column;
  gap:13px;
  height:100%;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
  text-decoration:none;
  color:inherit;
  border:none;
}
.ne-product-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(45,33,20,.13);
}
.ne-product-card__media{
  position:relative;
  border-radius:16px;
  aspect-ratio:1 / 1;
  background:var(--ne-bg-soft);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ne-product-card__media img{
  width:100%; height:100%;
  object-fit:cover;
}
.ne-product-card__placeholder{
  font:500 11px ui-monospace, 'SF Mono', monospace;
  color:var(--ne-muted-5);
  letter-spacing:.03em;
}
.ne-badge-discount{
  position:absolute; top:11px; left:11px;
  background:#fff;
  border:1.5px solid var(--ne-brand);
  color:var(--ne-brand);
  border-radius:999px;
  padding:5px 11px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.01em;
}
.ne-seal-neco{
  position:absolute; top:11px; right:11px;
  background:rgba(255,255,255,.94);
  color:var(--ne-ink);
  border-radius:999px;
  padding:5px 10px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  box-shadow:var(--ne-shadow-sm);
}
.ne-soldout{
  position:absolute; inset:0;
  background:rgba(247,244,239,.74);
  display:flex; align-items:center; justify-content:center;
}
.ne-soldout__pill{
  background:var(--ne-danger);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:8px 15px;
  border-radius:999px;
}
.ne-product-card__body{
  padding:2px 6px 6px;
  display:flex; flex-direction:column;
  gap:7px;
  flex:1;
}
.ne-product-card__cat{
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ne-muted-4);
  font-weight:700;
}
.ne-product-card__title{
  margin:0;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  color:var(--ne-ink);
}
.ne-product-card__title a{color:inherit}
.ne-stock{font:600 11px 'Montserrat', sans-serif}
.ne-stock--in{color:var(--ne-success-2)}
.ne-stock--low{color:var(--ne-warning)}
.ne-stock--out{color:var(--ne-danger)}
.ne-price-row{
  display:flex;
  align-items:baseline;
  gap:9px;
  margin-top:2px;
}
.ne-price{
  font-size:21px;
  font-weight:800;
  color:var(--ne-brand);
  letter-spacing:-.01em;
}
.ne-price--compare{
  font-size:13px;
  color:var(--ne-muted-5);
  text-decoration:line-through;
  font-weight:600;
}

/* ---------- Guarantees band ---------- */
.ne-guarantees{
  background:var(--ne-bg-warm);
  border-radius:30px;
  padding:56px clamp(28px, 5vw, 64px);
}
.ne-guarantees__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(290px, 1fr));
  gap:44px;
}
.ne-guarantees__item{
  display:flex; flex-direction:column;
  gap:14px;
}
.ne-guarantees__num{
  font-size:40px; font-weight:900;
  color:var(--ne-brand); line-height:1;
}
.ne-guarantees__title{
  margin:0;
  font-size:26px; font-weight:800;
  letter-spacing:-.01em;
}
.ne-guarantees__text{
  margin:0;
  font-size:16px;
  color:var(--ne-muted-2);
  line-height:1.55;
  max-width:440px;
}

/* ---------- Blog grid (home) ---------- */
.ne-grid-blog{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(330px, 1fr));
  gap:24px;
}
.ne-blog-card{
  background:#fff;
  border-radius:22px;
  padding:13px;
  box-shadow:var(--ne-shadow-md);
  display:flex; flex-direction:column;
  gap:14px;
  height:100%;
  cursor:pointer;
  transition:transform .18s, box-shadow .18s;
  text-decoration:none;
  color:inherit;
}
.ne-blog-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(45,33,20,.13);
}
.ne-blog-card__media{
  position:relative;
  border-radius:16px;
  aspect-ratio:16 / 10;
  background:var(--ne-bg-soft);
  overflow:hidden;
}
.ne-blog-card__media img{width:100%; height:100%; object-fit:cover}
.ne-blog-card__cat{
  position:absolute;
  top:11px; left:11px;
  background:rgba(255,255,255,.94);
  color:var(--ne-brand);
  border-radius:999px;
  padding:5px 12px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:var(--ne-shadow-sm);
}
.ne-blog-card__body{
  padding:4px 8px 8px;
  display:flex; flex-direction:column;
  gap:9px;
  flex:1;
}
.ne-blog-card__title{
  margin:0;
  font-size:18px;
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.01em;
  color:var(--ne-ink);
}
.ne-blog-card__excerpt{
  margin:0;
  font-size:13.5px;
  color:var(--ne-muted-2);
  line-height:1.55;
  flex:1;
}
.ne-blog-card__meta{
  display:flex; align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--ne-muted-4);
  font-weight:600;
  margin-top:2px;
}

/* ---------- Footer ---------- */
.ne-footer{
  background:var(--ne-ink);
  color:#fff;
  padding:60px 0 32px;
  margin-top:20px;
}
.ne-footer__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:40px;
  padding-bottom:44px;
  border-bottom:1px solid #333;
}
.ne-footer__col{
  display:flex; flex-direction:column;
  gap:12px;
}
.ne-footer__brand{display:flex; flex-direction:column; gap:14px}
.ne-footer__brand-text{
  margin:0;
  color:#9a948c;
  font-size:14px;
  line-height:1.6;
  max-width:260px;
}
.ne-footer__heading{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
  color:#777;
}
.ne-footer__col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px}
.ne-footer__col a{
  color:#ccc;
  font-size:14px;
  transition:color .15s;
}
.ne-footer__col a:hover{color:#fff}
.ne-footer__bottom{
  display:flex; justify-content:space-between;
  align-items:center; gap:20px;
  flex-wrap:wrap;
  padding-top:28px;
}
.ne-footer__copy{color:#777; font-size:13px}
.ne-footer__badges{display:flex; gap:10px; flex-wrap:wrap}
.ne-footer__badges span{
  border:1px solid #444;
  border-radius:999px;
  padding:6px 13px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  color:#aaa;
}

/* ---------- Page hero (breadcrumb + title) ---------- */
.ne-page{
  max-width:var(--ne-container);
  margin:0 auto;
  padding:36px 32px 84px;
}
.ne-page--narrow{max-width:880px}
.ne-page--policy{max-width:780px; padding:48px 32px 84px}
.ne-breadcrumb{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ne-muted-4);
  font-weight:600;
  margin-bottom:18px;
}
.ne-breadcrumb a{cursor:pointer}
.ne-page__title{
  margin:0 0 6px;
  font-size:clamp(30px, 4vw, 48px);
  font-weight:900;
  letter-spacing:-.02em;
}
.ne-page__meta{
  margin:0 0 36px;
  color:var(--ne-muted-3);
  font-size:15px;
  font-weight:600;
}

/* ---------- WooCommerce shop layout (espelha sc-if isCategory) ---------- */
.ne-shop{
  display:flex;
  gap:36px;
  flex-wrap:wrap;
  align-items:flex-start;
}
.ne-shop__sidebar{
  flex:none;
  width:240px;
  min-width:210px;
  background:#fff;
  border-radius:22px;
  padding:26px;
  box-shadow:var(--ne-shadow-md);
  display:flex;
  flex-direction:column;
  gap:30px;
  position:sticky;
  top:120px;
}
.ne-shop__sidebar h4{
  margin:0 0 16px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--ne-ink-2);
}
.ne-shop__sidebar .ne-filter-list,
.ne-shop__sidebar ul{
  display:flex; flex-direction:column; gap:11px;
  list-style:none; margin:0; padding:0;
}
.ne-shop__sidebar a, .ne-shop__sidebar label{
  font-size:14px;
  font-weight:600;
  color:var(--ne-muted-2);
  display:flex; align-items:center; gap:9px;
  cursor:pointer;
  transition:color .15s;
}
.ne-shop__sidebar a:hover, .ne-shop__sidebar label:hover{color:var(--ne-brand)}
.ne-shop__sidebar .current-cat > a, .ne-shop__sidebar .active a{color:var(--ne-brand)}
.ne-shop__sidebar input[type="checkbox"], .ne-shop__sidebar input[type="radio"]{
  accent-color:var(--ne-brand);
  width:15px; height:15px;
}
.ne-shop__main{flex:1; min-width:300px}

/* ---------- Single product (espelha sc-if isProduct) ---------- */
.ne-product{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(330px, 1fr));
  gap:48px;
  align-items:start;
}
.ne-product__gallery{display:flex; flex-direction:column; gap:14px}
.ne-product__main-image{
  position:relative;
  aspect-ratio:1 / 1;
  border-radius:24px;
  background:#fff;
  box-shadow:var(--ne-shadow-lg);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.ne-product__main-image > img{
  width:100%; height:100%; object-fit:cover;
  border-radius:18px;
}
.ne-product__placeholder{
  position:absolute; inset:16px;
  border-radius:18px;
  background:var(--ne-bg-soft);
  display:flex; align-items:center; justify-content:center;
  font:500 12px ui-monospace, monospace;
  color:var(--ne-muted-5);
}
.ne-product__seal-tested{
  position:absolute; top:20px; left:20px;
  background:rgba(255,255,255,.95);
  color:var(--ne-ink);
  border-radius:999px;
  padding:7px 14px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  box-shadow:var(--ne-shadow-sm);
}
.ne-product__thumbs{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
}
.ne-product__thumb{
  aspect-ratio:1 / 1;
  border-radius:14px;
  cursor:pointer;
  background:var(--ne-bg-soft);
  border:2px solid var(--ne-border-soft);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.ne-product__thumb img{width:100%; height:100%; object-fit:cover}
.ne-product__thumb.is-active{border-color:var(--ne-brand)}
.ne-product__info{display:flex; flex-direction:column; gap:18px}
.ne-product__cat{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ne-muted-4);
  font-weight:700;
}
.ne-product__title{
  margin:0;
  font-size:clamp(28px, 3.4vw, 40px);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.05;
}
.ne-product__price-row{
  display:flex; align-items:center; gap:12px;
  flex-wrap:wrap; padding:6px 0;
}
.ne-product__price{
  font-size:46px;
  font-weight:900;
  color:var(--ne-brand);
  letter-spacing:-.02em;
}
.ne-product__compare{
  font-size:16px;
  color:var(--ne-muted-5);
  text-decoration:line-through;
  font-weight:600;
}
.ne-product__discount{
  background:var(--ne-bg-warm);
  color:var(--ne-brand);
  border-radius:999px;
  padding:6px 13px;
  font-size:13px;
  font-weight:800;
}
.ne-product__trust{
  display:flex; gap:10px; flex-wrap:wrap;
  justify-content:center; margin-top:6px;
}
.ne-product__trust span{
  background:var(--ne-bg-soft);
  border-radius:999px;
  padding:7px 15px;
  font-size:12px;
  font-weight:700;
  color:var(--ne-muted-2);
}

/* ---------- Bundle selector ---------- */
.ne-bundle-sep{display:flex; align-items:center; gap:14px}
.ne-bundle-sep__line{flex:1; height:2px; background:var(--ne-brand)}
.ne-bundle-sep__label{
  font-size:13px; font-weight:800;
  letter-spacing:.05em; text-transform:uppercase;
  white-space:nowrap;
}
.ne-bundles{display:flex; flex-direction:column; gap:12px; margin-top:4px}
.ne-bundle{
  position:relative;
  cursor:pointer;
  border:2px solid var(--ne-border);
  background:#fff;
  border-radius:18px;
  padding:18px;
  transition:all .15s;
  display:flex;
  align-items:center;
  gap:14px;
}
.ne-bundle.is-selected{
  border-color:var(--ne-brand);
  background:#FFF6EE;
}
.ne-bundle__popular{
  position:absolute; top:0; right:18px;
  transform:translateY(-50%);
  background:var(--ne-ink);
  color:#fff;
  border-radius:6px;
  padding:4px 12px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ne-bundle__radio{
  flex:none;
  width:22px; height:22px;
  border-radius:50%;
  border:2px solid #cabfae;
  background:#fff;
  display:flex; align-items:center; justify-content:center;
}
.ne-bundle.is-selected .ne-bundle__radio{border-color:var(--ne-brand)}
.ne-bundle__dot{
  width:10px; height:10px; border-radius:50%;
  background:transparent;
}
.ne-bundle.is-selected .ne-bundle__dot{background:var(--ne-brand)}
.ne-bundle__thumbs{flex:none; display:flex; gap:3px}
.ne-bundle__thumb{
  width:34px; height:34px;
  border-radius:8px;
  background:repeating-linear-gradient(45deg, #d8cfc0 0 5px, #e8e1d5 5px 10px);
  box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.05);
}
.ne-bundle__label{flex:1; font-size:16px; font-weight:800; line-height:1.2}
.ne-bundle__prices{text-align:right; line-height:1.25}
.ne-bundle__compare{
  font-size:13px;
  color:var(--ne-muted-5);
  text-decoration:line-through;
  font-weight:600;
}
.ne-bundle__price{font-size:19px; font-weight:900}

/* ---------- Info cards (curation, specs, warranty, reviews, FAQ) ---------- */
.ne-card{
  background:#fff;
  border-radius:24px;
  padding:36px;
  box-shadow:var(--ne-shadow-md);
}
.ne-card--lg{padding:clamp(28px, 4vw, 46px)}
.ne-info-grid{
  margin-top:60px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:32px;
}
.ne-curation{display:flex; flex-direction:column; gap:16px}
.ne-curation__author{display:flex; align-items:center; gap:12px; margin-top:8px}
.ne-avatar-neco{
  width:44px; height:44px; border-radius:50%;
  background:var(--ne-brand); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
}
.ne-curation__author-name{line-height:1.3}
.ne-curation__author-name strong{font-weight:800; font-size:14px; display:block}
.ne-curation__author-name span{font-size:12px; color:var(--ne-muted-4); font-weight:600}

.ne-specs h4{
  margin:0 0 16px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--ne-ink-2);
}
.ne-specs__row{
  display:flex; justify-content:space-between; gap:16px;
  padding:13px 0;
  border-bottom:1px solid var(--ne-border-soft);
  font-size:14px;
}
.ne-specs__row span:first-child{color:var(--ne-muted-4); font-weight:600}
.ne-specs__row span:last-child{font-weight:700; text-align:right}
.ne-warranty{
  margin-top:14px;
  display:flex; align-items:center; gap:20px;
  background:var(--ne-bg-warm);
  border-radius:18px;
  padding:18px 22px;
}
.ne-warranty__days{
  flex:none;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  line-height:1; min-width:60px;
}
.ne-warranty__days b{
  font-size:54px; font-weight:900;
  color:var(--ne-brand);
  letter-spacing:-.04em; line-height:.9;
}
.ne-warranty__days small{
  font-size:11px; font-weight:800;
  color:var(--ne-brand);
  letter-spacing:.1em; text-transform:uppercase;
  margin-top:2px;
}
.ne-warranty__text{display:flex; flex-direction:column; gap:4px}
.ne-warranty__text strong{font-size:15px; font-weight:900; color:var(--ne-ink)}
.ne-warranty__text span{font-size:13px; color:var(--ne-muted-2); line-height:1.45}

/* ---------- Reviews ---------- */
.ne-reviews{margin-top:60px}
.ne-reviews__head{
  display:flex; justify-content:space-between;
  align-items:flex-start; gap:24px;
  flex-wrap:wrap; margin-bottom:30px;
}
.ne-reviews__avg{
  display:flex; align-items:center; gap:16px;
  background:var(--ne-bg-warm);
  border-radius:18px;
  padding:16px 22px;
}
.ne-reviews__avg-num{
  font-size:42px; font-weight:900;
  color:var(--ne-brand);
  line-height:1; letter-spacing:-.02em;
}
.ne-reviews__avg-meta{display:flex; flex-direction:column; gap:2px}
.ne-reviews__avg-meta span:first-child{
  color:var(--ne-brand);
  font-size:16px; letter-spacing:2px;
}
.ne-reviews__avg-meta span:last-child{
  font-size:13px; color:var(--ne-muted-2); font-weight:700;
}
.ne-reviews__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(258px, 1fr));
  gap:20px;
}
.ne-review{
  background:var(--ne-bg);
  border-radius:18px;
  padding:22px;
  display:flex; flex-direction:column;
  gap:12px;
}
.ne-review__stars{font-size:15px; letter-spacing:1px}
.ne-review__stars .full{color:var(--ne-brand)}
.ne-review__stars .empty{color:var(--ne-border)}
.ne-review__text{
  margin:0;
  font-size:14px;
  color:var(--ne-ink-2);
  line-height:1.6;
}
.ne-review__author{
  display:flex; align-items:center; gap:10px;
  margin-top:auto;
}
.ne-review__avatar{
  flex:none;
  width:38px; height:38px; border-radius:50%;
  background:var(--ne-bg-warm);
  color:var(--ne-brand);
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
}
.ne-review__author-meta{
  display:flex; flex-direction:column;
  gap:2px; line-height:1.3;
}
.ne-review__author-meta strong{font-size:14px; font-weight:800}
.ne-review__author-meta .small{
  display:flex; gap:8px;
  font-size:12px; color:var(--ne-muted-4); font-weight:600;
}
.ne-review__verified{color:var(--ne-success-2)}

/* ---------- FAQ ---------- */
.ne-faq{margin-top:32px}
details.ne-faq-item{border-bottom:1px solid var(--ne-border)}
details.ne-faq-item:first-child{border-top:1px solid var(--ne-border)}
details.ne-faq-item 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:var(--ne-ink);
  letter-spacing:-.01em;
}
details.ne-faq-item summary::-webkit-details-marker{display:none}
details.ne-faq-item summary .ic{
  position:relative;
  width:18px; height:18px; flex:none;
}
details.ne-faq-item summary .ic::before,
details.ne-faq-item summary .ic::after{
  content:''; position:absolute;
  background:var(--ne-brand);
  border-radius:2px;
}
details.ne-faq-item summary .ic::before{
  top:8px; left:1px;
  width:16px; height:2px;
}
details.ne-faq-item summary .ic::after{
  top:1px; left:8px;
  width:2px; height:16px;
  transition:transform .2s, opacity .2s;
}
details.ne-faq-item[open] summary .ic::after{transform:scaleY(0); opacity:0}
details.ne-faq-item .ans{
  padding:0 4px 22px;
  font-size:15px;
  color:var(--ne-muted);
  line-height:1.7;
  max-width:680px;
}

/* ---------- Cart / Checkout ---------- */
.ne-cart-page{display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:36px; align-items:start}
.ne-cart-list{
  background:#fff;
  border-radius:24px;
  padding:10px 26px;
  box-shadow:var(--ne-shadow-md);
}
.ne-cart-item{
  display:flex; gap:18px;
  padding:22px 0;
  border-bottom:1px solid var(--ne-border-soft);
  align-items:center;
}
.ne-cart-item__media{
  flex:none;
  width:88px; height:88px;
  border-radius:16px;
  background:var(--ne-bg-soft);
  overflow:hidden;
}
.ne-cart-item__media img{width:100%; height:100%; object-fit:cover}
.ne-cart-item__body{flex:1; min-width:0; display:flex; flex-direction:column; gap:5px}
.ne-cart-item__cat{
  font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ne-muted-4);
  font-weight:700;
}
.ne-cart-item__title{margin:0; font-size:16px; font-weight:700}
.ne-cart-item__remove{
  cursor:pointer;
  font-size:12px; color:var(--ne-danger);
  font-weight:600; width:fit-content;
  background:none; border:none; padding:0;
}
.ne-qty{
  display:flex; align-items:center;
  border:1.5px solid var(--ne-border);
  border-radius:999px;
}
.ne-qty button{
  width:36px; height:38px;
  background:none; border:none;
  cursor:pointer; font-size:18px; user-select:none;
}
.ne-qty input{
  width:44px; text-align:center;
  font-weight:800; font-size:14px;
  border:none; background:none; outline:none;
  font-family:inherit;
}
.ne-cart-item__line{
  flex:none; width:108px; text-align:right;
  font-size:18px; font-weight:800; color:var(--ne-brand);
}
.ne-cart-summary{
  background:#fff;
  border-radius:24px;
  border:1.5px solid var(--ne-brand-soft);
  padding:28px;
  box-shadow:var(--ne-shadow-md);
  display:flex; flex-direction:column;
  gap:16px;
}
.ne-cart-summary h3{margin:0; font-size:18px; font-weight:900; letter-spacing:-.01em}
.ne-cart-summary__row{
  display:flex; justify-content:space-between;
  font-size:15px; font-weight:600;
}
.ne-cart-summary__row span:first-child{color:var(--ne-muted-3)}
.ne-cart-summary__row--free{color:var(--ne-success); font-weight:800}
.ne-cart-summary__total{
  display:flex; justify-content:space-between;
  font-size:20px; font-weight:900;
  border-top:1px solid var(--ne-border-soft);
  padding-top:16px;
}
.ne-cart-summary__total span:last-child{color:var(--ne-brand)}
.ne-cart-summary__safe{
  text-align:center; font-size:12px;
  color:var(--ne-muted-4); font-weight:600;
}
.ne-empty-cart{
  background:#fff;
  border-radius:24px;
  padding:72px 32px;
  text-align:center;
  box-shadow:var(--ne-shadow-md);
  display:flex; flex-direction:column;
  align-items:center; gap:18px;
}

/* ---------- Form fields ---------- */
.ne-input, .ne-textarea, .ne-select{
  width:100%;
  padding:14px 16px;
  border:1.5px solid var(--ne-border);
  border-radius:12px;
  font-family:'Montserrat', sans-serif;
  font-size:15px;
  outline:none;
  background:#fff;
  color:var(--ne-ink);
  transition:border-color .15s, box-shadow .15s;
}
.ne-input:focus, .ne-textarea:focus, .ne-select:focus{
  border-color:var(--ne-brand);
  box-shadow:0 0 0 3px rgba(255,107,0,.13);
}
.ne-textarea{resize:vertical; line-height:1.5}

/* ---------- WooCommerce overrides ---------- */
.woocommerce-notices-wrapper{max-width:var(--ne-container); margin:24px auto; padding:0 32px}
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  background:#fff;
  border-radius:16px;
  border-left:4px solid var(--ne-brand);
  padding:18px 22px;
  list-style:none;
  margin:0 0 16px;
  font-weight:600;
  color:var(--ne-ink);
}
.woocommerce-error{border-left-color:var(--ne-danger)}
.woocommerce-message a.button,
.woocommerce-info a.button{
  background:var(--ne-brand);
  color:#fff;
  border-radius:999px;
  padding:8px 18px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-left:12px;
}

/* WooCommerce default loop neutralizer (used when not in our archive template) */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(244px, 1fr));
  gap:24px;
  list-style:none;
  padding:0;
  margin:0;
}
.woocommerce ul.products li.product{
  margin:0 !important;
  width:auto !important;
  float:none !important;
  clear:none !important;
}

/* Pagination */
.ne-pagination{
  display:flex; justify-content:center;
  gap:8px; margin-top:48px;
}
.ne-pagination a, .ne-pagination span{
  min-width:40px; height:40px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  background:#fff;
  border:1.5px solid var(--ne-border);
  font-size:14px;
  font-weight:700;
  color:var(--ne-ink);
  padding:0 14px;
  text-decoration:none;
  transition:all .15s;
}
.ne-pagination a:hover{border-color:var(--ne-brand); color:var(--ne-brand)}
.ne-pagination .current{
  background:var(--ne-brand);
  color:#fff;
  border-color:var(--ne-brand);
}

/* ---------- Single post / page body ---------- */
.ne-post-body{display:flex; flex-direction:column; gap:22px}
.ne-post-body p{
  margin:0;
  font-size:18px;
  color:var(--ne-ink-2);
  line-height:1.75;
}
.ne-post-body h2{
  margin:18px 0 0;
  font-size:clamp(24px, 3vw, 30px);
  font-weight:900;
  letter-spacing:-.015em;
  line-height:1.2;
}
.ne-post-body blockquote{
  margin:8px 0;
  padding:8px 0 8px 26px;
  border-left:4px solid var(--ne-brand);
  font-size:21px;
  font-weight:700;
  font-style:italic;
  color:var(--ne-ink);
  line-height:1.5;
}
.ne-post-body img{border-radius:18px; margin:8px 0}
.ne-post-cover{
  position:relative;
  border-radius:24px;
  aspect-ratio:16 / 9;
  background:var(--ne-bg-soft);
  overflow:hidden;
  margin-bottom:40px;
  box-shadow:var(--ne-shadow-lg);
}
.ne-post-cover img{width:100%; height:100%; object-fit:cover}
.ne-post-meta{
  display:flex; align-items:center;
  gap:12px;
  margin-bottom:30px;
}
.ne-post-meta__avatar{
  width:42px; height:42px; border-radius:50%;
  background:var(--ne-brand); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:14px;
}
.ne-post-meta__info{
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:var(--ne-muted-4); font-weight:600;
}
.ne-post-meta__info strong{color:var(--ne-ink); font-weight:800; font-size:14px}

/* ---------- Helpers ---------- */
.ne-section--policy{display:flex; flex-direction:column; gap:30px}
.ne-stat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:20px;
  margin:32px 0;
}
.ne-stat{
  background:#fff;
  border-radius:22px;
  box-shadow:var(--ne-shadow-md);
  padding:30px 26px;
  display:flex; flex-direction:column; gap:6px;
}
.ne-stat__num{
  font-size:42px; font-weight:900;
  color:var(--ne-brand);
  line-height:1; letter-spacing:-.02em;
}
.ne-stat__label{font-size:14px; color:#7a6f60; font-weight:600}
.ne-cta-band{
  background:var(--ne-bg-warm);
  border-radius:20px;
  padding:24px 28px;
  margin-top:24px;
  display:flex; gap:16px;
  align-items:center; flex-wrap:wrap;
}
.ne-cta-band > span{
  font-size:15px; color:var(--ne-muted-2);
  font-weight:600; flex:1; min-width:220px;
}

/* ---------- Mobile tweaks ---------- */
@media (max-width: 768px){
  .ne-container, .ne-header__inner, .ne-page{padding-left:20px; padding-right:20px}
  .ne-hero__grid{padding:40px 0; gap:36px}
  .ne-section{padding:24px 0 56px}
  .ne-section--tight, .ne-section--blog{padding:0 0 56px}
  .ne-nav{display:none}
  .ne-shop{flex-direction:column}
  .ne-shop__sidebar{position:static; width:100%; top:auto}
  .ne-grid-products, .ne-grid-products--cat{
    grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
    gap:14px;
  }
  .ne-product-card{padding:10px; border-radius:18px}
  .ne-product-card__title{font-size:14px}
  .ne-price{font-size:18px}
}

/* ==========================================================================
   PATCH v1.1 — Refinamentos pós-deploy
   ========================================================================== */

/* ---------- (1) Sticky footer já tratado no body acima ---------- */

/* ---------- (2) Espaçamento extra: grade da loja não cola no rodapé ---------- */
.ne-shop__main{margin-bottom:40px}
.ne-grid-products, .ne-grid-products--cat{margin-bottom:40px}
.ne-page{padding-bottom:96px}
.ne-pagination{margin-bottom:40px}

/* ---------- (3) Esconder o form padrão do WooCommerce no single product ---------- */
/* Quando o nosso bundle selector está presente, escondemos o input quantity
   e o botão padrão do WC. O JS dos bundles dispara o submit do form para nós. */
.ne-product__info form.cart{position:relative}
.ne-product__info form.cart .quantity,
.ne-product__info form.cart .single_add_to_cart_button,
.ne-product__info form.cart button[name="add-to-cart"],
.ne-product__info form.cart .woocommerce-variation-add-to-cart,
.ne-product__info form.cart .woocommerce-grouped-product-list{
  display:none !important;
}
/* Mantém os SELECTS de variação visíveis (cor, tamanho) com nosso estilo */
.ne-product__info form.cart .variations{
  border-collapse:collapse;
  margin:8px 0 14px;
  width:100%;
}
.ne-product__info form.cart .variations td,
.ne-product__info form.cart .variations th{
  padding:8px 0;
  text-align:left;
  border:none;
}
.ne-product__info form.cart .variations label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ne-ink-2);
}
.ne-product__info form.cart .variations select{
  width:100%;
  padding:12px 14px;
  border:1.5px solid var(--ne-border);
  border-radius:12px;
  font-family:'Montserrat', sans-serif;
  font-size:14px;
  background:#fff;
}
.ne-product__info form.cart .reset_variations{
  font-size:12px;
  color:var(--ne-danger);
  font-weight:700;
}

/* Nosso CTA grande do bundle */
.ne-bundles__cta{
  margin-top:6px;
  background:var(--ne-brand);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:0 32px;
  height:58px;
  font:800 16px 'Montserrat', sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:var(--ne-shadow-brand);
  transition:transform .15s, box-shadow .15s;
  width:100%;
}
.ne-bundles__cta:hover{transform:translateY(-2px); box-shadow:var(--ne-shadow-brand-hover)}
.ne-bundles__cta[disabled]{opacity:.6; cursor:not-allowed}

/* ---------- (4) Minha Conta — navegação como botões + content card ---------- */
.woocommerce-account{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:36px;
  align-items:start;
  margin-bottom:40px;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#fff;
  border-radius:22px;
  padding:14px;
  box-shadow:var(--ne-shadow-md);
  position:sticky;
  top:120px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  list-style:none !important;
  margin:0;
  padding:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li::marker{content:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;
  padding:12px 16px;
  border-radius:12px;
  color:var(--ne-ink);
  font-size:14px;
  font-weight:700;
  text-decoration:none !important;
  transition:background .15s, color .15s;
  letter-spacing:-.005em;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:var(--ne-bg-warm);
  color:var(--ne-brand);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a{
  background:var(--ne-brand);
  color:#fff;
}
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff;
  border-radius:22px;
  padding:clamp(24px, 3.5vw, 40px);
  box-shadow:var(--ne-shadow-md);
  min-height:300px;
}
.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
  margin-top:0;
}
.woocommerce-account .woocommerce-MyAccount-content h2{
  font-size:22px;
  font-weight:900;
  letter-spacing:-.01em;
  margin-bottom:18px;
}
.woocommerce-account .woocommerce-MyAccount-content p{
  color:var(--ne-muted);
  line-height:1.65;
  margin-bottom:14px;
}
.woocommerce-account .woocommerce-MyAccount-content a{
  color:var(--ne-brand);
  font-weight:700;
}
.woocommerce-account .woocommerce-MyAccount-content a:hover{text-decoration:underline}

/* Forms dentro do MyAccount */
.woocommerce-account form .form-row,
.woocommerce form .form-row{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:16px;
}
.woocommerce-account form label,
.woocommerce form label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ne-ink-2);
}
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="number"],
.woocommerce-account form select,
.woocommerce-account form textarea,
.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form input[type="password"],
.woocommerce form input[type="number"],
.woocommerce form select,
.woocommerce form textarea{
  width:100%;
  padding:14px 16px;
  border:1.5px solid var(--ne-border);
  border-radius:12px;
  font-family:'Montserrat', sans-serif;
  font-size:15px;
  outline:none;
  background:#fff;
  color:var(--ne-ink);
  transition:border-color .15s, box-shadow .15s;
}
.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus,
.woocommerce form input:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus{
  border-color:var(--ne-brand);
  box-shadow:0 0 0 3px rgba(255,107,0,.13);
}

/* Botões WooCommerce → CTA padrão NecoExpress */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-MyAccount-content .button{
  background:var(--ne-brand) !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px !important;
  padding:14px 28px !important;
  font:800 13px 'Montserrat', sans-serif !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  text-decoration:none !important;
  box-shadow:var(--ne-shadow-brand) !important;
  transition:transform .15s, box-shadow .15s !important;
  display:inline-block;
  line-height:1.2 !important;
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  transform:translateY(-2px);
  box-shadow:var(--ne-shadow-brand-hover) !important;
}
.woocommerce .button.alt,
.woocommerce a.button.alt{background:var(--ne-ink) !important}

/* Tabelas de pedidos / endereços */
.woocommerce table.shop_table,
.woocommerce-MyAccount-content table{
  width:100%;
  border-collapse:collapse;
  background:transparent;
  border:none;
  margin-bottom:18px;
}
.woocommerce table.shop_table th,
.woocommerce-MyAccount-content table th{
  text-align:left;
  padding:14px 12px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ne-muted-4);
  font-weight:800;
  border-bottom:1px solid var(--ne-border);
}
.woocommerce table.shop_table td,
.woocommerce-MyAccount-content table td{
  padding:16px 12px;
  border-bottom:1px solid var(--ne-border-soft);
  font-size:14px;
}
.woocommerce table.shop_table tr:last-child td{border-bottom:none}

/* Address grid */
.woocommerce-Addresses{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:20px;
  margin-top:12px;
}
.woocommerce-Address{
  background:var(--ne-bg);
  border-radius:16px;
  padding:22px;
}
.woocommerce-Address-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3{
  font-size:16px;
  font-weight:900;
  margin:0;
}

@media (max-width: 768px){
  .woocommerce-account{
    grid-template-columns:1fr;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation{
    position:static;
    top:auto;
  }
}

/* ---------- (5) Reviews — estilizar form e estrelas ---------- */
#reviews{margin-top:18px}
#reviews #comments h2{
  font-size:20px;
  font-weight:900;
  letter-spacing:-.01em;
  margin:0 0 18px;
}
#reviews ol.commentlist{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:16px;
}
#reviews ol.commentlist li{
  background:var(--ne-bg);
  border-radius:18px;
  padding:22px;
  list-style:none;
}
#reviews ol.commentlist li .comment_container{display:flex; gap:12px; align-items:flex-start}
#reviews ol.commentlist li img.avatar{
  width:40px; height:40px;
  border-radius:50%;
  border:none !important;
  padding:0 !important;
  background:var(--ne-bg-warm) !important;
}
#reviews ol.commentlist li .comment-text{flex:1}
#reviews ol.commentlist li .meta{
  font-size:12px;
  color:var(--ne-muted-4);
  font-weight:700;
  margin-bottom:8px;
}
#reviews ol.commentlist li .meta strong{
  color:var(--ne-ink);
  font-weight:800;
  font-size:13px;
}

#review_form_wrapper{
  background:var(--ne-bg);
  border-radius:18px;
  padding:24px;
  margin-top:18px;
}
#review_form #reply-title{
  font-size:18px;
  font-weight:900;
  margin:0 0 14px;
  display:block;
}
#review_form .comment-form-rating label,
#review_form .comment-form-comment label,
#review_form .comment-form-author label,
#review_form .comment-form-email label{
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ne-ink-2);
  margin-bottom:6px;
}
#review_form .comment-form-rating,
#review_form .comment-form-comment,
#review_form .comment-form-author,
#review_form .comment-form-email{margin-bottom:16px}
#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea{
  width:100%;
  padding:14px 16px;
  border:1.5px solid var(--ne-border);
  border-radius:12px;
  font-family:'Montserrat', sans-serif;
  font-size:15px;
  outline:none;
  background:#fff;
  color:var(--ne-ink);
  transition:border-color .15s, box-shadow .15s;
}
#review_form input:focus,
#review_form textarea:focus{
  border-color:var(--ne-brand);
  box-shadow:0 0 0 3px rgba(255,107,0,.13);
}
#review_form textarea{min-height:140px; resize:vertical; line-height:1.5}

/* Stars: transformar texto "1 de 5 estrelas" em widget visual */
p.stars{
  display:inline-block;
  position:relative;
  height:24px;
  line-height:1;
  font-size:0; /* esconde o texto separador */
  margin:0;
  vertical-align:middle;
}
p.stars span{
  position:relative;
  display:inline-block;
  height:24px;
  width:120px; /* 24px × 5 */
  vertical-align:top;
}
p.stars a{
  position:relative;
  display:inline-block;
  width:24px;
  height:24px;
  text-indent:-9999px;
  overflow:hidden;
  vertical-align:top;
}
p.stars a::before{
  position:absolute;
  top:0; left:0;
  width:24px;
  height:24px;
  display:block;
  content:'\2606'; /* ☆ */
  color:var(--ne-brand);
  font-size:22px;
  line-height:24px;
  text-indent:0;
  font-family:'Montserrat', sans-serif;
  text-align:center;
}
p.stars a:hover::before,
p.stars a:hover ~ a::before{content:'\2606'}
p.stars:hover a::before{content:'\2605'} /* ★ */
p.stars:hover a:hover ~ a::before{content:'\2606'}
p.stars.selected a.active::before,
p.stars.selected a.active ~ a::before{content:'\2606'}
p.stars.selected a:not(.active)::before{content:'\2605'}
p.stars.selected a.active{color:var(--ne-brand)}

/* Star rating exibido em produtos (estático) */
.woocommerce .star-rating{
  position:relative;
  height:1em;
  line-height:1;
  width:5.4em;
  font-size:14px;
  font-family:'Times New Roman', serif;
  color:var(--ne-brand);
  overflow:hidden;
}
.woocommerce .star-rating::before{
  content:'\2606\2606\2606\2606\2606';
  color:var(--ne-border);
  float:left;
  top:0; left:0;
  position:absolute;
}
.woocommerce .star-rating span{
  overflow:hidden;
  float:left;
  top:0; left:0;
  position:absolute;
  padding-top:1.5em;
}
.woocommerce .star-rating span::before{
  content:'\2605\2605\2605\2605\2605';
  top:0; left:0;
  position:absolute;
  color:var(--ne-brand);
}

/* ---------- (6) Garantir títulos do footer sempre visíveis ---------- */
.ne-footer__col .ne-footer__heading{display:block; margin-bottom:4px}
.ne-footer__col ul{
  list-style:none !important;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ne-footer__col ul li{list-style:none}

