/*
Theme Name: Vapier Child
Theme URI: http://www.wpbingosite.com/vapier
Author: wpbingo
Description: This is a child theme for Vapier
Version: 1.0
Author URI: http://wpbingosite.com
Template: vapier
Text Domain: vapier-child
*/
/*************** ADD YOUR CUSTOM CSS HERE  ***************/

/* ===================================================================
   Formulaire de contact (Contact Form 7) — Infinitevap
   Palette reprise du theme : crimson #bd0028, neutres #212529 / #e0e0e0
   =================================================================== */

.wpcf7 .ivf {
	--ivf-accent: #bd0028;
	--ivf-accent-dark: #8a001d;
	--ivf-ink: #212529;
	--ivf-muted: #6b6b6b;
	--ivf-line: #e0e0e0;
	--ivf-surface: #ffffff;
	max-width: 760px;
	margin: 0;
}

/* Contact Form 7 enveloppe chaque champ dans un <p> : on neutralise ses marges */
.wpcf7 .ivf p {
	margin: 0;
	padding: 0;
	line-height: inherit;
}

.wpcf7 .ivf .ivf-field {
	margin-bottom: 22px;
}

.wpcf7 .ivf .ivf-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 24px;
}

@media (max-width: 640px) {
	.wpcf7 .ivf .ivf-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --- Libelles : petites capitales espacees, le geste typographique --- */
.wpcf7 .ivf label {
	display: block;
	margin-bottom: 9px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--ivf-ink);
	line-height: 1.4;
}

.wpcf7 .ivf .ivf-req {
	color: var(--ivf-accent);
	margin-left: 3px;
	font-weight: 700;
}

/* --- Champs --- */
.wpcf7 .ivf input[type="text"],
.wpcf7 .ivf input[type="email"],
.wpcf7 .ivf input[type="tel"],
.wpcf7 .ivf textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--ivf-line);
	border-radius: 3px;
	background-color: var(--ivf-surface);
	color: var(--ivf-ink);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
	box-shadow: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.wpcf7 .ivf textarea {
	min-height: 170px;
	resize: vertical;
	display: block;
}

.wpcf7 .ivf input::placeholder,
.wpcf7 .ivf textarea::placeholder {
	color: #a8a8a8;
	opacity: 1;
}

/* --- L'unique geste fort : le focus crimson, identique partout --- */
.wpcf7 .ivf input[type="text"]:focus,
.wpcf7 .ivf input[type="email"]:focus,
.wpcf7 .ivf input[type="tel"]:focus,
.wpcf7 .ivf textarea:focus {
	outline: none;
	border-color: var(--ivf-accent);
	box-shadow: 0 0 0 3px rgba(189, 0, 40, 0.13);
}

.wpcf7 .ivf input:hover:not(:focus),
.wpcf7 .ivf textarea:hover:not(:focus) {
	border-color: #c4c4c4;
}

/* --- Ligne d'action --- */
.wpcf7 .ivf .ivf-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px 20px;
	margin-top: 4px;
}

.wpcf7 .ivf .ivf-note {
	font-size: 13px;
	color: var(--ivf-muted);
	line-height: 1.5;
}

.wpcf7 .ivf input[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	width: auto;
	padding: 15px 38px;
	border: 1px solid var(--ivf-accent);
	border-radius: 3px;
	background-color: var(--ivf-accent);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.wpcf7 .ivf input[type="submit"]:hover {
	background-color: var(--ivf-accent-dark);
	border-color: var(--ivf-accent-dark);
}

.wpcf7 .ivf input[type="submit"]:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(189, 0, 40, 0.3);
}

.wpcf7 .ivf input[type="submit"]:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

/* --- Messages de validation --- */
.wpcf7 .ivf .wpcf7-not-valid-tip {
	margin-top: 7px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ivf-accent);
}

.wpcf7 .ivf input.wpcf7-not-valid,
.wpcf7 .ivf textarea.wpcf7-not-valid {
	border-color: var(--ivf-accent);
}

.wpcf7 form .wpcf7-response-output {
	margin: 24px 0 0;
	padding: 14px 18px;
	border-width: 1px;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.5;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #2e7d32;
	background-color: #f2f9f3;
	color: #1e5b22;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
	border-color: var(--ivf-accent);
	background-color: #fdf3f5;
	color: var(--ivf-accent-dark);
}

.wpcf7 .ivf .wpcf7-spinner {
	margin: 0 0 0 14px;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7 .ivf input,
	.wpcf7 .ivf textarea,
	.wpcf7 .ivf input[type="submit"] {
		transition: none;
	}
}
