* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}




/* hero */

/* ── Hero Section ── */
.glp-hero-section {
background: linear-gradient(135deg, #31124b 0%, #5a1023 50%, #8c2045 100%);

  overflow: hidden;
  padding: 48px 0;
}

/* ── Left Column ── */
.glp-content-col {
  padding-right: 2rem;
}

/* ── Star Rating ── */
.glp-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.glp-stars {
  color: #f5a623;
  font-size: 1.2rem;
  letter-spacing: 2px;
}

.glp-star-empty {
  color: #fafafa;
}

.glp-rating-text {
  color: #ffffff;
  font-size: 0.88rem;
}

/* ── Headline ── */
.glp-headline {
  /* font-family: 'Georgia', serif; */
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: #fabbd5;
  line-height: 1.1;
  margin-bottom: 10px;
}

.glp-subheadline {
  color: hsl(0, 32%, 86%);
  font-size: 1.3rem;
  margin-bottom: 16px;
}

/* ── Price Line ── */
.glp-price-line {
  color: #fff1f1;
  font-size: 1.05rem;
  margin-bottom: 24px;
}

.glp-price {
  font-size: 1.6rem;
  color: hsl(0, 57%, 41%);
}

/* ── Feature List ── */
.glp-features {
  background: rgb(255, 255, 255);
  border-radius: 16px;
  padding: 20px 24px;
  margin-bottom: 28px;
}

.glp-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
  font-size: 1.1rem;
  color: #000000;
}

.glp-feature-item:last-child {
  margin-bottom: 0;
}

.glp-icon {
  color: #341248;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── CTA Buttons ── */
.glp-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 18px;
}

.glp-btn-primary {
  background-color: #341248;
  color: #fff;
  border: none;
  padding: 14px 32px;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease;
}

.glp-btn-primary:hover {
  background-color: #0a2255;
  transform: translateY(-1px);
  color: #fff;
}

.glp-btn-secondary {
  background-color: #fff;
  color: #0d2d6b;
  border: 2px solid #0d2d6b;
  padding: 14px 32px;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.glp-btn-secondary:hover {
  background-color: #0d2d6b;
  color: #fff;
  transform: translateY(-1px);
}

/* ── Trust Badges ── */
.glp-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 0.85rem;
  color: #f5f1f1;
  align-items: center;
}

.glp-trust-badges span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.glp-badge-icon {
  width: 15px;
  height: 15px;
  color: #f5e9f1;
}

/* ── Right Image ── */
.glp-image-col {
  text-align: center;
}

.glp-hero-image {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  max-height: 680px;
}

/* ── Responsive ── */
@media (max-width: 991px) {
  .glp-content-col {
    padding-right: 0;
    margin-bottom: 32px;
  }

  .glp-hero-section {
    border-radius: 12px;
    padding: 32px 0;
  }

  .glp-image-col {
    order: -1;
  }

  .glp-hero-image {
    max-height: 320px;
  }
}

@media (max-width: 575px) {
  .glp-cta-group {
    flex-direction: column;
  }

  .glp-btn-primary,
  .glp-btn-secondary {
    text-align: center;
  }

  .glp-trust-badges {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* scroll effect */
.marquee {
  overflow: hidden;
  width: 100%;
  padding: 20px 0;

}

.marquee-content {
  display: flex;
  gap: 80px;
  width: max-content;
  animation: marquee 35s linear infinite;
  

}



@keyframes marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* *************** */
.footer li {
  margin-bottom: 10px;
}

.footer .nav-link:hover {
  text-decoration: underline !important;
}
.section-title {
  text-align: center;
  font-weight: 700;
  
  color: #0D2D6B;
  padding: 1.8rem;
}

.text-just {
  text-align: justify;
}
.free-shipping {
  background-color: #4F69AA;
}

.foot {
  background-color: #341248;
}

.foot2 {
  color: #341248;
}

.glass-purple {
  background: radial-gradient(
    circle at top left,
    rgba(22, 154, 171, 0.95) 0%,
    rgba(18, 135, 150, 0.85) 35%,
    rgba(15, 115, 128, 0.70) 65%,
    rgba(10, 90, 100, 0.55) 100%
  );

  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);

  border: 1px solid rgba(255, 255, 255, 0.28);

  box-shadow:
    0 25px 65px rgba(10, 60, 70, 0.55),
    inset 0 1px 1px rgba(255, 255, 255, 0.30),
    inset 0 -2px 3px rgba(0, 0, 0, 0.40);


}



.hero-bg {
  min-height: 10vh;
  max-width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-overlay {
  padding: 6rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

/* Title */
.hero-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.1;
  text-transform: uppercase;
}

.hero-title span {
  display: block;
}

/* Glass box */
.glass-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 1rem 2rem;
  padding: 1.5rem 2rem;
  border-radius: 20px;

  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.18),
    rgba(255, 255, 255, 0.08)
  );
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.35);
}

