/* =========================================================
   INFRASTRUCTURE PAGE — page-specific only.
   Loaded solely by infrastructure.php via $pageExtraCss.

   Two content shapes on this page, matching the source nav's
   two link types:
   1. "Facility Guides" — PDF brochures per facility (Instrument,
      Auditorium, Classroom, Computer Lab, Gym, Lab, Language
      Lab, Medicinal Plant Garden, Museum, Animal House). Shown
      as compact download tiles.
   2. "Explore Our Campus" — facilities that already have their
      own dedicated pages (Labs, Campus, Canteen, Library).
      Shown as larger destination cards.
   ========================================================= */

/* ---- Section scaffolding (shared kicker/heading/lede rhythm) ---- */
.if-section{ padding:72px 0; }
.if-section--tint{ background:var(--cream); }

.if-kicker{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.76rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--green-700); margin-bottom:12px;
}
.if-kicker::before{ content:''; width:22px; height:2px; background:var(--gold-500); }

.if-heading{
  font-size:clamp(1.55rem,2.4vw,2.1rem);
  font-weight:800; color:var(--green-900); max-width:680px; margin:0 0 14px;
}
.if-lede{
  max-width:720px;
  font-size:1rem; line-height:1.75; color:var(--ink-soft);
  margin:0 0 44px;
}
.if-subheading{
  font-size:1.1rem; font-weight:800; color:var(--green-900);
  margin:0 0 20px;
}

/* =========================================================
   FACILITY GUIDES — compact PDF download tiles
   ========================================================= */
.if-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.if-guide-tile{
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:16px 18px;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.if-guide-tile:hover{
  border-color:var(--green-700);
  box-shadow:0 14px 28px -16px rgba(10,61,38,.3);
  transform:translateY(-2px);
}
.if-guide-icon{
  flex-shrink:0;
  width:42px; height:42px;
  border-radius:10px;
  background:var(--green-100);
  color:var(--green-700);
  display:flex;
  align-items:center;
  justify-content:center;
}
.if-guide-icon svg{ width:20px; height:20px; }
.if-guide-body{ min-width:0; flex:1; display:flex; flex-direction:column; gap:3px; }
.if-guide-name{ font-size:.92rem; font-weight:700; color:var(--green-900); }
.if-guide-badge{
  align-self:flex-start;
  font-size:.66rem; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; color:var(--red-500,var(--green-700));
  background:var(--red-100,var(--green-100));
  border-radius:6px; padding:2px 8px;
}
.if-guide-arrow{
  flex-shrink:0;
  color:var(--green-700);
  transition:transform .15s ease;
}
.if-guide-arrow svg{ width:16px; height:16px; }
.if-guide-tile:hover .if-guide-arrow{ transform:translate(2px,-2px); }

@media (max-width:900px){ .if-guide-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .if-guide-grid{ grid-template-columns:1fr; } }

/* =========================================================
   EXPLORE OUR CAMPUS — destination cards linking to dedicated pages
   ========================================================= */
.if-explore-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.if-explore-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:26px 22px;
  box-shadow:var(--shadow-card);
  transition:transform .18s ease, box-shadow .18s ease;
}
.if-explore-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px -20px rgba(10,61,38,.4);
}
.if-explore-icon{
  width:52px; height:52px;
  border-radius:14px;
  background:var(--green-900);
  color:var(--gold-500);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.if-explore-icon svg{ width:24px; height:24px; }
.if-explore-card h3{
  font-size:1.06rem; font-weight:800; color:var(--green-900); margin:0 0 8px;
}
.if-explore-card p{
  font-size:.87rem; line-height:1.65; color:var(--ink-soft);
  margin:0 0 20px; flex:1;
}
.if-explore-cta{
  display:inline-flex; align-items:center; gap:7px;
  font-size:.84rem; font-weight:700; color:var(--green-700);
}
.if-explore-cta svg{ width:15px; height:15px; transition:transform .15s ease; }
.if-explore-card:hover .if-explore-cta svg{ transform:translateX(3px); }

@media (max-width:980px){ .if-explore-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .if-explore-grid{ grid-template-columns:1fr; } }
