/* Duplex Home Load Calculator form. Same design as the single-family optional and
   standard method calculators (Bootstrap 5.3.2 + ZigTech brand), scoped to .dhlc-calc. */
.dhlc-calc .btn-primary,
.dhlc-calc .btn-secondary,
.dhlc-calc .btn-dark,
.dhlc-calc .btn-success,
.dhlc-calc .btn-danger,
.dhlc-calc .btn-info,
.dhlc-calc a.btn-primary,
.dhlc-calc a.btn-secondary,
.dhlc-calc a.btn-dark,
.dhlc-calc a.btn-success,
.dhlc-calc a.btn-danger,
.dhlc-calc a.btn-info,
.dhlc-calc button.btn-primary,
.dhlc-calc button.btn-secondary,
.dhlc-calc button.btn-dark,
.dhlc-calc button.btn-success,
.dhlc-calc button.btn-danger,
.dhlc-calc button.btn-info {
  color: #fff !important;
}
.dhlc-calc .btn-primary *,
.dhlc-calc .btn-secondary *,
.dhlc-calc .btn-dark *,
.dhlc-calc .btn-success *,
.dhlc-calc .btn-danger *,
.dhlc-calc .btn-info * {
  color: #fff !important;
}

/* ZigTech brand: navy #1B3664, orange #D75225 */
.dhlc-calc {
  --zt-navy: #1B3664;
  --zt-navy-dark: #12264A;
  --zt-navy-tint: #EEF1F7;
  --zt-orange: #D75225;
  --zt-orange-dark: #B8441C;
  --zt-text: #1F2937;
  --zt-muted: #5B6472;
  --zt-border: #D5DBE5;
}
.dhlc-calc .card {
  border: 1px solid var(--zt-border);
  border-radius: 10px;
  overflow: hidden;
}
.dhlc-calc .card-header.dhlc-card-header {
  background: var(--zt-navy);
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: .02em;
  border-bottom: 3px solid var(--zt-orange);
  padding: .8rem 1.25rem;
}
.dhlc-calc .dhlc-section-wrap {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--zt-border);
}
.dhlc-calc .card-body > .dhlc-section-wrap:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.dhlc-calc .dhlc-section {
  color: var(--zt-navy);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  line-height: 1.2;
  border-left: 4px solid var(--zt-orange);
  padding-left: .7rem;
  margin: 0;
}
.dhlc-calc .dhlc-section-hint {
  color: var(--zt-muted);
  font-size: .8rem;
  margin: .3rem 0 .25rem .95rem;
}
.dhlc-calc .form-label {
  color: var(--zt-text);
  font-size: .88rem;
  font-weight: 600;
  margin-bottom: .25rem;
}
.dhlc-calc .form-control,
.dhlc-calc .form-select {
  color: var(--zt-text) !important;
  background-color: #fff !important;
  border: 1px solid var(--zt-border) !important;
  border-radius: 6px !important;
  min-height: 38px;
  font-size: .95rem;
  margin-bottom: 0 !important;
}
.dhlc-calc .form-control:focus,
.dhlc-calc .form-select:focus {
  border-color: var(--zt-navy) !important;
  box-shadow: 0 0 0 .2rem rgba(27, 54, 100, .18) !important;
}
.dhlc-calc .form-check-input:checked {
  background-color: var(--zt-navy);
  border-color: var(--zt-navy);
}
/* Size inputs to their content: numbers are short, names and selects medium */
.dhlc-calc input[type="number"].form-control { max-width: 200px; }
.dhlc-calc input[type="text"].form-control,
.dhlc-calc .form-select { max-width: 360px; }
.dhlc-calc .form-text {
  color: var(--zt-muted);
  font-size: .74rem;
  line-height: 1.4;
  margin-top: .2rem;
}
.dhlc-calc .card-body.row { --bs-gutter-y: .85rem; }
.dhlc-calc .btn-dhlc-primary {
  background: var(--zt-orange);
  border: 1px solid var(--zt-orange);
  color: #fff !important;
  font-weight: 700;
  padding: .6rem 2rem;
  border-radius: 6px;
}
.dhlc-calc .btn-dhlc-primary:hover,
.dhlc-calc .btn-dhlc-primary:focus {
  background: var(--zt-orange-dark);
  border-color: var(--zt-orange-dark);
}
.dhlc-calc .btn-dhlc-outline {
  background: #fff;
  border: 1px solid var(--zt-navy);
  color: var(--zt-navy) !important;
  font-weight: 600;
  border-radius: 6px;
}
.dhlc-calc .btn-dhlc-outline:hover,
.dhlc-calc .btn-dhlc-outline:focus {
  background: var(--zt-navy);
  color: #fff !important;
}
.dhlc-calc .btn-dhlc-reset {
  background: transparent;
  border: 1px solid var(--zt-border);
  color: var(--zt-muted) !important;
  border-radius: 6px;
}
.dhlc-calc .btn-dhlc-reset:hover { border-color: var(--zt-muted); }
.dhlc-calc .dhlc-title {
  color: var(--zt-navy);
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: .01em;
  margin: 0 0 1.5rem;
  text-align: center;
}
.dhlc-calc .dhlc-ca-note {
  display: block;
  margin-top: .2rem;
  color: var(--zt-muted);
  font-size: .72rem;
  line-height: 1.4;
}
.dhlc-calc .dhlc-ca-tag {
  color: var(--zt-muted);
  margin-right: .3rem;
}
.dhlc-calc .dhlc-ca-tag::after { content: ":"; }
