/* ══ Components — house sections that core settings can't fully express ═════
   Each block carries the class in "Additional CSS class(es)". Values are the house
   standard, measured from the canonical Divi build (desktop 1440 / phone 390); the
   index of classes is in the block-build skill. */

/* ── Call Us — badge + "Call Us at / number" (Group → Icon: phone) ────── */
.bt-call::before { width: clamp(2rem, 1.6750rem + 1.3333vw, 2.875rem) !important; height: clamp(2rem, 1.6750rem + 1.3333vw, 2.875rem) !important; -webkit-mask-size: 55%, auto !important; mask-size: 55%, auto !important; }
.bt-call p,
.bt-call .wp-block-button__link { margin: 0; font-size: 1rem !important; line-height: 1.7; }

/* Standalone icon badge (contact cards, emergency call box). */
.bt-icon-badge { min-height: 0; }
.bt-icon-badge::before { width: 1.9375rem !important; height: 1.9375rem !important; }
.bt-icon-badge--lg::before { width: 2.875rem !important; height: 2.875rem !important; -webkit-mask-size: 55%, auto !important; mask-size: 55%, auto !important; }

/* ── Vertical rule — 5px (3px on phones) rounded bar left of the copy ─── */
.bt-vline > .wp-block-group { position: relative; padding-left: 2.1875rem; }
.bt-vline > .wp-block-group::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; border-radius: 999px; background-color: var(--wp--preset--color--muted);
}
@media (max-width: 980px) { .bt-vline > .wp-block-group { padding-left: 2.0625rem; } .bt-vline > .wp-block-group::before { width: 3px; } }

/* ── Interior hero — card spreads top-to-bottom; photo box height ─────── */
.bt-hero-interior > .wp-block-column.bt-hero-card { display: flex; flex-direction: column; justify-content: space-between; gap: 1.875rem !important; }
.bt-hero-interior > .bt-hero-card > * { margin-block: 0 !important; }
.bt-hero-photo { min-height: clamp(28.125rem, 23.9464rem + 17.1429vw, 39.375rem) !important; height: 100%; }
.bt-hero-photo .wp-block-cover__inner-container { width: auto; }
.bt-hero-photo .is-style-pill { margin: 0; }

/* ── Columns helpers ───────────────────────────────────────────────────── */
.wp-block-column.bt-split-ends { display: flex; flex-direction: column; justify-content: space-between; }
.bt-fill-height { height: 100%; }
.bt-stack-mobile { }
@media (max-width: 980px) {
  .bt-stack-mobile { flex-direction: column; align-items: center; }
  .bt-stack-gap-12 { gap: 0.75rem !important; }
  .bt-fill-height { height: auto; }
  .wp-block-column.bt-split-ends { display: block; }
}
.bt-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 980px) { .bt-grid-2 { grid-template-columns: 1fr !important; } }

/* ── Separator → bt-rule: a 5px rule in the muted colour ───────────────── */
.wp-block-separator.bt-rule { border: 0; border-top: 5px solid var(--wp--preset--color--muted); opacity: 1; width: 100%; height: 0; }

/* ── Overlap — a card lapping the top-left of a wide photo ───────────────── */
.bt-overlap { display: flex; align-items: flex-start; }
.bt-overlap > .bt-overlap__card  { position: relative; z-index: 2; flex: 0 0 50%; margin: 0 -50% 0 0 !important; }
.bt-overlap > .bt-overlap__media { flex: 0 0 100%; margin: 0 !important; }
.bt-overlap > .bt-overlap__media img { width: 100%; aspect-ratio: 1152 / 563; object-fit: cover; }
@media (max-width: 980px) {
  .bt-overlap { flex-direction: column; }
  .bt-overlap > .bt-overlap__card  { flex: none; width: 100%; margin: 0 !important; }
  .bt-overlap > .bt-overlap__media { flex: none; width: 100%; margin-top: -11.25rem !important; }
  .bt-overlap > .bt-overlap__media img { aspect-ratio: 312 / 663; }
}

