.td-catalog{background:#fff;color:#1e293b;padding:76px max(22px,calc((100% - 1152px)/2));border-top:1px solid #e2e8f0;scroll-margin-top:110px}
.td-catalog #threedee-directory{scroll-margin-top:110px}
.td-catalog-heading{text-align:center;max-width:850px;margin:0 auto 52px}
.td-catalog-heading h2{font:800 clamp(34px,4.2vw,56px)/1.15 var(--display);letter-spacing:-.04em;margin:0 0 18px}
.td-catalog-heading p{font-size:clamp(17px,1.8vw,23px);line-height:1.5;color:#64748b;margin:0}
.td-catalog-controls{text-align:center;margin:0 auto 48px}
.td-catalog-tabs{display:inline-flex;max-width:100%;padding:5px;border:1px solid #e2e8f0;border-radius:10px;background:#f3f4f6;box-shadow:0 2px 4px #0002;margin-bottom:28px}
.td-catalog-tabs button{padding:16px 28px;border:0;border-radius:7px;background:transparent;color:#475569;font-weight:700;font-size:17px;line-height:1.4}
.td-catalog-tabs button[aria-selected=true]{background:linear-gradient(100deg,#2f80ff,#00cbb3);color:#fff;box-shadow:0 2px 5px #0002}
.td-filter-groups{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}
.td-filter-row{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;justify-content:center;margin:0;color:#475569;font-size:14px}
.td-filter-row button{border:1px solid #e2e8f0;border-radius:7px;background:#f3f4f6;padding:11px 16px;color:#334155;min-height:44px}
.td-filter-row button[aria-pressed=true]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.td-filter-row .td-clear-filters{background:white;text-decoration:underline}
.td-request{margin:24px 0 0;font-size:13px;color:#64748b;text-decoration:underline;text-underline-offset:3px}
.td-result-count{font-size:14px;color:#475569;margin:0 0 12px}
.td-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.td-product{min-width:0}
.td-product>a{display:block}
.td-product figure{margin:0 0 18px;aspect-ratio:1;border:1px solid #d1d5db;border-radius:7px;overflow:hidden;background:#f8fafc}
#td-panel-models .td-product figure{aspect-ratio:16/9;box-shadow:0 4px 6px #0002}
#td-panel-models .td-catalog-grid{row-gap:24px}
.td-product img{width:100%;height:100%;display:block;object-fit:cover}
.td-product h3{font:800 23px/1.3 var(--display);letter-spacing:-.025em;margin:0 0 10px}
.td-product a:hover h3{text-decoration:underline;text-underline-offset:4px}
.td-product p{color:#64748b;font-size:15px;line-height:1.7;margin:0}
.td-browse-all{display:block;width:fit-content;margin:36px auto;color:#475569;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.td-empty{text-align:center;padding:32px;color:#64748b}
.td-catalog [hidden]{display:none!important}
/* Use the host site's semantic palette while preserving the shared catalog layout. */
[data-palette="coral-ivory"] .td-catalog{background:var(--td-color-page);color:var(--td-color-text);border-color:var(--td-color-border)}
[data-palette="coral-ivory"] .td-catalog :is(.td-catalog-heading p,.td-product p,.td-result-count,.td-filter-row){color:var(--td-color-muted)}
[data-palette="coral-ivory"] .td-catalog :is(.td-catalog-tabs,.td-filter-row button){background:var(--td-color-page);border-color:var(--td-color-control-border);color:var(--td-color-text)}
[data-palette="coral-ivory"] .td-catalog .td-catalog-tabs{gap:10px;padding:8px;background:var(--td-color-surface);border:1px solid var(--td-color-selected-border);box-shadow:0 3px 8px #20221f18}
[data-palette="coral-ivory"] .td-catalog .td-catalog-tabs button{color:var(--td-color-text);background:var(--td-color-page);border:1px solid var(--td-color-control-border);min-height:60px;padding:15px 32px;font-size:18px;font-weight:700;box-shadow:none}
[data-palette="coral-ivory"] .td-catalog .td-catalog-tabs button[aria-selected=true]{background:var(--td-color-action);color:var(--td-color-on-action);border:1px solid var(--td-color-action);text-decoration:none;box-shadow:0 2px 0 var(--td-color-link)}
[data-palette="coral-ivory"] .td-catalog .td-catalog-tabs button[aria-selected=true]:hover{background:var(--td-color-action-hover);border-color:var(--td-color-action-hover)}
[data-palette="coral-ivory"] .td-catalog .td-catalog-tabs button[aria-selected=false]:hover{background:var(--td-color-selected-surface)}
[data-palette="coral-ivory"] .td-catalog :is(.td-catalog-tabs button[aria-selected=false],.td-filter-row button[aria-pressed=false]){background:var(--td-color-closing-surface);border-color:var(--td-color-control-text);box-shadow:0 2px 3px #20221f12;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
[data-palette="coral-ivory"] .td-catalog :is(.td-catalog-tabs button[aria-selected=false],.td-filter-row button[aria-pressed=false]):hover{background:var(--td-color-selected-surface);border-color:var(--td-color-link);box-shadow:0 3px 5px #20221f20}
@media(prefers-reduced-motion:reduce){.td-catalog button{transition:none!important}}
[data-palette="coral-ivory"] .td-catalog .td-filter-row button[aria-pressed=true]{background:var(--td-color-selected-surface);color:var(--td-color-selected-text);border:1px solid var(--td-color-selected-border);text-decoration:underline;text-underline-offset:4px}
[data-palette="coral-ivory"] .td-catalog :is(.td-request,.td-browse-all){color:var(--td-color-link)}
[data-palette="coral-ivory"] .td-catalog .td-product figure{background:var(--td-color-surface);border-color:var(--td-color-border)}
[data-palette="coral-ivory"] .td-catalog :is(button,a):focus-visible{outline:3px solid var(--td-color-focus);outline-offset:4px}
@media(max-width:1000px){.td-catalog{padding:56px 30px}.td-catalog-grid{gap:30px 22px}.td-product h3{font-size:20px}}
@media(max-width:760px){.td-catalog{padding:42px 22px}.td-catalog-heading{margin-bottom:30px}.td-catalog-tabs{width:100%}.td-catalog-tabs button{flex:1;font-size:13px;padding:13px 10px}.td-filter-row{gap:8px;font-size:12px}.td-filter-row button{padding:10px 11px}.td-catalog-grid{grid-template-columns:1fr;gap:32px;max-width:420px;margin:auto}.td-product h3{font-size:23px}.td-catalog-controls{margin-bottom:32px}}
@media(max-width:760px){[data-palette="coral-ivory"] .td-catalog .td-catalog-tabs{gap:8px;padding:6px}[data-palette="coral-ivory"] .td-catalog .td-catalog-tabs button{min-height:56px;padding:12px 8px;font-size:14px}}
