/* ==========================================================================
   Raiganj University - Footer, visitor counter, map, social bar
   File: assets/css/11-footer.css
   ======================================================================= */

/* ===== Footer ===== */
footer{
  background:var(--maroon-dark);
  color:#E4D2CE;
  position:relative;
  overflow:hidden;
}

footer:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.5;
  background-image:
      repeating-linear-gradient(
          45deg,
          rgba(255,255,255,0.035) 0,
          rgba(255,255,255,0.035) 1px,
          transparent 1px,
          transparent 26px
      ),
      repeating-linear-gradient(
          -45deg,
          rgba(255,255,255,0.035) 0,
          rgba(255,255,255,0.035) 1px,
          transparent 1px,
          transparent 26px
      );
}

footer:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(
      90deg,
      transparent,
      var(--gold) 20%,
      var(--gold-soft) 50%,
      var(--gold) 80%,
      transparent
  );
}

.footer-top{
  position:relative;
  z-index:1;
  padding:64px 0 40px;
}

.footer-top .container{
  max-width:1280px;
}

.footer-top h4{
  color:var(--gold-soft);
  font-size:13px;
  font-family:'IBM Plex Mono', monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
  font-weight:600;
}

.footer-top h4:after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin-top:10px;
  background:var(--gold);
}

.footer-top ul{
  list-style:none;
  margin:0;
  padding:0;
}

.footer-top li{
  margin-bottom:10px;
  font-size:13.5px;
}

.footer-top a{
  color:#D7BFB9;
  transition:color .2s ease;
}

.footer-top a:hover{
  color:var(--gold-soft);
}

/* Visitor counter */
.footer-visitors{
  margin-top:26px;
}

.footer-visitors span{
  display:block;
  font-size:12.5px;
  color:#C7ACA5;
  margin-bottom:8px;
}

.footer-visitors .odometer{
  display:flex;
  gap:2px;
}

.footer-visitors .odometer b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:26px;
  background:rgba(0,0,0,0.25);
  border:1px solid rgba(255,255,255,0.15);
  font-family:'IBM Plex Mono', monospace;
  font-size:13px;
  font-weight:600;
  color:var(--gold-soft);
}

/* Footer map */
.footer-map{
  min-width:0;
}

.footer-map-box{
  width:100%;
  height:100%;
  min-height:260px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.14);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}

.footer-map-box iframe{
  width:100%;
  height:100%;
  min-height:260px;
  display:block;
  border:0;
}

.footer-contact-info{
  margin-top:0;
  height:100%;
}

.footer-contact-name{
  color:#fff;
  font-size:17px;
  font-family:'Fraunces', serif;
  font-weight:600;
  margin:0 0 12px;
}

.footer-contact-info ul{
  margin:0;
  padding:0;
  list-style:none;
}

.footer-contact-info li{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:9px;
  color:#D7BFB9;
  font-size:13px;
  line-height:1.6;
}

.footer-contact-info li svg{
  flex-shrink:0;
  width:15px;
  height:15px;
  margin-top:3px;
  stroke:var(--gold-soft);
}

.footer-contact-info a{
  color:#D7BFB9;
}

.footer-contact-info a:hover{
  color:var(--gold-soft);
}

/* ===== Fixed edge-attached social bar ===== */
.social-edge-bar{
  position:fixed;
  top:50%;
  right:0;
  transform:translateY(-50%);
  z-index:900;
  display:flex;
  flex-direction:column;
  box-shadow:-2px 0 10px rgba(0,0,0,0.18);
}

.social-edge-bar a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  color:#fff;
  transition:width .25s ease, background .2s ease;
}

.social-edge-bar a svg{ width:19px; height:19px; flex-shrink:0; }

.social-edge-bar a:hover{ width:48px; }

.social-edge-bar a.fb{ background:#3B5998; }
.social-edge-bar a.yt{ background:#FF0000; }
.social-edge-bar a.tw{ background:#1DA1F2; }
.social-edge-bar a.ig{ background:#E1306C; }

@media (max-width:575.98px){
  .social-edge-bar a{ width:34px; height:34px; }
  .social-edge-bar a svg{ width:15px; height:15px; }
  .social-edge-bar a:hover{ width:34px; }
}

/* Footer bottom */
.footer-bottom{
  position:relative;
  z-index:1;
  border-top:1px solid rgba(255,255,255,0.14);
  background:rgba(0,0,0,0.14);
  padding:18px 24px;
  font-size:12.5px;
  color:#B99992;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}

.footer-bottom a{
  color:#B99992;
}

.footer-bottom .designer{
  color:var(--gold-soft);
}

.footer-bottom .designer:hover{
  text-decoration:underline;
}

.footer-bottom-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.footer-bottom-links span{
  opacity:.4;
}

.footer-bottom-links a:hover{
  color:#fff;
}

.back-to-top{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.25);
  color:#E4D2CE;
  flex-shrink:0;
  transition:
      background .25s ease,
      border-color .25s ease,
      color .25s ease,
      transform .25s ease;
}

.back-to-top svg{
  width:15px;
  height:15px;
}

.back-to-top:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--maroon-dark);
  transform:translateY(-2px);
}

/* Footer responsive */
@media (max-width:1080px){
  .footer-map-box{
      height:280px;
      min-height:220px;
  }
}

@media (max-width:640px){
  .footer-top{
      padding:44px 0 28px;
  }

  .footer-map-box{
      height:240px;
      min-height:200px;
  }

  .footer-bottom{
      flex-direction:column;
      align-items:flex-start;
      text-align:left;
  }

.back-to-top{
  display:flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.25);
  color:#E4D2CE; flex-shrink:0;
  transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.back-to-top svg{ width:15px; height:15px; }
.back-to-top:hover{ background:var(--gold); border-color:var(--gold); color:var(--maroon-dark); transform:translateY(-2px); }
}
