/*
Theme Name: Shoptimizer Child
Theme URI: https://www.commercegurus.com/wordpress-themes/shoptimizer
Template: shoptimizer
Author: CommerceGurus
Author URI: https://www.commercegurus.com/
Description: Shoptimizer child theme for Pure Elite Peptides.
Tags: e-commerce
Version: 2.9.8.1787620000
Updated: 2026-08-25

*/

/* Homepage: no page title above hero */
body.home .entry-header,
body.page-id-2 .entry-header {
	display: none !important;
}

/* ------------------------------------------------------------------
 * Shop promo banner: full content width.
 * Theme sets header img { width:50% } which blows up the truck emoji
 * and caps .page-description at ~half width.
 * ------------------------------------------------------------------ */
body.post-type-archive-product header.woocommerce-products-header {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: transparent !important;
	overflow: visible;
	margin-bottom: 1.5rem;
	width: 100%;
}

body.post-type-archive-product header.woocommerce-products-header .page-description {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

body.post-type-archive-product header.woocommerce-products-header .page-description > p {
	display: none; /* leftover wpautop comment wrappers */
}

body.post-type-archive-product header.woocommerce-products-header img.emoji,
body.post-type-archive-product header.woocommerce-products-header .page-description img {
	width: 1.35em !important;
	height: 1.35em !important;
	max-width: 1.35em !important;
	display: inline !important;
	vertical-align: -0.15em;
	margin: 0 0.15em 0 0 !important;
}

.pep-shop-promo {
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 1.5rem;
}

.pep-shop-promo__shipping {
	background: #00ff88;
	color: #000;
	text-align: center;
	padding: 14px 20px;
	font-size: 1.25rem;
	font-weight: 700;
	width: 100%;
	box-sizing: border-box;
}

.pep-shop-promo__deals {
	background: #1a1a1a;
	color: #fff;
	text-align: center;
	padding: 14px 20px;
	font-size: 1.15rem;
	width: 100%;
	box-sizing: border-box;
	border-top: 2px solid #00ff88;
	border-bottom: 2px solid #00ff88;
}

.pep-shop-promo__off {
	color: #00ff88;
}

.pep-shop-promo__sep {
	margin: 0 0.75rem;
	opacity: 0.55;
}

.pep-shop-promo__deal {
	white-space: nowrap;
}

.pep-shop-promo__note {
	display: block;
	margin-top: 8px;
	font-size: 1rem;
	opacity: 0.9;
}

@media (max-width: 700px) {
	.pep-shop-promo__sep {
		display: none;
	}
	.pep-shop-promo__deal {
		display: block;
		white-space: normal;
		margin: 0.25rem 0;
	}
}

/* ------------------------------------------------------------------
 * Product card images: compact vials, natural proportions (no stretch).
 * ------------------------------------------------------------------ */
ul.products li.product:not(.product-category) .woocommerce-image__wrapper {
	aspect-ratio: 1 / 1;
	max-height: 275px;
	background: #f3f4f6;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

ul.products li.product:not(.product-category) .woocommerce-image__wrapper img,
ul.products li.product:not(.product-category) img.attachment-woocommerce_thumbnail,
ul.products li.product:not(.product-category) img.wp-post-image {
	width: auto !important;
	height: auto !important;
	max-width: 188px !important;
	max-height: 238px !important;
	margin: 0 auto;
	object-fit: contain !important;
	object-position: center center !important;
}

/* Related / upsells / empty-cart “New in store” (wc-block-grid): compact vials */
.related.products ul.products li.product .woocommerce-image__wrapper,
.upsells.products ul.products li.product .woocommerce-image__wrapper,
body.woocommerce-cart .wc-block-grid__product-image,
body.woocommerce-checkout .wc-block-grid__product-image {
	max-height: 225px;
	aspect-ratio: 1 / 1;
	width: 100%;
	background: #f3f4f6;
	overflow: hidden;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center;
}

.related.products ul.products li.product .woocommerce-image__wrapper img,
.related.products ul.products li.product img.attachment-woocommerce_thumbnail,
.related.products ul.products li.product img.wp-post-image,
.upsells.products ul.products li.product .woocommerce-image__wrapper img,
.upsells.products ul.products li.product img.attachment-woocommerce_thumbnail,
.upsells.products ul.products li.product img.wp-post-image,
body.woocommerce-cart .wc-block-grid__product-image img,
body.woocommerce-checkout .wc-block-grid__product-image img {
	float: none !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 150px !important;
	max-height: 200px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	object-position: center center !important;
}

/* Cart “New in store”: equal cards, centered image + title */
body.woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__products,
body.woocommerce-cart ul.wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
	align-items: stretch;
}

@media (max-width: 992px) {
	body.woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__products,
	body.woocommerce-cart ul.wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	body.woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__products,
	body.woocommerce-cart ul.wc-block-grid__products {
		grid-template-columns: 1fr;
	}
}

body.woocommerce-cart .wc-block-grid__product {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	height: 100%;
	text-align: center !important;
	background: #ffffff;
	border-radius: 4px;
	overflow: hidden;
	box-sizing: border-box;
}

body.woocommerce-cart .wc-block-grid__product-link {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	width: 100%;
	text-align: center !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-grid__product-title,
body.woocommerce-cart a.wc-block-grid__product-link .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-grid__product-price,
body.woocommerce-cart .wc-block-grid__product-price *,
body.woocommerce-cart .wc-block-grid__product-add-to-cart {
	text-align: center !important;
	color: #111111 !important;
	width: 100%;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
	box-sizing: border-box;
}

body.woocommerce-cart .wc-block-grid__product-title {
	font-weight: 600;
	margin: 0.75rem 0 0.35rem !important;
}

body.woocommerce-cart .wc-block-grid__product-price {
	margin: 0 0 0.75rem !important;
}

body.woocommerce-cart .wc-block-grid__product:hover .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-grid__product:hover a.wc-block-grid__product-link .wc-block-grid__product-title {
	color: #0a7a4a !important;
}

/* Empty-cart headings stay light on dark canvas */
body.woocommerce-cart .wp-block-heading,
body.woocommerce-cart .wc-block-cart__empty-cart__title {
	color: #f2f4f8 !important;
}

/* Flip/hover secondary image must also contain, not cover-stretch */
@media (min-width: 993px) {
	ul.products li.product:hover .woocommerce-image__wrapper .gallery-image,
	ul.products li.product:hover .woocommerce-image__wrapper .gallery-image img {
		object-fit: contain !important;
		width: auto !important;
		height: auto !important;
		max-width: 188px !important;
		max-height: 238px !important;
	}

	.related.products ul.products li.product:hover .woocommerce-image__wrapper .gallery-image,
	.related.products ul.products li.product:hover .woocommerce-image__wrapper .gallery-image img,
	.upsells.products ul.products li.product:hover .woocommerce-image__wrapper .gallery-image,
	.upsells.products ul.products li.product:hover .woocommerce-image__wrapper .gallery-image img {
		max-width: 150px !important;
		max-height: 200px !important;
	}
}

/* ------------------------------------------------------------------
 * Shop archive: product title/price/meta readable on dark body.
 * Title text lives on the inner <a> (#2c2d33 by default) — not the h2/div.
 * On hover the white ::before card needs dark text again.
 * ------------------------------------------------------------------ */
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title a,
body.post-type-archive-product ul.products li.product .woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title a,
body.tax-product_cat ul.products li.product .woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price *,
body.tax-product_cat ul.products li.product .price,
body.tax-product_cat ul.products li.product .price *,
body.post-type-archive-product ul.products li.product .product__categories,
body.post-type-archive-product ul.products li.product .product__categories a,
body.tax-product_cat ul.products li.product .product__categories,
body.tax-product_cat ul.products li.product .product__categories a {
	color: #f2f4f8 !important;
}

body.post-type-archive-product ul.products li.product .product__categories,
body.post-type-archive-product ul.products li.product .product__categories a,
body.tax-product_cat ul.products li.product .product__categories,
body.tax-product_cat ul.products li.product .product__categories a {
	color: #a8b0c0 !important;
}

body.post-type-archive-product ul.products li.product:hover .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product:hover .woocommerce-loop-product__title a,
body.post-type-archive-product ul.products li.product:hover .woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product:focus-within .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product:focus-within .woocommerce-loop-product__title a,
body.post-type-archive-product ul.products li.product:focus-within .woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product:hover .price,
body.post-type-archive-product ul.products li.product:hover .price *,
body.post-type-archive-product ul.products li.product:focus-within .price,
body.post-type-archive-product ul.products li.product:focus-within .price *,
body.post-type-archive-product ul.products li.product:hover .product__categories,
body.post-type-archive-product ul.products li.product:hover .product__categories a,
body.post-type-archive-product ul.products li.product:focus-within .product__categories,
body.post-type-archive-product ul.products li.product:focus-within .product__categories a,
body.tax-product_cat ul.products li.product:hover .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product:hover .woocommerce-loop-product__title a,
body.tax-product_cat ul.products li.product:hover .price,
body.tax-product_cat ul.products li.product:hover .price *,
body.tax-product_cat ul.products li.product:hover .product__categories,
body.tax-product_cat ul.products li.product:hover .product__categories a {
	color: #0a0f1c !important;
}

body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb a {
	color: #c5ccd8 !important;
}

/* ------------------------------------------------------------------
 * Shop grid: hover "card" must not bleed onto neighbors.
 * Grid Features widens ::before by 30px and theme adds +30px height.
 * ------------------------------------------------------------------ */
@media (min-width: 993px) {
	.shoptimizer-grid-feature ul.products {
		row-gap: 2rem;
	}

	body:not(.static-cta-buttons) ul.products li.product:not(.product-category),
	.static-cta-buttons ul.products li.product:not(.product-category) {
		/* keep space under title/price for ATC */
		margin-bottom: 0.5rem;
	}

	ul.products li.product:not(.product-category):before,
	.shoptimizer-grid-feature ul.products li.product:not(.product-category):before {
		margin-left: 0 !important;
		margin-top: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}

	ul.products li.product:hover,
	ul.products li.product:focus-within {
		z-index: 3;
	}
}

/* Header cart total — theme mod shoptimizer_cart_color can be #000 on dark header. */
.site-header .shoptimizer-cart .cart-contents,
.site-header .shoptimizer-cart .cart-contents .amount,
.site-header .shoptimizer-cart .cart-contents .amount * {
	color: #ffffff !important;
}

/* Desktop primary nav on dark header bar (theme mod can drift to #000).
 * Do NOT apply white text on mobile — the slide-out drawer is white. */
@media (min-width: 993px) {
	.menu-primary-menu-container > ul > li > a,
	.menu-primary-menu-container > ul > li.nolink > span {
		color: #ffffff !important;
	}

	.menu-primary-menu-container > ul > li > a:hover,
	.menu-primary-menu-container > ul > li.current-menu-item > a,
	.menu-primary-menu-container > ul > li.current_page_item > a {
		color: #22ff88 !important;
	}

	.main-navigation ul.menu > li.menu-item-has-children > a::after {
		background-color: #ffffff !important;
	}

	.col-full-nav .shoptimizer-primary-navigation.col-full {
		display: flex;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.col-full-nav .main-navigation {
		flex: 1 1 auto;
		width: 100% !important;
		max-width: 100%;
	}

	.col-full-nav .primary-navigation,
	.col-full-nav .menu-primary-menu-container {
		display: block;
		width: 100% !important;
		max-width: 100%;
	}

	.col-full-nav .menu-primary-menu-container > ul.menu {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center;
		justify-content: center;
		gap: 1.35rem;
		width: 100% !important;
		margin: 0;
	}

	.col-full-nav .menu-primary-menu-container > ul.menu > li {
		flex: 0 0 auto;
		white-space: nowrap;
		text-align: left;
	}

	.col-full-nav .menu-primary-menu-container > ul.menu > li > a,
	.col-full-nav .menu-primary-menu-container > ul.menu > li.nolink > span {
		padding-left: 0;
		padding-right: 0;
		font-size: 0.875rem;
		letter-spacing: 0.01em;
		white-space: nowrap;
	}
}

/* Mobile: hamburger visible on dark header; drawer links dark on white. */
@media (max-width: 992px) {
	.site-branding button.menu-toggle .bar {
		background-color: #f2f4f8 !important;
	}

	.site-branding button.menu-toggle .bar-text {
		color: #f2f4f8 !important;
	}

	.col-full-nav,
	.col-full-nav .main-navigation,
	.col-full-nav .menu-primary-menu-container,
	.col-full-nav .shoptimizer-mobile-menu {
		color: #111111;
	}

	.col-full-nav .menu-primary-menu-container > ul > li > a,
	.col-full-nav .menu-primary-menu-container > ul > li.nolink > span,
	.col-full-nav .main-navigation ul.menu li a,
	.col-full-nav .main-navigation ul.menu li.nolink > span,
	.col-full-nav .main-navigation ul.menu .sub-menu-wrapper a,
	.col-full-nav .shoptimizer-mobile-menu a,
	.col-full-nav .mobile-extra a,
	.col-full-nav .mobile-extra h2,
	.col-full-nav .mobile-extra h4,
	.col-full-nav .mobile-extra .heading,
	.col-full-nav .mobile-extra .widget p {
		color: #111111 !important;
	}

	.col-full-nav .menu-primary-menu-container > ul > li > a:hover,
	.col-full-nav .menu-primary-menu-container > ul > li.current-menu-item > a,
	.col-full-nav .menu-primary-menu-container > ul > li.current_page_item > a,
	.col-full-nav .main-navigation ul.menu li a:hover,
	.col-full-nav .main-navigation ul.menu li.current-menu-item > a,
	.col-full-nav .shoptimizer-mobile-menu a:hover {
		color: #0a7a4a !important;
	}

	.col-full-nav .main-navigation ul.menu li.menu-item-has-children span.caret:after {
		background-color: #111111 !important;
	}

	.col-full-nav .main-navigation ul.menu > li.menu-item-has-children > a::after {
		background-color: #111111 !important;
	}
}

/* ------------------------------------------------------------------
 * Static pages sit on the dark body background (#0a0f1c).
 * Theme typography sets .entry-content / headings to #111–#222 (for
 * light panels). Force readable light text on policy & content pages.
 * ------------------------------------------------------------------ */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-header .entry-title,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content p,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content ul,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content ol,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content li,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content li *:not(input):not(textarea):not(select):not(option),
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .content-area .entry-content li,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .site-main .entry-content li,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content h1,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content h2,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content h3,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content h4,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content strong,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-breadcrumb,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-breadcrumb a,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-breadcrumb span {
	color: #f2f4f8 !important;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content a {
	color: #00e5c0 !important;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content a:hover {
	color: #22ff88 !important;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content ul,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content ol {
	padding-left: 1.25rem;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content h3 {
	margin-top: 1.75rem;
	margin-bottom: 0.75rem;
}

/* Cart / checkout text on dark background — scoped */
body.woocommerce-cart,
body.woocommerce-checkout {
	background: #0a0a0a;
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout {
	color: #f0f0f0;
}

body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-cart h1,
body.woocommerce-cart h2,
body.woocommerce-checkout h1,
body.woocommerce-checkout h2 {
	color: #f0f0f0;
}

/* ------------------------------------------------------------------
 * Order received / thank-you: classic Woo markup (not Blocks).
 * Parent theme uses dark/#0d891c text on thank-you; body is dark —
 * force white copy. Keep form fields dark-on-white for typing.
 * ------------------------------------------------------------------ */
body.woocommerce-checkout.woocommerce-order-received p.woocommerce-thankyou-order-received,
body.woocommerce-order-received p.woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-notice--success {
	color: #ffffff !important;
}

body.woocommerce-order-received .entry-header .entry-title,
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received .entry-content > p,
body.woocommerce-order-received .woocommerce-breadcrumb,
body.woocommerce-order-received .woocommerce-breadcrumb a,
body.woocommerce-order-received .woocommerce-breadcrumb span,
body.woocommerce-order-received .woocommerce-order > p,
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-info,
body.woocommerce-order-received .woocommerce-message,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-order-details th,
body.woocommerce-order-received .woocommerce-order-details td,
body.woocommerce-order-received .woocommerce-table--order-details th,
body.woocommerce-order-received .woocommerce-table--order-details td,
body.woocommerce-order-received .woocommerce-bacs-bank-details,
body.woocommerce-order-received .woocommerce-bacs-bank-details p,
body.woocommerce-order-received .woocommerce-bacs-bank-details li,
body.woocommerce-order-received .riskpay360-resume,
body.woocommerce-order-received .riskpay360-resume p,
body.woocommerce-order-received .pep-crypto-instructions,
body.woocommerce-order-received .pep-crypto-instructions p,
body.woocommerce-order-received .pep-crypto-instructions li,
body.woocommerce-order-received .pep-crypto-instructions strong,
body.woocommerce-order-received form.woocommerce-form-login,
body.woocommerce-order-received form.woocommerce-form-login p,
body.woocommerce-order-received form.woocommerce-form-login label,
body.woocommerce-order-received form.login,
body.woocommerce-order-received form.login p,
body.woocommerce-order-received form.login label,
body.woocommerce-order-received .woocommerce-form__label-for-checkbox span {
	color: #ffffff !important;
}

/* Shoptimizer order summary strip is a light panel — dark text required */
body.woocommerce-order-received ul.order_details,
body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received ul.order_details li,
body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-order-received .woocommerce-order-overview li,
body.woocommerce-order-received ul.order_details li strong,
body.woocommerce-order-received ul.woocommerce-order-overview li strong,
body.woocommerce-order-received .woocommerce-order-overview li strong,
body.woocommerce-order-received ul.order_details li mark,
body.woocommerce-order-received ul.woocommerce-order-overview li mark,
body.woocommerce-order-received .woocommerce-order-overview li mark {
	color: #111111 !important;
}

body.woocommerce-order-received .entry-content a,
body.woocommerce-order-received .woocommerce-order a,
body.woocommerce-order-received form.login a,
body.woocommerce-order-received form.woocommerce-form-login a,
body.woocommerce-order-received .lost_password a {
	color: #00e5c0 !important;
}

body.woocommerce-order-received .entry-content a:hover,
body.woocommerce-order-received .woocommerce-order a:hover,
body.woocommerce-order-received form.login a:hover,
body.woocommerce-order-received form.woocommerce-form-login a:hover {
	color: #22ff88 !important;
}

body.woocommerce-order-received form.login input.input-text,
body.woocommerce-order-received form.login input[type="text"],
body.woocommerce-order-received form.login input[type="email"],
body.woocommerce-order-received form.login input[type="password"],
body.woocommerce-order-received form.woocommerce-form-login input.input-text,
body.woocommerce-order-received form.woocommerce-form-login input[type="text"],
body.woocommerce-order-received form.woocommerce-form-login input[type="email"],
body.woocommerce-order-received form.woocommerce-form-login input[type="password"] {
	color: #111111 !important;
	background-color: #ffffff !important;
	caret-color: #111111 !important;
}

body.woocommerce-order-received form.login input::placeholder,
body.woocommerce-order-received form.woocommerce-form-login input::placeholder {
	color: #666666 !important;
	opacity: 1 !important;
}

/* ------------------------------------------------------------------
 * My Account forms on dark body: light labels, dark text in white inputs
 * ------------------------------------------------------------------ */
body.woocommerce-account .woocommerce-MyAccount-content label,
body.woocommerce-account .woocommerce-MyAccount-content legend,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Input + span,
body.woocommerce-account form.login label,
body.woocommerce-account form.register label,
body.woocommerce-account form.lost_reset_password label,
body.woocommerce-account .woocommerce-form-login label,
body.woocommerce-account .woocommerce-form-register label,
body.woocommerce-account .woocommerce-Address title,
body.woocommerce-account .woocommerce-Address-title title,
body.woocommerce-account .woocommerce-address-fields label,
body.woocommerce-account .u-column1 label,
body.woocommerce-account .u-column2 label {
	color: #f2f4f8 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content em,
body.woocommerce-account .woocommerce-MyAccount-content .description,
body.woocommerce-account .woocommerce-password-strength,
body.woocommerce-account .woocommerce-password-hint {
	color: #c5cad3 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="number"],
body.woocommerce-account .woocommerce-MyAccount-content textarea,
body.woocommerce-account .woocommerce-MyAccount-content select,
body.woocommerce-account form.login input.input-text,
body.woocommerce-account form.register input.input-text,
body.woocommerce-account form.lost_reset_password input.input-text,
body.woocommerce-account .woocommerce-address-fields input.input-text,
body.woocommerce-account .woocommerce-address-fields select,
body.woocommerce-account .woocommerce-address-fields textarea {
	color: #111111 !important;
	background-color: #ffffff !important;
	caret-color: #111111 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content input::placeholder,
body.woocommerce-account .woocommerce-MyAccount-content textarea::placeholder,
body.woocommerce-account form.login input::placeholder {
	color: #666666 !important;
	opacity: 1 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .show-password-input,
body.woocommerce-account .woocommerce-MyAccount-content .show-password-input::after {
	color: #111111 !important;
}

/* My Account tables (Gift Cards, Orders, Downloads, etc.) */
body.woocommerce-account .woocommerce-MyAccount-content table th,
body.woocommerce-account .woocommerce-MyAccount-content table thead th,
body.woocommerce-account .woocommerce-MyAccount-content .shop_table th,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-giftcards-table th,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-giftcards-activity-table th {
	color: #f2f4f8 !important;
	border-color: rgba(242, 244, 248, 0.25) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content table td,
body.woocommerce-account .woocommerce-MyAccount-content .shop_table td,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td {
	color: #e8eaf0 !important;
	border-color: rgba(242, 244, 248, 0.15) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Giftcards,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Giftcards .amount,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-Giftcards-balance-amount,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-Giftcards-balance-amount .amount {
	color: #f2f4f8 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-Giftcards-form input.input-text {
	color: #111111 !important;
	background-color: #ffffff !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-Giftcards-form input.input-text::placeholder {
	color: #666666 !important;
	opacity: 1 !important;
}

/* ------------------------------------------------------------------
 * Checkout province/state dropdown: dark text on white list
 * (clearing the field opens a white suggestion panel).
 * ------------------------------------------------------------------ */
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout .wc-block-components-combobox .components-form-token-field__input,
body.woocommerce-checkout select option,
body.woocommerce-checkout select optgroup,
body.woocommerce-checkout #billing_state option,
body.woocommerce-checkout #shipping_state option,
body.woocommerce-checkout .components-form-token-field__suggestion,
body.woocommerce-checkout .components-popover .components-form-token-field__suggestion,
body.woocommerce-checkout [role="listbox"] [role="option"],
body.woocommerce-checkout .select2-results__option {
	color: #111111 !important;
	background-color: #ffffff !important;
}

body.woocommerce-checkout .components-form-token-field__suggestions-list,
body.woocommerce-checkout .select2-dropdown {
	background-color: #ffffff !important;
	color: #111111 !important;
}

body.woocommerce-checkout .components-form-token-field__suggestion:hover,
body.woocommerce-checkout .components-form-token-field__suggestion.is-selected,
body.woocommerce-checkout [role="option"]:hover,
body.woocommerce-checkout [role="option"][aria-selected="true"],
body.woocommerce-checkout .select2-results__option--highlighted {
	color: #111111 !important;
	background-color: #e6e8ec !important;
}

/* ------------------------------------------------------------------
 * Free-shipping progress (site-wide + mini-cart).
 * Tokens: #00ff88 accent, #0a0a0a / #141414 surfaces (shop promo).
 * ------------------------------------------------------------------ */
.pep-fs-bar {
	--pep-fs-accent: #00ff88;
	--pep-fs-ink: #0a0a0a;
	--pep-fs-muted: #c8ccc4;
	background: #141414;
	color: #f4f6f1;
	border-bottom: 1px solid rgba(0, 255, 136, 0.28);
}

.pep-fs-bar[hidden] {
	display: none !important;
}

.pep-fs-bar__inner {
	max-width: 72rem;
	margin: 0 auto;
	padding: 0.7rem 1.25rem 0.85rem;
}

.pep-fs-bar__msg {
	margin: 0 0 0.45rem;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.35;
	color: #f4f6f1;
	text-align: left;
}

.pep-fs-bar.is-unlocked .pep-fs-bar__msg {
	color: var(--pep-fs-accent);
}

.pep-fs-bar__track {
	display: block;
	width: 100%;
	height: 6px;
	border-radius: 999px;
	background: #2a2a2a;
	overflow: hidden;
}

.pep-fs-bar__fill {
	display: block;
	height: 100%;
	width: 0;
	border-radius: inherit;
	background: var(--pep-fs-accent);
	transition: width 220ms ease-out;
}

.pep-fs-bar.is-unlocked .pep-fs-bar__fill {
	width: 100% !important;
}

.pep-fs-bar--minicart {
	border-bottom: none;
	border-top: 1px solid rgba(0, 255, 136, 0.28);
	margin: 0 0 0.75rem;
}

.pep-fs-bar--minicart .pep-fs-bar__inner {
	padding: 0.75rem 1rem 0.85rem;
}

.pep-fs-bar--cart .pep-fs-bar__inner {
	padding: 0.85rem 0 1rem;
}

@media (prefers-reduced-motion: reduce) {
	.pep-fs-bar__fill {
		transition: none;
	}
}

/* ------------------------------------------------------------------
 * COA library on /coas-lab-results/ (dark page canvas).
 * Accent #00ff88, surfaces #141414 / #1a1a1a (shop promo).
 * ------------------------------------------------------------------ */
.pep-coa-library {
	margin: 0 0 2.75rem;
	padding: 0 0 2rem;
	border-bottom: 1px solid rgba(0, 255, 136, 0.22);
}

.pep-coa-library h2 {
	margin: 0 0 0.65rem;
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #f2f4f8 !important;
}

.pep-coa-library > p {
	margin: 0 0 1.25rem;
	max-width: 42rem;
	color: #c8ccc4 !important;
	font-size: 1rem;
	line-height: 1.55;
}

.pep-coa-library__list {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.pep-coa-library__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.95rem 1.1rem;
	background: #141414;
	border: 1px solid rgba(242, 244, 248, 0.1);
	border-radius: 6px;
}

.pep-coa-library__title {
	margin: 0 0 0.25rem;
	font-size: 1.05rem;
	font-weight: 650;
	line-height: 1.3;
}

.pep-coa-library__title a {
	color: #f2f4f8 !important;
	text-decoration: none;
}

.pep-coa-library__title a:hover,
.pep-coa-library__title a:focus-visible {
	color: #00ff88 !important;
}

.pep-coa-library__meta {
	margin: 0;
	font-size: 0.85rem;
	color: #c8ccc4 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
}

.pep-coa-library__pdf {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.95rem;
	font-size: 0.85rem;
	font-weight: 650;
	letter-spacing: 0.02em;
	color: #0a0a0a !important;
	background: #00ff88;
	border-radius: 4px;
	text-decoration: none !important;
	transition: filter 160ms ease-out, transform 160ms ease-out;
}

.pep-coa-library__pdf:hover,
.pep-coa-library__pdf:focus-visible {
	filter: brightness(1.08);
	color: #0a0a0a !important;
}

.pep-coa-library__pdf:focus-visible {
	outline: 2px solid #00ff88;
	outline-offset: 3px;
}

.pep-coa-library__pdf:active {
	transform: scale(0.98);
}

@media (max-width: 560px) {
	.pep-coa-library__item {
		flex-direction: column;
		align-items: flex-start;
	}
}
