/* Dual Path Contact Form Styles */
.dpcf-container{max-width:1200px;margin:0 auto;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.dpcf-header{text-align:center;margin-bottom:50px}
.dpcf-header h2{font-size:36px;margin-bottom:10px;color:#333;font-weight:600}
.dpcf-header p{font-size:18px;color:#666}
.dpcf-selection{text-align:center}
.dpcf-intro-text{font-size:20px;color:#555;margin-bottom:40px}
.dpcf-options{display:flex;flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:24px}
.dpcf-option{background:#fff;border:2px solid #e0e0e0;padding:40px 30px;flex:1 1 320px;max-width:420px;min-width:280px;cursor:pointer;transition:all .3s ease;position:relative;border-radius:0}
.dpcf-option:hover{border-color:#4CAF50;transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}
.dpcf-option h3{font-size:22px;margin-bottom:15px;color:#333}
.dpcf-option p{font-size:16px;color:#666;line-height:1.5;margin-bottom:20px}
.dpcf-option-icon{font-size:48px;margin-top:20px}
.dpcf-content{animation:fadeIn .5s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.dpcf-back-btn{background:none;border:1px solid #ddd;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:16px;color:#666;margin-bottom:30px;transition:all .3s ease}
.dpcf-back-btn:hover{background:#f5f5f5;border-color:#999}
.dpcf-service-boxes{display:flex;flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:24px;margin-top:20px}
.dpcf-faq-section,.dpcf-contact-section{background:#fff;border:2px solid #e0e0e0;border-radius:0;padding:30px;text-align:center;flex:1 1 300px;max-width:500px;min-width:280px;transition:all .3s ease;position:relative}
.dpcf-faq-section:hover,.dpcf-contact-section:hover{border-color:#4CAF50;transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}
.dpcf-faq-icon,.dpcf-location-icon{font-size:64px;margin-bottom:20px}
.dpcf-faq-link,.dpcf-location-link{display:inline-block;background:#fff;color:#4CAF50;border:2px solid #4CAF50;padding:12px 30px;border-radius:0;text-decoration:none;margin-top:15px;transition:all .3s ease}
.dpcf-faq-link:hover,.dpcf-location-link:hover{background:#4CAF50;color:#fff}
.dpcf-faq-buttons{display:flex;gap:15px;justify-content:center;margin-top:15px}
.dpcf-faq-healthcare{color:#1976D2;border-color:#1976D2}
.dpcf-faq-healthcare:hover{background:#1976D2;color:#fff}
.dpcf-faq-equicare{color:#6D4C41;border-color:#6D4C41}
.dpcf-faq-equicare:hover{background:#6D4C41;color:#fff}
.dpcf-simple-contact,.dpcf-partner-form{background:#fff;border-radius:10px;padding:40px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.dpcf-quick-form input,.dpcf-quick-form textarea,.dpcf-detailed-form input,.dpcf-detailed-form textarea,.dpcf-detailed-form select{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:16px;margin-bottom:15px;transition:border-color .3s ease;min-height:45px;line-height:1.4}
.dpcf-quick-form input:focus,.dpcf-quick-form textarea:focus,.dpcf-detailed-form input:focus,.dpcf-detailed-form textarea:focus,.dpcf-detailed-form select:focus{outline:none;border-color:#4CAF50}
.dpcf-form-section{margin-bottom:35px}
.dpcf-form-section h4{font-size:18px;margin-bottom:20px;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:10px}
.dpcf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.dpcf-checkbox{display:flex;align-items:center;margin-bottom:20px;cursor:pointer}
.dpcf-checkbox input{width:auto;margin-right:10px;margin-bottom:0}
.dpcf-service-areas{display:flex;gap:15px;flex-wrap:nowrap;margin-bottom:20px;justify-content:flex-start}
.dpcf-area-checkbox{display:flex;align-items:center;justify-content:center;padding:12px 10px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;width:20%;min-width:120px;text-align:center;position:relative}
.dpcf-area-checkbox:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}
.dpcf-area-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}
.dpcf-area-checkbox label{cursor:pointer;margin:0;width:100%;display:block}
.dpcf-area-checkbox.healthsport{border-color:#1976D2;background-color:#E3F2FD;color:#1976D2;font-weight:600}
.dpcf-area-checkbox.healthsport.selected,.dpcf-area-checkbox.healthsport:has(input:checked){background-color:#1976D2;color:#fff;border-color:#1565C0}
.dpcf-area-checkbox.beautywellness{border-color:#1976D2;background-color:#E3F2FD;color:#1976D2;font-weight:600}
.dpcf-area-checkbox.beautywellness.selected,.dpcf-area-checkbox.beautywellness:has(input:checked){background-color:#1976D2;color:#fff;border-color:#1565C0}
.dpcf-area-checkbox.equicare{border-color:#6D4C41;background-color:#EFEBE9;color:#6D4C41;font-weight:600}
.dpcf-area-checkbox.equicare.selected,.dpcf-area-checkbox.equicare:has(input:checked){background-color:#6D4C41;color:#fff;border-color:#5D4037}
.dpcf-area-checkbox.animalcare{border-color:#388E3C;background-color:#E8F5E9;color:#388E3C;font-weight:600}
.dpcf-area-checkbox.animalcare.selected,.dpcf-area-checkbox.animalcare:has(input:checked){background-color:#388E3C;color:#fff;border-color:#2E7D32}
button[type=submit],.dpcf-submit-btn{background:#4CAF50;color:#fff;border:none;padding:15px 40px;font-size:18px;border-radius:5px;cursor:pointer;transition:background .3s ease;width:100%}
button[type=submit]:hover,.dpcf-submit-btn:hover{background:#45a049}
.dpcf-success{background:#4CAF50;color:#fff;padding:15px;border-radius:5px;text-align:center;margin:20px 0;animation:slideDown .5s ease}
.dpcf-error-message{background-color:#ffebee;border:1px solid #ff6b6b;color:#c62828;padding:15px;margin-bottom:20px;border-radius:4px;font-size:14px;animation:slideDown .5s ease}
.dpcf-field-error{border-color:#ff6b6b !important;box-shadow:0 0 0 2px rgba(255,107,107,0.2) !important}
.dpcf-error{color:#c62828;font-size:14px;display:block;margin-top:5px;line-height:1.4}
.dpcf-error strong{font-weight:600}
@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:768px){
	.dpcf-options{flex-wrap:wrap;flex-direction:column;align-items:center}
	.dpcf-option{width:100%;max-width:400px}
	.dpcf-service-boxes{flex-wrap:wrap;flex-direction:column;align-items:center}
	.dpcf-faq-section,.dpcf-contact-section{width:100%;max-width:400px}
	.dpcf-form-row{grid-template-columns:1fr}
	.dpcf-service-areas{flex-wrap:wrap}
	.dpcf-area-checkbox{width:100%;max-width:none}
	.dpcf-faq-buttons{flex-direction:column;gap:10px}
	.dpcf-faq-link{padding:10px 20px;font-size:14px}
}
.dpcf-loading{opacity:.6;pointer-events:none;position:relative}
.dpcf-loading::after{content:"Processing...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:10px 20px;border-radius:5px}
.dpcf-explanation-text{margin:20px 0;padding:20px;background:#f8f9fa;border-left:4px solid #4CAF50;border-radius:5px;font-size:16px;line-height:1.6;color:#333}
.dpcf-explanation-text p{margin:0 0 10px 0}
.dpcf-explanation-text p:last-child{margin-bottom:0}

/* intl-tel-input styling */
.iti {
	width: 100%;
	position: relative;
	display: inline-block;
}

.iti * {
	box-sizing: border-box;
}

.iti__hide {
	display: none !important;
}

.iti__v-hide {
	visibility: hidden;
}

.iti input, .iti input[type=tel], .iti input[type=text] {
	position: relative;
	z-index: 0;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-left: 60px;
	padding-right: 60px;
	margin-left: 0;
	width: 100%;
	height: 45px;
	line-height: 45px;
}

.iti__flag-container {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	padding: 0;
	z-index: 2;
	height: 100%;
}

.iti__selected-flag {
	z-index: 4;
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 8px;
	background: #f8f9fa;
	border-right: 1px solid #ddd;
	min-height: 45px;
}

.iti__arrow {
	margin-left: 6px;
	width: 0;
	height: 0;
	border-left: 3px solid transparent;
	border-right: 3px solid transparent;
	border-top: 4px solid #555;
}

.iti__arrow--up {
	border-top: none;
	border-bottom: 4px solid #555;
}

.iti__country-list {
	position: absolute;
	z-index: 1000;
	list-style: none;
	text-align: left;
	padding: 0;
	margin: 0;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	background-color: white;
	border: 1px solid #CCC;
	white-space: nowrap;
	max-height: 200px;
	overflow-y: scroll;
	width: 100%;
	top: 100%;
	left: 0;
	border-radius: 0 0 5px 5px;
}

.iti__country-list--dropup {
	bottom: 100%;
	margin-bottom: -1px;
}

.iti__country {
	padding: 5px 10px;
	line-height: 15px;
}

.iti__country.iti__highlight {
	background-color: #4CAF50;
	color: white;
}

.iti__flag {
	width: 20px;
	height: 15px;
	box-shadow: 0px 0px 1px 0px #888;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyMCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE1IiBmaWxsPSIjRkZGRkZGIi8+Cjwvc3ZnPgo=");
	background-repeat: no-repeat;
	background-color: #DBDBDB;
	background-position: 20px 0;
}

.iti__country-name {
	margin-right: 6px;
}

.iti__country-container{
	max-height: 45px;
}

.iti__dial-code {
	color: #999;
}

.iti__country.iti__highlight .iti__dial-code {
	color: rgba(255,255,255,0.7);
}

/* Error styling for phone validation */
.dpcf-error {
	color: #ff6b6b;
	font-size: 14px;
	margin-top: 5px;
	display: block;
}

/* Format hint styling for phone validation */
.dpcf-format-hint {
	color: #666;
	font-size: 13px;
	margin-top: 5px;
	display: block;
	font-style: italic;
}

.dpcf-format-hint strong {
	color: #4CAF50;
	font-weight: 600;
	font-style: normal;
}

/* Responsive phone input styling */
@media (max-width: 768px) {
	.iti input, .iti input[type=tel], .iti input[type=text] {
		padding-left: 50px;
		padding-right: 50px;
		font-size: 16px; /* Prevents zoom on iOS */
		height: 45px;
		line-height: 45px;
	}
	
	.iti__selected-flag {
		padding: 0 6px;
		min-height: 45px;
	}
	
	.iti__country-list {
		max-height: 150px;
		font-size: 14px;
	}

	.iti__country-container{
		max-height: 45px;
	}
	
	.iti__country {
		padding: 8px 10px;
		line-height: 18px;
	}
	
	.iti__flag {
		width: 18px;
		height: 13px;
	}
}

@media (max-width: 480px) {
	.iti input, .iti input[type=tel], .iti input[type=text] {
		padding-left: 45px;
		padding-right: 45px;
		height: 45px;
		line-height: 45px;
	}

	.iti__country-container{
		max-height: 45px;
	}
	
	.iti__selected-flag {
		padding: 0 4px;
		min-height: 45px;
	}
	
	.iti__country-list {
		max-height: 120px;
	}
}
