/* NMIMS CIIS — assets/css/04-sections/global-ui.css — extracted from approved source (Phase 2B) */

/* ── FLOATING BUTTONS ── */
.float-btns { position: fixed; right: 20px; bottom: 100px; z-index: 900; display: flex; flex-direction: column; gap: 12px; }
.float-btn { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(0,0,0,0.25); cursor: pointer; text-decoration: none; transition: transform 0.2s; }
.float-btn:hover { transform: scale(1.1); }
.float-btn-wa { background: #25D366; }
.float-btn-call { background: var(--purple); }
.float-btn svg { width: 24px; height: 24px; fill: white; }

/* ── STICKY MOBILE BAR ── */
.mobile-sticky { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 950; background: white; border-top: 1px solid var(--grey-light); padding: 10px 16px; box-shadow: 0 -4px 24px rgba(0,0,0,0.10); }
.mobile-sticky-inner { display: flex; gap: 8px; }
.mobile-sticky .btn { flex: 1; justify-content: center; padding: 12px 8px; font-size: 0.83rem; }

/* ── PREMIUM POPUP FORM MODAL ── */
.popup-overlay{position:fixed;inset:0;background:rgba(18,12,31,.58);backdrop-filter:blur(10px);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px}.popup-overlay.active{display:flex}.popup-modal{width:min(520px,100%);background:#fff;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.32);overflow:hidden;transform:translateY(18px) scale(.96);opacity:0;transition:.25s ease; max-height: calc(100dvh - var(--nmims-header-mobile-height) - var(--nmims-mobile-sticky-bar-height) - 24px) !important; display: flex !important; flex-direction: column !important; overflow: hidden !important;  margin: 0 auto !important; border-radius: 20px !important; transform: none !important;}.popup-overlay.active .popup-modal{transform:none;opacity:1}.popup-top{background:linear-gradient(135deg,var(--purple-dark),var(--purple));padding:26px 28px;color:#fff;position:relative}.popup-top:after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(232,105,10,.24);pointer-events:none;z-index:0}.popup-top>*{position:relative;z-index:1}.popup-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-light);font-weight:800;margin-bottom:7px}.popup-title{font-family:var(--font-display);font-size:1.55rem;line-height:1.2;margin:0 36px 8px 0;color:#fff}.popup-note{font-size:.92rem;color:rgba(255,255,255,.82);max-width:390px}.popup-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.18);color:#fff;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center}.popup-close:hover{background:rgba(255,255,255,.28);transform:scale(1.04)}.popup-body{padding:24px 28px 28px}.popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.popup-field{margin-bottom:13px}.popup-field label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dark);margin-bottom:6px}.popup-field input,.popup-field select{width:100%;border:1.5px solid var(--grey-mid);border-radius:14px;padding:12px 13px;font-family:var(--font-body);font-size:.94rem;outline:none}.popup-field input:focus,.popup-field select:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(75,44,123,.08)}.popup-submit{width:100%;border:none;border-radius:100px;padding:15px 20px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;font-weight:800;font-family:var(--font-body);font-size:1rem;cursor:pointer;box-shadow:0 12px 30px rgba(200,16,46,.28)}.popup-mini{font-size:.74rem;color:var(--grey-text);text-align:center;margin-top:10px}.popup-whatsapp-row{display:flex;gap:10px;margin-top:12px}.popup-whatsapp-row a{flex:1;justify-content:center}.clickable-card[data-popup-card]{cursor:pointer}.clickable-card[data-popup-card]:hover{box-shadow:var(--shadow-lift)}@media(max-width:560px){.popup-overlay{align-items:flex-end;padding:10px}.popup-modal{border-radius:24px 24px 18px 18px}.popup-top{padding:22px 22px}.popup-body{padding:20px 20px 22px}.popup-grid{grid-template-columns:1fr}.popup-title{font-size:1.35rem}.popup-whatsapp-row{flex-direction:column}.popup-field{margin-bottom:10px}} /* Compact, mobile-safe popup */
.popup-overlay.active { display: flex !important; }
.popup-close { position: absolute !important; right: 14px !important; top: 14px !important; z-index: 9999 !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important;
}
@media (max-width: 560px) { .popup-overlay { align-items: center !important; justify-content: center !important; padding: 12px !important; overflow-y: auto !important; } .popup-modal { width: calc(100vw - 24px) !important; max-height: calc(100vh - 24px) !important; overflow-y: auto !important; border-radius: 20px !important; } .popup-top { padding: 16px 52px 14px 18px !important; position: sticky !important; top: 0 !important; z-index: 5 !important; } .popup-title { font-size: 1.12rem !important; line-height: 1.18 !important; margin: 0 0 5px 0 !important; } .popup-kicker { font-size: .64rem !important; margin-bottom: 5px !important; } .popup-note { font-size: .78rem !important; line-height: 1.35 !important; } .popup-close { width: 34px !important; height: 34px !important; right: 12px !important; top: 12px !important; background: #fff !important; color: var(--purple) !important; border: 1px solid rgba(75,44,123,.18) !important; box-shadow: 0 6px 20px rgba(0,0,0,.18) !important; font-size: 24px !important; } .popup-body { padding: 14px 18px 16px !important; } .popup-grid { grid-template-columns: 1fr !important; gap: 0 !important; } .popup-field { margin-bottom: 8px !important; } .popup-field label { font-size: .64rem !important; margin-bottom: 4px !important; } .popup-field input, .popup-field select { padding: 9px 11px !important; border-radius: 11px !important; font-size: .86rem !important; } .popup-submit { padding: 12px 16px !important; font-size: .9rem !important; } .popup-mini { font-size: .66rem !important; margin-top: 7px !important; } .popup-whatsapp-row { gap: 8px !important; margin-top: 9px !important; } .popup-whatsapp-row .btn { padding: 10px 12px !important; font-size: .82rem !important; }
} /* Fee cards open popup enquiry form */
.fee-card.clickable-card::after{content:"Click for fee enquiry →";display:inline-flex;margin-top:14px;font-size:.78rem;font-weight:800;color:var(--red);background:rgba(200,16,46,.08);padding:7px 14px;border-radius:999px;}
.fee-card.featured.clickable-card::after{color:#fff;background:rgba(255,255,255,.16);}
@media(max-width:560px){.fee-card.clickable-card::after{font-size:.74rem;padding:7px 12px;margin-top:10px;}}

/* ── Popup CF7 integration (Phase 13E) ── */
#leadPopup .wpcf7 {
	margin: 0;
}

#leadPopup .popup-body .wpcf7-form > p,
#leadPopup .popup-body .wpcf7-form .popup-field {
	margin: 0 0 13px;
}

#leadPopup .popup-body .wpcf7-form .popup-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 13px;
}

#leadPopup .popup-body .wpcf7-form .popup-grid > p,
#leadPopup .popup-body .wpcf7-form .popup-grid > .popup-field {
	margin: 0;
}

