/* RoofToYard Kit calculators. Uses theme tokens when available. */
.rtyk{--k-ink:var(--ink,#1C2B36);--k-steel:var(--steel,#5B6B77);--k-line:var(--line,#C8D1D7);--k-panel:var(--panel,#EDF1F3);--k-paper:var(--paper,#fff);--k-tape:var(--tape,#F4B400);--k-tape-soft:var(--tape-soft,#FFF4CC);--k-display:var(--display,"Barlow Condensed","Arial Narrow",Arial,sans-serif);
  margin:1.5rem 0 2.5rem;color:var(--k-ink)}
.rtyk *{box-sizing:border-box}
.rtyk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:2rem;align-items:start}
.rtyk-form{margin:0}
.rtyk-step{border:0;border-top:2px solid var(--k-ink);margin:0 0 1.4rem;padding:.8rem 0 0;min-width:0}
.rtyk-step>legend{font-family:var(--k-display);font-weight:700;font-size:1.3rem;padding:0 .5rem 0 0;float:left;width:100%;margin-bottom:.6rem}
.rtyk-step>legend+*{clear:both}
.rtyk-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0 1rem}
.rtyk-field{margin-bottom:.9rem}
.rtyk-field>label,.rtyk-seg>legend{display:block;font-family:var(--k-display);font-weight:600;font-size:1.05rem;margin-bottom:.3rem;padding:0}
.rtyk-input{display:flex;align-items:stretch;border:2px solid var(--k-ink);background:var(--k-paper)}
.rtyk-input:focus-within{box-shadow:0 0 0 3px var(--k-tape)}
.rtyk-input input,.rtyk-input select{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1.05rem;padding:.55rem .7rem;color:var(--k-ink);font-variant-numeric:tabular-nums;appearance:none;-webkit-appearance:none;border-radius:0}
.rtyk-input input:focus,.rtyk-input select:focus{outline:none}
.rtyk-input select{background-image:linear-gradient(45deg,transparent 50%,var(--k-ink) 50%),linear-gradient(135deg,var(--k-ink) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2rem}
.rtyk-suffix{display:flex;align-items:center;padding:0 .7rem;background:var(--k-panel);font-family:var(--k-display);font-weight:600;color:var(--k-steel);border-left:1px solid var(--k-line)}
.rtyk-hint{font-size:.92rem;color:var(--k-steel);margin:.3rem 0 0;line-height:1.45}
.rtyk-field--check{display:grid;grid-template-columns:auto 1fr;gap:.2rem .6rem;align-items:start}
.rtyk-field--check input{width:1.25rem;height:1.25rem;margin:.2rem 0 0;accent-color:var(--k-ink)}
.rtyk-field--check label{font-size:1.02rem;margin:0}
.rtyk-field--check .rtyk-hint{grid-column:2}
.rtyk-seg{border:0;margin:0 0 1rem;padding:0;min-width:0}
.rtyk-seg-row{display:flex;flex-wrap:wrap;border:2px solid var(--k-ink);width:fit-content;max-width:100%}
.rtyk-seg input{position:absolute;opacity:0;width:1px;height:1px}
.rtyk-seg label{font-family:var(--k-display);font-weight:600;font-size:1.02rem;padding:.45rem .9rem;cursor:pointer;background:var(--k-paper);border-right:1px solid var(--k-line)}
.rtyk-seg label:last-of-type{border-right:0}
.rtyk-seg input:checked+label{background:var(--k-ink);color:var(--k-paper)}
.rtyk-seg input:focus-visible+label{outline:3px solid var(--k-tape);outline-offset:-3px}
.rtyk-when[hidden]{display:none}
.rtyk-prices{border:1px solid var(--k-line);padding:.2rem 1rem;margin:.5rem 0 0;background:var(--k-paper)}
.rtyk-prices summary{font-family:var(--k-display);font-weight:600;font-size:1.05rem;cursor:pointer;padding:.5rem 0}
.rtyk-table-wrap{overflow-x:auto}
.rtyk-prices table{width:100%;border-collapse:collapse;font-size:.95rem;margin:.4rem 0 .6rem}
.rtyk .rtyk-prices th,.rtyk .rtyk-prices td{padding:.35rem .4rem;border:0;border-bottom:1px solid var(--k-line);text-align:left;font-family:inherit;font-size:.95rem;font-weight:400;background:transparent}
.rtyk .rtyk-prices thead th{font-family:var(--k-display);font-weight:700;font-size:1rem;background:var(--k-panel)}
.rtyk .rtyk-prices tbody tr:hover td{background:transparent}
.rtyk-prices td input{width:6.5rem;border:1.5px solid var(--k-ink);padding:.3rem .4rem;font:inherit;font-variant-numeric:tabular-nums}
.rtyk-link-btn{background:none;border:0;padding:0 0 .8rem;font:inherit;font-size:.95rem;color:var(--k-ink);text-decoration:underline;cursor:pointer}

/* Result */
.rtyk-out{position:sticky;top:1rem;background:var(--k-ink);color:#E6ECF0;padding:1.3rem 1.3rem 1.1rem}
.rtyk-out-label{font-family:var(--k-display);font-weight:600;font-size:1.1rem;margin:0;color:#C6D1D8}
.rtyk-range{font-family:var(--k-display);font-weight:700;font-size:clamp(2.1rem,4vw,2.9rem);line-height:1.02;margin:.15rem 0 .2rem;color:var(--k-tape);font-variant-numeric:tabular-nums}
.rtyk-range-sep{font-size:.55em;color:#E6ECF0;font-weight:600}
.rtyk-mid{margin:0 0 .9rem;font-size:1rem;color:#C6D1D8}
.rtyk-empty{margin:0 0 .8rem;color:#fff;font-size:1rem}
.rtyk-out.is-empty .rtyk-range{color:#8A9AA6}
.rtyk-facts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;margin:0 0 1rem;padding:.9rem 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.rtyk-facts:empty{display:none}
.rtyk-facts dt{font-size:.85rem;color:#AFBDC7;margin:0;line-height:1.3}
.rtyk-facts dd{margin:.1rem 0 0;font-family:var(--k-display);font-weight:700;font-size:1.3rem;color:#fff;font-variant-numeric:tabular-nums}
.rtyk .rtyk-out table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0 0 1rem}
.rtyk-out caption{text-align:left;font-family:var(--k-display);font-weight:700;font-size:1.1rem;color:#fff;padding-bottom:.35rem}
.rtyk .rtyk-out th,.rtyk .rtyk-out td{padding:.4rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.14);vertical-align:top;text-align:left;font-family:inherit;font-size:.95rem;font-weight:400;line-height:1.35;background:transparent;color:#E6ECF0}
.rtyk .rtyk-out td{text-align:right;white-space:nowrap;padding-left:.8rem;font-variant-numeric:tabular-nums;color:#fff}
.rtyk .rtyk-out tbody tr:hover td{background:transparent}
.rtyk .rtyk-compare tr.is-current th,.rtyk .rtyk-compare tr.is-current td{color:var(--k-tape);font-weight:600}
.rtyk-you{font-family:var(--k-display);font-size:.85rem;border:1px solid var(--k-tape);padding:0 .3rem;margin-left:.3rem;white-space:nowrap}
.rtyk-notes{margin:0 0 1rem;padding-left:1.1rem;font-size:.9rem;color:#C6D1D8;line-height:1.45}
.rtyk-notes li{margin-bottom:.3rem}
.rtyk-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.rtyk-actions button{font-family:var(--k-display);font-weight:700;font-size:1.02rem;padding:.45rem .9rem;border:2px solid var(--k-tape);background:transparent;color:#fff;cursor:pointer}
.rtyk-actions button:hover{background:var(--k-tape);color:var(--k-ink)}
.rtyk-actions button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.rtyk-status{font-size:.92rem;color:var(--k-tape)}
.rtyk-noscript{background:var(--k-tape-soft);padding:1rem}
.rtyk-sources{font-size:.98rem}

@media (max-width:900px){
  .rtyk-grid{grid-template-columns:1fr}
  .rtyk-out{position:static}
}
@media print{
  .rtyk-form{display:none}
  .rtyk-grid{display:block}
  .rtyk-out{background:#fff;color:#000;border:1px solid #000}
  .rtyk-range,.rtyk-facts dd,.rtyk-out caption,.rtyk-out td{color:#000}
  .rtyk-actions{display:none}
}
