/* Existing managed forms in the approved Impact layout. Preview safeguards live in PHP. */
.coreology-form {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: 0;
	margin-top: 26px;
	color: var(--ink, #161616);
	font-family: 'DM Sans', sans-serif;
}
.coreology-form label,
.coreology-form legend { font-size: 13px; line-height: 1.65; font-weight: 700; color: inherit; }
.coreology-form label { display: block; }
.coreology-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.coreology-form textarea,
.coreology-form select {
	min-width: 0;
	min-height: 48px;
	margin-top: 9px;
	padding: 12px;
	border: 1px solid #847d73;
	border-radius: 0;
	background: var(--paper, #faf9f6);
	color: var(--ink, #161616);
	font: 400 16px/1.5 'DM Sans', sans-serif;
	opacity: 1;
}
.coreology-form textarea { height: 125px; min-height: 125px; }
.coreology-form input[type=submit] {
	min-height: 50px;
	padding: 15px 22px;
	border: 1px solid var(--ink, #161616);
	border-radius: 0;
	background: var(--ink, #161616);
	color: var(--paper, #faf9f6);
	font: 700 14px/1.5 'DM Sans', sans-serif;
	white-space: normal;
}
.coreology-form input[type=checkbox] { width: 18px; min-width: 18px; height: 18px; margin: 3px 9px 0 0; accent-color: #161616; }
.coreology-form .wpcf7-checkbox label { display: flex; align-items: flex-start; font-weight: 400; }
.coreology-form .wpcf7-form > p,
.coreology-form .coreology-form-fields > p { margin: 0 0 22px; }
.coreology-form .coreology-form-note { font-size: 12px; line-height: 1.7; font-weight: 400; color: #514a41; }
.coreology-form .coreology-form-note a,
.coreology-form .coreology-form-preview a { text-decoration: underline; text-underline-offset: 3px; }
.coreology-form .coreology-form-preview { padding: 15px 18px; margin-bottom: 28px; border-left: 3px solid #765c2c; background: #f0ede7; color: #35312b; font-size: 13px; line-height: 1.7; }
.coreology-form .coreology-form-fields:disabled input[type=submit] { opacity: .65; cursor: not-allowed; }
.coreology-form :is(input, textarea, select, a):focus-visible { outline: 3px solid #161616; outline-offset: 5px; }
.coreology-form .wpcf7-not-valid-tip { margin-top: 8px; font-size: 13px; line-height: 1.5; color: #8f1b1b; }
.coreology-form .wpcf7-response-output { margin: 22px 0; padding: 15px; font-size: 14px; line-height: 1.6; }
.studio-page .studio-contact:has(.coreology-form) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 8%; }
.studio-page .studio-contact-actions:has(.coreology-form) { display: block; min-width: 0; width: 100%; }
.studio-page .studio-contact-actions .contact-email { font-size: clamp(18px, 2.2vw, 30px); }
.faq-page .faq-contact:has(.coreology-form) > div { min-width: 0; }
.training-page .training-form-panel { min-width: 0; padding: 34px; background: var(--paper); color: var(--ink); }
.training-page .training-form-panel .coreology-form { margin-top: 0; }
.impact-contact-form { min-width: 0; width: 100%; }
.account-page .impact-contact-form { margin-top: 46px; padding-top: 30px; border-top: 1px solid var(--line); }
.account-page .impact-contact-form h3 { font: 700 25px/1.2 Poppins,sans-serif; letter-spacing: -.04em; }
.impact-form-contact.impact-form-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 16px 8%; }
.impact-form-contact.impact-form-contact > div:first-child { grid-column: 1; grid-row: 1/3; }
.impact-form-contact.impact-form-contact > .text-link,
.impact-form-contact.impact-form-contact > .impact-contact-form { grid-column: 2; }
.policy-page .policy-request .coreology-form { padding: 0; }
@media (max-width: 800px) {
	.studio-page .studio-contact:has(.coreology-form),
	.impact-form-contact.impact-form-contact { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.impact-form-contact.impact-form-contact > div:first-child,
	.impact-form-contact.impact-form-contact > .text-link,
	.impact-form-contact.impact-form-contact > .impact-contact-form { grid-column: 1; grid-row: auto; }
	.studio-page .studio-contact-actions .contact-email { font-size: 27px; }
}
@media (max-width: 560px) {
	.training-page .training-form-panel { padding: 27px 22px; }
	.studio-page .studio-contact-actions .contact-email { font-size: 23px; }
}
@media (max-width: 360px) { .training-page .training-form-panel { padding: 25px 18px; } }
