/* =========================================================
   Vegas Labs — global components (loaded on every page)
   Header · Footer · Buttons · Eyebrow · Chips · Product card · Meta line · Search panel
   Tokens follow Elementor Site Settings (Geist / Geist Mono, brand greens).
   ========================================================= */
:root{
  --vl-green:#0E4938;--vl-green-d:#08372B;--vl-ink:#090B0A;--vl-text:#3F4742;--vl-mute:#5E6660;
  --vl-ivory:#F1F3EE;--vl-glass:#E4E8E3;--vl-surf:#F7F8F5;--vl-card:#FDFDFB;--vl-tint:#DCE9E2;--vl-mint:#B6D3C4;
  --vl-line:#DFE0DD;--vl-line-2:#D9DBD7;--vl-border:#B9BCB7;--vl-input:#707872;
  --vl-ease:cubic-bezier(.22,.61,.36,1);
}
.vl-icon{display:block;flex:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Header ---------- */
.vl-hdr-actions{display:flex;align-items:center;gap:4px}
.vl-hdr-actions--mobile{gap:0}
.vl-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--vl-ink);text-decoration:none;transition:background-color .2s ease}
.vl-icon-btn:hover,.vl-icon-btn.is-active{background-color:var(--vl-glass);color:var(--vl-ink)}
.vl-cart-pill{display:inline-flex;align-items:center;gap:8px;height:44px;box-sizing:border-box;padding:0 16px 0 12px;border:1px solid var(--vl-border);border-radius:999px;color:var(--vl-ink);font-family:"Geist",sans-serif;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;transition:border-color .2s ease,background-color .2s ease}
.vl-cart-pill:hover{border-color:var(--vl-input);color:var(--vl-ink)}
.vl-cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:11px;background:var(--vl-green);color:#F7F8F5;font-family:"Geist",sans-serif;font-size:12px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}
.vl-cart-badge.is-empty{display:none}
.vl-topbar p{margin:0;display:flex;align-items:center;gap:8px;white-space:nowrap}
.vl-topbar a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.vl-topbar a:hover{text-decoration:underline;text-underline-offset:3px}
.vl-topbar .vl-icon--flask{color:var(--vl-green)}
@media (max-width:767px){.vl-hide-mobile{display:none!important}}
.vl-nav .elementor-nav-menu--main .elementor-item:after{height:1.5px!important}
@media (min-width:1025px){.vl-nav{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);width:auto!important}}
.vl-push-right{margin-left:auto!important}
@media (max-width:1024px){.vl-nav .elementor-menu-toggle{box-sizing:border-box;width:44px;height:44px;padding:11px;margin-right:-8px}}
.elementor-location-header .vl-nav.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-nav-menu .elementor-item{font-size:18px;line-height:24px;font-weight:500}
.elementor-location-header .vl-nav .elementor-nav-menu--dropdown{border-top:1px solid var(--vl-line);border-bottom:1px solid var(--vl-line)}
@media (max-width:880px){.vl-topbar-right{display:none!important}}

