@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

body, p, li, a, button, input, .wp-block-button__link { font-family: 'Inter', -apple-system, sans-serif !important; }
h1, h2, h3, h4, h5, h6 { font-family: 'Space Grotesk', sans-serif !important; letter-spacing: -0.02em; }

.vc-card { box-shadow: 0 4px 24px rgba(0,0,0,0.35); border: 1px solid rgba(255,255,255,0.07) !important; transition: transform .25s ease, box-shadow .25s ease; }
.vc-card:hover { transform: translateY(-4px); box-shadow: 0 10px 36px rgba(31,122,153,0.3); }

.vc-hero-bg { background: radial-gradient(circle at 25% 15%, #000000 0%, #000000 55%) !important; position: relative; overflow: hidden; }

.vc-eyebrow { display: inline-block; padding: 6px 14px; border: 1px solid #2a5a70; border-radius: 20px; }

.wp-block-buttons .wp-block-button__link { transition: transform .2s ease, box-shadow .2s ease; }
.wp-block-buttons .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(31,122,153,0.4); }

/* fix: prevent flex columns collapsing and forcing char-by-char wrap */
.wp-block-columns { flex-wrap: wrap !important; }
.wp-block-columns > .wp-block-column { flex-basis: 220px !important; min-width: 220px !important; flex-grow: 1 !important; overflow-wrap: normal !important; word-break: normal !important; white-space: normal !important; }
.vc-card, .vc-card h1, .vc-card h2, .vc-card h3, .vc-card h4, .vc-card p { overflow-wrap: normal !important; word-break: normal !important; white-space: normal !important; min-width: 0; }

/* flair pass */
body { background-color: #000000; background-image: radial-gradient(rgba(255,255,255,0.025) 1px, transparent 1px); background-size: 28px 28px; }

.vc-hero-bg::before { content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px; background:radial-gradient(circle, rgba(0,0,0,0) 0%, transparent 70%); pointer-events:none; z-index:0; }
.vc-hero-bg::after { content:''; position:absolute; bottom:-150px; left:-100px; width:350px; height:350px; background:radial-gradient(circle, rgba(0,0,0,0) 0%, transparent 70%); pointer-events:none; z-index:0; }
.vc-hero-bg > * { position:relative; z-index:1; }

.vc-gradient-text { background: linear-gradient(120deg, #ffffff 20%, #7dd3e8 60%, #4dd4e8 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.vc-divider { height:1px; background: linear-gradient(90deg, transparent, rgba(0,0,0,0), transparent); border:none; margin:0; }

.vc-stat-num { background: linear-gradient(120deg, #4dd4e8, #ffffff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-family:'Space Grotesk', sans-serif; }

.vc-icon-wrap { width:52px; height:52px; border-radius:12px; background:#000000; border:1px solid rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; margin:0 auto 16px auto; }

.vc-card { position:relative; overflow:hidden; }
.vc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, transparent, #4dd4e8, transparent); opacity:0; transition:opacity .3s ease; }
.vc-card:hover::before { opacity:1; }

.wp-block-buttons .wp-block-button__link { position:relative; }

/* paragonlabs-style pass */
.vc-hero-bg h1 { font-weight: 300 !important; letter-spacing: -0.01em; }
.vc-topbar { text-align:center; padding:10px; font-size:12px; letter-spacing:2px; color:#9fb0c2; border-bottom:1px solid rgba(255,255,255,0.08); text-transform:uppercase; }

.wp-block-buttons .wp-block-button__link { border-radius:999px !important; text-transform:uppercase; letter-spacing:1.5px; font-size:13px !important; padding:16px 28px !important; font-weight:500; }
.wp-block-button.is-style-outline .wp-block-button__link { background:transparent !important; }

.vc-eyebrow-center { display:block; text-align:center; text-transform:uppercase; letter-spacing:3px; font-size:13px; color:#8b97a8; margin-bottom:18px; }

.vc-hero-bg { text-align:center; }

/* header text visibility fix */
.wp-site-blocks > header, header.wp-block-template-part { background:#000000; }
header.wp-block-template-part, header.wp-block-template-part * { color:#ffffff !important; }
header.wp-block-template-part a { color:#e6ecf1 !important; }
header.wp-block-template-part a:hover { color:#4dd4e8 !important; }
header.wp-block-template-part .wp-block-site-title a { color:#ffffff !important; }
header.wp-block-template-part svg, header.wp-block-template-part .wc-block-customer-account__account-icon, header.wp-block-template-part .wc-block-mini-cart__icon { fill:#ffffff !important; stroke:#ffffff !important; color:#ffffff !important; }
header.wp-block-template-part .wc-block-mini-cart__badge { background:#4dd4e8 !important; color:#000000 !important; }

/* verified-steps bordered box + lab testing preview */
.vc-verify-box { border:1px solid rgba(255,255,255,0.1); border-radius:12px; overflow:hidden; }
.vc-verify-col { padding:32px 24px !important; border-left:1px solid rgba(255,255,255,0.1); }
.vc-verify-col:first-child { border-left:none; }


.vc-lab-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border:1px solid rgba(255,255,255,0.1); border-radius:8px; margin-bottom:12px; background:#000000; }
.vc-lab-icon { width:40px; height:40px; border-radius:8px; background:#000000; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.vc-lab-pending { color:#6b7688; font-size:13px; font-style:italic; }

/* shop catalog styling */
main.wp-block-group { background:#000000; }
.vc-shop-header { text-align:center; padding:60px 40px 20px; }
.vc-shop-card { background:transparent; }
.vc-shop-image-wrap { position:relative; background:transparent; border:none; }
.vc-shop-image-wrap img { display:block; width:100%; height:auto; }
.vc-shop-image-wrap:not(:has(img))::after { content:''; position:absolute; top:50%; left:50%; width:70px; height:70px; transform:translate(-50%,-50%); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23324356' stroke-width='1.2'%3E%3Cpath d='M9 3h6M10 3v6l-5 9a2 2 0 0 0 1.8 3h10.4a2 2 0 0 0 1.8-3l-5-9V3'/%3E%3Cpath d='M8 15h8'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-size:contain; opacity:0.6; aspect-ratio:1; }
.vc-shop-image-wrap:not(:has(img)) { aspect-ratio:1; }
.vc-purity-badge { position:absolute; top:14px; right:14px; z-index:2; color:#4dd4e8 !important; font-size:12px !important; letter-spacing:1px; font-weight:600; background:#000000; padding:4px 10px; border-radius:20px; }
.vc-shop-title a { color:#ffffff !important; text-decoration:none !important; font-family:'Space Grotesk', sans-serif; }
wp-block-post-excerpt, .wp-block-post-excerpt { color:#8b97a8 !important; font-size:14px; }

/* footer styling */
footer.wp-block-template-part { background:#000000; }
.vc-footer-col-title { color:#8b97a8 !important; font-size:12px !important; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:16px !important; font-weight:600; }
.vc-footer-link a { color:#c3cbd4 !important; text-decoration:none !important; font-size:15px; }
.vc-footer-link a:hover { color:#4dd4e8 !important; }
.vc-footer-brand { color:#ffffff !important; font-size:16px !important; letter-spacing:1px; font-weight:600; }
.vc-footer-tagline { color:#8b97a8 !important; font-size:14px !important; line-height:1.6; }
.vc-footer-bottom { border-top:1px solid rgba(255,255,255,0.08); }
.vc-footer-legal-label { color:#e6ecf1 !important; font-weight:600; font-size:13px; }
.vc-footer-legal-text { color:#6b7688 !important; font-size:13px; }
.vc-footer-copyright { color:#6b7688 !important; font-size:13px; }

/* footer fix pass */
footer.wp-block-template-part, footer.wp-block-template-part p { color:#c3cbd4 !important; }
footer.wp-block-template-part a { color:#c3cbd4 !important; text-decoration:none !important; }
footer.wp-block-template-part a:hover { color:#4dd4e8 !important; }
.vc-footer-col-title { color:#8b97a8 !important; }
.vc-footer-brand { color:#ffffff !important; }
.vc-footer-tagline { color:#8b97a8 !important; }
.vc-footer-legal-label { color:#e6ecf1 !important; }
.vc-footer-legal-text { color:#6b7688 !important; }
.vc-footer-copyright { color:#6b7688 !important; }

.vc-footer-columns > .wp-block-column { flex-basis:24% !important; }
.vc-footer-columns > .wp-block-column:first-child { flex-basis:28% !important; }

/* footer column width fix - flex-grow based, accounts for gaps properly */
.vc-footer-columns { flex-wrap:nowrap !important; }
.vc-footer-columns > .wp-block-column { flex-basis:0 !important; flex-grow:1 !important; }
.vc-footer-columns > .wp-block-column:first-child { flex-grow:1.3 !important; }


/* breadcrumb visibility fix on single product pages */
.woocommerce-breadcrumb, .wc-block-breadcrumbs { color:#8b97a8 !important; font-size:13px !important; }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color:#8b97a8 !important; text-decoration:none !important; }
.woocommerce-breadcrumb a:hover, .wc-block-breadcrumbs a:hover { color:#4dd4e8 !important; }

/* single product page - dark theme override (was still using theme defaults) */
body.single-product { background-color:#000000 !important; }
body.single-product main.wp-block-group { background-color:#000000 !important; }
body.single-product, body.single-product p, body.single-product span, body.single-product li { color:#c3cbd4 !important; }
body.single-product h1, body.single-product h2, body.single-product h3, body.single-product h4 { color:#ffffff !important; }
body.single-product .woocommerce-breadcrumb, body.single-product .wc-block-breadcrumbs { color:#8b97a8 !important; }
body.single-product .woocommerce-breadcrumb a, body.single-product .wc-block-breadcrumbs a { color:#8b97a8 !important; }
body.single-product .woocommerce-breadcrumb a:hover, body.single-product .wc-block-breadcrumbs a:hover { color:#4dd4e8 !important; }
body.single-product .price, body.single-product .wc-block-components-product-price { color:#4dd4e8 !important; }
body.single-product .wc-block-components-product-price__value { color:#4dd4e8 !important; }
body.single-product .wp-block-woocommerce-add-to-cart-with-options, body.single-product .wc-block-add-to-cart-with-options { color:#c3cbd4 !important; }
body.single-product .wc-block-components-quantity-selector { border-color:#2a3644 !important; background:#000000 !important; }
body.single-product .wc-block-components-quantity-selector input { background:#000000 !important; color:#ffffff !important; }
body.single-product button.wp-element-button, body.single-product .wc-block-components-button, body.single-product .single_add_to_cart_button { background-color:#1f8aad !important; color:#ffffff !important; border-radius:6px !important; }
body.single-product .wp-block-woocommerce-product-gallery, body.single-product .wc-block-product-gallery { background-color:#000000 !important; border-radius:10px; }
body.single-product .wc-block-product-gallery-large-image { background-color:#000000 !important; }
body.single-product .wp-block-woocommerce-product-details, body.single-product .wc-block-product-details { border-color:#1f2937 !important; }
body.single-product .wc-block-components-product-rating { color:#8b97a8 !important; }

/* ============ PROFESSIONAL POLISH PASS ============ */

/* Global smoothing */
* { -webkit-font-smoothing: antialiased; }
body { line-height: 1.65 !important; }
a, button, .wp-block-button__link, .vc-card, .vc-shop-card { transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important; }

/* Refined section rhythm - consistent vertical breathing room */
.vc-hero-bg, main.wp-block-group > .wp-block-group { position: relative; }

/* Deeper, richer card shadows and hover lift */
.vc-card, .vc-shop-card .vc-shop-image-wrap { box-shadow: 0 1px 2px rgba(0,0,0,0.4), 0 8px 24px -8px rgba(0,0,0,0.5) !important; }
.vc-card:hover { transform: translateY(-6px) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.4), 0 16px 40px -8px rgba(0,0,0,0) !important; }
.vc-shop-card:hover .vc-shop-image-wrap { transform: translateY(-4px); box-shadow: 0 8px 28px -6px rgba(0,0,0,0) !important; }

/* Button polish - subtle shine + better hover lift */
.wp-block-buttons .wp-block-button__link { box-shadow: 0 2px 8px rgba(0,0,0,0.25) !important; }
.wp-block-buttons .wp-block-button__link:hover { transform: translateY(-3px) scale(1.02) !important; box-shadow: 0 10px 24px rgba(0,0,0,0) !important; }
.wp-block-buttons .wp-block-button__link:active { transform: translateY(-1px) scale(0.99) !important; }

/* Refined typography scale + letter-spacing polish */
h1, h2, h3, h4 { letter-spacing: -0.025em !important; }
.vc-eyebrow-center, .vc-eyebrow { font-weight: 600 !important; }
p { color: #a8b3c2; }

/* Section dividers get a subtle glow instead of flat line */
.vc-divider { background: linear-gradient(90deg, transparent, rgba(0,0,0,0), transparent) !important; height: 1px !important; }

/* Card icon wraps get a subtle glow ring */
.vc-icon-wrap { box-shadow: none !important; transition: all 0.25s ease; }
.vc-card:hover .vc-icon-wrap { box-shadow: 0 0 0 1px rgba(0,0,0,0), 0 6px 20px rgba(77,212,232,0.35) !important; transform: scale(1.05); }

/* Verify box cards get subtle internal hover highlight */
.vc-verify-col { transition: background-color 0.3s ease; }
.vc-verify-col:hover { background-color: rgba(0,0,0,0); }

/* Refine purity badges */
.vc-purity-badge { backdrop-filter: none; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }

/* Nav link hover polish */
header.wp-block-template-part a { position: relative; transition: color 0.2s ease !important; }
header.wp-block-template-part nav a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: #4dd4e8; transition: width 0.25s ease; }
header.wp-block-template-part nav a:hover::after { width: 100%; }

/* Footer link hover micro-shift */
.vc-footer-link a { display: inline-block; transition: transform 0.2s ease, color 0.2s ease !important; }
.vc-footer-link a:hover { transform: translateX(3px); }

/* Selection color for a premium touch */
::selection { background: rgba(0,0,0,0); color: #ffffff; }

/* Smooth image/card loading feel */
.vc-shop-image-wrap { transition: box-shadow 0.3s ease; }

/* ============ MOBILE RESPONSIVENESS ============ */




/* fix excess vertical gap when verify-box columns wrap */
.vc-verify-box .wp-block-columns { row-gap: 0 !important; column-gap: 0 !important; }
.vc-verify-box .wp-block-column { margin-top: 0 !important; margin-bottom: 0 !important; }

/* full-bleed hero background layer */
.vc-hero-bg { position:relative; overflow:hidden; }
.vc-hero-bg-layer { position:absolute; top:0; left:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.vc-hero-bg-layer svg { display:block; width:100%; height:100%; }
.vc-hero-bg > *:not(.vc-hero-bg-layer) { position:relative; z-index:1; }

/* remove the old radial glow pseudo-elements since the SVG now handles atmosphere */
.vc-hero-bg::before, .vc-hero-bg::after { display:none !important; }

/* product page redesign polish */
.vc-product-gallery-box .wc-block-product-gallery-large-image, .vc-product-gallery-box { border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,0.08); background:#000000; }
.vc-spec-strip { border:1px solid rgba(255,255,255,0.1); border-radius:10px; background:#000000; }
.vc-spec-col { padding:16px 14px; border-left:1px solid rgba(255,255,255,0.08); }
.vc-spec-col:first-child { border-left:none; }
.vc-spec-label { color:#7a8696 !important; font-size:11px !important; letter-spacing:1px; text-transform:uppercase; margin-bottom:4px !important; }
.vc-spec-value { color:#ffffff !important; font-size:14px !important; font-weight:600; }
body.single-product .price, body.single-product .wc-block-components-product-price__value { font-size:32px !important; font-weight:700 !important; }
.vc-coa-link { display:flex; align-items:center; gap:8px; color:#8b97a8 !important; font-size:13px; text-decoration:none !important; margin-top:12px; }
.vc-coa-link:hover { color:#4dd4e8 !important; }

/* fix excess gap when spec-strip columns wrap */
.vc-spec-strip.wp-block-columns { row-gap: 0 !important; column-gap: 0 !important; }
.vc-spec-strip .wp-block-column { margin-top: 0 !important; margin-bottom: 0 !important; }


/* smaller, cleaner typography on product pages */
body.single-product h1.wp-block-post-title { font-size: 30px !important; font-weight: 600 !important; }
body.single-product .wc-block-components-product-summary p { font-size: 15px !important; line-height: 1.6 !important; }
body.single-product .price, body.single-product .wc-block-components-product-price__value { font-size: 24px !important; font-weight: 700 !important; }

/* product details/specifications tabs */
body.single-product .wp-block-woocommerce-product-details, body.single-product .wc-block-product-details,
body.single-product .wp-block-woocommerce-product-specifications, body.single-product .wc-block-product-specifications {
  font-size: 14px !important;
}
body.single-product .wc-block-product-details h2, body.single-product .wc-block-product-details h3,
body.single-product .wc-block-product-specifications h2, body.single-product .wc-block-product-specifications h3,
body.single-product .wc-tabs li a, body.single-product .woocommerce-tabs h2 {
  font-size: 16px !important; font-weight: 600 !important;
}
body.single-product .woocommerce-Tabs-panel p, body.single-product .woocommerce-Tabs-panel li,
body.single-product .wc-block-product-details p, body.single-product .wc-block-product-specifications td,
body.single-product .wc-block-product-specifications th {
  font-size: 14px !important; line-height: 1.6 !important;
}

/* You might also like section */
body.single-product .wp-block-woocommerce-product-collection h2 { font-size: 20px !important; }
body.single-product .wp-block-woocommerce-product-collection .wp-block-post-title { font-size: 15px !important; }

/* de-bold product typography */
body.single-product h1.wp-block-post-title { font-weight: 400 !important; }
body.single-product .price, body.single-product .wc-block-components-product-price__value { font-weight: 500 !important; }
.vc-spec-value { font-weight: 500 !important; }
body.single-product .wc-block-product-details h2, body.single-product .wc-block-product-details h3,
body.single-product .wc-block-product-specifications h2, body.single-product .wc-block-product-specifications h3,
body.single-product .wc-tabs li a, body.single-product .woocommerce-tabs h2 { font-weight: 500 !important; }

.vc-shop-title, .vc-shop-title a { font-weight: 400 !important; }
body.single-product .wp-block-woocommerce-product-collection .wp-block-post-title,
body.single-product .wp-block-woocommerce-product-collection .wp-block-post-title a { font-weight: 400 !important; }

.wc-block-components-product-name, .wc-block-cart-item__product-name, .wc-block-components-order-summary-item__name { font-weight: 400 !important; }

/* real photo hero background */
.vc-hero-bg-layer { display: none !important; }
.vc-hero-bg { background-image: url('https://vanechems.com/wp-content/uploads/2026/07/Chat-GPT-Image-Jul-15-2026-06-46-15-PM.png'); background-size: cover; background-position: center 30%; position: relative; }
.vc-hero-bg::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.8) 60%, rgba(0,0,0,0.95) 100%); z-index: 0; }
.vc-hero-bg > * { position: relative; z-index: 1; }

/* force hero background image to actually win over earlier gradient rule */
.vc-hero-bg { background-image: url('https://vanechems.com/wp-content/uploads/2026/07/Chat-GPT-Image-Jul-15-2026-06-46-15-PM.png') !important; background-size: cover !important; background-position: center 30% !important; background-color: #000000 !important; }

/* darker hero overlay + guaranteed white readable text */
.vc-hero-bg::before { background: radial-gradient(ellipse at center, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.88) 55%, rgba(0,0,0,0.97) 100%) !important; }
.vc-hero-bg h1, .vc-hero-bg p, .vc-hero-bg .vc-eyebrow-center {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}
.vc-hero-bg .vc-eyebrow-center { color: #d8e4ea !important; }

/* fix plain pages still on default light theme background */
body.page:not(.woocommerce-page) { background-color:#000000 !important; }
body.page:not(.woocommerce-page) main.wp-block-group,
body.page:not(.woocommerce-page) .entry-content { background-color:#000000 !important; }
body.page:not(.woocommerce-page) p, body.page:not(.woocommerce-page) li { color:#c3cbd4 !important; }
body.page:not(.woocommerce-page) h1, body.page:not(.woocommerce-page) h2, body.page:not(.woocommerce-page) h3, body.page:not(.woocommerce-page) h4 { color:#ffffff !important; }

/* foundational reading article cards */
.vc-article-card { transition: all 0.25s ease; }
.vc-article-eyebrow { color:#4dd4e8 !important; font-size:11px !important; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; }
.vc-article-read { color:#7a8696 !important; font-size:12px !important; letter-spacing:0.5px; text-transform:uppercase; }
.vc-all-articles a { color:#c3cbd4 !important; font-size:13px; letter-spacing:1px; text-transform:uppercase; text-decoration:none !important; }
.vc-all-articles a:hover { color:#4dd4e8 !important; }

/* foundational reading - flat bordered card matching reference exactly */
a.vc-article-card {
  background-color: #000000 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 28px 26px !important;
  box-shadow: none !important;
  transform: none !important;
  min-height: 220px;
  display: flex !important;
  flex-direction: column;
}
a.vc-article-card::before { display: none !important; }
a.vc-article-card:hover {
  border-color: rgba(77,212,232,0.35) !important;
  background-color: #000000 !important;
  transform: none !important;
  box-shadow: none !important;
}
a.vc-article-card .vc-article-eyebrow { margin: 0 0 14px 0 !important; }
a.vc-article-card h4 { line-height: 1.3; }
a.vc-article-card p:not(.vc-article-eyebrow):not(.vc-article-read) { flex-grow: 1; }
a.vc-article-card .vc-article-read { margin-top: auto !important; }

/* foundational reading v2 - clean rebuild */
.vc-foundational-header { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.vc-all-articles { color:#8b97a8 !important; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none !important; white-space:nowrap; padding-bottom:2px; }
.vc-all-articles:hover { color:#4dd4e8 !important; }

a.vc-article-card {
  display:flex !important;
  flex-direction:column;
  background-color:#000000 !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  border-radius:12px !important;
  padding:28px 26px !important;
  min-height:230px;
  text-decoration:none !important;
  transition:border-color 0.25s ease, background-color 0.25s ease;
}
a.vc-article-card:hover { border-color:rgba(77,212,232,0.35) !important; background-color:#000000 !important; }
a.vc-article-card .vc-article-eyebrow { color:#4dd4e8; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; margin:0 0 14px 0; }
a.vc-article-card h4 { color:#ffffff; font-size:19px; font-weight:600; line-height:1.35; margin:0 0 12px 0; }
a.vc-article-card .vc-article-desc { color:#8b97a8; font-size:14px; line-height:1.65; margin:0; flex-grow:1; }
a.vc-article-card .vc-article-read { color:#7a8696; font-size:11px; letter-spacing:1px; text-transform:uppercase; margin:20px 0 0 0; }

/* de-bold all section headings site-wide */
h1, h2, h3, h4 { font-weight: 400 !important; }

/* swap hero background to new vials wide image */
.vc-hero-bg { background-image: url('https://vanechems.com/wp-content/uploads/2026/07/Chat-GPT-Image-Jul-16-2026-06-00-31-PM.png') !important; background-size: cover !important; background-position: center !important; background-color: #000000 !important; }

/* hero fills full viewport height */
.vc-hero-bg {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
}

/* force hero to break out to full browser width */
.vc-hero-bg {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box;
}

/* darken hero image further */
.vc-hero-bg::before { background: radial-gradient(ellipse at center, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.92) 55%, rgba(0,0,0,0.98) 100%) !important; }

/* force scrim overlay to actually display (earlier rule set display:none) */
.vc-hero-bg::before { display: block !important; content: '' !important; position: absolute !important; inset: 0 !important; z-index: 0 !important; }

/* fully override old 400x400 glow-blob sizing, make scrim cover entire hero */
.vc-hero-bg::before {
  display: block !important;
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  background: rgba(0,0,0,0.4) !important;
}

/* research/foundations index page */
body.page .vc-foundations-header { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:36px; }
.vc-article-count { color:#7a8696 !important; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; }
.vc-articles-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }


/* ============ PROFESSIONAL POLISH PASS 2 ============ */

/* selective blue section headings (h2 only, not hero h1 or card h3/h4) */
h2 {
  color: #5fd4e8 !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
}
.vc-hero-bg h2 { color: #ffffff !important; }

/* smaller, tighter body copy throughout */
p { font-size: 15px !important; line-height: 1.7 !important; }
.vc-hero-bg p { font-size: 17px !important; }
h1 { letter-spacing: -0.02em !important; }
h3, h4 { letter-spacing: -0.01em !important; font-weight: 500 !important; }

/* subtle accent rule under h2 section headings for visual rhythm */
main h2:not(.vc-foundations-header h1) {
  position: relative;
  padding-bottom: 14px;
}
main h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, #4dd4e8, transparent);
  border-radius: 2px;
}
main h2[style*="text-align:center"]::after, .has-text-align-center h2::after {
  left: 50%;
  transform: translateX(-50%);
}

/* refine card body text sizing */
.vc-card p, .vc-article-card p, .vc-shop-card p { font-size: 13px !important; }
.vc-verify-col p { font-size: 13px !important; }

/* smoother, more premium link underline on inline text links */
main a:not(.wp-block-button__link):not(.vc-card):not(.vc-article-card) {
  text-underline-offset: 3px;
}

/* tighter letter-spacing on eyebrows for refinement */
.vc-eyebrow, .vc-eyebrow-center, .vc-article-eyebrow { letter-spacing: 2px !important; font-weight: 600 !important; }

/* subtle fade-in feel on card hover shadows, refined */
.vc-card, .vc-shop-card .vc-shop-image-wrap, a.vc-article-card {
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
}

/* refine footer spacing/typography */
.vc-footer-brand { letter-spacing: 1.5px !important; }

/* small caps polish on nav */
header.wp-block-template-part nav a { letter-spacing: 1.5px !important; font-size: 13px !important; }

/* ============ TRUE BLACK + BLUE THEME ============ */

body, html { background-color: #000000 !important; }

/* override every inline dark-grey background shade with true/near black */
[style*="background-color:#000000"] { background-color: #000000 !important; }
[style*="background-color:#000000"] { background-color: #030303 !important; }
[style*="background-color:#000000"] { background-color: #0a0a0a !important; }
[style*="background-color:#000000"] { background-color: #060606 !important; }
[style*="background-color:#000000"] { background-color: #050505 !important; }
[style*="background-color:#050709"] { background-color: #000000 !important; }
.vc-hero-bg { background-color: #000000 !important; }
a.vc-article-card { background-color: #060606 !important; }
a.vc-article-card:hover { background-color: #0a0a0a !important; }
header.wp-block-template-part, footer.wp-block-template-part { background-color: #000000 !important; }
.vc-lab-row { background-color: #060606 !important; }
.vc-spec-strip { background-color: #030303 !important; }
body.single-product, body.single-product main.wp-block-group { background-color: #000000 !important; }
body.page:not(.woocommerce-page) { background-color: #000000 !important; }
body.page:not(.woocommerce-page) main.wp-block-group, body.page:not(.woocommerce-page) .entry-content { background-color: #000000 !important; }

/* richer, punchier blue glow throughout against true black */
.vc-icon-wrap { box-shadow: none !important; }
.vc-card:hover .vc-icon-wrap { box-shadow: 0 0 0 1px rgba(0,0,0,0), 0 0 30px rgba(77,212,232,0.5) !important; }
.vc-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.6), 0 0 40px -4px rgba(0,0,0,0) !important; border-color: rgba(77,212,232,0.25) !important; }
a.vc-article-card:hover { border-color: rgba(77,212,232,0.5) !important; box-shadow: 0 0 30px -6px rgba(0,0,0,0) !important; }
.wp-block-buttons .wp-block-button__link:hover { box-shadow: 0 0 30px rgba(0,0,0,0) !important; }
h2::after { box-shadow: none; }

/* brighten the blue accent itself for more punch against pure black */
h2 { color: #4de3ff !important; text-shadow: 0 0 20px rgba(77,212,232,0.25); }
.vc-eyebrow, .vc-eyebrow-center, .vc-article-eyebrow { color: #4de3ff !important; }

/* extra: glowing dot-grid feels richer on true black */
body { background-image: radial-gradient(rgba(0,0,0,0) 1px, transparent 1px) !important; background-size: 32px 32px !important; }

/* extra: subtle blue-glow vertical accent line on left of verify cards on hover */
.vc-verify-col { transition: background-color 0.3s ease, box-shadow 0.3s ease; }
.vc-verify-col:hover { background-color: rgba(0,0,0,0) !important; box-shadow: inset 3px 0 0 #4dd4e8; }

/* extra: footer top border glows */
footer.wp-block-template-part { box-shadow: none; }

/* ============ FORCE SMALLER, NON-BOLD HEADINGS EVERYWHERE (final, max specificity) ============ */
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body h1.wp-block-heading, html body h2.wp-block-heading, html body h3.wp-block-heading, html body h4.wp-block-heading,
html body .wp-block-post-title, html body h1.wp-block-post-title {
  font-weight: 400 !important;
}

html body h1 { font-size: 30px !important; }
html body h2 { font-size: 22px !important; }
html body h3 { font-size: 18px !important; }
html body h4 { font-size: 16px !important; }

/* keep hero heading readable at a slightly larger size since it's the main headline, still not bold */
html body .vc-hero-bg h1 { font-size: clamp(26px, 4vw, 42px) !important; font-weight: 400 !important; }

/* ============ NEW HEADING FONT + SLIGHTLY LARGER SIZES ============ */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&display=swap');

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .wp-block-post-title {
  font-family: 'Manrope', 'Inter', sans-serif !important;
  font-weight: 400 !important;
}

html body h1 { font-size: 36px !important; }
html body h2 { font-size: 26px !important; }
html body h3 { font-size: 20px !important; }
html body h4 { font-size: 17px !important; }

html body .vc-hero-bg h1 { font-family: 'Manrope', 'Inter', sans-serif !important; font-size: clamp(30px, 4.5vw, 48px) !important; font-weight: 400 !important; }

/* ============ FINAL POLISH PASS ============ */

html { scroll-behavior: smooth; }

/* custom thin blue scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #000000; }
::-webkit-scrollbar-thumb { background: linear-gradient(#1f8aad, #146a85); border-radius: 6px; border: 2px solid #000000; }
::-webkit-scrollbar-thumb:hover { background: #4dd4e8; }
* { scrollbar-color: #1f8aad #000000; scrollbar-width: thin; }

/* subtle grain texture overlay for editorial depth */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* hero entrance animation */
@keyframes vcFadeUp { from { opacity:0; transform: translateY(18px); } to { opacity:1; transform: translateY(0); } }
.vc-hero-bg .vc-eyebrow-center { animation: vcFadeUp 0.7s ease both; }
.vc-hero-bg h1 { animation: vcFadeUp 0.8s ease 0.1s both; }
.vc-hero-bg p { animation: vcFadeUp 0.8s ease 0.2s both; }
.vc-hero-bg .wp-block-buttons { animation: vcFadeUp 0.8s ease 0.3s both; }

/* gradient sheen on hero heading */
.vc-hero-bg h1 {
  background: linear-gradient(105deg, #ffffff 30%, #bfe9f5 50%, #ffffff 70%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none !important;
}

/* bouncing scroll cue at bottom of hero */
@keyframes vcBounce { 0%,100% { transform: translateY(0); opacity:0.5; } 50% { transform: translateY(8px); opacity:1; } }
.vc-hero-bg::after {
  content: '';
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  width: 22px;
  height: 22px;
  border-right: 2px solid #4dd4e8;
  border-bottom: 2px solid #4dd4e8;
  transform: translateX(-50%) rotate(45deg);
  animation: vcBounce 2s ease-in-out infinite;
  z-index: 2;
  opacity: 0.7;
}

/* slightly richer card entrance on hover - lift + glow combined already present, add subtle scale */
.vc-card:hover, a.vc-article-card:hover { transform: translateY(-6px) scale(1.01) !important; }

/* polish: button text letter-spacing + subtle inner highlight */
.wp-block-buttons .wp-block-button__link {
  position: relative;
  overflow: hidden;
}
.wp-block-buttons .wp-block-button__link::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left 0.5s ease;
}
.wp-block-buttons .wp-block-button__link:hover::before { left: 120%; }

/* polish: footer link arrow micro-icon feel via subtle bullet */
.vc-footer-link a::before { content: ''; }

/* hero eyebrow: white text, Manrope font */
html body .vc-hero-bg .vc-eyebrow-center {
  color: #ffffff !important;
  font-family: 'Manrope', 'Inter', sans-serif !important;
}

/* swap hero background to updated vial design */
html body .vc-hero-bg { background-image: url('https://vanechems.com/wp-content/uploads/2026/07/Chat-GPT-Image-Jul-24-2026-11-47-45-PM.png') !important; background-size: cover !important; background-position: center !important; background-color: #000000 !important; }

/* swap hero background to latest vial design */
html body .vc-hero-bg { background-image: url('https://vanechems.com/wp-content/uploads/2026/07/Chat-GPT-Image-Jul-24-2026-11-56-22-PM.png') !important; background-size: cover !important; background-position: center !important; background-color: #000000 !important; }

/* swap hero background to latest vial design v3 */
html body .vc-hero-bg { background-image: url('https://vanechems.com/wp-content/uploads/2026/07/Chat-GPT-Image-Jul-25-2026-12-09-12-AM.png') !important; background-size: cover !important; background-position: center !important; background-color: #000000 !important; }

/* ============ AMBIENT COLOR GLOWS ON BLACK SECTIONS ============ */

/* alt sections (#030303) get a subtle blue-violet glow, top-left */
[style*="background-color:#030303"] { position: relative !important; overflow: hidden !important; }
[style*="background-color:#030303"]::before {
  content: '';
  position: absolute;
  top: -120px; left: -100px;
  width: 450px; height: 450px;
  background: radial-gradient(circle, rgba(0,0,0,0) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
[style*="background-color:#030303"] > * { position: relative; z-index: 1; }

/* pure black main sections (#000000, excluding hero) get a subtle teal glow, bottom-right */
main [style*="background-color:#000000"] { position: relative !important; overflow: hidden !important; }
main [style*="background-color:#000000"]::before {
  content: '';
  position: absolute;
  bottom: -140px; right: -120px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(0,0,0,0) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
main [style*="background-color:#000000"] > * { position: relative; z-index: 1; }

/* footer gets a soft warm-ish violet glow centered, low and wide, for contrast against the blue everywhere else */
footer.wp-block-template-part { position: relative; overflow: hidden; }
footer.wp-block-template-part::after {
  content: '';
  position: absolute;
  bottom: -200px; left: 50%;
  transform: translateX(-50%);
  width: 700px; height: 300px;
  background: radial-gradient(ellipse, rgba(0,0,0,0) 0%, transparent 75%);
  pointer-events: none;
  z-index: 0;
}

/* header gets a faint cyan glow behind the wordmark */
header.wp-block-template-part { position: relative; overflow: hidden; }
header.wp-block-template-part::after {
  content: '';
  position: absolute;
  top: -60px; left: 50%;
  transform: translateX(-50%);
  width: 300px; height: 150px;
  background: radial-gradient(ellipse, rgba(0,0,0,0) 0%, transparent 75%);
  pointer-events: none;
  z-index: 0;
}

/* verify box + card sections keep their content clickable above the glow */
.vc-verify-box, .vc-card, a.vc-article-card, .vc-shop-card { position: relative; z-index: 1; }

/* ============ ALL-BLUE AMBIENT GLOWS (override previous mixed hues) ============ */
[style*="background-color:#030303"]::before {
  background: radial-gradient(circle, rgba(0,0,0,0) 0%, transparent 70%) !important;
}
main [style*="background-color:#000000"]::before {
  background: radial-gradient(circle, rgba(0,0,0,0) 0%, transparent 70%) !important;
}
footer.wp-block-template-part::after {
  background: radial-gradient(ellipse, rgba(0,0,0,0) 0%, transparent 75%) !important;
}
header.wp-block-template-part::after {
  background: radial-gradient(ellipse, rgba(0,0,0,0) 0%, transparent 75%) !important;
}

/* ============ FIX: glow selectors now match actual inline style values ============ */
[style*="background-color:#000000"] { position: relative !important; overflow: hidden !important; }
[style*="background-color:#000000"]::before {
  content: '';
  position: absolute;
  top: -120px; left: -100px;
  width: 450px; height: 450px;
  background: radial-gradient(circle, rgba(0,0,0,0) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
[style*="background-color:#000000"] > * { position: relative; z-index: 1; }

main [style*="background-color:#000000"] { position: relative !important; overflow: hidden !important; }
main [style*="background-color:#000000"]::before {
  content: '';
  position: absolute;
  bottom: -140px; right: -120px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(0,0,0,0) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
main [style*="background-color:#000000"] > * { position: relative; z-index: 1; }

.vc-verify-box, .vc-card, a.vc-article-card, .vc-shop-card, .vc-lab-row { position: relative; z-index: 2; }

/* boost header/footer glow visibility too */
header.wp-block-template-part::after { top: -30px !important; opacity: 1 !important; background: radial-gradient(ellipse, rgba(0,0,0,0) 0%, transparent 75%) !important; }
footer.wp-block-template-part::after { background: radial-gradient(ellipse, rgba(0,0,0,0) 0%, transparent 75%) !important; }

/* ============ FIX: remove boxed/clipped glows, use one continuous soft wash instead ============ */

/* undo the clipping + pseudo-element box approach entirely */
[style*="background-color:#000000"], [style*="background-color:#000000"] {
  overflow: visible !important;
}
[style*="background-color:#000000"]::before, [style*="background-color:#000000"]::before {
  display: none !important;
}
header.wp-block-template-part::after, footer.wp-block-template-part::after { display: none !important; }

/* one continuous fixed ambient glow layer behind everything, spanning the whole viewport */
body::after { display: none !important; }

/* make sure section backgrounds don't fully block the wash - use transparent so fixed glow shows through */
[style*="background-color:#000000"] { background-color: transparent !important; }
[style*="background-color:#000000"] { background-color: rgba(255,255,255,0.015) !important; }
body, html { background-color: #000000 !important; }
main.wp-block-group { background-color: #000000 !important; }

/* ensure content sits above the fixed glow layer */
header.wp-block-template-part, main.wp-block-group, footer.wp-block-template-part, .vc-hero-bg { position: relative; z-index: 1; }

/* darken hero image further, again */
html body .vc-hero-bg::before {
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.94) 55%, rgba(0,0,0,0.98) 100%) !important;
}

/* dial hero overlay back to medium darkness */
html body .vc-hero-bg::before {
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.72) 55%, rgba(0,0,0,0.85) 100%) !important;
}

/* make the ambient glow milder and ensure it applies on every page, not just home */
html body::after { display: none !important; }

/* make sure single-product and shop pages also let the glow show through instead of full opaque black */
body.single-product, body.single-product main.wp-block-group,
body.woocommerce-page main.wp-block-group,
body.page:not(.woocommerce-page) main.wp-block-group {
  background-color: transparent !important;
}
body.single-product, body.woocommerce-page, body.page:not(.woocommerce-page) {
  background-color: #000000 !important;
}

/* ============ ALL BODY TEXT: WHITE, NOT BOLD (matching hero eyebrow style) ============ */
html body p, html body li, html body span,
html body a:not(.wp-block-button__link) {
  color: #ffffff !important;
  font-weight: 400 !important;
}

/* keep the muted eyebrow/label/read-time text readable but still white per request */
html body .vc-eyebrow, html body .vc-eyebrow-center, html body .vc-article-eyebrow,
html body .vc-article-read, html body .vc-spec-label, html body .vc-footer-copyright,
html body .vc-all-articles, html body .vc-article-count {
  color: #ffffff !important;
  font-weight: 400 !important;
}

/* preserve necessary contrast: white pill buttons keep dark text, outline buttons keep white text (already white bg/border only) */
html body .wp-block-buttons .wp-block-button__link { font-weight: 500 !important; }

/* ============ COMPREHENSIVE MOBILE RESPONSIVENESS PASS ============ */




/* ============ MOBILE: TIGHTEN VERTICAL RHYTHM (mobile only, desktop untouched) ============ */


/* ============ 
/* ============ MOBILE MENU: dark grey, rounded, animated dropdown ============ */

.vc-mobile-menu { display: none; }

@media (max-width: 781px) {
  header.wp-block-template-part {
    overflow: visible !important;
    position: relative !important;
    z-index: 100000 !important;
  }
  .vc-desktop-nav-left, .vc-desktop-nav-right { display: none !important; }

  header.wp-block-template-part .wp-block-group.alignwide {
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .vc-mobile-menu { display: block !important; order: -1; }

  .vc-mobile-menu-btn {
    cursor: pointer;
    padding: 10px;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .vc-mobile-menu-panel {
    display: flex;
    position: absolute;
    top: calc(100% + 8px);
    left: 12px;
    right: 12px;
    background: #000000;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    flex-direction: column;
    align-items: stretch;
    padding: 8px 0;
    gap: 0;
    z-index: 9999;
    box-shadow: 0 20px 40px rgba(0,0,0,0.6);
    overflow: hidden;

    /* animated dropdown - always in DOM, animate opacity/transform instead of display */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    pointer-events: none;
  }

  .vc-mobile-menu-panel.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .vc-mobile-menu-panel a {
    color: #ffffff !important;
    font-size: 17px;
    font-family: 'Manrope','Inter',sans-serif;
    font-weight: 400;
    text-decoration: none !important;
    letter-spacing: 0.3px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    text-align: left;
  }
  .vc-mobile-menu-panel a:last-of-type { border-bottom: none; }
  .vc-mobile-menu-panel a:hover { color: #4dd4e8 !important; background: rgba(255,255,255,0.04); }

  .vc-mobile-menu-close {
    position: absolute !important;
    top: 8px !important;
    right: 12px !important;
    left: auto !important;
    font-size: 22px !important;
    color: #6b7688 !important;
    padding: 6px !important;
    border-bottom: none !important;
    z-index: 2;
  }
}
/* ============ header mobile: hide topbar, properly center wordmark like reference ============ */
@media (max-width: 781px) {
  .vc-topbar {
    overflow: hidden !important;
    white-space: nowrap !important;
    padding: 6px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
  .vc-topbar p {
    display: inline-block !important;
    white-space: nowrap !important;
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    margin: 0 !important;
    padding-left: 100%;
    animation: vcTickerScroll 14s linear infinite alternate;
  }
  @keyframes vcTickerScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
  }

  header.wp-block-template-part .wp-block-group.alignwide {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
  }

  /* menu button stays left in normal flow */
  .vc-mobile-menu { order: 0 !important; flex: 0 0 auto; }

  /* wordmark absolutely centered regardless of left/right content width */
  .vc-header-logo-group {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
  }

  /* cart/account group stays right in normal flow */
  header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group:last-child {
    order: 2;
    flex: 0 0 auto;
    margin-left: auto;
  }
}

/* fix: footer had NO mobile override left after a previous cleanup - was stuck at desktop nowrap, causing overflow */
@media (max-width: 781px) {
  .vc-footer-columns {
    flex-wrap: wrap !important;
    flex-direction: column !important;
    row-gap: 28px !important;
  }
  .vc-footer-columns > .wp-block-column {
    flex-basis: 100% !important;
    flex-grow: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* thinner headings site-wide - lighter weight, especially page titles */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500&display=swap');

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .wp-block-post-title {
  font-weight: 300 !important;
}

html body h1 {
  font-weight: 200 !important;
}
html body .vc-hero-bg h1 {
  font-weight: 200 !important;
}
/* remove the blue pill border around eyebrow labels (e.g. RESEARCH COMPOUND on product pages) */
.vc-eyebrow {
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: block !important;
}

@media (max-width: 781px) {
  /* Add to cart button: smaller, cleaner, single-line, not stretched tall */
  .wc-block-add-to-cart-with-options,
  .wc-block-add-to-cart-with-options .wp-block-button__link,
  body.single-product .single_add_to_cart_button {
    white-space: nowrap !important;
    font-size: 13px !important;
    padding: 10px 18px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .wc-block-components-quantity-selector {
    height: auto !important;
  }

  /* Download COA button: keep as one clean line, no mid-word wrap */
  body.single-product .wp-block-buttons .wp-block-button__link {
    white-space: nowrap !important;
    font-size: 12px !important;
    padding: 10px 16px !important;
    letter-spacing: 0.5px !important;
  }
}
/* fix: Download COA was squeezed off-screen alongside quantity + add to cart - stack it on its own row */
@media (max-width: 781px) {
  body.single-product .wp-block-group:has(.wc-block-add-to-cart-with-options) {
    flex-wrap: wrap !important;
    row-gap: 12px !important;
  }
  body.single-product .wp-block-group:has(.wc-block-add-to-cart-with-options) > .wp-block-buttons {
    flex-basis: 100% !important;
    width: 100% !important;
    order: 3;
  }
  body.single-product .wp-block-group:has(.wc-block-add-to-cart-with-options) .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
  }
}
.vc-research-notes { margin-top: 40px; padding: 28px 30px; background: #000000; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; }
.vc-research-notes-eyebrow { color: #4dd4e8; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 14px; }
.vc-research-notes-body p { color: #c9d3e0; font-size: 15px; line-height: 1.7; margin: 0 0 14px; }
.vc-research-notes-body p:last-child { margin-bottom: 0; }

a.vc-article-card .vc-article-desc { font-size: 14px !important; line-height: 1.55 !important; }
a.vc-article-card h4 { font-size: 18px !important; line-height: 1.3 !important; }

.vc-articles-grid { grid-template-columns: 1fr !important; }
.vc-card.vc-article-card { aspect-ratio: 1 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
a.vc-article-card .vc-article-desc { display: -webkit-box !important; -webkit-line-clamp: 4 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }

a.vc-article-card .vc-article-desc { flex-grow: 0 !important; }
a.vc-article-card .vc-article-read { margin-top: auto !important; padding-top: 10px !important; }

.vc-coa-list { display: flex; flex-direction: column; gap: 12px; }
.vc-coa-row { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; background: #000000; border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; }
.vc-coa-row-left { display: flex; align-items: center; gap: 16px; }
.vc-coa-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: rgba(0,0,0,0); border-radius: 8px; flex-shrink: 0; }
.vc-coa-name { color: #ffffff; font-size: 15px; font-weight: 600; margin: 0 0 2px; }
.vc-coa-batch { color: #7a8696; font-size: 12px; margin: 0; letter-spacing: 0.3px; }
.vc-coa-download { color: #4dd4e8; font-size: 13px; font-weight: 600; text-decoration: none; letter-spacing: 0.3px; padding: 8px 16px; border: 1px solid rgba(77,212,232,0.3); border-radius: 6px; transition: all 0.2s ease; white-space: nowrap; }
.vc-coa-download:hover { background: rgba(0,0,0,0); border-color: rgba(77,212,232,0.6); }

body.page-id-47 .vc-foundations-header { align-items: baseline !important; margin-bottom: 24px !important; }
body.page-id-47 .vc-article-count { font-size: 12px !important; }

.vc-foundations-header h1 { font-size: 24px !important; font-weight: 500 !important; }
.vc-foundations-header { display: flex !important; align-items: baseline !important; gap: 14px !important; margin-bottom: 24px !important; }
.vc-article-count { font-size: 11px !important; }

.vc-lab-available { margin: 0; }
.vc-lab-available a { color: #4dd4e8 !important; font-size: 13px; text-decoration: none; font-weight: 500; }
.vc-lab-available a:hover { text-decoration: underline; }

.vc-lab-row p[style*='font-weight:600'] { font-size: 15px !important; margin: 0 0 4px !important; }
.vc-lab-available { margin: 0 !important; }
.vc-lab-available a { color: #4dd4e8 !important; font-size: 11px !important; text-decoration: none; font-weight: 600 !important; letter-spacing: 0.4px; text-transform: uppercase; }
.vc-lab-available a:hover { text-decoration: underline; }

.vc-product-gallery-box .wc-block-components-product-image, .vc-product-gallery-box .wc-block-product-gallery-large-image__container, .vc-product-gallery-box .wc-block-product-gallery-large-image__wrapper, .vc-product-gallery-box li, .vc-product-gallery-box ul { background: #000000 !important; }

.vc-product-gallery-box, .vc-product-gallery-box .wc-block-product-gallery-large-image, .vc-product-gallery-box .wc-block-components-product-image, .vc-product-gallery-box .wc-block-product-gallery-large-image__container, .vc-product-gallery-box .wc-block-product-gallery-large-image__wrapper, .vc-product-gallery-box li, .vc-product-gallery-box ul { background: transparent !important; border: none !important; box-shadow: none !important; }

.vc-mobile-menu { display: flex !important; align-items: center; gap: 14px; }
header.wp-block-template-part .wc-block-mini-cart { display: flex !important; align-items: center; }

/* Mini-cart drawer restyle: dark theme, sleek thin type, all white/light text */
.wc-block-mini-cart__drawer, .wc-block-mini-cart__main, .wc-block-components-drawer__screen-overlay + div, .wc-block-mini-cart-items { background-color: #000000 !important; color: #e6ecf1 !important; }
.wc-block-mini-cart__title { color: #ffffff !important; font-weight: 300 !important; font-size: 20px !important; letter-spacing: 0.3px; }
.wc-block-mini-cart-items__product-name, .wc-block-mini-cart-items__product-name a { color: #ffffff !important; font-weight: 400 !important; font-size: 14px !important; }
.wc-block-mini-cart-items__product-metadata, .wc-block-components-product-price, .wc-block-mini-cart-items__product-metadata * { color: #b8c2cf !important; font-weight: 300 !important; }
.wc-block-components-quantity-selector, .wc-block-components-quantity-selector input { color: #ffffff !important; background: #10151c !important; border-color: rgba(255,255,255,0.15) !important; }
.wc-block-components-totals-item, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value { color: #ffffff !important; font-weight: 300 !important; }
.wc-block-mini-cart__footer { border-top: 1px solid rgba(255,255,255,0.1) !important; }
.wc-block-mini-cart-items__product-remove button, .wc-block-components-product-metadata, .wc-block-components-quantity-selector__button { color: #b8c2cf !important; }
.wc-block-mini-cart__footer-actions .wc-block-components-button { font-weight: 400 !important; letter-spacing: 0.4px; }
.wc-block-mini-cart__empty-cart-wrapper, .wc-block-mini-cart__empty-cart-wrapper * { color: #e6ecf1 !important; }

/* Cart page restyle: sleek, all white/light text, thin weight */
body.woocommerce-cart h1.wp-block-heading { color: #ffffff !important; font-weight: 300 !important; font-size: 30px !important; opacity: 1 !important; }
body.woocommerce-cart .wc-block-components-product-name, body.woocommerce-cart .wc-block-components-product-name a { color: #ffffff !important; font-weight: 400 !important; }
body.woocommerce-cart .wc-block-cart-item__wrap p, body.woocommerce-cart .wc-block-cart-item__wrap li, body.woocommerce-cart .wc-block-cart-item__wrap ul { color: #d5dce4 !important; font-weight: 300 !important; }
body.woocommerce-cart .wc-block-components-product-price, body.woocommerce-cart .wc-block-components-totals-item__value, body.woocommerce-cart .wc-block-components-totals-item__label { color: #ffffff !important; font-weight: 300 !important; }
body.woocommerce-cart .wc-block-components-totals-coupon-link, body.woocommerce-cart .wc-block-components-panel__button { color: #d5dce4 !important; font-weight: 300 !important; }
body.woocommerce-cart .wc-block-components-quantity-selector, body.woocommerce-cart .wc-block-components-quantity-selector input { color: #ffffff !important; background: #10151c !important; border-color: rgba(255,255,255,0.15) !important; }
body.woocommerce-cart .wc-block-cart__submit-button, body.woocommerce-cart .wc-block-components-checkout-place-order-button, body.woocommerce-cart a.wc-block-cart__submit-button { background-color: #ffffff !important; color: #000000 !important; font-weight: 500 !important; letter-spacing: 0.4px; border: none !important; }
body.woocommerce-cart .wc-block-cart__submit-container { background: transparent !important; }
body.woocommerce-cart .wc-block-components-totals-wrapper, body.woocommerce-cart .wc-block-components-sidebar, body.woocommerce-cart hr { border-color: rgba(255,255,255,0.1) !important; }

body.woocommerce-cart .wc-block-cart-cross-sells__title, body.woocommerce-cart .wp-block-woocommerce-product-collection h2, body.woocommerce-cart .wc-block-cart-cross-sells h2 { color: #ffffff !important; font-weight: 300 !important; font-size: 22px !important; letter-spacing: -0.01em; }


/* VaneChems: checkout page cleanup */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout p,
body.woocommerce-checkout .wp-block-woocommerce-checkout label,
body.woocommerce-checkout .wp-block-woocommerce-checkout span,
body.woocommerce-checkout .wp-block-woocommerce-checkout li,
body.woocommerce-checkout .wp-block-woocommerce-checkout input,
body.woocommerce-checkout .wp-block-woocommerce-checkout select {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 14px !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout h3,
body.woocommerce-checkout .wc-block-components-checkout-step__title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 16px !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout a,
body.woocommerce-checkout .wp-block-woocommerce-checkout a:visited,
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
body.woocommerce-checkout .wc-block-components-totals-coupon-link {
  color: #000000 !important;
  text-decoration: underline !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout a:hover,
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover,
body.woocommerce-checkout .wc-block-components-totals-coupon-link:hover {
  color: #1f8aad !important;
}

.vc-telegram-order-btn { display: inline-flex; align-items: center; gap: 10px; background: #229ED9; color: #ffffff; padding: 14px 28px; border-radius: 8px; font-size: 15px; font-weight: 500; text-decoration: none; letter-spacing: 0.2px; transition: background 0.2s ease; }
.vc-telegram-order-btn:hover { background: #1c86ba; color: #ffffff; }
.vc-telegram-order-btn svg { flex-shrink: 0; }