/**
 * Form styles.
 */

label {
	display: block;
	font-weight: 600;
	margin-bottom: var(--dc-space-2);
	font-size: var(--dc-font-size-sm);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="url"],
select,
textarea {
	width: 100%;
	min-height: var(--dc-touch-target);
	padding: var(--dc-space-3) var(--dc-space-4);
	border: 1px solid var(--dc-colour-border);
	border-radius: var(--dc-radius-md);
	background: var(--dc-colour-surface);
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--dc-colour-brand);
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--dc-colour-brand) 20%, transparent);
}

.form-row {
	margin-bottom: var(--dc-space-4);
}

.woocommerce form .form-row label {
	font-weight: 600;
}

.woocommerce-invalid input {
	border-color: var(--dc-colour-error);
}

.dc-quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--dc-colour-border);
	border-radius: var(--dc-radius-md);
	overflow: hidden;
}

.dc-quantity button {
	min-width: var(--dc-touch-target);
	min-height: var(--dc-touch-target);
	border: none;
	background: var(--dc-colour-bg);
}

.dc-quantity input {
	width: 3rem;
	min-height: var(--dc-touch-target);
	text-align: center;
	border: none;
	border-left: 1px solid var(--dc-colour-border);
	border-right: 1px solid var(--dc-colour-border);
	border-radius: 0;
}

.woocommerce form .input-checkbox,
.woocommerce form input[type="checkbox"],
.woocommerce form input[type="radio"],
.dc-newsletter__form input[type="checkbox"] {
	width: 1.25rem;
	height: 1.25rem;
	min-height: 0;
	accent-color: var(--dc-colour-brand);
}

.woocommerce form .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: var(--dc-space-2);
	font-weight: 500;
}

.dc-prescription-upload__input,
input[type="file"] {
	font-family: var(--dc-font-body);
	font-size: var(--dc-font-size-sm);
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	border-radius: var(--dc-radius-md);
	padding: var(--dc-space-4);
}
