/*
 * Connect enquiry page — form + layout (pairs with connectivity-anywhere fonts).
 */

.ictsm-connect-enquiry {
	max-width: 760px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 3rem) 1.25rem 4rem;
}

.ictsm-connect-enquiry__hero {
	text-align: center;
	margin-bottom: 2rem;
}

.ictsm-connect-enquiry__title {
	margin: 0 0 0.75rem;
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--flexi-text);
}

.ictsm-connect-enquiry__lead {
	margin: 0;
	font-size: 1rem;
	color: var(--flexi-muted);
	line-height: 1.6;
}

.ictsm-connect-enquiry__notice {
	padding: 0.85rem 1rem;
	border-radius: 12px;
	margin-bottom: 1.25rem;
	font-size: 0.92rem;
	line-height: 1.5;
	text-align: center;
}

.ictsm-connect-enquiry__notice--success {
	background: rgba(94, 234, 212, 0.2);
	border: 1px solid rgba(13, 122, 154, 0.25);
	color: var(--flexi-brand-deep);
	font-weight: 600;
}

.ictsm-connect-enquiry__notice--hint {
	background: rgba(232, 148, 28, 0.1);
	border: 1px solid rgba(232, 148, 28, 0.35);
	color: var(--flexi-muted);
}

.ictsm-connect-enquiry__notice--error {
	background: rgba(225, 29, 72, 0.08);
	border: 1px solid rgba(225, 29, 72, 0.35);
	color: #9f1239;
	font-weight: 600;
}

/* Google Maps API key / referrer issues — informational, form still works */
.ictsm-connect-enquiry__notice--maps-warn {
	background: rgba(232, 148, 28, 0.12);
	border: 1px solid rgba(232, 148, 28, 0.4);
	color: var(--flexi-text);
	font-weight: 500;
	text-align: left;
}

.ictsm-connect-enquiry__notice-text {
	margin: 0 0 0.75rem;
	font-size: 0.92rem;
	line-height: 1.55;
}

.ictsm-connect-enquiry__notice-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
	margin: 0;
}

.ictsm-connect-enquiry__doc-link {
	font-weight: 700;
	color: var(--flexi-brand-deep);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ictsm-connect-enquiry__doc-link:hover {
	color: var(--flexi-brand);
}

.ictsm-connect-enquiry__dismiss-maps-notice {
	padding: 0.35rem 0.85rem !important;
	font-size: 0.85rem !important;
}

.ictsm-connect-enquiry__form {
	position: relative;
	text-align: left;
}

.ictsm-connect-enquiry__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.25rem;
}

@media (max-width: 560px) {
	.ictsm-connect-enquiry__grid {
		grid-template-columns: 1fr;
	}
}

.ictsm-connect-enquiry__field--full {
	grid-column: 1 / -1;
}

.ictsm-connect-enquiry__label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--flexi-text);
}

.ictsm-connect-enquiry__req {
	color: #e11d48;
}

.ictsm-connect-enquiry__input,
.ictsm-connect-enquiry__select,
.ictsm-connect-enquiry__textarea {
	width: 100%;
	padding: 0.65rem 0.85rem;
	border-radius: 10px;
	border: 1px solid var(--flexi-border);
	font-family: var(--font-body);
	font-size: 1rem;
	background: #fff;
	color: var(--flexi-text);
}

.ictsm-connect-enquiry__input:focus,
.ictsm-connect-enquiry__select:focus,
.ictsm-connect-enquiry__textarea:focus {
	outline: 2px solid rgba(13, 122, 154, 0.35);
	outline-offset: 1px;
	border-color: var(--flexi-brand);
}

/* Prominent address field — room to type and read suggestions */
.ictsm-connect-enquiry__field--address {
	margin-bottom: 0.25rem;
}

.ictsm-connect-enquiry__input--address {
	min-height: 3.85rem;
	padding: 1rem 1.1rem;
	font-size: 1.0625rem;
	line-height: 1.45;
}

@media (min-width: 600px) {
	.ictsm-connect-enquiry__input--address {
		min-height: 4.25rem;
		font-size: 1.125rem;
		padding: 1.1rem 1.15rem;
	}
}

.ictsm-connect-enquiry__hint {
	margin: 0.4rem 0 0;
	font-size: 0.78rem;
	color: var(--flexi-muted);
	line-height: 1.45;
}

.ictsm-connect-enquiry__coords {
	padding: 0.65rem 0.85rem;
	background: var(--flexi-bg);
	border-radius: 10px;
	border: 1px dashed var(--flexi-border);
}

.ictsm-connect-enquiry__coord-out {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--flexi-brand-deep);
	font-variant-numeric: tabular-nums;
}

.ictsm-connect-enquiry__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ictsm-connect-enquiry__robot {
	margin: 0.5rem 0 0;
}

.ictsm-connect-enquiry__robot-label {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	cursor: pointer;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--flexi-text);
}

.ictsm-connect-enquiry__checkbox {
	width: 1.15rem !important;
	height: 1.15rem;
	min-width: 1.15rem;
	margin-top: 0.15rem;
	accent-color: var(--flexi-brand, #0d7a9a);
	cursor: pointer;
}

.ictsm-connect-enquiry__robot-text .ictsm-connect-enquiry__req {
	margin-left: 0.15rem;
}

.ictsm-connect-enquiry__privacy {
	margin: 1.25rem 0 1rem;
	font-size: 0.78rem;
	color: var(--flexi-muted);
	line-height: 1.5;
}

.ictsm-connect-enquiry__submit {
	margin-top: 0.25rem;
}

/*
 * Google Places dropdown (.pac-*). Marker icons use background sprites from maps.gstatic.com;
 * when those requests fail (ad blockers, CSP, referrer restrictions), browsers show repeated
 * broken-image “!” icons — hide .pac-icon and keep text predictions.
 */
body.ictsm-connect-enquiry-page .pac-container {
	z-index: 100000 !important;
	font-family: var(--font-body) !important;
	border-radius: 12px !important;
	border: 1px solid var(--flexi-border, rgba(13, 122, 154, 0.2)) !important;
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14) !important;
	margin-top: 6px !important;
	overflow: visible;
	max-height: min(60vh, 320px);
	overflow-y: auto;
}

body.ictsm-connect-enquiry-page .pac-container .pac-icon {
	display: none !important;
}

body.ictsm-connect-enquiry-page .pac-container .pac-item {
	padding: 12px 14px !important;
	font-size: 0.98rem !important;
	line-height: 1.45 !important;
	cursor: pointer;
}

body.ictsm-connect-enquiry-page .pac-container .pac-item-query {
	font-size: 1rem !important;
}

body.ictsm-connect-enquiry-page .pac-container .pac-matched {
	font-weight: 700;
}

body.ictsm-connect-enquiry--maps-auth-fail .pac-container {
	display: none !important;
}
