/* Public consultation landing page. All styles are isolated from other pages. */
.consultation-page {
  --c-ink: #233344; --c-muted: #718090; --c-line: #e1e7ec; --c-brand: #ffc000;
  background: #f7f8fa; color: var(--c-ink); direction: rtl; min-height: 70vh;
  font: 13px/1.9 'Vazirmatn', Tahoma, sans-serif; padding: 24px 0 48px;
}
.consultation-page *, .consultation-page *::before, .consultation-page *::after { box-sizing: border-box; }
.consultation-page a { text-decoration: none; }
.consultation-page button, .consultation-page input, .consultation-page textarea { font: inherit; }
.consultation-page button { cursor: pointer; }
.consultation-page :is(a, button, input, textarea):focus-visible { outline: 3px solid #bd8b12; outline-offset: 3px; }
.consultation-page .c-container { width: min(100% - 48px, 1120px); margin: 0 auto; padding: 0; }
.consultation-page .c-breadcrumb { display: flex; align-items: center; gap: 12px; color: var(--c-muted); font-size: 10px; margin-bottom: 18px; }
.consultation-page .c-breadcrumb a { color: #566675; }
.consultation-page .c-eyebrow { display: block; font-size: 10px; font-weight: 600; color: #937119; margin-bottom: 7px; }
.consultation-page .c-hero { position: relative; overflow: hidden; padding: 0; background: #fff; border: 1px solid var(--c-line); border-radius: 24px; }
.consultation-page .c-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 56px; padding: 32px 40px; }
.consultation-page .c-hero-title { font-size: clamp(26px, 3vw, 36px); font-weight: 800; line-height: 1.65; margin: 4px 0 14px; color: var(--c-ink); }
.consultation-page .c-hero-title span { color: #47685d; }
.consultation-page .c-hero-text { max-width: 550px; }
.consultation-page .c-hero-text p { font-size: 13px; color: #637283; line-height: 2.1; margin: 0 0 20px; }
.consultation-page .c-tracking-link { display: inline-flex; align-items: center; gap: 9px; color: #32475b; font-size: 11px; border-bottom: 1px solid #d4dce2; padding-bottom: 6px; }
.consultation-page .c-tracking-link > span { margin-right: 16px; }
.consultation-page .c-tracking-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.consultation-page .c-hero-ill { position: relative; text-align: center; padding: 16px 0; }
.consultation-page .c-hero-ill::before { content: ''; position: absolute; inset: 0 6%; background: #faf7ee; border-radius: 48% 52% 39% 61%; }
.consultation-page .c-hero-ill img { position: relative; display: block; width: 100%; max-width: 310px; height: 205px; object-fit: contain; margin: 0 auto 15px; mix-blend-mode: multiply; }
.consultation-page .c-illustration-caption { position: relative; display: inline-block; padding: 5px 14px; border: 1px solid #e9e1cb; border-radius: 30px; background: #fff; color: #6e6858; font-size: 10px; }
.consultation-page .c-services { margin-top: 30px; padding: 0; }
.consultation-page .c-services-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.consultation-page .c-services-heading h2 { color: var(--c-ink); font-size: 20px; margin: 0; }
.consultation-page .c-services-heading p { color: var(--c-muted); font-size: 11px; margin: 0; }
.consultation-page .c-hero-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.consultation-page .c-service-card { display: flex; flex-direction: column; align-items: stretch; gap: 10px; min-width: 0; padding: 22px; border: 1px solid var(--c-line); border-radius: 17px; background: #fff; color: var(--c-ink); text-align: right; transition: border-color .2s, transform .2s, box-shadow .2s; }
.consultation-page .c-service-card:hover { border-color: #c6ced7; transform: translateY(-3px); box-shadow: 0 8px 22px #26344509; }
.consultation-page .c-service-experts { background: #fffdf5; border-color: #e9dcaf; }
.consultation-page .c-service-card[aria-expanded="true"] { border-color: #be941a; box-shadow: 0 0 0 2px #ffc0001a; }
.consultation-page .c-service-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.consultation-page .c-service-top img { width: 44px; height: 44px; object-fit: contain; }
.consultation-page .c-service-tag { color: #657585; font-size: 9px; font-weight: 500; padding: 3px 8px; border-radius: 6px; background: #f3f5f7; }
.consultation-page .c-service-experts .c-service-tag { background: #f8eac0; color: #7e610e; }
.consultation-page .c-service-card > strong { margin-top: 4px; font-size: 15px; font-weight: 700; }
.consultation-page .c-service-description { font-size: 11px; line-height: 2; font-weight: 400; color: var(--c-muted); }
.consultation-page .c-service-action { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--c-line); margin-top: auto; padding-top: 12px; color: #374d61; font-size: 11px; font-weight: 600; }
.consultation-page .c-service-action > span { font-size: 17px; }
.consultation-page .c-process { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 22px 0; margin: 22px 0 0; border-block: 1px solid var(--c-line); }
.consultation-page .c-process li { display: flex; align-items: center; gap: 12px; }
.consultation-page .c-process li > span { width: 32px; height: 32px; flex-shrink: 0; display: grid; place-items: center; border: 1px solid #d8dfe4; border-radius: 50%; color: #738493; font-size: 15px; }
.consultation-page .c-process strong { display: block; font-size: 11px; font-weight: 600; }
.consultation-page .c-process small { display: block; font-size: 10px; color: var(--c-muted); }
.consultation-page :is(.c-expert-form-section, .c-qna-section) { padding: 28px 0 0; scroll-margin-top: 24px; }
.consultation-page .c-panel-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 32px; align-items: start; padding: 26px; border: 1px solid var(--c-line); background: #fff; border-radius: 20px; }
.consultation-page .c-page-title { color: var(--c-ink); font-size: 21px; line-height: 1.8; margin: 0 0 12px; }
.consultation-page .c-form-desc { font-size: 12px; color: #657585; line-height: 2; margin: 0 0 14px; }
.consultation-page .c-warning-box { padding: 15px; margin-top: 20px; border: 1px solid #eee3c4; border-radius: 12px; background: #fffaed; color: #776332; }
.consultation-page .c-hours-label { display: block; font-size: 10px; margin-bottom: 4px; }
.consultation-page .c-warning-box strong { font-size: 15px; color: #5c4d27; }
.consultation-page .c-warning-box p { margin: 6px 0 0; font-size: 11px; line-height: 2; }
.consultation-page .c-consult-form { min-width: 0; margin: 0; padding: 0; }
.consultation-page .c-form-group { min-width: 0; margin-bottom: 15px; }
.consultation-page .c-label { display: block; color: #35475a; font-size: 11px; font-weight: 600; margin: 0 0 7px; }
.consultation-page .c-required { color: #b13549; }
.consultation-page .c-form-flex { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.consultation-page .c-checkbox-group { display: flex; flex-wrap: wrap; gap: 8px; }
.consultation-page .c-checkbox-group label { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; padding: 8px 10px; border: 1px solid #e0e6eb; border-radius: 8px; background: #f9fafb; cursor: pointer; }
.consultation-page .c-checkbox-group label:has(input:checked) { border-color: #d8b43d; background: #fff8df; color: #755c13; }
.consultation-page input[type="checkbox"] { width: 15px; height: 15px; margin: 0; accent-color: #ad8200; flex-shrink: 0; }
.consultation-page :is(input[type="text"], input[type="email"], textarea) { display: block; width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid #dce3e9; border-radius: 9px; background: #fafbfc; color: var(--c-ink); font-size: 12px; }
.consultation-page input::placeholder, .consultation-page textarea::placeholder { color: #8b97a3; }
.consultation-page input[type="email"], .consultation-page input[name="phone"] { direction: ltr; text-align: right; }
.consultation-page textarea { resize: vertical; min-height: 104px; line-height: 2; }
.consultation-page .c-submit-btn, .consultation-page .c-pill { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #dce3e9; border-radius: 8px; padding: 9px 16px; background: #fff; color: #34495e; font-size: 11px; font-weight: 600; text-decoration: none; box-shadow: none; }
.consultation-page .c-submit-btn, .consultation-page .c-yellow { background: #ffc000; color: #3b321b; border-color: #ffc000; }
.consultation-page .c-submit-btn:hover, .consultation-page .c-yellow:hover { background: #f0b800; border-color: #f0b800; }
.consultation-page button:disabled { opacity: .6; cursor: wait; }
.consultation-page .c-qna-section > .c-container { border: 1px solid var(--c-line); border-radius: 20px; background: #fff; padding: 26px; }
.consultation-page .c-qna-section > .c-container > .c-form-desc { max-width: 740px; }
.consultation-page .c-search-box { display: flex; width: 100%; max-width: 740px; border: 1px solid #dce3e9; border-radius: 10px; overflow: hidden; background: #fafbfc; }
.consultation-page input.c-search-input { flex: 1; border: 0; border-radius: 0; }
.consultation-page .c-search-btn { display: grid; place-items: center; width: 44px; border: 0; background: #eef2f5; flex-shrink: 0; }
.consultation-page .c-search-btn img { width: 18px; height: 18px; }
.consultation-page .c-qna-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 20px; }
.consultation-page #ask-form, .consultation-page #track-form { max-width: 740px; padding: 20px; border: 1px solid var(--c-line); background: #f9fafb; border-radius: 12px; scroll-margin-top: 20px; margin-bottom: 20px; }
.consultation-page .c-section-subtitle { margin: 0 0 14px; color: var(--c-ink); font-size: 15px; font-weight: 700; }
.consultation-page .c-questions-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.consultation-page .c-questions-list > :is(h3, p) { grid-column: 1 / -1; }
.consultation-page .c-question-card { min-width: 0; padding: 17px; border: 1px solid var(--c-line); border-radius: 12px; background: #fff; }
.consultation-page .c-question-title { margin: 0 0 12px; color: #34485b; font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.consultation-page .c-question-summary { display: none; }
.consultation-page .c-question-footer, .consultation-page .c-question-meta, .consultation-page .c-question-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.consultation-page .c-question-footer { justify-content: space-between; border-top: 1px solid #edf0f3; padding-top: 10px; font-size: 10px; color: #81909d; }
.consultation-page .c-tag, .consultation-page .c-status { padding: 2px 6px; border-radius: 5px; background: #f1f4f7; color: #657585; }
.consultation-page .c-answered { padding: 2px 6px; border-radius: 5px; background: #eaf5ef; color: #307258; font-size: 9px; }
.consultation-page .c-view-btn { padding: 4px 10px; border: 1px solid #dfe5eb; border-radius: 6px; color: #42596c; background: #f7f9fb; font-size: 10px; }
.consultation-page #qnaMoreBtn { display: block; }
.consultation-page .qna-modal { position: fixed; inset: 0; display: none; z-index: 23000; padding: 24px; }
.consultation-page .qna-modal.is-open { display: grid; place-items: center; }
.consultation-page .qna-backdrop { position: absolute; inset: 0; background: #15233170; backdrop-filter: blur(3px); }
.consultation-page .qna-dialog { position: relative; display: flex; flex-direction: column; width: min(100%, 620px); max-height: min(720px, calc(100dvh - 48px)); overflow: hidden; padding: 0; background: #fff; border: 1px solid #e1e7ec; border-radius: 16px; box-shadow: 0 20px 70px #16243630; }
.consultation-page .qna-close { position: absolute; top: 12px; left: 12px; width: 32px; height: 32px; border: 1px solid #e1e7ec; background: #f4f6f8; border-radius: 8px; color: #506477; font-size: 22px; line-height: 1; }
.consultation-page .qna-head { flex: 0 0 auto; max-height: 32dvh; overflow-y: auto; padding: 18px 22px 16px 54px; border-bottom: 1px solid #e9edf1; background: #f8fafb; }
.consultation-page .qna-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 7px; color: #71808e; font-size: 10px; }
.consultation-page .qna-count { color: #83620e; background: #fff3ce; border-radius: 5px; padding: 1px 6px; }
.consultation-page .qna-title { color: #2b4153; font-size: 14px; line-height: 1.9; margin: 0; overflow-wrap: anywhere; }
.consultation-page .qna-answers { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 22px; scrollbar-width: thin; scrollbar-color: #c6cfd7 transparent; }
.consultation-page .qna-answer { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: 12px; padding: 16px 0; border-bottom: 1px solid #edf0f3; }
.consultation-page .qna-answer:last-child { border-bottom: 0; }
.consultation-page .ans-avatar { display: block; width: 44px; height: 44px; border-radius: 12px; object-fit: cover; background: #f0f3f5; border: 1px solid #e4e9ee; }
.consultation-page .ans-teacher { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; margin-bottom: 5px; }
.consultation-page .t-name { margin: 0; color: #2b4153; font-size: 12px; line-height: 1.8; font-weight: 600; overflow-wrap: anywhere; }
.consultation-page .ans-role { font-size: 9px; color: #73818d; }
.consultation-page .ans-profile-avatar { display: block; border-radius: 12px; }
.consultation-page .ans-profile-name { color: inherit; text-decoration: none; text-underline-offset: 4px; }
.consultation-page .ans-profile-name:hover { color: #946b00; text-decoration: underline; }
.consultation-page .ans-profile-avatar:hover .ans-avatar { border-color: #d3ac43; }
.consultation-page :is(.ans-profile-avatar, .ans-profile-name):focus-visible { outline: 2px solid #c89315; outline-offset: 3px; }
.consultation-page .ans-text { color: #506173; font-size: 12px; line-height: 1.95; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.consultation-page .qna-empty { padding: 24px 0; margin: 0; text-align: center; color: #73818d; font-size: 12px; }
.consultation-page .popup { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; background: #15233170; z-index: 24000; }
.consultation-page .popup.hidden { display: none; }
.consultation-page .popup-box { position: relative; width: min(100%, 380px); padding: 28px; border-radius: 16px; background: #fff; text-align: center; }
.consultation-page .popup-close { position: absolute; top: 8px; left: 10px; background: transparent; border: 0; color: #697787; font-size: 22px; cursor: pointer; }
.consultation-page .popup-icon { font-size: 26px; margin-bottom: 12px; }
.consultation-page .popup-message { font-size: 12px; line-height: 2; }
.consultation-page .popup.success .popup-box { border-top: 3px solid #539577; }
.consultation-page .popup.error .popup-box { border-top: 3px solid #bd5765; }
@media (max-width: 900px) {
  .consultation-page .c-hero-grid { padding: 28px; gap: 28px; grid-template-columns: 1.4fr 1fr; }
  .consultation-page .c-service-card { padding: 16px; }
  .consultation-page .c-service-card > strong { font-size: 13px; }
  .consultation-page .c-service-tag { font-size: 8px; }
  .consultation-page .c-panel-layout { grid-template-columns: 235px minmax(0, 1fr); gap: 22px; padding: 22px; }
  .consultation-page .c-form-flex { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 650px) {
  .consultation-page { padding: 16px 0 32px; }
  .consultation-page .c-container { width: calc(100% - 32px); }
  .consultation-page .c-hero-grid { grid-template-columns: 1fr; gap: 18px; padding: 24px; }
  .consultation-page .c-hero-title { font-size: 27px; }
  .consultation-page .c-hero-text p { font-size: 12px; }
  .consultation-page .c-hero-ill { padding: 6px 0; }
  .consultation-page .c-hero-ill img { height: 145px; margin-bottom: 8px; }
  .consultation-page .c-services-heading { flex-direction: column; align-items: flex-start; gap: 4px; }
  .consultation-page .c-hero-actions { grid-template-columns: 1fr; gap: 12px; }
  .consultation-page .c-service-card { gap: 7px; }
  .consultation-page .c-service-card > strong { font-size: 15px; }
  .consultation-page .c-process { grid-template-columns: 1fr; gap: 14px; padding: 18px 0; }
  .consultation-page .c-panel-layout { grid-template-columns: 1fr; padding: 20px; gap: 22px; }
  .consultation-page .c-page-title { font-size: 19px; }
  .consultation-page .c-warning-box { margin-top: 12px; }
  .consultation-page .c-qna-section > .c-container { padding: 20px; }
  .consultation-page .c-questions-list { grid-template-columns: 1fr; }
  .consultation-page .qna-modal { padding: 12px; }
  .consultation-page .qna-dialog { max-height: calc(100dvh - 24px); }
  .consultation-page .qna-head { padding-right: 16px; }
  .consultation-page .qna-answers { padding: 0 16px; }
  .consultation-page .qna-answer { gap: 10px; padding: 14px 0; }
  .consultation-page #ask-form, .consultation-page #track-form { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .consultation-page *, .consultation-page *::before { scroll-behavior: auto !important; transition: none !important; }
}