/* Feature text */
.feature-item {
  font-size: clamp(0.95rem, 2.5vw, 1.1rem);
  font-weight: 600;
  text-align: left;
}

/* Mobile tweaks */
@media (max-width: 576px) {
  .glass-features {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .feature-item {
    text-align: center;
  }
}

/* Grid Layout */
.ingredients-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
}




.small-ban{
  background-color: #f7f1fa;
}

svg.lucide {
  width: 40px;
  height: 40px;
}

/* testimonials */

.review-card{
  transition: all 0.3s ease;
}

.review-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}


/* *****************accordion*********** */


/* Rounded accordion items */
.accordion-item {
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 15px;
  border: 1px solid #e5e5e5;
}

/* Rounded top when closed */
.accordion-button {
  border-radius: 18px;
  padding: 18px 22px;
}

/* Rounded when opened */
.accordion-button:not(.collapsed) {
  border-radius: 18px 18px 0 0;
}

/* Space between icon and question text */
.accordion-button i {
  margin-right: 10px;
}

/* Space between question and arrow */
.accordion-button::after {
  margin-left: auto;
}

/* Body padding */
.accordion-body {
  padding: 20px 22px;
}



/* how it works */

/* ── Section ── */
.hiw-section {
  padding: 80px 0;
  background-color: #fff;
}

/* ── Left Column ── */
.hiw-left {
  position: relative;
}

.hiw-left-inner {
  position: sticky;
  top: 100px;
  padding-right: 2rem;
}

.hiw-title {
  font-family: 'Georgia', serif;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 12px;
}

.hiw-tagline {
  color: #444;
  font-weight: 500;
  margin-bottom: 16px;
}

.hiw-desc {
  color: #555;
  line-height: 1.7;
  margin-bottom: 28px;
}

.hiw-btn {
  display: inline-block;
  background-color: #341248;
  color: #fff;
  text-decoration: none;
  padding: 14px 36px;
  border-radius: 50px;
  font-weight: 700;
  letter-spacing: 1px;
  transition: background 0.2s ease, transform 0.15s ease;
}

.hiw-btn:hover {
  background-color: #0a2255;
  color: #fff;
  transform: translateY(-2px);
}

/* ── Right Column / Timeline ── */
.hiw-right {
  padding-left: 2rem;
}

.hiw-timeline {
  position: relative;
  padding-left: 32px;
}

/* Vertical line */
.hiw-timeline::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 8px;
  bottom: 0;
  width: 2px;
  background-color: #f5a623;
}

/* ── Each Step ── */
.hiw-step {
  position: relative;
  margin-bottom: 64px;
}

.hiw-step--last {
  margin-bottom: 0;
}

/* Dot on timeline */
.hiw-dot {
  position: absolute;
  left: -32px;
  top: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #f5a623;
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px #f5a623;
  z-index: 1;
}

/* Step Content */
.hiw-step-content {
  padding-left: 8px;
}

.hiw-step-title {
  font-family: 'Georgia', serif;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 10px;
}

.hiw-step-desc {
  color: #555;
  line-height: 1.7;
  margin-bottom: 20px;
}

/* Step Image */
.hiw-img-wrap {
  border-radius: 16px;
  overflow: hidden;
  max-width: 420px;
}

.hiw-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.hiw-img:hover {
  transform: scale(1.02);
}

/* ── Responsive ── */
@media (max-width: 991px) {
  .hiw-left-inner {
    position: static;
    padding-right: 0;
    margin-bottom: 48px;
    text-align: center;
  }

  .hiw-right {
    padding-left: 0;
  }

  .hiw-section {
    padding: 48px 0;
  }
}

