/* Własne style wszystkich podstawowych elementów WooCommerce. */
.woocommerce { width: 100%; }
.woocommerce::after, .woocommerce::before, .woocommerce ul.products::after, .woocommerce ul.products::before { display: none; content: none; }
.woocommerce .woocommerce-breadcrumb { margin: 0 0 26px; color: var(--dovlo-muted); font-size: 13px; }
.woocommerce .woocommerce-breadcrumb a { color: inherit; }
.woocommerce-products-header__title.page-title { margin: 0 0 38px; font-size: clamp(42px, 6vw, 72px); line-height: 1.02; letter-spacing: -.055em; }
.woocommerce .woocommerce-result-count { float: left; margin: 10px 0 28px; color: var(--dovlo-muted); }
.woocommerce .woocommerce-ordering { float: right; margin: 0 0 28px; }
.woocommerce .woocommerce-ordering select { width: auto; min-width: 190px; }
.woocommerce ul.products { clear: both; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 3vw, 38px); padding: 0; margin: 0; list-style: none; }
.woocommerce ul.products li.product { position: relative; float: none; width: auto; min-width: 0; padding: 0; margin: 0; }
.woocommerce ul.products li.product a { display: block; text-decoration: none; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1 / 1; margin: 0 0 16px; object-fit: cover; border-radius: var(--dovlo-radius); background: var(--dovlo-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 8px; font-size: 18px; line-height: 1.25; letter-spacing: -.025em; }
.woocommerce ul.products li.product .price { display: block; margin-bottom: 12px; color: var(--dovlo-ink); font-size: 16px; font-weight: 760; }
.woocommerce ul.products li.product .price del { color: var(--dovlo-muted); font-weight: 500; opacity: .8; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: 0 0 10px; }
.woocommerce ul.products li.product .button { width: 100%; min-height: 46px; margin: 0; font-size: 14px; }
.woocommerce span.onsale { position: absolute; z-index: 2; top: 12px; left: 12px; min-width: 0; min-height: 0; padding: 7px 11px; margin: 0; border-radius: 999px; background: var(--dovlo-ink); color: #fff; font-size: 12px; font-weight: 800; line-height: 1; }

.woocommerce .star-rating { position: relative; width: 5.4em; height: 1em; overflow: hidden; font-family: Arial, sans-serif; font-size: 14px; line-height: 1; letter-spacing: .08em; }
.woocommerce .star-rating::before { position: absolute; top: 0; left: 0; content: "★★★★★"; color: #d4d4cf; }
.woocommerce .star-rating span { position: absolute; top: 0; left: 0; height: 100%; overflow: hidden; padding-top: 1em; }
.woocommerce .star-rating span::before { position: absolute; top: 0; left: 0; content: "★★★★★"; color: #e0a523; }

.woocommerce-message, .woocommerce-info, .woocommerce-error {
	position: relative;
	clear: both;
	padding: 16px 18px;
	margin: 0 0 24px;
	border: 1px solid var(--dovlo-line);
	border-radius: var(--dovlo-radius-sm);
	background: var(--dovlo-soft);
	list-style: none;
}
.woocommerce-error { border-color: rgb(180 35 24 / 25%); color: var(--dovlo-danger); background: #fff6f5; }
.woocommerce-message { border-color: rgb(23 107 77 / 25%); color: var(--dovlo-success); background: #f3fbf7; }
.woocommerce-message .button, .woocommerce-info .button { float: right; min-height: 34px; padding: 7px 14px; margin: -7px 0 -7px 12px; font-size: 13px; }
.woocommerce-notices-wrapper:empty { display: none; }

.woocommerce .quantity { display: inline-flex; }
.woocommerce .quantity .qty { width: 82px; min-height: 50px; text-align: center; }
.woocommerce form .form-row { padding: 0; margin: 0 0 18px; }
.woocommerce form .form-row label { display: block; margin-bottom: 7px; }
.woocommerce form .form-row .required { color: var(--dovlo-danger); }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 8px); }
.woocommerce form .form-row-first { float: left; }
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide { clear: both; }
.woocommerce .select2-container { width: 100% !important; }
.woocommerce .select2-container .select2-selection--single { height: 50px; border: 1px solid #d8d8d2; border-radius: var(--dovlo-radius-sm); }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 10px 38px 10px 13px; line-height: 28px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; right: 8px; }

.woocommerce table { width: 100%; border-collapse: collapse; }
.woocommerce table th, .woocommerce table td { padding: 14px 12px; border-bottom: 1px solid var(--dovlo-line); text-align: left; vertical-align: middle; }
.woocommerce table th { font-size: 13px; letter-spacing: .02em; }
.woocommerce table td:last-child, .woocommerce table th:last-child { text-align: right; }
.woocommerce a.remove { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--dovlo-line); border-radius: 50%; color: var(--dovlo-danger); font-size: 22px; font-weight: 500; line-height: 1; text-decoration: none; }
.woocommerce a.remove:hover { border-color: var(--dovlo-danger); background: #fff6f5; }
.woocommerce small, .woocommerce .amount { font-variant-numeric: tabular-nums; }
.woocommerce .woocommerce-pagination { margin-top: 40px; }
.woocommerce .woocommerce-pagination ul { display: flex; gap: 8px; padding: 0; margin: 0; border: 0; list-style: none; }
.woocommerce .woocommerce-pagination ul li { border: 0; }
.woocommerce .woocommerce-pagination ul li a, .woocommerce .woocommerce-pagination ul li span { display: grid; min-width: 42px; height: 42px; padding: 0 12px; place-items: center; border: 1px solid var(--dovlo-line); border-radius: 999px; text-decoration: none; }
.woocommerce .woocommerce-pagination ul li span.current { border-color: var(--dovlo-ink); background: var(--dovlo-ink); color: #fff; }

@media (max-width: 780px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
	.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; }
	.woocommerce .woocommerce-ordering select { width: 100%; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { float: none; width: 100%; }
}
