/* ─── Astra parent compat ─────────────────────────────────────────────
   Loaded only when Astra is the active parent theme via inc/compat/astra.php
   ─────────────────────────────────────────────────────────────────── */

#ast-desktop-header .ast-grid-right-section {
    justify-content: unset;
}

.ast-desktop:not(:has(.ast-header-sticked)) .ast-primary-header-bar .main-header-menu>.menu-item {
    line-height: 16px !important;
}

/* ── Safety net: hide Astra's default footer when our vp-site-footer is present ── */
body.has-verdepharma-nav footer#colophon.site-footer:not(.vp-site-footer) {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   ASTRA HEADER → white header (reference: genuinepillsus.com)
   ════════════════════════════════════════════════════════════════ */
body.has-verdepharma-nav #masthead {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: #ffffff !important;
    border-bottom: 1px solid var(--lc-border-header) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .07) !important;
    transition: background .35s, height .35s;
}

body.admin-bar.has-verdepharma-nav #masthead {
    top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar.has-verdepharma-nav #masthead {
        top: 46px;
    }
}

/* Primary header bar — transparent so #masthead bg shows through */
body.has-verdepharma-nav .ast-primary-header-bar,
body.has-verdepharma-nav .ast-main-header-wrap,
body.has-verdepharma-nav .main-header-bar,
body.has-verdepharma-nav .ast-main-header-wrap>div {
    background: transparent !important;
    background-color: transparent !important;
    min-height: 76px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-bottom-width: 0px;
}

/* desktop only — mobile menu must expand below this wrap */
body.has-verdepharma-nav.ast-desktop .ast-main-header-wrap {
    height: 76px;
}

/* Logo — hide Astra's site title text, keep logo image */
body.has-verdepharma-nav #masthead .ast-site-title-wrap {
    display: none !important;
}

body.has-verdepharma-nav #masthead .site-logo-img,
body.has-verdepharma-nav #masthead .custom-logo-link {
    display: flex !important;
    align-items: center;
}

/* Navigation ul — gap between items — desktop only */
body.has-verdepharma-nav.ast-desktop #masthead .ast-nav-menu.ast-flex,
body.has-verdepharma-nav.ast-desktop #masthead #ast-hf-menu-1 {
    gap: 20px !important;
}

/* Navigation links — desktop: dark text on white header */
body.has-verdepharma-nav.ast-desktop #masthead .ast-builder-menu .menu-item>a,
body.has-verdepharma-nav.ast-desktop #masthead .main-navigation .menu-item>a {
    color: var(--lc-navy-nav) !important;
    font-family: 'Lato', sans-serif !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    padding: 0 !important;
    position: relative;
}

body.has-verdepharma-nav.ast-desktop #masthead .ast-builder-menu .menu-item>a:hover,
body.has-verdepharma-nav.ast-desktop #masthead .main-navigation .menu-item>a:hover {
    color: var(--lc-primary) !important;
}

/* Active menu item — blue text + underline */
body.has-verdepharma-nav.ast-desktop #masthead .ast-builder-menu .current-menu-item>a,
body.has-verdepharma-nav.ast-desktop #masthead .ast-builder-menu .current-menu-ancestor>a {
    color: var(--lc-primary) !important;
}

/* Underline hover + active effect — desktop only */
body.has-verdepharma-nav.ast-desktop #masthead .ast-builder-menu .menu-item>a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--lc-primary);
    transition: width .3s;
}

body.has-verdepharma-nav.ast-desktop #masthead .ast-builder-menu .menu-item>a:hover::after,
body.has-verdepharma-nav.ast-desktop #masthead .ast-builder-menu .current-menu-item>a::after,
body.has-verdepharma-nav.ast-desktop #masthead .ast-builder-menu .current-menu-ancestor>a::after {
    width: 100%;
}

/* ── MOBILE MENU (hamburger open) ─────────────────────────────────────
   Astra HFB renders the open mobile menu in .ast-mobile-header-content
   (position:absolute below the mobile bar). The nav is #ast-hf-mobile-menu.
   ───────────────────────────────────────────────────────────────────── */
body.has-verdepharma-nav.ast-header-break-point .ast-mobile-header-content {
    background: rgba(13, 13, 26, .97) !important;
    border-top: 1px solid rgba(0, 102, 204, .2) !important;
}

body.has-verdepharma-nav.ast-header-break-point .ast-mobile-header-content .menu-item>a {
    color: rgba(255, 255, 255, .85) !important;
    padding: 14px 20px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: .9rem !important;
    font-weight: 400 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
}

body.has-verdepharma-nav.ast-header-break-point .ast-mobile-header-content .menu-item>a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, .04) !important;
}

body.has-verdepharma-nav.ast-header-break-point .ast-mobile-header-content .sub-menu {
    background: rgba(13, 13, 26, .98) !important;
    border: none !important;
}

body.has-verdepharma-nav.ast-header-break-point .ast-mobile-header-content .sub-menu .menu-item>a {
    padding-left: 36px !important;
    font-size: .82rem !important;
    color: rgba(255, 255, 255, .65) !important;
}

