/*
Theme Name: Ustone Child — Grey Markets
Theme URI: https://stairwaytogray.com
Description: Child theme of Ustone for the Grey Markets peptide marketplace. Holds all custom terminal-aesthetic styling and template overrides so the parent theme can be updated safely.
Author: STG
Template: ustone
Version: 1.0.0
Text Domain: ustone-child
*/
/* -------------------------------------------------------------------------
   Grey Markets — dark "gray-market speakeasy" terminal skin
   Layered on top of Ustone's data-bs-theme="dark". Converts the theme's
   white utility wrappers + hardcoded dark text to the STG dark palette.
   ------------------------------------------------------------------------- */
:root{
	--stg-bg:#e8e8e2; --stg-bg-2:#fbfbf7; --stg-bg-3:#efefe8;
	--stg-fg:#131312; --stg-muted:#5d5d57;
	--stg-accent:#1f3ae0; --stg-accent-2:#0c7a40; --stg-line:#cfcfc6;
	--stg-mono:"Mona Sans","SFMono-Regular",ui-monospace,Menlo,Consolas,monospace;
	/* feed Bootstrap dark vars so bs components match */
	--bs-body-bg:var(--stg-bg); --bs-body-color:var(--stg-fg);
	--bs-border-color:var(--stg-line);
}

/* ---- Page canvas ---- */
html, body,
#page, #page.page-content, .page-content,
.main-content, .site, .site-content, .content-area, #content,
.woocommerce, .woocommerce-page{
	background-color:var(--stg-bg) !important;
	color:var(--stg-fg) !important;
}

/* ---- Convert white / light utility surfaces ---- */
.bg-white,.bg-light,.bg-body,.bg-gray-50,.bg-gray-100,
[class*="bg-gray-1"],[class*="bg-gray-50"]{
	background-color:var(--stg-bg-2) !important;
}

/* ---- Text ---- */
body, p, li, dd, dt, blockquote, address, figcaption, caption, cite,
.text-dark,.text-black,.text-body,
[class*="text-gray-9"],[class*="text-gray-8"],[class*="text-gray-7"]{
	color:var(--stg-fg) !important;
}
.text-muted,[class*="text-gray-6"],[class*="text-gray-5"],[class*="text-gray-4"]{
	color:var(--stg-muted) !important;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3{ color:var(--stg-fg) !important; }
h1,h2,h3,.site-title,.page-title,.entry-title,.woocommerce-loop-product__title,.product_title{
	font-family:var(--stg-mono) !important; letter-spacing:.3px;
}
a{ color:var(--stg-accent); }
a:hover{ color:var(--stg-accent-2); }

/* ---- Borders ---- */
[class*="border-gray"],.border,.border-top,.border-bottom,.border-b-1,hr{
	border-color:var(--stg-line) !important;
}

/* ---- Header ---- */
#masthead,.header,.header.standard,.top-bar,.header-bottom{
	background-color:var(--stg-bg-2) !important;
	border-color:var(--stg-line) !important;
	color:var(--stg-fg) !important;
}
#masthead a,#masthead .site-title,#masthead .menu-item a,#masthead span,
.top-bar a,.header .menu a{ color:var(--stg-fg) !important; }
#masthead .menu-item a:hover{ color:var(--stg-accent) !important; }
.site-title,.site-title a{ font-family:var(--stg-mono) !important; font-weight:700; }

/* ---- Page title band ---- */
.page-header,.page-title-wrap,.breadcrumbs-wrap{
	background:linear-gradient(180deg,var(--stg-bg-2),var(--stg-bg)) !important;
	border-bottom:1px solid var(--stg-line);
}
.page-header .page-title,.page-header h1,.page-header *{ color:var(--stg-fg) !important; }

/* ---- Footer ---- */
footer,.site-footer,.footer,.copyright,.footer-bottom{
	background-color:#fbfbf7 !important; color:var(--stg-fg) !important;
	border-color:var(--stg-line) !important;
}
footer a,.site-footer a{ color:var(--stg-muted) !important; }
footer a:hover{ color:var(--stg-accent) !important; }

