/* ============================================================
   PRODUCT PAGE STYLES — extends style.css (shared tokens/header/footer)
   ============================================================ */

.pp-main{background:var(--cream);}

/* ---------- breadcrumb ---------- */
.pp-crumb{padding:22px 0 0;font-size:13px;color:var(--ink-soft);}
.pp-crumb a{color:var(--forest-3);font-weight:600;}
.pp-crumb a:hover{text-decoration:underline;}

/* ---------- hero ---------- */
.pp-hero{padding:24px 0 60px;}
.pp-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:flex-start;}
@media(max-width:900px){.pp-hero .wrap{grid-template-columns:1fr;gap:36px;}}

.pp-media{
  background:linear-gradient(160deg,#1f4a2b,#0e2314);
  border-radius:var(--radius);
  min-height:460px;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  padding:30px;
}
.pp-media svg.pjar{width:220px;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.4));}
@media(min-width:600px){.pp-media svg.pjar{width:280px;}}
@media(max-width:480px){
  .pp-media{min-height:320px;padding:20px;}
  .pp-media svg.pjar{width:170px;}
}

.pp-info{padding-top:6px;}
.pp-code-badge{
  display:inline-block;border:1px solid var(--line);border-radius:99px;
  padding:5px 14px;font-size:12px;font-weight:700;color:var(--forest-3);margin-bottom:14px;
}
.pp-badge-new{
  display:inline-block;background:var(--gold);color:var(--forest);
  font-size:11px;font-weight:700;padding:4px 12px;border-radius:99px;margin-left:8px;letter-spacing:.03em;
}
.pp-info h1{font-size:clamp(30px,3.6vw,44px);line-height:1.05;margin-bottom:10px;color:var(--ink);}
.pp-rating{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:14px;}
.pp-stars{color:var(--gold);letter-spacing:1px;}
.pp-rating a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;}
.pp-tagline{color:var(--ink-soft);font-size:16px;line-height:1.6;margin-bottom:24px;max-width:460px;}

.pp-promo-chip{
  display:inline-block;background:rgba(211,165,55,.18);color:var(--forest-3);
  font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:99px;margin-bottom:14px;
}
.pp-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:6px;}
.pp-price{font-family:'Fraunces',serif;font-size:32px;color:var(--ink);}
.pp-price-orig{font-size:17px;color:var(--ink-soft);text-decoration:line-through;}
.pp-price-sub{font-size:13.5px;color:var(--ink-soft);margin-bottom:26px;}

.pp-cta-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:16px 24px;border-radius:99px;background:var(--forest);color:var(--cream);
  font-size:15.5px;font-weight:700;transition:transform .3s var(--ease),box-shadow .3s;margin-bottom:14px;
}
.pp-cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(23,54,32,.28);}
.pp-guarantee{text-align:center;font-size:12.5px;color:var(--ink-soft);margin-bottom:26px;}

.pp-accordion{border-top:1px solid var(--line);}
.pp-acc-item{border-bottom:1px solid var(--line);}
.pp-acc-head{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:18px 2px;font-size:15px;font-weight:600;color:var(--ink);text-align:left;
}
.pp-acc-icon{font-size:18px;color:var(--forest-3);transition:transform .25s var(--ease);flex:none;}
.pp-acc-item.open .pp-acc-icon{transform:rotate(45deg);}
.pp-acc-body{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);}
.pp-acc-item.open .pp-acc-body{max-height:600px;}
.pp-acc-body-inner{padding:0 2px 18px;}
.pp-benefit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.pp-benefit-list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink-soft);line-height:1.5;}
.pp-benefit-list li .em{flex:none;}
.pp-ing-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink-soft);}
.pp-ing-row:last-child{border-bottom:none;}
.pp-ing-row strong{color:var(--ink);font-weight:600;}

/* upsell card inline in hero column */
.pp-upsell{
  display:flex;align-items:center;gap:14px;background:var(--cream-2);
  border-radius:16px;padding:14px;margin-top:22px;
}
.pp-upsell svg.pjar{width:44px;height:auto;flex:none;}
.pp-upsell .txt{flex:1;}
.pp-upsell .txt strong{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px;}
.pp-upsell .txt span{font-size:12px;color:var(--ink-soft);}
.pp-upsell a{
  font-size:12.5px;font-weight:700;color:var(--forest-3);border:1px solid var(--forest-3);
  padding:7px 14px;border-radius:99px;white-space:nowrap;
}
.pp-upsell a:hover{background:var(--forest-3);color:var(--cream);}

