/*
Theme Name: Peptorium Child
Theme URI: https://peptorium.com
Description: Kadence child theme for Peptorium - peptide research e-commerce
Author: Peptorium
Author URI: https://peptorium.com
Template: kadence
Version: 2.0.0
Text Domain: peptorium-child
*/

/* ========================================
   DESIGN TOKENS
   ======================================== */
:root {
    --pep-bg-dark: #071D2B;
    --pep-bg-dark-alt: #164B6E;
    --pep-card-bg: #ffffff14;
    --pep-card-border: #ffffff1f;
    --pep-card-hover-border: #64d2e6b3;
    --pep-card-glow: 0 0 12px 2px #64d2e659, 0 0 4px 1px #64d2e633;
    --pep-teal-dark: #115C6F;
    --pep-teal-mid: #2E7089;
    --pep-teal-light: #14b8a6;
    --pep-teal-accent: #6ecfdb;
    --pep-header-bg: radial-gradient(105.38% 309.82% at 100% 50%, #3D94B5 0%, #2E7089 100%);
    --pep-banner-bg: #061520;
    --pep-btn-bg: linear-gradient(90deg, #0b2d3b 0%, #115C6F 50%, #2E7089 100%);
    --pep-btn-shadow: 0 2px 16px rgba(11,45,59,0.4), 0 0 32px rgba(17,92,111,0.15);
    --pep-btn-hover-shadow: 0 4px 24px rgba(11,45,59,0.55), 0 0 48px rgba(17,92,111,0.25);
    --pep-radius-card: 20px;
    --pep-radius-btn: 110px;
    --pep-text-white: #fff;
    --pep-text-white-70: rgba(255,255,255,0.7);
    --pep-text-white-50: rgba(255,255,255,0.5);
    --pep-text-dark: #141414;
    --pep-text-dark-70: #333;
    --pep-text-muted: #6a7282;
}

/* ========================================
   1. DARK PAGES: home, about, contact, faq, legal pages
      Scoped via body classes, NOT global
   ======================================== */
/* Homepage: dark bg with canvas bubbles */
body.home {
    background-color: #071D2B !important;
    --global-palette9: #071D2B;
    --global-palette9rgb: 7, 29, 43;
    --global-palette3: #fff;
    --global-palette4: rgba(255,255,255,0.7);
    --global-palette5: rgba(255,255,255,0.5);
}
body.home .site,
body.home .site-container {
    background: transparent !important;
}

/* Other pages (about, contact, faq, legal): light/white background */
body.page:not(.woocommerce-page):not(.home) {
    background-color: #fff !important;
    --global-palette9: #fff;
    --global-palette9rgb: 255, 255, 255;
}

/* Homepage: white text on dark canvas bg */
body.home .entry-content { color: var(--pep-text-white-70); }
body.home .entry-content h1,
body.home .entry-content h2,
body.home .entry-content h3,
body.home .entry-content h4 { color: var(--pep-text-white); }
body.home .entry-content p,
body.home .entry-content li,
body.home .entry-content span,
body.home .entry-content div { color: var(--pep-text-white-70); }
body.home .entry-content strong { color: var(--pep-text-white); }
body.home .entry-content a { color: var(--pep-teal-light); }

/* Other pages (about, contact, faq, legal): dark text on white bg */
body.page:not(.woocommerce-page):not(.home) .entry-content { color: var(--pep-text-dark-70); }
body.page:not(.woocommerce-page):not(.home) .entry-content h1,
body.page:not(.woocommerce-page):not(.home) .entry-content h2,
body.page:not(.woocommerce-page):not(.home) .entry-content h3,
body.page:not(.woocommerce-page):not(.home) .entry-content h4 { color: var(--pep-text-dark); }
body.page:not(.woocommerce-page):not(.home) .entry-content p,
body.page:not(.woocommerce-page):not(.home) .entry-content li,
body.page:not(.woocommerce-page):not(.home) .entry-content span,
body.page:not(.woocommerce-page):not(.home) .entry-content div { color: var(--pep-text-dark-70); }
body.page:not(.woocommerce-page):not(.home) .entry-content strong { color: var(--pep-text-dark); }
body.page:not(.woocommerce-page):not(.home) .entry-content a { color: var(--pep-teal-dark); }

/* Homepage: transparent containers so canvas shows through */
body.home .content-bg,
body.home .content-wrap,
body.home .entry-content-wrap,
body.home .site-main,
body.home .content-container.site-container,
body.home .content-area {
    background: transparent !important;
}
body.home.content-style-unboxed .site {
    background: transparent !important;
}
body.home .entry.content-bg,
body.home .single-entry.content-bg {
    background: transparent !important;
    box-shadow: none !important;
}

/* Other pages: white bg, boxed content */
body.page:not(.woocommerce-page):not(.home) .content-container.site-container {
    max-width: 1280px;
    margin: 0 auto;
}
body.page:not(.woocommerce-page):not(.home) .entry.content-bg,
body.page:not(.woocommerce-page):not(.home) .single-entry.content-bg {
    box-shadow: none;
}

/* ========================================
   2. LIGHT PAGES: shop, product, cart, checkout, account
      WooCommerce pages get white background
   ======================================== */
body.woocommerce-page,
body.single-product {
    background-color: var(--pep-bg-dark) !important;
}

/* Boxed white content container */
body.woocommerce-page .content-container.site-container,
body.single-product .content-container.site-container {
    max-width: 1280px;
    margin: 0 auto;
    background: #fff;
}
body.woocommerce-page .content-area,
body.woocommerce-page .site-main,
body.single-product .content-area,
body.single-product .site-main {
    background: #fff;
}

/* Dark text in WooCommerce white areas */
body.woocommerce-page .content-container h1,
body.woocommerce-page .content-container h2,
body.woocommerce-page .content-container h3,
body.woocommerce-page .content-container h4,
body.single-product .content-container h1,
body.single-product .content-container h2,
body.single-product .content-container h3,
body.single-product .content-container h4 {
    color: var(--pep-text-dark);
}
body.woocommerce-page .content-container p,
body.woocommerce-page .content-container li,
body.woocommerce-page .content-container span,
body.woocommerce-page .content-container div,
body.woocommerce-page .content-container td,
body.woocommerce-page .content-container th,
body.woocommerce-page .content-container label,
body.single-product .content-container p,
body.single-product .content-container li,
body.single-product .content-container span,
body.single-product .content-container div,
body.single-product .content-container td,
body.single-product .content-container label {
    color: var(--pep-text-dark-70);
}
body.woocommerce-page .content-container a,
body.single-product .content-container a {
    color: var(--pep-teal-dark);
}

/* Hide particles on light pages */
body.woocommerce-page #pep-particles,
body.single-product #pep-particles {
    display: none;
}

/* Breadcrumbs - adapt to page context */
body.home .kadence-breadcrumbs { color: var(--pep-text-white-50); }
body.home .kadence-breadcrumbs a { color: var(--pep-text-white-50); }
body.page:not(.woocommerce-page):not(.home) .kadence-breadcrumbs { color: #999; }
body.page:not(.woocommerce-page):not(.home) .kadence-breadcrumbs a { color: var(--pep-teal-dark); }
body.woocommerce-page .kadence-breadcrumbs { color: #999; }
body.woocommerce-page .kadence-breadcrumbs a { color: var(--pep-teal-dark); }

/* WooCommerce notices - adapt to page context */
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info {
    background: #f0f9ff;
    color: var(--pep-text-dark);
    border-top-color: var(--pep-teal-mid);
}

/* ========================================
   3. HEADER (always teal gradient, white text)
   ======================================== */
.peptora-promo-banner {
    background-color: var(--pep-banner-bg);
    color: #fff;
    height: 40px;
    display: flex;
    align-items: center;
    overflow: hidden;
    width: 100%;
    z-index: 100;
}
.peptora-promo-banner .marquee-track {
    display: flex;
    align-items: center;
    white-space: nowrap;
    animation: marquee-scroll 30s linear infinite;
}
.peptora-promo-banner .marquee-item {
    padding: 0 40px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #fff;
}
@keyframes marquee-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.site-header,
#masthead,
.site-header .site-header-wrap,
.site-header .site-header-upper-wrap,
.site-header .site-header-inner-wrap {
    background: var(--pep-header-bg) !important;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
header.site-header .header-navigation a,
header.site-header .site-header-item a,
.header-cart-wrap .header-cart-button,
.header-account-wrap .header-account-button,
.header-account-wrap a,
.header-account-wrap .header-account-label,
.pep-header-account,
.site-branding .site-title a,
.site-branding .site-title {
    color: #fff !important;
}
/* Custom logo — hide text title when logo is present */
.site-branding .custom-logo {
    max-height: 50px;
    width: auto;
}
.site-branding .has-logo-image .site-title-wrap {
    display: none !important;
}
@media (min-width: 768px) {
    .site-branding .custom-logo { max-height: 56px; }
}

/* Header account link */
.header-html-inner p { margin: 0 !important; line-height: 1 !important; }
.pep-header-account {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}
.pep-header-account svg {
    flex-shrink: 0;
}
@media (max-width: 767px) {
    .pep-header-account { font-size: 0; gap: 0; }
    .pep-header-account svg { width: 22px; height: 22px; }
    .mobile-site-branding .custom-logo,
    .site-mobile-header-wrap .custom-logo { max-height: 32px !important; }
    .menu-toggle-open { color: #fff !important; }
    .menu-toggle-open svg { fill: #fff !important; }
}

/* Mobile drawer styling */
#mobile-drawer,
#mobile-drawer .drawer-inner,
#mobile-drawer .drawer-content {
    background: var(--pep-bg-dark) !important;
}
#mobile-drawer .drawer-header {
    background: var(--pep-header-bg) !important;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
#mobile-drawer .menu-toggle-close {
    color: #fff !important;
}
#mobile-drawer .menu-toggle-close svg {
    fill: #fff !important;
}
#mobile-drawer .mobile-menu-container a,
#mobile-drawer .mobile-navigation a {
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
#mobile-drawer .mobile-menu-container a:hover,
#mobile-drawer .mobile-navigation a:hover {
    color: var(--pep-teal-light) !important;
}
#mobile-drawer .mobile-menu-container li,
#mobile-drawer .mobile-navigation li {
    list-style: none;
}
#mobile-drawer .mobile-menu-container ul,
#mobile-drawer .mobile-navigation ul {
    padding: 0;
    margin: 0;
}

/* ========================================
   4. FOOTER (hidden Kadence default, custom PHP footer)
   ======================================== */
