/*
 * Irradiada · Clínica: the article page (fisiatria.com.br single post, layout "Coluna única").
 * Source: 03-ops/inner-pages-irradiada/plugin/irradiada-article.css
 * Installed as mu-plugins/fisiatria-irradiada/irradiada-article.css and enqueued by
 * mu-plugins/fisiatria-irradiada-pages.php on single posts while the option
 * fisiatria_irradiada_article is 1. Specification: 03-ops/inner-pages-irradiada/ARTICLE-SPEC.md.
 * Written against the frame of 2026-10-02 (fisiatria-irradiada.php 2.1.3, irradiada-frame.css of
 * 13:33), which loads first and gives the tokens, the reset, the links and the buttons under .irr.
 *
 * What it covers: the theme containers of a single post, the title band with the byline, the
 * reading column, the reference list, the 20 blocks of the governed block plugin and the clinic
 * card (their markup is not changed; this is their skin), the booking band, the related
 * articles and the notice of a post without text.
 *
 * Sections:
 *   1 Theme containers            6 Blocks
 *   2 Root and tokens             7 Governed inline styles, answered (the only !important)
 *   3 Title band and byline       8 After the text
 *   4 Reading column              9 Browser surfaces
 *   5 Reference list
 *
 * Role colours as on the homepage: vermilion = the alert block (black text), green = goals and
 * the treatment plan (black text), amber = guides and related articles (black text), cobalt =
 * the physician, in the clinic card (white text). Everything else is black on white with rules.
 */

/* ---------- 1. Theme containers (outside .irr, under the body class) ---------- */
html body.irr-article {
  background: #fafafa;
}
html body.irr-article #page,
html body.irr-article #content,
html body.irr-article #primary,
html body.irr-article #main,
html body.irr-article #main > .irr-page > article,
html body.irr-article .inside-article {
  display: block;
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
/* The theme gives every child of .site-main 20 px below and .entry-content 2em above. */
html body.irr-article #main > .irr-page {
  margin-bottom: 0;
}
html body.irr-article .entry-content {
  margin-top: 0;
}

/* ---------- 2. Root and tokens ---------- */
/* An .irr root like the homepage body: the frame's tokens and reset apply. Its own ground is
   white. New tokens:
     --irr-fs-read     reading text: 18 px to 842 px, 19 px from 1366 px, 20 px from 1516 px
     --irr-lh-read     1.45; 1.5 from 360 px; 1.55 from 768 px; 1.6 from 1024 px (the leading
                       follows the measure: 30, 38, 78 and 82 characters a line)
     --irr-measure     the reading column, one length for every paragraph of the page: 40 times
                       the reading size below 768 px (wider than the phone), 36 times from 768 px
                       (about 74 characters a line), and page columns 2 and 3 from 1280 px (about
                       62 characters at 1366 px, 72 at 1647 px; owner, 2026-10-02: "some text
                       still looks like long wall of text"), never more than 36 times the reading
                       size: from about 1690 px two columns are wider than that (820 px, 83
                       characters at 1920 px, the length the owner rejected), so the text stops
                       short of the end of column 3 there
     --irr-flow        paragraph gap: 0.9em below 360 px, 1.1em from 360 px, 1.6em from 768 px,
                       1.8em from 1280 px (36 px at 1647 px, more than its 32 px line: a gap a
                       line tall or less let four paragraphs read as one slab). Post 1263 holds
                       a run of five paragraphs that the article gate limits to 1,320 px at
                       320 px; do not raise the leading or the gap below 360 px without
                       measuring it.
     --irr-step-40     28 px to 1008 px, 40 px at 1440, 44 px from 1584 px
     --irr-row-top     the padding above a row inside a block
     --irr-col         one column of the four-column grid
     --irr-field-bleed from 1280 px, how far a colour field, the clinic card and the booking band
                       reach past the page lines on each side: their side padding is the same
                       length, so their names, rules and buttons stand on the page lines (never
                       closer than 16 px to the window edge)
     --irr-span3       columns 2 to 4 (or 1 to 3): three columns and two gaps */
.irr.irr-page {
  --irr-fs-read: min(20px, clamp(18px, 16.4px + 0.19vw, 19px) + var(--irr-over) * 0.0132);
  --irr-lh-read: 1.45;
  --irr-measure: calc(var(--irr-fs-read) * 40);
  --irr-flow: 0.9em;
  --irr-fs-art-h1: clamp(30px, 8.72vw, var(--irr-fs-h3-xl));
  --irr-fs-art-h2: clamp(26px, 2.361vw, 34px);
  --irr-fs-art-h3: clamp(22px, 1.597vw, 24px);
  --irr-step-40: min(44px, clamp(28px, 2.778vw, 40px) + var(--irr-over) * 0.02778);
  --irr-row-top: 14px;
  --irr-col: calc((min(var(--irr-max), var(--irr-vw) - 2 * var(--irr-gutter)) - 3 * var(--irr-gap)) / 4);
  --irr-span3: calc(3 * var(--irr-col) + 2 * var(--irr-gap));
  --irr-field-bleed: min(var(--irr-tile-pad-lg), var(--irr-gutter) - 16px);
  --irr-focus: var(--irr-black);
  background: var(--irr-white);
  color: var(--irr-black);
  font-size: var(--irr-fs-read);
  line-height: var(--irr-lh-read);
  overflow-wrap: break-word;
}
@media (min-width: 360px) {
  .irr.irr-page {
    --irr-lh-read: 1.5;
    --irr-flow: 1.1em;
  }
}
@media (min-width: 768px) {
  .irr.irr-page {
    --irr-lh-read: 1.55;
    --irr-measure: calc(var(--irr-fs-read) * 36);
    --irr-flow: 1.6em;
  }
}
@media (min-width: 1024px) {
  .irr.irr-page {
    --irr-lh-read: 1.6;
  }
}
@media (min-width: 1280px) {
  .irr.irr-page {
    --irr-measure: min(2 * var(--irr-col) + var(--irr-gap), var(--irr-fs-read) * 36);
    --irr-flow: 1.8em;
  }
}

/* ---------- 3. Title band and byline ---------- */
/* Black, window edge to window edge. The band is as tall as its title: no minimum height, and
   nothing stands above the h1. Air goes above the title, not inside the band. */
