/*
 * BRIX Conteúdo & Design
 * Interface editorial B2B: clássica, acessível e deliberadamente discreta.
 */

body.brix-site-system {
	--brix-green: #1d513e;
	--brix-green-deep: #153c2e;
	--brix-green-soft: #eaf1ed;
	--brix-paper: #f7f7f3;
	--brix-cream: #f2f1eb;
	--brix-white: #fff;
	--brix-ink: #151714;
	--brix-muted: #5e625d;
	--brix-line: #dde1dc;
	--brix-serif: "Fraunces", "Bodoni Moda", Didot, Georgia, serif;
	--brix-sans: "Plus Jakarta Sans", "Segoe UI", sans-serif;
	--brix-shell: 1200px;
	--brix-radius: 8px;
	color: var(--brix-ink);
	font-family: var(--brix-sans);
}

body.brix-site-system * {
	box-sizing: border-box;
}

body.brix-site-system :where(.brix-community-page, .brix-library-page, .brix-story-single, .brix-technical-single) :where(h1, h2, h3, p, figure, ul, ol, dl) {
	margin-block: 0;
}

body.brix-site-system :where(.brix-community-page, .brix-library-page, .brix-story-single, .brix-technical-single) :where(a) {
	color: inherit;
	text-decoration: none;
}

.brix-site-shell {
	width: min(var(--brix-shell), calc(100% - 96px));
	margin-inline: auto;
}

.brix-reading-shell {
	width: min(760px, calc(100% - 48px));
	margin-inline: auto;
}

.brix-eyebrow,
.brix-story-meta {
	color: var(--brix-green);
	font-family: var(--brix-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.brix-ui-button,
.brix-ui-link,
.brix-text-link {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-family: var(--brix-sans);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

.brix-ui-button {
	padding: 13px 20px;
	border: 1px solid var(--brix-green);
	border-radius: 8px;
	background: var(--brix-green);
	color: var(--brix-white) !important;
	transition: background-color 180ms ease-out, color 180ms ease-out, border-color 180ms ease-out, transform 180ms ease-out;
}

.brix-ui-button:hover,
.brix-ui-button:focus-visible {
	border-color: var(--brix-ink);
	background: var(--brix-white);
	color: var(--brix-green) !important;
	transform: translateY(-1px);
}

.brix-ui-button > span,
.brix-text-link > span {
	transition: transform 180ms ease-out;
}

.brix-ui-button:hover > span,
.brix-ui-button:focus-visible > span,
.brix-text-link:hover > span,
.brix-text-link:focus-visible > span {
	transform: translateX(3px);
}

.brix-ui-button--light {
	border-color: var(--brix-white);
	background: var(--brix-white);
	color: var(--brix-green) !important;
}

.brix-ui-button--light:hover,
.brix-ui-button--light:focus-visible {
	border-color: var(--brix-white);
	background: transparent;
	color: var(--brix-white) !important;
}

.brix-ui-link,
.brix-text-link {
	min-height: 38px;
	justify-content: flex-start;
	color: var(--brix-green) !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.brix-ui-link:hover,
.brix-ui-link:focus-visible,
.brix-text-link:hover,
.brix-text-link:focus-visible {
	text-decoration: underline;
}

.brix-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	color: var(--brix-muted);
	font-size: 12px;
}

.brix-breadcrumb a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 4px;
}

.brix-breadcrumb a:hover,
.brix-breadcrumb a:focus-visible {
	text-decoration-color: currentColor;
}

/* Search shared by the editorial areas. */
.brix-search-form {
	width: min(100%, 470px);
}

.brix-search-form > label,
.brix-library-filters label,
.brix-library-results__head form > label {
	display: block;
	margin-bottom: 9px;
	color: var(--brix-ink);
	font-size: 12px;
	font-weight: 700;
}

.brix-search-control {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	border-bottom: 1px solid #9ca9a1;
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
}

.brix-search-control:focus-within {
	border-color: var(--brix-green);
	box-shadow: 0 2px 0 var(--brix-green);
}

.brix-search-control input {
	width: 100%;
	min-height: 52px;
	padding: 13px 10px 13px 0;
	border: 0;
	background: transparent;
	color: var(--brix-ink);
	font: 14px/1.4 var(--brix-sans);
}

.brix-search-control input::placeholder {
	color: #747b76;
}

.brix-search-control input:focus {
	outline: 0 !important;
}

.brix-search-control button {
	min-width: 76px;
	min-height: 44px;
	padding: 10px 0 10px 14px;
	border: 0;
	background: transparent;
	color: var(--brix-green);
	font: 700 12px/1.2 var(--brix-sans);
	cursor: pointer;
}

/* Community: an editorial archive, not a repeated landing-page hero. */
.brix-community-page {
	background: var(--brix-white);
}

.brix-preview-notice {
	padding: 12px 24px;
	border-bottom: 1px solid #e3c670;
	background: #fff8dc;
	color: #51440f;
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
}

.brix-community-masthead {
	padding-block: 70px 54px;
	border-bottom: 1px solid var(--brix-line);
	background: var(--brix-white);
}

.brix-community-masthead__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, .72fr);
	align-items: end;
	gap: clamp(56px, 8vw, 120px);
}

.brix-community-masthead h1,
.brix-library-top h1,
.brix-story-single h1,
.brix-technical-single h1 {
	color: var(--brix-ink);
	font-family: var(--brix-serif);
	font-optical-sizing: auto;
	font-variation-settings: "opsz" 120, "wght" 300;
	font-weight: 300;
	letter-spacing: -.045em;
}

.brix-community-masthead h1 {
	margin-top: 12px !important;
	font-size: clamp(56px, 6vw, 84px);
	line-height: .96;
}

.brix-community-masthead h1 + p {
	max-width: 620px;
	margin-top: 20px !important;
	color: var(--brix-muted);
	font-size: 15px;
	line-height: 1.7;
}

.brix-community-nav {
	border-bottom: 1px solid var(--brix-line);
	background: var(--brix-white);
}

.brix-community-nav .brix-site-shell {
	display: flex;
	overflow-x: auto;
	gap: 30px;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.brix-community-nav .brix-site-shell::-webkit-scrollbar {
	display: none;
}

.brix-community-nav a {
	position: relative;
	display: flex;
	min-height: 54px;
	flex: 0 0 auto;
	align-items: center;
	color: var(--brix-muted);
	font-size: 12px;
	font-weight: 600;
}

.brix-community-nav a::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: var(--brix-green);
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease-out;
}

.brix-community-nav a:hover,
.brix-community-nav a:focus-visible,
.brix-community-nav a.is-active {
	color: var(--brix-green);
}

.brix-community-nav a:hover::after,
.brix-community-nav a:focus-visible::after,
.brix-community-nav a.is-active::after {
	transform: scaleX(1);
}

.brix-community-content {
	padding-block: 72px 112px;
}

.brix-community-feature,
.brix-demo-feature {
	display: grid;
	grid-template-columns: minmax(0, 1.42fr) minmax(330px, .72fr);
	align-items: stretch;
	gap: clamp(40px, 5vw, 78px);
	padding-bottom: 76px;
	border-bottom: 1px solid var(--brix-line);
}

.brix-community-feature__media,
.brix-demo-feature figure {
	display: block;
	min-height: 380px;
	overflow: hidden;
	background: var(--brix-green-soft);
}

.brix-community-feature__media img,
.brix-demo-feature img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 300ms ease-out;
}

.brix-community-feature__media:hover img,
.brix-community-feature__media:focus-visible img {
	transform: scale(1.018);
}

.brix-community-feature__copy,
.brix-demo-feature > div {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
}

.brix-community-feature h2,
.brix-demo-feature h2,
.brix-archive-heading h2,
.brix-demo-video h2,
.brix-demo-photo-note h2,
.brix-community-invite h2 {
	font-family: var(--brix-serif);
	font-variation-settings: "opsz" 100, "wght" 300;
	font-weight: 300;
	letter-spacing: -.035em;
}

.brix-community-feature h2,
.brix-demo-feature h2 {
	margin-top: 16px !important;
	font-size: clamp(38px, 4vw, 58px);
	line-height: 1.02;
}

.brix-community-feature h2 + p,
.brix-demo-feature h2 + p {
	margin-top: 22px !important;
	color: var(--brix-muted);
	font-size: 14px;
	line-height: 1.75;
}

.brix-community-feature .brix-text-link {
	margin-top: 24px;
}

.brix-story-archive {
	padding-top: 72px;
}

.brix-archive-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 18px;
}

.brix-archive-heading h2 {
	margin-top: 9px !important;
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.05;
}

.brix-archive-heading > p {
	color: var(--brix-muted);
	font-size: 12px;
}

.brix-story-list {
	border-top: 1px solid var(--brix-line);
}

.brix-story-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: center;
	gap: clamp(32px, 5vw, 72px);
	padding-block: 38px;
	border-bottom: 1px solid var(--brix-line);
}

.brix-story-row h3 {
	margin-top: 12px !important;
	font-family: var(--brix-serif);
	font-size: clamp(29px, 3.3vw, 42px);
	font-variation-settings: "opsz" 96, "wght" 300;
	font-weight: 300;
	letter-spacing: -.035em;
	line-height: 1.04;
}

.brix-story-row h3 a,
.brix-community-feature h2 a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
	transition: color 160ms ease-out, text-decoration-color 160ms ease-out;
}

.brix-story-row h3 a:hover,
.brix-story-row h3 a:focus-visible,
.brix-community-feature h2 a:hover,
.brix-community-feature h2 a:focus-visible {
	color: var(--brix-green);
	text-decoration-color: currentColor;
}

.brix-story-row__copy > p:not(.brix-story-meta) {
	max-width: 680px;
	margin-top: 14px !important;
	color: var(--brix-muted);
	font-size: 14px;
	line-height: 1.65;
}

.brix-story-row .brix-text-link {
	margin-top: 14px;
}

.brix-story-row__media {
	display: block;
	overflow: hidden;
	background: var(--brix-green-soft);
}

.brix-story-row__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.brix-community-invite {
	padding-block: 58px;
	background: var(--brix-green);
	color: var(--brix-white);
}

.brix-community-invite .brix-site-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

.brix-community-invite .brix-eyebrow {
	color: #b8d1c7;
}

.brix-community-invite h2 {
	max-width: 760px;
	margin-top: 9px !important;
	color: var(--brix-white);
	font-size: clamp(31px, 4vw, 46px);
	line-height: 1.05;
}

/* Community admin-only demonstration. */
.brix-demo-feature figure {
	margin: 0;
}

.brix-demo-feature figcaption,
.brix-video-frame > p,
.brix-demo-photo-note small {
	display: block;
	padding-top: 8px;
	color: var(--brix-muted);
	font-size: 10px;
	line-height: 1.5;
}

.brix-demo-feature figure img {
	height: calc(100% - 28px);
}

.brix-demo-badge {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
	margin-top: 22px;
	padding: 7px 10px;
	border: 1px solid #d4b957;
	border-radius: 999px;
	background: #fff8dc;
	color: #51440f;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.brix-demo-editorial-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	padding-block: 64px;
}

.brix-demo-editorial-grid article {
	min-height: 220px;
	padding: 26px;
	border: 1px solid var(--brix-line);
	background: var(--brix-white);
}

.brix-demo-editorial-grid h3,
.brix-library-demo-guide h3 {
	margin-top: 58px !important;
	font-family: var(--brix-serif);
	font-size: 29px;
	font-variation-settings: "opsz" 90, "wght" 300;
	font-weight: 300;
	line-height: 1.05;
}

.brix-demo-editorial-grid h3 + p,
.brix-library-demo-guide h3 + p {
	margin-top: 12px !important;
	color: var(--brix-muted);
	font-size: 13px;
	line-height: 1.6;
}

.brix-demo-video,
.brix-demo-photo-note {
	display: grid;
	grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
	align-items: center;
	gap: clamp(48px, 7vw, 96px);
	padding-block: 72px;
	border-top: 1px solid var(--brix-line);
}

.brix-demo-video h2,
.brix-demo-photo-note h2 {
	margin-top: 13px !important;
	font-size: clamp(34px, 4vw, 49px);
	line-height: 1.04;
}

.brix-demo-video h2 + p,
.brix-demo-photo-note h2 + p {
	margin-top: 20px !important;
	color: var(--brix-muted);
	font-size: 14px;
	line-height: 1.7;
}

.brix-video-frame {
	min-width: 0;
}

.brix-video-frame iframe,
.brix-rich-content iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
}

.brix-demo-photo-note > img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* Community editorial cover: compact nameplate, real content hierarchy and quiet media states. */
.brix-community-nameplate {
	padding-block: 42px 38px;
	border-bottom: 1px solid var(--brix-line);
	background: var(--brix-white);
}

.brix-community-nameplate__line {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--brix-green);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.brix-community-nameplate__line span + span {
	padding-left: 12px;
	border-left: 1px solid #aebdb5;
}

.brix-community-nameplate__copy {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(340px, 1fr);
	align-items: end;
	gap: clamp(46px, 8vw, 120px);
	margin-top: 24px;
}

.brix-community-nameplate h1 {
	color: var(--brix-ink);
	font-family: var(--brix-serif);
	font-size: clamp(52px, 5.8vw, 70px);
	font-optical-sizing: auto;
	font-variation-settings: "opsz" 120, "wght" 300;
	font-weight: 300;
	letter-spacing: -.045em;
	line-height: .96;
	text-wrap: balance;
}

.brix-community-nameplate__copy > p {
	max-width: 620px;
	color: var(--brix-muted);
	font-size: 15px;
	line-height: 1.7;
	text-wrap: pretty;
}

.brix-community-toolbar {
	border-bottom: 1px solid var(--brix-line);
	background: var(--brix-white);
}

.brix-community-toolbar__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 410px);
	align-items: center;
	gap: 42px;
}

.brix-community-toolbar .brix-community-nav {
	display: flex;
	min-width: 0;
	overflow-x: auto;
	gap: 28px;
	border: 0;
	background: transparent;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.brix-community-toolbar .brix-community-nav::-webkit-scrollbar {
	display: none;
}

.brix-community-toolbar .brix-community-nav a {
	min-height: 64px;
}

.brix-community-search {
	width: 100%;
}

.brix-community-search .brix-search-control input {
	min-height: 48px;
	font-size: 16px;
}

.brix-community-active-filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-block: 14px;
	border-top: 1px solid var(--brix-line);
	color: var(--brix-muted);
	font-size: 12px;
}

