/*
 * Irradiada · Clínica: the public article bodies (the 84 articles of www.fisiatria.com.br as they
 * are on production), set as siblings of the V2 article. Owner decision 16, 2026-10-03: "Full
 * restyle, tools kept".
 * Source: 03-ops/inner-pages-irradiada/plugin/irradiada-legacy.css
 * Installed as mu-plugins/fisiatria-irradiada/irradiada-legacy.css and enqueued by
 * mu-plugins/fisiatria-irradiada-legacy.php after irradiada-article.css, on redesigned articles
 * while the option fisiatria_irradiada_legacy is 1. Record: LEGACY-BUILD-REPORT.md.
 *
 * The plugin has taken the bodies' own styles off and marked what each container was (irr-l-*
 * classes, listed in the plugin's header). This sheet sets what is left with the article's tokens:
 * the measure, the paragraph gap, the heading steps, the page grid from 1280 px (4.1 of
 * irradiada-article.css: names in column 1, text on columns 2 and 3, tables and groups to the end
 * of column 4), ruled tables that stack on phones, questions as ruled rows, boxes as ruled groups,
 * the frame's buttons and fields. Whatever the nesting depth, text lands on the lines of a V2
 * article: a wrapper (irr-l-flow) has no box of its own, so its children are placed as if they
 * were children of .entry-content.
 *
 * Weight: every rule weighs (0,4,2) before its :has() or :not() arguments. A rule about any
 * element of the body starts with html body.irr-legacy .irr.irr-page--article .entry-content; a
 * rule about the children of a flow parent (F: .entry-content, a wrapper, a box) starts with
 * html body.irr-legacy .irr.irr-page.irr-page--article :where(F) >. The structural part is written
 * in :where(), so every rule here outweighs the article sheet's direct-child rules (at most 0,3,1)
 * and the rules of this sheet win by their order. The state rules the plugin prints for five
 * bodies (their accordions) add their own selector to (0,4,2), so a state always beats this skin. No !important except in section 12 (what a
 * tool's script writes into the page after it loads).
 *
 * Sections:
 *   0 Molongui author box           7 Questions (details and summary)
 *   1 Reset inside the body          8 Tables (8.1 a table a script fills)
 *   2 Measure and flow               9 Lists, quotes, rules, images
 *   3 Headings                      10 Buttons and fields
 *   4 Page grid from 1280 px        11 Phones (11.1 under a heading, after a hidden piece)
 *   5 Boxes and rows                12 What tools write after load
 *   6 Cells, pairs, controls
 *
 * 2026-10-06, after the design review and the verification (LEGACY-BUILD-REPORT.md, section 11):
 * quotes on the text column under a 1 px rule (9); one rule language for an h2 inside boxes (5);
 * button grids (10); the label over a hidden title (11.1); group titles in column 1 whatever
 * follows them (4); pictures on the measure (9); cell rows closing on one line (6); typed
 * bullets hung (9); the first column's header on phones where that column holds sentences (11);
 * header words that break at a slash (8); a subhead in column 1 is 1 px tall, so a script that
 * asks for its box finds one; the options a quiz writes (12).
 */

/* ---------- 0. Molongui author box: not shown on a redesigned article (owner decision 17) ---------- */
/* The plugin keeps Molongui from printing the box on a redesigned article (a hidden box still
   fetched its portrait from secure.gravatar.com); this rule is the last line, should a box ever
   reach the page. The title band already names the physician and links his profile. */
html body .irr.irr-page--article .m-a-box,
html body .irr.irr-page--article .molongui-clearfix {
  display: none;
}

/* ---------- 1. Reset inside the body ---------- */
/* The frame resets h1 to h4, p, lists and figures (zero margins, inherited font). The elements it
   leaves to the browser get the same here, so no default margin, indent, small size or border
   comes back once the inline styles are gone. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(h5, h6, blockquote, table, caption, details, summary, form, fieldset, legend, pre, hr, dl, dd, address, center) {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  color: inherit;
}
/* Wrappers: no box of their own. (A body's class may be one of the theme's, page-header or
   grid-container, whose padding and ground would come back with the body's own styles gone.) */
