/*
 * Irradiada · Clínica: the document page (fisiatria.com.br trust and legal pages).
 * Source: 03-ops/inner-pages-irradiada/plugin/irradiada-docs.css.
 * Installed by apply-static.php as mu-plugins/fisiatria-irradiada/irradiada-docs.css and enqueued
 * by the pages plugin (1.3.0) after the frame's stylesheet on a static page whose stored body opens with the mark
 * <div class="irr irr-page irr-page--static irr-page--doc (PLUGIN-CONTRACT.md: type static, kind
 * doc, body classes irr-inner irr-static irr-static--doc). Pages: Política editorial, Fontes e
 * referências, Correções e atualizações (irr-page--trust), Política de privacidade and Termos de
 * uso (irr-page--legal). Specification: TRUST-LEGAL-PAGES-SPEC.md, with the contract's reading
 * rule in place of its 40 em measure; build notes: pages/TRUST-LEGAL-BUILD-NOTES.md.
 *
 * Sections:
 *   1 Theme containers (shared with every static page)
 *   2 Root and tokens (the article's section 2, restated as written)
 *   3 Page head and byline (the byline rules are the article's section 3, restated)
 *   4 Body and sections
 *   5 Ruled rows
 *   6 Buttons on white, the error channel
 *   7 Links in running text
 *   8 Index of pages ("Outras páginas")
 *   9 Legal pages
 *  10 Browser surfaces
 *
 * Black and white only: no role colour applies to a policy, a list of sources or a legal text.
 * The physician is named in the head and linked to his profile, which is the cobalt page.
 * No !important, no font size under 16 px, no image but the ring set of the head (a CSS
 * background), no inline svg but the buttons' drawn arrow.
 */

/* ---------- 1. Theme containers (outside .irr, under the body class) ---------- */
/* The block of TRUST-LEGAL-PAGES-SPEC.md 8.3 and IDENTITY-PAGES-SPEC.md Appendix A: the theme's
   containers give the full width to the root, without a meta write. It moves to the shared
   sheet irradiada-pages.css when that sheet is made. */
html body.irr-static {
  background: #fafafa;
}
html body.irr-static #page,
html body.irr-static #content,
html body.irr-static #primary,
html body.irr-static #main,
html body.irr-static #main > article,
html body.irr-static .inside-article,
html body.irr-static .entry-content {
  display: block;
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

/* ---------- 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;
  }
}
/* The paragraph gap is the article's, as written above (PLUGIN-CONTRACT.md, "Reading text on
   every inner page": 1.6em from 768 px, 1.8em from 1280 px; 0.9em under 360 px and 1.1em from
   360 px). The document pages set no gap of their own, as irradiada-static.css sets none for the
   identity pages. */

/* ---------- 3. Page head and byline ---------- */
/* The black head of the inner pages: window edge to window edge, as tall as its content (no
   minimum height), the only h1 with nothing above it, one sentence, a hairline and the gray
   line. The h1 stands where it stands on the article: 40 px under the header bar on a phone,
   61 px at 1366, 71 px at 1647 (--irr-step-64). The head ends on the gray line, so its bottom
   padding is the article title band's (--irr-step-40). */
.irr .irr-phead {
  padding: var(--irr-step-64) 0;
}
.irr .irr-phead--by {
  padding-bottom: var(--irr-step-40);
}
.irr .irr-phead--black {
  --irr-focus: var(--irr-guides);
  --irr-sel-bg: var(--irr-guides);
  --irr-sel-fg: var(--irr-black);
  --irr-btn-hover-bg: var(--irr-white);
  --irr-btn-hover-fg: var(--irr-black);
  background-color: var(--irr-black);
  color: var(--irr-white);
}
.irr .irr-phead__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;
}
/* The sentence keeps to the reading measure: from 1280 px it ends on the line of column 2. */
.irr .irr-phead__lede {
  margin-top: clamp(16px, 1.667vw, 24px);
  max-width: var(--irr-measure);
  font-size: var(--irr-fs-lede);
  line-height: 1.45;
}
/* Correções: the error channel, two outline buttons on black. Full width below 600 px. */
.irr .irr-phead__actions {
  display: grid;
  gap: 12px;
  margin-top: var(--irr-step-40);
}
@media (min-width: 600px) {
  .irr .irr-phead__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
  }
}

/* The article's byline (its section 3, as written): hairline, gray line, the name as link. */
.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;
  }
}
/* The document page's second gray line: the role on a trust page. On a legal page the only
   line is the date of the text (.irr-byline__date). */
.irr .irr-byline__more {
  margin-top: 2px;
}
@media (min-width: 768px) {
  .irr .irr-byline__more {
    margin-top: 4px;
  }
}

/* From 1024 px the title, the buttons and the gray line keep to columns 1 to 3, the sentence to
   the measure, and column 4 holds the one ring set of the inner pages: white rings from the
   head's lower right corner, a CSS background (never an inline svg), cut by the head's top
   edge. Rings never cross text. No motion. */
