/*
 * Page content: the classes BUILD/block-migration/convert.php gives the converted Elementor pages, and that the
 * starter patterns use. Colours, fonts and sizes from theme.json; spacing values are live's (PLAYBOOK R36).
 * Breakpoints as live (Elementor kit 57): tablet <= 1024px, mobile <= 767px.
 */

/* ---------- Page frame ---------- */

.dfb-main .dfb-content > *,
.dfb-content .dfb-text > *,
.dfb-content .dfb-table-wrap > :first-child,
.dfb-content .dfb-faq > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.dfb-content p,
.dfb-content ul,
.dfb-content ol,
.dfb-content figure {
	margin-top: 0;
	margin-bottom: 0;
}

.dfb-content h1,
.dfb-content h2,
.dfb-content h3,
.dfb-content h4,
.dfb-content h5,
.dfb-content h6 {
	margin-top: 0;
	margin-bottom: 0;
}

.dfb-content a {
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
}

.dfb-content strong {
	font-weight: 700; /* Not "bolder": bold text inside bold stays 700, as live. */
	color: var(--wp--preset--color--dark);
}

/* ---------- Typography (Elementor kit 57 global styles) ---------- */

.dfb-t-display,
.dfb-t-h1,
.dfb-t-h2,
.dfb-t-h3,
.dfb-t-h4,
.dfb-t-h5,
.dfb-t-h6 {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
}

.dfb-t-display { font-size: 80px; line-height: 1.2em; }
.dfb-t-h1 { font-size: var(--wp--preset--font-size--h-1); line-height: calc(var(--wp--custom--line-height--h-1) * 1em); }
.dfb-t-h2 { font-size: var(--wp--preset--font-size--h-2); line-height: calc(var(--wp--custom--line-height--h-2) * 1em); }
.dfb-t-h3 { font-size: var(--wp--preset--font-size--h-3); line-height: calc(var(--wp--custom--line-height--h-3) * 1em); }
.dfb-t-h4 { font-size: var(--wp--preset--font-size--h-4); line-height: calc(var(--wp--custom--line-height--h-4) * 1em); }
.dfb-t-h5 { font-size: var(--wp--preset--font-size--h-5); line-height: calc(var(--wp--custom--line-height--h-5) * 1em); }
.dfb-t-h6 { font-size: var(--wp--preset--font-size--h-6); line-height: calc(var(--wp--custom--line-height--h-6) * 1em); }

.dfb-t-subtitle,
.dfb-t-link-small,
.dfb-t-link,
.dfb-t-link-large,
.dfb-t-body-small,
.dfb-t-body,
.dfb-t-body-large {
	font-family: var(--wp--preset--font-family--body);
}

.dfb-t-subtitle {
	font-size: var(--wp--preset--font-size--subtitle);
	font-weight: 700;
	line-height: calc(var(--wp--custom--line-height--body) * 1em);
	letter-spacing: var(--wp--custom--letter-spacing--subtitle);
	text-transform: uppercase;
}

.dfb-t-link-small { font-size: var(--wp--preset--font-size--link-small); font-weight: 700; }
.dfb-t-link { font-size: var(--wp--preset--font-size--body); font-weight: 700; line-height: 1.15em; }
.dfb-t-link-large { font-size: var(--wp--preset--font-size--body-large); font-weight: 700; }
.dfb-t-body-small { font-size: var(--wp--preset--font-size--body-small); font-weight: 500; line-height: 1.15em; }
.dfb-t-body { font-size: var(--wp--preset--font-size--body); font-weight: 400; line-height: calc(var(--wp--custom--line-height--body) * 1em); }
.dfb-t-body-large { font-size: var(--wp--preset--font-size--body-large); font-weight: 400; line-height: calc(var(--wp--custom--line-height--body) * 1em); }

