/* ============================================================
   PAGE CONTACT TICQ — STYLES RESPONSIVE SUR-MESURE & TYPOGRAPHIE
   ============================================================ */

/* --- 1. FONDS BORD À BORD 100VW SUR DESKTOP UNIQUEMENT --- */
@media (min-width: 993px) {
	.ticq-contact-hero-banner,
	.ticq-contact-info-section,
	.ticq-contact-map-form-section {
		width: 100vw !important;
		position: relative !important;
		left: 50% !important;
		right: 50% !important;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 992px) {
	.ticq-contact-hero-banner,
	.ticq-contact-info-section,
	.ticq-contact-map-form-section {
		width: 100% !important;
		max-width: 100% !important;
		position: relative !important;
		left: 0 !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}
}

/* --- 2. SECTION COORDONNÉES DIRECTES --- */
.ticq-contact-info-section {
	background: #FAF6F4 !important;
	padding: 80px 24px !important;
	border-bottom: 1px solid #EAE0D5 !important;
}

.ticq-contact-info-wrapper {
	max-width: 1200px !important;
	width: 100% !important;
	margin: 0 auto !important;
}

.ticq-contact-header {
	text-align: center !important;
	max-width: 760px !important;
	margin: 0 auto 48px !important;
}

/* Grille des 4 Cartes Contact */
.ticq-contact-cards-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
	width: 100% !important;
}

/* Style individuel des petites cartes contact */
.ticq-contact-card {
	background-color: #FFFFFF !important;
	border: 1px solid #EAE0D5 !important;
	border-top: 3px solid #D47E48 !important;
	padding: 28px 22px !important;
	border-radius: 16px !important;
	box-shadow: 0 4px 18px -4px rgba(28, 15, 8, 0.04) !important;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-sizing: border-box !important;
}

.ticq-contact-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 14px 32px -6px rgba(28, 15, 8, 0.09) !important;
}

.ticq-contact-card .ticq-feature-icon {
	width: 44px !important;
	height: 44px !important;
	background-color: #FAF6F4 !important;
	border: 1px solid #EAE0D5 !important;
	color: #D47E48 !important;
	border-radius: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 16px !important;
}

/* RECTIFICATION STRICTE : TITRES DE CARTES À 18PX MAX */
.ticq-contact-card h3 {
	font-family: Outfit, sans-serif !important;
	font-size: 1.05rem !important; /* 16.8px - 18px MAX STRICT */
	font-weight: 600 !important;
	color: #1C0F08 !important;
	line-height: 1.25 !important;
	margin: 0 0 10px 0 !important;
	letter-spacing: -0.01em !important;
}

.ticq-contact-card p,
.ticq-contact-phones {
	font-size: 0.92rem !important;
	line-height: 1.55 !important;
	color: #5A4234 !important;
	margin: 0 !important;
}

.ticq-contact-link {
	color: #D47E48 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.ticq-contact-phones {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.ticq-contact-phones a {
	color: #1C0F08 !important;
	text-decoration: none !important;
}

/* --- 3. SECTION CARTE GOOGLE MAPS & FORMULAIRE --- */
.ticq-contact-map-form-section {
	background: #FAF7F5 !important;
	padding: 80px 24px !important;
	border-bottom: 1px solid #EAE0D5 !important;
}

.ticq-contact-map-form-container {
	max-width: 1200px !important;
	width: 100% !important;
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: 1fr 1.15fr !important;
	gap: 40px !important;
	align-items: stretch !important;
}

.ticq-map-box {
	position: relative !important;
	border-radius: 20px !important;
	overflow: hidden !important;
	box-shadow: 0 10px 36px rgba(28, 15, 8, 0.05) !important;
	border: 1px solid #EAE0D5 !important;
	min-height: 520px !important;
	height: 100% !important;
	width: 100% !important;
	background: #EAE0D5 !important;
}

.ticq-map-box iframe {
	width: 100% !important;
	height: 100% !important;
	min-height: 520px !important;
	border: 0 !important;
	display: block !important;
}

.ticq-map-badge-overlay {
	position: absolute !important;
	bottom: 20px !important;
	left: 20px !important;
	right: 20px !important;
	background: #1C0F08 !important;
	color: #FFFFFF !important;
	padding: 16px 20px !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	z-index: 2 !important;
	pointer-events: auto !important;
}

.badge-title {
	font-family: Outfit, sans-serif !important;
	font-size: 0.95rem !important;
	display: block !important;
	color: #FFFFFF !important;
	font-weight: 700 !important;
}

.badge-address {
	font-size: 0.82rem !important;
	color: #D6C7BC !important;
}

.badge-tag {
	background: #D47E48 !important;
	color: #FFFFFF !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	padding: 4px 10px !important;
	border-radius: 50px !important;
	letter-spacing: 0.04em !important;
}

/* Carte Formulaire Natif (media_1790986739760.png) */
.ticq-form-side-box {
	background: #FFFFFF !important;
	border: 1px solid #EAE0D5 !important;
	border-radius: 20px !important;
	padding: 40px 36px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	box-shadow: 0 10px 36px rgba(28, 15, 8, 0.05) !important;
	display: flex !important;
	flex-direction: column !important;
}

.ticq-form-side-header {
	margin-bottom: 24px !important;
}

.ticq-form-side-header h2 {
	font-family: Outfit, sans-serif !important;
	font-size: 1.85rem !important;
	font-weight: 700 !important;
	color: #1C0F08 !important;
	margin: 6px 0 8px 0 !important;
	line-height: 1.2 !important;
}

.ticq-form-side-header p {
	color: #5A4234 !important;
	font-size: 0.95rem !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

/* Grille des champs natifs */
.ticq-form-side-box .ticq-form-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 20px !important;
	margin-bottom: 20px !important;
}

