/* BIMS — mobile-first overrides (loads after legacy style.css) */

:root {
	--bims-touch: 44px;
	--bims-mobile-pad: 16px;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin-top: 0 !important;
	-webkit-overflow-scrolling: touch;
}

img,
video,
iframe,
table {
	max-width: 100%;
}

/* Kill legacy negative offsets that break mobile layouts */
@media (max-width: 991px) {
	.navbar > .container .navbar-brand,
	.navbar > .container-fluid .navbar-brand,
	.navbar-wrapper .navbar > .container .navbar-brand {
		margin-left: 0 !important;
	}

	ul.nav.navbar-nav.navbar-right,
	#right1.navbar-right,
	#right1[style] {
		margin: 0 !important;
		float: none !important;
		width: 100%;
	}

	section.our-services .serv-info,
	.course-card-link .serv-info {
		margin-left: 0 !important;
		width: 100% !important;
	}

	section.our-services i.fa,
	.our-services .serv-part i.fa {
		margin-left: 0 !important;
	}

	section.contact-us .contact-info p,
	section.contact-us .contact-info .contact-extensions {
		margin-left: 0 !important;
		text-align: left;
	}
}

/* Containers & spacing */
@media (max-width: 767px) {
	.container,
	.container-fluid {
		padding-left: var(--bims-mobile-pad);
		padding-right: var(--bims-mobile-pad);
	}

	.row {
		margin-left: calc(var(--bims-mobile-pad) * -0.5);
		margin-right: calc(var(--bims-mobile-pad) * -0.5);
	}

	[class*="col-"] {
		padding-left: calc(var(--bims-mobile-pad) * 0.5);
		padding-right: calc(var(--bims-mobile-pad) * 0.5);
	}
}

/* Touch-friendly controls */
@media (max-width: 991px) {
	.btn,
	.nav > li > a,
	.dropdown-menu > li > a,
	.navbar-toggle,
	.bims-hero__btn,
	.dp-btn,
	.ab-btn,
	.fee-btn,
	.bims-whatsapp-float {
		min-height: var(--bims-touch);
	}

	.form-control,
	select.form-control,
	textarea.form-control,
	input.form-control {
		font-size: 16px !important;
		min-height: var(--bims-touch);
		padding: 10px 14px !important;
	}

	.navbar-nav > li > a.nav-apply-btn,
	.navbar-nav > li > a.nav-bms-btn {
		min-height: var(--bims-touch);
		line-height: 1.2;
		padding: 12px 18px !important;
	}

	.navbar-toggle {
		padding: 10px 12px;
		margin-right: 4px;
	}
}

/* Mobile navigation drawer */
@media (max-width: 991px) {
	body.bims-mobile-nav-open {
		overflow: hidden;
	}

	#navbar.navbar-collapse {
		max-height: calc(100vh - 88px);
		max-height: calc(100dvh - 88px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	#right1 > li.dropdown.open > .dropdown-menu {
		display: block;
		position: static;
		float: none;
	}

	.bims-deg-menu {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin-top: 4px !important;
	}
}

/* Homepage hero */
@media (max-width: 767px) {
	.bims-hero {
		min-height: 78vh;
		min-height: 78dvh;
	}

	.bims-hero__content {
		padding: 96px 18px 72px;
	}

	.bims-hero__title span {
		font-size: clamp(2.2rem, 11vw, 3rem);
	}

	.bims-hero__tagline {
		font-size: 1.05rem;
	}

	.bims-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.bims-hero__btn {
		width: 100%;
		text-align: center;
	}
}

