/* ===========================================================================
   Be Safe Safety — internal page layouts
   ---------------------------------------------------------------------------
   Port of figma-builds/be-safe-safety/pages.css. Classes prefixed `.bss-`;
   heading / image / link rules carry `body.breakdance` so they out-specify
   Breakdance core. Enqueued globally (no BD CSS regen needed for edits here).
   =========================================================================== */

/* ---------- Shared: breadcrumb ---------- */
.bss-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--neutral-300);
	flex-wrap: wrap;
}
body.breakdance .bss-breadcrumb a {
	color: var(--neutral-300);
	display: inline-flex;
	align-items: center;
	transition: color var(--t-fast) var(--ease);
}
body.breakdance .bss-breadcrumb a:hover { color: var(--neutral-900); }
.bss-breadcrumb__sep { color: var(--neutral-300); }
.bss-breadcrumb__current {
	color: var(--neutral-900);
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
	flex: 1 1 auto;
}

/* ===========================================================================
   INFO PAGES (About / Safety Standards / Privacy Policy)
   =========================================================================== */
/* All content-page heroes carry the same bottom separator line (project-wide
   standard — every internal page header ends with a 1px divider). */
.bss-info-hero {
	padding: var(--header-gap) 0 2.5625rem;
	border-bottom: 1px solid var(--border);
}
.bss-info-hero--titled { padding-bottom: 2.5625rem; }
body.breakdance h1.bss-info-hero__title {
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--neutral-900);
	margin: 0.5rem 0 0;                      /* breadcrumb -> title */
}

.bss-info-wrap {
	max-width: 58.3125rem;
	margin: 0 auto;
	padding: 4rem 0 6rem;
}
.bss-info-wrap--text { padding-top: 1.5rem; padding-bottom: 5rem; }

body.breakdance h1.bss-info-h1 {
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--neutral-900);
	margin: 0 0 1.5rem;
}
body.breakdance h2.bss-info-h2 {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	color: var(--neutral-900);
	margin: 0;
}
body.breakdance h2.bss-info-h2--lg {
	font-size: 2.25rem;
	line-height: 1.2;
}
body.breakdance h3.bss-info-h3 {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--neutral-900);
	margin: 0;
}
.bss-info-lead {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
	margin: 0 0 2.5rem;
	max-width: 35rem;
}
.bss-info-body {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
	margin: 0;
}
.bss-info-body strong { color: var(--neutral-900); font-weight: 600; }
body.breakdance .bss-info-body a { color: var(--neutral-900); text-decoration: underline; }

.bss-info-section {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 4rem;
}
.bss-info-section:first-child { margin-top: 0; }
.bss-info-section--quote-right { align-items: flex-end; }
.bss-info-section--quote-center { align-items: center; text-align: center; }

.bss-info-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}
.bss-info-col-narrow {
	max-width: 36.0625rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.bss-info-media {
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--neutral-100);
	aspect-ratio: 933 / 622;
}
body.breakdance .bss-info-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bss-info-media--hero { aspect-ratio: 933 / 622; margin-top: 0.5rem; }
.bss-info-media--tall { aspect-ratio: 577 / 384.7; }

.bss-info-row-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.bss-info-row-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
.bss-info-row-2 .bss-info-media,
.bss-info-row-3 .bss-info-media { aspect-ratio: 340 / 227; }

.bss-info-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
}
.bss-info-stat { display: flex; flex-direction: column; gap: 0.5rem; }
.bss-info-stat__num {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
	color: var(--neutral-900);
	margin: 0;
}
.bss-info-stat__label {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--neutral-500);
	margin: 0;
}

.bss-info-quote { margin: 0; max-width: 36.0625rem; }
.bss-info-quote p {
	font-size: 1.875rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--neutral-900);
	margin: 0;
}
.bss-info-quote cite {
	display: block;
	margin-top: 1rem;
	font-size: 1rem;
	font-style: normal;
	font-weight: 500;
	color: var(--neutral-500);
}
.bss-info-quote--lg p { font-size: 2.25rem; line-height: 1.3; }

/* Safety: standards grid */
.bss-info-standards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}
.bss-info-standard { display: flex; flex-direction: column; gap: 0.5rem; }
.bss-info-standard__name {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--neutral-900);
	margin: 0;
}
.bss-info-standard__desc {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
	margin: 0;
}