.ticq-form-side-box .ticq-form-group {
	display: flex !important;
	flex-direction: column !important;
}

.ticq-form-side-box .ticq-form-group.ticq-full-width {
	grid-column: span 2 !important;
}

.ticq-form-side-box .ticq-form-group label {
	font-family: Outfit, sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #1C0F08 !important;
	margin-bottom: 8px !important;
	display: block !important;
}

.ticq-form-side-box .ticq-form-control {
	background-color: #FAF7F4 !important;
	border: 1px solid #D8C8B8 !important;
	border-radius: 10px !important;
	padding: 13px 16px !important;
	font-size: 0.95rem !important;
	color: #1C0F08 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	outline: none !important;
	transition: all 0.2s ease !important;
	font-family: inherit !important;
}

.ticq-form-side-box .ticq-form-control::placeholder {
	color: #8F7D71 !important;
	opacity: 0.85 !important;
}

.ticq-form-side-box .ticq-form-control:focus {
	background-color: #FFFFFF !important;
	border-color: #C4813A !important;
	box-shadow: 0 0 0 3px rgba(196, 129, 58, 0.18) !important;
}

.ticq-form-side-box textarea.ticq-form-control {
	min-height: 125px !important;
	resize: vertical !important;
	line-height: 1.55 !important;
}

.ticq-file-upload-wrapper {
	background-color: #FAF7F4 !important;
	border: 1px solid #D8C8B8 !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.ticq-file-upload-wrapper:focus-within {
	border-color: #C4813A !important;
	background-color: #FFFFFF !important;
	box-shadow: 0 0 0 3px rgba(196, 129, 58, 0.18) !important;
}

.ticq-file-upload-wrapper .ticq-form-file {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	font-size: 0.9rem !important;
	color: #5A4234 !important;
	width: 100% !important;
	cursor: pointer !important;
}

.ticq-consent-notice {
	background: #FAF6F4 !important;
	border-left: 3px solid #D47E48 !important;
	padding: 12px 16px !important;
	border-radius: 0 8px 8px 0 !important;
	font-size: 0.82rem !important;
	color: #5A4234 !important;
	line-height: 1.45 !important;
	margin-bottom: 22px !important;
}

.ticq-form-submit-row {
	margin-top: 4px !important;
}

.ticq-form-side-box .ticq-btn-submit {
	background-color: #5A2C1D !important;
	color: #FFFFFF !important;
	border: none !important;
	padding: 14px 34px !important;
	border-radius: 50px !important;
	font-family: Outfit, sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 14px rgba(90, 44, 29, 0.15) !important;
}

.ticq-form-side-box .ticq-btn-submit:hover {
	background-color: #3E1D13 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 22px rgba(90, 44, 29, 0.25) !important;
}

.ticq-form-side-box .ticq-btn-submit:active {
	transform: translateY(0) !important;
}

.ticq-form-response {
	margin-top: 18px !important;
	padding: 14px 18px !important;
	border-radius: 10px !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
}

.ticq-form-response.success {
	background-color: #E8F5E9 !important;
	border: 1px solid #A5D6A7 !important;
	color: #2E7D32 !important;
}

.ticq-form-response.error {
	background-color: #FFEBEE !important;
	border: 1px solid #FFCDD2 !important;
	color: #C62828 !important;
}

/* --- 4. RESPONSIVE TABLETTE & MOBILE ULTRA-STRICT --- */
@media (max-width: 1024px) {
	.ticq-contact-cards-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}
}

@media (max-width: 992px) {
	.ticq-contact-map-form-container {
		grid-template-columns: 1fr !important; /* EMPILLEMENT CARTE ET FORMULAIRE */
		gap: 36px !important;
	}

	.ticq-map-box iframe,
	.ticq-map-box {
		min-height: 380px !important;
	}

	.ticq-form-side-box {
		padding: 36px 24px !important;
	}
}

/* SUR MOBILE (<= 640PX) : EMPILLEMENT VERTICAL 1 COLONNE STRICT */
@media (max-width: 640px) {
	/* 1. Empilement des 4 petites cartes contact une par une */
	.ticq-contact-cards-grid {
		display: flex !important;
		flex-direction: column !important;
		gap: 16px !important;
		width: 100% !important;
	}

	.ticq-contact-card {
		width: 100% !important;
		padding: 22px 18px !important;
		box-sizing: border-box !important;
	}

	.ticq-contact-card h3 {
		font-size: 1rem !important; /* 16px strict sur mobile */
	}

	.ticq-contact-info-section,
	.ticq-contact-map-form-section {
		padding: 40px 16px !important;
	}

	/* 2. Empilement Carte Google Maps (En haut) et Formulaire (En dessous) */
	.ticq-contact-map-form-container {
		display: flex !important;
		flex-direction: column !important;
		gap: 28px !important;
		width: 100% !important;
	}

	.ticq-map-box {
		width: 100% !important;
		min-height: 280px !important;
		height: 280px !important;
	}

	.ticq-map-box iframe {
		min-height: 280px !important;
		height: 280px !important;
	}

	.ticq-map-badge-overlay {
		bottom: 12px !important;
		left: 12px !important;
		right: 12px !important;
		padding: 12px 14px !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 8px !important;
	}

	.ticq-form-side-box {
		width: 100% !important;
		padding: 24px 18px !important;
		border-radius: 16px !important;
	}

	.ticq-form-side-box .ticq-form-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.ticq-form-side-box .ticq-form-group.ticq-full-width {
		grid-column: span 1 !important;
	}

	.ticq-form-side-box .ticq-btn-submit {
		width: 100% !important;
	}
}
