/* ===========================================================================
   WELLSTASIS — PREMIUM DARK THEME  (site-wide)
   ===========================================================================
   One cached stylesheet, enqueued on every page. Replaces the old 39KB-per-page
   inline CSS AND flips the whole site to a black, brass-accented premium look.

   PEPYZ CLONE: change the two --wsl-accent tokens + the brand name in style.css.
   =========================================================================== */

:root {
	/* --- ACCENT (the only values Pepyz changes) --- */
	--wsl-accent:       #C9A86A;  /* brass, tuned brighter for dark backgrounds */
	--wsl-accent-deep:  #A27434;  /* deeper brass for hovers/borders           */

	/* --- ONE navy palette, top to bottom (no black, no charcoal) --- */
	--wsl-bg:           #0D1826;  /* the single page background — deep navy blue */
	--wsl-bg-2:         #10202F;  /* barely-there alt band                       */
	--wsl-surface:      #16293E;  /* cards — a step lighter than the page        */
	--wsl-surface-2:    #21384F;  /* the "lighter boxes" (how-it-works, hovers)  */
	--wsl-line:         #2C445E;  /* hairlines                                   */
	--wsl-line-soft:    #223547;

	--wsl-text:         #E7E9EE;  /* primary text — cool off-white               */
	--wsl-text-soft:    #97A6B8;  /* secondary text — slate                      */
	--wsl-heading:      #FBF4E6;  /* headings — warm cream                       */

	--wsl-navy:         #0D1826;  /* hero — same navy so the page reads as one   */
	--wsl-ok:           #5FB98C;
	--wsl-warn:         #E0B25A;
	--wsl-danger:       #E0776B;

	--wsl-font-display: 'Source Serif 4', Georgia, serif;
	--wsl-font-body:    'Inter', system-ui, -apple-system, sans-serif;

	--wsl-radius:       12px;
	--wsl-radius-sm:    7px;
	--wsl-shadow:       0 6px 24px rgba(0,0,0,.35);
	--wsl-shadow-lg:    0 14px 40px rgba(0,0,0,.5);
}

/* ---------------------------------------------------------------------------
   0. SITE-WIDE DARK BASE — applies to every page, not just the store.
   Targets Kadence's structural wrappers so header, body and footer all go dark.
   --------------------------------------------------------------------------- */

html, body {
	background: var(--wsl-bg) !important;
	color: var(--wsl-text);
}

body,
#wrapper,
.site,
.site-container,
.content-wrap,
.content-bg,
.site-main,
.entry-content-wrap,
.wp-site-blocks,
.content-container {
	background-color: var(--wsl-bg) !important;
	color: var(--wsl-text);
}

body { font-family: var(--wsl-font-body); line-height: 1.65; }

h1, h2, h3, h4,
.entry-title,
.entry-hero h1 {
	font-family: var(--wsl-font-display) !important;
	color: var(--wsl-heading) !important;
	line-height: 1.15;
}

p, li, span, td, th, dd, dt { color: var(--wsl-text); }
a { color: var(--wsl-accent); }
a:hover { color: var(--wsl-accent-deep); }

/* ---------------------------------------------------------------------------
   1. HEADER — dark bar, brass hairline, brass hover nav
   --------------------------------------------------------------------------- */

#masthead,
.site-header,
.site-header-wrap,
.site-main-header-wrap,
.site-top-header-wrap,
.site-header-row,
.site-header-inner-wrap,
.kadence-sticky-header,
.mobile-header-wrap {
	background: #0A1420 !important;
	border-bottom: 1px solid var(--wsl-line);
}

/* Nav links */
.header-navigation .menu > .menu-item > a,
#primary-menu > li > a,
.header-menu-container a,
.mobile-navigation a {
	color: var(--wsl-text) !important;
	font-family: var(--wsl-font-body) !important;
	font-weight: 500;
	letter-spacing: .01em;
}
.header-navigation .menu > .menu-item > a:hover,
#primary-menu > li > a:hover,
.header-menu-container a:hover,
.header-navigation .menu > .current-menu-item > a {
	color: var(--wsl-accent) !important;
}

/* Site title fallback (before logo shows) */
.site-title a, .site-branding a { color: var(--wsl-heading) !important; }

/* Logo sizing — big enough that "LABS" is legible */
.site-header .site-logo img,
.custom-logo-link img,
.site-branding img {
	max-height: 92px !important;
	width: auto !important;
}
/* give the header a touch more height so the bigger logo breathes */
.site-header-row-container-inner,
.site-branding { padding-top: 6px; padding-bottom: 6px; }

