/* =========================================================
   LEKKI GIFT CO. — WooCommerce visual override
   Purpose: WooCommerce keeps 100% of its real functionality
   (cart, checkout, payments, accounts, filtering). This file
   only repaints the markup it renders so it matches the
   custom design system. Loaded AFTER woocommerce-general.css
   and uses !important where WooCommerce/theme defaults are
   otherwise very hard to beat, as requested.
   ========================================================= */

.woocommerce, .woocommerce-page {
	font-family: var(--sans) !important;
	color: var(--espresso) !important;
}
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-account h1, .woocommerce-account h2 {
	font-family: var(--serif) !important;
	font-weight: 500 !important;
	color: var(--espresso) !important;
}

/* ---------- Buttons everywhere ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce a.checkout-button,
.woocommerce #place_order {
	background: var(--soft-black) !important;
	color: var(--ivory) !important;
	border: none !important;
	border-radius: 1px !important;
	padding: 16px 34px !important;
	font-size: 12px !important;
	letter-spacing: .15em !important;
	text-transform: uppercase !important;
	font-weight: 500 !important;
	font-family: var(--sans) !important;
	transition: transform .4s var(--ease), background .3s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce #place_order:hover {
	background: var(--champagne-dark) !important;
	color: var(--ivory) !important;
	transform: translateY(-2px);
}
.woocommerce a.button.alt {
	background: var(--champagne) !important;
	color: var(--soft-black) !important;
}

/* ---------- Forms (checkout, my account, address) ---------- */
.woocommerce form .form-row label,
.woocommerce-account .woocommerce-EditAccountForm label,
.woocommerce-account .woocommerce-Address-title label {
	font-size: 11.5px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink-60) !important;
	font-family: var(--sans) !important;
}
.woocommerce form .input-text,
.woocommerce form textarea,
.woocommerce form select,
.woocommerce-account table.shop_table input,
.select2-container--default .select2-selection--single {
	border: 1px solid var(--line) !important;
	border-radius: 0 !important;
	padding: 14px 16px !important;
	background: var(--warm-white) !important;
	color: var(--espresso) !important;
	font-family: var(--sans) !important;
	box-shadow: none !important;
	min-height: unset;
}
.select2-container--default .select2-selection--single { padding: 8px 16px !important; height: auto !important; }
.woocommerce form .input-text:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus { border-color: var(--soft-black) !important; outline: none; }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info {
	border-top-color: var(--champagne-dark) !important;
	background: var(--warm-white) !important;
	color: var(--espresso) !important;
	font-family: var(--sans) !important;
}
.woocommerce-error {
	border-top-color: #b23b3b !important;
	background: var(--warm-white) !important;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--champagne-dark) !important; }

@media (max-width: 600px) {
	.woocommerce-message, .woocommerce-info, .woocommerce-error {
		font-size: 13px !important;
		padding: 14px 16px 14px 40px !important;
		line-height: 1.5 !important;
	}
	.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
		left: 14px !important;
		top: 14px !important;
		font-size: 16px !important;
	}
	.woocommerce-message a.button.wc-forward,
	.woocommerce-info a.button.wc-forward {
		float: none !important;
		display: inline-block !important;
		margin: 10px 0 0 !important;
		width: auto !important;
		font-size: 11px !important;
		padding: 10px 18px !important;
	}
}

/* ---------- Cart page ---------- */
/* wc_get_formatted_cart_item_data() outputs a <dl class="variation"> with no
   styling of its own — this was rendering with cramped browser defaults in
   both the cart drawer/page and the checkout order summary. */
.cart-product dl.variation,
.cart-line-info dl.variation,
.wc-item-meta {
	width: 100% !important;
	margin: 6px 0 4px !important;
	font-size: 12.5px !important;
	color: var(--ink-40) !important;
	max-width: none !important;
}
.cart-product dl.variation dt,
.cart-line-info dl.variation dt,
.wc-item-meta li strong {
	display: inline !important;
	font-weight: 500 !important;
	margin-right: 4px !important;
	float: none !important;
}
.cart-product dl.variation dd,
.cart-line-info dl.variation dd {
	display: inline !important;
	margin: 0 0 4px !important;
	float: none !important;
}
.cart-product dl.variation dd p,
.cart-line-info dl.variation dd p {
	display: inline !important;
	margin: 0 !important;
}
.cart-product dl.variation dd:after,
.cart-line-info dl.variation dd:after {
	content: "";
	display: block;
}
.wc-item-meta {
	list-style: none !important;
	padding: 0 !important;
}
.wc-item-meta li {
	margin: 0 0 4px !important;
}