/* ── Name cards on a full-bleed photo (left: bt-name-card, right: bt-dentist-card)
   Desktop widths are Divi's: 54% / 45% of the screen = 67.5% / 56.25% of the
   80% row. Phones: the card runs 10px past the row on each side. */
.bt-cover-left  .wp-block-cover__inner-container,
.bt-cover-right .wp-block-cover__inner-container { width: 100%; }
.bt-name-card    { width: 67.53%; max-width: none !important; }
.bt-dentist-card { width: 56.25%; margin-left: auto !important; margin-right: 0 !important; max-width: none !important; }
@media (max-width: 980px) {
  .wp-block-cover .wp-block-cover__inner-container > :is(.bt-name-card, .bt-dentist-card) { width: auto; margin-inline: -10px !important; }
}
.bt-lockup > * { margin-block: 0 !important; }

/* ── Service cards (scroller) ───────────────────────────────────────────────
   Dark card with a 2px off-white outline; the photo fades in on hover (desktop)
   and is always on ≤980px. Tag pill top, bulleted list bottom. */
.bt-svc-track > .wp-block-cover { flex: 0 0 21.75rem !important; min-height: 24.625rem !important; }
.wp-block-cover.bt-svc-card {
  box-sizing: border-box;
  border: 2px solid var(--wp--preset--color--base); border-radius: var(--wp--custom--radius--card); background-color: var(--wp--preset--color--contrast);
  padding: clamp(1.5rem, 1.3143rem + 0.7619vw, 2rem); align-items: stretch; overflow: hidden;
}
.wp-block-cover.bt-svc-card .wp-block-cover__background { opacity: 0 !important; }
.wp-block-cover.bt-svc-card .wp-block-cover__image-background { opacity: 0; transform: scale(1.06); transition: opacity 0.45s ease, transform 0.8s ease; }
@media (min-width: 981px) and (hover: hover) {
  .wp-block-cover.bt-svc-card:hover .wp-block-cover__image-background,
  .wp-block-cover.bt-svc-card:focus-within .wp-block-cover__image-background { opacity: 1; transform: scale(1); }
}
.wp-block-cover.bt-svc-card .wp-block-cover__inner-container { display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem; }
.bt-svc-card .bt-svc-pill { margin: 0; padding: 0.75rem 1.25rem !important; background-color: color-mix(in srgb, var(--wp--preset--color--base) 80%, transparent) !important; color: var(--wp--preset--color--contrast); }
.bt-svc-card .bt-svc-tag { margin: 0; font-size: 1rem; line-height: 1.5; font-weight: 400; }
.bt-svc-card .bt-svc-list { margin: 0; padding-left: 1.25rem; font-size: var(--wp--preset--font-size--body-md); line-height: 1.625rem; color: var(--wp--preset--color--base); }
@media (max-width: 980px) {
  .bt-svc-track > .wp-block-cover { flex-basis: 100% !important; }
  .wp-block-cover.bt-svc-card .wp-block-cover__image-background { opacity: 1; transform: none; transition: none; }
}

/* ── Divided list — a 1px rule 6.5px under each line ───────────────────── */
.wp-block-list.bt-divided-list { list-style: none; padding-left: 0; margin-bottom: 0; }
.wp-block-list.bt-divided-list > li { padding-bottom: 6.5px; margin-bottom: clamp(2.3375rem, 2.1434rem + 0.7962vw, 2.86rem); border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 35%, transparent); }


