/* FitFoodPro & theme form fields */

.fitfood-wrap input.regular-text:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]),
.fitfood-wrap select.regular-text,
.fitfood-wrap textarea.regular-text,
.fitfood-wrap textarea.large-text,
.fitoo-field,
.ffp-quick-order-form input[type="text"],
.ffp-quick-order-form input[type="tel"],
.ffp-quick-order-form input[type="email"],
.ffp-quick-order-form input[type="password"],
.ffp-quick-order-form input[type="number"],
.ffp-quick-order-form select,
.ffp-quick-order-form textarea,
.ffp-feedback-form input[type="text"],
.ffp-feedback-form input[type="tel"],
.ffp-feedback-form input[type="email"],
.ffp-feedback-form select,
.ffp-feedback-form textarea,
.ffp-lead-form input[type="text"],
.ffp-lead-form input[type="tel"],
.ffp-lead-form input[type="email"],
.ffp-lead-form select,
.ffp-lead-form textarea,
#ffp-checkout-form input.regular-text,
#ffp-checkout-form input[type="tel"],
#ffp-checkout-form input[type="email"],
#ffp-checkout-form input[type="password"],
#ffp-checkout-form input[type="number"],
#ffp-checkout-form select.regular-text,
#ffp-checkout-form textarea,
.ffp-calc-panel input,
.ffp-calc-panel select {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-top: 0.35rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: var(--color-surface);
	color: var(--color-heading);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.4;
	transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
	-webkit-appearance: none;
	appearance: none;
}

.ffp-quick-order-form select,
.ffp-feedback-form select,
.ffp-lead-form select,
#ffp-checkout-form select.regular-text {
	padding-right: 2.5rem;
	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' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	background-size: 16px;
	cursor: pointer;
}

.fitoo-field:focus,
.fitfood-wrap input.regular-text:focus,
.fitfood-wrap select.regular-text:focus,
.fitfood-wrap textarea:focus,
.ffp-quick-order-form input:focus,
.ffp-quick-order-form select:focus,
.ffp-quick-order-form textarea:focus,
.ffp-feedback-form input:focus,
.ffp-feedback-form select:focus,
.ffp-feedback-form textarea:focus,
.ffp-lead-form input:focus,
.ffp-lead-form select:focus,
.ffp-lead-form textarea:focus,
#ffp-checkout-form input:focus,
#ffp-checkout-form select:focus,
#ffp-checkout-form textarea:focus,
.ffp-calc-panel input:focus,
.ffp-calc-panel select:focus {
	outline: none;
	border-color: var(--color-brand);
	box-shadow: 0 0 0 3px rgba(var(--color-brand-rgb), 0.15);
	background: #fff;
}

.fitoo-field::placeholder,
.ffp-quick-order-form input::placeholder,
.ffp-feedback-form input::placeholder,
.ffp-lead-form input::placeholder,
#ffp-checkout-form input::placeholder,
#ffp-checkout-form textarea::placeholder {
	color: var(--color-muted);
	opacity: 1;
}

/* Form layout */
.ffp-quick-order-form p,
.ffp-feedback-form p,
.ffp-lead-form p {
	margin: 0 0 1rem;
}

.ffp-quick-order-form label,
.ffp-feedback-form label,
.ffp-lead-form p > label:first-child {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-heading);
	line-height: 1.4;
}

.ffp-quick-order-form label:has(input[type="checkbox"]),
.ffp-feedback-form label:has(input[type="checkbox"]),
.ffp-lead-form label:has(input[type="checkbox"]) {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-weight: 400;
	font-size: 0.8125rem;
	color: var(--color-text);
	cursor: pointer;
}

.ffp-quick-order-form input[type="checkbox"],
.ffp-feedback-form input[type="checkbox"],
.ffp-lead-form input[type="checkbox"] {
	width: 1.1rem;
	height: 1.1rem;
	margin: 0.15rem 0 0;
	flex-shrink: 0;
	accent-color: var(--color-brand);
	border-radius: 4px;
	cursor: pointer;
}

.ffp-quick-order-form .description,
.ffp-feedback-form .description {
	font-size: 0.8125rem;
	color: var(--color-muted);
	line-height: 1.5;
	margin-bottom: 1rem;
}

/* Quick order in modal */
.fitoo-modal .ffp-quick-order-form-wrapper {
	max-width: none;
	margin: 0;
}

.fitoo-modal .ffp-quick-order-form input[type="text"],
.fitoo-modal .ffp-quick-order-form input[type="tel"],
.fitoo-modal .ffp-quick-order-form select {
	box-sizing: border-box;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: var(--color-surface);
	color: var(--color-heading);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.4;
	transition: border-color var(--transition), box-shadow var(--transition);
	-webkit-appearance: none;
	appearance: none;
}

.fitoo-modal .ffp-quick-order-form select {
	padding-right: 2.5rem;
	background-color: var(--color-surface);
	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' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	background-size: 16px;
}

.fitoo-modal .ffp-quick-order-form input:focus,
.fitoo-modal .ffp-quick-order-form select:focus {
	outline: none;
	border-color: var(--color-brand);
	box-shadow: 0 0 0 3px rgba(var(--color-brand-rgb), 0.15);
}

.fitoo-modal .ffp-quick-order-form label:not(:has(input[type="checkbox"])) {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-heading);
}

.fitoo-modal .ffp-quick-order-preview-wrap {
	margin-bottom: 1.25rem;
	padding: 0.9rem 1rem;
	background: var(--color-surface-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	font-size: 0.875rem;
	line-height: 1.5;
}

.fitoo-modal .ffp-quick-order-preview-wrap strong {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--color-heading);
}

.fitoo-modal .ffp-quick-order-form button[type="submit"] {
	width: 100%;
	margin-top: 0.25rem;
}

.fitoo-modal .ffp-quick-order-message {
	font-size: 0.875rem;
	border-radius: 10px;
	padding: 0.75rem 1rem;
}

.ffp-lead-form .ffp-feedback-form-wrapper {
	max-width: none !important;
	margin: 0 !important;
}

.fitoo-lead-section .ffp-lead-form .ffp-feedback-form label:has(input[type="checkbox"]) {
	font-size: 0.75rem;
	line-height: 1.45;
	color: var(--color-muted);
}

.fitoo-lead-section .ffp-lead-form .ffp-feedback-form button[type="submit"] {
	width: 100%;
}
#ffp-promo-code {
	width: 100%;
	padding: 0.75rem 0.9rem !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 12px !important;
	font-size: 1rem !important;
}

/* Account forms */
.ffp-account-wrapper input.regular-text,
.ffp-account-wrapper input[type="password"],
.ffp-account-wrapper input[type="email"],
.ffp-account-wrapper input[type="tel"],
.ffp-account-wrapper select {
	box-sizing: border-box;
	width: 100%;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	font-size: 1rem;
	font-family: inherit;
}

.ffp-account-wrapper input:focus,
.ffp-account-wrapper select:focus {
	outline: none;
	border-color: var(--color-brand);
	box-shadow: 0 0 0 3px rgba(var(--color-brand-rgb), 0.15);
}
