/* =========================================================================
   KOREOLOGY — WooCommerce Styling
   ========================================================================= */

/* ---- Product grid ---- */
.koreology-theme ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--ko-space-3);
	margin: 0; padding: 0; list-style: none;
}
.koreology-theme ul.products li.product {
	margin: 0 !important; width: auto !important; float: none !important;
	background: var(--ko-surface); border: var(--ko-outline);
	border-radius: var(--ko-radius); overflow: hidden; padding: 0;
	box-shadow: var(--ko-shadow-pop); display: flex; flex-direction: column;
	transition: transform var(--ko-dur) var(--ko-ease), box-shadow var(--ko-dur) var(--ko-ease);
}
.koreology-theme ul.products li.product:hover {
	transform: translate(-3px,-3px); box-shadow: 9px 9px 0 var(--ko-ink);
}
.koreology-theme ul.products li.product a img {
	margin: 0 !important; aspect-ratio: 1/1; object-fit: cover; width: 100%;
	border-radius: 0; border-bottom: var(--ko-outline);
}
.koreology-theme ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--ko-font-display); font-weight: 500; font-size: 1.15rem;
	padding: var(--ko-space-2) var(--ko-space-2) 0.25rem; color: var(--ko-ink); line-height: 1.2;
}
.koreology-theme ul.products li.product .price {
	display: block; padding: 0 var(--ko-space-2); color: var(--ko-plum) !important;
	font-family: var(--ko-font-body); font-weight: 700; font-size: 1.05rem;
}
.koreology-theme ul.products li.product .price del { color: var(--ko-text-muted) !important; font-weight: 400; }
.koreology-theme ul.products li.product .price ins { color: var(--ko-orange) !important; text-decoration: none; }
.koreology-theme ul.products li.product .button { margin: var(--ko-space-2); font-size: 0.85rem; padding: 0.7em 1.2em; background: var(--ko-pink); }
.koreology-theme ul.products li.product .added_to_cart {
	display: block; text-align: center; margin: 0 var(--ko-space-2) var(--ko-space-2);
	font-weight: 700; color: var(--ko-plum);
}

/* ---- Sale badge ---- */
.koreology-theme span.onsale,
.koreology-theme .onsale {
	background: var(--ko-orange) !important; color: var(--ko-cream) !important;
	border: var(--ko-outline) !important; border-radius: var(--ko-radius-pill) !important;
	font-family: var(--ko-font-body); font-weight: 700; min-height: auto; min-width: auto;
	padding: 0.3em 0.95em; top: 0.9rem; left: 0.9rem; right: auto; margin: 0;
	box-shadow: 3px 3px 0 var(--ko-ink); rotate: -6deg;
}

/* ---- Single product ---- */
.koreology-theme .single-product div.product .product_title { font-family: var(--ko-font-display); font-weight: 500; font-size: var(--ko-fs-h1); }
.koreology-theme .single-product div.product p.price,
.koreology-theme .single-product div.product span.price { color: var(--ko-plum); font-weight: 700; font-size: 1.6rem; }
.koreology-theme .single-product .woocommerce-product-gallery img { border-radius: var(--ko-radius); border: var(--ko-outline); }
.koreology-theme .single_add_to_cart_button { background: var(--ko-orange) !important; color: var(--ko-ink) !important; font-size: 1rem !important; padding: 1em 2.4em !important; }

.koreology-theme .woocommerce-tabs ul.tabs li { background: var(--ko-pink-tint); border: var(--ko-outline); border-radius: var(--ko-radius-pill); }
.koreology-theme .woocommerce-tabs ul.tabs li.active { background: var(--ko-pink); }
.koreology-theme .woocommerce-tabs ul.tabs li.active a { color: var(--ko-ink); }

/* ---- Quantity & form fields ---- */
.koreology-theme .quantity input.qty,
.koreology-theme form .form-row input.input-text,
.koreology-theme .select2-container--default .select2-selection--single {
	border: var(--ko-outline); border-radius: var(--ko-radius-sm); background: var(--ko-surface); padding: 0.6em 0.8em;
}

/* ---- Cart & checkout ---- */
.koreology-theme .cart_totals,
.koreology-theme .woocommerce-checkout #payment {
	background: var(--ko-surface); border: var(--ko-outline); border-radius: var(--ko-radius); padding: var(--ko-space-3); box-shadow: var(--ko-shadow-pop);
}
.koreology-theme table.shop_table { border-radius: var(--ko-radius); overflow: hidden; border: var(--ko-outline); }
.koreology-theme table.shop_table th { background: var(--ko-pink-tint); }

/* ---- Messages ---- */
.koreology-theme .woocommerce-message,
.koreology-theme .woocommerce-info {
	border-top: none; border: var(--ko-outline); background: var(--ko-lime);
	border-radius: var(--ko-radius-sm); color: var(--ko-ink);
}
.koreology-theme .woocommerce-message::before,
.koreology-theme .woocommerce-info::before { color: var(--ko-plum); }

/* ---- Pagination ---- */
.koreology-theme .woocommerce-pagination .page-numbers li a,
.koreology-theme .woocommerce-pagination .page-numbers li span {
	border: var(--ko-outline); border-radius: var(--ko-radius-sm); background: var(--ko-surface);
}
.koreology-theme .woocommerce-pagination .page-numbers li .current { background: var(--ko-pink); }
