/* HL Associates — WordPress integration styles (admin bar, core blocks, Contact Form 7, Newsletter) */

/*==============================================================
	Admin bar: keep the fixed header below it
==============================================================*/

.admin-bar .header-wrap {
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 600px) {
	.admin-bar .header-wrap {
		top: 0;
	}
}

/*==============================================================
	Core blocks inside the design's content areas
==============================================================*/

/* Legal pages: each core Group block (tag "section") is one numbered section */
.default-page .wp-block-group__inner-container > :last-child,
.default-page section > :last-child {
	margin-bottom: 0;
}

.default-page .wp-block-heading {
	margin-top: 0;
}

/* Core Quote blocks wrap their text in <p>: keep the design's single-text blockquote metrics */
.blog-post-content blockquote > p {
	margin-bottom: 0;
	line-height: inherit;
}

.blog-post-content blockquote > p + p {
	margin-top: 1rem;
}

.blog-post-content .wp-block-image {
	margin-bottom: 1.5rem;
}

/* Fallback archive / search list */
.default-page .blog-list {
	margin-top: 2rem;
}

.hla-pagination {
	margin-top: 3rem;
	text-align: center;
}

.hla-pagination .page-numbers {
	display: inline-block;
	padding: 0.5rem 0.875rem;
	border-radius: var(--radius-sm);
	font-weight: 600;
}

.hla-pagination .page-numbers.current {
	color: var(--color-primary-foreground);
	background-color: var(--color-primary);
}

.hla-notice {
	padding: 1rem;
	border: 1px dashed var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
}

/*==============================================================
	Contact Form 7
==============================================================*/

.wpcf7 .hidden-fields-container {
	display: none;
}

/* CF7 wraps each control in a span: lay it out like the design's flex column so controls are blockified */
.wpcf7-form .form-group .wpcf7-form-control-wrap {
	display: flex;
	flex-direction: column;
}

.wpcf7-form .wpcf7-not-valid {
	border-color: var(--color-red-600);
}

.wpcf7-form .wpcf7-not-valid-tip {
	display: block;
	margin: 0.375rem 0 0 0.25rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--color-red-600);
}

/* The spinner CF7 adds after the button only takes space while the form is sending */
.wpcf7-form .wpcf7-spinner {
	align-self: center;
	margin: 0;
}

.wpcf7-form:not(.submitting) .wpcf7-spinner {
	display: none;
}

.wpcf7-form.submitting .wpcf7-submit {
	cursor: progress;
	opacity: 0.7;
}

.wpcf7-form .wpcf7-response-output {
	margin: 0;
	padding: 0.75rem 1rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
	line-height: 1.5;
}

.wpcf7-form.init .wpcf7-response-output,
.wpcf7-form.resetting .wpcf7-response-output,
.wpcf7-form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7-form.sent .wpcf7-response-output {
	border-color: var(--color-emerald-500);
	color: var(--color-emerald-500);
	background-color: color-mix(in srgb, var(--color-emerald-500) 8%, transparent);
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.payment-required .wpcf7-response-output {
	border-color: var(--color-amber-500);
	color: var(--color-amber-500);
	background-color: color-mix(in srgb, var(--color-amber-500) 8%, transparent);
}

.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output {
	border-color: var(--color-red-600);
	color: var(--color-red-600);
	background-color: color-mix(in srgb, var(--color-red-600) 8%, transparent);
}

/*==============================================================
	Newsletter plugin forms (AJAX mode replaces the form content with the plugin's message)
==============================================================*/

.tnp-ajax .tnp-privacy-field {
	font-size: 0.75rem;
	line-height: 1.5;
}

.tnp-ajax .tnp-privacy-field label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.tnp-ajax .tnp-privacy-field a {
	text-decoration: underline;
}

.blog-newsletter-form.tnp-ajax {
	font-size: 0.875rem;
	line-height: 1.625;
}