@media (max-width: 575px) {
  .hiw-timeline {
    padding-left: 24px;
  }

  .hiw-dot {
    left: -24px;
  }

  .hiw-img-wrap {
    max-width: 100%;
  }
}

/* banner  */

/* ── Section ── */
.cta-section {
  position: relative;
  background-color: #fcf4f6;
  padding: 100px 0;
  overflow: hidden;
  border-radius: 20px;
}

/* ── Floating Vials ── */
.cta-vial {
  position: absolute;
  width: 400px;
  pointer-events: none;
}

.cta-vial--top-left {
  top: 20px;
  left: 20px;
  transform: rotate(-20deg);
}

.cta-vial--top-right {
  top: 10px;
  right: 20px;
  transform: rotate(10deg);
}

.cta-vial--bottom-left {
  bottom: 10px;
  left: 60px;
  transform: rotate(-5deg);
}

/* ── Center Content ── */
.cta-content {
  position: relative;
  z-index: 2;
}

.cta-headline {
  font-family: 'Georgia', serif;
  font-weight: 800;
  color: #0d2d6b;
  margin-bottom: 20px;
  line-height: 1.2;
}

.cta-desc {
  color: #444;
  line-height: 1.7;
  margin-bottom: 32px;
}

.cta-subheading {
  font-family: 'Georgia', serif;
  font-weight: 400;
  color: #1a1a2e;
  margin-bottom: 28px;
}

/* ── CTA Button ── */
.cta-btn {
  display: inline-block;
  background-color: #0d2d6b;
  color: #fff;
  text-decoration: none;
  padding: 15px 40px;
  border-radius: 50px;
  font-weight: 700;
  letter-spacing: 1px;
  font-size: 0.9rem;
  margin-bottom: 24px;
  transition: background 0.2s ease, transform 0.15s ease;
}

.cta-btn:hover {
  background-color: #0a2255;
  color: #fff;
  transform: translateY(-2px);
}

/* ── Trust Badges ── */
.cta-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  color: #444;
  margin-bottom: 16px;
}

.cta-badges span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.cta-badge-icon {
  width: 16px;
  height: 16px;
  color: #555;
}

/* ── Footnote ── */
.cta-footnote {
  color: #444;
  margin-bottom: 0;
}

/* ── Responsive ── */
@media (max-width: 1199px) {
  .cta-vial {
    width: 160px;
  }
}

@media (max-width: 991px) {
  .cta-vial {
    width: 120px;
  }

  .cta-section {
    padding: 80px 0;
  }
}

@media (max-width: 767px) {
  .cta-vial--top-left,
  .cta-vial--top-right {
    width: 90px;
  }

  .cta-vial--bottom-left {
    display: none;
  }

  .cta-section {
    padding: 60px 0;
  }

  .cta-badges {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
}

/* benefits bg color */

.ben-bg{
  background-color: #fdf5f6;
}

/* heading color */
.heading-color{
  color: #0D2D6B;
}
.heading-clr2{
  background-color: #341248;
}

/* ingredients */
/* ── Ingredients Section ── */
.ingredients-section {
  background: linear-gradient(135deg, #f7f1fa 0%, #faf4f5 100%);
}

.ingredient-card {
  background: #ffffff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ingredient-card--mid {
  background: linear-gradient(160deg, #321146, #aa0728);
}

.ingredient-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10) !important;
}

.ingredient-icon {
  font-size: 3rem;
  line-height: 1;
}

.ingredient-number {
  font-size: 2rem !important;
  opacity: 0.25;
  letter-spacing: 2px;
}


/* how to make recepie */

/* ===================================================
   RECIPE SECTION — The Gelatin Trick
   Add to your existing assets/style.css
   or link separately: <link rel="stylesheet" href="recipe-section.css" />
   =================================================== */

/* ---------- Section Wrapper ---------- */
.recipe-section {
  background: #ffffff;
}

/* ---------- Heading ---------- */
.recipe-heading {
  color: #341248; /* matches your --heading-color */
}

/* ---------- Timeline Container ---------- */
.recipe-timeline {
  position: relative;
}

/* ---------- Each Step Row ---------- */
.recipe-step {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 0;
}

/* ---------- Left Column (dot + line) ---------- */
.recipe-step-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 52px;
}

/* ---------- Numbered Dot ---------- */
.recipe-dot {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #341248;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.15rem;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(44, 122, 75, 0.25);
  position: relative;
  z-index: 1;
}

