/* ===== CPGT Contact Page =====
   Solid-background hero for the page title (same full-bleed technique
   and look as the Collection page), then a two-column body: contact
   details on the left, the enquiry form on the right. Serif accents on
   the sub-headings for a bit of editorial character; everything else
   clean sans-serif. */

.cpgt-contact-page {
	--cpgt-serif: Georgia, "Times New Roman", Times, serif;
}
.cpgt-contact-page * { box-sizing: border-box; }

/* ---------- Hero: full-bleed solid background, same breakout technique
   used for the Collection page's hero so it spans edge-to-edge
   regardless of what column/container the page sits inside. ---------- */
.cpgt-contact-hero {
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	background: #f4f2ee;
	text-align: center;
	padding: 56px 24px;
}
.cpgt-contact-heading {
	font-size: 34px !important;
	font-weight: 700 !important;
	color: #333 !important;
	margin: 0 !important;
	background: none !important;
}

/* ---------- Body ---------- */
.cpgt-contact-body {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 24px 80px;
}
.cpgt-contact-columns {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 60px;
	align-items: start;
}

/* ---------- Left column: contact details ---------- */
.cpgt-contact-info {
	padding-right: 40px;
	border-right: 1px solid #e5e5e5;
}
.cpgt-contact-block { margin-bottom: 34px; }
.cpgt-contact-block:last-child { margin-bottom: 0; }
.cpgt-contact-subheading {
	font-family: var(--cpgt-serif);
	font-size: 22px !important;
	font-weight: 400 !important;
	color: #111 !important;
	margin: 0 0 14px !important;
	background: none !important;
}
.cpgt-contact-text {
	font-size: 14px;
	line-height: 1.7;
	color: #333;
	margin: 0 0 10px;
}
.cpgt-contact-text-sm { font-size: 13px; color: #777; margin-top: 14px; }
.cpgt-contact-text a,
.cpgt-contact-text-sm a { color: #111; text-decoration: underline; }
.cpgt-contact-text a:hover,
.cpgt-contact-text-sm a:hover { color: #555; }

/* ---------- Right column: form ---------- */
.cpgt-contact-form-heading {
	font-family: var(--cpgt-serif);
	font-size: 20px !important;
	font-weight: 400 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #111 !important;
	margin: 0 0 26px !important;
	background: none !important;
}
.cpgt-contact-form-wrap { text-align: left; }
.cpgt-contact-form-row {
	display: flex;
	gap: 12px;
}
.cpgt-contact-field { flex: 1 1 0; margin-bottom: 12px; }
.cpgt-contact-form input[type="text"],
.cpgt-contact-form input[type="email"],
.cpgt-contact-form input[type="tel"],
.cpgt-contact-form textarea {
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 3px;
	padding: 13px 14px;
	font-size: 13px;
	font-family: inherit;
	color: #111;
	background: #fff;
}
.cpgt-contact-form input:focus,
.cpgt-contact-form textarea:focus {
	outline: none;
	border-color: #111;
}
.cpgt-contact-form textarea { resize: vertical; min-height: 160px; }
.cpgt-contact-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.cpgt-contact-message {
	font-size: 13px;
	margin: 4px 0 14px;
	min-height: 0;
}
.cpgt-contact-message:not(:empty) {
	padding: 10px 12px;
	border: 1px solid #e5e5e5;
	border-radius: 3px;
	background: #f7f7f7;
	color: #111;
}
.cpgt-contact-message.cpgt-contact-success { border-color: #1f7a4d; color: #1f7a4d; }
.cpgt-contact-message.cpgt-contact-error { border-color: #b23b3b; color: #b23b3b; }

.cpgt-contact-submit {
	display: inline-block;
	background: #111;
	color: #fff;
	border: none;
	border-radius: 3px;
	padding: 13px 34px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}
.cpgt-contact-submit:hover { background: #333; }
.cpgt-contact-submit:disabled { opacity: 0.5; cursor: not-allowed; }

/* ---------- Elementor-embedded form ---------- */
.cpgt-contact-form-wrap .elementor {
	text-align: left;
}

@media (max-width: 900px) {
	.cpgt-contact-columns {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.cpgt-contact-info {
		padding-right: 0;
		padding-bottom: 34px;
		border-right: none;
		border-bottom: 1px solid #e5e5e5;
	}
}

@media (max-width: 560px) {
	.cpgt-contact-hero { padding: 40px 18px; }
	.cpgt-contact-heading { font-size: 27px !important; }
	.cpgt-contact-body { padding: 36px 18px 60px; }
	.cpgt-contact-subheading { font-size: 19px !important; }
	.cpgt-contact-form-row { flex-direction: column; gap: 0; }
}