/* ---------- badges grid ---------- */
.pp-badges{background:var(--cream-2);}
.pp-badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:700px){.pp-badges-grid{grid-template-columns:repeat(2,1fr);}}
.pp-badge-card{
  background:var(--cream);border:1px solid var(--line);border-radius:16px;
  padding:20px 16px;text-align:center;
}
.pp-badge-card .icon{font-size:24px;margin-bottom:10px;}
.pp-badge-card span{font-size:13px;font-weight:600;color:var(--ink);}

/* ---------- comparison ---------- */
.pp-compare{background:var(--forest);color:var(--cream);}
.pp-compare .wrap{display:grid;grid-template-columns:.9fr 1.4fr;gap:50px;align-items:center;}
@media(max-width:900px){.pp-compare .wrap{grid-template-columns:1fr;gap:30px;}}
.pp-compare h2{color:var(--cream);font-size:clamp(28px,3.6vw,42px);line-height:1.1;}
.pp-compare-card{background:rgba(246,241,228,.06);border:1px solid var(--line-lt);border-radius:var(--radius);overflow:hidden;}
.pp-compare-head{display:grid;grid-template-columns:1.4fr .5fr .5fr;padding:18px 24px;border-bottom:1px solid var(--line-lt);font-size:12.5px;color:rgba(246,241,228,.5);text-transform:uppercase;letter-spacing:.06em;font-weight:700;}
.pp-compare-head span:nth-child(2){text-align:center;color:var(--gold-2);}
.pp-compare-head span:nth-child(3){text-align:center;}
.pp-compare-row{display:grid;grid-template-columns:1.4fr .5fr .5fr;padding:16px 24px;border-bottom:1px solid var(--line-lt);align-items:center;font-size:14px;}
.pp-compare-row:last-child{border-bottom:none;}
@media(max-width:480px){
  .pp-compare-head,.pp-compare-row{padding:14px 14px;font-size:12.5px;gap:6px;}
  .pp-compare-row{font-size:12.5px;}
}
.pp-compare-row .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);margin:0 auto;}
.pp-compare-row .cross{color:rgba(246,241,228,.4);text-align:center;font-size:13px;}

/* ---------- FAQ ---------- */
.pp-faq-grid{max-width:760px;}
.pp-faq-item{border-bottom:1px solid var(--line);}
.pp-faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:22px 2px;font-family:'Fraunces',serif;font-size:18px;color:var(--ink);text-align:left;
}
.pp-faq-icon{font-size:20px;color:var(--forest-3);transition:transform .25s var(--ease);}
.pp-faq-item.open .pp-faq-icon{transform:rotate(45deg);}
.pp-faq-a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);}
.pp-faq-item.open .pp-faq-a{max-height:400px;}
.pp-faq-a p{padding:0 2px 22px;color:var(--ink-soft);font-size:15px;line-height:1.6;max-width:640px;}

/* ---------- reviews ---------- */
.pp-reviews-head{display:flex;gap:60px;align-items:center;flex-wrap:wrap;margin-bottom:40px;}
.pp-reviews-score{text-align:center;}
.pp-reviews-score .num{font-family:'Fraunces',serif;font-size:52px;color:var(--ink);line-height:1;}
.pp-reviews-score .pp-stars{font-size:18px;}
.pp-reviews-score .sub{font-size:13px;color:var(--ink-soft);margin-top:6px;}
.pp-review-card{border-top:1px solid var(--line);padding:22px 0;}
.pp-review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px;}
.pp-review-name{font-weight:700;color:var(--ink);font-size:14.5px;}
.pp-review-date{font-size:12.5px;color:var(--ink-soft);}
.pp-review-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;max-width:640px;}

/* ---------- sticky floating widget ---------- */
.pp-sticky{
  position:fixed;right:20px;bottom:20px;z-index:400;
  display:flex;align-items:center;gap:12px;
  background:var(--forest);color:var(--cream);
  border-radius:99px;padding:8px 10px 8px 8px;
  box-shadow:0 16px 34px rgba(0,0,0,.3);
  transform:translateY(140%);transition:transform .4s var(--ease);
}
.pp-sticky.show{transform:translateY(0);}
.pp-sticky .thumb{width:36px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(246,241,228,.08);border-radius:10px;}
.pp-sticky .thumb svg.pjar{width:26px;height:auto;}
.pp-sticky .name{font-size:13px;font-weight:700;white-space:nowrap;}
.pp-sticky button{
  background:var(--gold);color:var(--forest);font-size:12.5px;font-weight:700;
  padding:9px 16px;border-radius:99px;white-space:nowrap;
}
@media(max-width:520px){.pp-sticky .name{display:none;}}

