/*
 * Contact Us page — pairs with page-contact-us.php.
 * Loaded only on that page template, see functions-enqueue-snippet.php.
 *
 * Self-contained (own scoped vars + gm-contact__* classes), same
 * convention as about-us.css/guarantee.css/coupons.css.
 */

#gm-contact-us {
	--gm-contact-red: var(--awb-color2, #ed2e38);
	--gm-contact-black: var(--awb-color1, #0a0a0a);
	--gm-contact-white: #ffffff;
	--gm-contact-gray-md: #595959;
	--gm-contact-radius: 6px;
	max-width: 800px;
	margin: 0 auto;
	padding: 48px 24px 64px;
	font-family: var(--awb-body-typography-font-family, inherit);
	color: var(--gm-contact-black);
	box-sizing: border-box;
}

.gm-contact__title {
	font-family: var(--awb-heading-typography-font-family, inherit);
	font-size: clamp(28px, 5vw, 40px);
	margin: 0 0 32px;
}

#gm-contact-us h2 {
	font-family: var(--awb-heading-typography-font-family, inherit);
	font-size: 1.5rem;
	margin: 0 0 20px;
}

.gm-contact__form-section {
	margin-bottom: 64px;
}

.gm-contact__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gm-contact__form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.gm-contact__form-row-pair {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.gm-contact__form-row label {
	font-weight: 600;
	font-size: 14px;
}

.gm-contact__form-row input,
.gm-contact__form-row select,
.gm-contact__form-row textarea {
	border: 1px solid #d0d3d4;
	border-radius: var(--gm-contact-radius);
	padding: 10px 12px;
	font-size: 14px;
	font-family: inherit;
	box-sizing: border-box;
}

.gm-contact__consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 12px;
	color: var(--gm-contact-gray-md);
	line-height: 1.5;
}

.gm-contact__consent input {
	margin-top: 3px;
}

.gm-contact__submit-btn {
	align-self: flex-start;
	background: var(--gm-contact-red);
	color: var(--gm-contact-white);
	border: none;
	border-radius: var(--gm-contact-radius);
	padding: 14px 32px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
}

.gm-contact__submit-btn:hover {
	background: color-mix(in srgb, var(--gm-contact-red) 85%, black);
}

/* Disabled (consent checkbox unchecked, see assets/js/contact-us.js) —
 * blends into the page's normal text instead of standing out as a CTA,
 * and doesn't react to hover at all. Checked state keeps the styles above
 * unchanged. */
.gm-contact__submit-btn:disabled {
	background: var(--gm-contact-black);
	color: var(--gm-contact-white);
	cursor: not-allowed;
}

.gm-contact__submit-btn:disabled:hover {
	background: var(--gm-contact-black);
}

/* Honeypot — off-screen, not display:none, same reasoning as the Careers form */
.gm-contact__hp-wrap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.gm-contact__notice {
	padding: 14px 18px;
	border-radius: var(--gm-contact-radius);
	font-size: 14px;
	margin-bottom: 20px;
}

.gm-contact__notice--success {
	background: #e6f4ea;
	color: #1e7c34;
}

.gm-contact__notice--error {
	background: #fdecea;
	color: #b3261e;
}

/* FAQ accordion — same <details>/<summary> pattern as Guarantee/stores */
.gm-contact__faq details {
	border-bottom: 1px solid #e3e5e6;
	padding: 16px 0;
}

.gm-contact__faq summary {
	font-weight: 600;
	cursor: pointer;
}

.gm-contact__faq p {
	color: var(--gm-contact-gray-md);
	margin: 12px 0 0;
	line-height: 1.6;
}

@media (max-width: 600px) {
	#gm-contact-us {
		padding: 32px 16px 48px;
	}
	.gm-contact__form-row-pair {
		flex-direction: column;
	}
}