/* Privacy: text sections */
.bss-info-text-section {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 2.5rem;
}
.bss-info-text-section:first-child { margin-top: 0; }
.bss-info-sub {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 0.5rem;
}
body.breakdance ul.bss-info-list {
	list-style: disc;
	padding-left: 1.5rem;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.bss-info-list li {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
}

/* ---- Info pages mobile ---- */
@media (max-width: 768px) {
	body.breakdance h1.bss-info-h1,
	body.breakdance h1.bss-info-hero__title { font-size: 2.25rem; }
	body.breakdance h2.bss-info-h2--lg { font-size: 1.875rem; }
	.bss-info-lead { font-size: 1rem; max-width: 100%; }
	.bss-info-grid-2,
	.bss-info-row-2,
	.bss-info-row-3 { grid-template-columns: 1fr; }
	.bss-info-stats { grid-template-columns: 1fr 1fr; }
	.bss-info-standards { grid-template-columns: 1fr; }
	.bss-info-section { margin-top: 3rem; }
	.bss-info-section--quote-right { align-items: stretch; }
	.bss-info-quote p { font-size: 1.5rem; }
	.bss-info-quote--lg p { font-size: 1.75rem; }
	.bss-info-wrap { padding: 2rem 0 4rem; }
}

/* ===========================================================================
   SUPPORT / CONTACT-BASE PAGES (Shipping / Returns / FAQs)
   =========================================================================== */
.bss-contact-hero {
	margin: var(--header-gap) auto 0;         /* uniform header -> breadcrumb gap */
	padding: 0 0 2.5625rem;                   /* no top padding — header->breadcrumb gap is the margin alone, matching .bss-info-hero */
	border-bottom: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.breakdance h1.bss-contact-hero__title {
	font-size: 2.5rem;
	font-weight: 600;
	color: var(--neutral-900);
	line-height: 1;
	margin: 0;
}
@media (min-width: 769px) {
	body.breakdance h1.bss-contact-hero__title { font-size: 3rem; }
}

.bss-contact-wrap {
	max-width: 58.3125rem;
	margin: 4rem auto 4rem;
	display: flex;
	flex-direction: column;
	gap: 3rem;
}
.bss-contact-section {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
body.breakdance h2.bss-contact-section__title {
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--neutral-900);
	line-height: 1;
	margin: 0;
}
.bss-contact-intro {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--neutral-900);
	margin: 0;
}
.bss-contact-intro__muted { color: var(--neutral-300); }

/* Support blocks / steps / faq list */
body.breakdance h2.bss-support-section__title {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--neutral-900);
	line-height: 1;
	margin: 0;
}
.bss-support-blocks { display: flex; flex-direction: column; gap: 1.5rem; }
.bss-support-block {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--border);
}
.bss-support-block:last-child { border-bottom: 0; padding-bottom: 0; }
.bss-support-block__eyebrow {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--neutral-400);
	margin: 0;
}
.bss-support-block__primary {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-900);
	margin: 0;
}
.bss-support-block__list,
.bss-support-block__list ul {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
	margin: 0;
	padding: 0;
	list-style: none;
}
.bss-support-block__bullets { padding-left: 1.5rem; list-style: disc; }

/* Support-block content (Shipping / Returns) is authored inside a RichSection
   body, so the generic `.bss-richtext p|div` margins would fight the figma
   support-block rhythm. Re-assert it here:
     - support-blocks group: own flex gaps, 3rem below to the first h2 section
     - h2 sections: 3rem above (section break), then h2→primary 1rem, primary→list 0.75rem
   Inside a card (.bss-support-block) the flex gap (0.75rem) owns the spacing. */
.bss-richtext .bss-support-blocks { margin: 0 0 3rem; }
.bss-richtext .bss-support-block > p,
.bss-richtext .bss-support-block > .bss-support-block__list { margin: 0; }
.bss-richtext > h2.bss-support-section__title { margin: 3rem 0 1rem; }
.bss-richtext > .bss-support-blocks + h2.bss-support-section__title { margin-top: 0; }
.bss-richtext > p.bss-support-block__primary { margin: 0 0 0.75rem; }
.bss-richtext > .bss-support-block__list,
.bss-richtext > p.bss-support-block__list { margin: 0; }

.bss-support-steps { display: flex; flex-direction: column; gap: 0.75rem; }
.bss-support-step { display: flex; flex-direction: column; }
.bss-support-step__label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--neutral-900);
	line-height: 1.5;
	margin: 0;
}
.bss-support-step__body {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
	margin: 0;
}

.bss-faq-list { display: flex; flex-direction: column; gap: 0.75rem; }
.bss-faq-item { display: flex; flex-direction: column; gap: 0.5rem; }
.bss-faq-item__q {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-900);
	margin: 0;
}
.bss-faq-item__a {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-400);
	margin: 0;
}

/* FAQ / support-page CTA: the outline buttons are transparent (figma design),
   not the white fill the shared .bss-btn--outline carries elsewhere. The base
   :hover rule (0,4,1) still wins on hover, giving the usual subtle grey. */
body.breakdance .bss-support-cta__buttons a.bss-btn--outline { background: transparent; }

.bss-support-cta__buttons { display: flex; gap: 0.5rem; flex-wrap: wrap; }

