/* Generic product layout and shared document placeholder. Designed pages are untouched:
   every rule below is scoped to .tc-pg (generic products) or the placeholder tile. */

/* Neutral tile for a document with no preview image: no invented drawing. */
.tc-document-thumb.is-placeholder{background:var(--tc-stage);border-color:#cfd1cf}
.tc-document-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;color:#5a5f66;font-size:11px;font-weight:600;letter-spacing:.09em;line-height:1}
.tc-document-placeholder svg{display:block;width:30px;height:38px}
@media(max-width:600px){.tc-document-placeholder svg{width:24px;height:30px}.tc-document-placeholder{gap:4px;font-size:10px}}

/* Header: no photo column, so the heading uses the full width. */
.tc-pg-head .tc-product-head-grid{grid-template-columns:minmax(0,1fr)}
.tc-pg-head h1{max-width:20em}
.tc-pg-head .tc-lead{max-width:44em;font-size:18px;margin-top:22px}
.tc-pg-head .tc-lead p{margin:0}

.tc-pg-page{align-items:start}
.tc-pg-sidebar .tc-quote-panel{position:sticky;top:24px}
@media(max-width:781px){.tc-pg-sidebar .tc-quote-panel{position:static}}

/* Body content. */
.tc-pg-body{font-size:17px;line-height:1.65;overflow-wrap:break-word;min-width:0;margin-bottom:48px}
.tc-pg-body>:first-child{margin-top:0}
.tc-pg-body h2{font-size:clamp(26px,2.6vw,32px);margin:52px 0 20px}
.tc-pg-body h3{font-size:21px;font-weight:600;line-height:1.3;margin:38px 0 12px}
.tc-pg-body h4{font-size:18px;font-weight:600;line-height:1.35;margin:32px 0 10px}
.tc-pg-body h5,.tc-pg-body h6{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tc-graphite);margin:30px 0 12px}
.tc-pg-body h3 a,.tc-pg-body h4 a{text-decoration:none}
.tc-pg-body h3 a:hover,.tc-pg-body h4 a:hover{text-decoration:underline;text-decoration-color:var(--tc-red)}
.tc-pg-body p{margin:0 0 1.1em}
.tc-pg-body ul,.tc-pg-body ol{margin:0 0 1.5em;padding-left:1.35em}
.tc-pg-body li{margin-bottom:.4em;padding-left:.2em}
.tc-pg-body li::marker{color:var(--tc-red)}
.tc-pg-body a{text-decoration-color:var(--tc-red)}
.tc-pg-body strong{font-weight:600}
br.tc-pg-gap{display:block;content:"";margin-top:.9em}
.tc-pg-body img{max-width:100%;height:auto}
.tc-pgl-text .tc-pg-body>p,.tc-pgl-text .tc-pg-body>ul,.tc-pgl-text .tc-pg-body>ol,.tc-pgl-text .tc-pg-body>h3,.tc-pgl-text .tc-pg-body>h4,.tc-pgl-text .tc-pg-body>h5,.tc-pgl-text .tc-pg-body>h2{max-width:44em}

/* Pictures: one image sits beside the text, several form a tidy tile row. */
.tc-pg-figure{display:flex;align-items:center;justify-content:center;background:var(--tc-stage);padding:20px;margin:0 0 28px;max-width:480px}
.tc-pg-figure img{display:block;max-height:420px;width:auto;mix-blend-mode:multiply}
.tc-pg-figure.is-small{display:inline-flex;padding:14px 20px}
.tc-pgl-text .tc-pg-figure:not(.is-small){float:right;margin:4px 0 24px 40px;max-width:min(38%,380px)}
.tc-pgl-text .tc-pg-body::after{content:"";display:block;clear:both}
.tc-pg-gallery{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px;margin:0 0 34px}
.tc-pg-gallery .tc-pg-tile{margin:0;min-width:0;max-width:100%;background:var(--tc-stage);display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}
.tc-pg-gallery .tc-pg-tile img{display:block;width:auto;height:auto;max-width:100%;max-height:190px;mix-blend-mode:multiply}
.tc-pg-gallery .tc-pg-tile a{display:flex;align-items:center;justify-content:center}
.tc-pgl-gallery .tc-pg-gallery .tc-pg-tile img{max-height:230px}
.tc-pg-gallery .tc-pg-tile.is-small{min-height:72px}
/* Source media rows (image beside a bullet list). */
.tc-pg-body .tc-source-media-detail{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:start;margin:14px 0 32px;padding-bottom:30px;border-bottom:1px solid var(--tc-rule)}
.tc-pg-body .tc-source-media-detail__media{background:var(--tc-stage);display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:10px;margin:0}
.tc-pg-body .tc-source-media-detail__media img{display:block;max-width:100%;max-height:100%;width:auto;mix-blend-mode:multiply}
.tc-pg-body .tc-source-media-detail__body>:last-child{margin-bottom:0}
.tc-pg-body .tc-source-media-detail__body ul{margin-bottom:0}
@media(max-width:600px){.tc-pg-body .tc-source-media-detail{grid-template-columns:84px minmax(0,1fr);gap:16px}.tc-pg-gallery{gap:10px}.tc-pg-gallery .tc-pg-tile img{max-height:150px}}

/* Tables scroll inside their own frame, never the page. */
.tc-pg-body .tc-table-scroll{margin:26px 0 38px;border:1px solid var(--tc-rule);background:#fff}
.tc-pg-body table{width:100%;min-width:560px;border-collapse:collapse;font-size:14.5px;line-height:1.45;margin:0}
.tc-pg-body th,.tc-pg-body td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--tc-rule)}
.tc-pg-body tr:last-child>th,.tc-pg-body tr:last-child>td{border-bottom:0}
.tc-pg-body th{background:var(--tc-stage);font-weight:600;white-space:normal}
.tc-pg-body td p{margin:0 0 .5em}
.tc-pg-body td p:last-child{margin-bottom:0}
.tc-pg-body td img,.tc-pg-body th img{display:block;max-width:100%;height:auto}
.tc-pg-body table table{min-width:0;border:0}
.tc-pgl-table .tc-pg-body table{min-width:640px}

/* Documents-only families: the heading, documents and quote panel carry the page. */
.tc-pgl-documents .tc-related-documents{padding-top:0}

/* Product cards whose source image is unavailable: a neutral image placeholder, not a blank box.
   The tile label repeats the card title, so it stays out of sight (the tile is already aria-hidden). */
.tc-result-card .tc-card-photo.tc-card-text-tile{position:relative;font-size:0;color:transparent;background-color:var(--tc-stage);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 48'%3E%3Crect x='3' y='3' width='58' height='42' rx='3' fill='none' stroke='%23b4b8bd' stroke-width='2'/%3E%3Ccircle cx='20' cy='17' r='5' fill='none' stroke='%23b4b8bd' stroke-width='2'/%3E%3Cpath d='M6 40l16-14 10 9 12-13 14 15' fill='none' stroke='%23b4b8bd' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:56px auto}
