/* Persian fonts (self-hosted, local Vazir) */
@font-face {
  font-family: "Vazir";
  src: url("../fonts/Vazir/Vazir-Regular.woff2") format("woff2"),
    url("../fonts/Vazir/Vazir-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Vazir";
  src: url("../fonts/Vazir/Vazir-Bold.woff2") format("woff2"),
    url("../fonts/Vazir/Vazir-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Vazir";
  src: url("../fonts/Vazir/Vazir-Black.woff2") format("woff2"),
    url("../fonts/Vazir/Vazir-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* === حل کامل و قطعی مشکل فونت فارسی === */

/* غیرفعال کردن تمام انیمیشن‌های تقسیم‌کننده متن */
* {
  animation: none !important;
}

/* فونت و RTL عمومی (بدون اجبار سراسری فونت برای اجازه به فونت‌های زیبا) */
html,
body {
  direction: rtl !important;
  text-align: right !important;
}

/* اجازه به فونت‌های سفارشی در اجزای کلیدی */
:root {
  --fa-heading: "Vazir", Tahoma, sans-serif;
  --fa-body: "Vazir", Tahoma, "Microsoft Sans Serif", sans-serif;
  /* Override theme variables to ensure local fonts are used everywhere */
  --_font-default: var(--fa-body);
  --_font-accent: var(--fa-heading);
}

/* بدنه سایت با Tahoma به‌عنوان بدنه امن */
body,
p,
span,
div,
li,
a,
td,
th,
input,
textarea,
select {
  font-family: var(--fa-body);
  unicode-bidi: embed !important;
  line-height: 1.9;
}

/* تیترها و کپشن‌ها با فونت فارسی زیبا */
h1,
h2,
h3,
h4,
h5,
h6,
.mxd-manifest,
.btn-caption,
.mxd-logo__text,
.marquee__text,
.footer-blocks__title-l,
.footer-blocks__title-m {
  font-family: var(--fa-heading) !important;
  font-weight: 700;
}

/* === رفع قطعی مشکل جدایی حروف === */
[data-animation="reveal-type"],
.reveal-type {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.char,
.word {
  display: contents !important;
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* نمایش طبیعی متن */
.hero-00-title,
.mxd-manifest,
h1,
h2,
h3,
h4,
h5,
h6 {
  white-space: normal !important;
  word-break: keep-all !important;
}

/* === تنظیمات RTL === */
html[dir="rtl"] * {
  direction: rtl !important;
  text-align: right !important;
}

.mxd-header__controls {
  direction: rtl !important;
}
.marquee__toleft {
  direction: rtl !important;
}

/* غیرفعال کردن tween و gsap برای متن فارسی */
.mxd-manifest *,
.hero-00-title *,
.marquee__text *,
.anim-uni-in-up *,
.loading__item * {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* نمایش بهتر فونت */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* بازتنظیم margin و padding برای layout */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0.5em 0;
}
p {
  margin: 1em 0;
}

/* اگر متن توسط JS تقسیم شده، فاصله درست شود */
.mxd-manifest .word::after,
.hero-00-title .word::after {
  content: " ";
}
.mxd-manifest .word:last-child::after,
.hero-00-title .word:last-child::after {
  content: "";
}

/* لینک‌ها و دکمه‌ها */
a {
  text-decoration: none;
  color: inherit;
}
button,
.btn {
  font-family: var(--fa-heading) !important;
}

/* فرم‌ها */
input,
textarea,
select {
  text-align: right !important;
}

/* === Persian typography setup (offline-safe) === */
/* Removed remote @import to avoid CORS/timeouts in file:// and rely on self-hosted fonts/fallback. */

/* Override hero title size to be slightly smaller */
.hero-00-title {
  font-size: clamp(2.4rem, 6vw, 9rem) !important;
}
.hero-00-title__row {
  gap: 1rem !important;
}

/* Center hero titles on both variants */
.mxd-hero-00 .hero-00-title,
.mxd-hero-00 .hero-00-title__row,
.mxd-hero-00 .hero-00-title__item {
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}
.mxd-hero-00__title-wrap {
  text-align: center !important;
}

.mxd-hero-08 .hero-08-headline__title,
.mxd-hero-08 .hero-08-headline__title h1 {
  width: 100%;
  text-align: center !important;
  margin: 0 auto !important;
}

/* Re-enable safe decorative animations (sphere rotation, pulse, float) */
.mxd-rotate {
  animation: spin 5s linear infinite !important;
}
.mxd-rotate-slow {
  animation: spin 16s linear infinite !important;
}
.mxd-pulse {
  animation: mxd-pulse 1.2s ease-in-out infinite alternate !important;
}
.mxd-move {
  animation: mxd-move 6s ease-in-out infinite alternate !important;
}

/* Header spacing and header button caption fix */
.mxd-header__controls {
  /* extra space from the right edge/hamburger */
  margin-right: 0 !important; /* cancel previous right offset */
  margin-left: calc(
    4.6rem + 0.8rem
  ) !important; /* hamburger(4.6rem) + 0.8rem gap */
  /* slightly larger gap between switcher and button */
  gap: 1.6rem !important;
}
@media (min-width: 768px) {
  .mxd-header__controls {
    margin-left: calc(5.6rem + 1rem) !important; /* larger hamburger on md+ */
    gap: 0.2rem !important;
  }
}
/* keep the header button text intact (no per-char splitting) */
.mxd-header__controls .btn .btn-caption {
  letter-spacing: normal !important;
  word-spacing: normal !important;
  white-space: nowrap !important;
  text-transform: none !important;
  display: inline-block !important;
}
.mxd-header__controls .btn .btn-caption .char,
.mxd-header__controls .btn .btn-caption .word {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure hamburger aligns to the physical left under RTL */
html[dir="rtl"] .mxd-nav__contain {
  direction: ltr !important;
  justify-content: flex-start !important;
}
html[dir="rtl"] .mxd-nav__contain .mxd-nav__hamburger {
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  margin-inline-end: auto !important; /* push it to the left edge */
}

/* Ensure captions never get letter-spaced or uppercased */
.btn-caption {
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Create clear space between hamburger (fixed at far right) and header controls */
.mxd-header {
  width: calc(100% - 16rem) !important; /* reserve extra room on the right */
  padding-inline-end: 6rem !important; /* push controls slightly left */
}
@media (min-width: 768px) {
  .mxd-header {
    width: calc(100% - 24rem) !important;
    padding-inline-end: 8rem !important;
  }
}
@media (min-width: 1600px) {
  .mxd-header {
    width: calc(100% - 30rem) !important;
    padding-inline-end: 10rem !important;
  }
}

/* Header button caption: prevent any per-char wrappers or spacing */
.mxd-header__controls .btn .btn-caption {
  direction: rtl !important;
  unicode-bidi: isolate !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  white-space: nowrap !important;
  text-transform: none !important;
  font-variant-ligatures: normal !important;
  display: inline-block !important;
}
.mxd-header__controls .btn .btn-caption * {
  animation: none !important;
  transform: none !important;
}
.mxd-header__controls .btn .btn-caption span,
.mxd-header__controls .btn .btn-caption .char,
.mxd-header__controls .btn .btn-caption .word {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* In RTL, place hamburger at the left to separate it from header controls */
html[dir="rtl"] .mxd-nav__contain {
  justify-content: flex-start !important;
  padding-left: 3rem !important;
  padding-right: 0 !important;
}
@media (min-width: 768px) {
  html[dir="rtl"] .mxd-nav__contain {
    padding-left: 6rem !important;
  }
}
@media (min-width: 1600px) {
  html[dir="rtl"] .mxd-nav__contain {
    padding-left: 9rem !important;
  }
}

/* Neutralize theme letter-splitting for button captions */
.btn-anim .btn-caption {
  height: auto !important;
  line-height: normal !important;
  overflow: visible !important;
}
.btn-anim__letter {
  display: contents !important;
  transform: none !important;
}
/* Hide duplicated block created by the theme to avoid duplicate text */
.btn-anim .btn-caption .btn-anim__block + .btn-anim__block {
  display: none !important;
}

/* Larger gap between color switcher and header button */
.mxd-header__controls {
  gap: 2.2rem !important;
}
@media (min-width: 768px) {
  .mxd-header__controls {
    gap: 3.2rem !important;
  }
}

/* RTL header: place header from the right side to avoid overlapping hamburger */
html[dir="rtl"] .mxd-header {
  left: auto !important;
  right: 3rem !important;
}
@media (min-width: 768px) {
  html[dir="rtl"] .mxd-header {
    right: 6rem !important;
  }
}
@media (min-width: 1600px) {
  html[dir="rtl"] .mxd-header {
    right: 9rem !important;
  }
}

/* Force hamburger to the physical left irrespective of RTL */
.mxd-nav__hamburger {
  position: fixed !important;
  left: 3rem !important;
  right: auto !important;
  top: 3rem !important;
  z-index: 102 !important;
}
@media (min-width: 768px) {
  .mxd-nav__hamburger {
    left: 6rem !important;
    top: 4rem !important;
  }
}
@media (min-width: 1600px) {
  .mxd-nav__hamburger {
    left: 9rem !important;
  }
}

/* Cancel pushing header controls to the right; keep a natural small gap only */
.mxd-header__controls {
  margin-left: 0 !important;
}

/* Revert header width/padding to theme defaults (but anchored from right in RTL) */
html[dir="rtl"] .mxd-header {
  width: calc(100% - 11.6rem) !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
}
@media (min-width: 768px) {
  html[dir="rtl"] .mxd-header {
    width: calc(100% - 19.6rem) !important;
  }
}
@media (min-width: 1600px) {
  html[dir="rtl"] .mxd-header {
    width: calc(100% - 25.6rem) !important;
  }
}

/* Small gap between left hamburger and header controls */
html[dir="rtl"] .mxd-header {
  padding-left: calc(
    4.6rem + 0.6rem
  ) !important; /* hamburger width + 0.6rem gap */
}
@media (min-width: 768px) {
  html[dir="rtl"] .mxd-header {
    padding-left: calc(
      5.6rem + 0.8rem
    ) !important; /* hamburger width + 0.8rem gap */
  }
}

/* === FINAL OVERRIDES: Hamburger on left + small gap === */
.mxd-nav__wrap .mxd-nav__contain {
  justify-content: flex-start !important;
  direction: ltr !important;
}
.mxd-nav__wrap .mxd-nav__hamburger {
  position: fixed !important;
  left: 3rem !important;
  right: auto !important;
  top: 3rem !important;
  z-index: 102 !important;
}
@media (min-width: 768px) {
  .mxd-nav__wrap .mxd-nav__hamburger {
    left: 6rem !important;
    top: 4rem !important;
  }
}
@media (min-width: 1600px) {
  .mxd-nav__wrap .mxd-nav__hamburger {
    left: 9rem !important;
  }
}
/* Small, fixed gap between hamburger and header controls */
html[dir="rtl"] .mxd-header {
  padding-left: calc(4.6rem + 1rem) !important;
}
@media (min-width: 768px) {
  html[dir="rtl"] .mxd-header {
    padding-left: calc(5.6rem + 1rem) !important;
  }
}

/* === LAST OVERRIDES (force apply) === */
html[dir="rtl"] body nav.mxd-nav__wrap .mxd-nav__contain {
  direction: ltr !important;
  justify-content: flex-start !important;
}
html[dir="rtl"]
  body
  nav.mxd-nav__wrap
  .mxd-nav__contain
  > a.mxd-nav__hamburger {
  position: fixed !important;
  left: 3rem !important;
  right: auto !important;
  top: 3rem !important;
  transform: none !important;
  z-index: 102 !important;
}
@media (min-width: 768px) {
  html[dir="rtl"]
    body
    nav.mxd-nav__wrap
    .mxd-nav__contain
    > a.mxd-nav__hamburger {
    left: 6rem !important;
    top: 4rem !important;
  }
}
@media (min-width: 1600px) {
  html[dir="rtl"]
    body
    nav.mxd-nav__wrap
    .mxd-nav__contain
    > a.mxd-nav__hamburger {
    left: 9rem !important;
  }
}
/* Small gap before header controls, not too large */
html[dir="rtl"] .mxd-header {
  padding-left: calc(4.6rem + 1rem) !important; /* hamburger width + 1rem gap */
}
@media (min-width: 768px) {
  html[dir="rtl"] .mxd-header {
    padding-left: calc(
      5.6rem + 1rem
    ) !important; /* hamburger width + 1rem gap */
  }
}
/* Remove any leftover left-margins on controls that pushed them right */
.mxd-header__controls {
  margin-left: 0 !important;
}

/* === Logo variants: show black in light, white in dark === */
.mxd-logo__image--dark,
.mxd-logo__image--light {
  display: block;
  width: 13.8rem;
  height: auto;
}
@media (min-width: 768px) {
  .mxd-logo__image--dark,
  .mxd-logo__image--light {
    width: 16.8rem;
  }
}
/* default (light) */
.mxd-logo__image--dark {
  display: block;
}
.mxd-logo__image--light {
  display: none;
}
:root[color-scheme="dark"] .mxd-logo__image--dark {
  display: none;
}
:root[color-scheme="dark"] .mxd-logo__image--light {
  display: block;
}
/* ensure smooth switch, no filters */
.mxd-logo__image,
.mxd-logo__image--dark,
.mxd-logo__image--light {
  filter: none !important;
  transition: opacity 0.2s ease;
}
/* Robust scheme switching for logo variants */
html[color-scheme="dark"] .mxd-logo__image--dark {
  display: none !important;
}
html[color-scheme="dark"] .mxd-logo__image--light {
  display: block !important;
}
html[color-scheme="light"] .mxd-logo__image--dark {
  display: block !important;
}
html[color-scheme="light"] .mxd-logo__image--light {
  display: none !important;
}
@media (prefers-color-scheme: dark) {
  :root:not([color-scheme="light"]) .mxd-logo__image--dark {
    display: none !important;
  }
  :root:not([color-scheme="light"]) .mxd-logo__image--light {
    display: block !important;
  }
}

/* Tighten header width to reduce left gap next to hamburger */
html[dir="rtl"] .mxd-header {
  width: calc(
    100% - 6rem
  ) !important; /* symmetric margins: right 3rem + left 3rem */
}
@media (min-width: 768px) {
  html[dir="rtl"] .mxd-header {
    width: calc(100% - 12rem) !important; /* right 6rem + left 6rem */
  }
}
@media (min-width: 1600px) {
  html[dir="rtl"] .mxd-header {
    width: calc(100% - 18rem) !important; /* right 9rem + left 9rem */
  }
}

/* Prevent header padding overlay from blocking hamburger clicks */
html[dir="rtl"] .mxd-header {
  pointer-events: none !important; /* let clicks pass through empty areas */
}
.mxd-header__logo,
.mxd-header__controls {
  pointer-events: auto !important; /* keep header controls clickable */
}
.mxd-nav__hamburger {
  pointer-events: auto !important;
  z-index: 104 !important; /* above header */
}

/* === Accent Color Replacement (Neon Green -> Vivid Orange) === */
:root {
  /* Replace previous #DDF160 usages */
  --accent--dark: #ff6a00 !important; /* dark mode primary accent (was green) */
  --accent-rgb--dark: 255, 106, 0 !important;
  --additional--light: #ff6a00 !important; /* light mode secondary (was green) */
  --additional-rgb--light: 255, 106, 0 !important;
  /* Optional unified hover shade */
  --accent-hover: #e65900;
}
/* Ensure resolved runtime vars pick new tokens (safety override) */
[color-scheme="dark"],
:root[color-scheme="dark"],
html[color-scheme="dark"] {
  --accent: var(--accent--dark) !important;
  --accent-rgb: var(--accent-rgb--dark) !important;
}
[color-scheme="light"],
:root[color-scheme="light"],
html[color-scheme="light"] {
  --additional: var(--additional--light) !important;
  --additional-rgb: var(--additional-rgb--light) !important;
}
/* Hover state refinement for accent buttons/tags */
.no-touch .btn-accent:hover,
.no-touch .tag-accent:hover,
.no-touch .bg-accent:hover {
  background-color: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}
/* Semi-transparent accent usages adapt automatically via updated --accent-rgb */

/* === Extend Accent Override: also replace purple light-mode accent & dark additional === */
:root {
  --accent--light: #ff6a00 !important;
  --accent-rgb--light: 255, 106, 0 !important;
  --additional--dark: #ff6a00 !important;
  --additional-rgb--dark: 255, 106, 0 !important;
}
/* Force both schemes to use unified orange */
[color-scheme="light"],
:root[color-scheme="light"],
html[color-scheme="light"] {
  --accent: var(--accent--light) !important;
  --accent-rgb: var(--accent-rgb--light) !important;
  --additional: var(--accent--light) !important; /* keep secondary same */
  --additional-rgb: var(--accent-rgb--light) !important;
}
[color-scheme="dark"],
:root[color-scheme="dark"],
html[color-scheme="dark"] {
  --additional: var(
    --additional--dark
  ) !important; /* mirror for components using additional */
  --additional-rgb: var(--additional-rgb--dark) !important;
}
/* Hover shade stays the same */

/* === Base Opposite (Dark Elements) -> Navy Override (#001536) === */
:root {
  --base-opp--light: #001536 !important; /* main dark (was #161616) */
  --base-opp-tint--light: #042349 !important; /* slightly lighter tint (was #1C1C1C) */
}
/* Runtime safety (force remap if already resolved) */
[color-scheme="light"],
:root[color-scheme="light"],
html[color-scheme="light"] {
  --base-opp: var(--base-opp--light) !important;
  --base-opp-tint: var(--base-opp-tint--light) !important;
}

/* === Dark Mode Background: Replace very dark gray with Navy (#001536) === */
:root[color-scheme="dark"],
html[color-scheme="dark"],
[color-scheme="dark"] {
  --base--dark: #001536 !important; /* primary page background */
  --base-rgb--dark: 0, 21, 54 !important;
  --base-tint--dark: #052040 !important; /* lighter surfaces / cards */
  --base-shade--dark: #000c24 !important; /* deeper separators / borders */
  /* Rebind runtime tokens */
  --base: var(--base--dark) !important;
  --base-rgb: var(--base-rgb--dark) !important;
  --base-tint: var(--base-tint--dark) !important;
  --base-shade: var(--base-shade--dark) !important;
}

/* === Hero title & Footer title switching (restored) === */
.hero-title,
.footer-title {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.hero-title--light,
.footer-title--light {
  display: none;
}
:root[color-scheme="dark"] .hero-title--dark,
:root[color-scheme="dark"] .footer-title--dark {
  display: none;
}
:root[color-scheme="dark"] .hero-title--light,
:root[color-scheme="dark"] .footer-title--light {
  display: block;
}
html[color-scheme="dark"] .hero-title--dark,
html[color-scheme="dark"] .footer-title--dark {
  display: none !important;
}
html[color-scheme="dark"] .hero-title--light,
html[color-scheme="dark"] .footer-title--light {
  display: block !important;
}
html[color-scheme="light"] .hero-title--dark,
html[color-scheme="light"] .footer-title--dark {
  display: block !important;
}
html[color-scheme="light"] .hero-title--light,
html[color-scheme="light"] .footer-title--light {
  display: none !important;
}
@media (prefers-color-scheme: dark) {
  :root:not([color-scheme="light"]) .hero-title--dark,
  :root:not([color-scheme="light"]) .footer-title--dark {
    display: none !important;
  }
  :root:not([color-scheme="light"]) .hero-title--light,
  :root:not([color-scheme="light"]) .footer-title--light {
    display: block !important;
  }
}

/* Strengthen hero title switching */
.hero-08-headline__title {
  text-align: center !important;
  mix-blend-mode: normal !important;
}
.hero-08-headline__title .hero-title--light {
  display: none !important;
}
html[color-scheme="dark"] .hero-08-headline__title .hero-title--light {
  display: block !important;
}
html[color-scheme="dark"] .hero-08-headline__title .hero-title--dark {
  display: none !important;
}
@media (prefers-color-scheme: dark) {
  :root:not([color-scheme="light"]) .hero-08-headline__title .hero-title--dark {
    display: none !important;
  }
  :root:not([color-scheme="light"])
    .hero-08-headline__title
    .hero-title--light {
    display: block !important;
  }
}

/* Hero title color control (works if inline SVG uses currentColor) */
.hero-08-headline__title img.hero-title {
  filter: none !important;
}
.hero-08-headline__title .hero-title--dark {
  color: #2e3138;
}
.hero-08-headline__title .hero-title--light {
  color: #ffffff;
}
html[color-scheme="dark"] .hero-08-headline__title .hero-title--dark {
  color: #ffffff !important;
}
html[color-scheme="dark"] .hero-08-headline__title .hero-title--light {
  color: #ff6a00 !important;
}

/* Marquee visibility fix (RTL overrides earlier removed animations) */
.mxd-section .marquee--gsap .marquee__top,
.mxd-section .marquee--gsap .marquee__bottom {
  translate: 0 !important;
}
.marquee--gsap,
.marquee--gsap .marquee__top,
.marquee--gsap .marquee__bottom,
.marquee--gsap .marquee__item {
  direction: ltr !important;
  text-align: left !important;
}
.marquee--gsap .mxd-section-title__descr p {
  direction: rtl !important;
  text-align: right !important;
}

/* === Footer Contact Layout (restored + enlarged variant) === */
.footer-contact-card,
.footer-map-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1.5rem;
}
.footer-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}
.footer-contact-list .contact-link,
.footer-contact-address .contact-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.5px;
}
.footer-contact-list .contact-link i,
.footer-contact-address .contact-link i {
  font-size: 2.4rem;
  color: var(--accent);
  flex-shrink: 0;
}
.footer-contact-address .contact-link {
  align-items: flex-start;
  max-width: 72ch;
}
.footer-contact-address .contact-link i {
  margin-top: 0.2rem;
}
.footer-column-contact {
  flex: 2.2 1 0;
}
.footer-contact-card {
  padding: 3.5rem 3rem;
}
.footer-social-icons {
  display: flex;
  gap: 1.25rem;
  margin-top: 0.5rem;
}
/* Social icons as large standalone glyphs */
.footer-social-icons .social-btn {
  width: auto;
  height: auto;
  background: none;
  box-shadow: none;
  padding: 0;
}
.footer-social-icons .social-btn i {
  font-size: 3.6rem;
  line-height: 1;
  color: var(--accent);
  transition: 0.3s;
}
.footer-social-icons .social-btn:hover i {
  color: var(--additional, var(--accent));
  transform: translateY(-4px);
}
@media (max-width: 1200px) {
  .footer-column-contact {
    flex: 1 1 100%;
  }
  .footer-contact-card {
    padding: 3rem 2rem;
  }
  .footer-contact-list .contact-link {
    font-size: clamp(1.2rem, 3vw, 1.7rem);
  }
  .footer-social-icons .social-btn i {
    font-size: 3.2rem;
  }
}
@media (max-width: 768px) {
  .footer-contact-card {
    padding: 2.5rem 1.75rem;
  }
  .footer-contact-list {
    gap: 1.5rem;
  }
  .footer-social-icons .social-btn i {
    font-size: 3rem;
  }
}

/* Footer map enlarged */
.footer-map-card {
  padding: 2.5rem 2rem;
}
.footer-map-card .footer-blocks__title {
  margin-bottom: 1rem;
}
.footer-map-wrapper {
  position: relative;
  flex: 1 1 auto;
  height: 100%;
  min-height: 520px;
  border-radius: 1.5rem;
  overflow: hidden;
  background: var(--base-tint);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.06);
  margin-top: 0.5rem;
}
.footer-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(0.1) contrast(1.05);
}
@media (max-width: 992px) {
  .footer-map-wrapper {
    min-height: 420px;
  }
}

/* === Footer Map Tweak (contain & smaller) === */
.footer-map-card .footer-map-wrapper {
  min-height: 380px;
  max-height: 420px;
  height: auto;
  margin-top: 0.25rem;
}
@media (max-width: 992px) {
  .footer-map-card .footer-map-wrapper {
    min-height: 320px;
    max-height: 360px;
  }
}
.footer-map-card {
  justify-content: flex-start;
}

/* Header phone icon button adjustments */
.header-phone-btn {
  padding: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.header-phone-btn i {
  font-size: 25px;
}
@media (max-width: 640px) {
  .header-phone-btn {
    padding: 0.55rem;
  }
  .header-phone-btn i {
    font-size: 25px;
  }
}

/* === Header circular controls unified sizing & spacing === */
.mxd-nav__hamburger,
.header-phone-btn.btn-round,
#color-switcher {
  width: 4.6rem !important;
  height: 4.6rem !important;
  min-width: 4.6rem !important;
  min-height: 4.6rem !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .mxd-nav__hamburger,
  .header-phone-btn.btn-round,
  #color-switcher {
    width: 5.6rem !important;
    height: 5.6rem !important;
    min-width: 5.6rem !important;
    min-height: 5.6rem !important;
  }
}
/* Equal gap between phone & color switcher */
.mxd-header__controls {
  display: flex;
  gap: 1rem !important;
}
.mxd-header__controls .btn,
.mxd-header__controls #color-switcher {
  margin: 0 !important;
}

/* Color switcher accent consistent styling override */
#color-switcher {
  background: transparent !important;
  border: 2px solid var(--accent, #ff6a00) !important;
  color: var(--accent, #ff6a00) !important;
  box-shadow: none !important;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
#color-switcher i {
  color: inherit !important;
  transition: color 0.25s ease;
}
#color-switcher:hover,
#color-switcher:focus-visible {
  background: transparent !important;
  color: var(--accent, #ff6a00) !important;
}
#color-switcher:hover i,
#color-switcher:focus-visible i {
  color: var(--accent, #ff6a00) !important;
}
/* Keep same style after theme toggle */
:root[color-scheme="dark"] #color-switcher,
:root[color-scheme="light"] #color-switcher {
  background: transparent !important;
}

/* Ensure phone icon centered & large */
.header-phone-btn i {
  font-size: 25px !important;
  line-height: 1;
}