/* ── Sub-service FAQ (Details) — 4px outline, 60px circled arrow ──────── */
.wp-block-details.bt-faq {
  border: 4px solid var(--wp--preset--color--contrast);   /* fixed px: a fluid border rounds down to whole pixels */
  border-radius: var(--wp--custom--radius--card);
  padding: clamp(1.25rem, 0.7857rem + 1.9048vw, 2.5rem);
}
.wp-block-details.bt-faq > summary {
  list-style: none; position: relative; padding-right: 5.25rem; cursor: pointer;
  font-size: var(--wp--preset--font-size--heading-sm); line-height: 1.24; font-weight: 600;
}
.wp-block-details.bt-faq > summary::-webkit-details-marker { display: none; }
.wp-block-details.bt-faq > summary::after {
  content: ""; position: absolute; right: 0; top: 50%; width: 3.75rem; height: 3.75rem;
  background-color: var(--wp--preset--color--contrast);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='30' cy='30' r='28'/%3E%3Cpath d='M41.2 30 30 41.2 18.8 30M30 41.2V18.8'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='30' cy='30' r='28'/%3E%3Cpath d='M41.2 30 30 41.2 18.8 30M30 41.2V18.8'/%3E%3C/svg%3E") center / contain no-repeat;
  border: 0; border-radius: 0; display: block;
  transform: translateY(-50%); transition: transform 0.4s ease;
}
.wp-block-details.bt-faq[open] > summary::after { transform: translateY(-50%) rotate(180deg); }
.wp-block-details.bt-faq[open] > summary { margin-bottom: 1rem; }
@media (max-width: 980px) {
  .wp-block-details.bt-faq { border-width: 2px; }
  .wp-block-details.bt-faq > summary { padding-right: 4rem; }
  .wp-block-details.bt-faq > summary::after { width: 2.75rem; height: 2.75rem; }
}
@media (max-width: 767px) {
  .wp-block-details.bt-faq > summary { padding-right: 2.75rem; }
  .wp-block-details.bt-faq > summary::after { width: 1.75rem; height: 1.75rem; }
}
.wp-block-details.bt-faq > .bt-rich { padding-bottom: 0.5625rem; }
/* Divi keeps the last toggle's bottom margin (60px / 32px) inside the section. */
.bt-faq-list { padding-bottom: clamp(2rem, 1.3500rem + 2.6667vw, 3.75rem); }
@media (prefers-reduced-motion: reduce) { .wp-block-details.bt-faq > summary::after { transition: none; } }

/* ── Closing CTA logo ──────────────────────────────────────────────────── */
.wp-block-image.bt-cta-logo { margin: 0 0 0 auto !important; float: none; width: fit-content; }
.wp-block-image.bt-cta-logo img { width: clamp(5.875rem, 0.0250rem + 24.0000vw, 21.625rem); height: auto; }
.bt-sub-hero-img img { width: 100%; height: auto; }


/* ── Rich text — an ACF-style WYSIWYG area as plain core blocks ────────────
   Group → "bt-rich": h1 Heading MD, h2 Heading SM, h3 Subheading MD,
   h4–h6 Subheading SM, with Divi's .rich-text spacing. "bt-rich--sm" makes
   h1 Heading SM too (the sub-service intro and FAQ answers). */
.bt-rich > * { margin-block: 0 !important; }
.bt-rich h1 { font-size: var(--wp--preset--font-size--heading-md); font-weight: 600; line-height: 1.04; }
.bt-rich--sm h1,
.bt-rich h2 { font-size: var(--wp--preset--font-size--heading-sm); font-weight: 600; line-height: 1.24; }
.bt-rich h3 { font-size: var(--wp--preset--font-size--subheading-md); font-weight: 600; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; }
.bt-rich :is(h4, h5, h6) { font-size: var(--wp--preset--font-size--subheading-sm); font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; text-transform: uppercase; }
.bt-rich > h2 { margin-top: 2.5rem !important; }
.bt-rich > h3 { margin-top: 2rem !important; }
.bt-rich > :is(h4, h5, h6) { margin-top: 1.5rem !important; }
.bt-rich > :is(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0 !important; }
.bt-rich :is(p, li) { font-size: 1rem; font-weight: 400; line-height: 1.5; }
.bt-rich :is(ul, ol) { padding-left: 1.3125rem; }
.bt-rich a { color: inherit; text-decoration: underline; }
.wp-block-details.bt-faq > p { padding-bottom: 1rem; margin: 0; }
.wp-block-details.bt-faq > *:not(summary) { margin-block: 0; }

/* Lists that close a rich-text area keep Divi's 1em (14px) bottom space. */
.bt-rich > :is(ul, ol):last-child { padding-bottom: 0.875rem; }
/* Sub-service closing section: h2 Heading MD, h3 Subheading LG (Divi module settings). */
.bt-rich--lg h2 { font-size: var(--wp--preset--font-size--heading-md); line-height: 1.04; }
.bt-rich--lg > ul { padding-bottom: 0.875rem; }
.bt-rich--lg h3 { font-size: var(--wp--preset--font-size--subheading-lg); line-height: 1.313; letter-spacing: 0.07em; }