.brix-community-active-filters p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.brix-community-active-filters p span {
	padding: 5px 9px;
	border: 1px solid #cad6cf;
	border-radius: 999px;
	background: var(--brix-green-soft);
	color: var(--brix-green-deep);
}

.brix-community-active-filters a {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	gap: 6px;
	color: var(--brix-green) !important;
	font-weight: 700;
}

.brix-community-content {
	padding-block: 64px 104px;
}

.brix-community-feature {
	grid-template-columns: minmax(0, 1.38fr) minmax(320px, .72fr);
	gap: clamp(42px, 6vw, 82px);
	padding-bottom: 66px;
}

.brix-community-feature.no-media {
	grid-template-columns: minmax(0, 760px);
}

.brix-community-feature__media,
.brix-community-card__media,
.brix-story-row__media {
	background: var(--brix-green-soft);
}

.brix-community-feature__media {
	min-height: 360px;
	aspect-ratio: 16 / 10;
}

.brix-community-feature__media img,
.brix-community-card__media img,
.brix-story-row__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.brix-story-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px 0;
}

.brix-story-meta > :where(span, time) {
	display: inline-flex;
	align-items: center;
}

.brix-story-meta > :where(span, time) + :where(span, time) {
	margin-left: 9px;
	padding-left: 9px;
	border-left: 1px solid #aebdb5;
}

.brix-community-feature h2,
.brix-community-card h3,
.brix-story-row h3,
.brix-community-related h2 {
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.brix-community-feature h2 + p,
.brix-community-card__copy > p:not(.brix-story-meta),
.brix-story-row__copy > p:not(.brix-story-meta) {
	text-wrap: pretty;
}

.brix-community-feature h2 + p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.brix-community-secondary {
	padding-top: 64px;
}

.brix-community-secondary__grid,
.brix-community-related__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 52px);
}

.brix-community-secondary__grid--1 {
	grid-template-columns: minmax(0, 560px);
}

.brix-community-card {
	min-width: 0;
	padding-top: 18px;
	border-top: 2px solid var(--brix-green);
}

.brix-community-card__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.brix-community-card__copy {
	padding-top: 24px;
}

.brix-community-card h3 {
	margin-top: 14px !important;
	font-family: var(--brix-serif);
	font-size: clamp(31px, 3vw, 42px);
	font-variation-settings: "opsz" 96, "wght" 300;
	font-weight: 300;
	letter-spacing: -.035em;
	line-height: 1.04;
}

.brix-community-card h3 a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
	transition: color 160ms ease-out, text-decoration-color 160ms ease-out;
}

.brix-community-card h3 a:hover,
.brix-community-card h3 a:focus-visible {
	color: var(--brix-green);
	text-decoration-color: currentColor;
}

.brix-community-card__copy > p:not(.brix-story-meta) {
	display: -webkit-box;
	overflow: hidden;
	margin-top: 14px !important;
	color: var(--brix-muted);
	font-size: 14px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.brix-community-card .brix-text-link {
	margin-top: 16px;
}

.brix-story-archive {
	padding-top: 72px;
}

.brix-story-row {
	min-width: 0;
}

.brix-story-row.no-media {
	grid-template-columns: 1fr;
}

.brix-story-row__copy {
	min-width: 0;
}

.brix-story-row__copy > p:not(.brix-story-meta) {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.brix-story-row__media {
	aspect-ratio: 16 / 10;
}

.brix-community-empty {
	display: grid;
	grid-template-columns: minmax(130px, .28fr) minmax(0, 1fr);
	gap: clamp(24px, 5vw, 68px);
	padding: clamp(30px, 5vw, 58px);
	border-radius: 0;
	border-inline: 0;
	background: var(--brix-paper);
}

.brix-community-empty > .brix-eyebrow {
	padding-top: 8px;
}

.brix-demo-editorial-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.brix-demo-editorial-grid article {
	display: flex;
	min-height: 280px;
	justify-content: flex-end;
	flex-direction: column;
	padding: 30px;
	border-top: 3px solid var(--brix-green);
}

.brix-demo-editorial-grid h3 {
	margin-top: 22px !important;
	text-wrap: balance;
}

.brix-demo-editorial-grid .brix-demo-badge {
	align-self: flex-start;
}

.brix-community-invite .dashicons,
.brix-community-card .dashicons,
.brix-community-feature .dashicons,
.brix-story-row .dashicons,
.brix-community-empty .dashicons,
.brix-single-back .dashicons {
	width: 16px;
	height: 16px;
	font-size: 16px;
	line-height: 16px;
}

/* Technical library: compact documentation interface. */
.brix-library-page {
	background: var(--brix-white);
}

.brix-library-top {
	padding-block: 28px 0;
	border-bottom: 1px solid #d6e0da;
	background: var(--brix-green-soft);
}

.brix-library-top__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 470px);
	align-items: end;
	gap: clamp(48px, 7vw, 96px);
	margin-top: 28px;
}

.brix-library-top h1 {
	margin-top: 10px !important;
	font-size: clamp(42px, 4.4vw, 58px);
	line-height: 1;
	text-wrap: balance;
}

.brix-library-top h1 + p {
	max-width: 610px;
	margin-top: 16px !important;
	color: #4d5952;
	font-size: 15px;
	line-height: 1.65;
	text-wrap: pretty;
}

.brix-format-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 32px;
	overflow-x: auto;
	scrollbar-width: thin;
}

.brix-format-nav a {
	display: inline-flex;
	min-width: max-content;
	min-height: 46px;
	align-items: center;
	padding: 0 14px;
	border-bottom: 2px solid transparent;
	color: #465249;
	font-size: 12px;
	font-weight: 700;
	transition: border-color 160ms ease-out, color 160ms ease-out;
}

.brix-format-nav a:hover,
.brix-format-nav a:focus-visible,
.brix-format-nav a[aria-current="page"] {
	border-bottom-color: var(--brix-green);
	color: var(--brix-green);
}

.brix-library-main {
	padding-block: 52px 106px;
}

.brix-library-layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	align-items: start;
	gap: clamp(44px, 5vw, 72px);
}

.brix-library-filters {
	position: sticky;
	top: 110px;
}

.brix-library-filters details {
	border-top: 3px solid var(--brix-green);
	border-bottom: 1px solid var(--brix-line);
}

.brix-library-filters summary {
	display: flex;
	min-height: 50px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-block: 14px;
	color: var(--brix-ink);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.brix-filter-count {
	display: inline-grid;
	min-width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 999px;
	background: var(--brix-green);
	color: var(--brix-white);
	font-size: 10px;
}

.brix-library-filters form {
	display: grid;
	gap: 0;
	padding-bottom: 24px;
}

.brix-library-filters label:not(:first-of-type) {
	margin-top: 19px;
}

.brix-library-filters select,
.brix-library-results__head select {
	width: 100%;
	min-height: 46px;
	padding: 10px 36px 10px 12px;
	border: 1px solid #b9c1bc;
	border-radius: 4px;
	background-color: var(--brix-white);
	color: var(--brix-ink);
	font: 13px/1.3 var(--brix-sans);
}

.brix-library-filters .brix-ui-button {
	width: 100%;
	margin-top: 25px;
}

.brix-library-filters .brix-ui-link {
	margin-top: 9px;
	justify-content: center;
}

.brix-library-results__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--brix-line);
}

.brix-library-results__head h2 {
	font-family: var(--brix-serif);
	font-size: clamp(32px, 3.4vw, 43px);
	font-variation-settings: "opsz" 96, "wght" 300;
	font-weight: 300;
	letter-spacing: -.035em;
	line-height: 1.05;
}

.brix-library-results__head h2 + p {
	margin-top: 8px !important;
	color: var(--brix-muted);
	font-size: 12px;
}

.brix-library-results__head form {
	display: grid;
	min-width: 230px;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 8px;
}

.brix-library-results__head form > label {
	grid-column: 1 / -1;
}

.brix-order-submit {
	min-height: 46px;
	padding-inline: 12px;
	border: 1px solid var(--brix-green);
	border-radius: 4px;
	background: var(--brix-green);
	color: var(--brix-white);
	font: 700 11px/1 var(--brix-sans);
	cursor: pointer;
}

.brix-active-filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 18px;
}

.brix-active-filters a {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	gap: 9px;
	padding: 7px 11px;
	border: 1px solid #cbd6d0;
	border-radius: 4px;
	background: var(--brix-white);
	color: #36443c;
	font-size: 11px;
	font-weight: 600;
	transition: border-color 160ms ease-out, color 160ms ease-out;
}

.brix-active-filters a:hover,
.brix-active-filters a:focus-visible {
	border-color: var(--brix-green);
	color: var(--brix-green);
}

.brix-active-filters .brix-active-filters__clear {
	border-color: transparent;
	color: var(--brix-green);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.brix-material-list {
	display: block;
	padding-top: 24px;
	border-top: 1px solid transparent;
}

.brix-material-card {
	display: grid;
	min-height: 132px;
	grid-template-columns: 86px minmax(0, 1fr) auto;
	align-items: center;
	gap: 26px;
	padding: 24px 6px;
	border: 0;
	border-bottom: 1px solid var(--brix-line);
	border-radius: 0;
	background: var(--brix-white);
	transition: background-color 180ms ease-out, border-color 180ms ease-out;
}

.brix-material-card:hover,
.brix-material-card:focus-within {
	border-color: var(--brix-green);
	background: #fbfcfa;
}

.brix-material-card__format {
	display: grid;
	align-items: center;
	justify-items: start;
	align-self: stretch;
	align-content: space-between;
	gap: 14px;
	padding: 2px 18px 2px 0;
	border-right: 1px solid var(--brix-line);
	color: var(--brix-green);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.brix-material-card__format .dashicons {
	width: 25px;
	height: 25px;
	font-size: 25px;
}

.brix-material-card h3 {
	font-family: var(--brix-sans);
	font-size: clamp(17px, 1.6vw, 20px);
	font-weight: 650;
	letter-spacing: -.015em;
	line-height: 1.28;
	text-wrap: pretty;
}

.brix-material-card h3 a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 5px;
}

.brix-material-card h3 a:hover,
.brix-material-card h3 a:focus-visible {
	color: var(--brix-green);
	text-decoration-color: currentColor;
}

.brix-material-card__body > p {
	display: -webkit-box;
	max-width: 760px;
	margin-top: 8px !important;
	overflow: hidden;
	color: var(--brix-muted);
	font-size: 13px;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.brix-material-card dl {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 16px;
	margin-top: 12px !important;
	color: var(--brix-muted);
	font-size: 10px;
}

.brix-material-card dl div {
	display: flex;
	gap: 5px;
}

.brix-material-card dt {
	font-weight: 700;
}

.brix-material-card dd {
	margin: 0;
}

.brix-material-card__action {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 10px;
	padding-inline: 10px 2px;
	color: var(--brix-green) !important;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.brix-material-card__action span {
	transition: transform 160ms ease-out;
}

.brix-material-card__action:hover,
.brix-material-card__action:focus-visible {
	text-decoration: underline;
	text-underline-offset: 5px;
}

.brix-material-card__action:hover span,
.brix-material-card__action:focus-visible span {
	transform: translateX(3px);
}

.brix-library-demo-guide {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 64px;
	padding-top: 64px;
	border-top: 1px solid var(--brix-line);
}

.brix-library-demo-guide > div {
	padding: 24px;
	background: var(--brix-green-soft);
}

.brix-library-demo-guide .dashicons {
	width: 26px;
	height: 26px;
	color: var(--brix-green);
	font-size: 26px;
}

.brix-library-demo-guide h3 {
	margin-top: 42px !important;
}

/* Empty, loading and pagination states. */
.brix-empty-state,
.brix-shop-empty {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 24px;
	padding: 34px;
	border: 1px solid var(--brix-line);
	border-radius: var(--brix-radius);
	background: var(--brix-paper);
}

.brix-empty-state > .dashicons,
.brix-shop-empty > .dashicons {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border: 1px solid #b8cbc1;
	border-radius: 50%;
	color: var(--brix-green);
	font-size: 20px;
	line-height: 48px;
}

.brix-empty-state h2,
.brix-shop-empty h2 {
	font-family: var(--brix-serif);
	font-size: clamp(28px, 3.5vw, 38px);
	font-variation-settings: "opsz" 90, "wght" 300;
	font-weight: 300;
	letter-spacing: -.03em;
	line-height: 1.05;
}

.brix-empty-state h2 + p,
.brix-shop-empty h2 + p {
	max-width: 700px;
	margin-top: 10px !important;
	color: var(--brix-muted);
	font-size: 13px;
	line-height: 1.65;
}

.brix-empty-state .brix-ui-button,
.brix-shop-empty__actions {
	margin-top: 20px;
}

.brix-shop-empty__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

.brix-pagination {
	margin-top: 44px;
}

.brix-pagination ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	padding: 0;
	list-style: none;
}

.brix-pagination a,
.brix-pagination span {
	display: grid;
	min-width: 42px;
	min-height: 42px;
	place-items: center;
	padding-inline: 10px;
	border: 1px solid var(--brix-line);
	border-radius: 4px;
	font-size: 12px;
}

.brix-pagination a:hover,
.brix-pagination a:focus-visible,
.brix-pagination .current {
	border-color: var(--brix-green);
	background: var(--brix-green);
	color: var(--brix-white);
}

.brix-results-loader {
	display: inline-flex;
	min-height: 36px;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	color: var(--brix-green);
	font-size: 12px;
	font-weight: 700;
}

.brix-results-loader i {
	display: block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	animation: brix-loader 900ms infinite ease-in-out;
}

.brix-results-loader i:nth-child(2) {
	animation-delay: -450ms;
}

@keyframes brix-loader {
	0%, 100% { opacity: .32; transform: scale(.72); }
	50% { opacity: 1; transform: scale(1); }
}

/* Individual editorial and technical entries. */
.brix-story-single,
.brix-technical-single {
	padding-block: 44px 112px;
	background: var(--brix-white);
}

.brix-story-single header,
.brix-technical-single header {
	padding-block: 58px 50px;
}

.brix-story-single h1,
.brix-technical-single h1 {
	margin-top: 15px !important;
	font-size: clamp(50px, 6vw, 78px);
	line-height: .98;
}

.brix-story-deck,
.brix-technical-single header > p:last-child {
	margin-top: 24px !important;
	color: var(--brix-muted);
	font-size: clamp(16px, 1.8vw, 19px);
	line-height: 1.65;
}

.brix-story-single__featured {
	width: min(1000px, calc(100% - 48px));
	margin: 0 auto 58px !important;
}

.brix-story-single__featured img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 700px;
	object-fit: cover;
}

.brix-rich-content {
	color: #2d312d;
	font-size: 16px;
	line-height: 1.85;
}

.brix-rich-content > * + * {
	margin-top: 1.35em !important;
}

.brix-rich-content :where(h2, h3) {
	margin-top: 1.8em !important;
	color: var(--brix-ink);
	font-family: var(--brix-serif);
	font-variation-settings: "opsz" 90, "wght" 300;
	font-weight: 300;
	letter-spacing: -.025em;
	line-height: 1.1;
}

.brix-rich-content h2 { font-size: clamp(32px, 4vw, 44px); }
.brix-rich-content h3 { font-size: clamp(26px, 3vw, 34px); }

.brix-rich-content :where(a:not(.brix-ui-button)) {
	color: var(--brix-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.brix-rich-content :where(img, video) {
	max-width: 100%;
	height: auto;
}

.brix-rich-content blockquote {
	margin-inline: 0;
	padding: 8px 0 8px 28px;
	border-left: 3px solid var(--brix-green);
	color: var(--brix-green-deep);
	font-family: var(--brix-serif);
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.25;
}

.brix-story-video,
.brix-single-back {
	margin-top: 58px;
}

.brix-story-video h2 {
	margin-bottom: 20px !important;
	font-family: var(--brix-serif);
	font-size: 38px;
	font-weight: 300;
}

.brix-technical-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	align-items: start;
	gap: clamp(56px, 7vw, 100px);
}

.brix-document-panel {
	position: sticky;
	top: 112px;
	padding: 26px;
	border-top: 3px solid var(--brix-green);
	background: var(--brix-green-soft);
}

.brix-document-panel h2 {
	font-family: var(--brix-serif);
	font-size: 28px;
	font-variation-settings: "opsz" 90, "wght" 300;
	font-weight: 300;
}

.brix-document-panel > p,
.brix-document-panel > .brix-ui-button {
	width: 100%;
	margin-top: 18px;
}

.brix-document-panel dl {
	margin-top: 28px !important;
	border-top: 1px solid #cbd8d1;
}

.brix-document-panel dl div {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr);
	gap: 10px;
	padding-block: 12px;
	border-bottom: 1px solid #cbd8d1;
	font-size: 11px;
	line-height: 1.4;
}

.brix-document-panel dt {
	font-weight: 700;
}

/* Shared custom footer for the two content systems. */
.brix-system-footer {
	padding-block: 70px 26px;
	background: var(--brix-green-deep);
	color: var(--brix-white);
}

.brix-system-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 64px;
	padding-bottom: 56px;
}