/* ===========================================================================
   ATOMS — generic page composition primitives
   ---------------------------------------------------------------------------
   Each "page" in the BD tree is a flat stack of these atoms. Vertical rhythm
   between atoms is supplied by margin-top on the atom's main section. A
   PageHero atom always sits first and its hero classes (.bss-info-hero,
   .bss-contact-hero, .bss-wah-hero) provide their own header-gap, so the
   3rem rule below only kicks in on the second+ atom of any given type.
   =========================================================================== */

/* Inter-atom vertical rhythm — each non-hero atom's main section gets 3rem
   above so stacked atoms breathe. PageHero variants (.bss-info-hero,
   .bss-contact-hero, .bss-wah-hero) are NOT in this list — they own their
   own header-gap so the first PageHero atom doesn't double-stack. */
.bss-contact-section,
.bss-feature-row,
.bss-statgrid,
.bss-stdlist,
.bss-twocol,
.bss-imggroup,
.bss-quote-row {
	/* 933px centered reading column (figma .contact-wrap / .info-wrap), inside
	   the full-width .bss-container. The PageHero (breadcrumb + title) stays at
	   container width, so the title is wide while content sits in this narrower
	   centered column — matching the figma internal-page layout. 3rem top =
	   inter-atom vertical rhythm. */
	max-width: 58.375rem;
	margin: 3rem auto 0;
}

/* PageHero intro/lead is the FIRST content block — same 933px column, and a
   4rem gap below the hero (figma `.contact-wrap { margin-top: 4rem }`). */
.bss-contact-intro-rich,
.bss-info-lead-rich {
	max-width: 58.375rem;
	margin: 4rem auto 0;
}

/* IconCardRow (Contact methods) sits in the SAME figma section as the intro —
   1.5rem below it, not the 3rem inter-atom gap. Same 933px column. */
.bss-contact-methods {
	max-width: 58.375rem;
	margin: 1.5rem auto 0;
}

/* ---- TwoColText — heading + lead + 2 prose columns ---- */
.bss-twocol {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
body.breakdance h2.bss-twocol__heading {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--neutral-900);
	max-width: 21.25rem;
	margin: 0;
}
.bss-twocol__lead {
	/* Same size as the columns (1rem) — the 3 texts in "What we stand for"
	   share the Body/1rem/500/neutral-900 spec (figma designer left the lead
	   at 20px by mistake; standardized here). */
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-900);
	max-width: 21.25rem;
	margin: 0;
}
/* Columns render dark (figma About body = "dark, NOT muted"); the .bss-richtext
   wrapper would otherwise mute them. Safety's `fill` variant keeps muted. */
.bss-richtext.bss-twocol__col { color: var(--neutral-900); }
.bss-twocol--fill .bss-richtext.bss-twocol__col { color: var(--neutral-500); }
.bss-twocol__cols {
	display: flex;
	gap: 1.5rem;
}
.bss-twocol__col {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-900);
}
.bss-twocol__col p { margin: 0; }
.bss-twocol__col p + p { margin-top: 0.75rem; }
/* Width variants — see html.twig for which page uses which. */
.bss-twocol--narrow .bss-twocol__col { width: 21.25rem; flex: 0 0 21.25rem; }
.bss-twocol--wide   { max-width: 43.5rem; }
.bss-twocol--wide   .bss-twocol__col { flex: 1 1 0; min-width: 0; }
.bss-twocol--fill   .bss-twocol__cols { display: grid; grid-template-columns: 1fr 1fr; }
/* "Stand" pattern (narrow + lead): figma puts lead + col1 + col2 on a
   single row as 3 equal columns. Overrides the fixed 340 per col so all
   three fit within the 933 content max-width. */
.bss-twocol--3col .bss-twocol__cols { display: flex; gap: 1.5rem; }
.bss-twocol--3col .bss-twocol__col { width: auto; flex: 1 1 0; min-width: 0; max-width: none; }
@media (max-width: 768px) {
	.bss-twocol__heading, .bss-twocol__lead { max-width: 100%; }
	.bss-twocol__cols { flex-direction: column; }
	.bss-twocol--fill .bss-twocol__cols { grid-template-columns: 1fr; }
	.bss-twocol--narrow .bss-twocol__col { width: 100%; flex: 1 1 auto; }
}

/* ---- ImageGroup — 1/2/3 column image row ---- */
.bss-imggroup {
	display: flex;
	gap: 1rem;
}
.bss-imggroup--cols-1 { display: block; }
.bss-imggroup__item {
	flex: 1 1 0;
	min-width: 0;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--neutral-100);
}
body.breakdance .bss-imggroup__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* Aspect ratios — picked from the Figma page-set. */
.bss-imggroup--aspect-hero   .bss-imggroup__item { aspect-ratio: 933 / 622; }
.bss-imggroup--aspect-inline .bss-imggroup__item { aspect-ratio: 340 / 227; }
.bss-imggroup--aspect-tall   .bss-imggroup__item { aspect-ratio: 577 / 385; }
.bss-imggroup--aspect-square .bss-imggroup__item { aspect-ratio: 1 / 1; }
/* Single-image hero centers and caps to figma 933 — keeps mobile from edge-to-edging. */
.bss-imggroup--cols-1 .bss-imggroup__item {
	max-width: 58.3125rem;
	margin-inline: auto;
}
@media (max-width: 768px) {
	.bss-imggroup { flex-wrap: wrap; }
	.bss-imggroup--cols-3 .bss-imggroup__item { flex: 1 1 13rem; }
	.bss-imggroup--cols-2 .bss-imggroup__item { flex: 1 1 100%; }
}

