/* Only the new dots and label. Existing cards, prices, typography and actions keep their styles. */
body .tbycc-row{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:3px!important;margin:0 0 8px!important;padding:0!important;position:relative!important;float:none!important;clear:both!important;width:100%!important;line-height:1!important}
body .tbycc-row .tbycc-dot{appearance:none!important;display:inline-grid!important;place-items:center!important;position:relative!important;flex:0 0 30px!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;cursor:pointer;transform:none!important;line-height:1!important}
body .tbycc-row .tbycc-dot:before,body .tbycc-row .tbycc-dot:after{content:none!important}
body .tbycc-dot .tbycc-fill{display:block!important;width:14px!important;height:14px!important;border:1px solid #b8b8b8!important;border-radius:50%!important;background:var(--tbycc-colour,repeating-linear-gradient(45deg,#eee 0 3px,#bbb 3px 5px))!important;box-shadow:none!important}
body .tbycc-dot[aria-pressed=true] .tbycc-fill{outline:1px solid #111!important;outline-offset:3px!important}
body .tbycc-dot:focus-visible{outline:2px solid #111!important;outline-offset:0!important}
body .tbycc-dot:disabled{opacity:.35!important;cursor:not-allowed}
body .tbycc-label{display:block;font:inherit;font-size:11px;letter-spacing:.08em;margin:4px 0;color:#777}
body .tbycc-row{grid-column:1/-1!important;flex-basis:100%!important;box-sizing:border-box!important;max-width:none!important}
body .tby-card-media{position:relative!important}
body .tby-card-photos{position:absolute!important;inset:0!important;z-index:2;display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scrollbar-width:none;opacity:0;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
body .tby-card-photos::-webkit-scrollbar{display:none}
body .tby-card-photos>img{display:block!important;position:static!important;flex:0 0 100%!important;min-width:100%!important;width:100%!important;height:100%!important;object-fit:contain!important;opacity:1!important;transform:none!important;scroll-snap-align:start;background:#fff!important;pointer-events:none!important}
body .tby-card-active .tby-card-photos{opacity:1}
body .tby-card-options{display:none;position:absolute;bottom:0;left:0;right:0;z-index:4;padding:0 6px 6px;background:transparent;pointer-events:none;color:#555;box-sizing:border-box}
body .tby-card-active .tby-card-options,body .tby-card-options:focus-within{display:block}
body .tby-card-sizes{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;scrollbar-width:none}
body .tby-card-sizes button{font:inherit!important;font-size:10px!important;min-width:0!important;min-height:30px!important;padding:6px 5px!important;flex:0 0 auto!important;pointer-events:auto;white-space:nowrap!important;margin:0!important;background:transparent!important;border:1px solid transparent!important;border-radius:0!important;color:#666!important;box-shadow:none!important}
body .tby-card-sizes button[aria-pressed=true]{border-color:transparent!important;text-decoration:underline!important;text-underline-offset:3px!important;color:#111!important}
body .tby-card-sizes button:disabled{color:#aaa!important;text-decoration:line-through!important;cursor:not-allowed}
body .tby-card-status{display:none}body .tby-card-status.tby-card-error{display:block;font-size:10px;line-height:1.4;margin:4px 0;pointer-events:auto}
body .tby-card-buy{pointer-events:auto;width:100%!important;border-radius:0!important;background:#111!important;color:white!important;font:inherit!important;font-size:11px!important;padding:10px!important;min-height:40px!important;border:1px solid #111!important;box-shadow:none!important}
body .tby-card-buy[hidden]{display:none!important}
body .tby-card-line{display:none;position:relative;height:2px;margin:8px 0;background:#dedede;width:100%;overflow:hidden}
body .tby-card-active .tby-card-line{display:block}
body .tby-card-line>span{display:block;height:2px;background:#111;will-change:transform}
body .tby-card-options button:focus-visible{outline:2px solid #111!important;outline-offset:1px}

body .tby-card-sizes{justify-content:center!important;background:transparent!important}
body .tby-card-sizes::-webkit-scrollbar{display:none}
body .tby-card-photos{z-index:3!important;pointer-events:auto!important;max-width:100%!important;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y!important}
body .tby-card-photos>img{max-width:none!important;max-height:none!important;margin:0!important;border:0!important;box-sizing:border-box!important}
body .tbycc-row{margin:4px 0 0!important;align-self:stretch!important}
body .product-summary>.tbycc-row{grid-column:1/-1!important}
body .tby-card-options{background:none!important;box-shadow:none!important;border:0!important}
body #main li.product .product-thumbnail .tby-card-photos>img{position:static!important;flex:0 0 100%!important;min-width:100%!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;object-fit:contain!important;transform:none!important;opacity:1!important;margin:0!important}
body .tby-card-sizes button{width:auto!important;max-width:none!important;letter-spacing:0!important;line-height:1!important}
body .tby-card-sizes button:before,body .tby-card-sizes button:after{content:none!important;background:none!important}
/* The card strip owns its geometry; existing theme image rules cannot position slides. */
body #main .tby-card-photos,body .tds-product .tby-card-photos{display:block!important;overflow:hidden!important;touch-action:pan-y pinch-zoom!important;scroll-snap-type:none!important;cursor:grab}
body .tby-card-strip{position:relative!important;display:flex!important;width:100%!important;height:100%!important;gap:0!important;padding:0!important;margin:0!important;will-change:transform}
body .tby-card-slide{position:relative!important;display:block!important;flex:0 0 100%!important;width:100%!important;min-width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
body #main li.product .product-thumbnail .tby-card-photos .tby-card-slide>img,body .tby-card-photos .tby-card-slide>img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;opacity:1!important;transform:none!important;margin:0!important;pointer-events:none!important;user-select:none!important}
body.tby-card-hide-colours .tbycc-row,body.tby-card-hide-sizes .tby-card-options{display:none!important}
body.tby-card-hide-plus :is(li.product,.tds-product) :is(.tby-image-plus,.product-loop-button-atc,.tby-yml-plus,.tby-quick-add){display:none!important}

body .tby-card-line[hidden]{display:none!important}
body .tby-card-media~.tby-image-counter{display:none}
body .tby-card-active .tby-card-media~.tby-image-counter{display:block}
body .tby-card-photos{overflow:hidden!important;touch-action:pan-y pinch-zoom!important;scroll-snap-type:none!important}


/* Native touch scrolling removes competing pointer animations and cancellation jumps. */
body #main .tby-card-photos,body .tds-product .tby-card-photos{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;touch-action:pan-x pan-y pinch-zoom!important;scrollbar-width:none;overscroll-behavior-x:contain}
body .tby-card-photos::-webkit-scrollbar{display:none}
body .tby-card-strip{transform:none!important;transition:none!important;will-change:auto!important}
body .tby-card-slide{scroll-snap-align:start;scroll-snap-stop:always}
body .tby-card-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}
body .tby-card-video-play{position:absolute;bottom:15%;left:15%;width:70%;background:#fff;color:#111;border:1px solid #111;border-radius:0;padding:10px;font:inherit;font-size:11px;z-index:2}
body .tby-card-video-play[hidden],body .tbycc-row[hidden],body .tbycc-label[hidden],body .tby-image-counter[hidden]{display:none!important}
body.tby-card-hide-card_line .tby-card-line,body.tby-card-hide-card_counter .tby-card-media~.tby-image-counter{display:none!important}
body.tby-card-hide-swipe .tby-card-photos{overflow-x:hidden!important;touch-action:pan-y!important}
body.tby-card-hide-product_swipe .tby-colour-gallery-v11__viewport{overflow-x:hidden!important;touch-action:pan-y!important}
body.tby-card-hide-product_line .tby-gallery-track,body.tby-card-hide-product_counter .tby-gallery-progress>.tby-image-counter{display:none!important}
body .tby-bundle-card-label{font:inherit;font-size:12px;font-weight:400;letter-spacing:.08em;color:#888;text-transform:uppercase;margin-top:4px}
body .tby-bundle-save{display:block;color:#c32222;font-size:11px;font-weight:400;white-space:normal}
body .tby-bundle-product :is(.tbycc-row,.tby-colour-count,.tby-yml-v2-colour-label,.tby-image-plus,.tby-quick-add,.tby-card-options){display:none!important}
body :is(li.product,.tds-product) :is(.product-thumbnail,.product-image,.tds-product-image) :is(.swiper-pagination,.slick-dots,.flex-control-paging){display:none!important}
