/**
 * Quote popups — select, searchable trip (Tom Select) and date (flatpickr) fields.
 * Modal shell + inputs live in site-polish.css (.st-quote-*).
 */

.st-quote-form select,
.st-quote-form .ts-control,
.st-quote-form .flatpickr-input.input,
.st-quote-form input.flatpickr-input {
	box-sizing: border-box;
	width: 100%;
	min-height: 2.625rem;
	margin: 0;
	font: inherit;
	font-weight: 500;
	padding: 0.55rem 0.75rem;
	border: 1px solid rgb(20 18 16 / 0.16);
	background-color: #fff;
	box-shadow: none;
}

.st-quote-form select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23141210' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	padding-right: 2.25rem;
	cursor: pointer;
}

.st-quote-form .ts-wrapper .ts-control {
	border-radius: var(--st-site-radius, 8px);
	background-color: #fff;
	background-image: none;
	box-shadow: none;
}

.st-quote-form .ts-wrapper.single .ts-control {
	display: flex;
	align-items: center;
	cursor: pointer;
}

.st-quote-form .ts-wrapper.focus .ts-control,
.st-quote-form select:focus,
.st-quote-form input:focus,
.st-quote-form textarea:focus {
	border-color: var(--st-accent);
	outline: none;
	box-shadow: 0 0 0 2px rgb(from var(--st-accent) r g b / 0.18);
}

.st-quote-form .ts-wrapper.single .ts-control::after {
	right: 0.85rem;
}

.st-quote-form .ts-wrapper .ts-control input {
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
}

/* Dropdown + calendar are appended to <body>, above the modal. */
.ts-dropdown {
	z-index: 100002;
	border-radius: var(--st-site-radius, 8px);
	border-color: rgb(20 18 16 / 0.16);
	font: inherit;
}

.ts-dropdown .active {
	background: var(--st-accent);
	color: #fff;
}

.flatpickr-calendar.st-quote-calendar {
	z-index: 100002;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
	background: var(--st-accent);
	border-color: var(--st-accent);
}

.flatpickr-day.inRange {
	background: rgb(from var(--st-accent) r g b / 0.12);
	border-color: transparent;
	box-shadow: -5px 0 0 rgb(from var(--st-accent) r g b / 0.12), 5px 0 0 rgb(from var(--st-accent) r g b / 0.12);
}

.flatpickr-calendar.st-quote-calendar .st-quote-calendar__hint {
	margin: 0;
	padding: 0.55rem 0.75rem 0.65rem;
	border-top: 1px solid rgb(20 18 16 / 0.1);
	font-size: 0.75rem;
	line-height: 1.4;
	color: rgb(20 18 16 / 0.7);
}

.st-quote-modal [data-st-popup-form-wrap][hidden] {
	display: none;
}

.st-quote-thanks {
	display: grid;
	justify-items: center;
	gap: 0.85rem;
	padding: 2rem 0.5rem 1rem;
	text-align: center;
}

.st-quote-thanks__mark {
	color: var(--st-accent);
}

.st-quote-thanks h2 {
	margin: 0;
}

.st-quote-thanks p {
	max-width: 24rem;
	margin: 0;
	line-height: 1.55;
}

.st-quote-thanks .st-btn {
	margin-top: 0.75rem;
	min-width: 9rem;
}
