/* ═══════════════════════════════════════════════════════════════
   NHANCE Premium Polish
   Dark studio aesthetic · purple #A855F7 accent · Instrument Sans
   ═══════════════════════════════════════════════════════════════ */

:root {
  --nhp: #A855F7;
  --nhp-soft: #C084FC;
  --nhp-glow: rgba(168, 85, 247, 0.35);
  --nh-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Scroll reveal: crisp pop fade-ins ─────────────────────── */
/* hidden state applies instantly (no transition) so content never
   visibly fades OUT when the class lands after first paint */
.nh-reveal {
  opacity: 0;
  transform: translateY(26px) scale(0.965);
  filter: blur(7px);
  will-change: opacity, transform, filter;
}
/* only the reveal animates */
.nh-reveal.nh-in {
  opacity: 1;
  transform: none;
  filter: blur(0);
  transition:
    opacity 0.7s var(--nh-ease),
    transform 0.7s var(--nh-ease),
    filter 0.55s ease-out;
  transition-delay: var(--nh-d, 0ms);
}
@media (prefers-reduced-motion: reduce) {
  .nh-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* ── Product imagery: studio lighting + reflections ────────── */
ul.products li.product .product-thumbnail {
  background:
    radial-gradient(80% 65% at 50% 30%, rgba(168, 85, 247, 0.07), transparent 70%),
    #0d0d0d;
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03) inset;
  transition: box-shadow 0.45s var(--nh-ease), border-color 0.45s var(--nh-ease);
}

/* ambient key light behind the vial */
ul.products li.product .product-thumbnail::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(55% 48% at 50% 36%, rgba(168, 85, 247, 0.16), transparent 72%);
  opacity: 0.55;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: 1;
}

/* glossy specular floor — reads as a richer reflection surface */
ul.products li.product .product-thumbnail::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 3%;
  height: 13%;
  background: radial-gradient(
    50% 100% at 50% 100%,
    rgba(255, 255, 255, 0.16),
    rgba(168, 85, 247, 0.12) 42%,
    transparent 78%
  );
  filter: blur(7px);
  opacity: 0.5;
  transition: opacity 0.5s ease, filter 0.5s ease;
  pointer-events: none;
  z-index: 1;
}
ul.products li.product:hover .product-thumbnail::before { opacity: 1; }
ul.products li.product:hover .product-thumbnail::after  { opacity: 0.95; filter: blur(5px); }

ul.products li.product .product-thumbnail img {
  transition: transform 0.6s var(--nh-ease), filter 0.6s ease;
}
ul.products li.product:hover .product-thumbnail img {
  transform: scale(1.045) translateY(-3px);
  filter: brightness(1.07) contrast(1.05) saturate(1.1)
          drop-shadow(0 20px 30px rgba(0, 0, 0, 0.55));
}

/* moving specular sheen across the glass on hover */
ul.products li.product .product-thumbnail .woocommerce-loop-product__link::after {
  content: "";
  position: absolute;
  top: -25%;
  bottom: -25%;
  left: -60%;
  width: 42%;
  background: linear-gradient(
    105deg,
    transparent,
    rgba(255, 255, 255, 0.07) 42%,
    rgba(255, 255, 255, 0.18) 50%,
    rgba(255, 255, 255, 0.07) 58%,
    transparent
  );
  transform: skewX(-18deg);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}
ul.products li.product:hover .product-thumbnail .woocommerce-loop-product__link::after {
  animation: nhSheen 0.95s cubic-bezier(0.4, 0, 0.2, 1) 0.08s;
}
@keyframes nhSheen {
  0%   { left: -60%; opacity: 0; }
  12%  { opacity: 1; }
  100% { left: 125%; opacity: 0; }
}

/* card lift + purple halo */
ul.products li.product .product-inner {
  transition: transform 0.45s var(--nh-ease);
}
ul.products li.product:hover .product-inner {
  transform: translateY(-6px);
}
ul.products li.product:hover .product-thumbnail {
  border-color: rgba(168, 85, 247, 0.4);
  box-shadow:
    0 24px 48px -18px var(--nhp-glow),
    0 14px 34px rgba(0, 0, 0, 0.6);
}

