/* =========================================================
   NeedToOrder Homepage Modern Block (plugin-resistant)
   Scope: ONLY within #nto-home
========================================================= */
#nto-home, #nto-home * { box-sizing: border-box; }

#nto-home {
  font-family: Arial, Helvetica, sans-serif;
  color: #2c3e50;
}

/* Hard reset inside the block (beats many template/plugin rules) */
#nto-home a,
#nto-home a:link,
#nto-home a:visited,
#nto-home a:hover,
#nto-home a:active {
  text-decoration: none !important;
}

#nto-home .nto-hero {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
#nto-home .nto-hero img { display:block; width:100%; height:auto; }

#nto-home .nto-card {
  background:#fff !important;
  border:1px solid #e6edf3 !important;
  border-radius:14px;
  padding:14px;
  margin:14px 0;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
}

#nto-home .nto-soft {
  background:#f7f9fb !important;
  border:1px solid #e6edf3 !important;
  border-radius:14px;
  padding:14px;
  margin:14px 0;
}

#nto-home .nto-kicker {
  display:inline-block;
  background:#f4f7fb !important;
  border:1px solid #e6edf3 !important;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.35px;
  text-transform:uppercase;
}

#nto-home .nto-h1 {
  font-size:26px;
  line-height:1.12;
  font-weight:900;
  margin:10px 0 6px;
}

#nto-home .nto-sub {
  font-size:15px;
  line-height:1.55;
  opacity:.95;
}

/* Pills */
#nto-home .nto-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#f7f9fb !important;
  border:1px solid #e6edf3 !important;
  padding:7px 10px;
  border-radius:999px;
  font-size:13px;
  margin:6px 6px 0 0;
  color:#2c3e50 !important;
}
#nto-home .nto-dot {
  width:10px; height:10px; border-radius:3px; display:inline-block;
}

/* CTA Strip */
#nto-home .nto-grad {
  background:linear-gradient(135deg,#7b1f22,#5a1619) !important;
  border-radius:14px;
  padding:14px;
  margin:14px 0;
  color:#fff !important;
}
#nto-home .nto-grad * { color:#fff; } /* keep text white in the strip */

/* Buttons (plugin-resistant) */
#nto-home .nto-btn {
  display:block;
  text-align:center;
  padding:12px 14px;
  border-radius:12px;
  font-weight:900;
  font-size:15px;
  border:0;
}

#nto-home .nto-btn-primary {
  background:#86b31f !important;
  color:#fff !important;
}
#nto-home .nto-btn-dark {
  background:#7b1f22 !important;
  color:#fff !important;
}
#nto-home .nto-btn-light {
  background:#fff !important;
  border:1px solid #e6edf3 !important;
  color:#2c3e50 !important;
}

/* Layout */
#nto-home .nto-row { display:flex; flex-wrap:wrap; gap:10px; }
#nto-home .nto-row > * { flex:1 1 220px; }
#nto-home .nto-stack { display:flex; flex-direction:column; gap:10px; }

/* Category cards */
#nto-home .nto-cat {
  border-radius:14px;
  overflow:hidden;
  border:1px solid #e6edf3 !important;
  background:#fff !important;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  margin:12px 0;
}
#nto-home .nto-cat img { width:100%; display:block; }
#nto-home .nto-cat-body { padding:12px 14px; }
#nto-home .nto-cat-title { font-size:16px; font-weight:900; color:#2c3e50 !important; }
#nto-home .nto-cat-sub { font-size:13px; opacity:.9; color:#2c3e50 !important; }
