:root{--table-orange:#efa431;--table-red:#d7402c;--table-border:#d0d2d7;--table-white:#fff;--table-text:#111;--table-muted:#f7f7f7}
.program-table-wrapper{width:100%;max-width:100%;margin:0 auto;padding:4rem 0;box-sizing:border-box}
.program-table-wrapper h1{font-size:3.6rem; color:var(--table-red)}
.program-table-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.program-table{width:100%;min-width:76rem;border-collapse:collapse;border-spacing:0;table-layout:fixed;background:var(--table-white);color:var(--table-text);font-size:1.4rem;line-height:1.5}
.program-table th:nth-child(1),.program-table td:nth-child(1){width:7%;min-width:5.5rem}
.program-table th:nth-child(2),.program-table td:nth-child(2){width:36%;min-width:24rem}
.program-table th:nth-child(3),.program-table td:nth-child(3){width:20%;min-width:13rem}
.program-table th:nth-child(4),.program-table td:nth-child(4){width:15%;min-width:10.5rem}
.program-table th:nth-child(5),.program-table td:nth-child(5){width:22%;min-width:19rem}
.program-table caption{caption-side:top;padding:2rem 1.2rem;background:#e8e7e7;color:var(--table-text);font-size:1.8rem;font-weight:700;line-height:1.6;text-align:center;text-transform:uppercase}
.program-table caption span{display:block}
.program-table .table-heading th{padding:1.3rem 1rem;min-height:6.2rem;background:var(--table-orange);border:0.1rem solid var(--table-white);color:var(--table-text);font-weight:700;text-align:center;vertical-align:middle}
.program-table .section-heading th{padding:1.4rem 1.2rem;background:var(--table-red);border:0.1rem solid var(--table-red);color:var(--table-white);font-size:1.6rem;font-weight:700;text-align:center;vertical-align:middle}
.program-table tbody tr:not(.section-heading) td{padding:1.2rem 1rem;min-height:5rem;background:var(--table-white);border:0.1rem solid var(--table-border);vertical-align:middle}
.program-table tbody tr:not(.section-heading) td:first-child{text-align:center}
.program-table tbody tr:not(.section-heading) td:nth-child(3),.program-table tbody tr:not(.section-heading) td:nth-child(4){text-align:center}
.program-table tbody tr:not(.section-heading):hover td{background:var(--table-muted)}
.action-cell{text-align:center!important;white-space:normal}
.action-link{display:inline-block;margin:0.3rem 0.2rem;padding:0.7rem 1rem;border:0.1rem solid transparent;border-radius:0.3rem;font-size:1.3rem;font-weight:600;line-height:1.3;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;color:#fff!important}
.details-link{background:var(--table-orange);border-color:var(--table-orange);color:#111!important}
.details-link:hover,.details-link:focus-visible{background:#d99122;border-color:#d99122;color:var(--table-white)}
.apply-link{background:var(--table-red);border-color:var(--table-red);color:var(--table-white)}
.apply-link:hover,.apply-link:focus-visible{background:#bd3222;border-color:#bd3222;color:var(--table-white)}
.action-link:focus-visible{outline:0.2rem solid var(--table-text);outline-offset:0.2rem}
.action-link:hover{transform:translateY(-0.1rem)}

/* =================== FOOTER =================== */
.main-footer{background-color:#d33b2a;color:#fff;padding-top:5rem;}

/* Grid Layout */
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding-bottom:4rem;}

/* Column 1: Info */
.footer-logo{margin-bottom:2rem;}
.footer-logo img{max-width:25rem;height:auto;}
.contact-details p{margin-bottom:1rem;line-height:1.6;color:rgba(255,255,255,0.9);}
.contact-details a{color:rgba(255,255,255,0.9);text-decoration:none;transition:color 0.3s;}
.contact-details a:hover{color:#fff;text-decoration:underline;}

/* Social Icons */
.footer-socials{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem;}
.footer-socials a{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background-color:rgba(0,0,0,0.2);color:#fff;border-radius:0.4rem;transition:background 0.3s ease;}
.footer-socials a:hover{background-color:#000;}
.footer-socials svg{width:2rem;height:2rem;}

/* Headings & Links */
.footer-heading{font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;position:relative;display:inline-block;}
.footer-heading::after{content:'';position:absolute;left:0;bottom:-0.5rem;width:100%;height:0.2rem;background:#fff;}
.mt-3{margin-top:2rem;} /* Margin for second headings (PG Diploma, Quick Links etc) */

.footer-links{list-style:none;padding:0;margin:0;}
.footer-links a{color:rgba(255,255,255,0.9);text-decoration:none;transition:all 0.3s ease;display:inline-block;}
.footer-links a:hover{color:#fff;transform:translateX(5px);} /* Slight move on hover */

/* Copyright Bar */
.copyright-bar{background-color:#000;color:#fff;padding:1.5rem 0;font-size:1.3rem;}
.copyright-bar p{margin:0;}

/* Floating WhatsApp Button */
.wa-float{position:fixed;bottom:2rem;right:2rem;background-color:#25d366;color:#fff;width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(0,0,0,0.3);z-index:99;transition:transform 0.3s ease;}
.wa-float:hover{transform:scale(1.1);}

/* Back To Top Button */
.back-to-top{position:fixed;bottom:7rem;right:2rem;width:4rem;height:4rem;background-color:#d33b2a;color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0003;cursor:pointer;z-index:98;opacity:0;visibility:hidden;transform:translateY(2rem);transition:all .3s ease}
.back-to-top:hover{background-color:#000}
.back-to-top.show-btn{opacity:1;visibility:visible;transform:translateY(0)}

.wa-float svg, .back-to-top svg{width:2.5rem;height:2.5rem;}

@media (min-width: 768px) {
	.program-table{min-width:85rem;font-size:1.5rem}
	.program-table caption{padding:2rem 1.6rem;font-size:2rem}
	.program-table .table-heading th{padding:1.5rem 1.2rem}
	.program-table .section-heading th{padding:1.5rem 1.2rem;font-size:1.7rem}
	.program-table tbody tr:not(.section-heading) td{padding:1.3rem 1.1rem}
	.action-link{padding:0.8rem 1.1rem;font-size:1.3rem}
	.footer-grid{grid-template-columns:repeat(2, 1fr);}
}
@media (min-width: 1024px) {
	.program-table{min-width:95rem;font-size:1.5rem}
	.program-table caption{padding:1.8rem 2rem;font-size:2rem}
	.program-table .table-heading th{padding:1.6rem 1.2rem}
	.program-table .section-heading th{padding:1.6rem 1.2rem}
	.program-table tbody tr:not(.section-heading) td{padding:1.4rem 1.1rem}
	.action-cell{white-space:nowrap}

	 .footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;}
	 .footer-col:not(:last-child){border-right:1px solid rgba(255,255,255,0.3);padding-right:3rem;}
	 .mt-3{margin-top:3rem;}
}
@media (min-width: 1200px) {
	.program-table-wrapper{width:100%;max-width:120rem}
	.program-table{min-width:100%;font-size:1.6rem}
	.program-table caption{padding:1.8rem 2rem;font-size:2rem}
	.program-table .table-heading th{padding:1.6rem 1.4rem}
	.program-table .section-heading th{padding:1.7rem 1.4rem;font-size:1.7rem}
	.program-table tbody tr:not(.section-heading) td{padding:1.4rem 1.1rem}
	.action-link{padding:0.8rem 1.2rem;font-size:1.4rem}
}
@media (min-width: 1440px) {
	.program-table-wrapper{max-width:140rem}
	.program-table{font-size:1.6rem}
	.program-table caption{padding:2rem 2.4rem;font-size:2.1rem}
	.program-table .table-heading th{padding:1.7rem 1.5rem}
	.program-table .section-heading th{padding:1.7rem 1.5rem;font-size:1.8rem}
	.program-table tbody tr:not(.section-heading) td{padding:1.5rem 1.2rem}
	.action-link{padding:0.8rem 1.3rem}
}
@media (prefers-reduced-motion: reduce) {
	.action-link{transition:none}
	.action-link:hover{transform:none}
}