/* ── Category cards get the same studio treatment ──────────── */
.gz-product-card_img {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  transition: box-shadow 0.45s var(--nh-ease), border-color 0.45s var(--nh-ease),
              transform 0.45s var(--nh-ease);
}
.gz-product-card:hover .gz-product-card_img {
  border-color: rgba(168, 85, 247, 0.4);
  transform: translateY(-5px);
  box-shadow: 0 22px 44px -18px var(--nhp-glow), 0 12px 30px rgba(0, 0, 0, 0.55);
}
.gz-product-card_img img {
  transition: transform 0.6s var(--nh-ease), filter 0.6s ease;
}
.gz-product-card:hover .gz-product-card_img img {
  transform: scale(1.05);
  filter: brightness(1.06) saturate(1.08);
}

/* ── Titles, price, buttons ────────────────────────────────── */
ul.products li.product .woocommerce-loop-product__title a {
  transition: color 0.25s ease;
}
ul.products li.product:hover .woocommerce-loop-product__title a {
  color: var(--nhp-soft) !important;
}

ul.products li.product .nh-shop-atc a.add_to_cart_button,
ul.products li.product .nh-shop-atc a.button {
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease,
              transform 0.3s var(--nh-ease) !important;
}
ul.products li.product .nh-shop-atc a.add_to_cart_button:hover,
ul.products li.product .nh-shop-atc a.button:hover {
  box-shadow: 0 0 22px rgba(168, 85, 247, 0.35), 0 0 0 1px rgba(192, 132, 252, 0.4) inset;
  transform: translateY(-1px);
}

/* ── Section headings: brighter, tighter ───────────────────── */
#site-content h2 {
  color: #f2f2f2;
  letter-spacing: -0.015em;
}

/* ── Header: glass on dark ─────────────────────────────────── */
.site-header__desktop,
.site-header__mobile {
  backdrop-filter: saturate(1.4) blur(14px);
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
}

/* ── Header: solid black, contained logo ──
   3-class selectors so this outranks other !important snippets.
   The theme paints sticky/minimized headers with --gz-header-sticky-bg-color
   (defaults to WHITE) — zero the vars and hard-override every variant. */
.site-header {
  --gz-header-main-bg-color: #000;
  --gz-header-bottom-bg-color: #000;
  --gz-header-sticky-bg-color: #000;
}
.site-header .site-header__desktop .header-main,
.site-header .site-header__mobile,
.site-header .site-header__mobile .header-main,
.site-header .site-header__mobile .header-mobile-main,
.site-header .site-header__mobile .header-mobile-bottom,
.site-header .site-header__section.minimized .header-sticky,
.site-header .site-header__section.minimized .header-mobile-sticky,
.site-header .site-header__section.minimized.header-sticky--both .header-contents,
.site-header .site-header__section.minimized.header-sticky--both .header-mobile-contents {
  background: #000 !important;
}

/* mobile header: no Shop pill */
.site-header__mobile .nh-shop-pill {
  display: none !important;
}

/* mobile nav hamburger: no border */
.site-header__mobile .header-hamburger.header-hamburger.header-hamburger {
  border: 0 !important;
  box-shadow: none !important;
}
.header-logo img {
  max-height: 52px;
  width: auto;
  /* logo PNG has a baked black background — screen blend melts it into the blue bar */
  mix-blend-mode: screen;
}
@media (max-width: 900px) {
  .header-logo img { max-height: 44px; }
}

/* ── Catalog cards: single vial, Eleuva-style bottom glow ──── */
.glozin-categories-carousel__thumbnail {
  background: #050505;
}
.glozin-categories-carousel__thumbnail img {
  object-fit: contain !important;
  /* `scale` composes with the theme's hover-zoom transform */
  scale: 0.82;
  translate: 0 3%;
}
.glozin-categories-carousel__image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  /* Eleuva-style: rich glow anchored at the bottom, fading up into black */
  background:
    linear-gradient(to top, rgba(124, 58, 237, 0.5), rgba(124, 58, 237, 0.16) 42%, transparent 68%),
    radial-gradient(72% 55% at 50% 102%, rgba(168, 85, 247, 0.65), transparent 75%);
  mix-blend-mode: screen;
}

