/* TASMO SHOP — deliberately scoped to the catalogue, leaving header/footer controls intact. */
.ts-shop,.elementor-widget[class*="elementor-widget-tasmo-shop-"]{--ts-paper:#f8f7f3;--ts-ink:#223136;--ts-line:#dce0da;--ts-gold:#b08749;font-family:Jost,"Helvetica Neue",Arial,sans-serif;color:var(--ts-ink)}
body.tasmo-shop-page{background:#f8f7f3}.tasmo-shop-page .main-page-wrapper{padding:0;background:#f8f7f3}.tasmo-shop-page .main-page-wrapper>.container{max-width:none;padding:0}.ts-shop{width:100%;max-width:none;padding:0 0 64px;background:var(--ts-paper);min-height:65vh}.ts-shop *{box-sizing:border-box}.ts-shop button,.ts-shop input,.ts-shop select{font:inherit}.ts-shop a{color:inherit}.ts-shop button,.ts-shop select{cursor:pointer}.ts-shop .elementor-section.elementor-section-boxed>.elementor-container{max-width:none}.ts-shop .elementor-widget:not(:last-child){margin-bottom:0}.ts-shop .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:0}.ts-shop .elementor-widget-wrap{padding:0}.ts-shop .elementor-section{background:transparent}.ts-shop-skip{position:fixed;left:12px;top:-200px;z-index:999999;padding:14px;background:white;color:#223136}.ts-shop-skip:focus{top:12px}
.ts-shop-heading{text-align:center;padding:52px 24px 30px}.ts-shop-eyebrow{font-size:10px;letter-spacing:.27em;margin:0 0 14px;font-weight:500}.ts-shop-heading h1{font-family:inherit;font-size:clamp(26px,3.2vw,43px);font-weight:400;line-height:1.15;letter-spacing:-.025em;color:inherit;margin:0}.ts-shop-intro{font-size:14px;max-width:500px;margin:16px auto 0;color:#667173}.ts-shop-categories{display:flex;justify-content:center;align-items:center;gap:27px;padding:0 32px 25px;overflow:auto;scrollbar-width:none;white-space:nowrap;font-size:12px;letter-spacing:.035em}.ts-shop-categories::-webkit-scrollbar{display:none}.ts-shop-categories a{display:block;text-decoration:none;padding:5px 0;border-bottom:1px solid transparent}.ts-shop-categories a:hover,.ts-shop-categories [aria-current=page]{border-color:var(--ts-ink)}
.ts-shop-tools{padding:0 40px}.ts-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--ts-line);border-bottom:1px solid var(--ts-line);min-height:61px;font-size:12px}.ts-shop-count{color:#6e7777}.ts-shop-actions{display:flex;gap:28px;align-items:center}.ts-filter-open{display:flex;align-items:center;gap:12px;padding:14px 0;background:none!important;border:0!important;border-radius:0;color:var(--ts-ink)!important;font-weight:400;box-shadow:none!important;min-height:44px}.ts-filter-count{font-size:10px;border:1px solid var(--ts-line);border-radius:50%;width:20px;height:20px;text-align:center;line-height:18px}.ts-shop .ts-ordering{margin:0!important;float:none!important;width:auto!important}.ts-shop .ts-ordering select{font-size:12px;min-height:44px;max-width:220px;border:0;background-color:transparent;box-shadow:none;color:var(--ts-ink);padding-left:0}.ts-active-filters{display:flex;flex-wrap:wrap;gap:8px;padding:17px 0 0;font-size:11px}.ts-active-filters a{padding:7px 12px;border:1px solid var(--ts-line);text-decoration:none}.ts-active-filters .ts-clear{border-color:transparent;text-decoration:underline}
.ts-shop-catalogue{padding:30px 40px 0}.ts-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px;row-gap:36px}.ts-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ts-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.ts-product{min-width:0}.ts-product-media{position:relative;background:#eeefeb;overflow:hidden}.ts-product-image{display:block;aspect-ratio:3/4;position:relative}.ts-ratio-square .ts-product-image{aspect-ratio:1}.ts-product-image img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:opacity .45s ease}.ts-product-image .ts-hover-image{position:absolute;inset:0;opacity:0}.ts-product-info{padding:15px 2px 0}.ts-product-info h2{font-family:inherit;color:inherit;font-size:13px;line-height:1.45;font-weight:400;margin:0 0 6px;letter-spacing:.015em}.ts-product-info h2 a{text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ts-product-info h2 a:hover{text-decoration:underline;text-underline-offset:3px}.ts-product-price{font-size:12px;line-height:1.5;color:var(--ts-ink)}.ts-product-price del{color:#7b8585;font-size:11px;margin-right:6px}.ts-product-price ins{background:none;text-decoration:none}.ts-product-badge{position:absolute;top:14px;left:14px;font-size:10px;letter-spacing:.05em;background:rgba(248,247,243,.9);padding:5px 8px}.ts-product-wishlist{position:absolute;right:12px;top:12px}.ts-product-wishlist .yith-wcwl-add-to-wishlist{margin:0}.ts-product-wishlist a{font-size:11px;background:rgba(248,247,243,.92);padding:6px}.ts-shop nav.ts-pagination{margin:44px auto 0;text-align:center}.ts-shop nav.ts-pagination ul{display:inline-flex;list-style:none;margin:0;padding:0;border:0;gap:5px}.ts-shop nav.ts-pagination li{list-style:none;border:0}.ts-shop nav.ts-pagination a,.ts-shop nav.ts-pagination span{display:block;padding:8px 13px;min-width:38px;border:1px solid var(--ts-line);color:var(--ts-ink)}.ts-shop nav.ts-pagination .current{background:var(--ts-ink);color:var(--ts-paper)}.ts-shop-empty{text-align:center;padding:80px 24px}.ts-shop-empty h2{font:400 26px Jost,Arial,sans-serif}.ts-shop-empty a{text-decoration:underline}.ts-load-more{display:block;min-width:190px;min-height:48px;padding:12px 30px;margin:42px auto 0;border:1px solid var(--ts-ink);border-radius:0;background:transparent!important;box-shadow:none;color:var(--ts-ink)!important;font-size:12px;letter-spacing:.08em;font-weight:400}.ts-load-more:hover{background:var(--ts-ink)!important;color:var(--ts-paper)!important}.ts-load-status{text-align:center;font-size:12px;margin:12px 0 0}.ts-shop [hidden]{display:none!important}
.ts-filter-dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:none;width:min(470px,100%);max-width:100%;padding:0;border:0;background:#f8f7f3;color:#223136;box-shadow:-12px 0 80px #0002;font-family:Jost,Arial,sans-serif;z-index:100000}.ts-filter-dialog::backdrop{background:#13232666;backdrop-filter:blur(3px)}.ts-filter-dialog[open]{display:flex;flex-direction:column}.ts-filter-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #dce0da}.ts-filter-heading h2{margin:0;font:400 22px Jost,Arial,sans-serif;color:inherit}.ts-filter-heading button{font-size:30px;line-height:1;min-width:44px;min-height:44px;background:none!important;border:0;color:inherit;box-shadow:none}.ts-filter-form{display:flex;flex-direction:column;min-height:0;flex:1;margin:0}.ts-filter-body{overflow:auto;overscroll-behavior:contain;padding:8px 28px 24px;flex:1}.ts-filter-dialog fieldset{border:0;border-bottom:1px solid #dce0da;margin:0;padding:22px 0}.ts-filter-dialog legend{float:left;width:100%;margin:0 0 15px;font-size:13px;font-weight:500}.ts-filter-dialog fieldset>div,.ts-filter-dialog fieldset>.ts-stock{clear:both}.ts-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ts-price-fields label{display:flex;flex-direction:column;gap:6px;font-size:11px}.ts-price-fields input{background:transparent;width:100%;height:44px;border:1px solid #ccd1cc;padding:10px;color:inherit}.ts-filter-options{display:flex;flex-wrap:wrap;gap:8px}.ts-filter-options label{position:relative;cursor:pointer}.ts-filter-options input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0}.ts-filter-options span{display:block;padding:10px 14px;border:1px solid #dce0da;font-size:12px;min-height:42px}.ts-filter-options input:checked+span{border-color:#223136;background:#e7ece8}.ts-filter-options input:focus-visible+span{outline:2px solid #b08749;outline-offset:3px}.ts-stock{display:flex;align-items:center;gap:8px;font-size:13px}.ts-stock input{width:17px;height:17px;accent-color:#223136}.ts-filter-footer{padding:20px 28px;border-top:1px solid #dce0da;display:flex;align-items:center;gap:24px;background:#f8f7f3}.ts-filter-footer a{font-size:12px;white-space:nowrap;text-decoration:underline;color:inherit}.ts-filter-footer button{flex:1;min-height:47px;border:1px solid #223136;background:#223136;color:#f8f7f3;font:400 12px Jost,Arial,sans-serif;letter-spacing:.04em;border-radius:0}.ts-filter-dialog button:focus-visible,.ts-shop a:focus-visible,.ts-shop button:focus-visible,.ts-shop select:focus-visible{outline:2px solid #b08749;outline-offset:4px}html.ts-filter-lock{overflow:hidden}
@media(hover:hover){.ts-has-hover:hover .ts-hover-image{opacity:1}.ts-has-hover:hover .ts-primary-image{opacity:0}}
@media(min-width:1700px){.ts-shop-catalogue,.ts-shop-tools{padding-left:64px;padding-right:64px}.ts-product-grid{column-gap:25px;row-gap:44px}}
@media(max-width:1024px){.ts-shop-categories{justify-content:flex-start;gap:25px;padding-left:24px;padding-right:24px}.ts-shop-catalogue,.ts-shop-tools{padding-left:24px;padding-right:24px}.ts-product-grid{column-gap:14px}.ts-columns-5{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.ts-shop{padding-bottom:38px}.ts-shop-heading{padding:33px 20px 23px}.ts-shop-eyebrow{font-size:9px;margin-bottom:12px}.ts-shop-heading h1{font-size:29px}.ts-shop-categories{font-size:11px;gap:23px;padding:0 16px 20px}.ts-shop-tools{padding:0 16px}.ts-shop-toolbar{min-height:58px;gap:12px}.ts-shop-actions{gap:18px}.ts-shop-count{font-size:11px}.ts-shop .ts-ordering select{max-width:145px;font-size:11px;padding-right:20px}.ts-filter-open{font-size:12px;gap:8px}.ts-shop-catalogue{padding:20px 12px 0}.ts-product-grid[class]{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:26px}.ts-product-info{padding:11px 2px 0}.ts-product-info h2{font-size:11px;line-height:1.45}.ts-product-price{font-size:11px}.ts-product-badge{font-size:9px;top:8px;left:8px}.ts-filter-heading,.ts-filter-footer{padding-left:21px;padding-right:21px}.ts-filter-body{padding-left:21px;padding-right:21px}.ts-filter-heading h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ts-product-image img{transition:none}.ts-filter-dialog::backdrop{backdrop-filter:none}}

/* Overlay headers leave document flow. Reserve their height without changing their colours or scroll effects. */
.tasmo-shop-page.tasmo-shop-overlay-header .ts-shop{padding-top:var(--ts-header-clearance,73px)}
.tasmo-shop-page .ts-shop{padding-top:var(--ts-header-clearance,0px)}
@media(max-width:767px){.tasmo-shop-page.tasmo-shop-overlay-header .ts-shop{padding-top:var(--ts-header-clearance,65px)}}
