/* Quality & Compliance page (build/quality.py). Prefix: bw-qc- */

/* Hero: body copy breaks where the design does; download icon is gold. */
.bw-qc-hero .e-con > .bw-hero__body.elementor-widget { max-width: 510px; }
.bw-qc-dl .elementor-button-icon { color: var(--bw-gold); fill: var(--bw-gold); }
.bw-qc-dl .elementor-button-icon svg { fill: var(--bw-gold); }
.bw-qc-dl .elementor-button:hover .elementor-button-icon { transform: translateY(2px); }

.bw-qc-measure { max-width: 340px; }
.bw-qc-measure-sm { max-width: 310px; }

/* Icon discs: hold their size inside flex rows. */
.e-con.bw-qc-disc { flex: 0 0 auto !important; aspect-ratio: 1; min-height: 0; }
.e-con.bw-qc-disc .elementor-widget-image { width: auto; }

/* Hairline dividers between side-by-side items. */
.bw-qc-divided > .e-con + .e-con,
.bw-qc-divided > .e-con-inner > .e-con + .e-con { border-left: 1px solid var(--bw-hairline); }
.bw-qc-pillars > .e-con { padding-top: 0; }
.bw-qc-pillars > .e-con + .e-con { border-left-color: var(--bw-hairline); }

/* Framework cards: soft shadow, equal heights. */
.bw-qc-card { box-shadow: 0 2px 10px rgba(11, 31, 79, .04); }

/* Checklists sit tight; the icon centres on the first line. */
.bw-qc-checks .elementor-icon-list-item { align-items: center; }

/* Policies: columns split by faint rules, gold arrow after each link. */
.bw-qc-doccol + .bw-qc-doccol, .bw-qc-doccol:first-child { border-left: 1px solid rgba(255, 255, 255, .22); }
.bw-qc-docs .elementor-icon-list-text::after {
	content: ""; display: inline-block; width: 14px; height: 12px; margin-left: 14px; vertical-align: -1px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23D38A12' d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform .2s ease;
}
.bw-qc-docs a:hover .elementor-icon-list-text::after { transform: translateX(3px); }
.bw-qc-docs a:focus-visible { outline: 2px solid var(--bw-gold); outline-offset: 3px; }

/* Our Commitment to Individuals: rule between the lead and the lists. */
.bw-qc-ind__lists { border-left: 1px solid var(--bw-hairline); }

/* CTA banner: slimmer than the shared default, as the design draws it. */
.bw-qc-cta .e-con.bw-cta__icon { flex: 0 0 92px !important; width: 92px; height: 92px; }

/* Only from 1280: below that the columns are narrower than these strings. */
@media (min-width: 1280px) {
	.bw-qc-docs .elementor-icon-list-text, .bw-qc-checks .elementor-icon-list-text { white-space: nowrap; }
}
@media (max-width: 1024px) {
	.bw-qc-divided > .e-con + .e-con,
	.bw-qc-divided > .e-con-inner > .e-con + .e-con { border-left: 0; }
	.bw-qc-doccol + .bw-qc-doccol, .bw-qc-doccol:first-child { border-left: 0; }
	.bw-qc-ind__lists { border-left: 0; }
	.bw-qc-measure, .bw-qc-measure-sm { max-width: none; }
	.bw-qc-badge { display: none; }
	/* Policy links: real tap targets, laid out as an even grid (3-up at 1024,
	   2-up at 768, 1-up on phones) rather than three ragged stacked lists. */
	.e-con.bw-qc-docgrid {
		display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 0 16px;
	}
	.bw-qc-docgrid > .e-con.bw-qc-doccol, .bw-qc-docgrid .bw-qc-docs,
	.bw-qc-docgrid .bw-qc-docs .elementor-icon-list-items { display: contents; }
	.bw-qc-docs .elementor-icon-list-items .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
	.bw-qc-docs .elementor-icon-list-item > a { min-height: 44px; }
}
@media (max-width: 767px) {
	.bw-qc-hero .e-con > .bw-hero__body.elementor-widget { max-width: none; }
	/* The design's hand-set line breaks only make sense at desktop measure. */
	.bw-page-quality-compliance .elementor-widget-text-editor br,
	.bw-qc-hero .bw-hero__sub br, .bw-qc-cta .elementor-heading-title br { display: none; }
}
