/* VakilMe — Services workflow */
.services-page{max-width:1168px;margin:28px auto 80px;padding:0 16px;direction:rtl;color:var(--navy)}
.services-page-hero{text-align:center;padding:20px 10px 24px}.services-eyebrow{display:inline-block;color:#078cae;font-size:12px;font-weight:800;margin-bottom:7px}.services-page-hero h1{font-size:34px;margin:0 0 8px;font-weight:800}.services-page-hero p{margin:0;color:var(--muted);font-size:14px;line-height:2}
.service-selector{background:#fff;border:1.5px solid var(--navy);border-radius:28px;padding:22px;box-shadow:0 12px 30px rgba(0,21,68,.045)}
.service-selector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-choice{min-height:142px;text-align:right;background:#fbfcfd;border:1px solid #cfd7e2;border-radius:20px;padding:18px;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto 1fr;column-gap:13px;transition:.22s;color:var(--navy)}.service-choice:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,21,68,.08)}.service-choice.is-selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(243,194,104,.2);background:linear-gradient(135deg,#fff,#fffaf0)}.service-choice-icon{grid-row:1/3;width:46px;height:46px;border-radius:15px;background:#eef9fb;display:grid;place-items:center;font-size:23px;color:#078cae}.service-choice strong{font-size:15px;align-self:end}.service-choice small{font-size:10px;line-height:1.9;color:#697586;margin-top:5px}
.service-workspace{margin-top:24px;background:#fff;border:1.5px solid var(--navy);border-radius:28px;padding:27px;box-shadow:0 12px 30px rgba(0,21,68,.04)}.service-workspace-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.service-workspace-head h2{margin:0;font-size:25px}.workflow-status{border:1px solid var(--gold);border-radius:99px;padding:8px 13px;font-size:11px;font-weight:800;background:#fffaf0}
.workflow-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e2e7ef;margin-bottom:24px}.workflow-tab{padding:15px 12px;display:flex;justify-content:center;align-items:center;gap:9px;border-bottom:3px solid transparent;color:#8993a2}.workflow-tab span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef1f5;font-weight:800}.workflow-tab.is-active{color:var(--navy);border-color:var(--gold)}.workflow-tab.is-active span{background:var(--gold);color:var(--navy)}.workflow-tab.is-complete{color:#078cae}.workflow-tab.is-complete span{background:#02bde8;color:#fff}.workflow-tab:disabled{cursor:not-allowed;opacity:.75}
.service-coming{min-height:280px;display:grid;place-items:center;text-align:center;align-content:center;gap:8px;padding:40px}.service-coming h3{margin:0;font-size:23px}.service-coming p{max-width:620px;margin:0 0 12px;color:#697586;font-size:12px;line-height:2}
.workflow-panel[hidden]{display:none}.form-section-title{display:flex;gap:13px;align-items:flex-start;margin:4px 0 18px}.form-section-title>span{font-size:11px;color:#078cae;font-weight:900;border-bottom:2px solid var(--gold);padding-bottom:3px}.form-section-title h3{font-size:17px;margin:0 0 4px}.form-section-title p{font-size:11px;color:#7a8492;margin:0}.form-section-title.second{margin-top:30px;padding-top:25px;border-top:1px solid #edf0f4}
.form-grid{display:grid;gap:15px}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:grid;gap:7px;min-width:0}.field.full{margin-top:2px}.field>span{font-size:12px;font-weight:800}.field em{font-size:9px;color:#8a94a3;font-style:normal;font-weight:500}.field.required>span:after{content:' *';color:#d34d4d}.field input,.field select,.field textarea{width:100%;border:1px solid #d7dde7;border-radius:13px;background:#fff;color:var(--navy);padding:12px 13px;outline:0;font-size:12px;transition:.2s}.field select{height:46px}.field textarea{min-height:150px;resize:vertical;line-height:2}.field input:focus,.field select:focus,.field textarea:focus{border-color:#02bde8;box-shadow:0 0 0 3px rgba(2,189,232,.1)}
.rich-input{border:1px solid #d7dde7;border-radius:15px;overflow:hidden;background:#fff}.rich-input textarea{border:0!important;border-radius:0!important;box-shadow:none!important}.rich-tools{display:flex;align-items:center;gap:7px;border-top:1px solid #edf0f4;padding:8px 10px;background:#fafbfd}.tool-button{display:inline-flex;align-items:center;gap:5px;border:1px solid #dfe4eb;background:#fff;border-radius:9px;padding:7px 10px;color:var(--navy);font-size:10px;font-weight:700}.tool-button:hover{border-color:var(--gold)}.recording-bar{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff5f3;color:#a32b25;font-size:11px}.record-dot{width:8px;height:8px;border-radius:50%;background:#d8463e;animation:pulseRecord 1s infinite}.recording-bar button{margin-right:auto;color:#a32b25;font-weight:800;font-size:10px}.attachment-name{font-size:10px;color:#667085;margin-top:7px}.rich-input+ .recording-bar{}#voice-preview{width:100%;height:38px;margin-top:8px}.form-actions,.selection-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}.primary-action{border:0;border-radius:99px;padding:12px 18px;background:var(--navy);color:#fff;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(0,21,68,.12);transition:.2s}.primary-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 22px rgba(0,21,68,.16)}.primary-action:disabled{opacity:.42;cursor:not-allowed}.step-feedback,.final-feedback{font-size:11px;color:#b42318}.step-feedback.success,.final-feedback.success{color:#087443;background:#ecfdf3;padding:9px 12px;border-radius:9px}.step-feedback.error,.final-feedback.error{color:#a22d26;background:#fff3f2;padding:9px 12px;border-radius:9px}
.filters-box{background:#fbfcfd;border:1px solid #e0e5ec;border-radius:20px;padding:20px}.filter-grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr 1fr;gap:13px;align-items:end}.rating-filter{height:46px;display:flex;align-items:center;gap:3px;direction:ltr;padding:0 8px;border:1px solid #d7dde7;border-radius:13px;background:#fff}.rating-filter button{font-size:25px;line-height:1;color:#d7dde5;transition:.15s;padding:2px}.rating-filter button.filled{color:var(--gold)}.rating-filter button:hover{transform:scale(1.08)}
.consultants-area{margin-top:27px}.consultants-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.consultants-heading h3{margin:0;font-size:19px}.consultants-heading>span:last-child{font-size:10px;color:#7a8492}.consultants-scroll{overflow:hidden}.consultants-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-height:530px;overflow-y:auto;padding:2px 2px 10px;scrollbar-color:var(--gold) #eef1f5;scrollbar-width:thin}.consultant-card{border:1.3px solid #cbd3df;border-radius:18px;background:#fff;overflow:hidden;transition:.2s;position:relative}.consultant-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,21,68,.08)}.consultant-card.is-selected{border:2px solid var(--gold);box-shadow:0 0 0 3px rgba(243,194,104,.18)}.consultant-card.is-hidden{display:none}.consultant-card-top{position:relative}.consultant-photo{height:135px;background:#f7f9fb;display:grid;place-items:center;color:#c9d2df;overflow:hidden}.consultant-photo img{width:100%;height:100%;object-fit:cover}.consultant-photo svg{width:66px;height:66px}.consultant-rating{position:absolute;top:9px;left:9px;background:rgba(255,255,255,.94);border-radius:99px;padding:4px 6px;display:flex;gap:1px;direction:ltr}.consultant-rating span{font-size:12px;color:#d9dfe7}.consultant-rating span.filled{color:var(--gold)}.consultant-body{padding:12px}.consultant-body h4{margin:0 0 4px;font-size:14px}.consultant-specialty{font-size:10px;color:#078cae;font-weight:700;margin:0 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.consultant-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.consultant-meta span{font-size:9px;background:#f1f4f7;border-radius:99px;padding:5px 7px;color:#596474}.more-lawyer{display:block;color:#078cae;font-size:10px;font-weight:800;margin-bottom:9px}.select-consultant{width:100%;border:1px solid var(--gold);border-radius:99px;padding:8px;color:var(--navy);font-size:10px;font-weight:800;background:#fff}.consultant-card.is-selected .select-consultant{background:var(--gold)}.consultants-scrollbar{height:5px;background:#edf0f4;border-radius:99px;margin:9px 2px 0;overflow:hidden}.consultants-scrollbar span{display:block;height:100%;width:30%;background:var(--gold);border-radius:99px;transition:.2s}
.selection-footer{border-top:1px solid #edf0f4;padding-top:18px}.selected-consultant{font-size:11px;color:#657080}.selected-consultant strong{color:var(--navy)}
.lawyer-modal[hidden],.contact-modal[hidden]{display:none}.lawyer-modal,.contact-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}.lawyer-modal-backdrop,.contact-modal-backdrop{position:absolute;inset:0;background:rgba(0,12,36,.58);backdrop-filter:blur(3px)}.lawyer-modal-dialog,.contact-modal-dialog{position:relative;z-index:2;width:min(560px,100%);max-height:85vh;overflow:auto;background:#fff;border:1px solid #cbd3df;border-radius:24px;padding:27px;box-shadow:0 25px 70px rgba(0,0,0,.22)}.modal-close{position:absolute;top:12px;left:12px;width:34px;height:34px;border-radius:50%;background:#f2f4f7;color:var(--navy);font-size:22px}.lawyer-modal-dialog h4{font-size:22px;margin:0 0 15px}.lawyer-modal-dialog p{font-size:12px;line-height:2;color:#566273;margin:7px 0}.lawyer-modal-dialog a{display:inline-flex;margin-top:12px;color:#078cae;font-weight:800}.contact-modal-dialog h3{font-size:22px;margin:0 0 8px}.contact-modal-dialog>p{font-size:11px;line-height:2;color:#687384;margin:0 0 18px}.contact-modal-dialog form{display:grid;gap:13px}
@keyframes pulseRecord{50%{opacity:.35}}
@media (max-width:1050px){.service-selector-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:1fr 1fr}.consultants-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.services-page{margin-top:18px;padding:0 10px}.services-page-hero h1{font-size:27px}.service-selector,.service-workspace{padding:16px;border-radius:22px}.service-selector-grid{grid-template-columns:repeat(2,1fr);gap:9px}.service-choice{min-height:135px;padding:12px;grid-template-columns:38px 1fr;column-gap:8px}.service-choice-icon{width:38px;height:38px;border-radius:12px;font-size:18px}.service-choice strong{font-size:11px}.service-choice small{font-size:8px}.service-workspace-head{display:block}.service-workspace-head h2{font-size:21px}.workflow-tabs{grid-template-columns:1fr}.workflow-tab{justify-content:flex-start}.form-grid.two,.filter-grid{grid-template-columns:1fr}.form-actions,.selection-footer{display:grid;grid-template-columns:1fr}.primary-action{justify-content:center}.consultants-grid{grid-template-columns:repeat(2,1fr);max-height:600px}.consultant-photo{height:120px}.consultant-body{padding:9px}.consultant-body h4{font-size:11px}.consultant-specialty{font-size:8px}.consultant-meta span{font-size:8px}.more-lawyer,.select-consultant{font-size:9px}.lawyer-modal-dialog,.contact-modal-dialog{padding:22px 17px;border-radius:20px}}
@media (max-width:430px){.service-selector-grid{grid-template-columns:1fr}.consultants-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.services-page *,.services-page *::before,.services-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Contract workflow */
.service-workflow[hidden]{display:none!important}
.contract-detail-form{display:block}
.contract-large-textarea{min-height:230px!important;max-height:55vh!important;overflow-y:auto!important;resize:vertical!important;line-height:2.15!important}
.contract-detail-form>.field.full{margin-top:16px}
.file-drop{border:1px dashed #cbd4df;border-radius:15px;background:#fbfcfd;min-height:104px;padding:16px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;position:relative;text-align:center;transition:.2s}
.file-drop:hover{border-color:var(--gold);background:#fffdf8}
.file-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}
.file-drop>span{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:99px;padding:8px 14px;font-size:10px;font-weight:800;color:var(--navy);background:#fff}
.contract-file-name{width:100%;font-size:10px;color:#697586;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.voice-field{border:1px solid #d7dde7;border-radius:15px;padding:12px;background:#fbfcfd}
.voice-field .recording-bar{margin:10px 0 0}
.voice-field audio{display:block;width:100%;height:40px;margin-top:10px}
.contract-final-actions{border-top:1px solid #edf0f4;padding-top:18px}
.jalali-picker{position:relative}
.jalali-picker-trigger{width:100%;height:46px;border:1px solid #d7dde7;border-radius:13px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px;font-size:12px;font-family:inherit;cursor:pointer;transition:.2s}
.jalali-picker-trigger:hover,.jalali-picker-trigger:focus{border-color:#02bde8;box-shadow:0 0 0 3px rgba(2,189,232,.1);outline:0}
.jalali-calendar{position:absolute;z-index:50;top:calc(100% + 9px);right:0;width:min(330px,100vw - 40px);background:#fff;border:1px solid #d8dee7;border-radius:20px;padding:14px;box-shadow:0 22px 60px rgba(0,21,68,.16)}
.jalali-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:7px;margin-bottom:12px}
.jalali-calendar-head button{width:36px;height:36px;border:1px solid #e0e5eb;border-radius:50%;background:#fff;color:var(--navy);font-size:22px;line-height:1;cursor:pointer}
.jalali-calendar-head strong{text-align:center;font-size:12px}
.jalali-weekdays,.jalali-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.jalali-weekdays{margin-bottom:5px;color:#8a94a3;font-size:10px;font-weight:800}
.calendar-day,.calendar-empty{min-height:34px}
.calendar-day{border:0;border-radius:10px;background:#f7f9fb;color:var(--navy);font-family:inherit;font-size:11px;cursor:pointer}
.calendar-day:hover{background:#fff6e6}
.calendar-day.is-selected{background:var(--gold);font-weight:900}
.calendar-today{width:100%;border:0;border-top:1px solid #edf0f4;background:transparent;margin-top:9px;padding-top:10px;color:#078cae;font-family:inherit;font-size:10px;font-weight:800;cursor:pointer}
.contact-modal[hidden]{display:none}
@media (max-width:760px){.contract-large-textarea{min-height:190px!important}.jalali-calendar{position:fixed;top:50%;right:50%;transform:translate(50%,-50%);width:min(340px,calc(100vw - 28px))}.contract-detail-form>.form-grid.two{grid-template-columns:1fr}.file-drop{min-height:92px}}
