/* Shared typography and a visibly clearer control system across every page. */
:root {
  --font-fa: "Vazirmatn", "Tahoma", "Arial", sans-serif;
  --font-en: "Inter", "Segoe UI", Arial, sans-serif;
  --sans: var(--font-en);
  --ink: #18332d;
  --gold: #bd965b;
  --gold-dark: #80602f;
  --green: #087a5b;
  --green-dark: #075b45;
  --control-shadow: 0 7px 18px rgba(16, 59, 50, .14);
}

html { font-family: var(--sans); text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
html[lang^="fa"] { --sans: var(--font-fa); }
html[lang^="en"] { --sans: var(--font-en); }
body, button, input, select, textarea { font-family: var(--sans) !important; }
body { font-size: 16px; line-height: 1.8; }
h1, h2, h3, h4, h5, h6 { font-family: var(--sans); font-weight: 700; letter-spacing: 0; line-height: 1.45; }
p, li, label { line-height: 1.85; }
.site-menu, .site-menu a, .site-menu summary, .nav-links, .nav-links a,
.nav, .nav a, .nav summary { font-size: 14px !important; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }

/* Main actions: pill silhouettes, stronger contrast, clear hover and pressed states. */
.button, .site-button, .button-gold, .button-outline, .button.gold,
.button.button-gold, .button.button-outline, .site-button.primary,
.listing-pagination button, .developer-more, .offplan-search-row button,
.offplan-reset, .listing-whatsapp, .market-project-actions a,
.direct-wa-link, .consultation-form-link, .flight-button, .nav-contact,
.rail-link, .rail-secondary-link, .market-bottom-link .site-button,
.return-home, .home-fixed, .site-social-links .social-link {
  min-height: 50px;
  border-radius: 999px !important;
  font-weight: 700;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease,
    box-shadow .18s ease, transform .18s ease, filter .18s ease;
}
.button, .site-button, .button-gold, .button-outline, .button.gold,
.button.button-gold, .button.button-outline, .site-button.primary,
.listing-pagination button, .developer-more, .offplan-search-row button,
.offplan-reset, .nav-contact, .rail-link, .rail-secondary-link,
.market-bottom-link .site-button, .return-home, .home-fixed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 23px;
  font-size: 14px;
  text-decoration: none;
}
.button-gold, .button.button-gold, .button.gold, .site-button.primary,
.market-bottom-link .site-button {
  color: #17362f !important;
  background: linear-gradient(135deg, #f1e1c3, #d8bd8b) !important;
  border: 1px solid #bd965b !important;
  box-shadow: 0 8px 20px rgba(142, 105, 48, .20);
}
.button-outline, .button.button-outline, .site-button:not(.primary),
.listing-pagination button, .developer-more, .offplan-reset,
.rail-secondary-link, .return-home, .home-fixed {
  color: #26354c !important;
  background: #fff !important;
  border: 1px solid #cbd3dd !important;
  box-shadow: 0 4px 12px rgba(23, 36, 58, .07);
}
.listing-pagination button, .developer-more, .offplan-reset,
.offplan-search-row button { cursor: pointer; }
.offplan-search-row button {
  color: #18243a !important;
  background: linear-gradient(135deg, #f2dfbc, #d8b77e) !important;
  border: 1px solid #c7a66e !important;
}
.direct-wa-link, .listing-whatsapp, .market-project-actions a:last-child,
.site-social-links .social-wa {
  color: #fff !important;
  background: linear-gradient(135deg, #12875d, #08704b) !important;
  border: 1px solid #08704b !important;
  box-shadow: 0 7px 17px rgba(8, 118, 79, .2);
}
.listing-whatsapp { display: flex; align-items: center; justify-content: center; padding: 10px 17px; font-size: 13px; text-decoration: none; }
.market-project-actions a { min-height: 44px !important; padding: 8px 14px !important; font-size: 12px !important; text-decoration: none !important; }
.market-project-actions a:first-child { border: 1px solid #cbd3dd !important; background: #fff !important; color: #26354c !important; }
.site-social-links .social-link { min-height: 46px; padding: 0 17px; font-size: 12px; }
.site-social-links .social-ig { color: #7b315f !important; background: #fff !important; border: 1px solid #e5c9dc !important; box-shadow: 0 4px 12px rgba(78, 29, 69, .08); }
.button:hover, .site-button:hover, .listing-pagination button:not(:disabled):hover,
.developer-more:hover, .offplan-search-row button:hover, .offplan-reset:hover,
.direct-wa-link:hover, .listing-whatsapp:hover, .market-project-actions a:hover,
.nav-contact:hover, .rail-link:hover, .rail-secondary-link:hover,
.return-home:hover, .home-fixed:hover, .site-social-links .social-link:hover,
.flight-button:hover {
  transform: translateY(-2px);
  filter: brightness(1.025);
  box-shadow: 0 11px 24px rgba(23, 36, 58, .16);
}
.button:active, .site-button:active, button:active, .flight-button:active { transform: translateY(1px); }
.listing-pagination button:disabled { opacity: .48; box-shadow: none; }

/* Navigation and section shortcuts now read as intentional, easy-to-tap controls. */
.site-menu > a, .site-menu > details > summary, .nav-links > a,
.nav > a, .nav > details > summary, .offplan-quick-links a,
.tools-jump a, .home-category-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 7px 13px;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}
.site-menu > a:hover, .site-menu > details > summary:hover,
.nav-links > a:hover, .nav > a:hover, .nav > details > summary:hover,
.offplan-quick-links a:hover, .tools-jump a:hover, .home-category-nav a:hover {
  background: #f3eee5;
  color: #74562b;
  box-shadow: inset 0 0 0 1px #dfcfb3;
}
.site-menu-button { min-width: 46px; min-height: 46px; border-radius: 50% !important; box-shadow: 0 4px 13px rgba(23,36,58,.12); }
.site-language { min-height: 44px; min-width: 48px; border-radius: 999px; padding-inline: 15px; font-weight: 800; }
.tool-jump-card { min-height: 82px; border-radius: 18px !important; }
.flight-button { min-height: 78px; display: flex; justify-content: center; padding: 14px 18px; border-radius: 18px !important; }
.market-category { min-height: 92px; padding: 17px 19px; border-radius: 18px !important; background: #fff; box-shadow: 0 5px 16px rgba(20,32,51,.06); transition: transform .18s, box-shadow .18s, border-color .18s; }
.market-category:hover, .market-category:focus-visible { border-color: #b99a6a; box-shadow: 0 10px 24px rgba(20,32,51,.12); transform: translateY(-2px); }
.market-category[aria-selected="true"] { box-shadow: inset 0 -4px 0 #d0ae75, 0 9px 21px rgba(16,26,43,.16); }
.developer-tab { min-height: 44px; padding: 9px 17px; border-radius: 999px !important; font-weight: 700; }
.developer-tab[aria-selected="true"] { box-shadow: 0 5px 14px rgba(202,166,107,.23); }
.site-menu-button, .slide-controls button, .market-slider-controls button,
.slide-dots button, .whatsapp-float, .photo-close, .photo-dialog button { border-radius: 999px !important; }
.slide-controls button, .market-slider-controls button { min-width: 42px; min-height: 42px; box-shadow: 0 4px 12px rgba(23,36,58,.09); }
.slide-dots button { min-width: 24px; min-height: 24px; }
.whatsapp-float { width: 58px; height: 58px; box-shadow: 0 8px 20px rgba(8,118,79,.28); }
.home-photo-button, .market-project-image { border-radius: 0 !important; }
.home-photo-button:focus-visible, .market-project-image:focus-visible { outline: 3px solid #d1ae76; outline-offset: 3px; }

/* Readable fields and left-to-right phone/price strings in both languages. */
.form-fields input, .form-fields select, .listing-filters input,
.listing-filters select, .mortgage-inputs input, .offplan-search-row input,
.offplan-filters input, .offplan-filters select, .area-search {
  min-height: 49px;
  border-radius: 12px;
  font-size: 14px;
}
input:focus-visible, select:focus-visible, textarea:focus-visible,
button:focus-visible, a:focus-visible { outline: 3px solid rgba(185,154,106,.48); outline-offset: 3px; }
input[type="tel"], input[inputmode="tel"], .phone-number,
.contact-phone, a[href^="tel:"] {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
  font-variant-numeric: lining-nums tabular-nums;
}
.phone-number, .contact-phone { white-space: nowrap; }
.form-fields input[type="tel"] { text-align: left; }
.listing-price, .dev-price, .bank-rate > strong,
.mortgage-result > strong, .price-number, .amount-number {
  direction: ltr;
  unicode-bidi: isolate;
  font-variant-numeric: lining-nums tabular-nums;
}
.form-fields input::placeholder, .listing-filters input::placeholder,
.offplan-search-row input::placeholder, .offplan-filters input::placeholder { color: #707b8b; opacity: 1; }
.listing-card-top, .listing-footnote, .market-data-note { font-size: 12px; }

@media (max-width: 600px) {
  body { font-size: 16px; }
  .button, .site-button, .button-gold, .button-outline, .button.gold,
  .listing-pagination button, .developer-more, .offplan-search-row button,
  .offplan-reset, .direct-wa-link, .listing-whatsapp { min-height: 50px; font-size: 14px; }
  .market-category { min-height: 80px; padding: 14px 12px; }
  .site-menu > a, .site-menu > details > summary, .nav-links > a,
  .nav > a, .nav > details > summary { min-height: 46px; }
  .site-social-links .social-link { min-height: 44px; }
}

/* A consistent, language-aware reading system for all public pages. */
body { font-size: 16px; line-height: 1.8; }
html[lang^="fa"] body { font-size: 17px; line-height: 1.9; }
html[lang^="en"] body { font-size: 16px; line-height: 1.78; }
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body li, body label, body summary, body button,
body input, body select, body textarea, body figcaption,
body td, body th, body dt, body dd {
  font-family: var(--sans) !important;
}
body p, body li, body label, body summary, body td, body th,
body figcaption, body dt, body dd {
  font-size: max(16px, .94em) !important;
  line-height: 1.8;
}
body small, body .section-kicker, body .site-kicker, body .eyebrow,
body .listing-card-top, body .listing-footnote, body .market-data-note,
body .project-last-checked, body .guide-sources,
body .latest-project-notice__source, body .helper-text, body .field-hint,
body .form-hint, body .caption, body figcaption {
  font-size: max(14px, .84em) !important;
  line-height: 1.65;
}
.site-menu, .site-menu a, .site-menu summary, .nav-links, .nav-links a,
.nav, .nav a, .nav summary { font-size: 15px !important; }
body input, body select, body textarea { font-size: 15px !important; }
body button { font-size: max(14px, .9em); }
body .listing-footnote, body .market-data-note, body .listing-card-top,
body .project-last-checked, body .guide-sources,
body .latest-project-notice__source, body .helper-text, body .field-hint,
body .form-hint, body .caption, body figcaption {
  color: #566273;
}
html[lang^="fa"] :is([dir="ltr"], .phone-number, .contact-phone,
.listing-price, .dev-price, .price-number, .amount-number) {
  font-family: var(--font-en) !important;
}

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

/* WhatsApp links everywhere: actual WhatsApp mark, one clear green pill treatment. */
a[href^="https://wa.me/"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  max-width: 100%;
  padding: 9px 16px;
  border: 1px solid #08704b !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #13865d, #08704b) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(8, 118, 79, .19);
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none !important;
  vertical-align: middle;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
a[href^="https://wa.me/"]:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, #0d7952, #065b3d) !important;
  box-shadow: 0 10px 21px rgba(8, 118, 79, .27);
}
a[href^="https://wa.me/"]:active { transform: translateY(1px); }
a[href^="https://wa.me/"]:focus-visible { outline: 3px solid rgba(8, 118, 79, .28); outline-offset: 3px; }
a[href^="https://wa.me/"]:not(:has(svg))::before {
  content: "";
  display: inline-block;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  border-radius: 0;
  background: currentColor;
  -webkit-mask: url("/whatsapp-mark.svg") center / contain no-repeat;
  mask: url("/whatsapp-mark.svg") center / contain no-repeat;
}
/* Existing buttons and listing rows retain their layout while sharing the same icon and color. */
a.button[href^="https://wa.me/"], a.site-button[href^="https://wa.me/"],
a.direct-wa-link[href^="https://wa.me/"], a.listing-whatsapp[href^="https://wa.me/"],
a.footer-wa[href^="https://wa.me/"], a.social-wa[href^="https://wa.me/"],
a.wa[href^="https://wa.me/"] {
  min-height: 48px;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #13865d, #08704b) !important;
  border-color: #08704b !important;
  color: #fff !important;
}
a.listing-whatsapp[href^="https://wa.me/"] { width: 100%; justify-content: center; margin-inline: 0; padding: 11px 16px; }
a.footer-wa[href^="https://wa.me/"] { padding: 8px 15px; font-size: 12px; }
a.social-wa[href^="https://wa.me/"] { padding: 6px 15px; }
/* Replace the old placeholder dot on the consultation button with the real logo. */
a.direct-wa-link[href^="https://wa.me/"]::before {
  content: "";
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border: 0;
  border-radius: 0;
  background: currentColor;
  -webkit-mask: url("/whatsapp-mark.svg") center / contain no-repeat;
  mask: url("/whatsapp-mark.svg") center / contain no-repeat;
}
@media (max-width: 600px) {
  a[href^="https://wa.me/"] { min-height: 48px; padding-inline: 15px; }
  a.listing-whatsapp[href^="https://wa.me/"] { width: 100%; }
}

/* Unclassified controls found in the project filters and photo/slider dialogs. */
button:not(.home-photo-button):not(.market-project-image) {
  min-height: 44px;
  border-radius: 999px !important;
  cursor: pointer;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease,
    box-shadow .18s ease, transform .18s ease;
}
button:not(.home-photo-button):not(.market-project-image):hover {
  box-shadow: 0 6px 16px rgba(23, 36, 58, .12);
}
button#offplanResetTop {
  min-height: 46px;
  padding: 8px 18px;
  border: 1px solid #cbd3dd;
  background: #fff;
  color: #26354c;
  font-weight: 700;
}
a.home-fixed {
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  z-index: 30;
  color: #fff !important;
  background: #17243a !important;
  border-color: #c7a66e !important;
  box-shadow: 0 8px 22px rgba(16, 26, 43, .25);
}
a.home-fixed:hover { background: #263b5d !important; color: #fff !important; }
a.footer-wa[href^="https://wa.me/"] .phone-number { color: #fff !important; }

/* Navigation cards use plain action text instead of decorative direction arrows. */
.market-category::after, .area-item::after { content: none !important; display: none !important; }
.tools-hub-page .tools-hero-inner { max-width: 1020px; }
.tools-hub-page .tools-hero-inner > p { max-width: 710px; }
.tools-hub-page .tools-jump { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 930px; margin-inline: auto; }
.tools-hub-page .tool-jump-card {
  min-height: 155px;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 10px 14px;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 20px !important;
  background: rgba(255,255,255,.09);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(4,13,27,.14);
}
.tools-hub-page .tool-jump-card:hover, .tools-hub-page .tool-jump-card:focus-visible {
  transform: translateY(-3px);
  border-color: #d8b77e;
  background: rgba(255,255,255,.15);
  box-shadow: 0 15px 30px rgba(4,13,27,.22);
}
.tools-hub-page .jump-icon { grid-row: 1 / span 2; width: 48px; height: 48px; border-radius: 16px; }
.tools-hub-page .jump-copy { align-self: end; }
.tools-hub-page .jump-copy strong { font-size: 17px; }
.tools-hub-page .jump-copy small { font-size: 12px; }
.tools-hub-page .jump-enter {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  min-height: 36px;
  padding: 6px 14px;
  border: 1px solid rgba(234,215,180,.65);
  border-radius: 999px;
  color: #f3dfb9;
  font-size: 12px;
  font-weight: 750;
}
.tools-page-title { padding: 36px 0 30px; background: #101a2b; color: #fff; }
.tools-page-title .wrap { max-width: 980px; }
.tools-page-title h1 { margin: 8px 0 9px; font-size: clamp(27px, 4vw, 40px); }
.tools-page-title p { max-width: 720px; margin: 0 0 17px; color: #d2dae5; font-size: 15px; }
.tools-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 17px;
  border: 1px solid rgba(234,215,180,.75);
  border-radius: 999px;
  color: #f3dfb9;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.tools-back-link:hover { background: rgba(255,255,255,.1); color: #fff; }
.tools-detail-page > .tools-news-section, .tools-detail-page > .tools-flights-section,
.tools-detail-page > .tools-inquiry-section { padding-block: 50px 62px; }
.tools-detail-page .tools-news-grid { margin-top: 20px; }
.news-refresh { display: inline-block; min-height: 36px; padding: 6px 12px; border-radius: 999px; background: #f5f3ef; color: #596476; font-size: 11px; }
.service-arrow {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 18px !important;
  padding: 8px 15px;
  border: 1px solid #d9c6a3;
  border-radius: 999px;
  color: #785c31;
  font-size: 12px !important;
  font-weight: 750;
  text-decoration: none;
}
.service-arrow:hover { background: #f7f1e6; }

/* Keep header contact channels aligned and deliberately understated. */
.site-bar .site-actions { align-items: center; gap: 12px; }
.site-bar .site-social-links { display: flex; align-items: center; gap: 8px; }
.site-bar .site-social-links .social-link {
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  height: 38px;
  min-height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 11px !important;
  box-shadow: none;
  font-size: 12px;
  line-height: 1;
}
.site-bar .site-social-links .social-link svg { width: 16px; height: 16px; flex: 0 0 16px; }
.site-bar .site-social-links .social-ig { border-color: #e3d6df !important; }
.site-bar .site-social-links .social-link:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(23,36,58,.10); }
@media (max-width: 760px) {
  .site-bar .site-social-links .social-link { width: auto; height: 38px; min-height: 38px; padding-inline: 10px; }
}
@media (max-width: 420px) {
  .site-bar .site-actions { gap: 7px; }
  .site-bar .site-social-links { gap: 6px; }
  .site-bar .site-social-links .social-link {
    width: 38px; min-width: 38px; height: 38px; min-height: 38px;
    padding: 0; border-radius: 11px !important;
  }
  .site-bar .site-social-links .social-link span {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
  }
}

@media (max-width: 700px) {
  .tools-hub-page .tools-jump { grid-template-columns: 1fr; gap: 11px; }
  .tools-hub-page .tool-jump-card { min-height: 124px; padding: 17px; }
  .tools-page-title { padding: 29px 0 24px; }
  .tools-page-title p { font-size: 14px; }
  .tools-detail-page > .tools-news-section, .tools-detail-page > .tools-flights-section,
  .tools-detail-page > .tools-inquiry-section { padding-block: 34px 44px; }
}

.offer-source-photos{min-height:40px;box-sizing:border-box}
.offer-source-photos:focus-visible,.listing-source-photos:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* Framed Instagram profile card: visible in the global footer on every page. */
.site-footer .footer-instagram-card{display:flex;align-items:center;gap:11px;min-height:62px;padding:9px 13px;border:1px solid #d4c19a;border-radius:9px;background:#ffffff0d;color:#f5ead5;text-decoration:none;transition:background .18s,border-color .18s,transform .18s;box-sizing:border-box}
.site-footer .footer-instagram-card:hover{background:#ffffff18;border-color:#e8d4a8;transform:translateY(-1px);text-decoration:none}
.site-footer .footer-instagram-card:focus-visible{outline:2px solid #efd9aa;outline-offset:3px}
.footer-ig-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid #d4c19a;border-radius:50%;color:#e9d3a4}
.footer-ig-icon svg{width:19px;height:19px}
.footer-ig-copy{display:flex;flex-direction:column;gap:3px;line-height:1.45}
.footer-ig-copy bdi{font-size:12px;font-weight:700}
.footer-ig-copy>span{font-size:11px;color:#d4dce6}
.footer-ig-cta{margin-inline-start:5px;padding-inline-start:11px;border-inline-start:1px solid #ffffff38;font-size:10px;white-space:nowrap;color:#e9d3a4}
@media(max-width:640px){.site-footer .footer-instagram-card{width:100%;justify-content:flex-start}.footer-ig-cta{margin-inline-start:auto}}