.irr .irr-ahead {
  --irr-focus: var(--irr-guides);
  padding: var(--irr-step-64) 0 var(--irr-step-40);
  background-color: var(--irr-black);
  color: var(--irr-white);
}
.irr .irr-ahead__title {
  font-size: var(--irr-fs-art-h1);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.025em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
/* A title with a word of 17 characters or more: sized from the window, so the word keeps one
   line down to 320 px (11.1 is the width of "Viscossuplementação:" in em, with a margin). */
.irr .irr-ahead--long .irr-ahead__title {
  font-size: min(var(--irr-fs-art-h1), (var(--irr-vw) - 2 * var(--irr-gutter)) / 11.1);
}
/* The homepage hero's grammar: headline, hairline, running line with the physician and CRM. */
.irr .irr-byline {
  margin-top: max(24px, var(--irr-fs-h3));
  padding-top: 16px;
  border-top: 1px solid var(--irr-white);
  color: var(--irr-gray);
  font-size: 16px;
  line-height: 1.4;
}
.irr .irr-byline__name,
.irr .irr-byline__item {
  display: block;
}
.irr .irr-byline__sep {
  display: none;
}
/* The name is the one link of the band. 12 px on every side as hit area, pulled back so the
   line keeps its height and the name its place. The focus ring is drawn 8 px inside that area:
   4 px clear of the letters on all four sides (with padding above and below only, it ran
   through the first and the last letter of the name). */
.irr .irr-byline__name {
  width: fit-content;
  margin: -12px;
  padding: 12px;
  color: var(--irr-white);
  font-weight: 700;
}
.irr .irr-byline__name:focus-visible {
  outline-offset: -8px;
}
.irr .irr-byline__date {
  margin-top: 2px;
}
/* One line for the physician from 768 px (637 px wide at 16 px), one for the date. */
@media (min-width: 768px) {
  .irr .irr-byline__name,
  .irr .irr-byline__item,
  .irr .irr-byline__sep {
    display: inline;
  }
  .irr .irr-byline__name {
    margin-block: 0;
  }
  .irr .irr-byline__date {
    margin-top: 4px;
  }
}
/* From 1024 px the title and the byline keep to columns 1 to 3 and column 4 holds the one ring
   set of the page: white rings from the band's lower right corner, a CSS background (never an
   inline SVG: the gates measure svg elements even when clipped), cut by the band's top edge.
   Rings never cross text. No motion. */
@media (min-width: 1024px) {
  .irr .irr-ahead__in > * {
    max-width: calc(3 * var(--irr-col) + 2 * var(--irr-gap));
  }
  .irr .irr-ahead {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 360' fill='none' stroke='%23fafafa'%3E%3Ccircle cx='360' cy='360' r='40' stroke-width='9'/%3E%3Ccircle cx='360' cy='360' r='80' stroke-width='8'/%3E%3Ccircle cx='360' cy='360' r='120' stroke-width='7'/%3E%3Ccircle cx='360' cy='360' r='160' stroke-width='6'/%3E%3Ccircle cx='360' cy='360' r='200' stroke-width='5'/%3E%3Ccircle cx='360' cy='360' r='240' stroke-width='4'/%3E%3Ccircle cx='360' cy='360' r='280' stroke-width='3'/%3E%3Ccircle cx='360' cy='360' r='320' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: min(520px, var(--irr-bleed) + var(--irr-col)) auto;
  }
}

/* ---------- 4. Reading column ---------- */
/* .entry-content is the wrap: the frame's content edges. Text keeps to the measure on the left
   edge (from 1280 px on page column 2, 4.1); blocks run the four columns. Vertical space is ordinary block margin (adjoining margins
   collapse to the larger): every child after the first has the paragraph gap, replaced by the
   heading and block steps below. The governed layouts plugin leaves a figure that is not
   displayed between the opening and the next element, so no rule here counts on two displayed
   elements being adjacent siblings. */
.irr-page--article .entry-content {
  width: min(var(--irr-max), 100% - 2 * var(--irr-gutter));
  margin-inline: auto;
  padding-top: var(--irr-step-72);
  padding-bottom: max(64px, var(--irr-step-104));
}
.irr-page--article .entry-content > :where(p, h2, h3, h4, ul, ol, dl, blockquote) {
  max-width: var(--irr-measure);
}
.irr-page--article .entry-content > * + * {
  margin-top: var(--irr-flow);
}
.irr-page--article .entry-content > :first-child,
.irr-page--article .entry-content > .fis-featured-after-opening:first-child + * {
  margin-top: 0;
}
.irr-page--article .entry-content > :last-child {
  margin-bottom: 0;
}
.irr-page--article .entry-content > p:empty,
.irr-page--article .fis-aid__content > p:empty {
  display: none;
}
/* Lede: the paragraph that opens the page. */
.irr-page--article .entry-content > p:first-child {
  font-size: var(--irr-fs-lede);
  line-height: 1.45;
}
/* Headings: more space above than below (83 against 23 px at 1366 for an h2). */
.irr-page--article .entry-content > h2 {
  margin-top: max(56px, var(--irr-step-88));
  margin-bottom: 0.7em;
  font-size: var(--irr-fs-art-h2);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.irr-page--article .entry-content > h3 {
  margin-top: var(--irr-step-64);
  margin-bottom: 0.7em;
  font-size: var(--irr-fs-art-h3);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.irr-page--article .entry-content > h4 {
  margin-top: var(--irr-step-40);
  margin-bottom: 0.5em;
  font-weight: 700;
  line-height: 1.3;
}
.irr-page--article .entry-content > :is(h2, h3, h4) + * {
  margin-top: 0;
}

/* 4.1 The page grid, from 1280 px (owner, 2026-10-02, at 1647 px: "some blocks like tables are
   misaligned on desktop"; the text kept to an 800 px column on the left edge while every block
   body started on page column 2, so no two edges met). Now one line carries all reading matter
   and one carries all names:
     column 1        names: the h2 section headings (on the line of the h1, the byline, the
                     block names and the related list's name, and three columns wide), the
                     block names (6) and the h3 subheads, which hang beside their first
                     paragraph, its first line on the subhead's line
     columns 2, 3    the text: paragraphs, lists, and the left edge of every table and block
                     body
     column 4        the sources of the articles that cite by label (4.2); otherwise air
   A subhead followed by a block, or by another heading, stays above it on column 2. Floats need
   the ordinary block flow (a grid would give each paragraph its own formatting context and
   let two notes overlap), so headings, blocks and everything that is not text clear them. An
   h2 that stood on column 2 sat further in than its own subheads and left the line of the h1
   with no echo in the text (design review, 2026-10-02). */
@media (min-width: 1280px) {
  .irr-page--article .entry-content > :where(p, h2, h3, h4, ul, ol, dl, blockquote, hr, figure),
  .irr-page--article .entry-content > p + .fis-aid--evidence:has(+ p) {
    margin-left: calc(var(--irr-col) + var(--irr-gap));
  }
  .irr-page--article .entry-content > h2 {
    max-width: var(--irr-span3);
    margin-left: 0;
  }
  .irr-page--article .entry-content > :not(p, ul, ol, h3) {
    clear: both;
  }
  .irr-page--article .entry-content > h3:has(+ :is(p, ul, ol)) {
    float: left;
    clear: left;
    width: var(--irr-col);
    max-width: none;
    margin: var(--irr-step-64) 0 24px;
    padding-top: 2px;
  }
  .irr-page--article .entry-content > h3:has(+ :is(p, ul, ol)) + * {
    margin-top: var(--irr-step-64);
  }
  /* Directly under an h2 or a block, the subhead and its paragraph take the step that is
     already there. */
  .irr-page--article .entry-content > :is(h2, .fis-aid) + h3:has(+ :is(p, ul, ol)),
  .irr-page--article .entry-content > :is(h2, .fis-aid) + h3:has(+ :is(p, ul, ol)) + * {
    margin-top: 0;
  }
}

/* 4.2 Sources cited by label. Seven articles (1038, 1089, 1138, 1231, 1235, 1244, 4330) cite
   their sources inside the text as a short linked label between two sentences, or as a
   sentence of their own ("Diretriz clínica do manguito rotador."): 48 labels in post 1089
   alone, which read as words of the text ("...afastar a coxa. Padrão clínico da raiz L5 O
   médico compara..."). The plugin marks them (a.irr-cite on every source link of those
   articles, a.irr-note on the labels that stand between sentences, .irr-stop on the period
   after a label sentence); no word is changed. A note is set as the reference list sets a
   source: 16 px Ink Secondary under a 1 px Gray rule. Below 1280 px it takes a line of its
   own between the two sentences, so it is no longer read into the next one; from 1280 px it
   leaves the text for column 4, its top on the line it was on. Notes never overlap: each one
   clears the one before. A source link that is not a label ("Diretriz ... e Anvisa.") stays
   in the sentence in Ink Secondary. The articles that link whole sentences of their text
   (meralgia, notalgia and others) are not marked: there the link is the text. None of the
   seven has five paragraphs in a row, so the extra lines touch no wall-of-text limit. */
.irr-page--article .entry-content > p > a.irr-cite {
  color: var(--irr-ink-2);
}
/* Below 1280 px the note's rule runs the measure, like every other rule of the reading column
   (as long as its label, it was a rule whose length followed its text). */
.irr-page--article .entry-content > p > a.irr-note {
  display: block;
  width: auto;
  margin: 10px 0;
  padding-top: 6px;
  border-top: 1px solid var(--irr-gray);
  font-size: 16px;
  line-height: 1.4;
}
.irr-page--article .entry-content > p > .irr-stop {
  display: none;
}
/* From 1280 px a note keeps 8 px below it: with 14 px, the clearance after a two-line note
   pushed the next one a line below its sentence (19 notes). */
@media (min-width: 1280px) {
  .irr-page--article .entry-content > p > a.irr-note {
    float: right;
    clear: right;
    width: var(--irr-col);
    margin: 0 calc(var(--irr-measure) - var(--irr-span3)) 8px 0;
    padding-top: 7px;
  }
  /* A paragraph that holds a note runs to column 4 with everything past the measure as right
     padding: the text keeps the measure and the note lands inside the paragraph's own box, in
     column 4. Hung outside the box, the note raised the paragraph's scrollWidth and the article
     gate counted every such paragraph as clipped text (P1 clipped-text on the seven posts at
     1366 px; added by the orchestrator on 2026-10-02 after the sweep, measured: 0 clipped at
     1280, 1366, 1647 and 1920 px on posts 1089, 4330, 1038 and 1138). */
  .irr-page--article .entry-content > p:has(> a.irr-note) {
    max-width: var(--irr-span3);
    padding-right: calc(var(--irr-span3) - var(--irr-measure));
  }
}
/* Lists in prose: square and decimal markers, proportional figures (a tabular "1." opens a gap
   before the period). */
.irr-page--article .entry-content > :is(ul, ol),
.irr-page--article .entry-content > :is(ul, ol) :is(ul, ol) {
  padding-left: 1.3em;
}
.irr-page--article .entry-content > ul,
.irr-page--article .entry-content > :is(ul, ol) ul {
  list-style: square;
}
.irr-page--article .entry-content > ol,
.irr-page--article .entry-content > :is(ul, ol) ol {
  list-style: decimal;
}
/* The browser sets list markers in tabular figures. */
.irr-page--article .entry-content > :is(ul, ol) li::marker {
  font-variant-numeric: normal;
}
.irr-page--article .entry-content > :is(ul, ol) li + li,
.irr-page--article .entry-content > :is(ul, ol) li > :is(ul, ol) {
  margin-top: 0.5em;
}
.irr-page--article .entry-content strong {
  font-weight: 700;
}
/* Links in running text: the text colour, a thin underline in Gray. The words stay black at
   reading weight, so a paragraph that is one long link (notalgia, meralgia) still reads as
   text. */
.irr-page--article .entry-content a {
  text-decoration-thickness: 1px;
  text-decoration-color: var(--irr-gray);
  text-underline-offset: 0.25em;
}
.irr-page--article .entry-content a:hover,
.irr-page--article .entry-content a:focus-visible {
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
}
/* Elements no article body holds today, kept on the system's terms for the next one. */
.irr-page--article .entry-content > blockquote {
  margin-inline: 0;
  padding: 0 0 0 1.3em;
  border: 0;
  font-style: normal;
}
.irr-page--article .entry-content > hr {
  height: 0;
  max-width: var(--irr-measure);
  margin: var(--irr-step-40) 0;
  border: 0;
  border-top: 1px solid var(--irr-black);
  background: none;
}
.irr-page--article .entry-content > figure img,
.irr-page--article .entry-content > p > img {
  max-width: 100%;
  height: auto;
}
.irr-page--article .entry-content > figure figcaption {
  margin-top: 8px;
  color: var(--irr-ink-2);
  font-size: 16px;
  line-height: 1.4;
}
/* A post without text: the body holds only the illustration that is not displayed. */
.irr-page--empty .entry-content {
  display: none;
}

/* ---------- 5. Reference list (the 33 older articles) ---------- */
/* <h2>Fontes consultadas</h2><ul> as the last two elements of the body. Sources are not a
   colour: white field, black rules. Without :has() the heading keeps the h2 size. */
.irr-page--article .entry-content > h2:has(+ ul:last-child) {
  font-size: var(--irr-fs-art-h3);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.irr-page--article .entry-content > ul:last-child {
  padding-left: 0;
  list-style: none;
  color: var(--irr-ink-2);
  font-size: 16px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.irr-page--article .entry-content > ul:last-child > li {
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid var(--irr-black);
}

/* ---------- 6. Blocks ---------- */
/* Markup: <section class="fis-aid fis-aid--{type}"><div class="fis-aid__head"> label, optional
   h3 title, optional intro </div><div class="fis-aid__body"> ... </div></section>, exactly as
   the governed block plugin prints it.

   6.0 Frame. Four columns wide, white, a 3 px rule on top, no box. The step above and below is
   a margin on the block itself, so it holds whatever stands next to it. */
.irr-page--article .fis-aid {
  --irr-aid-label: none;
  margin-block: max(48px, var(--irr-step-72));
  padding-top: var(--irr-rule-pad);
  border-top: 3px solid var(--irr-black);
  font-size: 18px;
  line-height: 1.45;
}
/* A block that directly follows an h2 keeps close to it. */
.irr-page--article .entry-content > h2 + .fis-aid {
  margin-top: var(--irr-rule-pad);
}
/* The opening block: the black band above is its edge. */
.irr-page--article .entry-content > .fis-aid:first-child:not(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes) {
  padding-top: 0;
  border-top: 0;
}

/* Head. Below 1280 px the head stands above the body; the 20 px between them is the bottom
   margin of the head's last child, so a head that shows nothing takes no space. */
.irr-page--article .fis-aid__head > :last-child {
  margin-bottom: 20px;
}
.irr-page--article .fis-aid__title {
  font-size: var(--irr-fs-art-h3);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.irr-page--article .fis-aid__title + .fis-aid__intro {
  margin-top: 10px;
}
/* The label is the name of a block that has no title. It is set in the block-title type, in
   sentence case, so both head forms share one grammar: a title in the head. */
.irr-page--article .fis-aid__label {
  display: block;
  font-size: var(--irr-fs-art-h3);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
/* Names replaced on screen. The plugin's word stays in the markup; visibility: hidden takes it
   out of the accessibility tree and the replacement is read in its place. Reader mode, print,
   copy and paste and search engines still read the markup. */
.irr-page--article .fis-aid:is(.fis-aid--differential, .fis-aid--monitor, .fis-aid--plan, .fis-aid--treatments, .fis-aid--medication, .fis-aid--goals, .fis-aid--routes, .fis-aid--photo) .fis-aid__label {
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
  visibility: hidden;
}
.irr-page--article .fis-aid__label::before {
  content: var(--irr-aid-label);
  display: block;
  font-size: var(--irr-fs-art-h3);
  line-height: 1.15;
  letter-spacing: -0.01em;
  visibility: visible;
}
.irr-page--article .fis-aid--differential { --irr-aid-label: "Condições parecidas"; }
.irr-page--article .fis-aid--monitor { --irr-aid-label: "O que acompanhar"; }
.irr-page--article .fis-aid--plan { --irr-aid-label: "Plano de tratamento"; }
.irr-page--article .fis-aid--treatments { --irr-aid-label: "Tratamentos"; }
.irr-page--article .fis-aid--medication { --irr-aid-label: "Medicamentos"; }
.irr-page--article .fis-aid--goals { --irr-aid-label: "Objetivos do tratamento"; }
.irr-page--article .fis-aid--routes { --irr-aid-label: "Leia também"; }
.irr-page--article .fis-aid--photo { --irr-aid-label: "Fotografia"; }
/* No label is ever shown above a title; the opening block, the rows block, the columns of
   "Conduta" and the evidence block carry no name in any state; a name-only block that directly
   follows an h2 shows no name, because the h2 already names it. */
.irr-page--article .fis-aid__label:not(:only-child),
.irr-page--article .fis-aid:is(.fis-aid--answer, .fis-aid--decision, .fis-aid--conduct, .fis-aid--evidence) .fis-aid__label,
.irr-page--article .entry-content > h2 + .fis-aid .fis-aid__label:only-child {
  display: none;
}

/* Not displayed (the markup stays, so the gates' block counts hold).
   The evidence block: one instruction in the prescriber's voice under a label that promises
   studies. The name-only "Conduta" block: one sentence under the heading "Ainda a definir".
   The opening block that lost its sentence: see 6.2. */
/* (.entry-content in the first selector outweighs the display: grid every block takes from
   1280 px, which comes later in this sheet.) */
.irr-page--article .entry-content .fis-aid--evidence,
.irr-page--article .fis-aid--conduct:has(> .fis-aid__head > .fis-aid__label:only-child) {
  display: none;
}

/* Text inside a block: 18 px at every width (a block is a table, not prose), and no sentence
   wider than 40 em of its own size. The rule under a row still runs the width of the body (the
   rows of free content keep their text to 40 em with right padding, 6.15). */
.irr-page--article .fis-aid :is(p, dd),
.irr-page--article .fis-aid__item > strong {
  max-width: 40em;
}

/* Rows. Every repeated thing (a list row, an item, a table row, a definition) has 14 px above
   its text, 16 px below and a 1 px rule under it in the text colour of the ground. The container
   is pulled up by the same 14 px, so the first row's text starts on the name's line and no rule
   doubles the block's 3 px rule. The last row keeps its rule, which closes the block. */
.irr-page--article .fis-aid__list > li,
.irr-page--article .fis-aid__content li,
.irr-page--article .fis-aid__item,
.irr-page--article .fis-aid__glossary > div,
.irr-page--article .fis-aid__routes > a {
  padding: var(--irr-row-top) 0 16px;
  border-bottom: 1px solid currentColor;
  break-inside: avoid;
}
.irr-page--article .fis-aid__body > :is(.fis-aid__list, .fis-aid__grid, .fis-aid__glossary, .fis-aid__routes),
.irr-page--article .fis-aid__column > .fis-aid__list,
.irr-page--article .fis-aid__content > ul {
  margin-top: calc(-1 * var(--irr-row-top));
}
.irr-page--article .fis-aid__body > * + .fis-aid__content,
.irr-page--article .fis-aid__body > .fis-aid__media + * {
  margin-top: 20px;
}

/* 6.1 Tables: differential, exams, treatments, medication. From 768 px a real table on a fixed
   layout: three equal columns (two-column tables: the first a third). Uppercase Label type is
   used here only, in the header row. Proportional figures: the tabular feature of this face
   also widens the comma, the period and the colon. */
.irr-page--article .fis-aid__table-wrap {
  overflow-x: visible;
}
.irr-page--article .fis-aid__table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-variant-numeric: normal;
}
.irr-page--article .fis-aid__table th {
  padding: 0 20px 12px 0;
  border: 0;
  background: none;
  font-size: var(--irr-fs-label);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-align: left;
  text-transform: uppercase;
  vertical-align: bottom;
}
.irr-page--article .fis-aid__table td {
  padding: var(--irr-row-top) 20px 16px 0;
  border: 0;
  border-top: 1px solid var(--irr-black);
  text-align: left;
  vertical-align: top;
}
.irr-page--article .fis-aid__table tbody tr:last-child td {
  border-bottom: 1px solid var(--irr-black);
}
.irr-page--article .fis-aid__table td:first-child {
  font-weight: 700;
}
.irr-page--article .fis-aid__table :is(th, td):last-child {
  padding-right: 0;
}
.irr-page--article .fis-aid__table th:first-child:nth-last-child(2) {
  width: 33.333%;
}
/* Below 768 px stacked rows (a table never scrolls sideways): each row is a group, its first
   cell is the row's name, and every other cell starts with its column header as a run-in label
   taken from the plugin's data-label. */
@media (max-width: 767.98px) {
  .irr-page--article .fis-aid__table,
  .irr-page--article .fis-aid__table tbody,
  .irr-page--article .fis-aid__table tr,
  .irr-page--article .fis-aid__table td {
    display: block;
    width: auto;
  }
  .irr-page--article .fis-aid__table thead {
    display: none;
  }
  .irr-page--article .fis-aid__table {
    margin-top: calc(-1 * var(--irr-row-top));
  }
  .irr-page--article .fis-aid__table tr {
    padding: var(--irr-row-top) 0 16px;
    border-bottom: 1px solid var(--irr-black);
  }
  .irr-page--article .fis-aid__table td,
  .irr-page--article .fis-aid__table tbody tr:last-child td {
    padding: 0;
    border: 0;
  }
  .irr-page--article .fis-aid__table td + td {
    margin-top: 6px;
  }
  .irr-page--article .fis-aid__table td:first-child {
    line-height: 1.3;
  }
  .irr-page--article .fis-aid__table td[data-label]:not(:first-child)::before {
    content: attr(data-label) ": ";
    font-weight: 700;
  }
  /* A header that ends in its own mark ("O rótulo responde?") takes no colon. */
  .irr-page--article .fis-aid__table td:is([data-label$="?"], [data-label$=":"]):not(:first-child)::before {
    content: attr(data-label) " ";
  }
  /* A cell without text (three rows in posts 1235 and 4330) would leave its label alone on a
     line. */
  .irr-page--article .fis-aid__table td:empty {
    display: none;
  }
}

/* 6.2 The opening block (answer). Its sentence is lost in 33 of 34 older articles and what is
   left is five to eight keyword fragments. That is not an answer, so it does not open the page:
   the block is not displayed when a paragraph follows it, and that paragraph takes the Lede
   type. When a block follows instead (post 753) it stays, because the article gate measures it
   as the opening. The rule repairs itself: with the sentence back, :empty no longer matches.
   Without :has() the short rows show without a name. */
.irr-page--article .entry-content > .fis-aid--answer:has(> .fis-aid__body > .fis-aid__answer:empty):has(+ .fis-featured-after-opening + p) {
  display: none;
}
.irr-page--article .entry-content > .fis-aid--answer:has(> .fis-aid__body > .fis-aid__answer:empty) + .fis-featured-after-opening + p {
  margin-top: 0;
  font-size: var(--irr-fs-lede);
  line-height: 1.45;
}
.irr-page--article .fis-aid__answer {
  max-width: var(--irr-measure);
  font-size: var(--irr-fs-lede);
  line-height: 1.45;
}
.irr-page--article .fis-aid__answer:empty {
  display: none;
}
.irr-page--article .fis-aid__answer:not(:empty) + .fis-aid__list {
  margin-top: 6px;
}

/* 6.3 Lists (the opening block, the alert block, the questions): ruled rows, two columns from
   768 px, three page columns from 1280 px (6.0, the margin column). No drawn marker, no icon. */
@media (min-width: 768px) {
  .irr-page--article .fis-aid__body > .fis-aid__list,
  .irr-page--article .fis-aid__column:only-child > .fis-aid__list {
    columns: 2;
    column-gap: var(--irr-gap);
  }
}
/* 6.9 Questions: ruled rows without numbers (their order carries no information; the brief's
   NEVER list bans numbered cells of that kind). */

/* 6.4 to 6.7 Items. One grid for rows (decision, timeline), numbered rows (plan, plate) and
   cells (mechanism, monitor, goals). The plugin prints "01, 02" in every item; they are shown
   only where the order is the content (plan, plate). An item title is 700 when a text follows
   it; when the title is the whole item it is set at 400. */
.irr-page--article .fis-aid__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: var(--irr-gap);
}
.irr-page--article .fis-aid__item > strong {
  display: block;
  font-weight: 700;
  line-height: 1.3;
}
.irr-page--article .fis-aid__item > strong:last-child {
  font-weight: 400;
  line-height: 1.45;
}
.irr-page--article .fis-aid__item > p,
.irr-page--article .fis-aid__item > em {
  margin-top: 4px;
}
.irr-page--article .fis-aid__item > em {
  display: block;
  font-size: 16px;
  font-style: normal;
  line-height: 1.4;
}
.irr-page--article .fis-aid__num {
  display: none;
}
.irr-page--article :is(.fis-aid__grid--plan, .fis-aid__grid--plate) .fis-aid__num {
  display: block;
  margin-bottom: 4px;
  font-size: var(--irr-fs-label);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
}
/* Cells: two columns from 600 px, three from 1024 px. On phones from 360 px a name-only block,
   whose cells hold one to three words, takes two columns (without :has(): one). */
@media (min-width: 360px) and (max-width: 599.98px) {
  .irr-page--article .fis-aid:has(> .fis-aid__head > .fis-aid__label:only-child) :is(.fis-aid__grid--mechanism, .fis-aid__grid--compact, .fis-aid__grid--goals) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 600px) {
  .irr-page--article :is(.fis-aid__grid--mechanism, .fis-aid__grid--compact, .fis-aid__grid--goals) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .irr-page--article :is(.fis-aid__grid--mechanism, .fis-aid__grid--compact, .fis-aid__grid--goals) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  /* Rows: the name in the first of three columns, the text in the other two. */
  .irr-page--article :is(.fis-aid__grid--decision, .fis-aid__timeline) .fis-aid__item {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--irr-gap);
    align-items: baseline;
  }
  .irr-page--article :is(.fis-aid__grid--decision, .fis-aid__timeline) .fis-aid__item > strong {
    grid-column: 1;
    grid-row: 1 / span 2;
  }
  .irr-page--article :is(.fis-aid__grid--decision, .fis-aid__timeline) .fis-aid__item > strong:last-child {
    grid-column: 1 / -1;
  }
  .irr-page--article :is(.fis-aid__grid--decision, .fis-aid__timeline) .fis-aid__item > :is(p, em) {
    grid-column: 2 / -1;
  }
  .irr-page--article :is(.fis-aid__grid--decision, .fis-aid__timeline) .fis-aid__item > p {
    margin-top: 0;
  }
  /* Numbered rows: the number in a 3em column, the sentence beside it. */
  .irr-page--article :is(.fis-aid__grid--plan, .fis-aid__grid--plate) .fis-aid__item {
    display: grid;
    grid-template-columns: 3em minmax(0, 1fr);
    align-items: baseline;
  }
  .irr-page--article :is(.fis-aid__grid--plan, .fis-aid__grid--plate) .fis-aid__num {
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }
  .irr-page--article :is(.fis-aid__grid--plan, .fis-aid__grid--plate) .fis-aid__item > :is(strong, p, em) {
    grid-column: 2;
  }
}

/* 6.8 Columns: procedure, conduct. Three columns from 768 px, each a heading and its rows. */
.irr-page--article .fis-aid__columns {
  display: grid;
  gap: 28px var(--irr-gap);
}
.irr-page--article .fis-aid__column > strong {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .irr-page--article .fis-aid__columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* One column (the name-only procedure blocks print only "Antes de indicar"): it takes the row,
   its rows stand in two columns, and one name is shown, not two: the block label is not
   displayed and the column heading stands in the head position in the block-title type.
   Without :has() the label shows as the name and the heading stands above its list. */
.irr-page--article .fis-aid__column:only-child {
  grid-column: 1 / -1;
}
.irr-page--article .fis-aid:has(> .fis-aid__head > .fis-aid__label:only-child):has(.fis-aid__column:only-child) > .fis-aid__head {
  display: none;
}
.irr-page--article .fis-aid:has(> .fis-aid__head > .fis-aid__label:only-child) .fis-aid__column:only-child > strong {
  margin-bottom: 20px;
  font-size: var(--irr-fs-art-h3);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

/* 6.10 Definitions (glossary): the term in the first of three columns from 768 px. */
.irr-page--article .fis-aid__glossary dt {
  font-weight: 700;
  line-height: 1.3;
}
.irr-page--article .fis-aid__glossary dd {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .irr-page--article .fis-aid__glossary > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--irr-gap);
    align-items: baseline;
  }
  .irr-page--article .fis-aid__glossary dd {
    grid-column: 2 / -1;
    margin-top: 0;
  }
}

/* 6.11 Links to guides (routes): each link is one ruled row and one hit area. */
.irr-page--article .fis-aid__routes > a {
  display: block;
  min-height: 56px;
  text-decoration: none;
}
.irr-page--article .fis-aid__routes > a > span {
  display: none;
}
.irr-page--article .fis-aid__routes > a > strong {
  display: block;
  font-weight: 700;
  line-height: 1.3;
}
.irr-page--article .fis-aid__routes > a > em {
  display: block;
  margin-top: 4px;
  font-style: normal;
}
.irr-page--article .fis-aid__routes > a:hover > strong {
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 0.2em;
}

/* 6.12 The evidence block between two paragraphs leaves a hairline on the measure and none of
   its content: the pause the block used to give. Without it the five opening paragraphs of
   post 903 become one run that passes the article gate's limit at 320 px. Without :has()
   nothing is displayed there. */
.irr-page--article .entry-content > p + .fis-aid--evidence:has(+ p) {
  display: block;
  max-width: var(--irr-measure);
  margin-block: var(--irr-step-40);
  padding: 0;
  border-top: 1px solid var(--irr-black);
}
.irr-page--article .entry-content > p + .fis-aid--evidence:has(+ p) > * {
  display: none;
}

/* 6.14 Figures inside a block (plate, photo, the optional image of mechanism; no article uses
   them): the image at the body's width, a caption in Ink Secondary under it. */
.irr-page--article .fis-aid__media img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.irr-page--article .fis-aid__media figcaption,
.irr-page--article .fis-aid__caption {
  margin-top: 8px;
  color: var(--irr-ink-2);
  font-size: 16px;
  line-height: 1.4;
}

/* 6.15 Free content inside a block: lists as ruled rows, paragraphs 12 px apart, a list close
   under the bold line that names it. A row's rule runs the width of the body like every other
   row; its text keeps to 40 em (the right padding is what the body has beyond 40 em). */
.irr-page--article .fis-aid__content li {
  padding-right: max(0px, calc(100% - 40em));
}
.irr-page--article .fis-aid__content > p:not(:empty) ~ p {
  margin-top: 12px;
}
/* A paragraph that holds line breaks is a record (a bold name, then its lines: the two blocks
   of post 1126, written where the other articles have a table). It is a ruled row, the same row
   a table gives on a phone. Without :has() the paragraphs stand 12 px apart, without rules. */
.irr-page--article .fis-aid__content > p:not(:empty):has(> br) {
  max-width: none;
  margin-top: 0;
  padding: var(--irr-row-top) max(0px, calc(100% - 40em)) 16px 0;
  border-bottom: 1px solid currentColor;
}
.irr-page--article .fis-aid__content > p:first-child:not(:empty):has(> br),
.irr-page--article .fis-aid__content > p:empty:first-child + p:not(:empty):has(> br) {
  margin-top: calc(-1 * var(--irr-row-top));
}
.irr-page--article .fis-aid__content > p:not(:empty) + ul {
  margin-top: -4px;
}
.irr-page--article .fis-aid__content > ul + p:not(:empty) {
  margin-top: 28px;
}

/* The four colour fields. No top rule: the field is the frame. Rules, names and text inside are
   black. Below 600 px the field bleeds to the window edges and its text stays on the page's
   left edge; from 1280 px it reaches past the page lines by its side padding (6.0). Below
   600 px a field or the clinic card that closes the body, with no booking band after it, keeps
   96 px of white above the amber related list (64 px read as a stripe between two colours). */
.irr-page--article .fis-aid:is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes) {
  --irr-focus: var(--irr-black);
  --irr-sel-bg: var(--irr-black);
  margin-inline: calc(-1 * var(--irr-gutter));
  padding: 28px var(--irr-gutter) 32px;
  border-top: 0;
  color: var(--irr-black);
}
.irr-page--article .fis-aid--alert {
  --irr-sel-fg: var(--irr-alert);
  background: var(--irr-alert);
}
.irr-page--article .fis-aid:is(.fis-aid--goals, .fis-aid--plan) {
  --irr-sel-fg: var(--irr-function);
  background: var(--irr-function);
}
.irr-page--article .fis-aid--routes {
  --irr-sel-fg: var(--irr-guides);
  background: var(--irr-guides);
}
.irr-page--article :is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes) a {
  text-decoration-color: currentColor;
}
@media (max-width: 599.98px) {
  .irr-page--article:not(.irr-page--card-end) .entry-content:has(> :is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes, .fis-clinic-card):last-child) {
    padding-bottom: 96px;
  }
}
@media (min-width: 600px) {
  .irr-page--article .fis-aid:is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes) {
    margin-inline: 0;
    padding: var(--irr-tile-pad-lg) var(--irr-tile-pad-lg) var(--irr-tile-pad-lg-end);
  }
}

