/**
 * Formulaires — style Bitelo : champs arrondis, focus bleu net.
 */

/* ---- Champs ---- */
.bt-theme #main-content input[type="text"],
.bt-theme #main-content input[type="email"],
.bt-theme #main-content input[type="url"],
.bt-theme #main-content input[type="tel"],
.bt-theme #main-content input[type="number"],
.bt-theme #main-content input[type="password"],
.bt-theme #main-content input[type="search"],
.bt-theme #main-content input[type="date"],
.bt-theme #main-content textarea,
.bt-theme #main-content select,
.bt-theme .comment-form input[type="text"],
.bt-theme .comment-form input[type="email"],
.bt-theme .comment-form input[type="url"],
.bt-theme .comment-form textarea {
	width: 100%;
	padding: 0.7rem 1.1rem;
	background: var(--bt-color-surface);
	border: 1px solid var(--bt-color-border-strong);
	border-radius: var(--bt-radius-sm);
	color: var(--bt-color-text);
	font-family: var(--bt-font) !important;
	font-size: var(--bt-font-size-base);
	line-height: 1.4;
	transition: border-color var(--bt-transition-fast), box-shadow var(--bt-transition-fast);
	appearance: none;
}

.bt-theme #main-content input:focus,
.bt-theme #main-content textarea:focus,
.bt-theme #main-content select:focus,
.bt-theme .comment-form input:focus,
.bt-theme .comment-form textarea:focus {
	border-color: var(--bt-color-accent);
	box-shadow: var(--bt-shadow-focus);
	outline: none;
}

.bt-theme #main-content input::placeholder,
.bt-theme #main-content textarea::placeholder {
	color: var(--bt-color-text-light);
	opacity: 1;
}

.bt-theme #main-content input:disabled,
.bt-theme #main-content textarea:disabled,
.bt-theme #main-content select:disabled {
	background: var(--bt-color-surface-grey);
	color: var(--bt-color-text-light);
	cursor: not-allowed;
}

/* Champ en erreur */
.bt-theme #main-content input[aria-invalid="true"],
.bt-theme #main-content textarea[aria-invalid="true"],
.bt-theme #main-content .bt-field-error {
	border-color: var(--bt-color-danger);
}

.bt-theme #main-content input[aria-invalid="true"]:focus,
.bt-theme #main-content textarea[aria-invalid="true"]:focus {
	box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.2);
}

/* ---- Select avec chevron ---- */
.bt-theme #main-content select {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235e5e5e' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	padding-right: 2.6rem;
}

.bt-theme #main-content textarea {
	min-height: 130px;
	resize: vertical;
}

/* ---- Checkboxes et radios ---- */
.bt-theme #main-content input[type="checkbox"],
.bt-theme #main-content input[type="radio"] {
	width: 1.15rem;
	height: 1.15rem;
	accent-color: var(--bt-color-accent);
	cursor: pointer;
}

.bt-theme #main-content input[type="checkbox"] + label,
.bt-theme #main-content input[type="radio"] + label {
	cursor: pointer;
	margin-left: 0.4rem;
}

/* ---- Labels ---- */
.bt-theme #main-content form label {
	display: inline-block;
	font-weight: 500;
	font-size: var(--bt-font-size-sm);
	color: var(--bt-color-heading);
	margin-bottom: 0.35rem;
}

/* ---- Messages ---- */
.bt-theme #main-content form .bt-form-error,
.bt-theme .comment-form .error {
	color: var(--bt-color-danger);
	font-size: var(--bt-font-size-sm);
	margin-top: 0.25rem;
}

.bt-theme #main-content form .bt-form-success {
	color: var(--bt-color-success);
	font-size: var(--bt-font-size-sm);
}

/* ---- Recherche ---- */
.bt-theme #main-content .search-form,
.bt-theme .widget_search form {
	display: flex;
	gap: var(--bt-spacing-sm);
	align-items: stretch;
}

.bt-theme .widget_search input[type="search"],
.bt-theme .widget_search input[type="text"] {
	flex: 1;
	padding: 0.7rem 1.1rem;
	border: 1px solid var(--bt-color-border-strong);
	border-radius: var(--bt-radius-pill);
	transition: border-color var(--bt-transition-fast), box-shadow var(--bt-transition-fast);
}

.bt-theme .widget_search input[type="search"]:focus {
	border-color: var(--bt-color-accent);
	box-shadow: var(--bt-shadow-focus);
	outline: none;
}

/* ---- Commentaires ---- */
.bt-theme #comment-wrap,
.bt-theme .comment-respond {
	background: var(--bt-color-surface);
	border: 1px solid var(--bt-color-border);
	border-radius: var(--bt-radius-lg);
	padding: var(--bt-spacing-lg);
	box-shadow: var(--bt-shadow-sm);
}

.bt-theme .comment-reply-title,
.bt-theme #comment-wrap h3 {
	font-size: var(--bt-font-size-xl);
	margin-bottom: var(--bt-spacing-md);
}

.bt-theme .comment {
	border-bottom: 1px solid var(--bt-color-border);
	padding: var(--bt-spacing-md) 0;
}

.bt-theme .comment .avatar {
	border-radius: var(--bt-radius-pill);
}

/* ---- Divi contact form ---- */
.bt-theme .et_pb_contact_form_container .et_pb_contact_field input,
.bt-theme .et_pb_contact_form_container .et_pb_contact_field textarea,
.bt-theme .et_pb_contact_form_container .et_pb_contact_field select {
	background: var(--bt-color-surface);
	border: 1px solid var(--bt-color-border-strong);
	border-radius: var(--bt-radius-sm);
	padding: 0.7rem 1.1rem;
	transition: border-color var(--bt-transition-fast), box-shadow var(--bt-transition-fast);
}

.bt-theme .et_pb_contact_form_container .et_pb_contact_field input:focus,
.bt-theme .et_pb_contact_form_container .et_pb_contact_field textarea:focus {
	border-color: var(--bt-color-accent);
	box-shadow: var(--bt-shadow-focus);
	outline: none;
}

/* Divi ajoute son propre triangle (::after en bordures CSS) sur les
   champs select : on le retire, notre chevron suffit */
.bt-theme .et_pb_contact_field::after,
.bt-theme .et_pb_contact_field .et_pb_contact_field_options_wrapper::after,
.bt-theme .et_pb_contact_form_container .et_pb_contact_field select + span {
	display: none !important;
}

.bt-theme .et_pb_contact_error_text,
.bt-theme .et-pb-contact-message .et_pb_contact_error {
	color: var(--bt-color-danger);
}

/* ---- Login Divi ---- */
.bt-theme .et_pb_login_form input {
	border-radius: var(--bt-radius-sm);
	border: 1px solid var(--bt-color-border-strong);
}
