/* assets/rhythm.css: owner feedback round 1 (27 Sep 2026). Hand-written (not generated), loaded LAST on every page
   (sitegen/shell.py RHYTHM_CSS), so it wins over d12, the header, site.css, the components and assets/types/*.
   "Too much empty space on every page": sections, heading gaps, heroes, the closing band and the footer are tighter,
   the client-area heads are one line, the sign-in form is on the first screen, and Build a blind starts with the steps.
   A later base rule would also beat the older tablet/phone rules, so every override restates its smaller-screen values
   here, in the same order (base, then max-width 1024/900/760/720). Nothing in d12/, page-types/ or assets/types/ changes.
   Guide values: section padding 48px desktop (was 120), 40 tablet (96), 32 phone (72); heading to content 24 / 16.
   Round 1 check (27 Sep): 56/48/36 still left 110-125px between two white sections; now two paddings meet at 96/80/64. */

/* ---------------------------------------------------------------- 1. the section rhythm (every page) */
:root { --sec: 48px; }
.sec__head { margin-bottom: 24px; gap: 12px; }
.sec__head--row > div { gap: 12px; }
.sec__foot { margin-top: 24px; }
.cta { padding: 48px 0; }
.cta__inner { gap: 24px 48px; }
.cta__copy { gap: 14px; }
.footer { padding-top: 48px; padding-bottom: 24px; }
.footer__top { gap: 32px; }
/* owner feedback round 5 (27 Sep 2026): the bottom strip (copyright + Terms / Privacy / Accessibility) is more compact
   (was 32px above the line, 24 under it and a 44px link row; now 24, 12 and a 32px row with a mouse). Touch screens keep 44px taps. */
.footer__bottom { margin-top: 24px; padding-top: 12px; }
@media (hover: hover) and (pointer: fine) { .footer__bottom a { min-height: 32px; } }
/* round 5: the footer email ("sundial at sundialblinds.ca" in the source, the real address once site.js has run)
   may only break after the @ in a narrow column */
.footer__email a { max-width: 100%; }
@media (max-width: 1024px) { :root { --sec: 40px; } }
/* round 1 check: on tablets the footer was two columns with a tall blank under the logo; now three short columns */
@media (min-width: 721px) and (max-width: 1024px) {
  .footer__top { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 28px; }
  .footer__col--area { grid-column: 1 / -1; }
  .footer__regions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* round 5 verify: here Service area runs full width under the three columns, and six 44px Explore links (300px)
     were taller than it (263px at 820); two short columns of three keep every column no taller than Service area */
  .footer__col--links .footer__list { grid-template-columns: repeat(2, auto); justify-content: start; column-gap: 20px; }
  .footer__top { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; }   /* Explore as wide as its words; the logo text gets the room */
}
/* owner feedback round 6 (27 Sep 2026): the Service area block is made from data/regions.json (sitegen/regions.py).
   The top area (Toronto) runs across; the others sit in two columns that stack on their own (no shared rows), so
   Durham moves up under Peel and both columns end at about the same line. The build picks the split by height. */