/* ---------- Footer ---------- */
.vl-footer a{text-decoration:none}
.vl-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #424343;border-radius:12px;color:#F7F8F5;font-family:"Geist Mono",monospace;font-size:11px;line-height:17px;letter-spacing:.07em;text-transform:uppercase}
.vl-notice p{margin:0}
.vl-notice .vl-icon{color:var(--vl-mint)}
.vl-footer p{margin:0}
.vl-show-mobile{display:none}
@media (max-width:767px){.vl-show-mobile{display:inline}}
.vl-footer .vl-footer-nav .elementor-nav-menu--main .elementor-item{display:inline-flex}
@media (max-width:767px){
  .vl-legal .elementor-nav-menu > li:not(:last-child)::after{content:"·";display:inline-block;margin:0 2px;color:#D2D8D2;font-size:14px;line-height:21px}
  .vl-legal .elementor-nav-menu > li{display:inline-flex;align-items:center}
}
.vl-footer.e-con{--padding-top:96px;--padding-bottom:40px}
@media (max-width:767px){.vl-footer.e-con{--padding-top:64px;--padding-bottom:30.25px}}
.elementor-location-footer .vl-footer .vl-wordmark .elementor-heading-title{font-size:calc(min(1280px, 100vw - 2 * var(--vl-gutter)) * .15625)!important}
@media (min-width:768px) and (max-width:1339px){
  .vl-footer-top{flex-direction:column!important;row-gap:40px!important}
  .vl-footer-cols{width:100%!important;justify-content:space-between}
  .vl-footer-cols>.e-con{width:calc(25% - 24px)!important}
  .vl-footer-brand{width:min(100%,400px)!important}
}
@media (min-width:768px) and (max-width:880px){.vl-footer-cols{flex-wrap:wrap!important;row-gap:24px!important;column-gap:24px!important}.vl-footer-cols>.e-con{width:calc(50% - 12px)!important}}
@media (min-width:1340px){.vl-footer-brand{flex:0 1 400px!important;min-width:300px}}
@media (max-width:1024px){.vl-legal{align-self:stretch;width:100%}.vl-legal .elementor-nav-menu{justify-content:flex-start!important;margin-inline-start:0!important;margin-left:0!important}}

/* ---------- Typography helpers ---------- */
.vl-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-eyebrow b{font-weight:400;color:var(--vl-green)}
.vl-eyebrow i{display:block;width:24px;height:1px;background:#DCDED9}
.vl-on-dark .vl-eyebrow,.vl-on-dark .vl-eyebrow b{color:#9AA29C}
.vl-on-dark .vl-eyebrow i{background:#3B5E52}
.vl-mono{font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-ph{font-family:"Geist Mono",monospace;color:var(--vl-mute)}
.vl-pending{display:inline-flex;align-items:center;height:20px;padding:0 6px;margin-left:8px;border-radius:4px;background:#E2EAF3;color:#2F5F8A;font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase;vertical-align:middle}

/* ---------- Buttons & links ---------- */
.vl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;box-sizing:border-box;padding:0 24px;border-radius:999px;border:1px solid transparent;font-family:"Geist",sans-serif;font-size:15px;font-weight:500;line-height:20px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .25s var(--vl-ease),border-color .25s var(--vl-ease),color .25s var(--vl-ease)}
.vl-btn--sm{height:44px;padding:0 20px}
a.vl-btn--primary,.vl-btn--primary{background:var(--vl-green);color:#F7F8F5}
a.vl-btn--primary:hover,.vl-btn--primary:hover{background:var(--vl-green-d);color:#F7F8F5}
a.vl-btn--outline,.vl-btn--outline{border-color:var(--vl-border);color:var(--vl-ink);background:transparent}
a.vl-btn--outline:hover,.vl-btn--outline:hover{border-color:var(--vl-ink);color:var(--vl-ink)}
a.vl-btn--mint,.vl-btn--mint{background:var(--vl-mint);color:var(--vl-ink)}
a.vl-btn--mint:hover,.vl-btn--mint:hover{background:#CBE0D5;color:var(--vl-ink)}
a.vl-btn--ghost-dark,.vl-btn--ghost-dark{border-color:#3B5E52;color:#F7F8F5}
a.vl-btn--ghost-dark:hover,.vl-btn--ghost-dark:hover{border-color:var(--vl-mint);color:#F7F8F5}
.vl-btn .vl-icon{transition:transform .25s var(--vl-ease)}
.vl-btn:hover .vl-icon--arrow-right{transform:translateX(3px)}
a.vl-link-arrow,.vl-link-arrow{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:"Geist",sans-serif;font-size:15px;font-weight:500;line-height:20px;color:var(--vl-green);text-decoration:none}
.vl-link-arrow:hover{color:var(--vl-green-d);text-decoration:underline;text-underline-offset:4px}
.vl-link-arrow .vl-icon{transition:transform .25s var(--vl-ease)}
.vl-link-arrow:hover .vl-icon{transform:translateX(3px)}
.vl-btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.vl-btns p{display:contents}

/* ---------- Filter chips ---------- */
.vl-chips{display:flex;flex-wrap:wrap;gap:8px}
:root .vl-chip-filter{display:inline-flex;align-items:center;gap:8px;height:40px;box-sizing:border-box;padding:0 16px;border:1px solid var(--vl-border);border-radius:999px;background:transparent;color:var(--vl-ink);font-family:"Geist",sans-serif;font-size:15px;font-weight:500;line-height:20px;cursor:pointer;white-space:nowrap;transition:background-color .25s var(--vl-ease),color .25s var(--vl-ease),border-color .25s var(--vl-ease)}
:root .vl-chip-filter span{font-family:"Geist Mono",monospace;font-size:11px;font-weight:400;letter-spacing:.07em;color:var(--vl-mute)}
:root .vl-chip-filter:hover,:root .vl-chip-filter:focus{background:transparent;color:var(--vl-ink);border-color:var(--vl-ink)}
:root .vl-chip-filter.is-active,:root .vl-chip-filter.is-active:hover,:root .vl-chip-filter.is-active:focus{background:var(--vl-ink);border-color:var(--vl-ink);color:#F7F8F5}
:root .vl-chip-filter.is-active span{color:#9AA29C}
@media (max-width:767px){.vl-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1 * var(--vl-gutter));padding-right:var(--vl-gutter)}.vl-chips::-webkit-scrollbar{display:none}}

/* ---------- Meta line ---------- */
.vl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-text)}
.vl-meta i{display:inline-block;width:1px;height:12px;margin:0 10px;background:#C9CCC7}
.vl-meta a.vl-meta__coa{display:inline-flex;align-items:center;gap:4px;color:var(--vl-green);text-decoration:none}
.vl-meta a.vl-meta__coa:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- Product card (Loop Item "VL Product Card") ---------- */
.vl-card{position:relative;display:flex;flex-direction:column;height:100%;box-sizing:border-box;background:var(--vl-ivory);border:0;box-shadow:inset 0 0 0 1px transparent;border-radius:24px;overflow:hidden;transition:background-color .35s var(--vl-ease),box-shadow .35s var(--vl-ease)}
.vl-card > .e-con-inner{display:contents}
.vl-card .elementor-widget{margin:0!important}
.vl-card .vl-card__head{position:relative;height:440px;flex:none;padding:0;border-bottom:1px solid #DCDEDA}
.vl-card .vl-card__head > .elementor-element{position:static}
.vl-card__top{position:absolute;z-index:2;top:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.vl-badge{display:inline-flex;align-items:center;gap:6px;height:24px;box-sizing:border-box;padding:0 8px;border:1px solid var(--vl-line-2);border-radius:6px;background:rgba(241,243,238,.72);font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-text);backdrop-filter:blur(2px)}
.vl-badge i{width:6px;height:6px;border-radius:50%;background:var(--vl-green)}
.vl-badge--research-compounds i{background:#B9BCB7}
.vl-badge--peptide-blends i{background:var(--vl-ink)}
.vl-card__sku{font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;color:var(--vl-mute)}
.vl-card__media{position:absolute;inset:0;display:block}
.vl-card__img{position:absolute;display:block;max-width:none!important;height:auto!important;transition:transform .6s var(--vl-ease)}
.vl-card__img--front{width:232.6px!important;left:calc(50% - 116.3px + 24.5px);top:79.5px}
.vl-card__img--angle{display:none}
.vl-card:hover .vl-card__img--front{transform:translateY(-6px)}
.vl-card .vl-card__info{display:flex;flex-direction:column;padding:25.5px 24px 24px;flex:1;gap:0}
.vl-card .vl-card__row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:16px;padding:0}
.vl-card .vl-card__row > .elementor-element{width:auto;max-width:none}
.vl-card .vl-card__row > .elementor-element:first-child{flex:1;min-width:0}
.vl-card__title{margin:0;font-family:"Geist",sans-serif;font-size:24px;font-weight:400;line-height:30px;letter-spacing:-.01em;color:var(--vl-ink)}
.vl-card__title a{color:inherit;text-decoration:none}
.vl-card__short{display:none}
.vl-card__subtitle{display:none;margin:0;font-size:16px;line-height:24px;color:var(--vl-mute)}
.vl-card__price{font-family:"Geist",sans-serif;font-size:15px;line-height:20px;color:var(--vl-ink);white-space:nowrap;padding-top:.25px}
.vl-card__price .vl-price{letter-spacing:.02em}
.vl-card .vl-meta{margin-top:8.8px;flex-wrap:nowrap;white-space:nowrap}
.vl-card__desc{display:none}
.vl-card__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}
.vl-btn-cart{display:inline-flex;align-items:center;gap:8px;height:36px;box-sizing:border-box;padding:0 16px;border:1px solid var(--vl-border);border-radius:999px;background:transparent;color:var(--vl-ink)!important;font-family:"Geist",sans-serif;font-size:15px;font-weight:500;line-height:20px;text-decoration:none!important;white-space:nowrap;transition:background-color .25s var(--vl-ease),border-color .25s var(--vl-ease),color .25s var(--vl-ease)}
.vl-btn-cart:hover{border-color:var(--vl-ink)}
.vl-btn-cart.loading{opacity:.6;pointer-events:none}
.vl-btn-cart.added::after{display:none}
.vl-card__actions .added_to_cart{display:none!important}
.vl-btn-cart.is-added{background:var(--vl-green)!important;border-color:var(--vl-green)!important;color:#F7F8F5!important}
.added_to_cart.wc-forward{display:none!important}
/* hover / focus state (design: white card, filled cart button) */
.vl-card:hover,.vl-card:focus-within{background:var(--vl-card);box-shadow:inset 0 0 0 1px var(--vl-line-2),0 10px 30px rgba(9,11,10,.05)}
.vl-card:hover .vl-btn-cart,.vl-card:focus-within .vl-btn-cart{background:var(--vl-green);border-color:var(--vl-green);color:#F7F8F5!important}
.vl-card:hover .vl-card__actions .vl-link-arrow{text-decoration:underline;text-underline-offset:4px}
@media (max-width:767px){
  .vl-card .vl-card__head{height:390px}
  .vl-card__img--front{top:60px}
}

/* ---------- Search panel ---------- */
.vl-search[hidden]{display:none}
.vl-search{position:fixed;inset:0;z-index:9999}
.vl-search__scrim{position:absolute;inset:0;background:rgba(9,11,10,.18)}
.vl-search__panel{position:relative;background:var(--vl-surf);box-shadow:0 40px 60px rgba(9,11,10,.16);max-height:100vh;overflow:auto}
.vl-search__inner{max-width:1280px;margin:0 auto;padding:32px var(--vl-gutter) 40px;box-sizing:content-box}
.vl-search__kicker{margin:0 0 20px;font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-search__form{display:flex;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1.5px solid var(--vl-ink);margin:0}
.vl-search__form .vl-icon--search{color:var(--vl-mute);width:32px;height:32px}
.vl-search__form input[type=search]{flex:1;min-width:0;border:0!important;background:transparent!important;padding:0!important;height:56px;font-family:"Geist",sans-serif;font-size:48px;font-weight:500;letter-spacing:-.025em;color:var(--vl-ink);outline:none;box-shadow:none!important}
.vl-search__form input[type=search]::placeholder{color:#B9BCB7}
.vl-search__esc{font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute);white-space:nowrap}
.vl-search__close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--vl-border)!important;background:transparent!important;color:var(--vl-ink)!important;padding:0!important;cursor:pointer}
.vl-search__close:hover{border-color:var(--vl-ink)!important}
.vl-search__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 28px}
.vl-search__tabs{display:flex;gap:8px;flex-wrap:wrap}
.vl-search__count{margin:0;font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-search__results{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;min-height:120px}
.vl-sr-col h4{display:flex;justify-content:space-between;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--vl-line);font-family:"Geist Mono",monospace;font-size:11px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-ink)}
.vl-sr-col h4 span{color:var(--vl-mute)}
.vl-sr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.vl-sr-prod,.vl-sr-doc{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--vl-ivory);text-decoration:none;color:var(--vl-ink);transition:background-color .2s ease;outline-offset:2px}
.vl-sr-prod:hover,.vl-sr-doc:hover,.vl-sr-prod.is-focus,.vl-sr-doc.is-focus,.vl-sr-link.is-focus{background:var(--vl-glass)}
.vl-sr-prod img{width:96px;height:112px;object-fit:contain;border-radius:10px;background:var(--vl-glass)}
.vl-sr-prod__body{flex:1;min-width:0}
.vl-sr-prod__cat{font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-sr-prod__name{display:block;margin:4px 0 6px;font-size:18px;font-weight:500;line-height:24px}
.vl-sr-cart{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--vl-border);color:var(--vl-ink)}
.vl-sr-doc{flex-direction:column;align-items:flex-start;padding:24px;gap:16px;position:relative}
.vl-sr-doc .vl-icon--file-text{color:var(--vl-green)}
.vl-sr-doc .vl-icon--arrow-up-right{position:absolute;top:24px;right:24px}
.vl-sr-doc strong{font-size:18px;font-weight:500;line-height:24px}
.vl-sr-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--vl-line);color:var(--vl-ink);text-decoration:none;font-size:16px;line-height:24px}
.vl-sr-link--post strong{display:block;font-size:18px;font-weight:500;line-height:24px}
.vl-sr-sub{margin:24px 0 4px;font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-sr-empty{grid-column:1/-1;margin:0;color:var(--vl-mute);font-size:16px}
.vl-search__foot{display:flex;align-items:center;justify-content:space-between;margin-top:40px;padding-top:24px;border-top:1px solid var(--vl-line)}
.vl-search__hints{font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
@media (max-width:1024px){.vl-search__results{grid-template-columns:1fr;gap:24px}.vl-search__form input[type=search]{font-size:28px;height:44px}.vl-search__esc,.vl-search__hints{display:none}}
html.vl-lock{overflow:hidden}

/* ---------- phone/desktop copy variants ---------- */
.vl-m{display:none}
@media (max-width:767px){.vl-d{display:none!important}.vl-m{display:inline}.vl-hide-m{display:none!important}}
