/* DuaForma Crowdfunding — Widget styles */
:root{--dfcf-green:#1a9e6e;--dfcf-green-dark:#0d6b49;--dfcf-green-mid:#4dcea0;--dfcf-ink:#0e0d0b;--dfcf-paper:#f5f0e8;--dfcf-mist:#d8d2c6;--dfcf-cream:#ede8dc}

.dfcf-widget{max-width:720px;font-family:'Cormorant Garamond',Georgia,serif}

/* Progress */
.dfcf-progress-wrap{margin-bottom:2.5rem}
.dfcf-progress-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem;font-family:'DM Mono',monospace;font-size:.75rem;letter-spacing:.1em}
.dfcf-raised{color:var(--dfcf-green);font-size:1.1rem;font-weight:500}
.dfcf-goal{opacity:.5}
.dfcf-progress-bar{width:100%;height:5px;background:rgba(26,158,110,.15);border-radius:3px;margin-bottom:.6rem}
.dfcf-progress-fill{height:100%;background:var(--dfcf-green);border-radius:3px;transition:width 1.4s cubic-bezier(.4,0,.2,1)}
.dfcf-progress-milestones{display:flex;gap:1rem;flex-wrap:wrap}
.dfcf-ms{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(14,13,11,.3);display:flex;align-items:center;gap:.3rem}
.dfcf-ms::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.dfcf-ms.reached{color:var(--dfcf-green)}
.dfcf-donors-count{font-family:'DM Mono',monospace;font-size:.62rem;opacity:.45;margin-top:.4rem}

/* Step labels */
.dfcf-step{margin-bottom:2rem}
.dfcf-step-label{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--dfcf-ink);opacity:.5;margin-bottom:1rem}
.dfcf-optional{font-size:.55rem;opacity:.6}

/* Reward grid */
.dfcf-rewards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.dfcf-reward-option{position:relative;cursor:pointer;display:block}
.dfcf-reward-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}
.dfcf-reward-inner{border:1px solid var(--dfcf-mist);padding:1.5rem 1.2rem;transition:border-color .25s,background .25s;background:#fff}
.dfcf-reward-option:has(input:checked) .dfcf-reward-inner{border-color:var(--dfcf-green);background:rgba(26,158,110,.04)}
.dfcf-featured .dfcf-reward-inner{border-color:var(--dfcf-green)}
.dfcf-featured-label{position:absolute;top:-1px;left:50%;transform:translateX(-50%);font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;background:var(--dfcf-green);color:#fff;padding:.15rem .8rem;white-space:nowrap;z-index:1}
.dfcf-reward-amount{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;color:var(--dfcf-green);line-height:1;margin-bottom:.3rem}
.dfcf-reward-name{font-family:'Playfair Display',serif;font-size:.9rem;font-weight:700;margin-bottom:.8rem}
.dfcf-reward-benefits{list-style:none;padding:0;margin:0}
.dfcf-reward-benefits li{font-family:'Cormorant Garamond',serif;font-size:.9rem;font-weight:300;line-height:1.5;padding:.25rem 0;border-bottom:1px solid rgba(14,13,11,.06);display:flex;gap:.4rem}
.dfcf-reward-benefits li::before{content:'✓';color:var(--dfcf-green);flex-shrink:0}
.dfcf-custom-amount-input{border:1px solid var(--dfcf-mist);padding:.4rem .6rem;width:80px;font-size:.9rem;margin-top:.5rem}

/* Type toggle */
.dfcf-type-toggle{display:flex;gap:1rem}
.dfcf-type-option{cursor:pointer;display:flex;align-items:center;gap:.5rem}
.dfcf-type-option input{accent-color:var(--dfcf-green)}
.dfcf-type-option span{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.08em}

/* Fields */
.dfcf-fields{display:flex;flex-direction:column;gap:.8rem}
.dfcf-input{font-family:'Cormorant Garamond',serif;font-size:1rem;border:1px solid var(--dfcf-mist);padding:.8rem 1rem;background:#fff;width:100%;transition:border-color .2s}
.dfcf-input:focus{outline:none;border-color:var(--dfcf-green)}
.dfcf-textarea{resize:vertical;min-height:70px}
.dfcf-checkbox{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.08em;display:flex;align-items:center;gap:.5rem;cursor:pointer}
.dfcf-checkbox input{accent-color:var(--dfcf-green)}

/* Gateway buttons */
.dfcf-gateway-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.dfcf-btn-stripe,.dfcf-btn-paypal,.dfcf-btn-external{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;border:none;padding:.9rem 1.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;transition:opacity .2s,transform .2s}
.dfcf-btn-stripe,.dfcf-btn-external{background:var(--dfcf-ink);color:#fff}
.dfcf-btn-paypal{background:#003087;color:#fff}
.dfcf-btn-stripe:hover,.dfcf-btn-paypal:hover,.dfcf-btn-external:hover{opacity:.85;transform:translateY(-1px)}
.dfcf-btn-stripe:disabled,.dfcf-btn-paypal:disabled{opacity:.5;cursor:not-allowed;transform:none}
.dfcf-secure-note{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.1em;opacity:.4;display:flex;align-items:center;gap:.4rem}

/* Messages */
.dfcf-messages{margin-top:1rem;font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.05em}
.dfcf-msg-success{background:rgba(26,158,110,.1);border:1px solid rgba(26,158,110,.3);color:#0d6b49;padding:.8rem 1rem}
.dfcf-msg-error{background:rgba(220,50,50,.08);border:1px solid rgba(220,50,50,.25);color:#a01010;padding:.8rem 1rem}

/* Donors list */
.dfcf-donors-list{list-style:none;padding:0;margin:0}
.dfcf-donor-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.8rem 0;border-bottom:1px solid var(--dfcf-mist);flex-wrap:wrap;gap:.3rem}
.dfcf-donor-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700}
.dfcf-donor-amount{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--dfcf-green);letter-spacing:.05em}
.dfcf-donor-message{width:100%;font-family:'Cormorant Garamond',serif;font-size:.95rem;font-style:italic;opacity:.65;margin:.3rem 0 0}

@media(max-width:600px){.dfcf-rewards-grid{grid-template-columns:1fr}.dfcf-gateway-buttons{flex-direction:column}}
