/* =============================================================================
   CLIENT — ELITE
   Generated by `wp peptide import sections` from the client design.
   Only effects Elementor can't express natively. Targets CSS IDs set on the
   Elementor elements; colors via tokens. Edit freely — re-import regenerates.
   ============================================================================= */

/* hero: media sits below the text at 390px */
@media (max-width: 767px) { #elite-hero { background-image: none; } #elite-hero > .elementor-background-video-container { top: auto; bottom: 80px; height: 360px; } }

/* hero: background color per breakpoint (design) */
#elite-hero { background-color: var(--e-global-color-tint-1); }
@media (max-width: 767px) { #elite-hero { background-color: var(--e-global-color-surface); } }

/* hero: inline <em> styling */
#elite-hero-d9797 em { color: var(--e-global-color-primary); font-style: normal; }

/* treatments: product cards from the design (ELITE) */
#treatments .nova-products__card { border: 0; border-radius: 8px; }
#treatments .nova-products__img-wrap { background: var(--e-global-color-tint-4); aspect-ratio: 0.944; }
#treatments .nova-products__body { padding: 24px 20px 20px 20px; }
#treatments .nova-products__card .nova-products__title { font-size: 22px; font-weight: 400; letter-spacing: -0.77px; line-height: 26.4px; }
#treatments .nova-products__price { margin-top: 16px; font-size: 17px; font-weight: 500; color: var(--e-global-color-primary); }
#treatments a.nova-products__btn { margin-top: 24px; border-radius: var(--radius-button); }


/* about: inline <em> styling */
#elite-about-1c551 em { font-style: normal; }

/* consultation: background mask from the design */
#consultation > .elementor-background-overlay { -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 20%); mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 20%); }

/* consultation: background color per breakpoint (design) */
@media (max-width: 1024px) { #consultation { background-color: var(--e-global-color-bg-183f4e); } }

/* consultation: inline <em> styling */
#elite-consultation-f9cc7 em { font-style: normal; }

/* faq: inline <em> styling */
#elite-faq-30b88 em { font-style: normal; }

/* faq: FAQ +/− symbol box */
#elite-faq-faq .e-n-accordion-item-title-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 0px; background: var(--e-global-color-surface-alt); }
#elite-faq-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--e-global-color-primary); color: var(--e-global-color-on-dark); }
#elite-faq-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg { fill: currentColor; }

/* header: menu button box from the design */
#site-header-nav .elementor-menu-toggle { width: 44px; height: 44px; background-color: transparent; border-color: var(--e-global-color-border); }

/* header: nav link hover underline */
#site-header-nav .elementor-nav-menu--main .elementor-item:hover { text-decoration: underline; text-underline-offset: 6px; }

/* header: scrolled state from the design */
#site-header.elementor-sticky--effects { background-color: var(--e-global-color-surface); backdrop-filter: blur(8px); border-bottom: 1px solid var(--e-global-color-border); } #site-header.elementor-sticky--effects #site-header-bar { border-bottom-color: transparent; }

/* header: menu button box from the design */
#site-header-overlay-nav .elementor-menu-toggle { width: 44px; height: 44px; background-color: transparent; border-color: var(--e-global-color-border); }

/* header: nav link hover underline */
#site-header-overlay-nav .elementor-nav-menu--main .elementor-item:hover { text-decoration: underline; text-underline-offset: 6px; }

/* header: in the page flow (not over the hero) at 390px */
@media (max-width: 767px) { #site-header-overlay { position: relative; background-color: var(--e-global-color-surface); } }

/* header: scrolled state from the design */
@media (min-width: 768px) { #site-header-overlay.elementor-sticky--effects { padding: 0 0px; background-color: var(--e-global-color-surface); backdrop-filter: blur(8px); border-bottom: 1px solid var(--e-global-color-border); } #site-header-overlay.elementor-sticky--effects #site-header-overlay-bar { border-bottom-color: transparent; } }
@media (max-width: 767px) { #site-header-overlay.elementor-sticky--effects { background-color: var(--e-global-color-surface); backdrop-filter: blur(8px); border-bottom: 1px solid var(--e-global-color-border); } #site-header-overlay.elementor-sticky--effects #site-header-overlay-bar { border-bottom-color: transparent; } }

/* ---------------------------------------------------------------------------
   QA 2026-10-02 (hand-written; keep when re-importing)
   --------------------------------------------------------------------------- */

/* hero: Pause / Play video button from the design (added by client.js) */
#elite-hero button.elite-video-toggle, #elite-hero button.elite-video-toggle:hover, #elite-hero button.elite-video-toggle:focus { position: absolute; z-index: 3; right: 24px; bottom: 92px; min-width: 100px; min-height: 44px; padding: 10px 16px; border: 1px solid color-mix(in srgb, var(--e-global-color-on-dark) 56%, transparent); border-radius: 0; background: color-mix(in srgb, var(--e-global-color-surface-dark) 80%, transparent); color: var(--e-global-color-on-dark); font-size: 12px; line-height: 1.4; box-shadow: none; cursor: pointer; }
#elite-hero button.elite-video-toggle:hover, #elite-hero button.elite-video-toggle:focus-visible { background: var(--e-global-color-surface-dark); }
@media (max-width: 767px) { #elite-hero button.elite-video-toggle { right: 16px; bottom: 96px; } }

/* hero + about: line icons in the list color (outline, not filled) */
#elite-hero .elementor-icon-list-icon { color: var(--e-global-color-primary-hover); }
#about .elementor-icon-list-icon { color: var(--e-global-color-primary); }

/* shared FAQ block (product pages, FAQ page): same look as the homepage FAQ (#faq) */
#faq-block { --content-width: 1280px; --padding-left: 64px; --padding-right: 64px; background-color: var(--e-global-color-warm); }
#faq-block > .e-con-inner { display: grid; grid-template-columns: 1fr 1.8fr; gap: 96px; align-items: start; }
#faq-block .e-div-block-base { max-width: none; }
#faq-block .e-paragraph-base { display: block; margin: 0 0 20px; padding: 0; border: 0; border-radius: 0; font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1.55; letter-spacing: 0.01em; color: var(--e-global-color-muted); }
#faq-block .elementor-widget-heading { margin: 0; }
#faq-block .elementor-widget-heading .elementor-heading-title { margin: 0; font-size: var(--e-global-typography-h3-font-size); line-height: var(--e-global-typography-h3-line-height); letter-spacing: var(--e-global-typography-h3-letter-spacing); }
#faq-block .e-div-block-base > .elementor-widget-text-editor { margin: 24px 0 0; color: var(--e-global-color-muted); }
#faq-block .e-div-block-base > .elementor-widget-text-editor p { margin: 0; }
#faq-block-list { margin: 0; --n-accordion-title-font-size: 15px; --n-accordion-padding: 24px 0px 24px 0px; --n-accordion-item-title-space-between: 0px; --n-accordion-item-title-distance-from-content: 0px; --n-accordion-icon-size: 14px; --n-accordion-title-hover-color: var(--e-global-color-primary); }
#faq-block-list .e-n-accordion-item-title { border-style: solid; border-width: 0 0 1px; border-color: var(--e-global-color-border); }
#faq-block-list .e-n-accordion-item[open] > .e-n-accordion-item-title { border-style: none; }
#faq-block-list .e-n-accordion-item-title-text { font-family: var(--e-global-typography-text-font-family), sans-serif; font-weight: 500; line-height: 1.2; letter-spacing: 0; }
#faq-block-list .e-n-accordion-item > .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 24px; --padding-left: 0px; border-style: solid; border-width: 0 0 1px; border-color: var(--e-global-color-border); }
#faq-block-list .e-n-accordion-item > .e-con .elementor-widget-text-editor { margin: 0; color: var(--e-global-color-muted); }
#faq-block-list .e-n-accordion-item-title-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 0px; background: var(--e-global-color-surface-alt); }
#faq-block-list .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--e-global-color-primary); color: var(--e-global-color-on-dark); }
#faq-block-list .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg { fill: currentColor; }
@media (max-width: 1024px) { #faq-block { --padding-left: 32px; --padding-right: 32px; } #faq-block > .e-con-inner { gap: 64px; } }
@media (max-width: 767px) { #faq-block { --padding-top: 72px; --padding-bottom: 72px; --padding-left: 20px; --padding-right: 20px; } #faq-block > .e-con-inner { grid-template-columns: 1fr; gap: 32px; } #faq-block .e-paragraph-base { margin-bottom: 16px; font-size: 11px; } #faq-block-list { --n-accordion-title-font-size: 14px; } }

/* product page: short description sits with the title, away from the price */
:root { --sp-excerpt-pull: 12px; --sp-excerpt-space: 16px; }

/* Header button on tablets/phones keeps its own width: a 49.785% widget width wrapped it onto two lines and,
   on phones, pushed it over the menu button (all pages but home — the home header is the overlay one). */
@media (max-width: 1024px) { #site-header-bar .e-con > .nova-header-cta { --container-widget-width: auto; width: auto; max-width: 100%; } }
