/* ===================== Global fix: block horizontal scroll ===================== */
html, body { overflow-x: hidden; }

/* ====================== Brand Tokens ====================== */
:root{
  --primary:#01202c;         /* سرمه‌ای صنعتی */
  --secondary:#008dd2;       /* آبی برند */
  --safety:#f7b500;          /* زرد ایمنی */
  --text:#cfd8dc;            /* متن روی تیره */
  --muted:#a0a0a0;           /* متن فرعی */
  --white:#fff;
  --pad:16px; --gap:24px;
  --fs:clamp(14px,1.2vw,15px); --lh:1.85;
}

/* ====================== Base ====================== */
#artistun-footer.afo{
  direction:rtl;
  font-family:Shabnam,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--primary); 
  color:var(--text);
  font-size:var(--fs); 
  line-height:var(--lh);
}
#artistun-footer a{
  color:var(--text);
  text-decoration:none;
  transition:color .2s,background-size .2s;
}
#artistun-footer a:hover{ color:#fff; }

/* ====================== Top Social Strip (Yellow) ====================== */
.afo-util{ background: var(--safety); }
.afo-util .afo-util-list{
  width:100%;
  margin:0;
  padding:14px var(--pad);
  display:flex; 
  gap:12px; 
  align-items:center; 
  justify-content:flex-end;
}
.afo-ico{
  width:40px; 
  height:40px;
  border:none; 
  border-radius:50%;
  display:inline-grid; 
  place-items:center;
  background:rgba(0,0,0,.15);
  transition:transform .15s ease, background-color .2s ease;
}
.afo-ico:hover{ 
  background:rgba(0,0,0,.25); 
  transform:translateY(-2px); 
}
.afo-ico svg{ 
  width:20px; 
  height:20px; 
  fill:#fff; 
  display:block; 
}

/* ====================== Main Columns ====================== */
.afo-main{
  width:100%;
  padding:28px var(--pad) 6px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--gap);
}
.afo-col{ 
  min-width:0; 
  text-align:right; 
}

/* ====================== Headings (no hover) ====================== */
.afo-head{
  width:100%; 
  text-align:right;
  cursor:default;
  font-family:Shabnam,sans-serif; 
  font-weight:800; 
  font-size:clamp(16px,1.6vw,18px);
  color:#e6eef2; 
  background:transparent; 
  border:0; 
  padding:6px 0 18px; 
  position:relative;
}
.afo-head::after{
  content:""; 
  position:absolute; 
  right:0; 
  bottom:4px; 
  height:2px; 
  width:88%;
  background:var(--safety);
}

/* ====================== Items ====================== */
.afo-panel{ 
  margin:10px 0 0; 
  padding:0; 
  list-style:none; 
  display:block !important; 
}
.afo-panel li{ margin:10px 0; }
.afo-item{
  display:inline-block; 
  padding:2px 0; 
  position:relative;
  background:linear-gradient(var(--safety),var(--safety)) right bottom/0 2px no-repeat;
}
.afo-item:hover{ background-size:100% 2px; }

/* ====================== Contact ====================== */
.afo-addresses{
  width:100%;
  margin:10px 0 0;
  padding:10px var(--pad) 24px;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
.afo-addresses h4{ 
  margin:10px 0 8px; 
  font-weight:800; 
  color:#29a7c9; 
  font-size:clamp(15px,1.3vw,16px); 
}
.afo-phones{ display:grid; gap:6px; }
.afo-phones a{ 
  color:#fff; 
  font-weight:900; 
  font-size:clamp(16px,2vw,19px); 
}
.afo-phones a:hover{ 
  color:#fff; 
  text-decoration:underline; 
  text-underline-offset:3px; 
}

.afo-addrs-grid{
  display:grid; 
  gap:16px; 
  justify-items:center;
  grid-template-columns:repeat(3,minmax(0,1fr));
  padding-top:8px;
}
.addr-card{ max-width:96%; }
.addr-card h5{ 
  margin:6px 0 6px; 
  font-weight:800; 
  color:#fff; 
}
.addr-card p{ 
  margin:4px 0; 
  font-size:clamp(13px,1.05vw,14px); 
  line-height:1.6; 
}
.addr-card .muted{ color:var(--muted); }

/* ====================== Subfooter ====================== */
.afo-sub{ 
  background:#06212b; 
  border-top:1px solid rgba(255,255,255,.14); 
  margin-top:12px; 
}
.afo-sub-wrap{
  width:100%;
  padding:14px var(--pad);
  display:grid;
  gap:8px;
  text-align:center;
}
.afo-sub small strong{ color:#fff; }

/* ====================== Back to top ====================== */
#afo-backtotop.afo-top{
  position:fixed; 
  right:16px; 
  bottom:20px;
  border:1px solid rgba(255,255,255,.25); 
  background:var(--secondary);
  color:#fff;
  border-radius:10px;
  padding:8px 12px;
  cursor:pointer;
  transition:opacity .2s, transform .2s; 
  z-index:20;
}
#afo-backtotop.is-hidden{
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
}
#afo-backtotop:hover{ background:#0fa3e0; }

/* ====================== Responsive ====================== */
@media (max-width:1199.98px){
  .afo-main{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:991.98px){
  .afo-main{ grid-template-columns:repeat(2,1fr); }
  .afo-addrs-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767.98px){
  .afo-main{ grid-template-columns:1fr; }
  .afo-panel{ display:block !important; }
  .afo-head{ cursor:default; }
  .afo-addrs-grid{ grid-template-columns:1fr; gap:14px; }
  .addr-card p{ display:block; }
}

/* Reduced motion / Print */
@media (prefers-reduced-motion:reduce){
  *{ transition:none!important; animation:none!important; }
}
@media print{
  #artistun-footer{ background:#fff;color:#000; }
  .afo-util,.afo-sub,#afo-backtotop{ display:none!important; }
}