.footer__regions.sb-fr { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.sb-fr > ul { display: grid; gap: 14px; align-content: start; }
.sb-fr > .sb-fr__top { grid-column: 1 / -1; }
.sb-fr li:first-child { grid-column: auto; }
@media (max-width: 900px) { .cta { padding: 40px 0; } }
/* round 1 check: the last thing in a section adds no space of its own under the section padding */
.sec > .wrap > :last-child, .sec > .wrap > :last-child > :last-child { margin-bottom: 0; }
@media (max-width: 720px) {
  :root { --sec: 32px; }
  .cta { padding: 32px 0; }
  .sec__head { margin-bottom: 16px; gap: 10px; }
  .sec__foot { margin-top: 20px; }
  .footer { padding-top: 32px; padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  html.is-signedin .footer { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
  .footer__top { gap: 24px; }
  .footer__bottom { margin-top: 20px; padding-top: 14px; gap: 2px; }   /* round 5: compact, the links keep their 44px taps */
  /* owner feedback round 6 (27 Sep 2026): the phone footer is only as big as Google's tap-target check needs (Lighthouse
     "target-size", WCAG 2.5.8: at least 24×24px, or spaced so neighbours don't overlap). Links are 32px rows (were 44),
     Explore is two columns of three, the sections are closer, and the areas sit in two columns under Toronto. */
  .footer__top { gap: 20px; }
  .footer__h { margin-bottom: 4px; }
  .footer__list a, .footer__phone { min-height: 32px; }
  .footer__list li:not(:has(a)) { padding: 2px 0; }
  .footer__col--links .footer__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
  .footer__regions.sb-fr { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
  .sb-fr > ul { gap: 12px; }
}
@media (max-width: 339px) { .footer__regions.sb-fr { grid-template-columns: minmax(0, 1fr); } }   /* round 6: too narrow for two */

/* ---------------------------------------------------------------- 2. home (d12 main, imported) */
.t-home .hero__grid { padding: 48px 0 56px; }
.t-home .ways { margin-top: 40px; padding-top: 28px; }
.t-home .shead6 { margin-bottom: 24px; }
.t-home .areas6__note { margin-top: 24px; }
@media (max-width: 1140px) { .t-home .hero__grid { padding: 40px 0 48px; } }
@media (max-width: 1024px) { .t-home .smart { gap: 32px; } }
@media (max-width: 720px) {
  .t-home .hero__grid { padding: 0 0 28px; }
  .t-home .ways { margin-top: 28px; padding-top: 20px; }
  .t-home .areas6__note { margin-top: 18px; }
}

/* ---------------------------------------------------------------- 3. book (d12 contact main, imported; its inline paddings are removed by the import) */
.t-book .phero__grid { padding: 40px 0 16px; }
.t-book .sb-book-form { padding-top: 24px; }   /* round 1 check: 96px of plain grey sat between the two cards; now 40 */
@media (max-width: 1024px) { .t-book .phero__grid { padding: 32px 0 16px; } }
@media (max-width: 720px) { .t-book .phero__grid { padding: 20px 0 12px; } .t-book .sb-book-form { padding-top: 20px; } }

/* ---------------------------------------------------------------- 4. product pages (v3 "Compare & decide") */
.pt3-hero { padding: 24px 0 32px; }
.pt3-levels { margin-top: 24px; }
.pt3-spec__row { padding: 24px 0; }
.pt3-tail { margin-top: 32px; padding-top: 32px; }
/* round 1 check: the room chips sat beside a tall list with ~220px blank under them; now the chips are one row and the
   three "made to your window" cards sit side by side under it */
.pt3-tail { grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 901px) { .pt3-tail .pt-fit { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
/* the copy sits in the middle of the photo's height, so no blank block stays under a short text column */
@media (min-width: 901px) {
  .pt3-hero__grid { align-items: center; }
  .pt3-hero--hub .pt3-hero__media { aspect-ratio: 4 / 3; }
}
@media (min-width: 1025px) { .pt3-hero__grid { gap: 40px; } }
@media (max-width: 720px) {
  .pt3-hero { padding: 0 0 24px; }
  .pt3-spec__row { padding: 20px 0; }
  .pt3-tail { margin-top: 24px; padding-top: 24px; }
}

/* ---------------------------------------------------------------- 5. room pages (v3 "Rated side by side") */
/* Owner feedback round 3: the photo was a short strip above the words. Now the photo is on the left and the whole text
   block (label, title, line, both buttons, consultation line, jump link) on the right, centred. The photo never sets the
   height: it fills its cell (object-fit: cover), so it is exactly as tall as the text block, with no band and no stretch.
   Phones: the photo on top (240px), the words under it. */
.t-room .pt-hero3 { padding: 24px 0 32px; }
@media (min-width: 761px) {
  .t-room .pt-hero3 > .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: stretch; }
  .t-room .pt-hero3__media { position: relative; aspect-ratio: auto; min-height: 300px; }
  .t-room .pt-hero3__media img { position: absolute; inset: 0; }
  .t-room .pt-hero3__grid { grid-template-columns: minmax(0, 1fr); align-items: start; align-self: center; gap: 20px; margin-top: 0; padding: 4px 0; }
  .t-room .pt-hero3__copy { gap: 14px; }
  .t-room .pt-hero3__copy .h1 { font-size: clamp(34px, 3.4vw, 48px); max-width: none; }
  .t-room .pt-hero3__side { gap: 14px; }
}
@media (min-width: 761px) and (max-width: 1024px) {
  .t-room .pt-hero3 > .wrap { gap: 28px; }
}
@media (min-width: 901px) and (max-width: 1024px) {
  .t-room .pt-hero3 > .wrap { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); }   /* both buttons stay on one row */
}
@media (min-width: 761px) and (max-width: 900px) {
  .t-room .pt-hero3__side .actions { display: grid; grid-template-columns: max-content; }   /* stacked buttons: one width */
}
@media (max-width: 760px) {
  .t-room .pt-hero3 { padding: 12px 0 20px; }
  .t-room .pt-hero3__media { aspect-ratio: auto; height: 240px; }
  .t-room .pt-hero3__grid { margin-top: 16px; }
}

/* ---------------------------------------------------------------- 6. solution pages (v3 "Compare the dark options") */
.t-solution .pt-hero__grid { padding-top: 32px; padding-bottom: 40px; }
.t-solution .pt-links { margin-bottom: 20px; }
@media (max-width: 1024px) { .t-solution .pt-hero__grid { padding-top: 28px; padding-bottom: 32px; } }
@media (max-width: 720px) { .t-solution .pt-hero__grid { padding-top: 12px; padding-bottom: 24px; } }
/* round 1 check: the finder's short intro beside the finder card left ~500px blank (sticky did nothing: the card fits one
   screen). Now the intro is the section head and the card is full width, with every question's answers in one row of 4 */
@media (min-width: 1101px) {
  .t-solution .sb-finder-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .t-solution .sb-finder-copy { padding-top: 0; gap: 12px; }
  .t-solution .sb-finder-copy .lede { max-width: 40em; }
  .t-solution .sb-finder .pt-choices--4, .t-solution .sb-finder .pt-choices--3, .t-solution .sb-finder .pt-choices--2 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .t-solution .sb-finder .pt-choices--3 .pt-choice__media { aspect-ratio: 2 / 1; }   /* every question the same height: no blank under the first */
  .t-solution .sb-finder .pt-res__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }   /* the picks side by side, so the card keeps its height */
}

/* ---------------------------------------------------------------- 7. area pages (v3 "Town by town") */
.t-area .pt-hero3 { padding: 20px 0 32px; }
.t-area .pt-hero3__grid { margin-top: 24px; align-items: start; }   /* round 1 check: the right text started 39px above the eyebrow */
@media (min-width: 721px) { .t-area .pt-hero3__img { max-height: max(220px, calc(100vh - 540px)); } }
.t-area .pt-line__note { margin-top: 20px; }
.t-area .pt-revsec { padding-top: 24px; }
@media (max-width: 720px) {
  .t-area .pt-hero3 { padding: 8px 0 24px; }
  .t-area .pt-hero3__grid { margin-top: 16px; }
}

/* ---------------------------------------------------------------- 8. info pages (v3 "One step at a time"); the stepper panels keep their reserved height (no jumps) */
.t-info .pt-hero3 { padding: 32px 0 28px; }
.t-info .pt-st-sec { padding-top: 32px; }
.t-info .pt-st-sec .sec__head { margin-bottom: 20px; }
.sb-faqgroup + .sb-faqgroup { margin-top: 28px; }
@media (min-width: 861px) { .sb-contact { align-items: center; } }   /* round 1 check: no 240px blank under the short head */
@media (max-width: 1024px) { .t-info .pt-hero3 { padding: 28px 0 24px; } }
@media (max-width: 720px) {
  .t-info .pt-hero3 { padding: 20px 0 20px; }
  .t-info .pt-st-sec { padding-top: 24px; }
  .t-info .pt-st-sec .sec__head { margin-bottom: 16px; }
  .sb-faqgroup + .sb-faqgroup { margin-top: 24px; }
}

/* owner feedback round 6 (27 Sep 2026): Terms, Privacy and Accessibility show just the title, then the content
   (sitegen/blocks/info.py _title_only and sections "head": false). "Last updated" sits small under the title. */
.t-info .sb-legal-hero { padding: 32px 0 24px; }
.sb-legal-hero .h1 { max-width: none; }
.sb-legal__upd { margin-top: 10px; font-size: 15px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
@media (max-width: 1024px) { .t-info .sb-legal-hero { padding: 28px 0 20px; } }
@media (max-width: 720px) {
  .t-info .sb-legal-hero { padding: 20px 0 16px; }
  .sb-legal__upd { margin-top: 6px; font-size: 14px; }
}

/* ---------------------------------------------------------------- 9. Sign in and Forgot password: the form on the first screen */
.t-info .pt-hero3--form { padding: 24px 0 8px; }
.t-info .pt-hero3--form .pt-hero3__grid { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.t-info .pt-hero3--form .pt-hero3__copy { gap: 6px; }
.t-info .pt-hero3--form .h1 { font-size: 30px; line-height: 1.15; }
.t-info .pt-hero3--form .lede { font-size: 17px; }
.t-info .sb-formsec { padding-top: 12px; border-top: 0; }
.sb-form__msg:empty { display: none; }
.sb-form__note { font-size: 15px; color: var(--ink-2); }
/* round 1 check: the form sat on the left with 60% of the screen empty; now title, line and form are one centred column */
@media (min-width: 721px) {
  .t-info .pt-hero3--form > .wrap, .t-info .sb-formsec > .wrap { max-width: calc(460px + 2 * var(--gut)); }
  .t-info .sb-formsec .sb-form__card { max-width: none; }
}
@media (max-width: 1024px) { .t-info .pt-hero3--form { padding: 24px 0 8px; } }
@media (max-width: 720px) {
  .t-info .pt-hero3--form { padding: 16px 0 4px; }
  .t-info .pt-hero3--form .h1 { font-size: 26px; }
  .t-info .pt-hero3--form .lede { font-size: 16px; }
  .t-info .sb-formsec { padding-top: 8px; }
}

/* ---------------------------------------------------------------- 10. ideas pages (v3 "By window type") */
.t-ideas .pt-win { padding: 32px 0 28px; }
.t-ideas .pt-win__q { margin: 28px 0 14px; }
.t-ideas .pt-results { padding-top: 28px; }
.t-ideas .pt-guides .sec__head { margin-bottom: 24px; }
.t-ideas .pt-more { margin-top: 24px; }
.t-ideas .sec + .pt-win .pt-win__q:first-child { margin-top: 0; }   /* round 1 check: 116px above "A quick look" */
/* round 1 check: two hub cards stopped at x973, leaving a 360px empty column; on wide screens they fill the row,
   photo beside the words (shorter too) */
@media (min-width: 1025px) {
  .sb-cards.sb-cards--2 { max-width: none; }
  .sb-cards--2 .pt-rel__card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
  .sb-cards--2 .pt-rel__media { aspect-ratio: auto; height: 100%; min-height: 220px; }
  .sb-cards--2 .pt-rel__body { padding: 24px 28px; align-content: center; grid-template-rows: none; }
}
@media (max-width: 1024px) { .t-ideas .pt-win { padding: 28px 0 24px; } }
@media (max-width: 720px) {
  .t-ideas .pt-win { padding: 20px 0 20px; }
  .t-ideas .pt-win__q { margin: 20px 0 12px; }
  .t-ideas .pt-results { padding-top: 16px; }
  .t-ideas .pt-guides .sec__head { margin-bottom: 16px; }
}

/* ---------------------------------------------------------------- 11. Samples page (the grid keeps its min-height, so nothing jumps while samples load) */
.sb-s-hero { padding-top: 32px; padding-bottom: 20px; }
.sb-sp { padding-top: 20px; }
.sb-sp__head { margin-top: 20px; padding-top: 16px; }
@media (max-width: 720px) { .sb-s-hero { padding-top: 20px; } }

/* ---------------------------------------------------------------- 12. client area: a one-line head */
.pt-acct { padding-top: 20px; }
.pt-head { margin-bottom: 16px; align-items: center; }
.pt-h1 { margin-top: 0; font-size: 30px; line-height: 1.15; }
.pt-sub { margin-top: 4px; font-size: 16px; }
/* round 1 check: the "Plan another room" button floated mid-way; now it sits right next to the Example data chip, both on the
   right edge, with the note under them */
@media (min-width: 721px) {   /* phones hide the tools block (account.css), and this file must not bring it back */
  .pt-head__tools { display: grid; grid-template-columns: auto auto; justify-content: end; align-items: center; gap: 6px 12px; }
  .pt-head__tools .pt-x { display: contents; }
  .pt-head__tools .pt-xnote { grid-column: 1 / -1; }
}
@media (max-width: 1023px) { .pt-acct { padding-top: 20px; } .pt-head__tools .pt-xnote { display: none; } }
@media (max-width: 720px) {
  .pt-acct { padding: 20px 0 28px; }   /* round 1 check: 12px left the title glued to the client bar */
  .pt-head { align-items: flex-start; gap: 8px; margin-bottom: 12px; }
  .pt-h1 { font-size: 26px; margin-top: 0; }
  .pt-sub { font-size: 15.5px; margin-top: 2px; }
  .pt-xm { margin-top: 6px; }
}

/* ---------------------------------------------------------------- 13. Build a blind (d12 builder main, imported without its intro and How it works) */
.t-builder .builder { margin-top: 0; padding: 24px 0 48px; }
.t-builder .bshell__title { margin: 0; font-size: 20px; line-height: 1.2; letter-spacing: -0.015em; }
@media (max-width: 900px) { .t-builder .builder { margin-top: 0; } }
/* round 1 check, wide screens: the call box lies flatter, so the closed sign-in card beside it leaves less blank */
@media (min-width: 1141px) {
  .t-builder .bextra .callbox { grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; row-gap: 4px; }
  .t-builder .bextra .callbox > h3, .t-builder .bextra .callbox__sub, .t-builder .bextra .callbox__help { grid-column: 1 / -1; }
  .t-builder .bextra .callbox__big { grid-column: 1; }
  .t-builder .bextra .callbox__hours { grid-column: 2; grid-row: 3; align-self: center; }
}
/* round 1 check, tablets: all six step tabs fit (no cut-off "Send your plan"), the picture sits beside the list in
   "Your blind", and the sign-in card is not stretched */
@media (min-width: 721px) and (max-width: 1140px) {
  .t-builder .bsteps { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; overflow: visible; padding: 0 20px; }
  .t-builder .bstep { white-space: normal; align-items: flex-start; gap: 8px; padding: 14px 0 16px; font-size: 13px; line-height: 1.3; }
  .t-builder .bstep__n { width: 24px; height: 24px; font-size: 12px; }
  .t-builder .bside { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px 24px; }
  .t-builder .preview { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 20px; align-items: start; }
  .t-builder .preview__head { grid-column: 1 / -1; }
  .t-builder .picks { margin-top: 0; }
  .t-builder .picks li:first-child { border-top: 0; }
  .t-builder .bextra { align-items: start; }
}
@media (max-width: 720px) {
  .t-builder .builder { margin-top: 0; padding: 0; }
  /* d12 hides the panel's top row on phones; here it stays as the page title (the save note stays hidden) */
  .t-builder .bshell__top { display: flex; padding: 14px var(--gut) 12px; background: var(--white); }
  .t-builder .bshell__save { display: none; }
  .t-builder .bshell__title { font-size: 19px; }
}
/* Owner feedback round 7 (27 Sep 2026): no "Optional" under the step names (the tabs are one line now). A step that could
   be skipped has its own not-sure choice inside it (sitegen/blocks/imports.py adds them, builder.js counts them as the
   answer): "No preference" spans both columns of What matters; "I'm not sure yet — measure it for me" sits under the size
   fields at their width; "Help me choose at the consultation" is one slim row under each part of step 5, with the same
   border and tick as the cards. Next looks inactive until the step has an answer (aria-disabled: it stays focusable and
   pressing it says what is missing), like Back on step 1. */
.t-builder .bprio .bnone { grid-column: 1 / -1; }
.t-builder .bnone--size { width: 100%; max-width: 520px; margin-top: 16px; }
.t-builder .bnone strong { text-wrap: balance; }
.t-builder .bnone--help { grid-column: 1 / -1; flex: 1 0 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 14px 10px 16px; border-radius: 14px; border: 1.5px solid var(--line); background: var(--white); color: var(--ink); text-align: left; font-size: 15px; font-weight: 500; line-height: 1.35; transition: border-color .15s, box-shadow .15s; }
.t-builder .bnone--help:hover { border-color: var(--line-h3); }
.t-builder .bnone--help[aria-checked="true"] { border-color: var(--iris); box-shadow: 0 0 0 4px rgba(var(--iris-rgb), .14); font-weight: 600; }
.t-builder .bnone--help .radio { flex: none; margin: 0; }
.t-builder .bnone__txt { min-width: 0; }
.t-builder .bnav__next[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.t-builder .bnav__next[aria-disabled="true"]:hover { background: var(--iris); }
.t-builder .bnav__next[aria-disabled="true"]:active { transform: none; }
/* Wide screens: without the side note (and with one-line tabs) the short steps lost about 100px beside "Your blind", so
   Back / Next sat higher on Rough size than on the other steps. The question column keeps its old height (up to where
   the bar sticks to the bottom of the screen): Back / Next stay in one place on all six steps, as before. */
@media (min-width: 1141px) { .t-builder .bmain { min-height: clamp(560px, calc(100vh - 245px), 755px); } }
/* From 721px the last choice of a step (now often a not-sure row) sat flush against Back / Next, and the bar (white, drawn
   on top) cut off the bottom of its focus ring and its chosen ring. 8px under each step keeps both rings whole (round 7
   re-check). Back / Next do not move at 1440×900, 1440×1000, 1280×800 or 1141×900. */
@media (min-width: 721px) { .t-builder .bpanel { padding-bottom: 8px; } }
/* Phones: the "what is missing" message is a band at the top of the Back / Next bar instead of floating above it, so it
   never covers the step's last choice (it covered "I'm not sure yet" at 390px). It only shows after pressing an inactive
   Next; while the bar is stuck to the bottom of the screen it grows upwards, as the floating message did. */
@media (max-width: 720px) {
  .t-builder .bnav { flex-wrap: wrap; }
  .t-builder .bnav__msg { position: static; order: -1; flex: 1 0 100%; margin: -10px calc(-1 * var(--gut)) 0; padding: 10px var(--gut); border-top: 0; border-bottom: 1px solid var(--line); }
  .t-builder .bnav__msg[hidden] { display: none; }
  .t-builder .bnone--size { max-width: none; }
  .t-builder .bnone--help { min-height: 44px; padding: 10px 10px 10px 12px; border-width: 1px; border-radius: 12px; font-size: 14.5px; }
  .t-builder .bnone--help .radio { width: 22px; height: 22px; border: 1px solid var(--line-strong); background: var(--white); }
  .t-builder .bnone--help[aria-checked="true"] { box-shadow: inset 0 0 0 1px var(--iris); background-color: var(--iris-soft); }
  .t-builder .bnone--help[aria-checked="true"] .radio { background: var(--iris) var(--ico-check) center / 14px no-repeat; border-color: var(--iris); }
  .t-builder .bnone--help[aria-checked="true"] .radio::after { content: none; }
}