@media (max-width: 1024px) {
	.dfb-t-display { font-size: 48px; }
	.dfb-t-h1 { font-size: var(--wp--custom--font-size-step--h-1--tablet); }
	.dfb-t-h2 { font-size: var(--wp--custom--font-size-step--h-2--tablet); }
	.dfb-t-h3 { font-size: var(--wp--custom--font-size-step--h-3--tablet); }
	.dfb-t-h5 { font-size: var(--wp--custom--font-size-step--h-5--tablet); }
	.dfb-t-h6 { font-size: var(--wp--custom--font-size-step--h-6--tablet); }
}

@media (max-width: 767px) {
	.dfb-t-display { font-size: 46px; }
	.dfb-t-h1 { font-size: var(--wp--custom--font-size-step--h-1--mobile); }
	.dfb-t-h2 { font-size: var(--wp--custom--font-size-step--h-2--mobile); }
	.dfb-t-h3 { font-size: var(--wp--custom--font-size-step--h-3--mobile); }
	.dfb-t-h4 { font-size: var(--wp--custom--font-size-step--h-4--mobile); }
	.dfb-t-h5 { font-size: var(--wp--custom--font-size-step--h-5--mobile); }
}

/* ---------- Layout helpers (Elementor container values core cannot store per breakpoint) ---------- */

.dfb-section > .dfb-inner {
	width: 100%;
}

.dfb-noflex { flex: none; }
.dfb-w-36 { width: 36px; }
.dfb-w-44 { width: 44px; }
.dfb-w-224 { width: 224px; max-width: 100%; }
.dfb-w-560 { width: 560px; max-width: 100%; }
.dfb-w-720 { width: 720px; max-width: 100%; }
.dfb-w-780 { width: 780px; max-width: 100%; }
.dfb-w-860 { width: 860px; max-width: 100%; }
.dfb-w-900 { width: 900px; max-width: 100%; }

@media (min-width: 1025px) {
	.dfb-hide-desktop { display: none !important; } /* Must beat core's inline layout rules (display: flex). */

	.dfb-sticky {
		position: sticky;
		top: 100px;
		align-self: flex-start;
	}
}

@media (max-width: 1024px) {
	.dfb-stack-tablet { flex-direction: column !important; } /* Core prints the direction per block, after this file. */
	.dfb-stack-tablet > * { flex-basis: auto !important; }
	.dfb-w100-tablet { flex-basis: 100% !important; width: 100%; }
	.dfb-w48p5-tablet { flex-basis: 48.5% !important; }
	.dfb-max-tablet-1130 { max-width: 1130px; }
	.dfb-pad-tablet-0-20-0-20 { padding: 0 20px !important; }
	.dfb-pad-tablet-15-20-0-20 { padding: 15px 20px 0 !important; }
	.dfb-pad-tablet-20-20-20-20 { padding: 20px !important; }
	.dfb-pad-tablet-40-20-0-20 { padding: 40px 20px 0 !important; }
	.dfb-pad-tablet-56-20-0-20 { padding: 56px 20px 0 !important; }
	.dfb-pad-tablet-60-20-0-20 { padding: 60px 20px 0 !important; }
	.dfb-pad-tablet-60-20-60-20 { padding: 60px 20px !important; }
	.dfb-pad-tablet-80-20-80-20 { padding: 80px 20px !important; }
	.dfb-pad-tablet-96-20-96-20 { padding: 96px 20px !important; }
}

@media (min-width: 768px) and (max-width: 1024px) {
	.dfb-hide-tablet { display: none !important; }
}