.wp-block-list.bt-divided-list > li:last-child { margin-bottom: 5.5px; }   /* Divi: the last divider still takes its 13px under the text */

/* ══ Added on Forge RX (2026-11-01) — generic, candidates for the starter ══ */

/* ── Eyebrow rule — Separator → bt-eyebrow-rule: the 64×2 dash under an eyebrow;
   --short is the 46px dash beside one (hero rows). Colour = the Separator's colour. ── */
.wp-block-separator.bt-eyebrow-rule {
  width      : 4rem;
  max-width  : 4rem;
  height     : 2px;
  margin-inline : 0 auto;   /* left-aligned; the parent's layout keeps the vertical gap */
  border     : 0;
  background : currentColor;
  opacity    : 1;
}
.wp-block-separator.bt-eyebrow-rule--short { width: 2.875rem; max-width: 2.875rem; flex: 0 0 auto; margin-inline: 0; }   /* in a row: an auto margin would push the label away */

/* ── Link card — Group → bt-card-link: lifts and turns gold on hover; the
   heading's link covers the whole card, so the card is one click target. ── */
.bt-card-link { position: relative; transition: transform 0.22s ease, border-color 0.22s ease; }
.bt-card-link:hover { transform: translateY(-4px); border-color: var(--wp--preset--color--primary) !important; }   /* beats the block's border colour (inline style) */
.bt-card-link :is(h2, h3, h4) a::after { content: ""; position: absolute; inset: 0; }
.bt-card-link :is(h2, h3, h4) a:focus-visible { outline: none; }
.bt-card-link:has(:is(h2, h3, h4) a:focus-visible) { outline: 2px solid currentColor; outline-offset: 3px; }
.wp-block-post-template > li > .bt-card-link { height: 100%; }
.bt-card-link__body { flex: 1 1 auto; }

/* ── Tags — Group (Grid or Row) → bt-tags: each Paragraph a small boxed label;
   bt-tags--dark for Ink bands. ── */
.bt-tags > p {
  margin           : 0;
  padding          : 0.4375rem 0.6875rem;
  border           : 1px solid var(--wp--preset--color--rule);
  background-color : var(--wp--preset--color--linen);
  color            : var(--wp--preset--color--contrast);
  font-size        : 0.8125rem;
  font-weight      : 600;
  line-height      : 1.4;
  white-space      : nowrap;
}
.bt-tags--dark > p {
  padding          : 0.5rem 0.8125rem;
  border-color     : color-mix(in srgb, var(--wp--preset--color--base) 20%, transparent);
  background-color : color-mix(in srgb, var(--wp--preset--color--base) 10%, transparent);
  color            : var(--wp--preset--color--rule);
  font-size        : 0.78125rem;
}
.bt-tags > p:empty { display: none; }   /* a bound tag with no value */

/* ── Accordion — core Accordion → bt-accordion: each item a white box; a nested
   Accordion inside a panel lists the questions with a rule above each.
   The core "+" turns into "×" when open (core rotates it 45°). ── */