#leadPopup .wpcf7 label {
	display: block;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--dark);
	margin-bottom: 6px;
}

#leadPopup .wpcf7 label br {
	display: none;
}

#leadPopup .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

#leadPopup .wpcf7-form-control:not(.wpcf7-submit) {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 1.5px solid var(--grey-mid);
	border-radius: 14px;
	padding: 12px 13px;
	font-family: var(--font-body);
	font-size: 0.94rem;
	color: var(--dark);
	background: var(--white);
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
	-webkit-appearance: none;
	appearance: none;
}

#leadPopup .wpcf7-form-control:not(.wpcf7-submit):focus {
	border-color: var(--purple);
	box-shadow: 0 0 0 4px rgba(75, 44, 123, 0.08);
}

#leadPopup .wpcf7-form-control::placeholder {
	color: #bbb;
}

#leadPopup .wpcf7-form-control.wpcf7-select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B6763' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	padding-right: 34px;
}

#leadPopup .wpcf7-form-control.wpcf7-textarea {
	min-height: 88px;
	resize: vertical;
}

#leadPopup .wpcf7-submit,
#leadPopup input.wpcf7-form-control.wpcf7-submit {
	width: 100%;
	border: none;
	border-radius: 100px;
	padding: 15px 20px;
	background: linear-gradient(135deg, var(--red), var(--red-dark));
	color: #fff;
	font-weight: 800;
	font-family: var(--font-body);
	font-size: 1rem;
	cursor: pointer;
	box-shadow: 0 12px 30px rgba(200, 16, 46, 0.28);
	line-height: 1.2;
	transition: transform 0.2s, box-shadow 0.2s;
}

#leadPopup .wpcf7-submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 34px rgba(200, 16, 46, 0.34);
}

#leadPopup .wpcf7-submit:disabled {
	opacity: 0.72;
	cursor: not-allowed;
	transform: none;
}

#leadPopup .popup-body {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

/* ── Phase 13C: mobile popup safety (CF7 scroll + close button) ── */
@media (max-width: 768px) {
	.popup-overlay.active {
		align-items: flex-start;
		justify-content: center;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.popup-overlay.active .popup-modal {
		display: flex;
		flex-direction: column;
		overflow: hidden;
		max-height: calc(
			100dvh - var(--nmims-header-mobile-height) - var(--nmims-mobile-sticky-bar-height) - 24px
		);
	}

	.popup-overlay.active .popup-top {
		position: relative;
		flex-shrink: 0;
	}

	.popup-overlay.active .popup-body,
	#leadPopup .popup-body {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.popup-overlay.active #popupClose.popup-close,
	.popup-overlay.active .popup-close {
		position: absolute;
		top: 14px;
		right: 14px;
		z-index: 10;
	}
}
