/**
 * Face Brick Calculator — structural styles, plus the styling controls
 * added on top (section title rule, fields, option buttons, help text).
 * Container is full-width by design — width is managed by whatever
 * wraps this widget on the page, not by the widget itself.
 */

.fbc-container-b3e91a7c {
	display: flex;
	flex-direction: column;
	row-gap: 28px;
	width: 100%;
}

.fbc-section-b3e91a7c {
	display: flex;
	flex-direction: column;
	row-gap: 12px;
}

/* Title + trailing horizontal rule, e.g. "BRICK TYPE ————————". The
   rule uses currentColor at reduced opacity so it always reads as a
   subtle line under whatever Title Color is set, without needing its
   own color control. */
.fbc-section-title-b3e91a7c {
	display: flex;
	align-items: center;
	column-gap: 12px;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 14px;
}

.fbc-section-title-b3e91a7c::after {
	content: '';
	flex: 1 1 auto;
	height: 1px;
	background: currentColor;
	opacity: 0.3;
}

.fbc-subtext-b3e91a7c,
.fbc-hint-b3e91a7c,
.fbc-field-note-b3e91a7c {
	margin: 0;
	font-size: 13px;
	opacity: 0.75;
}

.fbc-hint-b3e91a7c,
.fbc-field-note-b3e91a7c {
	margin-top: 6px;
}

.fbc-label-b3e91a7c {
	display: block;
	font-size: 14px;
	margin-bottom: 8px;
}

.fbc-label-b3e91a7c .optional-text {
	color: #949596;
}

.fbc-select-b3e91a7c,
.fbc-input-b3e91a7c {
	width: 100%;
	box-sizing: border-box;
	background: #FFFEFF;
}

.fbc-select-b3e91a7c {
  /* Remove the default arrow */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	
	/* Add custom arrow background */
  background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 7"><defs><style> .cls-1 { fill: %23211e1c; } </style></defs><path id="general_arrow_filled" data-name="general arrow filled" class="cls-1" d="M4,7L0,0h8l-4,7Z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 8px;

  /* Add padding so text doesn't overlap the arrow */
  padding-right: 40px !important; 
}

/* Brick format callout — hardcoded brand treatment (not a style control),
   e.g. "50 bricks per m² · 12 mm mortar joint" shown under the dropdown
   when the Notice field in Brick Formats is filled in. */
.fbc-format-notice-b3e91a7c {
	display: flex;
	align-items: center;
	column-gap: 8px;
	margin-top: 2px;
	padding: 10px 18px;
	border-radius: 2px;
	background: #E0D5D3;
	color: #949596;
	font-size: 13px;
}

.fbc-format-notice-icon-b3e91a7c {
	display: flex;
	flex: 0 0 auto;
	line-height: 0;
}

.fbc-format-notice-icon-b3e91a7c svg {
	display: block;
	width: 16px;
	height: 16px;
}