/* ---------- cart drawer ---------- */
.pp-cart-overlay{
  position:fixed;inset:0;z-index:900;background:rgba(15,25,17,.45);
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility 0s linear .3s;
}
.pp-cart-overlay.open{opacity:1;visibility:visible;transition:opacity .3s var(--ease);}
.pp-cart{
  position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;z-index:901;
  background:var(--cream);box-shadow:-20px 0 50px rgba(0,0,0,.25);
  transform:translateX(100%);transition:transform .4s var(--ease);
  display:flex;flex-direction:column;
}
.pp-cart.open{transform:translateX(0);}
.pp-cart-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line);}
.pp-cart-head h3{font-size:22px;}
.pp-cart-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);opacity:.7;}
.pp-cart-close:hover{opacity:1;background:rgba(23,54,32,.06);}
.pp-cart-body{flex:1;overflow-y:auto;padding:20px 24px;}
.pp-cart-banner{
  border:1px dashed var(--line);border-radius:12px;padding:10px 14px;text-align:center;
  font-size:12.5px;font-weight:700;color:var(--forest-3);margin-bottom:20px;
}
.pp-cart-item{display:flex;gap:14px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);}
.pp-cart-item .thumb{width:64px;height:78px;flex:none;background:var(--forest-2);border-radius:12px;display:flex;align-items:center;justify-content:center;}
.pp-cart-item .thumb svg.pjar{width:48px;height:auto;}
.pp-cart-item .info{flex:1;}
.pp-cart-item .info strong{display:block;font-size:14.5px;margin-bottom:2px;}
.pp-cart-item .info .sub{font-size:12px;color:var(--ink-soft);margin-bottom:6px;}
.pp-cart-item .info .save{font-size:12px;color:var(--forest-3);font-weight:700;}
.pp-cart-item .price-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}
.pp-cart-item .price{font-size:14px;font-weight:700;}
.pp-cart-item .price .orig{font-weight:400;color:var(--ink-soft);text-decoration:line-through;margin-left:6px;font-size:12.5px;}
.pp-qty{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:99px;padding:4px 10px;}
.pp-qty button{width:20px;height:20px;font-size:14px;color:var(--ink);}
.pp-bundle-title{font-size:12.5px;font-weight:700;color:var(--forest-3);margin:4px 0 12px;}
.pp-bundle-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:16px;}
.pp-bundle-card .thumb{width:44px;height:54px;flex:none;background:var(--forest-2);border-radius:10px;display:flex;align-items:center;justify-content:center;}
.pp-bundle-card .thumb svg.pjar{width:32px;height:auto;}
.pp-bundle-card .info{flex:1;font-size:13px;}
.pp-bundle-card .info strong{display:block;margin-bottom:2px;}
.pp-bundle-card .info .price{font-size:12.5px;color:var(--ink-soft);}
.pp-bundle-card button{
  font-size:12px;font-weight:700;color:var(--forest-3);border:1px solid var(--forest-3);
  padding:6px 14px;border-radius:99px;flex:none;
}
.pp-bundle-card button.added{background:var(--forest-3);color:var(--cream);}
.pp-cart-foot{border-top:1px solid var(--line);padding:18px 24px 24px;}
.pp-cart-total-row{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-soft);margin-bottom:6px;}
.pp-cart-total-row.grand{font-size:18px;color:var(--ink);font-weight:700;margin-bottom:4px;}
.pp-cart-sub{font-size:12px;color:var(--ink-soft);margin-bottom:18px;}
.pp-cart-checkout{
  display:block;width:100%;text-align:center;padding:16px;border-radius:99px;
  background:var(--forest);color:var(--cream);font-weight:700;font-size:15px;
}
.pp-cart-checkout:hover{background:var(--forest-2);}
body.pp-cart-lock{overflow:hidden;}
@media(max-width:380px){
  .pp-cart-head,.pp-cart-body,.pp-cart-foot{padding-left:16px;padding-right:16px;}
}
