.ps-box{border:1px solid #d9dde5;border-radius:10px;padding:20px;margin:18px 0;background:#fff;max-width:560px}
.ps-row{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;margin-bottom:12px}
.ps-row label{font-weight:600;color:#0f1f3d}
.ps-row select{padding:10px;border:1px solid #b8bfcc;border-radius:6px;font-size:16px;width:100%}
.ps-specline{font-size:14px;color:#55627a;margin:6px 0 14px}
.ps-price{font-size:30px;font-weight:700;color:#0f1f3d;margin:6px 0 14px}
.ps-price small{font-size:14px;font-weight:400;color:#55627a}
.ps-paths{border:1px solid #e3e6ec;border-radius:8px;padding:14px;margin:0 0 16px}
.ps-paths legend{font-weight:700;padding:0 6px;color:#0f1f3d}
.ps-path-buttons{display:flex;flex-wrap:wrap;gap:8px}
.ps-btn{display:inline-block;padding:11px 18px;border-radius:6px;border:1px solid #0f1f3d;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;background:#fff;color:#0f1f3d}
.ps-btn-primary{background:#0f1f3d;color:#fff;width:100%;padding:15px;font-size:17px}
.ps-btn-primary:disabled{background:#9aa3b5;border-color:#9aa3b5;cursor:not-allowed}
.ps-btn-ghost{border-color:#cfd5df;font-weight:500}
.ps-btn:focus-visible,.ps-row select:focus-visible{outline:3px solid #0b84ff;outline-offset:2px}
.ps-pf{margin-top:12px;font-size:14px}
.ps-pf ul{margin:6px 0 0 18px;padding:0}
.ps-pf-head{font-weight:700;margin:0}
.ps-pf-pass{color:#14733a}.ps-pf-review{color:#8a5a00}.ps-pf-fail{color:#b3261e}
.ps-lv-error{color:#b3261e}.ps-lv-review{color:#8a5a00}
.ps-fine{font-size:12.5px;color:#6b7690}
.ps-testnote{background:#fff4d6;border:1px solid #e8c36b;padding:8px 10px;border-radius:6px;font-size:13px}
.ps-unavail{background:#f6f7f9}
.ps-editor{position:fixed;inset:0;z-index:99999;background:#eef0f4;display:flex;flex-direction:column}
.ps-editor[hidden]{display:none}
.ps-ed-top{display:flex;gap:10px;align-items:center;padding:10px 16px;background:#fff;border-bottom:1px solid #d9dde5;flex-wrap:wrap}
.ps-ed-top .ps-btn-primary{width:auto;padding:10px 16px;font-size:15px}
.ps-ed-spacer{flex:1}
#ps-ed-dims{font-size:13px;color:#55627a}
.ps-ed-body{flex:1;display:flex;min-height:0}
.ps-ed-tools{width:260px;overflow:auto;padding:12px;background:#fff;border-right:1px solid #d9dde5;display:flex;flex-direction:column;gap:8px;font-size:14px}
.ps-ed-tools button,.ps-ed-file{padding:8px 10px;border:1px solid #b8bfcc;border-radius:6px;background:#fff;cursor:pointer;text-align:left}
.ps-ed-tools label{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ps-ed-sides{display:flex;gap:6px}.ps-ed-sides button.on{background:#0f1f3d;color:#fff}
.ps-ed-templates{display:flex;flex-direction:column;gap:6px}
.ps-ed-stage{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px}
.ps-ed-stage .canvas-container{box-shadow:0 4px 24px rgba(15,31,61,.25)}
@media(max-width:760px){.ps-ed-body{flex-direction:column}.ps-ed-tools{width:auto;flex-direction:row;flex-wrap:wrap;max-height:34%;border-right:0;border-bottom:1px solid #d9dde5}.ps-row{grid-template-columns:1fr}}
/* v0.2: chips, tiers, assurances, sticky bar, gallery */
.ps-row.ps-has-chips{grid-template-columns:1fr;gap:6px}
.ps-row.ps-has-chips select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ps-chips{display:flex;flex-wrap:wrap;gap:8px}
.ps-chip{padding:10px 14px;border:1.5px solid #cfd5df;border-radius:8px;background:#fff;font-size:14.5px;font-weight:600;color:#0f1f3d;cursor:pointer;min-height:44px;transition:border-color .12s,background .12s}
.ps-chip:hover{border-color:#0f1f3d}
.ps-chip.on{border-color:#0b84ff;background:#eef6ff;box-shadow:inset 0 0 0 1px #0b84ff}
.ps-chip:focus-visible{outline:3px solid #0b84ff;outline-offset:2px}
.ps-tiers{width:100%;border-collapse:collapse;margin:4px 0 14px;font-size:14px}
.ps-tiers caption{text-align:left;font-weight:700;color:#0f1f3d;padding-bottom:6px}
.ps-tiers th{text-align:left;color:#6b7690;font-weight:600;font-size:12.5px;padding:6px 8px;border-bottom:1px solid #e3e6ec}
.ps-tiers td{padding:9px 8px;border-bottom:1px solid #eef0f4}
.ps-tiers tbody tr{cursor:pointer}.ps-tiers tbody tr:hover{background:#f6f8fb}
.ps-tiers tbody tr.on{background:#eef6ff;font-weight:700}
.ps-save{background:#e5f6ec;color:#14733a;font-weight:700;font-size:12px;padding:2px 8px;border-radius:99px}
.ps-assure{list-style:none;padding:0;margin:0 0 16px;font-size:13.5px;color:#334155;display:grid;gap:4px}
.ps-assure li::before{content:"\2713";color:#14733a;font-weight:800;margin-right:8px}
.ps-sticky{display:none}
@media(max-width:760px){.ps-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9990;background:#fff;border-top:1px solid #d9dde5;padding:10px 16px;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -6px 20px rgba(15,31,61,.08)}
.ps-sticky span{font-size:20px;font-weight:800;color:#0f1f3d}.ps-sticky .ps-btn-primary{width:auto;padding:12px 18px;font-size:15px}
body.single-product{padding-bottom:76px}}
.ps-gal-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.ps-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.ps-gal-card{display:block;text-decoration:none;color:#0f1f3d;border:1px solid #e3e6ec;border-radius:12px;padding:18px;background:#f6f8fb;transition:box-shadow .15s,border-color .15s}
.ps-gal-card:hover{border-color:#0b84ff;box-shadow:0 10px 26px rgba(15,31,61,.10)}
.ps-gal-card[hidden]{display:none}
.ps-gal-prev{overflow:hidden;margin:0 auto 14px;border-radius:4px;box-shadow:0 6px 18px rgba(15,31,61,.18);background:#fff;max-width:100%}
.ps-gal-prev canvas{display:block}
.ps-gal-cap{display:grid;gap:2px}.ps-gal-cap span{font-size:13px;color:#6b7690}.ps-gal-cap em{font-style:normal;font-size:14px;font-weight:700;color:#0b84ff;margin-top:6px}