/* Header cart/search icons */
.header-cart-button, .header-search, .header-navigation .header-cart-wrap * {
	color: var(--wsl-text) !important;
}

/* ---------------------------------------------------------------------------
   2. FOOTER — deep black
   --------------------------------------------------------------------------- */

#colophon,
.site-footer,
.site-footer-wrap,
.site-middle-footer-wrap,
.site-top-footer-wrap,
.site-bottom-footer-wrap {
	background: #0A1420 !important;
	border-top: 1px solid var(--wsl-line);
	color: var(--wsl-text-soft);
}
.site-footer a { color: var(--wsl-text-soft); }
.site-footer a:hover { color: var(--wsl-accent); }

/* Remove the "Powered by WordPress / Kadence" credit line */
.site-footer .powered-by-kadence,
.site-footer-wrap .powered-by-kadence,
.footer-html .powered-by-kadence,
.site-bottom-footer-inner-wrap .footer-html,
.kadence-footer-html a[href*="kadencewp"],
.kadence-footer-html a[href*="wordpress.org"] { display: none !important; }

/* ---------------------------------------------------------------------------
   3. BUTTONS — brass, confident
   --------------------------------------------------------------------------- */

.wsl-btn,
body .button,
body button.button,
body a.button,
body button[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.single_add_to_cart_button,
#place_order,
.wp-block-button__link:not(.is-style-outline) {
	display: inline-block;
	background: var(--wsl-accent) !important;
	color: #14110A !important;
	border: 0;
	padding: 13px 24px;
	border-radius: var(--wsl-radius-sm);
	font-family: var(--wsl-font-body);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .01em;
	cursor: pointer;
	transition: transform .12s ease, background .15s ease, box-shadow .15s ease;
	text-decoration: none;
}
.wsl-btn:hover,
body .button:hover,
body a.button:hover,
.single_add_to_cart_button:hover,
#place_order:hover,
.wp-block-button__link:not(.is-style-outline):hover {
	background: #DBBE82 !important;
	color: #14110A !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(201,168,106,.25);
}

/* Outline buttons — brass hairline on dark */
.wsl-btn--ghost,
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--wsl-accent) !important;
	border: 1.5px solid var(--wsl-accent) !important;
}
.wsl-btn--ghost:hover,
.is-style-outline .wp-block-button__link:hover {
	background: var(--wsl-accent) !important;
	color: #14110A !important;
}

.single_add_to_cart_button { width: 100%; padding: 16px 22px; font-size: 16px; }

/* ---------------------------------------------------------------------------
   4. SHOP — the storefront. Premium dark cards.
   --------------------------------------------------------------------------- */

/* Archive / shop hero band — one navy, full width */
.page-hero-section,
.entry-hero,
.entry-hero-container,
.entry-hero-container-inner,
.woocommerce-products-header,
body.woocommerce .page-title,
.archive-hero-container {
	background: var(--wsl-bg) !important;
	border-bottom: 1px solid var(--wsl-line);
}
.woocommerce-products-header__title,
.page-hero-section .entry-title { color: var(--wsl-heading) !important; }

/* Result count + ordering bar */
.woocommerce-result-count,
.woocommerce-ordering .orderby,
.woocommerce-ordering select {
	color: var(--wsl-text-soft) !important;
	background: transparent;
}
.woocommerce-ordering select {
	background: var(--wsl-surface);
	border: 1px solid var(--wsl-line);
	border-radius: var(--wsl-radius-sm);
	padding: 8px 12px;
	color: var(--wsl-text) !important;
}

/* Product grid — spacing */
.woocommerce ul.products,
ul.products {
	gap: 22px;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	margin: 30px 0 !important;
}
.woocommerce ul.products li.product,
ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	background: var(--wsl-surface);
	border: 1px solid var(--wsl-line);
	border-radius: var(--wsl-radius);
	padding: 0 0 20px;
	overflow: hidden;
	box-shadow: var(--wsl-shadow);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--wsl-shadow-lg);
	border-color: var(--wsl-accent);
}

/* Product image area — dark tile so the placeholder logo sits on brand */
ul.products li.product a img,
ul.products li.product img {
	background: radial-gradient(120% 120% at 50% 35%, #1C2027 0%, #0E1116 100%);
	margin: 0 0 14px !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	padding: 22px;
	width: 100%;
}

ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
	font-family: var(--wsl-font-display) !important;
	font-size: 17px !important;
	color: var(--wsl-heading) !important;
	padding: 0 18px !important;
	margin: 4px 0 8px !important;
	line-height: 1.3;
}

