/* GLP1 Forum Escrow — site-wide forum shell (glp1forum.com / XenForo anatomy) for every
   inner page + accessibility fixes found by the 2026-11-09 contrast audit.
   Loaded after finnrick-brand.css. The homepage has its own layer (glp-forum-home/gf.css). */

/* ── Palette + accessible coral ──────────────────────────────────── */
html:root {
	--gs-navy: #243342; --gs-nav2: #2A6293; --gs-page: #4B85B4; --gs-panel: #DBE6F0; --gs-sub: #CDDBEA;
	--gs-text: #252D41; --gs-indigo: #212483; --gs-link: #2456A8; --gs-line: #C3D4E6; --gs-edge: #9DBEDC;
	--gs-muted: #4D5A70; --gs-green: #13844A; --gs-grad: linear-gradient(0deg, #3E85CC, #FFFFFF);
	--gs-btn: #D43F33; --gs-btn-h: #B8352A; --gs-coral-ink: #B8352A; --gs-coral-on-navy: #FF8A80;
	/* Button + accent variables used by finnrick-brand.css and the STG plugin.
	   #F96A5E with white text was 2.9:1; #D43F33 is 4.6:1 (WCAG AA) both ways. */
	--fr-gold: #D43F33 !important;
	--fr-gold-hover: #B8352A !important;
	--stg-accent: #D43F33 !important;
	/* STG's "inset surface" colour (dark theme = page bg). The light conversion set it to the
	   page blue, so ~30 components (checkout payment options, account tabs, wallet boxes,
	   product tags, bulk picks, filters, code chips) rendered as blue patches. */
	--stg-bg: #EEF3F8 !important;
}

/* ── Undo finnrick-brand.css's substring rule ([class*="stg-bbox"], [class*="stg-pay"]) that gave
   EVERY matching element its own white→page-blue gradient + border (banded brand boxes) ── */