/* ---------- Connecting Line ---------- */
.recipe-line {
  width: 2px;
  flex: 1;
  min-height: 36px;
  background-color: #a8d5b5;
  margin-top: 4px;
  margin-bottom: 4px;
}

/* ---------- Step Content Card ---------- */
.recipe-step-content {
  background: #ffffff;
  border: 1px solid #e0f0e8;
  border-radius: 16px;
  padding: 20px 24px;
  flex: 1;
  margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(44, 122, 75, 0.07);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.recipe-step-content:hover {
  box-shadow: 0 6px 20px rgba(44, 122, 75, 0.14);
  transform: translateY(-2px);
}

/* ---------- Step Title ---------- */
.recipe-step-title {
  font-weight: 700;
  color: #341248;
  margin-bottom: 6px;
}

/* ---------- Step Description ---------- */
.recipe-step-desc {
  color: #444444;
  line-height: 1.7;
  margin-bottom: 0;
}

/* ---------- Last Step (no line below) ---------- */
.recipe-step--last .recipe-step-left {
  justify-content: flex-start;
}

/* ---------- CTA Strip ---------- */
.recipe-cta-strip {
  background: #f0faf4;
  border: 1px solid #c3e6d0;
  border-radius: 16px;
  padding: 28px 32px;
}

.recipe-cta-icon {
  font-size: 2.4rem;
  flex-shrink: 0;
}

.recipe-cta-btn {
  display: inline-block;
  background-color: #2c7a4b;
  color: #ffffff;
  padding: 14px 30px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease;
}

.recipe-cta-btn:hover {
  background-color: #235f39;
  color: #ffffff;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .recipe-cta-strip {
    flex-direction: column;
    text-align: center;
  }

  .recipe-dot {
    width: 42px;
    height: 42px;
    font-size: 1rem;
  }

  .recipe-step-content {
    padding: 16px 18px;
  }
}

/* best time to have */

/* ===================================================
   BEST TIME SECTION — The Gelatin Trick
   Add to assets/style.css or link separately
   =================================================== */

.best-time-section {
  background-color: #341248;
}

.best-time-box {
  background-color: #f7f1fa;
}

.best-time-heading {
  font-size: 1.5rem;
  color: #341248;
  margin-bottom: 16px;
  line-height: 1.35;
}

.best-time-desc {
  color: #3a1a20;
  line-height: 1.8;
}

/* Responsive */
@media (max-width: 768px) {
  .best-time-heading {
    font-size: 1.25rem;
  }
}

/* ===================================================
   WHY IS THE GELATIN TRICK POPULAR SECTION
   Add to assets/style.css or link separately
   =================================================== */

/* ---------- Section Wrapper ---------- */
.popular-section {
  background-color: #ffffff;
}

/* ---------- Heading ---------- */
.popular-heading {
  font-size: 2rem;
  color: #341248;
  margin-bottom: 12px;
}

.popular-subtext {
  color: #341248;
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.7;
}

