/* Rewire hub — extends shared calculator chrome from ../eicr/eicr-page.css — v20260430 */

#rewire-calculators {
  scroll-margin-top: 6rem;
}

.rewire-hub-note {
  font-size: 0.875rem;
  color: #383838;
  margin-top: 0.75rem;
}

/*
 * Rewire calculators have more rows than EICR — fixed viewport + overflow:hidden
 * clipped the detailed device. Let the twin column grow with content (desktop),
 * and never clip the shell body on any width.
 */
.eicr-calculators-viewport.rewire-calculators-viewport .eicr-calc-shell__bd--fixed {
  overflow: visible;
  min-height: min-content;
}

/* Rewire detailed panel: the grid is one card wide — override 2-col rule and centre */
#rewire-detailed .eicr-calculators-grid {
  grid-template-columns: minmax(0, 1fr);
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 900px) {
  .eicr-calculators-viewport.rewire-calculators-viewport {
    height: auto;
    min-height: 30rem;
    max-height: none;
  }

  .eicr-calculators-viewport.rewire-calculators-viewport .eicr-calculators-grid {
    height: auto;
  }

  #rewire-detailed .eicr-calculators-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .eicr-calculators-viewport.rewire-calculators-viewport .eicr-calc-device {
    height: auto;
    max-height: none;
    overflow: visible;
  }

  /* Undo Tailwind h-full so column height follows the taller calculator, not a fixed box */
  .eicr-calculators-viewport.rewire-calculators-viewport .eicr-calc-device.h-full {
    height: auto;
    align-self: stretch;
  }

  .eicr-calculators-viewport.rewire-calculators-viewport .eicr-calc-shell__bd--fixed {
    flex: 1 1 auto;
    min-height: min-content;
  }
}

.rewire-room-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.2rem 0.3rem;
  flex-shrink: 0;
}

.rewire-room-grid .eicr-board-slot {
  height: 1.55rem;
  padding: 0 0.25rem;
  gap: 0.25rem;
}

.rewire-room-grid .eicr-board-slot__i {
  min-width: 1.85rem;
  font-size: 0.5rem;
  letter-spacing: 0.02em;
}

.rewire-room-lbl--full {
  display: none;
}

.rewire-room-lbl--short {
  display: inline;
}

@media (min-width: 768px) {
  .rewire-room-lbl--full {
    display: inline;
  }

  .rewire-room-lbl--short {
    display: none;
  }

  .rewire-room-grid .eicr-board-slot {
    height: auto;
    min-height: 1.55rem;
    padding: 0.18rem 0.25rem;
  }

  .rewire-room-grid .eicr-board-slot__i {
    width: auto;
    min-width: 3.6rem;
    max-width: 5.25rem;
    min-height: 1.35rem;
    height: auto;
    padding: 0.12rem 0.2rem;
    font-size: 0.56rem;
    line-height: 1.15;
    text-align: center;
    align-self: center;
    white-space: normal;
  }
}

/* Sentence-style hint under “Is the property occupied?” */
.eicr-calc-micro--sub {
  text-transform: none;
  letter-spacing: 0.04em;
  font-weight: 600;
  font-size: 0.48rem;
  color: rgba(255, 255, 255, 0.42);
  margin-top: 0.12rem;
  margin-bottom: 0.2rem;
  line-height: 1.35;
}

.rewire-room-grid .eicr-key {
  width: 1.45rem;
  height: 1.45rem;
  min-width: 1.45rem;
  font-size: 0.85rem;
}

.rewire-room-grid .eicr-board-slot__count {
  font-size: 0.82rem;
  min-width: 1rem;
}

.rewire-floors {
  flex-shrink: 0;
  width: 100%;
  padding: 0.35rem 0.45rem;
  border-radius: 0.35rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #1f2026;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  cursor: pointer;
}

.rewire-opt-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  flex-shrink: 0;
}

.rewire-opt-btn {
  flex: 1 1 30%;
  min-width: 0;
  padding: 0.32rem 0.35rem;
  border-radius: 0.35rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #2a2c32;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.55rem;
  font-weight: 800;
  line-height: 1.15;
  cursor: pointer;
  transition: border-color 0.12s, background 0.12s, color 0.12s;
}

.rewire-opt-btn.is-on {
  border-color: rgba(253, 199, 0, 0.5);
  background: rgba(253, 199, 0, 0.12);
  color: #fde047;
}

.rewire-opt-btn:hover {
  border-color: rgba(253, 199, 0, 0.35);
  color: #fde047;
}
