/* Larger first-display images apply only to WooCommerce Related Products. */
body .related .tby-card-media{aspect-ratio:1/1;isolation:isolate}
body .related .tby-card-media .tby-card-photos{opacity:1!important}
body #main .related li.product .product-thumbnail.tby-card-media .tby-card-photos .tby-card-slide>img,body .related .tds-product .tby-card-photos .tby-card-slide>img{object-fit:contain!important;width:var(--tby-image-scale,100%)!important;height:var(--tby-image-scale,100%)!important;inset:0!important;margin:auto!important}
body .tby-card-progress{height:38px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;margin:4px 0 8px;clear:both}
body .tby-card-progress .tby-card-line{display:block;margin:0 0 5px;flex-shrink:0}
body .tby-card-progress .tby-image-counter{display:block;margin:0;height:14px;line-height:14px}
body .tby-card-line>span{background:#000!important}
body.tby-card-hide-card_counter .tby-card-progress .tby-image-counter{visibility:hidden!important}
body.tby-card-hide-card_line .tby-card-progress .tby-card-line{visibility:hidden!important}
body.tby-card-hide-card_line.tby-card-hide-card_counter .tby-card-progress{display:none!important}
body #main .tby-card-media>.tby-card-options{top:auto!important;bottom:12px!important;left:8px!important;right:var(--tby-size-row-right,52px)!important;width:auto!important;padding:0!important;transform:none!important;background:transparent!important}
body .tby-card-sizes{justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important}
body .tby-card-sizes button{font-size:var(--tby-size-font,10px)!important}
body .tbycc-row{justify-content:flex-start!important;column-gap:2px!important;row-gap:2px!important}
body .tbycc-dot .tbycc-fill{width:var(--tby-swatch-size,14px)!important;height:var(--tby-swatch-size,14px)!important}
body #main :is(li.product,.tds-product) :is(.tby-image-plus,.tby-yml-plus,.tby-quick-add,.product-loop-button-atc),body.single-product #main .summary :is(.single_add_to_cart_button,.wcboost-wishlist-button){border-radius:var(--tby-control-radius,0px)!important}
body.tby-card-hide-plus #main :is(li.product,.tds-product) :is(.tby-image-plus,.tby-yml-plus,.tby-yml-v4-plus,.tby-quick-add,.product-loop-button-atc,.product-loop-button,.add_to_cart_button){display:none!important}
body.tby-card-hide-buy_now .tby-card-buy{display:none!important}
body.tby-card-hide-colours :is(li.product,.tds-product) :is(.tbycc-row,.wcboost-variation-swatches,.tby-colour-swatches){display:none!important}
body.tby-card-hide-product_line .tby-studio-gallery .tby-gallery-track,body.tby-card-hide-product_counter .tby-studio-gallery .tby-image-counter{display:none!important}
/* Related carousel indicator belongs to the carousel, not the image gallery. */
body .related :is(.swiper-scrollbar,.swiper-scrollbar-horizontal){background:#dedede!important}
body .related .swiper-scrollbar-drag{background:#000!important;opacity:1!important}
body .related :is(.tby-line-pager,.tby-rail-line)>span{background:#000!important}
body.single-product .summary> :is(.short-description,.woocommerce-product-details__short-description){margin-bottom:var(--tby-description-gap,24px)!important}
body.single-product .summary>form.variations_form{margin-top:var(--tby-description-gap,24px)!important}
body.single-product .summary.tby-price-owned>.tby-current-price{display:block!important;position:static!important;float:none!important;transform:none!important;margin:10px 0 16px!important;padding:0!important;width:auto!important;line-height:1.5!important;clear:both!important}
body.single-product .summary.tby-price-owned>.tby-current-price :is(.price,del,ins,.amount,bdi){position:static!important;float:none!important;transform:none!important;inset:auto!important;white-space:normal!important}
body.single-product .summary.tby-price-owned>.tby-current-price ins{background:transparent!important;text-decoration:none!important}
body.single-product .summary.tby-price-owned>form.variations_form .woocommerce-variation-price{display:none!important}
/* Known delayed pagers are hidden before any gallery script runs. */
body.single-product :is(.tby-colour-gallery-v11__dots,.tby-mep-primary-dots,.tby-mep-hidden-duplicate-dots){display:none!important;visibility:hidden!important}

body .related .swiper-pagination-progressbar{background:#dedede!important}
body .related .swiper-pagination-progressbar-fill{background:#000!important}

/* Price ownership is explicit; keep descriptions in the original wrapper visible. */
body.single-product #main div.product .summary.tby-price-owned [data-tby-price-duplicate]{display:none!important}
body.single-product #main div.product .summary.tby-price-owned>.tby-current-price{display:block!important;position:static!important;transform:none!important}
body.single-product #main div.product .summary.tby-price-owned>.tby-current-price .price{display:block!important;position:static!important;margin:0!important;transform:none!important}
body.single-product #main div.product .summary.tby-price-owned>.tby-current-price ins{color:#d82020!important}
/* The cart and its own backdrop must sit above the existing sticky header. */
body #cart-panel.offscreen-panel{position:fixed!important;z-index:2147483000!important;top:0!important;bottom:0!important}
/* A stock wrapper is not a second badge. Only its text element gets padding. */
body.single-product #main .tby-yml-v4-section .woocommerce-badges.tby-yml-v4-home-badge .stock-badge{display:contents!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;min-width:0!important;min-height:0!important}
body.single-product #main .tby-yml-v4-section .woocommerce-badges.tby-yml-v4-home-badge :is(.stock,.onsale,.woocommerce-badge){box-sizing:border-box!important;position:static!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;padding:4px 8px!important;font-size:9px!important;line-height:1!important;letter-spacing:.5px!important;white-space:nowrap!important}
body #main .tby-card-media>.tby-card-options .tby-card-sizes{display:flex;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:0!important;background:transparent!important}
body #main .tby-card-media>.tby-card-options .tby-card-sizes button{flex:0 0 auto!important;padding:4px!important;min-height:24px!important;white-space:nowrap!important}
body #main :is(li.product,.tds-product):not(.tby-card-active) .tby-card-buy{display:none!important}

/* Search drawer: preserve the theme typography and use one stable result row. */
body #search-modal{z-index:2147482000!important}
body #search-modal .modal__container{overflow-y:auto!important}
body #search-modal .modal__header{padding:56px 20px 20px!important}
body #search-modal .modal__content{padding:20px!important}
body #search-modal .header-search__products>ul.products{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:0!important;width:100%!important;margin:0!important}
body #search-modal .header-search__products>ul.products>li.product{display:block!important;float:none!important;clear:both!important;width:100%!important;min-width:100%!important;max-width:none!important;margin:0!important;padding:16px 0!important;border-bottom:1px solid #eee!important}
body #search-modal .header-search__products li.product .product-inner{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;transform:none!important}
body #search-modal .header-search__products li.product .product-thumbnail{width:88px!important;height:112px!important;overflow:hidden!important;background:#fff!important}
body #search-modal .header-search__products li.product .product-thumbnail img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
body #search-modal .header-search__products li.product .product-summary{min-width:0!important;position:static!important;transform:none!important;opacity:1!important;visibility:visible!important}
body #search-modal .header-search__products li.product .woocommerce-loop-product__title{margin:0!important;font-size:13px!important;line-height:1.35!important;letter-spacing:.06em!important;word-break:normal!important;overflow-wrap:normal!important}
body #search-modal .header-search__products li.product .tby-colour-count{font-size:10px!important;line-height:1.4!important;letter-spacing:.12em!important}
body #search-modal .header-search__products li.product .price{display:flex!important;gap:6px!important;margin:3px 0 0!important;font-size:13px!important;line-height:1.35!important;color:#111!important}
body #search-modal .header-search__products li.product .price ins{color:#d82020!important;text-decoration:none!important;background:transparent!important}
body #search-modal .header-search__products li.product .price:not(:has(del)) .amount{color:#111!important}
body #search-modal .header-search__products li.product :is(.tby-card-photos,.tby-card-options,.tby-card-progress,.tbycc-row,.tby-card-buy,.tby-image-plus,.product-featured-icons,.product-loop-button){display:none!important}
body #search-modal .header-search__products li.product :is(.woocommerce-badges,.stock-badge){display:contents!important}
body #search-modal .header-search__products li.product :is(.woocommerce-badge,.onsale,.tby-poe-badge){display:inline-flex!important;position:static!important;min-width:0!important;width:auto!important;height:auto!important;margin:0 4px 4px 0!important;padding:3px 7px!important;border:0!important;border-radius:999px!important;background:#f1f1f1!important;color:#222!important;font-size:9px!important;line-height:1.3!important;letter-spacing:.05em!important;white-space:nowrap!important}
/* Related and You May Also Like: regular prices stay black; sale prices remain red. */
body #main .related .price:not(:has(del)),body #main .tby-yml-v4-section .price:not(:has(del)){color:#111!important}
body #main .related .price:not(:has(del)) :is(.amount,.woocommerce-Price-amount,.woocommerce-Price-currencySymbol),body #main .tby-yml-v4-section .price:not(:has(del)) :is(.amount,.woocommerce-Price-amount,.woocommerce-Price-currencySymbol){color:#111!important}
body #main .related :is(.woocommerce-badge,.onsale,.tby-poe-badge),body #main .tby-yml-v4-section :is(.woocommerce-badge,.onsale,.tby-poe-badge){font-size:9px!important;line-height:1.3!important;letter-spacing:.05em!important;padding:3px 7px!important;border-radius:999px!important}
/* Exact shop-card badge dimensions for YML and Related Products. */
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) :is(.woocommerce-badges,.stock-badge){display:contents!important}
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) :is(.woocommerce-badge,.onsale,.stock,.sold-out,.soldout,.out-of-stock,.tby-poe-badge){box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;position:static!important;inset:auto!important;width:auto!important;min-width:0!important;max-width:100%!important;height:18px!important;min-height:18px!important;max-height:18px!important;margin:0!important;padding:0 7px!important;border:0!important;border-radius:999px!important;background:#f1f1f1!important;color:#111!important;font-size:9px!important;font-weight:500!important;line-height:18px!important;letter-spacing:.05em!important;white-space:nowrap!important;transform:none!important;box-shadow:none!important}
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .price:not(:has(del)),body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .price:not(:has(del)) *{color:#111!important}
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .price:has(del) ins,body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .price:has(del) ins *{color:#d82020!important}
/* Keep the product title and its price as one compact block.  Ecomus adds
   spacing to the price wrapper (and the live price bridge can add a second
   margin), which created the large blank gap seen on product pages. */
body.single-product div.product .summary>.product_title,
body.single-product div.product .summary>h1.product_title,
body.single-product div.product .summary:has(>.ecomus-product-price)>.product_title{
    margin-bottom:6px!important;
    padding-bottom:0!important;
}
body.single-product div.product .summary>.ecomus-product-price{
    margin-top:0!important;
    padding-top:0!important;
}
body.single-product div.product .summary>.ecomus-product-price>.price,
body.single-product div.product .summary.tby-price-owned>.tby-current-price{
    margin-top:0!important;
    padding-top:0!important;
}
/* YML/related badges are anchored to the card/image, never laid out beside
   the image.  Keep the inner stock wrapper transparent so only one pill is
   painted, matching the shop card badge. */
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) li.product,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .tds-product,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .swiper-slide,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .tby-yml-v4-card{
    position:relative!important;
}
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) li.product :is(.product-thumbnail,.tby-yml-v4-media){
    position:relative!important;
}
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) :is(.tds-product,.swiper-slide) :is(.product-thumbnail,.tby-yml-v4-media){
    position:relative!important;
}
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) li.product>.woocommerce-badges,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) li.product>.stock-badge,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) li.product .product-summary>.woocommerce-badges,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) :is(.tds-product,.swiper-slide)>.woocommerce-badges,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) :is(.tds-product,.swiper-slide) .product-summary>.woocommerce-badges,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) :is(.tds-product,.swiper-slide) .product-thumbnail>.woocommerce-badges,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .tby-yml-v4-card>.woocommerce-badges,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .tby-yml-v4-card .tby-yml-v4-media>.woocommerce-badges{
    display:flex!important;
    position:absolute!important;
    top:18px!important;
    left:auto!important;
    right:8px!important;
    z-index:9!important;
    align-items:flex-start!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    pointer-events:none!important;
}
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) li.product :is(.woocommerce-badges,.stock-badge) .stock-badge,
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) .tby-yml-v4-card :is(.woocommerce-badges,.stock-badge) .stock-badge{
    display:contents!important;
}
body #main :is(.related,.upsells,.cross-sells,.tby-yml-v4-section) :is(.woocommerce-badge,.onsale,.stock,.sold-out,.soldout,.out-of-stock,.tby-poe-badge){
    position:static!important;
    display:inline-flex!important;
    width:auto!important;
    height:18px!important;
    min-height:18px!important;
    max-height:18px!important;
    margin:0!important;
    padding:0 7px!important;
    border:0!important;
    border-radius:999px!important;
    background:#f1f1f1!important;
    color:#111!important;
    font-size:9px!important;
    line-height:18px!important;
    white-space:nowrap!important;
}
/* Search rows use the shop card badge position without the theme card shell. */
body #search-modal .header-search__products li.product .product-inner{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body #search-modal .header-search__products li.product .product-thumbnail{position:relative!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body #search-modal .header-search__products li.product .product-thumbnail .woocommerce-badges{position:absolute!important;top:8px!important;left:8px!important;right:auto!important;z-index:4!important;display:block!important;margin:0!important;padding:0!important;background:transparent!important}
body #search-modal .header-search__products li.product .product-thumbnail .woocommerce-badges .stock-badge{display:contents!important}
body #search-modal .header-search__products li.product .product-thumbnail :is(.woocommerce-badge,.onsale,.stock,.sold-out,.soldout,.tby-poe-badge){height:18px!important;min-height:18px!important;max-height:18px!important;padding:0 7px!important;margin:0!important;font-size:9px!important;line-height:18px!important;border-radius:999px!important;white-space:nowrap!important}
body #search-modal .header-search__products li.product .product-summary .woocommerce-badges{display:none!important}
