/* Store pages in the theme palette (store-profile feature "cart_skin", every store).
   Everything is scoped to body.wd-wf-pages. My account and product grids are further scoped to body.wd-wf-full (the pet store only).
   Palette: 1 accent green, 2 deep green, 5 / 6 soft greens, 7 cream, 8 white.
   Sections: cart, checkout, thank-you/track order, my account, shop archive. */

body.wd-wf-pages {
	--wf-accent: var(--wd-accent, var(--theme-palette-color-1, #1e7a4c));
	--wf-deep: var(--wd-deep, var(--theme-palette-color-2, #0e3d27));
	--wf-line: var(--wd-line, var(--theme-palette-color-5, #d3e6d9));
	--wf-soft: var(--wd-soft, var(--theme-palette-color-6, #e4f2e8));
	--wf-cream: var(--wd-cream, var(--theme-palette-color-7, #fff9ee));
	--wf-white: var(--wd-white, var(--theme-palette-color-8, #fff));
	--wf-text: var(--theme-text-color, #1a1a17);
	--wf-radius: var(--wd-radius, 16px);
	--wf-amber: var(--wd-amber, #f5a524);
	--ncart-accent: var(--wf-accent);
	--ncart-radius: var(--wd-radius, 16px);
	--nchk-accent: var(--wf-accent);
}

/* ═══════════════ CART ═══════════════ */

/* our − / + already exist; the theme's own pair must not show inside them */
body.wd-wf-pages .wd-ncart-qty .quantity .ct-increase,
body.wd-wf-pages .wd-ncart-qty .quantity .ct-decrease { display: none !important; }

body.wd-wf-pages .wd-ncart .woocommerce-cart-form__cart-item {
	border: 1px solid var(--wf-line);
	border-radius: var(--wf-radius);
	background: var(--wf-white);
	box-shadow: 0 8px 22px -18px rgba(14, 61, 39, .55);
}
body.wd-wf-pages .wd-ncart .product-name a,
body.wd-wf-pages .wd-ncart .product-subtotal,
body.wd-wf-pages .wd-ncart .product-subtotal .amount {
	color: var(--wf-deep);
}
body.wd-wf-pages .wd-ncart .product-name a { font-weight: 700; }
body.wd-wf-pages .wd-ncart .product-thumbnail img,
body.wd-wf-pages .wd-ncart .product-thumbnail a {
	border-radius: 12px;
	background: var(--wf-soft);
}
body.wd-wf-pages .wd-ncart .wd-ncart-unit-price { color: var(--wf-text); opacity: .7; }

body.wd-wf-pages .wd-ncart .wd-ncart-qty {
	border: 1px solid var(--wf-line);
	border-radius: 12px;
	background: var(--wf-white);
}
body.wd-wf-pages .wd-ncart .wd-ncart-qty-btn {
	width: 36px;
	height: 38px;
	background: var(--wf-soft);
	color: var(--wf-deep);
	font-size: 17px;
	font-weight: 700;
}
body.wd-wf-pages .wd-ncart .wd-ncart-qty-btn:hover { background: var(--wf-deep); color: #fff; }
body.wd-wf-pages .wd-ncart .wd-ncart-qty .quantity {
	display: flex;
	align-items: center;
	margin: 0;
	border: 0;
	background: none;
	min-width: 0;
}
body.wd-wf-pages .wd-ncart .wd-ncart-qty input.qty {
	width: 44px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-weight: 700;
	color: var(--wf-deep);
}
body.wd-wf-pages .wd-ncart .wd-ncart-qty-btn.wd-qty-disabled,
body.wd-wf-pages .wd-ncart .wd-ncart-qty-btn[aria-disabled="true"] { opacity: .35; cursor: not-allowed; }

body.wd-wf-pages .wd-ncart a.remove {
	background: var(--wf-soft) !important;
	color: var(--wf-deep) !important;
	border-radius: 50%;
}
body.wd-wf-pages .wd-ncart a.remove:hover { background: #fde8e6 !important; color: #b42318 !important; }

/* variant chips */
body.wd-wf-pages .wd-ncart .wd-nchk-chip {
	border: 1px solid var(--wf-line);
	border-radius: 999px;
	background: var(--wf-soft);
	color: var(--wf-deep);
	font-weight: 600;
}

/* order summary */
body.wd-wf-pages .wd-ncart-summary {
	border: 1px solid var(--wf-line);
	border-radius: 20px;
	background: var(--wf-white);
	box-shadow: 0 14px 30px -24px rgba(14, 61, 39, .6);
}
body.wd-wf-pages .wd-ncart-summary-title { color: var(--wf-deep); font-weight: 800; }
body.wd-wf-pages .wd-ncart-summary .amount { color: var(--wf-deep); }
body.wd-wf-pages .wd-ncart-summary .order-total .amount { font-weight: 800; }
body.wd-wf-pages .wd-ncart-summary .wd-ncart-ship-note,
body.wd-wf-pages .wd-ncart-summary small { color: var(--wf-text); opacity: .7; }

/* buttons: deep green with an arrow, like the side cart */
body.wd-wf-pages .wd-ncart .checkout-button,
body.wd-wf-pages .wd-ncart a.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--wf-deep) !important;
	color: #fff !important;
	font-family: var(--theme-button-font-family, Montserrat, sans-serif);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	box-shadow: none !important;
}
body.wd-wf-pages .wd-ncart .checkout-button::after {
	content: "";
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* coupon */
body.wd-wf-pages .wd-nchk-coupon-row input,
body.wd-wf-pages .wd-ncart .coupon input[type="text"] {
	border: 1px solid var(--wf-line);
	border-radius: 12px 0 0 12px;
	background: var(--wf-white);
}
body.wd-wf-pages .wd-nchk-coupon-row button,
body.wd-wf-pages .wd-ncart .coupon button {
	border: 0;
	border-radius: 0 12px 12px 0;
	background: var(--wf-accent);
	color: #fff;
	font-weight: 700;
}

/* notices */
body.wd-wf-pages .woocommerce-message,
body.wd-wf-pages .woocommerce-info {
	border-radius: 14px;
	border: 1px solid var(--wf-line);
	background: var(--wf-soft);
	color: var(--wf-deep);
}
body.wd-wf-pages .woocommerce-message .button,
body.wd-wf-pages .woocommerce-info .button {
	border-radius: 12px;
	background: var(--wf-deep);
	color: #fff;
}

/* ═══════════════ MY ACCOUNT ═══════════════ */
body.wd-wf-pages.wd-wf-full .wd-acc-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 14px;
	margin: 22px 0 0;
}
body.wd-wf-pages.wd-wf-full .wd-acc-tile {
	display: grid;
	gap: 4px;
	padding: 20px;
	border: 1px solid var(--wf-line);
	border-radius: 20px;
	background: var(--wf-white);
	color: var(--wf-text);
	text-decoration: none !important;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
body.wd-wf-pages.wd-wf-full .wd-acc-tile:hover {
	transform: translateY(-4px);
	border-color: var(--wf-accent);
	box-shadow: 0 14px 26px -18px rgba(14, 61, 39, .6);
}
body.wd-wf-pages.wd-wf-full .wd-acc-tile__i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 8px;
	border-radius: 15px;
	background: var(--wf-soft);
	color: var(--wf-accent);
	transition: background .2s ease, color .2s ease;
}
body.wd-wf-pages.wd-wf-full .wd-acc-tile:hover .wd-acc-tile__i { background: var(--wf-accent); color: #fff; }
body.wd-wf-pages.wd-wf-full .wd-acc-tile__i svg { width: 24px; height: 24px; }
body.wd-wf-pages.wd-wf-full .wd-acc-tile strong { color: var(--wf-deep); font-size: 16px; }
body.wd-wf-pages.wd-wf-full .wd-acc-tile > span:last-child { font-size: 13px; opacity: .7; }

body.wd-wf-pages.wd-wf-full .woocommerce-MyAccount-navigation ul { border-radius: 20px; overflow: hidden; border: 1px solid var(--wf-line); }
body.wd-wf-pages.wd-wf-full .woocommerce-MyAccount-navigation li.is-active a { background: var(--wf-deep); color: #fff; }
body.wd-wf-pages.wd-wf-full .woocommerce-MyAccount-content {
	padding: 6px 4px;
}
body.wd-wf-pages.wd-wf-full .woocommerce-orders-table,
body.wd-wf-pages.wd-wf-full table.shop_table {
	border-radius: 16px;
	border-color: var(--wf-line);
}
body.wd-wf-pages.wd-wf-full .woocommerce-MyAccount-content .button,
body.wd-wf-pages.wd-wf-full .woocommerce-form-login .button,
body.wd-wf-pages.wd-wf-full .woocommerce-form-register .button,
body.wd-wf-pages.wd-wf-full .woocommerce-EditAccountForm .button {
	min-height: 48px;
	padding: 0 26px;
	border: 0;
	border-radius: 12px;
	background: var(--wf-deep);
	color: #fff;
	font-weight: 700;
}
body.wd-wf-pages.wd-wf-full .woocommerce-form-login,
body.wd-wf-pages.wd-wf-full .woocommerce-form-register,
body.wd-wf-pages.wd-wf-full .u-column1 form,
body.wd-wf-pages.wd-wf-full .u-column2 form {
	padding: 26px;
	border: 1px solid var(--wf-line) !important;
	border-radius: 22px !important;
	background: var(--wf-white);
}
body.wd-wf-pages.wd-wf-full .woocommerce-form-login input.input-text,
body.wd-wf-pages.wd-wf-full .woocommerce-form-register input.input-text,
body.wd-wf-pages.wd-wf-full .woocommerce-EditAccountForm input {
	border: 1px solid var(--wf-line);
	border-radius: 12px;
	background: var(--wf-white);
}
body.wd-wf-pages.wd-wf-full #customer_login h2,
body.wd-wf-pages.wd-wf-full .woocommerce-MyAccount-content h2,
body.wd-wf-pages.wd-wf-full .woocommerce-MyAccount-content h3 { color: var(--wf-deep); font-weight: 800; }

/* ═══════════════ PRODUCT GRIDS (not on the shop, category and tag pages, which are left to the theme) ═══════════════ */
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) .woocommerce-products-header { margin-bottom: 8px; }
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) .woocommerce-result-count { color: var(--wf-text); opacity: .7; }
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product .woocommerce-loop-product__title,
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product .woocommerce-loop-product__title a { color: var(--wf-deep); font-weight: 700; }
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product figure,
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product .ct-media-container {
	border-radius: 18px;
	overflow: hidden;
	background: var(--wf-soft);
}
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product .price,
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product .price .amount { color: var(--wf-deep); font-weight: 800; }
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product .price del .amount { color: var(--wf-text); opacity: .55; font-weight: 500; }
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product .ct-woo-card-actions .button,
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) ul.products li.product .button {
	border-radius: 12px;
}
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) .woocommerce-pagination .page-numbers.current,
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) .ct-pagination .current {
	background: var(--wf-deep);
	color: #fff;
}
body.wd-wf-pages.wd-wf-full:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) .woocommerce-ordering select {
	border: 1px solid var(--wf-line);
	border-radius: 12px;
}

/* ═══════════════ ORDER RECEIVED ═══════════════ */
body.wd-wf-pages .woocommerce-order-overview {
	border: 1px solid var(--wf-line);
	border-radius: 18px;
	background: var(--wf-soft);
}
body.wd-wf-pages .woocommerce-thankyou-order-received { color: var(--wf-deep); font-weight: 700; }

/* ═══════════════ CHECKOUT details ═══════════════ */
/* trust icons carry hard-coded stroke colours; make them one palette green */
body.wd-wf-pages .wd-nchk-trust svg,
body.wd-wf-pages .wd-nchk-trust-item svg { stroke: var(--wf-accent) !important; }
body.wd-wf-pages .wd-nchk-trust-item span { color: var(--wf-deep); font-weight: 600; }
/* selected payment card and its radio in the palette */
body.wd-wf-pages .wd-nchk-pay-selected,
body.wd-wf-pages .wc_payment_method input:checked + label { border-color: var(--wf-accent); }
body.wd-wf-pages #place_order {
	border: 0 !important;
	border-radius: 14px !important;
	background: var(--wf-deep) !important;
	color: #fff !important;
	font-family: var(--theme-button-font-family, Montserrat, sans-serif);
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	box-shadow: none !important;
}
body.wd-wf-pages #place_order:hover { filter: brightness(1.12); }
body.wd-wf-pages .woocommerce-checkout input[type="checkbox"] { accent-color: var(--wf-accent); }
body.wd-wf-pages .wd-nl-checkout { margin: 6px 0 14px; font-size: 14px; color: var(--wf-text); }

/* ═════════ Touch targets (phones) ═════════
   The header icons are 15-24px (menu 22, search 15, cart 24) and the footer links
   19px tall, well under the ~44px a thumb needs. The icons keep their look and
   position: an invisible pseudo-element grows the part that can be tapped. */
@media (max-width: 999.98px) {
	body.wd-wf-pages header .ct-header-trigger,
	body.wd-wf-pages header .ct-header-search,
	body.wd-wf-pages header a.ct-cart-item { position: relative; }
	body.wd-wf-pages header .ct-header-trigger::after,
	body.wd-wf-pages header .ct-header-search::after,
	body.wd-wf-pages header a.ct-cart-item::after {
		content: "";
		position: absolute;
		inset: -12px -9px;
	}
	body.wd-wf-pages footer.ct-footer .ct-widget a,
	body.wd-wf-pages footer.ct-footer .menu a { position: relative; }
	body.wd-wf-pages footer.ct-footer .ct-widget li a::after,
	body.wd-wf-pages footer.ct-footer .menu li a::after {
		content: "";
		position: absolute;
		inset: -7px 0;
	}
}