.brix-system-footer__brand {
	display: inline-block;
	color: var(--brix-white) !important;
	font-family: var(--brix-serif);
	font-size: 34px;
	font-weight: 600;
	letter-spacing: -.04em;
}

.brix-system-footer__brand + p {
	max-width: 390px;
	margin-top: 12px !important;
	color: #c6d6cf;
	font-size: 12px;
	line-height: 1.6;
}

.brix-system-footer nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 16px 28px;
}

.brix-system-footer nav a,
.brix-system-footer__bottom {
	color: #d9e4df;
	font-size: 11px;
}

.brix-system-footer nav a,
.brix-system-footer__bottom a {
	color: #d9e4df !important;
}

.brix-system-footer nav a:hover,
.brix-system-footer nav a:focus-visible,
.brix-system-footer__bottom a:hover,
.brix-system-footer__bottom a:focus-visible {
	color: var(--brix-white);
	text-decoration: underline;
	text-underline-offset: 5px;
}

.brix-system-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, .15);
}

/* Home: preserve the approved hero and correct spacing/dynamic blocks. */
body.home .brix-editorial .brix-pillars__list {
	gap: 16px !important;
	border: 0 !important;
}

body.home .brix-editorial .brix-pillar-link {
	border: 1px solid var(--brix-line) !important;
	border-radius: 8px;
	transition: background-color 180ms ease-out, color 180ms ease-out, border-color 180ms ease-out, transform 180ms ease-out !important;
}

body.home .brix-editorial .brix-pillar-link:hover,
body.home .brix-editorial .brix-pillar-link:focus-visible {
	border-color: var(--brix-green) !important;
	transform: translateY(-2px);
}

body.home .brix-editorial .brix-pillar-link__symbol.dashicons,
body.home .brix-editorial .brix-pillar-link__arrow.dashicons,
body.home .brix-editorial .brix-products__feature-symbol.dashicons {
	font-family: dashicons;
	font-weight: 400;
	line-height: 1;
}

body.home .brix-editorial .brix-pillar-link__symbol.dashicons {
	font-size: 22px;
}

body.home .brix-editorial .brix-pillar-link__arrow.dashicons {
	font-size: 18px;
}

body.home .brix-editorial .brix-products__feature-symbol.dashicons {
	font-size: 24px;
	line-height: 58px;
}

body.home .brix-editorial .brix-products__dynamic {
	display: grid;
	gap: 34px;
}

body.home .brix-editorial .brix-products__feature {
	margin-top: 0;
}

body.home .brix-editorial .brix-products__feature .brix-button {
	min-width: 154px;
}

body.home .brix-editorial .brix-content-types a {
	display: block;
	color: inherit;
	text-decoration: none;
}

body.home .brix-home-stories {
	display: grid;
	grid-template-columns: minmax(0, 1.58fr) minmax(320px, .82fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 28px 32px;
	margin-top: 64px;
	padding-top: 34px;
	border-top: 1px solid var(--brix-line);
}

body.home .brix-home-story {
	min-width: 0;
}

body.home .brix-home-story--primary {
	grid-row: 1 / 3;
}

body.home .brix-home-story--secondary,
body.home .brix-home-story--tertiary {
	display: grid;
	grid-template-columns: minmax(122px, .78fr) minmax(0, 1.22fr);
	align-items: stretch;
	gap: 20px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--brix-line);
}

body.home .brix-home-story__media {
	display: block;
	overflow: hidden;
	border-radius: 8px;
	background: #f4f6f2;
	box-shadow: inset 0 0 0 1px rgba(29, 81, 62, .08);
}

body.home .brix-home-story--primary .brix-home-story__media {
	aspect-ratio: 16 / 9.4;
}

body.home .brix-home-story--secondary .brix-home-story__media,
body.home .brix-home-story--tertiary .brix-home-story__media {
	min-height: 196px;
}

body.home .brix-home-story__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: cover;
	transition: transform 220ms ease-out;
}

@media (hover: hover) and (pointer: fine) {
	body.home .brix-home-story:not(.is-empty):hover .brix-home-story__media img,
	body.home .brix-home-story:not(.is-empty):focus-within .brix-home-story__media img {
		transform: scale(1.018);
	}
}

body.home .brix-home-story__media--empty,
body.home .brix-home-story__media--placeholder {
	background:
		linear-gradient(135deg, rgba(29, 81, 62, .025), transparent 48%),
		#f4f6f2;
}

body.home .brix-home-story__copy {
	min-width: 0;
}

body.home .brix-home-story--primary .brix-home-story__copy {
	max-width: 720px;
	padding-top: 22px;
}

body.home .brix-home-story--secondary .brix-home-story__copy,
body.home .brix-home-story--tertiary .brix-home-story__copy {
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding-block: 4px;
}

body.home .brix-home-story__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	color: var(--brix-muted);
	font-size: 11px;
	font-weight: 650;
	line-height: 1.35;
}

body.home .brix-home-story__meta > span {
	color: var(--brix-green);
	letter-spacing: .09em;
	text-transform: uppercase;
}

body.home .brix-home-story__meta time::before {
	margin-right: 10px;
	color: #a9b3ad;
	content: "·";
}

body.home .brix-home-story h3 {
	margin: 0 !important;
	color: var(--brix-ink) !important;
	font-family: var(--brix-serif);
	font-variation-settings: "opsz" 90, "wght" 300;
	font-weight: 300;
	letter-spacing: -.032em;
	text-wrap: balance;
}

body.home .brix-home-story--primary h3 {
	max-width: 16ch;
	margin-top: 12px !important;
	font-size: clamp(35px, 3.7vw, 50px);
	line-height: 1.01;
}

body.home .brix-home-story--secondary h3,
body.home .brix-home-story--tertiary h3 {
	margin-top: 9px !important;
	font-size: clamp(24px, 2.2vw, 31px);
	line-height: 1.05;
}

body.home .brix-home-story h3 a {
	color: inherit;
	text-decoration: none;
	transition: color 160ms ease-out;
}

body.home .brix-home-story:not(.is-empty):hover h3 a,
body.home .brix-home-story:not(.is-empty):focus-within h3 a {
	color: var(--brix-green);
}

body.home .brix-home-story__copy > p {
	display: -webkit-box;
	overflow: hidden;
	margin: 12px 0 0 !important;
	color: var(--brix-muted);
	font-size: 14px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body.home .brix-home-story--secondary .brix-home-story__copy > p,
body.home .brix-home-story--tertiary .brix-home-story__copy > p {
	margin-top: 9px !important;
	font-size: 12.5px;
	line-height: 1.55;
	-webkit-line-clamp: 2;
}

body.home .brix-home-story__action {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	color: var(--brix-green) !important;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	transition: gap 160ms ease-out;
}

body.home .brix-home-story__action:hover,
body.home .brix-home-story__action:focus-visible {
	gap: 12px;
}

/* Estado vazio: reserva a hierarquia sem inventar conteúdo ou atividade. */
body.home .brix-home-story.is-empty {
	pointer-events: none;
}

body.home .brix-home-story__copy--placeholder {
	display: grid !important;
	align-content: start !important;
	gap: 10px;
	padding-top: 18px !important;
}

body.home .brix-home-story__copy--placeholder span {
	display: block;
	height: 9px;
	border-radius: 999px;
	background: #eef1ed;
}

body.home .brix-home-story__copy--placeholder span:nth-child(1) { width: 24%; }
body.home .brix-home-story__copy--placeholder span:nth-child(2) { width: 72%; height: 16px; }
body.home .brix-home-story__copy--placeholder span:nth-child(3) { width: 54%; }

body.home .brix-home-story--secondary .brix-home-story__copy--placeholder,
body.home .brix-home-story--tertiary .brix-home-story__copy--placeholder {
	padding-top: 10px !important;
}

/* WooCommerce: retain its own catalogue language, refine states and mobile controls. */
body.woocommerce-shop .brix-shop-empty {
	width: min(var(--brix-shell), calc(100% - 48px));
	margin: 46px auto 90px;
}

body.woocommerce-shop :where(#brix-product-search-field, #brix-product-order, input[name="min_price"], input[name="max_price"]) {
	min-height: 48px;
	border-color: #bcc5bf !important;
	border-radius: 5px !important;
	font-family: var(--brix-sans) !important;
}

body.woocommerce-shop :where(#brix-product-search-field, #brix-product-order, input[name="min_price"], input[name="max_price"]):focus {
	border-color: var(--brix-green) !important;
	box-shadow: 0 0 0 2px rgba(29, 81, 62, .16) !important;
}

body.woocommerce .button.loading,
body.woocommerce .ajax_add_to_cart.is-brix-loading {
	position: relative;
	cursor: wait;
	opacity: .72;
}

/* Ferramentas: keep the calculator product, improve breathing room and mobile use. */
body.page-id-17 .bft-workbench {
	--bft-accent: var(--brix-green);
	--bft-dark: var(--brix-green-deep);
	font-family: var(--brix-sans);
}

body.page-id-17 .bft-workbench :where(.form-card, .tool-card, .result-card, .entry) {
	border-color: var(--brix-line) !important;
	box-shadow: none !important;
}

body.page-id-17 .bft-workbench :where(input, select, textarea) {
	min-height: 48px;
	border-color: #b9c1bc !important;
	border-radius: 5px !important;
	background: var(--brix-white) !important;
	color: var(--brix-ink) !important;
	font-family: var(--brix-sans) !important;
}

body.page-id-17 .bft-workbench :where(input, select, textarea):focus {
	border-color: var(--brix-green) !important;
	box-shadow: 0 0 0 2px rgba(29, 81, 62, .15) !important;
	outline: 0 !important;
}

body.page-id-17 .bft-workbench :where(button, .button, [type="submit"]) {
	border-color: var(--brix-green) !important;
	background: var(--brix-green) !important;
	color: var(--brix-white) !important;
}

body.page-id-17 .bft-workbench :where(button, .button, [type="submit"]):hover,
body.page-id-17 .bft-workbench :where(button, .button, [type="submit"]):focus-visible {
	border-color: var(--brix-ink) !important;
	background: var(--brix-white) !important;
	color: var(--brix-green) !important;
}

body.page-id-17 .bft-workbench .tools.tabs {
	gap: 10px !important;
	overflow-x: auto;
	padding: 6px 2px 12px !important;
	scroll-padding-inline: 8px;
	scrollbar-width: thin;
}

body.page-id-17 .bft-workbench .tools.tabs [role="tab"] {
	min-width: max-content;
	min-height: 48px;
}

body.page-id-17 .bft-workbench [role="alert"],
body.page-id-17 .bft-workbench .brix-tool-alert {
	scroll-margin-top: 110px;
}

/* Contact: the form remains distinct, with comfortable fields and visible feedback. */
body.page-id-832 .wpforms-container {
	margin-top: 28px;
}

body.page-id-832 .wpforms-container .wpforms-field {
	padding-block: 10px;
}

body.page-id-832 .wpforms-container label.wpforms-field-label {
	margin-bottom: 8px;
	color: var(--brix-ink);
	font-family: var(--brix-sans);
	font-size: 12px;
	font-weight: 700;
}

body.page-id-832 .wpforms-container :where(input[type="text"], input[type="email"], input[type="tel"], textarea, select) {
	min-height: 52px !important;
	padding: 13px 14px !important;
	border: 1px solid #b9c1bc !important;
	border-radius: 5px !important;
	background: var(--brix-white) !important;
	color: var(--brix-ink) !important;
	font-family: var(--brix-sans) !important;
}

body.page-id-832 .wpforms-container textarea {
	min-height: 150px !important;
	resize: vertical;
}

body.page-id-832 .wpforms-container :where(input, textarea, select):focus {
	border-color: var(--brix-green) !important;
	box-shadow: 0 0 0 2px rgba(29, 81, 62, .15) !important;
	outline: 0 !important;
}

body.page-id-832 .wpforms-container .wpforms-error {
	margin-top: 6px;
	color: #9a251e;
	font-size: 11px;
	font-weight: 600;
}

body.page-id-832 #wpforms-submit-156 {
	min-height: 48px;
	padding-inline: 22px;
	border: 1px solid var(--brix-green) !important;
	border-radius: 7px !important;
	background: var(--brix-green) !important;
	color: var(--brix-white) !important;
	font-family: var(--brix-sans) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

body.page-id-832 #wpforms-submit-156:hover,
body.page-id-832 #wpforms-submit-156:focus-visible {
	border-color: var(--brix-ink) !important;
	background: var(--brix-white) !important;
	color: var(--brix-green) !important;
}

