/* Catalog artwork is independent of product detail screenshots and portfolio media. */
.catalog-grid .product-catalog-card{padding:0;overflow:hidden;background:linear-gradient(145deg,#e5f4f3,#d4e9ef);border:1.5px solid #36bfd3;isolation:isolate;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.catalog-grid .product-catalog-card::before,.catalog-grid .product-catalog-card::after{display:none}
.product-catalog-card .product-card-backdrop{position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;background:#04333e;transition:opacity .4s ease}
.product-catalog-card .product-card-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.product-card-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#04333e05 20%,#04333e99 48%,#04333ef5 76%)}
.product-card-image-toggle{position:relative;z-index:1;display:block;width:100%;padding:0;border:0;border-radius:0;background:#d9edf0;cursor:zoom-in;aspect-ratio:4/3;overflow:hidden;color:#fff;flex-shrink:0}
.product-catalog-card .product-card-image-toggle>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:opacity .4s ease;transform:none}
.product-card-image-hint{position:absolute;inset-inline-end:12px;bottom:12px;border:1px solid #b6f8ff9c;background:#04333ebb;border-radius:9px;padding:2px 9px;font:24px/1.2 sans-serif;transition:opacity .3s}
.product-catalog-card .catalog-card-copy{position:relative;z-index:1;padding:22px;gap:14px}
.product-catalog-card h3 a{color:inherit;text-decoration:none}
.product-catalog-card .catalog-card-copy .text-link{align-self:flex-start;padding-block:8px}
.product-catalog-card :is(a,button):focus-visible{outline:3px solid #00b9d2;outline-offset:-5px;border-radius:8px}
.product-catalog-card.is-expanded .product-card-backdrop{opacity:1}
.product-catalog-card.is-expanded .product-card-image-toggle{background:transparent;cursor:zoom-out}
.product-catalog-card.is-expanded .product-card-image-toggle>img,.product-catalog-card.is-expanded .product-card-image-hint{opacity:0}
.product-catalog-card.is-expanded .catalog-card-copy :is(h3,p,.tag,.text-link){color:#fff}
.catalog-grid .product-catalog-card.is-expanded{border-color:#2ee6f0;box-shadow:0 0 0 2px #2ee6f02b,0 0 24px #00c5db3d,0 18px 35px #04333e24}
@media(hover:hover) and (pointer:fine){
 .catalog-grid .product-catalog-card:hover{transform:translateY(-6px) scale(1.015);border-color:#2ee6f0;box-shadow:0 0 0 2px #2ee6f02b,0 0 24px #00c5db3d,0 18px 35px #04333e24}
 .product-catalog-card:hover .product-card-backdrop{opacity:1}
 .product-catalog-card:hover .product-card-image-toggle{background:transparent}
 .product-catalog-card:hover .product-card-image-toggle>img,.product-catalog-card:hover .product-card-image-hint{opacity:0}
 .product-catalog-card:hover .catalog-card-copy :is(h3,p,.tag,.text-link){color:#fff}
}
@media(hover:none){.catalog-grid .product-catalog-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.catalog-grid .product-catalog-card,.product-catalog-card *{transition:none!important;transform:none!important}}

.product-catalog-card.is-expanded .tag{background:#04333ecc}
@media(hover:hover) and (pointer:fine){.product-catalog-card:hover .tag{background:#04333ecc}}

.product-catalog-card .catalog-card-copy>.tag{color:#325a64;background:#d4eae9}
.product-catalog-card.is-expanded .catalog-card-copy>.tag{color:#fff;background:#04333ecc}
@media(hover:hover) and (pointer:fine){.product-catalog-card:hover .catalog-card-copy>.tag{color:#fff;background:#04333ecc}}
