.ecojunk-sf{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif;max-width:900px;margin:24px auto;box-sizing:border-box}
.ecojunk-sf *{box-sizing:border-box}
.ecojunk-sf .ejsf-card{background:var(--ejsf-panel);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.12);overflow:hidden}
.ecojunk-sf .ejsf-header{background:var(--ejsf-primary);color:#fff;padding:22px 26px}
.ecojunk-sf .ejsf-header-inner{max-width:780px;margin:0 auto}
.ecojunk-sf .ejsf-step-indicator{text-align:center;font-weight:600;opacity:.95;margin-bottom:10px}
.ecojunk-sf .ejsf-title{margin:0;text-align:center;font-size:32px;line-height:1.2;font-weight:800}
.ecojunk-sf .ejsf-body{padding:26px}
.ecojunk-sf .ejsf-form{max-width:780px;margin:0 auto}
.ecojunk-sf .ejsf-step{display:none}
.ecojunk-sf .ejsf-step.is-active{display:block}
.ecojunk-sf .ejsf-center{text-align:center}
.ecojunk-sf .ejsf-label{display:block;text-align:left;font-weight:700;margin:0 0 8px}
.ecojunk-sf .ejsf-input,.ecojunk-sf .ejsf-select,.ecojunk-sf .ejsf-textarea{width:100%;border:1px solid #cfd6d9;border-radius:4px;padding:12px 12px;font-size:16px;background:#fff;outline:none}
.ecojunk-sf .ejsf-input:focus,.ecojunk-sf .ejsf-select:focus,.ecojunk-sf .ejsf-textarea:focus{border-color:var(--ejsf-accent);box-shadow:0 0 0 3px rgba(183,213,0,.25)}
.ecojunk-sf .ejsf-address-row{position:relative;max-width:520px;margin:0 auto}
.ecojunk-sf .ejsf-address{padding-right:42px}
.ecojunk-sf .ejsf-valid{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d8dde0;color:#fff;font-weight:900}
.ecojunk-sf .ejsf-valid.is-ok{background:var(--ejsf-accent);color:#1a1a1a}
.ecojunk-sf .ejsf-help{margin:12px 0 0;color:#334;opacity:.85;font-size:13px;text-align:center}
.ecojunk-sf .ejsf-subtext{margin:8px 0 14px;text-align:center}
.ecojunk-sf .ejsf-muted{color:#4b5563;font-size:14px}
.ecojunk-sf .ejsf-step-heading{margin:0 0 16px;text-align:center;font-size:30px;font-weight:800;color:#0d2630}
.ecojunk-sf .ejsf-radio-group{max-width:640px;margin:0 auto 18px}
.ecojunk-sf .ejsf-radio{display:flex;gap:12px;align-items:flex-start;border:1px solid #d8dee2;border-radius:8px;padding:14px 14px;margin-bottom:10px;cursor:pointer;background:#fff}
.ecojunk-sf .ejsf-radio input{position:absolute;opacity:0}
.ecojunk-sf .ejsf-radio-ui{width:22px;height:22px;border:2px solid #cfd6d9;border-radius:50%;margin-top:2px;flex:0 0 auto;position:relative}
.ecojunk-sf .ejsf-radio input:checked + .ejsf-radio-ui{border-color:var(--ejsf-accent)}
.ecojunk-sf .ejsf-radio input:checked + .ejsf-radio-ui:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--ejsf-accent)}
.ecojunk-sf .ejsf-radio-text strong{font-size:18px}
.ecojunk-sf .ejsf-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.ecojunk-sf .ejsf-actions-right{justify-content:flex-end}
.ecojunk-sf .ejsf-btn{border:0;border-radius:4px;background:var(--ejsf-accent);color:#fff;padding:14px 28px;font-weight:800;font-size:18px;cursor:pointer;min-width:160px}
.ecojunk-sf .ejsf-btn:hover{filter:brightness(.95)}
.ecojunk-sf .ejsf-btn.is-secondary{background:#bfc7cc;color:#fff}
.ecojunk-sf .ejsf-btn.is-small{padding:10px 14px;font-size:14px;min-width:auto}
.ecojunk-sf .ejsf-error{margin:14px 0 0;color:#b91c1c;font-weight:700;text-align:center;min-height:20px}
.ecojunk-sf .ejsf-appointment{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:520px;margin:0 auto}
.ecojunk-sf .ejsf-checklist{list-style:none;padding:0;margin:18px auto 0;max-width:520px}
.ecojunk-sf .ejsf-checklist li{padding-left:26px;position:relative;margin:10px 0;font-weight:600;color:#0d2630}
.ecojunk-sf .ejsf-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--ejsf-accent);font-weight:900}
.ecojunk-sf .ejsf-pricing-top{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.ecojunk-sf .ejsf-load-image{max-width:420px}
.ecojunk-sf .ejsf-load-img{width:100%;height:auto;display:block;border-radius:8px}
.ecojunk-sf .ejsf-price-block{text-align:center}
.ecojunk-sf .ejsf-price-label{font-weight:800;margin-bottom:6px}
.ecojunk-sf .ejsf-price-amount{font-size:36px;font-weight:900;letter-spacing:.5px}
.ecojunk-sf .ejsf-discount-note{margin-top:8px;font-weight:700;color:#0d2630}
.ecojunk-sf .ejsf-slider-wrap{max-width:560px;margin:16px auto}
.ecojunk-sf .ejsf-slider{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:8px;
  border-radius:6px;
  background:linear-gradient(to right,#6cc24a 0%,#6cc24a var(--ejsf-progress,0%),#e5e7eb var(--ejsf-progress,0%),#e5e7eb 100%);
  outline:none;
  cursor:pointer;
}
.ecojunk-sf .ejsf-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  height:24px;
  width:24px;
  border-radius:50%;
  background:#6cc24a;
  border:3px solid #ffffff;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
  cursor:grab;
  margin-top:-8px;
  position:relative;
  z-index:2;
}
.ecojunk-sf .ejsf-slider::-moz-range-track{
  height:8px;
  background:#e5e7eb;
  border-radius:6px;
}
.ecojunk-sf .ejsf-slider::-moz-range-progress{
  background:#6cc24a;
  height:8px;
  border-radius:6px;
}
.ecojunk-sf .ejsf-slider::-moz-range-thumb{
  height:24px;
  width:24px;
  border-radius:50%;
  background:#6cc24a;
  border:3px solid #ffffff;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
  cursor:grab;
}
.ecojunk-sf .ejsf-slider:active::-webkit-slider-thumb,
.ecojunk-sf .ejsf-slider:active::-moz-range-thumb{
  cursor:grabbing;
  transform:scale(1.06);
}
.ecojunk-sf .ejsf-coupon-row{max-width:560px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ecojunk-sf .ejsf-coupon{display:flex;gap:8px;align-items:center;flex:1;min-width:280px}
.ecojunk-sf .ejsf-coupon-input{max-width:220px}
.ecojunk-sf .ejsf-coupon-msg{font-weight:700;font-size:13px;color:#0d2630}
.ecojunk-sf .ejsf-checkbox{display:flex;gap:10px;align-items:center;cursor:pointer;font-weight:700;color:#0d2630}
.ecojunk-sf .ejsf-checkbox input{position:absolute;opacity:0}
.ecojunk-sf .ejsf-checkbox-ui{width:18px;height:18px;border:2px solid #cfd6d9;border-radius:4px;display:inline-block;position:relative;background:#fff}
.ecojunk-sf .ejsf-checkbox input:checked + .ejsf-checkbox-ui{border-color:var(--ejsf-accent);background:var(--ejsf-accent)}
.ecojunk-sf .ejsf-checkbox input:checked + .ejsf-checkbox-ui:after{content:"✓";position:absolute;left:2px;top:-2px;color:#1a1a1a;font-weight:900}
.ecojunk-sf .ejsf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:780px;margin:0 auto}
.ecojunk-sf .ejsf-field.full{grid-column:1 / -1}
.ecojunk-sf .ejsf-field.half{grid-column:span 1}
.ecojunk-sf .ejsf-textarea{resize:vertical}
.ecojunk-sf .ejsf-linkbtn{border:0;background:var(--ejsf-primary);color:#fff;padding:8px 10px;border-radius:4px;font-weight:800;font-size:12px;cursor:pointer;margin-top:8px}
.ecojunk-sf .ejsf-summary{border:1px solid #d8dee2;border-radius:8px;padding:14px;background:#f8fafc}
.ecojunk-sf .ejsf-summary-title{font-weight:900;margin-bottom:8px}
.ecojunk-sf .ejsf-summary-row{margin:4px 0;color:#0d2630}
.ecojunk-sf .ejsf-summary-label{font-weight:800}
.ecojunk-sf .ejsf-success{max-width:780px;margin:0 auto;padding:26px;text-align:center;font-weight:900;font-size:18px}
.ecojunk-sf .ejsf-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:999999}
.ecojunk-sf .ejsf-modal-inner{background:#fff;border-radius:10px;max-width:520px;width:100%;padding:18px 18px 14px;position:relative}
.ecojunk-sf .ejsf-modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:26px;cursor:pointer}
@media (max-width:720px){
  .ecojunk-sf .ejsf-title{font-size:22px}
  .ecojunk-sf .ejsf-body{padding:16px}
  .ecojunk-sf .ejsf-btn{min-width:130px;padding:12px 18px;font-size:16px}
  .ecojunk-sf .ejsf-appointment{grid-template-columns:1fr}
  .ecojunk-sf .ejsf-grid{grid-template-columns:1fr}
  .ecojunk-sf .ejsf-field.half{grid-column:1 / -1}
  .ecojunk-sf .ejsf-coupon-row{justify-content:flex-start}
}