/* ---- Buttons ---- */
.button,.btn,button,.wp-block-button__link,input[type="submit"],
.single_add_to_cart_button,.checkout-button,.added_to_cart,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
	background-color:var(--stg-accent) !important;
	color:#fbfbf7 !important; border:none !important; font-weight:600;
	border-radius:8px !important;
}
.button:hover,.btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{
	filter:brightness(1.08); color:#fbfbf7 !important;
}
.is-style-outline .wp-block-button__link,.btn-outline,.btn-outline-primary{
	background:transparent !important; color:var(--stg-fg) !important;
	border:1px solid var(--stg-line) !important;
}

/* ---- Forms / inputs ---- */
input,select,textarea,.form-control,.select2-selection,
.select2-container--default .select2-selection--single{
	background-color:var(--stg-bg) !important; color:var(--stg-fg) !important;
	border:1px solid var(--stg-line) !important;
}
input::placeholder,textarea::placeholder{ color:var(--stg-muted) !important; }
.select2-dropdown,.select2-results__option{ background:var(--stg-bg-2) !important; color:var(--stg-fg) !important; }

/* ---- WooCommerce surfaces ---- */
ul.products li.product,.product-inner,.wc-block-grid__product,
.woocommerce ul.products li.product,.type-product{
	background-color:var(--stg-bg-2) !important;
	border:1px solid var(--stg-line) !important; border-radius:14px;
	padding:10px !important;
}
.woocommerce-loop-product__title,ul.products li.product a{ color:var(--stg-fg) !important; }
.price,.woocommerce-Price-amount,.amount{ color:var(--stg-accent-2) !important; }
.woocommerce table,.woocommerce table.shop_table,.cart_totals,
.woocommerce-checkout-review-order-table,.woocommerce-table,
.shop_table,table.cart{
	background-color:var(--stg-bg-2) !important; color:var(--stg-fg) !important;
	border-color:var(--stg-line) !important;
}
.woocommerce table td,.woocommerce table th,.shop_table td,.shop_table th{
	border-color:var(--stg-line) !important; color:var(--stg-fg) !important;
}
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce .cart-collaterals .cart_totals,
.woocommerce-notices-wrapper .woocommerce-message{
	background-color:var(--stg-bg-3) !important; color:var(--stg-fg) !important;
	border-top-color:var(--stg-accent) !important;
}
.star-rating span{ color:var(--stg-accent-2) !important; }

/* product placeholder image bg */
.woocommerce ul.products li.product a img,.wp-post-image{ border-radius:10px; background:var(--stg-bg-3); }

/* cards / widgets generic */
.card,.widget,.wc-block-components-panel{ background:var(--stg-bg-2) !important; border-color:var(--stg-line) !important; color:var(--stg-fg) !important; }

/* ---- Ustone header inner rows + action boxes (they carry their own white bg) ---- */
.header-row,.header-main,.header-navbar,.header-bottom,.header-top,.header-inner,
.mobile-header,.header-mobile,.header-search-form,
.action-icon,.action-dropdown,.action-dropdown-inner,.action-wrap,.header-actions{
	background-color:var(--stg-bg-2) !important; color:var(--stg-fg) !important;
	border-color:var(--stg-line) !important;
}
.header-navbar{ border-top:1px solid var(--stg-line) !important; }
.action-icon,.action-icon *{ color:var(--stg-fg) !important; }
.action-icon svg,.action-icon path,.header svg,.header path,.menu-toggle span{
	fill:currentColor !important; stroke:currentColor !important; color:var(--stg-fg) !important;
}
.action-count{ background-color:var(--stg-accent) !important; color:#fbfbf7 !important; }
.action-text,.action-label,.welcome-text,.action-title{ color:var(--stg-muted) !important; }

/* dropdown panels (account / cart / search) */
.action-dropdown-inner,.mini-cart,.widget_shopping_cart_content,.dropdown-menu{
	background-color:var(--stg-bg-2) !important; color:var(--stg-fg) !important;
	border:1px solid var(--stg-line) !important;
}

/* ---- Page title band ---- */
.page-header-background,.page-header .page-header-background{
	background:linear-gradient(180deg,var(--stg-bg-2),var(--stg-bg)) !important;
	opacity:1 !important;
}
.page-header,.page-header *{ color:var(--stg-fg) !important; }
.page-header .page-title{ color:var(--stg-fg) !important; }

/* ---- Nav menu links ---- */
.header .menu a,.header-navbar .menu-item a,#masthead .menu-item > a{
	color:var(--stg-fg) !important; font-family:var(--stg-mono) !important; font-size:14px;
}
.header .menu a:hover,#masthead .menu-item > a:hover{ color:var(--stg-accent) !important; }