/* ---------- Toggle groups (Wall Type / Wall Area mode) ---------- */
.fbc-toggle-group-b3e91a7c {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.fbc-toggle-btn-b3e91a7c {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 8px;
	cursor: pointer;
	padding: 14px 16px;
	background: #FFFEFF;
	border: 1px solid #DDDFE1;
	border-radius: 2px;
	color: #949596;
	text-align: center;
	font-size: 14px;
	line-height: 1.3;
}

.fbc-toggle-icon-b3e91a7c {
	display: flex;
	flex: 0 0 auto;
	line-height: 0;
}

.fbc-toggle-icon-b3e91a7c svg {
	display: block;
	width: 12px;
	height: 12px;
}

.fbc-toggle-active-b3e91a7c {
	border-color: #70583E;
	color: #70583E;
	font-weight: 600;
}

/* ---------- Wall Area field groups ---------- */
.fbc-field-group-b3e91a7c {
	display: flex;
	flex-direction: column;
	row-gap: 16px;
}

.fbc-field-group-b3e91a7c[hidden] {
	display: none;
}

.fbc-field-row-b3e91a7c {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.fbc-field-b3e91a7c {
	display: flex;
	flex-direction: column;
}

.fbc-error-b3e91a7c {
	margin: 0;
	color: #b3261e;
	font-size: 13px;
}

.fbc-error-b3e91a7c[hidden] {
	display: none;
}

/* ---------- Calculate button ---------- */
.fbc-calculate-btn-b3e91a7c {
	cursor: pointer;
	padding: 10px 16px;
	border: 1px solid #949596;
	border-radius: 2px;
	background: transparent;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.1s ease-in-out;
}

.fbc-calculate-btn-b3e91a7c:hover {
	background-color: #FFFEFF;
}

/* ---------- Results ---------- */
.fbc-results-b3e91a7c[hidden] {
	display: none;
}

.fbc-results-b3e91a7c {
	display: flex;
	flex-direction: column;
	row-gap: 14px;
}

.fbc-outdated-b3e91a7c {
	margin: 0;
	padding: 10px 12px;
	background: rgba(179, 38, 30, 0.08);
	color: #b3261e;
	font-size: 13px;
}

.fbc-outdated-b3e91a7c[hidden] {
	display: none;
}

.fbc-results-grid-b3e91a7c {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.fbc-result-card-b3e91a7c {
	display: flex;
	flex-direction: column;
	row-gap: 6px;
	padding: 16px;
	background: #FFFFFF;
	border-radius: 10px;
}

.fbc-result-card-b3e91a7c.fbc-result-card-bricks-b3e91a7c {
	background-color: #E0D5D3;
	color: #6F2F21;
}

.fbc-result-card-b3e91a7c.fbc-result-card-sand-b3e91a7c {
	padding-bottom: 26px;
}

.fbc-result-card-wide-b3e91a7c {
	grid-column: 1 / -1;
}

.fbc-result-label-b3e91a7c {
	font-size: 14px;
	line-height: 18px;
	color: #949596;
}

.fbc-result-value-b3e91a7c {
	font-size: 32px;
	line-height: 34px;
	font-weight: 500;
}

/* Sand card: value+unit and caption stack per side, a vertical divider
   sits between the two sides with generous breathing room either side
   (not a hard right-align to the card edge — matches the reference
   design, where the wheelbarrow figure just sits clearly to the right
   of the sand figure, not pinned to the card's far edge). */
.fbc-result-sand-row-b3e91a7c {
	display: flex;
	align-items: stretch;
	column-gap: 26px;
	row-gap: 16px;
	flex-wrap: nowrap;
	margin-top: 6px;
	justify-content: center;
}
@media (max-width:600px) {
	.fbc-result-sand-row-b3e91a7c {
		flex-direction: column;
	}
}

.fbc-result-sand-col-b3e91a7c {
	display: flex;
	flex-direction: column;
	row-gap: 4px;
	width: 50%;
	flex-grow: 1;
}

@media (max-width:600px) {
	.fbc-result-sand-col-b3e91a7c {
		width: 100%;
	}
}

.fbc-result-divider-b3e91a7c {
	width: 1px;
	background: #70583E;
	opacity: 0.2;
	flex: 0 0 auto;
}

@media (max-width:600px) {
	.fbc-result-divider-b3e91a7c {
		width: 100%;
		height:1px;
	}
}

.fbc-result-sub-b3e91a7c {
	font-size: 14px;
	line-height: 18px;
	color: #949596;
	font-weight: 400;
}

.fbc-result-caption-b3e91a7c {
	font-size: 12px;
	line-height: 14px;
	color: #949596;
}

.fbc-results-summary-b3e91a7c {
	margin: 0;
	font-size: 13px;
	opacity: 0.65;
}

/* ---------- Notice ---------- */
.fbc-notice-b3e91a7c {
	padding: 20px;
	background: #E6E0DA;
	border-radius: 2px;
	font-size: 13px;
}

.fbc-notice-b3e91a7c ul {
	margin: 0;
	padding-left: 20px;
}

/* ---------- Editor-only placeholder notice ---------- */
.fbc-editor-notice-b3e91a7c {
	padding: 40px 20px;
	margin-bottom: 20px;
	background: #fff4e5;
	border: 1px dashed #d9822b;
	color: #7a4a05;
	font-size: 14px;
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
	.fbc-toggle-group-b3e91a7c,
	.fbc-field-row-b3e91a7c,
	.fbc-results-grid-b3e91a7c {
		grid-template-columns: 1fr;
	}

	/*.fbc-result-divider-b3e91a7c {
		display: none;
	}*/
}