/* ---- Quote — pull-quote with align + size variants ---- */
.bss-quote-row {
	display: flex;
}
.bss-quote-row--left   { justify-content: flex-start; }
.bss-quote-row--right  { justify-content: flex-end; }
.bss-quote-row--center { justify-content: center; text-align: center; }
.bss-quote {
	max-width: 36.0625rem;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.bss-quote p {
	font-weight: 600;
	line-height: 1.2;
	color: var(--neutral-900);
	margin: 0;
}
.bss-quote cite {
	font-size: 1.25rem;
	font-weight: 500;
	font-style: normal;
	color: var(--neutral-900);
}
.bss-quote--md p { font-size: 1.875rem; line-height: 1.35; }
.bss-quote--lg p { font-size: 3rem; }
@media (max-width: 768px) {
	.bss-quote--md p { font-size: 1.5rem; }
	.bss-quote--lg p { font-size: 2rem; }
	.bss-quote-row--right { justify-content: flex-start; }
}

/* ---- StatGrid — N-column number+label row ---- */
.bss-statgrid {
	display: grid;
	gap: 1.5rem;
}
.bss-statgrid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.bss-statgrid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.bss-statgrid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.bss-statgrid__item {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.bss-statgrid__num {
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--neutral-900);
	margin: 0;
}
.bss-statgrid__label {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--neutral-900);
	margin: 0;
}
@media (max-width: 768px) {
	.bss-statgrid { grid-template-columns: 1fr 1fr !important; }
}

/* ---- StandardList — name + rich-text grid ---- */
.bss-stdlist {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
body.breakdance h2.bss-stdlist__heading {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	color: var(--neutral-900);
	margin: 0;
}
.bss-stdlist__grid {
	display: grid;
	gap: 1rem;
}
.bss-stdlist__grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.bss-stdlist__grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.bss-stdlist__grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.bss-stdlist__item {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.bss-stdlist__name {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--neutral-900);
	margin: 0;
}
.bss-stdlist__desc {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
}
@media (max-width: 768px) {
	.bss-stdlist__grid { grid-template-columns: 1fr; }
}

/* ---- PageHero `wah` variant — hero typography + intro lead ---- */
.bss-wah-hero {
	margin-top: var(--header-gap);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	/* Same separator line as the other content-page heroes (project standard). */
	padding-bottom: 2.5625rem;
	border-bottom: 1px solid var(--border);
}
body.breakdance h1.bss-wah-hero__title {
	font-size: 2.5rem;
	font-weight: 500;
	color: var(--neutral-900);
	line-height: 1.2;
	margin: 0;
}
@media (min-width: 769px) {
	body.breakdance h1.bss-wah-hero__title {
		font-size: 2.25rem;
		line-height: 1.2;
	}
}
.bss-wah-intro {
	max-width: var(--content-max);
	margin: 4rem auto 0;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
}
@media (min-width: 769px) {
	.bss-wah-intro {
		font-size: 1rem;
		max-width: 58.375rem;
	}
}
.bss-wah-intro.bss-richtext > :first-child { margin-top: 0; }
.bss-wah-intro.bss-richtext > :last-child  { margin-bottom: 0; }

/* ---- IconCardRow — bordered row of icon + text + optional pill link cards ---- */
.bss-contact-methods {
	border: 1px solid var(--border);
	border-radius: 0;
	display: flex;
	flex-direction: column;
}
@media (min-width: 769px) {
	.bss-contact-methods {
		flex-direction: row;
		min-height: 10.625rem;
	}
}
.bss-contact-method {
	flex: 1 0 0;
	min-width: 0;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
@media (max-width: 768px) {
	.bss-contact-method + .bss-contact-method { border-top: 1px solid var(--border); }
}
@media (min-width: 769px) {
	.bss-contact-method + .bss-contact-method { border-left: 1px solid var(--border); }
}
.bss-contact-method__head {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--neutral-400);
}
body.breakdance .bss-contact-method__head img {
	width: 1rem;
	height: 1rem;
	display: block;
}
.bss-contact-method__primary {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-900);
	margin: 0;
}
.bss-contact-method__sub {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--neutral-400);
	margin: 0;
}
body.breakdance a.bss-contact-method__btn {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 600;
	line-height: normal;
	padding: 0.75rem 1.25rem;
	border-radius: var(--radius-pill);
	border: 1px solid var(--border);
	background: var(--neutral-0);
	color: var(--neutral-700);
	text-decoration: none;
	transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
body.breakdance a.bss-contact-method__btn:hover {
	background: var(--neutral-100);
	border-color: var(--neutral-300);
}

/* ---- ContactForm — labels + input fields + select + submit ---- */
.bss-contact-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.bss-contact-form__row {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
@media (min-width: 769px) {
	.bss-contact-form__row { flex-direction: row; }
}
.bss-contact-field {
	flex: 1 0 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.bss-contact-field__label {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--neutral-900);
}
.bss-contact-field__input {
	border: 1px solid var(--neutral-300);
	border-radius: 0.5rem;
	padding: 1rem;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-900);
	background: transparent;
	outline: 0;
	transition: border-color var(--t-fast) var(--ease);
}
.bss-contact-field__input::placeholder { color: var(--neutral-400); }
.bss-contact-field__input:focus { border-color: var(--neutral-900); }
.bss-contact-field__textarea {
	min-height: 9.375rem;
	resize: vertical;
}
.bss-contact-field__select { position: relative; }
.bss-contact-field__select select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	cursor: pointer;
	padding-right: 3rem;
}
body.breakdance img.bss-contact-field__select-arrow {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	width: 1.25rem;
	height: 1.25rem;
	display: block;
}
.bss-contact-form__foot {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: stretch;
}
@media (min-width: 769px) {
	.bss-contact-form__foot {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}
.bss-contact-form__note {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--neutral-400);
	margin: 0;
}
/* Inline status under the form — populated by assets/js/contact-form.js
   after the REST round-trip. Hidden by [hidden] when idle. */
