/* ── MOBILE HERO FIX ── */
@media (max-width: 768px) {
  .pp-hero { display: flex; flex-direction: column; }
  .pp-hero__media { max-height: 52vw; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #f5f0eb; }
  .pp-hero__vial { max-width: 60%; max-height: 52vw; width: auto; height: auto; object-fit: contain; }
}

/* ── WHAT IS SECTION ── */
.pp-what-is { background: #fff; padding: 56px 24px; }
.pp-what-is__inner { max-width: 720px; margin: 0 auto; }
.pp-what-is__title { font-size: clamp(1.3rem, 3vw, 1.75rem); font-weight: 700; color: #2d163c; margin: 0 0 18px; line-height: 1.15; }
.pp-what-is__body { font-size: .95rem; color: #6b5b7b; line-height: 1.85; margin: 0; }

/* ── EDITORIAL REVERSE ── */
.editorial--reverse { flex-direction: row-reverse; }
@media (max-width: 768px) {
  .editorial--reverse { flex-direction: column; }
}

/* ── BULK SAVINGS SELECTOR ── */
.pp-bulk { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 16px 0; }
.pp-bulk__opt {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 12px 8px; border: 1.5px solid #e8e2da; border-radius: 10px;
  background: #fff; cursor: pointer; font-family: inherit; transition: all .18s; gap: 3px;
}
.pp-bulk__opt:hover { border-color: #2d163c; }
.pp-bulk__opt.is-active { border-color: #2d163c; background: #2d163c; }
.pp-bulk__qty { font-size: .75rem; font-weight: 700; letter-spacing: .06em; color: #2d163c; }
.pp-bulk__save { font-size: .65rem; color: #6b5b7b; }
.pp-bulk__opt.is-active .pp-bulk__qty,
.pp-bulk__opt.is-active .pp-bulk__save { color: #faf7f2; }

/* ── TRUST BADGES ── */
.pp-badges {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
  margin: 20px 0; padding: 20px; background: #f5f0eb; border-radius: 14px;
}
.pp-badge { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.pp-badge svg { width: 22px; height: 22px; color: #2d163c; }
.pp-badge span { font-size: .62rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #2d163c; line-height: 1.3; }

/* ── STANDALONE FAQ SECTION ── */
.pp-faq-section { background: #faf7f2; padding: 64px 24px; }
.pp-faq-section__inner { max-width: 720px; margin: 0 auto; }
.pp-faq-section__head { margin-bottom: 40px; }
.pp-faq-section__eyebrow { font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #6b5b7b; }
.pp-faq-section__title { font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 700; color: #2d163c; margin: 8px 0 0; line-height: 1.1; }
.pp-faq-item { border-bottom: 1px solid #e8e2da; }
.pp-faq-item__q {
  width: 100%; display: flex; align-items: center; gap: 16px;
  padding: 20px 0; background: none; border: none; cursor: pointer;
  font-family: inherit; text-align: left;
}
.pp-faq-item__num {
  flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%;
  border: 1.5px solid #e8e2da; display: flex; align-items: center; justify-content: center;
  font-size: .65rem; font-weight: 700; color: #6b5b7b; letter-spacing: .04em;
}
.pp-faq-item.is-open .pp-faq-item__num { background: #2d163c; border-color: #2d163c; color: #faf7f2; }
.pp-faq-item__text { flex: 1; font-size: .92rem; font-weight: 600; color: #2d163c; line-height: 1.4; }
.pp-faq-item__icon { font-size: 1.2rem; color: #6b5b7b; flex-shrink: 0; }
.pp-faq-item__a { max-height: 0; overflow: hidden; transition: max-height .3s ease; padding: 0 0 0 48px; }
.pp-faq-item__a p { font-size: .88rem; color: #6b5b7b; line-height: 1.7; padding-bottom: 20px; margin: 0; }
.pp-faq-item.is-open .pp-faq-item__a { max-height: 500px; }

/* ── DISCLAIMER CALLOUT ── */
.pp-disclaimer-section { background: #2d163c; padding: 40px 24px; }
.pp-disclaimer-section__inner { max-width: 720px; margin: 0 auto; display: flex; gap: 20px; align-items: flex-start; }
.pp-disclaimer-section__icon { width: 24px; height: 24px; flex-shrink: 0; color: rgba(250,247,242,.4); margin-top: 2px; }
.pp-disclaimer-section__title { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #faf7f2; margin: 0 0 8px; }
.pp-disclaimer-section__text { font-size: .78rem; color: rgba(250,247,242,.6); line-height: 1.7; margin: 0; }
.pp-disclaimer-section__text a { color: rgba(250,247,242,.8); text-decoration: underline; }

/* ── MOBILE RESPONSIVE ── */
@media (max-width: 600px) {
  .pp-badges { gap: 8px; padding: 16px; }
  .pp-badge span { font-size: .58rem; }
  .pp-bulk { gap: 6px; }
  .pp-bulk__opt { padding: 10px 6px; }
  .pp-what-is { padding: 40px 20px; }
  .pp-faq-section { padding: 48px 20px; }
}