/* ── Hero banner: purple-gradient brand image (ships with plugin) ──
   Mobile keeps the theme's stacked layout: text on top, square image
   anchored at the bottom of the 96vw slot — so it gets its own asset. */
.hero-section {
  background-image: url("hero-banner-132.webp") !important;
  background-size: auto 100% !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
  background-color: #030307 !important;
}
@media (max-width: 900px) {
  .hero-section {
    background-image: url("hero-mobile-132.webp") !important;
    background-size: 100% auto !important;
    background-position: center bottom !important;
  }
}

/* ── pep-hero: brand DNA backdrop (image ships with plugin) ──
   chained classes out-rank Elementor's lazy-load reset, which hits
   this element with `background: none !important` at ~(0,5,1) */
.pep-hero .pep-hero__bg.pep-hero__bg.pep-hero__bg.pep-hero__bg.pep-hero__bg.pep-hero__bg {
  background-image: url("pep-hero-dna.jpg") !important;
  filter: blur(4px) !important;
}

/* ── Footer: solid black, gold → purple ────────────────────── */
.site-footer,
footer .vft,
.vft {
  background: #000 !important;
}
.vft a:hover  { color: var(--nhp-soft) !important; }
.vft__brand a { color: var(--nhp-soft) !important; }
.vft__h       { color: var(--nhp-soft) !important; }
.vft__note a  { color: var(--nhp-soft) !important; }

/* ── Product-tabs: no purple border on the All Peptides tab ── */
.glozin-product-tabs__heading-button.nh-flat-tab.nh-flat-tab.nh-flat-tab {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* ── Age gate: a theme rule forces the acknowledgement span to
   black on the black card — pin the gate's own palette ──────── */
#nhg-gate #nhg-ack span {
  color: #CFCFCF !important;
}

/* ── Certificates page (.vcert): the block's inline styles were
   authored for a light page — repaint the palette for black bg,
   blue accents → brand purple ──────────────────────────────── */
.vcert .vcert-eyebrow { color: var(--nhp) !important; }
.vcert .vcert-h1 em   { color: var(--nhp-soft) !important; }
.vcert .vcert-sub     { color: #ABABAB !important; }
.vcert .vcert-name    { color: #F2F2F2 !important; }
.vcert .vcert-row     { border-color: rgba(255, 255, 255, 0.09) !important; }
.vcert .vcert-btn {
  color: #CFCFCF !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}
.vcert .vcert-btn:hover {
  color: var(--nhp-soft) !important;
  border-color: rgba(168, 85, 247, 0.55) !important;
}

/* ── Micro-finish: selection, focus, scrollbar ─────────────── */
::selection {
  background: rgba(168, 85, 247, 0.4);
  color: #fff;
}
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--nhp-soft);
  outline-offset: 2px;
}
@media (min-width: 992px) {
  html::-webkit-scrollbar { width: 11px; }
  html::-webkit-scrollbar-track { background: #0a0a0a; }
  html::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #3b2454, #6b21a8);
    border-radius: 8px;
    border: 2px solid #0a0a0a;
  }
  html::-webkit-scrollbar-thumb:hover { background: #7c3aed; }
}


/* ── Mobile-pristine pass: dark surfaces everywhere ──────────
   Checkout card, quick-view drawer, login popup and side panels
   were white cards inheriting white text. All black + white text. */

/* checkout: order review + customer details */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #customer_details > div,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce form.checkout .gz-checkout-review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  background: #0D0D0D !important;
  color: #F2F2F2 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.woocommerce-checkout #order_review *:not(input):not(select):not(textarea):not(a):not(.woocommerce-Price-amount):not(bdi),
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
  color: #F2F2F2 !important;
}
.woocommerce-checkout #order_review .woocommerce-Price-amount,
.woocommerce-checkout #order_review bdi {
  color: #FFFFFF !important;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table th {
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: transparent !important;
}

/* form fields on any dark card */
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.xoo-el-container input,
.xoo-el-container select {
  background: #171717 !important;
  color: #FFFFFF !important;
  border: 1px solid #2E2E2E !important;
}
.woocommerce-checkout .input-text::placeholder,
.xoo-el-container input::placeholder {
  color: #8A8A8A !important;
}

