/* Brands International — Core: behaviour styles used by the Theme Builder templates. */

/* Fallback for the server-side check in includes/loops.php: a section marked bi-hide-if-empty disappears
   when its loop or gallery produced nothing (e.g. a brand with no products yet). A filled-in field wrapped in
   .bi-has-content counts as content too, as on the server (category pages: brand chips, full description; until
   2026-10-26 those were hidden here, and the hidden white Description section took the Gallery's top spacing). */
.bi-hide-if-empty:has(.not-found-title),
.bi-hide-if-empty:not(:has(.bi-loop-item, .et_pb_gallery_item, .bi-has-content)) {
	display: none !important;
}

/* Brand / category chips (bi_post_term_chips), e.g. "Used in this project". */
.bi-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.bi-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--gcid-bi-stone, #CFC6B6);
	border-radius: 22px;
	color: var(--gcid-bi-ink, #231F20) !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 500;
}
.bi-chip:hover {
	border-color: var(--gcid-bi-copper, #96694C);
}

/* Finish swatches (includes/finish-swatches.php): a picture tile per finish in "Materials and finishes". The
   layout's own chip style (pill, border, padding) is undone with !important, as Theme Builder pages prefix it
   with #et-boc. */
.bi-chips.bi-swatches {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 14px 12px !important;
}
/* Finishes span the details box under About and Materials (user, 2026-11-08), so a long list no longer stretches
   the narrow column: up to about 11 tiles a row at 1100 px. */
@media (min-width: 981px) {
	.bi-chips.bi-swatches {
		grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
	}
}
.bi-chips.bi-swatches .bi-swatch {
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	color: var(--gcid-bi-ink, #231F20);
}
.bi-chips.bi-swatches .bi-swatch-img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1;
	object-fit: cover;
	padding: 0 !important;
	border: 1px solid var(--gcid-bi-sand, #E2D8C6) !important;
	border-radius: 6px !important;
	background: var(--gcid-bi-linen, #F4EFE6) !important;
}
/* Finishes in two columns on desktop (user, 10 Nov 2026: long lists made the section too tall). Each group stays whole
   in its column; the browser balances the two columns. */
@media (min-width: 981px) {
	.bi-fgroups--cols {
		column-count: 2;
		column-gap: 48px;
	}
	.bi-fgroups--cols > .bi-fgroup,
	.bi-fgroups--cols > .bi-fline {
		break-inside: avoid;
	}
	.bi-fgroups--cols > :first-child {
		margin-top: 0 !important;
	}
}

/* A swatch that is a drawing or cut-out (Déco profiles, 10 Nov 2026): whole, on white. */
.bi-chips.bi-swatches .bi-swatch-img[data-bi-cutout] {
	box-sizing: border-box;
	object-fit: contain;
	padding: 8% !important;
	background: #FFFFFF !important;
}
.bi-chips.bi-swatches .bi-swatch-name {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 12px !important;
	overflow-wrap: anywhere;
}

.bi-fline.bi-fline-sw {
	display: flex !important;
	align-items: center;
	gap: 12px;
}
.bi-fline.bi-fline-sw .bi-swatch-img {
	flex: none;
	width: 48px !important;
	height: 48px !important;
	object-fit: cover;
	border: 1px solid var(--gcid-bi-sand, #E2D8C6);
	border-radius: 6px;
}

/* A plain link styled like the "Button · Outline" preset (used where the link only exists when a field is filled,
   e.g. the product spec sheet). */
.bi-btn-outline {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-height: 52px;
	padding: 0 32px;
	border: 1px solid var(--gcid-bi-ink, #231F20);
	background: var(--gcid-bi-white, #fff);
	color: var(--gcid-bi-ink, #231F20) !important;
	font-family: Jost, system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em; /* as the button presets: normal capitals, light tracking (2026-10-26) */
	text-decoration: none !important;
}
.bi-btn-outline:hover {
	background: var(--gcid-bi-ink, #231F20);
	color: var(--gcid-bi-white, #fff) !important;
}

/* Gallery tiles served from the 768/1600 versions (includes/images.php, data-bi-tile): crop them to Divi's 400:284
   tile shape so every tile is the same size. :where() keeps this at zero specificity, so a gallery's own shape
   (e.g. the square product gallery) still wins. */
:where(.et_pb_gallery_image img[data-bi-tile]) {
	width: 100%;
	height: auto;
	aspect-ratio: 400 / 284;
	object-fit: cover;
}

/* Cut-out photos (a product on white or transparent; includes/cutouts.php, user 2026-11-08): keep the frame's shape but
   show the whole product on white instead of cropping it to fill (a tall floor lamp became a thin slice of pole).
   The ID-free :not()s outrank the crop rules above and Divi's image rules on Theme Builder pages. */
img[data-bi-cutout]:not(#bi-a):not(#bi-b) {
	box-sizing: border-box;
	padding: 6%;
	object-fit: contain;
	background: #FFFFFF;
}
.bi-photos-thumb img[data-bi-cutout]:not(#bi-a):not(#bi-b) {
	padding: 4px;
}
.bi-lightbox-image[data-bi-cutout]:not(#bi-a):not(#bi-b) {
	padding: 24px;
}

/* Picture grids in a product's main text: "Profiles" and "Colours" (Déco, user 2026-11-09; tools/remote/deco-content.php).
   Colours are square crops; profiles (drawings on white) show whole. The :not(#id)s beat Divi's image rules. */
.bi-content-tiles:not(#bi-a) {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 16px;
	margin: 12px 0 32px;
}
.bi-content-tiles--profiles:not(#bi-a) {
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}
.bi-content-tiles figure:not(#bi-a) {
	margin: 0;
}
.bi-content-tiles img:not(#bi-a):not(#bi-b) {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}
.bi-content-tiles--profiles img:not(#bi-a):not(#bi-b) {
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #FFFFFF;
}
.bi-content-tiles figcaption:not(#bi-a) {
	margin-top: 6px;
	font-size: 14px;
	line-height: 1.3;
}

/* Divi hides grid tiles in a stylesheet and shows them from its script. On a page's first visit that stylesheet
   arrives after the script has run, so every tile stayed hidden until a refresh (2026-11-02). Tiles show by default;
   Divi's "per page" still hides the rest with an inline style, which beats this rule. The :not(#id)s only raise the
   specificity above Divi's ".et-db #et-boc" copies. */
.et_pb_gallery_grid .et_pb_gallery_item:not(#bi-a):not(#bi-b) {
	display: block;
}

/* A project's Detail box moved into its gallery (assets/project-detail.js): one full-width grid row, spaced like the
   tiles. Out of its section, the row would otherwise take Divi's row width and padding. */
.et_pb_gallery_items > .et_pb_row.bi-detail-in-gallery {
	grid-column: 1 / -1;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 30px;
}
.et_pb_gallery_items > .et_pb_row.bi-detail-in-gallery::after {
	display: none; /* Divi's clearfix: in a flex row it takes a gap, so the panel stopped 30 px short */
}

/* Category "About" section (Linen): a line above when it follows the Linen products section. */
.et_pb_section:has(.bi-loop-products) + .et_pb_section.bi-cat-about {
	border-top: 1px solid var(--gcid-bi-stone);
}

/* Project banner and Detail photos open the project's lightbox (assets/project-detail.js). */
.bi-lightbox-opener {
	cursor: zoom-in;
}
.bi-lightbox-opener:focus-visible {
	outline: 2px solid var(--gcid-bi-copper);
	outline-offset: -4px;
}

/* Load more under a gallery (includes/gallery-more.php) and under product cards (includes/products-more.php). */
.bi-gallery-more,
.bi-products-more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 32px;
}
.bi-products-more {
	grid-column: 1 / -1; /* the cards' column is a grid */
	margin-top: 16px;
}
.bi-gallery-more button,
.bi-products-more button {
	cursor: pointer;
}
.bi-gallery-more button[aria-busy="true"],
.bi-products-more button[aria-busy="true"] {
	opacity: 0.6;
	cursor: progress;
}
/* Collections (user, 2026-11-10): the one-line intro under the "Collections" heading (brand, category, floor-type pages)
   and the family line under a collection page's title. They sit in the heading / title text modules, whose presets size
   every p, so the ID-weight selectors win on Theme Builder pages. */
.bi-collections-intro,
.et-db #et-boc .et-l p.bi-collections-intro {
	margin: 8px 0 0;
	padding: 0;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
	color: var(--gcid-bi-ink-soft, #5a5550);
}
.bi-collection-family,
.et-db #et-boc .et-l p.bi-collection-family {
	margin: 12px 0 0;
	padding: 0;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
	color: var(--gcid-bi-copper-deep, #8a5a3c);
}
/* Space page: a heading over each main category's cards (includes/spaces.php). Divi's ".et-db #et-boc .et-l h2"
   sets h2 sizes on Theme Builder pages, hence the ID. */
.bi-space-group,
.et-db #et-boc .et-l h2.bi-space-group {
	grid-column: 1 / -1; /* the cards' column is a grid */
	margin: 24px 0 -8px;
	padding: 24px 0 0;
	border-top: 1px solid var(--gcid-bi-stone, #ddd);
	font-size: var(--gvid-bi-h3, 26px);
	line-height: 1.2;
}
@media (max-width: 767px) {
	.bi-space-group,
	.et-db #et-boc .et-l h2.bi-space-group {
		font-size: var(--gvid-bi-h3-phone, 22px);
	}
}
.et-db #et-boc .et-l .et_pb_text + h2.bi-space-group,
.et_pb_text + .bi-space-group,
h2.bi-products-group:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
.bi-gallery-count {
	margin: 0;
	padding: 0;
	font-size: 14px;
}

/* Product page: the main photo opens the lightbox; a scrollable bar of thumbnails under it (includes/product-photos.php). */
.bi-photos-open {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
}
.bi-photos-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
}
.bi-photos-track {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	gap: 10px;
	margin: 0;
	padding: 2px !important;
	list-style: none !important;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}
.bi-photos-track li {
	flex: none;
	padding: 0;
	scroll-snap-align: start;
}
.bi-photos-thumb {
	display: block;
	width: 96px;
	height: 96px;
	padding: 0;
	border: 2px solid transparent;
	background: none;
	cursor: pointer;
}
.bi-photos-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bi-photos-thumb[aria-current="true"] {
	border-color: var(--gcid-bi-copper, #96694C);
}
.bi-photos-arrow {
	flex: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--gcid-bi-ink, #231F20);
	border-radius: 50%;
	background: transparent;
	color: var(--gcid-bi-ink, #231F20);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.bi-photos-arrow:disabled {
	opacity: 0.3;
	cursor: default;
}
.bi-photos-fits .bi-photos-arrow {
	display: none;
}
.bi-photos-open:focus-visible,
.bi-photos-thumb:focus-visible,
.bi-photos-arrow:focus-visible,
.bi-photos-track:focus-visible,
.bi-lightbox button:focus-visible {
	outline: 2px solid var(--gcid-bi-copper, #96694C);
	outline-offset: 2px;
}
@media (max-width: 767px) {
	.bi-photos-arrow {
		display: none;
	}
	.bi-photos-thumb {
		width: 72px;
		height: 72px;
	}
}
.bi-lightbox {
	width: 100vw;
	max-width: 100vw;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0;
	padding: 56px 16px 96px; /* room below for the description and count */
	box-sizing: border-box;
	border: 0;
	background: rgba(20, 18, 19, 0.94);
	color: #FFFFFF;
}
.bi-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}
.bi-lightbox-image {
	max-width: min(100%, 1400px);
	max-height: 100%;
	object-fit: contain;
}
.bi-lightbox button {
	position: absolute;
	width: 48px;
	height: 48px;
	border: 1px solid #FFFFFF;
	border-radius: 50%;
	background: rgba(20, 18, 19, 0.6);
	color: #FFFFFF;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.bi-lightbox-close {
	top: 8px;
	right: 16px;
}
.bi-lightbox-prev,
.bi-lightbox-next {
	top: calc(50% - 24px);
}
.bi-lightbox-prev {
	left: 16px;
}
.bi-lightbox-next {
	right: 16px;
}
.bi-lightbox-text {
	position: absolute;
	bottom: 12px;
	left: 16px;
	right: 16px;
	text-align: center;
}
.bi-lightbox .bi-lightbox-description,
.bi-lightbox .bi-lightbox-count {
	margin: 0;
	padding: 0;
	color: #FFFFFF;
	font-size: 14px;
	line-height: 1.4;
}
.bi-lightbox .bi-lightbox-description {
	margin-bottom: 4px;
	font-size: 16px;
}

/* Contact forms: the spam honeypot field (includes/form-protection.php) is kept off screen, away from people and
   screen readers; bots still fill it in. */
.bi-hp {
	position: absolute !important;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Cookie banner (includes/cookie-consent.php): bottom of the screen, shown while <html> has bi-consent-open.
   Reject and Accept are equally prominent, as consent rules require. */
.bi-consent {
	display: none;
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 100000;
	max-width: 960px;
	margin: 0 auto;
	padding: 20px 24px;
	gap: 16px 32px;
	align-items: center;
	background: var(--gcid-bi-ink, #231F20);
	color: var(--gcid-bi-sand, #E8E0D3);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
	font-family: Jost, system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.55;
}
.bi-consent-open .bi-consent {
	display: flex;
}
.bi-consent p {
	margin: 0;
	padding: 0;
	color: inherit;
}
.bi-consent .bi-consent-title {
	margin-bottom: 4px;
	font-family: var(--bi-font-display);
	font-size: 20px;
	color: var(--gcid-bi-white, #fff);
}
.bi-consent a {
	color: var(--gcid-bi-copper-light, #E2C7AE);
	text-decoration: underline;
}
.bi-consent-buttons {
	display: flex;
	flex: none;
	gap: 12px;
}
.bi-consent button,
.bi-embed-show {
	min-width: 120px;
	padding: 14px 24px;
	border: 1px solid var(--gcid-bi-white, #fff);
	border-radius: 0;
	font-family: Jost, system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	cursor: pointer;
}
.bi-consent-reject {
	background: transparent;
	color: var(--gcid-bi-white, #fff);
}
.bi-consent-accept {
	background: var(--gcid-bi-white, #fff);
	color: var(--gcid-bi-ink, #231F20);
}
.bi-consent button:hover,
.bi-consent button:focus-visible {
	outline: 2px solid var(--gcid-bi-copper, #96694C);
	outline-offset: 2px;
}
@media (max-width: 767px) {
	.bi-consent {
		flex-direction: column;
		align-items: stretch;
		padding: 18px;
		font-size: 14px;
	}
	.bi-consent-buttons button {
		flex: 1 1 0;
	}
}

/* Google Maps embeds held back until consent: the placeholder covers the map's space until it loads. */
.bi-embed {
	position: relative;
}
.bi-embed-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 24px;
	background: var(--gcid-bi-sand, #E8E0D3);
	color: var(--gcid-bi-slate, #35414C);
	text-align: center;
	font-size: 15px;
}
.bi-embed-placeholder p {
	margin: 0;
	padding: 0;
}
.bi-embed-show {
	background: var(--gcid-bi-ink, #231F20);
	color: var(--gcid-bi-white, #fff);
	border-color: var(--gcid-bi-ink, #231F20);
}
.bi-embed-on .bi-embed-placeholder {
	display: none;
}

/* WhatsApp chat button (includes/whatsapp.php), bottom right; it moves up while the cookie banner is open. */
.bi-whatsapp {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25D366;
	color: #fff;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
	transition: transform 0.2s;
}
.bi-whatsapp:hover,
.bi-whatsapp:focus-visible {
	transform: scale(1.08);
	color: #fff;
}
.bi-whatsapp svg {
	width: 30px;
	height: 30px;
}
.bi-consent-open .bi-whatsapp {
	display: none;
}
@media (max-width: 767px) {
	.bi-whatsapp {
		right: 14px;
		bottom: 14px;
		width: 50px;
		height: 50px;
	}
}

/* Product finishes (one per line in the product record). */
.bi-finishes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none !important;
	margin: 0;
	padding: 0 !important;
}
.bi-finishes li {
	padding: 6px 14px;
	border: 1px solid var(--gcid-bi-stone, #CFC6B6);
	border-radius: 18px;
	font-size: 14px;
}

/* "In our showroom" badge on product cards: the loop custom-field token renders "Yes" when ticked,
   nothing when not (includes/loops.php); the label comes from CSS so the raw value never shows. */
.bi-showroom-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 12px;
	background: #231F20;
	color: #FFFFFF;
	font-family: Jost, system-ui, sans-serif;
	font-size: 0;
	letter-spacing: 0.08em;
}
.bi-showroom-badge::after {
	content: 'In our showroom';
	font-size: 12px;
	font-weight: 600;
}
.bi-showroom-badge:empty,
.bi-showroom-badge:not(:has(*)):empty {
	display: none;
}

/* Client reviews band (includes/reviews.php, d5.reviews_section): arrows beside the heading, gold stars. */
.bi-reviews-nav {
	display: flex;
	gap: 8px;
}
.bi-reviews-nav button {
	width: 48px;
	height: 48px;
	border: 1px solid var(--gcid-bi-ink, #231F20);
	border-radius: 50%;
	background: transparent;
	color: var(--gcid-bi-ink, #231F20);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}
.bi-reviews-nav button:hover:not(:disabled) {
	background: var(--gcid-bi-ink, #231F20);
	color: #FFFFFF;
}
.bi-reviews-nav button:focus-visible {
	outline: 2px solid var(--gcid-bi-copper, #96694C);
	outline-offset: 2px;
}
.bi-reviews-nav button:disabled {
	opacity: 0.3;
	cursor: default;
}
.bi-reviews-fits .bi-reviews-nav {
	display: none;
}
.bi-stars {
	font-size: 20px;
	letter-spacing: 0.12em;
	line-height: 1;
}
.bi-stars-on {
	color: #B8862B;
}
.bi-stars-off {
	color: var(--gcid-bi-sand, #E8E0D3);
}
/* Message after a newsletter / trade confirmation link (includes/newsletter.php), top of the page. */
.bi-signup-notice {
	padding: 16px 5%;
	background: var(--gcid-bi-ink, #231F20);
	color: #FFFFFF;
	font-family: Jost, system-ui, sans-serif;
	font-size: 16px;
	text-align: center;
}
.bi-signup-notice--warn {
	background: var(--gcid-bi-copper-deep, #7E5238);
}
.bi-signup-confirm p {
	margin: 0 0 12px;
	color: #FFFFFF;
}
.bi-signup-confirm button {
	padding: 12px 24px;
	border: 0;
	background: var(--gcid-bi-copper, #96694C);
	color: #FFFFFF;
	font-family: Jost, system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	cursor: pointer;
}
.bi-signup-confirm button:hover,
.bi-signup-confirm button:focus-visible {
	background: #FFFFFF;
	color: var(--gcid-bi-ink, #231F20);
}
/* A form dropped by the spam checks (includes/form-protection.php) says it was not sent. */
.bi-form-blocked {
	margin: 0 0 16px;
	padding: 12px 16px;
	border-left: 3px solid var(--gcid-bi-copper-deep, #7E5238);
	background: #FFFFFF;
	color: var(--gcid-bi-ink, #231F20);
	font-size: 15px;
	line-height: 1.5;
	text-align: left;
}
/* Links inside the newsletter and trade notes are underlined, not only coloured (WCAG 1.4.1; accessibility check
   2026-10-26). */
.bi-form-note a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
/* The review slider can be scrolled with the keyboard (it is focusable, see includes/reviews.php). */
.bi-reviews-track:focus-visible {
	outline: 2px solid var(--gcid-bi-copper, #96694C);
	outline-offset: 4px;
}
/* Collection page: the models side by side (includes/collections.php, brands_core_collection_table; 2026-11-09).
   Scrolls sideways on a phone instead of squeezing the columns. */
.bi-compare-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.bi-compare {
	width: 100%;
	min-width: 480px;
	border-collapse: collapse;
	background: #FFFFFF;
	font-size: 15px;
	line-height: 1.45;
	text-align: left;
}
.bi-compare th,
.bi-compare td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--gcid-bi-sand, #E6DCCD);
	vertical-align: top;
}
.bi-compare thead th {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gcid-bi-slate, #5B6670);
	border-bottom-color: var(--gcid-bi-stone, #C9BBA8);
}
.bi-compare tbody th {
	font-weight: 600;
	white-space: nowrap;
}
.bi-compare tbody th a {
	color: var(--gcid-bi-copper-deep, #7E5238);
	text-decoration: none;
}
.bi-compare tbody th a:hover,
.bi-compare tbody th a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Feature filter (includes/features.php): buttons above a term page's product cards. */
.bi-feature-chips {
	grid-column: 1 / -1; /* the cards' column is a grid */
	margin: 0 0 8px;
	scroll-margin-top: 24px;
}
.bi-chip.is-active {
	border-color: var(--gcid-bi-ink, #231F20);
	background: var(--gcid-bi-ink, #231F20);
	color: #fff !important;
}