/* The margin column, from 1280 px: the head (its name, or title and intro) stands in column 1
   and the body on columns 2 to 4, so tables, cells and rows share the lines of page columns 2,
   3 and 4. A block whose head shows nothing keeps its body on columns 2 to 4: every block body
   starts on the same line of the page (one exception: a colour field directly under an h2,
   below). The name and the first line of the body share one
   baseline, as a label and its lede do on the homepage (the name is 22 to 24 px, a row 18 px,
   a table header 16 px: set top to top, the header row stood 4 to 6 px above the name's
   baseline). */
@media (min-width: 1280px) {
  .irr-page--article .fis-aid {
    display: grid;
    grid-template-columns: var(--irr-col) minmax(0, 1fr);
    column-gap: var(--irr-gap);
    align-items: baseline;
  }
  /* A colour field reaches past the page lines by its side padding, so its name stands on
     column 1 with the other names and its rules end where the tables' rules end (inset by its
     padding, the field's content stood on no line the page uses: name at 137 and rules ending
     at 1510 at 1647 px, against 97 and 1550). */
  .irr-page--article .fis-aid:is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes) {
    margin-inline: calc(-1 * var(--irr-field-bleed));
    padding-inline: var(--irr-field-bleed);
  }
  .irr-page--article .fis-aid__head {
    grid-column: 1;
  }
  .irr-page--article .fis-aid__head > :last-child {
    margin-bottom: 0;
  }
  .irr-page--article .fis-aid__body {
    grid-column: 2;
  }
  /* Tables on page columns 2, 3 and 4. The header cells stand on their first baseline here
     (bottom-aligned below 1280 px): a table row takes its baseline from cells aligned that
     way, and it is the line the block's name shares. */
  .irr-page--article .fis-aid__table th:not(:last-child),
  .irr-page--article .fis-aid__table th:first-child:nth-last-child(2) {
    width: calc(var(--irr-col) + var(--irr-gap));
  }
  .irr-page--article .fis-aid__table th {
    vertical-align: baseline;
  }
  .irr-page--article .fis-aid__table :is(th, td):not(:last-child) {
    padding-right: var(--irr-gap);
  }
  /* The single column: its heading in the margin column, its rows on columns 2 to 4, the
     first row on the heading's line. */
  .irr-page--article .fis-aid:has(> .fis-aid__head > .fis-aid__label:only-child):has(.fis-aid__column:only-child) > .fis-aid__body {
    grid-column: 1 / -1;
  }
  .irr-page--article .fis-aid:has(> .fis-aid__head > .fis-aid__label:only-child) .fis-aid__column:only-child {
    display: grid;
    grid-template-columns: var(--irr-col) minmax(0, 1fr);
    column-gap: var(--irr-gap);
    align-items: baseline;
  }
  .irr-page--article .fis-aid:has(> .fis-aid__head > .fis-aid__label:only-child) .fis-aid__column:only-child > strong {
    margin-bottom: 0;
  }
  /* Lists of rows (opening block, alert, questions, the single column) and cell grids: one item
     per page column. As two CSS columns of the body their second column began at a share of the
     body (1008 and 1028 px at 1647 px, against the page lines 469, 841 and 1214 that the tables
     and the related list stand on). Rows now run across: five rows are three and two, each
     rule one column long. */
  .irr-page--article .fis-aid__body > .fis-aid__list,
  .irr-page--article .fis-aid__column:only-child > .fis-aid__list {
    display: grid;
    grid-template-columns: repeat(3, var(--irr-col));
    column-gap: var(--irr-gap);
    columns: auto;
  }
  .irr-page--article :is(.fis-aid__grid--mechanism, .fis-aid__grid--compact, .fis-aid__grid--goals) {
    grid-template-columns: repeat(3, var(--irr-col));
  }
  /* A colour field directly under an h2 shows no name (the h2 names it), and its column 1 was an
     empty quarter of the field (alert blocks of posts 755, 863, 1190 and 1208). There the body
     takes all four columns, under the h2 that now stands on column 1, and a list or cell grid
     runs four items a row. */
  .irr-page--article .entry-content > h2 + .fis-aid:is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes):has(> .fis-aid__head > .fis-aid__label:only-child) > .fis-aid__head {
    display: none;
  }
  .irr-page--article .entry-content > h2 + .fis-aid:is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes):has(> .fis-aid__head > .fis-aid__label:only-child) > .fis-aid__body {
    grid-column: 1 / -1;
  }
  .irr-page--article .entry-content > h2 + .fis-aid:is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes):has(> .fis-aid__head > .fis-aid__label:only-child) > .fis-aid__body > :is(.fis-aid__list, .fis-aid__grid--goals) {
    grid-template-columns: repeat(4, var(--irr-col));
  }
}