.brix-story-comments {
	margin-top: 64px;
	padding-top: 42px;
	border-top: 1px solid var(--brix-line);
}

.brix-story-comments :where(.comments-title, .comment-reply-title) {
	font-family: var(--brix-serif);
	font-size: clamp(30px, 4vw, 42px);
	font-variation-settings: "opsz" 90, "wght" 300;
	font-weight: 300;
}

.brix-story-comments :where(label) {
	display: block;
	margin-bottom: 7px;
	font-size: 12px;
	font-weight: 700;
}

.brix-story-comments :where(input, textarea) {
	width: 100%;
	min-height: 48px;
	padding: 12px;
	border: 1px solid #b9c1bc;
	border-radius: 5px;
	font: 16px/1.5 var(--brix-sans);
}

.brix-story-comments textarea {
	min-height: 150px;
	resize: vertical;
}

.brix-story-comments :where(input[type="submit"], button[type="submit"]) {
	width: auto;
	padding-inline: 20px;
	border-color: var(--brix-green);
	background: var(--brix-green);
	color: var(--brix-white);
	font-size: 13px;
	font-weight: 700;
}

/* Community article: long-form reading, real media and restrained participation. */
.brix-story-single {
	padding-block: 32px 96px;
}

.brix-story-single header {
	padding-block: 48px 46px;
}

.brix-story-single h1 {
	font-size: clamp(48px, 6vw, 74px);
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.brix-story-single .brix-story-deck {
	max-width: 700px;
	text-wrap: pretty;
}

.brix-story-single__featured {
	margin-bottom: 64px !important;
}

.brix-story-single__featured img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.brix-story-single .brix-rich-content :where(h2[id], h3[id], h4[id]) {
	scroll-margin-top: 112px;
}

.brix-story-single .brix-rich-content :where(p, li, figcaption, td, th) {
	overflow-wrap: anywhere;
}

.brix-story-single .brix-rich-content :where(.wp-block-gallery, .wp-block-image, .wp-block-video, .wp-block-embed) {
	margin-block: 2.1em !important;
}

.brix-story-single .brix-rich-content :where(figcaption, .wp-element-caption) {
	margin-top: 9px !important;
	color: var(--brix-muted);
	font-size: 11px;
	line-height: 1.55;
}

.brix-story-single .brix-rich-content .wp-block-table {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
}

.brix-story-single .brix-rich-content table {
	min-width: 620px;
	border-collapse: collapse;
}

.brix-story-single .brix-rich-content :where(th, td) {
	padding: 12px 14px;
	border: 1px solid var(--brix-line);
	text-align: left;
}

.brix-story-video {
	padding-top: 42px;
	border-top: 1px solid var(--brix-line);
}

.brix-story-video .brix-eyebrow {
	margin-bottom: 10px !important;
}

.brix-story-video .wp-video,
.brix-story-video video {
	width: 100% !important;
	max-width: 100% !important;
}

.brix-video-caption {
	margin-top: 10px !important;
	padding: 0 !important;
	font-size: 11px !important;
}

.brix-story-transcript {
	margin-top: 24px;
	border-block: 1px solid var(--brix-line);
}

.brix-story-transcript summary {
	min-height: 52px;
	padding-block: 16px;
	color: var(--brix-green);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.brix-story-transcript > div {
	padding: 0 0 24px;
	color: var(--brix-muted);
	font-size: 14px;
	line-height: 1.75;
}

.brix-story-transcript > div > * + * {
	margin-top: 1em !important;
}

.brix-community-related {
	margin-top: 86px;
	padding-block: 56px 64px;
	border-block: 1px solid var(--brix-line);
}

.brix-community-related .brix-archive-heading {
	margin-bottom: 32px;
}

.brix-community-related__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.brix-community-related .brix-community-card h3 {
	font-size: clamp(27px, 2.7vw, 34px);
}

.brix-community-related .brix-community-card__copy > p:not(.brix-story-meta) {
	-webkit-line-clamp: 2;
}

.brix-story-comments :where(.comment-list, .children) {
	padding: 0;
	list-style: none;
}

.brix-story-comments .comment-list > li {
	padding-block: 24px;
	border-bottom: 1px solid var(--brix-line);
}

.brix-story-comments .children {
	margin: 20px 0 0 24px;
	padding-left: 20px;
	border-left: 2px solid var(--brix-green-soft);
}

.brix-story-comments :where(input[type="checkbox"], input[type="radio"]) {
	width: auto;
	min-height: 0;
}

.brix-single-back {
	padding-top: 34px;
	border-top: 1px solid var(--brix-line);
}

/* Motion appears only after the enhancement script is ready. */
.is-reveal-ready .brix-reveal:not(.is-visible) {
	opacity: 1;
	transform: translateY(10px);
}

.is-reveal-ready .brix-reveal {
	transition: opacity 340ms ease-out, transform 340ms ease-out;
}

.is-reveal-ready .brix-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 1024px) {
	.brix-site-shell {
		width: min(var(--brix-shell), calc(100% - 56px));
	}

	.brix-community-masthead__grid,
	.brix-library-top__grid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr);
		gap: 48px;
	}

	.brix-community-feature,
	.brix-demo-feature {
		grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
		gap: 42px;
	}

	.brix-story-row {
		grid-template-columns: minmax(0, 1fr) 270px;
		gap: 42px;
	}

	.brix-library-layout {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 42px;
	}

	.brix-material-list {
		grid-template-columns: 1fr;
	}

	body.home .brix-home-stories {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 30px;
	}

	body.home .brix-home-story--primary {
		grid-row: auto;
	}

	body.home .brix-home-story--secondary,
	body.home .brix-home-story--tertiary {
		grid-template-columns: minmax(180px, .72fr) minmax(0, 1.28fr);
	}
}

@media (max-width: 782px) {
	.brix-site-shell {
		width: min(var(--brix-shell), calc(100% - 40px));
	}

	.brix-community-masthead,
	.brix-library-top {
		padding-block: 48px 44px;
	}

	.brix-community-masthead__grid,
	.brix-library-top__grid,
	.brix-community-feature,
	.brix-demo-feature,
	.brix-demo-video,
	.brix-demo-photo-note,
	.brix-library-layout,
	.brix-technical-single__layout {
		grid-template-columns: 1fr;
	}

	.brix-community-masthead__grid,
	.brix-library-top__grid {
		gap: 36px;
	}

	.brix-library-top__grid {
		margin-top: 34px;
	}

	.brix-community-content,
	.brix-library-main {
		padding-block: 54px 86px;
	}

	.brix-community-feature,
	.brix-demo-feature {
		gap: 32px;
		padding-bottom: 58px;
	}

	.brix-community-feature__media,
	.brix-demo-feature figure {
		min-height: 0;
	}

	.brix-story-row {
		grid-template-columns: minmax(0, 1fr) 220px;
		gap: 30px;
	}

	.brix-demo-editorial-grid,
	.brix-library-demo-guide {
		grid-template-columns: 1fr;
	}

	.brix-demo-editorial-grid article {
		min-height: 190px;
	}

	.brix-demo-video,
	.brix-demo-photo-note {
		gap: 36px;
		padding-block: 54px;
	}

	.brix-library-filters,
	.brix-document-panel {
		position: static;
	}

	.brix-library-filters details {
		border: 1px solid var(--brix-line);
		border-top: 2px solid var(--brix-green);
		padding-inline: 18px;
	}

	.brix-library-results__head {
		margin-top: 22px;
	}

	.brix-system-footer__top {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.brix-system-footer nav {
		justify-content: flex-start;
	}

	body.home .brix-editorial .brix-products__feature {
		gap: 26px;
		padding: 28px;
	}

	body.page-id-17 .bft-workbench .tools.tabs {
		overscroll-behavior-inline: contain;
		scroll-snap-type: inline proximity;
	}

	body.page-id-17 .bft-workbench .tools.tabs [role="tab"] {
		scroll-snap-align: start;
	}
}

@media (max-width: 600px) {
	.brix-site-shell,
	.brix-reading-shell,
	.brix-story-single__featured {
		width: calc(100% - 32px);
	}

	.brix-community-masthead h1 {
		font-size: clamp(50px, 15vw, 66px);
	}

	.brix-library-top h1,
	.brix-story-single h1,
	.brix-technical-single h1 {
		font-size: clamp(43px, 13vw, 60px);
	}

	.brix-search-control {
		grid-template-columns: minmax(0, 1fr) 76px;
	}

	.brix-search-control button {
		min-width: 0;
		padding-left: 8px;
	}

	.brix-community-nav .brix-site-shell {
		width: 100%;
		padding-inline: 16px;
	}

	.brix-community-content,
	.brix-library-main {
		padding-block: 44px 72px;
	}

	.brix-community-feature h2,
	.brix-demo-feature h2 {
		font-size: clamp(34px, 10vw, 44px);
	}

	.brix-story-row {
		grid-template-columns: 1fr;
		gap: 22px;
		padding-block: 32px;
	}

	.brix-story-row__media {
		grid-row: 1;
	}

	.brix-archive-heading,
	.brix-library-results__head,
	.brix-community-invite .brix-site-shell,
	.brix-system-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.brix-community-invite .brix-ui-button {
		width: 100%;
	}

	.brix-demo-editorial-grid {
		padding-block: 46px;
	}

	.brix-library-results__head form {
		width: 100%;
		min-width: 0;
	}

	.brix-material-card {
		min-height: 260px;
		padding: 23px;
	}

	.brix-empty-state,
	.brix-shop-empty {
		grid-template-columns: 1fr;
		padding: 24px;
	}

	.brix-story-single,
	.brix-technical-single {
		padding-block: 32px 82px;
	}

	.brix-story-single header,
	.brix-technical-single header {
		padding-block: 44px 38px;
	}

	.brix-system-footer {
		padding-block: 58px 24px;
	}

	.brix-system-footer nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	body.home .brix-editorial .brix-pillars__list {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	body.home .brix-home-stories {
		grid-template-columns: 1fr !important;
		gap: 34px !important;
		margin-top: 46px;
		padding-top: 26px;
	}

	body.home .brix-home-story--secondary,
	body.home .brix-home-story--tertiary {
		grid-template-columns: 150px minmax(0, 1fr);
		gap: 18px;
	}

	body.home .brix-editorial .brix-pillar-link {
		min-height: 200px !important;
	}

	body.home .brix-editorial .brix-products__feature,
	body.home .brix-editorial .brix-products__feature-copy {
		grid-template-columns: 1fr !important;
		text-align: left;
	}

	body.home .brix-editorial .brix-products__feature .brix-button {
		width: 100%;
	}

	body.woocommerce-shop .brix-shop-empty {
		width: calc(100% - 32px);
		margin-block: 32px 64px;
	}

	body.page-id-832 #wpforms-submit-156 {
		width: 100%;
	}
}

@media (max-width: 1024px) {
	.brix-community-nameplate__copy {
		grid-template-columns: minmax(0, .72fr) minmax(300px, 1fr);
		gap: 52px;
	}

	.brix-community-toolbar__inner {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
		gap: 30px;
	}

	.brix-community-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.brix-community-nameplate {
		padding-block: 38px 34px;
	}

	.brix-community-nameplate__copy,
	.brix-community-toolbar__inner {
		grid-template-columns: 1fr;
	}

	.brix-community-nameplate__copy {
		gap: 22px;
		margin-top: 20px;
	}

	.brix-community-nameplate h1 {
		font-size: clamp(46px, 12vw, 58px);
	}

	.brix-community-toolbar__inner {
		gap: 0;
	}

	.brix-community-toolbar .brix-community-nav {
		width: calc(100% + 40px);
		margin-inline: -20px;
		padding-inline: 20px;
		gap: 24px;
		box-shadow: inset -18px 0 18px -20px rgba(29, 81, 62, .7);
	}

	.brix-community-toolbar .brix-community-nav a {
		min-height: 52px;
	}

	.brix-community-search {
		padding-block: 14px 18px;
		border-top: 1px solid var(--brix-line);
	}

	.brix-community-active-filters {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.brix-community-content {
		padding-block: 50px 82px;
	}

	.brix-community-feature,
	.brix-community-secondary__grid,
	.brix-community-related__grid {
		grid-template-columns: 1fr;
	}

	.brix-community-feature {
		gap: 30px;
		padding-bottom: 52px;
	}

	.brix-community-feature__media {
		min-height: 0;
	}

	.brix-community-secondary {
		padding-top: 52px;
	}

	.brix-community-card__copy {
		padding-top: 20px;
	}

	.brix-community-related {
		margin-top: 68px;
		padding-block: 48px 56px;
	}

	.brix-story-single {
		padding-block: 26px 76px;
	}
}

@media (max-width: 600px) {
	.brix-community-nameplate h1 {
		font-size: clamp(43px, 13vw, 52px);
	}

	.brix-community-nameplate__copy > p {
		font-size: 14px;
	}

	.brix-community-search .brix-search-control {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.brix-community-search .brix-search-control button {
		min-width: 72px;
	}

	.brix-community-active-filters p {
		align-items: flex-start;
		flex-direction: column;
	}

	.brix-community-feature h2,
	.brix-community-card h3 {
		font-size: clamp(32px, 9vw, 40px);
	}

	.brix-community-card {
		padding-top: 14px;
	}

	.brix-story-row {
		gap: 20px;
		padding-block: 30px;
	}

	.brix-community-empty {
		grid-template-columns: 1fr;
		gap: 18px;
		padding-inline: 24px;
	}

	.brix-community-empty > .brix-eyebrow {
		padding-top: 0;
	}

	.brix-demo-editorial-grid {
		grid-template-columns: 1fr;
	}

	.brix-story-single h1 {
		font-size: clamp(42px, 12vw, 54px);
	}

	.brix-story-single__featured {
		margin-bottom: 48px !important;
	}

	.brix-community-related {
		width: 100%;
		padding-inline: 16px;
	}

	.brix-story-comments .children {
		margin-left: 10px;
		padding-left: 14px;
	}
}


@media (max-width: 560px) {
	body.home .brix-home-story--secondary,
	body.home .brix-home-story--tertiary {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	body.home .brix-home-story--secondary .brix-home-story__media,
	body.home .brix-home-story--tertiary .brix-home-story__media {
		aspect-ratio: 16 / 9.4;
		min-height: 0;
	}

	body.home .brix-home-story--primary h3 {
		font-size: clamp(34px, 10vw, 44px);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.brix-site-system *,
	body.brix-site-system *::before,
	body.brix-site-system *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}

	.is-reveal-ready .brix-reveal,
	.is-reveal-ready .brix-reveal:not(.is-visible) {
		opacity: 1;
		transform: none;
	}
}

/* BRIX 1.3 — detailed documents, account and commerce journeys. */
.brix-document-header {
	max-width: 900px;
}

.brix-document-deck {
	max-width: 760px;
	margin-top: 24px !important;
	color: var(--brix-muted);
	font-size: clamp(16px, 1.8vw, 19px);
	line-height: 1.65;
}

.brix-document-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin-top: 34px !important;
	padding-top: 20px;
	border-top: 1px solid var(--brix-line);
}

.brix-document-facts div {
	display: grid;
	gap: 3px;
	min-width: 110px;
}

.brix-document-facts dt,
.brix-document-panel__label,
.brix-document-toc > span {
	color: var(--brix-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.brix-document-facts dd {
	margin: 0;
	color: var(--brix-green-deep);
	font-size: 13px;
}

.brix-document-lifecycle {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-bottom: 36px;
	padding: 16px 18px;
	border-left: 3px solid var(--brix-green);
	background: var(--brix-green-soft);
	color: var(--brix-green-deep);
	font-size: 13px;
}

.brix-document-lifecycle a,
.brix-document-panel a:not(.brix-ui-button) {
	color: var(--brix-green);
	font-weight: 700;
	text-underline-offset: 3px;
}

.brix-document-panel__actions {
	display: grid;
	gap: 13px;
	margin-top: 18px;
}

.brix-document-panel__actions .brix-ui-button {
	width: 100%;
	justify-content: center;
}

.brix-document-unavailable {
	margin: 0;
	color: var(--brix-muted);
	font-size: 13px;
	line-height: 1.6;
}

.brix-document-toc {
	display: grid;
	gap: 10px;
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid #cbd8d1;
}

.brix-document-toc a {
	font-size: 12px;
}

.brix-document-video,
.brix-document-transcript {
	margin-bottom: 44px;
}

.brix-document-video h2,
.brix-document-transcript h2,
.brix-technical-related h2 {
	margin-bottom: 20px !important;
	font-family: var(--brix-serif);
	font-size: clamp(30px, 4vw, 42px);
	font-variation-settings: "opsz" 90, "wght" 300;
	font-weight: 300;
	line-height: 1.08;
}

.brix-document-video video,
.brix-document-video iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	background: #edf1ee;
}

.brix-document-transcript {
	padding: 28px;
	border: 1px solid var(--brix-line);
	background: #fbfcfb;
}

.brix-technical-related {
	margin-top: 80px;
	padding-top: 54px;
	border-top: 1px solid var(--brix-line);
}

.brix-story-author {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 680px;
	margin-top: 32px;
	padding-top: 22px;
	border-top: 1px solid var(--brix-line);
}

.brix-story-author__avatar {
	display: grid;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	place-items: center;
	border-radius: 50%;
	background: var(--brix-green);
	color: #fff;
	font-family: var(--brix-serif);
	font-size: 22px;
}

.brix-story-author > div:last-child {
	display: grid;
	gap: 2px;
}

.brix-story-author p,
.brix-story-author span {
	margin: 0 !important;
	color: var(--brix-muted);
	font-size: 11px;
}

.brix-story-author ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 5px 0 0 !important;
	padding: 0;
	list-style: none;
}

.brix-story-author li {
	padding: 3px 7px;
	border: 1px solid #bed0c6;
	border-radius: 999px;
	color: var(--brix-green);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.brix-system-footer__phone {
	display: inline-block;
	margin-top: 12px;
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
}

.brix-system-footer__bottom nav {
	justify-content: center;
	gap: 10px 18px;
}

.brix-account-request {
	display: grid;
	gap: 18px;
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid var(--brix-line);
}

.brix-account-request label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	line-height: 1.6;
}

.brix-account-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
}

.brix-account-pagination .page-numbers {
	display: inline-grid;
	min-width: 40px;
	height: 40px;
	place-items: center;
	padding-inline: 10px;
	border: 1px solid var(--brix-line);
	color: var(--brix-green-deep);
	text-decoration: none;
}

.brix-account-pagination .current {
	border-color: var(--brix-green);
	background: var(--brix-green);
	color: #fff;
}

.brix-account-posts article.has-unread {
	border-color: var(--brix-green);
	box-shadow: inset 3px 0 0 var(--brix-green);
}

.brix-ticket-detail {
	max-width: 900px;
}

body.brix-my-account .woocommerce {
	display: grid;
	grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 86px);
	width: min(var(--brix-shell), calc(100% - 96px));
	margin: 60px auto 100px;
}

body.brix-my-account .woocommerce:has(.u-columns) {
	display: block;
}

body.brix-my-account .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--brix-line);
	list-style: none;
}