/* quick view / product modal drawer */
.quick-view-modal .modal__content,
.modal .modal__content.woocommerce,
.quick-view-modal .product-summary,
.quick-view-modal .summary {
  background: #0D0D0D !important;
  color: #F2F2F2 !important;
}
.quick-view-modal .product_title,
.quick-view-modal .summary .price,
.quick-view-modal .woocommerce-product-details__short-description {
  color: #F2F2F2 !important;
}
.quick-view-modal .single_add_to_cart_button {
  background: var(--nhp) !important;
  color: #FFFFFF !important;
  border: 0 !important;
}

/* side panels (mobile menu, cart drawer) */
.panel__content,
.panel__header,
.panel__footer,
.widget_shopping_cart_content,
.cart-panel {
  background: #0A0A0A !important;
  color: #F2F2F2 !important;
}

/* login / signup popup (Easy Login WooCommerce) — black theme */
.xoo-el-container .xoo-el-modal-content,
.xoo-el-container .xoo-el-inmodal,
.xoo-el-container .xoo-el-main,
.xoo-el-container .xoo-el-section,
.xoo-el-container .xoo-el-content,
.xoo-el-container .xoo-el-header,
.xoo-el-container .xoo-el-footer,
.xoo-el-container form {
  background: #0A0A0A !important;
  color: #F2F2F2 !important;
}
.xoo-el-container label,
.xoo-el-container .xoo-el-form-txt,
.xoo-el-container span,
.xoo-el-container p {
  color: #D6D6DE !important;
}
.xoo-el-container .xoo-el-lostpw-tgr {
  color: var(--nhp-soft) !important;
}
.xoo-el-container .xoo-el-action-btn,
.xoo-el-container button[type="submit"] {
  background: var(--nhp) !important;
  color: #FFFFFF !important;
  border: 0 !important;
}
.xoo-el-container .xoo-el-icon,
.xoo-el-container .xoo-el-input-icon {
  background: #171717 !important;
  color: #BBBBBB !important;
  border-color: #2E2E2E !important;
}


/* ── Shop filter sidebar / drawer: dark theme ──────────────── */
.sidebar__container,
.sidebar__header,
.sidebar__content,
.sidebar .widget,
.products-filter-widget {
  background: #0D0D0D !important;
  color: #F2F2F2 !important;
}
.sidebar__header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.sidebar .widget-title,
.products-filter__filter-name,
.products-filter__option-name,
.sidebar__container .product__title,
.sidebar__container .product__title a,
.sidebar__container .price_slider_amount,
.sidebar__container .from,
.sidebar__container .to,
.sidebar__container .woocommerce-Price-amount,
.sidebar__container bdi,
.sidebar__container .count,
.remove-filtered {
  color: #F2F2F2 !important;
}
.sidebar__container .products-filter__option {
  border-color: rgba(255, 255, 255, 0.12) !important;
}
.sidebar__button-close {
  color: #F2F2F2 !important;
}

/* ── Variation size pills: dark, selected = purple ─────────── */
.wcboost-variation-swatches__item {
  background: #161616 !important;
  border: 1px solid #2E2E2E !important;
}
.wcboost-variation-swatches__name {
  color: #F2F2F2 !important;
}
.wcboost-variation-swatches__item.selected,
.wcboost-variation-swatches__item[aria-checked="true"],
.wcboost-variation-swatches__item--selected {
  background: #A855F7 !important;
  border-color: #A855F7 !important;
}
.wcboost-variation-swatches__item.selected .wcboost-variation-swatches__name,
.wcboost-variation-swatches__item[aria-checked="true"] .wcboost-variation-swatches__name {
  color: #FFFFFF !important;
}

/* price slider currency prefixes + selected pill (final QA pass) */
.price_slider_amount_input_currency,
.sidebar__container .price_slider_amount_input_currency {
  color: #F2F2F2 !important;
}
.wcboost-variation-swatches .wcboost-variation-swatches__item.selected.selected {
  background: #A855F7 !important;
  border-color: #A855F7 !important;
}
