/* RentalPress — My Quote wizard */
.rentalpress-my-quote {
	max-width: 1100px;
	margin: 0 auto;
	padding: 24px 16px 48px;
}

.rentalpress-my-quote__progress {
	display: flex;
	justify-content: center;
	gap: 32px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}

.rentalpress-my-quote__step-indicator {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: #999;
	font-size: 14px;
}

.rentalpress-my-quote__step-num {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid #ddd;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	background: #fff;
}

.rentalpress-my-quote__step-indicator.active .rentalpress-my-quote__step-num,
.rentalpress-my-quote__step-indicator.completed .rentalpress-my-quote__step-num {
	background: #2e9b57;
	border-color: #2e9b57;
	color: #fff;
}

.rentalpress-my-quote__step-indicator.active,
.rentalpress-my-quote__step-indicator.completed {
	color: #222;
}

.rentalpress-my-quote__panel {
	display: none;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	padding: 28px;
}

.rentalpress-my-quote__panel.active {
	display: block;
}

.rentalpress-transport-step__header,
.rentalpress-details-step__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.rentalpress-transport-step__header h2,
.rentalpress-details-step__header h2,
.rentalpress-final-step h2 {
	margin: 0;
	font-size: 28px;
}

.rentalpress-transport-grid,
.rentalpress-details-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

.rentalpress-field {
	margin-bottom: 16px;
}

.rentalpress-field label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.rentalpress-field input:not([type="checkbox"]):not([type="radio"]),
.rentalpress-field select,
.rentalpress-field textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}

.rentalpress-field .rentalpress-postcode-input {
	width: auto;
	flex: 1 1 auto;
	padding: 12px 16px;
	border: 1px solid #222;
	border-radius: 999px;
	font-size: 15px;
}

.rentalpress-field .rentalpress-find-postcode-btn {
	width: auto;
	flex: 0 0 auto;
}

.rentalpress-collection-pincode-field.is-hidden {
	display: none;
}

.rentalpress-specific-time-field.is-hidden {
	display: none;
}

.rentalpress-specific-time-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.rentalpress-specific-time-row input[type="time"] {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #222;
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	line-height: 1.2;
	box-sizing: border-box;
}

.rentalpress-specific-time-row input[type="time"]::-webkit-calendar-picker-indicator {
	cursor: pointer;
}

.rentalpress-pincode-row {
	display: flex;
	align-items: stretch;
	gap: 10px;
}

.rentalpress-pincode-row .rentalpress-postcode-input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid #222;
	border-radius: 999px;
	font-size: 15px;
	box-sizing: border-box;
}

.rentalpress-find-postcode-btn {
	flex: 0 0 auto;
	min-width: 110px;
	padding: 12px 24px !important;
	border-radius: 999px !important;
	background: #d63384 !important;
	border-color: #d63384 !important;
	color: #fff !important;
	font-weight: 700 !important;
}

.rentalpress-address-select-wrap {
	margin-top: 12px;
}

.rentalpress-address-select-wrap.is-hidden {
	display: none;
}

.rentalpress-address-select {
	width: 100%;
	padding: 14px 42px 14px 18px;
	border: 1px solid #222;
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	line-height: 1.3;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23145a64' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	box-sizing: border-box;
}

.rentalpress-postcode-finder__message {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.45;
	color: #4b5563;
}

.rentalpress-postcode-finder__message.is-hidden {
	display: none;
}

.rentalpress-postcode-finder__message.is-error {
	color: #b42318;
}

.rentalpress-postcode-finder__actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}

.rentalpress-postcode-finder .rentalpress-edit-address-btn {
	padding: 10px 22px !important;
	border-radius: 999px !important;
	background: #0f766e !important;
	border-color: #0f766e !important;
	color: #fff !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.rentalpress-postcode-finder .rentalpress-edit-address-btn:hover {
	background: #115e59 !important;
	border-color: #115e59 !important;
	color: #fff !important;
}

.rentalpress-postcode-preview {
	margin-top: 8px;
	padding: 10px 12px;
	border-radius: 6px;
	background: #f3f4f6;
	color: #374151;
	font-size: 14px;
	line-height: 1.45;
}