html body [class*="stg-bbox"]:not(.stg-bbox-enter):not(.button),
html body [class*="stg-pay"]:not(.button), html body .stg-brand-panel, html body .stg-tool[style*="gradient"] {
	background-image: none !important; background-color: transparent !important; border-color: transparent !important;
}
html body .stg-bbox, html body .stg-bshow .stg-bbox, html body .stg-brand-panel, html body .stg-tool[style*="gradient"] {
	background: #FFFFFF !important; border: 1px solid #BBD0E6 !important; border-radius: 8px !important;
	box-shadow: 0 1px 0 rgba(36,51,66,.08), 0 12px 24px -22px rgba(36,51,66,.7) !important;
	transition: box-shadow .3s, transform .3s;
}
html body .stg-bbox:hover { box-shadow: 0 1px 0 rgba(36,51,66,.08), 0 18px 30px -20px rgba(36,51,66,.75) !important; }
html body .stg-bbox .stg-bbox-logo { background: #FFFFFF !important; border: 1px solid #C3D4E6 !important; }
html body .stg-bbox .stg-bbox-title a, html body .stg-bbox .stg-bbox-title { color: #212483 !important; }
html body .stg-bbox .stg-bbox-bio { color: #4D5A70 !important; }
html body .stg-bbox .stg-bbox-btn { background: #FFFFFF !important; border: 1px solid #C3D4E6 !important; color: #243342 !important; }
html body .stg-bbox .stg-bbox-btn:hover { border-color: #D43F33 !important; color: #D43F33 !important; }
html body .stg-bbox .stg-bbox-bar { background: #DBE6F0 !important; }
html body .stg-bbox .stg-bbox-count { color: #4D5A70 !important; }
html body .stg-bbox .stg-bbox-products { border-top: 1px solid #DBE6F0 !important; }
html body .stg-pay-block, html body .stg-pay-facts, html body .stg-pay-instructions {
	background: #FFFFFF !important; border: 1px solid #C3D4E6 !important; border-radius: 12px !important;
}
html body .stg-pay-facts > div { border-bottom-color: #DBE6F0 !important; }
/* The theme paints #page / #main with var(--stg-bg): pin the forum page blue explicitly */
html body #page.page-content, html body #main.main-content, html body .page-content, html body .main-content { background-color: #4B85B4 !important; }
/* …and the article's inner wrapper must not repaint it inside the white panel */
html body .post-body > .post-content, html body .post-body .post-content { background: transparent !important; }

/* Checkout progress bar (cart/checkout): rendered white with a #7aa2ff pill + white text */
html body .stg-co-steps { background: #243342 !important; border: 1px solid #1D2A38 !important; }
html body .stg-co-steps li, html body .stg-co-steps li * { color: #C7D6E5 !important; }
html body .stg-co-steps li.is-on { background: #2A6293 !important; }
html body .stg-co-steps li.is-on, html body .stg-co-steps li.is-on * { color: #FFFFFF !important; }
html body .stg-co-steps .is-on .stg-co-dot { background: #D43F33 !important; color: #FFFFFF !important; }
html body .stg-co-steps .is-done, html body .stg-co-steps .is-done * { color: #9FE3B9 !important; }
html body .stg-co-steps .is-done .stg-co-dot { background: #13844A !important; color: #FFFFFF !important; }

/* Inline code in articles was default pink */
html body .post-body code:not([class]) { color: #243342 !important; background: #EEF3F8 !important; border: 1px solid #C3D4E6; border-radius: 4px; padding: 1px 6px; }
/* Testing 101 calculator result text was mint (#b8f3d0) designed for dark */
html body .stg-t1 .stg-t1-tool-out p, html body .stg-t1 .stg-t1-tool-out b, html body .stg-t1 .stg-t1-tool-out strong { color: #13844A !important; }

/* Product page: tabs / related / upsells live in sibling containers → each becomes a forum block */
html body.single-product #main > .container > *:not(.product):not(script):not(style) {
	background: var(--gs-panel) !important; border-radius: 4px !important; padding: 16px !important; margin: 0 0 20px !important;
	box-shadow: 0 1px 0 rgba(36,51,66,.12), 0 10px 24px -20px rgba(36,51,66,.6) !important;
}
html body.single-product .woocommerce-tabs ul.tabs li a { font-size: 16px !important; font-weight: 700 !important; color: var(--gs-muted) !important; }
html body.single-product .woocommerce-tabs ul.tabs li.active a, html body.single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--gs-indigo) !important; }
html body.single-product .woocommerce-tabs .woocommerce-Tabs-panel { background: #FFFFFF !important; border: 1px solid var(--gs-line) !important; border-radius: 4px !important; padding: 20px 24px !important; }
html body.single-product .related > h2, html body.single-product .upsells > h2, html body.single-product .single-product-tabs-wrapper h2 { font-size: 20px !important; color: var(--gs-text) !important; }

/* Search results: the result's own .post-body painted page blue inside the white card */
html body.search .blog-posts .post-body, html body.search .blog-posts .post-excerpt { background: transparent !important; }

/* Specificity bumps where STG/theme rules out-rank the ones above */
html body .post-body .stg-t1 .stg-t1-tool .stg-t1-tool-out p, html body .post-body .stg-t1 .stg-t1-tool .stg-t1-tool-out b { color: #13844A !important; }
html body .gm-sh .gm-sh-copy h1.gm-sh-name { font-size: 34px !important; line-height: 1.15 !important; }
html body .stg-co-steps .stg-co-lbl em { color: #9DB2C9 !important; }
html body .stg-co-steps li.is-on .stg-co-lbl em { color: #E8F4FC !important; }
html body #main .gm-sh .gm-sh-copy h1.gm-sh-name, html body #page #main .gm-sh h1.gm-sh-name { font-size: 34px !important; line-height: 1.15 !important; }
html body.page:not(.home) #primary .post-body h1 { font-size: 26px !important; line-height: 1.25 !important; font-weight: 700 !important; color: var(--gs-navy) !important; margin: 1.2em 0 .5em !important; }
@media (max-width: 640px) {
	html body .gm-sh .gm-sh-copy h1.gm-sh-name { font-size: 26px !important; }
	html body.page:not(.home) #primary .post-body h1 { font-size: 22px !important; }
	html body.single-product #main > .container > *:not(.product):not(script):not(style) { padding: 10px !important; }
}

/* Store page filter bar faded from page blue */
html body .stg-store-bar { background: linear-gradient(#DBE6F0 80%, rgba(219,230,240,0)) !important; }
/* Coral that sits on navy keeps the light shade */
html body .fr-topbar-link { color: var(--gs-coral-on-navy) !important; }

/* ── Official glp1forum logo (600×107, transparent) everywhere the brand mark appears ── */
html:root { --stg-emblem: url("/wp-content/mu-plugins/glp-brand/glp1forum-logo.webp") !important; }
html body .brand a::before, html body #masthead .brand a::before {
	background-image: url("/wp-content/mu-plugins/glp-brand/glp1forum-logo.webp") !important;
	width: 174px !important; min-width: 174px !important; max-width: 174px !important;
	height: 31px !important; min-height: 31px !important;
}
html body .brand a::after, html body #masthead .brand a::after { color: #C7D6E5 !important; border-left-color: rgba(255,255,255,.28) !important; }
@media (max-width: 768px) {
	html body .brand a::before, html body #masthead .brand a::before {
		width: 140px !important; min-width: 140px !important; max-width: 140px !important; height: 25px !important; min-height: 25px !important;
	}
}
@media (max-width: 480px) {
	html body .brand a::before, html body #masthead .brand a::before {
		width: 124px !important; min-width: 124px !important; max-width: 124px !important; height: 22px !important; min-height: 22px !important;
	}
}
html body .stg-foot-logo {
	width: 168px !important; height: 30px !important;
	background: url("/wp-content/mu-plugins/glp-brand/glp1forum-logo.webp") left center / contain no-repeat !important;
}
html body #stg-gate .stg-gate-emblem { content: url("/wp-content/mu-plugins/glp-brand/glp1forum-logo.webp") !important; width: 190px !important; height: auto !important; }

/* Footer brand text was #252D41 / #000 on navy */
html body footer.footer .brand-text, html body footer .stg-foot-logo, html body footer .stg-foot-logo * { color: #FFFFFF !important; }

/* ── Inner-page title = forum block header ───────────────────────── */
html body:not(.home) .page-header.align-center { padding: 18px 0 0 !important; margin: 0 !important; background: transparent !important; text-align: left !important; }
html body:not(.home) .page-header .page-header-inner {
	display: block !important; max-width: none !important; margin: 0 !important; padding: 0 !important; text-align: left !important;
	background: #FFFFFF !important; border: 1px solid var(--gs-edge) !important; border-radius: 4px !important; overflow: hidden !important;
	box-shadow: 0 1px 0 rgba(36,51,66,.12), 0 10px 24px -20px rgba(36,51,66,.6) !important;
}
html body:not(.home) .page-header .entry-title {
	position: relative; overflow: hidden; margin: 0 !important; padding: 13px 20px !important;
	font-size: 26px !important; line-height: 1.25 !important; font-weight: 700 !important; letter-spacing: 0 !important;
	color: var(--gs-text) !important; background: var(--gs-grad) !important; border-bottom: 1px solid var(--gs-edge);
}
html body:not(.home) .page-header .entry-title:only-child { border-bottom: 0; }
html body:not(.home) .page-header .entry-description, html body:not(.home) .page-header .entry-subtitle {
	margin: 0 !important; padding: 11px 20px 13px !important; max-width: none !important; background: var(--gs-panel) !important;
	font-size: 15px !important; line-height: 1.55 !important; text-align: left !important;
}
html body:not(.home) .page-header .entry-description p, html body:not(.home) .page-header .entry-description { color: var(--gs-text) !important; }
html body:not(.home) .page-header .entry-description p { margin: 0 !important; }

/* ── Main content = forum block body ─────────────────────────────── */
html body:not(.home) #primary.primary-content,
html body.dokan-store #main > .stg-store {
	background: var(--gs-panel) !important; border-radius: 4px !important; padding: 16px !important; margin: 14px 0 24px !important;
	box-shadow: 0 1px 0 rgba(36,51,66,.12), 0 10px 24px -20px rgba(36,51,66,.6) !important;
}
html body.dokan-store #main > .stg-store { max-width: 1290px; margin-left: auto !important; margin-right: auto !important; }

/* Pages: the article itself is a white forum "message" panel */
html body.page:not(.home) #primary .post-body {
	background: #FFFFFF !important; border: 1px solid var(--gs-line) !important; border-radius: 4px !important; padding: 26px 30px !important;
	color: var(--gs-text);
}
html body.page:not(.home) #primary .post-body > p, html body.page:not(.home) #primary .post-body > ul, html body.page:not(.home) #primary .post-body > ol,
html body.page:not(.home) #primary .post-body > h2, html body.page:not(.home) #primary .post-body > h3, html body.page:not(.home) #primary .post-body > h4,
html body.page:not(.home) #primary .post-body > blockquote { max-width: 860px; }
html body.page:not(.home) #primary .post-body > p, html body.page:not(.home) #primary .post-body > ul > li, html body.page:not(.home) #primary .post-body > ol > li {
	font-size: 16px; line-height: 1.7; color: var(--gs-text) !important;
}
html body.page:not(.home) #primary .post-body > h2 { font-size: 22px !important; line-height: 1.3 !important; font-weight: 700 !important; color: var(--gs-navy) !important; margin: 1.6em 0 .5em !important; }
html body.page:not(.home) #primary .post-body > h2:first-child { margin-top: 0 !important; }
html body.page:not(.home) #primary .post-body > h3 { font-size: 18px !important; line-height: 1.35 !important; font-weight: 700 !important; color: var(--gs-indigo) !important; margin: 1.3em 0 .4em !important; }
html body.page:not(.home) #primary .post-body > p a, html body.page:not(.home) #primary .post-body > ul a, html body.page:not(.home) #primary .post-body > ol a {
	color: var(--gs-link) !important; text-decoration: underline !important; text-underline-offset: 2px;
}
html body.page:not(.home) #primary .post-body > blockquote { border-left: 4px solid var(--gs-btn); background: #F3F7FB; padding: 12px 16px; border-radius: 0 4px 4px 0; }

/* Logged-in account area: the .stgd app is its own forum block — drop the page block + white panel around it */
html body.woocommerce-account.logged-in #primary.primary-content { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html body.woocommerce-account.logged-in #primary .post-body { background: transparent !important; border: 0 !important; padding: 0 !important; }
html body.woocommerce-account.logged-in .stgd { margin-top: 18px !important; }

/* Article media + tables */
html body.page:not(.home) #primary .post-body img { max-width: 100%; height: auto; border-radius: 6px; }
html body.page:not(.home) #primary .post-body table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: 15px; }
html body.page:not(.home) #primary .post-body th, html body.page:not(.home) #primary .post-body td { border: 1px solid var(--gs-line); padding: 8px 10px; text-align: left; vertical-align: top; }
html body.page:not(.home) #primary .post-body th { background: var(--gs-panel); color: var(--gs-navy); }

/* Search results + 404 */
html body.search #primary .blog-posts article.post {
	background: #FFFFFF !important; border: 1px solid var(--gs-line) !important; border-radius: 6px !important; padding: 16px !important;
	transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s;
}
html body.search #primary .blog-posts article.post:hover { transform: translateY(-3px); box-shadow: 0 14px 26px -18px rgba(36,51,66,.7); }
html body.search #primary .post-meta-item, html body.search #primary article.post strong { color: var(--gs-muted) !important; }
html body.search #primary a.link.reversed-link { color: var(--gs-coral-ink) !important; }
html body.error404 #primary .not-found { background: #FFFFFF; border: 1px solid var(--gs-line); border-radius: 4px; padding: 30px; }

/* ── Forum breadcrumb strip (Woo breadcrumbs on product / store pages) ── */
html body .woocommerce-breadcrumb {
	display: block; margin: 14px 0 0 !important; padding: 8px 14px !important; border-radius: 4px; font-size: 14px !important;
	background: var(--gs-sub) !important; border: 1px solid var(--gs-edge) !important; color: var(--gs-indigo) !important;
}
html body .woocommerce-breadcrumb a { color: var(--gs-indigo) !important; text-decoration: none !important; }
html body .woocommerce-breadcrumb a:hover { text-decoration: underline !important; }
html body.dokan-store #main > .woocommerce-breadcrumb { max-width: 1290px; margin-left: auto !important; margin-right: auto !important; }

/* Product page: whole product area sits in a forum block */
html body.single-product #main > .container > .product { background: var(--gs-panel) !important; border-radius: 4px !important; padding: 16px !important; margin: 14px 0 24px !important; }
html body.single-product .product-title, html body.single-product h1.product-title { font-size: 30px !important; line-height: 1.2 !important; }

/* Brand store header */
html body .gm-sh-name { font-size: 34px !important; line-height: 1.15 !important; }
html body .gm-sh-bio, html body p.gm-sh-bio { color: var(--gs-muted) !important; }

/* Coral text on light surfaces → accessible coral ink */
html body .stg-follow-label { color: var(--gs-coral-ink) !important; }

/* ── Country-page hero: forum navy banner (was a dark finnrick panel w/ dark text) ── */
html body .stg-cty-hero {
	position: relative; overflow: hidden;
	background: linear-gradient(120deg, #243342 0%, #2A6293 55%, #243342 100%) !important; background-size: 220% 220% !important;
	border: 1px solid #1D2A38 !important; border-radius: 6px !important;
}
html body .stg-cty-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(420px circle at 88% 18%, rgba(79,163,230,.28), transparent 60%), radial-gradient(300px circle at 6% 110%, rgba(249,106,94,.2), transparent 60%); }
html body .stg-cty-hero > * { position: relative; z-index: 1; }
html body .stg-cty-hero, html body .stg-cty-hero p, html body .stg-cty-hero span, html body .stg-cty-hero em, html body .stg-cty-hero li { color: #C7D6E5 !important; }
html body .stg-cty-hero h1, html body .stg-cty-hero h2, html body .stg-cty-hero h3, html body .stg-cty-hero strong, html body .stg-cty-hero b { color: #FFFFFF !important; }
html body .stg-cty-hero .stg-kicker, html body .stg-cty-hero [class*="kicker"], html body .stg-cty-hero [class*="eyebrow"] { color: #FFB4AD !important; }
html body .stg-cty-hero [class*="stat"], html body .stg-cty-hero dl > div, html body .stg-cty-hero ul > li {
	background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.22) !important;
}
html body .stg-cty-hero a:not(.button) { color: #FFFFFF !important; }

/* ── Bulk-pricing band, site-wide (store pages too): forum feature banner ── */
html body .stg-bulk-band {
	position: relative; overflow: hidden; border-radius: 6px !important; border: 1px solid #1D2A38 !important;
	background: linear-gradient(120deg, #243342 0%, #2A6293 55%, #243342 100%) !important; background-size: 220% 220% !important;
}
html body .stg-bulk-band > * { position: relative; z-index: 1; }
html body .stg-bulk-band .stg-kicker { color: #FFB4AD !important; }
html body .stg-bulk-band h2 { color: #FFFFFF !important; }
html body .stg-bulk-band p { color: #C7D6E5 !important; }
html body .stg-bulk-band a.button { color: #FFFFFF !important; background: var(--gs-btn) !important; }
html body .stg-bulk-band li { background: rgba(255,255,255,.10) !important; border: 1px solid rgba(255,255,255,.28) !important; border-radius: 8px !important; }
html body .stg-bulk-band li b { color: #FFFFFF !important; }
html body .stg-bulk-band li span { color: #9FE3B9 !important; }

/* ── Testing 101 guide component: light forum panels (was dark-themed) ── */
html body .stg-t1 .stg-t1-read, html body .stg-t1 .stg-t1-chrom, html body .stg-t1 .stg-t1-tool-out, html body .stg-t1 .stg-t1-chrom figcaption > div {
	background: #FFFFFF !important; background-image: none !important; border: 1px solid var(--gs-line) !important; color: var(--gs-text) !important;
}
html body .stg-t1 .stg-t1-chrom { background: #F3F7FB !important; }
html body .stg-t1 .stg-t1-tool-out, html body .stg-t1 .stg-t1-tool-out p { background: #F3F7FB !important; }
html body .stg-t1 code.stg-t1-formula { background: #EEF3F8 !important; color: var(--gs-navy) !important; border: 1px solid var(--gs-line) !important; }
html body .stg-t1 .stg-t1-scale i { background: var(--gs-panel) !important; }
html body .stg-t1 .stg-t1-read p, html body .stg-t1 .stg-t1-read span, html body .stg-t1 .stg-t1-read li { color: var(--gs-text) !important; }
html body .stg-t1 .stg-t1-read h3, html body .stg-t1 .stg-t1-read h4, html body .stg-t1 .stg-t1-read strong { color: var(--gs-navy) !important; }
html body .stg-t1 a.button { background: var(--gs-btn) !important; color: #FFFFFF !important; border-color: var(--gs-btn) !important; }
html body .stg-t1 a.button:hover { background: var(--gs-btn-h) !important; }
html body .stg-t1 .stg-t1-hero h2, html body .stg-t1 h2 { font-size: 32px !important; line-height: 1.2 !important; }
html body .stg-t1 .stg-t1-tag, html body .stg-t1 summary, html body .stg-t1 a:not(.button), html body .stg-t1 em { color: var(--gs-coral-ink) !important; }
html body .stg-t1 .stg-t1-num, html body .stg-t1 .stg-t1-lede, html body .stg-t1 .stg-t1-foot { color: var(--gs-muted) !important; }
html body .stg-t1 .stg-t1-num { color: var(--gs-green) !important; }

/* Lab reports: light-amber warnings were designed for dark (#ffd28a on white = 1.4:1) */
html body .is-low, html body .is-warn, html body .stg-lab-rare, html body [class*="lab"] em { color: #9A5B00 !important; }

/* ── Inner-page entrance motion (CSS only; fills to transform:none so nothing stays transformed) ── */
@media (prefers-reduced-motion: no-preference) {
	html body:not(.home) .page-header .page-header-inner { animation: gsUp .6s cubic-bezier(.2,.8,.2,1) both; }
	html body:not(.home) #primary.primary-content, html body.dokan-store #main > .stg-store,
	html body.single-product #main > .container > .product { animation: gsUp .7s .08s cubic-bezier(.2,.8,.2,1) both; }
	html body:not(.home) .page-header .entry-title::after {
		content: ""; position: absolute; inset: 0; pointer-events: none;
		background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.75) 50%, transparent 70%);
		transform: translateX(-120%); animation: gsSheen 1.5s .35s cubic-bezier(.2,.8,.2,1) both;
	}
	html body .stg-cty-hero, html body .stg-bulk-band { animation: gsGrad 16s ease infinite; }
}
@keyframes gsUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes gsSheen { to { transform: translateX(120%); } }
@keyframes gsGrad { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* ── Mobile ──────────────────────────────────────────────────────── */
@media (max-width: 640px) {
	html body:not(.home) .page-header.align-center { padding-top: 12px !important; }
	html body:not(.home) .page-header .entry-title { font-size: 21px !important; padding: 11px 14px !important; }
	html body:not(.home) .page-header .entry-description { padding: 10px 14px 12px !important; font-size: 14px !important; }
	html body:not(.home) #primary.primary-content, html body.dokan-store #main > .stg-store,
	html body.single-product #main > .container > .product { padding: 10px !important; margin: 10px 0 18px !important; }
	html body.page:not(.home) #primary .post-body { padding: 18px 16px !important; }
	html body.single-product .product-title, html body.single-product h1.product-title { font-size: 24px !important; }
	html body .gm-sh-name { font-size: 26px !important; }
	html body .stg-t1 .stg-t1-hero h2, html body .stg-t1 h2 { font-size: 24px !important; }
}