.bss-contact-form__status {
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.625rem 0.875rem;
	border-radius: 0.5rem;
	margin: 0;
}
.bss-contact-form__status.is-ok    { background: #e8f6ec; color: #105a23; }
.bss-contact-form__status.is-error { background: #fdecec; color: #8a1a1a; }

/* ---- MediaInfoBlock — image alongside vertical info blocks ---- */
.bss-contact-office {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
@media (min-width: 769px) {
	.bss-contact-office { flex-direction: row; }
}
.bss-contact-office__image {
	flex: 1 0 0;
	min-width: 0;
	height: 21.875rem;
	border-radius: 0.5rem;
	overflow: hidden;
}
body.breakdance .bss-contact-office__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bss-contact-office__info {
	flex: 1 0 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	font-size: 0.875rem;
}
.bss-contact-office__block {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.bss-contact-office__heading {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--neutral-900);
	margin: 0;
}
.bss-contact-office__text {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-400);
	margin: 0;
	font-style: normal;
}

/* ---- WahFeatureRow — alternating media/text storytelling section ---- */
/* When multiple .bss-feature-row siblings live inside the SAME container,
   :nth-child(odd) puts text LEFT, image RIGHT; even flips them. Stack as
   many as you need — the layout self-arranges. */
.bss-feature-row {
	display: grid;
	gap: 1.5rem;
}
.bss-feature-row__media { order: 1; }
.bss-feature-row__text  { order: 2; }
@media (min-width: 769px) {
	.bss-feature-row { grid-template-columns: 1fr 1fr; }
	.bss-feature-row:nth-child(odd)  .bss-feature-row__text  { order: 1; }
	.bss-feature-row:nth-child(odd)  .bss-feature-row__media { order: 2; }
	.bss-feature-row:nth-child(even) .bss-feature-row__media { order: 1; }
	.bss-feature-row:nth-child(even) .bss-feature-row__text  { order: 2; }
}
.bss-feature-row__text {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.bss-feature-row__head {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.bss-feature-row__eyebrow {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
	margin: 0;
}
.bss-feature-row__eyebrow--green  { color: #16a34a; }
.bss-feature-row__eyebrow--red    { color: var(--red-600); }
.bss-feature-row__eyebrow--yellow { color: var(--yellow-600); }
.bss-feature-row__eyebrow--blue   { color: #3b5fcc; }
body.breakdance h2.bss-feature-row__title {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--neutral-900);
	margin: 0;
}
.bss-feature-row__body {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
	margin: 0;
}
.bss-feature-row__body.bss-richtext > :first-child { margin-top: 0; }
.bss-feature-row__body.bss-richtext > :last-child  { margin-bottom: 0; }
.bss-feature-row__media {
	height: 21.875rem;
	border-radius: 0.5rem;
	overflow: hidden;
	background: var(--neutral-200);
}
@media (min-width: 769px) {
	.bss-feature-row__media { height: 28.125rem; }
}
body.breakdance .bss-feature-row__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bss-feature-row__apps {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.bss-feature-row__apps-title {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
	color: var(--neutral-900);
	margin: 0;
}
body.breakdance ul.bss-feature-row__apps-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bss-feature-row__apps-list li {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--neutral-500);
}

/* ===========================================================================
   RICH TEXT — WYSIWYG content blocks
   ---------------------------------------------------------------------------
   Wraps every `richtext` element control on the info / support pages
   (Returns, Shipping, Privacy, FAQs, Work at Height, About, Safety). The
   Breakdance richtext control emits raw HTML — paragraphs, bold, links,
   bullet / numbered lists. These rules give that HTML the Be Safe Safety
   look: muted body text per the Figma, real list markers, on-brand links.
   Heading / link / list rules carry `body.breakdance` so they out-specify
   Breakdance core's `.breakdance ul|hN` defaults — no !important.
   =========================================================================== */
.bss-richtext {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-400);
}

/* Paragraph rhythm — first/last child collapse to the wrapper edges so the
   block aligns with the surrounding contact-section gap. */
.bss-richtext p { margin: 0 0 1rem; }
.bss-richtext > :first-child { margin-top: 0; }
.bss-richtext > :last-child { margin-bottom: 0; }

/* Bold / emphasis — bold reads at full neutral-900 to lift it off the body. */
.bss-richtext strong,
.bss-richtext b { font-weight: 600; color: var(--neutral-900); }
.bss-richtext em,
.bss-richtext i { font-style: italic; }

/* Links — on-brand: dark ink, underlined, subtle hover. */
body.breakdance .bss-richtext a {
	color: var(--neutral-900);
	text-decoration: underline;
	transition: color var(--t-fast) var(--ease);
}
body.breakdance .bss-richtext a:hover { color: var(--neutral-500); }

/* Bullet / numbered lists — real markers, indented, comfortable spacing. */
body.breakdance .bss-richtext ul,
body.breakdance .bss-richtext ol {
	margin: 0.5rem 0 1rem;
	padding-left: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
body.breakdance .bss-richtext ul { list-style: disc; }
body.breakdance .bss-richtext ol { list-style: decimal; }
.bss-richtext li {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-400);
}
/* Nested lists tighten up and switch marker so hierarchy reads. */
body.breakdance .bss-richtext ul ul { list-style: circle; margin: 0.25rem 0; }
body.breakdance .bss-richtext ol ol { list-style: lower-alpha; margin: 0.25rem 0; }
/* A list-item that itself wraps a <p> (Breakdance richtext emits `<li><p>`)
   must not carry the paragraph's bottom margin. */
.bss-richtext li > p { margin: 0; }

/* Headings inside rich text (h2 section / h3 sub-section / h4).
   `body.breakdance` prefix beats BD-core's `.breakdance hN` (0,1,1) defaults —
   see [[feedback_bd_core_specificity_trap]]. Top margins give visible breathing
   room between sections; first-child resets so the block doesn't push down
   from its container's top edge. */
body.breakdance .bss-richtext h2 {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--neutral-900);
	/* 2.5rem above (section break) · 1.5rem below to the sub-heading (figma). */
	margin: 2.5rem 0 1.5rem;
}
/* The bold lead line right after a section h2 (e.g. "30-day return window")
   sits 0.75rem above its body copy — half the normal paragraph gap (figma). */
body.breakdance .bss-richtext h2 + p {
	margin-bottom: 0.75rem;
}
body.breakdance .bss-richtext h3 {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--neutral-900);
	margin: 1.75rem 0 0.5rem;
}
body.breakdance .bss-richtext h4 {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--neutral-900);
	margin: 1.25rem 0 0.5rem;
}
/* First heading in the block hugs the top — no extra padding before it. */
body.breakdance .bss-richtext > h2:first-child,
body.breakdance .bss-richtext > h3:first-child,
body.breakdance .bss-richtext > h4:first-child { margin-top: 0; }

/* Intro rich-text blocks reuse the large lead/intro look of the page they
   sit on (Returns / Shipping / FAQs contact-intro, Privacy / About / Safety
   info-lead) — the wrapper sets size, inner <p> inherits it. */
.bss-contact-intro-rich {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--neutral-900);
}
.bss-contact-intro-rich p { margin: 0 0 0.25rem; }
.bss-contact-intro-rich p:last-child { margin-bottom: 0; }
.bss-contact-intro-rich .bss-muted { color: var(--neutral-300); }

