/* HQ Concours — front-end */
.hqc-box { max-width: 640px; margin: 0 auto; }
.hqc-banner img { width: 100%; height: auto; border-radius: 6px; margin-bottom: 1em; }
.hqc-title { margin: .4em 0 .6em; }
.hqc-intro { margin-bottom: 1.2em; }

.hqc-form .hqc-row { display: flex; flex-direction: column; margin-bottom: 1em; }
.hqc-form label { font-weight: 600; margin-bottom: .3em; }
.hqc-form input[type=text],
.hqc-form input[type=email],
.hqc-form textarea,
.hqc-form select {
	width: 100%; max-width: 100%; box-sizing: border-box;
	padding: .6em; border: 1px solid #ccc; border-radius: 4px; font: inherit;
}
.hqc-form textarea { min-height: 110px; }
.hqc-choices { display: flex; flex-wrap: wrap; gap: 12px; }
.hqc-choice { font-weight: 400; }
.hqc-req { color: #ff006e; }

/* honeypot — visually hidden but present for bots */
.hqc-hp { position: absolute !important; left: -9999px !important; top: -9999px; height: 0; width: 0; overflow: hidden; }

.hqc-consent { font-size: .85em; color: #666; margin: 1em 0; }
.g-recaptcha { margin: 1em 0; }

.hqc-submit {
	background: #ff006e; color: #fff; border: 0;
	padding: .8em 1.7em; font-size: 1em; font-weight: 700;
	border-radius: 4px; cursor: pointer;
}
.hqc-submit:hover { background: #ff2d8e; }
.hqc-submit:disabled { opacity: .6; cursor: default; }
.hqc-msg { color: #a00; margin-top: .6em; }

.hqc-success {
	text-align: center; padding: 1.4em;
	border: 1px solid #ff006e; border-left: 4px solid #ff006e; border-radius: 6px;
}
.hqc-review { margin-top: 1.3em; text-align: left; }
.hqc-review-kicker { font-weight: 600; margin-bottom: .5em; }
.hqc-review-card {
	display: flex; align-items: center; gap: 12px;
	text-decoration: none; color: inherit;
	border: 1px solid #eee; border-radius: 6px; padding: 10px;
}
.hqc-review-card:hover { border-color: #ff006e; }
.hqc-review-thumb {
	flex: 0 0 90px; height: 60px; border-radius: 4px;
	background-size: cover; background-position: center; display: inline-block;
}
.hqc-review-title { flex: 1; font-weight: 700; }
.hqc-review-cta { color: #ff006e; white-space: nowrap; }

.hqc-empty { padding: 1.6em 2em; text-align: center; border: 1px solid rgba(128,128,128,.35); border-radius: 6px; }
.hqc-empty p { margin: 0; }
