/* Robust Forms — frontend (brand-neutral; soft, light styling). */
.rf-form{max-width:680px;margin:0 auto}
.rf-fields{display:flex;flex-wrap:wrap;gap:16px}
.rf-field{flex:1 1 100%;display:flex;flex-direction:column;gap:6px}
.rf-field.rf-w-half{flex:1 1 calc(50% - 8px)}
.rf-field.rf-w-third{flex:1 1 calc(33.333% - 11px)}
.rf-label{font-weight:600;font-size:.9rem;color:var(--ink,#2a2118)}
.rf-req{color:#c5221f}
.rf-desc{font-size:.8rem;color:var(--soft,#8a8170);margin:0}
.rf-field input,.rf-field textarea,.rf-field select{width:100%;padding:11px 12px;border:1px solid var(--line-soft,#e6dcc8);border-radius:10px;background:#fdfbf7;font:inherit;color:inherit}
.rf-field input:focus,.rf-field textarea:focus,.rf-field select:focus{outline:2px solid var(--amber,#caa45a);outline-offset:1px}
.rf-field [aria-invalid="true"]{border-color:#c5221f;background:#fff6f5}
.rf-subfields{display:flex;gap:10px;flex-wrap:wrap}
.rf-subfields input{flex:1 1 140px}
.rf-options{display:flex;flex-direction:column;gap:6px}
.rf-opt,.rf-consent{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:.92rem}
.rf-opt input,.rf-consent input{width:auto}
.rf-rating{display:inline-flex;flex-direction:row-reverse;gap:2px;font-size:1.6rem;color:#d8cdb8}
.rf-rating input{position:absolute;opacity:0;width:1px;height:1px}
.rf-rating .rf-star{cursor:pointer}
.rf-rating .rf-star:hover,.rf-rating .rf-star:hover ~ .rf-star,.rf-rating input:checked ~ span{color:var(--amber,#caa45a)}
.rf-field-error{color:#c5221f;font-size:.8rem;min-height:1em}
.rf-summary{color:#c5221f;font-weight:600}
.rf-summary:empty{display:none}
.rf-actions{margin-top:18px;display:flex;align-items:center;gap:10px}
.rf-submit{padding:12px 26px;border:0;border-radius:999px;background:var(--ink,#2a2118);color:#fff;font-weight:600;cursor:pointer;transition:transform .2s}
.rf-submit:active{transform:scale(.97)}
.rf-submit:disabled{opacity:.6;cursor:default}
.rf-loading .rf-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--line,#ddd);border-top-color:var(--ink,#222);border-radius:50%;animation:rf-spin .7s linear infinite}
@keyframes rf-spin{to{transform:rotate(360deg)}}
.rf-message{margin-top:12px}
.rf-message.rf-success{padding:14px 16px;border-radius:10px;background:#eef4ec;color:#2f6b3f;font-weight:600}
.rf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rf-html{font-size:.95rem}
.rf-section{margin:6px 0 0}
.rf-divider{border:0;border-top:1px solid var(--line-soft,#e6dcc8)}
.rf-product{display:flex;align-items:center;gap:12px}
.rf-product-price{font-size:.85rem;color:var(--soft,#8a8170)}
.rf-product-qty{width:90px!important}
.rf-total-display{font-size:1.3rem;font-weight:700;color:var(--ink,#2a2118)}
.rf-page-marker{display:none}
.rf-step-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.rf-step-prog{font-size:.78rem;color:var(--soft,#8a8170)}
.rf-step-nav .rf-prev,.rf-step-nav .rf-next{padding:10px 22px;border:1px solid var(--line-soft,#e6dcc8);border-radius:999px;background:#fff;cursor:pointer;font:inherit}
.rf-step-nav .rf-next{background:var(--ink,#2a2118);color:#fff;border-color:var(--ink,#2a2118)}
@media(max-width:560px){.rf-field.rf-w-half,.rf-field.rf-w-third{flex:1 1 100%}}