body.brix-my-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--brix-line);
}

body.brix-my-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 48px;
	color: var(--brix-muted);
	font-size: 13px;
	font-weight: 650;
	text-decoration: none;
}

body.brix-my-account .woocommerce-MyAccount-navigation .is-active a,
body.brix-my-account .woocommerce-MyAccount-navigation a:hover,
body.brix-my-account .woocommerce-MyAccount-navigation a:focus-visible {
	color: var(--brix-green);
}

body.brix-my-account .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	max-width: 980px;
	margin-inline: auto;
}

body.brix-my-account .u-column1,
body.brix-my-account .u-column2,
body.brix-my-account form.woocommerce-form,
body.brix-my-account form.woocommerce-EditAccountForm,
body.brix-my-account form.woocommerce-address-fields {
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid var(--brix-line);
	background: #fbfcfb;
}

body.brix-my-account :where(input.input-text, select, textarea),
body.brix-cart-page :where(input.input-text, select, textarea),
body.brix-checkout-page :where(input.input-text, select, textarea) {
	min-height: 48px;
	border: 1px solid #b9c8c0;
	border-radius: 2px;
	background: #fff;
	box-shadow: none;
	font-size: 16px;
}

.brix-commerce-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 48px;
	margin: 0 0 42px;
	padding: 0 0 30px;
	border-bottom: 1px solid var(--brix-line);
}

.brix-commerce-intro h1 {
	margin: 8px 0 12px !important;
	font-family: var(--brix-serif);
	font-size: clamp(38px, 5vw, 58px);
	font-variation-settings: "opsz" 100, "wght" 300;
	font-weight: 300;
	letter-spacing: -.04em;
	line-height: 1;
}

.brix-commerce-intro > div > p:last-child {
	max-width: 630px;
	margin: 0;
	color: var(--brix-muted);
	font-size: 14px;
	line-height: 1.65;
}

.brix-checkout-progress {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: brix-checkout;
}

.brix-checkout-progress li {
	position: relative;
	min-width: 118px;
	padding: 28px 12px 0;
	color: #78877f;
	font-size: 10px;
	font-weight: 750;
	text-align: center;
	counter-increment: brix-checkout;
}

.brix-checkout-progress li::before {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	border: 1px solid #bdc9c3;
	border-radius: 50%;
	background: #fff;
	content: counter(brix-checkout);
	transform: translateX(-50%);
}

.brix-checkout-progress li + li::after {
	position: absolute;
	top: 10px;
	right: 50%;
	width: 100%;
	height: 1px;
	background: #bdc9c3;
	content: "";
}

.brix-checkout-progress li.is-current,
.brix-checkout-progress li.is-complete {
	color: var(--brix-green);
}

.brix-checkout-progress li.is-current::before,
.brix-checkout-progress li.is-complete::before {
	border-color: var(--brix-green);
	background: var(--brix-green);
	color: #fff;
}

body.brix-cart-page .hero-section,
body.brix-cart-page .entry-header,
body.brix-checkout-page .hero-section,
body.brix-checkout-page .entry-header {
	display: none !important;
}

body.brix-cart-page .site-main,
body.brix-checkout-page .site-main {
	padding-block: 56px 100px;
}

body.brix-cart-page .site-main > .ct-container,
body.brix-checkout-page .site-main > .ct-container,
body.brix-cart-page article > .entry-content,
body.brix-checkout-page article > .entry-content {
	width: min(var(--brix-shell), calc(100% - 96px));
	max-width: var(--brix-shell);
	margin-inline: auto;
}

body.brix-cart-page .woocommerce-cart-form,
body.brix-cart-page .cart-collaterals,
body.brix-checkout-page #customer_details,
body.brix-checkout-page #order_review {
	border-color: var(--brix-line);
}

body.brix-cart-page table.shop_table,
body.brix-checkout-page table.shop_table,
body.brix-my-account table.shop_table {
	border: 1px solid var(--brix-line);
	border-radius: 0;
	background: #fff;
}

body.brix-cart-page .cart_totals,
body.brix-checkout-page #order_review,
body.brix-checkout-page #payment {
	background: #f7f9f7;
}

body.brix-checkout-page #payment {
	border-radius: 0;
}

body.brix-site-system .woocommerce :where(.button, button.button, input.button, #place_order) {
	min-height: 44px;
	border: 1px solid var(--brix-green) !important;
	border-radius: 999px !important;
	background: var(--brix-green) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	box-shadow: none !important;
}

body.brix-site-system .woocommerce :where(.button, button.button, input.button, #place_order):hover,
body.brix-site-system .woocommerce :where(.button, button.button, input.button, #place_order):focus-visible {
	background: #fff !important;
	color: var(--brix-green) !important;
}

.brix-order-support {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	margin-top: 32px;
	padding: 24px;
	border: 1px solid #c7d6ce;
	background: var(--brix-green-soft);
}

.brix-order-support p {
	margin: 5px 0 0;
	color: var(--brix-muted);
	font-size: 13px;
}

body.brix-product-page div.product.type-product {
	width: min(var(--brix-shell), calc(100% - 96px));
	margin: 48px auto 100px;
}

body.brix-product-page .summary .product_title {
	font-family: var(--brix-serif);
	font-size: clamp(42px, 5vw, 64px);
	font-variation-settings: "opsz" 110, "wght" 300;
	font-weight: 300;
	letter-spacing: -.045em;
	line-height: 1;
}

body.brix-product-page .summary .price {
	color: var(--brix-green) !important;
	font-size: 18px !important;
	font-weight: 750;
}

body.brix-product-page .woocommerce-product-gallery__image:has(.woocommerce-placeholder) {
	background: #f1f3f0;
}

body.brix-product-page .woocommerce-placeholder,
body.brix-store-archive .woocommerce-placeholder {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	opacity: 0;
}

.brix-product-materials {
	clear: both;
	margin-top: 80px;
	padding-top: 52px;
	border-top: 1px solid var(--brix-line);
}

.brix-product-materials__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.brix-product-materials__head h2 {
	margin: 8px 0 0 !important;
	font-family: var(--brix-serif);
	font-size: clamp(34px, 4vw, 48px);
	font-weight: 300;
	line-height: 1;
}

.brix-product-materials__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--brix-line);
	border-left: 1px solid var(--brix-line);
}

.brix-product-materials__grid article {
	display: flex;
	min-height: 230px;
	flex-direction: column;
	align-items: flex-start;
	padding: 26px;
	border-right: 1px solid var(--brix-line);
	border-bottom: 1px solid var(--brix-line);
}