.rentalpress-postcode-preview__row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.rentalpress-postcode-preview__text {
	flex: 1;
	min-width: 0;
}

.rentalpress-edit-address-btn {
	flex: 0 0 auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: #1d4ed8;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
	white-space: nowrap;
}

.rentalpress-edit-address-btn:hover {
	color: #1e3a8a;
}

.rentalpress-postcode-preview.is-loading {
	color: #6b7280;
	font-style: italic;
}

.rentalpress-postcode-preview.is-error {
	background: #fef2f2;
	color: #b42318;
}

.rentalpress-postcode-preview.is-saved {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
}

.rentalpress-address-editor {
	margin-top: 12px;
	padding: 16px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fafafa;
}

.rentalpress-address-editor.is-hidden {
	display: none;
}

.rentalpress-address-editor__field {
	margin-bottom: 14px;
}

.rentalpress-address-editor__field label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
	font-size: 14px;
}

.rentalpress-address-editor__field input {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #222;
	border-radius: 999px;
	background: #fff;
	box-sizing: border-box;
}

.rentalpress-save-address-btn {
	margin-top: 4px;
	border-radius: 999px !important;
}

.rentalpress-summary-address {
	color: #555;
}

.rentalpress-delivery-comments-field.is-hidden {
	display: none;
}

.rentalpress-delivery-comments-box {
	padding: 14px 16px;
	background: #fff8d9;
	border: 1px solid #f0e3a1;
	border-radius: 6px;
}

.rentalpress-delivery-comments-box textarea {
	width: 100%;
	min-height: 110px;
	padding: 12px 14px;
	border: 0;
	border-radius: 6px;
	background: #ececec;
	resize: vertical;
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1.5;
}

.rentalpress-transport-note {
	margin: 24px 0 16px;
	padding: 14px 16px;
	background: #fff8d9;
	border: 1px solid #f0e3a1;
}

.rentalpress-transport-note label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}

.rentalpress-transport-note input[type="checkbox"] {
	flex: 0 0 auto;
	width: auto;
	margin: 3px 0 0;
	cursor: pointer;
}

.rentalpress-transport-hint {
	color: #666;
	font-size: 14px;
	margin-bottom: 24px;
}

.rentalpress-quote-next-btn,
.rentalpress-quote-next-main,
.rentalpress-checkout-btn {
	background: #d63384 !important;
	border-color: #d63384 !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}

.rentalpress-quote-next-main,
.rentalpress-checkout-btn {
	display: block;
	width: 100%;
	max-width: 420px;
	margin: 24px auto 0;
	padding: 14px 24px !important;
	text-align: center;
}

.rentalpress-quote-submitted-note {
	text-align: center;
	color: #2e9b57;
	font-weight: 600;
	margin: 20px 0 0;
}

.rentalpress-thank-you {
	max-width: 720px;
	margin: 40px auto;
	padding: 32px 24px;
	text-align: center;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
}

.rentalpress-thank-you h2 {
	margin-top: 0;
}

.rentalpress-thank-you__urgent {
	margin: 1.5em 0 0;
	color: #374151;
	font-size: 0.95rem;
}

.rentalpress-thank-you__urgent a {
	color: #0f766e;
	font-weight: 600;
	text-decoration: none;
}

.rentalpress-thank-you__urgent a:hover {
	text-decoration: underline;
}

.rentalpress-thank-you__btn {
	margin: 8px;
	border-radius: 999px !important;
}

.rentalpress-quote-messages {
	color: #b42318;
	min-height: 20px;
	margin-top: 12px;
}

.rentalpress-final-summary {
	background: #f8f8f8;
	padding: 20px;
	border-radius: 8px;
	margin-bottom: 20px;
}

.rentalpress-final-item {
	margin-bottom: 12px;
}

.rentalpress-final-total {
	font-size: 18px;
	margin-top: 16px;
}

@media (max-width: 768px) {
	.rentalpress-transport-grid,
	.rentalpress-details-grid {
		grid-template-columns: 1fr;
	}
}
