/* One vertical rhythm for ordinary strings and factory sets. */
.string-card{display:flex;flex-direction:column;min-width:0}
.string-card>.string-image{flex-shrink:0}
.string-card>h3{margin:14px 0 0;line-height:1.3;overflow-wrap:anywhere}
.string-card .tms-string-material{font-size:.875rem;font-weight:600;line-height:1.5;color:#4d6c80}
.string-card>h3+p.string-meta:has(.tms-string-material),.string-card>h3+p.shape-pill{
 box-sizing:border-box;min-height:0;margin:12px 0 18px;padding:0;
 border:0;border-radius:0;background:transparent;box-shadow:none;
 font-size:.875rem;line-height:1.5;font-weight:400;color:#59768c;
}
.string-card>h3+p.shape-pill{display:block;font-weight:500;color:#4d6c80}
.string-card>.tms-string-specs,.string-card>.tms-hybrid-components{margin:0 0 18px;box-sizing:border-box}
.string-card>.tms-hybrid-components{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 grid-template-rows:auto 1fr auto;align-content:start;gap:8px;
 padding:12px;border-radius:12px;background:#eff8fd;
}
.string-card .tms-hybrid-components>.tms-spec-label{grid-column:1/-1;font-size:.75rem;line-height:1.4;font-weight:400;margin:0}
.string-card .tms-hybrid-components>p{
 display:grid;grid-template-rows:1fr auto;align-content:start;align-items:start;
 gap:6px;margin:0;padding:0;min-width:0;min-height:0;background:transparent;
 font-size:.8125rem;line-height:1.45;overflow-wrap:anywhere;
}
.string-card .tms-hybrid-components>p>strong{font-size:inherit;font-weight:600;color:#173950}
.string-card .tms-hybrid-components>p>span{font-size:.75rem;color:#59768c;white-space:nowrap}
.string-card .tms-hybrid-components>small{grid-column:1/-1;margin:0;font-size:.75rem;line-height:1.45;color:#638096}
.string-card>.tms-string-specs+p.string-meta,.string-card>.tms-hybrid-components+p.string-meta{margin:0 0 14px;line-height:1.5}
.string-card>a.source-link{margin-top:auto;padding-top:18px;align-self:flex-start}
@media(max-width:360px){.string-card>.tms-hybrid-components{grid-template-columns:1fr;grid-template-rows:auto}.string-card .tms-hybrid-components>p+p{padding-top:8px;border-top:1px solid #dcebf3}}
.string-card .tms-component-trigger{display:inline;text-align:left;font:inherit;color:inherit;line-height:inherit;white-space:normal;overflow-wrap:anywhere;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:#9ab7c8;text-underline-offset:3px;cursor:zoom-in}
.string-card .tms-component-trigger:hover{color:#0d76ba;background:none;transform:none}
.string-card .tms-component-trigger:focus-visible{outline:2px solid #0d76ba;outline-offset:3px;border-radius:3px}
.tms-component-photo{position:fixed;z-index:10000;box-sizing:border-box;width:240px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:14px;border:1px solid #c9e2f3;border-radius:14px;background:white;box-shadow:0 12px 36px #082b4926;display:flex;flex-direction:column;gap:10px;pointer-events:none;font-size:13px;line-height:1.4;color:#173950}
.tms-component-photo[hidden]{display:none}
.tms-component-photo img{display:block;width:100%;height:200px;object-fit:contain}
.tms-component-photo strong{font-size:13px;font-weight:600}.tms-component-photo span{color:#638096}

.tms-hybrid-components.tms-hybrid-kit{grid-template-columns:1fr}.tms-hybrid-kit>p{gap:10px}.tms-hybrid-kit>p>span{line-height:1.6}

.tms-hybrid-components>p>.tms-component-detail{grid-column:1/-1;align-self:start;font-size:12px;font-weight:400;line-height:1.4;margin-top:4px}.tms-hybrid-components>p{min-width:0}.tms-hybrid-components>p>span{overflow-wrap:anywhere}

/* Consistent packet area; never crop the printed product name. */
#string-grid .string-image{height:210px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;overflow:hidden;padding:12px;box-sizing:border-box}
#string-grid .string-image img{width:100%;height:100%;object-fit:contain;object-position:center}
#string-grid .tms-hybrid-components>p>span{white-space:normal;overflow-wrap:anywhere}
#string-grid .tms-packet-missing{font-size:13px;line-height:1.5;color:#64748b;text-align:center;max-width:180px}