/* Course cards */
@media (max-width: 767px) {
	.our-services .courses-row > .serv-part {
		width: 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.course-card-inner {
		height: auto !important;
		min-height: 96px !important;
		max-height: none !important;
		padding: 12px 14px !important;
	}

	.course-card-link .serv-info h4 {
		font-size: 16px !important;
		-webkit-line-clamp: 3;
	}

	.our-services h3.text-center,
	.our-gallery h3.text-center,
	.our-team h3.text-center,
	.contact-us h3.text-center,
	.our-counter h3.text-center {
		font-size: clamp(1.5rem, 6vw, 2rem) !important;
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* DG message */
@media (max-width: 991px) {
	.about-us .about-info1,
	.about-us .about-info2 {
		padding: 20px var(--bims-mobile-pad) !important;
		text-align: center;
	}

	.about-us .about-info1 img {
		width: 100%;
		max-width: 320px;
		height: auto;
		margin: 0 auto;
	}

	.about-us .about-details {
		text-align: left;
	}

	.about-us .ab-rich {
		font-size: 1rem;
		line-height: 1.65;
	}
}

/* Faculty grid */
@media (max-width: 767px) {
	section.our-team .ch-grid {
		gap: 8px;
	}

	section.our-team .ch-grid li,
	section.our-team .ch-grid li .ch-item {
		width: min(100%, 200px) !important;
		height: auto !important;
	}

	section.our-team .ch-grid li .ch-item {
		height: 200px !important;
		flex: 0 0 200px !important;
	}

	section.our-team h4,
	section.our-team p.team-info,
	section.our-team .bims-faculty-contact,
	section.our-team .bims-faculty-email {
		max-width: 100% !important;
	}
}

/* Stats */
@media (max-width: 575px) {
	section.our-counter div.col-md-3,
	section.our-counter .bims-stat-col {
		padding: 28px 16px !important;
	}

	section.our-counter .bims-stat-counter {
		font-size: clamp(2rem, 10vw, 2.75rem);
	}
}

/* Contact */
@media (max-width: 991px) {
	section.contact-us .row > [class*="col-"] {
		margin-bottom: 24px;
	}

	section.contact-us .contact-extensions li {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
		font-size: 15px;
	}

	section.contact-us .btn,
	section.contact-us .btn-lg {
		width: 100%;
	}

	.bims-contact-captcha,
	.bims-contact-captcha > div {
		transform-origin: left top;
		max-width: 100%;
		overflow-x: auto;
	}
}

/* Gallery */
@media (max-width: 767px) {
	section.our-gallery img.img-responsive {
		width: 100% !important;
		max-width: 100% !important;
		height: auto;
	}

	.bims-reviews-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		padding: 0 var(--bims-mobile-pad);
	}
}

@media (max-width: 767px) {
	iframe.googlemaps,
	.googlemaps {
		width: 100% !important;
		height: 280px !important;
		min-height: 240px;
		border: 0;
	}
}

/* Apply online & forms */
@media (max-width: 767px) {
	.form-section {
		padding: 16px !important;
	}

	.apply-now-banner .btn {
		font-size: 22px !important;
		width: min(100%, 320px);
		white-space: normal;
		line-height: 1.3;
		padding: 14px 18px !important;
	}
}

/* Page offset spacers */
@media (max-width: 767px) {
	.bims-page-offset,
	.ab-spacer,
	div[style*="height: 110px"] {
		height: 88px !important;
	}
}

/* Tables site-wide */
@media (max-width: 767px) {
	table {
		display: block;
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.table-responsive,
	.table-responsive-wrap,
	.dp-table-wrap,
	.fee-table-wrap,
	.ab-table-wrap {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		margin-bottom: 1rem;
	}

	.dp-curriculum-table,
	.dp-scheme-table,
	.fee-structure-table {
		min-width: 520px;
	}
}

/* Degree / about page heroes */
@media (max-width: 767px) {
	.bims-page-hero,
	.dp-hero,
	.ab-hero,
	.fee-hero {
		padding: 88px 16px 32px !important;
	}

	.dp-hero__inner,
	.ab-hero__inner {
		padding-left: 0;
		padding-right: 0;
	}

	.dp-section,
	.ab-section,
	.fee-section {
		padding-left: var(--bims-mobile-pad);
		padding-right: var(--bims-mobile-pad);
	}

	.dp-hero__actions,
	.dp-cta__actions,
	.ab-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.dp-btn,
	.ab-btn {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.dp-related-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Downloads, societies, student affairs */
@media (max-width: 767px) {
	.bims-societies-tabs,
	.bims-societies-tablist,
	.dsa-tabs {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		flex-wrap: nowrap !important;
	}

	.bims-societies-tab,
	.dsa-tab {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.bims-downloads-grid,
	.fee-program-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Popup */
@media (max-width: 575px) {
	.bims-popup__dialog {
		width: calc(100vw - 24px);
		max-height: calc(100dvh - 32px);
	}

	.bims-popup__body {
		max-height: calc(100dvh - 140px);
		overflow-y: auto;
	}
}

/* WhatsApp + safe areas */
@supports (padding: max(0px)) {
	.bims-whatsapp-float {
		right: max(16px, env(safe-area-inset-right));
		bottom: max(16px, env(safe-area-inset-bottom));
	}

	body {
		padding-bottom: env(safe-area-inset-bottom);
	}
}

/* Prevent horizontal scroll from rogue elements */
@media (max-width: 991px) {
	.navbar-wrapper,
	.bims-hero,
	.our-services,
	.about-us,
	.our-team,
	.our-counter,
	.our-gallery,
	.contact-us,
	.map,
	.dp-page,
	.ab-page,
	main {
		max-width: 100%;
		overflow-x: clip;
	}
}
