/* ==========================================================================
   ASL Masterpiece — WooCommerce
   ========================================================================== */

.asl-woo { padding-top: 90px; }
.asl-woo__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 0; }
.asl-woo__main { padding-right: 50px; border-right: 1px solid var(--c-bd); }
.asl-shop-sidebar { padding-left: 50px; }
.asl-widget + .asl-widget { margin-top: 40px; }
.asl-widget__title { font-size: 19px; margin-bottom: 18px; }
.asl-search { position: relative; }
.asl-search .asl-ico { position: absolute; left: 16px; top: 50%; margin-top: -7px; width: 14px; height: 14px; color: var(--c-text); }
.asl-search input[type="search"] {
	width: 100%; padding: 12px 16px 12px 40px; border: 0; border-radius: var(--radius-sm);
	background: var(--c-bg-2); font: inherit; font-size: 14px; color: var(--c-title);
}
.asl-search input[type="search"]:focus { outline: 2px solid var(--c-link); }
.asl-cat-list li { font-size: 15px; }
.asl-cat-list li + li { margin-top: 8px; }
.asl-cat-list a { color: var(--c-text); }
.asl-cat-list a:hover, .asl-cat-list .current-cat > a { color: var(--c-link); }
.asl-cat-list .children { padding-left: 14px; margin-top: 8px; }

.woocommerce .woocommerce-products-header__title.page-title,
.woocommerce-page .page-title { font-size: 46px; letter-spacing: -0.02em; margin-bottom: 30px; }
.woocommerce .woocommerce-result-count { margin: 0 0 30px; font-size: 14px; line-height: 44px; }
.woocommerce .woocommerce-ordering { margin: 0 0 30px; }
.woocommerce .woocommerce-ordering select {
	height: 44px; padding: 0 36px 0 16px; border: 0; border-radius: var(--radius-sm);
	background: var(--c-bg-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231c1a23' stroke-width='2' d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 14px;
	-webkit-appearance: none; appearance: none; font: inherit; font-size: 14px; color: var(--c-title);
}

/* Product grid */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 24px; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; }
.woocommerce ul.products li.product a img { margin: 0 0 16px; aspect-ratio: 1; object-fit: contain; background: #fff; transition: transform .6s var(--ease); }
.woocommerce ul.products li.product a:hover img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0; margin: 0 0 12px; font-family: var(--f-body); font-size: 15px; font-weight: 500; color: var(--c-title);
}
.woocommerce ul.products li.product .price { color: var(--c-title); font-size: 15px; }
.woocommerce ul.products li.product .button {
	align-self: flex-start; margin-top: auto; padding: 8px 18px; border-radius: 4px;
	background: var(--c-bg-2); color: var(--c-title); font-family: var(--f-head); font-size: 13px; font-weight: 600;
	transition: background-color .25s, color .25s;
}
.woocommerce ul.products li.product .button:hover { background: var(--c-link); color: #fff; }
.asl-page ul.products { margin-top: 10px; }

.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { min-width: 40px; padding: 10px; border-radius: 50%; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--c-link); color: #fff; }

/* Single product */
.asl-woo__product { max-width: 1080px; margin: 0 auto; }
.woocommerce div.product { display: block; }
.woocommerce div.product div.images { margin-bottom: 50px; }
.woocommerce div.product div.images img { background: #fff; }
.woocommerce div.product .product_title { font-size: 46px; letter-spacing: -0.02em; margin-bottom: 10px; }
.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 24px; }
.woocommerce div.product .woocommerce-product-details__short-description h1 { display: none; }
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p { font-family: var(--f-head); font-size: 46px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: var(--c-title); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--c-title); }
.woocommerce div.product .product_meta { font-size: 13px; }
.woocommerce div.product .product_meta > span { display: block; margin-bottom: 4px; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--c-bd); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: #fff; border-color: var(--c-bd); border-radius: 6px 6px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--f-head); font-size: 14px; font-weight: 600; color: var(--c-text); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--c-link); }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font-size: 35px; }
.woocommerce div.product .woocommerce-tabs .panel ul { list-style: disc; padding-left: 1.3em; margin-bottom: 1em; }
.woocommerce div.product .woocommerce-tabs .panel li strong { color: var(--c-title); }
.woocommerce .related.products > h2 { font-size: 35px; margin: 60px 0 30px; }
.woocommerce span.onsale { background: var(--c-link); }

/* Buttons & notices */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	padding: 14px 30px; border-radius: 28px; background: var(--c-link); color: #fff;
	font-family: var(--f-head); font-weight: 500;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--c-hover); color: #fff; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--c-link); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--c-link); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	padding: 12px 16px; border: 1px solid var(--c-bd); border-radius: var(--radius-sm);
}

@media (max-width: 1279px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1023px) {
	.asl-woo__layout { grid-template-columns: 1fr; }
	.asl-woo__main { padding-right: 0; border-right: 0; }
	.asl-shop-sidebar { padding: 50px 0 0; border-top: 1px solid var(--c-bd); margin-top: 50px; }
	.woocommerce div.product .product_title,
	.woocommerce div.product .woocommerce-product-details__short-description,
	.woocommerce div.product .woocommerce-product-details__short-description p { font-size: 34px; }
}
@media (max-width: 767px) {
	.asl-woo { padding-top: 60px; }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 30px 16px; }
	.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { float: none; }
	.woocommerce div.product .product_title,
	.woocommerce div.product .woocommerce-product-details__short-description,
	.woocommerce div.product .woocommerce-product-details__short-description p { font-size: 28px; }
}
