/* Jolfa footer v46 — semantic, compact, theme-aware */
.site-footer.jolfa-footer{
  --footer-bg:#f7f2fa;
  --footer-bg-deep:#eee5f4;
  --footer-text:#2d1938;
  --footer-heading:#24102f;
  --footer-muted:#67586f;
  --footer-border:rgba(53,22,76,.15);
  --footer-hover:#087f91;
  --footer-control-bg:rgba(255,255,255,.72);
  --footer-control-hover:#ffffff;
  --footer-shadow:0 18px 48px rgba(53,22,76,.09);
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:64px 0 0!important;
  padding:0!important;
  border:0!important;
  background:
    radial-gradient(circle at 14% 10%,rgba(54,198,218,.11),transparent 30%),
    radial-gradient(circle at 88% 16%,rgba(231,216,251,.72),transparent 34%),
    linear-gradient(145deg,var(--footer-bg),var(--footer-bg-deep))!important;
  box-shadow:var(--footer-shadow);
  color:var(--footer-text)!important;
  text-align:start!important;
  overflow:hidden;
}
html[data-theme="dark"] .site-footer.jolfa-footer{
  --footer-bg:#160b1e;
  --footer-bg-deep:#0e0714;
  --footer-text:#f7f0fa;
  --footer-heading:#ffffff;
  --footer-muted:#cdbfd4;
  --footer-border:rgba(255,255,255,.1);
  --footer-hover:#79e2ec;
  --footer-control-bg:rgba(255,255,255,.055);
  --footer-control-hover:rgba(54,198,218,.11);
  --footer-shadow:none;
  background:
    radial-gradient(circle at 14% 10%,rgba(54,198,218,.12),transparent 28%),
    linear-gradient(145deg,var(--footer-bg),var(--footer-bg-deep))!important;
}
.jolfa-footer::before{
  content:"";
  display:block;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#36c6da,#e7d8fb,#36c6da);
  opacity:.9;
}
.jolfa-footer__container{padding-top:42px;padding-bottom:22px}
.jolfa-footer__content{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:clamp(28px,4vw,58px);
}
.jolfa-footer__brand{
  flex:1 1 300px;
  max-width:390px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
}
.jolfa-footer__brand-link{
  display:inline-flex;
  align-items:center;
  gap:13px;
  color:var(--footer-text)!important;
  text-decoration:none!important;
}
.jolfa-footer__brand-link img{width:56px;height:56px;flex:0 0 56px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.24))}
.jolfa-footer__brand-link>span{display:flex;flex-direction:column;gap:2px}
.jolfa-footer__brand-link strong{font-family:var(--brand-font);font-size:1.42rem;line-height:1.15;color:var(--footer-heading)}
.jolfa-footer__brand-link small{font-size:.72rem;font-weight:850;color:var(--footer-hover)}
.jolfa-footer__brand p{margin:0;max-width:360px;color:var(--footer-muted);font-size:.84rem;line-height:1.95}
.jolfa-footer__support-link{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0 14px;
  border:1px solid var(--footer-border);
  border-radius:12px;
  background:var(--footer-control-bg);
  color:var(--footer-heading)!important;
  font-size:.78rem;
  font-weight:900;
  text-decoration:none!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.jolfa-footer__support-link:hover{transform:translateY(-2px);border-color:rgba(121,226,236,.55);background:var(--footer-control-hover)}
.jolfa-footer__navigation{
  flex:0 1 210px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:24px;
}
.jolfa-footer__link-group{min-width:130px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.jolfa-footer__link-group h2,.jolfa-footer__contact>h2{
  position:relative;
  margin:0 0 5px;
  padding-bottom:10px;
  color:var(--footer-heading);
  font-size:.82rem;
  line-height:1.5;
  font-weight:950;
}
.jolfa-footer__link-group h2::after,.jolfa-footer__contact>h2::after{
  content:"";
  position:absolute;
  inset-inline-start:0;
  bottom:0;
  width:28px;
  height:2px;
  border-radius:999px;
  background:var(--footer-hover);
}
.jolfa-footer__link-group a{
  position:relative;
  color:var(--footer-muted)!important;
  font-size:.78rem;
  font-weight:760;
  line-height:1.7;
  text-decoration:none!important;
  transition:color .18s ease,transform .18s ease;
}
.jolfa-footer__link-group a:hover{color:var(--footer-heading)!important;transform:translateX(calc(var(--footer-link-shift,1) * 3px))}
html[dir="rtl"] .jolfa-footer__link-group a:hover{--footer-link-shift:-1}
.jolfa-footer__contact{
  flex:1 1 310px;
  max-width:390px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
}
.jolfa-footer__contact-list{display:flex;flex-direction:column;gap:0;margin:0;font-style:normal}
.jolfa-footer__contact-list>a,.jolfa-footer__contact-list>div{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:9px 0;
  border-bottom:1px solid var(--footer-border);
  color:var(--footer-text)!important;
  text-decoration:none!important;
}
.jolfa-footer__contact-list>div:last-child{border-bottom:0}
.jolfa-footer__contact-list i{width:18px;flex:0 0 18px;margin-top:4px;color:var(--footer-hover);text-align:center}
.jolfa-footer__contact-list span{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.jolfa-footer__contact-list small{color:var(--footer-muted);font-size:.65rem;font-weight:760;line-height:1.4}
.jolfa-footer__contact-list strong,.jolfa-footer__contact-list bdi{
  max-width:100%;
  color:var(--footer-heading);
  font-size:.76rem;
  font-weight:850;
  line-height:1.75;
}
.jolfa-footer__contact-list bdi{display:block;direction:ltr;unicode-bidi:isolate;white-space:nowrap;font-size:clamp(.7rem,1vw,.78rem);letter-spacing:0}
.jolfa-footer__trust{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
  padding:9px 11px;
  border:1px solid var(--footer-border);
  border-radius:14px;
  background:var(--footer-control-bg);
  color:var(--footer-heading)!important;
  text-decoration:none!important;
  transition:border-color .2s ease,background .2s ease;
}
.jolfa-footer__trust:hover{border-color:rgba(121,226,236,.5);background:var(--footer-control-hover)}
.jolfa-footer__trust img{width:54px;height:54px;flex:0 0 54px;object-fit:contain;border-radius:9px;background:#fff;padding:2px}
.jolfa-footer__trust>span{min-width:0;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:2px}
.jolfa-footer__trust strong{font-size:.72rem;line-height:1.5}
.jolfa-footer__trust small{color:var(--footer-muted);font-size:.61rem;line-height:1.5}
.jolfa-footer__trust>i{color:var(--footer-muted);font-size:.72rem}
.jolfa-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 24px;
  margin-top:34px;
  padding-top:17px;
  border-top:1px solid var(--footer-border);
  color:var(--footer-muted);
  font-size:.68rem;
  line-height:1.8;
}
.jolfa-footer__bottom p{margin:0}
.jolfa-footer__bottom a{color:var(--footer-heading)!important;font-weight:900;text-decoration:none!important}
.jolfa-footer__bottom a:hover{color:var(--footer-hover)!important}
html[dir="rtl"] .jolfa-footer__brand,html[dir="rtl"] .jolfa-footer__link-group,html[dir="rtl"] .jolfa-footer__contact,html[dir="rtl"] .jolfa-footer__contact-list span,html[dir="rtl"] .jolfa-footer__trust>span{align-items:flex-start;text-align:right}
html[dir="ltr"] .jolfa-footer__brand,html[dir="ltr"] .jolfa-footer__link-group,html[dir="ltr"] .jolfa-footer__contact,html[dir="ltr"] .jolfa-footer__contact-list span,html[dir="ltr"] .jolfa-footer__trust>span{align-items:flex-start;text-align:left}
@media(max-width:980px){
  .jolfa-footer__brand{flex-basis:100%;max-width:none}
  .jolfa-footer__brand p{max-width:620px}
  .jolfa-footer__navigation{flex:0 1 220px}
  .jolfa-footer__contact{flex:1 1 300px}
}
@media(max-width:680px){
  .site-footer.jolfa-footer{margin-top:42px!important}
  .jolfa-footer__container{padding-top:30px;padding-bottom:18px}
  .jolfa-footer__content{gap:28px}
  .jolfa-footer__brand{gap:13px}
  .jolfa-footer__navigation{width:100%;flex:1 1 180px;justify-content:flex-start;gap:24px}
  .jolfa-footer__link-group{flex:1 1 130px}
  .jolfa-footer__contact{width:100%;max-width:none;flex-basis:100%}
  .jolfa-footer__bottom{flex-direction:column;align-items:flex-start;margin-top:27px}
}
@media(max-width:420px){
  .jolfa-footer__navigation{flex-direction:column;gap:25px}
  .jolfa-footer__link-group{width:100%}
  .jolfa-footer__contact-list bdi{font-size:.7rem}
}

/* v46: explicit light-theme contrast and readable controls */
html:not([data-theme="dark"]) .jolfa-footer__brand-link strong,
html:not([data-theme="dark"]) .jolfa-footer__link-group h2,
html:not([data-theme="dark"]) .jolfa-footer__contact>h2,
html:not([data-theme="dark"]) .jolfa-footer__contact-list strong,
html:not([data-theme="dark"]) .jolfa-footer__contact-list bdi,
html:not([data-theme="dark"]) .jolfa-footer__trust strong{color:var(--footer-heading)!important}
html:not([data-theme="dark"]) .jolfa-footer__support-link{
  border-color:rgba(53,22,76,.17);
  background:rgba(255,255,255,.76);
  color:#35164c!important;
  box-shadow:0 8px 22px rgba(53,22,76,.07);
}
html:not([data-theme="dark"]) .jolfa-footer__support-link:hover{
  border-color:rgba(8,127,145,.42);
  background:#fff;
  color:#075f6d!important;
}
html:not([data-theme="dark"]) .jolfa-footer__trust{
  border-color:rgba(53,22,76,.14);
  background:rgba(255,255,255,.7);
  box-shadow:0 8px 24px rgba(53,22,76,.06);
}
html:not([data-theme="dark"]) .jolfa-footer__trust:hover{background:#fff;border-color:rgba(8,127,145,.38)}
html:not([data-theme="dark"]) .jolfa-footer__bottom a{color:#35164c!important}
html:not([data-theme="dark"]) .jolfa-footer__bottom a:hover{color:#087f91!important}

/* v48: fully centered footer composition on mobile */
@media(max-width:680px){
  .site-footer.jolfa-footer,
  .jolfa-footer__container,
  .jolfa-footer__content{
    text-align:center!important;
  }
  .jolfa-footer__content{
    align-items:center!important;
    justify-content:center!important;
  }
  .jolfa-footer__brand,
  html[dir="rtl"] .jolfa-footer__brand,
  html[dir="ltr"] .jolfa-footer__brand{
    width:100%!important;
    max-width:560px!important;
    align-items:center!important;
    text-align:center!important;
  }
  .jolfa-footer__brand-link{
    justify-content:center!important;
    text-align:center!important;
  }
  .jolfa-footer__brand-link>span{
    align-items:center!important;
    text-align:center!important;
  }
  .jolfa-footer__brand p{
    margin-inline:auto!important;
    text-align:center!important;
  }
  .jolfa-footer__support-link{
    align-self:center!important;
    justify-content:center!important;
  }
  .jolfa-footer__navigation{
    width:100%!important;
    flex-basis:100%!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .jolfa-footer__link-group,
  html[dir="rtl"] .jolfa-footer__link-group,
  html[dir="ltr"] .jolfa-footer__link-group{
    width:100%!important;
    align-items:center!important;
    text-align:center!important;
  }
  .jolfa-footer__link-group h2::after,
  .jolfa-footer__contact>h2::after{
    inset-inline-start:50%!important;
    transform:translateX(-50%)!important;
  }
  .jolfa-footer__contact,
  html[dir="rtl"] .jolfa-footer__contact,
  html[dir="ltr"] .jolfa-footer__contact{
    width:100%!important;
    max-width:560px!important;
    align-items:center!important;
    text-align:center!important;
  }
  .jolfa-footer__contact-list{
    width:100%!important;
    align-items:stretch!important;
  }
  .jolfa-footer__contact-list>a,
  .jolfa-footer__contact-list>div{
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }
  .jolfa-footer__contact-list i{
    margin-top:0!important;
  }
  .jolfa-footer__contact-list span,
  html[dir="rtl"] .jolfa-footer__contact-list span,
  html[dir="ltr"] .jolfa-footer__contact-list span{
    align-items:center!important;
    text-align:center!important;
  }
  .jolfa-footer__contact-list strong{
    text-align:center!important;
  }
  .jolfa-footer__trust{
    width:min(100%,360px)!important;
    align-self:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .jolfa-footer__trust>span,
  html[dir="rtl"] .jolfa-footer__trust>span,
  html[dir="ltr"] .jolfa-footer__trust>span{
    align-items:center!important;
    text-align:center!important;
  }
  .jolfa-footer__bottom{
    width:100%!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .jolfa-footer__bottom p{
    width:100%!important;
    text-align:center!important;
  }
}
