/* Shared typography and a visibly clearer control system across every page. */
:root {
  --sans: "Inter", "Vazirmatn", "Segoe UI", Tahoma, Arial, sans-serif;
  --ink: #17243a;
  --gold: #b58b50;
  --gold-dark: #80602f;
  --green: #08764f;
  --green-dark: #075d3f;
  --control-shadow: 0 7px 18px rgba(23, 36, 58, .12);
}

html { font-family: var(--sans); text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
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: #18243a !important;
  background: linear-gradient(135deg, #f2dfbc, #d8b77e) !important;
  border: 1px solid #c7a66e !important;
  box-shadow: 0 8px 20px rgba(142, 105, 48, .23);
}
.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; }
}

@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; }

@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; }
}