/* ---------- My Account: Addresses tab ---------- */
.account-addresses-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.account-address-col h2 { font-family: var(--serif); font-size: 19px; margin-bottom: 20px; font-weight: normal; }
.account-address-col .woocommerce-address-fields__field-wrapper > p { margin-bottom: 18px !important; }
.account-address-col .woocommerce-address-fields__submit { margin-top: 24px !important; }
.account-address-col .woocommerce-address-fields__submit button,
.account-address-col .woocommerce-address-fields__submit .button {
	background: var(--soft-black) !important;
	color: var(--ivory) !important;
	border: none !important;
	padding: 14px 30px !important;
	font-size: 12px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}
@media (max-width: 720px) { .account-addresses-grid { grid-template-columns: 1fr; gap: 40px; } }

.woocommerce table.shop_table {
	border: none !important;
	border-collapse: collapse !important;
}
.woocommerce table.shop_table th {
	font-size: 11px !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink-40) !important;
	border-bottom: 1px solid var(--line-soft) !important;
	font-family: var(--sans) !important;
	padding-bottom: 18px !important;
}
.woocommerce table.shop_table td {
	border-bottom: 1px solid var(--line-soft) !important;
	padding: 22px 12px !important;
	vertical-align: middle !important;
}
.woocommerce table.cart img { width: 88px; border-radius: 2px; }
.woocommerce td.product-name a { font-family: var(--serif) !important; font-size: 17px !important; color: var(--espresso) !important; }
.woocommerce .quantity .qty {
	width: 70px !important; text-align: center !important; border: 1px solid var(--line) !important; padding: 10px !important;
}
.woocommerce a.remove {
	color: var(--ink-40) !important;
	border: none !important;
	background: none !important;
	font-size: 18px !important;
}
.woocommerce a.remove:hover { color: var(--soft-black) !important; background: none !important; }
.woocommerce-cart-form__cart-item .product-remove { text-align: center; }

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout .order-total {
	background: var(--warm-white) !important;
	border: 1px solid var(--line-soft) !important;
	padding: 30px !important;
}
.cart_totals h2 { font-size: 19px !important; margin-bottom: 18px !important; }
.cart_totals table.shop_table td, .cart_totals table.shop_table th { border: none !important; padding: 10px 0 !important; }
.cart_totals table.shop_table tr:last-child td, .cart_totals table.shop_table tr:last-child th {
	border-top: 1px solid var(--line-soft) !important; font-family: var(--serif) !important; font-size: 19px !important; padding-top: 18px !important;
}
.woocommerce-shipping-calculator .shipping-calculator-button { color: var(--champagne-dark) !important; }
#coupon_code { border-radius: 0 !important; }

/* ---------- Checkout page ---------- */
.woocommerce-checkout #payment,
.order-summary-box #payment {
	background: transparent !important;
	border: none !important;
}
ul.wc_payment_methods.payment_methods.methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
ul.wc_payment_methods li.wc_payment_method {
	border: 1px solid var(--line) !important;
	padding: 16px 18px !important;
	margin-bottom: 12px !important;
	list-style: none !important;
	background: var(--warm-white) !important;
}
ul.wc_payment_methods li.wc_payment_method label {
	font-family: var(--sans) !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	color: var(--espresso) !important;
}
ul.wc_payment_methods li.wc_payment_method input[type="radio"] {
	accent-color: var(--soft-black) !important;
	margin-right: 10px !important;
}
.woocommerce-checkout #payment div.payment_box,
.order-summary-box #payment div.payment_box {
	background: var(--cream) !important;
	padding: 14px !important;
	margin-top: 12px !important;
	font-size: 13px !important;
	border-radius: 0 !important;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.order-summary-box .place-order { margin-top: 20px !important; }
.order-summary-box .woocommerce-terms-and-conditions-wrapper { font-size: 12.5px !important; color: var(--ink-60) !important; margin-bottom: 14px !important; }
.woocommerce-checkout-review-order-table { border: none !important; }