/* keep our marketplace components readable everywhere */
.stg-storefront,.stg-timeline,.stg-pay-instructions{ color:var(--stg-fg); }

/* =========================================================================
   Audit fixes (2026-09-23)
   ========================================================================= */
/* No horizontal scroll (footer grid was 16px wider than the viewport). `clip` keeps sticky headers working. */
html,body{ overflow-x:clip; }
.footer-inner{ max-width:100%!important; }

/* Ustone renders <em> as a 12px block — restore normal inline emphasis in content. */
.entry-content em,.page-content .post-content em,main p em,main li em{ display:inline!important; font-size:inherit!important; }
.stg-byline em{ font-size:13px!important; color:var(--stg-muted)!important; }

/* Header brand: emblem + wordmark, never overlapping the menu / cart icons. */
#masthead .brand a{ display:inline-flex!important; align-items:center; gap:10px; white-space:nowrap; font-family:var(--stg-mono)!important; font-weight:700; letter-spacing:-.3px; font-size:24px!important; }
#masthead .brand a::before{ content:""; width:34px; height:34px; flex:0 0 34px; border-radius:50%; background:var(--stg-emblem) center/cover no-repeat,var(--stg-bg-3); box-shadow:0 0 0 1px var(--stg-line); }
@media(max-width:1023px){
	#masthead .brand a{ font-size:17px!important; gap:8px; }
	#masthead .brand a::before{ width:28px; height:28px; flex-basis:28px; }
	#masthead .column.inline-flex{ min-width:0; }
}
@media(max-width:380px){ #masthead .brand a{ font-size:15px!important; } }
#masthead .brand .brand-text{ font-family:var(--stg-mono)!important; font-size:26px!important; line-height:1!important; letter-spacing:-.5px; }
@media(max-width:1023px){
	#masthead .brand,#masthead .brand a{ max-width:100%; min-width:0; }
	#masthead .brand .brand-text{ font-size:16px!important; overflow:hidden; text-overflow:ellipsis; }
}
@media(max-width:360px){ #masthead .brand .brand-text{ font-size:14px!important; } }

/* Drawers (mobile menu, cart, account, search) were white with unreadable text. */
.drawer-inner,.drawer-inner-header,.drawer-inner-body,.drawer .form-search,form.form-search,.mini-cart-inner,.drawer-inner-footer{
	background-color:var(--stg-bg-2)!important; color:var(--stg-fg)!important; border-color:var(--stg-line)!important;
}
.drawer-inner a,.drawer-inner .menu a,.drawer-inner li a,.drawer-inner .entry-title,.drawer-inner h5,.drawer-inner span{ color:var(--stg-fg)!important; opacity:1!important; }
.drawer-inner .menu a:hover,.drawer-inner li a:hover{ color:var(--stg-accent)!important; }
.drawer-inner .menu li,.drawer-inner li{ border-color:var(--stg-line)!important; }
.drawer-inner .close-button svg,.drawer-inner svg{ color:var(--stg-fg)!important; stroke:currentColor; }
.drawer-inner-header .brand a,.drawer-inner .site-title a{ color:var(--stg-fg)!important; }
.drawer-overlay{ background:rgba(6,7,12,.6)!important; }

/* Mobile bottom tab bar was white. */
.mobile-menu,.mobile-menu-inner{ background-color:var(--stg-bg-2)!important; border-top:1px solid var(--stg-line)!important; box-shadow:0 -10px 30px rgba(19,19,18,0.117)!important; }
.mobile-menu *,.mobile-menu-label{ color:var(--stg-muted)!important; }
.mobile-menu a:hover *,.mobile-menu .active *{ color:var(--stg-accent)!important; }

/* Product page */
.stock.in-stock,.product-stock-data.in-stock{ background:rgba(12,122,64,.1)!important; color:var(--stg-accent-2)!important; border:1px solid rgba(12,122,64,.35)!important; }
.stock.out-of-stock{ background:rgba(197,39,29,.1)!important; color:#c5271d!important; }
.woocommerce-tabs .tabs li a,.wc-tabs li a{ color:var(--stg-muted)!important; }
.woocommerce-tabs .tabs li.active a,.wc-tabs li.active a{ color:var(--stg-fg)!important; border-color:var(--stg-accent)!important; }
.product-sticky-cart{ background-color:var(--stg-bg-2)!important; border-top:1px solid var(--stg-line)!important; box-shadow:0 -10px 30px rgba(19,19,18,0.117)!important; }
.product-sticky-cart *{ color:var(--stg-fg)!important; opacity:1!important; }
.product-sticky-cart .price *,.product-sticky-cart .amount{ color:var(--stg-accent-2)!important; }
.product-sticky-cart .button{ color:#fbfbf7!important; }
.single-product .product_meta,.single-product .posted_in{ color:var(--stg-muted)!important; }

/* Page title band: tighter, and never repeat content. Home has its own hero. */
.home .page-header{ display:none!important; }
.page-header .entry-description:empty{ display:none; }

/* Buttons groups need breathing room before the next heading. */
.wp-block-buttons{ margin-bottom:28px!important; gap:12px; }

/* Long-form pages (guides, policies, FAQ): readable measure. */
body.stg-reading .post-single .post-body,
body.stg-reading article .post-content{ max-width:780px; margin-left:auto; margin-right:auto; }
body.stg-reading .post-content p,body.stg-reading .post-content li{ line-height:1.75; }
body.stg-reading .post-content h2{ margin-top:2.2em; }
body.stg-reading .post-content img{ border-radius:12px; border:1px solid var(--stg-line); }
.stg-byline{ padding:12px 14px; border:1px solid var(--stg-line); border-radius:10px; background:var(--stg-bg-2); }
.stg-byline + hr{ display:none; }

/* Footer: real columns instead of default widget boxes. */
.site-footer .widget,footer .widget{ background:transparent!important; border:none!important; padding:0!important; }
.stg-foot h4{ font-family:var(--stg-mono)!important; font-size:13px!important; text-transform:uppercase; letter-spacing:.08em; color:var(--stg-fg)!important; margin:0 0 14px!important; }
.stg-foot ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.stg-foot li a{ font-size:14px; color:var(--stg-muted)!important; text-decoration:none; }
.stg-foot li a:hover{ color:var(--stg-accent)!important; }
.stg-foot-brand p{ font-size:14px; line-height:1.6; color:var(--stg-muted)!important; max-width:36ch; margin:10px 0 14px; }
.stg-foot-brand .stg-foot-logo{ display:flex; align-items:center; gap:10px; font-family:var(--stg-mono); font-weight:700; font-size:18px; color:var(--stg-fg); }
.stg-foot-brand .stg-foot-logo:before{ content:""; width:36px; height:36px; border-radius:50%; background:var(--stg-emblem) center/cover no-repeat; box-shadow:0 0 0 1px var(--stg-line); }
.stg-foot-badge{ display:inline-block; font-family:var(--stg-mono); font-size:11px; color:var(--stg-accent-2); border:1px solid var(--stg-line); border-radius:999px; padding:5px 10px; }
.footer-copyright,.footer-copyright *{ font-size:13px!important; color:var(--stg-muted)!important; }
.footer-copyright a:hover{ color:var(--stg-accent)!important; }

/* Ghost / secondary buttons must beat the global accent button rule. */
html body a.button.stg-btn-ghost,html body .button.stg-w-btn-ghost,html body a.button.stg-w-btn-ghost{
	background:transparent!important; color:var(--stg-fg)!important; border:1px solid var(--stg-line)!important;
}
html body a.button.stg-btn-ghost:hover,html body a.button.stg-w-btn-ghost:hover{ border-color:var(--stg-accent)!important; color:var(--stg-fg)!important; filter:none; }

/* Product card quick actions (wishlist / quick view / compare) were white circles. */
.gloria-wishlist-btn,.ustone-quickview-btn,.ustone-compare-btn,.product-buttons a,.product-actions a{
	background:rgba(244,244,238,.85)!important; color:var(--stg-fg)!important; border:1px solid var(--stg-line)!important; backdrop-filter:blur(4px);
}
.gloria-wishlist-btn:hover,.ustone-quickview-btn:hover,.ustone-compare-btn:hover{ border-color:var(--stg-accent)!important; color:var(--stg-accent)!important; }
.gloria-wishlist-btn svg,.ustone-quickview-btn svg,.ustone-compare-btn svg{ color:inherit!important; stroke:currentColor!important; }
.stg-trustbar-item span{ line-height:1.45; }
.stg-foot-badge,.stg-foot-brand .stg-foot-logo{ white-space:nowrap; }
@media(min-width:768px){ footer .footer-inner.grid{ grid-template-columns:1.6fr repeat(3,1fr)!important; gap:32px!important; } }
@media(max-width:767px){ footer .footer-inner.grid{ grid-template-columns:1fr 1fr!important; gap:28px!important; } footer .footer-inner.grid > *:first-child{ grid-column:1 / -1; } }

/* =========================================================================
   Audit + premium pass (2026-09-28)
   ========================================================================= */
/* Type: Outfit now loads again (the Kirki font cache pointed at the old host). Always keep a sans fallback. */
html{ color-scheme:dark; }
body{ font-family:Outfit,"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif!important; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
button,input,select,textarea,.button{ font-family:inherit; }
::selection{ background:rgba(31,58,224,.35); color:#fff; }
:focus-visible{ outline:2px solid var(--stg-accent)!important; outline-offset:2px; }
main a:not(.button):not(.stg-cat):not(.stg-tool):not(.stg-labcard){ text-underline-offset:3px; }

/* Primary buttons: dark text on the accent everywhere (mini-cart "Return to Shop" was white on blue). */
html body .button,html body a.button,html body button.button,html body .button.size-base,
html body .woocommerce-mini-cart__buttons .button,html body .return-to-shop .button{
	color:#fbfbf7!important; transition:filter .15s ease, transform .15s ease, box-shadow .15s ease;
	box-shadow:0 10px 24px -14px rgba(31,58,224,.75);
}
html body .button:hover{ transform:translateY(-1px); }
html body a.button.stg-btn-ghost,html body .button.stg-w-btn-ghost,html body a.button.stg-w-btn-ghost{
	background:transparent!important; color:var(--stg-fg)!important; border:1px solid var(--stg-line)!important; box-shadow:none;
}

/* Tables: Ustone gives <thead> a near-white fill. */
table thead,table thead tr,table thead th,table th{ background:var(--stg-bg-3)!important; color:var(--stg-fg)!important; border-color:var(--stg-line)!important; }
table tbody tr,table tbody td{ background:transparent; }

/* Login form: "Lost your password?" was painted text-on-text. */
a.reversed-link,.reversed-link{ background:none!important; color:var(--stg-accent)!important; }

/* Product meta: SKU value was black, category links faint. */
.product_meta,.product-sku,.product-meta-wrapper{ color:var(--stg-muted)!important; }
.product_meta .sku,.product-sku .sku,.product_meta a,.posted_in a,.product-categories a,.single-product .product-cats a{ color:var(--stg-fg)!important; }
.single-product .product-cats a:hover,.product_meta a:hover{ color:var(--stg-accent)!important; }

/* Quantity steppers were white boxes. */
.quantity,.quantity input,.quantity .input-qty,.quantity-button{ background:var(--stg-bg)!important; color:var(--stg-fg)!important; border-color:var(--stg-line)!important; }
.quantity{ border:1px solid var(--stg-line)!important; border-radius:10px!important; overflow:hidden; }
.quantity-button svg{ color:var(--stg-fg)!important; stroke:currentColor; }

/* Dokan notices. */
.dokan-info,.dokan-alert,.dokan-message{ background:var(--stg-bg-3)!important; color:var(--stg-fg)!important; border:1px solid var(--stg-line)!important; border-radius:12px!important; }

/* ---- Page title band: shorter, with a soft glow ---- */
.page-header{ position:relative; }
.page-header .page-header-background{
	background:radial-gradient(900px 260px at 50% 0%,rgba(31,58,224,.16),transparent 70%),linear-gradient(180deg,var(--stg-bg-2),var(--stg-bg))!important;
}
.page-header .page-header-inner,.page-header .container{ padding-top:clamp(28px,5vw,56px)!important; padding-bottom:clamp(24px,4vw,44px)!important; min-height:0!important; }
.page-header .page-title,.page-header h1{ font-size:clamp(28px,4vw,46px)!important; letter-spacing:-.6px; line-height:1.1!important; }

/* ---- Product cards (shop, categories, stores, home, related) ---- */
.products > .product{
	display:flex; background:linear-gradient(180deg,#f4f4ee 0%,#fbfbf7 100%)!important;
	border:1px solid var(--stg-line)!important; border-radius:18px!important; padding:12px!important;
	transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.products > .product:hover{ border-color:rgba(31,58,224,.55)!important; transform:translateY(-3px); box-shadow:0 22px 44px -22px rgba(0,0,0,.8); }
.products > .product .product-inner{ display:flex; flex-direction:column; width:100%; background:transparent!important; border:0!important; padding:0!important; }
.products .product-thumbnail{ position:relative; border-radius:13px; overflow:hidden; background:#ffffff; }
.products .product-media img,.products .product-thumbnail img{ mix-blend-mode:multiply; width:100%; aspect-ratio:1/1; object-fit:contain; background:transparent!important; border-radius:0!important; transition:transform .35s ease; }
.products > .product:hover .product-media img{ transform:scale(1.04); }
.products .stg-has-lab .product-thumbnail::after,.products .product.stg-has-lab .product-thumbnail::after{
	content:"\2713\00a0 Lab report"; position:absolute; left:10px; bottom:10px; z-index:2; font:600 10px/1 var(--stg-mono); letter-spacing:.06em; text-transform:uppercase;
	color:#e3f1e8; background:rgba(12,122,64,.96); padding:6px 9px; border-radius:999px; box-shadow:0 6px 14px -6px rgba(19,19,18,0.133);
}
.products .product-actions a{ width:32px; height:32px; }
.products .product-body{ display:flex; flex-direction:column; flex:1; padding:14px 4px 2px!important; }
.products .product-body-header{ display:flex; flex-direction:column; gap:6px; }
.products .product-brand{ order:-1; }
.products .product-brand ul{ margin:0!important; }
.products .product-brand a{ font:600 11px/1.2 var(--stg-mono)!important; letter-spacing:.08em; text-transform:uppercase; color:var(--stg-accent-2)!important; text-decoration:none; }
.products .product-title{ font-size:15px!important; line-height:1.35!important; min-height:2.7em; margin:0!important; }
.products .product-title a{ color:var(--stg-fg)!important; text-decoration:none!important; }
.products .price{ font-size:18px!important; font-weight:600; display:flex; flex-direction:row!important; align-items:baseline; flex-wrap:wrap; gap:2px 8px; }
.price .stg-ppm,.stg-ppm{ font:500 12px/1 var(--stg-mono)!important; color:var(--stg-muted)!important; }
.products .product-cart-detail{ margin-top:auto; padding-top:14px; }
.products .product-body-cart .button{ width:100%; display:flex!important; justify-content:center; padding:11px 14px!important; border-radius:11px!important; }
.products .product-meta,.products .product-footer,.products .product-extra{ display:none!important; }

/* Single product: image on a studio tile like the cards. */
.single-product .woocommerce-product-gallery,.single-product .product-gallery{ border-radius:16px; overflow:hidden; }
.single-product .woocommerce-product-gallery img,.single-product .product-gallery img{ background:#ffffff; }
.single-product .product_title{ letter-spacing:-.4px; }

/* Store (Dokan) pages: brand logo tile. */
.dokan-store-wrap .profile-img img,.profile-info-img img{ background:#fff; border-radius:14px!important; }

/* Table rules: the parent theme draws light-grey cell borders. */
table td,table th,table tr,.shop_table td,.shop_table th{ border-color:var(--stg-line)!important; }
.stg-w-table{ border-color:var(--stg-line)!important; }

/* Our small labels use <em>; the older "restore inline em" rule was inflating them. */
.stg-cats .stg-cat .stg-cat-text em,.stg-labcards .stg-labcard-top em,.stg-labs .stg-labs-cov em,.stg-guide-labs .stg-guide-lab em{ display:block!important; font-size:11px!important; font-style:normal!important; }
.stg-cats .stg-cat .stg-cat-text em{ font-size:12px!important; }

/* Title band: pad the inner block only (container + inner were both padded), tighter gap below. */
.page-header > .container{ padding-top:0!important; padding-bottom:0!important; }
.page-header .page-header-inner{ padding-top:clamp(26px,4vw,48px)!important; padding-bottom:clamp(22px,3.5vw,40px)!important; }
.page-header{ margin-bottom:36px!important; }

/* Shop chips wrap on desktop; scroll only on small screens. */
@media(min-width:761px){ .stg-chips{ flex-wrap:wrap; overflow:visible; padding-bottom:4px; } }
@media(max-width:760px){ .stg-chips{ scrollbar-width:none; } .stg-chips::-webkit-scrollbar{ display:none; } }

/* Product page: category label above the title (was faint grey). */
.product-single-header .product-category a{ font:600 11px/1.4 var(--stg-mono)!important; letter-spacing:.08em; text-transform:uppercase; color:var(--stg-accent-2)!important; text-decoration:none; }
.product-single-header .product-category a:hover{ color:var(--stg-accent)!important; }
.woocommerce-breadcrumb a{ color:var(--stg-muted)!important; }
.woocommerce-breadcrumb a:hover{ color:var(--stg-accent)!important; }

/* Phones: two product cards per row (was one — the home page ran to 17k px). */
@media(max-width:767px){
	.products.grid{ grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
	.products > .product{ padding:8px!important; border-radius:14px!important; }
	.products .product-actions{ display:none!important; }
	.products .product-body{ padding:10px 2px 0!important; }
	.products .product-title{ font-size:13px!important; min-height:3.9em; }
	.products .price{ font-size:15px!important; gap:0 6px; }
	.price .stg-ppm{ font-size:10px!important; }
	.products .product-body-cart .button{ padding:9px 8px!important; font-size:13px!important; }
	.products .stg-has-lab .product-thumbnail::after,.products .product.stg-has-lab .product-thumbnail::after{ left:6px; bottom:6px; font-size:9px; padding:5px 7px; }
}

/* =========================================================================
   Mobile bottom bar (2026-09-29) — child theme ustone_mobile_menu()
   ========================================================================= */
.stg-mm{--mm-h:64px}
.stg-mm .mobile-menu-inner{background:rgba(244,244,238,.94)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--stg-line)!important;padding:6px 6px calc(6px + env(safe-area-inset-bottom))!important;box-shadow:0 -12px 32px rgba(19,19,18,0.15)!important;border-radius:0!important}
.stg-mm ul{display:grid!important;grid-template-columns:repeat(5,1fr);gap:2px;margin:0!important;padding:0!important;list-style:none}
.stg-mm li{margin:0!important;padding:0!important;list-style:none}
.stg-mm li a{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:6px 2px!important;border-radius:12px;text-decoration:none!important;color:var(--stg-muted)!important;-webkit-tap-highlight-color:transparent;transition:color .15s,background .15s}
.stg-mm li a *{color:inherit!important}
.stg-mm .mobile-menu-icon{position:relative;display:grid;place-items:center;width:26px;height:24px}
.stg-mm .mobile-menu-icon svg{width:22px!important;height:22px!important;stroke:currentColor!important}
.stg-mm .mobile-menu-label{font-size:11px!important;font-weight:500;letter-spacing:.01em;text-transform:none!important;line-height:1}
.stg-mm li a:active{background:rgba(31,58,224,.08)}
.stg-mm li.is-active a{color:var(--stg-accent)!important}
.stg-mm li.is-active a:before{content:"";position:absolute;top:0;left:50%;width:22px;height:3px;margin-left:-11px;border-radius:0 0 3px 3px;background:var(--stg-accent)}
.stg-mm li.mobile-menu-item-wallet a{color:var(--stg-accent-2)!important}
.stg-mm li.mobile-menu-item-wallet.is-active a:before{background:var(--stg-accent-2)}
.stg-mm-count{position:absolute;top:-6px;right:-9px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--stg-accent);color:#fbfbf7!important;font:700 10px/18px var(--stg-mono);text-align:center;box-shadow:0 0 0 2px #fbfbf7}
.stg-mm-count.is-empty{display:none}

/* Nothing on the page may sit behind the bar (it is fixed and was covering footers, buttons, sticky bars). */
@media(max-width:1023px){
	body{padding-bottom:calc(var(--mm-h,64px) + env(safe-area-inset-bottom))!important}
	body{--mm-h:64px}
	.product-sticky-cart{bottom:calc(64px + env(safe-area-inset-bottom))!important}
	.stg-store-bar{top:0}
}
@media(min-width:1024px){.stg-mm{display:none!important}}
.stg-mm li a .mobile-menu-icon .stg-mm-count{color:#fbfbf7!important}