ul.products li.product .price {
	padding: 0 18px !important;
	color: var(--wsl-accent) !important;
	font-weight: 700;
	font-size: 16px;
}
ul.products li.product .price del { color: var(--wsl-text-soft) !important; opacity: .6; }
ul.products li.product .price ins { color: var(--wsl-accent) !important; text-decoration: none; }

/* "Sold out" / stock label on the card */
ul.products li.product .wsl-stock-flag,
ul.products li.product .out-of-stock-badge {
	display: inline-block;
	margin: 10px 18px 0;
	padding: 4px 12px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wsl-text-soft);
	border: 1px solid var(--wsl-line);
	border-radius: 20px;
}

/* Card CTA button */
ul.products li.product a.button,
ul.products li.product a.added_to_cart {
	margin: 14px 18px 0 !important;
	text-align: center;
	display: block;
}

/* "Tested" trust ribbon on each card (added via CSS ::before on the title link) */
ul.products li.product .woocommerce-loop-product__link::before {
	content: "◆ Third-party tested";
	display: block;
	font-family: var(--wsl-font-body);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--wsl-accent);
	padding: 14px 18px 0;
}

/* ---------------------------------------------------------------------------
   5. SINGLE PRODUCT — buy box on dark
   --------------------------------------------------------------------------- */

