/* One shared product card for WooCommerce loops and custom product sections. */
.wolf-product-card { display:flex; min-width:0; height:100%; flex-direction:column; overflow:hidden; border:1px solid #e5e7eb; border-radius:16px; background:#fff; color:#111827; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.wolf-product-card:hover { transform:translateY(-3px); border-color:#cbd5e1; box-shadow:0 12px 28px rgb(11 37 69 / 9%); }
.wolf-product-card__media { position:relative; flex:0 0 auto; overflow:hidden; aspect-ratio:4 / 5; background:#f8f9fa; }
.wolf-product-card__image-link { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.wolf-product-card__image-link img.wolf-product-card__image { display:block; width:100%; height:100%; margin:0; object-fit:contain; object-position:center; }
.wolf-product-card__sale { position:absolute; z-index:1; top:11px; left:11px; padding:6px 9px; border-radius:999px; background:#0b2545; color:#fff; font-size:.62rem; font-weight:700; letter-spacing:.04em; line-height:1; text-transform:uppercase; }
.wolf-product-card__body { display:flex; min-width:0; flex:1; flex-direction:column; align-items:stretch; padding:14px; }
.wolf-product-card__category { min-height:1.3em; overflow:hidden; margin-bottom:5px; color:#64748b; font-size:.64rem; font-weight:600; letter-spacing:.055em; line-height:1.3; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.wolf-product-card__category.is-empty { visibility:hidden; }
.wolf-product-card__title { display:-webkit-box; min-height:2.7em; overflow:hidden; margin:0 0 9px; color:#111827; font-size:.9rem; font-weight:700; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.wolf-product-card__title a { color:inherit; text-decoration:none; }
.wolf-product-card__title a:hover { color:#0b2545; }
.wolf-product-card__price { min-height:1.5em; margin:0 0 13px; color:#0b2545; font-size:.94rem; font-weight:700; line-height:1.5; }
.wolf-product-card__price del { color:#7b8490; font-size:.82em; font-weight:400; }
.wolf-product-card__price ins { text-decoration:none; }
a.wolf-product-card__button:link,a.wolf-product-card__button:visited,a.wolf-product-card__button:hover,a.wolf-product-card__button:focus,a.wolf-product-card__button:active,.woocommerce ul.products li.product a.wolf-product-card__button:link,.woocommerce ul.products li.product a.wolf-product-card__button:visited,.woocommerce ul.products li.product a.wolf-product-card__button:hover,.woocommerce ul.products li.product a.wolf-product-card__button:focus,.woocommerce ul.products li.product a.wolf-product-card__button:active,.woocommerce-page ul.products li.product a.wolf-product-card__button:link,.woocommerce-page ul.products li.product a.wolf-product-card__button:visited,.woocommerce-page ul.products li.product a.wolf-product-card__button:hover,.woocommerce-page ul.products li.product a.wolf-product-card__button:focus,.woocommerce-page ul.products li.product a.wolf-product-card__button:active { display:flex; width:100%; min-height:44px; align-items:center; justify-content:center; gap:7px; margin-top:auto; padding:9px 12px; border-radius:999px; background:#0b2545; color:#FFFFFF !important; font-size:.8rem; font-weight:600; line-height:1.2; text-align:center; text-decoration:none; transition:background-color .2s ease,color .2s ease,transform .2s ease; }
a.wolf-product-card__button:hover,a.wolf-product-card__button:focus-visible,.woocommerce ul.products li.product a.wolf-product-card__button:hover,.woocommerce ul.products li.product a.wolf-product-card__button:focus-visible,.woocommerce-page ul.products li.product a.wolf-product-card__button:hover,.woocommerce-page ul.products li.product a.wolf-product-card__button:focus-visible { transform:translateY(-1px); background:#0b2545; }
a.wolf-product-card__button:link *,a.wolf-product-card__button:visited *,a.wolf-product-card__button:hover *,a.wolf-product-card__button:focus *,a.wolf-product-card__button:active *,a.wolf-product-card__button:link::before,a.wolf-product-card__button:visited::before,a.wolf-product-card__button:hover::before,a.wolf-product-card__button:focus::before,a.wolf-product-card__button:active::before,.woocommerce ul.products li.product a.wolf-product-card__button:link *, .woocommerce ul.products li.product a.wolf-product-card__button:visited *, .woocommerce ul.products li.product a.wolf-product-card__button:hover *, .woocommerce ul.products li.product a.wolf-product-card__button:focus *, .woocommerce ul.products li.product a.wolf-product-card__button:active *, .woocommerce-page ul.products li.product a.wolf-product-card__button:link *, .woocommerce-page ul.products li.product a.wolf-product-card__button:visited *, .woocommerce-page ul.products li.product a.wolf-product-card__button:hover *, .woocommerce-page ul.products li.product a.wolf-product-card__button:focus *, .woocommerce-page ul.products li.product a.wolf-product-card__button:active * { color:#FFFFFF !important; }
.wolf-product-card__image-link:focus-visible,.wolf-product-card__title a:focus-visible,.wolf-product-card__button:focus-visible { outline:2px solid #00cfff; outline-offset:-3px; }

/* Normalize WooCommerce's float-based product lists into responsive grids. */
.woocommerce ul.products[class*="columns-"],.woocommerce-page ul.products[class*="columns-"],.woocommerce ul.products,.woocommerce-page ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:24px; margin:0; padding:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after { display:none!important; content:none!important; }
.woocommerce ul.products[class*="columns-"] li.product,.woocommerce-page ul.products[class*="columns-"] li.product,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product { float:none; width:auto; min-width:0; height:100%; margin:0; padding:0; overflow:visible; border:0; border-radius:0; background:transparent; }
.woocommerce ul.products li.product .wolf-product-card,.woocommerce-page ul.products li.product .wolf-product-card { width:100%; }
.new-arrivals__grid,.collection-products__grid { grid-auto-rows:1fr; align-items:stretch; }
.new-arrivals__card { border-color:#e5e7eb; border-radius:16px; }
.new-arrivals__card .wolf-product-card__media { border-radius:0; }
.new-arrivals__card .wolf-product-card__image-link img.wolf-product-card__image { object-fit:contain; }
.collection-showcase__track .calots-showcase__card { flex:0 0 calc((100% - 32px) / 3); min-width:0; border:1px solid #e5e7eb; border-radius:16px; }
.collection-showcase__track .calots-showcase__card .wolf-product-card__media { aspect-ratio:4 / 5; }

@media (max-width:1024px) {
	.woocommerce ul.products[class*="columns-"],.woocommerce-page ul.products[class*="columns-"],.woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
	.new-arrivals__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.collection-showcase__track .calots-showcase__card { flex-basis:calc((100% - 16px) / 2); }
}
@media (max-width:680px) {
	.woocommerce ul.products[class*="columns-"],.woocommerce-page ul.products[class*="columns-"],.woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
	.new-arrivals__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
	.wolf-product-card { border-radius:13px; }
	.wolf-product-card__body { padding:10px; }
	.wolf-product-card__title { font-size:.78rem; }
	.wolf-product-card__price { font-size:.82rem; }
	.wolf-product-card__button { min-height:40px; padding-inline:8px; font-size:.72rem; }
	.wolf-product-card__sale { top:8px; left:8px; padding:5px 7px; font-size:.56rem; }
	.collection-showcase__track .calots-showcase__card { flex-basis:calc((100% - 12px) / 2); }
}
@media (prefers-reduced-motion:reduce) { .wolf-product-card,.wolf-product-card__button { transition-duration:.01ms; } }
