@font-face {
  font-family: "IRANSans UI";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../webfonts/IRANSansWeb.woff2") format("woff2"), url("../webfonts/IRANSansWeb.woff") format("woff");
}

@font-face {
  font-family: "IRANSans UI";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../webfonts/IRANSansWeb_Medium.woff2") format("woff2"), url("../webfonts/IRANSansWeb_Medium.woff") format("woff");
}

@font-face {
  font-family: "IRANSans UI";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../webfonts/IRANSansWeb_Bold.woff2") format("woff2"), url("../webfonts/IRANSansWeb_Bold.woff") format("woff");
}

:root {
  --bg: #f6f8f7;
  --bg2: #edf2ef;
  --font: "IRANSans UI", Tahoma, sans-serif;
  --txt: #263542;
  --txt2: #4d5d69;
  --txt3: #697986;
  --border: #e2e9e6;
  --border-h: #b9d9cb;
  --primary: #287957;
  --primary-d: #205f46;
  --primary-bg: #edf7f1;
  --pink: #d94e68;
  --pink-bg: #fff1f3;
}

html { scroll-padding-top: 84px; }

body, button, input, select, textarea {
  font-family: var(--font);
  font-weight: 400;
}

body { color: var(--txt); }

button, input, select, textarea { font-size: 14px; }

button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 3px solid rgba(50, 139, 108, .42);
  outline-offset: 2px;
}

