/* Shared FAQ assistant. All selectors are scoped to prevent site styles leaking in. */
.pp-faq-widget,
.pp-faq-widget * { box-sizing: border-box; }
.pp-faq-widget[hidden] { display: none !important; }
.pp-faq-widget {
  --faq-pink:#e89aae; --faq-pink-soft:#fff0f3; --faq-ink:#4f3535; --faq-muted:#8d7777;
  position:fixed; right:22px; bottom:22px; z-index:9500;
  font-family:'Poppins',sans-serif; color:var(--faq-ink); line-height:1.5;
}
.pp-faq-launcher {
  min-height:54px; display:flex; align-items:center; gap:10px; padding:0 17px;
  border:1px solid rgba(255,255,255,.75); border-radius:999px;
  background:linear-gradient(135deg,#f5bdcb,#de829b); color:#fff;
  font:600 13px 'Poppins',sans-serif; box-shadow:0 12px 32px rgba(155,84,105,.28),inset 0 1px rgba(255,255,255,.55);
  cursor:pointer; transition:transform .2s ease,box-shadow .2s ease;
}
.pp-faq-launcher:hover { transform:translateY(-2px); box-shadow:0 16px 36px rgba(155,84,105,.34),inset 0 1px rgba(255,255,255,.65); }
.pp-faq-launcher-mark { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.23); font-size:16px; }
.pp-faq-launcher:focus-visible,.pp-faq-close:focus-visible,.pp-faq-question:focus-visible,.pp-faq-questions-toggle:focus-visible { outline:3px solid #9b6474; outline-offset:3px; }
.pp-faq-panel {
  position:absolute; right:0; bottom:68px; width:min(360px,calc(100vw - 32px)); height:min(480px,calc(100dvh - 112px)); min-height:280px;
  display:flex; flex-direction:column; overflow:hidden; padding:0 !important;
  border:1px solid #f0dce1; border-radius:20px; background:#fffafb;
  box-shadow:0 20px 55px rgba(79,53,53,.2); isolation:isolate;
  opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px) scale(.985);
  transition:opacity .2s ease-out,transform .2s ease-out,visibility 0s linear .2s;
}
.pp-faq-widget.is-open .pp-faq-panel { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); transition-delay:0s; }
.pp-faq-head {
  flex:0 0 auto; min-height:70px; display:flex; align-items:center; gap:11px; padding:13px 14px;
  border:0; color:#fff; background:linear-gradient(125deg,#5b3a45,#bd7188 72%,#e59aae);
  cursor:default;
}
.pp-faq-avatar { width:39px; height:39px; display:grid; place-items:center; flex:0 0 auto; border-radius:14px; background:rgba(255,255,255,.18); font-size:20px; }
.pp-faq-heading { min-width:0; flex:1; }
.pp-faq-heading strong { display:block; font-size:13px; line-height:1.3; }
.pp-faq-heading span { display:flex; align-items:center; gap:6px; margin-top:3px; color:rgba(255,255,255,.84); font-size:10px; }
.pp-faq-status-dot { width:6px; height:6px; flex:0 0 auto; border-radius:50%; background:#c9f2d1; box-shadow:0 0 0 3px rgba(201,242,209,.18); }
.pp-faq-close { width:31px; height:31px; flex:0 0 auto; border:0; border-radius:50%; background:rgba(255,255,255,.15); color:#fff; font-size:20px; line-height:1; cursor:pointer; }
.pp-faq-body { min-height:0; flex:1; overflow:auto; padding:14px 13px 10px; scroll-behavior:smooth; overscroll-behavior:contain; }
.pp-faq-welcome { max-width:96%; margin:0 0 13px; padding:10px 12px; border:1px solid #f1e0e4; border-radius:5px 14px 14px 14px; background:#fff; color:#665050; font-size:11px; line-height:1.6; box-shadow:0 5px 14px rgba(91,58,41,.05); }
.pp-faq-prompt { margin:0 0 8px 2px; color:#9a8585; font-size:9px; font-weight:600; letter-spacing:.04em; }
.pp-faq-questions { display:grid; gap:7px; }
.pp-faq-question { width:100%; min-height:40px; padding:9px 12px; border:1px solid #f0dce1; border-radius:11px; background:#fff; color:#634b4b; text-align:left; font:500 11px/1.45 'Poppins',sans-serif; cursor:pointer; transition:background .16s,border-color .16s,transform .16s; }
.pp-faq-question:hover { transform:translateX(2px); border-color:#e8b5c2; background:var(--faq-pink-soft); }
.pp-faq-question::after { content:'›'; float:right; margin-left:8px; color:#d17f96; font-size:17px; line-height:12px; }
.pp-faq-thread { display:grid; gap:8px; margin:4px 0 14px; }
.pp-faq-user { justify-self:end; max-width:88%; padding:8px 11px; border-radius:14px 5px 14px 14px; background:#f4d6de; color:#5e3f49; font-size:10.5px; line-height:1.55; }
.pp-faq-answer { max-width:96%; padding:10px 12px; border:1px solid #f0e2e5; border-radius:5px 14px 14px 14px; background:#fff; color:#665050; font-size:10.5px; line-height:1.65; white-space:pre-line; overflow-wrap:anywhere; box-shadow:0 5px 14px rgba(91,58,41,.045); }
.pp-faq-foot { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 13px 11px; border-top:1px solid #f3e6e9; background:#fffafb; }
.pp-faq-foot span { color:#a18b8b; font-size:9px; }
.pp-faq-questions-toggle { padding:7px 10px; border:1px solid #efd8df; border-radius:999px; background:#fff; color:#b76880; font:600 9px 'Poppins',sans-serif; cursor:pointer; }
@media(max-width:560px) {
  .pp-faq-widget { right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); }
  .pp-faq-launcher { min-height:50px; padding:0 13px; font-size:12px; }
  .pp-faq-panel { position:fixed; right:12px; bottom:calc(74px + env(safe-area-inset-bottom)); width:min(360px,calc(100vw - 24px)); height:min(460px,calc(100dvh - 100px - env(safe-area-inset-bottom))); min-height:260px; }
}
@media(max-height:420px) { .pp-faq-panel { height:calc(100dvh - 100px); min-height:220px; } }
@media(prefers-reduced-motion:reduce) { .pp-faq-widget * { animation:none!important; scroll-behavior:auto!important; transition:none!important; } }

.pp-faq-widget [hidden]{display:none!important}
.pp-faq-questions-toggle{min-width:110px;min-height:34px;white-space:nowrap;font-size:10px}
