/* Product page only; the shared look comes from style.css. */
.product-tools { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: end; margin: 1rem 0 1.5rem; }
.product-tools label { display: flex; flex-direction: column; gap: .25rem; font-size: .9rem; }
.product-tools label.choice-single { flex-direction: row; align-items: center; gap: .5rem; }

.table-wrap { overflow-x: auto; }
table.products { min-width: 60rem; }
table.products td.pick { width: 2.5rem; text-align: center; }
table.products tr.unavailable td { color: var(--muted); }
table.products .sub { display: block; color: var(--muted); font-size: .8rem; }
table.products .warnings { margin: .35rem 0 0; padding-left: 1rem; font-size: .8rem; color: #8a4b00; }
table.products .warnings li { margin: .1rem 0; }

.badge { display: inline-block; padding: .1rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.badge.measured { background: var(--petrol-100); color: var(--petrol-800); }
.badge.estimate { background: #fff1d6; color: #8a4b00; }
.badge.none { background: #eee; color: #555; }

.selection-bar { position: sticky; bottom: 0; display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between;
  background: #fff; border-top: 2px solid var(--petrol-200); padding: .75rem 0; margin-top: 1rem; }
.selection-bar span { font-weight: 600; }

.solar-list { list-style: none; padding: 0; display: grid; gap: .6rem; }
.solar-list li { border: 1px solid var(--border); border-radius: 8px; padding: .6rem .8rem; background: #fff; }
.solar-list .why { display: block; color: var(--muted); font-size: .85rem; margin-top: .2rem; }

.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