html body.irr-legacy .irr.irr-page--article .entry-content :where(div, section, article, aside, header, footer, nav, main, form, fieldset, figure, span, label) {
  float: none;
  width: auto;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(small, sub, sup, big) {
  font-size: 16px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(b, strong) {
  font-weight: 700;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(em, i, cite) {
  font-style: italic;
}
/* Empty wrappers and spaces that only held a height or a blank line. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(p:empty, .irr-l-blank, .wp-block-spacer, .irr-l-dup) {
  display: none;
}
/* Decorative icons: the toggle symbol of a question (section 7 draws the chevron) and an emoji
   that stood alone as a block above a card's name. The system has no icons; an emoji inside a
   sentence, a list item, a label or a button is text and stays. (To show them again, drop
   .irr-l-icon from this rule.) */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-icon) {
  display: none;
}
/* The bodies' own icon font is not loaded (its stylesheet was document code): an icon element is
   empty and takes no room. The inline SVG of three bodies (765, 1235, 1244) are icons too, most
   of them sized by the style blocks that are gone (unsized, each would fill its column). */
html body.irr-legacy .irr.irr-page--article .entry-content :where(i[class*="fa-"], svg) {
  display: none;
}
/* Long words, addresses and numbers break inside their box rather than push the page sideways. */
html body.irr-legacy .irr.irr-page--article .entry-content {
  overflow-wrap: break-word;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(div, section, article, aside, header, footer, nav, form, fieldset, figure, details, li, td, th) {
  min-width: 0;
}

/* ---------- 2. Measure and flow ---------- */
/* F (a flow parent): .entry-content, a wrapper the grid passes through, a box whose words stand in
   block children (a box that holds its words itself, irr-l-text, is one text block). Its children are
   placed as the article places the children of .entry-content: text on the measure, groups,
   tables and cells wider, one paragraph gap between neighbours (adjoining margins collapse
   through wrappers, which have no padding or border). */
html body.irr-legacy .irr.irr-page--article .entry-content :where(p, ul, ol, dl, blockquote, h2, h3, h4, h5, h6, hr, details, address, .irr-l-text, .irr-l-pair, .irr-l-row, .irr-l-spread, .irr-l-line) {
  max-width: var(--irr-measure);
}
html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(*) + :where(*) {
  margin-top: var(--irr-flow);
}
html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(*) {
  margin-bottom: 0;
}
/* The first thing shown and the wrappers it opens: the title band's step above, nothing more. */
html body.irr-legacy .irr.irr-page--article .entry-content .irr-l-first.irr-l-first,
html body.irr-legacy .irr.irr-page--article .entry-content .irr-l-first.irr-l-first > .irr-l-dup + * {
  margin-top: 0;
}
/* Inside a group that is not a flow parent (a cell, a row, a text block, a question, a list
   item, a cell of a table): its pieces 0.6em apart. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell, .irr-l-row, .irr-l-text, .irr-l-pair > *, details, li, td, th, blockquote, figure) > :where(*) + :where(*) {
  margin-top: 0.6em;
}
/* Deeper inside such a group (the nested pieces of a tool): a block that follows another keeps
   the same 0.6em, and a heading 1.2em above it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell, .irr-l-row, .irr-l-text, .irr-l-pair) :where(*) + :where(p, div, ul, ol, dl, table, form, details, blockquote) {
  margin-top: 0.6em;
}
/* An inline piece that is a line of its own between blocks (the label over a heading, a link
   under a paragraph). Over a heading it takes the heading's space above and the heading follows
   close under it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-line) {
  display: block;
}
/* Lede: the paragraph that opens the text. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-lede) {
  font-size: var(--irr-fs-lede);
  line-height: 1.45;
}
/* A text block (a div that held its words itself) reads as a paragraph. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-text) {
  line-height: inherit;
}

/* ---------- 3. Headings ---------- */
/* More space above than below, as the article: an h2 max(56px, step-88) above and 0.7em under;
   h3 and h4 step-64 and 0.7em in the Subhead type; h5 and h6 step-40, 700 at reading size. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(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;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(h3, h4) {
  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;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(h5, h6) {
  margin-top: var(--irr-step-40);
  margin-bottom: 0.5em;
  font-weight: 700;
  line-height: 1.3;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(h2, h3, h4, h5, h6) + :where(*) {
  margin-top: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-line):has(+ :is(h2, h3, h4)) {
  margin-top: var(--irr-step-64);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-line):has(+ h2) {
  margin-top: max(56px, var(--irr-step-88));
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-line) + :where(h2, h3, h4) {
  margin-top: 6px;
}
/* Inside a cell, a row, a question or a text block a heading is the name of that group. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell, .irr-l-row, .irr-l-text, .irr-l-pair, details, li, td) :where(h2, h3, h4, h5, h6) {
  max-width: none;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell, .irr-l-row) > :where(h2, h3):first-child {
  font-size: var(--irr-fs-art-h3);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell, .irr-l-row, .irr-l-text, details, li, td) :where(*) + :where(h2, h3, h4, h5, h6) {
  margin-top: 1.2em;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell, .irr-l-row, .irr-l-text, details, li, td) :where(h2, h3, h4, h5, h6) + :where(*) {
  margin-top: 8px;
}

/* ---------- 4. Page grid from 1280 px (irradiada-article.css 4.1, at any depth) ---------- */
/* Column 1 the names (the h2 to the end of column 3, a subhead followed by its text, set beside
   it), columns 2 and 3 the text, columns 2 to 4 tables, cells and the bodies of groups. A wrapper
   and a box stand on column 1 and run the four columns, so their children land on the same lines
   as the children of .entry-content. */
@media (min-width: 1280px) {
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(p, ul, ol, dl, blockquote, h3, h4, h5, h6, hr, figure, table, details, form, fieldset, address, iframe, img, .irr-l-text, .irr-l-cells, .irr-l-pair, .irr-l-controls, .irr-l-row, .irr-l-spread, .irr-l-line, .wp-block-embed, .wp-block-table, .wp-block-image) {
    margin-left: calc(var(--irr-col) + var(--irr-gap));
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(h2, .irr-l-box) {
    margin-left: 0;
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(h2) {
    max-width: var(--irr-span3);
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(figure, table, form, fieldset, iframe, .irr-l-cells, .irr-l-controls, .wp-block-embed, .wp-block-table, .wp-block-image) {
    max-width: var(--irr-span3);
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(.irr-l-line):has(+ h2) {
    margin-left: 0;
  }
  /* Headings, groups and everything that is not text clear the hung subheads (and a picture the
     editor aligned to one side). */
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(h2, .irr-l-box, .irr-l-flow, .irr-l-cells, .irr-l-row, .irr-l-controls, table, figure, details, form, fieldset, hr, .wp-block-table, .wp-block-embed) {
    clear: both;
  }
  /* A subhead followed by its text hangs in column 1, its first line on the text's first line.
     The subhead keeps its place in the flow and takes no height: its step above collapses with
     what is above it exactly as a paragraph's would (through wrappers, with the space under a
     group), and its text starts where it starts, so the two first lines meet whatever stands
     before them. Its words (the span the plugin wraps them in, irr-l-hang) float inside it, so
     a subhead longer than its text still pushes the next subhead, heading or group down. (A
     subhead floated as a whole kept its step apart from the text's and stood one step low after
     a group, and as the first piece of a wrapper.) A subhead before a ruled box is not hung: it
     stands over the box on the text column. The subhead is 1 px tall, taken back by its margin
     below, so the flow is the same as with no height and a script that measures the page still
     finds a box for it (the ship gate reads a subhead with no height as missing, and counted the
     paragraphs on both sides of it as one run). */
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(h3, h4, h5, h6):has(+ :is(p, ul, ol, dl, .irr-l-text, .irr-l-pair):where(:not(.irr-l-box))) {
    float: none;
    clear: left;
    width: var(--irr-col);
    max-width: none;
    height: 1px;
    margin: var(--irr-step-64) 0 -1px;
    padding: 0;
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(h3, h4, h5, h6):has(+ :is(p, ul, ol, dl, .irr-l-text, .irr-l-pair):where(:not(.irr-l-box))) > :where(.irr-l-hang) {
    float: left;
    width: 100%;
    margin: 2px 0 24px;
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(h3, h4, h5, h6):has(+ :is(p, ul, ol, dl, .irr-l-text, .irr-l-pair):where(:not(.irr-l-box))) + :where(*) {
    margin-top: 0;
  }
  /* Directly under a heading (through a wrapper too: the plugin's irr-l-after marks), or first in
     a box: the step that is already there. */
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(h2, .irr-l-dup) + :where(h3, h4, h5, h6):has(+ :is(p, ul, ol, dl, .irr-l-text, .irr-l-pair):where(:not(.irr-l-box))),
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(h3, h4, h5, h6):where(.irr-l-after-h2, .irr-l-after-h3):has(+ :is(p, ul, ol, dl, .irr-l-text, .irr-l-pair):where(:not(.irr-l-box))),
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.irr-l-box:not(.irr-l-text)) > :where(h3, h4, h5, h6):first-child:has(+ :is(p, ul, ol, dl, .irr-l-text, .irr-l-pair):where(:not(.irr-l-box))) {
    margin-top: 0;
  }
  /* The title of a top-level ruled group (irr-l-title: the plugin marks the h3 to h6 that opens a
     box standing in no other box) hangs in column 1 the same way, whatever the group opens with:
     cells, a row of controls, a pair or a text block behind wrappers. What follows it
     (irr-l-beside, section 11.1) does not clear it. Before cells, rows and questions its words
     start one row padding lower, on the first line of theirs. Only a title whose group opens with
     another ruled group stays over it. */
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.irr-l-box) > :where(h3, h4, h5, h6):where(.irr-l-title) {
    float: none;
    clear: left;
    width: var(--irr-col);
    max-width: none;
    height: 1px;
    margin: 0 0 -1px;
    padding: 0;
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.irr-l-box) > :where(h3, h4, h5, h6):where(.irr-l-title) > :where(.irr-l-hang) {
    float: left;
    width: 100%;
    margin: 2px 0 24px;
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.irr-l-box) > :where(h3, h4, h5, h6):where(.irr-l-title--low) > :where(.irr-l-hang) {
    margin-top: calc(var(--irr-row-top) - 1px);
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.irr-l-box) > :where(h3, h4, h5, h6):where(.irr-l-title--mid) > :where(.irr-l-hang) {
    margin-top: 10px;
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.irr-l-box) > :where(h3, h4, h5, h6):where(.irr-l-title) + :where(*) {
    margin-top: 0;
  }
  /* In a box that holds its words itself the title leaves the box's padding for column 1 and
     takes the Subhead type of every other title. */
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.irr-l-box.irr-l-text) > :where(h3, h4, h5, h6):where(.irr-l-title) {
    margin-left: calc(-1 * (var(--irr-col) + var(--irr-gap)));
    font-size: var(--irr-fs-art-h3);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.01em;
  }
}

/* ---------- 5. Boxes and rows ---------- */
/* A box (a tint, a border or a shadow in the old body) is a ruled group: the block's 3 px black
   rule over the four columns, rule-pad under it, the block step around it; no tint, no shadow, no
   rounded corner. A box inside a box is a sub-group under a 1 px rule. A run of like boxes is a
   run of rows: the first opens with the 3 px rule, each closes with a 1 px rule. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-box) {
  clear: both;
  margin-block: max(48px, var(--irr-step-72));
  padding-top: var(--irr-rule-pad);
  border-top: 3px solid var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-box.irr-l-text) {
  padding-right: max(0px, 100% - var(--irr-measure));
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(h2) + :where(.irr-l-box) {
  margin-top: var(--irr-rule-pad);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-box) > :where(:first-child) {
  margin-top: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-box) > :where(:last-child) {
  margin-bottom: 0;
}
/* The box that opens the body: the title band above is its edge (as the article's opening block). */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-box.irr-l-first) {
  padding-top: 0;
  border-top: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-box .irr-l-box) {
  margin-block: var(--irr-step-40);
  padding-top: var(--irr-row-top);
  border-top-width: 1px;
}
/* One rule language for an h2, at any depth: a box that opens with an h2, or that stands right
   under one, takes the block's 3 px rule, rule-pad under it and the block step above it, inside
   another box too. (In 1208, whose pasted document nests every section in the first card, an h2
   stood 15 px under a hairline with 40 px below it, and hairlines introduced headings that 3 px
   rules introduce higher up the page.) The 1 px rule stays for the sub-groups of a box. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-box .irr-l-box:not(.irr-l-first)):where(.irr-l-after-h2, :has(> h2.irr-l-first, > .irr-l-flow.irr-l-first > h2.irr-l-first, > .irr-l-flow.irr-l-first > .irr-l-flow.irr-l-first > h2.irr-l-first)) {
  margin-block: max(48px, var(--irr-step-72));
  padding-top: var(--irr-rule-pad);
  border-top-width: 3px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-row) {
  padding: var(--irr-row-top) 0 16px;
  border-bottom: 1px solid var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(:not(.irr-l-row)) + :where(.irr-l-row),
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-row:first-child) {
  margin-top: max(48px, var(--irr-step-72));
  border-top: 3px solid var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(h2) + :where(.irr-l-row) {
  margin-top: var(--irr-rule-pad);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-row) + :where(.irr-l-row) {
  margin-top: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-row) + :where(:not(.irr-l-row)) {
  margin-top: max(48px, var(--irr-step-72));
}
/* After a subhead a group keeps close to it: the subhead's own space under it is the step. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(h3, h4, h5, h6) + :where(.irr-l-box, .irr-l-row) {
  margin-top: 0;
}
/* A box that holds its words itself: from 1280 px its text starts on column 2 and keeps the
   measure, while its rule runs the four columns. */
@media (min-width: 1280px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-box.irr-l-text) {
    max-width: none;
    padding-left: calc(var(--irr-col) + var(--irr-gap));
    padding-right: max(0px, 100% - var(--irr-col) - var(--irr-gap) - var(--irr-measure));
  }
}

/* ---------- 6. Cells, pairs, controls ---------- */
/* Cells (a grid or a row of cards, chips or items): the article's cell grid. One column on
   phones, two from 600 px, three from 1024 px, and from 1280 px one cell per page column on
   columns 2 to 4. A cell is a ruled row of block text (18 px): 14 px above its text, 16 px below,
   a 1 px rule under it. Cells that stand in the flow open with the block's 3 px rule. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cells) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  /* The cells of a row are as tall as the tallest, so their rules close on one line. */
  align-items: stretch;
  column-gap: var(--irr-gap);
  font-size: 18px;
  line-height: 1.45;
}
html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow) > :where(.irr-l-cells) {
  margin-block: max(48px, var(--irr-step-72));
  border-top: 3px solid var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(h2, h3, h4, h5, h6) + :where(.irr-l-cells) {
  margin-top: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(h2) + :where(.irr-l-cells) {
  margin-top: var(--irr-rule-pad);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell) {
  margin: 0;
  padding: var(--irr-row-top) 0 16px;
  border-bottom: 1px solid currentColor;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell .irr-l-cells) {
  margin-top: 8px;
}
@media (min-width: 600px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cells):has(> :nth-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cells):has(> :nth-child(3)) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(.irr-l-cells):has(> :nth-child(2)) {
    grid-template-columns: repeat(2, var(--irr-col));
  }
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(.irr-l-cells):has(> :nth-child(3)) {
    grid-template-columns: repeat(3, var(--irr-col));
  }
  /* Cells inside a cell stay two to a row. */
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell .irr-l-cells):has(> :nth-child(3)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* A cell with nothing in it (the bar or the line of a chart the old body drew with styles alone)
   takes no place in the grid and draws no rule; a script that fills it brings it back. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell:empty) {
  display: none;
}
/* Cells that close a cell: their last row takes no rule, the cell's own rule 16 px below is the
   one that closes both (two rules 17 px apart read as a double rule). The last row is the item
   that opens it (the first of a row and among the last one, two or three) and what follows it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell > .irr-l-cells:last-child, .irr-l-cell > :last-child > .irr-l-cells:last-child) > :where(:last-child) {
  border-bottom: 0;
  padding-bottom: 0;
}
@media (min-width: 600px) and (max-width: 1023.98px), (min-width: 1280px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell > .irr-l-cells:last-child, .irr-l-cell > :last-child > .irr-l-cells:last-child) > :where(:nth-child(2n + 1):nth-last-child(-n + 2), :nth-child(2n + 1):nth-last-child(-n + 2) ~ *) {
    border-bottom: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell > .irr-l-cells:last-child, .irr-l-cell > :last-child > .irr-l-cells:last-child):not(:has(> :nth-child(3))) > :where(:nth-child(2n + 1):nth-last-child(-n + 2), :nth-child(2n + 1):nth-last-child(-n + 2) ~ *),
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell > .irr-l-cells:last-child, .irr-l-cell > :last-child > .irr-l-cells:last-child):has(> :nth-child(3)) > :where(:nth-child(3n + 1):nth-last-child(-n + 3), :nth-child(3n + 1):nth-last-child(-n + 3) ~ *) {
    border-bottom: 0;
    padding-bottom: 0;
  }
}
/* A pair: the icon or number, then its text on the same line. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-pair) {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
}
/* (The pieces of a pair or of a spread stand side by side: no space above either.) */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-pair, .irr-l-spread) > :where(*) {
  margin-block: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-pair) > :where(:first-child) {
  flex: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-pair) > :where(:last-child) {
  flex: 1 1 auto;
  min-width: 0;
}
/* A line whose pieces stood at its two ends (the legend under a slider, a name and its value). */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-spread) {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 16px;
}
/* The box of a drawn check list: a 2 px square the script ticks. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-check) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 24px;
  height: 24px;
  border: 2px solid var(--irr-black);
  font-weight: 700;
  line-height: 1;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where([onclick]:not(button, input, a)) {
  cursor: pointer;
}
/* A row of buttons or fields. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-controls) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-controls) > :where(*) {
  margin: 0;
}
/* A row of choices (each label holds its check box or radio): 28 px between choices, so a box
   reads with its own word, not with the word before it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-controls):has(> label > input:is([type="checkbox"], [type="radio"])) {
  gap: 0 28px;
}

/* ---------- 7. Questions (details and summary) ---------- */
/* A ruled question row on the measure: the question 700 with a drawn chevron at the right end,
   the whole row the hit area (at least 48 px), the answer under it; 1 px rules between rows. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(details) {
  border-top: 1px solid var(--irr-black);
  border-bottom: 1px solid var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(details) + :where(details) {
  margin-top: -1px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(summary) {
  position: relative;
  display: block;
  min-height: 48px;
  padding: var(--irr-row-top) 44px 16px 0;
  font-weight: 700;
  line-height: 1.35;
  list-style: none;
  cursor: pointer;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(summary)::-webkit-details-marker {
  display: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(summary)::marker {
  content: "";
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(summary)::after {
  content: "";
  position: absolute;
  top: calc(var(--irr-row-top) + 0.675em - 12px);
  right: 4px;
  width: 24px;
  height: 24px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M5 9l7 7 7-7'/%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 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(details[open]) > :where(summary)::after {
  transform: rotate(180deg);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(summary):hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(summary):focus-visible {
  outline: 3px solid var(--irr-black);
  outline-offset: 4px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(details) > :where(:not(summary)) {
  margin-top: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(details) > :where(:not(summary):last-child) {
  padding-bottom: 16px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(details) > :where(:not(summary)) + :where(:not(summary)) {
  margin-top: 0.6em;
}
/* A heading right before a run of questions keeps close to it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(h2, h3, h4) + :where(details) {
  margin-top: 0;
}

/* ---------- 8. Tables ---------- */
/* The article's table (irradiada-article.css 6.1) for every table of a body: header row in
   Label type, a 1 px black rule above each row and under the last, the first cell 700, block text
   18 px, proportional figures. From 768 px a fixed layout; from 1280 px on columns 2 to 4, each
   column but the last one page column and a gap wide when there are two or three. Below 768 px
   each row stacks (section 11). The table's caption is its name, in the Subhead type above it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(table) {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  background: none;
  font-size: 18px;
  line-height: 1.45;
  font-variant-numeric: normal;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(caption) {
  padding-bottom: 20px;
  caption-side: top;
  font-size: var(--irr-fs-art-h3);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
  text-align: left;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(thead, tbody, tfoot, tr) {
  border: 0;
  background: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(th, td) {
  padding: var(--irr-row-top) 20px 16px 0;
  border: 0;
  border-top: 1px solid var(--irr-black);
  background: none;
  color: inherit;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(thead th, thead td, .irr-l-thead > th, .irr-l-thead > td) {
  padding: 0 20px 12px 0;
  border-top: 0;
  font-size: var(--irr-fs-label);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  vertical-align: bottom;
  /* A header word breaks only when it is wider than its column (the plugin lets a compound break
     at its slash first: "Triancinolona/Betametasona" printed over the next header in 999). */
  overflow-wrap: break-word;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(tbody tr:last-child > *, table > tr:last-child > *) {
  border-bottom: 1px solid var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(tbody td:first-child, tbody th:first-child) {
  font-weight: 700;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(th, td):last-child {
  padding-right: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.wp-block-table) {
  overflow-x: visible;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.wp-block-table figcaption, .wp-element-caption) {
  margin-top: 8px;
  color: var(--irr-ink-2);
  font-size: 16px;
  line-height: 1.4;
}
@media (min-width: 768px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(table) {
    table-layout: fixed;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(thead th:first-child:nth-last-child(2)) {
    width: 33.333%;
  }
}
@media (min-width: 1280px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(thead th:first-child:nth-last-child(2), thead th:first-child:nth-last-child(3), thead th:nth-child(2):nth-last-child(2)) {
    width: calc(var(--irr-col) + var(--irr-gap));
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(thead th) {
    vertical-align: baseline;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(th, td):not(:last-child) {
    padding-right: var(--irr-gap);
  }
}

/* ---------- 8.1 A table a script fills (irr-l-live: stored with its header row only) ---------- */
/* The diaries of 1155 and 1158: five and six columns inside a text block, their rows written
   after load. At every width each entry is a ruled group on the measure, its first cell the
   entry's name, every other cell opened by its column header (the plugin prints those labels as
   rules for the table's id; section 12 answers the borders the scripts write). The header row
   is not displayed: an empty diary shows no orphan header, and no column is squeezed. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live, table.irr-l-live > tbody, table.irr-l-live > tbody > tr, table.irr-l-live > tbody > tr > td, table.irr-l-live > tbody > tr > th) {
  display: block;
  width: auto;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live > thead) {
  display: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live > tbody > tr) {
  padding: var(--irr-row-top) 0 16px;
  border-bottom: 1px solid var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live > tbody > tr:first-child) {
  border-top: 1px solid var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live > tbody > tr > td, table.irr-l-live > tbody > tr > th) {
  padding: 0;
  border: 0;
  overflow-wrap: break-word;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live > tbody > tr > td) + :where(td) {
  margin-top: 6px;
}
/* A table that is all header (no entry yet) takes no room; the button under it keeps its step. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live:not(:has(td))) {
  display: none;
}

/* ---------- 9. Lists, quotes, rules, images ---------- */
/* Prose lists: square and decimal markers in proportional figures, 1.3em indent, 0.5em between
   items. A list whose items open with their own symbol (an emoji, a check mark) keeps no marker. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(ul, ol) {
  padding-left: 1.3em;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(ul) {
  list-style: square;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(ol) {
  list-style: decimal;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(ul.irr-l-plain, ol.irr-l-plain) {
  padding-left: 0;
  list-style: none;
}
/* Its items hang like the items of a list with markers: the lines that wrap start under the
   words, not under the typed symbol. Measured with the space that follows, in the text face: an
   arrow or an emoji 1.17 to 1.42em (1.3em here), a check mark 1.02 to 1.1em (irr-l-ticks), a
   typed bullet 0.89em (irr-l-dots). */
html body.irr-legacy .irr.irr-page--article .entry-content :where(ul.irr-l-plain, ol.irr-l-plain) > :where(li) {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(ul.irr-l-ticks, ol.irr-l-ticks) > :where(li) {
  padding-left: 1.06em;
  text-indent: -1.06em;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(ul.irr-l-dots, ol.irr-l-dots) > :where(li) {
  padding-left: 0.89em;
  text-indent: -0.89em;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(ul.irr-l-plain, ol.irr-l-plain) > :where(li) > :where(*) {
  text-indent: 0;
}
/* A check list (each item opens with its check box or radio): the box is the marker. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(ul, ol):has(> li > :is(input[type="checkbox"], input[type="radio"]):first-child, > li > label:first-child > :is(input[type="checkbox"], input[type="radio"])) {
  padding-left: 0;
  list-style: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(li)::marker {
  font-variant-numeric: normal;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(li) + :where(li),
html body.irr-legacy .irr.irr-page--article .entry-content :where(li) > :where(ul, ol) {
  margin-top: 0.5em;
}
/* A quote stands on the text column like the paragraphs around it (from 1280 px on column 2:
   section 4), marked by a 1 px rule over it, not by an indent. Its words keep the weight the
   body gave them. (The indent put its text 26 px off every line of the page.) */
html body.irr-legacy .irr.irr-page--article .entry-content :where(blockquote, .wp-block-pullquote) {
  padding: 16px 0 0;
  border: 0;
  border-top: 1px solid var(--irr-black);
  background: none;
  font-size: inherit;
  font-style: normal;
  text-align: left;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.wp-block-pullquote) {
  max-width: var(--irr-measure);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.wp-block-pullquote) > :where(blockquote) {
  padding: 0;
  border: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(blockquote cite, blockquote footer) {
  display: block;
  margin-top: 8px;
  color: var(--irr-ink-2);
  font-size: 16px;
  font-style: normal;
}
/* A separator is not displayed. In the bodies every one of them (23 in 16 posts) stands before a
   new section, a heading or a ruled group, which brings its own space and its own rule; a loose
   line on the measure between the two reads as a stray rule. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(hr) {
  display: none;
}
/* Images at their own size, never enlarged and never wider than the text measure, so a picture
   as wide as the text ends where the text ends (from 1280 px on the column 3 line) and does not
   outweigh it. A drawing with fine print (irr-l-wide: stored at full size and over 1024 px on
   one side, the five of 765) may run to the end of column 4. The caption in Ink Secondary. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(img) {
  max-width: 100%;
  height: auto;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.wp-block-image:not(.irr-l-wide)) {
  max-width: var(--irr-measure);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(figcaption) {
  margin-top: 8px;
  color: var(--irr-ink-2);
  font-size: 16px;
  line-height: 1.4;
  text-align: left;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(iframe, video, svg, canvas, embed, object) {
  max-width: 100%;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(iframe) {
  border: 0;
}

/* ---------- 10. Buttons and fields ---------- */
/* The frame's buttons on white: square, a 2 px black border, 800 at 18 px, at least 56 px tall;
   hover inverts. Fields: square, 56 px, a 2 px black border, 18 px. Checkboxes, radios and
   sliders take black. A script that marks a choice by writing a colour into the button still
   shows it (an inline style outweighs this sheet). */
html body.irr-legacy .irr.irr-page--article .entry-content :where(button, input[type="button"], input[type="submit"], input[type="reset"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  max-width: 100%;
  margin: 0;
  padding: 12px 24px;
  border: 2px solid var(--irr-black);
  border-radius: 0;
  background: var(--irr-white);
  box-shadow: none;
  color: var(--irr-black);
  font: inherit;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  cursor: pointer;
  transition: background-color 120ms ease-out, color 120ms ease-out;
  -webkit-appearance: none;
  appearance: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(button, input[type="button"], input[type="submit"], input[type="reset"]):hover {
  background: var(--irr-black);
  color: var(--irr-white);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--irr-black);
  outline-offset: 4px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(input:not([type="button"], [type="submit"], [type="reset"], [type="checkbox"], [type="radio"], [type="range"], [type="hidden"], [type="color"], [type="file"]), select, textarea) {
  box-sizing: border-box;
  width: min(100%, 24em);
  min-height: 56px;
  margin: 0;
  padding: 0 16px;
  border: 2px solid var(--irr-black);
  border-radius: 0;
  background-color: var(--irr-white);
  box-shadow: none;
  color: var(--irr-black);
  font: inherit;
  font-size: 18px;
  line-height: 1.2;
}
/* A field keeps 6 px above and 16 px below, a button 8 px, so a run of labels, fields and a button
   written one after the other reads as rows (inside a row of controls the gap does it). */
html body.irr-legacy .irr.irr-page--article .entry-content :where(input:not([type="button"], [type="submit"], [type="reset"], [type="checkbox"], [type="radio"], [type="range"], [type="hidden"], [type="color"], [type="file"]), select, textarea) {
  margin-block: 6px 16px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(input[type="range"]) {
  margin-block: 10px 16px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(button, input[type="button"], input[type="submit"], input[type="reset"]) {
  margin-block: 8px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-controls) > :where(button, input, select, textarea, label) {
  margin: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(textarea) {
  width: 100%;
  max-width: var(--irr-measure);
  min-height: 120px;
  padding: 12px 16px;
  line-height: 1.45;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(select) {
  padding-right: 48px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  -webkit-appearance: none;
  appearance: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(select) {
  text-overflow: ellipsis;
}
/* A list box (a select that shows several options at once): its own height, no chevron, a line
   of its own, so the hint written after it starts under it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(select[multiple], select[size]:not([size="1"])) {
  display: block;
  height: auto;
  min-height: 0;
  padding: 8px 0;
  background-image: none;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(select[multiple], select[size]:not([size="1"])) > :where(option) {
  padding: 6px 16px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(input::placeholder, textarea::placeholder) {
  color: var(--irr-ink-2);
  opacity: 1;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(input[type="checkbox"], input[type="radio"]) {
  width: 20px;
  height: 20px;
  margin: 0 0.5em 0 0;
  vertical-align: -0.2em;
  accent-color: var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(input[type="range"]) {
  width: 100%;
  max-width: var(--irr-measure);
  accent-color: var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(label) {
  font-weight: 700;
  line-height: 1.35;
}
/* A label that holds its check box or radio: one choice a line, 44 px of hit area. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(label:has(input[type="checkbox"], input[type="radio"])) {
  display: block;
  padding-block: 8px;
  font-weight: 400;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(label[style*="block"]) {
  margin-bottom: 8px;
}
/* A link drawn as a button in the old body (its WhatsApp links): the outline button on white.
   Its 56 px come from the line (28 px) and the padding, so the label stands in the middle whether
   the link is a flex box or keeps the inline-block its body wrote. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(a.irr-l-btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  max-width: 100%;
  padding: 12px 24px;
  border: 2px solid var(--irr-black);
  background: transparent;
  color: var(--irr-black);
  font-size: 18px;
  font-weight: 800;
  line-height: 28px;
  text-align: center;
  text-decoration: none;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(a.irr-l-btn):hover {
  background: var(--irr-black);
  color: var(--irr-white);
}
/* A grid whose cells are all such links (the "Navegue pelo conteúdo" of four bodies): every
   button brings its own outline, so the group takes no rule of its own, the rows stand 12 px
   apart (two outlines that touched read as a broken table) and the labels start at the left,
   24 px in, as the frame's outline button. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cells):not(:has(> :not(a.irr-l-btn))) {
  row-gap: 12px;
  padding-top: 0;
  border-top: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cells) > :where(a.irr-l-btn) {
  justify-content: flex-start;
  padding: 12px 24px;
  border: 2px solid var(--irr-black);
  text-align: left;
}

/* ---------- 11. Phones ---------- */
/* Below 768 px a table never scrolls sideways: each row is a ruled group, its first cell the
   row's name, every other cell opened by its column header as a bold run-in label (from the
   data-label the plugin wrote); a header that ends in "?" or ":" takes no colon; an empty cell is
   not displayed. */
@media (max-width: 767.98px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(table, tbody, tfoot, tr, td, th) {
    display: block;
    width: auto;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(table) {
    display: block;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(caption) {
    display: block;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(thead, .irr-l-thead) {
    display: none;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(tbody tr, table > tr, tfoot tr) {
    padding: var(--irr-row-top) 0 16px;
    border-bottom: 1px solid var(--irr-black);
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(tbody tr:first-child, table > tr:first-child, .irr-l-thead + tr) {
    border-top: 1px solid var(--irr-black);
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(th, td),
  html body.irr-legacy .irr.irr-page--article .entry-content :where(tbody tr:last-child > *, table > tr:last-child > *) {
    padding: 0;
    border: 0;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(td, th) + :where(td, th) {
    margin-top: 6px;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(td[data-label]:not(:first-child), th[data-label]:not(:first-child))::before {
    content: attr(data-label) ": ";
    font-weight: 700;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(td:is([data-label$="?"], [data-label$=":"]):not(:first-child), th:is([data-label$="?"], [data-label$=":"]):not(:first-child))::before {
    content: attr(data-label) " ";
  }
  /* A table whose first column holds sentences, not row names (irr-l-sides: what to do beside
     what to avoid, a sign beside its meaning): the first cell takes its column header too, at the
     weight of the others. Without it the header of that column was shown nowhere on a phone and
     the row read as one statement. */
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-sides td[data-label]:first-child, .irr-l-sides th[data-label]:first-child)::before {
    content: attr(data-label) ": ";
    font-weight: 700;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-sides td:is([data-label$="?"], [data-label$=":"]):first-child, .irr-l-sides th:is([data-label$="?"], [data-label$=":"]):first-child)::before {
    content: attr(data-label) " ";
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-sides tbody td:first-child, .irr-l-sides tbody th:first-child) {
    font-weight: 400;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(td:empty, th:empty) {
    display: none;
  }
  /* Buttons and fields take the line; a row of short buttons (a scale) keeps them side by side. */
  html body.irr-legacy .irr.irr-page--article .entry-content :where(input:not([type="checkbox"], [type="radio"], [type="range"], [type="hidden"], [type="button"], [type="submit"], [type="reset"]), select, textarea) {
    width: 100%;
  }
  html body.irr-legacy .irr.irr-page--article .entry-content :where(a.irr-l-btn) {
    display: flex;
    width: 100%;
  }
}
@media (max-width: 359.98px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(button, input[type="button"], input[type="submit"], input[type="reset"], a.irr-l-btn) {
    padding-inline: 14px;
  }
}

/* ---------- 11.1 Under a heading, after a hidden piece ---------- */
/* What stands under a heading keeps the heading's own step, whether it is the heading's next
   sibling or the first piece of the wrapper that follows it (irr-l-after-h2, irr-l-after-h3:
   the plugin marks the block and the wrappers it opens). A ruled group under an h2 keeps
   rule-pad, as in section 5. Last among the margins of this sheet, so it holds at every depth. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-after-h2, .irr-l-after-h3) {
  margin-top: 0;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-after-h2):where(.irr-l-box, .irr-l-row, .irr-l-cells) {
  margin-top: var(--irr-rule-pad);
}
/* What follows the title of a ruled group set in column 1, and the wrappers it opens: beside the
   title, not under it. */
@media (min-width: 1280px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-beside) {
    clear: none;
    margin-top: 0;
  }
}
/* The short line that stood over the body's own title (the badge of a pasted hero). The title is
   not displayed (irr-l-dup), so the line is the label of the lede: on the lede's edge, 8 px over
   it, in Ink Secondary at 16 px. (Left on column 1 it read as neither a subhead nor a label.) */
html body.irr-legacy .irr.irr-page--article .entry-content :where(*):has(+ .irr-l-dup) {
  display: block;
  margin-bottom: 8px;
  color: var(--irr-ink-2);
  font-size: 16px;
  line-height: 1.4;
}
@media (min-width: 1280px) {
  html body.irr-legacy .irr.irr-page.irr-page--article :where(.entry-content, .irr-l-flow, .irr-l-box:not(.irr-l-text)) > :where(.irr-l-line):has(+ .irr-l-dup) {
    margin-left: calc(var(--irr-col) + var(--irr-gap));
  }
}
/* Inside a group, the piece that follows a decorative icon that opened it (not displayed) is the
   group's first piece: no space above it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(:not(.irr-l-flow, .irr-l-box:not(.irr-l-text))) > :where(.irr-l-icon:first-child) + :where(*) {
  margin-top: 0;
}
/* The same after an empty piece that opened it (the dot of a drawn timeline, 1107): the words
   that follow start at the top of the group. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell, .irr-l-row) > :where(div, span, i):empty:first-child:not([style], [id]) + :where(*) {
  margin-top: 0;
}
/* A short label that opens a cell or a row over its name (the "O Conceito" over "O que é
   Fisiatria?" of a pasted card): the name follows close under it. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(.irr-l-cell, .irr-l-row, .irr-l-text) > :where(span, small, strong, b, em):first-child + :where(h2, h3, h4, h5, h6) {
  margin-top: 4px;
}

/* ---------- 12. What tools write after load ---------- */
/* Calculators, scales and diaries write their results into the page with inline styles of their
   own (rounded cards, shadows, other faces). Their colours carry the result and stay; the shape
   takes the system's: square, flat, the page's face. The only !important of the sheet: nothing
   else can answer an inline style a script writes after load. */
html body.irr-legacy .irr.irr-page--article .entry-content [style] {
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
}
/* A result a script tints keeps room around its words. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(div, p)[style*="background"]:not(:empty, [onclick], .irr-l-pair, .irr-l-check) {
  padding: 12px 16px;
}
/* The Floor Rule holds for what a script writes too: a size written inline is the size of the
   text around it, never under 16 px (the results were set at 12 to 15 px). */
html body.irr-legacy .irr.irr-page--article .entry-content [style*="font-size"] {
  font-size: max(16px, 1em) !important;
}
/* No motion on this page: the fade-ins some bodies start from a scroll observer (opacity 0 until
   the element is seen, then a slide) are answered here, so their text is there from the start,
   in print and in a capture too. Scripts use opacity for nothing else (a 0.9 hover in one body). */
html body.irr-legacy .irr.irr-page--article .entry-content [style*="opacity"] {
  opacity: 1 !important;
  transition: none !important;
}
html body.irr-legacy .irr.irr-page--article .entry-content [style*="translateY"] {
  transform: none !important;
}
/* A bar a script fills by writing a width (the progress of a check list, the level of a
   simulation): black on a ruled track. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(div, span):empty:is([style^="width"], [style*=" width"]) {
  display: block;
  height: 10px;
  background: var(--irr-black);
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(div):has(> :is(div, span):empty:is([style^="width"], [style*=" width"])) {
  margin-block: 12px;
  border: 1px solid var(--irr-black);
}
/* A cell a script writes with its own padding and grey borders (the rows of a diary, a result
   table) takes the table's cell: the 1 px black rule above, the row's padding. Its background,
   if the script tints it, stays. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(td, th)[style] {
  padding: var(--irr-row-top) 20px 16px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--irr-black) !important;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live) :where(td, th)[style] {
  padding: 0 !important;
  border: 0 !important;
}
@media (max-width: 767.98px) {
  html body.irr-legacy .irr.irr-page--article .entry-content :where(td, th)[style] {
    padding: 0 !important;
    border: 0 !important;
  }
}
/* A button a script styles after load. Where the script takes its border off, the outline comes
   back; where it writes white words and no ground for them (the ground was in a style block that
   is gone: the four class buttons of 1158 stood white on the page's white, not to be seen), the
   words are black, white again on the hover ground. A ground a script writes still shows. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(button, input[type="button"], input[type="submit"], input[type="reset"]):is([style*="border-style: none"], [style*="border: none"], [style*="border: medium"], [style*="border: 0"]) {
  border: 2px solid var(--irr-black) !important;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(button, input[type="button"], input[type="submit"], input[type="reset"]):is([style*="color: white"], [style*="color: rgb(255, 255, 255)"]):not([style*="background"]) {
  color: var(--irr-black) !important;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(button, input[type="button"], input[type="submit"], input[type="reset"]):is([style*="color: white"], [style*="color: rgb(255, 255, 255)"]):not([style*="background"]):hover {
  color: var(--irr-white) !important;
}
/* The button a diary writes into each entry ("Remover", red with white letters): the system's
   outline button, one step smaller than a form's. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live) button[style] {
  min-height: 44px;
  padding: 8px 16px !important;
  border: 2px solid var(--irr-black) !important;
  background: var(--irr-white) !important;
  color: var(--irr-black) !important;
  font-size: 16px;
}
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live) button[style]:hover {
  background: var(--irr-black) !important;
  color: var(--irr-white) !important;
}
/* The cell that holds only that button takes no column label. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(table.irr-l-live) td:has(> button:only-child)::before {
  content: none !important;
}
/* The answers a quiz writes as cards (1228 and 1231: a white card, a 1 px grey border, grey
   words, the chosen one a shade darker): the frame's outline button, the chosen one filled.
   The script marks its choice by writing the border colour rgb(82, 82, 82); nothing else in the
   bodies writes that colour. */
html body.irr-legacy .irr.irr-page--article .entry-content #optionsContainer > div[style*="cursor"] {
  min-height: 56px;
  margin: 8px 0 !important;
  padding: 14px 24px !important;
  border: 2px solid var(--irr-black) !important;
  background: var(--irr-white) !important;
  color: var(--irr-black) !important;
  font-size: 18px;
  font-weight: 800;
  line-height: 24px;
  transition: none !important;
}
html body.irr-legacy .irr.irr-page--article .entry-content #optionsContainer > div[style*="cursor"]:hover,
html body.irr-legacy .irr.irr-page--article .entry-content #optionsContainer > div[style*="rgb(82, 82, 82)"] {
  background: var(--irr-black) !important;
  color: var(--irr-white) !important;
}
/* Words a script colours after load and gives no ground of their own (the green "Provavelmente
   Muscular" of 1072, the orange "Base do Pescoço" of 1075 and "Sintomas Moderados" of 1190, the
   grey note of the empty diary in 1225, the grey labels of 1228 and 1231): light green, orange
   and grey stand under 3 to 1 on the page. They take the colour of the text around them; the
   words say what the colour said. White words are left alone: a script writes them only on a
   ground of its own. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(p, span, strong, b, em, small, h3, h4, h5, h6, li, td, div, label)[style*="color"]:not([style*="background"]):not([style*="color: white" i], [style*="color:white" i], [style*="color: #fff" i], [style*="color:#fff" i], [style*="rgb(255, 255, 255)"]) {
  color: inherit !important;
}
/* A tag a script writes in white on a colour of its choice (the trimester of 1231 on amber, the
   "Altamente recomendada" of 1190 on green, both under 3 to 1): white on black. */
html body.irr-legacy .irr.irr-page--article .entry-content :where(span, strong, b, small, label)[style*="background"]:is([style*="color: white" i], [style*="color:white" i], [style*="color: #fff" i], [style*="color:#fff" i], [style*="rgb(255, 255, 255)"]) {
  background: var(--irr-black) !important;
  color: var(--irr-white) !important;
}