.single-product div.product .product_title { color: var(--wsl-heading) !important; }
.single-product div.product p.price,
.single-product div.product span.price { color: var(--wsl-accent) !important; font-size: 26px; font-weight: 700; }
.single-product .woocommerce-product-gallery {
	background: radial-gradient(120% 120% at 50% 30%, #1C2027 0%, #0E1116 100%);
	border: 1px solid var(--wsl-line);
	border-radius: var(--wsl-radius);
	padding: 24px;
}

/* Product tabs */
.woocommerce-tabs ul.tabs { border: 0 !important; }
.woocommerce-tabs ul.tabs li {
	background: var(--wsl-surface) !important;
	border: 1px solid var(--wsl-line) !important;
	border-radius: var(--wsl-radius-sm) var(--wsl-radius-sm) 0 0 !important;
}
.woocommerce-tabs ul.tabs li.active { background: var(--wsl-surface-2) !important; border-bottom-color: var(--wsl-accent) !important; }
.woocommerce-tabs ul.tabs li a { color: var(--wsl-text) !important; }
.woocommerce-tabs ul.tabs li.active a { color: var(--wsl-accent) !important; }
.woocommerce-Tabs-panel { color: var(--wsl-text); }

/* ---------------------------------------------------------------------------
   6. BUY-BOX COMPONENTS (trust checklist, COA cta, RUO, spec table)
   --------------------------------------------------------------------------- */

.wsl-trust-checklist {
	list-style: none;
	margin: 22px 0 18px;
	padding: 18px 20px;
	background: var(--wsl-surface);
	border: 1px solid var(--wsl-line);
	border-radius: var(--wsl-radius);
}
.wsl-trust-checklist li {
	position: relative;
	padding: 9px 0 9px 26px;
	font-size: 14.5px;
	color: var(--wsl-text);
	border-bottom: 1px solid var(--wsl-line-soft);
}
.wsl-trust-checklist li:last-child { border-bottom: 0; }
.wsl-trust-checklist li::before {
	content: "\25C6"; position: absolute; left: 2px; top: 11px;
	color: var(--wsl-accent); font-size: 12px;
}

.wsl-coa-cta { margin: 0 0 18px; }
.wsl-coa-cta .wsl-btn { width: 100%; text-align: center; }

.wsl-coa-missing {
	background: rgba(224,119,107,.12);
	border-left: 5px solid var(--wsl-danger);
	color: var(--wsl-danger);
	padding: 12px 16px; border-radius: var(--wsl-radius-sm);
	font-size: 13px; font-weight: 600;
}

.wsl-ruo {
	background: rgba(201,168,106,.07);
	border-left: 5px solid var(--wsl-accent);
	border-radius: var(--wsl-radius-sm);
	padding: 14px 18px; margin: 20px 0;
}
.wsl-ruo p { margin: 0; font-size: 12.5px; line-height: 1.6; color: var(--wsl-text-soft); }
.wsl-ruo strong { color: var(--wsl-text); }

.wsl-ruo-consent {
	background: var(--wsl-surface); border: 1.5px solid var(--wsl-accent);
	border-radius: var(--wsl-radius-sm); padding: 16px 18px; margin: 18px 0;
}
.wsl-ruo-consent label { font-size: 13.5px; line-height: 1.55; display: flex; gap: 10px; align-items: flex-start; cursor: pointer; color: var(--wsl-text); }
.wsl-ruo-consent input[type="checkbox"] { margin-top: 3px; flex: 0 0 auto; width: 18px; height: 18px; accent-color: var(--wsl-accent); }
.wsl-consent-ok { color: var(--wsl-ok); font-weight: 700; }

.wsl-spec-table {
	width: 100%; border-collapse: collapse; margin: 18px 0;
	background: var(--wsl-surface); border: 1px solid var(--wsl-line);
	border-radius: var(--wsl-radius); overflow: hidden;
}
.wsl-spec-table th, .wsl-spec-table td {
	padding: 13px 18px; text-align: left; border-bottom: 1px solid var(--wsl-line-soft);
	font-size: 14.5px; vertical-align: top; color: var(--wsl-text);
}
.wsl-spec-table th { width: 34%; font-weight: 600; color: var(--wsl-heading); background: var(--wsl-surface-2); }
.wsl-spec-table tr:last-child th, .wsl-spec-table tr:last-child td { border-bottom: 0; }

/* Trust strip (homepage) */
.wsl-trust-strip { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; padding: 0; list-style: none; }
.wsl-trust-strip li { background: var(--wsl-surface); border: 1px solid var(--wsl-line); border-radius: 30px; padding: 8px 16px; font-size: 13px; font-weight: 600; color: var(--wsl-text); }

/* ---------------------------------------------------------------------------
   7. NOTICES / CART / CHECKOUT on dark
   --------------------------------------------------------------------------- */

.wsl-notice,
.woocommerce-info, .woocommerce-message, .woocommerce-store-notice {
	background: rgba(201,168,106,.08) !important;
	border-left: 5px solid var(--wsl-accent) !important;
	border-radius: var(--wsl-radius-sm);
	padding: 14px 18px; color: var(--wsl-text) !important;
}
.woocommerce-error {
	background: rgba(224,119,107,.1) !important;
	border-left: 5px solid var(--wsl-danger) !important;
	border-radius: var(--wsl-radius-sm); color: var(--wsl-text) !important;
}

.woocommerce table.shop_table,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #payment,
.woocommerce table.cart {
	background: var(--wsl-surface) !important;
	border: 1px solid var(--wsl-line) !important;
	border-radius: var(--wsl-radius);
	color: var(--wsl-text);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: var(--wsl-line-soft) !important; color: var(--wsl-text); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection,
input[type="text"], input[type="email"], input[type="tel"],
input[type="search"], input[type="url"], textarea, select {
	background: var(--wsl-bg-2) !important;
	border: 1px solid var(--wsl-line) !important;
	color: var(--wsl-text) !important;
	border-radius: var(--wsl-radius-sm);
}
::placeholder { color: var(--wsl-text-soft) !important; opacity: 1; }

/* Empty-cart page — make it feel intentional, not broken */
.woocommerce .cart-empty,
.woocommerce-mini-cart__empty-message,
.wc-empty-cart-message .cart-empty {
	font-family: var(--wsl-font-display);
	font-size: 20px;
	color: var(--wsl-heading) !important;
	text-align: center;
	margin: 30px 0 18px;
}
.woocommerce .return-to-shop { text-align: center; margin-bottom: 40px; }
.woocommerce .return-to-shop .button { display: inline-block; }

/* Cart / checkout tables + totals on navy */
.woocommerce table.cart td,
.woocommerce table.cart th,
.cart_totals table td, .cart_totals table th {
	background: var(--wsl-surface) !important;
	color: var(--wsl-text) !important;
	border-color: var(--wsl-line) !important;
}

/* ---------------------------------------------------------------------------
   8. REVIEWS
   --------------------------------------------------------------------------- */

.wsl-verified {
	display: inline-block; background: rgba(95,185,140,.14); color: var(--wsl-ok);
	font-size: 11px; font-weight: 700; font-style: normal; letter-spacing: .05em;
	text-transform: uppercase; padding: 3px 9px; border-radius: 20px; margin-left: 8px;
}
.star-rating span::before, .star-rating::before { color: var(--wsl-accent) !important; }

/* ---------------------------------------------------------------------------
   9. THE COA LIBRARY (dark)
   --------------------------------------------------------------------------- */

.wsl-coa-search {
	background: var(--wsl-surface); border: 1px solid var(--wsl-line);
	border-radius: var(--wsl-radius); padding: 28px; margin: 28px 0; box-shadow: var(--wsl-shadow);
}
.wsl-coa-search__label { display: block; font-family: var(--wsl-font-display); font-size: 20px; color: var(--wsl-heading); margin-bottom: 12px; }
.wsl-coa-search__row { display: flex; gap: 10px; }
.wsl-coa-search__row input {
	flex: 1; padding: 14px 16px; border: 1.5px solid var(--wsl-line); border-radius: var(--wsl-radius-sm);
	font-family: ui-monospace,'SF Mono',Menlo,monospace; font-size: 16px; letter-spacing: .04em;
	text-transform: uppercase; background: var(--wsl-bg-2); color: var(--wsl-text);
}
.wsl-coa-search__row input:focus { border-color: var(--wsl-accent); }
.wsl-coa-search__hint { margin: 12px 0 0; font-size: 13px; color: var(--wsl-text-soft); }
.wsl-coa-search__result { margin-top: 26px; }
.wsl-coa-search__found { font-size: 14px; color: var(--wsl-ok); font-weight: 600; margin-bottom: 14px; }

.wsl-coa-notfound { background: rgba(224,119,107,.1); border-left: 5px solid var(--wsl-danger); border-radius: var(--wsl-radius-sm); padding: 20px 24px; }
.wsl-coa-notfound p { margin: 0 0 10px; font-size: 14.5px; color: var(--wsl-text); }
.wsl-coa-notfound p:last-child { margin-bottom: 0; }
.wsl-coa-notfound__warning { font-weight: 700; color: var(--wsl-danger); font-size: 13px !important; padding-top: 10px; border-top: 1px solid rgba(224,119,107,.25); }

.wsl-coa-card { background: var(--wsl-surface); border: 1px solid var(--wsl-line); border-radius: var(--wsl-radius); padding: 24px; margin: 18px 0; box-shadow: var(--wsl-shadow); }
.wsl-coa-card__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-bottom: 16px; border-bottom: 2px solid var(--wsl-accent); }
.wsl-coa-card__title { margin: 0 0 4px; font-size: 21px; color: var(--wsl-heading); }
.wsl-coa-card__lot { margin: 0; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--wsl-text-soft); }
.wsl-coa-card__lot code { font-family: ui-monospace,'SF Mono',Menlo,monospace; background: var(--wsl-bg-2); border: 1px solid var(--wsl-line); border-radius: 4px; padding: 2px 8px; margin-left: 4px; color: var(--wsl-text); letter-spacing: .06em; font-size: 12.5px; }
.wsl-coa-card__purity { text-align: right; flex: 0 0 auto; }
.wsl-coa-card__purity-value { display: block; font-family: var(--wsl-font-display); font-size: 28px; font-weight: 700; color: var(--wsl-accent); line-height: 1; }
.wsl-coa-card__purity-label { display: block; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--wsl-text-soft); margin-top: 4px; }
.wsl-coa-card__results { list-style: none; margin: 18px 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.wsl-coa-result { background: var(--wsl-bg-2); border: 1px solid var(--wsl-line); border-radius: var(--wsl-radius-sm); padding: 12px 14px; text-align: center; }
.wsl-coa-result__label { display: block; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--wsl-text-soft); margin-bottom: 5px; }
.wsl-coa-result__value { display: block; font-weight: 700; font-size: 14.5px; }
.wsl-coa-result--pass { border-color: rgba(95,185,140,.4); background: rgba(95,185,140,.08); }
.wsl-coa-result--pass .wsl-coa-result__value { color: var(--wsl-ok); }
.wsl-coa-result--fail { border-color: rgba(224,119,107,.4); background: rgba(224,119,107,.08); }
.wsl-coa-result--fail .wsl-coa-result__value { color: var(--wsl-danger); }
.wsl-coa-result--not_tested { border-color: var(--wsl-line); background: var(--wsl-surface); }
.wsl-coa-result--not_tested .wsl-coa-result__value { color: var(--wsl-text-soft); font-weight: 600; }
.wsl-coa-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--wsl-line-soft); }
.wsl-coa-card__meta { margin: 0; font-size: 13px; color: var(--wsl-text-soft); }
.wsl-coa-card__meta strong { 
/* ---------------------------------------------------------------------------
   12. HEADER POLISH — logo only (hide redundant site-title text)
   ----------------------------------------------------------------------