/*!
 * E5 — Compare supplier offers. Builds on the Steps 4/5 skin (tw-tools45.css) and LBIC Design System tokens.
 */
.tco [hidden]{ display:none !important; }
.tco-lede{ font-size:1rem; color:var(--lbic-ink-soft); max-width:62ch; margin:0 0 10px; }
.tco-opt{ display:flex; align-items:center; gap:10px; min-height:44px; margin:12px 0; font-size:.9rem; color:var(--lbic-ink); }
.tco-opt input{ width:22px; height:22px; flex:0 0 auto; accent-color:var(--lbic-primary); }
.tco-opt label{ cursor:pointer; padding:12px 0; }

.tco-summary{ background:var(--lbic-surface-2); border:1px solid var(--lbic-line); border-left:3px solid var(--lbic-primary);
  border-radius:var(--lbic-r); padding:12px 16px; margin:12px 0 20px; font-size:.92rem; color:var(--lbic-ink-soft); }
.tco-summary p{ margin:.25em 0; }
.tco-summary__h{ font-weight:700; color:var(--lbic-ink); }

.tco-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; }
@media(max-width:1100px){ .tco-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px){ .tco-grid{ grid-template-columns:minmax(0,1fr); } }
.tco-grid > *{ min-width:0; }

.tco-offer{ background:var(--lbic-surface); border:1px solid var(--lbic-line); border-radius:var(--lbic-r); padding:16px 16px 8px; }
.tco-offer__h{ font-family:var(--lbic-serif); font-weight:500; font-size:1.25rem; margin:0 0 12px; color:var(--lbic-ink); }
.tco-sub{ font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--lbic-ink-faint);
  margin:16px 0 6px; padding-top:12px; border-top:1px solid var(--lbic-line); }
.tco-covers{ font-size:.84rem; color:var(--lbic-ink-soft); margin:-4px 0 12px; }
.tco-covers:empty{ display:none; }
.tco-pair{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:end; }
@media(max-width:380px){ .tco-pair{ grid-template-columns:minmax(0,1fr); } }
.tco .tw45-input{ min-height:44px; }
.tco .tw45-field{ margin-bottom:10px; }
/* costs the chosen shipping term usually leaves to the buyer */
.tco-seg--yours .tw45-flabel::after{ content:" · usually yours"; color:var(--lbic-warn); font-weight:700; }

.tco-result{ margin:6px 0 10px; font-size:.88rem; }
.tco-result:empty{ display:none; }
.tco-result p{ margin:.3em 0; }
.tco-result ul{ margin:.2em 0 .4em 1.2em; padding:0; }
.tco-result--todo{ background:var(--lbic-warn-bg); border:1px solid var(--lbic-warn-line); border-radius:var(--lbic-r-sm); padding:10px 12px; color:var(--lbic-ink); }
.tco-result--err{ background:var(--lbic-crit-bg); border:1px solid var(--lbic-crit-line); border-radius:var(--lbic-r-sm); padding:10px 12px; color:var(--lbic-crit); }
.tco-result--best{ border:2px solid var(--lbic-good-line); border-radius:var(--lbic-r-sm); padding:8px 10px; background:var(--lbic-good-bg); }
.tco-badge{ display:inline-block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--lbic-good); }
.tco-table{ margin-top:4px; }
.tco-table th,.tco-table td{ padding:7px 6px; }
.tco-table th{ text-transform:none; letter-spacing:0; font-size:.84rem; background:transparent; color:var(--lbic-ink-soft); font-weight:600; }
.tco-table tfoot th,.tco-table tfoot td{ font-weight:700; color:var(--lbic-ink); }
.tco-diff{ color:var(--lbic-ink-soft); }

.tco-about{ margin-top:28px; font-size:.88rem; color:var(--lbic-ink-soft); }
.tco-about ul{ padding-left:1.2em; }
.tco-about li{ margin:.3em 0; }
.tco-sources a{ display:inline-flex; align-items:center; min-height:44px; padding:4px 0; }
.tco .tw45-btn{ min-height:44px; }
.lbic-tw45 .tw45-note a{ display:inline-flex; align-items:center; min-height:44px; }

@media print{
  body.tco-printing *{ visibility:hidden !important; }
  body.tco-printing .tco-print-target,body.tco-printing .tco-print-target *{ visibility:visible !important; }
  body.tco-printing .tco-print-target{ position:absolute; left:0; top:0; width:100%; }
  body.tco-printing .tco-print-target .tw45-actions,body.tco-printing .tco-print-target .tco-opt{ display:none; }
  .tco-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
