.tt-catalog-v1{--tt-gap:18px;color:inherit}
.tt-catalog-v1 .tt-catalog-head{text-align:center;margin:0 0 25px}
.tt-catalog-v1 .tt-catalog-description{margin:8px 0}
.tt-catalog-v1 .tt-catalog-group{margin:25px 0 38px}
.tt-catalog-v1 .tt-catalog-group>h3{font-size:1.55rem;border-bottom:1px solid #ddd;padding-bottom:9px}
.tt-catalog-v1 .tt-catalog-subtitle{font-size:1.16rem;margin:25px 0 12px}
.tt-catalog-v1 .tt-catalog-grid{display:grid;grid-template-columns:repeat(var(--tt-columns,4),minmax(0,1fr));gap:var(--tt-gap)}
.tt-catalog-v1 .tt-catalog-item{border:1px solid #ddd;border-radius:6px;padding:12px;text-align:center;min-width:0}
.tt-catalog-v1 .tt-catalog-open{background:transparent;border:0;padding:0;color:inherit;cursor:pointer;width:100%;font:inherit}
.tt-catalog-v1 .tt-catalog-open:hover .tt-catalog-name{text-decoration:underline}
.tt-catalog-v1 .tt-catalog-thumb{width:100%;height:190px;object-fit:contain;display:block}
.tt-catalog-v1 .tt-catalog-name{display:block;font-weight:650;margin-top:12px;overflow-wrap:anywhere}
.tt-catalog-v1 .tt-catalog-sku{display:block;color:#666;font-size:.85rem;margin-top:5px}
.tt-catalog-v1 .tt-catalog-modal[hidden]{display:none!important}
.tt-catalog-v1 .tt-catalog-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center}
.tt-catalog-v1 .tt-catalog-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.tt-catalog-v1 .tt-catalog-dialog{position:relative;background:white;color:#222;width:min(950px,94vw);max-height:90vh;overflow:auto;border-radius:8px;padding:26px}
.tt-catalog-v1 .tt-catalog-close{position:absolute;top:8px;right:14px;font-size:2rem;background:none;border:0;cursor:pointer}
.tt-catalog-v1 .tt-catalog-modal-image{max-height:340px;max-width:100%;object-fit:contain;display:block;margin:12px auto}
.tt-catalog-v1 .tt-catalog-gallery{display:flex;gap:8px;overflow:auto;margin:12px 0}
.tt-catalog-v1 .tt-catalog-gallery button{border:1px solid #ddd;background:#fff;padding:3px;cursor:pointer;flex:none}
.tt-catalog-v1 .tt-catalog-gallery img{width:70px;height:60px;object-fit:contain}
.tt-catalog-v1 .tt-catalog-overview{line-height:1.55;overflow-wrap:anywhere}
.tt-catalog-v1 .tt-catalog-overview img{max-width:100%;height:auto}
.tt-catalog-v1 .tt-catalog-overview iframe,.tt-catalog-v1 .tt-catalog-overview script{display:none}
@media(max-width:900px){.tt-catalog-v1 .tt-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.tt-catalog-v1 .tt-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tt-catalog-v1 .tt-catalog-thumb{height:130px}.tt-catalog-v1 .tt-catalog-item{padding:7px}}
.tt-catalog-v1 .tt-catalog-header-image{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;margin:0 auto 14px}
.tt-catalog-v1 .tt-catalog-header-image[hidden]{display:none!important}

/* v1.10: Sticky, highly visible modal close control inside scrollable dialog. */
.tt-catalog-v1 .tt-catalog-dialog{scrollbar-gutter:stable;overscroll-behavior:contain}
.tt-catalog-v1 .tt-catalog-close{position:sticky!important;top:0!important;right:auto!important;float:right;z-index:30;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0 0 10px 14px;padding:7px 15px;border:2px solid #34471f;border-radius:6px;background:#fff;color:#243313;font:700 16px/1.2 Arial,sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.22);cursor:pointer}
.tt-catalog-v1 .tt-catalog-close:hover{background:#f1f5ea}
.tt-catalog-v1 .tt-catalog-close:focus-visible{outline:3px solid #1e70c1;outline-offset:3px}
.tt-catalog-v1 .tt-catalog-close span{font-size:26px;line-height:20px}
@media(max-width:600px){.tt-catalog-v1 .tt-catalog-dialog{padding:14px}.tt-catalog-v1 .tt-catalog-close{padding:7px 11px}}

/* v1.18: optional category navigation directly beneath product name and SKU */
.tt-catalog-v1 .tt-catalog-category-actions{display:flex;justify-content:flex-start;margin:10px 0 18px}
.tt-catalog-v1 .tt-catalog-category-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:2px solid #34471f;border-radius:5px;background:#34471f;color:white!important;font-weight:700;text-decoration:none!important}
.tt-catalog-v1 .tt-catalog-category-link:hover{background:#243313}
.tt-catalog-v1 .tt-catalog-category-link:focus-visible{outline:3px solid #1e70c1;outline-offset:3px}

/* v1.20: prominent modal category action, overriding theme anchor styles */
.tt-catalog-v1 .tt-catalog-modal-body .tt-catalog-category-actions{display:flex!important;align-items:center;margin:14px 0 20px!important}
.tt-catalog-v1 .tt-catalog-modal-body a.tt-catalog-category-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:160px;min-height:44px;padding:11px 20px!important;border:2px solid #34471f!important;border-radius:6px!important;background:#34471f!important;color:#fff!important;text-decoration:none!important;font-size:15px!important;font-weight:700!important;line-height:1.3!important;box-shadow:0 2px 5px rgba(0,0,0,.18)}
.tt-catalog-v1 .tt-catalog-modal-body a.tt-catalog-category-link:hover{background:#263717!important;border-color:#263717!important}

/* v1.27: automatically generated category jump navigation */
.tt-catalog-v1 .tt-catalog-quick-nav{padding:0;margin:0 0 28px;border:0;background:transparent;text-align:center;scroll-margin-top:120px}
.tt-catalog-v1 .tt-catalog-quick-nav[hidden]{display:none!important}
.tt-catalog-v1 .tt-catalog-quick-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.tt-catalog-v1 a.tt-catalog-jump-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;min-height:44px;background:#34471f;color:#fff;text-decoration:none;border:1px solid #34471f;border-radius:5px;font-weight:700;line-height:1.3}
.tt-catalog-v1 a.tt-catalog-jump-link:hover{background:#243313;color:#fff}
.tt-catalog-v1 .tt-catalog-group>h3,.tt-catalog-v1 .tt-catalog-subtitle{scroll-margin-top:120px}
.tt-catalog-v1 .tt-catalog-back{text-align:right;margin:12px 0 20px}
.tt-catalog-v1 a.tt-catalog-back-link{display:inline-block;padding:8px 0;color:#34471f;text-decoration:underline;font-weight:600}
.tt-catalog-v1 a.tt-catalog-jump-link:focus-visible,.tt-catalog-v1 a.tt-catalog-back-link:focus-visible{outline:3px solid #1e70c1;outline-offset:3px}
@media(max-width:600px){.tt-catalog-v1 .tt-catalog-quick-nav{padding:0}.tt-catalog-v1 .tt-catalog-quick-links{gap:8px}.tt-catalog-v1 a.tt-catalog-jump-link{padding:10px 12px;font-size:14px}}

/* v1.27: every navigation row fills the same available width. */
.tt-catalog-v1 a.tt-catalog-jump-link{flex:1 1 150px;min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.tt-catalog-v1 a.tt-catalog-jump-link{flex-basis:140px}}

/* v1.27: matching button widths; accessories spans two columns. */
.tt-catalog-v1 .tt-catalog-quick-links{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.tt-catalog-v1 a.tt-catalog-jump-link{width:100%;box-sizing:border-box;padding:10px 8px;min-width:0}
.tt-catalog-v1 a.tt-catalog-jump-wide{grid-column:span 2}
@media(max-width:1100px){.tt-catalog-v1 .tt-catalog-quick-links{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.tt-catalog-v1 .tt-catalog-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
