/* V101 — footer localization isolated from page direction; safe RTL/LTR icon placement */
.footer{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  color:#042630!important;
  overflow:hidden!important;
}
.footer-upper{
  box-sizing:border-box!important;
  width:100%!important;
  padding:42px 5vw 24px!important;
  background:#f8f8f5!important;
}
.footer-shell{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  direction:ltr!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:40px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.footer-contact-panel{
  order:1!important;
  flex:1 1 52%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  direction:rtl!important;
  text-align:right!important;
  background:transparent!important;
  border:0!important;
}
.footer-contact-panel h2{display:none!important}

/* Language-aware layout is isolated to footer content only.
   Do not set a dir attribute on the footer: the site already manages page direction. */
.footer[data-lang="fa"] .footer-contact-panel{ text-align:right!important; }
.footer[data-lang="fa"] .footer-contact-item{
  direction:ltr!important;
  flex-direction:row-reverse!important;
  text-align:right!important;
}
.footer[data-lang="fa"] .footer-contact-text{
  direction:rtl!important;
  text-align:right!important;
}
.footer[data-lang="en"] .footer-contact-panel,
.footer[data-lang="de"] .footer-contact-panel,
.footer[data-lang="fr"] .footer-contact-panel{ text-align:left!important; }
.footer[data-lang="en"] .footer-contact-item,
.footer[data-lang="de"] .footer-contact-item,
.footer[data-lang="fr"] .footer-contact-item{
  direction:ltr!important;
  flex-direction:row!important;
  text-align:left!important;
}
.footer[data-lang="en"] .footer-contact-text,
.footer[data-lang="de"] .footer-contact-text,
.footer[data-lang="fr"] .footer-contact-text{
  direction:ltr!important;
  text-align:left!important;
}
.footer-contact-item{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  width:100%!important;
  margin:8px 0!important;
  padding:0!important;
  color:#042630!important;
  font-size:22px!important;
  line-height:1.55!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
}
.footer-contact-address{
  align-items:flex-start!important;
  margin-top:12px!important;
  max-width:none!important;
  opacity:.86!important;
  font-size:17px!important;
  line-height:2!important;
}
.footer-contact-icon{
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  margin-top:0!important;
  color:#4A7272!important;
}
.footer-contact-address .footer-contact-icon{margin-top:2px!important}
.footer-contact-icon svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  fill:currentColor!important;
}
.footer-contact-text{min-width:0!important;color:#042630!important}
.footer-social-panel{
  order:2!important;
  flex:1 1 43%!important;
  min-width:0!important;
  min-height:100%!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  padding-top:8px!important;
  background:transparent!important;
}
.footer-socials{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:12px!important;
  direction:ltr!important;
}
.footer-socials a{
  display:block!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
  opacity:.94!important;
  text-decoration:none!important;
  transition:transform .22s ease,opacity .22s ease!important;
}
.footer-socials a:hover,.footer-socials a:focus-visible{
  transform:translateY(-2px)!important;
  opacity:1!important;
  outline:none!important;
}
.footer-socials img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.footer-bottom{
  box-sizing:border-box!important;
  width:min(1320px,calc(100% - 10vw))!important;
  max-width:1320px!important;
  height:148px!important;
  min-height:148px!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  text-align:center!important;
  background:#fff!important;
}
.footer-loop{
  display:block!important;
  width:190px!important;
  height:auto!important;
  max-width:58vw!important;
  margin:auto!important;
  object-fit:contain!important;
  align-self:center!important;
  justify-self:center!important;
}
@media(max-width:980px){
  .footer-shell{gap:26px!important}
  .footer-contact-item{font-size:20px!important}
}
@media(max-width:680px){
  .footer-upper{padding:28px 16px 20px!important}
  .footer-shell{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:24px!important;
  }
  .footer-contact-panel{order:1!important;text-align:right!important}
  .footer-social-panel{order:2!important;justify-content:flex-start!important;padding-top:0!important}
  .footer-contact-item{font-size:18px!important;gap:9px!important}
  .footer-contact-address{font-size:15px!important;line-height:1.9!important}
  .footer-contact-icon{flex-basis:26px!important;width:26px!important;height:26px!important}
  .footer-contact-icon svg{width:20px!important;height:20px!important}
  .footer-socials{justify-content:flex-start!important;gap:10px!important}
  .footer-socials a{width:40px!important;height:40px!important;border-radius:12px!important}
  .footer-bottom{width:calc(100% - 32px)!important;height:106px!important;min-height:106px!important}
  .footer-loop{width:150px!important;max-width:62vw!important}
}

/* V102 — footer contact consistency + safe Latin desktop offset */
/* Keep the address visually the same weight/density as the email line. */
.footer-contact-address{
  opacity:1 !important;
}
.footer-contact-address .footer-contact-text{
  font-weight:inherit !important;
}

/* In LTR languages, move the contact rows 100px to the right as a unit so
   the icon stays immediately beside its text instead of overlapping it. */
@media (min-width:681px){
  .footer[data-lang="en"] .footer-contact-item,
  .footer[data-lang="de"] .footer-contact-item,
  .footer[data-lang="fr"] .footer-contact-item{
    padding-left:100px !important;
  }
}

/* V112 — address typography matches the email line in every language. */
.footer-contact-address{
  font-size:22px!important;
  line-height:1.55!important;
  font-weight:inherit!important;
}
.footer-contact-address .footer-contact-text{
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
}
@media(max-width:980px){
  .footer-contact-address{font-size:20px!important;}
}
@media(max-width:680px){
  .footer-contact-address{font-size:18px!important;line-height:1.55!important;}
}

/* V124 — footer address weight matches the stronger email appearance in every language. */
.footer-contact-address .footer-contact-text{
  font-weight:600!important;
}

/* V125 — footer address matches phone size and is stronger in every language.
   Persian address follows the same left-to-right row treatment as EN/FR/DE. */
.footer-contact-address,
.footer-contact-address .footer-contact-text{
  font-size:22px !important;
  line-height:1.55 !important;
}
.footer-contact-address .footer-contact-text{
  font-weight:700 !important;
}
.footer[data-lang="fa"] .footer-contact-address{
  direction:ltr !important;
  flex-direction:row !important;
  text-align:left !important;
}
.footer[data-lang="fa"] .footer-contact-address .footer-contact-text{
  direction:ltr !important;
  text-align:left !important;
  unicode-bidi:plaintext !important;
}
@media(max-width:980px){
  .footer-contact-address,
  .footer-contact-address .footer-contact-text{font-size:20px !important;}
}
@media(max-width:680px){
  .footer-contact-address,
  .footer-contact-address .footer-contact-text{font-size:18px !important;}
}

/* =========================================================
   V126 — one contact typography + Persian contact alignment
   Phone, email and address share exactly the same visible size/weight.
   Persian phone/email/address are aligned to the left as requested.
   ========================================================= */
.footer-contact-item,
.footer-contact-item .footer-contact-text,
.footer-contact-address,
.footer-contact-address .footer-contact-text{
  font-size:22px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}
.footer-contact-address{
  opacity:1 !important;
}
.footer[data-lang="fa"] .footer-contact-panel{
  direction:ltr !important;
  text-align:left !important;
}
.footer[data-lang="fa"] .footer-contact-item,
.footer[data-lang="fa"] .footer-contact-address{
  direction:ltr !important;
  flex-direction:row !important;
  justify-content:flex-start !important;
  text-align:left !important;
}
.footer[data-lang="fa"] .footer-contact-item .footer-contact-text,
.footer[data-lang="fa"] .footer-contact-address .footer-contact-text{
  direction:ltr !important;
  text-align:left !important;
  unicode-bidi:plaintext !important;
}
@media(max-width:980px){
  .footer-contact-item,
  .footer-contact-item .footer-contact-text,
  .footer-contact-address,
  .footer-contact-address .footer-contact-text{
    font-size:20px !important;
  }
}
@media(max-width:680px){
  .footer-contact-item,
  .footer-contact-item .footer-contact-text,
  .footer-contact-address,
  .footer-contact-address .footer-contact-text{
    font-size:18px !important;
  }
}

/* =========================================================
   V127 — unified footer text color / lighter weight / alignment
   - All typed footer contact text uses #042630.
   - FA follows the exact same desktop left offset and row geometry as EN/FR/DE.
   - Contact typography is one weight lighter than V126.
   ========================================================= */
.footer,
.footer-contact-panel,
.footer-contact-item,
.footer-contact-item .footer-contact-text,
.footer-contact-address,
.footer-contact-address .footer-contact-text{
  color:#042630 !important;
}

.footer-contact-item,
.footer-contact-item .footer-contact-text,
.footer-contact-address,
.footer-contact-address .footer-contact-text{
  font-weight:600 !important;
}

.footer[data-lang="fa"] .footer-contact-panel,
.footer[data-lang="en"] .footer-contact-panel,
.footer[data-lang="fr"] .footer-contact-panel,
.footer[data-lang="de"] .footer-contact-panel{
  direction:ltr !important;
  text-align:left !important;
}

.footer[data-lang="fa"] .footer-contact-item,
.footer[data-lang="en"] .footer-contact-item,
.footer[data-lang="fr"] .footer-contact-item,
.footer[data-lang="de"] .footer-contact-item{
  direction:ltr !important;
  flex-direction:row !important;
  justify-content:flex-start !important;
  text-align:left !important;
}

.footer[data-lang="fa"] .footer-contact-text,
.footer[data-lang="en"] .footer-contact-text,
.footer[data-lang="fr"] .footer-contact-text,
.footer[data-lang="de"] .footer-contact-text{
  direction:ltr !important;
  text-align:left !important;
  unicode-bidi:plaintext !important;
}

@media(min-width:681px){
  .footer[data-lang="fa"] .footer-contact-item,
  .footer[data-lang="en"] .footer-contact-item,
  .footer[data-lang="fr"] .footer-contact-item,
  .footer[data-lang="de"] .footer-contact-item{
    padding-left:100px !important;
  }

  .footer-contact-item .footer-contact-text{
    white-space:nowrap !important;
  }
}

@media(max-width:680px){
  .footer-contact-item .footer-contact-text{
    white-space:normal !important;
  }
}

/* =========================================================
   V129 — Persian footer icon/text spacing
   - Keep contact icons clear of Persian text.
   - Nudge only the Persian address row slightly left on desktop.
   ========================================================= */
.footer[data-lang="fa"] .footer-contact-item{
  gap:18px !important;
}
.footer[data-lang="fa"] .footer-contact-icon{
  flex:0 0 30px !important;
  min-width:30px !important;
}
@media(min-width:681px){
  .footer[data-lang="fa"] .footer-contact-address{
    padding-left:72px !important;
  }
}


/* =========================================================
   V130 — stable Persian footer column / no icon overlap
   Keep FA on the exact same desktop x-axis as EN/FR/DE.
   ========================================================= */
@media(min-width:681px){
  .footer[data-lang="fa"] .footer-contact-item,
  .footer[data-lang="en"] .footer-contact-item,
  .footer[data-lang="fr"] .footer-contact-item,
  .footer[data-lang="de"] .footer-contact-item{
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) !important;
    column-gap:18px !important;
    align-items:center !important;
    padding-left:100px !important;
  }
  .footer[data-lang="fa"] .footer-contact-address,
  .footer[data-lang="en"] .footer-contact-address,
  .footer[data-lang="fr"] .footer-contact-address,
  .footer[data-lang="de"] .footer-contact-address{
    padding-left:100px !important;
  }
  .footer-contact-item .footer-contact-icon{
    grid-column:1 !important;
    margin:0 !important;
  }
  .footer-contact-item .footer-contact-text{
    grid-column:2 !important;
    margin:0 !important;
    min-width:0 !important;
  }
}