button:disabled, input:disabled, select:disabled, textarea:disabled {
  cursor: not-allowed;
  opacity: .65;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea {
  color: var(--txt);
}

input::placeholder, textarea::placeholder { color: #768691; opacity: 1; }

.container { padding-inline: 22px; }

.nav-inner { min-height: 68px; }

.nav-menu > li > a { font-size: 14px; font-weight: 500; }

.btn-login, .btn-register { min-height: 38px; padding: 8px 16px; font-weight: 600; }

.btn-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }

.dropdown, .profile-dropdown, .sub-dropdown {
  border-color: var(--border);
  box-shadow: 0 14px 36px rgba(31, 54, 47, .14);
}

.mobile-menu { width: min(340px, 88vw); padding-inline: 22px; }

.mobile-menu .m-item > a { min-height: 48px; font-size: 15px; }

.mobile-menu .m-item > .m-toggle {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid var(--border);
  color: var(--txt2);
  background: transparent;
  text-align: right;
  font-size: 15px;
}

.mobile-menu .m-sub a { min-height: 40px; display: flex; align-items: center; font-size: 14px; color: var(--txt2); }

body.mobile-menu-open { overflow: hidden; }

.section { padding-block: 58px; }

.section-header h2 { font-size: clamp(22px, 2.5vw, 27px); }

.section-header p { color: var(--txt2); font-size: 14px; }

.filter-tabs { gap: 7px; }

.filter-tab {
  min-height: 38px;
  padding: 7px 15px;
  font-size: 13px;
  color: var(--txt2);
  border-color: #dbe5e0;
}

.counselor-card { padding: 20px; }

.article-cat, .mm-doctor-badges span, .mm-specialty-pill, .mm-status-badge,
.mm-status, .mm-available, .mm-verified, .mm-consultant-city {
  font-weight: 500;
}

.article-cat { color: #286f56; background: #edf7f1; font-size: 11px; }

.article-body h4 { font-size: 15px; }

.article-body p { color: var(--txt2); font-size: 13px; }

.article-meta { color: var(--txt2); font-size: 12px; }

.account-layout { gap: 20px; margin-block: 24px; }

.account-nav-list { gap: 5px; }

.nav-item { min-height: 42px; font-size: 14px; }

.profile-card-header { padding: 16px 20px; }

.profile-card-body { padding: 20px; gap: 14px; }

.field .label, .label-row .label { color: #394b57; font-size: 14px; }

.field .input {
  min-height: 44px;
  padding: 9px 13px;
  border: 1px solid #cbd7d1;
  border-radius: 10px;
  font-size: 14px;
}

.field .input:focus { border-color: var(--primary); }

.field-error, .field-error.field-validation-error { font-size: 12px; }

.btn-save, .btn-remove-avatar { min-height: 42px; padding: 10px 17px; font-size: 14px; }

.account-nav-header { padding: 18px; }

.auth-page { padding: 22px 16px; }

.auth-container {
  max-width: 1000px;
  min-height: 0;
  border: 1px solid var(--border);
  border-radius: 22px;
}

.auth-decor { padding: 36px 34px; }

.auth-decor-content h2 { font-size: 25px; }

.auth-decor-content p { margin-bottom: 23px; font-size: 14px; color: rgba(255,255,255,.82); }

.decor-features { gap: 12px; }

.decor-features li { font-size: 13px; }

.auth-form-side { padding: 34px 36px; }

.auth-page-title { margin-bottom: 20px; }

.auth-page-title h2 { margin-bottom: 4px; font-size: 23px; }

.auth-page-title p { color: var(--txt2); font-size: 13px; }

.register-grid { gap: 12px; margin-bottom: 14px; }

.register-grid > .field { gap: 4px; }

.account-type-field > label:not(.label-row) {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--txt2);
  background: #fff;
  line-height: 1.7;
  cursor: pointer;
}

.account-type-field input[type="radio"] { width: 17px; height: 17px; margin-top: 3px; accent-color: var(--primary); flex: 0 0 auto; }

.account-type-field > label:has(input:checked) { border-color: #8ebfa8; background: #f1f8f4; color: #285944; }

.form-remember, .auth-footer-link, .form-footer { color: var(--txt2); font-size: 13px; }

.btn-submit { min-height: 44px; padding: 10px 14px; border-radius: 10px; font-size: 14px; }

.forgot-link, .form-footer a, .auth-footer-link a { color: #267456; }

.mm-info-hero {
  padding: clamp(25px, 4vw, 44px);
  border: 1px solid #dcebe3;
  border-radius: 20px;
}

.mm-info-hero h1 { color: #183b43; font-family: var(--font); font-size: clamp(26px, 4vw, 34px); line-height: 1.55; }

.mm-info-hero p { max-width: 680px; color: #526b66; font-size: 15px; line-height: 1.9; }

.mm-topic-card {
  color: #435a56;
  font-size: 15px;
  line-height: 2.1;
}

.mm-topic-card h2, .mm-topic-card h3 { margin-block: 1.5em .5em; line-height: 1.6; }

.mm-topic-card h2:first-child, .mm-topic-card h3:first-child { margin-top: 0; }

.mm-topic-card p { margin-block: .65em; }

.mm-topic-card ul, .mm-topic-card ol { padding-inline-start: 1.5em; }

.mm-topic-card img, .mm-topic-card iframe { max-width: 100%; }

.mm-contact-card, .mm-contact-form-card { padding: clamp(18px, 3vw, 28px); }

.mm-contact-card .topic-block-body { color: #526b66; font-size: 14px; line-height: 2; }

.mm-contact-points { gap: 10px; margin-top: 18px; }

.mm-contact-points > div { min-width: 0; padding: 12px; font-size: 18px; }

.mm-contact-points span { color: #526b66; font-size: 12px; }

.mm-contact-points strong { overflow-wrap: anywhere; font-size: 14px; }

.mm-contact-form-card > p { color: #526b66; font-size: 13px; }

.mm-contact-form-card form { gap: 12px; }

.mm-contact-form-card label { gap: 5px; font-size: 13px; font-weight: 500; }

.mm-contact-form-card input, .mm-contact-form-card textarea,
.mrm-comment-form textarea, .mm-review-form input, .mm-review-form select,
.mm-review-form textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cbd7d1;
  border-radius: 10px;
  padding: 10px 12px;
  color: var(--txt);
  background: #fff;
  font: inherit;
  font-size: 14px;
}

.mm-contact-form-card textarea, .mrm-comment-form textarea, .mm-review-form textarea { min-height: 130px; }

.mm-contact-form-card button, .mrm-comment-form button { min-height: 44px; padding: 10px 18px; color: #fff; background: #a8472c; font-size: 14px; font-weight: 600; }

.mrm-blog-page { padding: 26px 22px 58px; }

.mrm-blog-hero { min-height: 230px; padding: 32px 42px; border-radius: 20px; }

.mrm-blog-hero h1 { font-size: clamp(29px, 4vw, 38px); }

.mrm-blog-hero p { color: #526b66; font-size: 15px; }

.mrm-blog-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 32px; margin-top: 0; }

.mrm-blog-sidebar-card, .mrm-post-card, .mrm-article, .mrm-comments { border-color: #e1e9e5; }

.mrm-blog-sidebar-card { padding: 18px; }

.mrm-blog-side-link { min-height: 38px; padding: 8px 10px; color: #526b66; font-size: 13px; }

.mrm-blog-sidebar-card .title strong { font-size: 13px; }

.mrm-blog-sidebar-card li { font-size: 12px; }

.mrm-blog-side-cta p { color: #d3e5de; font-size: 12px; }

.mrm-blog-side-cta a, .mrm-blog-rss { font-size: 13px; }

.mrm-blog-heading { gap: 12px; }

.mrm-blog-heading > div > span { color: #b65031; font-size: 12px; }

.mrm-blog-heading h2 { font-size: clamp(20px, 2.5vw, 24px); }

.mrm-post-cover { height: 165px; }

.mrm-post-cover span, .mrm-post-meta, .mrm-post-more { font-size: 12px; }

.mrm-post-card-body { padding: 16px 18px 18px; }

.mrm-post-card h3 { font-size: 16px; line-height: 1.75; }

.mrm-post-excerpt { height: auto; max-height: 5.6em; color: #52635f; font-size: 13px; line-height: 1.9; }

.mrm-article-cover { min-height: 220px; padding: 30px 40px; }

.mrm-article-cover h1 { max-width: 760px; font-size: clamp(23px, 3vw, 30px); line-height: 1.65; }

.mrm-article-cover p { font-size: 13px; }

.mrm-article-body { color: #394d49; font-size: 16px; line-height: 2.05; }

.mrm-article-body h2 { font-size: 23px; }

.mrm-article-body h3 { font-size: 19px; }

.mrm-article-body blockquote { margin: 1.5em 0; border-inline-start: 3px solid #55b48f; padding: .25em 1em; color: #405f53; background: #f4faf7; }

.mrm-article-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }

.mrm-article-body pre { max-width: 100%; overflow-x: auto; }

.mrm-article-tags a { font-size: 12px; }

.mrm-post-breadcrumb { flex-wrap: wrap; color: #526b66; font-size: 13px; }

.mrm-comments { padding: clamp(16px, 3vw, 24px); }

.mrm-comment-head span, .mrm-comment-head strong, .mrm-comment-list p { font-size: 13px; }

.mrm-comment-list p { color: #435753; line-height: 1.9; }

.mrm-comment-login { font-size: 13px; }

@media (max-width: 992px) {
  .account-layout { grid-template-columns: minmax(0, 1fr); padding-inline: 18px; }
  .account-sidebar { position: static; }
  .account-nav-header { display: none; }
  .account-nav-list { display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; padding: 8px; margin-bottom: 16px; }
  .account-nav-list .nav-item { flex: 0 0 auto; padding: 9px 12px; }
}

@media (max-width: 768px) {
  .container { padding-inline: 18px; }
  .section { padding-block: 44px; }
  .auth-page { padding: 14px 12px; }
  .auth-container { max-width: 620px; border-radius: 18px; }
  .auth-form-side { padding: 26px 22px; }
  .auth-page-title { margin-bottom: 16px; }
  .register-grid { gap: 10px; }
  .mm-contact-layout { grid-template-columns: 1fr; }
  .mm-contact-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mrm-blog-page { padding: 20px 16px 44px; }
  .mrm-blog-layout { grid-template-columns: 1fr; }
  .mrm-blog-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mrm-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mrm-article-body { padding: 28px 30px; }
}

@media (max-width: 576px) {
  html { scroll-padding-top: 68px; }
  .container { padding-inline: 14px; }
  .section { padding-block: 36px; }
  .section-header { margin-bottom: 22px; }
  .nav-inner { min-height: 58px; }
  .nav-logo img { max-height: 44px; }
  .filter-tabs { margin-inline: -14px; padding-inline: 14px; }
  .auth-page { padding: 10px; }
  .auth-container { border-radius: 15px; }
  .auth-form-side { padding: 22px 17px; }
  .auth-page-title h2 { font-size: 21px; }
  .auth-form-side .field .input { min-height: 44px; font-size: 16px; }
  .register-grid { grid-template-columns: 1fr; }
  .form-remember { align-items: flex-start; }
  .btn-submit { min-height: 46px; }
  .mm-info-hero { margin-bottom: 16px; border-radius: 15px; }
  .mm-info-hero p { font-size: 14px; }
  .mm-contact-points { grid-template-columns: 1fr; }
  .mm-contact-form-card input, .mm-contact-form-card textarea,
  .mrm-comment-form textarea, .mm-review-form input,
  .mm-review-form select, .mm-review-form textarea { font-size: 16px; }
  .mm-contact-form-card, .mm-contact-card { border-radius: 15px; }
  .mrm-blog-page { padding: 16px 12px 38px; }
  .mrm-blog-hero { padding: 23px 18px; border-radius: 16px; }
  .mrm-blog-hero h1 { font-size: 28px; }
  .mrm-blog-hero p { font-size: 14px; }
  .mrm-blog-hero-art { width: 112px; height: 112px; }
  .mrm-blog-hero-art img { width: 64px; }
  .mrm-blog-sidebar, .mrm-post-grid { grid-template-columns: 1fr; }
  .mrm-blog-heading { align-items: flex-start; }
  .mrm-post-cover { height: 175px; }
  .mrm-article-cover { min-height: 190px; padding: 23px 19px; }
  .mrm-article-cover img { width: 58px; }
  .mrm-article-body { padding: 23px 18px; font-size: 15px; line-height: 1.95; }
  .mrm-article-body h2 { font-size: 21px; }
  .mrm-article-body h3 { font-size: 18px; }
  .mrm-article-tags { padding-inline: 18px; }
  .mrm-comments { margin-top: 14px; }
  .mrm-comment-list article { align-items: flex-start; }
  .mrm-comment-head { flex-wrap: wrap; gap: 4px 10px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* ===== Login page refinements ===== */
.auth-page-title h1 { margin: 0 0 4px; font-size: 23px; font-weight: 700; color: var(--txt); line-height: 1.5; }

.auth-form-side .field { margin-bottom: 14px; }

.auth-form-side .input-ltr { text-align: left; }
.auth-form-side .input-ltr::placeholder { text-align: right; }

.input-wrap .input.input-has-toggle { padding-left: 44px; }
.input-wrap .toggle-pass {
  position: absolute;
  top: 50%;
  left: 6px;
  right: auto;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}
.input-wrap .toggle-pass:hover { background: var(--bg2); }
.toggle-pass .icon-eye-off { display: none; }
.toggle-pass.is-visible .icon-eye { display: none; }
.toggle-pass.is-visible .icon-eye-off { display: block; }

.auth-form-side .input.input-validation-error {
  border-color: var(--pink);
  background: var(--pink-bg);
}
.auth-form-side .input.input-validation-error:focus { box-shadow: 0 0 0 3px rgba(217, 78, 104, .18); }

.auth-form-side .message-error {
  color: #a8283f;
  background: var(--pink-bg);
  border-right-color: var(--pink);
  line-height: 1.8;
}
.auth-form-side .message-error ul { margin: 0; padding: 0; list-style: none; }

.auth-form-side .field-error { color: #b3243d; line-height: 1.7; }

.form-remember label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.form-remember input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--primary); }
.forgot-link { font-weight: 600; text-decoration: none; }
.forgot-link:hover { text-decoration: underline; }

.btn-submit { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; cursor: pointer; }
.btn-submit svg { width: 18px; height: 18px; fill: currentColor; }
.btn-submit .btn-spinner { display: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: mrm-spin .7s linear infinite; }
.btn-submit.is-loading .btn-spinner { display: inline-block; }
.btn-submit.is-loading svg { display: none; }
.btn-submit:disabled { cursor: progress; }

.auth-form-side .divider { margin: 18px 0 14px; }
.auth-form-side .external-auth:empty { display: none; }

@keyframes mrm-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .btn-submit .btn-spinner { animation-duration: 1.6s; }
  .field-validation-error { animation: none; }
}
