/* «درخواست مشاوره» — consultation dialog. Prefix: site-consult. Opaque fallback first, glass under @supports.
   Desktop (≥861px): header + two columns (form | blueprint plate with next steps and direct channels).
   Medium (681–860px): one column, plate below. Mobile (≤680px): bottom sheet with a sticky action bar. */

.site-consult-lock{overflow:hidden;overscroll-behavior:none;scrollbar-gutter:stable}
.site-consult-lock .site-page{overflow:hidden}

.site-consult{--site-consult-pad:32px;--site-consult-row:20px;--site-consult-ease:cubic-bezier(.22,1,.36,1);--site-consult-crop:rgba(13,184,168,.55);position:fixed;isolation:isolate;box-sizing:border-box;width:min(960px,calc(100% - 48px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100svh - 32px);margin:auto;padding:var(--site-consult-pad);border:1px solid rgba(230,243,241,.16);border-radius:24px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3b5a60 transparent;background:linear-gradient(118deg,transparent 22%,rgba(255,255,255,.045) 40%,rgba(255,255,255,.015) 52%,transparent 64%) 0 0/100% 520px no-repeat,#0f1e24;color:#e6f3f1;font:400 15px/1.7 IRANYekanX,system-ui,sans-serif;text-align:start;box-shadow:0 16px 48px rgba(0,0,0,.25),0 32px 96px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.1)}
.site-consult *,.site-consult *:before,.site-consult *:after{box-sizing:border-box}
.site-consult::backdrop{background:rgba(2,8,13,.8)}
/* Power line: a lit segment of the top edge, on the reading-start side. */
.site-consult:before{content:"";position:absolute;top:0;inset-inline-start:40px;width:min(280px,45%);height:1px;pointer-events:none;background:linear-gradient(270deg,rgba(0,209,193,0),#00d1c1 22%,rgba(13,184,168,.5) 60%,rgba(13,184,168,0));box-shadow:0 0 10px rgba(0,209,193,.45)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .site-consult{background:linear-gradient(118deg,transparent 22%,rgba(255,255,255,.045) 40%,rgba(255,255,255,.015) 52%,transparent 64%) 0 0/100% 520px no-repeat,rgba(18,48,55,.82);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
  .site-consult__aside{background-color:rgba(5,13,20,.42)}
}
.site-consult [hidden]{display:none!important}
.site-consult :where(button,input,textarea){font:inherit;letter-spacing:normal}
.site-consult :is(a,button,input,textarea):focus{outline:none}
.site-consult :is(a,button,input,textarea):focus-visible{outline:3px solid #2dd4bf;outline-offset:2px}
.site-consult__icon{display:block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Close */
.site-consult__close{position:absolute;top:20px;inset-inline-end:20px;z-index:3;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;color:#a9bdc0;cursor:pointer;transition:background-color .14s var(--site-consult-ease),border-color .14s var(--site-consult-ease),color .14s var(--site-consult-ease)}
.site-consult__close:hover{border-color:rgba(230,243,241,.16);background:rgba(230,243,241,.06);color:#e6f3f1}

/* Header */
.site-consult__head{margin-bottom:28px}
.site-consult__title{margin:0;padding-inline-end:56px;color:#e6f3f1;font-size:26px;font-weight:700;line-height:1.5}
.site-consult__title:focus,.site-consult__success-title:focus{outline:none}
.site-consult__intro{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:4px}
.site-consult__lead{flex:1 1 320px;min-width:0;margin:0;color:#a9bdc0;font-size:15px;line-height:1.8;text-wrap:pretty}
.site-consult__product{display:flex;align-items:stretch;flex:0 0 auto;max-width:100%;min-height:44px;border:1px solid rgba(13,184,168,.45);border-radius:12px;background:rgba(13,184,168,.08);color:#a9bdc0;font-size:14px;line-height:1.6}
.site-consult__product-copy{align-self:center;min-width:0;padding:8px 14px;overflow-wrap:anywhere}
.site-consult__product bdi{color:#e6f3f1;font-weight:700}
.site-consult__product-remove{display:grid;place-items:center;flex:none;width:44px;min-height:42px;margin:0;padding:0;border:0;border-inline-start:1px solid rgba(13,184,168,.3);border-start-end-radius:11px;border-end-end-radius:11px;background:transparent;color:#a9bdc0;cursor:pointer;transition:background-color .14s var(--site-consult-ease),color .14s var(--site-consult-ease)}
.site-consult__product-remove:hover{background:rgba(13,184,168,.14);color:#e6f3f1}
.site-consult__product-remove .site-consult__icon{width:18px;height:18px}

/* Body: form column + plate */
.site-consult__body{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:32px;align-items:stretch}
.site-consult__main{display:flex;flex-direction:column;min-width:0}

/* Form */
.site-consult__form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--site-consult-row) 16px;align-items:start}
.site-consult__field{display:grid;gap:8px;min-width:0}
.site-consult__field--wide,.site-consult__subjects,.site-consult__actions{grid-column:1/-1}
.site-consult__label{color:#e6f3f1;font-size:15px;font-weight:700;line-height:1.6}
.site-consult__label--optional{color:#a9bdc0;font-size:14px;font-weight:400}
.site-consult__input{display:block;width:100%;min-width:0;min-height:48px;margin:0;padding:11px 14px;border:1px solid #7b8b97;border-radius:12px;background:#0a1118;color:#e6f3f1;font-size:16px;line-height:1.5;-webkit-appearance:none;appearance:none;transition:border-color .14s var(--site-consult-ease),box-shadow .14s var(--site-consult-ease)}
.site-consult__input::placeholder{color:#7b8b97;opacity:1}
.site-consult__input:hover{border-color:#a9bdc0}
.site-consult__input[aria-invalid="true"]{border-color:#ff8c98;box-shadow:inset 0 0 0 1px #ff8c98}
.site-consult__input--phone{text-align:right}
.site-consult__textarea{min-height:80px;max-height:176px;resize:none;overflow-y:auto;field-sizing:content}
.site-consult__field-error{display:flex;align-items:flex-start;gap:6px;margin:0;color:#ff8c98;font-size:13px;line-height:1.7}
.site-consult__field-error .site-consult__icon{width:16px;height:16px;margin-top:3px}

/* Subject: four squared option tiles with a radio indicator */
.site-consult__subjects{min-width:0;margin:0;padding:0;border:0}
.site-consult__legend{float:none;padding:0;color:#a9bdc0;font-size:14px;font-weight:700;line-height:1.6}
.site-consult__options{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.site-consult__option{position:relative;display:flex;flex:1 0 auto;min-width:0;max-width:100%}
.site-consult__radio{position:absolute;top:0;inset-inline-start:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.site-consult__option-face{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 14px;border:1px solid rgba(169,189,192,.3);border-radius:12px;background:#0a1118;color:#a9bdc0;font-size:14px;line-height:1.5;cursor:pointer;transition:border-color .14s var(--site-consult-ease),background-color .14s var(--site-consult-ease),color .14s var(--site-consult-ease)}
.site-consult__option-face:before{content:"";flex:none;width:16px;height:16px;border:1.5px solid #7b8b97;border-radius:50%;transition:border-color .14s var(--site-consult-ease),background-color .14s var(--site-consult-ease),box-shadow .14s var(--site-consult-ease)}
.site-consult__option:hover .site-consult__option-face{border-color:rgba(169,189,192,.6);color:#e6f3f1}
.site-consult__radio:checked+.site-consult__option-face{border-color:#0db8a8;background:#0b2226;color:#e6f3f1}
.site-consult__radio:checked+.site-consult__option-face:before{border-color:#0db8a8;background:#0db8a8;box-shadow:inset 0 0 0 3px #0b2226}
.site-consult__radio:focus-visible+.site-consult__option-face{outline:3px solid #2dd4bf;outline-offset:2px}

/* Honeypot: off-screen, clipped, never focusable */
.site-consult__honey{position:absolute;top:0;inset-inline-start:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.site-consult__honey input{position:absolute;left:-10000px}

/* Actions: send error (full row), privacy line, submit */
.site-consult__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-top:4px}
.site-consult__send-error{position:relative;flex:1 1 100%;margin:0;padding:10px 14px;padding-inline-start:42px;border:1px solid rgba(255,140,152,.45);border-radius:12px;background:rgba(255,140,152,.07);color:#ff8c98;font-size:14px;line-height:1.7;text-wrap:pretty}
.site-consult__send-error .site-consult__icon{position:absolute;top:13px;inset-inline-start:14px;width:18px;height:18px}
.site-consult__send-error a{color:#e6f3f1;font-weight:700;text-decoration:underline;text-decoration-color:rgba(230,243,241,.5);text-underline-offset:4px;white-space:nowrap;border-radius:4px}
.site-consult__send-error a:hover{color:#e6f3f1;text-decoration-color:#e6f3f1}
.site-consult__privacy{display:flex;align-items:center;gap:8px;flex:1 1 220px;min-width:0;margin:0;color:#a9bdc0;font-size:13px;line-height:1.7}
.site-consult__privacy .site-consult__icon{width:18px;height:18px;color:#0db8a8}
.site-consult__submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:0 0 auto;min-width:200px;min-height:48px;margin:0;padding:0 24px;border:0;border-radius:12px;background:#0db8a8;color:#050d14;font-size:15px;font-weight:700;line-height:1.4;cursor:pointer;box-shadow:0 10px 26px rgba(13,184,168,.22);transition:background-color .14s var(--site-consult-ease),box-shadow .14s var(--site-consult-ease)}
.site-consult__submit:hover{background:#00d1c1;box-shadow:0 12px 30px rgba(0,209,193,.3)}
.site-consult__submit:active{background:#0ea89b}
.site-consult__submit:disabled{background:#0db8a8;box-shadow:none;cursor:progress}
.site-consult__submit[aria-busy="true"]:before{content:"";flex:none;width:18px;height:18px;border:2px solid rgba(5,13,20,.25);border-top-color:#050d14;border-radius:50%;animation:site-consult-spin .8s linear infinite}

/* Success */
.site-consult__success{display:grid;justify-items:start;margin-block:auto;padding-block:8px}
.site-consult__success-mark{display:grid;place-items:center;width:56px;height:56px;margin-bottom:20px;border:1px solid #54d7b5;border-radius:50%;color:#54d7b5;box-shadow:0 0 0 6px rgba(84,215,181,.08),0 0 24px rgba(84,215,181,.16)}
.site-consult__success-mark .site-consult__icon{width:26px;height:26px}
.site-consult__success-title{margin:0;color:#e6f3f1;font-size:24px;font-weight:700;line-height:1.5}
.site-consult__success-text{margin:8px 0 28px;color:#a9bdc0;font-size:15px;line-height:1.8}
.site-consult__done{display:inline-flex;align-items:center;justify-content:center;min-width:160px;min-height:48px;margin:0;padding:0 28px;border:1px solid #7b8b97;border-radius:12px;background:rgba(230,243,241,.04);color:#e6f3f1;font-size:15px;font-weight:700;line-height:1.4;cursor:pointer;transition:background-color .14s var(--site-consult-ease),border-color .14s var(--site-consult-ease)}
.site-consult__done:hover{border-color:#a9bdc0;background:rgba(230,243,241,.08)}
/* While the success view shows, the "fill in" lead and the product chip have served their purpose. */
.site-consult:has(.site-consult__form[hidden]) :is(.site-consult__lead,.site-consult__product){display:none}

/* Blueprint plate: crop marks, next steps on a power line, direct channels */
.site-consult__aside{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-width:0;padding:28px 24px 24px;border:1px solid rgba(230,243,241,.08);border-radius:20px;background-color:#0a1118;background-image:linear-gradient(var(--site-consult-crop),var(--site-consult-crop)),linear-gradient(var(--site-consult-crop),var(--site-consult-crop)),linear-gradient(var(--site-consult-crop),var(--site-consult-crop)),linear-gradient(var(--site-consult-crop),var(--site-consult-crop)),linear-gradient(var(--site-consult-crop),var(--site-consult-crop)),linear-gradient(var(--site-consult-crop),var(--site-consult-crop)),linear-gradient(var(--site-consult-crop),var(--site-consult-crop)),linear-gradient(var(--site-consult-crop),var(--site-consult-crop));background-repeat:no-repeat;background-size:14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px;background-position:top 12px right 12px,top 12px right 12px,top 12px left 12px,top 12px left 12px,bottom 12px right 12px,bottom 12px right 12px,bottom 12px left 12px,bottom 12px left 12px}
.site-consult__next{display:grid;gap:16px}
.site-consult__next-title{margin:0;color:#e6f3f1;font-size:14px;font-weight:700;line-height:1.6}
.site-consult__steps{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.site-consult__step{position:relative;padding-inline-start:24px;color:#a9bdc0;font-size:14px;line-height:1.7;text-wrap:pretty}
.site-consult__step:before{content:"";position:absolute;top:8px;inset-inline-start:0;width:9px;height:9px;border:1px solid #0db8a8;border-radius:50%;background:#0a1118;transition:background-color .24s var(--site-consult-ease),box-shadow .24s var(--site-consult-ease)}
.site-consult__step:not(:last-child):after{content:"";position:absolute;top:17px;inset-inline-start:4px;width:1px;height:calc(100% + 7px);background:rgba(13,184,168,.35)}
.site-consult:has(.site-consult__form[hidden]) .site-consult__step:first-child{color:#e6f3f1}
.site-consult:has(.site-consult__form[hidden]) .site-consult__step:first-child:before{border-color:#00d1c1;background:#00d1c1;box-shadow:0 0 0 4px rgba(0,209,193,.12),0 0 10px rgba(0,209,193,.7)}
.site-consult:has(.site-consult__form[hidden]) .site-consult__step:first-child:after{background:linear-gradient(180deg,#00d1c1,rgba(13,184,168,.35))}
.site-consult__direct{display:grid;gap:12px}
.site-consult__direct-title{margin:0;color:#a9bdc0;font-size:13px;line-height:1.6}
.site-consult__channels{display:flex;flex-wrap:wrap;gap:8px}
.site-consult__channel{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 1 44px;min-width:44px;height:44px;padding:0 12px;border:1px solid rgba(230,243,241,.14);border-radius:12px;background:rgba(230,243,241,.03);color:#a9bdc0;font-size:15px;line-height:1;text-decoration:none;transition:border-color .14s var(--site-consult-ease),background-color .14s var(--site-consult-ease),color .14s var(--site-consult-ease)}
.site-consult__channel--phone{flex-basis:100%;color:#e6f3f1}
.site-consult__channel--phone .site-consult__icon{color:#0db8a8}
.site-consult__channel:hover{border-color:rgba(0,209,193,.5);background:rgba(13,184,168,.07);color:#e6f3f1}
.site-consult__channel[aria-disabled="true"]{cursor:default}

/* Short desktop viewports: tighter rhythm so the default state never scrolls (1280×720, 1024×768). */
@media (max-height:800px) and (min-width:681px){
  .site-consult{--site-consult-pad:28px;--site-consult-row:16px}
  .site-consult__head{margin-bottom:24px}
  .site-consult__aside{gap:20px}
}

/* Medium: one column, plate below the form without the steps. */
@media (max-width:860px){
  .site-consult{width:min(640px,calc(100% - 48px))}
  .site-consult__body{grid-template-columns:minmax(0,1fr);gap:24px}
  .site-consult__next{display:none}
  .site-consult__aside{padding:20px 24px}
  .site-consult__direct{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
  .site-consult__channel{flex:0 0 44px}
  .site-consult__channel--phone{flex:0 0 auto;padding-inline:14px}
}

/* Mobile: bottom sheet */
@media (max-width:680px){
  .site-consult{--site-consult-pad:24px 16px 0;--site-consult-row:16px;inset:auto 0 0;width:100%;max-height:calc(100svh - 40px);margin:0;border-width:1px 0 0;border-radius:24px 24px 0 0}
  .site-consult:before{inset-inline-start:32px}
  .site-consult__close{top:14px;inset-inline-end:10px}
  .site-consult__title{font-size:22px}
  .site-consult__lead{flex-basis:100%;font-size:14px}
  .site-consult__head{margin-bottom:20px}
  /* Bottom space lives on the content, not on the scroller, so the sticky bar sits flush with the sheet edge. */
  .site-consult__body{gap:20px;padding-bottom:max(24px,calc(env(safe-area-inset-bottom) + 16px))}
  .site-consult__form{grid-template-columns:minmax(0,1fr)}
  .site-consult__label{font-size:15px}
  .site-consult__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-consult__option-face{gap:8px;padding:10px 12px}
  .site-consult__actions{position:sticky;bottom:0;z-index:2;gap:8px;margin-inline:-16px;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid rgba(185,221,227,.12);background:#0f1e24}
  .site-consult__privacy{flex-basis:100%;font-size:12px}
  .site-consult__privacy .site-consult__icon{width:16px;height:16px}
  .site-consult__submit{flex:1 1 100%;width:100%}
  .site-consult__success{padding-block:4px 8px}
  .site-consult__success-title{font-size:22px}
  .site-consult__success-text{margin-bottom:24px;font-size:14px}
  .site-consult__done{width:100%}
  .site-consult__aside{padding:20px 16px 16px;border-radius:16px;background-position:top 10px right 10px,top 10px right 10px,top 10px left 10px,top 10px left 10px,bottom 10px right 10px,bottom 10px right 10px,bottom 10px left 10px,bottom 10px left 10px}
  @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
    .site-consult__actions{background:rgba(15,40,46,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  }
}
@media (max-width:379px){
  .site-consult__channels{flex:1 1 100%}
  .site-consult__channel{flex:1 1 44px}
  .site-consult__channel--phone{flex:1 1 100%}
}

/* Motion: 240ms entrance, 140ms hovers. */
.site-consult[open]{animation:site-consult-in .24s cubic-bezier(.22,1,.36,1) both}
.site-consult[open]::backdrop{animation:site-consult-fade .24s cubic-bezier(.22,1,.36,1) both}
@media (max-width:680px){.site-consult[open]{animation-name:site-consult-rise}}
@keyframes site-consult-in{from{opacity:0;transform:translateY(12px)}}
@keyframes site-consult-rise{from{opacity:0;transform:translateY(40px)}}
@keyframes site-consult-fade{from{opacity:0}}
@keyframes site-consult-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .site-consult[open],.site-consult[open]::backdrop{animation:none}
  .site-consult *,.site-consult *:before,.site-consult *:after{transition:none!important}
  .site-consult__submit[aria-busy="true"]:before{animation:none}
}
