/* =========================================================================
   Block library styles (front-end + editor). Most dynamic blocks reuse the
   theme component classes (ft-assetcta, ft-companycard, ft-eventcard, …) from
   home.css / pages.css; this sheet covers block-specific pieces + the editor
   placeholder.
   ========================================================================= */

/* Editor placeholder for unconfigured dynamic blocks. */
.ft-block-placeholder {
	padding: 1.25rem 1.5rem;
	border: 1px dashed var(--ft-color-line, #d9ddd6);
	border-radius: 8px;
	background: var(--ft-color-surface, #f6f7f5);
	color: var(--ft-color-muted, #5b6b6a);
	font-size: 0.9rem;
	text-align: center;
}

/* Executive card (block-only component). */
.ft-execcard {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 1rem;
	align-items: center;
	border: 1px solid var(--ft-color-line, #d9ddd6);
	border-radius: 8px;
	padding: 1rem 1.25rem;
	background: var(--ft-color-bg, #fff);
}
.ft-execcard__photo img { inline-size: 64px; block-size: 64px; object-fit: cover; border-radius: 999px; }
.ft-execcard__name { font-size: 1.1rem; margin: 0 0 0.2rem; }
.ft-execcard__name a { color: var(--ft-color-heading, #0b1f2a); text-decoration: none; }
.ft-execcard__role { margin: 0; color: var(--ft-color-muted, #5b6b6a); font-size: 0.9rem; }

/* Company card as a block: cap width so a single card doesn't stretch full. */
.ft-companycard--block { max-inline-size: 18rem; }

/* Event card as a block: horizontal layout reused; cap width. */
.ft-eventcard--block { max-inline-size: 28rem; }

/* Video embed block. */
.ft-videoblock { margin: 1.5rem 0; }
.ft-videoblock__frame {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: var(--ft-color-surface-2, #eceee9);
}
.ft-videoblock__frame iframe,
.ft-videoblock__frame embed,
.ft-videoblock__frame object,
.ft-videoblock__frame video {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	border: 0;
}
.ft-videoblock__caption {
	margin-block-start: 0.5rem;
	font-size: 0.85rem;
	color: var(--ft-color-muted, #5b6b6a);
}

/* Pattern helpers reused by /patterns/ ----------------------------------- */
.ft-stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.5rem; }
.ft-stat { text-align: center; padding: 1.25rem; border: 1px solid var(--ft-color-line, #d9ddd6); border-radius: 8px; }
.ft-stat__num { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: 2.4rem; font-weight: 700; color: var(--ft-color-accent, #c8642d); line-height: 1; }
.ft-stat__label { color: var(--ft-color-muted, #5b6b6a); font-size: 0.9rem; margin-block-start: 0.4rem; }

.ft-callout { border-inline-start: 4px solid var(--ft-color-accent, #c8642d); background: var(--ft-color-surface, #f6f7f5); padding: 1.25rem 1.5rem; border-radius: 0 8px 8px 0; }

.ft-sponsored-wrap { border: 1px solid var(--ft-gold, #a9852f); border-radius: 8px; padding: 1.5rem; background: #fffdf6; }
