/* Shared compact cards with adjacent quote and cart icons in the price band. */
.woocommerce ul.products li.product.aviz-card { float: none; width: auto; margin: 0; }
.aviz-card .aviz-card-visual { position: relative; flex: 0 0 auto; width: 100%; }
.aviz-card .aviz-card-controls { position: absolute; top: 8px; right: 8px; z-index: 2; display: flex; align-items: flex-start; gap: 6px; }
.aviz-card .aviz-card-stepper { display: flex; flex-direction: column; align-items: center; width: 38px; padding: 4px 0; border: 2px solid #171716; border-radius: 24px; background: #fffdf8; color: #171716; box-shadow: 0 2px 8px rgb(23 23 22 / 10%); }
.aviz-card .aviz-card-stepper[hidden] { display: none; }
.aviz-card .aviz-card-stepper[data-aviz-card-quantity="quote"] { border-color: #b7341e; color: #9c301e; background: #fff4ec; }
.aviz-card .aviz-card-stepper-label { padding-top: 3px; font-size: 9px; font-weight: 700; line-height: 1.3; }
.aviz-card .aviz-card-stepper button { display: grid; place-items: center; width: 34px; height: 34px; min-height: 34px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; font: 700 21px/1 "DM Sans", sans-serif; cursor: pointer; }
.aviz-card .aviz-card-stepper button:hover { background: #efebe4; }
.aviz-card .aviz-card-stepper button:disabled { opacity: .4; cursor: wait; }
.aviz-card .aviz-card-quantity { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 2px; border-radius: 50%; background: #efebe4; color: #171716; font-size: 11px; font-weight: 700; }
.aviz-card .aviz-card-trash { width: 15px; height: 15px; }
.aviz-card .aviz-card-stepper:not(.is-qty-one) .aviz-card-trash, .aviz-card .is-qty-one .aviz-card-minus { display: none; }
.wc-block-grid .wc-block-grid__products { display: grid; grid-template-columns: repeat(var(--aviz-card-columns, 4), minmax(0, 1fr)); align-items: stretch; gap: 20px; margin: 0; padding: 0; list-style: none; }
.wc-block-grid.has-1-columns { --aviz-card-columns: 1; }
.wc-block-grid.has-2-columns { --aviz-card-columns: 2; }
.wc-block-grid.has-3-columns { --aviz-card-columns: 3; }
.wc-block-grid.has-5-columns { --aviz-card-columns: 5; }
.wc-block-grid.has-6-columns { --aviz-card-columns: 6; }
.wc-block-grid .wc-block-grid__products > .wc-block-grid__product.aviz-card { width: 100%; max-width: none; margin: 0; text-align: left; }
.woocommerce ul.products[class*="columns-"] li.product.aviz-card { margin: 0; }
.aviz-catalog ul.products li.product.aviz-card { width: auto; }
.aviz-card.is-in-cart .aviz-card-actions > .ajax_add_to_cart { display: none !important; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card {
	--card-ink: #171716;
	--card-muted: #6f6b64;
	--card-line: #ded8ce;
	--card-accent: #b7341e;
	display: flex;
	flex-direction: column;
	position: relative;
	min-width: 0;
	padding: 0;
	border: 1px solid var(--card-line);
	border-radius: 8px;
	background: #fffdf8;
	color: var(--card-ink);
	overflow: hidden;
	font-family: "DM Sans", sans-serif;
	transition: box-shadow .18s, border-color .18s;
}
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card:hover { border-color: #bbb1a3; box-shadow: 0 4px 16px rgb(23 23 22 / 9%); }
.aviz-card *, .aviz-card *::before, .aviz-card *::after { box-sizing: border-box; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card .aviz-card-media { display: block; position: relative; flex: 0 0 auto; height: auto; width: 100%; aspect-ratio: 1; overflow: hidden; background: #efebe4; text-decoration: none; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card .aviz-card-media img { display: block; width: 100%; height: 100%; margin: 0; padding: 0; object-fit: contain; border-radius: 0; }
.aviz-card .aviz-card-discount { position: absolute; top: 8px; left: 8px; padding: 3px 7px; border-radius: 4px; background: #ed4b2f; color: #171716; font-size: 11px; font-weight: 700; }
.aviz-card .aviz-card-body { display: flex; flex-direction: column; flex: 1; gap: 6px; padding: 10px; }
.aviz-card .aviz-card-brand { color: var(--card-accent); font-size: 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card .aviz-card-title { margin: 0; padding: 0; font-family: inherit; font-size: 13px; font-weight: 400; line-height: 1.4; min-height: 2.8em; letter-spacing: 0; }
.aviz-card .aviz-card-title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: inherit; text-decoration: none; }
.aviz-card .aviz-card-title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.aviz-card .aviz-card-sku { font-size: 10px; color: var(--card-muted); overflow-wrap: anywhere; }
.aviz-card .aviz-card-rating { display: flex; align-items: center; gap: 5px; color: var(--card-muted); font-size: 11px; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card .aviz-card-rating .star-rating { float: none; margin: 0; color: #b7341e; font-size: 11px; }
.aviz-card .aviz-card-price-row { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 65px; padding: 9px 10px; border-top: 1px solid var(--card-line); background: #f7f3ec; }
.aviz-card .aviz-card-price { flex: 1; min-width: 0; font-size: 17px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.aviz-card .aviz-card-price del { display: block; font-size: 11px; font-weight: 400; color: var(--card-muted); }
.aviz-card .aviz-card-price ins { background: none; color: var(--card-accent); text-decoration: none; }
.aviz-card .aviz-card-price .woocommerce-Price-currencySymbol { font-size: .75em; }
.aviz-card .aviz-card-price .aviz-unpriced { display: block; font-size: 12px; font-weight: 500; }
.aviz-card .aviz-card-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 2px; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card .aviz-card-actions > :is(.button, .aviz-card-quote-action) { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: auto; min-width: 32px; max-width: 60px; min-height: 40px; margin: 0; padding: 4px; border: 0; border-radius: 5px; background: transparent; color: var(--card-ink); font: 600 10px/1.4 "DM Sans", sans-serif; text-align: center; text-decoration: none; cursor: pointer; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card .aviz-card-actions > :is(.button, .aviz-card-quote-action):hover { background: #e8e1d6; color: var(--card-accent); }
.aviz-card .aviz-card-actions > .button svg { width: 24px; height: 24px; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card .aviz-card-actions .aviz-card-quote-icon { display: block; flex: none; width: 24px; height: 24px; max-width: none; margin: 0; object-fit: contain; }
:is(.aviz-home, .woocommerce, .wc-block-grid, .wc-block-product-template) .aviz-card.aviz-card .aviz-card-actions > :is(.button, .aviz-card-quote-action)::after { display: none; }
.aviz-card .aviz-card-actions > .button.loading { opacity: .45; pointer-events: none; }
.aviz-card .aviz-card-actions > .button.added { background: #e7eddf; color: #38522a; }
.aviz-card .aviz-card-actions > .added_to_cart { display: none; }
.aviz-card .aviz-card-actions > .aviz-card-quote-action:disabled { opacity: .5; cursor: wait; }
.aviz-card.is-in-quote .aviz-card-actions > .aviz-card-quote-action:disabled { background: #f9e8dd; opacity: 1; cursor: default; }
.aviz-card :is(a, button):focus-visible { outline: 2px solid #b7341e; outline-offset: -3px; }
@media (max-width: 767px) {
	.wc-block-grid .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
	.wc-block-grid.has-1-columns .wc-block-grid__products { grid-template-columns: minmax(0, 1fr); }
	.aviz-card .aviz-card-price { font-size: 15px; }
	.aviz-card .aviz-card-price-row { gap: 4px; padding-right: 6px; }
}
@media (prefers-reduced-motion: reduce) {
	.aviz-card { transition: none !important; }
}