.bt-accordion { display: grid; gap: 0.75rem; }
.bt-accordion > .wp-block-accordion-item,
.bt-accordion .wp-block-accordion-item > *,
.bt-accordion .wp-block-accordion-panel > * { margin-block: 0; }   /* items and panels are flow layouts; the grid gap and paddings own the space */
.bt-accordion > .wp-block-accordion-item {
  border           : 1px solid var(--wp--preset--color--rule);
  background-color : var(--wp--preset--color--white);
}
.bt-accordion > .wp-block-accordion-item > .wp-block-accordion-heading { margin: 0; }
.bt-accordion > .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle { padding: 1.375rem 1.625rem; gap: 1.25rem; }
.bt-accordion > .wp-block-accordion-item > .wp-block-accordion-panel { padding: 0 1.625rem 0.5rem; }
.bt-accordion .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title { text-decoration: none; }
.bt-accordion .wp-block-accordion-heading__toggle-icon {
  color       : var(--wp--preset--color--gold-deep);   /* design: Forge Gold; deepened to pass AA as text on white (2026-11-01) */
  font-family : var(--wp--preset--font-family--brand);
  font-size   : 1.5rem;
  font-weight : 600;
}
.bt-accordion .wp-block-accordion-heading__toggle-title em {   /* "3 questions" — the italic format, restyled as a count */
  margin-left    : 0.75rem;
  font-family    : var(--wp--preset--font-family--inter);
  font-size      : var(--wp--preset--font-size--label);
  font-style     : normal;
  font-weight    : 700;
  letter-spacing : 0.14em;
  color          : var(--wp--preset--color--gold-deep);
  white-space    : nowrap;
}
.bt-accordion .bt-accordion { gap: 0; }
.bt-accordion .bt-accordion > .wp-block-accordion-item { border: 0; border-top: 1px solid var(--wp--preset--color--linen); background: none; }
.bt-accordion .bt-accordion > .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle { padding: 1.125rem 0; }
.bt-accordion .bt-accordion > .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle:hover { color: var(--wp--preset--color--gold-deep); }
.bt-accordion .bt-accordion > .wp-block-accordion-item > .wp-block-accordion-panel { padding: 0 0 1.25rem; }
.bt-accordion .bt-accordion .wp-block-accordion-heading__toggle-icon { font-size: 1.25rem; }

/* ── Sub-nav — Group → bt-subnav: a strip that sticks under the header
   (Treatments: category jump links + search). ── */
.bt-subnav {
  position   : sticky;
  top        : calc(var(--wp-admin--admin-bar--height, 0px) + 4.75rem);
  z-index    : 45;
  box-shadow : 0 10px 26px rgba(12, 12, 12, 0.16);
  border-bottom : 1px solid color-mix(in srgb, var(--wp--preset--color--base) 12%, transparent);
}
html:has(.bt-subnav) { scroll-padding-top: 9.75rem; }
.bt-subnav .wp-block-navigation { min-width: 0; overflow-x: auto; scrollbar-width: none; }
.bt-subnav .wp-block-navigation__container { gap: 0.375rem; flex-wrap: nowrap; }
.bt-subnav .wp-block-navigation-item__content {   /* 11/05: each link boxed, gold on hover */
  padding    : 0.5rem 0.75rem;
  white-space: nowrap;
  border     : 1px solid color-mix(in srgb, var(--wp--preset--color--base) 28%, transparent);
  transition : background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.bt-subnav .wp-block-navigation-item__content:hover {
  background-color: var(--wp--preset--color--primary);
  border-color    : var(--wp--preset--color--primary);
  color           : var(--wp--preset--color--contrast);
}
.bt-subnav .bt-subnav__break { margin-left: 1.0625rem; }
.bt-subnav .bt-subnav__break::before {   /* the hairline between the goals and Men's / Women's */
  content: ""; position: absolute; left: -0.5625rem; top: 50%; width: 1px; height: 1.125rem; transform: translateY(-50%);
  background: color-mix(in srgb, var(--wp--preset--color--base) 22%, transparent);
}
.bt-subnav .wp-block-search { margin-left: auto; flex: 0 0 13.125rem; }
.bt-subnav .wp-block-search__inside-wrapper {
  height           : 2.375rem;
  padding          : 0 0.8125rem;
  border           : 1px solid color-mix(in srgb, var(--wp--preset--color--base) 30%, transparent);
  background-color : color-mix(in srgb, var(--wp--preset--color--base) 14%, transparent);
}
.bt-subnav .wp-block-search__input { padding: 0; border: 0; background: none; color: var(--wp--preset--color--base); font-size: 0.90625rem; }
.bt-subnav .wp-block-search__input::placeholder { color: var(--wp--preset--color--mist); opacity: 1; }
.bt-subnav .wp-block-search__button { order: -1; margin: 0 0.5625rem 0 0; padding: 0; border: 0; background: none; color: var(--wp--preset--color--primary); }
.bt-subnav .wp-block-search__button svg { width: 1.125rem; height: 1.125rem; fill: currentColor; }
@media (max-width: 980px) { .bt-subnav .wp-block-search { display: none; } }

/* ── Split hero — Columns → bt-split-hero: the text column starts on the
   content edge while the photo runs to the screen edge. ── */
.bt-split-hero > .wp-block-column:first-child { padding-left: max(2.5rem, calc((100vw - 80rem) / 2)) !important; }   /* beats the column's inline padding; (100vw − 1280px) / 2 = the content edge */
.bt-split-hero .wp-block-post-featured-image { height: 100%; min-height: 26.25rem; margin: 0; }
.bt-split-hero .wp-block-post-featured-image img { height: 100%; object-fit: cover; }
@media (max-width: 980px) { .bt-split-hero > .wp-block-column:first-child { padding-right: 2.5rem !important; } }

/* ── Step tiles (patterns/forge-how-it-works.php) ─────────────────────────
   Three tiles on a mist grid; the 2px gap is the hairline. Under 49rem
   (3 × 16.25rem + gaps) the grid drops to two columns, so the lone third
   tile spans the row instead of leaving an empty mist cell. */
@container (width < 49rem) {
  .bt-steps > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ── Product shots (cards) are portrait with the product low in frame: square cards keep the top of
   the frame, so nozzles and caps aren't cut and there's room above (Oct 28 review). ── */
.bt-card-link .wp-block-post-featured-image img { object-position: 50% 30%; }

/* ── Home: a hairline between sections (Oct 16 review). Dark sections hide it. ── */
.home .wp-block-post-content > .alignfull + .alignfull,
.home main > .wp-block-template-part { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent); }

/* ── Background videos (Cover → video) sit on Ink until the first frame paints, like
   the design, and stop for visitors who ask for less motion (the Ink + gradient stays). ── */
.wp-block-cover:has(> .wp-block-cover__video-background) { background-color: var(--wp--preset--color--contrast); }
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover__video-background,
  .bt-video-toggle { display: none; }
}

