
/* =========================================================
   دست دوست — Help request form (PHASE E)
   PHASE D hit-targets and invalid-group styles are preserved.
   ========================================================= */

.dd-request-page{
  --dd-teal:#0f766e;
  --dd-dark:#123f3d;
  --dd-mint:#eaf6f3;
  --dd-gold:#e4a923;
  --dd-cream:#fffdf8;
  --dd-text:#173b3a;
  --dd-muted:#71817f;
  --dd-border:#e4ecea;
  --dd-fs-xs:12px;
  --dd-fs-sm:14px;
  --dd-fs-base:16px;
  --dd-fs-md:17px;
  --dd-fs-lg:20px;
  --dd-fs-xl:24px;
  direction:rtl;
  background:var(--dd-cream);
  color:var(--dd-text);
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif;
  font-size:var(--dd-fs-base);
  line-height:1.85;
  overflow-x:clip;
}

.dd-container{width:min(760px,calc(100% - 32px));margin:auto}

.dd-request-hero{
  background:linear-gradient(180deg,#f3faf8,#fffdf8);
  border-bottom:1px solid #e9efed;
  padding:18px 0 8px;
}
.dd-breadcrumb{font-size:var(--dd-fs-sm);color:#81908e;margin:0}
.dd-request-page .screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal
}

.dd-form-wrap{padding:20px 0 80px}

.dd-progress{margin:0 auto 22px}
.dd-progress-compact{display:none;flex-direction:column;gap:8px;margin-bottom:14px}
.dd-progress-compact span:first-child{font-size:var(--dd-fs-sm);font-weight:800;color:var(--dd-teal)}
.dd-progress-bar{display:block;height:4px;background:#dce9e6;border-radius:99px;overflow:hidden}
.dd-progress-bar span{display:block;width:33.333%;height:100%;background:var(--dd-teal);transition:width .25s ease}
.dd-progress-steps{
  list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:6px;position:relative
}
.dd-progress-steps::before{
  content:"";position:absolute;right:8%;left:8%;top:18px;height:2px;background:#dce9e6;z-index:0
}
.dd-progress-btn{
  position:relative;z-index:1;background:none;border:0;padding:0;cursor:pointer;
  text-align:center;color:#8b9997;font:inherit;font-size:var(--dd-fs-xs)
}
.dd-progress-btn b{
  width:36px;height:36px;background:white;border:2px solid #d8e5e2;border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:var(--dd-fs-sm)
}
.dd-progress-btn small{display:block;max-width:7.5rem;line-height:1.4}
.dd-progress-btn.is-current{color:var(--dd-teal);font-weight:800}
.dd-progress-btn.is-current b{background:var(--dd-teal);border-color:var(--dd-teal);color:#fff}
.dd-progress-btn.is-done{color:#1a6b5a}
.dd-progress-btn.is-done b{background:#1a6b5a;border-color:#1a6b5a;color:#fff}
.dd-progress-btn:disabled{cursor:default;opacity:.7}
.dd-progress-btn:focus-visible{outline:2px solid var(--dd-teal);outline-offset:3px;border-radius:10px}

.dd-form{display:grid;gap:20px}
.dd-card{
  background:#fff;border:1px solid var(--dd-border);border-radius:24px;padding:28px;
  box-shadow:0 8px 28px rgba(18,63,61,.04)
}
.dd-login-note p{margin:0 0 12px;line-height:2}
.dd-login-note{background:#fff7df;border-color:#f0e0a8}
.dd-form-error{background:#fff0f0;border-color:#f0caca}
.dd-form-error p,.dd-login-note p:last-child{margin:0}
.dd-submit-inline{display:inline-flex;width:auto;text-decoration:none;margin-top:4px;padding:12px 18px}

.dd-card-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}
.dd-number{
  flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:var(--dd-mint);color:var(--dd-teal);
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:var(--dd-fs-md)
}
.dd-card-title h2{font-size:var(--dd-fs-xl);margin:0 0 4px;line-height:1.45}
.dd-card-title p{font-size:var(--dd-fs-sm);color:var(--dd-muted);margin:0}

.dd-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dd-field{margin-bottom:18px;border:0;padding:0;min-width:0}
.dd-field:last-child{margin-bottom:0}
.dd-field>label,.dd-field>legend,.dd-need-fieldset legend,.dd-urgency-fieldset legend{
  display:block;font-size:var(--dd-fs-sm);font-weight:800;margin-bottom:8px;padding:0
}
.dd-field em,.dd-need-fieldset em{font-style:normal;color:#c65a4d}
.dd-optional{font-weight:600;color:var(--dd-muted);font-size:var(--dd-fs-xs)}
.dd-need-fieldset,.dd-urgency-fieldset{margin:0 0 22px}
.dd-inline-error{color:#c65a4d;font-size:var(--dd-fs-sm);margin:6px 0 0;line-height:1.7}
.dd-field input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),.dd-field select,.dd-field textarea{
  width:100%;border:1px solid #dfe9e6;background:#fcfefd;border-radius:14px;
  padding:14px 16px;font:inherit;font-size:var(--dd-fs-base);color:var(--dd-text);outline:none;transition:.2s
}
.dd-field textarea{resize:vertical;min-height:128px}
.dd-field input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):focus,
.dd-field select:focus,.dd-field textarea:focus{
  border-color:#77bcb3;box-shadow:0 0 0 4px rgba(15,118,110,.08);background:#fff
}
.dd-field.dd-field-invalid input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
.dd-field.dd-field-invalid select,.dd-field.dd-field-invalid textarea{
  border-color:#e8b4ad
}
.dd-field input::placeholder,.dd-field textarea::placeholder{color:#a3afad}
.dd-help{font-size:var(--dd-fs-xs);color:#899795;margin-top:6px;line-height:1.8}

.dd-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dd-choice-two{grid-template-columns:1fr 1fr}
.dd-choice-three{grid-template-columns:repeat(3,1fr)}
.dd-choice,.dd-need{position:relative;cursor:pointer;display:block}
.dd-choice input,.dd-need input{
  position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:1;cursor:pointer;
  appearance:none;-webkit-appearance:none
}
.dd-choice span,.dd-need span{pointer-events:none;position:relative;z-index:0}
.dd-choice span{
  display:block;border:1px solid var(--dd-border);border-radius:16px;padding:16px;
  transition:.2s;background:#fff;min-height:100%
}
.dd-choice input:checked+span{border-color:#7cbdb6;background:#f2faf8;box-shadow:0 0 0 3px rgba(15,118,110,.06)}
.dd-choice input:focus-visible+span,.dd-need input:focus-visible+span{
  box-shadow:0 0 0 3px rgba(15,118,110,.22)
}
.dd-choice b,.dd-choice small{display:block}
.dd-choice b{font-size:var(--dd-fs-base)}
.dd-choice small{font-size:var(--dd-fs-sm);color:var(--dd-muted);margin-top:4px}

.dd-info-box{background:#f8fbfa;border:1px dashed #b8d4cf;border-radius:16px;padding:16px;margin-bottom:20px}
.dd-info-box .dd-grid{margin-bottom:4px}
.dd-info-box .dd-field:last-child{margin-bottom:0}

.dd-need-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.dd-need-grid:focus{outline:none}
.dd-need-grid.dd-field-invalid{
  outline:2px solid #e8b4ad;outline-offset:4px;border-radius:12px
}
.dd-need-grid.dd-field-invalid .dd-need span{border-color:#e8b4ad}
.dd-need span{
  min-height:124px;border:1px solid var(--dd-border);border-radius:18px;padding:16px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;transition:.2s;background:#fff
}
.dd-need-icon{font-style:normal;font-size:26px;line-height:1;display:block;margin-bottom:8px}
.dd-need b{font-size:var(--dd-fs-base);margin-top:0}
.dd-need small{font-size:var(--dd-fs-xs);color:var(--dd-muted);margin-top:4px}
.dd-need input:checked+span{
  border-color:#79bdb5;background:#f2faf8;box-shadow:0 0 0 3px rgba(15,118,110,.08)
}
@media (prefers-reduced-motion:no-preference){
  .dd-need input:checked+span{transform:translateY(-1px)}
}

.dd-urgency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dd-urgency span{min-height:92px;padding:14px}

.dd-location-panel{
  background:#f8fbfa;border:1px solid #e4eeeb;border-radius:18px;padding:18px 16px 8px;margin-bottom:20px
}

.dd-confirm-list{display:grid;gap:10px;margin:8px 0 4px}
.dd-confirm{
  display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--dd-border);
  border-radius:16px;padding:16px;cursor:pointer;min-height:56px
}
.dd-confirm input{
  appearance:auto;-webkit-appearance:checkbox;
  width:22px;height:22px;min-width:22px;margin:2px 0 0;flex:0 0 auto;
  position:static;inset:auto;opacity:1;z-index:auto;accent-color:var(--dd-teal)
}
.dd-confirm-text,.dd-confirm span{display:block;font-size:var(--dd-fs-base);font-weight:700;line-height:1.8;pointer-events:auto}
.dd-rules-link{
  color:var(--dd-teal);text-decoration:underline;text-underline-offset:3px;font-weight:800
}
.dd-rules-link:hover{color:#0a635d}
.dd-rules-link:focus-visible{outline:2px solid var(--dd-teal);outline-offset:3px;border-radius:4px}
.dd-confirm:has(input:checked){border-color:#7cbdb6;background:#f2faf8}
.dd-confirm-list.dd-field-invalid .dd-confirm{border-color:#e8b4ad}
.dd-confirm-list .dd-inline-error{margin:0}

.dd-submit{
  width:100%;border:0;border-radius:14px;background:var(--dd-teal);color:#fff;
  padding:16px;font:inherit;font-weight:900;font-size:var(--dd-fs-md);cursor:pointer;margin-top:8px;transition:.2s
}
.dd-submit:hover{background:#0a635d}
.dd-submit:disabled{opacity:.7;cursor:wait}

.dd-form-nav{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.dd-form-nav .dd-submit{margin-top:0;flex:1}
.dd-form-prev{
  background:#fff;border:1px solid #dce8e3;border-radius:12px;padding:12px 18px;
  font:inherit;cursor:pointer;color:var(--dd-text)
}
.dd-form-prev:focus-visible,.dd-submit:focus-visible{outline:2px solid var(--dd-teal);outline-offset:2px}

@media(max-width:1024px){
  .dd-need-grid{grid-template-columns:repeat(2,1fr)}
  .dd-urgency-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
  .dd-progress-compact{display:flex}
  .dd-progress-steps small{display:none}
  .dd-progress-steps::before{right:10%;left:10%;top:16px}
  .dd-choice-three{grid-template-columns:1fr}
  .dd-grid.two{grid-template-columns:1fr}
  .dd-container{width:min(100% - 24px,760px)}
}

@media(max-width:650px){
  .dd-request-hero{padding:14px 0 4px}
  .dd-form-wrap{padding:16px 0 64px}
  .dd-card{padding:18px;border-radius:20px}
  .dd-card-title{margin-bottom:18px}
  .dd-card-title h2{font-size:var(--dd-fs-lg)}
  .dd-need-grid{gap:9px}
  .dd-need span{min-height:108px;padding:13px}
  .dd-need-icon{font-size:22px}
  .dd-progress-btn b{width:32px;height:32px}
  .dd-form-nav{flex-direction:column-reverse}
  .dd-form-prev,.dd-form-nav .dd-submit{width:100%}
}

@media(max-width:360px){
  .dd-need-grid{grid-template-columns:1fr 1fr;gap:8px}
  .dd-need span{min-height:100px;padding:11px}
  .dd-choice span{padding:14px}
}

.dd-request-success{
  position:fixed;inset:0;z-index:3000;
  display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(247,251,249,.94);
  backdrop-filter:blur(8px);transition:opacity .28s ease
}
.dd-request-success.is-done{opacity:0;pointer-events:none}
.dd-request-success-card{
  width:min(480px,100%);text-align:center;background:#fff;
  border:1px solid #cfe9e2;border-radius:28px;padding:44px 28px;
  box-shadow:0 22px 50px rgba(18,63,61,.14)
}
.dd-request-success-icon{
  width:84px;height:84px;margin:0 auto 20px;display:grid;place-items:center;
  border-radius:50%;background:#eaf7f4;color:#0f766e
}
.dd-request-success-icon svg{width:42px;height:42px;display:block}
.dd-request-success-text{
  margin:0;font-size:clamp(22px,4.6vw,30px);font-weight:800;line-height:1.75;color:#0f766e
}
.dd-request-success-sub{
  margin:10px 0 0;font-size:16px;line-height:1.8;color:#3d6b66;font-weight:600
}
