/* Contact Page Styles */

:root {
	--contact-panel-bg: #f8f9fa;
	--contact-accent: #b59366;
}

main {
	min-height: 60vh;
}

.contact-card {
	background: var(--contact-panel-bg);
	border: 1px solid #e3e3e3;
}

@media (min-width: 992px) {
	.contact-card {
		display: block;
	}
}

.icon-bubble {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #e5e5e5;
	color: var(--contact-accent);
	border-radius: 12px;
	font-size: 1.25rem;
}

.icon-bubble i { line-height: 1; }

.contact-card h4 { letter-spacing: .5px; }

.contact-card a.link-dark:hover { text-decoration: underline; }

/* Form elements */
form#contactForm .form-control,
form#contactForm .form-select {
	background-color: #f5f5f5;
	border-color: #ddd;
}

form#contactForm .form-control:focus,
form#contactForm .form-select:focus {
	background-color: #fff;
	border-color: var(--contact-accent);
	box-shadow: 0 0 0 .15rem rgba(181,147,102,.25);
}

#submitBtn {
	background: #E0B46B;
	border: none;
	font-weight: 500;
	letter-spacing: .5px;
	width: 100%;
}

#submitBtn:hover { background:#E0B46B; }

#charCount { font-variant-numeric: tabular-nums; }
.primary{
	color: #1472B2!important;
}

.inputbg{
	background: #F6F6F6 !important;
	border-radius: 8px !important;
}
#name, #email, #interest{
	padding: .85rem 1rem;
}
/* Phone combined field */
.phone-wrapper { position: relative; }
.phone-combined-field {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .85rem 1rem;
	background: #F6F6F6;
	border: 1px solid #ddd;
	border-radius: 14px;
	font-size: .95rem;
}
.phone-combined-field:focus-within { border-color: var(--contact-accent); box-shadow: 0 0 0 .15rem rgba(181,147,102,.25); }

.ccode-toggle {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	display: inline-flex;
	align-items: center;
	font-weight: 500;
	color: #000;
	cursor: pointer;
}
.ccode-toggle:focus { outline: none; }
.ccode-toggle i { font-size: .85rem; }

.phone-input {
	flex: 1;
	border: none;
	background: transparent;
	outline: none;
}
.phone-input::placeholder { color: #555; }

/* Dropdown menu */
.ccode-menu {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	margin: .35rem 0 0;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 12px;
	padding: .35rem;
	max-height: 240px;
	overflow-y: auto;
	z-index: 30;
	display: none;
}
.ccode-menu.open { display: block; }
.ccode-item {
	width: 100%;
	background: transparent;
	border: none;
	text-align: left;
	padding: .55rem .75rem;
	border-radius: 8px;
	font-size: .9rem;
	cursor: pointer;
}
.ccode-item:hover { background: #F6F6F6; }
.ccode-item.active, .ccode-item[aria-selected="true"] { background: #E0B46B14; font-weight: 600; }

@media (max-width: 767.98px) {
	.phone-combined-field { font-size: .9rem; padding: .75rem .85rem; }
}


.info-banner {
    background-color: #E7F1F1 !important;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

/* Validation states */
form#contactForm .is-invalid { border-color: #dc3545 !important; }
form#contactForm .is-invalid:focus { box-shadow: 0 0 0 .15rem rgba(220,53,69,.25); }

/* Responsive refinements */
@media (max-width: 991.98px) {
	.contact-card { border-radius: 1.25rem; }
}

@media (min-width: 1200px) {
	.contact-card { padding: 3.5rem 4rem; }
}