.brix-product-materials__grid article > span {
	color: var(--brix-green);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.brix-product-materials__grid h3 {
	margin: auto 0 10px;
	font-family: var(--brix-serif);
	font-size: 25px;
	font-weight: 300;
	line-height: 1.08;
}

.brix-product-materials__grid h3 a {
	color: var(--brix-green-deep);
	text-decoration: none;
}

.brix-product-materials__grid p {
	margin: 0 0 14px;
	color: var(--brix-muted);
	font-size: 12px;
	line-height: 1.55;
}

.brix-store-top {
	margin-bottom: 34px;
	padding-top: 24px;
}

.brix-store-top__grid {
	margin-top: 22px;
}

.brix-store-top h1 {
	font-size: clamp(38px, 4.5vw, 56px);
	line-height: 1;
}

@media (max-width: 960px) {
	body.brix-my-account .woocommerce {
		grid-template-columns: 1fr;
	}

	body.brix-my-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		border: 0;
		scrollbar-width: thin;
	}

	body.brix-my-account .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		border: 0;
	}

	body.brix-my-account .woocommerce-MyAccount-navigation a {
		min-height: 42px;
		padding: 0 14px;
		border: 1px solid var(--brix-line);
	}

	.brix-commerce-intro {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 28px;
	}

	.brix-checkout-progress {
		width: 100%;
	}

	.brix-checkout-progress li {
		min-width: 0;
		flex: 1;
	}

	.brix-product-materials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 689px) {
	.brix-story-single,
	.brix-technical-single {
		padding-block: 24px 72px;
	}

	.brix-story-single header,
	.brix-technical-single header {
		padding-block: 38px 34px;
	}

	.brix-story-single h1,
	.brix-technical-single h1 {
		font-size: clamp(38px, 12vw, 54px);
	}

	.brix-document-facts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.brix-document-panel {
		position: static;
	}

	.brix-document-transcript {
		padding: 20px;
	}

	.brix-system-footer__bottom,
	.brix-order-support,
	.brix-product-materials__head {
		align-items: flex-start;
		flex-direction: column;
	}

	.brix-system-footer__bottom nav {
		justify-content: flex-start;
	}

	body.brix-my-account .woocommerce,
	body.brix-product-page div.product.type-product,
	body.brix-cart-page .site-main > .ct-container,
	body.brix-checkout-page .site-main > .ct-container,
	body.brix-cart-page article > .entry-content,
	body.brix-checkout-page article > .entry-content {
		width: min(100% - 32px, var(--brix-shell));
	}

	body.brix-my-account .u-columns,
	.brix-product-materials__grid {
		grid-template-columns: 1fr;
	}

	body.brix-my-account .u-column1,
	body.brix-my-account .u-column2,
	body.brix-my-account form.woocommerce-form,
	body.brix-my-account form.woocommerce-EditAccountForm,
	body.brix-my-account form.woocommerce-address-fields {
		padding: 20px;
	}

	.brix-checkout-progress li {
		padding-inline: 4px;
		font-size: 9px;
	}

	body.brix-cart-page .shop_table_responsive tr,
	body.brix-my-account .shop_table_responsive tr {
		padding-block: 12px;
	}

	.brix-product-materials__grid article {
		min-height: 190px;
	}
}

@media (forced-colors: active) {
	.brix-ui-button,
	.brix-material-card,
	.brix-story-row,
	.brix-empty-state,
	.brix-shop-empty {
		border: 1px solid CanvasText;
	}
}
.brix-account-overview,
.brix-account-section {
	color: #17382b;
}

.brix-account-overview > h2,
.brix-account-section > h2 {
	margin: 8px 0 16px;
	font-family: "Fraunces", Georgia, serif;
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.brix-account-overview > p,
.brix-account-section > p {
	max-width: 680px;
	color: #50635b;
	line-height: 1.7;
}

.brix-account-cards,
.brix-account-library,
.brix-account-posts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 32px;
}

.brix-account-cards a,
.brix-account-library article,
.brix-account-posts article,
.brix-account-empty {
	padding: 24px;
	border: 1px solid #dce4df;
	border-radius: 4px;
	background: #f8faf8;
	color: #17382b;
	text-decoration: none;
}

.brix-account-cards a {
	display: flex;
	min-height: 150px;
	flex-direction: column;
	justify-content: space-between;
	transition: transform 180ms ease-out, border-color 180ms ease-out, background-color 180ms ease-out;
}

.brix-account-cards a:hover,
.brix-account-cards a:focus-visible {
	transform: translateY(-2px);
	border-color: #1d513e;
	background: #fff;
}

.brix-account-cards strong {
	font-family: "Fraunces", Georgia, serif;
	font-size: 2.3rem;
	font-weight: 400;
}

.brix-account-form {
	display: grid;
	gap: 20px;
	max-width: 760px;
	margin: 32px 0 48px;
	padding: 28px;
	border: 1px solid #dce4df;
	background: #fbfcfb;
}

.brix-account-form p {
	display: grid;
	gap: 8px;
	margin: 0;
}

.brix-account-form label {
	font-size: 13px;
	font-weight: 700;
	color: #17382b;
}

.brix-account-form input[type="text"],
.brix-account-form input[type="file"],
.brix-account-form select,
.brix-account-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #b9c8c0;
	border-radius: 2px;
	background: #fff;
	font-size: 16px;
}

.brix-account-form textarea {
	line-height: 1.55;
	resize: vertical;
}

.brix-account-form small {
	color: #65756e;
	line-height: 1.5;
}

.brix-account-consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 500;
	line-height: 1.5;
}

.brix-account-library article,
.brix-account-posts article {
	display: grid;
	gap: 8px;
}

.brix-account-library h3,
.brix-account-posts h4,
.brix-account-empty h3 {
	margin: 0;
	font-family: "Fraunces", Georgia, serif;
	font-size: 1.45rem;
	font-weight: 400;
	line-height: 1.15;
}

.brix-access-badge {
	margin-left: auto;
	padding: 4px 8px;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.brix-technical-restricted .brix-empty-state {
	margin-block: 40px 88px;
}

.brix-ticket-thread {
	display: grid;
	gap: 14px;
	max-width: 820px;
	margin: 32px 0;
}

.brix-ticket-thread article {
	padding: 20px 22px;
	border: 1px solid #dce4df;
	border-radius: 4px;
	background: #fff;
}

.brix-ticket-thread article.is-staff {
	border-color: #b9cfc4;
	background: #f1f6f3;
}

.brix-ticket-thread header {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
	font-size: 12px;
	color: #61736a;
}

.brix-ticket-thread p:last-child {
	margin-bottom: 0;
}

body.brix-site-system :where(#footer, .site-footer, .ct-footer) {
	display: none !important;
}

/* The WooCommerce shop page still contains the first static prototype. The
   live catalogue below is native WooCommerce and is the only public store. */
body.brix-store-archive #brix-produtos-page {
	display: none !important;
}

/* Blocksy's archive chrome and demo sidebar compete with the native BRIX
   catalogue. Keep the theme header, but let the store own the page body. */
body.brix-store-archive :where(.hero-section, .entry-header, #sidebar) {
	display: none !important;
}

body.brix-store-archive .site-main > .ct-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
}

body.brix-store-archive .content-area {
	grid-column: 1 / -1 !important;
	min-width: 0;
	width: 100% !important;
}

/* Older page prototypes can include their own footer. The site-wide footer is
   the single public footer everywhere except the independent tools app. */
body.brix-site-system .bt-footer {
	display: none !important;
}

body.brix-my-account :where(.hero-section, article > .entry-header) {
	display: none !important;
}

body.brix-account-dashboard .woocommerce-MyAccount-content > p {
	display: none;
}

/* The tools application ships its own component styles, but the theme's
   descendant colors can override button copy and make it unreadable. */
body.page-id-17 .brix-choice-option :where(.brix-choice-index, strong, .brix-choice-arrow) {
	color: #fff !important;
}

body.page-id-17 .brix-choice-option small {
	color: rgb(255 255 255 / 76%) !important;
}

.brix-store-top {
	width: min(var(--brix-shell), calc(100% - 96px));
	margin: 0 auto 44px;
	padding: 38px 0 30px;
	border-bottom: 1px solid var(--brix-line);
}

.brix-store-top__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	align-items: end;
	gap: clamp(36px, 7vw, 96px);
	margin-top: 30px;
}

.brix-store-top h1 {
	max-width: 720px;
	margin: 8px 0 18px;
	font-family: var(--brix-serif);
	font-size: clamp(44px, 6vw, 78px);
	font-variation-settings: "opsz" 120, "wght" 300;
	font-weight: 300;
	line-height: .98;
	letter-spacing: -.045em;
}

.brix-store-top h1 + p {
	max-width: 620px;
	margin: 0;
	color: var(--brix-muted);
	font-size: 15px;
	line-height: 1.7;
}

.brix-store-search {
	display: grid;
	gap: 9px;
}

.brix-store-search > label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
}

.brix-store-search > div {
	display: grid;
	grid-template-columns: 1fr auto;
	border-bottom: 1px solid #81958a;
}

.brix-store-search input {
	min-width: 0;
	min-height: 52px;
	padding: 0 10px 0 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 16px;
}

.brix-store-search button {
	min-width: 88px;
	min-height: 44px;
	align-self: center;
	border: 1px solid var(--brix-green);
	border-radius: 999px;
	background: var(--brix-green);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	transition: background-color 180ms ease-out, color 180ms ease-out;
}

.brix-store-search button:hover,
.brix-store-search button:focus-visible {
	background: #fff;
	color: var(--brix-green);
}

.brix-store-categories {
	display: flex;
	gap: 8px;
	margin-top: 30px;
	overflow-x: auto;
	padding-bottom: 4px;
	scrollbar-width: thin;
}

.brix-store-categories a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	flex: 0 0 auto;
	padding: 9px 14px;
	border: 1px solid var(--brix-line);
	border-radius: 999px;
	color: var(--brix-green-deep);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.brix-store-categories a[aria-current="page"],
.brix-store-categories a:hover,
.brix-store-categories a:focus-visible {
	border-color: var(--brix-green);
	background: var(--brix-green);
	color: #fff;
}

body.brix-store-archive .woocommerce-notices-wrapper,
body.brix-store-archive .woocommerce-result-count,
body.brix-store-archive .woocommerce-ordering,
body.brix-store-archive ul.products,
body.brix-store-archive .brix-shop-empty {
	width: min(var(--brix-shell), calc(100% - 96px));
	margin-inline: auto;
}

body.brix-store-archive .brix-shop-empty {
	margin-block: 42px 100px;
}

@media (max-width: 760px) {
	.brix-store-top,
	body.brix-store-archive .woocommerce-notices-wrapper,
	body.brix-store-archive .woocommerce-result-count,
	body.brix-store-archive .woocommerce-ordering,
	body.brix-store-archive ul.products,
	body.brix-store-archive .brix-shop-empty {
		width: min(100% - 32px, var(--brix-shell));
	}

	.brix-store-top__grid {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 30px;
	}

	.brix-store-top h1 {
		font-size: clamp(40px, 13vw, 58px);
	}
}

@media (max-width: 689px) {
	body.brix-my-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: visible;
		border-top: 1px solid var(--brix-line);
	}

	body.brix-my-account .woocommerce-MyAccount-navigation li {
		min-width: 0;
		border-bottom: 1px solid var(--brix-line);
	}

	body.brix-my-account .woocommerce-MyAccount-navigation a {
		height: 100%;
		padding: 10px 12px;
		border: 0;
		border-right: 1px solid var(--brix-line);
		white-space: normal;
	}

	body.brix-store-archive li.product :where(.entry-meta, .ct-woo-card-actions, .product-categories, .brix-product-eyebrow) {
		grid-column: 2;
		min-width: 0;
	}
}

