/*ARCHIVE PAGE STYLING*/
      /**
       * Allping: reduce the desktop gap between the product archive sidebar and
       * the catalog content.
       *
       * Install in Appearance > Customize > Additional CSS, or as a CSS snippet
       * in WPCode. The rule is limited to WooCommerce archive pages and desktop /
       * tablet widths where the sidebar remains beside the catalog.
       */
      @media (min-width: 1025px) {
				body.woocommerce.archive .content-container.site-container {
					column-gap: 24px;
				}

				/* Give desktop grid cards more breathing room and reduce the column/row gap. */
				body.woocommerce.archive ul.products:not(.products-list-view) {
					column-gap: 19px;
					row-gap: 24px;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product {
					padding: 12px 8px;
				}

				/* Use the mobile card structure on desktop while keeping desktop sizing. */
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .product-details {
					display: grid;
					grid-template-columns: minmax(0, 1fr) auto;
					grid-template-rows: 36px auto auto auto;
					padding-top: 6px;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title {
					grid-column: 1 / -1;
					grid-row: 2;
					width: 100%;
					text-align: center;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price {
					grid-column: 1 / -1;
					grid-row: 3;
					align-self: center;
					justify-self: center;
					width: 100%;
					padding-right: 0;
					text-align: left;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .star-rating {
					grid-column: 1;
					grid-row: 1;
					align-self: center;
					justify-self: start;
					float: none;
					margin: 0 0 2px;
				}

				/* Put the Perfect Brands logo beside the rating instead of in the
				 * automatic next grid row, where its thumbnail would expand to card width. */
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop {
					grid-column: 2;
					grid-row: 1;
					display: flex;
					align-items: flex-start;
					justify-content: flex-end;
					align-self: center;
					justify-self: end;
					width: auto;
					min-width: 0;
					height: 36px;
					margin: 0;
					padding: 0;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop > span,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop > span > a {
					display: flex;
					align-items: center;
					justify-content: flex-end;
					width: auto;
					max-width: 100%;
					height: 100%;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop img {
					display: block;
					width: 72px !important;
					height: 36px !important;
					max-width: 100%;
					object-fit: cover;
					object-position: center;
				}

      }

      /* Keep the sorting control below the sticky header. */
      body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering {
				position: relative;
				z-index: 0 !important;
      }

      /* Hide the native sorting control while the mobile menu is open. */
      body.woocommerce.archive.kb-modal-open .kadence-woo-ordering {
				visibility: hidden;
				pointer-events: none;
      }

      /* Compact the product-archive filter column as the filter catalog grows. */
      body.woocommerce.archive aside#secondary .plugincy-filter-group {
				padding-top: 0;
				padding-bottom: 0;
      }

      /* Contain the desktop filters in one subtle rounded panel. */
      @media (min-width: 1025px) {
				body.woocommerce.archive aside#secondary {
					box-sizing: border-box;
					border: 1px solid rgba(15, 23, 42, 0.08);
					border-radius: 6px;
				}

				body.woocommerce.archive aside#secondary .allping-archive-filter-heading {
					box-sizing: border-box;
					padding-left: 10px;
					padding-right: 10px;
				}
      }

      /* Give archive products a subtle card treatment. */
    body.woocommerce.archive ul.products li.product {
			box-sizing: border-box;
			position: relative;
			background: #fff;
			border-radius: 6px;
			border: 1px solid rgba(15, 23, 42, 0.08);
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
			overflow: hidden;
    }

    /* Let the complete product card contain and clip the offer ribbon. */
    body.woocommerce.archive ul.products li.product > a.woocommerce-loop-image-link {
			position: static !important;
			overflow: visible;
    }

    /* Present the offer badge as a diagonal ribbon anchored to the card. */
    body.woocommerce.archive ul.products li.product > a.woocommerce-loop-image-link > span.onsale {
			top: 10px !important;
			left: -48px !important;
			right: auto !important;
			bottom: auto !important;
			margin: 0 !important;
			box-sizing: border-box;
			z-index: 10 !important;
			padding: 8px 45px;
			background-color: #D31027 !important;
			background-image: linear-gradient(to right, #D31027 0%, #EA384D 51%, #D31027 100%) !important;
			background-size: 200% auto !important;
			background-position: left center !important;
			color: #ffffff !important;
			font-size: 12px;
			font-weight: 700;
			line-height: 1.2;
			text-align: center;
			text-transform: none;
			letter-spacing: 1px;
			white-space: nowrap;
			border-radius: 0;
			box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
			transform-origin: center;
			transform: rotate(-45deg);
    }

    /* Standardize non-list product-card typography across the storefront. */
      body.woocommerce ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title {
				font-weight: 500;
      }

      body.woocommerce ul.products:not(.products-list-view) li.product .price {
				font-size: 16px;
				line-height: 24px;
      }

      /* Increase archive-card rating stars by 2px without changing their layout. */
      body.woocommerce.archive ul.products li.product .star-rating {
				font-size: calc(0.85em + 2px) !important;
				line-height: 1 !important;
      }

      /* Add a small separation between the currency symbol and the amount. */
      body.woocommerce.archive ul.products li.product .price .woocommerce-Price-currencySymbol {
				display: inline-block;
				margin-right: 2px;
      }

      body.woocommerce ul.products:not(.products-list-view) li.product .price > .woocommerce-Price-amount,
      body.woocommerce ul.products:not(.products-list-view) li.product .price > .woocommerce-Price-amount bdi,
      body.woocommerce ul.products:not(.products-list-view) li.product .price ins,
      body.woocommerce ul.products:not(.products-list-view) li.product .price ins .woocommerce-Price-amount,
      body.woocommerce ul.products:not(.products-list-view) li.product .price ins .woocommerce-Price-amount bdi {
				font-weight: 700;
      }

      body.woocommerce ul.products:not(.products-list-view) li.product .price del,
      body.woocommerce ul.products:not(.products-list-view) li.product .price del .woocommerce-Price-amount,
      body.woocommerce ul.products:not(.products-list-view) li.product .price del .woocommerce-Price-amount bdi,
      body.woocommerce ul.products:not(.products-list-view) li.product .price .woocommerce-price-suffix {
				font-weight: 400;
      }

      /* Keep list-mode archive cards focused on the essential product information. */
      body.woocommerce.archive ul.products.products-list-view li.product .product-excerpt {
				display: none !important;
      }

      /* Keep archive cards free of add-to-cart controls. Product-page purchase
       * buttons remain available because this rule is limited to archive cards. */
      body.woocommerce.archive ul.products li.product .product-action-wrap {
				display: none !important;
      }

      @media (min-width: 768px) {
				body.woocommerce ul.products:not(.products-list-view) li.product .price {
					font-size: 17px;
					line-height: 26px;
				}
      }

      /* Tighten the archive title and product-title typography. */
      @media (min-width: 1025px) {
				body.woocommerce.archive h1.page-title.archive-title {
					font-size: 28px;
					line-height: 36px;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) .woocommerce-loop-product__title {
					font-size: 16px;
					line-height: 19px;
					font-weight: 500 !important;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .product-details,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price *,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .onsale {
					font-family: Inter, sans-serif;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title a,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price * {
					color: #000000 !important;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title:hover a {
					color: #0064D2 !important;
					background-image: none !important;
					background-clip: border-box;
					-webkit-background-clip: border-box;
					-webkit-text-fill-color: #0064D2 !important;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price {
					font-family: Inter, sans-serif;
					font-size: 23px;
					line-height: 30px;
					margin-bottom: 5px !important;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price .woocommerce-price-suffix {
					font-size: 13px;
					color: #000000 !important;
					opacity: 0.75;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price > .woocommerce-Price-amount,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price > .woocommerce-Price-amount bdi,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price ins,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price ins .woocommerce-Price-amount,
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price ins .woocommerce-Price-amount bdi {
					font-weight: 600;
				}

				/* Keep the currency symbol lighter than the numeric amount. */
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price .woocommerce-Price-currencySymbol {
					font-weight: 300;
				}

				/* Present the decimal part as a smaller raised value. */
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price .allping-price-decimals {
					display: inline-block;
					font-size: 55%;
					font-weight: inherit;
					line-height: 1;
					vertical-align: super;
				}

				/* Place the list-view price beside the rating, above the excerpt. */
				body.woocommerce.archive .products-list-view li.product .product-details > .star-rating,
				body.woocommerce.archive .products-list-view li.product .product-details > .price {
					display: inline-block;
					vertical-align: middle;
					margin-top: 4px;
					margin-bottom: 4px;
				}

				body.woocommerce.archive .products-list-view li.product .product-details > .star-rating {
					margin-right: 0;
				}

				body.woocommerce.archive .products-list-view li.product .product-details > .price {
					margin-left: 12px;
				}

				/* Make the remaining list-view product details more compact. */
				body.woocommerce.archive .products-list-view li.product .product-details {
					padding-left: 16px;
				}

				body.woocommerce.archive .products-list-view li.product .woocommerce-loop-product__title {
					font-size: 19px;
					line-height: 28px;
					padding-top: 4px;
					padding-bottom: 4px;
				}

				body.woocommerce.archive .products-list-view li.product .product-excerpt {
					font-size: 13px;
					line-height: 18px;
				}

      }

      /* Title added by allping-product-archive-filter-labels.js. */
      body.woocommerce.archive aside#secondary .allping-archive-filter-heading {
				box-sizing: border-box;
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 12px;
				font-family: Inter, sans-serif;
				font-size: 16px;
				font-weight: 600;
				line-height: 22px;
				color: #0f172a;
				/* Align the heading text with the filter content's existing 10px inset. */
				padding: 0 10px 8px;
				margin: 0;
				border-bottom: 1px solid #d1d5db;
      }

      /* Keep the heading compact and remove the separator from beneath it. */
      body.woocommerce.archive aside#secondary .plugincy-filter-group .plugincy_title {
				box-sizing: border-box;
				font-family: Inter, sans-serif;
				font-size: 15px;
				font-weight: 500;
				line-height: 22px;
				padding-top: 6px;
				padding-bottom: 5px;
				border: 0;
      }

      /* Put the divider after the complete option list. */
      body.woocommerce.archive aside#secondary .plugincy-filter-group > .items {
				box-sizing: border-box;
				margin: 0;
				padding-top: 6px;
				padding-bottom: 8px;
				border-top: 0;
				border-right: 0;
				border-bottom: 1px solid #d1d5db;
				border-left: 0;
      }

      /* Match brand-tile outlines to the archive filter separators. */
      body.woocommerce.archive section#block-68 #brands > .items.image .image-option {
				box-sizing: border-box;
				border: 1px solid #d1d5db;
      }

      /* Use the site's UI font instead of the filter plugin's Open Sans default. */
      body.woocommerce.archive aside#secondary .plugincy-filter-group .items label,
      body.woocommerce.archive aside#secondary .plugincy-filter-group .items .option_title {
				font-family: Inter, sans-serif;
				font-size: 14px;
				font-weight: 400;
				line-height: 20px;
				margin-bottom: 3px;
      }

      /* Keep the final visible option from adding unnecessary trailing space. */
      body.woocommerce.archive aside#secondary .plugincy-filter-group .items label:last-child,
      body.woocommerce.archive aside#secondary .plugincy-filter-group .items .option_title:last-child {
				margin-bottom: 0;
      }

      @media (max-width: 1024px) {
				body.woocommerce.archive aside#secondary .plugincy-filter-group .plugincy_title {
					padding-top: 7px;
					padding-bottom: 5px;
				}

				body.woocommerce.archive aside#secondary .plugincy-filter-group > .items {
					padding-top: 6px;
					padding-bottom: 8px;
				}
      }

      /* Compact the mobile archive controls without changing filter behavior. */
      @media (max-width: 767px) {
				body.woocommerce.archive aside#secondary .allping-archive-filter-heading {
					display: none !important;
					font-size: 14px;
					line-height: 18px;
					font-weight: 400;
					padding: 2px 0 2px 5px;
				}

				body.woocommerce.archive h1.page-title.archive-title {
					font-size: 24px;
					line-height: 30px;
				}

				body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering .orderby {
					font-size: 14px;
					font-weight: 400;
					line-height: 20px;
				}

				/* Align the mobile sorting control to the right side of its row. */
				body.woocommerce.archive .kadence-shop-top-row .kadence-woo-ordering {
					margin-left: auto;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) .woocommerce-loop-product__title {
					font-size: 13px;
					line-height: 21px;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price {
					font-size: 16px;
					line-height: 24px;
				}

				/* Place mobile grid ratings between the image and product title. */
				body.woocommerce.archive ul.products:not(.products-list-view) li.product .product-details {
					display: flex;
					flex-direction: column;
					padding-top: 2px !important;
				}

				/* Add a tiny horizontal inset inside mobile grid cards. */
				body.woocommerce.archive ul.products:not(.products-list-view) li.product {
					padding-top: 6px;
					padding-bottom: 6px;
					padding-left: 2px;
					padding-right: 2px;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .star-rating {
					order: 1;
					align-self: flex-end;
					float: none;
					margin-top: 0;
					margin-bottom: 0;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title {
					order: 2;
					padding-top: 2px;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price {
					order: 3;
					padding-right: 0;
					text-align: center;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .product-excerpt {
					order: 4;
				}

				body.woocommerce.archive .content-area {
					margin-top: 12px;
				}

				body.woocommerce.archive aside#secondary {
					padding-top: 0;
					padding-bottom: 0 !important;
					margin-bottom: 8px !important;
				}

				/* Compact the filter labels without changing the reset button styling. */
				body.woocommerce.archive aside#secondary .plugincy-filter-group .plugincy_title {
					font-size: 14px;
					line-height: 20px;
					padding-top: 4px;
					padding-bottom: 4px;
				}

				/* Match the visible mobile filter-bar labels without changing Reiniciar. */
				body.woocommerce.archive section#block-68 .plugincy_title {
					font-size: 14px !important;
					font-weight: 400 !important;
					line-height: 20px !important;
				}

				/* Tighten the horizontal spacing between mobile filter groups. */
				body.woocommerce.archive section#block-68 #product-filter {
					gap: 7px;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group {
					padding-left: 5px;
					padding-right: 5px;
				}

				/* Keep each arrow close to its label instead of pushing it away. */
				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group:not(#brands) .plugincy_title {
					justify-content: flex-start;
					gap: 4px;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group:not(#brands) .plugincy_title .rotatable {
					margin-left: 0 !important;
				}

				/* Remove the theme/plugin spacer between the filter bar and sorting row. */
				body.woocommerce.archive section#block-68 {
					margin-bottom: 0 !important;
				}

				/* Remove only the plugin's visual "Filter" tab. */
				body.woocommerce.archive section#block-68 #product-filter::before {
					content: none !important;
					display: none !important;
				}

				/* Reclaim the space reserved for that tab while keeping the options scrollable. */
				body.woocommerce.archive section#block-68 #product-filter {
					width: 100% !important;
					height: 34px !important;
					min-height: 34px !important;
					margin-left: 0 !important;
					margin-bottom: 0 !important;
					padding: 2px 0;
					box-sizing: border-box;
					border-bottom: 1px solid #d1d5db;
					overflow-x: auto;
					overflow-y: hidden;
					scrollbar-width: none;
					-ms-overflow-style: none;
				}

				body.woocommerce.archive section#block-68 #product-filter::-webkit-scrollbar {
					display: none;
				}

				/* Make the mobile brand panel smaller and fit five logos per row. */
				body.woocommerce.archive section#block-68 #brands > .items.image {
					top: 34px !important;
					padding-top: 0;
					padding-bottom: 4px;
				}

				body.woocommerce.archive section#block-68 #brands > .items.image .plugincy-terms-layout-horizontal {
					grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
					gap: 6px !important;
				}

				body.woocommerce.archive section#block-68 #brands > .items.image .image-option {
					min-width: 0;
				}

				/* Align the checkbox/select panels with the filter bar too. */
				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group:not(#brands) > .items {
					top: 34px !important;
				}

				body.woocommerce.archive .kadence-shop-top-row {
					padding-bottom: 16px;
				}
      }

      /*
       * Tablet archive cards: use the compact mobile hierarchy with roomier
       * tablet spacing and type. This range deliberately excludes mobile, desktop,
       * and the desktop list view.
       */
      @media (min-width: 768px) and (max-width: 1024px) {
				body.woocommerce.archive .content-area {
					margin-top: 20px;
					margin-bottom: 20px;
				}

				body.woocommerce.archive aside#secondary {
					padding-top: 0;
					padding-bottom: 0 !important;
					margin-bottom: 8px !important;
				}

				body.woocommerce.archive aside#secondary .allping-archive-filter-heading {
					display: none !important;
					font-size: 15px;
					line-height: 20px;
					font-weight: 400;
					padding: 4px 0 4px 6px;
				}

				/* Keep the filter controls in one compact, scrollable row. */
				body.woocommerce.archive section#block-68 {
					margin-bottom: 0 !important;
				}

				body.woocommerce.archive section#block-68 #product-filter::before {
					content: none !important;
					display: none !important;
				}

				body.woocommerce.archive section#block-68 #product-filter {
					width: 100% !important;
					height: 38px !important;
					min-height: 38px !important;
					margin-left: 0 !important;
					margin-bottom: 0 !important;
					padding: 4px 0;
					box-sizing: border-box;
					gap: 8px;
					border-bottom: 1px solid #d1d5db;
					overflow-x: auto;
					overflow-y: hidden;
					scrollbar-width: none;
					-ms-overflow-style: none;
				}

				body.woocommerce.archive section#block-68 #product-filter::-webkit-scrollbar {
					display: none;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group {
					padding-left: 6px;
					padding-right: 6px;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group .plugincy_title {
					font-size: 15px !important;
					font-weight: 400 !important;
					line-height: 22px !important;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group:not(#brands) .plugincy_title {
					justify-content: flex-start;
					gap: 5px;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group:not(#brands) .plugincy_title .rotatable {
					margin-left: 0 !important;
				}

				body.woocommerce.archive section#block-68 #brands > .items.image {
					top: 38px !important;
				}

				/* Keep tablet brand tiles at six columns instead of expanding to three huge ones. */
				body.woocommerce.archive section#block-68 #brands > .items.image .plugincy-terms-layout-horizontal {
					grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
					gap: 8px !important;
				}

				body.woocommerce.archive section#block-68 #brands > .items.image .image-option {
					min-width: 0;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group:not(#brands) > .items {
					top: 38px !important;
				}

				/* Reduce the empty space before the catalog while keeping sorting on the right. */
				body.woocommerce.archive .kadence-shop-top-row {
					padding-bottom: 14px;
				}

				body.woocommerce.archive .kadence-shop-top-row .kadence-woo-ordering {
					margin-left: auto;
				}

				/* Tablet cards use image → stars → title → price → native action. */
				body.woocommerce.archive ul.products:not(.products-list-view) {
					gap: 12px;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product {
					padding: 10px 6px;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .product-details {
					display: flex;
					flex-direction: column;
					padding-top: 4px !important;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .star-rating {
					order: 1;
					align-self: center;
					float: none;
					margin: 0 auto;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title {
					order: 2;
					width: 100%;
					font-size: 15px;
					line-height: 22px;
					padding-top: 3px;
					padding-bottom: 8px;
					text-align: center;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .price {
					order: 3;
					width: 100%;
					padding-right: 0;
					text-align: center;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .product-excerpt {
					order: 4;
				}

				/* Tablet list view: compact the desktop-style image/details presentation. */
				body.woocommerce.archive ul.products.products-list-view {
					gap: 24px;
				}

				body.woocommerce.archive ul.products.products-list-view li.product {
					padding: 8px 6px;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .product-details {
					padding-left: 16px;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title {
					font-size: 19px;
					line-height: 28px;
					padding-top: 4px;
					padding-bottom: 4px;
				}

				/* Keep rating and price together above the excerpt, like desktop list view. */
				body.woocommerce.archive ul.products.products-list-view li.product .product-details > .star-rating,
				body.woocommerce.archive ul.products.products-list-view li.product .product-details > .price {
					display: inline-block;
					vertical-align: middle;
					margin-top: 4px;
					margin-bottom: 4px;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .product-details > .star-rating {
					margin-right: 0;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .product-details > .price {
					font-size: 16px;
					line-height: 24px;
					margin-left: 12px;
					padding-right: 0;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .price > .woocommerce-Price-amount,
				body.woocommerce.archive ul.products.products-list-view li.product .price > .woocommerce-Price-amount bdi,
				body.woocommerce.archive ul.products.products-list-view li.product .price ins,
				body.woocommerce.archive ul.products.products-list-view li.product .price ins .woocommerce-Price-amount,
				body.woocommerce.archive ul.products.products-list-view li.product .price ins .woocommerce-Price-amount bdi {
					font-weight: 700;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .price del,
				body.woocommerce.archive ul.products.products-list-view li.product .price del .woocommerce-Price-amount,
				body.woocommerce.archive ul.products.products-list-view li.product .price del .woocommerce-Price-amount bdi,
				body.woocommerce.archive ul.products.products-list-view li.product .price .woocommerce-price-suffix {
					font-weight: 400;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .product-excerpt {
					font-size: 14px;
					line-height: 20px;
				}

      }

      /* Give grid-card images a full-width canvas while keeping the card edges
       * flush. The image canvas owns its vertical padding, so the space above and
       * below a transparent image is gray instead of becoming a white strip. */
      body.woocommerce ul.products:not(.products-list-view) li.product {
				padding-top: 0 !important;
				padding-bottom: 0 !important;
				padding-left: 0 !important;
				padding-right: 0 !important;
				overflow: hidden;
				/* Match the normal card shadow used by list view. */
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
      }

      body.woocommerce ul.products:not(.products-list-view) li.product > a.woocommerce-loop-image-link {
				box-sizing: border-box;
				display: block;
				width: 100%;
				padding-top: 10px;
				padding-bottom: 10px;
				margin: 0;
				background: #F7F7F7;
      }

      /* Slightly intensify the card shadow on real hover devices. */
      @media (hover: hover) and (pointer: fine) {
				body.woocommerce.archive ul.products li.product {
					transition: box-shadow 0.2s ease;
				}

    body.woocommerce.archive ul.products li.product:hover {
				box-shadow: 0 5px 15px rgba(15, 23, 42, 0.20);
			}
    }

    body.woocommerce ul.products:not(.products-list-view) li.product > a.woocommerce-loop-image-link > img {
				display: block;
				width: 100%;
				height: auto;
				background: transparent;
      }

      /* Give list-view images the same gray canvas as grid-view images without
       * changing the list layout, column widths, or its existing spacing. Mobile
       * already has its own full-height image canvas above, so this block starts at
       * tablet width. */
      @media (min-width: 576px) {
				body.woocommerce.archive ul.products.products-list-view li.product > a.woocommerce-loop-image-link {
					box-sizing: border-box;
					display: block;
					width: 100%;
					background: #F7F7F7;
				}

				/* Extend the image canvas through the full height of each list card. The
				 * first color follows the native desktop/tablet image column; the details
				 * column remains white. */
				body.woocommerce.archive ul.products.products-list-view li.product {
					background: linear-gradient(
						to right,
						#F7F7F7 0,
						#F7F7F7 33.3333%,
						#FFFFFF 33.3333%,
						#FFFFFF 100%
					);
				}
      }

      body.woocommerce ul.products:not(.products-list-view) li.product > .product-details {
				box-sizing: border-box;
				padding: 10px 8px !important;
      }

      @media (min-width: 768px) and (max-width: 1024px) {
				body.woocommerce ul.products:not(.products-list-view) li.product > .product-details {
					padding: 10px !important;
				}
      }

      @media (max-width: 767px) {
				body.woocommerce ul.products:not(.products-list-view) li.product > .product-details {
					padding: 10px 8px !important;
				}
      }

      /* Align grid product titles to the left consistently across archive card layouts. */
      body.woocommerce.archive ul.products:not(.products-list-view) .woocommerce-loop-product__title,
      body.woocommerce.archive ul.products:not(.products-list-view) .woocommerce-loop-product__title a {
				text-align: left !important;
      }

      /* Standardize the archive hero: breadcrumb first, then a calm page title. */
      body.woocommerce.archive section.entry-hero.product-archive-hero-section,
      body.woocommerce.archive section.entry-hero.product-archive-hero-section > .entry-hero-container-inner {
				background: #E0F2FE;
				background: linear-gradient(135deg, #E0F2FE 0%, #EDE9FE 100%);
      }

      body.woocommerce.archive section.entry-hero.product-archive-hero-section .hero-container.site-container {
				box-sizing: border-box;
				padding: 8px 16px;
      }

      body.woocommerce.archive section.entry-hero.product-archive-hero-section .kadence-breadcrumbs {
				margin: 0 0 4px !important;
				margin-block: 0 4px !important;
				font-size: 15px;
				line-height: 20px;
      }

      body.woocommerce.archive section.entry-hero.product-archive-hero-section .rank-math-breadcrumb,
      body.woocommerce.archive section.entry-hero.product-archive-hero-section .rank-math-breadcrumb p,
      body.woocommerce.archive section.entry-hero.product-archive-hero-section .rank-math-breadcrumb a,
      body.woocommerce.archive section.entry-hero.product-archive-hero-section .rank-math-breadcrumb .separator,
      body.woocommerce.archive section.entry-hero.product-archive-hero-section .rank-math-breadcrumb .last {
				margin: 0 !important;
				padding: 0 !important;
				font-size: inherit !important;
				line-height: inherit !important;
				font-weight: 400 !important;
      }

      body.woocommerce.archive section.entry-hero.product-archive-hero-section .entry-header {
				margin: 0 !important;
				padding: 0 !important;
      }

      body.woocommerce.archive section.entry-hero.product-archive-hero-section h1.page-title.archive-title {
				margin: 0 !important;
				padding: 0 !important;
				font-size: 27px;
				line-height: 35px;
				font-weight: 700;
				text-align: left;
      }

      /* Keep tablet larger than mobile without inheriting the theme's oversized title. */
      @media (min-width: 768px) and (max-width: 1024px) {
				body.woocommerce.archive .content-area {
					margin-top: 16px;
				}

				body.woocommerce.archive section.entry-hero.product-archive-hero-section .hero-container.site-container {
					padding: 8px 16px;
				}

				body.woocommerce.archive section.entry-hero.product-archive-hero-section .kadence-breadcrumbs {
					font-size: 14.5px;
					line-height: 19px;
				}

				body.woocommerce.archive section.entry-hero.product-archive-hero-section h1.page-title.archive-title {
					font-size: 23px;
					line-height: 31px;
				}
      }

      /* Preserve the compact, nearly full-width mobile presentation. */
      @media (max-width: 767px) {
				body.woocommerce.archive section.entry-hero.product-archive-hero-section .hero-container.site-container {
					padding: 4px 16px;
				}

				body.woocommerce.archive section.entry-hero.product-archive-hero-section .kadence-breadcrumbs {
					margin: 0 0 4px !important;
					margin-block: 0 4px !important;
					font-size: 14px;
					line-height: 18px;
				}

				body.woocommerce.archive section.entry-hero.product-archive-hero-section h1.page-title.archive-title {
					font-size: 21px;
					line-height: 27px;
				}
      }

      /* Responsive filter pills: stronger outlines, with the lighter grey kept for the divider. */
      @media (max-width: 1024px) {
				body.woocommerce.archive section#block-68 #product-filter {
					align-items: center;
					border-bottom-color: #d1d5db;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group {
					flex: 0 0 auto;
					width: auto;
					padding-left: 0;
					padding-right: 0;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group > .plugincy_title {
					box-sizing: border-box;
					display: inline-flex;
					align-items: center;
					justify-content: flex-start;
					width: max-content;
					min-width: max-content;
					margin: 0;
					border: 1px solid #9ca3af;
					border-radius: 6px;
					background: #fff;
					white-space: nowrap;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group > .plugincy_title > div {
					gap: 4px !important;
					justify-content: flex-start !important;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group > .plugincy_title {
					gap: 4px !important;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group > .plugincy_title .rotatable {
					margin-left: 0 !important;
					color: #6b7280;
					fill: #6b7280;
				}
      }

      @media (min-width: 768px) and (max-width: 1024px) {
				body.woocommerce.archive section#block-68 #product-filter {
					height: 48px !important;
					min-height: 48px !important;
					padding: 5px 0;
					gap: 6px;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group > .plugincy_title {
					min-height: 38px;
					padding: 7px 10px;
					font-size: 15px !important;
					line-height: 22px !important;
				}

				body.woocommerce.archive section#block-68 #brands > .items.image,
				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group:not(#brands) > .items {
					top: 48px !important;
				}
      }

      @media (max-width: 767px) {
				body.woocommerce.archive section#block-68 #product-filter {
					height: 44px !important;
					min-height: 44px !important;
					padding: 5px 0;
					gap: 5px;
				}

				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group > .plugincy_title {
					min-height: 34px;
					padding: 6px 8px;
					font-size: 13px !important;
					font-weight: 600 !important;
					line-height: 20px !important;
				}

				body.woocommerce.archive section#block-68 #brands > .items.image,
				body.woocommerce.archive section#block-68 #product-filter > .plugincy-filter-group:not(#brands) > .items {
					top: 44px !important;
				}
      }

      /**
       * Allping: archive ordering and grid/list controls.
       *
       * Keep the catalog controls visually consistent with the responsive filter
       * pills: white surfaces, a thin medium-grey outline, rounded corners, and
       * compact sizing that adapts to desktop, tablet, and mobile.
       */

      body.woocommerce.archive .kadence-shop-top-row {
				align-items: center;
				column-gap: 8px;
      }

      body.woocommerce.archive .kadence-shop-top-row .kadence-woo-ordering {
				margin-left: auto;
      }

      body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering {
				display: flex;
				align-items: center;
				max-width: 100%;
				margin: 0;
      }

      /* The native select keeps its browser-native arrow for reliable keyboard use. */
      body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering .orderby {
				box-sizing: border-box;
				min-width: 0;
				max-width: 100%;
				height: 38px;
				margin: 0;
				padding: 6px 34px 6px 14px;
				border: 1px solid #9ca3af !important;
				border-radius: 6px;
				background-color: #fff;
				color: #0f172a;
				font-family: Inter, sans-serif;
				font-size: 14px;
				font-weight: 400;
				line-height: 22px;
				white-space: nowrap;
      }

      body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering .orderby:hover {
				border-color: #64748b !important;
      }

      body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering .orderby:focus-visible {
				border-color: #075985 !important;
				outline: 2px solid #22d3ee;
				outline-offset: 2px;
      }

      body.woocommerce.archive .kadence-shop-top-row .kadence-woo-toggle {
				display: flex !important;
				align-items: center;
				flex: 0 0 auto;
      }

      body.woocommerce.archive .kadence-shop-top-row .kadence-product-toggle-container {
				display: flex;
				align-items: center;
				gap: 6px;
      }

      body.woocommerce.archive .kadence-shop-top-row .kadence-toggle-shop-layout {
				box-sizing: border-box;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				width: 36px;
				height: 36px;
				margin: 0 !important;
				padding: 0;
				border: 1px solid #9ca3af !important;
				border-radius: 6px;
				background: #fff !important;
				color: #6b7280;
				line-height: 1;
				box-shadow: none;
				transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
      }

      body.woocommerce.archive .kadence-shop-top-row .kadence-toggle-shop-layout:hover {
				border-color: #64748b !important;
				background: #f8fafc !important;
				color: #075985;
      }

      body.woocommerce.archive .kadence-shop-top-row .kadence-toggle-shop-layout.toggle-active {
				border-color: #075985 !important;
				background: #e0f2fe !important;
				color: #075985;
      }

      body.woocommerce.archive .kadence-shop-top-row .kadence-toggle-shop-layout:focus-visible {
				border-color: #075985 !important;
				outline: 2px solid #22d3ee;
				outline-offset: 2px;
      }

      body.woocommerce.archive .kadence-shop-top-row .kadence-toggle-shop-layout .kadence-svg-icon {
				display: block;
				width: 18px;
				height: 18px;
				fill: currentColor;
      }

      @media (min-width: 768px) and (max-width: 1024px) {
				body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering .orderby {
					height: 38px;
					padding: 6px 32px 6px 12px;
					font-size: 14px;
					line-height: 22px;
				}

				body.woocommerce.archive .kadence-shop-top-row .kadence-toggle-shop-layout {
					width: 34px;
					height: 34px;
					border-radius: 6px;
				}
      }

      @media (max-width: 767px) {
				body.woocommerce.archive .kadence-shop-top-row {
					column-gap: 6px;
				}

				body.woocommerce.archive .kadence-shop-top-row .kadence-woo-ordering {
					min-width: 0;
					flex: 1 1 auto;
				}

				body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering {
					justify-content: flex-end;
					width: 100%;
				}

				body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering .orderby {
					width: auto;
					max-width: 100%;
					height: 34px;
					padding: 6px 30px 6px 10px;
					border-radius: 6px;
					font-size: 14px;
					font-weight: 400;
					line-height: 20px;
				}

				body.woocommerce.archive .kadence-shop-top-row .kadence-product-toggle-container {
					gap: 5px;
				}

				body.woocommerce.archive .kadence-shop-top-row .kadence-toggle-shop-layout {
					width: 32px;
					height: 30px;
					border-radius: 6px;
				}
      }

      @media (max-width: 360px) {
				body.woocommerce.archive .kadence-woo-ordering .woocommerce-ordering .orderby {
					max-width: calc(100vw - 92px);
				}
      }

      /* Keep every collapsible archive filter open by default on desktop only. */
      @media (min-width: 1025px) {
				body.woocommerce.archive #product-filter.allping-desktop-filter-ready
					> .plugincy-filter-group:not(.allping-desktop-filter-collapsed)
					> .plugincy_title.plugincy_collapsable_minimize_initial
					+ .items {
					display: block !important;
					height: auto !important;
					max-height: none !important;
					margin: 0 !important;
					padding-top: 6px !important;
					padding-bottom: 8px !important;
					opacity: 1 !important;
					visibility: visible !important;
					overflow: visible !important;
				}

				body.woocommerce.archive #product-filter.allping-desktop-filter-ready
					> .plugincy-filter-group:not(.allping-desktop-filter-collapsed)
					> .plugincy_title.plugincy_collapsable_minimize_initial .rotatable {
					transform: none !important;
				}
      }

      /**
       * Allping: mobile product-list layout.
       *
       * This is the production mobile list improvement. Kadence supplies the
       * list-view toggle and JavaScript, but its WooCommerce stylesheet hides that
       * toggle below 576px and does not define the horizontal list layout at that
       * width. This fills that gap on the archive page without changing tablet or
       * desktop list behavior.
       */

      @media (max-width: 575px) {
				/* Switch the product list to one horizontal card per row. */
				body.woocommerce.archive ul.products.products-list-view {
					grid-template-columns: minmax(0, 1fr) !important;
					gap: 12px;
				}

				body.woocommerce.archive ul.products.products-list-view li.product {
					box-sizing: border-box;
					display: grid;
					grid-template-columns: minmax(0, 38%) minmax(0, 62%);
					width: 100%;
					min-width: 0;
					padding: 0 !important;
					overflow: hidden;
				}

				/* Let the product image fill the left column without cropping it. */
				body.woocommerce.archive ul.products.products-list-view li.product > a.woocommerce-loop-image-link {
					display: flex;
					align-items: center;
					justify-content: center;
					width: 100%;
					min-width: 0;
					min-height: 100%;
					margin: 0;
					background: #f7f7f7;
					position: relative;
				}

				body.woocommerce.archive ul.products.products-list-view li.product > a.woocommerce-loop-image-link > img {
					display: block;
					width: 100%;
					height: 100%;
					min-height: 150px;
					object-fit: contain;
					background: transparent;
				}

				/* Keep the information column readable and safely inset from the card edge. */
				body.woocommerce.archive ul.products.products-list-view li.product > .product-details {
					box-sizing: border-box;
					display: flex;
					flex-direction: column;
					align-items: stretch;
					min-width: 0;
					padding: 10px 10px 10px 12px !important;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title {
					order: 1;
					width: 100%;
					min-width: 0;
					margin: 0 !important;
					padding: 0 !important;
					font-size: 13px;
					line-height: 18px;
					font-weight: 500;
					text-align: left;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .star-rating {
					order: 2;
					align-self: flex-start;
					float: none;
					margin: 6px 0 0;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .price {
					order: 3;
					width: 100%;
					margin: 6px 0 0;
					padding: 0;
					font-size: 16px;
					line-height: 24px;
					text-align: left;
				}

				/* Keep the horizontal card compact on small screens. */
				body.woocommerce.archive ul.products.products-list-view li.product .product-excerpt {
					display: none;
				}

      }

      /* Minimize the desktop grid spacing around the Perfect Brands row. */
      @media (min-width: 1025px) {
				body.woocommerce.archive ul.products:not(.products-list-view) li.product > a.woocommerce-loop-image-link {
					padding-bottom: 0 !important;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product > .product-details {
					padding-top: 0 !important;
				}

				body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title {
					padding-top: 0 !important;
				}
      }

      /**
       * Allping: match desktop list cards to the desktop grid hierarchy.
       *
       * The list view keeps its horizontal image/details composition, but the
       * details column uses the same internal order and visual tokens as grid
       * cards: rating + brand, title, then price.
       */
			  @media (min-width: 1025px) {
				/* Reduce the list-view image column without cropping the source image. */
				body.woocommerce.archive ul.products.products-list-view {
					row-gap: 20px !important;
				}

				body.woocommerce.archive ul.products.products-list-view li.product {
					box-sizing: border-box;
					padding: 15px 0 10px !important;
					grid-template-columns: minmax(0, 25%) minmax(0, 75%);
					background: linear-gradient(
						to right,
						#F7F7F7 0,
						#F7F7F7 25%,
						#FFFFFF 25%,
						#FFFFFF 100%
					);
				}

				body.woocommerce.archive ul.products.products-list-view li.product > .product-details {
					box-sizing: border-box;
					display: grid;
					grid-template-columns: minmax(0, 1fr) auto;
					grid-template-rows: auto 36px auto;
					align-content: start;
					align-self: stretch;
					min-width: 0;
					padding: 2px 25px 2px 12px !important;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .star-rating {
					grid-column: 1;
					grid-row: 2;
					align-self: center;
					justify-self: start;
					float: none;
					margin: 0 !important;
					padding: 0 !important;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop {
					grid-column: 2;
					grid-row: 2;
					display: flex;
					align-items: flex-start;
					justify-content: flex-end;
					align-self: start;
					justify-self: end;
					width: auto;
					min-width: 0;
					height: 36px;
					margin: 0;
					padding: 0;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop > span,
				body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop > span > a {
					display: flex;
					align-items: center;
					justify-content: flex-end;
					width: auto;
					max-width: 100%;
					height: 100%;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop img {
					display: block;
					width: 72px !important;
					height: 36px !important;
					max-width: 100%;
					object-fit: cover;
					object-position: center;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title {
					grid-column: 1 / -1;
					grid-row: 1;
					width: 100%;
					min-width: 0;
					margin: 0 !important;
					padding: 0 !important;
					font-family: Inter, sans-serif;
					font-size: 17px;
					font-weight: 500 !important;
					line-height: 23px;
					text-align: left;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title,
				body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title a,
				body.woocommerce.archive ul.products.products-list-view li.product .price,
				body.woocommerce.archive ul.products.products-list-view li.product .price * {
					color: #000000 !important;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title:hover a {
					color: #0064D2 !important;
					background-image: none !important;
					background-clip: border-box;
					-webkit-background-clip: border-box;
					-webkit-text-fill-color: #0064D2 !important;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .price {
					grid-column: 1 / -1;
					grid-row: 3;
					align-self: start;
					justify-self: start;
					width: 100%;
					/* Close the visual gap left by the 36px rating/brand row. */
					margin: -5px 0 2px !important;
					padding: 0;
					font-family: Inter, sans-serif;
					font-size: 23px;
					line-height: 30px;
					text-align: left;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .price .woocommerce-price-suffix {
					font-size: 13px;
					font-weight: 400;
					opacity: 0.75;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .price > .woocommerce-Price-amount,
				body.woocommerce.archive ul.products.products-list-view li.product .price > .woocommerce-Price-amount bdi,
				body.woocommerce.archive ul.products.products-list-view li.product .price ins,
				body.woocommerce.archive ul.products.products-list-view li.product .price ins .woocommerce-Price-amount,
				body.woocommerce.archive ul.products.products-list-view li.product .price ins .woocommerce-Price-amount bdi {
					font-weight: 600;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .price .woocommerce-Price-currencySymbol {
					font-weight: 300;
				}

				body.woocommerce.archive ul.products.products-list-view li.product .price .allping-price-decimals {
					display: inline-block;
					font-size: 55%;
					font-weight: inherit;
					line-height: 1;
					vertical-align: super;
				}
			}

      /* Put the tax suffix on its own line in both archive card layouts. */
      body.woocommerce.archive ul.products li.product .price .woocommerce-price-suffix {
				display: block;
				margin: 0;
				padding-left: 6px;
				font-size: 11px !important;
				line-height: 14px;
      }

      /* On-sale prices: discounted amount first, original amount second. */
      body.woocommerce.archive ul.products li.product .price {
				display: flex !important;
				flex-wrap: wrap;
				align-items: baseline;
				column-gap: 6px;
      }

      body.woocommerce.archive ul.products li.product .price ins {
				display: block;
				order: 1 !important;
				flex: 0 0 auto;
      }

      body.woocommerce.archive ul.products li.product .price del {
				display: block;
				order: 2 !important;
				flex: 0 0 auto;
				font-size: 16px;
      }

      body.woocommerce.archive ul.products li.product .price del .woocommerce-Price-amount,
      body.woocommerce.archive ul.products li.product .price del .woocommerce-Price-amount bdi {
				font-size: inherit;
      }

      body.woocommerce.archive ul.products li.product .price .woocommerce-price-suffix {
				order: 3 !important;
				flex: 0 0 100%;
				width: 100%;
			}

      /* Sale products: place the original price above the discounted price. */
      body.woocommerce.archive ul.products li.product .price:has(> del) {
				flex-direction: column !important;
				align-items: flex-start !important;
				row-gap: 0 !important;
				column-gap: 0 !important;
			}

      body.woocommerce.archive ul.products li.product .price:has(> del) del {
				order: 1 !important;
				width: auto;
				margin: 0 !important;
				flex: 0 0 auto;
				}

      body.woocommerce.archive ul.products li.product .price:has(> del) ins {
				order: 2 !important;
				width: auto;
				margin: 0 !important;
				flex: 0 0 auto;
				}

      body.woocommerce.archive ul.products li.product .price:has(> del) .woocommerce-price-suffix {
				order: 3 !important;
				width: 100%;
				margin: 0 !important;
				flex: 0 0 auto;
				}

		/* Keep the dynamic savings message beside the discounted price. */
		body.woocommerce.archive ul.products li.product .price:has(> del) > .allping-current-price-row {
				order: 2 !important;
				display: inline-flex !important;
				align-items: baseline;
				gap: 8px;
				width: auto;
				margin: 0 !important;
				flex: 0 0 auto;
			}

		body.woocommerce.archive ul.products li.product .price:has(> del) > .allping-current-price-row > ins {
				display: block;
				order: 1 !important;
				width: auto;
				margin: 0 !important;
				flex: 0 0 auto;
			}

		body.woocommerce.archive ul.products li.product .price:has(> del) > .allping-current-price-row > .allping-savings-badge {
			order: 2 !important;
			display: inline-flex;
			align-items: center;
			box-sizing: border-box;
			height: 22px;
			min-height: 0;
			padding: 0 9px 0 4px;
			background-color: #D31027 !important;
			background-image: linear-gradient(to right, #D31027 0%, #EA384D 51%, #D31027 100%) !important;
			background-size: 200% auto !important;
			background-position: left center !important;
			color: #ffffff !important;
			-webkit-text-fill-color: #ffffff !important;
			font-family: Inter, sans-serif;
			font-size: 12px;
			font-weight: 700;
			line-height: 22px;
			white-space: nowrap;
			vertical-align: middle;
			/* Give the badge the angled marketing-label shape without changing its content. */
			border-radius: 0;
			clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);
		}

		/*
		 * Mobile product hierarchy. Desktop and tablet use a defined rating/brand
		 * row; reproduce that same relationship at compact dimensions without
		 * changing the established mobile card padding.
		 */
		@media (max-width: 767px) {
			/* Grid: rating + brand, title, then price. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product > .product-details {
				display: grid !important;
				grid-template-columns: minmax(0, 1fr) auto;
				grid-template-rows: 32px auto auto;
				align-content: start;
				row-gap: 0;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .star-rating {
				grid-column: 1;
				grid-row: 1;
				align-self: center;
				justify-self: start;
				float: none;
				margin: 0 !important;
				padding: 0 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop {
				grid-column: 2;
				grid-row: 1;
				position: static !important;
				display: flex !important;
				align-items: center;
				justify-content: flex-end;
				align-self: center;
				justify-self: end;
				width: 64px !important;
				height: 32px !important;
				margin: 0 !important;
				padding: 0 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop > span,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop > span > a {
				display: flex !important;
				align-items: center;
				justify-content: flex-end;
				width: 100% !important;
				height: 100% !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop img {
				display: block;
				width: 64px !important;
				height: 32px !important;
				object-fit: cover !important;
				object-position: center;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title {
				grid-column: 1 / -1;
				grid-row: 2;
				width: 100%;
				margin: 0 !important;
				padding: 0 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price {
				grid-column: 1 / -1;
				grid-row: 3;
				align-self: start;
				width: 100%;
				margin: 0 !important;
				padding: 0 !important;
				/* Match desktop/tablet: both the price and the tax suffix start at the card inset. */
				text-align: left !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price .woocommerce-price-suffix {
				text-align: left !important;
			}

			/* Shared mobile visual tokens: the compact form of desktop/tablet cards. */
			body.woocommerce.archive ul.products li.product {
				background: #ffffff !important;
				border: 1px solid rgba(15, 23, 42, 0.08) !important;
				border-radius: 6px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14) !important;
				transition: box-shadow 0.2s ease !important;
			}

			body.woocommerce.archive ul.products li.product .woocommerce-loop-product__title,
			body.woocommerce.archive ul.products li.product .woocommerce-loop-product__title a {
				font-family: Inter, sans-serif !important;
				font-size: 13px !important;
				font-weight: 500 !important;
				line-height: 19px !important;
				color: #000000 !important;
				-webkit-text-fill-color: #000000 !important;
				text-align: left !important;
			}

			body.woocommerce.archive ul.products li.product .woocommerce-loop-product__title:hover a {
				color: #0064d2 !important;
				-webkit-text-fill-color: #0064d2 !important;
				background-image: none !important;
			}

			body.woocommerce.archive ul.products li.product .price,
			body.woocommerce.archive ul.products li.product .price > .woocommerce-Price-amount,
			body.woocommerce.archive ul.products li.product .price > .woocommerce-Price-amount bdi,
			body.woocommerce.archive ul.products li.product .price ins,
			body.woocommerce.archive ul.products li.product .price ins .woocommerce-Price-amount,
			body.woocommerce.archive ul.products li.product .price ins .woocommerce-Price-amount bdi {
				font-family: Inter, sans-serif !important;
				color: #000000 !important;
				-webkit-text-fill-color: #000000 !important;
			}

			body.woocommerce.archive ul.products li.product .price del,
			body.woocommerce.archive ul.products li.product .price del .woocommerce-Price-amount,
			body.woocommerce.archive ul.products li.product .price del .woocommerce-Price-amount bdi {
				color: #64748b !important;
				-webkit-text-fill-color: #64748b !important;
			}

			body.woocommerce.archive ul.products li.product .price .woocommerce-price-suffix {
				color: #000000 !important;
				-webkit-text-fill-color: #000000 !important;
				opacity: 0.75;
			}

			/* Mobile grid uses the same monetary hierarchy as the finished list,
			 * tablet, and desktop cards: light symbol, emphasized amount, raised decimals. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price > .woocommerce-Price-amount,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price > .woocommerce-Price-amount bdi,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price ins,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price ins .woocommerce-Price-amount,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price ins .woocommerce-Price-amount bdi {
				font-weight: 600 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price .woocommerce-Price-currencySymbol {
				font-weight: 300 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price .allping-price-decimals {
				display: inline-block;
				font-size: 55% !important;
				font-weight: inherit;
				line-height: 1 !important;
				vertical-align: super;
			}

			/* Desktop/tablet frame the mark in a 2:1 rectangle; mobile does the same. */
			body.woocommerce.archive ul.products li.product .pwb-brands-in-loop img {
				object-fit: cover !important;
				object-position: center;
			}

			@media (hover: hover) and (pointer: fine) {
				body.woocommerce.archive ul.products li.product:hover {
					box-shadow: 0 5px 15px rgba(15, 23, 42, 0.20) !important;
				}
			}
		}

		/* One fluid list layout for the complete mobile range. It scales without
		 * introducing another breakpoint between mobile and tablet. */
		@media (max-width: 767px) {
			body.woocommerce.archive ul.products.products-list-view {
				row-gap: 20px !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product {
				box-sizing: border-box;
				display: grid !important;
				width: 100%;
				min-width: 0;
				grid-template-columns: clamp(120px, 38vw, 223px) minmax(0, 1fr) !important;
				/* The media canvas reaches the card edges; padding here would expose white stripes. */
				padding: 0 !important;
				background: #ffffff !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product > a.woocommerce-loop-image-link {
				box-sizing: border-box;
				display: flex !important;
				align-items: center;
				justify-content: center;
				width: 100%;
				min-width: 0;
				min-height: 100%;
				margin: 0 !important;
				background: #f7f7f7 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product > a.woocommerce-loop-image-link > img {
				display: block;
				width: 100%;
				height: auto;
				min-height: 130px;
				object-fit: contain;
				background: transparent;
			}

			body.woocommerce.archive ul.products.products-list-view li.product > .product-details {
				box-sizing: border-box;
				display: grid !important;
				grid-template-columns: minmax(0, 1fr) auto;
				grid-template-rows: auto 32px auto;
				align-content: start !important;
				align-self: stretch;
				min-width: 0;
				padding: 5px 3px 3px 5px !important;
				font-family: Inter, sans-serif !important;
				color: #000000 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title {
				grid-column: 1 / -1;
				grid-row: 1;
				align-self: start !important;
				width: 100%;
				min-width: 0;
				margin: 0 !important;
				padding: 0 !important;
				font-family: Inter, sans-serif !important;
				font-size: clamp(13px, 2.16vw, 16px) !important;
				font-weight: 500 !important;
				line-height: clamp(19px, 2.96vw, 22px) !important;
				text-align: left !important;
				color: #000000 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title a {
				color: #000000 !important;
				-webkit-text-fill-color: #000000 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title:hover a {
				color: #0064d2 !important;
				-webkit-text-fill-color: #0064d2 !important;
				background-image: none !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .star-rating {
				grid-column: 1;
				grid-row: 2;
				align-self: center;
				justify-self: start;
				float: none !important;
				margin: 0 !important;
				font-size: 16px !important;
				line-height: 1 !important;
				color: #002245 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .star-rating::before {
				color: #cbd5e0 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .star-rating > span::before {
				color: #f59e0b !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop {
				grid-column: 2;
				grid-row: 2;
				position: static !important;
				display: flex !important;
				align-items: center;
				justify-content: flex-end;
				align-self: center;
				justify-self: end;
				width: 64px !important;
				height: 32px !important;
				margin: 0 !important;
				padding: 0 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop > span,
			body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop > span > a {
				display: flex !important;
				align-items: center;
				justify-content: flex-end;
				width: 100% !important;
				height: 100% !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop img {
				display: block;
				width: 64px !important;
				height: 32px !important;
				object-fit: cover !important;
				object-position: center;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .price {
				grid-column: 1 / -1;
				grid-row: 3;
				align-self: start !important;
				justify-self: start;
				width: 100%;
				margin: 0 !important;
				padding: 0 !important;
				font-family: Inter, sans-serif !important;
				font-size: clamp(16px, 2.56vw, 19px) !important;
				line-height: clamp(24px, 3.5vw, 26px) !important;
				text-align: left !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .price > .woocommerce-Price-amount,
			body.woocommerce.archive ul.products.products-list-view li.product .price > .woocommerce-Price-amount bdi,
			body.woocommerce.archive ul.products.products-list-view li.product .price ins,
			body.woocommerce.archive ul.products.products-list-view li.product .price ins .woocommerce-Price-amount,
			body.woocommerce.archive ul.products.products-list-view li.product .price ins .woocommerce-Price-amount bdi {
				font-weight: 600 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .price .woocommerce-Price-currencySymbol {
				font-weight: 300 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .price .allping-price-decimals {
				display: inline-block;
				font-size: 55% !important;
				font-weight: inherit;
				line-height: 1 !important;
				vertical-align: super;
			}

			body.woocommerce.archive ul.products.products-list-view li.product
			.stw-wishlist-button-container.stw-wishlist-button-placement-top_left {
				left: calc(clamp(120px, 38vw, 223px) - 39px) !important;
				right: auto !important;
			}
		}

		/* Keep the sale price and its savings label on one row at the narrowest width. */
		@media (max-width: 374px) {
			/* Preserve the 32px rating/brand row while leaving a small gap after the stars. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop img {
				width: 60px !important;
				height: 30px !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > .allping-current-price-row {
				gap: 4px;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > .allping-current-price-row > .allping-savings-badge {
				height: 20px;
				padding: 0 7px 0 3px !important;
				font-size: 11px !important;
				line-height: 20px !important;
			}
		}

		/* A compact mobile proportion for the same static, card-anchored offer ribbon. */
		@media (max-width: 767px) {
			body.woocommerce.archive ul.products li.product > a.woocommerce-loop-image-link > span.onsale {
				top: 7px !important;
				left: -43px !important;
				padding: 6px 40px !important;
				font-size: 11px !important;
				line-height: 14px !important;
			}
		}

		/* Keep a controlled 14px total separation: 7px + 7px between desktop grid titles and prices. */
		@media (min-width: 1025px) {
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title {
				margin: 0 0 7px !important;
				padding-bottom: 0 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price {
				margin: 7px 0 0 !important;
			}

			/* Prevent the normal price from adding extra space through grid centering. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product:not(:has(.price > del)) .price {
				align-self: start !important;
			}

			/* Prevent the normal title row from stretching below its last text line. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product:not(:has(.price > del)) .woocommerce-loop-product__title {
				align-self: start !important;
			}

			/* Stop the normal card grid from stretching auto rows and creating visual gaps. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product:not(:has(.price > del)) > .product-details {
				align-content: start !important;
			}

			/* Center the struck-through price between equal 7px spaces on sale cards. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product:has(.price > del) .woocommerce-loop-product__title {
				margin-bottom: 7px !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) {
				margin-top: 0 !important;
				row-gap: 0 !important;
				align-self: start !important;
			}

			/* Remove the extra vertical whitespace inside the struck-through price line. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > del,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > del .woocommerce-Price-amount,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > del .woocommerce-Price-amount bdi {
				line-height: 19px !important;
			}

			/* Keep sale-price children neutral; the outer price block owns the spacing. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > del,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > .allping-current-price-row,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > .allping-current-price-row > ins,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > .woocommerce-price-suffix {
				margin: 0 !important;
				padding: 0 !important;
			}

			/* Apply the 7px separation only before the current sale price, not before Inc. IVA. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > .allping-current-price-row {
				margin-top: 7px !important;
			}

			/* Match the left inset used by Inc. IVA on regular product cards. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price:has(> del) > .woocommerce-price-suffix {
				padding-left: 6px !important;
			}
		}

		/*
		 * Tablet integration: keep the finalized desktop card hierarchy and
		 * visual tokens while adapting the grid and list proportions.
		 */
		@media (min-width: 768px) and (max-width: 1024px) {

			/* Shared card tokens. */
			body.woocommerce.archive ul.products li.product {
				box-sizing: border-box;
				position: relative;
				background: #ffffff !important;
				border-radius: 6px;
				border: 1px solid rgba(15, 23, 42, 0.08) !important;
				overflow: hidden;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14) !important;
				transition: box-shadow 0.2s ease !important;
			}

			@media (hover: hover) and (pointer: fine) {
				body.woocommerce.archive ul.products li.product:hover {
					box-shadow: 0 5px 15px rgba(15, 23, 42, 0.20) !important;
				}
			}

			/* Offer ribbon attached to the card rather than the image canvas. */
			body.woocommerce.archive ul.products li.product > a.woocommerce-loop-image-link {
				position: static !important;
				overflow: visible !important;
			}

			body.woocommerce.archive ul.products li.product > a.woocommerce-loop-image-link > span.onsale {
				top: 10px !important;
				left: -48px !important;
				right: auto !important;
				bottom: auto !important;
				margin: 0 !important;
				padding: 8px 45px !important;
			background-color: #D31027 !important;
			background-image: linear-gradient(to right, #D31027 0%, #EA384D 51%, #D31027 100%) !important;
			background-size: 200% auto !important;
			background-position: left center !important;
				color: #ffffff !important;
				font-size: 12px !important;
				font-weight: 700 !important;
				line-height: 1.2 !important;
				text-align: center !important;
				text-transform: none !important;
				letter-spacing: 1px !important;
				white-space: nowrap !important;
				border-radius: 0 !important;
				box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
				transform-origin: center !important;
				transform: rotate(-45deg) !important;
				z-index: 10 !important;
			}

			/* Grid view. */
			body.woocommerce.archive ul.products:not(.products-list-view) {
				column-gap: 16px !important;
				row-gap: 20px !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product {
				padding: 0 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product > a.woocommerce-loop-image-link {
				box-sizing: border-box;
				display: block;
				width: 100%;
				padding-top: 10px !important;
				padding-bottom: 10px !important;
				margin: 0 !important;
				background: #f7f7f7 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product > a.woocommerce-loop-image-link > img {
				display: block;
				width: 100%;
				height: auto;
				background: transparent;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product > .product-details {
				box-sizing: border-box;
				display: grid !important;
				grid-template-columns: minmax(0, 1fr) auto;
				grid-template-rows: 32px auto auto auto;
				align-content: start !important;
				align-self: stretch;
				min-width: 0;
				padding: 0 10px 10px !important;
				font-family: Inter, sans-serif !important;
				color: #000000 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .star-rating {
				grid-column: 1;
				grid-row: 1;
				align-self: center;
				justify-self: start;
				float: none !important;
				margin: 0 0 2px !important;
				font-size: 16px !important;
				line-height: 1 !important;
				color: #002245 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .star-rating::before {
				color: #cbd5e0 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .star-rating > span::before {
				color: #f59e0b !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop {
				grid-column: 2;
				grid-row: 1;
				display: flex !important;
				align-items: flex-start;
				justify-content: flex-end;
				align-self: center;
				justify-self: end;
				width: auto;
				min-width: 0;
				height: 32px;
				margin: 0 !important;
				padding: 0 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop > span,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop > span > a {
				display: flex !important;
				align-items: center;
				justify-content: flex-end;
				width: auto;
				max-width: 100%;
				height: 100%;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .pwb-brands-in-loop img {
				display: block;
				width: 64px !important;
				height: 32px !important;
				max-width: 100%;
				object-fit: cover;
				object-position: center;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title {
				grid-column: 1 / -1;
				grid-row: 2;
				align-self: start !important;
				width: 100%;
				min-width: 0;
				margin: 0 0 7px !important;
				padding: 0 !important;
				font-family: Inter, sans-serif !important;
				font-size: 15px !important;
				font-weight: 500 !important;
				line-height: 22px !important;
				text-align: left !important;
				color: #000000 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title a {
				color: #000000 !important;
				-webkit-text-fill-color: #000000 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price,
			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price * {
				color: #000000 !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .price {
				grid-column: 1 / -1;
				grid-row: 3;
				align-self: start !important;
				justify-self: start;
				width: 100%;
				margin: 7px 0 0 !important;
				padding: 0 !important;
				font-family: Inter, sans-serif !important;
				font-size: 19px !important;
				line-height: 26px !important;
				text-align: left !important;
			}

			body.woocommerce.archive ul.products:not(.products-list-view) li.product .woocommerce-loop-product__title:hover a {
				color: #0064d2 !important;
				background-image: none !important;
				background-clip: border-box;
				-webkit-background-clip: border-box;
				-webkit-text-fill-color: #0064d2 !important;
			}

			/* List view: 30% image and 70% details. */
			body.woocommerce.archive ul.products.products-list-view {
				row-gap: 20px !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product {
				box-sizing: border-box;
				display: grid !important;
				width: 100%;
				min-width: 0;
				grid-template-columns: minmax(0, 30%) minmax(0, 70%) !important;
				padding: 10px 0 8px !important;
				background: linear-gradient(
					to right,
					#f7f7f7 0,
					#f7f7f7 30%,
					#ffffff 30%,
					#ffffff 100%
				) !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product > a.woocommerce-loop-image-link {
				box-sizing: border-box;
				display: flex !important;
				align-items: center;
				justify-content: center;
				width: 100%;
				min-width: 0;
				min-height: 100%;
				margin: 0 !important;
				background: #f7f7f7 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product > a.woocommerce-loop-image-link > img {
				display: block;
				width: 100%;
				height: auto;
				min-height: 130px;
				object-fit: contain;
				background: transparent;
			}

			body.woocommerce.archive ul.products.products-list-view li.product > .product-details {
				box-sizing: border-box;
				display: grid !important;
				grid-template-columns: minmax(0, 1fr) auto;
				grid-template-rows: auto 32px auto;
				align-content: start !important;
				align-self: stretch;
				min-width: 0;
				padding: 2px 18px 2px 12px !important;
				font-family: Inter, sans-serif !important;
				color: #000000 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title {
				grid-column: 1 / -1;
				grid-row: 1;
				align-self: start !important;
				width: 100%;
				min-width: 0;
				margin: 0 !important;
				padding: 0 !important;
				font-family: Inter, sans-serif !important;
				font-size: 16px !important;
				font-weight: 500 !important;
				line-height: 22px !important;
				text-align: left !important;
				color: #000000 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title a {
				color: #000000 !important;
				-webkit-text-fill-color: #000000 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .star-rating {
				grid-column: 1;
				grid-row: 2;
				align-self: center;
				justify-self: start;
				float: none !important;
				margin: 0 !important;
				font-size: 16px !important;
				line-height: 1 !important;
				color: #002245 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .star-rating::before {
				color: #cbd5e0 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .star-rating > span::before {
				color: #f59e0b !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop {
				grid-column: 2;
				grid-row: 2;
				display: flex !important;
				align-items: flex-start;
				justify-content: flex-end;
				align-self: start;
				justify-self: end;
				width: auto;
				min-width: 0;
				height: 32px;
				margin: 0 !important;
				padding: 0 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop > span,
			body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop > span > a {
				display: flex !important;
				align-items: center;
				justify-content: flex-end;
				width: auto;
				max-width: 100%;
				height: 100%;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .pwb-brands-in-loop img {
				display: block;
				width: 64px !important;
				height: 32px !important;
				max-width: 100%;
				object-fit: cover;
				object-position: center;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .price {
				grid-column: 1 / -1;
				grid-row: 3;
				align-self: start !important;
				justify-self: start;
				width: 100%;
				margin: 0 !important;
				padding: 0 !important;
				font-family: Inter, sans-serif !important;
				font-size: 19px !important;
				line-height: 26px !important;
				text-align: left !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .price,
			body.woocommerce.archive ul.products.products-list-view li.product .price * {
				color: #000000 !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product .woocommerce-loop-product__title:hover a {
				color: #0064d2 !important;
				background-image: none !important;
				background-clip: border-box;
				-webkit-background-clip: border-box;
				-webkit-text-fill-color: #0064d2 !important;
			}

			/* Shared sale-price behavior. */
			body.woocommerce.archive ul.products li.product .price {
				display: flex !important;
				flex-wrap: wrap;
				align-items: baseline;
				column-gap: 6px;
			}

			body.woocommerce.archive ul.products li.product .price > .woocommerce-Price-amount,
			body.woocommerce.archive ul.products li.product .price > .woocommerce-Price-amount bdi,
			body.woocommerce.archive ul.products li.product .price ins,
			body.woocommerce.archive ul.products li.product .price ins .woocommerce-Price-amount,
			body.woocommerce.archive ul.products li.product .price ins .woocommerce-Price-amount bdi {
				font-weight: 600 !important;
			}

			body.woocommerce.archive ul.products li.product .price .woocommerce-Price-currencySymbol {
				display: inline-block;
				margin-right: 2px;
				font-weight: 300 !important;
			}

			body.woocommerce.archive ul.products li.product .price .allping-price-decimals {
				display: inline-block;
				font-size: 55% !important;
				font-weight: inherit;
				line-height: 1 !important;
				vertical-align: super;
			}

			body.woocommerce.archive ul.products li.product .price .woocommerce-price-suffix {
				display: block;
				order: 3 !important;
				flex: 0 0 100%;
				width: 100%;
				margin: 0 !important;
				padding-left: 6px !important;
				font-size: 11px !important;
				font-weight: 400 !important;
				line-height: 14px !important;
				color: #000000 !important;
				opacity: 0.75;
			}

			body.woocommerce.archive ul.products li.product .price > ins {
				display: block;
				order: 1 !important;
				flex: 0 0 auto;
			}

			body.woocommerce.archive ul.products li.product .price > del {
				display: block;
				order: 2 !important;
				flex: 0 0 auto;
				font-size: 16px !important;
				font-weight: 400 !important;
				opacity: 0.5;
			}

			body.woocommerce.archive ul.products li.product .price:has(> del) {
				flex-direction: column !important;
				align-items: flex-start !important;
				margin-top: 0 !important;
				align-self: start !important;
				row-gap: 0 !important;
				column-gap: 0 !important;
			}

			body.woocommerce.archive ul.products li.product .price:has(> del) > del,
			body.woocommerce.archive ul.products li.product .price:has(> del) > del .woocommerce-Price-amount,
			body.woocommerce.archive ul.products li.product .price:has(> del) > del .woocommerce-Price-amount bdi {
				margin: 0 !important;
				padding: 0 !important;
				line-height: 19px !important;
			}

			body.woocommerce.archive ul.products li.product .price:has(> del) > .allping-current-price-row {
				display: inline-flex !important;
				align-items: baseline;
				gap: 8px;
				width: auto;
				order: 2 !important;
				margin-top: 7px !important;
				flex: 0 0 auto;
			}

			body.woocommerce.archive ul.products li.product .price:has(> del) > .allping-current-price-row > ins {
				display: block;
				order: 1 !important;
				width: auto;
				margin: 0 !important;
				flex: 0 0 auto;
			}

			body.woocommerce.archive ul.products li.product .price:has(> del) > .allping-current-price-row > .allping-savings-badge {
				order: 2 !important;
				display: inline-flex !important;
				align-items: center;
				box-sizing: border-box;
				height: 22px;
				min-height: 0;
				padding: 0 9px 0 4px !important;
			background-color: #D31027 !important;
			background-image: linear-gradient(to right, #D31027 0%, #EA384D 51%, #D31027 100%) !important;
			background-size: 200% auto !important;
			background-position: left center !important;
				color: #ffffff !important;
				-webkit-text-fill-color: #ffffff !important;
				font-family: Inter, sans-serif !important;
				font-size: 12px !important;
				font-weight: 700 !important;
				line-height: 22px !important;
				white-space: nowrap;
				vertical-align: middle;
				border-radius: 0;
				clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);
			}

			body.woocommerce.archive ul.products li.product .price:has(> del) > .woocommerce-price-suffix {
				margin: 0 !important;
				padding: 0 0 0 6px !important;
				line-height: 14px !important;
			}

			/* Tablet wishlist positions. */
			body.woocommerce.archive ul.products:not(.products-list-view) li.product
			.stw-wishlist-button-container.stw-wishlist-button-placement-top_left {
				left: auto !important;
				right: 10px !important;
			}

			body.woocommerce.archive ul.products.products-list-view li.product
			.stw-wishlist-button-container.stw-wishlist-button-placement-top_left {
				left: calc(30% - 39px) !important;
				right: auto !important;
			}
		}








































