/**
 * ==========================================================
 * CHACHA HOME — CONTACT PAGE
 * DEV-UI-CONTACT-PAGE-01 / Phase 2 Polish
 * ==========================================================
 */

body.chacha-contact-page {
	background: var(--chacha-background-light, #FFFDFC);
}

body.chacha-contact-page #primary.content-area {
	margin-top: 0;
	margin-bottom: 0;
}

body.chacha-contact-page #main.site-main,
body.chacha-contact-page .content-wrap,
body.chacha-contact-page article.entry,
body.chacha-contact-page .entry-content {
	width: 100%;
	max-width: none;
}

body.chacha-contact-page article.entry,
body.chacha-contact-page .entry-content {
	margin: 0;
	padding: 0;
}

.chacha-contact {
	--contact-ink: var(--chacha-text-strongest, #201A17);
	--contact-text: var(--chacha-text-strong, #3B322D);
	--contact-muted: var(--chacha-text-medium, #6A5F58);
	--contact-accent: var(--chacha-accent, #B08D57);
	--contact-border: var(--chacha-subtle, #D7CEC4);
	--contact-page: var(--chacha-background-light, #FFFDFC);
	--contact-soft: var(--chacha-background, #F6F1EA);
	--contact-success: var(--chacha-success, #2F6B4F);
	--contact-error: var(--chacha-alert, #A63D40);
	--contact-heading: var(--chacha-font-heading, "Cormorant Garamond", serif);
	--contact-body: var(--chacha-font-body, Inter, sans-serif);

	width: 100%;
	padding: 44px 0 72px;
	color: var(--contact-text);
	font-family: var(--contact-body);
}

.chacha-contact *,
.chacha-contact *::before,
.chacha-contact *::after {
	box-sizing: border-box;
}

.chacha-contact-hero {
	max-width: 820px;
	margin: 0 auto 36px;
	padding: 0 28px;
	text-align: center;
}

.chacha-contact-hero__eyebrow,
.chacha-contact-section__eyebrow {
	margin: 0 0 10px;
	font-family: var(--contact-body);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--contact-accent);
}

.chacha-contact-hero__title {
	margin: 0;
	font-family: var(--contact-heading);
	font-size: clamp(42px, 4vw, 62px);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.025em;
	color: var(--contact-ink);
}

.chacha-contact-hero__text {
	max-width: 660px;
	margin: 16px auto 0;
	font-size: 15px;
	line-height: 1.8;
	color: var(--contact-muted);
}

.chacha-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	grid-template-areas:
		"info form"
		"store form";
	column-gap: 28px;
	row-gap: 22px;
	align-items: start;
}

.chacha-contact-panel--info {
	grid-area: info;
}

.chacha-contact-panel--store {
	grid-area: store;
}

.chacha-contact-panel--form {
	grid-area: form;
	scroll-margin-top: 190px;
}

.chacha-contact-panel {
	border: 1px solid var(--contact-border);
	border-radius: 16px;
	background: var(--contact-page);
}

.chacha-contact-panel--info,
.chacha-contact-panel--store {
	padding: 30px;
}

.chacha-contact-panel--store {
	background: var(--contact-soft);
}

.chacha-contact-panel--form {
	padding: 34px;
}

.chacha-contact-section__title {
	margin: 0;
	font-family: var(--contact-heading);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.018em;
	color: var(--contact-ink);
}

.chacha-contact-section__intro {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.7;
	color: var(--contact-muted);
}

.chacha-contact-list {
	display: grid;
	margin-top: 28px;
	border-top: 1px solid var(--contact-border);
}

.chacha-contact-item {
	display: grid;
	gap: 4px;
	padding: 18px 0;
	border-bottom: 1px solid var(--contact-border);
	font-size: 14px;
	line-height: 1.55;
}

.chacha-contact-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.chacha-contact-item__label {
	font-size: 10px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--contact-muted);
}

.chacha-contact-item a,
.chacha-contact-text-link,
.chacha-contact-consent a {
	color: var(--contact-ink);
	text-decoration: none;
	text-underline-offset: 3px;
}

.chacha-contact-item a:hover,
.chacha-contact-item a:focus-visible,
.chacha-contact-text-link:hover,
.chacha-contact-text-link:focus-visible,
.chacha-contact-consent a:hover,
.chacha-contact-consent a:focus-visible {
	color: var(--contact-accent);
}

.chacha-contact-address {
	margin: 23px 0 18px;
	font-style: normal;
	font-size: 14px;
	line-height: 1.75;
	color: var(--contact-text);
}

.chacha-contact-text-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.chacha-contact-notice {
	display: grid;
	gap: 5px;
	margin: 24px 0 0;
	padding: 14px 16px;
	border-left: 3px solid currentColor;
	background: var(--contact-soft);
	font-size: 12px;
	line-height: 1.55;
}

.chacha-contact-notice strong {
	font-size: 13px;
	font-weight: 700;
}

.chacha-contact-notice--success {
	color: var(--contact-success);
}

.chacha-contact-notice--error {
	color: var(--contact-error);
}

.chacha-contact-form {
	margin-top: 26px;
}

.chacha-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.chacha-contact-field,
.chacha-contact-consent {
	display: grid;
	gap: 8px;
}

.chacha-contact-field--message,
.chacha-contact-consent {
	margin-top: 18px;
}

.chacha-contact-field label {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.045em;
	color: var(--contact-text);
}

.chacha-contact-field__optional {
	margin-left: 5px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--contact-muted);
}

body.chacha-contact-page .chacha-contact-field input,
body.chacha-contact-page .chacha-contact-field select,
body.chacha-contact-page .chacha-contact-field textarea {
	width: 100%;
	margin: 0;
	border: 1px solid var(--contact-border);
	border-radius: 10px;
	background: var(--contact-page);
	box-shadow: none;
	font-family: var(--contact-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--contact-ink);
	outline: none;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.chacha-contact-page .chacha-contact-field input,
body.chacha-contact-page .chacha-contact-field select {
	height: 50px;
	padding: 0 14px;
}

body.chacha-contact-page .chacha-contact-field textarea {
	min-height: 158px;
	padding: 13px 14px;
	resize: vertical;
}

body.chacha-contact-page .chacha-contact-field input:focus,
body.chacha-contact-page .chacha-contact-field select:focus,
body.chacha-contact-page .chacha-contact-field textarea:focus {
	border-color: var(--contact-accent);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--contact-accent) 18%, transparent);
}

body.chacha-contact-page .chacha-contact-field.has-error input,
body.chacha-contact-page .chacha-contact-field.has-error select,
body.chacha-contact-page .chacha-contact-field.has-error textarea {
	border-color: var(--contact-error);
}

.chacha-contact-form__error {
	font-size: 11px;
	line-height: 1.5;
	color: var(--contact-error);
}

.chacha-contact-consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}

body.chacha-contact-page .chacha-contact-consent input[type="checkbox"] {
	flex: 0 0 auto;
	width: 19px;
	height: 19px;
	margin: 1px 0 0;
	accent-color: var(--contact-ink);
}

.chacha-contact-consent label > span {
	font-size: 12px;
	line-height: 1.6;
	color: var(--contact-muted);
}

.chacha-contact-consent a {
	text-decoration: underline;
}

body.chacha-contact-page .chacha-contact-submit,
body.chacha-contact-page .chacha-contact-submit:hover,
body.chacha-contact-page .chacha-contact-submit:focus,
body.chacha-contact-page .chacha-contact-submit:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-width: 210px;
	min-height: 48px;
	margin: 24px 0 0;
	padding: 0 20px;
	border: 1px solid var(--contact-ink);
	border-radius: 0;
	background: var(--contact-ink);
	box-shadow: none;
	font-family: var(--contact-body);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.095em;
	text-transform: uppercase;
	color: var(--contact-page);
	cursor: pointer;
}

body.chacha-contact-page .chacha-contact-submit:hover,
body.chacha-contact-page .chacha-contact-submit:focus-visible {
	border-color: var(--contact-accent);
	background: var(--contact-accent);
	color: var(--contact-page);
}

.chacha-contact-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.chacha-contact-quick {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	gap: 28px;
	align-items: end;
	margin-top: 28px;
	padding: 30px 0 0;
	border-top: 1px solid var(--contact-border);
}

.chacha-contact-quick__heading {
	max-width: 430px;
}

.chacha-contact-quick__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--contact-border);
}

