/* Demo flows (donation + camper application). No network, no storage. */
.demo-flow{border:2px dashed var(--tbc);border-radius:var(--radius);background:var(--paper);margin:18px 0;overflow:hidden}
.demo-flow{scroll-margin-top:120px}
.demo-flow .demo-banner{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;background:#FFF0C7;border-bottom:2px solid var(--tbc);color:#5A3E00;padding:10px 16px;font-weight:900;font-size:15px}
.demo-flow .demo-banner small{font-weight:700;font-size:13px;color:#5A3E00}
.demo-flow .demo-body{padding:20px 20px 24px}
.demo-steps{list-style:none;display:flex;gap:6px;margin:0 0 18px;padding:0;flex-wrap:wrap}
.demo-steps li{flex:1 1 0;min-width:84px;text-align:center;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:8px 4px;border-radius:8px;background:#EFE6D2;color:var(--muted)}
.demo-steps li.is-current{background:var(--navy);color:#fff}
.demo-steps li.is-done{background:#DFF3E8;color:var(--ok)}
.demo-flow h3.demo-title{font-size:clamp(28px,5vw,40px);margin:0 0 8px}
.demo-flow p{margin:0 0 12px}
.demo-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 16px}
.demo-tabs button{flex:1 1 200px}
.demo-tabs .btn[aria-pressed="true"]{background:var(--navy);color:#fff}
.demo-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 14px}
.demo-choice{display:block;text-align:left;border:2px solid #D8C9AE;background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink)}
.demo-choice strong{display:block;font-size:22px;color:var(--navy);line-height:1.1}
.demo-choice span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.demo-choice[aria-pressed="true"]{border-color:var(--red);box-shadow:0 0 0 3px rgba(232,35,35,.18);background:#FFF6F3}
.demo-field{margin:0 0 14px}
.demo-field label{display:block;font-weight:700;font-size:15px;margin-bottom:5px}
.demo-field input[type=text],.demo-field input[type=email],.demo-field input[type=tel],.demo-field input[type=number],.demo-field select{width:100%;padding:12px;border:2px solid #D8C9AE;border-radius:10px;font:inherit;background:#fff}
.demo-field .help{font-size:13px;color:var(--muted);margin-top:4px}
.demo-field.has-error input,.demo-field.has-error select{border-color:var(--red)}
.demo-error{color:var(--red-dark);font-weight:700;font-size:14px;margin-top:4px}
.demo-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px}
.demo-check input{width:22px;height:22px;margin-top:2px;flex:0 0 auto}
.demo-check label{font-weight:700;font-size:15px;margin:0}
.demo-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.demo-summary{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:10px 0 14px;font-size:15px}
.demo-summary dt{font-weight:900;color:var(--navy)}
.demo-summary dd{margin:0;overflow-wrap:anywhere}
.demo-placeholder{border:2px dashed #BDB29B;background:#F1EDE4;color:#8A8372;border-radius:10px;padding:14px;margin:12px 0;font-weight:700;text-align:center;user-select:none}
.demo-receipt{border:2px solid var(--navy);border-radius:12px;padding:16px;background:#fff;margin:12px 0;position:relative}
.demo-receipt .stamp{display:inline-block;background:#FFF0C7;color:#5A3E00;border:2px solid var(--tbc);border-radius:6px;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;margin-bottom:8px}
.give-lead{border:2px solid var(--red);background:#FFF6F3}
.give-lead .btn-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 6px}
@media(max-width:560px){.demo-flow .demo-body{padding:16px 14px 20px}.demo-summary{grid-template-columns:1fr}.demo-summary dt{margin-top:6px}}
