/* ==========================================================================
   Raiganj University - Global responsive + motion-reduction overrides
   File: assets/css/12-responsive.css
   ======================================================================= */

/* ===== Responsive ===== */
@media (max-width:1080px){
  .feature{ grid-template-columns:1fr; }
  .about-panel{ padding:28px 22px; }
  .card-grid{ grid-template-columns:repeat(2,1fr); }
  .events{ grid-template-columns:repeat(2,1fr); }
  .facilities-grid{ grid-template-columns:repeat(2,1fr); }
  .photo-card{ width:280px; height:175px; }
  .video-card{ width:280px; }
  .links-grid{ grid-template-columns:repeat(2,1fr); }
  .notice-events-grid{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:900px){
  .hero-carousel{ height:60vh; min-height:380px; }
  .nav-list{ display:none; }
  .nav-toggle{
    display:flex; align-items:center; gap:8px; background:none; border:none; color:#fff;
    padding:14px 4px; font-size:14px; font-weight:600; cursor:pointer;
  }
  .nav-toggle .bar{ width:22px; height:2px; background:#fff; position:relative; }
  .nav-toggle .bar:before, .nav-toggle .bar:after{ content:""; position:absolute; left:0; width:22px; height:2px; background:#fff; }
  .nav-toggle .bar:before{ top:-6px; } .nav-toggle .bar:after{ top:6px; }

  .main-nav.nav-open .nav-list{
    display:flex; flex-direction:column; width:100%;
    position:absolute; top:100%; left:0; background:var(--maroon-dark);
    max-height:calc(100vh - 120px); overflow-y:auto;
    box-shadow:0 20px 30px rgba(0,0,0,0.25);
  }
  .main-nav{ position:relative; }
  .nav-list > li{ width:100%; border-bottom:1px solid rgba(255,255,255,0.08); }
  .nav-link{ height:auto; padding:14px 20px; justify-content:space-between; width:100%; }
  .mega, .mega.flip{
    position:static; box-shadow:none; border:none; border-top:1px solid rgba(255,255,255,0.1);
    background:rgba(0,0,0,0.18); min-width:0 !important; max-width:none; width:100%; padding:16px 24px;
    columns:1; left:auto; right:auto; max-height:none; overflow-y:visible;
  }
  .mega-grid{ grid-template-columns:1fr; }
  .mega-heading{ color:var(--gold-soft); border-color:rgba(255,255,255,0.15); }
  .mega-heading-ic{ color:var(--gold-soft); border-color:rgba(255,255,255,0.3); }
  .mega-sub{ color:#F3E9DC; }
  .mega li a, .mega-col > a{ color:#D8CFC2; }
  .mega-index{ display:none; }
}
@media (max-width:760px){
  .utility-inner{ flex-wrap:wrap; padding:8px 20px; gap:8px; }
  .contact-info{
    order:1; gap:10px 18px; flex-wrap:wrap; overflow-x:visible;
    width:100%; max-width:100%;
  }
  .utility-bar .track{
    order:2; width:100%;
    flex-wrap:wrap; white-space:normal; overflow-x:visible;
    border-radius:10px; gap:6px 12px; padding:8px 14px;
  }
  .utility-bar .track .sep{ display:none; }
}
@media (max-width:640px){
  .seal{ width:56px; height:56px; }
  .brand-text .name{ font-size:19px; }
  .brand-text .name-bn{ font-size:12.5px; }
  .brand-text .sub{ font-size:9.5px; }
  .header-row{
    flex-direction:column;
    align-items:center;
    padding:20px 16px;
    gap:14px;
  }
  .brand{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:8px;
  }
  .header-actions-wrap{
    width:100%;
    align-items:center;
    gap:10px;
  }
  .header-mini-links{
    justify-content:center;
    flex-wrap:wrap;
  }
  .header-actions{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px 8px;
  }
  .card-grid{ grid-template-columns:1fr; }
  .notice-tabs{ flex-wrap:wrap; }
  .notice-tab{ padding:13px 16px; white-space:nowrap; flex:1 1 auto; text-align:center; }
  .notice-list li{ flex-wrap:wrap; padding:14px 20px; gap:6px 14px; }
  .notice-list .tag{ order:3; margin-left:74px; }
  .header-actions .btn span.full{ display:none; }
  .google-search-box{ order:-1; }
  .google-search-box .gsb-input{ width:140px; }
  .hero-carousel{ height:48vh; min-height:320px; }
  .hero-established{ font-size:11.5px; letter-spacing:.14em; }
  .flash-news-inner{ padding:0 16px; gap:10px; }
  .flash-label{ font-size:9.5px; padding:0 12px; gap:6px; margin:0 2px 0 -16px; }
  .footer-top{ padding:44px 0 24px; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; text-align:left; }
  .events{ grid-template-columns:1fr; }
  .facilities-grid{ grid-template-columns:1fr; }
  .photo-card{ width:240px; height:150px; }
  .links-grid{ grid-template-columns:1fr; }
  .photo-card:nth-child(2n){ margin-top:0; }
  .video-card{ width:250px; }
  .filmstrip-arrow{ display:none; }
  .gallery-stage{ padding:0; }
  .gallery-tabs{ overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
  .gallery-tabs::-webkit-scrollbar{ display:none; }
  .gallery-tab{ white-space:nowrap; padding:13px 18px; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; }
}


/* Bootstrap Campus Facilities refinements */
 #campus-facilities .facility-card-bs{
  min-height:170px;
  background:#fff;
  border:1.5px solid #ece5d5;
  border-radius:20px;
  box-shadow:0 4px 16px rgba(36,27,21,.05);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  overflow:hidden;
  position:relative;
}
#campus-facilities .facility-card-bs.fc-in{
  opacity:1;
  transform:translateY(0);
}
 #campus-facilities .facility-card-bs::before{
  content:"";
  position:absolute;
  top:-2px; left:-2px;
  width:58%;
  height:42%;
  border-top:3px solid var(--accent, var(--maroon));
  border-left:3px solid var(--accent, var(--maroon));
  border-top-left-radius:20px;
  transition:width .45s ease, height .45s ease, border-radius .45s ease;
  pointer-events:none;
}
 #campus-facilities .facility-card-bs:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px color-mix(in srgb, var(--accent, #C89B3C) 32%, rgba(36,27,21,.12));
}

 #campus-facilities .facility-card-bs:hover::before{
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  border-radius:20px;
}
#campus-facilities .facility-card-bs .card-body{
  padding:22px 22px !important;
  display:flex;
  flex-direction:column;
  height:100%;
  position:relative;
  z-index:1;
}
#campus-facilities .facility-card-bs .facility-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:var(--accent);
  margin-bottom:16px;
  flex-shrink:0;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
  animation:facilityIconPulse 2.8s ease-in-out infinite;
  transition:transform .4s ease, box-shadow .4s ease;
}
#campus-facilities .facility-card-bs .facility-icon svg{ width:24px; height:24px; }
#campus-facilities .facility-card-bs:hover .facility-icon{
  transform:rotate(-7deg) scale(1.1);
  box-shadow:0 10px 22px rgba(0,0,0,.32);
  animation-play-state:paused;
}
@keyframes facilityIconPulse{
  0%,100%{ box-shadow:0 8px 18px rgba(0,0,0,.22); }
  50%{ box-shadow:0 8px 24px rgba(0,0,0,.34); }
}
#campus-facilities [class*="col-"]:nth-child(1) .facility-card-bs{ transition-delay:.05s; }
#campus-facilities [class*="col-"]:nth-child(2) .facility-card-bs{ transition-delay:.12s; }
#campus-facilities [class*="col-"]:nth-child(3) .facility-card-bs{ transition-delay:.19s; }
#campus-facilities [class*="col-"]:nth-child(4) .facility-card-bs{ transition-delay:.26s; }
#campus-facilities [class*="col-"]:nth-child(5) .facility-card-bs{ transition-delay:.33s; }
#campus-facilities [class*="col-"]:nth-child(6) .facility-card-bs{ transition-delay:.4s; }
#campus-facilities [class*="col-"]:nth-child(7) .facility-card-bs{ transition-delay:.47s; }
#campus-facilities [class*="col-"]:nth-child(8) .facility-card-bs{ transition-delay:.54s; }
@media (prefers-reduced-motion: reduce){
  #campus-facilities .facility-card-bs{ opacity:1 !important; transform:none !important; transition:none !important; }
  #campus-facilities .facility-card-bs .facility-icon{ animation:none !important; }
  #campus-facilities .facility-card-bs::before{ transition:none !important; }
}
#campus-facilities .facility-card-bs h3{
  font-size:19px;
  margin-bottom:8px;
  color:var(--accent, var(--maroon-dark));
  transition:color .3s ease;
}
#campus-facilities .facility-card-bs p{
  font-size:13.5px;
  line-height:1.6;
  margin-bottom:14px;
  color:var(--ink-soft);
  flex-grow:1;
}
#campus-facilities .facility-card-bs a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  align-self:flex-start;
  background:var(--accent, var(--maroon-dark));
  color:#fff !important;
  padding:9px 18px;
  font-size:13px;
  font-weight:600;
  border-radius:999px;
  border-bottom:none;
  box-shadow:0 6px 14px rgba(0,0,0,.15);
  margin-top:auto;
  transition:gap .3s ease, transform .3s ease, box-shadow .3s ease, opacity .3s ease;
}
#campus-facilities .facility-card-bs a .lm-arrow{ display:inline-block; transition:transform .3s ease; }
#campus-facilities .facility-card-bs a:hover{
  gap:9px;
  opacity:.9;
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(0,0,0,.22);
}
#campus-facilities .facility-card-bs a:hover .lm-arrow{ transform:translateX(3px); }
@media (max-width:767.98px){
  #campus-facilities .facility-card-bs{ min-height:200px; }
}