/* === Governed inline styles: clinic card and illustration === */
/* ---------- 7. Governed inline styles, answered ---------- */
/* Two governed plugins print style blocks of their own for these two elements, with !important
   (fisiatria-clinic-conversion.php: 19 declarations for the card; fisiatria-post-layouts.php:
   the margin of the illustration). They cannot be dequeued. Every selector here starts with
   body.single-post.fis-single-system .irr-page, one class heavier than theirs, and carries
   !important only on the properties they mark. This is the only place in the sheet with
   !important.

   The generated illustration is not shown (owner decision, 2026-10-02). It stays in the markup;
   its image is lazy and is not downloaded. */
body.single-post.fis-single-system .irr-page .fis-featured-after-opening {
  display: none;
}

/* The clinic card (6.13): cobalt, the physician. Always the last element of the body. One
   column below 1024 px: heading, text, the three fact lines as ruled rows, the button. */
body.single-post.fis-single-system .irr-page .fis-clinic-card {
  --irr-focus: var(--irr-guides);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px var(--irr-gap);
  align-items: end;
  max-width: none;
  margin: max(48px, var(--irr-step-72)) calc(-1 * var(--irr-gutter)) 0;
  padding: 28px var(--irr-gutter) 32px;
  border: 0;
  background: var(--irr-evidence);
  color: var(--irr-white);
}
body.single-post.fis-single-system .irr-page .fis-clinic-card h2 {
  max-width: none;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: var(--irr-fs-h3) !important;
  font-weight: 800;
  line-height: 1.1 !important;
  letter-spacing: -0.02em;
}
body.single-post.fis-single-system .irr-page .fis-clinic-card p {
  max-width: var(--irr-measure);
  margin: 0 0 20px !important;
  color: var(--irr-white);
  font-size: var(--irr-fs-read) !important;
  line-height: 1.5 !important;
}
body.single-post.fis-single-system .irr-page .fis-clinic-card ul {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.single-post.fis-single-system .irr-page .fis-clinic-card li {
  margin: 0 !important;
  padding: 10px 0 !important;
  border-top: 1px solid var(--irr-white);
  color: var(--irr-white);
  font-size: 16px;
  line-height: 1.4;
  list-style: none !important;
  overflow-wrap: break-word;
}
/* The system's outline button on cobalt: 2 px white border, white label, a drawn arrow after
   the label (the arrow of every outline button, as a mask in the label's colour). Hover inverts
   it. Outline, not solid: the solid white button of the system is "Agendar pelo WhatsApp". */
body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta {
  justify-self: stretch;
  width: 100%;
  min-height: 56px;
  padding: 12px 24px;
  border: 2px solid var(--irr-white);
  background: transparent;
  color: var(--irr-white) !important;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-decoration: none !important;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}
body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta span::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: -0.2em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 10h13M11 5l5 5-5 5'/%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 20 20' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 10h13M11 5l5 5-5 5'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta:hover,
body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta:focus {
  background: var(--irr-white);
  color: var(--irr-evidence) !important;
}
@media (min-width: 360px) {
  body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta {
    white-space: nowrap;
  }
}
/* Below 360 px the physician line is 4 px wider than the card's text (288 against 284 px at
   320 px) and broke at the hyphen of "CRM-SP". A hundredth of an em less between letters keeps
   it on one line from 318 px; a narrower window wraps as before. */
@media (max-width: 359.98px) {
  body.single-post.fis-single-system .irr-page .fis-clinic-card li {
    letter-spacing: -0.01em;
  }
}
@media (min-width: 600px) {
  body.single-post.fis-single-system .irr-page .fis-clinic-card {
    margin-inline: 0;
    padding: var(--irr-tile-pad-lg) var(--irr-tile-pad-lg) var(--irr-tile-pad-lg-end);
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta {
    justify-self: start;
    width: auto;
  }
}
/* From 1024 px: text on the left, the button at the right end, on the bottom line. The fact
   lines stand in a row and none of them wraps, so "CRM-SP 158.074" is not broken at its hyphen.
   The row itself wraps: where the address does not fit beside the other two (up to about
   1340 px; as three fixed columns it was left 93 px at 1024 px and broke into five lines) it
   takes the next line. The second and third lines grow, so the rules always reach the end of
   the text column. */
@media (min-width: 1024px) {
  body.single-post.fis-single-system .irr-page .fis-clinic-card {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 var(--irr-gap);
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card li {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card li + li {
    flex-grow: 1;
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta {
    justify-self: end;
  }
}
/* From 1280 px the card is on the page columns, like the colour fields (6.0): it reaches past
   the page lines by its side padding, its text takes columns 1 to 3 and the button column 4,
   one column wide, on the bottom line. The fact lines stand under one rule that runs columns 1
   to 3 (before, each line had its own rule as long as its text: 288, 264 and 450 px at 1647 px,
   on no column line). From 1440 px, where a column holds the physician line (288 px; 296 px
   columns at 1440), each fact takes one column with its own rule, the related list's grammar;
   a fact that is wider than its column (the address, 333 px, up to about 1640 px) wraps in
   balanced lines. Below 1440 px the physician line would break before its number. */
@media (min-width: 1280px) {
  body.single-post.fis-single-system .irr-page .fis-clinic-card {
    grid-template-columns: repeat(4, var(--irr-col));
    margin-inline: calc(-1 * var(--irr-field-bleed));
    padding-inline: var(--irr-field-bleed);
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card > div {
    grid-column: 1 / 4;
    min-width: 0;
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card ul {
    border-top: 1px solid var(--irr-white);
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card li,
  body.single-post.fis-single-system .irr-page .fis-clinic-card li + li {
    flex-grow: 0;
    border-top: 0;
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta {
    grid-column: 4;
    justify-self: stretch;
    padding-inline: 16px;
  }
}
@media (min-width: 1440px) {
  body.single-post.fis-single-system .irr-page .fis-clinic-card ul {
    display: grid;
    grid-template-columns: repeat(3, var(--irr-col));
    column-gap: var(--irr-gap);
    border-top: 0;
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card li,
  body.single-post.fis-single-system .irr-page .fis-clinic-card li + li {
    border-top: 1px solid var(--irr-white);
    white-space: normal;
    text-wrap: balance;
  }
}
@media (forced-colors: active) {
  body.single-post.fis-single-system .irr-page .fis-clinic-card {
    border-top: 3px solid CanvasText;
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta span::after {
    forced-color-adjust: none;
    background: LinkText;
  }
}
@media print {
  body.single-post.fis-single-system .irr-page .fis-clinic-card {
    margin-inline: 0;
    padding-inline: 0;
    border-top: 3px solid var(--irr-black);
    background: none;
    color: var(--irr-black);
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card p,
  body.single-post.fis-single-system .irr-page .fis-clinic-card li {
    border-color: var(--irr-black);
    color: var(--irr-black);
  }
  body.single-post.fis-single-system .irr-page .fis-clinic-card .fis-clinic-cta {
    border-color: var(--irr-black);
    color: var(--irr-black) !important;
  }
}
/* === End of the governed inline styles section === */

/* ---------- 8. After the text ---------- */
/* Speed 3: .entry-content ends with one section step of padding; the booking band has the same
   step as its bottom margin; the related section has no top margin. So an article without a
   band has one step between its text and the amber section, not two. */

/* Booking band: the homepage booking strip, restated with the same values. A black block on the
   four columns, inside the white field. Left out on urgent and referral-only topics and under
   emergency instructions (the plugin decides). */
.irr .irr-abook {
  --irr-focus: var(--irr-guides);
  display: grid;
  gap: 24px var(--irr-gap);
  width: min(var(--irr-max), 100% - 2 * var(--irr-gutter));
  margin: 0 auto max(64px, var(--irr-step-104));
  padding: 28px 18px 24px;
  background: var(--irr-black);
  color: var(--irr-white);
}
.irr .irr-abook__line {
  font-size: var(--irr-fs-h3);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-wrap: wrap;
}
.irr .irr-abook__actions {
  display: grid;
  gap: 8px;
}
/* The phone number is a hit area of its own. */
.irr .irr-abook__tel {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-height: 48px;
  font-size: 24px;
  font-weight: 800;
  text-decoration: none;
}
.irr .irr-abook__tel:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
/* Narrow phones: a button gives up side padding before its label takes a second line, and the
   physician's name may wrap (with a reader's text spacing it is wider than a 320 px window). */
@media (max-width: 599.98px) {
  .irr .irr-abook .irr-nowrap {
    white-space: normal;
  }
}
@media (max-width: 359.98px) {
  .irr .irr-abook {
    padding-inline: 12px;
  }
}
@media (min-width: 360px) and (max-width: 379.98px) {
  .irr .irr-abook .irr-btn--solid {
    padding-inline: 28px;
  }
}
@media (min-width: 600px) {
  .irr .irr-abook {
    padding: clamp(32px, 3.889vw, 56px);
  }
  .irr .irr-abook__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
  }
}
@media (min-width: 1024px) {
  .irr .irr-abook {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
}
/* After a clinic card: no line (the card names the physician and the address) and no space
   between the two: cobalt above, black below, one closing block. The button stands on the
   card's text edge. Below 600 px the band bleeds to the window edges like the card. */
.irr-page--card-end .entry-content {
  padding-bottom: 0;
}
.irr .irr-abook--after-card {
  grid-template-columns: minmax(0, 1fr);
}
@media (max-width: 599.98px) {
  .irr .irr-abook--after-card {
    width: 100%;
    padding: 24px var(--irr-gutter) 28px;
  }
}
@media (min-width: 600px) {
  .irr .irr-abook--after-card {
    padding: var(--irr-tile-pad-lg);
  }
}
/* From 1280 px the band is on the page columns, like the fields and the card: it reaches past
   the page lines by the field bleed, the line takes columns 1 and 2, the button column 3 and
   the phone number column 4 (the related list's columns 3 and 4 under it). After the clinic
   card, with no line, the button takes column 1 and the number column 2. The button is one
   column wide, its label centred (16 px side padding at the least: "Agendar pelo WhatsApp"
   needs 255 px, a column is 263 px at 1280 px). Before, the band's content stood 56 px inside
   it (153 px at 1647 px) and its actions at the right end, on no column line. */
@media (min-width: 1280px) {
  .irr .irr-abook {
    grid-template-columns: repeat(4, var(--irr-col));
    width: calc(min(var(--irr-max), 100% - 2 * var(--irr-gutter)) + 2 * var(--irr-field-bleed));
    padding-inline: var(--irr-field-bleed);
  }
  .irr .irr-abook__line {
    grid-column: 1 / 3;
  }
  .irr .irr-abook__actions {
    display: grid;
    grid-column: 3 / -1;
    grid-template-columns: repeat(2, var(--irr-col));
    column-gap: var(--irr-gap);
  }
  .irr .irr-abook--after-card .irr-abook__actions {
    grid-column: 1 / 3;
  }
  .irr .irr-abook__actions > .irr-btn {
    justify-self: stretch;
    padding-inline: 16px;
  }
}

/* Related articles: amber, window edge to window edge, the homepage's Artigos section reduced
   to titles. Each entry is one link stretched over its item. It meets the black footer. */
.irr .irr-arel {
  --irr-focus: var(--irr-black);
  --irr-sel-bg: var(--irr-black);
  --irr-sel-fg: var(--irr-guides);
  --irr-btn-hover-bg: var(--irr-black);
  --irr-btn-hover-fg: var(--irr-guides);
  padding: max(56px, var(--irr-step-96)) 0 max(64px, var(--irr-step-104));
  background: var(--irr-guides);
  color: var(--irr-black);
}
.irr .irr-arel__in {
  display: grid;
  gap: 28px var(--irr-gap);
}
.irr .irr-arel__title {
  font-size: var(--irr-fs-h3);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.irr .irr-arel__list {
  display: grid;
  gap: 0 var(--irr-gap);
}
.irr .irr-arel__item {
  position: relative;
  padding: var(--irr-rule-pad) 0 28px;
  border-top: 2px solid var(--irr-black);
}
.irr .irr-arel__link {
  font-size: clamp(22px, 1.597vw, 24px);
  font-weight: 800;
  line-height: 1.32;
  text-decoration: none;
}
.irr .irr-arel__link::after {
  content: "";
  position: absolute;
  inset: 0;
}
.irr .irr-arel__link:hover {
  text-decoration: underline;
  text-decoration-thickness: 3px;
}
.irr .irr-arel__more {
  justify-self: start;
}
@media (max-width: 599.98px) {
  .irr .irr-arel__more {
    justify-self: stretch;
  }
}
@media (min-width: 768px) {
  .irr .irr-arel__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  .irr .irr-arel__in {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .irr .irr-arel__title {
    grid-column: 1;
  }
  .irr .irr-arel__list,
  .irr .irr-arel__more {
    grid-column: 2 / -1;
  }
}

/* The notice of a post without text: one sentence in Lede type on the measure, then the
   related articles one section step below. */
.irr .irr-anote {
  width: min(var(--irr-max), 100% - 2 * var(--irr-gutter));
  margin-inline: auto;
  padding: var(--irr-step-72) 0 max(64px, var(--irr-step-104));
}
.irr .irr-anote p {
  max-width: var(--irr-measure);
  font-size: var(--irr-fs-lede);
  line-height: 1.45;
}

/* ---------- 9. Browser surfaces ---------- */
/* Selection: amber with black text on white, black and cobalt (the frame's default); black with
   the field colour as text on vermilion, green and amber (set on each field above). Focus:
   the frame's 3 px ring at 4 px, black on white and on the three light fields, amber on black
   and cobalt (--irr-focus, set on each ground above). Nothing moves on this page but the
   120 to 160 ms transitions of buttons and links. */

/* Forced colours: the fields are gone, so each one gets a top edge, and the ring artwork of the
   title band is removed. */
@media (forced-colors: active) {
  .irr .irr-ahead {
    background-image: none;
  }
  .irr .irr-ahead,
  .irr .irr-abook,
  .irr .irr-arel,
  .irr-page--article .fis-aid:is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes) {
    border-top: 3px solid CanvasText;
  }
}

/* Print: browsers do not print backgrounds, so the white text of the black band and the fields
   would be lost. Black on white, a rule where a field stood, no ring artwork. */
@media print {
  .irr .irr-ahead,
  .irr .irr-abook,
  .irr .irr-arel,
  .irr-page--article .fis-aid:is(.fis-aid--alert, .fis-aid--goals, .fis-aid--plan, .fis-aid--routes) {
    margin-inline: auto;
    border-top: 3px solid var(--irr-black);
    background: none;
    color: var(--irr-black);
  }
  .irr .irr-ahead {
    padding-block: 24px;
  }
  .irr .irr-byline {
    border-top-color: var(--irr-black);
    color: var(--irr-black);
  }
  .irr .irr-byline__name {
    color: var(--irr-black);
  }
  .irr .irr-abook {
    padding-inline: 0;
  }
  .irr .irr-abook .irr-btn--solid {
    border-color: var(--irr-black);
  }
}
