/* =========================== swiper  ======================== */
/* =========================================================== */
/* =========================================================== */

/* ======= Hero / Swiper ======= */
.hero-wrap{margin: 24px 0 0px;}
.hero-swiper{
  --hero-h: clamp(220px, 31vw, 405px);
  border-radius: 10px;
  overflow: hidden;
  
}
.hero-swiper .swiper{
  width: 100%;
  height: var(--hero-h);
}
.hero-swiper .swiper-slide{
  height: var(--hero-h);
  display: flex;
  justify-content: center;
}
.hero-swiper .slide-media{
  width:100%;
  height:100%;
  object-fit: contain;        
  display:block;
}

/* Bullets */
.hero-swiper .swiper-pagination{
  position: static;
  margin: 40px 0px 9px;
  text-align: center;
}
.hero-swiper .swiper-pagination-bullet{
  width: 8px; height: 8px;
  background: #c9d2de; opacity: 1; margin: 0 6px;
}
.hero-swiper .swiper-pagination-bullet-active{
  background: var(--brand-navy);
  transform: scale(1.15);
}

/* Arrows (desktop) */
.hero-swiper .swiper-button-prev,
.hero-swiper .swiper-button-next{
  width: 44px; height: 44px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--brand-navy);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}
.hero-swiper .swiper-button-prev:after,
.hero-swiper .swiper-button-next:after{ font-size: 18px; }
.hero-swiper .swiper-button-prev{left: 12px;display: none;}
.hero-swiper .swiper-button-next{right: 12px;display: none;}

@media (max-width: 768px){
  .hero-swiper .swiper-button-prev,
  .hero-swiper .swiper-button-next{ display:none; }
}


/* =========================== Best Sellers  ======================== */
/* =========================================================== */
/* =========================================================== */
.best-sellers{ padding: 28px 0 42px; background:#fff; }
.best-sellers .section-title{
  text-align:center;
  color:var(--brand-navy);
  font-weight:900;
  letter-spacing:.02em;
  font-size: clamp(22px, 3vw, 35px);
  padding-top: 50px;
  margin: 0 0 50px;
  border-top: 1px solid #d9d9d9;
}

.products-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:24px;
  grid-template-columns: repeat(3, 1fr);
}

 
.product-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease;
  max-height: 540px;                  
}
.product-link{
  text-decoration:none; color:inherit;
  display:flex;                       
  flex-direction:column;
  height:100%;
}
.product-media{
  margin:0;
  width:100%;
  overflow:hidden;
  /* background:#f7f9fc; */
  flex: 1 1 auto;                      
  min-height:0;
}
.product-media img{
  width:100%;
  height:100%;
  object-fit: cover;                 
  transform: scale(1);
  transition: transform .3s ease;
}
.product-title{
  margin:0;
  padding:18px 14px 22px;
  text-align:center;
  color:var(--brand-navy);
  font-weight:800;
  text-transform:uppercase;
  line-height:1.25;
  height: 100px;
  background: #f6f6f6;
  align-content: center;
  letter-spacing:.02em;
  font-size: clamp(14px, 1.6vw, 22px);
  flex: 0 0 auto;
}
.product-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.product-card:hover .product-media img{ transform: scale(1.03); }

/* Tablet */
@media (max-width: 1024px){
  .products-grid{ grid-template-columns: 1fr; gap:18px; }
}

/* Mobile */
@media (max-width: 640px){
  .products-grid{ grid-template-columns: 1fr; }
  .product-title{ padding:16px 12px 20px; }
}

/* =========================== Health Goals  ======================== */
/* =========================================================== */
/* =========================================================== */

.health-goals{ padding:32px 0 48px; background:#fff; }
.health-goals .section-title{
  text-align:center;
  color:var(--brand-navy);
  font-weight:900;
  letter-spacing:.02em;
  font-size: clamp(22px,3vw,35px);
  margin: 0 0 50px;
}

.goals-grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:24px;
  grid-template-columns: repeat(6, 1fr);
}

.goal-card{
  border:1px solid var(--border);
  border-radius:8px; overflow:hidden; background:#fff;
  transition: box-shadow .18s ease, transform .18s ease;
}
.goal-card a{
  display:flex; flex-direction:column; height:100%;
  text-decoration:none; color:var(--brand-navy);
}
.goal-media{
  flex:1 1 auto; min-height:0;
  display:flex; align-items:center; justify-content:center;
  padding:36px 16px; background:#fff;
}
.goal-media img{
  width: clamp(72px, 10vw, 140px);
  height: auto; display:block;
}

.goal-label{
  border-top:1px solid var(--border);
  background:#fff; color:var(--brand-navy);
  padding:16px 10px; text-align:center;
  font-weight:800; text-transform:uppercase; letter-spacing:.02em; line-height:1.15;
  display:flex; align-items:center; justify-content:center; min-height:64px;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.goal-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08); }
