:root {
	--green-deep: #1C3A12;
	--green-mid: #2D5219;
	--green-light: #4A7A2C;
	--green-pale: #EBF3E0;
	--gold: #8B6914;
	--gold-light: #C4A44E;
	--cream: #F7F2E8;
	--border: #D4E0C4;
	--text-dark: #1A2E10;
	--text-muted: #6B7F5E;
	--white: #fff;
	--font-display: "Work Sans", sans-serif;
	--font-body: "Work Sans", sans-serif;
	--transition: 0.2s ease;
	
	/* circle size tokens — change one place */
	--circle-size: 108px;
	--circle-sm: 80px;
}


/* ════════════════════════════════
   HERO SLIDER
════════════════════════════════ */
.hero { position: relative; overflow: hidden; }
.hero-slides { display: flex; transition: transform .6s cubic-bezier(.25,.46,.45,.94); }
.hero-slide {
	min-width: 100%;
	min-height: 70vh;
	display: flex;
	align-items: center;
	position: relative;
	overflow: hidden;
	background-size: cover;
    background-repeat: no-repeat;
    background-color: rgba(0, 0, 0, .2);
    background-blend-mode: overlay;
	background-position: center;
}
.hero-content {
	position: relative;
	z-index: 2;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 13px;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 40px;
}
.hero-text { max-width: 520px; }
.hero-eyebrow {
  font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.65); margin-bottom: 16px;
  display: flex; align-items: center; gap: 10px;
}
.hero-eyebrow::before { content: ''; width: 24px; height: 1px; background: rgba(255,255,255,.4); }
.hero-heading {
  font-family: "Work Sans", sans-serif; font-size: clamp(32px,5vw,58px);
  font-weight: 500; color: #fff; line-height: 1.05; letter-spacing: -.02em; margin-bottom: 18px;
}
.hero-heading em { font-style: italic; opacity: .9; }
.hero-para { font-size: 15px; color: rgba(255,255,255,.72); line-height: 1.7; margin-bottom: 28px; max-width: 400px; }
.hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-visual {
  display: flex; align-items: flex-end; justify-content: center; gap: 10px; padding-bottom: 20px;
}
.hero-bottle {
  border-radius: 10px 10px 8px 8px; position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  box-shadow: 4px 10px 24px rgba(0,0,0,.28); transition: transform .3s ease;
}
.hero-bottle:hover { transform: translateY(-6px); }
.hero-bottle::before {
  content: ''; position: absolute; top: -14px; width: 32px; height: 14px;
  border-radius: 4px 4px 0 0; background: rgba(0,0,0,.22);
}
.hero-bottle-label {
  width: 52px; border-radius: 4px; background: rgba(255,255,255,.2);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 6px;
}
.hbl-logo { font-size: 9px; font-weight: 700; color: rgba(255,255,255,.95); letter-spacing: .08em; }
.hbl-name { font-size: 5.5px; color: rgba(255,255,255,.75); text-align: center; line-height: 1.3; }
.hero-dots { position: absolute; bottom: 24px; left: 32px; display: flex; gap: 8px; z-index: 10; }
.hero-dot {
  width: 8px; height: 8px; border-radius: 4px;
  background: rgba(255,255,255,.35); border: none; transition: all .3s; cursor: pointer;
}
.hero-dot.active { background: #fff; width: 24px; }
.hero-arrows { position: absolute; bottom: 20px; right: 32px; display: flex; gap: 8px; z-index: 10; }
.hero-arrow {
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.3);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 14px; transition: var(--tr);
}
.hero-arrow:hover { background: rgba(255,255,255,.22); }

