.tdpqcd { --tdpqcd-brand: #1a6fd6; margin: 24px 0 32px; }
.tdpqcd *, .tdpqcd *::before, .tdpqcd *::after { box-sizing: border-box; }
.tdpqcd [hidden] { display: none !important; }
.tdpqcd-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding: 12px 14px; margin-bottom: 16px; border: 1px solid #dfe3e8; border-radius: 10px; background: #f5f7f9; font-size: 14px; }
.tdpqcd-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--tdpqcd-brand); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.tdpqcd-bar-text { color: #464d57; }
.tdpqcd-samples { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.tdpqcd .tdpqcd-sample, .tdpqcd .tdpqcd-owner-toggle { min-height: 36px; padding: 6px 14px; border: 1px solid #c9d0d8; border-radius: 7px; background: #fff; color: #1f2328; font: inherit; font-size: 13px; font-weight: 600; line-height: 1.2; cursor: pointer; text-transform: none; letter-spacing: 0; }
.tdpqcd .tdpqcd-sample:hover, .tdpqcd .tdpqcd-owner-toggle:hover { border-color: var(--tdpqcd-brand); color: var(--tdpqcd-brand); background: #fff; }
.tdpqcd .tdpqcd-owner-toggle { margin-left: auto; }
.tdpqcd .tdpqcd-owner-toggle.is-active { background: var(--tdpqcd-brand); border-color: var(--tdpqcd-brand); color: #fff; }
.tdpqcd-owner { margin-bottom: 16px; padding: 16px; border: 1px dashed #c9d0d8; border-radius: 10px; background: #fff; }
.tdpqcd-owner-intro { margin: 0 0 12px; font-size: 13px; color: #646b75; }
.tdpqcd-owner-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.tdpqcd-owner label { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: 13px; font-weight: 600; color: #1f2328; }
.tdpqcd-owner input[type="number"] { width: 100%; min-height: 38px; padding: 6px 10px; border: 1px solid #dfe3e8; border-radius: 7px; font: inherit; font-size: 14px; font-weight: 400; margin: 0; }
.tdpqcd-owner input[type="color"] { width: 100%; height: 38px; padding: 2px; border: 1px solid #dfe3e8; border-radius: 7px; background: #fff; cursor: pointer; }
.tdpqcd-note { margin: 12px 0 0; font-size: 12px; color: #646b75; text-align: center; }
/* Keep theme heading/table styles from leaking into the calculator. */
.tdpqcd .tdpqc h3.tdpqc-h { margin: 0 0 16px; font-size: 17px; text-transform: none; letter-spacing: 0; }
.tdpqcd .tdpqc table.tdpqc-breakdown { border: 0; margin: 0 0 14px; }
.tdpqcd .tdpqc .tdpqc-btn { text-transform: none; letter-spacing: 0; }
@media (max-width: 600px) { .tdpqcd .tdpqcd-owner-toggle { margin-left: 0; } .tdpqcd-bar { padding: 12px; } }