.site-footer,
footer.site-footer {
    display: none !important;
}
.pep-custom-footer { position: relative; z-index: 1; }
.pep-footer-logo {
    height: 160px !important;
    width: auto !important;
    max-width: 200px !important;
    display: block;
    margin-bottom: 16px;
}
@media (max-width: 767px) {
    .pep-footer-columns {
        grid-template-columns: 1fr !important;
        text-align: center;
    }
    .pep-footer-logo { margin: 0 auto 16px; }
    .pep-footer-contact { text-align: center; }
    .pep-custom-footer ul { text-align: center; }
    .pep-custom-footer h4 { text-align: center; }
    .pep-footer-badges { justify-content: center; width: 100%; }
    .pep-social-icons { justify-content: center; width: 100%; }
}
.pep-footer-contact p {
    margin: 0 0 8px;
    font-size: 13px;
    color: rgba(255,255,255,0.6) !important;
    line-height: 1.6;
}
.pep-footer-contact a {
    color: rgba(255,255,255,0.6) !important;
    text-decoration: none;
}
.pep-footer-contact a:hover {
    color: #fff !important;
}
.pep-custom-footer,
.pep-custom-footer a,
.pep-custom-footer p,
.pep-custom-footer h2,
.pep-custom-footer h3,
.pep-custom-footer h4,
.pep-custom-footer li,
.pep-custom-footer span {
    color: #fff !important;
}
.pep-custom-footer a:hover { opacity: 0.8; }
.pep-custom-footer .menu li a {
    color: rgba(255,255,255,0.7) !important;
    font-size: 14px;
    padding: 4px 0;
    display: block;
    text-decoration: none;
}
.pep-custom-footer .menu li { list-style: none; margin: 0; }
.pep-custom-footer .menu li a:hover { color: #fff !important; }

.pep-footer-badges { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }
.pep-footer-badge { display: flex; align-items: center; gap: 6px; font-size: 12px; color: rgba(255,255,255,0.7) !important; }
.pep-footer-badge svg { width: 14px; height: 14px; stroke: rgba(255,255,255,0.7); fill: none; stroke-width: 2; }

.pep-social-icons { display: flex; gap: 12px; }
.pep-social-icons a { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.1); color: #fff !important; transition: background 0.3s ease; text-decoration: none !important; }
.pep-social-icons a:hover { background: rgba(255,255,255,0.2); }
.pep-social-icons svg { width: 18px; height: 18px; fill: #fff; }
.pep-social-icons i { font-size: 18px; color: #fff; }

/* ========================================
   5. BUTTONS (blue gradient pill - global)
   ======================================== */
.wp-block-button .wp-block-button__link {
    border-radius: var(--pep-radius-btn);
    font-weight: 600;
    padding: 12px 32px;
    transition: all 0.3s ease;
    background: var(--pep-btn-bg);
    color: #fff;
    border: none;
    box-shadow: var(--pep-btn-shadow);
}
.wp-block-button .wp-block-button__link:hover {
    transform: translateY(-1px);
    box-shadow: var(--pep-btn-hover-shadow);
}

/* ========================================
   6. GRADIENT TEXT
   ======================================== */
.gradient-text {
    background: linear-gradient(90deg, #115C6F 0%, #36848E 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}
/* Lighter variant for dark backgrounds */
body.home .gradient-text {
    background: linear-gradient(90deg, #7dd8cc 0%, #b8f0e8 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* ========================================
   7. DARK PAGE COMPONENTS (cards, badges, etc.)
   ======================================== */
.pep-icon {
    width: 64px; height: 64px; border-radius: 16px;
    background: #115c6f1a; border: 1px solid #115c6f33;
    display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
}
.pep-icon svg { width: 36px; height: 36px; stroke: #fff; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pep-icon i { font-size: 28px; color: #fff; }

.pep-card {
    border-radius: var(--pep-radius-card); background: var(--pep-card-bg); border: 1px solid var(--pep-card-border);
    padding: 28px; transition: border-color 0.3s ease-out, box-shadow 0.3s ease-out;
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    text-align: center;
}
.pep-card:hover { border-color: var(--pep-card-hover-border); box-shadow: var(--pep-card-glow); }
.pep-card h4 { color: #fff; font-size: 15px; font-weight: 700; margin: 0 0 8px; }
.pep-card p { color: var(--pep-text-white-50); font-size: 13px; line-height: 1.5; margin: 0; }

.pep-badge, .peptora-badge, .peptora-badge-teal {
    display: inline-flex; align-items: center; gap: 4px; padding: 5px 14px; border-radius: 100px;
    font-size: 12px; font-weight: 600; background: #115c6f1a; color: var(--pep-teal-accent); border: 1px solid #115c6f33;
}

.pep-trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (min-width: 768px) { .pep-trust-grid { grid-template-columns: repeat(3, 1fr); } }

.pep-precision-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; max-width: 1100px; margin: 0 auto; }
.pep-precision-grid .pep-card:nth-child(1),
.pep-precision-grid .pep-card:nth-child(2),
.pep-precision-grid .pep-card:nth-child(3) { grid-column: span 2; }
.pep-precision-grid .pep-card:nth-child(4) { grid-column: 2 / 4; }
.pep-precision-grid .pep-card:nth-child(5) { grid-column: 4 / 6; }
.pep-precision-grid .pep-card-centered { max-width: none; margin: 0; }

/* Testimonials */
.pep-testimonials-section { max-width: 1280px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; }
.pep-testimonial-row { overflow: hidden; mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%); -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%); }
.pep-testimonial-track { display: flex; gap: 24px; will-change: transform; }
.pep-testimonial-track--right { animation: pep-scroll-right 40s linear infinite; }
.pep-testimonial-track--left { animation: pep-scroll-left 40s linear infinite; }
.pep-testimonial-track:hover { animation-play-state: paused; }

.pep-testimonial-card {
    background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 24px; padding: 20px 24px; width: 580px; min-width: 580px; height: 180px;
    flex-shrink: 0; display: flex; flex-direction: column; justify-content: space-between;
    backdrop-filter: blur(20px); cursor: default;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.pep-testimonial-card:hover { border-color: rgba(110, 207, 219, 0.4); box-shadow: 0 0 12px 2px rgba(100, 210, 230, 0.15); }
.pep-testimonial-text { color: rgba(255,255,255,0.8); font-size: 16px; line-height: 1.5; letter-spacing: -0.01em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.pep-testimonial-stars { display: flex; gap: 3px; }
.pep-testimonial-stars svg { width: 12px; height: 12px; }
.pep-testimonial-author { display: flex; align-items: center; gap: 12px; }
.pep-testimonial-avatar { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; font-weight: 700; flex-shrink: 0; }
.pep-testimonial-name { color: #6ECFDB; font-size: 16px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.5; margin: 0; }

@keyframes pep-scroll-right {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
@keyframes pep-scroll-left {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
    .pep-testimonial-card { width: 440px; min-width: 440px; }
}
/* Mobile: same scrolling as desktop, smaller cards, faster */
@media (max-width: 767px) {
    .pep-testimonial-card { width: 300px; min-width: 300px; height: 160px; padding: 16px 20px; }
    .pep-testimonial-text { font-size: 14px; }
    .pep-testimonial-name { font-size: 14px; }
    .pep-testimonials-section { gap: 16px; }
    .pep-testimonial-track { gap: 16px; }
    .pep-testimonial-track--right { animation-duration: 12s; }
    .pep-testimonial-track--left { animation-duration: 12s; }
}

/* Stats */
.peptora-stat-value { font-size: 36px; font-weight: 800; color: #fff; letter-spacing: -0.04em; font-family: monospace; line-height: 1.2; }
.peptora-stat-label { font-size: 14px; color: var(--pep-text-white-50); margin-top: 4px; }

/* Hero */
.peptora-hero { position: relative; overflow: hidden; padding: 80px 0; }
.peptora-hero-home { background: linear-gradient(180deg, var(--pep-bg-dark) 0%, var(--pep-bg-dark-alt) 100%); min-height: 80vh; display: flex; align-items: center; }
@media (max-width: 767px) {
    .peptora-hero-home { min-height: auto; padding-top: 120px !important; padding-bottom: 160px !important; position: relative; overflow: visible; }
    .peptora-hero-home .wp-block-columns { flex-direction: column !important; }
    .peptora-hero-home .wp-block-column { flex-basis: 100% !important; }
    .peptora-hero-home h1 { font-size: 32px !important; text-align: center; position: relative; z-index: 2; }
    .peptora-hero-home p.hero-stagger-2 { text-align: center; position: relative; z-index: 2; }
    .peptora-hero-home .hero-stagger-3 { text-align: center; position: relative; z-index: 2; }
    .peptora-hero-home .hero-stagger-4 { justify-content: center; position: relative; z-index: 2; }
    /* Hide the vials column container, show vials as absolute overlays */
    .peptora-hero-home .wp-block-column.hero-stagger-5 {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        top: 0; left: 0;
        pointer-events: none;
    }
    .peptora-hero-home .hero-stagger-5 .pep-hero-vials {
        position: absolute !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        top: 0; left: 0;
    }
    .peptora-hero-home .pep-hero-vials img.pep-vial-1 {
        height: 168px !important;
        left: 28% !important;
        top: auto !important;
        bottom: -5px !important;
        right: auto !important;
        transform: rotate(-15deg) !important;
        opacity: 0.7 !important;
        animation: none !important;
        z-index: 1 !important;
    }
    .peptora-hero-home .pep-hero-vials img.pep-vial-2 {
        height: 112px !important;
        right: 40px !important;
        left: auto !important;
        top: 10px !important;
        bottom: auto !important;
        transform: rotate(12deg) !important;
        opacity: 0.7 !important;
        animation: none !important;
        z-index: 1 !important;
    }
    .peptora-hero-home .pep-hero-vials img.pep-vial-3 {
        height: 154px !important;
        right: 28% !important;
        left: auto !important;
        top: auto !important;
        bottom: 0px !important;
        transform: rotate(20deg) !important;
        opacity: 0.7 !important;
        animation: none !important;
        z-index: 1 !important;
    }
}
.peptora-hero-purple { background: #EDE8F5; }

/* Hero Vials — 3 layered tall product images (479×1124 ratio) */
.pep-hero-vials {
    position: relative;
    width: 100%;
    max-width: 480px;
    height: 520px;
    margin: 0 auto;
    overflow: visible;
}
.pep-hero-glow {
    position: absolute;
    width: 140px;
    height: 32px;
    background: rgba(43, 132, 143, 0.7);
    filter: blur(40px);
    pointer-events: none;
    border-radius: 50%;
}
.pep-glow-1 { left: 5%; top: 60%; transform: rotate(-15deg); }
.pep-glow-2 { right: 5%; top: 40%; transform: rotate(90deg); }
.pep-glow-3 { left: 40%; bottom: 8%; transform: rotate(0deg); }

.pep-hero-vials img.pep-vial {
    position: absolute;
    object-fit: contain;
    pointer-events: none;
    filter: drop-shadow(0 4px 20px rgba(0,0,0,0.25));
    max-width: none !important;
    width: auto !important;
}
.pep-hero-vials img.pep-vial-1 {
    height: 240px;
    left: 20px;
    top: 100px;
    z-index: 1;
    animation: pepVial1 6s ease-in-out infinite;
}
.pep-hero-vials img.pep-vial-2 {
    height: 260px;
    right: 20px;
    top: 180px;
    z-index: 3;
    animation: pepVial2 7s ease-in-out infinite;
}
.pep-hero-vials img.pep-vial-3 {
    height: 320px;
    left: 200px;
    top: 40px;
    z-index: 2;
    animation: pepVial3 8s ease-in-out infinite;
}

@keyframes pepVial1 {
    0%, 100% { transform: translateY(0) rotate(-15deg); }
    50%      { transform: translateY(-12px) rotate(-12deg); }
}
@keyframes pepVial2 {
    0%, 100% { transform: translateY(0) rotate(20deg); }
    50%      { transform: translateY(-16px) rotate(22deg); }
}
@keyframes pepVial3 {
    0%, 100% { transform: translateY(0) rotate(8deg); }
    50%      { transform: translateY(-10px) rotate(10deg); }
}

/* Entry animation */
.hero-stagger-5 .pep-hero-vials {
    animation: pepVialsEnter 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
}
@keyframes pepVialsEnter {
    from { opacity: 0; transform: translateY(40px) scale(0.92); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Generic mobile vials handled by page-specific rules */

/* Light page hero with floating vials */
.pep-page-hero {
    position: relative;
    overflow: hidden;
    background: #EDE8F5;
    padding: 80px 20px 60px;
    text-align: center;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
@media (min-width: 768px) {
    .pep-page-hero { padding: 100px 40px 80px; min-height: 400px; }
}
.pep-page-hero h1 {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 800;
    color: var(--pep-text-dark);
    letter-spacing: -0.04em;
    line-height: 1.1;
    margin: 0 0 16px;
    position: relative;
    z-index: 2;
}
.pep-page-hero p {
    color: var(--pep-text-dark-70);
    font-size: 16px;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
    position: relative;
    z-index: 2;
}
@media (min-width: 768px) {
    .pep-page-hero p { font-size: 18px; }
}
.pep-page-hero .pep-badge {
    background: #fff;
    color: var(--pep-text-dark);
    border: 1px solid #e5e7eb;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
    font-size: 14px;
    padding: 8px 20px;
}
.pep-page-hero .pep-badge .pep-green-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #16a34a;
    display: inline-block;
    margin-right: 6px;
}

/* Floating vial images */
.pep-hero-vial {
    position: absolute;
    pointer-events: none;
    z-index: 1;
    width: 100px;
    height: auto;
    opacity: 0.85;
}
@media (min-width: 768px) {
    .pep-hero-vial { width: 140px; }
}
.pep-hero-vial-1 {
    left: 5%;
    top: 15%;
    transform: rotate(-12deg);
    animation: vialBob1 4s ease-in-out infinite;
}
.pep-hero-vial-2 {
    right: 3%;
    top: 5%;
    transform: rotate(15deg);
    animation: vialBob2 5s ease-in-out infinite;
}
.pep-hero-vial-3 {
    right: 8%;
    bottom: 10%;
    transform: rotate(-5deg);
    animation: vialBob3 4.5s ease-in-out infinite;
}
@media (max-width: 767px) {
    .pep-hero-vial-1 { width: 60px; left: 2%; top: 10%; }
    .pep-hero-vial-2 { width: 55px; right: 1%; top: 3%; }
    .pep-hero-vial-3 { width: 65px; right: 3%; bottom: 5%; }
}
@keyframes vialBob1 {
    0%, 100% { transform: rotate(-12deg) translateY(0); }
    50% { transform: rotate(-12deg) translateY(-12px); }
}
@keyframes vialBob2 {
    0%, 100% { transform: rotate(15deg) translateY(0); }
    50% { transform: rotate(15deg) translateY(-16px); }
}
@keyframes vialBob3 {
    0%, 100% { transform: rotate(-5deg) translateY(0); }
    50% { transform: rotate(-5deg) translateY(-10px); }
}

.hero-stagger-1 { animation: heroFadeUp 0.6s ease forwards 0.1s; opacity: 0; }
.hero-stagger-2 { animation: heroFadeUp 0.6s ease forwards 0.2s; opacity: 0; }
.hero-stagger-3 { animation: heroFadeUp 0.6s ease forwards 0.3s; opacity: 0; }
.hero-stagger-4 { animation: heroFadeUp 0.6s ease forwards 0.4s; opacity: 0; display: flex !important; }
.hero-stagger-5 { animation: heroFadeUp 0.6s ease forwards 0.5s; opacity: 0; }
@keyframes heroFadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* CTA */
.peptora-cta-teal {
    background: radial-gradient(117.57% 338.47% at 92.6% 34%, #CCE9ED 13.39%, #7DCAE7 100%);
    border-radius: 48px; padding: 64px 36px; text-align: center; min-height: 440px;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; overflow: hidden;
}
.peptora-cta-teal h2 { color: var(--pep-text-dark); }
.peptora-cta-teal p { color: #242424; }

/* Disclaimer */
/* Disclaimer — sits above footer */
.pep-disclaimer {
    padding: 20px 20px 40px;
    max-width: 900px;
    margin: 0 auto;
}
.pep-disclaimer-inner {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    padding: 24px 28px;
    text-align: center;
}
.pep-disclaimer-label {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    padding: 4px 12px;
    margin-bottom: 14px;
}
.pep-disclaimer p {
    color: rgba(255,255,255,0.7) !important;
    font-size: 12px;
    line-height: 1.7;
    margin: 0;
}
@media (max-width: 767px) {
    .pep-disclaimer-inner { padding: 20px 16px; }
    .pep-disclaimer p { font-size: 11px; }
}

/* Contact form - homepage (dark) */
body.home .peptora-form { background: rgba(255,255,255,0.08); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.15); border-radius: 20px; padding: 20px; transition: box-shadow 0.3s ease; }
@media (min-width: 768px) { body.home .peptora-form { padding: 40px; } }
body.home .peptora-form:hover { box-shadow: 0 0 32px rgba(255,255,255,0.08); }
body.home .peptora-form input, body.home .peptora-form textarea { background: rgba(255,255,255,0.08); border: 1.5px solid rgba(255,255,255,0.15); border-radius: 16px; padding: 14px 20px; font-size: 15px; color: #fff; width: 100%; }
body.home .peptora-form input::placeholder, body.home .peptora-form textarea::placeholder { color: rgba(255,255,255,0.4); }
body.home .peptora-form input:focus, body.home .peptora-form textarea:focus { border-color: var(--pep-teal-light); box-shadow: 0 0 8px 3px #115c6f4d; outline: none; }
body.home .peptora-form label { color: #fff; font-size: 14px; font-weight: 600; display: block; margin-bottom: 6px; }

/* Contact form - light pages */
body.page:not(.home) .peptora-form { background: #fff; border: 1px solid #e5e7eb; border-radius: 20px; padding: 20px; transition: box-shadow 0.3s ease; }
@media (min-width: 768px) { body.page:not(.home) .peptora-form { padding: 40px; } }
body.page:not(.home) .peptora-form:hover { box-shadow: 0 4px 16px rgba(17,92,111,0.1); }
body.page:not(.home) .peptora-form input, body.page:not(.home) .peptora-form textarea { background: #f9fafb; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 14px 20px; font-size: 15px; color: var(--pep-text-dark); width: 100%; }
body.page:not(.home) .peptora-form input::placeholder, body.page:not(.home) .peptora-form textarea::placeholder { color: #999; }
body.page:not(.home) .peptora-form input:focus, body.page:not(.home) .peptora-form textarea:focus { border-color: var(--pep-teal-dark); box-shadow: 0 0 8px 3px rgba(17,92,111,0.15); outline: none; }
body.page:not(.home) .peptora-form label { color: var(--pep-text-dark); font-size: 14px; font-weight: 600; display: block; margin-bottom: 6px; }

/* Newsletter */
.pep-newsletter { background: linear-gradient(180deg, #E2E1F9 11.14%, #FAE5F9 100%); border-radius: 24px; padding: 48px 40px; border: 2px solid #FFFFFF; transition: box-shadow 0.3s ease; }
.pep-newsletter:hover { box-shadow: 0 0 48px rgba(43, 132, 143, 0.24); }
.pep-newsletter h2 { color: var(--pep-text-dark); }
.pep-newsletter p { color: var(--pep-text-dark-70); }
.pep-newsletter input[type="email"] { background: rgba(255,255,255,0.2); border: 1px solid #242424; color: var(--pep-text-dark); border-radius: 16px; }
.pep-newsletter input::placeholder { color: #666; }

/* FAQ accordion - homepage (dark) */
body.home details { margin-bottom: 8px; border-radius: 16px; background: var(--pep-card-bg); border: 1px solid var(--pep-card-border); overflow: hidden; }
body.home details summary { padding: 20px 24px; font-weight: 600; cursor: pointer; list-style: none; color: #fff; }
body.home details summary::-webkit-details-marker { display: none; }
body.home details p { padding: 0 24px 20px; color: rgba(255,255,255,0.6); margin: 0; }
body.home details[open] { border-color: rgba(78, 205, 196, 0.15); }

/* FAQ accordion - light pages */
body.page:not(.home) details { margin-bottom: 8px; border-radius: 16px; background: #f9fafb; border: 1px solid #e5e7eb; overflow: hidden; }
body.page:not(.home) details summary { padding: 20px 24px; font-weight: 600; cursor: pointer; list-style: none; color: var(--pep-text-dark); }
body.page:not(.home) details summary::-webkit-details-marker { display: none; }
body.page:not(.home) details p { padding: 0 24px 20px; color: var(--pep-text-dark-70); margin: 0; }
body.page:not(.home) details[open] { border-color: var(--pep-teal-dark); }

/* Contact cards - light pages */
.peptora-contact-cards { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .peptora-contact-cards { grid-template-columns: repeat(3, 1fr); } }
.peptora-contact-card { border-radius: var(--pep-radius-card); padding: 32px; text-align: center; background: #f9fafb; border: 1px solid #e5e7eb; transition: all 0.3s ease; }
.peptora-contact-card:hover { border-color: var(--pep-teal-dark); box-shadow: 0 4px 16px rgba(17,92,111,0.1); }
.peptora-contact-card h4 { color: var(--pep-text-dark); }
.peptora-contact-card p { color: var(--pep-text-dark-70); }

/* Timeline */
.peptora-timeline { position: relative; padding-left: 60px; }
.peptora-timeline::before { content: ''; position: absolute; left: 24px; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, var(--pep-teal-dark), var(--pep-teal-light)); }
.peptora-timeline-item { position: relative; margin-bottom: 40px; padding: 24px 32px; background: #f9fafb; border-radius: var(--pep-radius-card); border: 1px solid #e5e7eb; }
.peptora-timeline-item h4 { color: var(--pep-text-dark); }
.peptora-timeline-item p { color: var(--pep-text-dark-70); }
.peptora-timeline-number { position: absolute; left: -52px; top: 24px; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--pep-teal-dark), var(--pep-teal-mid)); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }

/* COA table (on single product - white bg) */
.peptora-coa-table { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 16px; overflow: hidden; border: 1px solid #e5e7eb; }
.peptora-coa-table th { background: #f3f4f6; padding: 14px 20px; text-align: left; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--pep-text-muted); }
.peptora-coa-table td { padding: 14px 20px; border-top: 1px solid #e5e7eb; font-size: 15px; color: var(--pep-text-dark-70); }

/* Dosing cards (on single product - white bg) */
.peptora-dosing-card { border-radius: var(--pep-radius-card); padding: 32px; background: #f9fafb; border: 1px solid #e5e7eb; }
.peptora-dosing-card h4 { color: var(--pep-teal-dark); }

/* Research notice */
.peptora-research-notice { border-radius: 16px; padding: 24px 32px; background: #fef2f2; border: 1px solid #fecaca; }
.peptora-research-notice p { color: #991b1b; }
.peptora-research-notice strong { color: #dc2626; }

/* Checklist (on single product - white bg) */
.peptora-checklist { list-style: none; padding: 0; }
.peptora-checklist li { position: relative; padding-left: 32px; margin-bottom: 12px; color: var(--pep-text-dark-70); }
.peptora-checklist li::before { content: '\2713'; position: absolute; left: 0; color: var(--pep-teal-light); font-weight: 700; }

/* Shipping grid */
.peptora-shipping-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .peptora-shipping-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .peptora-shipping-grid { grid-template-columns: repeat(4, 1fr); } }

/* Legal pages */
.peptora-legal-content h2 { font-size: 22px; margin-top: 40px; margin-bottom: 16px; }
.peptora-legal-content p { line-height: 1.75; margin-bottom: 16px; }
.peptora-legal-content ul li { margin-bottom: 8px; }

/* Sections */
.peptora-section { padding: 20px 0; }
@media (min-width: 1024px) { .peptora-section { padding: 32px 0; } }

/* Boxed content for dark pages */
.peptora-section > .wp-block-group,
.entry-content > .wp-block-group {
    max-width: 1280px; margin: 0 auto; padding: 0 20px;
}
@media (min-width: 1024px) {
    .peptora-section > .wp-block-group,
    .entry-content > .wp-block-group { padding: 0 80px; }
}

/* ========================================
   8. SHOP PAGE
   ======================================== */
.pep-shop-hero {
    background: radial-gradient(60% 80% at 25% -10%, #ffffff4d 0%, #0000 50%), radial-gradient(50% 60% at 85% 80%, #115c6f2e 0%, #0000 50%), radial-gradient(40% 50% at 5% 90%, #2b848f26 0%, #0000 50%), radial-gradient(30% 40% at 70% 10%, #fff3 0%, #0000 50%), linear-gradient(135deg, #6baab9 0%, #8bc3d0 25%, #b0d9e3 50%, #d0eaf0 75%, #a8cfdb 100%);
    padding: 60px 20px; text-align: center;
}
@media (min-width: 768px) { .pep-shop-hero { padding: 80px 80px; } }
.pep-shop-hero h1 { font-size: clamp(36px, 5vw, 48px); font-weight: 700; color: #141414; letter-spacing: -0.03em; margin: 0 0 12px; }
.pep-shop-hero h1 .gradient-text { background: none !important; -webkit-text-fill-color: #2E7089 !important; color: #2E7089; }
.pep-shop-hero p { color: #333; font-size: 16px; max-width: 500px; margin: 0 auto; line-height: 1.6; }

/* Product grid container */
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce { padding: 0; }

/* Hide default WooCommerce sorting (we use custom filter bar) */
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering,
.post-type-archive-product .kadence-toggle-shop-layout {
    display: none !important;
}

/* ---- Custom filter bar (peptoralabs style) ---- */
.pep-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    height: 56px;
    background: rgb(0 0 0 / 5%);
    border-radius: 12px;
    margin: 20px 20px 24px;
}
@media (min-width: 768px) {
    .pep-filter-bar { margin: 24px 40px 24px; }
}
.pep-filter-label {
    font-weight: 500;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: -0.01em;
    color: #242424;
    flex-shrink: 0;
}
.pep-filter-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

/* Search input */
.pep-filter-search {
    position: relative;
    display: none;
    align-items: center;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}
@media (min-width: 768px) {
    .pep-filter-search { display: flex; }
}
.pep-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: #242424;
    opacity: 0.5;
    pointer-events: none;
    z-index: 1;
}
.pep-search-input {
    height: 36px !important;
    width: 220px !important;
    padding-left: 32px !important;
    padding-right: 12px !important;
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-radius: 110px !important;
    font-size: 14px !important;
    line-height: 24px;
    letter-spacing: -0.01em;
    color: #242424 !important;
    outline: none;
    margin: 0 !important;
    box-shadow: none !important;
}
.pep-search-input::placeholder {
    color: rgba(36, 36, 36, 0.4);
}
.pep-search-input:focus {
    border-color: #115c6f;
    box-shadow: 0 0 0 3px rgba(17, 92, 111, 0.12), 0 0 16px rgba(17, 92, 111, 0.08);
}

/* Sort dropdown */
.pep-sort-select {
    height: 40px;
    padding: 8px 36px 8px 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.24);
    border-radius: 110px;
    font-weight: 500;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: -0.01em;
    color: #242424;
    cursor: pointer;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23242424' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}
.pep-sort-select:hover {
    border-color: rgba(0, 0, 0, 0.4);
}
.pep-sort-select:focus {
    border-color: #115c6f;
    box-shadow: 0 0 0 3px rgba(17, 92, 111, 0.12);
}

/* Mobile: stack filter bar */
@media (max-width: 767px) {
    .pep-filter-bar { height: auto; padding: 12px 16px; gap: 12px; }
    .pep-sort-select { height: 36px; font-size: 13px; padding: 6px 32px 6px 14px; }
}

/* ---- Product grid ---- */
.woocommerce ul.products {
    display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 16px;
    padding: 20px 16px;
    background: #f9fafb;
}
@media (min-width: 576px) {
    .woocommerce ul.products { padding: 24px 24px; gap: 20px; }
}
@media (min-width: 768px) {
    .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 30px 32px; }
}
@media (min-width: 1024px) {
    .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); padding: 30px 40px; }
}
.woocommerce ul.products li.product {
    width: 100% !important; margin: 0 !important; float: none !important;
    background: #fff; border: 1px solid rgba(0,0,0,0.08); border-radius: 16px; padding: 8px;
    transform: none !important; transition: box-shadow 0.3s ease !important;
}
.woocommerce ul.products li.product:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.woocommerce ul.products li.product.entry {
    transform: none !important;
}
.woocommerce ul.products li.product.entry:hover {
    transform: none !important;
}
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .entry-content-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .entry-content-wrap {
    transform: none !important;
}
.woocommerce ul.products li.product .entry-content-wrap {
    transform: none !important;
    position: static !important;
}
/* Ensure button stays inside card */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    box-sizing: border-box !important;
}

/* ---- Product image ---- */
.woocommerce ul.products li.product > a {
    overflow: hidden; display: block; border-radius: 16px;
}
.woocommerce ul.products li.product a img {
    border-radius: 16px; background: #F2F7FD;
    aspect-ratio: 302/280; object-fit: cover; width: 100%;
    transition: transform 0.3s ease;
}
.woocommerce ul.products li.product:hover a img {
    transform: scale(1.05);
}

/* ---- Title + Price ---- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    color: var(--pep-text-dark); font-size: 12px; font-weight: 700;
    margin: 8px 0 0; line-height: 1.3;
    display: block; float: none; text-align: center;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@media (min-width: 768px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; margin: 10px 0 0; }
}

.woocommerce ul.products li.product .price {
    color: #171717; font-size: 14px;
    float: none; margin: 4px 0 0; text-align: center;
    display: block;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
    font-size: 16px; font-weight: 700;
}
@media (min-width: 768px) {
    .woocommerce ul.products li.product .price .woocommerce-Price-amount { font-size: 18px; }
}
.woocommerce ul.products li.product .price del { color: #999; font-size: 12px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* ---- Add to cart button: dark pill, always visible ---- */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_simple,
.woocommerce ul.products li.product a.product_type_variable {
    background: #242424 !important;
    color: #fff !important;
    border-radius: 110px !important;
    border: 1px solid #242424 !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    clear: both;
    margin-top: 8px !important;
    padding: 0 20px !important;
    height: 40px !important;
    line-height: 40px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    box-shadow: none;
    transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    transform: none !important;
}
@media (min-width: 768px) {
    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product a.button {
        height: 42px !important;
        line-height: 42px !important;
        font-size: 14px !important;
    }
}
@media (max-width: 767px) {
    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product a.button,
    .woocommerce ul.products li.product a.add_to_cart_button,
    .woocommerce ul.products li.product a.product_type_simple,
    .woocommerce ul.products li.product a.product_type_variable {
        font-size: 11px !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        padding: 0 12px !important;
    }
    .woocommerce ul.products li.product .entry-content-wrap {
        padding: 0 !important;
    }
}
/* Arrow inside button */
.woocommerce ul.products li.product .button::after,
.woocommerce ul.products li.product a.button::after {
    content: ' \2192';
    margin-left: 6px;
}

/* Hover: white bg with glow */
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
    background: #fff !important;
    color: #242424 !important;
    border-color: #242424 !important;
    box-shadow: 0 0 20px 4px rgba(17,92,111,0.15), 0 0 40px 8px rgba(17,92,111,0.08) !important;
}

/* Kadence action wrap — show but clean up */
.woocommerce ul.products li.product .product-action-wrap {
    opacity: 1 !important; visibility: visible !important;
    position: static !important; transform: none !important; display: block !important;
    width: 100% !important;
}
.woocommerce ul.products li.product .entry-content-wrap {
    width: 100% !important;
    margin: 0 !important;
}
/* Hide Kadence arrow/spinner/check SVGs inside button */
.woocommerce ul.products li.product .button .kadence-svg-iconset {
    display: none !important;
}
/* Hide product excerpt */
.woocommerce ul.products li.product .product-excerpt {
    display: none !important;
}

/* Out of stock */
.woocommerce ul.products li.product.outofstock .button,
.woocommerce ul.products li.product.outofstock a.button {
    background: #fff !important; color: #999 !important;
    border: 1px solid #e5e7eb !important;
    cursor: not-allowed; pointer-events: none; box-shadow: none;
}

/* ---- Pagination - centered ---- */
.woocommerce nav.woocommerce-pagination { text-align: center; margin: 30px 0; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; justify-content: center; gap: 4px; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    color: var(--pep-text-dark); background: #f3f4f6; border: 1px solid #e5e7eb;
    border-radius: 8px; padding: 8px 14px; font-size: 14px;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #0b2d3b; color: #fff; border-color: #0b2d3b;
}


/* ========================================
   9. SINGLE PRODUCT PAGE (peptoralabs style)
   ======================================== */
body.single-product {
    background-color: #071D2B !important;
    --global-palette9: #071D2B;
}
body.single-product #pep-particles { display: block !important; }
body.single-product .content-container.site-container { max-width: 100%; background: transparent; }
body.single-product .content-area,
body.single-product .site-main,
body.single-product .entry-content,
body.single-product .entry.content-bg { background: transparent !important; box-shadow: none !important; }
body.single-product.content-style-unboxed .site { background: transparent !important; }
body.single-product .kadence-breadcrumbs { display: none !important; }
.pep-single-product .woocommerce-breadcrumb,
.pep-single-product .woocommerce-tabs,
.pep-single-product .related.products,
.pep-single-product .pep-lab-results,
.pep-single-product .pep-product-disclaimer,
.pep-single-product .product_meta { display: none !important; }
/* Remove any Kadence/WC product image backgrounds */
.pep-single-product .woocommerce-product-gallery,
.pep-single-product .woocommerce-product-gallery img,
.pep-single-product .wp-post-image { background: transparent !important; border-radius: 0 !important; }

/* Hero (transparent over bubbles) */
.pep-sp-hero { max-width: 1280px; margin: 0 auto; padding: 30px 20px 20px; position: relative; z-index: 1; }
@media (min-width: 768px) { .pep-sp-hero { padding: 40px 60px 20px; } }
.pep-sp-hero-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px; }
.pep-sp-info h1 { color: #fff !important; font-size: 28px; font-weight: 800; letter-spacing: -0.03em; margin: 0 0 4px; }
@media (min-width: 768px) { .pep-sp-info h1 { font-size: 40px; } }
.pep-sp-size { color: rgba(255,255,255,0.7) !important; font-size: 13px; margin: 0 0 2px; }
.pep-sp-subtitle { color: rgba(255,255,255,0.6) !important; font-size: 13px; margin: 0; }

.pep-sp-pills { display: flex; gap: 6px; flex-shrink: 0; }
.pep-sp-pill { padding: 6px 14px; border-radius: 110px; font-size: 12px; font-weight: 600; background: rgba(255,255,255,0.12); color: #fff; border: 1px solid rgba(255,255,255,0.25); cursor: pointer; transition: all 0.2s; }
.pep-sp-pill.active, .pep-sp-pill:hover { background: rgba(255,255,255,0.3); border-color: rgba(255,255,255,0.5); }

.pep-sp-image { text-align: center; padding: 10px 0; }
.pep-sp-image a { display: inline-block; background: transparent !important; border-radius: 0 !important; }
.pep-sp-img { max-height: 260px; width: auto; object-fit: contain; margin: 0 auto; display: block; background: transparent !important; border-radius: 0 !important; }
@media (min-width: 768px) { .pep-sp-img { max-height: 360px; } }

.pep-sp-actions { text-align: center; padding: 16px 0; }
.pep-sp-price { font-size: 28px; font-weight: 800; color: #fff !important; margin-bottom: 12px; }
.pep-sp-price .woocommerce-Price-amount,
.pep-sp-price .woocommerce-Price-currencySymbol { color: #fff !important; }
.pep-sp-price del { color: rgba(255,255,255,0.4) !important; font-size: 18px; }
.pep-sp-price ins { text-decoration: none; }

.pep-sp-cart { display: flex; justify-content: center; align-items: center; gap: 12px; }
.pep-sp-cart form.cart { display: flex !important; align-items: center; gap: 12px; justify-content: center; flex-wrap: wrap; }
/* Hide variation UI visually but keep functional for JS */
.pep-sp-cart .variations { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; border: 0 !important; }
.pep-sp-cart .woocommerce-variation-description,
.pep-sp-cart .woocommerce-variation-availability,
.pep-sp-cart .reset_variations { display: none !important; }
.pep-sp-cart .woocommerce-variation-price { display: none !important; }
.pep-sp-cart .single_variation_wrap { display: flex !important; align-items: center; gap: 12px; }

.pep-sp-cart .quantity { display: inline-flex !important; align-items: center; background: rgba(255,255,255,0.1); border-radius: 10px; border: 1px solid rgba(255,255,255,0.25); overflow: hidden; height: 42px; }
.pep-sp-cart .quantity input[type="number"] { background: transparent !important; border: none !important; color: #fff !important; text-align: center; width: 36px !important; font-size: 15px; font-weight: 600; -moz-appearance: textfield; height: 42px !important; padding: 0 !important; margin: 0 !important; }
.pep-sp-cart .quantity input::-webkit-inner-spin-button, .pep-sp-cart .quantity input::-webkit-outer-spin-button { -webkit-appearance: none; }
.pep-sp-cart .quantity .minus, .pep-sp-cart .quantity .plus { background: transparent !important; border: none !important; color: rgba(255,255,255,0.7) !important; font-size: 18px; padding: 0 10px; cursor: pointer; height: 42px; line-height: 42px; }

.pep-sp-cart .single_add_to_cart_button { background: #fff !important; color: #242424 !important; border-radius: 110px !important; height: 42px !important; padding: 0 24px !important; font-size: 13px !important; font-weight: 700 !important; border: none !important; display: inline-flex !important; align-items: center; gap: 6px; line-height: 1 !important; box-shadow: none !important; }
.pep-sp-cart .single_add_to_cart_button:hover { box-shadow: 0 0 20px rgba(255,255,255,0.25) !important; }

/* Trust section - gradient bg, cards overlap hero/white boundary */
.pep-sp-trust {
    background: transparent;
    padding: 40px 0 30px;
    position: relative; z-index: 2;
}
.pep-sp-trust-inner {
    display: grid; grid-template-columns: 1fr; gap: 12px;
    max-width: 1280px; margin: 0 auto; padding: 0 20px;
}
@media (min-width: 768px) {
    .pep-sp-trust-inner { grid-template-columns: repeat(3, 1fr); padding: 0 60px; }
}
.pep-sp-trust-card {
    display: flex; flex-direction: column; gap: 8px;
    background: #f3f8f9; border: 1px solid #e0eaed;
    border-radius: 16px; padding: 24px;
}
.pep-sp-trust-card svg { stroke: #115C6F; width: 28px; height: 28px; }
.pep-sp-trust-card strong { display: block; color: #141414 !important; font-size: 15px; font-weight: 700; }
.pep-sp-trust-card span { color: #666 !important; font-size: 13px; line-height: 1.5; }

/* White content - full width bg, boxed inner content */
.pep-sp-content {
    background: #fff; position: relative; z-index: 1;
    padding: 30px 20px 40px;
    --global-palette9: #fff;
}
@media (min-width: 768px) {
    .pep-sp-content { padding: 40px 60px 40px; }
}
.pep-sp-content > * {
    max-width: 1280px; margin-left: auto; margin-right: auto;
}

.pep-sp-accordion { border: none !important; border-bottom: 1px solid #e5e7eb !important; border-radius: 0 !important; background: #fff !important; margin: 0; }
.pep-sp-accordion summary { padding: 24px 0; font-size: 20px; font-weight: 700; color: #141414 !important; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.pep-sp-accordion summary::-webkit-details-marker { display: none; }
.pep-sp-accordion summary::after { content: ''; width: 18px; height: 18px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; transition: transform 0.2s; }
.pep-sp-accordion[open] summary::after { transform: rotate(180deg); }
.pep-sp-acc-body { padding: 0 0 24px; color: #333 !important; line-height: 1.7; }
.pep-sp-acc-body p { color: #333 !important; }

.pep-sp-coa { padding: 40px 0; text-align: center; }
.pep-sp-coa-head { display: flex; align-items: center; gap: 10px; justify-content: center; margin-bottom: 24px; }
.pep-sp-coa-head strong { font-size: 17px; color: #141414 !important; }
.pep-sp-coa-head span { font-size: 12px; color: #666 !important; }
.pep-sp-coa-grid { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
.pep-sp-coa-card { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 16px; padding: 24px; position: relative; text-align: center; width: 260px; }
.pep-sp-coa-tag { position: absolute; top: 12px; left: 12px; background: #0b2d3b; color: #fff !important; font-size: 9px; font-weight: 700; padding: 3px 8px; border-radius: 5px; text-transform: uppercase; }
.pep-sp-coa-purity { font-size: 32px; font-weight: 800; color: var(--pep-teal-dark); }
.pep-sp-coa-plabel { font-size: 11px; font-weight: 700; color: #999 !important; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 14px; }
.pep-sp-coa-rows { display: flex; flex-direction: column; gap: 6px; text-align: left; }
.pep-sp-coa-rows > div { display: flex; justify-content: space-between; font-size: 12px; }
.pep-sp-coa-rows > div > span:first-child { color: #999 !important; }
.pep-sp-coa-rows > div > span:last-child { color: #141414 !important; font-weight: 500; }
.pep-sp-coa-btn { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 14px; padding: 10px 20px; background: #0b2d3b; color: #fff !important; border-radius: 110px; font-size: 13px; font-weight: 600; text-decoration: none; }
.pep-sp-coa-btn:hover { background: #115C6F; }

.pep-sp-featured { padding: 40px 0; text-align: center; }
.pep-sp-featured h2 { font-size: 28px; font-weight: 700; color: #141414 !important; margin: 0 0 8px; }
.pep-sp-featured > p { color: #666 !important; font-size: 14px; margin: 0 0 24px; }
/* Featured products - horizontal scroll on mobile, grid on desktop */
.pep-sp-featured .woocommerce ul.products { background: transparent !important; padding: 0 !important; }
/* Override Kadence's dark loop-entry background on single product featured section */
.pep-sp-featured .content-bg.loop-entry,
.pep-sp-featured .entry.content-bg,
.pep-sp-content .content-bg.loop-entry,
.pep-sp-content .entry.content-bg {
    background: transparent !important;
    box-shadow: none !important;
}
@media (max-width: 767px) {
    .pep-sp-featured .woocommerce ul.products {
        display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory;
        gap: 12px !important; padding-bottom: 8px !important; -webkit-overflow-scrolling: touch;
    }
    .pep-sp-featured .woocommerce ul.products li.product {
        flex: 0 0 70% !important; scroll-snap-align: start; min-width: 0;
    }
}
.pep-sp-featured .woocommerce ul.products li.product a img { background: #F2F7FD !important; }
.pep-sp-featured .woocommerce ul.products li.product .woocommerce-loop-product__title { color: #141414 !important; }
.pep-sp-featured .woocommerce ul.products li.product .price,
.pep-sp-featured .woocommerce ul.products li.product .price * { color: #141414 !important; }
.pep-sp-featured .woocommerce ul.products li.product .button {
    background: #242424 !important; color: #fff !important;
    border: 1px solid #242424 !important; height: 36px !important; line-height: 36px !important; font-size: 12px !important;
}
.pep-sp-allbtn { display: inline-block; margin-top: 20px; padding: 10px 28px; background: var(--pep-btn-bg); color: #fff !important; border-radius: 110px; font-weight: 600; font-size: 13px; text-decoration: none; }

.pep-sp-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 30px 0; }
@media (min-width: 768px) { .pep-sp-stats { grid-template-columns: repeat(4, 1fr); } }
.pep-sp-stat { background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 18px; padding: 24px 20px; text-align: left; }
.pep-sp-stat-circle { width: 150px; height: 150px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; position: relative; }
.pep-sp-stat .pep-sp-stat-value { position: relative; z-index: 1; font-size: 32px !important; font-weight: 900; color: #141414 !important; letter-spacing: -0.03em; }
.pep-sp-stat-value small { font-size: 20px; font-weight: 700; }
.pep-sp-ring { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: rotate(135deg); }
.pep-sp-ring-bg { fill: none; stroke: #d1d5db; stroke-width: 6; stroke-linecap: round; }
.pep-sp-ring-fill { fill: none; stroke: var(--pep-teal-dark); stroke-width: 6; stroke-linecap: round; transition: stroke-dasharray 1.5s ease-out; }
.pep-sp-stat strong { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #141414 !important; margin-bottom: 4px; }
.pep-sp-stat span { font-size: 13px; color: #666 !important; }

.pep-sp-notes { background: #f0fdfa; border: 1px solid #99f6e4; border-radius: 18px; padding: 24px 28px; margin: 20px 0; }
.pep-sp-notes-head { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.pep-sp-notes-head strong { color: #141414 !important; font-size: 15px; }
.pep-sp-notes ul { list-style: none; padding: 0; margin: 0; }
.pep-sp-notes li { position: relative; padding-left: 0; margin-bottom: 10px; font-size: 14px; color: #333 !important; line-height: 1.5; display: flex; align-items: center; gap: 10px; }
.pep-sp-notes li::before { display: none; }
.pep-sp-notes li i { color: var(--pep-teal-dark); font-size: 14px; flex-shrink: 0; }

@media (max-width: 767px) {
    .pep-sp-hero { padding: 20px 16px 16px; }
    .pep-sp-hero-top { flex-direction: column; gap: 10px; }
    .pep-sp-pills { align-self: flex-start; }
    .pep-sp-info h1 { font-size: 24px; }
    .pep-sp-img { max-height: 200px; }
    .pep-sp-price { font-size: 24px; }
    .pep-sp-content { padding: 20px 16px 30px; }
    .pep-sp-stats { gap: 10px; }
    .pep-sp-stat { padding: 16px; }
    .pep-sp-stat-circle { width: 100px; height: 100px; }
    .pep-sp-stat .pep-sp-stat-value { font-size: 22px !important; }
    .pep-sp-stat-value small { font-size: 12px; }
}

/* ========================================
   CART IMAGES — show full vial, no crop
   ======================================== */
.xoo-wsc-img-wrap img,
.xoo-wsc-img-col img {
    object-fit: contain !important;
    max-height: 64px !important;
    width: auto !important;
}
.wc-block-cart-item__image img,
.woocommerce-cart-form .product-thumbnail img,
.woocommerce table.cart img {
    object-fit: contain !important;
    max-height: 80px !important;
    width: auto !important;
}

/* ========================================
   FREE SHIPPING METER
   ======================================== */
.pep-ship-meter {
    background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 14px;
    padding: 16px 20px; margin: 0 0 20px;
}
.pep-ship-meter-text { font-size: 15px; color: #141414; margin-bottom: 10px; }
.pep-ship-meter-icon { margin-right: 6px; display: inline-flex; vertical-align: middle; color: #16a34a; }
.pep-ship-meter-bar {
    height: 8px; background: #e5e7eb; border-radius: 8px; overflow: hidden;
}
.pep-ship-meter-fill {
    height: 100%; background: #16a34a; border-radius: 8px;
    transition: width 0.5s ease;
}
.pep-ship-meter-labels {
    display: flex; justify-content: space-between;
    font-size: 12px; color: #888; margin-top: 6px;
}
/* Side cart — compact */
.pep-ship-meter--side { margin: 10px 12px; padding: 12px 14px; border-radius: 10px; }
.pep-ship-meter--side .pep-ship-meter-text { font-size: 13px; margin-bottom: 8px; }
.pep-ship-meter--side .pep-ship-meter-bar { height: 6px; }
.pep-ship-meter--side .pep-ship-meter-labels { font-size: 11px; }

/* ========================================
   CART UPSELLS — checkbox add-to-cart
   ======================================== */
.pep-cart-upsells { margin: 30px auto; padding: 28px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 18px; max-width: 1200px; position: relative; z-index: 1; }
.pep-cart-upsells h3 { font-size: 18px; font-weight: 700; color: #141414; margin: 0 0 16px; }
.pep-cart-upsells-grid { display: flex; flex-direction: column; gap: 10px; }
.pep-cart-upsell-item {
    display: flex; align-items: center; gap: 14px; padding: 14px 16px;
    background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
    cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s;
}
.pep-cart-upsell-item:hover { border-color: var(--pep-teal-mid); box-shadow: 0 2px 8px rgba(17,92,111,0.1); }
.pep-cart-upsell-item.pep-upsell-added { border-color: var(--pep-teal-dark); background: #f0fdf4; }
.pep-cart-upsell-item img { width: 50px; height: 60px; object-fit: contain; flex-shrink: 0; }
.pep-upsell-info { flex: 1; }
.pep-upsell-info strong { display: block; font-size: 14px; color: #141414; margin-bottom: 2px; }
.pep-upsell-price { font-size: 13px; color: #666; }
.pep-upsell-check {
    width: 20px; height: 20px; flex-shrink: 0;
    accent-color: var(--pep-teal-dark);
}
.pep-upsell-variation {
    display: block; margin-top: 6px; padding: 6px 10px; font-size: 13px;
    border: 1px solid #e5e7eb; border-radius: 8px; background: #fff;
    color: #333; width: 100%; max-width: 160px;
}
.pep-upsell-status { font-size: 12px; color: var(--pep-teal-dark); font-weight: 600; min-width: 60px; text-align: right; }

/* Side cart drawer upsells — compact */
.pep-cart-upsells--side { margin: 10px 12px; padding: 14px; border-radius: 12px; }
.pep-cart-upsells--side h3 { font-size: 14px; margin-bottom: 10px; }
.pep-cart-upsells--side .pep-cart-upsell-item { padding: 10px 12px; gap: 10px; border-radius: 10px; }
.pep-cart-upsells--side .pep-cart-upsell-item img { width: 36px; height: 46px; }
.pep-cart-upsells--side .pep-upsell-info strong { font-size: 12px; }
.pep-cart-upsells--side .pep-upsell-price { font-size: 11px; }
.pep-cart-upsells--side .pep-upsell-variation { font-size: 11px; padding: 4px 8px; max-width: 120px; }
.pep-cart-upsells--side .pep-upsell-check { width: 16px; height: 16px; }

/* ========================================
   CART & CHECKOUT BUTTONS — site style
   ======================================== */
/* Side cart buttons */
.xoo-wsc-ft-btn-checkout,
.xoo-wsc-ft-btn-cart,
.xoo-wsc-ft-btn-continue {
    background: var(--pep-btn-bg) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--pep-radius-btn) !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    padding: 12px 24px !important;
    box-shadow: var(--pep-btn-shadow) !important;
    transition: box-shadow 0.3s ease, transform 0.2s ease !important;
}
.xoo-wsc-ft-btn-checkout:hover,
.xoo-wsc-ft-btn-cart:hover,
.xoo-wsc-ft-btn-continue:hover {
    box-shadow: var(--pep-btn-hover-shadow) !important;
    transform: translateY(-1px) !important;
}
/* Cart page button */
.wc-block-cart__submit-button,
.wc-block-cart__submit-button a,
.wc-block-components-checkout-place-order-button,
.woocommerce .checkout-button,
.woocommerce #place_order {
    background: var(--pep-btn-bg) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border: none !important;
    border-radius: var(--pep-radius-btn) !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    padding: 14px 28px !important;
    box-shadow: var(--pep-btn-shadow) !important;
    transition: box-shadow 0.3s ease, transform 0.2s ease !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover {
    box-shadow: var(--pep-btn-hover-shadow) !important;
    transform: translateY(-1px) !important;
}

/* ========================================
   10. UTILITIES
   ======================================== */
.wp-block-group, .wp-block-columns, .wp-block-column { color: inherit; }
body.home .entry-content .wp-block-group:not([class*="has-background"]) { background: transparent; }
.search-toggle-open-container { background: var(--pep-bg-dark-alt); }

/* Hide particles canvas on non-home pages */
body:not(.home) #pep-particles { display: none; }
body::before, body::after { content: none; display: none; }
.site-header, .site-container, .pep-custom-footer, #masthead, .wp-site-blocks { position: relative; z-index: 1; }
#pep-particles { z-index: 0; }

/* Proven Quality section */
.pep-quality-section {
    padding: 40px 20px;
}
.pep-quality-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}
.pep-quality-stats {
    display: flex;
    gap: 32px;
    margin-top: 24px;
}
.pep-quality-stat {
    display: flex;
    flex-direction: column;
}
.pep-quality-stat-value {
    font-size: 28px;
    font-weight: 800;
    font-family: monospace;
    color: #fff;
    line-height: 1.2;
}
.pep-quality-stat-label {
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    margin-top: 2px;
}
.pep-quality-cta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
    flex-wrap: wrap;
}
.pep-quality-cta span {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
}
.pep-quality-image {
    display: flex;
    align-items: center;
    justify-content: center;
}
.pep-quality-img {
    max-width: 440px;
    width: 100%;
    height: auto;
    border-radius: 20px;
    box-shadow: 0 12px 48px rgba(0,0,0,0.35);
}
@media (max-width: 767px) {
    .pep-quality-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .pep-quality-image {
        order: -1;
    }
    .pep-quality-img { max-width: 260px; }
    .pep-quality-text { text-align: center; }
    .pep-quality-stats { justify-content: center; }
    .pep-quality-cta { justify-content: center; }
    .pep-quality-section .pep-card { text-align: left; }
}

/* Primary button with hover arrow */
a.pep-btn-primary,
button.pep-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 110px;
    height: 48px;
    padding: 12px 28px 12px 24px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: #fff !important;
    text-decoration: none !important;
    background: linear-gradient(90deg, #0b59a2 0%, #1174bf 50%, #0d92cf 100%) !important;
    box-shadow: 0 2px 16px rgba(11,89,162,0.3), 0 0 32px rgba(13,146,207,0.12);
    transition: box-shadow 0.3s, opacity 0.3s;
    border: none;
    cursor: pointer;
}
a.pep-btn-primary:hover,
button.pep-btn-primary:hover { opacity: 0.9; }
.pep-btn-arrow {
    display: inline-flex;
    overflow: hidden;
    width: 0;
    transition: all 0.2s ease-out;
}
.pep-btn-arrow::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='3' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}
.pep-btn-arrow svg { display: none; }
.pep-btn-primary:hover .pep-btn-arrow {
    width: 28px;
    padding-left: 8px;
}

/* ========================================
   ABOUT PAGE
   ======================================== */
.pep-about-hero {
    background: #EDE8F5;
    text-align: center;
    padding: 80px 20px 60px;
    position: relative;
    overflow: hidden;
    /* Break out of container to go full width */
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
@media (min-width: 768px) { .pep-about-hero { padding: 120px 40px 80px; } }
.pep-about-hero h1 {
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: var(--pep-text-dark);
    margin: 16px 0;
    position: relative;
    z-index: 2;
}
.pep-about-hero p {
    color: var(--pep-text-dark-70);
    font-size: 16px;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.6;
    position: relative;
    z-index: 2;
}
@media (min-width: 768px) { .pep-about-hero p { font-size: 18px; } }
.pep-about-hero .pep-badge {
    background: #fff;
    color: var(--pep-text-dark) !important;
    border: none;
    font-weight: 600;
    font-size: 13px;
    padding: 8px 20px;
    border-radius: 100px;
    position: relative;
    z-index: 2;
}
/* Floating vials in about hero */
.pep-about-hero .pep-about-vial {
    position: absolute;
    pointer-events: none;
    z-index: 1;
    height: auto;
    opacity: 0.9;
    filter: drop-shadow(0 4px 16px rgba(0,0,0,0.15));
}
.pep-about-vial-1 {
    width: 80px;
    left: 5%;
    top: 15%;
    transform: rotate(-10deg);
    animation: vialBob1 4s ease-in-out infinite;
}
.pep-about-vial-2 {
    width: 70px;
    right: 5%;
    top: 10%;
    transform: rotate(12deg);
    animation: vialBob2 5s ease-in-out infinite;
}
.pep-about-vial-3 {
    width: 75px;
    right: 12%;
    bottom: 10%;
    transform: rotate(-5deg);
    animation: vialBob3 4.5s ease-in-out infinite;
}
@media (max-width: 767px) {
    .pep-about-vial-1 { width: 45px; left: 2%; top: 8%; }
    .pep-about-vial-2 { width: 38px; right: 2%; top: 5%; }
    .pep-about-vial-3 { width: 42px; right: 5%; bottom: 5%; }
}

.pep-about-section {
    max-width: 1100px;
    margin: 0 auto;
    padding: 48px 20px;
}
@media (min-width: 768px) { .pep-about-section { padding: 64px 40px; } }
.pep-about-center {
    text-align: center;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--pep-text-dark);
    margin-bottom: 32px;
}

/* Mission */
.pep-about-mission {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}
.pep-about-mission h2 {
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--pep-text-dark);
    margin-bottom: 16px;
}
.pep-about-mission-text p {
    color: var(--pep-text-dark-70);
    line-height: 1.7;
    font-size: 15px;
}
.pep-about-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.pep-about-stat-card {
    background: linear-gradient(95deg, rgba(17,92,111,0.08) 16%, rgba(54,132,142,0.08) 69%), #fff;
    border: 2px solid rgba(144,183,188,0.08);
    border-radius: 24px;
    padding: 28px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}
.pep-about-stat-card:hover {
    border-color: rgba(17,92,111,0.2);
    box-shadow: 0 4px 20px rgba(17,92,111,0.1);
}
.pep-about-stat-card {
    text-align: left;
}
.pep-about-stat-val {
    font-size: 40px;
    font-weight: 800;
    color: var(--pep-text-dark);
    font-family: monospace;
    letter-spacing: -0.02em;
}
.pep-about-stat-lbl {
    font-size: 14px;
    color: #666;
}
@media (max-width: 767px) {
    .pep-about-mission { grid-template-columns: 1fr; gap: 32px; }
    .pep-about-mission-text { text-align: center; }
}

/* Values */
.pep-about-values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.pep-about-value-card {
    background: linear-gradient(95deg, rgba(17,92,111,0.08) 16%, rgba(54,132,142,0.08) 69%), #fff;
    border: 2px solid rgba(144,183,188,0.08);
    border-radius: 24px;
    padding: 32px 24px;
    text-align: center;
    transition: border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}
.pep-about-value-card:hover {
    border-color: rgba(17,92,111,0.25);
    box-shadow: 0 4px 24px rgba(17,92,111,0.12);
}
.pep-about-value-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #EDE8F5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}
.pep-about-value-icon svg {
    width: 26px;
    height: 26px;
    stroke: var(--pep-teal-dark);
}
.pep-about-value-card h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--pep-text-dark);
    margin: 0 0 8px;
}
.pep-about-value-card p {
    font-size: 14px;
    color: var(--pep-text-dark-70);
    line-height: 1.6;
    margin: 0;
}
@media (max-width: 767px) {
    .pep-about-values-grid { grid-template-columns: 1fr; }
}

/* Timeline */
.pep-about-timeline {
    max-width: 700px;
    margin: 0 auto;
    position: relative;
    padding-left: 48px;
}
.pep-about-timeline::before {
    content: '';
    position: absolute;
    left: 18px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--pep-teal-dark), var(--pep-teal-light));
    border-radius: 2px;
}
.pep-about-tl-item {
    position: relative;
    margin-bottom: 24px;
}
.pep-about-tl-num {
    position: absolute;
    left: -48px;
    top: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--pep-teal-dark);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.pep-about-tl-content {
    background: linear-gradient(95deg, rgba(17,92,111,0.08) 16%, rgba(54,132,142,0.08) 69%), #fff;
    border: 2px solid rgba(144,183,188,0.08);
    border-radius: 24px;
    padding: 24px;
    transition: border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}
.pep-about-tl-content:hover {
    border-color: rgba(17,92,111,0.2);
    box-shadow: 0 4px 20px rgba(17,92,111,0.1);
}
.pep-about-tl-content h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--pep-text-dark);
    margin: 0 0 6px;
}
.pep-about-tl-content p {
    font-size: 14px;
    color: var(--pep-text-dark-70);
    line-height: 1.6;
    margin: 0;
}
@media (max-width: 767px) {
    .pep-about-timeline { padding-left: 40px; }
    .pep-about-timeline::before { left: 14px; }
    .pep-about-tl-num { left: -40px; width: 30px; height: 30px; font-size: 11px; }
}

/* CTA */
.pep-about-cta {
    background: linear-gradient(135deg, #115C6F 0%, #2E7089 50%, #36848E 100%);
    padding: 56px 40px;
    text-align: center;
    max-width: 1100px;
    margin: 0 auto 48px;
    border-radius: 28px;
}
.pep-about-cta h2 {
    color: #fff !important;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
    margin: 0 0 12px;
}
.pep-about-cta p {
    color: rgba(255,255,255,0.7) !important;
    font-size: 15px;
    margin: 0 0 28px;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 28px;
}
.pep-about-cta .pep-btn-primary {
    background: #fff !important;
    color: var(--pep-teal-dark) !important;
    box-shadow: none;
}
.pep-about-cta .pep-btn-primary:hover { opacity: 0.9; }
.pep-cta-light { color: rgba(255,255,255,0.5) !important; font-weight: 400; }
.pep-about-cta .pep-btn-arrow svg { stroke: var(--pep-teal-dark); }
@media (max-width: 767px) {
    .pep-about-cta { padding: 40px 20px; margin: 0 16px 32px; border-radius: 24px; }
}

/* ========================================
   CONTACT PAGE
   ======================================== */
.pep-contact-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media (max-width: 767px) { .pep-contact-cards { grid-template-columns: 1fr; } }

.pep-contact-form {
    max-width: 700px;
    margin: 0 auto;
}
.pep-contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
@media (max-width: 767px) { .pep-contact-row { grid-template-columns: 1fr; } }
.pep-contact-form label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--pep-text-dark);
    margin-bottom: 6px;
}
.pep-contact-form input,
.pep-contact-form textarea {
    width: 100%;
    background: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-radius: 16px;
    padding: 14px 20px;
    font-size: 15px;
    color: var(--pep-text-dark);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.pep-contact-form input:focus,
.pep-contact-form textarea:focus {
    border-color: var(--pep-teal-dark);
    box-shadow: 0 0 8px rgba(17,92,111,0.15);
    outline: none;
}
.pep-contact-form input::placeholder,
.pep-contact-form textarea::placeholder { color: #999; }
.pep-contact-form > div { margin-bottom: 16px; }

/* AMF Form — home page glassmorphism style */
body.home .amf-form-wrap {
    max-width: 600px !important;
    margin: 32px auto 0 !important;
    background: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 20px !important;
    padding: 20px !important;
}
@media (min-width: 768px) {
    body.home .amf-form-wrap { padding: 40px !important; }
}
body.home .amf-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #fff !important;
}
body.home .amf-required {
    color: #5bbad5 !important;
}
body.home .amf-input,
body.home .amf-textarea,
body.home .amf-select {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    color: #fff !important;
}
body.home .amf-input:focus,
body.home .amf-textarea:focus,
body.home .amf-select:focus {
    border-color: rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.1) !important;
}
body.home .amf-input::placeholder,
body.home .amf-textarea::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}
body.home .amf-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 110px !important;
    height: 48px !important;
    padding: 12px 28px 12px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: -0.01em !important;
    color: #fff !important;
    background: linear-gradient(90deg, #0b59a2 0%, #1174bf 50%, #0d92cf 100%) !important;
    box-shadow: 0 2px 16px rgba(11, 89, 162, 0.3), 0 0 32px rgba(13, 146, 207, 0.12) !important;
    transition: box-shadow 0.3s, opacity 0.3s !important;
    border: none !important;
    cursor: pointer !important;
    width: auto !important;
}
body.home .amf-submit:hover {
    box-shadow: 0 4px 24px rgba(11, 89, 162, 0.5), 0 0 40px rgba(13, 146, 207, 0.2) !important;
    opacity: 0.9 !important;
    background: linear-gradient(90deg, #0b59a2 0%, #1174bf 50%, #0d92cf 100%) !important;
    color: #fff !important;
}
body.home .amf-field-submit {
    text-align: center !important;
}
body.home .amf-message.amf-success {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #5bbad5 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
}
body.home .amf-message.amf-error-msg {
    border-radius: 16px !important;
}

/* AMF Form — default (non-home) pages */
.amf-form-wrap {
    max-width: 700px;
    margin: 0 auto;
}
.amf-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--pep-text-dark);
}
.amf-input,
.amf-textarea,
.amf-select {
    background: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-radius: 16px;
    padding: 14px 20px;
    font-size: 15px;
    color: var(--pep-text-dark);
}
.amf-input:focus,
.amf-textarea:focus,
.amf-select:focus {
    border-color: var(--pep-teal-dark);
    box-shadow: 0 0 8px rgba(17,92,111,0.15);
}
.amf-input::placeholder,
.amf-textarea::placeholder { color: #999; }
.amf-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 110px;
    height: 48px;
    padding: 12px 28px 12px 24px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: #fff;
    background: linear-gradient(90deg, #0b59a2 0%, #1174bf 50%, #0d92cf 100%);
    box-shadow: 0 2px 16px rgba(11, 89, 162, 0.3), 0 0 32px rgba(13, 146, 207, 0.12);
    transition: box-shadow 0.3s, opacity 0.3s;
    border: none;
    cursor: pointer;
}
.amf-submit:hover {
    box-shadow: 0 4px 24px rgba(11, 89, 162, 0.5), 0 0 40px rgba(13, 146, 207, 0.2);
    opacity: 0.9;
    color: #fff;
}
.amf-field-submit {
    text-align: center;
}
.amf-message.amf-success {
    background: rgba(17,92,111,0.1);
    color: var(--pep-teal-dark);
    border: 1px solid rgba(17,92,111,0.2);
    border-radius: 16px;
}
.amf-message.amf-error-msg {
    border-radius: 16px;
}

.pep-contact-faq {
    max-width: 700px;
    margin: 0 auto;
}
.pep-contact-faq details {
    margin-bottom: 8px;
    border-radius: 16px;
    background: linear-gradient(95deg, rgba(17,92,111,0.08) 16%, rgba(54,132,142,0.08) 69%), #fff;
    border: 2px solid rgba(144,183,188,0.08);
    overflow: hidden;
    transition: border-color 0.3s;
}
.pep-contact-faq details[open] { border-color: rgba(17,92,111,0.2); }
.pep-contact-faq summary {
    padding: 20px 24px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    color: var(--pep-text-dark);
    font-size: 15px;
}
.pep-contact-faq summary::-webkit-details-marker { display: none; }
.pep-contact-faq details p {
    padding: 0 24px 20px;
    color: var(--pep-text-dark-70);
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
}

/* Green dot for badge */
.pep-green-dot {
    width: 8px;
    height: 8px;
    background: #22c55e;
    border-radius: 50%;
    display: inline-block;
    margin-right: 6px;
}

/* Legal content pages (Privacy, Terms) */
.pep-legal-content {
    max-width: 800px;
    margin: 0 auto;
}
.pep-legal-content h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--pep-text-dark);
    margin: 32px 0 12px;
}
.pep-legal-content h2:first-child { margin-top: 0; }
.pep-legal-content p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--pep-text-dark-70);
    margin-bottom: 16px;
}
.pep-legal-content ul {
    padding-left: 20px;
    font-size: 15px;
    color: var(--pep-text-dark-70);
    line-height: 2;
}

/* Responsive overrides for shipping grid */
@media (max-width: 767px) {
    .pep-about-values-grid[style*="repeat(2"] { grid-template-columns: 1fr !important; }
    .pep-about-values-grid[style*="repeat(3"] { grid-template-columns: 1fr !important; }
    .pep-about-section div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
}

/* Explore Research-Grade Peptides section */
.pep-explore-section {
    position: relative;
    padding: 60px 20px;
    max-width: 1200px;
    margin: 0 auto;
}
.pep-explore-card {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 32px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 80px 40px;
    text-align: center;
    position: relative;
    z-index: 1;
}
.pep-explore-card h2 {
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px;
}
.pep-explore-card p {
    color: rgba(255,255,255,0.6) !important;
    font-size: 16px;
    max-width: 560px;
    margin: 0 auto 32px;
}
.pep-explore-card {
    overflow: hidden;
    position: relative;
}
.pep-explore-vial {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    filter: drop-shadow(0 4px 16px rgba(0,0,0,0.25));
    opacity: 0.8;
}
.pep-explore-card h2,
.pep-explore-card p,
.pep-explore-card .pep-btn-primary {
    position: relative;
    z-index: 1;
}
.pep-explore-vial-1 {
    height: 160px;
    width: auto;
    left: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(-25deg);
    animation: pepVial1 6s ease-in-out infinite;
}
.pep-explore-vial-2 {
    height: 130px;
    width: auto;
    right: 30px;
    top: 5%;
    transform: rotate(22deg);
    animation: pepVial2 7s ease-in-out infinite;
}
.pep-explore-vial-3 {
    height: 110px;
    width: auto;
    right: 50px;
    bottom: 20px;
    transform: rotate(18deg);
    animation: pepVial3 8s ease-in-out infinite;
}
@media (max-width: 767px) {
    .pep-explore-card { padding: 60px 20px; border-radius: 24px; }
    .pep-explore-vial-1 { height: 90px; left: 5px; }
    .pep-explore-vial-2 { height: 70px; right: 10px; }
    .pep-explore-vial-3 { height: 65px; right: 15px; }
}

/* ========================================
   MY ACCOUNT PAGE
   ======================================== */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
}
.woocommerce-account .woocommerce {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
    order: -1 !important;
    flex: 0 0 240px;
    max-width: 240px;
}
.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
    padding-right: 24px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 12px 16px;
    color: var(--pep-text-dark) !important;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 500;
    border-radius: 10px 0 0 10px !important;
    transition: background 0.2s;
    border-left: none !important;
    border-right: 3px solid transparent !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: #f0f4f8;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a[aria-current="page"] {
    background: linear-gradient(95deg, rgba(17,92,111,0.08) 16%, rgba(54,132,142,0.08) 69%), #fff !important;
    color: var(--pep-teal-dark) !important;
    font-weight: 700 !important;
    border-left: none !important;
    border-right: 3px solid var(--pep-teal-dark) !important;
}
@media (max-width: 767px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
        gap: 24px;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation {
        max-width: 100%;
        flex: 1;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation li a {
        padding: 8px 14px;
        font-size: 13px;
    }
}

/* Homepage product grid on dark background */
body.home .woocommerce ul.products { background: transparent; padding: 20px 0; }
body.home .woocommerce ul.products li.product a img { background: rgba(255,255,255,0.06) !important; border-radius: 14px; }
body.home .woocommerce ul.products li.product .woocommerce-loop-product__title { color: #fff !important; }
body.home .woocommerce ul.products li.product .price,
body.home .woocommerce ul.products li.product .price * { color: rgba(255,255,255,0.7) !important; }
body.home .woocommerce ul.products li.product .button,
body.home .woocommerce ul.products li.product a.button {
    white-space: nowrap !important;
    font-size: 11px !important;
    height: 40px !important;
    line-height: 40px !important;
    padding: 0 14px !important;
    overflow: hidden !important;
}

/* ========================================
   11. RESPONSIVE
   ======================================== */
@media (max-width: 767px) {
    .pep-hide-mobile { display: none !important; }
    .pep-trust-grid { grid-template-columns: 1fr; }
    .pep-precision-grid { grid-template-columns: 1fr; }
    .pep-precision-grid .pep-card:nth-child(n) { grid-column: span 1; }
    .pep-custom-footer > div > div:first-child { grid-template-columns: 1fr !important; gap: 24px !important; }
}

/* Out of stock badge */
.pep-out-of-stock-badge,
.single-product .stock.out-of-stock {
    display: block; padding: 0 20px; background: rgba(17,92,111,0.5) !important; color: #fff !important;
    border-radius: 110px; font-size: 13px; font-weight: 600; text-align: center;
    height: 40px; line-height: 40px; margin-top: 8px; border: none;
}

/* ========================================
   AGE + GDPR CONSENT MODAL
   ======================================== */
#pep-consent-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.75); backdrop-filter: blur(8px);
    z-index: 999999; display: flex; align-items: center; justify-content: center;
    padding: 20px;
}
.pep-consent-modal {
    background: rgba(17,92,111,0.85); border: 1px solid rgba(255,255,255,0.15);
    border-radius: 24px; padding: 40px; max-width: 500px; width: 100%;
    text-align: center; color: #fff;
    box-shadow: 0 25px 60px rgba(0,0,0,0.5);
}
.pep-consent-logo { margin-bottom: 24px; display: flex; justify-content: center; }
.pep-consent-modal h2 {
    font-size: 22px; font-weight: 800; margin: 0 0 12px;
    letter-spacing: -0.02em; color: #fff;
}
.pep-consent-modal p {
    font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.7); margin: 0 0 16px;
}
.pep-consent-divider {
    height: 1px; background: rgba(255,255,255,0.1); margin: 20px 0;
}
.pep-consent-modal h3 {
    font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 8px;
    display: flex; align-items: center; justify-content: center; gap: 8px;
}
.pep-consent-modal h3 i { color: var(--pep-teal-accent); }
.pep-consent-small { font-size: 13px !important; color: rgba(255,255,255,0.5) !important; }
.pep-consent-small a { color: var(--pep-teal-accent); text-decoration: underline; }
.pep-consent-actions { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.pep-consent-actions .pep-btn-primary {
    width: 100%; justify-content: center; font-size: 15px; padding: 14px 24px;
}
#pep-consent-decline {
    background: none; border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.5);
    border-radius: 110px; padding: 12px 24px; font-size: 13px; font-weight: 500;
    cursor: pointer; transition: all 0.2s;
}
#pep-consent-decline:hover { border-color: rgba(255,255,255,0.3); color: rgba(255,255,255,0.7); }

@media (max-width: 767px) {
    .pep-consent-modal { padding: 28px 24px; }
    .pep-consent-modal h2 { font-size: 19px; }
}

/* Cart count badge — turquoise background */
span.header-cart-total {
    background-color: #14b8a6 !important;
    color: #fff !important;
}

/* Mobile — shop add-to-cart button fit */
@media (max-width: 767px) {
    .pep-out-of-stock-badge {
        font-size: 11px; height: 38px; line-height: 38px;
    }
}