/* #ast-hf-mobile-menu UL gets a white bg from Astra dynamic CSS — clear it */
body.has-verdepharma-nav.ast-header-break-point .ast-mobile-header-content ul,
body.has-verdepharma-nav.ast-header-break-point .ast-mobile-header-content .main-navigation,
body.has-verdepharma-nav.ast-header-break-point .ast-mobile-header-content nav {
    background: transparent !important;
}

/* Dropdown menus */
body.has-verdepharma-nav #masthead .sub-menu {
    background: rgba(15, 23, 42, .98) !important;
    border: 1px solid rgba(0, 102, 204, .2) !important;
}

body.has-verdepharma-nav #masthead .sub-menu .menu-item>a {
    color: rgba(255, 255, 255, .75) !important;
    border: none !important;
}

/* WooCommerce cart icon in Astra header */
body.has-verdepharma-nav #masthead .ast-cart-menu-wrap a,
body.has-verdepharma-nav #masthead .ast-woo-header-cart-icon-wrap a {
    color: rgba(255, 255, 255, .8) !important;
}

body.has-verdepharma-nav #masthead .ast-cart-menu-wrap svg,
body.has-verdepharma-nav #masthead .ast-woo-header-cart-icon-wrap svg {
    stroke: rgba(255, 255, 255, .8) !important;
}

body.has-verdepharma-nav #masthead .ast-cart-menu-wrap .count,
body.has-verdepharma-nav #masthead .ast-woo-cart-fragments span.count {
    background: var(--gold, var(--lc-primary)) !important;
    color: #fff !important;
}

/* Mobile hamburger icon — dark on white header */
body.has-verdepharma-nav #masthead .ast-mobile-menu-buttons button,
body.has-verdepharma-nav #masthead .menu-toggle,
body.has-verdepharma-nav #masthead .ast-menu-toggle {
    color: var(--lc-navy-nav) !important;
    background: transparent !important;
    border: none !important;
}

body.has-verdepharma-nav #masthead .ast-mobile-menu-buttons button svg,
body.has-verdepharma-nav #masthead .ast-menu-toggle svg {
    stroke: var(--lc-navy-nav) !important;
}

/* Mobile slide-out menu */
body.has-verdepharma-nav #masthead .ast-below-header-section,
body.has-verdepharma-nav .ast-header-break-point .main-header-bar {
    background: rgba(15, 23, 42, .98) !important;
    border-bottom: 1px solid rgba(0, 102, 204, .2) !important;
}

body.has-verdepharma-nav .ast-mobile-header-content .menu-item>a {
    color: rgba(255, 255, 255, .75) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
    padding: 14px 24px !important;
    font-size: .85rem !important;
}

/* Remove any Astra background/box-shadow overrides */
body.has-verdepharma-nav #masthead.header-main-layout-1 {
    background: #ffffff !important;
}

/* Push nav items left so the last item doesn't overlap the fixed cart button */
body.has-verdepharma-nav #masthead .ast-builder-grid-row {
    padding-right: 60px !important;
}

/* WooCommerce product buttons — override Astra customizer color with our primary token */
body.has-verdepharma-nav .woocommerce ul.products li.product .button,
body.has-verdepharma-nav .woocommerce ul.products li.product a.button,
body.has-verdepharma-nav .woocommerce a.product_type_variable {
    background-color: var(--lc-primary) !important;
    border-color: var(--lc-primary) !important;
    color: #fff !important;
}

body.has-verdepharma-nav .woocommerce ul.products li.product .button:hover,
body.has-verdepharma-nav .woocommerce ul.products li.product a.button:hover,
body.has-verdepharma-nav .woocommerce a.product_type_variable:hover {
    background-color: var(--lc-primary-hover) !important;
    border-color: var(--lc-primary-hover) !important;
}

/* ─── Astra: page container width overrides (extracted from style.css) ────── */
/* Astra sets ast-narrow-container on these pages; widen to normal container */
body.vp-all-products-page .site-content>.ast-container {
    max-width: var(--ast-normal-container-width, 1200px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: 20px !important;
}

body.page-template-template-new-homepage-php .site-content>.ast-container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.vp-testimonials-page .site-content>.ast-container {
    max-width: var(--ast-normal-container-width, 1200px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

body.vp-faq-page .site-content>.ast-container {
    max-width: var(--ast-normal-container-width, 1200px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

body.vp-about-us-page .site-content>.ast-container {
    max-width: var(--ast-normal-container-width, 1200px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* ─── Astra: product card — .astra-shop-summary-wrap / .ast-woo-product-category ─ */

/* Center the "Select Pills / Add to Cart" button */
.woocommerce ul.products li.product .astra-shop-summary-wrap .button.add_to_cart_button,
.woocommerce ul.products li.product .astra-shop-summary-wrap a.button {
    display: block !important;
    width: fit-content !important;
    min-width: 120px;
    margin: 12px auto 0 !important;
    text-align: center;
}

/* Category truncates so stars always stay on the same line, right after the text */
.woocommerce ul.products li.product .vp-cat-rating-row .ast-woo-product-category {
    margin-bottom: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
}