.chacha-contact-quick__links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 68px;
	padding: 0 16px;
	border-right: 1px solid var(--contact-border);
	border-bottom: 1px solid var(--contact-border);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--contact-ink);
	text-decoration: none;
}

.chacha-contact-quick__links a:first-child {
	border-left: 1px solid var(--contact-border);
}

.chacha-contact-quick__links a:hover,
.chacha-contact-quick__links a:focus-visible {
	background: var(--contact-soft);
	color: var(--contact-accent);
}

@media (max-width: 1024px) {
	.chacha-contact {
		padding-top: 40px;
		padding-bottom: 60px;
	}

	.chacha-contact-layout {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		column-gap: 22px;
		row-gap: 20px;
	}

	.chacha-contact-quick {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: 22px;
		align-items: start;
	}

	.chacha-contact-panel--info,
	.chacha-contact-panel--store,
	.chacha-contact-panel--form {
		padding: 26px;
	}

	.chacha-contact-section__title {
		font-size: 29px;
	}

	.chacha-contact-quick__links {
		grid-template-columns: 1fr;
	}

	.chacha-contact-quick__links a,
	.chacha-contact-quick__links a:first-child {
		border-left: 1px solid var(--contact-border);
	}
}

@media (max-width: 767px) {
	.chacha-contact {
		padding: 30px 0 46px;
	}

	.chacha-contact-hero {
		margin-bottom: 26px;
		padding: 0 6px;
		text-align: left;
	}

	.chacha-contact-hero__title {
		font-size: clamp(38px, 12vw, 48px);
		line-height: 1;
	}

	.chacha-contact-hero__text {
		margin-top: 12px;
		font-size: 14px;
		line-height: 1.7;
	}

	.chacha-contact-layout {
		grid-template-columns: 1fr;
		grid-template-areas:
			"info"
			"form"
			"store";
		gap: 14px;
	}

	.chacha-contact-quick {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.chacha-contact-panel {
		border-radius: 14px;
	}

	.chacha-contact-panel--info,
	.chacha-contact-panel--store,
	.chacha-contact-panel--form {
		padding: 22px 18px;
	}

	.chacha-contact-section__title {
		font-size: 28px;
	}

	.chacha-contact-panel--form {
		scroll-margin-top: 92px;
	}

	.chacha-contact-field label,
	.chacha-contact-consent label > span {
		font-size: 12px;
	}

	body.chacha-contact-page .chacha-contact-consent input[type="checkbox"] {
		width: 20px;
		height: 20px;
	}

	.chacha-contact-form__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.chacha-contact-field--message,
	.chacha-contact-consent {
		margin-top: 16px;
	}

	body.chacha-contact-page .chacha-contact-field input,
	body.chacha-contact-page .chacha-contact-field select {
		height: 48px;
	}

	body.chacha-contact-page .chacha-contact-submit {
		width: 100%;
		min-height: 50px;
	}

	.chacha-contact-quick {
		margin-top: 22px;
		padding-top: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chacha-contact *,
	.chacha-contact *::before,
	.chacha-contact *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

/**
 * ==========================================================
 * DEV-UI-CONTACT-PAGE-01-PHASE2C-HERO-RHYTHM-OWNERSHIP
 * ==========================================================
 *
 * Kadence / .single-content typography rules can own block
 * margins with greater specificity than the component-level
 * hero classes. Keep the contact hero's vertical rhythm under
 * the component's control without !important.
 */

body.chacha-contact-page
.entry-content
.chacha-contact-hero__eyebrow {
	margin: 0 0 10px;
}

body.chacha-contact-page
.entry-content
.chacha-contact-hero__title {
	margin: 0;
}

body.chacha-contact-page
.entry-content
.chacha-contact-hero__text {
	margin: 16px auto 0;
}

@media (max-width: 767px) {
	body.chacha-contact-page
	.entry-content
	.chacha-contact-hero__text {
		margin-top: 12px;
	}
}