@media (max-width: 760px) {
	.brix-account-cards,
	.brix-account-library,
	.brix-account-posts {
		grid-template-columns: 1fr;
	}

	.brix-account-form {
		padding: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.brix-account-cards a {
		transition: none;
	}

	.brix-account-cards a:hover,
	.brix-account-cards a:focus-visible {
		transform: none;
	}
}

/* BRIX 1.3 — authoring, commerce blocks and final responsive polish. */
.brix-kicker {
	display: block;
	margin: 0 0 10px !important;
	color: var(--brix-green);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.brix-community-submit {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 920px;
	gap: 24px 20px;
	padding: clamp(24px, 4vw, 38px);
}

.brix-community-submit__heading,
.brix-community-submit > p:has(#brix-community-title),
.brix-community-submit > p:has(#brix-community-summary),
.brix-community-submit > p:has(#brix-community-content),
.brix-community-submit > p:has(#brix-community-image),
.brix-community-submit > p:has(#brix-community-image-alt),
.brix-community-submit > .brix-account-consent,
.brix-community-submit > fieldset,
.brix-community-submit__actions {
	grid-column: 1 / -1;
}

.brix-community-submit__heading {
	padding-bottom: 22px;
	border-bottom: 1px solid var(--brix-line);
}

.brix-community-submit__heading h3 {
	margin: 0 0 8px;
	font-family: var(--brix-serif);
	font-size: clamp(28px, 4vw, 38px);
	font-variation-settings: "opsz" 90, "wght" 350;
	font-weight: 350;
	letter-spacing: -.025em;
	line-height: 1.05;
}

.brix-community-submit__heading p {
	max-width: 680px;
	margin: 0;
	color: var(--brix-muted);
	font-size: 13px;
	line-height: 1.65;
}

.brix-account-form input[type="url"] {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #b9c8c0;
	border-radius: 2px;
	background: #fff;
	font-size: 16px;
}

.brix-community-submit fieldset {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 4px 0 0;
	padding: 26px 0 2px;
	border: 0;
	border-top: 1px solid var(--brix-line);
}

.brix-community-submit fieldset[hidden] {
	display: none !important;
}

.brix-community-submit fieldset legend {
	padding: 0 14px 0 0;
	color: var(--brix-green-deep);
	font-family: var(--brix-serif);
	font-size: 24px;
	font-weight: 400;
}

.brix-community-submit fieldset > p {
	display: grid;
	gap: 8px;
	margin: 0;
}

.brix-community-submit fieldset > p:has(textarea),
.brix-community-submit fieldset > .brix-account-consent {
	grid-column: 1 / -1;
}

.brix-community-submit__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 22px;
	border-top: 1px solid var(--brix-line);
}

.brix-community-submit__actions .button:not(.brix-ui-button) {
	border-color: var(--brix-green) !important;
	background: #fff !important;
	color: var(--brix-green) !important;
}

.brix-editor-feedback {
	margin: 4px 0 !important;
	padding: 12px 14px;
	border-left: 3px solid var(--brix-green);
	background: var(--brix-green-soft);
	color: var(--brix-green-deep) !important;
	font-size: 12px;
	line-height: 1.55;
}

.brix-account-post-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	margin-top: 6px;
}

.brix-account-post-actions form {
	margin: 0;
}

.brix-account-post-actions button {
	min-height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #7b352f;
	font: 650 12px/1.3 var(--brix-sans);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.brix-story-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-block: 54px 70px;
}

.brix-story-gallery figure {
	margin: 0;
	background: var(--brix-paper);
}

.brix-story-gallery img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 640px;
	object-fit: cover;
}

.brix-story-gallery figcaption {
	padding: 10px 2px 0;
	color: var(--brix-muted);
	font-size: 11px;
	line-height: 1.5;
}

.brix-story-gallery figure:nth-child(3n + 1):last-child {
	grid-column: 1 / -1;
}

.brix-external-video {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px 24px;
	min-height: 220px;
	padding: clamp(24px, 5vw, 42px);
	border: 1px solid #cbd7d0;
	background: var(--brix-green-soft);
}

.brix-external-video p {
	display: grid;
	gap: 6px;
	margin: 0;
}

.brix-external-video p strong {
	font-family: var(--brix-serif);
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 400;
}

.brix-external-video p span,
.brix-external-video > a {
	color: var(--brix-muted);
	font-size: 12px;
	line-height: 1.55;
}

.brix-external-video > a {
	grid-column: 2;
	text-align: center;
}

body.brix-my-account:not(.logged-in) .woocommerce {
	display: block;
	max-width: 980px;
}

body.brix-my-account :where(.lost_reset_password, .woocommerce-ResetPassword) {
	max-width: 680px;
	margin-inline: auto;
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid var(--brix-line);
	background: #fbfcfb;
}

/* WooCommerce Cart and Checkout Blocks. */
body.brix-cart-page :where(.wc-block-cart, .wp-block-woocommerce-cart),
body.brix-checkout-page :where(.wc-block-checkout, .wp-block-woocommerce-checkout) {
	color: var(--brix-ink);
	font-family: var(--brix-sans);
}

body.brix-site-system :where(.wc-block-components-sidebar, .wc-block-cart__totals-title, .wc-block-checkout__sidebar) {
	border-color: var(--brix-line) !important;
	background: #f7f9f7;
}

body.brix-site-system :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-form .wc-block-components-textarea, .wc-block-components-country-input select) {
	min-height: 48px !important;
	border-color: #b9c8c0 !important;
	border-radius: 2px !important;
	background: #fff !important;
	box-shadow: none !important;
	font-size: 16px !important;
}

body.brix-site-system :where(.wc-block-components-checkout-step, .wc-block-components-radio-control, .wc-block-cart-items, .wc-block-components-order-summary) {
	border-color: var(--brix-line) !important;
}

body.brix-site-system :where(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) {
	min-height: 48px !important;
	border: 1px solid var(--brix-green) !important;
	border-radius: 999px !important;
	background: var(--brix-green) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 750 !important;
}

body.brix-site-system :where(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button):hover,
body.brix-site-system :where(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button):focus-visible {
	background: #fff !important;
	color: var(--brix-green) !important;
}

/* Product pages keep the store's editorial restraint while exposing every
   native WooCommerce control. */
body.brix-product-page .woocommerce-breadcrumb {
	width: min(var(--brix-shell), calc(100% - 96px));
	margin: 28px auto 0;
	color: var(--brix-muted);
	font-size: 11px;
}

body.brix-product-page div.product.type-product {
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr);
	align-items: start;
	gap: 34px clamp(44px, 7vw, 96px);
	position: relative;
	left: 50%;
	width: min(var(--brix-shell), calc(100vw - 96px));
	max-width: none !important;
	margin-left: 0;
	transform: translateX(-50%);
}

body.brix-product-page .ct-container > article {
	width: 100% !important;
	max-width: none !important;
}

body.brix-product-page .site-main > .ct-container {
	grid-template-columns: minmax(0, 1fr) !important;
}

body.brix-product-page .site-main > .ct-container > aside {
	display: none !important;
}

.brix-account-access-intro {
	margin: 0 0 42px;
	padding: clamp(28px, 5vw, 58px);
	border: 1px solid var(--brix-line);
	background: var(--brix-paper);
}

.brix-account-access-intro h1 {
	max-width: 720px;
	margin: 10px 0 18px;
	font-family: var(--brix-serif);
	font-size: clamp(42px, 6vw, 72px);
	font-variation-settings: "opsz" 110, "wght" 300;
	font-weight: 300;
	letter-spacing: -.045em;
	line-height: 1;
}

.brix-account-access-intro > p:last-child {
	max-width: 720px;
	margin: 0;
	color: var(--brix-muted);
	line-height: 1.7;
}

body.brix-product-page .woocommerce-product-gallery {
	grid-column: 1;
	width: auto !important;
	min-width: 0;
	justify-self: stretch;
	margin: 0 !important;
}

body.brix-product-page .product-entry-wrapper {
	display: grid !important;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr) !important;
	align-items: start;
	gap: 34px clamp(44px, 7vw, 96px);
	width: 100% !important;
	max-width: none !important;
}

body.brix-product-page .woocommerce-product-gallery__wrapper {
	margin: 0;
	background: var(--brix-paper);
}

body.brix-product-page .woocommerce-product-gallery__image:only-child,
body.brix-product-page .woocommerce-product-gallery__image:only-child a {
	display: block;
	min-height: clamp(420px, 54vw, 690px);
}

body.brix-product-page .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
}

body.brix-product-page .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin-top: 10px !important;
}

body.brix-product-page .flex-control-thumbs li {
	width: auto !important;
	border: 1px solid transparent;
}

body.brix-product-page .flex-control-thumbs li:has(img.flex-active) {
	border-color: var(--brix-green);
}

body.brix-product-page .summary.entry-summary {
	grid-column: 2;
	min-width: 0;
	width: auto !important;
	justify-self: stretch;
	margin: 0 !important;
	padding-top: 18px;
}

@media (min-width: 961px) {
	body.brix-product-page .summary.entry-summary {
		position: sticky;
		top: 110px;
	}
}

.brix-validation-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 10px 0 0;
	padding-left: 20px;
}

.brix-validation-list a {
	color: inherit;
	font-weight: 750;
}

.brix-product-eyebrow {
	margin: 0 0 16px;
	color: var(--brix-green);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.brix-product-selection-help {
	margin: 4px 0 14px;
	color: var(--brix-muted);
	font-size: 12px;
	line-height: 1.55;
}

body.brix-product-page .summary :where(.woocommerce-product-details__short-description, .stock, .product_meta) {
	color: var(--brix-muted);
	font-size: 13px;
	line-height: 1.7;
}

body.brix-product-page .summary .product_title {
	font-size: clamp(38px, 4.4vw, 58px);
	overflow-wrap: anywhere;
}

body.brix-product-page .summary .product_meta {
	display: grid;
	gap: 6px;
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid var(--brix-line);
}

body.brix-product-page .summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-block: 30px !important;
}

body.brix-product-page .summary form.cart .quantity input {
	width: 64px;
	min-height: 46px;
	border: 1px solid #b9c8c0;
	border-radius: 0;
	background: #fff;
	text-align: center;
}

body.brix-product-page .summary form.cart .quantity.brix-quantity-ready {
	display: inline-grid;
	grid-template-columns: 44px 64px 44px;
	align-items: stretch;
}

body.brix-product-page .brix-quantity-button {
	min-width: 44px;
	min-height: 46px;
	padding: 0;
	border: 1px solid #b9c8c0;
	background: #fff;
	color: var(--brix-green-deep);
	font: 700 18px/1 var(--brix-sans);
	cursor: pointer;
	transition: background-color 160ms ease-out, color 160ms ease-out, border-color 160ms ease-out;
}

body.brix-product-page .brix-quantity-button:first-child {
	border-right: 0;
	border-radius: 999px 0 0 999px;
}

body.brix-product-page .brix-quantity-button:last-child {
	border-left: 0;
	border-radius: 0 999px 999px 0;
}

body.brix-product-page .brix-quantity-button:hover,
body.brix-product-page .brix-quantity-button:focus-visible {
	border-color: var(--brix-green);
	background: var(--brix-green-soft);
}

body.brix-product-page .brix-quantity-button:disabled {
	border-color: #d8dfdb;
	background: #f4f6f4;
	color: #829089;
	cursor: not-allowed;
}

body.brix-product-page .summary table.variations {
	width: 100%;
	margin-bottom: 18px;
}

body.brix-product-page .summary table.variations :where(th, td) {
	display: block;
	padding: 0 0 8px;
	text-align: left;
}

body.brix-product-page .summary table.variations select {
	width: 100%;
	min-height: 48px;
	border: 1px solid #b9c8c0;
	border-radius: 6px;
	background: #fff;
	color: var(--brix-green-deep);
}

body.brix-product-page .summary table.variations label {
	color: var(--brix-green-deep);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.brix-product-page .summary .single_variation_wrap {
	width: 100%;
}

body.brix-product-page .summary .woocommerce-variation {
	margin: 8px 0 18px;
	padding: 18px;
	border: 1px solid var(--brix-line);
	background: var(--brix-green-soft);
}

body.brix-product-page .summary .woocommerce-variation:empty {
	display: none;
}

body.brix-product-page .summary .woocommerce-variation-price .price {
	display: block;
	margin-bottom: 6px;
	font-size: 24px !important;
}

body.brix-product-page .summary .stock {
	margin: 6px 0 0;
	color: var(--brix-green) !important;
	font-size: 12px !important;
	font-weight: 700;
}

body.brix-product-page .summary .reset_variations {
	display: inline-flex !important;
	min-height: 44px;
	align-items: center;
	color: var(--brix-green);
	font-size: 11px;
	font-weight: 750;
}

body.brix-product-page .summary form.cart .single_add_to_cart_button {
	min-height: 48px;
	padding-inline: 28px !important;
}

body.brix-product-page :where(.woocommerce-tabs, .related, .upsells, .brix-product-materials) {
	grid-column: 1 / -1;
	width: 100%;
}

body.brix-product-page .woocommerce-tabs {
	margin-top: 50px;
	padding-top: 34px;
	border-top: 1px solid var(--brix-line);
}

body.brix-product-page .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 0 0 32px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.brix-product-page .woocommerce-tabs ul.tabs::before,
body.brix-product-page .woocommerce-tabs ul.tabs li::before,
body.brix-product-page .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.brix-product-page .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.brix-product-page .woocommerce-tabs ul.tabs a {
	display: inline-flex !important;
	min-height: 44px;
	align-items: center;
	padding: 0 !important;
	border-bottom: 1px solid transparent;
	color: var(--brix-muted) !important;
	font-size: 12px;
}

body.brix-product-page .woocommerce-tabs ul.tabs .active a {
	border-color: var(--brix-green);
	color: var(--brix-green) !important;
}

body.brix-product-page .woocommerce-Tabs-panel {
	max-width: 820px;
	color: var(--brix-muted);
	line-height: 1.75;
}

body.brix-product-page .woocommerce-Tabs-panel :where(h2, h3) {
	color: var(--brix-green-deep);
	font-family: var(--brix-serif);
	font-variation-settings: "opsz" 90, "wght" 320;
	font-weight: 320;
	letter-spacing: -.025em;
}

body.brix-product-page .woocommerce-Tabs-panel h2 {
	font-size: clamp(34px, 4vw, 48px);
}

body.brix-product-page .woocommerce-Tabs-panel h3 {
	margin-top: 34px;
	font-size: clamp(25px, 3vw, 32px);
}

body.brix-product-page .woocommerce-product-attributes {
	border-collapse: collapse;
}

body.brix-product-page .woocommerce-product-attributes :where(th, td) {
	padding: 16px 0 !important;
	border-bottom: 1px solid var(--brix-line) !important;
	background: transparent !important;
}

body.brix-product-page .woocommerce-product-attributes th {
	width: 36%;
	color: var(--brix-green-deep);
	font-size: 11px;
	letter-spacing: .05em;
	text-align: left;
	text-transform: uppercase;
}

body.brix-product-page .woocommerce-product-attributes td {
	font-size: 13px;
}

/* The catalogue is automatic WooCommerce output, refined into a restrained
   four-column BRIX grid. Empty image slots keep their real future footprint. */
body.brix-store-archive ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 44px 18px;
	padding: 0 !important;
}

body.brix-store-archive ul.products::before,
body.brix-store-archive ul.products::after {
	display: none !important;
}

body.brix-store-archive ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--brix-line);
}

body.brix-store-archive li.product .woocommerce-loop-product__link {
	display: block;
	color: var(--brix-green-deep);
	text-decoration: none;
}

body.brix-store-archive li.product .woocommerce-loop-product__link > img {
	display: block;
	width: 100%;
	margin: 0 0 18px !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #f1f3f0;
	transition: transform 180ms ease-out;
}

body.brix-store-archive li.product:hover .woocommerce-loop-product__link > img,
body.brix-store-archive li.product:focus-within .woocommerce-loop-product__link > img {
	transform: translateY(-2px);
}

body.brix-store-archive li.product .woocommerce-loop-product__title {
	min-height: 2.55em;
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-family: var(--brix-serif);
	font-size: clamp(20px, 2vw, 26px) !important;
	font-variation-settings: "opsz" 75, "wght" 330;
	font-weight: 330 !important;
	letter-spacing: -.025em;
	line-height: 1.08;
}

body.brix-store-archive li.product .price {
	margin: 0 0 14px !important;
	color: var(--brix-green) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
}

body.brix-store-archive li.product .button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	margin-top: 4px !important;
	padding-inline: 18px !important;
}

.brix-account-post-actions > a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
}

body.brix-product-page :where(.related, .upsells) > h2 {
	font-family: var(--brix-serif);
	font-size: clamp(34px, 4vw, 48px);
	font-weight: 350;
	letter-spacing: -.035em;
}

/* Comfortable touch targets across editorial and account navigation. */
:where(.brix-ui-link, .brix-text-link) {
	min-height: 44px;
}

:where(.brix-active-filters, .brix-community-active-filters) a,
.brix-pagination :where(a, span),
.brix-account-pagination .page-numbers,
.brix-system-footer nav a,
.brix-system-footer__bottom a {
	min-height: 44px;
}

.brix-system-footer nav a,
.brix-system-footer__bottom a {
	display: inline-flex;
	align-items: center;
}

@media (max-width: 960px) {
	.brix-community-submit,
	.brix-community-submit fieldset {
		grid-template-columns: 1fr;
	}

	.brix-community-submit > *,
	.brix-community-submit fieldset > * {
		grid-column: 1;
	}

	body.brix-product-page div.product.type-product {
		grid-template-columns: 1fr;
		width: min(calc(100vw - 56px), var(--brix-shell));
	}

	body.brix-product-page .product-entry-wrapper {
		grid-template-columns: 1fr !important;
		gap: 30px;
	}

	body.brix-product-page .woocommerce-product-gallery,
	body.brix-product-page .summary.entry-summary {
		grid-column: 1;
	}

	body.brix-store-archive ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.brix-my-account .woocommerce-MyAccount-navigation a {
		min-height: 44px;
	}
}

