/*
 * Induscan – mobile + small-screen enhancements
 * Load after css/responsive.css on all public pages.
 */

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

.body-inner {
	overflow-x: hidden;
	max-width: 100%;
}

/* Keep bar navigation above full-bleed sliders */
#header.header-two {
	position: relative;
	z-index: 1030;
}

/* Logo: scoped so gallery / maps images are not forced to 250px */
.header-two .logo img {
	display: block;
	max-width: min(250px, 92vw);
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: 0;
	border-radius: 8px;
	padding: 4px;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 39, 68, 0.1);
}

/* Touch-friendly nav (Bootstrap 3 collapse) */
@media (max-width: 991px) {
	.navbar-nav > li > a {
		padding: 12px 15px;
		font-size: 16px;
		line-height: 1.35;
	}

	.navbar-nav .dropdown-menu > li > a {
		padding: 10px 18px;
		white-space: normal;
		word-break: break-word;
	}

	.navbar-nav .dropdown-header {
		padding: 10px 18px 6px;
		font-size: 12px;
	}

	.navbar-nav .btn-primary {
		display: block;
		margin: 10px 15px 16px;
		padding: 12px 16px;
		text-align: center;
		font-size: 15px;
	}

	.dropdown-menu {
		max-height: 70vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* Primary actions: faster tap on iOS */
.btn,
.navbar-nav .btn-primary {
	touch-action: manipulation;
}

/* Desktop header: match Apply Online height to nav links */
@media (min-width: 992px) {
	.header-two ul.navbar-nav > li > a.btn.btn-primary {
		padding: 30px 22px;
		line-height: 40px;
		margin: 0;
		border-radius: 4px;
	}
}

/* Home hero + highlights */
@media (max-width: 767px) {
	.page-slider .item {
		min-height: 300px;
	}

	.page-slider .item.hero-slide {
		min-height: min(420px, 72vh);
	}

	.box-slider-content {
		padding: 16px 0 32px;
		text-align: center;
	}

	.page-slider .item.hero-slide > .container {
		padding-top: max(100px, calc(env(safe-area-inset-top, 0px) + 88px));
		min-height: min(78vh, 620px);
		padding-bottom: 20px;
	}

	.hero-slide .box-slider-content,
	.hero-slide .hero-modern-content.box-slider-content {
		padding-top: 0;
		padding-bottom: 8px;
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		transform: none;
		-webkit-transform: none;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	.box-slider-text,
	.stats-floating-box {
		margin-left: 0 !important;
		display: block !important;
		max-width: 100% !important;
		width: 100%;
		box-sizing: border-box;
	}

	.box-slide-sub-title {
		font-size: 26px !important;
		line-height: 1.15;
	}

	.hero-slide .box-slide-sub-title.hero-heading {
		font-size: clamp(1.45rem, 6.5vw, 1.85rem) !important;
	}

	.hero-slide .hero-hl-icon {
		width: 36px;
		height: 36px;
		border-radius: 10px;
	}

	.hero-slide .hero-hl-icon .fa {
		font-size: 15px;
	}

	.hero-slide .hero-highlight-list li {
		padding: 12px 0;
		font-size: 14px;
	}

	.hero-slide .hero-hl-copy {
		padding-top: 6px;
	}

	.hero-highlight-list li {
		font-size: 14px;
		text-align: left;
	}

	.home-courses-section {
		padding: 48px 0 40px;
	}

	.home-courses-section .into-title {
		font-size: 22px;
	}

	.home-courses-section .lead {
		font-size: 16px;
		margin-bottom: 8px;
	}

	.course-card-home {
		margin-bottom: 18px;
		padding: 22px 16px;
	}

	.course-card-actions .btn-details {
		width: 100%;
		max-width: 280px;
		padding: 11px 14px;
	}
}

/* Course detail modals */
@media (max-width: 767px) {
	.course-detail-modal .modal-dialog {
		margin: 10px;
		width: auto;
	}

	.course-detail-modal .modal-body {
		max-height: calc(100vh - 160px);
		font-size: 15px;
		padding: 16px;
		-webkit-overflow-scrolling: touch;
	}

	.course-detail-modal .modal-header,
	.course-detail-modal .modal-footer {
		padding-left: 16px;
		padding-right: 16px;
	}

	.course-detail-modal .modal-title {
		font-size: 16px;
		line-height: 1.3;
	}
}

/* Embedded maps (contact etc.) */
iframe[src*="google.com/maps"],
iframe[src*="maps.google"] {
	max-width: 100%;
	width: 100% !important;
	display: block;
}

/* Footer: space for WhatsApp + back-to-top on small screens */
@media (max-width: 767px) {
	.copyright {
		padding-bottom: 96px;
	}

	.copyright .copyright-info {
		padding: 0 8px;
	}

	#back-to-top.affix {
		bottom: 88px;
		right: 10px;
	}

	.whatsapp-float {
		bottom: 16px !important;
		right: 16px !important;
		width: 54px !important;
		height: 54px !important;
	}
}

/* Very narrow phones */
@media (max-width: 360px) {
	.box-slide-sub-title {
		font-size: 22px !important;
	}
}
