@charset "utf-8";

/* Peptivo category landers: a small extension of the NAD+ program system. */
.pl-category .pl-hero-card span{max-width:18ch}
.pl-category .pl-price-cue b{font-size:22px}
.pl-category .pl-plan-price b{font-size:31px}
.pl-category .pl-plan-price{align-items:center}
.pl-category .pl-plan-price span{max-width:30ch;line-height:1.35}
.pl-category .pl-hero-figure img{object-position:center 34%}
.pl-category.pl-skin .pl-hero-figure img{object-position:center 40%}
.pl-category.pl-skin .cp-formats{
  background:linear-gradient(180deg,#f8eeee 0%,#fffaf3 100%);
}

.cp-formats{
  background:linear-gradient(180deg,#eef8ff 0%,#fffaf3 100%);
  overflow:hidden;
}
.cp-formats-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
}
.cp-formats-head .pl-sec-head{margin:0}
.cp-controls{display:flex;align-items:center;gap:9px}
.cp-arrow{
  width:44px;height:44px;border:1px solid rgba(14,43,64,.14);border-radius:50%;
  background:rgba(255,255,255,.84);color:var(--navy);cursor:pointer;
  display:grid;place-items:center;transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
.cp-arrow:hover{background:#fff;border-color:rgba(14,43,64,.28);transform:translateY(-1px)}
.cp-arrow:focus-visible{outline:3px solid var(--aqua);outline-offset:2px}
.cp-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.cp-count{
  min-width:50px;text-align:center;font-family:var(--head);font-weight:700;
  font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums;
}
.cp-rail{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;
}
.cp-card{
  min-width:0;background:rgba(255,255,255,.9);border:1px solid rgba(14,43,64,.1);
  border-radius:24px;overflow:hidden;box-shadow:0 28px 70px -52px rgba(14,43,64,.75);
}
.cp-card-media{
  position:relative;aspect-ratio:4/3;background:linear-gradient(145deg,#f7fbfd,#e8f3f8);
  display:grid;place-items:center;overflow:hidden;
}
.cp-card-media img{width:100%;height:100%;object-fit:cover}
.cp-card-media.is-product img{object-fit:contain;padding:5px}
.cp-badge{
  position:absolute;left:12px;top:12px;padding:6px 9px;border-radius:999px;
  background:rgba(7,29,44,.86);color:#fff;font-size:10.5px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px);
}
.cp-card-body{padding:18px 17px 20px}
.cp-card-kicker{
  color:var(--aqua);font-size:10.5px;font-family:var(--head);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
}
.cp-card h3{font-size:20px;margin-top:6px}
.cp-card p{font-size:13.5px;line-height:1.5;color:var(--ink-2);margin-top:8px}
.cp-card-note{display:block;font-size:11.5px;color:var(--muted);margin-top:12px}
.cp-disclaimer{
  margin-top:18px;font-size:12px;line-height:1.55;color:var(--ink-2);
  max-width:82ch;
}

.cp-choice{
  display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:8px 11px;
  border-radius:999px;background:var(--aqua-soft);color:var(--navy);
  font-size:11.5px;font-weight:700;
}
.cp-choice i{width:6px;height:6px;border-radius:50%;background:var(--aqua)}

@media(max-width:719px){
  .pl-category .pl-hero-figure img{object-position:center 30%}
  .pl-category.pl-hair .pl-hero-figure img{object-position:center 29%}
  .pl-category.pl-skin .pl-hero-figure img{object-position:center 36%}
  .pl-category .pl-price-cue b{font-size:20px}
  .cp-formats-head{align-items:center;margin-bottom:20px}
  .cp-formats-head .pl-sec-head{max-width:235px}
  .cp-formats-head .pl-sec-head h2{font-size:27px}
  .cp-controls{gap:6px}
  .cp-arrow{width:40px;height:40px}
  .cp-count{display:none}
  .cp-rail{
    display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;scrollbar-width:none;
    margin:0 -20px;padding:0 20px 8px;scroll-padding-inline:20px;
  }
  .cp-rail::-webkit-scrollbar{display:none}
  .cp-card{flex:0 0:min(84vw,330px);scroll-snap-align:start}
  .cp-card-media{aspect-ratio:1.13/1}
  .cp-card-body{padding:17px 16px 19px}
  .pl-category .pl-sticky{
    left:auto;
    right:14px;
    bottom:calc(14px + env(safe-area-inset-bottom));
    width:auto;
    padding:0;
    border:0;
    border-radius:999px;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .pl-category .pl-sticky-info{display:none}
  .pl-category .pl-sticky .pl-cta{
    min-height:52px;
    padding:0 21px;
    box-shadow:0 14px 34px rgba(6,60,32,.28);
  }
}

@media(min-width:720px) and (max-width:1039px){
  .cp-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:720px){
  .cp-controls{display:none}
}

@media(prefers-reduced-motion:no-preference){
  .pl-category .pl-cta{
    animation:cp-breathe 3.2s ease-in-out infinite;
  }
  @keyframes cp-breathe{
    0%,100%{box-shadow:0 12px 28px -16px rgba(6,60,32,.65),inset 0 1px 0 rgba(255,255,255,.22)}
    50%{box-shadow:0 14px 34px -12px rgba(6,60,32,.84),0 0 0 5px rgba(18,177,92,.09),inset 0 1px 0 rgba(255,255,255,.22)}
  }
}