@media (min-width: 1024px) {
  .irr .irr-phead > .irr-wrap > * {
    max-width: var(--irr-span3);
  }
  .irr .irr-phead > .irr-wrap > .irr-phead__lede {
    max-width: min(var(--irr-measure), var(--irr-span3));
  }
  .irr .irr-phead--black {
    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. Body and sections ---------- */
/* A white body of ruled sections. Each section: a 3 px rule, its name, its body. The reading
   rule of the inner pages (PLUGIN-CONTRACT.md, "Reading text on every inner page"):
     below 1024 px  one column: the name above its body, 20 px apart; text on the measure
     1024 to 1279   the name in column 1 (the margin column), the body on columns 2 to 4, its
                    text on the measure (36 reading sizes, the article's line from 768 px)
     from 1280 px   the page grid: column 1 the names, columns 2 and 3 the text (the measure is
                    columns 2 and 3), column 4 air; the three cells of the index stand on
                    columns 2, 3 and 4. Every paragraph, row and button starts on the line of
                    column 2; every text column ends on the line of column 3 (or 36 reading
                    sizes short of it past about 1690 px, as on the article).
   The first baseline of a name and of its body are one line (align-items: first baseline).
   More space above a section than inside it: the section step, then rule-pad to the name. */
.irr .irr-pbody {
  --irr-btn-hover-bg: var(--irr-black);
  --irr-btn-hover-fg: var(--irr-white);
  padding: var(--irr-step-72) 0 max(64px, var(--irr-step-104));
}
.irr .irr-dsec {
  padding-top: var(--irr-rule-pad);
  border-top: 3px solid var(--irr-black);
}
.irr .irr-dsec + .irr-dsec {
  margin-top: max(56px, var(--irr-step-88));
}
.irr .irr-dsec__name {
  font-size: max(28px, var(--irr-fs-h3));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.irr .irr-dsec__body {
  margin-top: 20px;
}
.irr .irr-dsec__body > p,
.irr .irr-drows :where(dt, dd) {
  max-width: var(--irr-measure);
}
.irr .irr-dsec__body > * + * {
  margin-top: var(--irr-flow);
}
@media (min-width: 1024px) {
  .irr .irr-dsec {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: var(--irr-gap);
    align-items: first baseline;
    padding-top: 0;
  }
  .irr .irr-dsec__name {
    grid-column: 1;
    padding-top: var(--irr-rule-pad);
  }
  .irr .irr-dsec__body {
    grid-column: 2 / 5;
    margin-top: 0;
    padding-top: var(--irr-rule-pad);
  }
}

/* ---------- 5. Ruled rows ---------- */
/* A term and its text (the types of source, Correção and Atualização): the physician rows of the
   homepage, black on white, stacked. The first row follows the section's rule without a rule of
   its own; a 1 px rule between rows, none after the last. Text only. From 1280 px the list is as
   wide as its text (the measure: columns 2 and 3), so a row's rule ends where the lines end and
   does not underline the empty fourth column; the section's 3 px rule keeps the full width. */
.irr .irr-drows__row {
  padding: var(--irr-rule-pad) 0 max(28px, calc(var(--irr-rule-pad) * 1.25));
  border-top: 1px solid var(--irr-black);
}
.irr .irr-drows__row:first-child {
  padding-top: 0;
  border-top: 0;
}
.irr .irr-drows__row:last-child {
  padding-bottom: 0;
}
.irr .irr-drows dt {
  font-size: var(--irr-fs-art-h3);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.irr .irr-drows dd {
  margin-top: 10px;
}
@media (min-width: 1280px) {
  .irr .irr-drows {
    max-width: var(--irr-measure);
  }
}

/* ---------- 6. Buttons on white, the error channel ---------- */
/* The frame's outline button on white: 2 px black border, black label, the drawn arrow; hover
   inverts it (set on .irr-pbody). 28 px between a text and its buttons. Below 600 px each button
   takes the full width; from 600 px two share a row, 16 px apart. The buttons carry no
   data-fis-cta: the click tracker counts booking calls, and an error report is not one. */
.irr .irr-dsec__body > .irr-btn,
.irr .irr-dsec__body > .irr-dactions {
  margin-top: 28px;
}
.irr .irr-dactions {
  display: grid;
  gap: 12px;
}
@media (max-width: 599.98px) {
  .irr .irr-dsec__body > .irr-btn {
    display: flex;
  }
}
@media (min-width: 600px) {
  .irr .irr-dactions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
  }
}

/* ---------- 7. Links in running text ---------- */
/* The article's: the text colour, a 1 px underline in Ink Secondary; hover and focus 2 px in the
   text colour. 12 px of padding above and below as hit area, which leaves the line height as it
   is. No body of this set holds such a link today (every action is a button); the rule keeps
   the next one on the system's terms. */
.irr .irr-dsec__body :where(p, dd) a {
  padding-block: 12px;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--irr-ink-2);
  text-underline-offset: 0.22em;
}
.irr .irr-dsec__body :where(p, dd) a:hover,
.irr .irr-dsec__body :where(p, dd) a:focus-visible {
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
}

/* ---------- 8. Index of pages ("Outras páginas") ---------- */
/* The archive's index of destinations in its pages form, inside a section: the other two trust
   pages and the profile. Below 768 px rows closed by a 1 px rule, each row one link: the name
   (20 px, 800) with the buttons' drawn arrow after its last word, and under it a line of fact
   (16 px, Ink Secondary). From 768 px three cells in a row (one page column each from 1280 px),
   the name at the tile-name step. The link is the cell itself. Hover underlines the name 3 px
   and moves the arrow 4 px (not under reduced motion); focus draws the black ring around the
   cell; visited looks the same. */
.irr .irr-dsec .irr-topics__list {
  border-top: 0;
}
.irr .irr-dsec .irr-topic {
  border-bottom: 1px solid var(--irr-black);
}
.irr .irr-dsec .irr-topic__link {
  display: block;
  min-height: 54px;
  padding: 14px 0 15px;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
  text-decoration: none;
}
.irr .irr-dsec .irr-topic:first-child .irr-topic__link {
  padding-top: 0;
}
.irr .irr-dsec .irr-topic__n {
  display: block;
  margin-top: 6px;
  color: var(--irr-ink-2);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}
.irr .irr-dsec .irr-topic__link:hover {
  text-decoration: none;
}
.irr .irr-dsec .irr-topic__link:hover .irr-topic__name {
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 0.2em;
}
/* The drawn arrow after the name, at rest. It stands outside .irr-topic__name, so the hover
   underline stops at the last word; a word joiner ties it to that word. */
.irr .irr-dsec .irr-topic__link svg {
  display: inline-block;
  margin-left: 10px;
  vertical-align: -0.1em;
  transition: transform 160ms var(--irr-ease-out);
}
.irr .irr-dsec .irr-topic__link:hover svg {
  transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .irr .irr-dsec .irr-topic__link svg {
    transition: none;
  }
  .irr .irr-dsec .irr-topic__link:hover svg {
    transform: none;
  }
}
@media (min-width: 768px) {
  .irr .irr-dsec .irr-topics__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--irr-step-40) var(--irr-gap);
  }
  .irr .irr-dsec .irr-topic {
    border-bottom: 0;
  }
  .irr .irr-dsec .irr-topic__link {
    height: 100%;
    min-height: 0;
    padding: 0;
    font-size: var(--irr-fs-art-h3);
    line-height: 1.15;
  }
  .irr .irr-dsec .irr-topic__n {
    margin-top: 8px;
  }
}

