.oe-shop-main { min-height: 65vh; padding: 38px 0 80px; background: #f7f9f8; }
.woocommerce .woocommerce-result-count { color: var(--oe-muted); font-size: 16px; }
.woocommerce .woocommerce-ordering select { min-height: 46px; padding: 0 38px 0 13px; border: 1px solid var(--oe-line); border-radius: 9px; background: #fff; font-size: 16px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 25px 0 0; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; min-width: 0; margin: 0 !important; padding: 14px; border: 1px solid var(--oe-line); border-radius: 15px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 16px 35px rgba(16,34,29,.09); }
.woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: contain; margin-bottom: 15px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 72px; padding: 0; color: var(--oe-ink); font-size: 17px; line-height: 1.4; }
.woocommerce ul.products li.product .price { color: var(--oe-green); font-size: 22px; font-weight: 800; }
.woocommerce ul.products li.product .button { display: block; margin-top: 14px; padding: 13px; color: #fff; background: var(--oe-green); border-radius: 9px; text-align: center; font-size: 15px; }
.woocommerce span.onsale { min-width: 0; min-height: 0; padding: 7px 11px; color: #fff; background: var(--oe-orange); border-radius: 99px; line-height: 1; font-size: 14px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 3px; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0; border: 1px solid var(--oe-line); border-radius: 8px; background: #fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { color: #fff; background: var(--oe-green); border-color: var(--oe-green); }

.single-product div.product { display: grid; grid-template-columns: 1.05fr .95fr; gap: 55px; padding: 28px; border: 1px solid var(--oe-line); border-radius: 20px; background: #fff; }
.single-product div.product div.images,
.single-product div.product div.summary { float: none; width: auto; margin: 0; }
.single-product .product_title { margin: 0 0 14px; color: var(--oe-ink); font-size: clamp(27px, 3.2vw, 43px); line-height: 1.13; letter-spacing: -1.5px; }
.single-product .woocommerce-product-rating { font-size: 13px; }
.single-product div.product p.price { margin: 18px 0; color: var(--oe-green); font-size: 31px; font-weight: 800; }
.single-product .woocommerce-product-details__short-description { color: var(--oe-muted); font-size: 14px; }
.single-product .cart { display: flex; gap: 10px; margin: 24px 0 !important; }
.woocommerce .quantity .qty { min-height: 52px; border: 1px solid var(--oe-line); border-radius: 10px; }
.woocommerce div.product form.cart .button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .checkout-button { min-height: 52px; padding: 0 25px; color: #fff; background: var(--oe-green); border-radius: 10px; font-weight: 800; }
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover { background: var(--oe-green-dark); }
.oe-product-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 20px 0; }
.oe-product-trust > div { display: flex; gap: 10px; padding: 13px; background: var(--oe-soft); border-radius: 10px; }
.oe-product-trust .oe-icon { color: var(--oe-green); }
.oe-product-trust strong,
.oe-product-trust span { display: block; }
.oe-product-trust span { color: var(--oe-muted); font-size: 9px; }
.oe-product-trust strong { color: var(--oe-ink); font-size: 11px; }
.woocommerce div.product .product_meta { color: var(--oe-muted); font-size: 11px; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--oe-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { color: var(--oe-green); }
.woocommerce div.product .woocommerce-tabs .panel { color: #3e4c47; }
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 { font-size: 25px; }
.oe-reassurance { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0; }
.oe-reassurance > div { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 70px; border: 1px solid var(--oe-line); border-radius: 12px; }
.oe-reassurance .oe-icon { color: var(--oe-green); }
.single-product div.product > .oe-instagram-banner { grid-column: 1 / -1; margin: 12px 0 4px; }
.oe-shop-main .oe-instagram-banner--shop { clear: both; margin: 34px 0 4px; }

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce { padding: 28px; border: 1px solid var(--oe-line); border-radius: 18px; background: #fff; }
.woocommerce table.shop_table { border-color: var(--oe-line); border-radius: 12px; }
.woocommerce table.shop_table th { color: var(--oe-ink); font-size: 12px; }
.woocommerce table.shop_table td { font-size: 13px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single { min-height: 48px; padding: 11px 13px; border: 1px solid var(--oe-line); border-radius: 9px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border-color: var(--oe-line); border-radius: 12px; }
.woocommerce-message,
.woocommerce-info { border-top-color: var(--oe-green); background: var(--oe-green-light); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--oe-green); }

@media (min-width: 901px) {
	.oe-shop-main > .oe-shop-container {
		width: min(1120px, calc(100% - 80px));
		max-width: 1120px;
		margin-inline: auto;
	}

	body.woocommerce.archive > h1.page-title,
	body.woocommerce.archive > .woocommerce-products-header,
	body.woocommerce.archive > .woocommerce-notices-wrapper,
	body.woocommerce.archive > .woocommerce-result-count,
	body.woocommerce.archive > .woocommerce-ordering,
	body.woocommerce.archive > ul.products,
	body.woocommerce.archive > nav.woocommerce-pagination {
		width: min(1120px, calc(100% - 80px));
		max-width: 1120px;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.oe-shop-main .woocommerce-products-header__title,
	.oe-shop-main .page-title,
	body.woocommerce.archive > h1.page-title {
		font-size: 40px;
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 20px;
	}

	.woocommerce ul.products li.product {
		padding: 18px;
	}

	.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
		display: block;
	}

	.woocommerce ul.products li.product a img {
		width: 100%;
		height: 210px;
		aspect-ratio: auto;
		object-fit: contain;
		object-position: center;
		padding: 18px;
		margin: 0 0 18px;
	}
}

@media (max-width: 900px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
	.single-product div.product { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 620px) {
	.oe-shop-main { padding-top: 22px; }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.woocommerce ul.products li.product { padding: 10px; }
	.woocommerce .woocommerce-result-count { font-size: 18px; }
	.woocommerce .woocommerce-ordering select { font-size: 18px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 84px; font-size: 15px; }
	.woocommerce ul.products li.product .price { font-size: 19px; }
	.woocommerce ul.products li.product .button { font-size: 15px; }
	.woocommerce span.onsale { font-size: 16px; }
	.single-product div.product { padding: 15px; border-radius: 14px; }
	.single-product .product_title { font-size: 28px; }
	.single-product .cart { flex-wrap: wrap; }
	.single-product .cart .single_add_to_cart_button { flex: 1; }
	.oe-product-trust,
	.oe-reassurance { grid-template-columns: 1fr; }
	.single-product div.product > .oe-instagram-banner { margin-top: 8px; }
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	.woocommerce-account .woocommerce { padding: 12px; }
}