.goal-card:hover .goal-label,
.goal-card:focus-within .goal-label{
  background:var(--brand-navy); color:#fff; border-top-color:transparent;
}

/* Tablet */
@media (max-width:1024px){
  .goals-grid{ grid-template-columns: repeat(3, 1fr); gap:18px; }
}

/* Mobile */
@media (max-width:640px){
  .goals-grid{ grid-template-columns: repeat(2, 1fr); }
  .goal-media{ padding:28px 12px; }
  .goal-label{ min-height:56px; padding:14px 8px; }
}

/* =========================== Shop By Products  ======================== */
/* =========================================================== */
/* =========================================================== */

 
.shop-products{
  text-transform: uppercase;
  font-family:'Montserrat';
  color: var(--brand-navy);
}
.shop-products .section-head.center{
  text-align:center;
  margin-bottom: 52px;
}
h2#shop-products-title {
    text-align: center;
    color:var(--brand-navy);
    font-weight:900;
    letter-spacing:.02em;
    font-size: clamp(22px,3vw,35px);
    margin: 0 0 50px;
}

h2{
    text-align: center;
    color:var(--brand-navy);
    font-weight:900;
    letter-spacing:.02em;
    font-size: clamp(22px,3vw,35px);
    margin: 0 0 50px;
    text-transform: uppercase;
    }
 
.sp-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
@media (max-width: 1024px){ .sp-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .sp-grid{ grid-template-columns: 1fr; } }

 
.sp-card{
  display:flex; flex-direction:column;
  border:1px solid var(--border);
  border-radius:8px;
  text-decoration:none;
  background:#fff;
  transition: box-shadow .15s ease, transform .08s ease;
}
.sp-card:focus-visible{
  outline:2px solid var(--brand-orange);
  outline-offset:2px;
  border-radius:10px;
}
.sp-card:hover{ box-shadow:0 6px 18px rgba(18,53,89,.08); transform: translateY(-1px); }

 
.sp-media{
  aspect-ratio: 16 / 11;
  display:flex; align-items:center; justify-content:center;
  padding: 18px 12px;
}
.sp-media img{
  max-width: 78%;
  max-height: 78%;
  width:auto; height:auto; object-fit:contain; display:block;
}

 
.sp-caption{
  border-top:1px solid var(--border);
  padding: 16px 14px;
  display:flex; align-items:center; justify-content:center;
  min-height: 64px;
  background:#fff;
  transition: background-color .15s ease, color .15s ease;
}
.sp-title{
  font-weight:900; letter-spacing:.01em; line-height:1.15;
  text-align:center; color:var(--brand-navy);
  text-transform: uppercase; font-size:1.05rem;
  word-break: break-word;
}

/* azul somente no hover */
.sp-card:hover .sp-caption{
  background: var(--brand-navy);
}
.sp-card:hover .sp-title{
  color:#fff;
}

/* =========================== Banner Home  ======================== */
/* =========================================================== */
/* =========================================================== */

.signature-pak-banner{
  font-family:'Montserrat';
}
.sigpak-link{
  display:block;
  border-radius:12px;
  overflow:hidden;
   
  transition: box-shadow .18s ease, transform .08s ease;
  text-decoration:none;
}
.sigpak-link:focus-visible{
  outline:2px solid var(--brand-orange);
  outline-offset:3px;
  border-radius:14px;
}
.sigpak-link:hover{
  /* box-shadow:0 10px 24px rgba(18,53,89,.10);
  transform: translateY(-1px); */
}

 
.sigpak-media{
  margin:0;
  display:block;
  aspect-ratio: 16 / 6;
  background: #FFF;
}
.sigpak-media img{
  width:100%;
  height:100%;
  object-fit: contain;
  display:block;
}

 
@media (max-width: 640px){
  .sigpak-media{ aspect-ratio: 16 / 9; }
}

/* =========================== shop with us   ======================== */
/* =========================================================== */
/* =========================================================== */
/* ===== Headline + CTA ===== */
.value-prop{
  
  color: var(--brand-navy);
}
.vp-wrap{text-align:center;padding: 0px 20px 33px;}
.vp-title{border-top: 1px solid #d9d9d9;font-weight: 900;padding-top:40px;font-size: clamp(28px, 4.2vw, 56px);line-height: 1.08;letter-spacing: .01em;text-transform: uppercase;margin: 0px 0 14px;}
.vp-sub{
  font-weight: 600;
  font-size: clamp(16px, 1.6vw, 22px);
  line-height: 1.4;
  margin: 0 0 26px;
  color: var(--brand-navy);
  opacity: .95;
}

.reviews-box {
    padding: 50px 80px 0px;
}
 @media (max-width: 780px){  .reviews-box {
    padding: 50px 00px 0px;
}}