.bss-info-lead-rich {
	/* figma "Desktop/Heading 5" — 24px/600/neutral-900, full 933 column,
	   left-aligned (the lead sits at the content column's left edge, not a
	   narrow centered block). */
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--neutral-900);
	max-width: 58.375rem;
}
.bss-info-lead-rich p { margin: 0 0 0.5rem; }
.bss-info-lead-rich p:last-child { margin-bottom: 0; }

/* The FAQ answer cell is a rich-text block — keep its muted answer colour
   (figma .faq-item__a) and drop the default rich-text paragraph margin so a
   single-paragraph answer hugs the question. */
.bss-faq-item__a.bss-richtext { color: var(--neutral-400); }

/* Work at Height section body as rich text — preserve the figma 16px muted
   look; first/last paragraph collapse handled by the shared rule above. */
.bss-wah-section__body.bss-richtext { color: var(--neutral-500); }

/* ===========================================================================
   REQUEST A QUOTE — popup chrome
   ---------------------------------------------------------------------------
   The QuoteForm element lives inside a native breakdance_popup (post 58). BD's
   `design.popup.*` settings are unreliable when set programmatically (catalog
   doc 09), so the modal chrome — dimmed overlay + centered white card — is
   supplied here as SCOPED CSS keyed on the form root class `.bss-quote-form`.

   This lives in a normal global stylesheet (not the element's default.css) to
   avoid Breakdance's compile-dedup leak that can drop ancestor selectors
   declared inside an element's default.css.

   Popup DOM (from the rendered product page):
     .bde-popup                       ← outer overlay (we dim + center here)
       .breakdance-popup              ← the card (we size + round here)
         .breakdance-popup-content    ← inner padding box (scroll container)
           .bss-quote-form            ← the element root
         .breakdance-popup-close-button  ← BD's native close X (hidden;
                                           the in-card header X handles close)
   =========================================================================== */

