/* BeginThings iconography r1. One icon family: Lucide (ISC licence, https://lucide.dev), inlined as SVG, drawn with currentColor
   so every icon follows the text colour in dark, light and high-contrast themes. No external requests.
   Scale (px): 14 xs / 16 sm / 20 md / 24 lg / 32 xl. Stroke 1.75 (1.5 from 28px up, so lines look the same weight at every size). */
:root{--bt-ic-sw:1.75}
svg.bt-ic{display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:var(--bt-ic-sw);stroke-linecap:round;stroke-linejoin:round;overflow:visible;pointer-events:none}
svg.bt-ic *{vector-effect:none}
/* default box: zero specificity so any existing page rule (.dz-ic svg, .type svg, width= attribute) keeps control of its own size */
:where(svg.bt-ic){width:1.15em;height:1.15em;vertical-align:-.2em}
/* arrows that used to be text glyphs (↗ → ← ↑ ↓): same optical size as the cap height */
svg.bt-ic--arrow{width:1.2em;height:1.2em;max-width:22px;max-height:22px;vertical-align:-.25em}
svg.bt-ic--trail{margin-inline-start:.2em}
svg.bt-ic--lead{margin-inline-end:.42em}
svg.bt-ic--arrow.bt-ic--lead{margin-inline-end:.25em}
svg.bt-ic--fill{fill:currentColor}
/* sizes for icons inside inline text emphasis / headings */
h1 svg.bt-ic--lead,h2 svg.bt-ic--lead,h3 svg.bt-ic--lead,h4 svg.bt-ic--lead{width:1em;height:1em;vertical-align:-.12em;opacity:.9}
/* wrappers that held a bare glyph keep their own box; centre the svg in it */
span[aria-hidden=true]>svg.bt-ic--arrow:only-child,i>svg.bt-ic--arrow:only-child,b>svg.bt-ic--arrow:only-child{vertical-align:middle}
a>span[aria-hidden=true]:has(>svg.bt-ic--arrow:only-child),button>span[aria-hidden=true]:has(>svg.bt-ic--arrow:only-child){display:inline-flex;align-items:center;justify-content:center}
/* shell: header + footer */
#bts-header .bts-signin svg.bt-ic{width:1.2em;height:1.2em}
#bts-footer a svg.bt-ic--arrow{width:1.2em;height:1.2em}
#bts-header .bts-menu svg,#bts-header .bt-lang-btn svg,#bts-header .bt-theme-toggle svg{stroke-width:var(--bt-ic-sw)}
#btWsFab svg{stroke-width:var(--bt-ic-sw)}
/* FAQ, search and accordion icons */
.fq-q svg.bt-ic{stroke-width:2;flex:none}
.fq-search svg.bt-ic,label.search svg.bt-ic{stroke-width:1.75}
/* Home tools, For-freelancers cards, tool-page trust chips and drop zones */
.dz-ic svg.bt-ic{stroke-width:1.6}
.dz-orb svg.bt-ic,.dz-over svg.bt-ic{stroke-width:1.4}
.fc .ic svg.bt-ic,button.type svg.bt-ic,div.ic svg.bt-ic{stroke-width:1.6}
.trust svg.bt-ic,h4 svg.bt-ic.bti{stroke-width:1.75;vertical-align:-.2em}
.ic svg.bt-ic[width="28"],.ic svg.bt-ic[height="28"]{stroke-width:1.5}
/* pixel-snap: where CSS round() exists, inline icon boxes snap to even pixel sizes (14/16/18/20/22) so lines stay crisp and the scale stays small.
   Older browsers keep the em sizes above. */
@supports (width:round(1em,2px)){
:where(svg.bt-ic){width:round(1.15em,2px);height:round(1.15em,2px)}
svg.bt-ic--arrow{width:round(1.2em,2px);height:round(1.2em,2px)}
h1 svg.bt-ic--lead,h2 svg.bt-ic--lead,h3 svg.bt-ic--lead,h4 svg.bt-ic--lead{width:round(1em,2px);height:round(1em,2px)}
#bts-header .bts-signin svg.bt-ic,#bts-footer a svg.bt-ic--arrow{width:round(1.2em,2px);height:round(1.2em,2px)}
}
/* The arrow used to be a character inside the label. If its parent is a flex/grid box (buttons, text links), the label and the icon are now two items and the
   box's own gap would open a hole between them. Parents that hold only text and the icon get no column gap, so the spacing is the icon's own .2em / .42em. */
:has(>svg.bt-ic--trail):not(:has(>:not(svg.bt-ic--trail))),:has(>svg.bt-ic--lead):not(:has(>:not(svg.bt-ic--lead))){column-gap:0}
