.tdm-scs{width:100%;max-width:100%;min-width:0;margin:0 0 24px;--tdm-bg:#e3f8ec;--tdm-gap:14px;--tdm-radius:14px;--tdm-image:116px;--tdm-desktop:7;--tdm-tablet:4;--tdm-mobile:2.4;box-sizing:border-box}
.tdm-scs *{box-sizing:border-box}.tdm-scs-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.tdm-scs-title{font-size:20px;font-weight:700;margin:0!important;line-height:1.3;color:inherit}.tdm-scs-all{color:#f36a17;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.tdm-scs-viewport{position:relative;min-width:0}.tdm-scs-track{display:flex;flex-flow:row nowrap;gap:var(--tdm-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 2px 8px;outline-offset:3px}.tdm-scs-track::-webkit-scrollbar{display:none}.tdm-scs-item{flex:0 0 calc((100% - (var(--tdm-desktop) - 1)*var(--tdm-gap))/var(--tdm-desktop));min-width:0;max-width:none;scroll-snap-align:start;text-decoration:none!important;display:flex;flex-direction:column;align-items:center;color:inherit!important;gap:3px;transition:transform .2s ease}.tdm-scs-item:hover{transform:translateY(-2px)}.tdm-scs-item:focus-visible,.tdm-scs-arrow:focus-visible{outline:2px solid #157d43;outline-offset:3px}.tdm-scs-image{width:100%;height:auto;aspect-ratio:1/1;background:var(--tdm-bg);border-radius:var(--tdm-radius);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:6px}.tdm-scs-img{display:block;max-height:var(--tdm-image);max-width:100%;height:100%;width:100%;object-fit:contain;border-radius:inherit}.tdm-scs-fallback{font-size:40px}.tdm-scs-name{font-size:12px;font-weight:500;text-align:center;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;min-height:2.7em;word-break:normal;overflow-wrap:break-word}.tdm-scs-count{font-size:10px;color:#6a6a6a;line-height:1.2;text-align:center}.tdm-scs-arrow{position:absolute;top:35%;transform:translateY(-50%);z-index:2;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e5e5;border-radius:50%;background:#fff;color:#222;box-shadow:0 2px 8px #0002;font-size:28px;line-height:1;cursor:pointer;padding:0}.tdm-scs-prev{left:-13px}.tdm-scs-next{right:-13px}.tdm-scs-arrow:disabled{opacity:0;pointer-events:none}.tdm-scs-progress{height:3px;border-radius:3px;background:#e8e8e8;overflow:hidden;margin:4px auto 0;width:54px}.tdm-scs-progress span{display:block;width:30%;height:100%;background:#f36a17;border-radius:3px;transform:translateX(0)}
@media(max-width:1024px){.tdm-scs-item{flex-basis:calc((100% - (var(--tdm-tablet) - 1)*var(--tdm-gap))/var(--tdm-tablet))}.tdm-scs-title{font-size:18px}}
@media(max-width:767px){.tdm-scs{--tdm-gap:10px!important;margin-bottom:18px}.tdm-scs-item{flex-basis:calc((100% - (var(--tdm-mobile) - 1)*var(--tdm-gap))/var(--tdm-mobile))}.tdm-scs-header{margin-bottom:11px}.tdm-scs-title{font-size:16px}.tdm-scs-image{padding:5px}.tdm-scs-name{font-size:11px}.tdm-scs-count{font-size:10px}.tdm-scs-arrow{display:none}.tdm-scs-progress{width:64px}.tdm-scs-item:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.tdm-scs-track{scroll-behavior:auto}.tdm-scs-item{transition:none}}
/* 1.1: Zepto-inspired compact shop-by-category grid, preserving TDM's green backgrounds. */
.tdm-scs-grid .tdm-scs-track{display:grid;grid-template-columns:repeat(var(--tdm-grid-desktop,10),minmax(0,1fr));overflow:visible;gap:20px 12px;scroll-snap-type:none;padding:2px 0}
.tdm-scs-grid .tdm-scs-item{min-width:0;max-width:none;flex:auto}
.tdm-scs-grid .tdm-scs-viewport{overflow:visible}
.tdm-scs-grid .tdm-scs-image{border-radius:13px;padding:7px}
.tdm-scs-grid .tdm-scs-name{font-weight:600;font-size:12px}
.tdm-scs-grid .tdm-scs-header{margin-bottom:14px}
/* WooCommerce archive wrapper, non-destructive to WooCommerce loops/filters. */
.tdm-scs-shop-layout{display:grid;grid-template-columns:172px minmax(0,1fr);gap:22px;align-items:start;clear:both}
.tdm-scs-shop-products{min-width:0}
.tdm-scs-shopnav{position:sticky;top:85px;max-height:calc(100vh - 100px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #ededed;border-radius:12px;min-width:0}
.tdm-scs-shopnav-head{padding:12px 10px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:13px}
.tdm-scs-shopnav-head a{font-size:11px;white-space:nowrap}
.tdm-scs-shopnav-items{display:flex;flex-direction:column}
.tdm-scs-shopnav-link{display:flex;gap:9px;align-items:center;padding:9px 8px;text-decoration:none!important;color:inherit!important;font-size:12px;line-height:1.25;border-left:3px solid transparent}
.tdm-scs-shopnav-link:hover,.tdm-scs-shopnav-link.is-active{background:#edf9f1;border-left-color:#188447}
.tdm-scs-shopnav-photo{flex:0 0 48px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#e3f8ec;border-radius:10px;overflow:hidden}
.tdm-scs-shopnav-img{width:100%;height:100%;object-fit:contain}
.tdm-scs-shopnav-label{min-width:0;overflow-wrap:anywhere}
.tdm-scs-shopnav-fallback{font-size:22px}
.tdm-scs-shopnav-link:focus-visible{outline:2px solid #188447;outline-offset:-2px}
@media(max-width:1024px){.tdm-scs-grid .tdm-scs-track{grid-template-columns:repeat(6,minmax(0,1fr))}.tdm-scs-shop-layout{grid-template-columns:135px minmax(0,1fr);gap:12px}}
@media(max-width:767px){
 .tdm-scs-grid .tdm-scs-track{grid-template-columns:repeat(var(--tdm-grid-mobile,3),minmax(0,1fr));gap:15px 9px}
 .tdm-scs-grid .tdm-scs-name{font-size:11px;line-height:1.25}
 .tdm-scs-grid .tdm-scs-header{margin-bottom:11px}
 .tdm-scs-shop-layout{grid-template-columns:85px minmax(0,1fr);gap:8px}
 .tdm-scs-shopnav{top:70px;max-height:calc(100dvh - 85px);border-radius:9px}
 .tdm-scs-shopnav-head{font-size:10px;padding:7px 4px;flex-direction:column;align-items:stretch}
 .tdm-scs-shopnav-head a{font-size:9px}
 .tdm-scs-shopnav-link{flex-direction:column;gap:4px;padding:8px 3px;text-align:center;font-size:10px;border-left-width:2px}
 .tdm-scs-shopnav-photo{width:56px;height:56px;flex-basis:56px}
 .tdm-scs-shopnav-label{line-height:1.2}
 .tdm-scs-shop-products ul.products{margin-left:0;margin-right:0}
}

/* Preserve theme product list sizing inside optional category navigation layout. */
.tdm-scs-shop-layout .tdm-scs-shop-products{width:100%;max-width:100%}
.tdm-scs-shopnav{scrollbar-width:thin}
@media(max-width:767px){.tdm-scs-shopnav{position:sticky}.tdm-scs-shopnav-link.is-active .tdm-scs-shopnav-label{font-weight:700}}

/* v1.1.2 compact layout. Scoped to shortcode slider; no changes to Rey/Elementor globally. */
.tdm-scs:not(.tdm-scs-grid){margin-bottom:8px}
.tdm-scs:not(.tdm-scs-grid) .tdm-scs-header{margin-bottom:9px}
.tdm-scs:not(.tdm-scs-grid) .tdm-scs-track{padding-bottom:3px}
.tdm-scs:not(.tdm-scs-grid) .tdm-scs-item{gap:2px}
.tdm-scs:not(.tdm-scs-grid) .tdm-scs-name{min-height:0;line-height:1.3;max-height:2.6em}
@media(min-width:1025px){.tdm-scs:not(.tdm-scs-grid) .tdm-scs-item{flex-basis:calc((100% - 7*var(--tdm-gap))/8)}}
@media(max-width:767px){.tdm-scs:not(.tdm-scs-grid) .tdm-scs-track{gap:9px}.tdm-scs:not(.tdm-scs-grid) .tdm-scs-item{flex-basis:calc((100% - 2.15*9px)/3.15)}.tdm-scs:not(.tdm-scs-grid) .tdm-scs-image{padding:4px}.tdm-scs:not(.tdm-scs-grid) .tdm-scs-name{font-size:11px}.tdm-scs:not(.tdm-scs-grid) .tdm-scs-count{font-size:9px}}

/* v1.1.3: TopDesiMart brand-aligned See All link. Works with or without a shortcode title. */
.tdm-scs .tdm-scs-header .tdm-scs-all{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;margin-left:auto;color:#17145c!important;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap;flex:0 0 auto}
.tdm-scs .tdm-scs-header .tdm-scs-all:hover,.tdm-scs .tdm-scs-header .tdm-scs-all:focus-visible{color:#008a35!important}
.tdm-scs .tdm-scs-header-link-only{justify-content:flex-end}
@media(max-width:767px){.tdm-scs .tdm-scs-header .tdm-scs-all{font-size:12px}}

/* v1.1.4 compact styling, scoped to plugin slider instances only. */
.tdm-scs.tdm-scs-compact{margin:0!important;padding:0!important;isolation:isolate}
.tdm-scs.tdm-scs-compact .tdm-scs-header{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:30px!important;margin:0 0 10px!important;gap:12px!important}
.tdm-scs.tdm-scs-compact .tdm-scs-title{flex:1 1 auto!important;min-width:0!important;margin:0!important;line-height:1.25!important;font-size:19px!important;font-weight:700!important}
.tdm-scs.tdm-scs-compact .tdm-scs-header-link-only{min-height:24px!important;margin-bottom:6px!important}
.tdm-scs.tdm-scs-compact .tdm-scs-name{font-weight:600!important;line-height:1.3!important;max-height:2.6em!important;min-height:0!important}
.tdm-scs.tdm-scs-compact .tdm-scs-progress{margin:5px auto 0!important}
@media(max-width:767px){.tdm-scs.tdm-scs-compact .tdm-scs-header{min-height:25px!important;margin-bottom:7px!important}.tdm-scs.tdm-scs-compact .tdm-scs-title{font-size:16px!important}.tdm-scs.tdm-scs-compact .tdm-scs-header-link-only{margin-bottom:4px!important}.tdm-scs.tdm-scs-compact .tdm-scs-name{font-size:11px!important}.tdm-scs.tdm-scs-compact .tdm-scs-track{padding-bottom:1px!important}}

/* v1.1.6: self-contained product-loop layout only; preserve Rey outer wrappers. */
.tdm-scs-shop-layout{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.tdm-scs-shop-products{min-width:0;max-width:100%}
.tdm-scs-shop-products .woocommerce-ordering,.tdm-scs-shop-products .woocommerce-result-count{max-width:100%}
.tdm-scs-shopnav-all{color:#17145c;font-weight:700;font-size:18px}
.tdm-scs-shopnav-head a{color:#17145c;text-decoration:none}
.tdm-scs-shopnav-link.is-active{font-weight:700}
@media(max-width:767px){
 .tdm-scs-shop-layout{grid-template-columns:minmax(74px,23%) minmax(0,1fr);gap:8px}
 .tdm-scs-shopnav{top:12px;max-height:calc(100dvh - 24px)}
 .tdm-scs-shop-products{overflow:hidden}
 .tdm-scs-shopnav-link{min-height:80px}
}

/* v1.1.7 — scoped shop navigation refinements. The Rey product cards, WooCommerce
 * filter controls and chat widget are deliberately not restyled by this plugin. */
.tdm-scs-shop-layout{align-items:start;min-width:0}
.tdm-scs-shop-layout .tdm-scs-shop-products{min-width:0;overflow:visible}
.tdm-scs-shop-layout .tdm-scs-shopnav{scrollbar-width:thin;scrollbar-color:#d7dedb transparent;overscroll-behavior-y:contain}
.tdm-scs-shopnav-link.is-active{border-left-color:#188447;background:#edf9f1}
@media (max-width:767px){
 .tdm-scs-shop-layout{grid-template-columns:minmax(68px,21%) minmax(0,1fr);gap:6px}
 .tdm-scs-shop-layout .tdm-scs-shop-products{overflow:visible;min-width:0}
 .tdm-scs-shop-layout .tdm-scs-shopnav{top:12px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:9px}
 .tdm-scs-shop-layout .tdm-scs-shopnav-head{font-size:10px;line-height:1.25;padding:8px 4px}
 .tdm-scs-shop-layout .tdm-scs-shopnav-link{font-size:10px;min-height:72px;padding:7px 2px;gap:4px}
 .tdm-scs-shop-layout .tdm-scs-shopnav-photo{width:min(48px,100%);height:48px;flex:0 0 48px}
 .tdm-scs-shop-layout .tdm-scs-shopnav-label{overflow-wrap:anywhere;hyphens:auto}
 .tdm-scs-shop-layout .tdm-scs-shop-products ul.products{min-width:0;max-width:100%;margin-left:0;margin-right:0}
 .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product{min-width:0;max-width:100%}
 .tdm-scs-shop-layout .tdm-scs-shop-products .woocommerce-ordering{max-width:100%}
}
@media (prefers-reduced-motion:reduce){.tdm-scs-shop-layout .tdm-scs-shopnav{scroll-behavior:auto}}

/* v1.1.8: OPT-IN compact product-card styles. Intentionally restricted to our shop layout.
   No display:grid changes to Rey product inner markup; native WooCommerce interactions remain. */
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product {
  box-sizing:border-box;min-width:0;max-width:100%;
}
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product img {
  max-width:100%;height:auto;object-fit:contain;
}
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .woocommerce-loop-product__title,
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .rey-productTitle {
  overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;
  line-height:1.35;min-width:0;overflow-wrap:anywhere;margin-bottom:5px;
}
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .price {
  line-height:1.35;margin-bottom:5px;
}
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product a,
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product button {max-width:100%;box-sizing:border-box}
@media(min-width:768px){
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .woocommerce-loop-product__title,
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .rey-productTitle{font-size:13px}
}
@media(max-width:767px){
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products {column-gap:7px;row-gap:14px}
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .woocommerce-loop-product__title,
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .rey-productTitle {font-size:12px;line-height:1.3}
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .price{font-size:13px}
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .button{white-space:normal;line-height:1.25}
}

/* v1.1.9: opt-in, visual-only refinements for Rey archive cards.
 * No changes to product templates or WooCommerce quantity/cart handlers. */
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product {
  min-width:0; overflow-wrap:break-word;
}
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .woocommerce-loop-product__title,
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .rey-productTitle {
  min-height:2.7em; max-height:2.7em; line-height:1.35; margin-top:5px;
}
body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .price {
  font-weight:650; font-variant-numeric:tabular-nums;
}
@media(max-width:767px){
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products{row-gap:12px;column-gap:6px}
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .woocommerce-loop-product__title,
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .rey-productTitle{font-size:11.5px;min-height:2.7em;max-height:2.7em;line-height:1.35}
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .price{font-size:12px;line-height:1.3}
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .button,
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .add_to_cart_button{
   font-size:11px;line-height:1.2;letter-spacing:0;overflow-wrap:normal;word-break:normal;
 }
}

/* v1.1.10: safe, opt-in mobile cart label refinement; retain all Rey event handlers. */
@media(max-width:767px){
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .add_to_cart_button,
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product a.button{
   font-size:10px;line-height:1.2;letter-spacing:0;white-space:normal;overflow-wrap:normal;word-break:normal;
   text-align:center;min-width:0;
 }
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .woocommerce-loop-product__title,
 body.tdm-scs-card-style .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .rey-productTitle{
   margin-bottom:4px;
 }
}

/* v1.2.0: OPT-IN tile polish. No changes to site background or WooCommerce handlers. */
body.tdm-scs-tile-polish .tdm-scs-shop-products ul.products li.product {
  border:1px solid rgba(30,38,45,.07);border-radius:10px;background:#fff;
  padding:7px;box-sizing:border-box;
}
body.tdm-scs-tile-polish .tdm-scs-shop-products ul.products li.product .woocommerce-loop-product__title,
body.tdm-scs-tile-polish .tdm-scs-shop-products ul.products li.product .rey-productTitle {
  font-weight:600;letter-spacing:0;line-height:1.35;
}
body.tdm-scs-tile-polish .tdm-scs-shop-products ul.products li.product .price {font-variant-numeric:tabular-nums}
@media(max-width:767px){
 body.tdm-scs-tile-polish .tdm-scs-shop-products ul.products li.product{padding:5px;border-radius:8px}
 body.tdm-scs-tile-polish .tdm-scs-shop-products ul.products li.product .woocommerce-loop-product__title,
 body.tdm-scs-tile-polish .tdm-scs-shop-products ul.products li.product .rey-productTitle{font-size:11px}
}
/* Mobile navigation: opt-in, fixed and isolated; no desktop changes. */
.tdm-scs-bottomnav{display:none}
@media(max-width:767px){
 body.tdm-scs-mobile-nav-on{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
 .tdm-scs-bottomnav{box-sizing:border-box;position:fixed;left:0;right:0;bottom:0;z-index:9900;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:62px;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 13px rgba(0,0,0,.05);font-family:inherit}
 .tdm-scs-bottomnav-link,.tdm-scs-bottomsearch>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#515760!important;font-size:10px;font-weight:600;text-decoration:none!important;line-height:1.2;min-height:50px;cursor:pointer}
 .tdm-scs-bottomnav-link.is-current{color:#17145c!important}
 .tdm-scs-bottomsearch>summary{list-style:none}.tdm-scs-bottomsearch>summary::-webkit-details-marker{display:none}
 .tdm-scs-bottomnav svg{width:22px;height:22px;flex-shrink:0}
 .tdm-scs-bottomsearch form{position:absolute;bottom:100%;left:8px;right:8px;background:white;border:1px solid #e5e7eb;box-shadow:0 -5px 15px rgba(0,0,0,.08);border-radius:12px;padding:10px;display:flex;gap:8px}
 .tdm-scs-bottomsearch input[type=search]{flex:1;min-width:0;font-size:16px;padding:9px;border:1px solid #d8dee2;border-radius:7px}
 .tdm-scs-bottomsearch button{background:#17145c;color:white;border:0;border-radius:7px;padding:8px 10px;font-size:13px}
}
@media(min-width:768px){.tdm-scs-bottomnav{display:none!important}}
/* v1.3.0: collections reuse WooCommerce product cards and existing page background. */
.tdm-collection-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:start}
.tdm-collection-nav{display:flex;flex-direction:column;position:sticky;top:90px;max-height:calc(100dvh - 110px);overflow-y:auto;background:#fff;border:1px solid #ececec;border-radius:12px}
.tdm-collection-navlink{display:block;padding:14px 12px;color:inherit!important;text-decoration:none!important;border-left:3px solid transparent;font-size:13px;line-height:1.4}
.tdm-collection-navlink.is-active,.tdm-collection-navlink:hover{background:#e9f7ef;border-left-color:#12804b;font-weight:700}
.tdm-collection-results{min-width:0}.tdm-collection-results h2{margin:0 0 16px;font-size:20px}.tdm-collection-results ul.products{margin:0}
.tdm-collection-pagination{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.tdm-collection-pagination a{border:1px solid #ddd;padding:5px 12px;border-radius:5px}.tdm-collection-pagination a[aria-current]{border-color:#17145c;font-weight:700}
.tdm-scs-bottomnav{grid-template-columns:repeat(var(--tdm-nav-count,4),minmax(0,1fr))!important}
.tdm-scs-bottomnav-link{position:relative}
.tdm-scs-cart-count{position:absolute;top:0;left:calc(50% + 7px);min-width:17px;height:17px;padding:1px 4px;border-radius:15px;background:#17145c;color:#fff;font-size:10px;line-height:15px;text-align:center;font-weight:700}
.tdm-scs-cart-count.is-pulsing{animation:tdm-cart-pulse .28s ease-out}
@keyframes tdm-cart-pulse{50%{transform:scale(1.35)}}
@media(max-width:767px){.tdm-collection-layout{grid-template-columns:82px minmax(0,1fr);gap:8px}.tdm-collection-nav{top:68px;max-height:calc(100dvh - 140px)}.tdm-collection-navlink{font-size:11px;padding:11px 5px;overflow-wrap:anywhere}.tdm-collection-results h2{font-size:16px;margin-bottom:10px}.tdm-collection-results ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tdm-collection-results ul.products>li.product{width:auto!important;margin:0!important;float:none!important;min-width:0}}
@media(prefers-reduced-motion:reduce){.tdm-scs-cart-count.is-pulsing{animation:none}}

/* v1.3.2 reusable product-section shelves. Scoped to this shortcode only. */
.tdm-scs-product-section{margin:22px 0 34px;max-width:100%;min-width:0}
.tdm-scs-product-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.tdm-scs-product-section-head h2{font-size:19px!important;line-height:1.3!important;margin:0!important;font-weight:700!important}
.tdm-scs-product-section-head a{color:#17145c;text-decoration:none;font-weight:700;font-size:13px;white-space:nowrap}
.tdm-scs-product-section-products{min-width:0;max-width:100%;}
.tdm-scs-product-section ul.products{display:grid!important;grid-template-columns:repeat(var(--tdm-shelf-columns,5),minmax(0,1fr));gap:14px;margin:0!important;padding:0!important;}
.tdm-scs-product-section ul.products:before,.tdm-scs-product-section ul.products:after{display:none!important}
.tdm-scs-product-section ul.products>li.product{float:none!important;width:auto!important;min-width:0;max-width:100%;margin:0!important;box-sizing:border-box}
.tdm-scs-product-section ul.products>li.product img{object-fit:contain;max-width:100%;}
.tdm-scs-product-section--slider .tdm-scs-product-section-products{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin}
.tdm-scs-product-section--slider ul.products{display:flex!important;width:max-content;max-width:none;gap:14px}
.tdm-scs-product-section--slider ul.products>li.product{flex:0 0 clamp(154px,17vw,230px);scroll-snap-align:start}
@media(max-width:767px){
 .tdm-scs-product-section-head h2{font-size:17px}
 .tdm-scs-product-section{margin:16px 0 28px}
 .tdm-scs-product-section ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .tdm-scs-product-section--slider ul.products>li.product{flex-basis:clamp(140px,42vw,200px)}
}


/* v1.3.4: mobile archive polish; opt-in via existing shop sidebar wrapper. */
@media (max-width:767px) {
 body.tdm-scs-archive-ui .woocommerce-products-header{margin-bottom:10px}
 body.tdm-scs-archive-ui .woocommerce-products-header__title{margin-bottom:8px}
 body.tdm-scs-archive-ui .rey-breadcrumbs{margin-bottom:10px}
 .tdm-scs-shop-layout{gap:7px!important;align-items:start}
 .tdm-scs-shop-layout .tdm-scs-shopnav{max-height:calc(100dvh - 100px);scrollbar-width:none}
 .tdm-scs-shop-layout .tdm-scs-shopnav::-webkit-scrollbar{width:0}
 .tdm-scs-shop-layout .tdm-scs-shopnav-link{min-width:0}
 .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product{min-width:0;overflow-wrap:anywhere}
 .tdm-scs-shop-layout .tdm-scs-shop-products ul.products li.product .add_to_cart_button{max-width:100%;white-space:normal;overflow-wrap:break-word}
 body.tdm-scs-mobile-nav-on .tdm-scs-bottomnav{z-index:9900}
 body.tdm-scs-mobile-nav-on .tdm-scs-bottomnav-link{min-width:0;touch-action:manipulation}
 body.tdm-scs-mobile-nav-on .tdm-scs-bottomnav-link svg{max-width:24px}
}
.tdm-scs-description-wrap{min-width:0}
.tdm-scs-description-collapsed{display:-webkit-box!important;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden!important}
.tdm-scs-readmore{display:inline-flex;align-items:center;background:transparent!important;border:0!important;padding:5px 0!important;margin:0 0 12px;color:#176d40!important;font-size:13px;font-weight:700;cursor:pointer}
.tdm-scs-readmore:focus-visible{outline:2px solid #176d40;outline-offset:3px}
@media(min-width:768px){.tdm-scs-description-collapsed{display:block!important;overflow:visible!important;-webkit-line-clamp:unset;line-clamp:unset}.tdm-scs-readmore{display:none!important}}
@media(max-width:767px){
 body.tdm-scs-is-navigating::before{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:#12804b;z-index:99999;animation:tdm-scs-progress 1.4s ease-in-out infinite;transform-origin:left}
 .tdm-scs-shopnav-link.tdm-scs-link-loading .tdm-scs-shopnav-photo{opacity:.55}
 .tdm-scs-shop-products .tdm-scs-cart-pending{opacity:.7;pointer-events:none}
 .tdm-scs-shop-products .tdm-scs-cart-pending::after{content:"";display:inline-block;width:11px;height:11px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;margin-left:5px;animation:tdm-scs-spin .7s linear infinite}
}
@keyframes tdm-scs-spin{to{transform:rotate(360deg)}}
@keyframes tdm-scs-progress{0%{transform:scaleX(.07)}60%{transform:scaleX(.7)}100%{transform:scaleX(.97)}}
@media(prefers-reduced-motion:reduce){body.tdm-scs-is-navigating::before,.tdm-scs-shop-products .tdm-scs-cart-pending::after{animation:none}}

/* v1.3.5: accessible, finger-sized parent-category back control.
   Scoped to plugin shop-navigation header; does not change Rey's back controls. */
.tdm-scs-shopnav-head .tdm-scs-shopnav-back{
 display:inline-flex;align-items:center;justify-content:center;gap:5px;
 box-sizing:border-box;min-height:44px;min-width:44px;padding:8px 10px;
 border-radius:8px;background:#e3f8ec;color:#125d38!important;
 font-size:13px;font-weight:700;line-height:1.2;text-decoration:none!important;
 touch-action:manipulation;-webkit-tap-highlight-color:rgba(18,93,56,.12);
}
.tdm-scs-shopnav-head .tdm-scs-shopnav-back:focus-visible{outline:2px solid #125d38;outline-offset:2px}
@media(max-width:767px){
 .tdm-scs-shop-layout .tdm-scs-shopnav-head{padding:7px 3px;gap:6px}
 .tdm-scs-shop-layout .tdm-scs-shopnav-head .tdm-scs-shopnav-back{
  width:100%;min-height:46px;padding:9px 2px;gap:3px;
  font-size:12px;text-align:center;white-space:nowrap;
 }
}

/* v1.3.9: bottom-nav search tab, no new layout wrappers or frontend libraries. */
@media(max-width:767px){
 .tdm-scs-bottomsearch{min-width:0;position:static}
 .tdm-scs-bottomsearch>summary{min-width:0;touch-action:manipulation;text-align:center}
 .tdm-scs-bottomsearch>summary:focus-visible{outline:2px solid #4b2694;outline-offset:-3px}
 .tdm-scs-bottomsearch[open]>summary{color:#17145c!important}
 .tdm-scs-bottomsearch form{z-index:3;box-sizing:border-box;align-items:center;max-width:none;min-width:0}
 .tdm-scs-bottomsearch input[type=search]{box-sizing:border-box;min-height:42px;margin:0;line-height:1.3;max-width:100%;width:100%;color:#232333}
 .tdm-scs-bottomsearch button{min-height:42px;white-space:nowrap;flex:none;cursor:pointer}
 .tdm-scs-bottomsearch input:focus-visible,.tdm-scs-bottomsearch button:focus-visible{outline:2px solid #4b2694;outline-offset:1px}
}

/* v1.3.10: ensure the mobile bottom search action is purple in Rey and iOS Safari. */
@media (max-width: 767px) {
 .tdm-scs-bottomnav .tdm-scs-bottomsearch form button[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  background: #47208e !important;
  background-color: #47208e !important;
  color: #fff !important;
  border: 1px solid #47208e !important;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
  min-height: 44px;
  padding: 10px 14px;
  opacity: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(71, 32, 142, .15);
 }
 .tdm-scs-bottomnav .tdm-scs-bottomsearch form button[type="submit"]:active {
  background-color: #35166e !important;
  border-color: #35166e !important;
 }
 .tdm-scs-bottomnav .tdm-scs-bottomsearch form button[type="submit"]:focus-visible {
  outline: 2px solid #47208e;
  outline-offset: 2px;
 }
}
