/**
 * Contact page styles — deliberately restrained (utilitarian page, not a
 * marketing page). Enqueued only on the "Contact" page template.
 */

.narrow-wrap {
	max-width: 920px;
	margin: 0 auto;
	padding: 0 28px;
}

@media (max-width: 620px) {
	.narrow-wrap {
		padding: 0 20px;
	}
}

.page-head {
	border-bottom: 1px solid var(--hh-line);
	padding: 40px 0 34px;
}

.page-head .eyebrow {
	color: var(--hh-blue);
}

.page-head h1 {
	font-size: clamp(26px, 3.6vw, 34px);
	margin-top: 8px;
}

.page-head p.sub {
	margin-top: 8px;
	font-size: 15.5px;
	color: var(--hh-ink-soft);
	max-width: 560px;
}

.contact-shell {
	padding: 44px 0 90px;
}

.wa-banner {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap;
	background: color-mix(in srgb, var(--hh-green) 9%, transparent);
	border: 1.5px solid color-mix(in srgb, var(--hh-green) 28%, transparent);
	border-radius: var(--hh-radius-l);
	padding: 26px 30px;
	margin-bottom: 40px;
}

.wa-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--hh-green);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wa-icon svg {
	width: 28px;
	height: 28px;
	color: #fff;
}

.wa-text {
	flex: 1;
	min-width: 220px;
}

.wa-text h2 {
	font-size: 19px;
}

.wa-text p {
	margin-top: 5px;
	font-size: 14px;
	color: var(--hh-ink-soft);
}

.btn-whatsapp {
	background: var(--hh-green);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: var(--hh-radius-s);
	font-weight: 700;
	font-size: 14.5px;
	flex-shrink: 0;
}

.btn-whatsapp:hover {
	background: #23B36B;
	box-shadow: 0 6px 18px -6px rgba(30, 158, 90, 0.5);
}

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 34px;
	align-items: start;
}

@media (max-width: 880px) {
	.contact-grid {
		grid-template-columns: 1fr;
	}
}

.form-card {
	background: var(--hh-surface-raised);
	border: 1.5px solid var(--hh-line);
	border-radius: var(--hh-radius-m);
	padding: 30px;
}

.form-card h2 {
	font-size: 18.5px;
	margin-bottom: 22px;
}

.field {
	margin-bottom: 20px;
}

.field label {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	margin-bottom: 7px;
}

.field input,
.field select,
.field textarea {
	width: 100%;
	padding: 12px 14px;
	border-radius: var(--hh-radius-s);
	border: 1.5px solid var(--hh-line);
	background: var(--hh-surface);
	color: var(--hh-ink);
	font-family: var(--hh-font-body);
	font-size: 15px;
	transition: border-color 0.15s ease;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
	outline: none;
	border-color: var(--hh-blue);
}

.field textarea {
	resize: vertical;
	min-height: 130px;
}

.field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

@media (max-width: 560px) {
	.field-row {
		grid-template-columns: 1fr;
	}
}

.subject-hint {
	display: none;
	gap: 10px;
	align-items: flex-start;
	margin-top: -8px;
	margin-bottom: 20px;
	padding: 12px 14px;
	background: color-mix(in srgb, var(--hh-blue) 7%, transparent);
	border-radius: var(--hh-radius-s);
	font-size: 13px;
	color: var(--hh-ink);
}

.subject-hint.show {
	display: flex;
}

.subject-hint svg {
	width: 15px;
	height: 15px;
	color: var(--hh-blue);
	flex-shrink: 0;
	margin-top: 1px;
}

.form-success {
	display: none;
	text-align: center;
	padding: 30px 10px;
}

.form-success.show {
	display: block;
}

.form-success .ok-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--hh-green) 15%, transparent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.form-success .ok-icon svg {
	width: 24px;
	height: 24px;
	color: var(--hh-green);
}

.form-success h3 {
	font-size: 17px;
	margin-bottom: 6px;
}

.form-success p {
	font-size: 14px;
	color: var(--hh-ink-soft);
}

.side-card {
	background: var(--hh-surface-raised);
	border: 1.5px solid var(--hh-line);
	border-radius: var(--hh-radius-m);
	padding: 20px;
	margin-bottom: 18px;
}

.side-card .si {
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: color-mix(in srgb, var(--hh-blue) 12%, transparent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

.side-card .si svg {
	width: 17px;
	height: 17px;
	color: var(--hh-blue);
}

.side-card h3 {
	font-size: 14.5px;
	margin-bottom: 6px;
}

.side-card p {
	font-size: 13.5px;
	color: var(--hh-ink-soft);
}

.side-card a.link {
	color: var(--hh-blue);
	font-weight: 700;
	font-size: 13.5px;
	margin-top: 8px;
	display: inline-block;
}

.side-card .em {
	font-size: 14px;
	font-weight: 700;
	color: var(--hh-ink);
	margin-top: 4px;
}