/* ════════════════════════════════
   TRUST STRIP
════════════════════════════════ */
.trust-strip { background: var(--gp); padding: 20px 0; }
.trust-strip-inner { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
.trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 26px;
	border-right: 1px solid rgba(255,255,255,.2);
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	white-space: nowrap;
	text-transform: capitalize;
	transition: transform 0.3s ease;
}
.trust-item-img img {
    width: 24px;
}
.trust-item:hover {
	transform: translateY(-5px);
}
.trust-item:last-child { border-right: none; }
.trust-item svg { width: 15px; height: 15px; opacity: .8; stroke: #fff; fill: none; stroke-width: 2; }

/* ════════════════════════════════
   SECTION HELPERS
════════════════════════════════ */
.sec-eyebrow {
  font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
  color: var(--gp); margin-bottom: 10px; display: flex; align-items: center; gap: 10px;
}
.sec-eyebrow::before { content: ''; width: 20px; height: 1px; background: var(--gp); opacity: .5; }
.sec-title {
  font-family: "Work Sans", sans-serif; font-size: clamp(28px,4vw,42px);
  font-weight: 500; color: var(--char); line-height: 1.1; letter-spacing: -.01em;
}
.sec-title em { font-style: italic; color: var(--gp); }
.sec-sub { font-size: 15px; color: var(--mist); margin-top: 10px; max-width: 520px; line-height: 1.6; }

/* ════════════════════════════════
   WELLNESS GOALS
════════════════════════════════ */

.wellness-section {
	padding: 80px 0;
	background: #FDFBF7;
}

        .section-header {
            text-align: center;
            margin-bottom: 50px;
        }

        .section-label {
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--gp);
            margin-bottom: 12px;
            font-weight: 600;
        }

        .section-title {
			font-family: "Work Sans", sans-serif;
            font-size: clamp(28px, 5vw, 48px);
            color: #1A1A1A;
            margin-bottom: 16px;
        }

        .section-title span {
            font-style: italic;
            color: var(--gp);
        }

        .section-subtitle {
            color: #666666;
            font-size: 16px;
            max-width: 500px;
            margin: 0 auto;
        }

        .wellness-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            gap: 24px;
        }

        .wellness-card {
            text-align: center;
            cursor: pointer;
            transition: transform 0.3s ease;
        }

        .wellness-card:hover {
            transform: translateY(-5px);
        }

        .wellness-icon {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            background-color: #E8F5EE;
            border: 2px solid #E8F5EE;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 12px;
            transition: all 0.3s ease;
        }

        .wellness-card:hover .wellness-icon {
            border-color: var(--gp);
            background-color: var(--gp);
        }

        .wellness-card:hover .wellness-icon svg {
            stroke: #fff;
        }

        .wellness-icon svg {
            width: 36px;
            height: 36px;
            stroke: #1B5E20;
            transition: stroke 0.3s ease;
        }

        .wellness-card h3 {
            font-size: 14px;
            font-weight: 500;
            color: #1A1A1A;
        }
		 /* Animations */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .animate-on-scroll {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.6s ease;
        }

.animate-on-scroll.visible {
	opacity: 1;
	transform: translateY(0);
}
/* ════════════════════════════════
   PRODUCT CARDS (Home Best Sellers)
════════════════════════════════ */
.products-sec { padding: 70px 0; background: var(--gp-light); }
.products-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 36px; }
.products-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }

