/* Scoped fallback styling inherits the active theme's typography and colours. */
.tch-panel { max-width: 650px; padding: 24px; border: 1px solid #d7dcd1; border-radius: 6px; }
.tch-form { display: grid; gap: 18px; margin-bottom: 24px; }
.tch-form label, .tch-search label { display: grid; gap: 6px; font-weight: 600; }
.tch-form input:not([type=checkbox]), .tch-form textarea, .tch-form select, .tch-search select, .tch-search input { width: 100%; padding: 11px; border: 1px solid #adb6a6; border-radius: 4px; font: inherit; }
.tch-form textarea { min-height: 140px; }
.tch-form .tch-check { display: flex; align-items: center; }
.tch-form button, .tch-search button { padding: 12px 20px; background: #d0ed51; color: #1b201e; border: 1px solid #adc438; border-radius: 4px; font: inherit; font-weight: 700; cursor: pointer; }
.tch-notice { padding: 16px; background: #eff4e6; border-left: 4px solid #718f25; margin-bottom: 20px; }
.tch-error { background: #fff0ed; border-color: #a92d24; }
.tch-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-bottom: 30px; }
.tch-member-tool { display: flex; flex-wrap: wrap; gap: 20px; padding: 16px 0; border-bottom: 1px solid #d7dcd1; }
.tch-search { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; margin-bottom: 24px; }
.tch-search label { flex: 1; min-width: 180px; }
.tch-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.tch-card { border: 1px solid #d7dcd1; border-radius: 6px; overflow: hidden; padding: 18px; }
.tch-card a { text-decoration: none; }
.tch-card h3 { margin-top: 20px; font-size: 23px; }
.tch-card img { width: 100%; height: 220px; object-fit: contain; }
.tch-placeholder { display: grid; place-items: center; height: 220px; background: #eef0e9; color: #53604d; font-weight: 700; }
.tch-prices { display: grid; gap: 6px; padding-block: 16px; border-top: 1px solid #d7dcd1; }
.tch-muted { font-size: 13px; color: #596451; margin-top: 24px; }
.tch-honeypot { position: absolute; left: -10000px; }
@media(max-width:800px) { .tch-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) { .tch-grid { grid-template-columns:1fr; } .tch-panel { padding:18px; } }

/* Private loan management. */
.tch-loans { margin-top: 45px; padding-top: 30px; border-top: 1px solid #ddd; }
.tch-loan-record { margin-top: 30px; border: 1px solid #ddd; padding: 24px; border-radius: 6px; }
.tch-loan-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.tch-loan-facts dt { font-weight: 700; }
.tch-loan-facts dd { margin: 0; }
.tch-loan-record .tch-form { max-width: 650px; }
.tch-loan-status { border-left: 3px solid #a82a22; padding: 8px 12px; background: #fff3ee; }
@media(max-width:550px) { .tch-loan-facts { grid-template-columns:1fr; gap:6px; } .tch-loan-facts dd { margin-bottom:12px; } .tch-loan-record { padding:16px; } }

/* Listing wizard and moderated reviews. */
.tch-wizard-step { border: 0; padding: 0; margin: 0; display: grid; gap: 18px; min-width: 0; }
.tch-wizard-step[hidden], .tch-form [hidden] { display: none !important; }
.tch-wizard-step legend { font-size: 1.35em; font-weight: 700; padding: 0; margin-bottom: 14px; }
.tch-wizard-progress { border-left: 4px solid #c71920; padding: 12px; background: #f5f5f5; color: #171717; }
.tch-review, .tch-audit { padding: 16px 0; border-bottom: 1px solid #ddd; }
.tch-reviews { margin-top: 32px; }
.tch-vehicle-picker { display: grid; gap: 14px; }
.tch-selected-vehicles { padding-left: 20px; }
.tch-selected-vehicles li { margin-bottom: 12px; }
.tch-selected-vehicles button { padding: 5px 10px; font-size: .9em; }
/* Question cards use the Tool Collectors red/black visual style. */
.tch-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tch-form .tch-choice-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 2px solid #d7d7d7; border-radius: 10px; background: #fff; color: #181818; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.tch-choice-card:hover { border-color: #c71920; }
.tch-choice-card:has(input:checked) { border-color: #c71920; background: #fff4f4; box-shadow: 0 0 0 1px #c71920; }
.tch-choice-card:focus-within { outline: 3px solid #181818; outline-offset: 3px; }
.tch-form .tch-choice-card input[type=radio] { position: absolute; right: 16px; top: 16px; width: 18px; height: 18px; accent-color: #c71920; }
.tch-choice-card strong { font-size: 1.1em; padding-right: 12px; }
.tch-choice-card > span:last-child { font-size: .9em; font-weight: 400; line-height: 1.5; }
.tch-choice-icon { width: 42px; height: 42px; color: #c71920; }
.tch-choice-icon svg { width: 100%; height: 100%; }
.tch-vehicle-details { display: grid; gap: 18px; border: 1px solid #ddd; border-radius: 8px; padding: 20px; min-width: 0; }
.tch-vehicle-details[hidden] { display: none !important; }
.tch-wizard-error { color: #a20d15; font-weight: 700; }
.tch-form > progress { width: 100%; height: 8px; accent-color: #c71920; }
.tch-form .tch-actions > button { background: #c71920; color: #fff; border-color: #a71117; }
@media (max-width: 550px) { .tch-choice-grid { grid-template-columns: 1fr; } .tch-form .tch-choice-card { padding: 16px; } }