@media (max-width: 767px) {
	.dfb-hide-mobile { display: none !important; }
	.dfb-stack-mobile { flex-direction: column !important; }
	.dfb-stack-mobile > * { flex-basis: auto !important; }
	.dfb-row-mobile { flex-direction: row !important; }
	.dfb-w100-mobile,
	.dfb-full-mobile { flex-basis: 100% !important; width: 100%; }
	.dfb-w80-mobile { flex-basis: 80% !important; }
	.dfb-align-flex-start-mobile { align-items: flex-start !important; }
	.dfb-pad-mobile-0-20-0-20 { padding: 0 20px !important; }
	.dfb-pad-mobile-14-20-0-20 { padding: 14px 20px 0 !important; }
	.dfb-pad-mobile-20-20-20-20 { padding: 20px !important; }
	.dfb-pad-mobile-24-24-24-24 { padding: 24px !important; }
	.dfb-pad-mobile-32-20-0-20 { padding: 32px 20px 0 !important; }
	.dfb-pad-mobile-32-32-32-32 { padding: 32px !important; }
	.dfb-pad-mobile-48-20-0-20 { padding: 48px 20px 0 !important; }
	.dfb-pad-mobile-56-20-0-20 { padding: 56px 20px 0 !important; }
	.dfb-pad-mobile-56-20-56-20 { padding: 56px 20px !important; }
	.dfb-pad-mobile-64-20-64-20 { padding: 64px 20px !important; }
	.dfb-pad-mobile-80-20-80-20 { padding: 80px 20px !important; }
}

/* ---------- Text pieces ---------- */

.dfb-meta {
	display: flex;
	flex-wrap: wrap;
	column-gap: 24px;
	row-gap: 8px;
}

.dfb-lh0 { line-height: 0; }

.dfb-small {
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 500;
	color: var(--wp--preset--color--body-text);
}

.dfb-small-plain {
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 500;
}

.dfb-strong-14 { font-size: var(--wp--preset--font-size--body); }
.dfb-strong-17 { font-size: var(--wp--preset--font-size--body-large); }
.dfb-light-85 { color: color-mix(in srgb, var(--wp--preset--color--light) 85%, transparent); }
.dfb-light-80 { color: color-mix(in srgb, var(--wp--preset--color--light) 80%, transparent); }

.dfb-content .dfb-wordmark { margin: 0; }

.dfb-content a.dfb-link-u {
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--primary);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.dfb-content a.dfb-link-light { color: var(--wp--preset--color--light); }
.dfb-content a.dfb-link-light-bu { color: var(--wp--preset--color--light); font-weight: 700; text-decoration: underline; }
.dfb-content a.dfb-link-tertiary { color: var(--wp--preset--color--tertiary); }
.dfb-content a.dfb-link-tertiary-bu { color: var(--wp--preset--color--tertiary); font-weight: 700; text-decoration: underline; }
.dfb-content a.dfb-link-tertiary-u { color: var(--wp--preset--color--tertiary); text-decoration: underline; text-underline-offset: 4px; }
.dfb-content a.dfb-link-dark { color: var(--wp--preset--color--dark); }

/* Badges: "Editorial interpretation", "Established evidence" ... */
.dfb-pill {
	display: inline-block;
	padding: 2px 8px;
	border-radius: var(--wp--custom--radius--base);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--light);
}

.dfb-pill-secondary { background-color: var(--wp--preset--color--secondary); }
.dfb-pill-green { background-color: var(--wp--preset--color--green); }
.dfb-pill-primary { background-color: var(--wp--preset--color--primary); }
.dfb-pill-dark { background-color: var(--wp--preset--color--dark); }
.dfb-pill-tertiary { background-color: var(--wp--preset--color--tertiary); color: var(--wp--preset--color--dark); }
.dfb-pill-text-light { background-color: var(--wp--preset--color--text-light); color: var(--wp--preset--color--dark); }

/* Step numbers in a circle. */
.dfb-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wp--custom--radius--round);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--light);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	line-height: 1;
}

.dfb-num-36 { width: 36px; height: 36px; min-width: 36px; font-size: var(--wp--preset--font-size--body-large); }
.dfb-num-44 { width: 44px; height: 44px; min-width: 44px; font-size: 20px; }

/* ---------- Lists ---------- */

.dfb-content ul,
.dfb-content ol {
	padding-left: 24px;
}

