/* V1 Party Radio — CX improvements (Oct 2026) */
.demo-start{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px}
.demo-start .demo-start-button{margin:0;font-size:18px;padding:16px 28px;display:inline-flex;gap:10px;align-items:center;cursor:pointer;border:0}
.demo-start-note{font-size:14px;color:#6b6178}
.party-demo-section .qr-playable-dropdown{margin-top:28px}
#soundtrack-demo{scroll-margin-top:20px}
@media(max-width:800px){.demo-start .demo-start-button{width:100%;justify-content:center}}
.bf-wedding-note{margin:14px 0 0;padding:14px 16px;border-radius:14px;background:#fff8e6;border:1px solid #f0dca8;font-size:15px;line-height:1.5}
.bf-mobile-total{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;border-radius:18px;background:#241f2e;color:#fff;box-shadow:0 10px 30px rgba(20,10,40,.35)}
.bf-mobile-total[hidden]{display:none}
.bf-mobile-total span{display:flex;flex-direction:column;line-height:1.2}
.bf-mobile-total small{font-size:12px;color:#cfc6dc}
.bf-mobile-total strong{font-size:20px;color:#dcfb6c}
.bf-mobile-total a{background:#dcfb6c;color:#241f2e;font-weight:700;text-decoration:none;padding:10px 16px;border-radius:999px;white-space:nowrap}
.faq-needs{margin:26px 0 30px;padding:24px 26px;border-radius:20px;background:#eee7f8}
.faq-needs h2{font-size:22px;margin:0 0 12px}
.faq-needs ul{margin:0 0 12px;padding-left:20px;line-height:1.6}
.faq-needs p{margin:0;font-size:15px}
.hiw-packages{max-width:1100px;margin:40px auto;padding:40px 5%;text-align:center}
.hiw-packages h2{margin:8px 0 22px}
.hiw-pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.hiw-pk-grid article{background:#fffaf2;border:1px solid #e3d9ee;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:6px;text-align:left}
.hiw-pk-grid article.hiw-pk-pop{border:2px solid #6b35d9}
.hiw-pk-grid strong{font-size:20px}
.hiw-pk-price{font-size:30px;font-weight:800;color:#2a2233}
@media(max-width:760px){.hiw-pk-grid{grid-template-columns:1fr}}
.bf-availability{margin:14px 0 0;padding:12px 16px;border-radius:14px;background:#f2edf9;font-size:15px}
.bf-availability.is-instant{background:#eefbd3;border:1px solid #cde99a}
.bf-availability.is-taken{background:#fdecec;border:1px solid #f1c2c2}
.bf-book{margin:18px 0;padding:18px;border-radius:18px;background:#fffaf2;border:2px solid #6b35d9}
.bf-book[hidden]{display:none}
.bf-terms{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin-bottom:12px}
.bf-terms input{margin-top:4px;width:18px;height:18px}
.bf-book-btn{border:0;cursor:pointer;margin:0}
.bf-terms span{font-weight:400}
.bf-availability.is-hint{background:#fff6d6;border:1px dashed #e0c25a}
.bf-jump{font-weight:700;color:#5a2bd0;margin-left:6px;white-space:nowrap}

/* Real family greeting sample */
.bf-greeting-sample .bf-greet-len{font-weight:400;color:#6b6176}

/* Customer reviews (from the booking desk) */
.pp-reviews{max-width:1120px;margin:64px auto;padding:0 24px;text-align:center}
.pp-reviews h2{font-size:clamp(30px,5vw,46px);margin:8px 0 24px;letter-spacing:-1px}
.pp-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;text-align:left}
.pp-review-card{margin:0;background:#fffdf8;border:1px solid #e6dcef;border-radius:20px;padding:20px 22px}
.pp-stars{color:#f2b705;font-size:20px;letter-spacing:2px;margin:0 0 8px}
.pp-review-card blockquote{margin:0 0 12px;font-size:17px;line-height:1.5}
.pp-review-card figcaption{font-size:13px;color:#6b6178;font-weight:600}

/* Explainer video (homepage) */
.explainer-video{max-width:1160px;margin:8px auto 36px;padding:0 30px;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:44px;align-items:center;scroll-margin-top:24px}
.explainer-copy h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-1.2px;margin:14px 0}
.explainer-copy p{font-size:16px;line-height:1.65;max-width:400px}
.explainer-frame{margin:0;border-radius:28px;overflow:hidden;background:#3f1aa3;box-shadow:16px 16px 0 #eee7f8;aspect-ratio:16/9}
.explainer-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#3f1aa3}
@media(max-width:800px){.explainer-video{grid-template-columns:1fr;gap:20px;padding:0 24px;margin:4px auto 28px}.explainer-copy{text-align:center}.explainer-copy p{margin-left:auto;margin-right:auto}.explainer-frame{box-shadow:10px 10px 0 #eee7f8}}
@media(max-width:550px){.explainer-video{padding:0 16px}.explainer-frame{border-radius:20px;box-shadow:none}}
