/* =========================================================
   Hero (banniere fournie telle quelle)
   ========================================================= */
.cn-ct-hero {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1086 / 1448;
}
@media (min-width: 701px) {
	.cn-ct-hero { aspect-ratio: 1774 / 887; }
}
.cn-ct-hero picture, .cn-ct-hero img {
	display: block;
	width: 100%;
	height: 100%;
}
.cn-ct-hero img { object-fit: cover; }

/* =========================================================
   Raccourcis "Une question sur un restaurant ?" / "Un projet de franchise ?"
   ========================================================= */
.cn-ct-shortcuts__grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 720px) {
	.cn-ct-shortcuts__grid { grid-template-columns: 1fr 1fr; }
}
.cn-ct-shortcut {
	background: #fff;
	border-radius: var(--cn-radius-l);
	overflow: hidden;
	box-shadow: var(--cn-shadow-m);
	display: flex;
	flex-direction: column;
}
.cn-ct-shortcut img { width: 100%; height: auto; display: block; }
.cn-ct-shortcut .cn-btn { margin: var(--cn-space-5); align-self: flex-start; }

/* =========================================================
   Formulaire "Autre demande ?"
   ========================================================= */
.cn-ct-form-layout {
	display: grid;
	gap: 1.5rem;
	align-items: start;
	grid-template-columns: 1fr;
}
@media (min-width: 860px) {
	.cn-ct-form-layout { grid-template-columns: 1.4fr 1fr; }
}
.cn-ct-form-card {
	background: #fff;
	border-radius: var(--cn-radius-l);
	padding: var(--cn-space-6);
	box-shadow: var(--cn-shadow-m);
}
.cn-ct-form-intro { color: var(--cn-text-muted-on-ivoire); margin-top: -0.5rem; margin-bottom: var(--cn-space-5); }
.cn-ct-form-card form {
	display: flex;
	flex-direction: column;
	gap: var(--cn-space-4);
}
.cn-ct-form-row {
	display: grid;
	gap: var(--cn-space-4);
	grid-template-columns: 1fr;
}
@media (min-width: 540px) {
	.cn-ct-form-row { grid-template-columns: 1fr 1fr; }
}
.cn-ct-form-card label {
	display: block;
	font-weight: 700;
	font-size: 0.85rem;
	margin-bottom: 0.35rem;
}
.cn-ct-form-card input[type="text"],
.cn-ct-form-card input[type="email"],
.cn-ct-form-card select,
.cn-ct-form-card textarea {
	width: 100%;
	padding: 0.85rem var(--cn-space-4);
	border-radius: var(--cn-radius-m);
	border: 2px solid rgba(18,16,20,0.15);
	font: inherit;
	background: #fff;
}
.cn-ct-form-card textarea { resize: vertical; }
.cn-ct-form-card .cn-btn { align-self: flex-start; }

.cn-ct-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.cn-ct-form-notice {
	padding: var(--cn-space-4);
	border-radius: var(--cn-radius-m);
	margin-bottom: var(--cn-space-5);
	font-weight: 600;
}
.cn-ct-form-notice--success { background: #DFF2E1; color: #1E5C28; }
.cn-ct-form-notice--error { background: #FBDADA; color: #7A1313; }

.cn-ct-form-illustration { display: none; }
@media (min-width: 860px) {
	.cn-ct-form-illustration {
		display: block;
		border-radius: var(--cn-radius-l);
		overflow: hidden;
	}
	.cn-ct-form-illustration img { width: 100%; height: 100%; object-fit: cover; display: block; }
}