/* ---------- 9. Legal pages ---------- */
/* Nine sections each, some with long names ("WhatsApp, telefone e e-mail", "Serviços de outras
   empresas"): the smaller section name (Title SM), one or two lines in column 1 (measured from
   1024 px), and the smaller section step. */
.irr.irr-page--legal .irr-dsec__name {
  font-size: var(--irr-fs-h3-sm);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.irr.irr-page--legal .irr-dsec + .irr-dsec {
  margin-top: max(40px, var(--irr-step-64));
}

/* ---------- 10. Browser surfaces ---------- */
/* Selection: amber with black text on both grounds (the frame's default, restated for the head).
   Focus: the frame's 3 px ring at 4 px, amber on the black head, black on white. Nothing moves
   but the 120 to 160 ms transitions of buttons, arrows and links. */

/* Forced colours: the black field is gone, so the head gets a top edge, and the ring artwork is
   removed. Every rule of the body is a real border and stays. */
@media (forced-colors: active) {
  .irr .irr-phead {
    background-image: none;
    border-top: 3px solid CanvasText;
  }
}

/* Print: black on white, a 3 px rule where the head stood, no rings, buttons with a black
   border. */
@media print {
  .irr .irr-phead {
    border-top: 3px solid var(--irr-black);
    background: none;
    color: var(--irr-black);
    padding-block: 24px;
  }
  .irr .irr-byline {
    border-top-color: var(--irr-black);
    color: var(--irr-black);
  }
  .irr .irr-byline__name,
  .irr .irr-phead .irr-btn {
    border-color: var(--irr-black);
    color: var(--irr-black);
  }
  /* A section name stays on the sheet of its text; a ruled row or an index entry is not cut in
     two. */
  .irr .irr-dsec__name,
  .irr .irr-drows dt {
    break-after: avoid;
  }
  .irr .irr-drows__row,
  .irr .irr-dsec .irr-topic {
    break-inside: avoid;
  }
}
