/* Product catalogue: strong hierarchy, complete photography and usable facets. */
.tm-catalog-view,.tm-filter-dialog { --catalog-ink:#182d29; --catalog-accent:#d3eb6b; --catalog-line:#dce3e0; }
.tm-catalog-hero { display:flex; align-items:center; justify-content:space-between; gap:32px; background:#182d29; color:#fff; padding:34px 40px; border-radius:14px; margin:0 0 32px; position:relative; overflow:hidden; }
.tm-catalog-hero::before { content:""; width:6px; position:absolute; inset:0 auto 0 0; background:var(--catalog-accent); }
.tm-catalog-eyebrow { font-size:12px; font-weight:700; letter-spacing:.13em; color:#d3eb6b; margin:0 0 10px; }
.tm-catalog-hero > div { min-width:0; }
.tm-catalog-hero h1 { overflow-wrap:normal; word-break:normal; hyphens:auto; font-size:clamp(34px,4vw,52px); line-height:1.08; letter-spacing:-.035em; margin:0 0 14px; color:#fff; }
.tm-catalog-hero p:last-child { font-size:17px; color:#e0e8e4; line-height:1.55; margin:0; max-width:670px; }
.tm-catalog-hero__count { border-left:1px solid #577067; padding-left:32px; flex:none; font-size:14px; color:#dce6e0; }
.tm-catalog-hero__count strong { display:block; font-size:42px; line-height:1.1; color:#fff; margin-bottom:8px; letter-spacing:-.04em; }
.tm-catalog-shortcuts { margin:-10px 0 26px; }
.tm-catalog-shortcuts > strong { display:block; font-size:14px; font-weight:600; color:#52645b; margin:0 0 11px; }
.tm-catalog-shortcuts > div { display:flex; flex-wrap:wrap; gap:8px; }
.tm-catalog-shortcuts a { display:inline-flex; align-items:center; gap:9px; min-height:40px; padding:8px 13px; border:1px solid #cbd8d0; border-radius:7px; background:#f4f7f5; color:#214e3c; font-size:14px; font-weight:600; line-height:1.3; text-decoration:none; }
.tm-catalog-shortcuts a:hover { background:#e7f0eb; border-color:#58816b; }
.tm-catalog-shortcuts a:focus-visible { outline:3px solid #205c47; outline-offset:2px; }
.tm-catalog-shortcuts a span { font-size:11px; font-weight:400; color:#607368; }
.tm-category-description { margin:0 0 28px; padding:14px 0; border-bottom:1px solid var(--catalog-line); }
.tm-category-description summary { font-size:17px; cursor:pointer; font-weight:700; }
.tm-category-description .term-description { padding-top:18px; max-width:860px; }
.tm-category-description--finnish { padding:0; border:1px solid #dce5df; border-left:4px solid #205c47; border-radius:10px; background:#f4f7f5; overflow:hidden; }
.tm-category-description--finnish > summary { display:flex; align-items:center; gap:24px; padding:12px 26px; list-style:none; font-weight:400; }
.tm-category-description--finnish > summary::-webkit-details-marker { display:none; }
.tm-category-description--finnish > summary:hover { background:#edf3ef; }
.tm-category-description--finnish > summary:focus-visible { outline:3px solid #205c47; outline-offset:-4px; }
.tm-category-origin__mascot { display:block; flex:0 0 92px; width:92px; height:138px; object-fit:contain; }
.tm-category-origin__copy { display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0; }
.tm-category-origin__eyebrow { color:#456557; font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; line-height:1.4; }
.tm-category-origin__copy > strong { color:#182d29; font-size:25px; font-weight:650; line-height:1.2; letter-spacing:-.025em; }
.tm-category-origin__lead { color:#465950; font-size:16px; line-height:1.5; }
.tm-category-origin__more { display:inline-flex; align-items:center; gap:8px; margin-top:3px; color:#205c47; font-size:14px; font-weight:600; line-height:1.5; text-decoration:underline; text-underline-offset:3px; }
.tm-category-origin__more svg { flex:none; transition:transform .15s ease; }
.tm-category-description--finnish[open] .tm-category-origin__more svg { transform:rotate(180deg); }
.tm-category-description__body { border-top:1px solid #dce5df; padding:20px 26px 22px; background:#fff; }
.tm-category-description--finnish .term-description { padding-top:0; }
.tm-category-origin__body { max-width:860px; margin:0 0 16px; font-size:16px; line-height:1.65; color:#3f5148; }
@media(max-width:600px) {
  .tm-category-description--finnish > summary { gap:13px; padding:14px 13px; }
  .tm-category-origin__mascot { flex-basis:68px; width:68px; height:102px; }
  .tm-category-origin__copy { gap:5px; }
  .tm-category-origin__eyebrow { font-size:10px; letter-spacing:.065em; }
  .tm-category-origin__copy > strong { font-size:20px; line-height:1.25; }
  .tm-category-origin__lead { font-size:14px; line-height:1.45; }
  .tm-category-origin__more { font-size:13px; }
  .tm-category-description__body { padding:17px 16px; }
  .tm-category-origin__body { font-size:15px; }
}
.tm-catalog-workspace { display:grid; grid-template-columns:240px minmax(0,1fr); gap:34px; align-items:start; }
.tm-filter-home { min-width:0; }
.tm-filters { border:1px solid var(--catalog-line); border-radius:12px; padding:22px 20px 18px; background:#fff; font-size:16px; }
.tm-filters__heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 22px; }
.tm-filters__heading h2 { font-size:22px; line-height:1.2; margin:0; letter-spacing:-.025em; }
.tm-filters__close { display:none; }
.tm-filter-search { display:block; font-size:14px; line-height:1.5; font-weight:700; }
.tm-filter-form input[type=search],.tm-filter-form input[type=number],.tm-filter-form select { display:block; width:100%; min-width:0; border:1px solid #aab9b2; background:#fff; color:#182d29; min-height:46px; border-radius:6px; padding:10px; font-size:16px; margin-top:8px; }
.tm-filter-search input::placeholder { color:#78837e; font-size:14px; font-weight:400; }
.tm-filter-section { border-top:1px solid var(--catalog-line); margin-top:20px; padding-top:3px; }
.tm-filter-section summary { display:flex; align-items:center; justify-content:space-between; list-style:none; font-size:17px; font-weight:700; line-height:1.4; padding:16px 0; cursor:pointer; }
.tm-filter-section summary::-webkit-details-marker { display:none; }
.tm-filter-section summary span { font-size:20px; font-weight:400; }
.tm-filter-section:not([open]) summary span { font-size:0; }
.tm-filter-section:not([open]) summary span::after { content:"+"; font-size:20px; }
.tm-filter-checks { display:grid; gap:4px; }
.tm-filter-checks label { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:40px; cursor:pointer; font-size:15px; line-height:1.4; }
.tm-filter-form input[type=checkbox] { width:19px; height:19px; margin:0; accent-color:#205c47; cursor:pointer; }
.tm-filter-checks label:has(input:checked) { color:#164f3b; font-weight:700; }
.tm-filter-checks label:has(input:disabled) { opacity:.45; cursor:default; }
.tm-filter-checks small { font-size:12px; color:#627169; font-weight:400; }
.tm-filter-hint { font-size:13px; color:#627169; line-height:1.5; margin:0 0 12px; }
.tm-filter-auto-hint { margin:-8px 0 15px; color:#52685c; font-size:13px; line-height:1.5; }
.tm-filter-update-status { font-size:13px; line-height:1.5; color:#275640; margin:0 0 15px; }
.tm-filter-update-status:empty { display:none; }
.tm-filters--automatic:not(.has-update-error) .tm-filter-actions button[type=submit] { display:none; }
.tm-filters--automatic.has-update-error .tm-filter-update-status { color:#9a361e; }
.tm-filters.is-updating .tm-filter-update-status::before { content:""; display:inline-block; width:12px; height:12px; margin-right:8px; border:2px solid #dce3e0; border-top-color:#205c47; border-radius:50%; vertical-align:-2px; animation:tm-catalog-loading .8s linear infinite; }
.tm-catalog-results--new[aria-busy=true] ul.products { opacity:.55; }
.tm-price-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tm-price-fields label,.tm-filter-select { display:block; font-size:14px; font-weight:600; color:#42554a; }
.tm-filter-select { margin-bottom:14px; }
.tm-filter-select select { font-weight:400; }
.tm-sale-filter { display:flex; align-items:center; gap:10px; margin:22px 0; }
.tm-filter-actions { display:grid; gap:15px; margin-top:24px; text-align:center; }
.tm-filter-actions button { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:14px; background:#205c47; color:#fff; border:1px solid #205c47; border-radius:7px; font-size:16px; font-weight:700; cursor:pointer; }
.tm-filter-actions button:hover { background:#163f31; }
.tm-filter-actions a { font-size:14px; color:#56675d; }
.tm-catalog-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; min-height:56px; padding-bottom:20px; border-bottom:1px solid var(--catalog-line); margin-bottom:24px; }
.tm-catalog-count { font-size:16px; color:#56675d; margin:0; }
.tm-catalog-count strong { font-size:21px; color:#182d29; margin-right:4px; }
.tm-catalog-results--new .woocommerce-ordering { float:none; margin:0; }
.tm-catalog-results--new .woocommerce-ordering select { border-color:#d1dbd5; font-size:15px; height:46px; padding:8px 34px 8px 12px; border-radius:6px; }
.tm-filter-toggle { display:none; }
.tm-filter-tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.tm-filter-tags a { display:flex; align-items:center; gap:12px; background:#eaf0ec; border:1px solid #bdcec3; color:#244e3b; text-decoration:none; font-size:14px; font-weight:600; padding:7px 11px; border-radius:5px; }
.tm-filter-tags a:hover { background:#dce8e0; }
.tm-filter-tags a span { font-size:19px; line-height:1; }
.tm-filter-tags .tm-filter-clear { border-color:transparent; background:transparent; text-decoration:underline; font-weight:400; }
.woocommerce .tm-catalog-results--new ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 20px; padding:0; margin:0; }
.woocommerce .tm-catalog-results--new ul.products li.tm-shop-card { display:flex; align-items:stretch; width:auto!important; min-width:0; margin:0!important; border:1px solid #d2dcd7; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 2px 5px #18332907; transition:border-color .15s,box-shadow .15s; }
.woocommerce .tm-shop-card__link { display:flex; flex:1; flex-direction:column; width:100%; min-width:0; color:var(--catalog-ink); text-decoration:none; }
.woocommerce .tm-shop-card__image { position:relative; display:flex; flex-shrink:0; align-items:center; justify-content:center; width:100%; height:240px; padding:20px; background:#f1f3f2; border-bottom:1px solid #e2e7e4; overflow:hidden; }
.woocommerce .tm-shop-card--door .tm-shop-card__image { height:310px; padding:20px 25px; }
.woocommerce .tm-catalog-results--new ul.products li.tm-shop-card .tm-shop-card__image img { display:block; width:100%; height:100%; min-height:0; max-height:100%; max-width:100%; aspect-ratio:auto; object-fit:contain; background:transparent; padding:0; margin:0; border-radius:0; }
.tm-shop-card__badge { position:absolute; top:12px; left:12px; padding:5px 10px; background:#d3eb6b; border-radius:4px; color:#182d29; font-size:13px; font-weight:700; z-index:1; }
.tm-shop-card__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:20px 20px 22px; min-width:0; }
.tm-shop-card__category { display:inline-flex; max-width:100%; padding:5px 9px; border-radius:4px; background:#e8efeb; color:#315746; font-size:11px; line-height:1.3; font-weight:700; letter-spacing:.045em; text-transform:uppercase; margin:0 0 12px; }
.woocommerce ul.products li.product .tm-shop-card__title { font-size:18px; font-weight:600; line-height:1.4; letter-spacing:-.01em; margin:0; padding:0; overflow-wrap:anywhere; color:#172923; }
.tm-shop-card__bottom { flex-shrink:0; margin-top:auto; padding:18px 20px 20px; background:#edf2f4; border-top:1px solid #d9e2e4; }
.woocommerce .tm-catalog-results--new ul.products li.product .price { min-height:66px; font-size:14px!important; letter-spacing:0; font-weight:400; color:#53645f!important; margin:0; line-height:1.4; }
.tm-shop-card__from { display:block; font-size:12px; line-height:1.4; margin-bottom:2px; color:#53645f; }
.woocommerce .tm-shop-card .price .amount { font-size:32px; font-weight:750; letter-spacing:-.045em; color:#152c23; white-space:nowrap; }
.woocommerce .tm-shop-card .price .tm-price-unit { font-size:13px; white-space:nowrap; }
.woocommerce .tm-shop-card .price del .amount { font-size:17px; color:#65736d; font-weight:400; letter-spacing:0; }
.woocommerce .tm-shop-card .price ins { background:none; text-decoration:none; }
.tm-shop-card__delivery-slot { min-height:42px; margin:5px 0 13px; display:flex; align-items:center; }
.tm-shop-card__delivery { display:flex; align-items:center; gap:9px; font-size:13px; color:#50645b; line-height:1.45; margin:0; }
.tm-shop-card__delivery svg { width:21px; height:21px; flex:none; color:#466556; }
.tm-shop-card__delivery strong { font-weight:650; color:#253f33; white-space:nowrap; }
.tm-shop-card__action { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:50px; border:1px solid #204c3b; border-radius:6px; padding:11px 14px; font-size:16px; line-height:1.3; font-weight:700; color:#fff; background:#204c3b; }
.tm-shop-card__action > span { display:grid; place-items:center; flex:none; width:26px; height:26px; border-left:1px solid #7ea593; padding-left:9px; font-size:21px; line-height:1; font-weight:400; }
.woocommerce .tm-catalog-results--new li.tm-shop-card:hover { border-color:#42755b; box-shadow:0 8px 24px #1b392a18; }
.tm-shop-card__link:hover .tm-shop-card__action { background:#143d2d; border-color:#143d2d; color:#fff; }
.tm-shop-card__link:focus-visible { outline-offset:-4px; border-radius:12px; }
.tm-catalog-empty { padding:44px 24px; border:1px solid var(--catalog-line); background:#f5f7f5; border-radius:10px; }
.tm-catalog-empty h2 { font-size:27px; margin-top:0; }
.tm-catalog-empty p { font-size:17px; }
.tm-catalog-more { text-align:center; padding:30px 16px 14px; border-top:1px solid var(--catalog-line); margin-top:28px; }
.tm-catalog-progress { margin:0 0 7px; color:#52645b; font-size:15px; }
.tm-catalog-load-status { min-height:24px; margin:0 0 12px; font-size:14px; color:#607168; }
.tm-catalog-load-link { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:46px; padding:10px 22px; border:1px solid #b8c9be; border-radius:6px; font-size:16px; font-weight:700; text-decoration:none; color:#1d543e; background:#fff; }
.tm-catalog-load-link:hover { border-color:#205c47; background:#f0f5f2; }
.tm-catalog-load-link[hidden] { display:none; }
.tm-catalog-load-link[aria-disabled="true"] { opacity:.55; cursor:wait; }
.tm-catalog-more.is-loading .tm-catalog-load-status::before { content:""; display:inline-block; width:12px; height:12px; margin-right:9px; border:2px solid #dce3e0; border-top-color:#205c47; border-radius:50%; vertical-align:-2px; animation:tm-catalog-loading .8s linear infinite; }
@keyframes tm-catalog-loading { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .tm-catalog-more.is-loading .tm-catalog-load-status::before { animation:none; } }
.tm-filter-dialog { padding:0; border:0; max-height:100dvh; height:100dvh; max-width:440px; width:min(94vw,440px); margin:0 0 0 auto; background:#fff; color:#182d29; }
.tm-filter-dialog::backdrop { background:#152c25aa; }
.tm-filter-dialog[open] { display:flex; flex-direction:column; overflow:hidden; }
.tm-filter-dialog .tm-filters { border:0; border-radius:0; padding:22px; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.tm-filter-dialog .tm-filters__heading { position:sticky; top:-22px; background:#fff; margin:-22px -22px 22px; padding:16px 22px; border-bottom:1px solid #dce3e0; z-index:2; }
.tm-filter-dialog .tm-filters__close { display:block; border:1px solid #d0dbd3; width:44px; min-height:44px; background:#fff; border-radius:6px; font-size:28px; cursor:pointer; }
.tm-filter-dialog .tm-filter-checks label { min-height:44px; font-size:17px; }
.tm-filter-dialog .tm-filter-actions { padding:8px 0; }
.tm-filter-dialog__footer { flex:none; padding:14px 22px max(14px,env(safe-area-inset-bottom)); border-top:1px solid #dce3e0; background:#fff; }
.tm-filter-dialog__footer button { display:block; width:100%; min-height:48px; padding:12px 16px; border:1px solid #205c47; border-radius:7px; background:#205c47; color:#fff; font-size:16px; font-weight:600; cursor:pointer; }
.tm-filter-dialog__footer button:hover { background:#163f31; }
.tm-filter-dialog__footer button:disabled { opacity:.65; cursor:wait; }
body.tm-filter-open { overflow:hidden; }
@media(min-width:1550px) { .tm-catalog-workspace { grid-template-columns:250px minmax(0,1fr); gap:38px; } }
@media(max-width:1180px) and (min-width:901px) { .tm-catalog-workspace { grid-template-columns:220px minmax(0,1fr); gap:24px; }.tm-filters { padding:18px 16px; }.tm-shop-card__body { padding:18px 16px; }.tm-shop-card__bottom { padding:16px; }.woocommerce ul.products li.product .tm-shop-card__title { font-size:17px; }.woocommerce .tm-shop-card--door .tm-shop-card__image { height:270px; padding:18px; } }
@media(max-width:900px) {
  .tm-catalog-workspace { grid-template-columns:1fr; gap:0; }
  .tm-filter-home:has(>.tm-filters) { margin-bottom:24px; }
  .tm-catalog-enhanced .tm-filter-home { display:none; }
  .tm-catalog-enhanced .tm-filter-toggle { display:flex; align-items:center; gap:8px; border:1px solid #205c47; border-radius:6px; background:#205c47; color:#fff; font-size:16px; font-weight:700; padding:9px 15px; cursor:pointer; }
  .tm-catalog-hero { padding:28px; margin-bottom:24px; }
  .tm-catalog-hero__count { padding-left:22px; }
}
@media(max-width:600px) {
  .tm-catalog-hero { padding:26px 22px; border-radius:10px; }
  .tm-catalog-hero h1 { font-size:clamp(22px,6vw,28px); line-height:1.18; letter-spacing:-.02em; }
  .tm-catalog-hero p:last-child { font-size:16px; }
  .tm-catalog-hero__count { display:none; }
  .tm-catalog-toolbar { gap:14px; padding-bottom:16px; margin-bottom:18px; }
  .tm-catalog-count { margin-left:auto; font-size:14px; }
  .tm-catalog-results--new .woocommerce-ordering { width:100%; margin:0; }
  .tm-catalog-results--new .woocommerce-ordering select { width:100%; }
  .woocommerce .tm-catalog-results--new ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
  .woocommerce .tm-shop-card__image { height:160px; padding:12px; }
  .woocommerce .tm-shop-card--door .tm-shop-card__image { height:215px; padding:14px; }
  .tm-shop-card__body { padding:16px 12px 18px; }
  .tm-shop-card__bottom { padding:14px 12px; }
  .tm-shop-card__category { font-size:10px; letter-spacing:.03em; padding:4px 7px; margin-bottom:10px; }
  .woocommerce ul.products li.product .tm-shop-card__title { font-size:16px; line-height:1.4; margin:0; }
  .woocommerce .tm-shop-card .price .amount { font-size:27px; }
  .woocommerce .tm-catalog-results--new ul.products li.product .price { min-height:63px; font-size:12px!important; }
  .woocommerce .tm-shop-card .price .tm-price-unit { font-size:12px; }
  .tm-shop-card__delivery { align-items:flex-start; font-size:12px; gap:6px; }
  .tm-shop-card__delivery svg { width:17px; height:17px; margin-top:2px; }
  .tm-shop-card__delivery strong { display:block; }
  .tm-shop-card__delivery-slot { min-height:40px; margin:8px 0 13px; }
  .tm-shop-card__action { font-size:14px; padding:10px; gap:5px; min-height:50px; }
  .tm-shop-card__action > span { width:18px; padding-left:5px; font-size:18px; }
}
@media(max-width:360px) { .woocommerce .tm-catalog-results--new ul.products { grid-template-columns:1fr; }.woocommerce .tm-shop-card--door .tm-shop-card__image { height:290px; } }
@media(prefers-reduced-motion:reduce) { .woocommerce .tm-catalog-results--new li.tm-shop-card { transition:none; }.tm-filters.is-updating .tm-filter-update-status::before { animation:none; } }

/* Long category paths must wrap on narrow screens. */

.woocommerce .woocommerce-breadcrumb{overflow-wrap:anywhere}

/* Two drawer systems share width/count controls and ordinary GET category links. */
.tm-drawer-modes { margin:0 0 24px; display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; }
.tm-drawer-modes > span { color:#56675d; font-size:14px; font-weight:600; }
.tm-drawer-modes > div { display:flex; flex-wrap:wrap; gap:8px; }
.tm-drawer-modes a { display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; border:1px solid #b8c7bf; border-radius:7px; background:#fff; color:#214a37; font-size:15px; font-weight:650; text-decoration:none; }
.tm-drawer-modes a:hover { background:#eef4f0; }
.tm-drawer-modes a.is-active { border-color:#214f3b; background:#214f3b; color:#fff; }
.tm-drawer-modes a:focus-visible { outline:2px solid #214f3b; outline-offset:3px; }
.tm-shop-card__closing { position:absolute; top:12px; left:12px; max-width:calc(100% - 24px); padding:6px 11px; border-radius:5px; background:#214f3b; color:#fff; font-size:13px; font-weight:700; z-index:1; }
.tm-shop-card__closing--plain { background:#f3ce54; color:#252e29; }
.tm-shop-card__image:has(.tm-shop-card__closing) .tm-shop-card__badge { top:auto; bottom:12px; }
.tm-filter-dialog .tm-filters--quick [data-filter-section="drawers"] { display:none; }
@media(max-width:640px) {
 .tm-drawer-modes { gap:9px; margin-bottom:18px; }
 .tm-drawer-modes > div { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:7px; }
 .tm-drawer-modes a { justify-content:center; padding:9px 8px; font-size:13px; }
 .tm-drawer-modes a:first-child { grid-column:1 / -1; min-height:38px; }

}

/* Every archive has one toolbar and the same additional-filter drawer. */
.tm-catalog-unified .tm-catalog-workspace { grid-template-columns:minmax(0,1fr); gap:0; }
.tm-catalog-unified .tm-filter-home { display:none; }
.tm-catalog-unified .tm-catalog-toolbar { display:grid; grid-template-columns:auto minmax(220px,1fr) auto minmax(180px,220px); align-items:end; gap:16px; }
.tm-catalog-unified .tm-catalog-count { max-width:135px; margin:0; align-self:center; font-size:14px; line-height:1.45; }
.tm-catalog-quick-controls:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; min-width:0; }
.tm-catalog-quick-controls:has(.tm-catalog-quick-group):not([hidden]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tm-catalog-quick-controls:has(.tm-catalog-quick-dimensions):not([hidden]) { grid-template-columns:minmax(140px,1fr) minmax(150px,1.5fr); }
.tm-catalog-quick-dimensions:not([hidden]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tm-catalog-quick-dimensions:not([hidden]):not(:has(.tm-catalog-quick-height,.tm-catalog-quick-drawers)) { grid-template-columns:minmax(0,1fr); }
.tm-catalog-quick-field { display:block; min-width:0; font-size:13px; font-weight:600; color:#56675d; line-height:1.4; }
.tm-catalog-quick-field select,.tm-catalog-quick-field input { display:block; width:100%; min-width:0; margin-top:6px; min-height:46px; border:1px solid #aab9b2; border-radius:6px; background:#fff; color:#182d29; padding:9px 12px; font-size:16px; font-weight:450; }
.tm-catalog-quick-field select { padding-right:30px; }
.tm-catalog-quick-group > small { display:block; margin-top:8px; }
.tm-catalog-quick-field input::placeholder { color:#78837e; font-size:14px; }
.tm-catalog-quick-field select:focus-visible,.tm-catalog-quick-field input:focus-visible { outline:2px solid #205c47; outline-offset:2px; }
.tm-catalog-unified .tm-filter-toggle { display:block; min-height:46px; border:1px solid #205c47; border-radius:6px; background:#eef4f0; color:#20513c; padding:10px 16px; font-size:15px; font-weight:600; cursor:pointer; white-space:nowrap; }
.tm-catalog-unified .tm-filter-toggle:hover { background:#e3ede6; }
.tm-catalog-unified .woocommerce-ordering { margin:0; width:100%; align-self:end; }
.tm-catalog-unified .woocommerce-ordering select { width:100%; max-width:none; min-width:0; min-height:46px; }
.tm-filter-dialog .tm-filters--quick [data-filter-section="dimensions"] { display:none; }
.tm-catalog-feedback:not([hidden]) { padding:14px 18px; border:1px solid #c99c6d; background:#fff5e9; border-radius:7px; margin:0 0 16px; color:#713d12; }
.tm-catalog-feedback a { color:inherit; font-weight:700; text-decoration:underline; }
.tm-catalog-unified .tm-category-paths a { display:inline-flex; align-items:center; min-height:42px; }
@media(max-width:1180px) and (min-width:641px) {
 .tm-catalog-unified .tm-catalog-toolbar { grid-template-columns:minmax(0,1fr) auto; gap:14px; }
 .tm-catalog-unified .tm-catalog-count { grid-column:1; grid-row:1; max-width:none; }
 .tm-catalog-unified .woocommerce-ordering { grid-column:2; grid-row:1; width:220px; }
 .tm-catalog-quick-controls { grid-column:1; grid-row:2; }
 .tm-catalog-unified .tm-filter-toggle { grid-column:2; grid-row:2; }
}
@media(max-width:640px) {
 .tm-catalog-unified .tm-catalog-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .tm-catalog-unified .tm-catalog-count { grid-column:1; grid-row:1; max-width:none; font-size:13px; }
 .tm-catalog-unified .woocommerce-ordering { grid-column:2; grid-row:1; width:100%; }
 .tm-catalog-unified .woocommerce-ordering select { font-size:13px; padding-left:8px; }
 .tm-catalog-quick-controls:not([hidden]),.tm-catalog-quick-controls:has(.tm-catalog-quick-dimensions):not([hidden]) { grid-column:1 / -1; grid-row:2; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tm-catalog-quick-search,.tm-catalog-quick-group { grid-column:1 / -1; }
 .tm-catalog-quick-dimensions:not([hidden]) { display:contents; }
 .tm-catalog-quick-controls .tm-catalog-quick-width:only-child { grid-column:1 / -1; }
 .tm-catalog-unified .tm-filter-toggle { grid-column:1 / -1; grid-row:3; font-size:14px; }
}

/* Drawer series use the same live GET facets on every archive. */
.tm-drawer-facets { display:grid; grid-template-columns:repeat(4,minmax(125px,1fr)); gap:12px; grid-column:1/-1; }
.tm-catalog-quick-controls:has(.tm-drawer-facets):not([hidden]) { grid-template-columns:minmax(0,1fr); }
@media(max-width:1100px){.tm-drawer-facets{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){.tm-drawer-facets{grid-template-columns:minmax(0,1fr);}}

.tm-drawer-depth-tip{display:flex;gap:16px;align-items:center;background:#f1f6f3;border:1px solid #cedfd4;border-radius:10px;padding:18px 22px;margin:0 0 24px;color:#244538}
.tm-drawer-depth-tip img{width:56px;height:84px;object-fit:contain;flex:none}
.tm-drawer-depth-tip strong{display:block;font-size:18px;line-height:1.4;margin-bottom:5px}
.tm-drawer-depth-tip p{font-size:15px;line-height:1.6;margin:0;color:#52665c}
@media(max-width:600px){.tm-drawer-depth-tip{align-items:flex-start;padding:15px;gap:12px}.tm-drawer-depth-tip img{width:44px;height:66px}.tm-drawer-depth-tip strong{font-size:16px}.tm-drawer-depth-tip p{font-size:14px}}

/* Merchant-approved compact cabinet archive choices, 2026-10-24. */
.tm-cabinet-back{display:inline-block;margin:0 0 12px;color:#28523e;font-size:15px;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.tm-category-paths.tm-cabinet-paths{padding:16px 18px;margin:0 0 20px;background:#f7f9f7}
.tm-category-paths.tm-cabinet-paths>strong{font-size:16px;margin-bottom:10px}
.tm-category-paths.tm-cabinet-paths>div{gap:8px}
.tm-category-paths.tm-cabinet-paths a{padding:9px 12px;min-height:42px;font-size:15px;line-height:1.35;border-radius:7px}
@media(max-width:600px){.tm-category-paths.tm-cabinet-paths{padding:12px;margin-bottom:16px}.tm-category-paths.tm-cabinet-paths>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tm-category-paths.tm-cabinet-paths a{display:flex;align-items:center;min-width:0;padding:8px 10px;font-size:14px}.tm-cabinet-back{font-size:14px;margin-bottom:10px}}

@media(max-width:600px){
 .tm-catalog-view[data-cabinet-quick] .tm-catalog-hero{padding:18px;margin-bottom:18px}
 .tm-catalog-view[data-cabinet-quick] .tm-catalog-eyebrow{display:none}
 .tm-catalog-view[data-drawer-archive] .tm-drawer-modes{gap:8px;margin-bottom:16px}
 .tm-catalog-view[data-drawer-archive] .tm-drawer-modes>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}
 .tm-catalog-view[data-drawer-archive] .tm-drawer-modes a:first-child{grid-column:auto;min-height:46px}
 .tm-catalog-view[data-drawer-archive] .tm-drawer-modes a{min-width:0;min-height:46px;justify-content:center;padding:8px 6px;font-size:13px;text-align:center;line-height:1.3}
}

/* Cabinet origin promo 2026-11-08 */


.tm-catalog-view--cabinet-origin *{box-sizing:border-box}.tm-catalog-view--cabinet-origin h1,.tm-catalog-view--cabinet-origin .tm-frame-promo h2,.tm-catalog-view--cabinet-origin p{margin:0}.tm-catalog-view--cabinet-origin .tm-crumb{font-size:12px;color:var(--tm-text);margin-bottom:13px}.tm-catalog-view--cabinet-origin h1{font-size:30px;font-weight:750;line-height:1.2;margin-bottom:20px;letter-spacing:-.8px}.tm-catalog-view--cabinet-origin .tm-frame-promo{border:1px solid var(--tm-line);border-radius:14px;overflow:hidden}.tm-catalog-view--cabinet-origin .tm-frame-promo-hero{background:var(--tm-green);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 164px;gap:20px;padding:25px 28px 0;align-items:end}.tm-catalog-view--cabinet-origin .tm-frame-promo-message{padding-bottom:26px}.tm-catalog-view--cabinet-origin .tm-frame-promo-eyebrow{color:var(--tm-yellow);font-size:11px;font-weight:750;letter-spacing:1.4px;display:flex;gap:9px;align-items:center;margin-bottom:10px}.tm-catalog-view--cabinet-origin .tm-frame-promo-flag{display:inline-block;width:25px;height:16px;background:linear-gradient(transparent 39%,#1760a1 39% 62%,transparent 62%),linear-gradient(90deg,#fff 28%,#1760a1 28% 43%,#fff 43%);flex-shrink:0}.tm-catalog-view--cabinet-origin .tm-frame-promo h2{font-size:29px;line-height:1.14;font-weight:750;letter-spacing:-.7px;margin-bottom:11px}.tm-catalog-view--cabinet-origin .tm-frame-promo-lead{font-size:14px;line-height:1.6;color:#e0ebe4;max-width:490px}.tm-catalog-view--cabinet-origin .tm-frame-promo-mascot{width:148px;height:208px;object-fit:contain;object-position:bottom;display:block;justify-self:center}.tm-catalog-view--cabinet-origin .tm-frame-promo-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;background:var(--tm-soft);padding:17px 24px}.tm-catalog-view--cabinet-origin .tm-frame-promo-point{display:flex;gap:9px;font-size:12px;line-height:1.45;align-items:flex-start}.tm-catalog-view--cabinet-origin .tm-frame-promo-proof-check{flex-shrink:0;color:#286246;width:17px;height:17px;margin-top:1px}.tm-catalog-view--cabinet-origin .tm-frame-promo-point strong{display:block;font-size:13px;font-weight:700;margin-bottom:2px}.tm-catalog-view--cabinet-origin .tm-frame-promo-point span{color:var(--tm-text)}.tm-catalog-view--cabinet-origin .tm-frame-promo details{background:#fff;border-top:1px solid var(--tm-line);padding:0 24px}.tm-catalog-view--cabinet-origin .tm-frame-promo summary{font-size:13px;font-weight:650;padding:13px 0;display:flex;gap:8px;align-items:center;width:fit-content;list-style:none}.tm-catalog-view--cabinet-origin .tm-frame-promo summary::-webkit-details-marker{display:none}.tm-catalog-view--cabinet-origin .tm-frame-promo summary .tm-frame-promo-chevron{display:inline-block;font-size:16px;transition:transform .15s}.tm-catalog-view--cabinet-origin .tm-frame-promo details[open] .tm-frame-promo-chevron{transform:rotate(180deg)}.tm-catalog-view--cabinet-origin .tm-frame-promo-more{padding:2px 0 19px;display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;font-size:13px;line-height:1.6}.tm-catalog-view--cabinet-origin .tm-frame-promo-more strong{display:block;font-weight:700}.tm-catalog-view--cabinet-origin .tm-frame-promo-more p{color:var(--tm-text)}.tm-catalog-view--cabinet-origin .tm-choose{font-size:13px;font-weight:650;margin-top:24px;margin-bottom:10px}.tm-catalog-view--cabinet-origin .tm-categories{display:flex;gap:9px;flex-wrap:wrap}.tm-catalog-view--cabinet-origin .tm-cat{font-size:13px;border:1px solid var(--tm-line);padding:9px 13px;border-radius:7px;background:#fff;color:var(--tm-ink)}
@media(max-width:560px){.tm-catalog-view--cabinet-origin{padding:17px 13px}.tm-catalog-view--cabinet-origin h1{font-size:25px;margin-bottom:15px}.tm-catalog-view--cabinet-origin .tm-frame-promo-hero{grid-template-columns:minmax(0,1fr) 89px;gap:7px;padding:20px 15px 0}.tm-catalog-view--cabinet-origin .tm-frame-promo h2{font-size:23px;letter-spacing:-.5px}.tm-catalog-view--cabinet-origin .tm-frame-promo-message{padding-bottom:20px}.tm-catalog-view--cabinet-origin .tm-frame-promo-eyebrow{font-size:9px;letter-spacing:.7px;gap:6px}.tm-catalog-view--cabinet-origin .tm-frame-promo-lead{font-size:12px;line-height:1.5}.tm-catalog-view--cabinet-origin .tm-frame-promo-mascot{width:89px;height:170px}.tm-catalog-view--cabinet-origin .tm-frame-promo-proof{grid-template-columns:1fr;padding:15px;gap:13px}.tm-catalog-view--cabinet-origin .tm-frame-promo-point{font-size:12px}.tm-catalog-view--cabinet-origin .tm-frame-promo-point strong{display:inline;margin-right:5px;font-size:12px}.tm-catalog-view--cabinet-origin .tm-frame-promo details{padding:0 15px}.tm-catalog-view--cabinet-origin .tm-frame-promo-more{grid-template-columns:1fr}.tm-catalog-view--cabinet-origin .tm-cat{font-size:12px;padding:8px 10px}}

/* Approved compact origin panel replaces the old lower-page frame origin card. */
.tm-catalog-view--cabinet-origin { --tm-green:#173b30; --tm-ink:#19372e; --tm-text:#51675d; --tm-line:#d7e2db; --tm-soft:#f2f6f2; --tm-yellow:#ffe45b; }
.tm-catalog-view--cabinet-origin > .tm-catalog-hero { background:transparent;color:#19372e;padding:0;overflow:visible;border-radius:0;margin:0 0 20px;gap:20px; }
.tm-catalog-view--cabinet-origin > .tm-catalog-hero::before,.tm-catalog-view--cabinet-origin > .tm-catalog-hero .tm-catalog-eyebrow,.tm-catalog-view--cabinet-origin > .tm-catalog-hero > div > p:last-child {display:none;}
.tm-catalog-view--cabinet-origin > .tm-catalog-hero h1 {color:#19372e;font-size:clamp(27px,3vw,38px);line-height:1.2;margin:0;}
.tm-catalog-view--cabinet-origin > .tm-catalog-hero .tm-catalog-hero__count {border:0;padding:0;color:#51675d;font-size:13px;}
.tm-catalog-view--cabinet-origin > .tm-catalog-hero .tm-catalog-hero__count strong {display:inline;font-size:17px;color:#19372e;letter-spacing:0;margin-right:3px;}
.tm-catalog-view--cabinet-origin .tm-frame-promo {margin-bottom:30px;}
.tm-catalog-view--cabinet-origin .tm-frame-promo-hero {grid-template-columns:minmax(0,1fr) 164px;}
.tm-catalog-view--cabinet-origin .tm-frame-promo-hero h2 {font-size:clamp(26px,2.6vw,34px);color:#fff;}
.tm-catalog-view--cabinet-origin .tm-frame-promo-proof-check {font-weight:750;flex:0 0 17px;}
.tm-catalog-view--cabinet-origin .tm-frame-promo-category-description {padding-bottom:18px;font-size:14px;color:#51675d;}
.tm-catalog-view--cabinet-origin .tm-frame-promo-category-description .term-description {padding:0;}
.tm-catalog-view--cabinet-origin .tm-frame-promo-category-description:empty {display:none;}
.tm-catalog-view--cabinet-origin .tm-frame-promo summary:focus-visible {outline:3px solid #205c47;outline-offset:3px;border-radius:3px;}
@media(min-width:1100px){.tm-catalog-view--cabinet-origin .tm-frame-promo-proof {gap:28px;}.tm-catalog-view--cabinet-origin .tm-frame-promo-point {font-size:13px;}.tm-catalog-view--cabinet-origin .tm-frame-promo-point strong {font-size:14px;}}
@media(max-width:560px){.tm-catalog-view--cabinet-origin{padding:0;}.tm-catalog-view--cabinet-origin > .tm-catalog-hero {align-items:flex-start;}.tm-catalog-view--cabinet-origin > .tm-catalog-hero .tm-catalog-hero__count {display:none;}.tm-catalog-view--cabinet-origin .tm-frame-promo-hero {grid-template-columns:minmax(0,1fr) 89px;}.tm-catalog-view--cabinet-origin .tm-frame-promo-hero h2 {font-size:23px;}.tm-catalog-view--cabinet-origin .tm-frame-promo {margin-bottom:24px;}}

.tm-catalog-view--cabinet-origin .tm-frame-promo {display:block;}