.dfb-content .dfb-list-20 { padding-left: 20px; }

.dfb-content .dfb-list-plain {
	list-style: none;
	padding-left: 0;
}

.dfb-li-4 > li { margin-bottom: 4px; }
.dfb-li-8 > li { margin-bottom: 8px; }
.dfb-li-12 > li { margin-bottom: 12px; }
.dfb-li-pad > li { padding-left: 4px; }

/* Icon list (Elementor icon-list widget): green tick, 12px between items and between icon and text. */
.dfb-content .dfb-icon-list {
	list-style: none;
	padding-left: 0;
}

.dfb-icon-list > li {
	position: relative;
	display: flex;
	align-items: flex-start;
	padding-bottom: 6px;
	margin-top: 6px;
}

.dfb-icon-list > li:first-child { margin-top: 0; }
.dfb-icon-list > li:last-child { padding-bottom: 0; }
.dfb-icon-list-16 > li { padding-bottom: 8px; margin-top: 8px; }

/* Live: a 14px icon at the top of the item in a 29.5px box, then the text with 5px start padding. */
.dfb-icon-list > li::before {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	margin-right: 20.5px;
	background-color: var(--wp--preset--color--green);
	-webkit-mask: url(../icons/check.svg) center / contain no-repeat;
	mask: url(../icons/check.svg) center / contain no-repeat;
}

/* ---------- Tables (live: figure > div[role=region] > table with a top caption) ---------- */

.dfb-table {
	display: flex;
	flex-direction: column;
	overflow-x: auto;
	border: 1px solid var(--wp--preset--color--text-light);
	border-radius: var(--wp--custom--radius--base);
}

.dfb-table table,
.dfb-table figcaption {
	min-width: 560px;
}

.dfb-table-520 table,
.dfb-table-520 figcaption {
	min-width: 520px;
}

/* Cell borders as live (Astra's table rules: table-border on the right and bottom of each cell, top and left of the table). */
.dfb-table table {
	width: 100%;
	margin: 0;
	border: solid var(--wp--custom--color--table-border);
	border-width: 1px 0 0 1px;
	border-collapse: collapse;
	text-align: left;
	font-size: var(--wp--preset--font-size--body);
	line-height: calc(var(--wp--custom--line-height--body) * 1em);
	color: var(--wp--preset--color--body-text);
}

.dfb-content .dfb-table figcaption {
	box-sizing: border-box; /* As wide as the table, padding included (live's <caption>). */
	order: -1;
	margin: 0;
	padding: 12px 16px;
	background-color: var(--wp--preset--color--gray);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	line-height: calc(var(--wp--custom--line-height--body) * 1em);
	text-align: left;
	color: var(--wp--preset--color--dark);
}

.dfb-table th,
.dfb-table td {
	padding: 12px 16px;
	border: solid var(--wp--custom--color--table-border);
	border-width: 0 1px 1px 0;
	vertical-align: top;
	text-align: left;
}

.dfb-table thead th {
	vertical-align: middle; /* Only body cells are top-aligned on live. */
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--light);
	font-weight: 700;
}

.dfb-table tbody th,
.dfb-table tbody td {
	border-top-width: 1px;
	border-top-color: color-mix(in srgb, var(--wp--preset--color--text-light) 40%, transparent);
}

.dfb-table tbody th,
.dfb-table-bold-1 tbody td:nth-child(1),
.dfb-table-bold-2 tbody td:nth-child(2) {
	font-weight: 700;
	color: var(--wp--preset--color--dark);
}

.dfb-table tbody tr { background-color: var(--wp--preset--color--light); }
.dfb-table tbody tr:nth-child(even) { background-color: color-mix(in srgb, var(--wp--preset--color--gray) 60%, transparent); }

.dfb-table-note {
	margin-top: 8px !important; /* Live's figcaption margin; the content reset sets 0. */
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 500;
	line-height: calc(var(--wp--preset--font-size--body) * var(--wp--custom--line-height--body)); /* Inherited from 14px text on live. */
	color: var(--wp--preset--color--body-text);
}

