/* Minimal fallback styles — used only when the active theme has no bless/ template overrides
   and doesn't already style these classes itself (the bless-theme package does). */
.bless-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.bless-card{display:block}
.bless-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.bless-price del{opacity:.5;margin-right:6px}
.bless-options .bless-opt{margin:0 0 14px}
.bless-options label{display:block;font-weight:600;margin-bottom:4px}
.bless-gallery-thumbs{display:flex;gap:8px;margin-top:8px}
.bless-gallery-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:4px;cursor:pointer;opacity:.6}
.bless-gallery-thumbs img.is-active{opacity:1;outline:2px solid currentColor}
.bless-opt select,.bless-opt input[type=text],.bless-opt textarea,.bless-opt input[type=number]{width:100%;max-width:420px}
.bless-field-error,.bless-form-errors{display:block;color:#b32d2e;min-height:1em;font-size:.9em}
.bless-upload-status{margin-left:8px;font-size:.9em}
[data-bless-add][disabled]{opacity:.5;cursor:not-allowed}
.bless-progress{display:flex;gap:6px;list-style:none;padding:0;margin:16px 0;flex-wrap:wrap}
.bless-progress li{flex:1 1 90px;text-align:center;font-size:.8em;padding:8px 4px;border-radius:6px;background:#f1ece7;color:#8a7f76}
.bless-progress li.is-done{background:#dff3e4;color:#1a7f37}
.bless-progress li.is-current{background:#c2416b;color:#fff;font-weight:600}
.bless-messages{list-style:none;padding:0}.bless-messages li{background:#faf6f2;border-left:3px solid #c2416b;padding:8px 12px;margin:0 0 8px}