/* Pause / play (js/video-toggle.js adds one per video, WCAG 2.2.2): a small round button,
   bottom-right of the Cover, above its content. */
.bt-video-toggle {
  position         : absolute;
  right            : 1.25rem;
  bottom           : 1.25rem;
  z-index          : 2;
  display          : grid;
  place-items      : center;
  width            : 2.5rem;
  height           : 2.5rem;
  padding          : 0;
  border           : 1px solid color-mix(in srgb, var(--wp--preset--color--base) 35%, transparent);
  border-radius    : 50%;
  background       : color-mix(in srgb, var(--wp--preset--color--contrast) 55%, transparent);
  color            : var(--wp--preset--color--base);
  cursor           : pointer;
}
.bt-video-toggle:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }
.bt-video-toggle:focus-visible { outline: 2px solid var(--wp--preset--color--base); outline-offset: 2px; }
.bt-video-toggle::before {
  content          : "";
  width            : 0.875rem;
  height           : 0.875rem;
  background-color : currentColor;
  -webkit-mask     : url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 1h3v12H3zM8 1h3v12H8z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask     : url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 1h3v12H3zM8 1h3v12H8z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bt-video-toggle.is-paused::before {
  -webkit-mask-image : url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 1l10 6-10 6z'/%3E%3C/svg%3E");
          mask-image : url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 1l10 6-10 6z'/%3E%3C/svg%3E");
}

/* ── Cover hero titles (Home, Treatments): on phones "GUESSWORK." and "TREATMENT" are wider than the
   column at 48px (the design clips them too), so the size follows the screen below 457px. ── */
.wp-block-cover h1.is-style-heading-lg { font-size: min(var(--wp--preset--font-size--heading-lg), 10.5vw); }

/* ── Split hero title (templates/single-forge_product.html): steps down so the longest word
   in product names ("Testosterone", "Enclomiphene") fits the column instead of breaking mid-word.
   Chrome won't hyphenate capitals, so size is the only fix. ── */
.bt-split-hero :has(> .wp-block-post-title) { container-type: inline-size; }
.bt-split-hero .wp-block-post-title { font-size: min(var(--wp--preset--font-size--heading-md), 11cqi); }
