/* Footer styles (ملف مستقل)
   Path: public/assets/css/footer.css
   Encoding: UTF-8 (no BOM)
*/
:root{
  --footer-bg: linear-gradient(180deg, var(--bg), var(--bg-alt));
  --footer-pad: 40px;
  --footer-radius: 12px;
}

.site-footer{
  background: var(--footer-bg);
  color: var(--text);
  padding: var(--footer-pad) 18px 28px;
  font-size: 14px;
  line-height: 1.55;
  border-top: 1px solid var(--border);
  margin-top: 2.2rem;
}

/* container sizing */
.site-footer .container {
  max-width: 1220px;
  margin: 0 auto;
  padding-left: 12px;
  padding-right: 12px;
}

/* columns */
.site-footer .footer-col h6 {
  font-weight: 800;
  color: var(--text);
  margin-bottom: .75rem;
  font-size: 0.98rem;
}
.site-footer .footer-col ul { padding-left:0; list-style:none; margin:0; }
.site-footer .footer-col ul li { margin: .35rem 0; }
.site-footer .footer-col a { color: var(--text-light); text-decoration:none; }
.site-footer .footer-col a:hover { color: var(--brand); text-decoration: none; }

/* brand */
.site-footer .footer-brand h4 {
  font-size: 1.15rem;
  margin-bottom: .35rem;
}
.site-footer .footer-brand p { color: var(--text-light); max-width:420px; margin: .2rem 0 0.9rem; }

/* socials */
.footer-socials { display:flex; gap:.55rem; margin-top:.5rem; }
.social-icon {
  width:38px; height:38px; display:inline-grid; place-items:center;
  background: rgba(var(--brand-rgb), .08); color:var(--brand); border-radius:8px;
  text-decoration:none; transition: transform .18s ease, background .18s ease;
}
.social-icon:hover { transform: translateY(-4px); background: rgba(var(--brand-rgb), .14); }

/* newsletter */
.footer-news {
  display:flex; gap:.6rem; align-items:center;
  max-width:540px;
}
.footer-news .form-control { flex:1; min-width:0; border-radius:8px; padding:.5rem .7rem; }
.footer-news .btn { white-space:nowrap; border-radius:999px; padding:.46rem .9rem; }

/* payment icons */
.payment-icons { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin-top:.6rem; }
.payment-icon { height:28px; display:block; opacity:0.98; }
.payment-fallback { display:inline-flex; gap:.5rem; align-items:center; padding:.25rem .5rem; border-radius:8px; background:rgba(0,0,0,0.03); color:var(--text-light); font-size:12px; }

/* copyright row */
.site-footer .footer-bottom {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  border-top:1px solid rgba(0,0,0,0.04); padding-top:14px; margin-top:18px;
  color:var(--text-light); font-size:13px;
}

/* back to top */
.back-to-top {
  position: fixed;
  right: 20px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--brand);
  color: #fff;
  border: none;
  box-shadow: 0 10px 30px rgba(var(--brand-rgb), .22);
  z-index: 1300;
  opacity: 0; pointer-events: none; transition: .22s ease, transform .18s ease;
}
.back-to-top.visible { opacity: 1; pointer-events: auto; transform: translateY(-6px); }

/* responsive */
@media (max-width: 991.98px) {
  .site-footer { padding: 30px 14px 26px; }
  .footer-news { flex-direction: column; align-items:stretch; gap:.45rem; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:.45rem; }
}
@media (max-width: 575.98px) {
  .footer-socials { gap:.45rem; }
  .social-icon { width:34px; height:34px; }
  .payment-icon { height:20px; }
}

/* dark mode adjustments if html.dark exists */
html.dark .site-footer {
  background: linear-gradient(180deg, #071126 0%, #0b1320 100%);
  border-top-color: rgba(255,255,255,0.03);
}
html.dark .site-footer .footer-col a,
html.dark .site-footer .payment-fallback { color: var(--text-light); }