.peif-wrap, .peif-wrap *{box-sizing:border-box}.peif-wrap{--green:#1D9E75;--green-dark:#0F6E56;--green-light:#E1F5EE;--green-deep:#085041;--text:#1a1a1a;--text-muted:#6b7280;--text-hint:#9ca3af;--border:#e5e7eb;--border-hover:#d1d5db;--bg:#f9faf8;--card:#ffffff;--danger:#dc2626;--radius:12px;--radius-sm:8px;font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);max-width:680px;margin:0 auto;padding:2rem 1rem 4rem}.peif-header{text-align:center;margin-bottom:2.5rem;padding:2rem 1.5rem;background:var(--card);border-radius:var(--radius);border:1px solid var(--border)}.peif-header .logo{width:48px;height:48px;background:var(--green-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:22px}.peif-header h1{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400;color:var(--text);margin:0 0 6px;line-height:1.2}.peif-header p{font-size:14px;color:var(--text-muted);line-height:1.6;margin:0}.progress-bar{background:var(--border);border-radius:99px;height:4px;margin:1.25rem 0 0;overflow:hidden}.progress-fill{height:100%;background:var(--green);border-radius:99px;transition:width .4s ease;width:0}.sec{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem}.sec-title{font-size:11px;font-weight:600;color:var(--green-dark);text-transform:uppercase;letter-spacing:.09em;margin-bottom:1.25rem;display:flex;align-items:center;gap:8px}.field{margin-bottom:1rem}.field:last-child{margin-bottom:0}.peif-wrap label{display:block;font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:5px}.req{color:var(--danger)}.peif-wrap input[type=text],.peif-wrap input[type=email],.peif-wrap input[type=tel],.peif-wrap input[type=date],.peif-wrap input[type=number],.peif-wrap select,.peif-wrap textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);background:#fff;outline:none;transition:border-color .15s;appearance:none;-webkit-appearance:none}.peif-wrap select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.peif-wrap input:focus,.peif-wrap select:focus,.peif-wrap textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d9e751f}.peif-wrap .invalid{border-color:var(--danger)!important;box-shadow:0 0 0 3px #dc26261a!important}.peif-wrap textarea{resize:vertical;min-height:80px;line-height:1.5}.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:520px){.g2,.g3{grid-template-columns:1fr}}.opt-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 12px;cursor:pointer;user-select:none;transition:border-color .15s,background .15s;display:flex;align-items:flex-start;gap:10px}.opt-card:hover,.svc-card:hover{border-color:var(--border-hover);background:#fafafa}.opt-card.on,.svc-card.on{border:2px solid var(--green);background:var(--green-light)}.opt-card .ol{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.opt-card.on .ol,.svc-card.on .sl{color:var(--green-deep)}.opt-card .os{font-size:12px;color:var(--text-muted);line-height:1.4}.svc-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 12px;cursor:pointer;text-align:center;user-select:none;transition:border-color .15s,background .15s}.svc-card .ss{font-size:11px;color:var(--text-muted);margin-top:2px}.svc-card .sl{font-size:13px;font-weight:600;color:var(--text)}.divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.sub-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.cb-row{display:flex!important;align-items:center;gap:9px;font-size:13px!important;color:var(--text)!important;margin-bottom:8px!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important}.cb-row input[type=checkbox],.cb-row input[type=radio]{width:15px!important;height:15px!important;accent-color:var(--green);flex-shrink:0;cursor:pointer}.err{font-size:12px;color:var(--danger);margin-top:5px;display:none}.submit-btn-wrap{display:flex;margin-top:1.25rem}
.submit-btn-wrap[data-align="left"]{justify-content:flex-start}
.submit-btn-wrap[data-align="center"]{justify-content:center}
.submit-btn-wrap[data-align="right"]{justify-content:flex-end}
.submit-btn-wrap[data-align="stretched"]{display:block}
.submit-btn-wrap[data-align="stretched"] .submit-btn{width:100%}
.submit-btn{padding:var(--peif-submit-padding-y,14px) 28px;background:var(--peif-submit-bg,#1D9E75);color:var(--peif-submit-text,#fff);border:var(--peif-submit-border,none);border-radius:var(--peif-submit-radius,var(--radius-sm));font-family:'DM Sans',sans-serif;font-size:var(--peif-submit-size,15px);font-weight:var(--peif-submit-weight,600);cursor:pointer;transition:background .15s,transform .1s;letter-spacing:.02em;min-width:200px}.submit-btn:hover{background:var(--peif-submit-hover,#0F6E56);color:var(--peif-submit-text,#fff)}.submit-btn:active{transform:scale(.99)}.done{display:none;text-align:center;padding:3rem 1.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.done-icon{width:64px;height:64px;background:var(--green-light);color:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:32px}.done h2{font-family:'DM Serif Display',serif;font-size:24px;font-weight:400;margin-bottom:8px}.done p{font-size:14px;color:var(--text-muted);line-height:1.6}.summary-box{margin-top:1.5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.25rem;text-align:left}.summary-box h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.75rem}.summary-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:1px solid var(--border);gap:12px}.summary-row:last-child{border-bottom:none}.summary-row .sk{color:var(--text-muted);flex-shrink:0}.summary-row .sv{color:var(--text);font-weight:500;text-align:right}.payment-note{font-size:14px;color:var(--text-muted);margin:0 0 1rem}.peif-loading{opacity:.65;pointer-events:none}

/* ── Produce Requests Section ── */
#produce-requests-sec { }

/* ── File Upload ── */
.file-upload-wrap {
  position: relative;
}
.peif-file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.file-upload-ui {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 24px 16px;
  border: 2px dashed var(--border, #e0d6c8);
  border-radius: 8px;
  background: var(--paper2, #f3ede3);
  text-align: center;
  transition: border-color 0.15s, background 0.15s;
  cursor: pointer;
}
.file-upload-wrap:hover .file-upload-ui,
.file-upload-wrap.drag-over .file-upload-ui {
  border-color: var(--green, #1D9E75);
  background: var(--green-light, #E1F5EE);
}
.file-upload-icon { font-size: 26px; line-height: 1; }
.file-upload-text { font-size: 14px; font-weight: 600; color: var(--ink, #1a1208); }
.file-upload-hint { font-size: 12px; color: var(--muted, #7a6e62); }
.hint-tag {
  font-size: 11px;
  font-weight: 400;
  color: var(--muted, #7a6e62);
  font-style: italic;
}
.file-selected {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--green, #1D9E75);
  border-radius: 8px;
  background: var(--green-light, #E1F5EE);
}
.file-name {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: var(--green-deep, #085041);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-remove {
  flex-shrink: 0 !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  border: 1px solid #1D9E75 !important;
  background: #1D9E75 !important;
  color: #1D9E75 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .15s !important;
}

.file-remove:hover {
  background: #0F6E56 !important;
}
