.pp-card{border:1px solid #eee;border-radius:16px;padding:16px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.06);max-width:560px}
.pp-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.pp-card-title{margin:0;font-size:1.15rem}
.pp-card-price{font-weight:700;font-size:1.2rem}
.pp-card-options{display:grid;gap:12px;margin-top:10px}
.pp-sec-title{font-weight:700;margin:8px 0 4px 0}
.pp-sec-desc{opacity:.8;margin-bottom:8px}
.pp-sec-items{display:grid;gap:8px}
.pp-option{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #f0f0f0;border-radius:12px;background:#fafafa}
.pp-option-icon{width:20px;height:20px;object-fit:contain}
.pp-option-title{flex:1}
.pp-option-price{font-weight:600;opacity:.85}
.pp-switch{display:none}
.pp-switch-ui{position:relative;display:inline-block;width:44px;height:24px;background:#ddd;border-radius:999px;transition:.2s;vertical-align:middle}
.pp-switch-ui::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.pp-option input:checked + .pp-switch-ui{background:#22c55e}
.pp-option input:checked + .pp-switch-ui::after{left:23px}
.pp-options-wrap.layout-grid .pp-sec-items{grid-template-columns:repeat(3,1fr)}
.pp-options-wrap.layout-two-col .pp-sec-items{grid-template-columns:repeat(2,1fr)}
.pp-summary{border:1px solid #eee;border-radius:12px;padding:12px;background:#fff}
.pp-sum-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #eee}
.pp-sum-row:last-child{border-bottom:none}
.pp-sum-total{display:flex;justify-content:space-between;margin-top:8px;font-weight:700}
.pp-cta .pp-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #222;background:#111;color:#fff;border-radius:10px;cursor:pointer}
.pp-cta .pp-btn-secondary{background:#f5f5f5;color:#111;border-color:#ddd;margin-left:8px}
.pp-disabled{opacity:.5;pointer-events:none}
.pp-loop-grid .pp-template-wrap{min-width:0}