/* ---------- Card ---------- */
.popular-card {
  background-color: #f7f1fa;
  border: 1px solid #f0d8dc;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.popular-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}

/* ---------- Icon ---------- */
.popular-icon {
  font-size: 2rem;
  line-height: 1;
}

/* ---------- Card Title ---------- */
.popular-card-title {
  color: #341248;
  margin-bottom: 10px;
}

/* ---------- Card Description ---------- */
.popular-card-desc {
  color: #997a80;
  line-height: 1.75;
}

/* ---------- CTA Card ---------- */
.popular-card--cta {
  background-color: #341248;
  border: 1px solid #7a2035;
}

.popular-card--cta:hover {
  background-color: #6b1b2e;
}

/* ---------- CTA Button ---------- */
.popular-cta-btn {
  display: inline-block;
  background-color: #f7f1fa;
  color: #341248;
  padding: 12px 28px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.popular-cta-btn:hover {
  background-color: #ffffff;
  color: #341248;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .popular-heading {
    font-size: 1.5rem;
  }
}


/* ===================================================
   GELATIN VS UNFLAVORED SECTION
   Add to assets/style.css or link separately
   =================================================== */

/* ---------- Section Wrapper ---------- */
.vs-section {
  background-color: #341248;
}

/* ---------- Heading ---------- */
.vs-heading {
  font-size: 1.9rem;
  color: #ffffff;
  max-width: 780px;
  margin: 0 auto 12px;
  line-height: 1.35;
}

/* ---------- Card Base ---------- */
.vs-card {
  background-color: #f7f1fa;
  border: 1px solid #f0d8dc;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vs-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

/* ---------- Highlighted Card (Unflavored) ---------- */
.vs-card--highlight {
  background-color: #f7f1fa;
  border: 2px solid #2c7a4b;
}

/* ---------- Badge ---------- */
.vs-card-badge {
  display: inline-block;
  background-color: #f0d0d5;
  color: #341248;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.vs-card-badge--green {
  background-color: #d0f0e0;
  color: #1a5c35;
}

/* ---------- Icon ---------- */
.vs-icon {
  font-size: 2.2rem;
}

/* ---------- Card Title ---------- */
.vs-card-title {
  font-size: 1.3rem;
  color: #341248;
  margin-bottom: 14px;
}

/* ---------- Card Description ---------- */
.vs-card-desc {
  color: #4a1a24;
  line-height: 1.8;
}

/* ---------- Tag ---------- */
.vs-tag {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 8px;
}

.vs-tag--warning {
  background-color: #fdecea;
  color: #a94442;
}

.vs-tag--green {
  background-color: #e0f5ea;
  color: #1a5c35;
}

/* ---------- Verdict Strip ---------- */
.vs-verdict {
  background-color: #5a1626;
  border: 1px solid #7a2035;
}

/* ---------- CTA Button ---------- */
.vs-cta-btn {
  display: inline-block;
  background-color: #f7f1fa;
  color: #341248;
  padding: 14px 34px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.vs-cta-btn:hover {
  background-color: #ffffff;
  color: #341248;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .vs-heading {
    font-size: 1.4rem;
  }

  .vs-card-title {
    font-size: 1.15rem;
  }
}

/* ===================================================
   HOW GELATIN SUPPLEMENTS HELP WITH WEIGHT LOSS
   Add to assets/style.css or link separately
   =================================================== */

/* ---------- Section Wrapper ---------- */
/* ===================================================
   HOW GELATIN SUPPLEMENTS HELP WITH WEIGHT LOSS
   =================================================== */

.supp-section {
  background-color: #ffffff;
}

/* ---------- Heading ---------- */
.supp-heading {
  font-size: 1.9rem;
  color: #341248;
  line-height: 1.35;
  margin-bottom: 20px;
}

/* ---------- Intro Text ---------- */
.supp-intro {
  color: #f13157;
  line-height: 1.8;
  margin-bottom: 0;
}

/* ---------- Card Wrapper ---------- */
.supp-card {
  background-color: #f7f1fa;
  border: 1px solid #f0d8dc;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.supp-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

/* ---------- Card Inner Layout (CSS Grid — no flexbox issues) ---------- */
.supp-card-inner {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
  padding: 20px;
}

/* ---------- Icon Wrap ---------- */
.supp-icon-wrap {
  width: 52px;
  height: 52px;
  background-color: #f0d8dc;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  flex-shrink: 0;
}

/* ---------- Card Body ---------- */
.supp-card-body {
  min-width: 0; /* prevents grid blowout */
}

/* ---------- Card Title ---------- */
.supp-card-title {
  color: #341248;
  margin-bottom: 8px;
  word-break: break-word;
}

/* ---------- Card Description ---------- */
.supp-card-desc {
  color: #4a1a24;
  line-height: 1.75;
  word-break: break-word;
}

/* ---------- Tablet (max 992px) ---------- */
@media (max-width: 992px) {
  .supp-heading {
    font-size: 1.6rem;
    text-align: center;
  }

  .supp-intro {
    text-align: center;
  }
}

/* ---------- Mobile (max 768px) ---------- */
@media (max-width: 768px) {
  .supp-heading {
    font-size: 1.3rem;
    text-align: center;
  }

  .supp-intro {
    font-size: 0.97rem !important;
    text-align: center;
  }

  .supp-card-inner {
    grid-template-columns: 44px 1fr;
    gap: 12px;
    padding: 16px;
  }

  .supp-icon-wrap {
    width: 44px;
    height: 44px;
    font-size: 1.4rem;
    border-radius: 10px;
  }

  .supp-card-title {
    font-size: 0.97rem !important;
  }

  .supp-card-desc {
    font-size: 0.92rem !important;
  }
}

/* ---------- Extra Small (max 420px) ---------- */
@media (max-width: 420px) {
  .supp-heading {
    font-size: 1.15rem;
  }

  .supp-card-inner {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
  }

  .supp-icon-wrap {
    width: 42px;
    height: 42px;
    font-size: 1.3rem;
  }
}


/* ===================================================
   HEALTH BENEFITS SECTION — The Gelatin Trick
   Add to assets/style.css or link separately
   =================================================== */

/* ---------- Section Wrapper ---------- */
.hb-section {
  background-color: #341248;
}

/* ---------- Heading ---------- */
.hb-heading {
  font-size: 2rem;
  color: #ffffff;
  margin-bottom: 12px;
}

/* ---------- Intro ---------- */
.hb-intro {
  color: #f0c8d0;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.8;
}

/* ---------- Card ---------- */
.hb-card {
  background-color: #f7f1fa;
  border: 1px solid #f0d8dc;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  overflow: hidden;
}

.hb-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

/* ---------- Step Number ---------- */
.hb-number {
  font-size: 2.5rem;
  color: #f0d0d5;
  line-height: 1;
  font-family: 'Inter', sans-serif;
}

/* ---------- Icon ---------- */
.hb-icon {
  font-size: 2rem;
  line-height: 1;
}

/* ---------- Card Title ---------- */
.hb-card-title {
  color: #341248;
  margin-bottom: 10px;
}

/* ---------- Card Description ---------- */
.hb-card-desc {
  color: #4a1a24;
  line-height: 1.8;
}

/* ---------- CTA Strip ---------- */
.hb-cta-strip {
  background-color: #5a1626;
  border: 1px solid #7a2035;
}

/* ---------- CTA Button ---------- */
.hb-cta-btn {
  display: inline-block;
  background-color: #f7f1fa;
  color: #341248;
  padding: 14px 36px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.hb-cta-btn:hover {
  background-color: #ffffff;
  color: #341248;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .hb-heading {
    font-size: 1.5rem;
  }

  .hb-number {
    font-size: 2rem;
  }
}

/* ===================================================
   WHY GELATIN TRICK IS POPULAR WELLNESS SECTION
   =================================================== */

/* ---------- Section Wrapper ---------- */
.pw-section {
  background-color: #341248;
}

/* ---------- Heading ---------- */
.pw-heading {
  font-size: 2rem;
  color: #ffffff;
  line-height: 1.35;
  max-width: 700px;
  margin: 0 auto 16px;
}

/* ---------- Intro ---------- */
.pw-intro {
  color: #f0c8d0;
  max-width: 960px;
  margin: 0 auto;
  line-height: 1.8;
}

/* ---------- Card ---------- */
.pw-card {
  background-color: #f7f1fa;
  border: 1px solid #f0d8dc;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pw-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}

/* ---------- Icon ---------- */
.pw-card-icon {
  font-size: 2rem;
  line-height: 1;
}

/* ---------- Card Title ---------- */
.pw-card-title {
  color: #341248;
  margin-bottom: 10px;
  word-break: break-word;
}

/* ---------- Card Description ---------- */
.pw-card-desc {
  color: #4a1a24;
  line-height: 1.8;
  word-break: break-word;
}

/* ---------- Tablet (max 992px) ---------- */
@media (max-width: 992px) {
  .pw-heading {
    font-size: 1.65rem;
  }

  .pw-intro {
    font-size: 1rem !important;
  }
}

/* ---------- Mobile (max 768px) ---------- */
@media (max-width: 768px) {
  .pw-heading {
    font-size: 1.35rem;
  }

  .pw-intro {
    font-size: 0.95rem !important;
  }

  .pw-card {
    padding: 16px !important;
  }

  .pw-card-icon {
    font-size: 1.6rem;
  }

  .pw-card-title {
    font-size: 0.97rem !important;
  }

  .pw-card-desc {
    font-size: 0.92rem !important;
  }
}

/* ---------- Extra Small (max 420px) ---------- */
@media (max-width: 420px) {
  .pw-heading {
    font-size: 1.2rem;
  }

  .pw-card {
    padding: 14px !important;
  }
}