/* Outer overlay — dim + blur + center the card. :has() scopes this to ONLY the
   quote popup, never any other breakdance_popup on the site. */
body.breakdance .bde-popup:has(.bss-quote-form) {
	position: fixed;
	inset: 0;
	background: rgba(11, 11, 12, 0.5);
	backdrop-filter: blur(2px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

/* The card — fixed max-width per figma `.quote-modal` (43.5rem = 696px),
   rounded, scroll-capped. Neutralizes any absolute positioning BD may set. */
body.breakdance .bde-popup:has(.bss-quote-form) .breakdance-popup {
	position: relative;
	width: 100%;
	max-width: 43.5rem;
	max-height: 90vh;
	margin: 0;
	left: auto;
	right: auto;
	top: auto;
	bottom: auto;
	transform: none;
	background: var(--neutral-0);
	border-radius: var(--radius);
	box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.16);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* Inner content box — no BD padding (the modal supplies its own header/body/
   footer padding); it is the flex column that lets the body scroll. */
body.breakdance .bde-popup:has(.bss-quote-form) .breakdance-popup-content {
	padding: 0;
	background: transparent;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
}

/* The form root is the card's flex column (header / step body / footer). */
body.breakdance .bde-popup:has(.bss-quote-form) .bss-quote-form {
	flex: 1 1 auto;
	min-height: 0;
}

/* The modal supplies its own header-X — suppress BD's native close button. */
body.breakdance .bde-popup:has(.bss-quote-form) .breakdance-popup-close-button {
	display: none;
}

/* Mobile — the modal takes over the whole screen so the user has zero page
   distraction while building a quote. The card is pinned edge-to-edge and runs
   as a full-height flex column: header pinned top, footer pinned bottom, body
   scrolls internally. */
@media (max-width: 640px) {
	/* Overlay covers the entire viewport — no padding, nothing peeks through.
	   dvh tracks the dynamic mobile viewport (URL bar collapse); the vh line
	   above it is the fallback for browsers without dvh support. */
	body.breakdance .bde-popup:has(.bss-quote-form) {
		padding: 0;
		height: 100vh;
		height: 100dvh;
		align-items: stretch;
		justify-content: stretch;
	}
	/* The card fills the screen: full width/height, no max caps, square corners,
	   pinned to the viewport edges. */
	body.breakdance .bde-popup:has(.bss-quote-form) .breakdance-popup {
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		max-width: none;
		max-height: none;
		border-radius: 0;
	}
	/* Inner content box must be a height-constrained flex column so the body can
	   scroll instead of pushing the footer off-screen. */
	body.breakdance .bde-popup:has(.bss-quote-form) .breakdance-popup-content {
		height: 100%;
		min-height: 0;
	}
	/* The form root fills that column — header pinned top, footer pinned bottom,
	   .bss-quote-form__body scrolls internally (overflow-y already set in the
	   element's default.css). */
	body.breakdance .bde-popup:has(.bss-quote-form) .bss-quote-form {
		height: 100%;
		min-height: 0;
	}
}

/* ===========================================================================
   FAVORITES — PDP button + My Account list
   ---------------------------------------------------------------------------
   The Favorite button on the PDP is a plain .bss-btn--outline that flips into
   a filled "favorited" treatment when the user is logged in and the toggle
   succeeds. The heart icon is drawn purely from CSS (no asset request) so the
   button has zero extra payload on first paint.
   =========================================================================== */
body.breakdance .bss-btn.bss-btn--favorite {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}
/* Heart glyph — outlined by default, filled when favorited. CSS-only so we
   don't add an HTTP request per PDP. */
body.breakdance .bss-btn.bss-btn--favorite::before {
	content: '';
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>') center / contain no-repeat;
	        mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>') center / contain no-repeat;
}
body.breakdance .bss-btn.bss-btn--favorite.is-favorited {
	background: var(--neutral-900);
	border-color: var(--neutral-900);
	color: var(--neutral-0);
}
body.breakdance .bss-btn.bss-btn--favorite.is-favorited:hover {
	background: var(--neutral-700);
	border-color: var(--neutral-700);
}
body.breakdance .bss-btn.bss-btn--favorite[disabled] { opacity: 0.6; cursor: progress; }

/* My-Account "Favorites" tab grid — the cards themselves are the standard
   product card (.bss-card--product, tokens.css); only the grid and the
   per-item action stack live here. */
.bss-favorites-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.5rem;
}
.bss-favorites-item {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--neutral-0);
	transition: box-shadow var(--t-base) var(--ease);
}
/* The elevation belongs to the WHOLE item. The nested standard product card
   brings its own hover shadow, which paints a lifted panel around just the
   image+text and stops above the buttons — reading as a second card inside
   the card. Neutralise it here and lift the wrapper instead; the image zoom
   follows the same hover so the two stay in sync. */
