/**
 * Sen Pre-Purchase Form Styles
 * Reuses sen-concierge class naming for consistency
 */

.sen-concierge-wrapper {
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.sen-form-title {
	font-family: 'Questrial', sans-serif;
	font-weight: 400;
	font-size: 3.6rem;
	line-height: 4.3rem;
	color: #1D2032;
	margin-bottom: 30px;
}

.sen-message {
	margin-bottom: 25px;
	padding: 20px;
	border-radius: 4px;
}

.sen-message.sen-success {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
}

.sen-message.sen-error {
	background: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
}

.sen-message p {
	margin: 0;
	font-size: 1.4rem;
}

.sen-form-section {
	border: none;
	padding: 0;
	margin-bottom: 40px;
}

.sen-form-row {
	margin-bottom: 25px;
}

.sen-form-row label {
	display: block;
	font-weight: 400;
	font-size: 14px;
	line-height: 170%;
	color: #7D7D7D;
	margin-bottom: 12px;
}

.sen-form-row input[type="text"],
.sen-form-row input[type="email"],
.sen-form-row input[type="tel"] {
	width: 100%;
	border: 1px solid #E6E6E6;
	border-radius: 4px;
	padding: 10px 20px;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 2.4rem;
	color: #7D7D7D;
	box-sizing: border-box;
	font-family: inherit;
}

.sen-form-row input:focus {
	outline: none;
	border-color: #1D2032;
}

.sen-radio-group {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.sen-radio-group.has-error {
	border-left: 3px solid #dc3545;
	padding-left: 15px;
	margin-left: -15px;
}

.sen-radio-group label {
	display: flex;
	align-items: center;
	cursor: pointer;
	font-weight: 400;
	font-size: 1.4rem;
	color: #1D2032;
	margin-bottom: 0;
}

.sen-radio-group input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 24px;
	height: 24px;
	padding: 5px;
	border: 1px solid #E6E6E6;
	background-clip: content-box;
	border-radius: 50%;
	margin-right: 10px;
	cursor: pointer;
	flex-shrink: 0;
}

.sen-radio-group input[type="radio"]:checked {
	background-color: #1D2032;
}

.sen-checkbox-row {
	margin-bottom: 15px;
}

.sen-checkbox-row.has-error {
	border-left: 3px solid #dc3545;
	padding-left: 15px;
	margin-left: -15px;
}

.sen-checkbox-row label {
	display: flex !important;
	align-items: center !important;
	cursor: pointer;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 2.4rem;
	color: #1D2032;
}

.sen-checkbox-row input[type="checkbox"] {
	width: 24px;
	height: 24px;
	border: 1px solid #E6E6E6;
	margin-right: 10px;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
}

.sen-checkbox-row input[type="checkbox"]:before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 10px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) scale(0);
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em #1D2032;
}

.sen-checkbox-row input[type="checkbox"]:checked::before {
	transform: translate(-50%, -50%) scale(1);
}

.required {
	color: #dc3545;
}

.sen-form-submit {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	margin-top: 40px;
	margin-bottom: 10px;
}

.sen-submit-btn {
	background: #1D2032;
	color: #fff;
	border: none;
	padding: 15px 40px;
	font-size: 1.6rem;
	font-weight: 400;
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.3s ease;
	font-family: inherit;
}

.sen-submit-btn:hover {
	background: #000;
}

.sen-submit-btn:disabled {
	background: #ccc;
	cursor: not-allowed;
}

.sen-form-row input.sen-error {
	border-color: #dc3545;
}

.sen-radio-group input[type="radio"].sen-error {
	border-color: #E6E6E6;
}

.sen-checkbox-row input[type="checkbox"].sen-error {
	border-color: #E6E6E6;
}

.sen-error-message {
	display: block;
	color: #dc3545;
	font-size: 13px;
	margin-top: 8px;
	font-weight: 400;
}

@media (max-width: 768px) {
	.sen-form-title {
		font-size: 2.8rem;
		line-height: 3.4rem;
	}

	.sen-radio-group {
		gap: 10px;
	}

	.sen-submit-btn {
		width: 100%;
	}
}