.product-card {
	background: #fff;
	border: 1px solid var(--cream2);
	border-radius: var(--r-lg);
	overflow: hidden; transition: var(--tr);
}
.product-card:hover { transform: translateY(-3px); }
.product-img {
  position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.pi-green  { background: linear-gradient(145deg,#C0E8D0,#8ECFAA); }
.pi-orange { background: linear-gradient(145deg,#FFE4B0,#F5CC78); }
.pi-purple { background: linear-gradient(145deg,#E4CEFF,#C8A0F0); }
.pi-red    { background: linear-gradient(145deg,#FFC8C8,#F5909A); }

.product-bottle {
  border-radius: 10px 10px 8px 8px; position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  box-shadow: 4px 10px 24px rgba(0,0,0,.2); transition: transform .3s;
}
.product-card:hover .product-bottle { transform: scale(1.04) translateY(-4px); }
.product-bottle::before {
  content: ''; position: absolute; top: -13px; width: 28px; height: 13px;
  border-radius: 4px 4px 0 0; background: rgba(0,0,0,.22);
}
.product-bottle-label {
  width: 50px; border-radius: 4px; background: rgba(255,255,255,.22);
  display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 7px 5px;
}
.pbl-logo { font-size: 9px; font-weight: 700; color: rgba(255,255,255,.95); letter-spacing: .08em; }
.pbl-name { font-size: 5.5px; color: rgba(255,255,255,.75); text-align: center; line-height: 1.3; }
.product-body {
    padding: 14px;
    min-height: 210px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.product-category { font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gp); margin-bottom: 4px; }
.product-name { font-family: "Work Sans", sans-serif; font-size: 19px; font-weight: 500; color: var(--char); margin-bottom: 5px; line-height: 1.15; }
.product-ingredients { font-size: 11px; color: var(--mist); line-height: 1.5; margin-bottom: 12px; }
.pack-selector { display: flex; gap: 5px; margin-bottom: 11px; }
.pack-opt {
  padding: 5px 11px; border-radius: 20px; font-size: 11.5px; font-weight: 500;
  border: 1.5px solid var(--cream2); color: var(--stone); background: none;
  transition: var(--tr); cursor: pointer;
}
.pack-opt:hover { border-color: var(--gp); color: var(--gp); }
.pack-opt.active { border-color: var(--gp); background: var(--gp-light); color: var(--gp); }
.product-footer { display: flex; align-items: center; justify-content: space-between; }
.product-price { font-size: 16px; font-weight: 600; color: var(--char); }
.product-save, .bos4w-or-subscribe { font-size: 10px; color: var(--gp); margin-top: 1px; display: block; }
.qty-ctrl {
	display: flex;
    align-items: center;
    gap: 0;
}
.qty-btn {
	width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1.5px solid #EDE9DF;
    background: #fff;
    color: #4A4840;
    font-size: 16px;
    font-weight: 300;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .22s ease;
}
.qty-num {
	font-size: 13px;
    font-weight: 500;
    color: #1C1A16;
    min-width: 22px;
    text-align: center;
}
.add-to-cart-btn, .add-to-cart-btn-variable, .add-to-cart-btn-no-stock {
  width: 100%; margin-top: 10px; padding: 10px; background-color: var(--gp); color: #fff;
  border: none; border-radius: var(--r-md); font-size: 13px; font-weight: 500;
  letter-spacing: .03em; transition: var(--tr); font-family: "Work Sans", sans-serif; text-align: center;
}
.add-to-cart-btn-no-stock {
    background-color: #a00;
}
.add-to-cart-btn:hover, .add-to-cart-btn-variable:hover { background-color: #000; /*var(--gp-dark);*/ }
.add-to-cart-btn-no-stock:hover {
	background-color: #6B7F5E;
}

/* ════════════════════════════════
   REWARDS
════════════════════════════════ */
.rewards-sec { padding: 80px 0; background: var(--char); position: relative; overflow: hidden; }
.rewards-sec::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 50%,rgba(41,131,80,.18) 0%,transparent 70%); pointer-events: none; }
.rewards-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.rewards-text .sec-eyebrow { color: var(--gp-mid); }
.rewards-text .sec-eyebrow::before { background: var(--gp-mid); }
.rewards-text .sec-title { color: #fff; }
.rewards-text .sec-sub { color: rgba(255,255,255,.6); max-width: 400px; }
.perks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 26px; }
.perk-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-md); padding: 18px; transition: var(--tr); }
.perk-card:hover { background: rgba(255,255,255,.1); }
.perk-icon { font-size: 22px; margin-bottom: 9px; }
.perk-title { font-size: 13.5px; font-weight: 600; color: #fff; margin-bottom: 4px; }
.perk-desc { font-size: 12px; color: rgba(255,255,255,.5); line-height: 1.5; }
.rewards-ctas { display: flex; gap: 12px; margin-top: 26px; }
.btn-gp { background: var(--gp); color: #fff; border: none; }
.btn-gp:hover { background: var(--gp-mid); }
.btn-outline-lt { background: transparent; border: 1.5px solid rgba(255,255,255,.3); color: rgba(255,255,255,.8); }
.btn-outline-lt:hover { border-color: rgba(255,255,255,.6); }
.rewards-stats { display: flex; flex-direction: column; gap: 12px; }
.rstat-card { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-md); padding: 20px 24px; display: flex; align-items: center; gap: 16px; }
.rstat-icon { width: 46px; height: 46px; border-radius: 12px; background: rgba(41,131,80,.25); display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.rstat-num { font-family: "Work Sans", sans-serif; font-size: 32px; font-weight: 500; color: #fff; line-height: 1; }
.rstat-label { font-size: 12px; color: rgba(255,255,255,.5); margin-top: 2px; }


/* ════════════════════════════════
   ABOUT
════════════════════════════════ */
.about-sec { padding: 80px 0; background: #fff; }
.about-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: var(--r-xl); overflow: hidden; border: 1px solid var(--cream2); box-shadow: var(--sh-md); }
.about-img-col {
  background: linear-gradient(145deg,#1B5C38 0%,var(--gp) 60%,#3BA068 100%);
  min-height: 500px; position: relative; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-end; /*padding: 36px;*/ overflow: hidden;
}
.about-img-col img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.about-bottles { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-55%); display: flex; gap: 10px; align-items: flex-end; }
.abt-btl { border-radius: 10px 10px 8px 8px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 4px 10px 24px rgba(0,0,0,.3); }
.abt-btl::before { content: ''; position: absolute; top: -12px; width: 26px; height: 12px; border-radius: 4px 4px 0 0; background: rgba(0,0,0,.2); }
.abt-btl-lbl { width: 44px; border-radius: 4px; background: rgba(255,255,255,.22); display: flex; align-items: center; justify-content: center; padding: 5px; }
.abt-btl-lbl span { font-size: 7px; font-weight: 700; color: rgba(255,255,255,.95); letter-spacing: .06em; }
.about-tag { position: relative; z-index: 2; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); border-radius: 30px; padding: 10px 20px; display: flex; align-items: center; gap: 10px; }
.about-tag-dot { width: 8px; height: 8px; border-radius: 50%; background: #7FD4A0; flex-shrink: 0; }
.about-tag span { font-size: 12px; color: #fff; font-weight: 500; }
.about-text-col { background: var(--cream); padding: 54px 50px; display: flex; flex-direction: column; justify-content: center; }
.about-text-col p { font-size: 15px; color: var(--stone); line-height: 1.8; margin-bottom: 14px; }
.about-stats { display: flex; gap: 30px; padding: 22px 0; border-top: 1px solid var(--cream2); border-bottom: 1px solid var(--cream2); margin: 22px 0 28px; }
.abt-stat-num { font-family: "Work Sans", sans-serif; font-size: 34px; font-weight: 500; color: var(--gp); line-height: 1; }
.abt-stat-lbl { font-size: 12px; color: var(--mist); margin-top: 4px; }
.about-btns { display: flex; gap: 12px; }

/* ════════════════════════════════
   LOCATIONS
════════════════════════════════ */
.locations-sec { padding: 80px 0; background: var(--cream); }
.locations-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 36px; }
.locations-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.location-card { background: #fff; border: 1px solid var(--cream2); border-radius: var(--r-lg); overflow: hidden; transition: var(--tr); }
.location-card:hover { box-shadow: var(--sh-md); transform: translateY(-2px); }
.location-map { height: 200px; background: linear-gradient(135deg,#C8E0D0 0%,#A0C8B0 100%); position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.location-map::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent 24px); }
.location-map-icon { font-size: 36px; position: relative; z-index: 1; }
.location-body { padding: 18px; }
.location-name { font-family: "Work Sans", sans-serif; font-size: 19px; font-weight: 600; color: var(--char); margin-bottom: 5px; }
.location-addr { font-size: 12px; color: var(--stone); line-height: 1.5; margin-bottom: 6px; }
.location-hours { font-size: 11px; color: var(--mist); margin-bottom: 12px; }
.location-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 14px; }
.location-tag { font-size: 10px; font-weight: 500; padding: 4px 10px; border-radius: 20px; border: 1px solid var(--cream2); color: var(--stone); }
.location-dir-btn { width: 100%; padding: 10px; border-radius: var(--r-md); border: 1.5px solid var(--cream2); background: transparent; color: var(--stone); font-size: 12.5px; font-weight: 500; font-family: "Work Sans", sans-serif; transition: var(--tr); }
.location-dir-btn:hover { border-color: var(--gp); color: var(--gp); }

/* ════════════════════════════════
   REVIEWS (Trustindex)
════════════════════════════════ */
/* Testimonials Section */
        .testimonials-section {
            padding: 80px 0;
            background: #fff;
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            margin-top: 50px;
        }

        @media (max-width: 992px) {
            .testimonials-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 600px) {
            .testimonials-grid {
                grid-template-columns: 1fr;
            }
        }

        .testimonial-card {
            background-color: rgb(41 131 80 / 5%);
            border-radius: 20px;
            padding: 30px;
            position: relative;
        }

        .testimonial-product {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 20px;
            padding-bottom: 20px;
            border-bottom: 1px solid #E8E8E8;
            transition: transform 0.3s ease;
        }
        .testimonial-product:hover {
            transform: translateY(-5px);
        }
        
        .testimonial-product:hover .testimonial-product-name {
            color: var(--gp);
        }

        .testimonial-product-img {
            width: 50px;
            height: 50px;
            border-radius: 10px;
            background: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .testimonial-product-img img {
            width: 80%;
            height: 80%;
            object-fit: contain;
        }

        .testimonial-product-name {
            font-weight: 600;
            font-size: 14px;
            color: #1A1A1A;
        }

        .testimonial-stars {
            color: #F9A825;
            font-size: 16px;
            margin-bottom: 16px;
        }

        .testimonial-text {
            font-size: 15px;
            line-height: 1.7;
            color: #1A1A1A;
            margin-bottom: 20px;
            font-style: italic;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            gap: 12px;
        }
.bs-carousel-track .testimonial-card {
    flex: 0 0 calc(33.33% - 18px);
	    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
        .author-avatar {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background-color: var(--gp);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 600;
            font-size: 16px;
        }

        .author-info h4 {
            font-size: 14px;
            font-weight: 600;
            color: #1A1A1A;
        }

        .author-info span {
            font-size: 12px;
            color: #666666;
        }

        .verified-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 11px;
            color: #1B5E20;
            margin-top: 4px;
        }

/* ════════════════════════════════
   INSTAGRAM
════════════════════════════════ */
.instagram-sec { padding: 70px 0; background: var(--gp-light); }
.instagram-header { text-align: center; margin-bottom: 32px; }
.instagram-header .sec-eyebrow { justify-content: center; }
.instagram-header .sec-eyebrow::before { display: none; }
.insta-handle { font-size: 14px; color: var(--gp); font-weight: 500; margin-top: 4px; }

/* ════════════════════════════════
   EMAIL / KLAVIYO
════════════════════════════════ */
.email-sec { padding: 72px 0; background: var(--gp); position: relative; overflow: hidden; }
.email-sec::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 50%,rgba(255,255,255,.07) 0%,transparent 60%); }
.email-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.email-text .sec-title { color: #fff; }
.email-text .sec-sub { color: rgba(255,255,255,.7); }
.email-text .sec-eyebrow { color: rgba(255,255,255,.65); }
.email-text .sec-eyebrow::before { background: rgba(255,255,255,.4); }
.email-perks { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 12px; }
.email-perk { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: rgba(255,255,255,.75); }
.email-perk-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5); }
.email-form { display: flex; flex-direction: column; gap: 12px; }
.email-row { display: flex; gap: 10px; }
.email-input {
  flex: 1; height: 50px; border-radius: 100px;
  border: 2px solid rgba(255,255,255,.25); background: rgba(255,255,255,.1);
  color: #fff; font-size: 14px; font-family: "Work Sans", sans-serif; padding: 0 20px; outline: none;
}
.email-input::placeholder { color: rgba(255,255,255,.5); }
.email-input:focus { border-color: rgba(255,255,255,.6); }
.email-submit {
  height: 50px; padding: 0 26px; border-radius: 100px; background: var(--char);
  color: #fff; border: none; font-size: 13.5px; font-weight: 500;
  font-family: "Work Sans", sans-serif; white-space: nowrap; transition: var(--tr);
}
.email-submit:hover { background: var(--gp-dark); cursor: pointer; }
.email-note { font-size: 11.5px; color: rgba(255,255,255,.5); display: flex; gap: 2px; margin-top: 10px; }
.email-text .sec-title em {
    color: var(--cream);
}

/* ════════════════════════════════
   SHOP PAGE
════════════════════════════════ */

    /* ── BANNER WRAPPER ─────────────────────────────── */

.cat-pills-bar { background: #fff; border-bottom: 1px solid var(--cream2); padding: 12px 20px; display: flex; gap: 7px; flex-wrap: wrap; }
.cat-pills-bar::-webkit-scrollbar { display: none; }
.cat-pill { display: inline-block; padding: 7px 18px; border-radius: 20px; font-size: 13px; font-weight: 500;
  border: 1.5px solid var(--cream2); color: var(--stone); cursor: pointer;
  white-space: nowrap; background: #fff; transition: var(--tr); flex-shrink: 0;
}
.cat-pill:hover { border-color: var(--gp); color: var(--gp); }
.cat-pill.active { background: var(--gp); border-color: var(--gp); color: #fff; }

.shop-layout { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 28px 13px; max-width: 1200px; margin: 0 auto; align-items: flex-start; }

/* Sidebar */
.shop-sidebar { background: #fff; border: 1px solid var(--cream2); border-radius: var(--r-lg); padding: 20px; height: fit-content; position: sticky; top: 90px; }
.sidebar-title { font-size: 14px; font-weight: 600; color: var(--char); margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--cream2); }
.sidebar-section { margin-bottom: 20px; }
.sidebar-sec-title { font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mist); margin-bottom: 11px; }
.filter-item { display: flex; align-items: center; justify-content: space-between; padding: 5px 0; cursor: pointer; }
.filter-left { display: flex; align-items: center; gap: 9px; }
.filter-check {
  width: 16px; height: 16px; border-radius: 3px;
  border: 1.5px solid var(--cream3); background: #fff;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: var(--tr);
}
.filter-check.checked { background: var(--gp); border-color: var(--gp); }
.filter-check.checked::after { content: ''; width: 9px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg) translate(1px,-1px); display: block; }
.filter-label { font-size: 12.5px; color: var(--stone); }
.filter-count { font-size: 11px; color: var(--mist); }
.sidebar-divider { height: 1px; background: var(--cream2); margin: 16px 0; }
.clear-filters { width: 100%; padding: 9px; border-radius: var(--r-md); border: 1.5px solid var(--cream2); background: transparent; color: var(--stone); font-size: 12px; font-weight: 500; font-family: "Work Sans", sans-serif; transition: var(--tr); margin-top: 4px; }
.clear-filters:hover { border-color: var(--gp); color: var(--gp); }

/* ════════════════════════════════
   FADE-UP ANIMATIONS
════════════════════════════════ */
.fade-up { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.fade-up.visible { opacity: 1; transform: translateY(0); }
.fd-1 { transition-delay: .1s; }
.fd-2 { transition-delay: .2s; }
.fd-3 { transition-delay: .3s; }
.fd-4 { transition-delay: .4s; }
.about-tag {
    background: var(--gp);
    position: absolute;
    bottom: 20px;
}
/* ════════════════════════════════
   RESPONSIVE
════════════════════════════════ */
@media (max-width: 1100px) {
  .wellness-grid { grid-template-columns: repeat(5,1fr); }
  .products-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 900px) {
  .hero-content { grid-template-columns: 1fr; }
  .hero-visual { display: none; }
  .about-inner, .rewards-inner, .email-inner { grid-template-columns: 1fr; gap: 28px; }
  .about-img-col { min-height: 260px; }
  .locations-grid, .reviews-grid { grid-template-columns: 1fr 1fr; }
  .instagram-grid { grid-template-columns: repeat(3,1fr); }
  .shop-layout { grid-template-columns: 1fr; }
  .shop-sidebar { position: static; }
}
@media (max-width: 640px) {
  .wellness-grid { grid-template-columns: repeat(3,1fr); }
  .products-grid { grid-template-columns: repeat(2,1fr); }
  .locations-grid, .reviews-grid { grid-template-columns: 1fr; }
  .instagram-grid { grid-template-columns: repeat(2,1fr); }
  .email-inner { grid-template-columns: 1fr; }
  .reviews-header { flex-direction: column; }
}

/* ============================================================
   CHANGE 1 — REDESIGNED REWARDS SECTION
   ============================================================ */
.rewards-sec {
  padding: 80px 0;
  background: var(--char);
  position: relative;
  overflow: hidden;
}

.rewards-sec::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 75% 50%, rgba(41,131,80,.13) 0%, transparent 60%);
  pointer-events: none;
}

.rw2-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  position: relative;
  z-index: 1;
}

/* Left column */
.rw2-eyebrow { color: var(--gp-mid) !important; }
.rw2-eyebrow::before { background: var(--gp-mid) !important; }

.rw2-title { color: #fff; margin-bottom: 16px; }

.rw2-body {
  color: rgba(255,255,255,.58);
  font-size: 14.5px;
  line-height: 1.75;
  margin-bottom: 28px;
  max-width: 380px;
}

.rw2-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
}

.rw2-list li {
  padding: 13px 0 13px 20px;
  border-left: 2px solid var(--gp);
  font-size: 14px;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.rw2-list li:last-child { border-bottom: none; }

.rw2-gta {
  display: inline-block;
  background: rgba(59,160,104,.18);
  color: var(--gp-mid);
  border-radius: 20px;
  padding: 2px 9px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-left: 7px;
  vertical-align: middle;
}

/* Right column — cream card */
.rw2-card {
  background: #e8f0e9;
  border-radius: 20px;
  padding: 48px 44px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.rw2-card-bg-word {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Work Sans", sans-serif;
  font-size: 100px;
  font-weight: 700;
  letter-spacing: .15em;
  color: rgba(41,131,80,.055);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  line-height: 1;
  text-transform: uppercase;
}

.rw2-card-tagline {
  font-family: "Work Sans", sans-serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--char);
  letter-spacing: .01em;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}

.rw2-card-sub {
  font-size: 13.5px;
  color: var(--stone);
  line-height: 1.65;
  max-width: 260px;
  margin: 0 auto 28px;
  position: relative;
  z-index: 1;
}

.rw2-btn {
  width: 100%;
  justify-content: center;
  display: flex;
  padding: 13px 20px;
  font-size: 14px;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}

.rw2-learn {
  display: block;
  font-size: 12px;
  color: var(--gp);
  text-decoration: none;
  font-weight: 500;
  letter-spacing: .02em;
  transition: opacity .2s;
  position: relative;
  z-index: 1;
}

.rw2-learn:hover { opacity: .65; }

@media (max-width: 900px) {
  .rw2-inner { grid-template-columns: 1fr; gap: 36px; }
}

@media (max-width: 640px) {
  .rw2-card { padding: 36px 28px; }
  .rw2-card-bg-word { font-size: 64px; }
}
/* Stats Section */
        .stats-section {
            padding: 60px 0;
            background-color: rgb(41 131 80 / 5%);
        }

        .stats-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 30px;
            text-align: center;
        }

        @media (max-width: 768px) {
            .stats-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        .stat-number {
            font-family: "Work Sans", sans-serif;
            font-size: clamp(36px, 5vw, 48px);
            font-weight: 700;
            color: var(--gp);
            margin-bottom: 8px;
        }

        .stat-label {
            font-size: 14px;
            color: var(--foreground);
            text-transform: uppercase;
            letter-spacing: 1px;
        }
/* About Section */
        .about-section {
            padding: 100px 0;
            background: #fff;
        }

        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        @media (max-width: 768px) {
            .about-grid {
                grid-template-columns: 1fr;
            }
        }

        .about-image {
            position: relative;
        }

        .about-image-main {
            width: 100%;
            aspect-ratio: 4/5;
            border-radius: 20px;
            object-fit: cover;
            background: linear-gradient(135deg, #2E7D32 0%, #1B5E20 100%);
        }

        .about-image-overlay {
            position: absolute;
            bottom: -30px;
            right: -30px;
            width: 180px;
            padding: 24px;
            background: var(--white);
            border-radius: 16px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.1);
            text-align: center;
        }

        @media (max-width: 768px) {
            .about-image-overlay {
                right: 20px;
                bottom: -40px;
            }
        }

        .about-image-overlay .years {
            font-family: "Work Sans", sans-serif;
            font-size: 42px;
            font-weight: 700;
            color: var(--primary);
        }

        .about-image-overlay span {
            font-size: 13px;
            color: var(--text-muted);
            display: block;
        }

        .about-content {
            padding: 20px 0;
        }

        .about-content .section-label {
            text-align: left;
        }

        .about-content .section-title {
            text-align: left;
            margin-bottom: 24px;
			line-height: 1.2;
        }

        .about-text {
            font-size: 16px;
            line-height: 1.8;
            color: var(--text-muted);
            margin-bottom: 20px;
        }
		.about-text p:not(:last-child) {
			margin-bottom: 20px;
		}

        .about-features {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            margin: 30px 0;
        }

        .about-feature {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .about-feature-icon {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--primary);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .about-feature-icon svg {
            width: 20px;
            height: 20px;
            stroke: var(--white);
        }

        .about-feature span {
            font-size: 14px;
            font-weight: 500;
            color: var(--text-dark);
        }

        .about-cta {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 16px 32px;
            background-color: var(--primary);
            color: var(--white);
            text-decoration: none;
            border-radius: 30px;
            font-weight: 600;
            font-size: 14px;
            margin-top: 0;
            transition: all 0.3s ease;
        }

        .about-cta:hover {
            background-color: #000;
            transform: translateX(5px);
        }
/* ============================================================
   CHANGE 3 — BEST SELLERS CAROUSEL
   ============================================================ */
.bs-carousel-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0 -8px;
}

.bs-carousel-viewport {
	overflow: hidden;
	flex: 1;
	/*padding: 8px 0 16px;*/
}

.bs-carousel-track {
  display: flex;
  gap: 24px;
  transition: transform .45s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}
.bs-carousel-track .product-card {
	flex: 0 0 calc(25% - 18px);
	min-width: 240px;
	max-width: 300px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.bs-arrow {
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(41,131,80,.3);
  background: #fff;
  color: var(--gp, #298350);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, border-color .2s, transform .15s;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.bs-arrow:hover {
  background: var(--gp-green, var(--gp));
  border-color: var(--gp-green, var(--gp));
  color: #fff;
  transform: scale(1.06);
}

.bs-arrow:disabled {
  opacity: .35;
  cursor: not-allowed;
  transform: none;
}

.bs-prev { margin-right: 8px; }
.bs-next { margin-left: 8px; }

/* Dots */
.bs-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}

.bs-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(41,131,80,.25);
  border: none;
  cursor: pointer;
  transition: background .2s, transform .2s;
  padding: 0;
}

.bs-dot.active {
  background: var(--gp-green, var(--gp));
  transform: scale(1.25);
}

/* Mobile: show 1.5 cards */
@media (max-width: 640px) {
	.bs-carousel-track .product-card {
		flex: 1 0 100%;
		min-width: 100%;
	}
	.bs-arrow {
		width: 36px;
		height: 36px;
		font-size: 18px;
	}
	.bs-carousel-track {
		gap: 40px;
	}
}

/* Tablet: show 2 cards */
@media (min-width: 641px) and (max-width: 1023px) {
	.bs-carousel-track .product-card {
		flex: 0 0 calc(50% - 12px);
	}
}
@media (max-width: 1144px){
	.trust-strip-inner {
        position: relative;
    }
	.trust-item{
		justify-content: center;
        align-items: center;
        gap: 8px;
        text-align: center;
        padding: 0 13px;
        font-size: 12px;
	}
}
@media (max-width: 991px){
	.trust-item{
        font-size: 14px;
	}
}
@media (max-width: 993px) {
	.bs-carousel-track .testimonial-card {
		flex: 0 0 calc(50% - 18px);
	}
}
@media (max-width: 768px) {
	.bs-carousel-track .testimonial-card {
		flex: 0 0 100%;
	}
	.hero-slide {
		min-height: auto;
		padding: 40px 0 60px;
	}
	.hero-eyebrow {
		font-size: 10px;
		margin-bottom: 10px;
		line-height: normal;
	}
	.hero-heading {
		line-height: 1.2;
		margin-bottom: 8px;
	}
	.hero-para {
		line-height: 1.5;
		margin-bottom: 14px;
		max-width: 100%;
		font-size: 14px;
	}
	.btn {
		line-height: normal;
	}
	.hero-ctas {
		margin-bottom: 10px;
	}
	.trust-strip {
		padding: 16px 0;
	}
	.trust-item {
        font-size: 13px;
    }
	.trust-item-img img {
		width: 20px;
	}
	.wellness-section, .products-sec, .stats-section, .testimonials-section, .instagram-sec {
		padding: 30px 0;
	}
	.section-label {
		margin-bottom: 6px;
		line-height: normal;
	}
	.section-title {
		margin-bottom: 2px;
	}
	.section-header {
		margin-bottom: 16px;
	}
	.wellness-grid {
		gap: 10px;
	}
	.products-header {
		margin-bottom: 18px;
	}
	.about-section {
		padding: 30px 0 80px;
	}
	.stat-number {
		line-height: normal;
	}
	.stats-grid {
        grid-template-columns: repeat(2, 1fr);
		gap: 15px;
    }
	.stat-label {
		font-size: 12px;
		letter-spacing: 0;
	}
	.about-grid {
		gap: 30px;
	}
	.about-image {
		order: 2;
	}
	.about-content {
		padding: 0;
	}
	.hero-slide {
		background-position: center right;
		background-color: rgba(0, 0, 0, .4);
	}
	.gp-cat-scroller {
		padding: 14px 0;
	}
	.gp-cat-track {
        padding-left: 16px;
        padding-right: 16px;
    }
	.gp-cat-item {
		min-height: 80px;
		width: calc(var(--circle-size) + 8px);
    }
	.shop-layout {
		padding-top: 18px;
		padding-bottom: 18px;
		gap: 12px;
	}
	.shop-sidebar {
        padding: 10px;
    }
	.sidebar-title {
		margin-bottom: 8px;
		padding-bottom: 8px;
		line-height: normal;
	}
	.sidebar-section, .sidebar-sec-title {
		margin-bottom: 8px;
	}
	.sidebar-divider {
		margin: 8px 0;
	}
	.filter-item {
		padding: 2px 0;
	}
	.clear-filters {
		margin-top: 0;
		padding: 7px;
	}
	.about-content .section-title {
		margin-bottom: 14px;
	}
	.about-text {
		font-size: 14px;
		line-height: 1.6;
		margin: 0;
	}
	.about-text p:not(:last-child) {
		margin-bottom: 10px;
	}
	.about-feature {
		gap: 10px;
	}
	.about-feature-icon {
		width: 30px;
		height: 30px;
	}
	.about-feature-icon svg {
		width: 15px;
		height: 15px;
	}
	.about-feature span {
		font-size: 13px;
	}
	.about-cta {
		gap: 10px;
		padding: 12px 18px;
		font-size: 13px;
	}
	.about-features {
		gap: 10px 0;
	}
}
	
@media (max-width: 500px) {
	.products-header {
		flex-wrap: wrap;
		gap: 10px;
		justify-content: center;
	}
	.sec-eyebrow {
		justify-content: center;
	}
	.about-features {
		margin: 15px 0;
	}
}
@media (max-width: 375px) {
	.stats-grid, .about-features {
        grid-template-columns: repeat(1, 1fr);
    }
}