.b1066-wifi-planner{border:0px solid rgba(0,0,0,.08);border-radius:14px;padding:0px;background:none}
.b1066-wifi-planner__title{margin:0 0 6px 0}
.b1066-wifi-planner__note{margin:0 0 12px 0;opacity:.85}
.b1066-wifi-planner__grid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width: 900px){.b1066-wifi-planner__grid{grid-template-columns:1fr 1fr}}
.b1066-wifi-planner__card{border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:14px}
.b1066-wifi-planner__card h4{margin:0 0 10px 0}
.b1066-wifi-planner label{display:block;font-size:14px;margin:10px 0}
.b1066-wifi-planner input[type="number"], .b1066-wifi-planner select{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.16);border-radius:10px}
.b1066-wifi-planner input[type="range"]{width:100%}
.b1066-wifi-planner__row{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width: 520px){.b1066-wifi-planner__row{grid-template-columns:1fr 1fr}}
.b1066-wifi-planner__fieldset{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px 12px;margin:10px 0}
.b1066-wifi-planner__fieldset legend{font-size:13px;opacity:.85;padding:0 6px}
.b1066-wifi-planner__radio,.b1066-wifi-planner__check{display:flex;gap:8px;align-items:center;margin:6px 0;font-size:14px}
.b1066-wifi-planner__rangeValue{display:inline-block;margin-top:6px;font-size:13px;opacity:.8}
.b1066-wifi-planner__divider{height:6px;border-radius:6px;background:rgba(0,0,0,.06);margin:14px 0}
.b1066-wifi-planner__actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.b1066-wifi-planner__btn{appearance:none;border:0;border-radius:12px;padding:10px 14px;cursor:pointer;background:#0b3a67;color:#fff;font-weight:600}
.b1066-wifi-planner__btn--ghost{background:rgba(0,0,0,.06);color:#0b3a67}
.b1066-wifi-planner__results{margin-top:16px;border-top:1px solid rgba(0,0,0,.08);padding-top:14px}
.b1066-wifi-planner__resultHeader{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.b1066-wifi-planner__badge{font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.06)}
.b1066-wifi-planner__badge[data-status="good"]{background:rgba(0,128,0,.12)}
.b1066-wifi-planner__badge[data-status="borderline"]{background:rgba(255,165,0,.18)}
.b1066-wifi-planner__badge[data-status="bad"]{background:rgba(255,0,0,.14)}
.b1066-wifi-planner__recommendations{display:grid;gap:10px}
.b1066-wifi-planner__rec{border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:12px}
.b1066-wifi-planner__rec h5{margin:0 0 6px 0}
.b1066-wifi-planner__muted{opacity:.82;font-size:13px;line-height:1.4}
.b1066-wifi-planner__breakdown{margin-top:10px;font-size:14px;line-height:1.5}
.b1066-wifi-planner__breakdown ul{margin:8px 0 0 18px}
.b1066-wifi-planner__conditional[hidden]{display:none !important}
.b1066-wifi-planner__cta{margin-top:12px;border-radius:14px;padding:12px;background:rgba(11,58,103,.06)}
.b1066-wifi-planner__ctaLine{margin:8px 0 0 0}

.b1066-wifi, .b1066-wifi label, .b1066-wifi input, .b1066-wifi select, .b1066-wifi textarea, .b1066-wifi p, .b1066-wifi h1, .b1066-wifi h2, .b1066-wifi h3 {color:#000 !important;}

/* v1.0.2: Force planner labels/text to black (override template/module styling) */
.b1066-wifi-planner { color: #000 !important; }
.b1066-wifi-planner label,
.b1066-wifi-planner legend,
.b1066-wifi-planner p,
.b1066-wifi-planner span,
.b1066-wifi-planner small,
.b1066-wifi-planner li,
.b1066-wifi-planner dt,
.b1066-wifi-planner dd,
.b1066-wifi-planner h1,
.b1066-wifi-planner h2,
.b1066-wifi-planner h3,
.b1066-wifi-planner h4,
.b1066-wifi-planner h5,
.b1066-wifi-planner h6,
.b1066-wifi-planner input,
.b1066-wifi-planner select,
.b1066-wifi-planner textarea {
  color: #000 !important;
}
.b1066-wifi-planner input::placeholder,
.b1066-wifi-planner textarea::placeholder {
  color: #000 !important;
  opacity: .65;
}

.b1066-bands-info{margin-top:1.5rem;padding:1rem;border-top:1px solid #ccc;font-size:0.9rem}

/* v1.0.4: Prefer SP Page Builder / Bootstrap styling */
.b1066-wifi-planner .sppb-form-control{width:100%;}
.b1066-wifi-planner .form-control{width:100%;}
/* keep readable spacing without fighting template */
.b1066-wifi-planner .b1066-row{margin-bottom:1rem;}
.b1066-bands-info{margin-top:1.5rem;}
/* keep your requested black labels/text */
.b1066-wifi-planner,
.b1066-wifi-planner label,
.b1066-wifi-planner legend,
.b1066-wifi-planner p,
.b1066-wifi-planner span,
.b1066-wifi-planner small,
.b1066-wifi-planner li,
.b1066-wifi-planner h1,
.b1066-wifi-planner h2,
.b1066-wifi-planner h3,
.b1066-wifi-planner h4,
.b1066-wifi-planner h5,
.b1066-wifi-planner h6 { color:#000 !important; }

/* v1.0.5: SPPB-style sliders */
.b1066-wifi-planner input[type="range"].sppb-form-control{
  width:100%;
  padding:0;
}
.b1066-wifi-planner__rangeValue{
  display:inline-block;
  margin-left:.5rem;
  font-weight:600;
}

/* v1.1.0: SPPB checkbox group styling */
.form-builder-checkbox-content{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}
.form-builder-checkbox-item{display:flex;align-items:center;gap:.4rem}

/* v1.1.1: SP Page Builder form-builder checkbox/radio structures */
.form-builder-checkbox-content,
.form-builder-radio-content{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.5rem;
}
.form-builder-checkbox-item,
.form-builder-radio-item{
  display:flex;
  align-items:center;
  gap:.45rem;
}

/* v1.1.2: Prevent “double” checkboxes/radios when SPPB adds custom UI */
.b1066-wifi-planner .form-builder-checkbox-item,
.b1066-wifi-planner .form-builder-radio-item{
  position: relative;
}
.b1066-wifi-planner .form-builder-checkbox-item > input[type="checkbox"].sppb-form-control,
.b1066-wifi-planner .form-builder-radio-item > input[type="radio"].sppb-form-control{
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* v1.1.3: Align labels with SPPB custom radios/checkboxes */
.b1066-wifi-planner .form-builder-checkbox-item,
.b1066-wifi-planner .form-builder-radio-item{
  display:flex;
  align-items:center;
}
.b1066-wifi-planner .form-builder-checkbox-label,
.b1066-wifi-planner .form-builder-radio-label{
  display:inline-flex;
  align-items:center;
  line-height:1.25;
  margin:0 !important;
}
/* If the template draws the control via :before/:after, keep it vertically centred */
.b1066-wifi-planner .form-builder-checkbox-label::before,
.b1066-wifi-planner .form-builder-checkbox-label::after,
.b1066-wifi-planner .form-builder-radio-label::before,
.b1066-wifi-planner .form-builder-radio-label::after{
  top:50%;
  transform:translateY(-50%);
}

/* v1.1.4: Prevent label text “crashing into” custom control */
.b1066-wifi-planner .form-builder-checkbox-item,
.b1066-wifi-planner .form-builder-radio-item{
  column-gap:.65rem;
}
/* Many SPPB skins draw the control on the label via ::before; add left padding so text clears it */
.b1066-wifi-planner .form-builder-checkbox-label,
.b1066-wifi-planner .form-builder-radio-label{
  padding-left:1.6em !important;
  position:relative;
}
.b1066-wifi-planner .form-builder-checkbox-label::before,
.b1066-wifi-planner .form-builder-radio-label::before{
  left:0;
}

/* v1.1.5: Dropdowns (select) — prefer SPPB styling, add safe fallback */
.b1066-wifi-planner select.sppb-form-control{
  width:100%;
  max-width:100%;
  background-color:#fff;
  border:1px solid rgba(0,0,0,.25);
  border-radius:6px;
  padding:.6rem .8rem;
  line-height:1.2;
}

/* v1.1.6: Spin boxes (number inputs) */
.b1066-wifi-planner input[type="number"].sppb-form-control{
  width:100%;
  background-color:#fff;
  border:1px solid rgba(0,0,0,.25);
  border-radius:6px;
  padding:.6rem .8rem;
  line-height:1.2;
}
/* Make steppers unobtrusive */
.b1066-wifi-planner input[type="number"]::-webkit-outer-spin-button,
.b1066-wifi-planner input[type="number"]::-webkit-inner-spin-button{
  opacity:.6;
  margin-left:.25rem;
}
.b1066-wifi-planner input[type="number"]{
  -moz-appearance:textfield;
}


/* v1.2.0: Venue save/share controls */
.b1066-wifi-planner__btnRow{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.b1066-wifi-planner__card--venue .b1066-wifi-planner__muted{margin-top:.35rem}


/* v1.3.2: Zones + heatmap */
.b1066-wifi-planner__zonesHead,
.b1066-zoneRow{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.75rem;align-items:center}
.b1066-wifi-planner__zonesHead{font-size:.95rem;margin-top:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.15)}
.b1066-zoneRow{margin-top:.5rem}
.b1066-wifi-planner__heatmapWrap{margin-top:1rem}
.b1066-wifi-planner__heatmap{width:100%;max-width:680px;height:auto;border-radius:14px;border:1px solid rgba(0,0,0,.15)}
.b1066-wifi-planner__table{width:100%;border-collapse:collapse}
.b1066-wifi-planner__table th,.b1066-wifi-planner__table td{border-bottom:1px solid rgba(0,0,0,.12);padding:.55rem .5rem;vertical-align:top}
@media (max-width:720px){.b1066-wifi-planner__zonesHead{display:none}.b1066-zoneRow{grid-template-columns:1fr;padding:.75rem;border:1px solid rgba(0,0,0,.12);border-radius:12px}}

/* v1.5.0: zone percentages UI */
.b1066-zonePct{display:flex;gap:.5rem;align-items:center}
.b1066-zonePct__num{max-width:92px}
.b1066-wifi-planner__zonesTotals{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.15)}
.b1066-wifi-planner__zonesBtns{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
/* Mixed-only blocks */
.b1066-wifi-planner__conditional--mixed{display:none}
.b1066-wifi-planner__conditional--visible{display:block}
/* Snapshot badge */
.b1066-wifi-planner__badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;border:1px solid rgba(0,0,0,.2);font-size:.92rem}
.b1066-wifi-planner__kv{display:grid;grid-template-columns: 180px 1fr;gap:.35rem .75rem;margin-top:.5rem}
@media (max-width: 720px){.b1066-wifi-planner__kv{grid-template-columns:1fr}}
.b1066-wifi-planner__list{margin:.35rem 0 0 1.1rem}

/* Force modal above everything (template-safe) */
.modal-backdrop.show{z-index:2000 !important;}
.modal.show{z-index:2010 !important;}
.modal,.modal *{pointer-events:auto !important;}