.bss-favorites-item:hover { box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.12); }
body.breakdance .bss-favorites-item .bss-card--product:hover { box-shadow: none; }
.bss-favorites-item:hover .bss-card__thumb img { transform: scale(1.06); }
/* The card carries its own 1rem padding; match it so the buttons line up
   with the card content instead of the wrapper edge. `margin-top: auto`
   pins the actions to the bottom so they line up across a row whose product
   names run to different line counts (grid items stretch to the row height). */
.bss-favorites-item__actions {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 0 1rem 1rem;
	margin-top: auto;
}
body.breakdance .bss-favorites-item__actions .bss-btn {
	width: 100%;
	justify-content: center;
	/* .bss-btn is nowrap by design (wide page buttons). In this narrow card a
	   long translated label (NL "Toevoegen aan winkelwagen") overflows the
	   pill; since the label is white it then sits invisibly on the white card
	   and reads as clipped text. Let it wrap inside the pill instead. */
	white-space: normal;
	line-height: 1.25;
	text-align: center;
}
.bss-favorites-empty {
	font-size: 1rem;
	color: var(--neutral-500);
	margin: 0 0 1rem;
}

/* ===========================================================================
   LANGUAGE SUGGESTION MODAL — bss-langmodal
   ---------------------------------------------------------------------------
   A self-contained JS-driven modal (rendered in wp_footer by includes/
   lang-modal.php, revealed by bss-interactions.js → initLangModal). It reuses
   the Request-a-Quote popup look — dimmed blurred overlay + centered white
   card — but is NOT a Breakdance popup, so it carries its own chrome here.
   =========================================================================== */
.bss-langmodal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(11, 11, 12, 0.5);
	backdrop-filter: blur(2px);
	font-family: var(--font);
}
.bss-langmodal[hidden] { display: none; }

.bss-langmodal__card {
	width: 100%;
	max-width: 26rem;
	background: var(--neutral-0);
	border-radius: var(--radius);
	box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.16);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.bss-langmodal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem;
	border-bottom: 1px solid var(--border);
}
body.breakdance h2.bss-langmodal__title {
	font-family: var(--font);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--neutral-900);
	margin: 0;
}
body.breakdance button.bss-langmodal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 50%;
	background: var(--neutral-0);
	color: var(--neutral-500);
	cursor: pointer;
	transition: border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
body.breakdance button.bss-langmodal__close:hover {
	border-color: var(--neutral-300);
	color: var(--neutral-900);
}

.bss-langmodal__body { padding: 1.25rem; }
.bss-langmodal__text {
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--neutral-500);
	margin: 0 0 1rem;
}

ul.bss-langmodal__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.bss-langmodal__list li { margin: 0; }

body.breakdance a.bss-langmodal__opt {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--neutral-900);
	transition: border-color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);
}
body.breakdance a.bss-langmodal__opt:hover {
	border-color: var(--neutral-300);
	background: var(--neutral-100);
}
/* The browser-matched language — emphasised with the design system's
   selected-card ring (same as the checkout option cards). */
body.breakdance a.bss-langmodal__opt.is-suggested {
	border-color: var(--neutral-900);
	box-shadow: inset 0 0 0 1px var(--neutral-900);
}
body.breakdance img.bss-langmodal__flag {
	width: 1.5rem;
	height: 1.125rem;
	max-width: none;
	border-radius: 0.125rem;
	object-fit: cover;
	flex-shrink: 0;
}
.bss-langmodal__name {
	flex: 1 1 auto;
	font-size: 1rem;
	font-weight: 600;
	color: var(--neutral-900);
}
body.breakdance .bss-langmodal__arrow {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
	color: var(--neutral-400);
}
body.breakdance a.bss-langmodal__opt:hover .bss-langmodal__arrow { color: var(--neutral-900); }
