:root{ --pp-col: 700px; --pp-gold:#a8977b; --pp-sand:#7f715c; --pp-anth:#3f4245; --pp-card:#ffffff; --pp-soft:#f6f2ec; }
.pp-shell{ all: initial; font-family: "Open Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color: var(--pp-anth); display:block; width:100%; }
.pp-shell *{ all: unset; display: revert; box-sizing: border-box; font-family: inherit; color: inherit; }
.pp-shell .pp-card{ width:100%; max-width: var(--pp-col); margin: 0 auto; background: linear-gradient(180deg,#fcfaf8 0%, #ffffff 18%); border:1px solid #efe9df; border-radius: 18px; box-shadow: 0 8px 32px rgba(0,0,0,.04); padding: 8px 10px 16px; }
.pp-shell .pp-head{ padding: 8px 10px 4px; position:relative; border-bottom: 1px solid #efe9df; }
.pp-shell .pp-head .pp-brand{ font-weight: 600; color: #4a3c2b; padding: 6px 2px; }
.pp-shell .pp-head:after{ content:''; display:block; width:72px; height:3px; border-radius:2px; background:#bba889; margin:6px 0 0 0; opacity:.9; }
.pp-shell .pp-progress{ padding: 4px 0 6px 0; }
.pp-shell .pp-progress .bar{ height:6px; width:5%; background: var(--pp-gold); border-radius:8px; transition: width .25s ease; }
.pp-shell .pp-progress .label{ font-size:.9rem; color: var(--pp-sand); text-align: right; padding: 6px 2px 0 0; }

.pp-shell #pp-health-chat{ margin: 10px auto 0; width:100%; }
.pp-shell #pp-health-chat > *{ width:100%; }

.pp-shell .msg{ background: var(--pp-soft); border:1px solid #efe9df; color: var(--pp-anth); padding: .75rem 1rem; margin: .5rem 0; border-radius: 16px; line-height: 1.5; width:100%; }
.pp-shell .controls{ padding-top: .5rem; min-height: 64px; width:100%; }

.pp-shell .btn-grid{ display:flex; flex-wrap:wrap; gap:.5rem; }
.pp-shell .pp-btn{ background:#fff; color: var(--pp-anth); border:1px solid #dcd6cc; padding:.6rem .95rem; border-radius:999px; cursor:pointer; transition:.15s; }
.pp-shell .pp-btn:hover{ box-shadow:0 4px 14px rgba(0,0,0,.06); transform:translateY(-1px); }
.pp-shell .pp-btn.active, .pp-shell .opt-goal.active, .pp-shell .btn-grid .pp-btn.opt-toggle.active{ background: var(--pp-gold); color:#fff; border-color: var(--pp-gold); box-shadow: 0 6px 18px rgba(168,151,123,.35); }
.pp-shell .pp-btn-sec{ background:#fff; color: var(--pp-anth); border:1px solid #dcd6cc; padding:.6rem .95rem; border-radius:12px; }
.pp-shell .pp-btn-sec:disabled{ opacity:.6; cursor:not-allowed; }

.pp-shell .pp-stage{ min-height: 360px; transition: min-height .3s ease, opacity .3s ease; }
.pp-shell .pp-stage.fade { opacity: .15; }

.pp-shell .pp-badge{display:flex;align-items:center;gap:.5rem;background:#f6f1ea;border:1px solid #e5d9c5;color:#7f715c;border-radius:14px;padding:.6rem 1rem;font-weight:600;margin:.5rem 0 .75rem 0;}
.pp-shell .pp-badge .dot{width:6px;height:6px;border-radius:50%;background:#d2c3a4;display:inline-block;margin:0 .25rem;}

.pp-shell .pp-section{ background:#fff; border:1px solid #efe9df; border-radius:14px; padding:14px 16px; margin:.65rem 0; box-shadow:0 6px 22px rgba(0,0,0,.04); }
.pp-shell .pp-section h4{ margin:0 0 .35rem 0; font-size:1.02rem; color:#3f4245; }
.pp-shell .pp-section p{ margin:.35rem 0; }
.pp-shell ul.pp-tips{ margin:.25rem 0 .25rem 1.1rem; padding:0; }
.pp-shell ul.pp-tips li{ margin:.2rem 0; list-style: disc; }
.pp-shell .pp-package{ border-left:4px solid var(--pp-gold); }
.pp-shell .pp-package h4{ display:flex; align-items:center; gap:.5rem; }
.pp-shell .pp-package .usp{ display:flex; flex-wrap:wrap; gap:.4rem .6rem; margin-top:.35rem; }
.pp-shell .pp-package .usp span{ background:#f6f1ea; border:1px solid #e5d9c5; color:#7f715c; padding:.25rem .5rem; border-radius:999px; font-size:.85rem; }

.pp-shell .pp-outro{ width:100%; display:flex; flex-direction:column; align-items:center; gap:.75rem; padding:1rem 1.1rem; background:#f9f7f4; border:1px solid #eae2d6; border-radius:14px; box-shadow: 0 10px 30px rgba(0,0,0,.05); margin-top: .75rem; }
.pp-shell .pp-outro .trust-inline{ display:flex; flex-wrap:wrap; gap:.5rem; color: var(--pp-sand); font-size:.9rem; align-items:center; justify-content:center; order:1; }
.pp-shell .pp-outro .cta{ display:inline-block; width:80%; max-width:480px; text-align:center; background: linear-gradient(90deg, var(--pp-gold), var(--pp-sand)); color:#fff; padding:.85rem 1.1rem; border-radius:14px; text-decoration:none; font-weight:700; box-shadow: 0 10px 26px rgba(168,151,123,.35); order:2; }
.pp-shell .pp-outro .cta:hover{ transform: translateY(-1px); filter:brightness(1.04); }
.pp-shell .pp-outro .disclaimer{ font-size:.78rem; color:#7f715c; text-align:center; max-width:680px; order:3; }

/* Intro adjustments */
.pp-shell .msg.pp-introbox{ background: transparent; border: 0; padding: .2rem 0 .2rem 0; margin-top:.25rem; }
.pp-shell .controls .btn-grid{ justify-content:center; }

@media (max-width: 768px){
  :root{ --pp-col: 92vw; }
  .pp-shell .pp-stage{ min-height: 320px; }
}
