:root{
  --blue:#2F8FB1;
}

body{
  font-family:'cabin',sans-serif;
  font-size:17px;              /* increased */
  color:#222;
  line-height:1.6;
}

.heading-text{
  font-family: 'raleway', sans-serif;
}

.igenic-text{
  font-family: 'jost', sans-serif;
}

/* Top bar */
.topbar{
  background:linear-gradient(135deg,#2F8FB1,#1f3b73);
  color:#fff;
  font-size:20px;
  padding:10px 0;
}

/* Header */
.site-header{
  background:#fff;
  border-bottom:1px solid #eaeaea;
}

.sticky-header{
  position: sticky;
  top: 0;
  z-index: 1050;
  background: #fff;
  transition: all 0.3s ease;
}

.fw-700{
  font-weight: 700;
}

.pointer{
  cursor: pointer;
}
.fs-large{
  font-size: 23px;
}
.fs-larger{
  font-size: 20px;
}
.fs-large1{
  font-size: 20px;
}

/* Optional: add shadow when scrolling */
.sticky-header.scrolled{
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}
.nav-link{
  font-weight:600;
  font-size:20px;
  margin-left: 20px;
}
.btn-primary{
  background:var(--blue);
  border-color:var(--blue);
  padding:10px 26px;
  font-size:17px;
}
.btn-primary:hover{
  background:#247a96;
  border-color:#247a96;
}

/* HERO */
.hero{
  padding:100px 0;     /* much bigger */
  margin: 40px 0;      /* added spacing */
}
.hero-title{
  font-weight:800;
  font-size:36px;     /* bigger */
  margin-bottom:15px;
}
.hero-text{
  font-size:22px;
  color:#555;
  margin-bottom:15px;
}
.hero-list li{
  list-style: none;
  font-size:18px;
  margin-bottom:8px;
}

.hero-img{
  max-width:460px;    /* bigger */
}
.hero-note{
  font-size:16px;
  margin-top:12px;
}

.btn-hero{
  background:linear-gradient(135deg,#2F8FB1,#1f3b73);
  font-size: 23px;
  font-weight: 700;
  padding:12px 30px;
}
.btn-hero:hover{
  background:linear-gradient(135deg,#1f3b73,#247a96);
}

.btn-nav{
  background:linear-gradient(135deg,#2F8FB1,#1f3b73);
  padding: 10px 20px;
}

.btn-nav:hover{
  background:linear-gradient(135deg,#1f3b73,#247a96);
}

.section-bar2{
  font-family: 'raleway', sans-serif;
  background:linear-gradient(135deg,#2F8FB1,#1f3b73);
  color:#fff;
  text-align:center;
  font-weight:800;
  font-size:30px;
  padding:35px 0;
  letter-spacing:1px;
}


/* Trust */
.trust-box{
  border:1px solid #eee;
  padding:25px;
  border-radius:12px;
  font-weight:700;
  font-size:18px;
}

/* Reviews */
.review-box{
  border:1px solid #eee;
  padding:25px;
  border-radius:12px;
  margin-bottom:20px;
}
.review-name{
  font-weight:800;
  font-size:20px;
}
.stars{
  font-size:16px;
}

/* Ingredient */
.ingredient-item{
  display:flex;
  gap:20px;
  border:1px solid #eee;
  padding:22px;
  border-radius:12px;
  margin-bottom:18px;
}
.ingredient-item h6{
  font-family: 'raleway', sans-serif;
}
.ingredient-img{
  width:200px;
  height:200px;
  background:#ddd;
  border-radius:12px;
}
.ingredient-img img{
  object-fit:cover;
  border-radius:12px;
}
.fw-300{
  font-weight:300;
}
/* Bundles */
.bundle-card{
  border:1px solid #eee;
  padding:35px;
  border-radius:14px;
}
.bundle-card.featured{
  border:3px solid var(--blue);
}
.bundle-title{
  font-weight:800;
  font-size:22px;
}
.price{
  font-size:48px;
  font-weight:800;
}
.bundle-card ul{
  font-size:17px;
  margin:20px 0;
}

/* FAQ */
.accordion-button{
  font-weight:700;
  font-size:18px;
}
.accordion-body{
  font-size:17px;
}

/* Footer */
.footer{
  background:#111;
  color:#fff;
  font-size:15px;
  padding:25px 0;
}
.process-section{
  background:#f8fbfd;
}

.process-card{
  background:#fff;
  padding:30px;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,0.05);
  position:relative;
  height:100%;
  transition:0.3s ease;
}

.process-card h5{
  font-family: 'raleway', sans-serif;
}
.process-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(0,0,0,0.08);
}

.step-number{
  width:45px;
  height:45px;
  border-radius:50%;
  background:#2F8FB1;
  color:#fff;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:15px;
  font-size:18px;
}

.process-card h5{
  font-weight:800;
  margin-bottom:12px;
  font-size:20px;
}

.process-card p{
  font-size:16px;
  color:#555;
}

.guarantee-section{
  background:#ffffff;   /* light grey like image */
}

.guarantee-title{
  font-family: 'raleway', sans-serif;
  font-size:36px;
  font-weight:800;
  color: black;  /* dark blue heading */
  margin-bottom:20px;
}

.guarantee-text{
  font-size:19px;
  color:#333;
  margin-bottom:15px;
  line-height:1.7;
}

.guarantee-badge{
  max-width:320px;
}

.guarantee-btn{
  background:#1c1c1c;
  color:#fff;
  font-size:20px;
  font-weight:700;
  padding:14px 35px;
  border-radius:40px;
  transition:0.3s ease;
  box-shadow:0 6px 18px rgba(0,0,0,0.25);
}

.guarantee-btn:hover{
  background:#000;
  transform:translateY(-3px);
}


.pricing-section{
  background:#f4f6f8;
}

.price-card{
  background:#ffffff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,0.06);
  transition:0.3s ease;
}

.price-card1{
  background:#d8fcff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,0.06);
  transition:0.3s ease;
}

.price-card.featured{
  transform:scale(1.05);
  border:3px solid #2F8FB1;
}

.price-header{
  background:#2F8FB1;
  color:#fff;
  text-align:center;
  padding:20px;
  position:relative;
}

.price-header h5{
  font-weight:800;
  margin-top:10px;
}

.small-title{
  font-size:14px;
  letter-spacing:1px;
}

.free-text{
  font-size:14px;
  margin:5px 0;
}

.price-body{
  padding:30px;
}

.price-img{
  max-height:350px;
  margin-bottom:20px;
  
}


.price{
  font-size:60px;
  font-weight:800;
  color:#222;
}

.per-bottle{
  font-size:14px;
  font-weight:600;
  margin-top:-10px;
}

.total{
  font-weight:700;
  margin-bottom:15px;
}

.buy-btn{
  background:#ffc107;
  color:#000;
  font-weight:800;
  padding:14px 35px;
  border-radius:50px;
  display:inline-block;
  margin-top:10px;
  transition:0.3s ease;
}

.buy-btn:hover{
  background:#ffb300;
  transform:translateY(-3px);
}

.payment-icons img{
  max-width:180px;
}

.shipping-box{
  margin-top:15px;
  padding:8px;
  background:#e9eef2;
  border-radius:10px;
  font-weight:600;
}

.shipping-box.free{
  background:#b5f1d0;
  color:#095734;
}

.modal-content{
  border-radius:18px;
  padding:10px;
}

.modal-header{
  border-bottom:1px solid #eee;
}

.modal-title{
  font-size:22px;
}

.modal-body{
  font-size:16px;
  line-height:1.6;
}

.privacy-content{
  max-height: 65vh;
  overflow-y: auto;
  padding-right: 10px;
}

.privacy-content h5{
  font-weight: 800;
  margin-bottom: 15px;
}

.privacy-content h6{
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 10px;
}

.privacy-content p{
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 10px;
}
.terms-content{
  max-height: 65vh;
  overflow-y: auto;
  padding-right: 10px;
}

.terms-content h6{
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 8px;
}

.terms-content p{
  font-size: 15px;
  line-height: 1.7;
}


.supplement-facts-section{
  background: #f8f8f8;
}

.facts-main-title{
  font-size:50px;
  font-weight:800;
  color:#2F8FB1;
  letter-spacing:2px;
}

.facts-box{
  background:#fff;
  padding:30px;
  border:2px solid #2F8FB1;
  border-radius:10px;
  font-size:20px;
}

.facts-serving p{
  margin:0;
  font-weight:600;
}

.facts-divider{
  height:2px;
  background:#2F8FB1;
  margin:10px 0;
}

.facts-divider.thick{
  height:6px;
}

.facts-row{
  display:flex;
  justify-content:space-between;
  padding:6px 0;
  font-size:18px;
}

.facts-row.header{
  font-weight:800;
}

.facts-note{
  font-size:12px;
  margin-top:10px;
}

.product-facts-img{
  max-width:500px;
}

.facts-icons{
  display:flex;
  justify-content:center;
  gap:40px;
}

.icon-box{
  text-align:center;
  font-weight:600;
}

.icon-box i{
  font-size:30px;
  color:#2F8FB1;
  display:block;
  margin-bottom:5px;
}

.policy-section{
      padding:70px 0;
    }

    .policy-section h2{
      font-weight:800;
      font-size:22px;
      margin-top:40px;
      color:#1f3b73;
    }

    .policy-section p{
      font-size:16px;
      line-height:1.8;
      margin-top:10px;
    }

    .policy-section strong{
      font-weight:700;
    }

    .policy-card{
      background:#fff;
      padding:50px;
      border-radius:16px;
      box-shadow:0 20px 60px rgba(0,0,0,0.06);
    }