/* Household plan builder — uses the site tokens from site.css */
.pb-wrap{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start}
.pb-steps{list-style:none;margin:0;padding:0;position:sticky;top:90px;counter-reset:s}
.pb-steps li{margin:0 0 4px}
.pb-steps button{all:unset;cursor:pointer;display:flex;gap:10px;align-items:center;width:100%;padding:9px 10px;border-radius:var(--radius);color:var(--muted);font-size:.95rem;box-sizing:border-box}
.pb-steps button:focus-visible{outline:2px solid var(--teal)}
.pb-steps span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);font-size:.8rem;flex:none}
.pb-steps li.on button{background:var(--card);color:var(--ink);font-weight:600}
.pb-steps li.on span{background:var(--teal);border-color:var(--teal);color:var(--on-accent)}
.pb-steps li.done span{background:var(--olive-soft);border-color:var(--olive);color:var(--ink)}
.pb-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;box-shadow:var(--shadow)}
.pb-panel h2{margin-top:0}
.pb-panel h2:focus{outline:none}
.pb-field{display:block;margin:0 0 16px}
.pb-field>span{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}
.pb-field input,.pb-field textarea,.pb-field select,.pb-exp input{width:100%;box-sizing:border-box;background:var(--paper-2);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--radius);padding:11px 12px;font:inherit;font-size:1rem}
.pb-field input:focus,.pb-field textarea:focus,.pb-field select:focus,.pb-exp input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.pb-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 14px;align-items:end;border-bottom:1px dashed var(--line);margin-bottom:14px}
.pb-x{all:unset;cursor:pointer;color:var(--muted);font-size:.85rem;text-decoration:underline;margin:0 0 22px}
.pb-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;line-height:1.4;cursor:pointer}
.pb-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--teal);flex:none}
.pb-kit{display:flex;gap:14px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.pb-kit .pb-check{margin:0}
.pb-exp{display:flex;gap:6px;align-items:center;flex:none}
.pb-exp input{width:150px;padding:7px 8px}
.pb-score{font-size:1.1rem}
.pb-op{margin:-4px 0 18px}
.pb-opt{display:block;border:1px solid var(--line-2);border-radius:var(--radius);padding:12px 14px;margin:0 0 8px;cursor:pointer;background:var(--paper-2)}
.pb-opt.on{border-color:var(--teal);background:var(--teal-soft)}
.pb-opt input{accent-color:var(--teal)}
.pb-nav{display:flex;justify-content:space-between;margin-top:22px}
.pb-saved{font-size:.85rem;color:var(--muted);margin:10px 0 0}
.pb-sheet{background:#fff;color:#14181a;border-radius:var(--radius);padding:24px 26px;margin:18px 0 22px;font-size:.95rem}
.pb-sheet-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;border-bottom:3px solid #E3A33B;padding-bottom:10px;margin-bottom:12px}
.pb-sheet-head b{font-family:var(--head);font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em}
.pb-sheet-head span{color:#555;font-size:.85rem}
.pb-sheet h4{margin:14px 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#7a5a17}
.pb-sheet ul{margin:0;padding-left:18px}
.pb-sheet li{margin:0 0 4px}
.pb-sheet a{color:#14181a}
.pb-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pb-nums{list-style:none;padding:0!important}
.pb-nums b{display:inline-block;min-width:118px}
.pb-foot{margin:16px 0 0;font-size:.8rem;color:#666;border-top:1px solid #ddd;padding-top:8px}
.pb-after{margin:6px 0 22px;gap:18px}
.pb-upsell h4{margin-bottom:8px}
.pb-sug{list-style:none;padding:0;margin:0}
.pb-sug li{margin:0 0 10px}
.linklike{all:unset;cursor:pointer;text-decoration:underline}
.pb-install{display:none}
@media (max-width:820px){
  .pb-wrap{grid-template-columns:1fr;gap:18px}
  .pb-steps{position:static;display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}
  .pb-steps li{flex:none;margin:0}
  .pb-steps button{padding:7px 9px;font-size:.85rem;white-space:nowrap}
  .pb-steps li:not(.on) button{font-size:0;gap:0}
  .pb-steps li:not(.on) span{font-size:.8rem}
  .pb-panel{padding:20px 16px}
  .pb-cols{grid-template-columns:1fr;gap:0}
  .pb-kit{flex-direction:column;align-items:flex-start;gap:6px}
  /* Keep room for the step bar and first step until plan-builder.js fills them (stops the page jumping on load) */
  .pb-steps:empty{min-height:44px}
  #pb-body:has(>noscript:only-child){min-height:420px}
  #pb-nav:empty{min-height:50px}
}
@media print{
  body *{visibility:hidden}
  #pb-sheet,#pb-sheet *{visibility:visible}
  #pb-sheet{position:absolute;left:0;top:0;width:100%;margin:0;padding:0;font-size:11pt}
  .site-head,.site-foot{display:none}
}