/* ---------- My Account ---------- */
.woocommerce-MyAccount-navigation ul { border: none !important; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line-soft) !important; }
.woocommerce-MyAccount-navigation li a {
	padding: 14px 16px !important;
	font-family: var(--sans) !important;
	font-size: 14px !important;
	color: var(--ink-60) !important;
	border-left: 2px solid transparent !important;
	display: block;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
	color: var(--soft-black) !important;
	border-left-color: var(--champagne-dark) !important;
	background: var(--cream) !important;
}
.woocommerce-orders-table__cell-order-status mark { background: none !important; color: inherit !important; }

/* ---------- Shop archive / loop (fallback styling when content-product.php override isn't installed) ---------- */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 28px 24px !important;
	list-style: none !important;
	margin: 0 !important;
}
@media (max-width: 1080px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 720px)  { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}
.woocommerce ul.products li.product img { border-radius: 2px !important; aspect-ratio: 3/3.9; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--serif) !important;
	font-size: 17px !important;
	font-weight: 500 !important;
	color: var(--espresso) !important;
	margin-top: 16px !important;
}
.woocommerce ul.products li.product .price {
	color: var(--champagne-dark) !important;
	font-family: var(--sans) !important;
	font-weight: 600 !important;
}
.woocommerce ul.products li.product .price del { color: var(--ink-40) !important; }
.woocommerce ul.products li.product .star-rating { color: var(--champagne-dark) !important; }
.woocommerce ul.products li.product .button {
	position: static !important;
	margin-top: 14px !important;
}

/* ---------- Price filter / category widgets (shop sidebar) ---------- */
.widget_price_filter .price_slider_amount { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.widget_price_filter .price_slider_amount .button { padding: 8px 16px !important; font-size: 11px !important; }
.widget_price_filter .ui-slider .ui-slider-range { background: var(--champagne-dark) !important; }
.widget_price_filter .ui-slider .ui-slider-handle { background: var(--soft-black) !important; border: none !important; border-radius: 50% !important; }
.woocommerce ul.product-categories { list-style: none; margin: 0; padding: 0; }
.woocommerce ul.product-categories li { border-bottom: 1px solid var(--line-soft); }
.woocommerce ul.product-categories li a {
	display: flex; justify-content: space-between; padding: 8px 0; font-size: 14px; color: var(--ink-60) !important;
}
.woocommerce ul.product-categories li a:hover { color: var(--espresso) !important; }

/* ---------- Pagination ---------- */
.woocommerce nav.woocommerce-pagination ul { border: none !important; display: flex; gap: 10px; }
.woocommerce nav.woocommerce-pagination ul li { border: none !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--line) !important;
	width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
	border-radius: 0 !important;
	font-family: var(--sans) !important;
	color: var(--espresso) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--soft-black) !important; color: var(--ivory) !important;
}

/* ---------- Single product summary (when using WooCommerce's own hooks) ---------- */
.lgc-woo-single-summary .price {
	font-family: var(--serif) !important;
	font-size: 26px !important;
	color: var(--espresso) !important;
}
.lgc-woo-single-summary .price ins { color: var(--champagne-dark) !important; text-decoration: none; }
.lgc-woo-single-summary .price del { color: var(--ink-40) !important; }
.lgc-woo-addtocart table.variations { width: 100%; margin-top: 20px; }
.lgc-woo-addtocart table.variations td { padding: 8px 0; }
.lgc-woo-addtocart table.variations select {
	border: 1px solid var(--line) !important; padding: 11px 16px !important; background: var(--warm-white) !important;
}
.lgc-woo-addtocart .quantity { display: inline-flex; border: 1px solid var(--line); margin-right: 14px; }
.lgc-woo-addtocart .quantity .qty { border: none !important; width: 60px !important; text-align: center; }
.lgc-woo-addtocart .single_add_to_cart_button { margin-top: 16px; }
.lgc-woo-reviews .comment-form input, .lgc-woo-reviews .comment-form textarea {
	border: 1px solid var(--line) !important; padding: 12px 14px !important; background: var(--warm-white) !important; width: 100%;
}
.lgc-woo-reviews .star-rating { color: var(--champagne-dark) !important; }

/* ---------- Wrap scope (paranoia reset, in case a theme injects Bootstrap/etc.) ---------- */
.lgc-woo-wrap * { box-sizing: border-box; }