/* ---------- FAQ (Elementor accordion): core/details ---------- */

.dfb-faq > .wp-block-details {
	border: 1px solid var(--wp--preset--color--text-light);
}

/* Live paints the question and the answer white, not the item. */
.dfb-faq summary,
.dfb-faq details > :not(summary) {
	background-color: var(--wp--preset--color--light);
}

.dfb-faq > .wp-block-details + .wp-block-details {
	border-top: 0;
}

.dfb-faq summary {
	display: flex;
	align-items: center;
	padding: 16px 20px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--h-6);
	font-weight: 700;
	line-height: calc(var(--wp--custom--line-height--h-6) * 1em);
	color: var(--wp--preset--color--dark);
	cursor: pointer;
	list-style: none;
}

.dfb-faq summary::-webkit-details-marker {
	display: none;
}

.dfb-faq summary::after {
	content: "";
	flex: none;
	order: 2;
	width: 16.8px; /* Live's icon box: 1.2em of 14px, the 14px icon on its right. */
	height: 14px;
	margin-left: 16px;
	background-color: var(--wp--preset--color--primary);
	-webkit-mask: url(../icons/faq-plus.svg) right center / 14px 14px no-repeat;
	mask: url(../icons/faq-plus.svg) right center / 14px 14px no-repeat;
}

.dfb-faq details[open] > summary::after {
	-webkit-mask-image: url(../icons/faq-times.svg);
	mask-image: url(../icons/faq-times.svg);
}

.dfb-faq details > :not(summary) {
	padding: 0 20px 16px;
	font-size: var(--wp--preset--font-size--body-large);
	line-height: calc(var(--wp--custom--line-height--body) * 1em);
	color: var(--wp--preset--color--body-text);
}

@media (max-width: 1024px) {
	.dfb-faq summary { font-size: var(--wp--custom--font-size-step--h-6--tablet); }
}

/* ---------- Buttons (Elementor button widget) ---------- */

.dfb-content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	padding: 14px 20px;
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--base);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s;
}

.dfb-btn-wide .wp-block-button__link { padding: 14px 32px; }

.dfb-btn-outline-secondary .wp-block-button__link {
	border-color: var(--wp--preset--color--secondary);
	background-color: rgb(from var(--wp--preset--color--light) r g b / 0);
	color: var(--wp--preset--color--secondary);
}

.dfb-btn-outline-secondary .wp-block-button__link:hover,
.dfb-btn-outline-secondary .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--light);
}

.dfb-btn-outline-light .wp-block-button__link {
	border-color: var(--wp--preset--color--light);
	background-color: rgb(from var(--wp--preset--color--light) r g b / 0);
	color: var(--wp--preset--color--light);
}

.dfb-btn-outline-light .wp-block-button__link:hover,
.dfb-btn-outline-light .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--light);
	color: var(--wp--preset--color--secondary);
}

.dfb-btn-solid-primary .wp-block-button__link {
	border-color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--light);
}

/* ---------- Images ---------- */

.dfb-img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--wp--custom--radius--base);
}

.dfb-img-shadow img {
	box-shadow: var(--wp--custom--shadow--image);
}

/* Elementor stretches the children of a column container; core's vertical flex aligns them to the start. */
.dfb-c.is-vertical:not([class*="is-content-justification-"]),
.dfb-inner.is-vertical:not([class*="is-content-justification-"]) {
	align-items: stretch;
}

/* Elementor containers are 100% wide (then shrink in a row) and may shrink below their content (min-width: 0). */
.dfb-c,
.dfb-inner {
	width: 100%;
	min-width: 0;
}

.dfb-muted-light {
	color: var(--wp--custom--color--muted-light);
}

/* Core's table style draws a 3px line under the header row; live has none. */
.dfb-table thead {
	border-bottom: 0;
}