@media (max-width: 689px) {
	.brix-story-gallery {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-block: 38px 54px;
	}

	.brix-story-gallery figure:nth-child(n) {
		grid-column: 1;
	}

	.brix-external-video {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.brix-external-video > a {
		grid-column: 1;
		text-align: left;
	}

	.brix-community-submit__actions > * {
		width: 100%;
	}

	body.brix-product-page .woocommerce-breadcrumb,
	body.brix-product-page div.product.type-product {
		width: min(calc(100vw - 32px), var(--brix-shell));
	}

	body.brix-product-page div.product.type-product {
		margin-top: 30px;
		gap: 30px;
	}

	body.brix-product-page .summary.entry-summary {
		padding-top: 0;
	}

	body.brix-product-page .woocommerce-product-gallery__image:only-child,
	body.brix-product-page .woocommerce-product-gallery__image:only-child a {
		min-height: min(92vw, 470px);
	}

	body.brix-product-page .summary form.cart > .button {
		flex: 1;
	}

	body.brix-product-page .summary table.variations select {
		font-size: 16px;
	}

	body.brix-site-system :where(.wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar) {
		width: 100% !important;
		padding-inline: 0 !important;
	}

	body.brix-store-archive ul.products {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body.brix-store-archive ul.products li.product {
		display: grid;
		grid-template-columns: 116px minmax(0, 1fr);
		gap: 0 18px;
		padding-bottom: 24px;
	}

	body.brix-store-archive li.product .woocommerce-loop-product__link {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: 116px minmax(0, 1fr);
		gap: 0 18px;
	}

	body.brix-store-archive li.product .woocommerce-loop-product__link > img {
		grid-column: 1;
		grid-row: 1 / 4;
		margin: 0 !important;
	}

	body.brix-store-archive li.product .woocommerce-loop-product__title,
	body.brix-store-archive li.product .price,
	body.brix-store-archive li.product .star-rating {
		grid-column: 2;
	}

	body.brix-store-archive li.product .woocommerce-loop-product__title {
		min-height: 0;
		font-size: 22px !important;
	}

	body.brix-store-archive li.product .button {
		grid-column: 2;
		justify-self: start;
	}

	body.brix-store-archive li.product .added_to_cart {
		grid-column: 2;
		justify-self: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.brix-community-submit *,
	.brix-external-video *,
	body.brix-product-page * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* BRIX 1.5 — catalogue, product details, mini-cart and delivery polish. */
.brix-technical__visual {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 10px;
	background: #204f3f;
}

.brix-technical__visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: center;
	filter: saturate(.82) contrast(.96);
	transition: transform 700ms cubic-bezier(.2, .7, .2, 1), filter 300ms ease-out;
}

.brix-technical__visual::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgba(29, 81, 62, .12), transparent 50%);
	content: "";
	pointer-events: none;
}

.brix-technical__grid:hover .brix-technical__visual img {
	transform: scale(1.018);
	filter: saturate(.9) contrast(1);
}

body.brix-store-archive ul.products {
	align-items: stretch;
	gap: clamp(26px, 3.2vw, 44px) clamp(14px, 1.6vw, 22px);
}

body.brix-store-archive ul.products li.product {
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	padding: 0 0 20px;
	border: 1px solid var(--brix-line);
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
	transition: border-color 180ms ease-out, transform 180ms ease-out, box-shadow 180ms ease-out;
}

body.brix-store-archive ul.products li.product:hover,
body.brix-store-archive ul.products li.product:focus-within {
	border-color: #aabdb3;
	box-shadow: 0 14px 30px rgba(16, 55, 41, .07);
	transform: translateY(-3px);
}

body.brix-store-archive li.product > figure {
	margin: 0 0 20px;
	background: #f4f6f4;
}

body.brix-store-archive li.product > figure .ct-media-container {
	display: block;
	overflow: hidden;
}

body.brix-store-archive li.product > figure img,
body.brix-store-archive li.product .woocommerce-loop-product__link > img {
	display: block;
	width: 100%;
	margin: 0 !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #f4f6f4;
	transition: transform 260ms ease-out;
}

body.brix-store-archive li.product img[src*="woocommerce-placeholder"],
body.brix-product-page img[src*="woocommerce-placeholder"] {
	padding: 22%;
	opacity: .26;
}

body.brix-store-archive li.product:hover > figure img,
body.brix-store-archive li.product:focus-within > figure img {
	transform: scale(1.018);
}

body.brix-store-archive li.product > :not(figure) {
	margin-right: 16px !important;
	margin-left: 16px !important;
}

body.brix-store-archive li.product .woocommerce-loop-product__title {
	min-height: 3.35em;
	margin-bottom: 12px !important;
	font-size: clamp(18px, 1.55vw, 23px) !important;
	line-height: 1.12;
}

body.brix-store-archive li.product .price {
	margin-bottom: 12px !important;
	font-size: 14px !important;
}

body.brix-store-archive li.product .entry-meta {
	order: 4;
	width: calc(100% - 32px);
	margin-top: 2px !important;
	margin-bottom: 16px !important;
	padding: 0 !important;
	text-align: center;
}

body.brix-store-archive li.product .entry-meta li {
	margin: 0 !important;
}

body.brix-store-archive li.product .entry-meta a {
	display: inline-flex;
	min-height: 26px;
	align-items: center;
	justify-content: center;
	padding: 4px 9px;
	border: 1px solid #d6e0da;
	border-radius: 999px;
	color: var(--brix-green);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .065em;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

body.brix-store-archive li.product .ct-woo-card-actions {
	order: 5;
	width: calc(100% - 32px);
	margin-top: auto !important;
}

body.brix-store-archive li.product .ct-woo-card-actions .button {
	display: flex;
	width: 100%;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	border: 1px solid var(--brix-green) !important;
	border-radius: 8px !important;
	background: var(--brix-green) !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 750 !important;
	text-align: center;
}

body.brix-store-archive li.product .ct-woo-card-actions .button:hover,
body.brix-store-archive li.product .ct-woo-card-actions .button:focus-visible {
	background: #fff !important;
	color: var(--brix-green) !important;
}

body.brix-product-page .summary form.cart {
	align-items: stretch;
}

body.brix-product-page .summary form.cart .quantity {
	display: inline-flex !important;
	min-height: 48px;
	align-items: stretch;
	border: 1px solid #b9c8c0;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

body.brix-product-page .summary form.cart .quantity input.qty {
	width: 58px !important;
	min-height: 46px;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.brix-product-page .summary form.cart .quantity :where(.ct-increase, .ct-decrease, .plus, .minus) {
	display: inline-flex !important;
	width: 44px;
	min-width: 44px;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	background: #fff !important;
	color: var(--brix-green-deep) !important;
}

body.brix-product-page .summary form.cart .quantity :where(.ct-increase, .plus) {
	border-left: 1px solid #d6e0da !important;
}

body.brix-product-page .summary form.cart .quantity :where(.ct-decrease, .minus) {
	border-right: 1px solid #d6e0da !important;
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information {
	max-width: 1040px;
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information > h2 {
	max-width: 760px;
	margin-bottom: 28px;
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information .shop_attributes,
body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes {
	display: block;
	width: 100%;
	border: 1px solid var(--brix-line);
	border-radius: 10px;
	border-collapse: separate;
	overflow: hidden;
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes tbody {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes tr {
	display: grid;
	grid-template-columns: minmax(128px, .72fr) minmax(0, 1.28fr);
	min-width: 0;
	border-bottom: 1px solid var(--brix-line);
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes tr:nth-child(odd) {
	border-right: 1px solid var(--brix-line);
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes :where(th, td) {
	display: flex;
	width: auto;
	min-width: 0;
	align-items: center;
	margin: 0;
	padding: 18px 20px !important;
	border: 0 !important;
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes th {
	background: #f4f6f4 !important;
	font-size: 10px;
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes td {
	border-left: 1px solid var(--brix-line) !important;
	font-size: 14px;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes p {
	margin: 0;
}

/* Blocksy header mini-cart, rebuilt in the BRIX white and green palette. */
body.brix-site-system .ct-header-cart .ct-cart-content {
	min-width: min(380px, calc(100vw - 24px));
	padding: 22px;
	border: 1px solid #cbd7d0;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(12, 45, 34, .16);
	color: var(--brix-ink);
}

body.brix-site-system .ct-header-cart .woocommerce-mini-cart {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
}

body.brix-site-system .ct-header-cart .mini_cart_item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) 44px;
	gap: 14px;
	align-items: center;
	min-height: 104px;
	padding: 10px 0 18px !important;
	border-bottom: 1px solid var(--brix-line);
}

body.brix-site-system .ct-header-cart .mini_cart_item .ct-media-container {
	grid-column: 1;
	width: 72px;
	height: 72px;
	margin: 0;
	border-radius: 8px;
	background: #f4f6f4;
	overflow: hidden;
}

body.brix-site-system .ct-header-cart .mini_cart_item .ct-media-container img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

body.brix-site-system .ct-header-cart .mini_cart_item .product-data {
	grid-column: 2;
	min-width: 0;
}

body.brix-site-system .ct-header-cart .mini_cart_item .product-title {
	display: block;
	margin: 0 0 7px;
	color: var(--brix-green-deep);
	font-family: var(--brix-serif);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.18;
	text-decoration: none;
}

body.brix-site-system .ct-header-cart .mini_cart_item .quantity {
	color: var(--brix-muted);
	font-size: 12px;
	font-weight: 650;
}

body.brix-site-system .ct-header-cart .mini_cart_item .remove {
	display: inline-flex;
	grid-column: 3;
	grid-row: 1;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	position: static;
	border: 1px solid transparent;
	border-radius: 50%;
	color: #6d7772;
}

body.brix-site-system .ct-header-cart .mini_cart_item .remove:hover,
body.brix-site-system .ct-header-cart .mini_cart_item .remove:focus-visible {
	border-color: #cbd7d0;
	background: var(--brix-green-soft);
	color: var(--brix-green);
}

body.brix-site-system .ct-header-cart .woocommerce-mini-cart__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	margin: 0 !important;
	padding: 20px 0 16px !important;
	border: 0 !important;
	color: var(--brix-green-deep);
}

body.brix-site-system .ct-header-cart .woocommerce-mini-cart__total strong {
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.brix-site-system .ct-header-cart .woocommerce-mini-cart__total .amount {
	font-size: 16px;
	font-weight: 800;
}

body.brix-site-system .ct-header-cart .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0 !important;
}

body.brix-site-system .ct-header-cart .woocommerce-mini-cart__buttons .button {
	display: flex;
	width: 100%;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	border: 1px solid var(--brix-green) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--brix-green) !important;
	font-size: 11px !important;
	font-weight: 750 !important;
}

body.brix-site-system .ct-header-cart .woocommerce-mini-cart__buttons .checkout {
	background: var(--brix-green) !important;
	color: #fff !important;
}

body.brix-site-system .ct-header-cart .woocommerce-mini-cart__buttons .button:hover,
body.brix-site-system .ct-header-cart .woocommerce-mini-cart__buttons .button:focus-visible {
	background: var(--brix-green-soft) !important;
	color: var(--brix-green-deep) !important;
}

.brix-delivery-notice {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px 18px;
	width: min(var(--brix-shell), calc(100% - 48px));
	margin: 0 auto 30px;
	padding: 18px 20px;
	border: 1px solid #bfd0c6;
	border-radius: 10px;
	background: var(--brix-green-soft);
	color: var(--brix-green-deep);
}

.brix-delivery-notice strong {
	font-size: 11px;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.brix-delivery-notice span {
	font-size: 13px;
	line-height: 1.55;
}

@media (max-width: 960px) {
	body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes tbody {
		grid-template-columns: 1fr;
	}

	body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes tr:nth-child(odd) {
		border-right: 0;
	}
}

@media (max-width: 689px) {
	.brix-technical__visual img {
		min-height: 68vw;
	}

	body.brix-store-archive ul.products li.product {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 0 16px;
		padding: 12px;
		border-radius: 8px;
	}

	body.brix-store-archive li.product > figure {
		grid-column: 1;
		grid-row: 1 / 6;
		margin: 0;
		border-radius: 6px;
		overflow: hidden;
	}

	body.brix-store-archive li.product > :not(figure) {
		grid-column: 2;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.brix-store-archive li.product .woocommerce-loop-product__title {
		min-height: 0;
		margin-bottom: 8px !important;
		font-size: 20px !important;
	}

	body.brix-store-archive li.product .woocommerce-loop-product__title .woocommerce-loop-product__link {
		display: inline;
		grid-column: auto;
	}

	body.brix-store-archive li.product img[src*="woocommerce-placeholder"] {
		padding: 24%;
		opacity: .28;
	}

	body.brix-store-archive li.product .entry-meta {
		width: 100%;
		margin-bottom: 12px !important;
		text-align: left;
	}

	body.brix-store-archive li.product .entry-meta a {
		justify-content: flex-start;
		text-align: left;
	}

	body.brix-store-archive li.product .ct-woo-card-actions {
		width: 100%;
	}

	body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes tr {
		grid-template-columns: 1fr;
	}

	body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes :where(th, td) {
		padding: 13px 15px !important;
	}

	body.brix-product-page .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes td {
		border-top: 1px solid var(--brix-line) !important;
		border-left: 0 !important;
	}

	body.brix-site-system .ct-header-cart .ct-cart-content {
		padding: 16px;
	}

	body.brix-site-system .ct-header-cart .mini_cart_item {
		grid-template-columns: 64px minmax(0, 1fr) 44px;
		gap: 10px;
	}

	body.brix-site-system .ct-header-cart .mini_cart_item .ct-media-container {
		width: 64px;
		height: 64px;
	}

	.brix-delivery-notice {
		grid-template-columns: 1fr;
		width: calc(100% - 32px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.brix-technical__visual img,
	body.brix-store-archive ul.products li.product,
	body.brix-store-archive li.product > figure img {
		transition: none;
	}

	.brix-technical__grid:hover .brix-technical__visual img,
	body.brix-store-archive ul.products li.product:hover,
	body.brix-store-archive li.product:hover > figure img {
		transform: none;
	}
}
