.elementor-424 .elementor-element.elementor-element-43f8041f{--display:flex;}.elementor-424 .elementor-element.elementor-element-28310aa5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-424 .elementor-element.elementor-element-31990436{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:5px;--margin-left:0px;--margin-right:0px;}.elementor-424 .elementor-element.elementor-element-31990436:not(.elementor-motion-effects-element-type-background), .elementor-424 .elementor-element.elementor-element-31990436 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-424 .elementor-element.elementor-element-131386d0{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-424 .elementor-element.elementor-element-54373f26{text-align:center;}.elementor-424 .elementor-element.elementor-element-54373f26.elementor-element{--align-self:center;}.elementor-424 .elementor-element.elementor-element-6468d26f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-424 .elementor-element.elementor-element-6468d26f:not(.elementor-motion-effects-element-type-background), .elementor-424 .elementor-element.elementor-element-6468d26f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-424 .elementor-element.elementor-element-4740ab3a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:5px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-424 .elementor-element.elementor-element-4740ab3a:not(.elementor-motion-effects-element-type-background), .elementor-424 .elementor-element.elementor-element-4740ab3a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-424 .elementor-element.elementor-element-3345798b{--display:flex;}.elementor-424 .elementor-element.elementor-element-2c486ff7{font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-424 .elementor-element.elementor-element-7d124b2a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:5px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-424 .elementor-element.elementor-element-7d124b2a:not(.elementor-motion-effects-element-type-background), .elementor-424 .elementor-element.elementor-element-7d124b2a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-424 .elementor-element.elementor-element-71bb6883{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:5px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-424 .elementor-element.elementor-element-71bb6883:not(.elementor-motion-effects-element-type-background), .elementor-424 .elementor-element.elementor-element-71bb6883 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-424 .elementor-element.elementor-element-39ef8def{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:5px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-424 .elementor-element.elementor-element-39ef8def:not(.elementor-motion-effects-element-type-background), .elementor-424 .elementor-element.elementor-element-39ef8def > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-424 .elementor-element.elementor-element-424ca8ff{--display:flex;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-424 .elementor-element.elementor-element-131386d0{--grid-auto-flow:row;}.elementor-424 .elementor-element.elementor-element-2c486ff7{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-424 .elementor-element.elementor-element-131386d0{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-424 .elementor-element.elementor-element-54373f26 .elementor-heading-title{font-size:1.6em;}.elementor-424 .elementor-element.elementor-element-2c486ff7{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS *//* =========================================
   Neighborly Hauling – Roofing Calculator
   ========================================= */

.nh-roofcalc{
  max-width:980px;
  margin:0 auto;
  padding:18px;
  border:1px solid #e7e7e7;
  border-radius:14px;
  background:#fff;
}

.nh-roofcalc h2{
  margin:0 0 14px 0;
}

.nh-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:end;
}

.nh-grid label{
  display:flex;
  flex-direction:column;
  font-weight:600;
  font-size:14px;
  gap:6px;
}

.nh-grid input,
.nh-grid select{
  padding:10px;
  border:1px solid #d9d9d9;
  border-radius:10px;
  font-size:14px;
}

.nh-grid button{
  padding:12px 14px;
  border:0;
  border-radius:10px;
  background:#B31942;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

.nh-grid button:hover{
  filter:brightness(0.95);
}

.nh-results{
  margin-top:14px;
}

.nh-summary{
  padding:12px;
  border:1px dashed #d9d9d9;
  border-radius:12px;
  background:#fafafa;
  margin-bottom:12px;
}

table.nh-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #e7e7e7;
  border-radius:12px;
}

table.nh-table th,
table.nh-table td{
  padding:10px 12px;
  border-bottom:1px solid #eee;
  text-align:left;
  font-size:14px;
}

table.nh-table th{
  background:#0A3161;
  color:#fff;
  font-weight:700;
}

table.nh-table tr:last-child td{
  border-bottom:0;
}

.nh-total{
  font-weight:800;
}

.nh-muted{
  color:#666;
  font-size:13px;
  margin-top:6px;
}

@media (max-width: 860px){
  .nh-grid{
    grid-template-columns:1fr;
  }
}

/* Neighborly Hauling — Roofing Steps Strip */
.nh-roof-steps{
  margin: 18px 0 24px;
}

.nh-roof-steps__wrap{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.nh-roof-step{
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(10,49,97,.18);
  border-radius: 16px;
  background: rgba(255,255,255,.80);
  box-shadow: 0 10px 24px rgba(10,49,97,.08);
}

.nh-roof-step__num{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  line-height: 1;
  color: #ffffff;
  background: #B31942; /* Neighborly red */
  flex: 0 0 auto;
}

.nh-roof-step__title{
  font-weight: 800;
  color: #0A3161; /* Neighborly blue */
  font-size: 1.02rem;
  line-height: 1.15;
}

.nh-roof-step__text{
  margin-top: 2px;
  opacity: .85;
  font-size: .95rem;
  line-height: 1.25;
}

@media (max-width: 900px){
  .nh-roof-steps__wrap{ grid-template-columns: 1fr; }
  .nh-roof-step{ padding: 14px 14px; }
}

/* ================================
   Calculator Readability Fix
   Scoped to .nh-roofcalc ONLY
================================ */

/* Main calculator card */
.nh-roofcalc {
  background: #ffffff;
  color: #0A3161; /* Neighborly navy */
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 10px 28px rgba(10,49,97,.15);
}

/* Headings */
.nh-roofcalc h2 {
  color: #0A3161;
  font-weight: 800;
}

/* Form labels */
.nh-roofcalc label {
  color: #0A3161;
  font-weight: 600;
}

/* Inputs + selects */
.nh-roofcalc input,
.nh-roofcalc select {
  color: #0A3161;
  background: #ffffff;
  border: 1px solid rgba(10,49,97,.35);
}

/* Summary + muted text */
.nh-roofcalc .nh-muted {
  color: #374a67; /* darker than default gray */
  opacity: 1;     /* kill washed-out text */
}

/* Job Size card */
.nh-roofcalc .nh-summary {
  background: #f7f9fc;
  border: 2px dashed rgba(10,49,97,.25);
  border-radius: 14px;
  padding: 18px 18px;
  color: #0A3161;
}

/* Table text */
.nh-roofcalc table {
  color: #0A3161;
}

.nh-roofcalc th {
  background: #0A3161;
  color: #ffffff;
  font-weight: 700;
}

.nh-roofcalc td {
  background: #ffffff;
}

/* Totals row */
.nh-roofcalc .nh-total td {
  font-weight: 800;
  color: #0A3161;
}

/* Add-on cards text */
.nh-addon-card {
  color: #0A3161;
}

.nh-addon-sub {
  color: #374a67;
}
.nh-trust-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin: 28px 0;
}

.nh-trust-item {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(10,49,97,.08);
  font-size: 0.95rem;
  color: #0A3161;
}

.nh-trust-icon {
  font-size: 1.4rem;
  line-height: 1;
}

.nh-trust-item strong {
  display: block;
  font-weight: 700;
  margin-bottom: 2px;
}

@media (max-width: 1024px) {
  .nh-trust-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .nh-trust-strip {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   Roofing Reference (Table + Bin Guide)
   Scoped: .nh-roof-ref
========================================= */

.nh-roof-ref{
  margin: 34px 0;
  color: #0A3161;
}

.nh-roof-h2{
  margin: 22px 0 8px;
  font-weight: 800;
  color: #0A3161;
}

.nh-roof-sub{
  margin: 0 0 16px;
  color: rgba(0,0,97,.85);
}

/* Callout */
.nh-roof-callout{
  background: rgba(179,25,66,.08);
  border: 1px solid rgba(179,25,66,.25);
  border-left: 6px solid #B31942;
  padding: 14px 16px;
  border-radius: 14px;
  margin-bottom: 18px;
  color: #0A3161;
}

/* Table */
.nh-roof-tablewrap{
  overflow-x: auto;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(10,49,97,.08);
}

.nh-roof-table{
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
  background: #ffffff;
}

.nh-roof-table thead th{
  background: #0A3161;
  color: #ffffff;
  text-align: left;
  padding: 14px 14px;
  font-weight: 800;
  border-right: 1px solid rgba(255,255,255,.12);
}

.nh-roof-table td{
  padding: 14px 14px;
  border-top: 1px solid rgba(10,49,97,.12);
  vertical-align: top;
  color: #0A3161;
}

.nh-roof-table tbody tr:nth-child(even) td{
  background: rgba(10,49,97,.03);
}

.nh-roof-note{
  margin: 10px 2px 0;
  color: rgba(10,49,97,.85);
  font-size: .95rem;
}

/* Bin Guide */
.nh-roof-binguide{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 14px;
}

.nh-bin-card{
  background: #ffffff;
  border: 1px solid rgba(10,49,97,.16);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(10,49,97,.08);
  padding: 16px 16px;
}

.nh-bin-top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.nh-bin-title{
  font-weight: 900;
  color: #0A3161;
  font-size: 1.06rem;
}

.nh-bin-tag{
  font-size: .78rem;
  font-weight: 800;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(10,49,97,.20);
  background: rgba(10,49,97,.05);
  color: #0A3161;
  white-space: nowrap;
}

.nh-bin-featured{
  border: 1px solid rgba(179,25,66,.35);
  box-shadow: 0 14px 30px rgba(179,25,66,.10);
}

.nh-bin-tag--featured{
  border-color: rgba(179,25,66,.35);
  background: rgba(179,25,66,.10);
  color: #B31942;
}

.nh-bin-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(10,49,97,.90);
}

.nh-bin-list li{
  margin: 8px 0;
}

/* Mobile */
@media (max-width: 980px){
  .nh-roof-binguide{ grid-template-columns: 1fr; }
  .nh-roof-table{ min-width: 640px; }
}

/* =========================================
   Roofing Reference — Readability Boost
   Targets items OUTSIDE the table
   Scoped: .nh-roof-ref
========================================= */

.nh-roof-ref{
  color: #0A3161 !important;
}

/* Headings + subtext */
.nh-roof-ref .nh-roof-h2{
  color: #fff !important;
  font-weight: 900 !important;
}

/* Force white helper text under roofing reference */
.nh-roof-sub{
  color: #ffffff !important;
  opacity: 1 !important;
}

.nh-roof-ref,
.nh-roof-ref .nh-roof-note{
  color: rgba(0,49,97,.92) !important;
  opacity: 1 !important;
  font-weight: 500;
}

/* Callout */
.nh-roof-ref .nh-roof-callout{
  color: #0A3161 !important;
  background: #fff7f9 !important;
  border-color: rgba(179,25,66,.35) !important;
}

.nh-roof-ref .nh-roof-callout strong{
  color: #0A3161 !important;
}

/* Bin cards */
.nh-roof-ref .nh-bin-card{
  background: #ffffff !important;
  color: #0A3161 !important;
}

.nh-roof-ref .nh-bin-title{
  color: #0A3161 !important;
}

.nh-roof-ref .nh-bin-tag{
  color: #0A3161 !important;
  border-color: rgba(10,49,97,.28) !important;
  background: rgba(10,49,97,.06) !important;
}

.nh-roof-ref .nh-bin-tag--featured{
  color: #B31942 !important;
  border-color: rgba(179,25,66,.40) !important;
  background: rgba(179,25,66,.12) !important;
}

/* Bullet lists */
.nh-roof-ref .nh-bin-list{
  color: rgba(10,49,97,.95) !important;
  opacity: 1 !important;
}

.nh-roof-ref .nh-bin-list li{
  color: rgba(10,49,97,.95) !important;
  opacity: 1 !important;
  font-weight: 500;
}

/* If Elementor is forcing light text via theme styles */
.nh-roof-ref p,
.nh-roof-ref li,
.nh-roof-ref div{
  text-shadow: none !important;
}/* End custom CSS */