/* Elementor lets every horizontal container wrap on phones. */
@media (max-width: 767px) {
	.dfb-c.is-horizontal.is-nowrap {
		flex-wrap: wrap;
	}
}

/* The open answer is separated from its question by a line (Elementor accordion content border). */
.dfb-faq summary + * {
	border-top: 1px solid var(--wp--preset--color--text-light);
}

/* A heading in a kit text style without its own line height takes Astra's heading line height on live (h3: 1.3em). */
.dfb-content h3.dfb-t-link,
.dfb-content h3.dfb-t-link-small,
.dfb-content h3.dfb-t-link-large {
	line-height: 1.3em;
}

/* Computed breadcrumb (dfb/breadcrumb): separators and current page as live's spans. */
.dfb-crumb-sep { color: var(--wp--preset--color--text-light); }
.dfb-crumb-current { color: var(--wp--preset--color--body-text); }

.dfb-block-notice {
	padding: 8px 12px;
	border: 1px dashed var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--body-small);
}

.dfb-breadcrumb-on-dark a { color: var(--wp--preset--color--tertiary); }
.dfb-breadcrumb-on-dark .dfb-crumb-current { color: color-mix(in srgb, var(--wp--preset--color--light) 80%, transparent); }

/* ---------- Search results (live: Astra's archive look, without author and with the site's colours) ---------- */

.dfb-search {
	padding: 56px 20px 0;
	background-color: var(--wp--preset--color--gray);
}

.dfb-search-head,
.dfb-search-results {
	max-width: 1200px;
	margin: 0 auto;
}

.dfb-search-head {
	padding: 42px;
	background-color: var(--wp--preset--color--light);
	text-align: center;
}

.dfb-search-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--dark);
}

.dfb-search-crumb { margin-top: 11px; }
.dfb-search-crumb a { font-weight: 700; color: var(--wp--preset--color--primary); }

.dfb-search-results { padding: 28px 0 56px; }
.dfb-search-results .wp-block-post-template { gap: 28px; }

.dfb-search-card {
	height: 100%;
	padding: 21px;
	background-color: var(--wp--preset--color--light);
	box-shadow: 0 6px 15px -2px color-mix(in srgb, var(--wp--preset--color--dark) 5%, transparent);
}

.dfb-search-card-title {
	margin: 0 0 12px;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.4;
}

.dfb-search-card-title a {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.dfb-search-card-date {
	margin-bottom: 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--secondary);
}

.dfb-search-card-excerpt p { margin: 0; }

.dfb-search-none {
	padding: 42px;
	background-color: var(--wp--preset--color--light);
	text-align: center;
}

.dfb-search-form {
	max-width: 370px;
	margin: 25px auto 0;
}

@media (max-width: 1024px) {
	.dfb-search-results .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.dfb-search-results .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
}

/* A heading whose whole text is a link (card titles): the link keeps the heading's colour and font, as live. */
.dfb-content a.dfb-link-inherit {
	color: inherit;
	font-family: inherit;
}

/* ---------- Contact form (Fluent Forms, owner D5): the site's fonts, colours and button ---------- */

.dfb-contact .fluentform .ff-el-input--label label {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	color: var(--wp--preset--color--dark);
}

.dfb-contact .fluentform .ff-el-form-control {
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--text-light);
	border-radius: var(--wp--custom--radius--base);
	background-color: var(--wp--preset--color--light);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body);
	color: var(--wp--preset--color--dark);
}

.dfb-contact .fluentform .ff-el-form-control:focus {
	border-color: var(--wp--preset--color--secondary);
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 1px;
}

.dfb-contact .fluentform .ff-btn-submit {
	padding: 14px 32px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius--base);
	background-color: var(--wp--preset--color--primary) !important; /* Fluent Forms sets its own button colour inline. */
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	line-height: 1.2;
	color: var(--wp--preset--color--light) !important;
}
