/* Editor content on generic and "base styles" templates (.cmg-content).
   Covers markup carried over from the old theme: Bootstrap-style buttons and
   grid, Contact Form 7 fields, and headings sized for a narrow column. */

.cmg-content > :first-child,
.cmg-content > p:empty + * { margin-top: 0; }
.cmg-content p:empty { display: none; }

/* Headings: the site-wide h2 scale is for heroes, too big for body copy. */
.cmg-content h2 {
	font-size: clamp(2rem, 3.6vw, 3.25rem);
	line-height: 1.08;
	letter-spacing: -.03em;
	max-width: 24ch;
}
.cmg-content h2 em,
.cmg-content h3 em { font-style: normal; }
.cmg-content h2.primary { color: var(--color-orange); }

.cmg-content ol { margin-top: 1.25rem; padding-left: 1.25rem; list-style: decimal; }
.cmg-content strong { color: var(--color-light); font-weight: 600; }
.cmg-content blockquote { margin-block: 2.5rem; padding-left: 1.5rem; border-left: 2px solid var(--color-orange); color: var(--color-light); }

/* Buttons */
.cmg-content .btn-wrapper,
.cmg-content .submit-wrapper { margin-top: 2.5rem; }
.cmg-content .btn-wrapper + * { margin-top: 3.5rem; }

.cmg-content a.btn,
.cmg-content .btn-outline,
.cmg-content .btn-outline-dark,
.cmg-content .btn-primary {
	color: var(--color-light);
	border-color: var(--color-line-hi);
	background: transparent;
	text-decoration: none;
}
.cmg-content a.btn:hover,
.cmg-content .btn-outline:hover,
.cmg-content .btn-outline-dark:hover {
	color: var(--color-teal);
	border-color: var(--color-teal);
}
.cmg-content .btn-primary,
.cmg-content input[type="submit"].btn {
	color: var(--color-ink);
	font-weight: 600;
	border-color: transparent;
	background: linear-gradient(100deg, var(--color-magenta) 0%, var(--color-orange) 62%);
}
.cmg-content .btn-primary:hover,
.cmg-content input[type="submit"].btn:hover {
	color: var(--color-ink);
	border-color: transparent;
	background: linear-gradient(100deg, #ef2f6b 0%, var(--color-orange-hi) 62%);
	box-shadow: 0 6px 26px #ff690357;
	transform: translateY(-1px);
}
.cmg-content a.btn-plus::after { content: "+"; font-size: 1.1em; line-height: 1; }

/* Old Bootstrap grid used inside forms and content */
.cmg-content .row { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 1.25rem; }
.cmg-content .row > [class*="col-"] { flex: 1 1 100%; min-width: 0; }
@media (min-width: 992px) {
	.cmg-content .row > .col-lg-6 { flex-basis: calc(50% - .625rem); }
	.cmg-content .row > .col-lg-4 { flex-basis: calc(33.333% - .84rem); }
	.cmg-content .row > .col-lg-12 { flex-basis: 100%; }
}

/* Contact Form 7 */
.cmg-content .wpcf7 { margin-top: 2.5rem; max-width: 900px; }
.cmg-content .wpcf7-form-control-wrap { display: block; }
.cmg-content .wpcf7 input:not([type="submit"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.cmg-content .wpcf7 select,
.cmg-content .wpcf7 textarea {
	width: 100%;
	padding: 1rem 1.1rem;
	background: var(--color-surface);
	border: 1px solid var(--color-line-hi);
	color: var(--color-light);
	font: inherit;
	transition: border-color .3s;
}
.cmg-content .wpcf7 textarea { min-height: 9rem; }
.cmg-content .wpcf7 ::placeholder { color: var(--color-faint); opacity: 1; }
.cmg-content .wpcf7 input:focus,
.cmg-content .wpcf7 select:focus,
.cmg-content .wpcf7 textarea:focus { outline: none; border-color: var(--color-orange); }
.cmg-content .wpcf7 .submit-wrapper { margin-top: 1.25rem; }
.cmg-content .wpcf7-not-valid-tip { margin-top: .4rem; font-size: .8125rem; color: var(--color-magenta); }
.cmg-content .wpcf7-response-output { margin: 1.5rem 0 0 !important; padding: .9rem 1.1rem !important; border: 1px solid var(--color-line-hi) !important; font-size: .9375rem; }
.cmg-content .wpcf7-response-output:empty { display: none; }
.cmg-content .wpcf7-spinner { margin: 0 0 0 1rem; }