/* =========================================================
   V131 — Persian address: same physical column as EN/FR/DE
   Render Persian glyphs RTL inside a left-anchored text box so the pin icon
   can never sit underneath the address line.
   ========================================================= */
@media(min-width:681px){
  .footer[data-lang="fa"] .footer-contact-address{
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) !important;
    column-gap:18px !important;
    align-items:center !important;
    padding-left:100px !important;
    direction:ltr !important;
    text-align:left !important;
  }
  .footer[data-lang="fa"] .footer-contact-address .footer-contact-icon{
    grid-column:1 !important;
    justify-self:start !important;
    margin:0 !important;
  }
  .footer[data-lang="fa"] .footer-contact-address .footer-address-text{
    grid-column:2 !important;
    display:block !important;
    direction:rtl !important;
    unicode-bidi:isolate !important;
    text-align:left !important;
    justify-self:start !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
  }
}


/* V131b — lock the Persian address's visual box to the same start x-position
   as phone/email while preserving correct Persian glyph direction. */
@media(min-width:681px){
  .footer[data-lang="fa"] .footer-contact-address .footer-address-text{
    width:max-content !important;
    max-width:calc(100vw - 360px) !important;
    justify-self:start !important;
    overflow:visible !important;
  }
}

/* =========================================================
   V133 — stable footer font state in Firefox and other browsers
   Lock the final intended family on the footer itself instead of depending on
   body inheritance / delayed typography wrapping during language changes.
   ========================================================= */
