/* ==========================================================================
   CV Deploy — CSS additionnel
   ========================================================================== */

/* ---- Fix mobile-only / desktop-only sur wp-block-group ---- */
@media (min-width: 1200px) {
	.wp-block-group.desktop-only { display: block !important; }
}
@media (max-width: 1200px) {
	.wp-block-group.mobile-only  { display: block !important; }
}

/* ---- Liste avec puces personnalisées (list__mentoring) ---- */
.list__mentoring {
	list-style-type: none;
	padding-left: 1em;
}
.list__mentoring li::before {
	content: "- ";
	margin-left: -1em;
}

/* ==========================================================================
   Formulaire « Proposition sur mesure »
   ========================================================================== */

.form-retraite .wpcf7 { margin: 0; }
.form-retraite .wpcf7-form { display: flex; flex-direction: column; gap: 1rem; }
.form-retraite .wpcf7-form p { margin: 0; }
.form-retraite .flex.justify.gap-1 { display: flex; flex-direction: row; gap: 1rem; }
.form-retraite .flex.justify.gap-1 > .half { flex: 1 1 0; min-width: 0; }
.form-retraite .full { width: 100%; }

.form-retraite .wpcf7-text,
.form-retraite .wpcf7-number,
.form-retraite .wpcf7-textarea {
	font-family: 'Helvetica', sans-serif;
	font-size: 1rem;
	background-color: #FFFFFF;
	border: 1px solid rgba(0,0,0,0.08);
	border-bottom: 1px solid rgba(0,0,0,0.08);
	border-radius: 14px;
	color: #1a1a1a;
	width: 100%;
	padding: 0.95rem 1.1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
	box-shadow: 0 1px 0 rgba(0,0,0,0.02);
}

.form-retraite .wpcf7-textarea { min-height: 140px; resize: vertical; }

.form-retraite .wpcf7-text:focus,
.form-retraite .wpcf7-number:focus,
.form-retraite .wpcf7-textarea:focus {
	outline: none;
	border-color: #ff4645;
	box-shadow: 0 0 0 3px rgba(255, 70, 69, 0.12);
}

.form-retraite .wpcf7-text::placeholder,
.form-retraite .wpcf7-number::placeholder,
.form-retraite .wpcf7-textarea::placeholder {
	color: #8a8a8a;
	opacity: 1;
}

.form-retraite .wpcf7-number::-webkit-outer-spin-button,
.form-retraite .wpcf7-number::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.form-retraite .wpcf7-number { -moz-appearance: textfield; appearance: textfield; }

.form-retraite .checkbox-block {
	display: flex;
	align-items: flex-start;
	font-size: 0.82rem;
	color: #4a4a4a;
	line-height: 1.5;
	margin-top: 0.25rem;
}
.form-retraite .wpcf7-checkbox { font-size: 0.82rem; }
.form-retraite .wpcf7-checkbox .wpcf7-list-item { margin: 0; display: flex; align-items: flex-start; gap: 0.65rem; }
.form-retraite .wpcf7-checkbox label { display: flex; align-items: flex-start; gap: 0.65rem; cursor: pointer; }
.form-retraite .wpcf7-checkbox input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px; height: 18px;
	min-width: 18px;
	border: 1.5px solid rgba(0,0,0,0.25);
	border-radius: 4px;
	background: #fff;
	margin-top: 2px;
	cursor: pointer;
	transition: all 0.15s ease;
}
.form-retraite .wpcf7-checkbox input[type="checkbox"]:checked {
	background: #ff4645;
	border-color: #ff4645;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M13.485 1.929a1 1 0 011.414 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L6.192 9.243l7.293-7.314z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px;
}

.form-retraite .submit { margin-top: 0.5rem; display: flex; justify-content: center; }
.form-retraite .wpcf7-submit {
	color: #FFF;
	background-color: #FF4645;
	border: 0;
	border-radius: 999px;
	height: auto;
	padding: 1rem 2.4rem;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.5px;
	transition: transform 0.15s ease, box-shadow 0.2s ease, background-color 0.2s ease;
	box-shadow: 0 6px 18px rgba(255, 70, 69, 0.25);
}
.form-retraite .wpcf7-submit:hover {
	background-color: #e83a39;
	box-shadow: 0 8px 22px rgba(255, 70, 69, 0.35);
	transform: translateY(-1px);
}

.form-retraite .wpcf7-not-valid {
	border-color: #ff4645 !important;
	background-color: #fff5f5 !important;
}
.form-retraite .wpcf7-not-valid-tip {
	color: #ff4645;
	font-size: 0.8rem;
	margin-top: 0.25rem;
	display: block;
}
.form-retraite form.sent .wpcf7-response-output,
.form-retraite form.invalid .wpcf7-response-output,
.form-retraite form.unaccepted .wpcf7-response-output,
.form-retraite form.failed .wpcf7-response-output,
.form-retraite form.spam .wpcf7-response-output {
	display: block !important;
	margin: 1.25rem 0 0;
	padding: 0.9rem 1.1rem;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,0.08);
	font-size: 0.95rem;
	text-align: center;
}
.form-retraite .wpcf7 form.sent .wpcf7-response-output { background: #f0f9f0; border-color: #c3e0c3; color: #1f5e1f; }
.form-retraite .wpcf7 form.invalid .wpcf7-response-output,
.form-retraite .wpcf7 form.unaccepted .wpcf7-response-output { background: #fff0f0; border-color: #f7caca; color: #a31f1f; }

@media (max-width: 900px) {
	.form-retraite .flex.justify.gap-1 { flex-direction: column !important; gap: 1rem; }
	.form-retraite > .wp-block-group { padding: 2.5rem 1.5rem !important; }
	.form-retraite .wpcf7-text,
	.form-retraite .wpcf7-number,
	.form-retraite .wpcf7-textarea { padding: 0.85rem 1rem; font-size: 0.95rem; }
	.form-retraite .wpcf7-textarea { min-height: 110px; }
	.form-retraite .wpcf7-submit { width: 100%; padding: 1rem 1.5rem; }
	.form-retraite .submit { display: block; }
}

@media (max-width: 480px) {
	.form-retraite { padding-left: 1rem !important; padding-right: 1rem !important; }
	.form-retraite > .wp-block-group { padding: 2rem 1.25rem !important; border-radius: 18px; }
	.form-retraite .wpcf7-checkbox .wpcf7-list-item,
	.form-retraite .wpcf7-checkbox label { gap: 0.5rem; }
	.form-retraite .wpcf7-checkbox { font-size: 0.78rem; line-height: 1.5; }
}
