/*
 * Our Story, Contact and 404 pages (scripts/templates/parts/story.php, contact.php, 404.php).
 * Only what the native widgets' Style controls cannot do. Ported from the reference site.css
 * (base blocks: .note, .story2, .steps3, .values, .clist, .form/.fld/.err, .two).
 */

/* Info note (Icon Box with class be-note; reference .note svg { margin-top: 2px }). */
.be-note .elementor-icon-box-wrapper { align-items: flex-start; }
.be-note .elementor-icon-box-icon { flex: none; margin-top: 2px; line-height: 0; }
.be-note .elementor-icon-box-icon .elementor-icon { display: block; line-height: 0; }
.be-note .elementor-icon-box-icon svg {
	width: 1em;
	height: 1em;
	fill: none !important;
	stroke: var(--e-icon-box-icon-color, currentColor);
}
.be-note .elementor-icon-box-description { margin: 0; }

/* Copy blocks: no outer paragraph margins, 1em between paragraphs (reference .story2 p + p). */
.be-prose p { margin: 0; }
.be-prose p + p { margin-top: 1em; }

/* Story photo (reference .story2 .im: 4 / 5, cover). */
.be-story-img img { display: block; width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: cover; }

/*
 * Contact form (Pro Form with class be-form; reference .form / .fld / .err).
 * Fields: 12px 14px padding, 50px min height, 150px message box, text-colour border on focus.
 * The reference keeps an empty 7px-gap error line under Name, Email and Message: the groups
 * get 7px below, and an error line sits 7px under its field.
 */
.be-site .be-form .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
	min-height: 50px;
	padding: 12px 14px;
	box-shadow: none;
}
.be-site .be-form .elementor-field-group .elementor-select-wrapper select { min-height: 50px; padding: 12px 14px; }
.be-site .be-form .elementor-field-group textarea.elementor-field { min-height: 150px; resize: vertical; }
.be-site.be-site .be-form .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper):focus,
.be-site.be-site .be-form .elementor-field-group .elementor-select-wrapper select:focus {
	outline: none;
	border-color: var(--text);
}
.be-site .be-form .elementor-field-group:not(.elementor-field-type-select):not(.elementor-field-type-submit) { padding-bottom: 7px; }
.be-site .be-form .elementor-field-group .elementor-form-help-inline {
	flex-basis: 100%;
	margin: 7px 0 -7px;
}
.be-site .be-form .elementor-message-success,
.be-site .be-form form > .elementor-message { margin: 20px 0 0; }
/* "Messages" typography (Style tab) styles the success line like the reference eyebrow; error lines keep the reference .err look. */
.be-site.be-site .be-form form .elementor-message.elementor-message-danger { font-size: 12.5px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.be-site .be-form .elementor-message::before { display: none; }
/* Fields in a row stay top-aligned when only one shows an error (reference grid). */
.be-site .be-form .elementor-form-fields-wrapper { align-items: flex-start; }

/* 404 product search (Pro Search widget, class be-nf-search): field and button as tall as .btn. */
.be-site .be-nf-search .e-search-input,
.be-site .be-nf-search .e-search-submit { min-height: 52px; box-sizing: border-box; }
