@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&family=Inter:ital,wght@0,300..800;1,300..800&display=swap');

:root{
  --gims-green: #19a974;
  --gims-teal: #0aa27a;
  --gims-ink: #0f3d3e;
  --muted:#5c6a70;
  --surface:#ffffff;
  --card-border: #e6edf3;
  --radius:12px;
  --font-medical: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Base typography and layout for department pages */
body{
    font-family: var(--font-medical);
    color: var(--gims-ink);
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: -0.01em;
    word-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

p{
    line-height: 1.6;
    margin-bottom: 12px;
}

h1,h2,h3,h4,h5,h6{
    font-family: var(--font-medical);
    line-height: 1.25;
    margin-bottom: 12px;
    letter-spacing: -0.015em;
}

li{
    line-height: 1.5;
}

.departmentPageHeading{ text-align:center; color:var(--gims-green); padding-top:5%; text-transform:uppercase; font-weight:800; margin-bottom:8px}

/* Layout grid used across dept pages */
.dept-layout{ display:grid; grid-template-columns: 280px 1fr; gap:20px; align-items:start; }
@media(max-width:980px){ .dept-layout{ grid-template-columns: 1fr; } }

/* Sidebar standardization */
.dept-sidebar{ background:var(--surface); border:1px solid var(--card-border); border-radius:var(--radius); padding:18px; box-shadow:0 8px 22px rgba(15,61,62,0.04);} 
.dept-sidebar .back-home{ display:block; margin-bottom:12px; font-weight:700; color:var(--muted); font-size:14px; text-decoration:none; padding-bottom:8px; border-bottom:1px solid #f0f3f5 }
.dept-sidebar ul{ list-style:none; margin:0; padding:0; }
.dept-sidebar ul li{ margin-bottom:6px; }
.dept-sidebar ul li a{ display:block; padding:10px 12px; border-radius:10px; color:var(--gims-ink); font-weight:600; font-size:15px; text-decoration:none; transition:all .18s ease;}
.dept-sidebar ul li a:hover, .dept-sidebar ul li a.active{ background: color-mix(in srgb, var(--gims-teal) 8%, #ffffff); color:var(--gims-ink); }

/* Cards and content */
.dh-card, .dept-content > .dh-card, .course__tab-content, .accordion .accordion-body{ background:var(--surface); border:1px solid var(--card-border); border-radius:12px; padding:18px; box-shadow:0 8px 22px rgba(15,61,62,0.04); }
.dh-title-sm{ font-size:20px; font-weight:800; color:var(--gims-ink); margin:0 0 8px }
.dh-text{ color:var(--muted); margin:0 }

/* Tabs */
.nav-tabs .nav-link{ border-radius:10px; margin-right:8px; color:var(--gims-ink); background:transparent; border:1px solid transparent; padding:8px 14px}
.nav-tabs .nav-link.active{ background: color-mix(in srgb, var(--gims-green) 10%, #ffffff); border-color: color-mix(in srgb, var(--gims-green) 12%, var(--card-border)); font-weight:700 }

/* Accordion tweaks to be consistent */
.accordion-button{ border-radius:10px; background:transparent; border:1px solid var(--card-border); color:var(--gims-ink); font-weight:700 }
.accordion-button:not(.collapsed){ background: color-mix(in srgb, var(--gims-teal) 8%, #fff); }
.accordion-body ul{ padding-left:18px; color:var(--muted); line-height:1.8 }

/* Tables */
.table{ border-collapse:separate; border-spacing:0; }
.table thead th{ background: #f7fffb; color:var(--gims-ink); font-weight:700 }
.table td, .table th{ padding:12px 14px; border-bottom:1px solid var(--card-border); vertical-align:middle }

/* Responsive helpers */
@media(max-width:768px){
  .departmentPageHeading{ padding-top:6%; font-size:18px }
  .dh-card{ padding:14px }
  .dept-sidebar{ padding:14px }
}

/* Utility: make images and cards consistent */
.dept-content img{ max-width:100%; height:auto; display:block }
.dept-card-media{ border-radius:10px; overflow:hidden }

/* Buttons consistency */
.btn-dept{ background:var(--gims-green); color:#fff; border-radius:10px; padding:8px 14px; border:none; font-weight:700 }
.btn-dept-outline{ background:transparent; color:var(--gims-green); border:1px solid color-mix(in srgb,var(--gims-green) 20%, #ffffff); border-radius:10px; padding:8px 14px }

/* Minor global spacing polish */
.mb-45{ margin-bottom:28px !important }
.mb-50{ margin-bottom:32px !important }

/* Ensure department-specific inline styles remain but visually consistent */
.cantora-one-regular{ 
    font-family: var(--font-medical);
    font-weight: 700;
}
