/* Video actions belong on product detail pages, not listing cards. */
:is(.blade-products,.grid) .card :is(.jericho-video-link,.youtube-button,a[href*="youtube.com"],a[href*="youtu.be"]){display:none!important}
/* Equal image frames keep intrinsic image sizes from stretching cards. */
:is(.blade-products,.grid)>.card{display:flex!important;flex-direction:column!important;min-width:0;min-height:0!important;height:auto!important;overflow:hidden;box-sizing:border-box}
:is(.blade-products,.grid)>.card[hidden]{display:none!important}
body :is(.blade-groups,.blade-products,.blade-list)[hidden]{display:none!important}
.cannula-use-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.cannula-use-options a[aria-current="page"]{border-color:#08778a;background:#eaf7f8}
@media(max-width:540px){.cannula-use-options{grid-template-columns:1fr}}
:is(.blade-products,.grid)>.card>.photo{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 230px;height:230px!important;min-height:0!important;width:100%;padding:18px!important;overflow:hidden;background:#fff!important;border-bottom:1px solid #e7edf2}
:is(.blade-products,.grid)>.card>.photo img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important}
:is(.blade-products,.grid)>.card>.copy{display:flex;flex-direction:column;flex:1;min-width:0;padding:18px!important;box-sizing:border-box}
:is(.blade-products,.grid) .card .category{font-size:12px;line-height:1.5;margin:0 0 9px;overflow-wrap:anywhere;text-transform:none}
:is(.blade-products,.grid) .card h2{font-size:17px;line-height:1.45;margin:0 0 14px;overflow-wrap:anywhere}
:is(.blade-products,.grid) .card .meta{margin:auto 0 0;padding-top:10px;font-size:12px;line-height:1.5;color:#62788a}
.blade-products{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px}
.blade-groups{align-items:stretch;gap:20px}
.blade-group{display:flex;flex-direction:column;min-width:0}
.blade-group img{display:block;width:100%;height:200px!important;padding:16px;box-sizing:border-box;object-fit:contain;object-position:center}
.blade-group h2{font-size:16px;line-height:1.45;margin:0;padding:16px;overflow-wrap:anywhere}
@media(max-width:1000px){.blade-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.blade-products{grid-template-columns:1fr}:is(.blade-products,.grid)>.card>.photo{height:210px!important;flex-basis:210px}.blade-group img{height:155px!important;padding:12px}.blade-group h2{font-size:14px;padding:12px}}
/* Detail galleries use bounded frames, while feature images retain their layout. */
body .layout>.gallery{align-self:start;min-width:0}
body .layout>.gallery>a{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;height:220px!important;overflow:hidden;padding:12px!important}
body .layout>.gallery>a:first-child{height:350px!important}
body .layout>.gallery>a>img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;aspect-ratio:auto!important;margin:0!important}
@media(max-width:540px){body .layout>.gallery>a:first-child{height:285px!important}body .layout>.gallery>a{height:180px!important}}

.card .blade-card-specs{margin:8px 0 12px;color:#08778a;font-size:15px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}

/* Compact, readable catalogue cards on phones. Full text remains in the DOM and on product pages. */
@media(max-width:700px){
 html body :is(.blade-products,.grid){grid-template-columns:minmax(0,1fr)!important;gap:14px!important;min-width:0!important}
 html body :is(.blade-products,.grid)>.card{min-width:0!important;min-height:0!important;border-radius:18px!important}
 html body :is(.blade-products,.grid)>.card>.photo{height:170px!important;max-height:170px!important;flex:0 0 170px!important;padding:12px!important}
 html body :is(.blade-products,.grid)>.card>.photo img{max-height:146px!important;object-fit:contain!important}
 html body :is(.blade-products,.grid)>.card>.copy{padding:14px!important;gap:0!important;min-width:0!important}
 html body :is(.blade-products,.grid) .card .category{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;white-space:normal!important;text-overflow:ellipsis!important;font-size:11px!important;line-height:1.4!important;margin:0 0 7px!important;letter-spacing:.02em!important;max-height:2.8em!important}
 html body :is(.blade-products,.grid) .card .product-name{display:block;min-width:0}
 html body :is(.blade-products,.grid) .card h2{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;min-height:0!important;max-height:4.2em!important;font-size:16px!important;line-height:1.4!important;margin:0 0 8px!important;overflow-wrap:break-word!important}
 html body :is(.blade-products,.grid) .card :is(.description,.blade-card-specs){display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;max-height:2.9em!important;font-size:13px!important;line-height:1.45!important;margin:6px 0 8px!important}
 html body :is(.blade-products,.grid) .card .meta{font-size:12px!important;line-height:1.4!important;margin-top:auto!important;padding-top:8px!important}
 html body .blade-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 html body .blade-group{min-width:0!important;min-height:0!important;height:auto!important;overflow:hidden;border-radius:16px!important}
 html body .blade-group img{height:120px!important;max-height:120px!important;flex:0 0 120px!important;padding:10px!important}
 html body .blade-group h2{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;font-size:14px!important;line-height:1.4!important;max-height:calc(4.2em + 24px)!important;margin:0!important;padding:12px!important;overflow-wrap:break-word!important}
}