.footer[data-lang="fa"] .footer-contact-item,
.footer[data-lang="fa"] .footer-contact-text,
.footer[data-lang="fa"] .footer-contact-address,
.footer[data-lang="fa"] .footer-contact-address .footer-contact-text{
  font-family:var(--bermor-font-fa) !important;
  font-synthesis:none !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.footer[data-lang="en"] .footer-contact-item,
.footer[data-lang="en"] .footer-contact-text,
.footer[data-lang="en"] .footer-contact-address,
.footer[data-lang="en"] .footer-contact-address .footer-contact-text,
.footer[data-lang="fr"] .footer-contact-item,
.footer[data-lang="fr"] .footer-contact-text,
.footer[data-lang="fr"] .footer-contact-address,
.footer[data-lang="fr"] .footer-contact-address .footer-contact-text,
.footer[data-lang="de"] .footer-contact-item,
.footer[data-lang="de"] .footer-contact-text,
.footer[data-lang="de"] .footer-contact-address,
.footer[data-lang="de"] .footer-contact-address .footer-contact-text{
  font-family:var(--bermor-font-latin) !important;
  font-synthesis:none !important;
}

/* =========================================================
   V136 — responsive footer + developer credit
   Keep the desktop composition untouched, but stack the two footer columns
   before they collide in compact desktop/tablet windows (including Safari).
   ========================================================= */
.footer-bottom{
  position:relative !important;
}
.footer-developer-credit{
  position:absolute !important;
  left:0 !important;
  bottom:22px !important;
  z-index:2 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#042630 !important;
  font-family:var(--bermor-font-latin) !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  direction:ltr !important;
  text-align:left !important;
  font-synthesis:none !important;
}

@media (min-width:681px) and (max-width:1050px){
  .footer-upper{
    padding:30px 30px 22px !important;
  }
  .footer-shell{
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:20px !important;
  }
  .footer-contact-panel,
  .footer-social-panel{
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
  }
  .footer-social-panel{
    justify-content:flex-start !important;
    align-items:flex-start !important;
    padding-top:2px !important;
  }
  .footer-socials{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
  .footer[data-lang="fa"] .footer-contact-item,
  .footer[data-lang="en"] .footer-contact-item,
  .footer[data-lang="fr"] .footer-contact-item,
  .footer[data-lang="de"] .footer-contact-item,
  .footer[data-lang="fa"] .footer-contact-address,
  .footer[data-lang="en"] .footer-contact-address,
  .footer[data-lang="fr"] .footer-contact-address,
  .footer[data-lang="de"] .footer-contact-address{
    padding-left:0 !important;
  }
  .footer-contact-item .footer-contact-text{
    white-space:nowrap !important;
  }
  .footer-contact-address .footer-contact-text,
  .footer[data-lang="fa"] .footer-contact-address .footer-address-text{
    width:auto !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
}

@media (max-width:680px){
  .footer-developer-credit{
    left:0 !important;
    bottom:14px !important;
    font-size:10px !important;
  }
  .footer-contact-item,
  .footer-contact-address{
    width:100% !important;
    min-width:0 !important;
  }
  .footer-contact-item .footer-contact-text,
  .footer-contact-address .footer-contact-text,
  .footer[data-lang="fa"] .footer-contact-address .footer-address-text{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }
}

/* =========================================================
   V140 — final developer-credit placement for the V138 branch
   ========================================================= */
.footer-developer-credit{
  left:0 !important;
  bottom:30px !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
}
@media (max-width:680px){
  .footer-developer-credit{
    bottom:16px !important;
    font-size:11px !important;
  }
}

/* =========================================================
   V141 — developer credit: one weight lighter except capital initials.
   ========================================================= */
.footer-developer-credit{
  font-weight:500 !important;
}
.footer-developer-credit .footer-credit-cap{
  font-weight:600 !important;
}


/* =========================================================
   V165 — footer weight rollback to earlier feel
   - Reduce footer text heaviness back to the lighter appearance.
   - Keep developer credit subtle again.
   ========================================================= */
.footer-contact-item,
.footer-contact-item .footer-contact-text,
.footer-contact-address,
.footer-contact-address .footer-contact-text{
  font-weight:500 !important;
}
.footer-developer-credit{
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.footer-developer-credit .footer-credit-cap{
  font-weight:500 !important;
}


/* =========================================================
   V166 — footer micro-alignment
   Equal vertical gaps between phone / email / address and only S/Z heavier.
   ========================================================= */
.footer-contact-panel{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}
.footer-contact-item,
.footer-contact-address{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.footer-developer-credit{
  font-weight:400 !important;
}
.footer-developer-credit .footer-credit-cap{
  font-weight:650 !important;
}


/* =========================================================
   V167 — requested footer micro-adjustments
   - Move the visible address line 7px upward.
   - D / B / S / Z in developer credit share the heavier weight.
   ========================================================= */
.footer-contact-address{
  transform:translateY(-7px) !important;
}
.footer-developer-credit .footer-credit-cap{
  font-weight:650 !important;
}


/* =========================================================
   V168 — localized footer addresses + unified footer font family
   - French and German address strings are localized in the shared footer.
   - Persian footer text uses the same font stack as the English footer.
   ========================================================= */
.footer[data-lang="fa"] .footer-contact-item,
.footer[data-lang="fa"] .footer-contact-text,
.footer[data-lang="fa"] .footer-contact-address,
.footer[data-lang="fa"] .footer-contact-address .footer-contact-text,
.footer[data-lang="fa"] .footer-address-text{
  font-family:var(--bermor-font-latin) !important;
  font-synthesis:none !important;
}

/* =========================================================
   V169 — developer credit identical in Persian and English footer
   The credit is Latin text, so FA must use the exact EN typography.
   ========================================================= */
.footer[data-lang="fa"] .footer-developer-credit,
.footer[data-lang="en"] .footer-developer-credit{
  font-family:var(--bermor-font-latin) !important;
  font-size:13px !important;
  font-weight:400 !important;
  font-style:normal !important;
  font-stretch:normal !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  word-spacing:normal !important;
  text-transform:none !important;
  font-synthesis:none !important;
  direction:ltr !important;
  text-align:left !important;
  white-space:nowrap !important;
}
.footer[data-lang="fa"] .footer-developer-credit .footer-credit-cap,
.footer[data-lang="en"] .footer-developer-credit .footer-credit-cap{
  font-family:inherit !important;
  font-size:1em !important;
  font-weight:650 !important;
  font-style:normal !important;
  font-synthesis:none !important;
}
