/* ==========================================================================
   Ray White Rental Appraisal - Public Form Styles
   ========================================================================== */

.dsrwra-widget {
	background: #FAF9F2;
	margin: -30px 0 0 0;
	padding: 30px;
	border: none;
	max-width: 100% !important;
	font-family: 'Poppins', sans-serif;
	color: #1a2439;
}


/* Steps */
.dsrwra-step {
	animation: dsrwra-fadeIn 0.3s ease-in;
}

@keyframes dsrwra-fadeIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Form intro text */
.dsrwra-intro {
	margin: 0 0 20px 0;
	font-size: 15px;
	color: #1a2439;
	line-height: 1.5;
}

/* Section Title (Property Details, etc.) */
.dsrwra-section-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 22px;
	font-weight: 700;
	color: #1a2439;
	margin: 0 0 20px 0;
}

/* Header (kept for steps 2/3 that still use it) */
.dsrwra-header {
	text-align: center;
	margin-bottom: 30px;
}

.dsrwra-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 28px;
	font-weight: 700;
	color: #1a2439;
	margin: 0 0 8px 0;
}

.dsrwra-subtitle {
	font-size: 15px;
	color: #666666;
	margin: 0;
}

/* Form Fields */
.dsrwra-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.dsrwra-field {
	display: flex;
	flex-direction: column;
	position: relative;
	padding-top: 16px;
	border-top: 1px solid #e5e2d5;
}

/* First field in a form has no top border (section title already separates it). */
.dsrwra-form > .dsrwra-field:first-of-type,
.dsrwra-form > .dsrwra-hp + .dsrwra-field {
	border-top: none;
	padding-top: 0;
}

.dsrwra-field-row {
	display: flex;
	gap: 20px;
	padding-top: 16px;
	border-top: 1px solid #e5e2d5;
}

.dsrwra-field-row .dsrwra-field {
	border-top: none;
	padding-top: 0;
}

.dsrwra-field-third,
.dsrwra-field-half {
	flex: 1;
}

.dsrwra-estimate-label {
	font-size: 13px;
	color: #6c6f7a;
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.dsrwra-label {
	font-size: 14px;
	font-weight: 700;
	color: #1a2439;
	margin-bottom: 8px;
}

.dsrwra-required {
	color: #d63638;
	font-weight: 700;
	margin-left: 2px;
}

.dsrwra-optional {
	font-size: 11px;
	color: #999999;
	font-weight: 400;
}

.dsrwra-input,
.dsrwra-select {
	padding: 14px 16px;
	font-size: 15px;
	font-family: 'Poppins', sans-serif;
	background-color: #FFFFFF !important;
	border-style: solid !important;
	border-width: 0 0 1px 0 !important;
	border-color: #FFE512 !important;
	border-radius: 0 !important;
	color: #1a2439;
	transition: border-color 0.2s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	line-height: 1.3;
}

.dsrwra-select {
	padding-right: 44px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%23666' d='M6 8L0 0h12z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 12px 8px;
	cursor: pointer;
}

.dsrwra-input::placeholder {
	color: #999999;
}

.dsrwra-input:focus,
.dsrwra-select:focus {
	outline: none;
	border-bottom-color: #1a2439;
	border-bottom-width: 2px;
}

.dsrwra-input-small {
	max-width: 150px;
}

.dsrwra-field-note {
	font-size: 11px;
	color: #999999;
	margin-top: 4px;
}

/* Address Dropdown */
.dsrwra-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #ffffff;
	border: 2px solid #e0e0e0;
	border-top: none;
	border-radius: 0 0 8px 8px;
	max-height: 200px;
	overflow-y: auto;
	z-index: 1000;
	display: none;
}

.dsrwra-dropdown-item {
	padding: 10px 14px;
	font-size: 14px;
	cursor: pointer;
	border-bottom: 1px solid #f5f5f5;
}

.dsrwra-dropdown-item:hover,
.dsrwra-dropdown-item.active {
	background-color: #FFF8CC;
}

.dsrwra-dropdown-item:last-child {
	border-bottom: none;
}

/* Buttons */
.dsrwra-button {
	display: inline-block !important;
	width: auto !important;
	padding: 15px !important;
	font-size: 16px;
	font-weight: 600;
	font-family: 'Poppins', sans-serif;
	border: none !important;
	border-radius: 8px !important;
	cursor: pointer;
	transition: background-color 0.2s, transform 0.1s;
	margin-top: 6px;
	align-self: center;
}

.dsrwra-button:active {
	transform: scale(0.98);
}

.dsrwra-button-primary {
	background-color: #FFE512 !important;
	color: #333333 !important;
}

.dsrwra-button-primary:hover {
	background-color: #FFD700 !important;
}

.dsrwra-button-primary:disabled {
	background-color: #e0e0e0 !important;
	color: #999999 !important;
	cursor: not-allowed;
}

.dsrwra-button-secondary {
	background-color: #f5f5f5 !important;
	color: #333333 !important;
	border: 2px solid #e0e0e0 !important;
}

.dsrwra-button-secondary:hover {
	background-color: #eeeeee !important;
}

/* Spinner */
.dsrwra-spinner {
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 3px solid rgba(51, 51, 51, 0.2);
	border-top-color: #333333;
	border-radius: 50%;
	animation: dsrwra-spin 0.6s linear infinite;
	vertical-align: middle;
}

@keyframes dsrwra-spin {
	to { transform: rotate(360deg); }
}

/* Estimate Display */
.dsrwra-estimate {
	text-align: center;
	background: linear-gradient(135deg, #FFF8CC 0%, #ffffff 100%);
	border: 2px solid #FFE512;
	border-radius: 12px;
	padding: 30px 20px;
	margin-bottom: 24px;
}

.dsrwra-estimate-address {
	font-size: 16px;
	font-weight: 500;
	color: #666666;
	margin-bottom: 12px;
}

.dsrwra-estimate-range {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 36px;
	font-weight: 700;
	color: #333333;
}

.dsrwra-estimate-period {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #666666;
}

/* No Data Message */
.dsrwra-nodata-message {
	text-align: center;
	background: #FFF8E1;
	border: 2px solid #FFE512;
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 24px;
	font-size: 14px;
	color: #555555;
	line-height: 1.6;
}

/* Contact Intro */
.dsrwra-contact-intro {
	text-align: center;
	margin-bottom: 20px;
	font-size: 14px;
	color: #666666;
}

/* Privacy Notice */
.dsrwra-privacy {
	font-size: 11px;
	color: #999999;
	text-align: center;
	margin-top: 8px;
}

/* Error Messages */
.dsrwra-error {
	background-color: #FFF0F0;
	border: 1px solid #FF4444;
	color: #CC0000;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 13px;
	margin-top: 12px;
}

/* Success State */
.dsrwra-success {
	text-align: center;
	padding: 40px 20px;
}

.dsrwra-success-icon {
	width: 60px;
	height: 60px;
	background-color: #FFE512;
	color: #1a2439;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	font-weight: bold;
	margin: 0 auto 20px;
}

.dsrwra-success p {
	font-size: 14px;
	color: #666666;
	margin-bottom: 12px;
}

/* Responsive */
@media (max-width: 480px) {
	.dsrwra-field-row {
		flex-direction: column;
	}

	.dsrwra-title {
		font-size: 22px;
	}

	.dsrwra-estimate-range {
		font-size: 28px;
	}

	.dsrwra-input-small {
		max-width: 100%;
	}
}
