/* v279: release-wide header and home-page corrections. */

/* Keep the original, carefully aligned mobile wordmark. The v279 SVG assets
   preserve that composition and replace only the academic-year badge. */
@media (max-width: 820px) {
  html body[class]>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner .code5 {
    position: relative !important;
    display: block !important;
    width: min(199.31px, 100%) !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 4.745435 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: transparent !important;
    background-image: url("../img/header-wordmark-light.svg") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;
    transform: none !important;
    translate: none !important;
    align-self: center !important;
  }

  html[data-theme="dark"] body[class]>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner .code5 {
    background-image: url("../img/header-wordmark-dark.svg") !important;
  }

  html body:has(.header-badges .college_title)>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner .code5,
  html[data-theme="dark"] body:has(.header-badges .college_title)>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner .code5 {
    width: min(279.12px, 100%) !important;
    max-width: 100% !important;
    aspect-ratio: 6.645834 / 1 !important;
    background-image: url("../img/header-wordmark-college-light.svg") !important;
  }

  html[data-theme="dark"] body:has(.header-badges .college_title)>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner .code5 {
    background-image: url("../img/header-wordmark-college-dark.svg") !important;
  }

  html body[class]>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner .code5>* {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* On phones show the operational information before the schedule. */
  html body.home-page .home-layout>.attention-section {
    order: 1 !important;
  }

  html body.home-page .home-layout>.schedule-section {
    order: 2 !important;
  }

  html body.home-page .home-layout>.utility-section:not(.college) {
    order: 3 !important;
  }

  html body.home-page .home-layout>.utility-section.college {
    order: 4 !important;
  }
}

/* Do not stretch the information card to the height of a longer neighbour. */
html body.home-page .attention-section,
html body.home-page .schedule-section {
  align-self: start !important;
}

html body.home-page .attention-card {
  height: auto !important;
  min-height: 0 !important;
}


/* v296: keep human-readable words intact release-wide.  The old core rule
   h1..h6,p{overflow-wrap:anywhere} could split a Russian word at any character.
   URLs/code remain free to break in their dedicated components. */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body p,
html body .directory-name,
html body .directory-meta,
html body .audience-room__name,
html body .contact-item strong,
html body .course-title,
html body .btn-rasp {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}

html body code,
html body pre,
html body .page-404-requested {
  overflow-wrap: anywhere !important;
}


html body .blue-shadow .btn-rasp,
html body .blue-shadow .course-title {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}


/* v297: make the whole wordmark/logo area a reliable home target, including on phones. */
html body header.row.code1 #site-header-inner .code2 > a,
html body header.row.code1 #site-header-inner .site-title-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 44px !important;
  min-width: 44px !important;
  padding: 6px !important;
  margin: -6px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
}

html body header.row.code1 #site-header-inner .site-title-link {
  width: 100% !important;
  max-width: 100% !important;
}

html body header.row.code1 #site-header-inner .site-title-link:hover,
html body header.row.code1 #site-header-inner .site-title-link:focus-visible,
html body header.row.code1 #site-header-inner .code2 > a:hover,
html body header.row.code1 #site-header-inner .code2 > a:focus-visible {
  text-decoration: none !important;
}


/* ========================================================================
   v305 QA FINAL OVERRIDES
   Loaded after runtime-schedule-fast + runtime-schedule generator CSS.
   These rules deliberately reset legacy high-specificity constraints that
   otherwise reappear after scaling / mobile sticky transformations.
   ======================================================================== */

/* Schedule shell must match every other redesigned page. */

/* Nearest/current marker: nearest = blue ring, current = orange dot. */

/* Marker is really to the RIGHT of the lesson-type badge. */

/* When there is no type, marker floats above the subject WITHOUT taking space. */

/* Only true subject-only lessons are vertically centered. Rich lessons begin at the top. */

/* Date/status must breathe; status never sits on the cell border. */

/* Never clip human text. Russian words may hyphenate only by browser language rules. */

/* Auditorium pills stay on one line; if a real room is long, the cell gets the width. */

/* Translator: icon lives on the same visual baseline; teacher text remains centered. */

/* List view: day strip obeys scale exactly, metadata stays aligned. */

/* Dialog: only the type row and, when relevant, one compact marker row. */

/* Mobile transformed table header: reset old day-column constraints completely. */

/* v305 QA specificity resets for scaled mobile header / marker reserve. */

/* v305 QA final centering and compact pair-label correction. */

/* v305 QA list metadata hit-area geometry. */


/* v305 FINAL QA: scaled table text may not be clipped by the legacy compact rule. */

/* ========================================================================
   v307 FINAL LAYOUT CONTRACT
   One last, high-specificity layer. These rules intentionally live in the
   shared override because ProductionAssets appends it after every schedule
   bundle. Nothing older is allowed to re-centre rich lessons or distort the
   mobile transformed header after this point.
   ======================================================================== */

/* Rich table lessons always start at the top. Only a genuinely footer-less
   single lesson may use vertical centring. */

/* No human-readable text is ellipsized at dense scales. Give it the whole cell
   first; wrapping is by word boundaries, not arbitrary character chopping. */

/* Translator name is centred as though the icon did not exist: icon and an
   equal invisible counterweight occupy symmetric side tracks. */

/* List mode: the day/date strip really scales, and both texts share the same
   optical centre. */

/* Every list footer item uses the same hit-height and vertical centre. */

/* Compact lesson type + target ring. Ring is physically to the right of the
   type text, never under it. */

/* Type/indicator dialog: no explanatory lower paragraph. The indicator row is
   deliberately as simple as the lesson-type row: symbol + short label. */

/* Mobile transformed TABLE header: one row, exactly the same tracks as the
   underlying table. Entity metadata owns the day-column track; pair chips own
   the measured pair tracks. This eliminates the old two-tier mismatch. */
@media (max-width: 767.98px) {
  /* Source header rows keep their height but become invisible underneath the
     transformed header, eliminating the leaked pair/time text seen on phones. */
}

/* v307 list baseline lock: direct footer items share exactly one vertical box. */

/* v307 table translator: the icon must not participate in centring the name. */

@media (max-width: 767.98px) {
  /* Keep the action button out of the pair text rather than drawing it on top. */
}

/* ========================================================================
   v308 production stabilization — final shared-layer locks
   ======================================================================== */

/* v308 exact table translator override: defeats the older v307 absolute-icon
   rule with equal specificity. */

/* v308 transformed mobile header: final two-tier geometry. The previous v307
   shared contract used a single 100%-height pair strip and overrode the newer
   two-tier CSS. Keep the meta tier and pair tier physically separate. */

/* ========================================================================
   v310 FINAL production guards (shared bundle is appended last)
   ======================================================================== */

/* Source timetable time stays horizontal whenever it actually fits. JS adds
   --stacked only after measuring the live cell. */

/* Final transformed mobile header contract: two independent tiers. Metadata
   spans the whole viewport-width header, while pair chips begin exactly after
   the sticky day column and scroll with the timetable. */

/* Multi-group list metadata starts on one optical top line: teacher, first group
   and auditorium all begin together; the group stack is then free to grow down. */

/* v310: override the older high-specificity phone rule. The time row is only
   stacked when responsive_schedule.js marks the individual label as unable to fit. */

/* ========================================================================
   v312 FINAL: one deterministic mobile table header in normal + sticky state
   ======================================================================== */
@media (max-width: 767.98px) {
  /* The phone table always has the same two-tier header. There is no second
     competing source header to drift, clip, or morph into a different width. */

  /* Pair/time strip starts on the exact first lesson-column boundary and may
     use the whole remaining viewport width. The menu belongs to tier 1 only. */

  /* The smart strip is the only phone table column header. Keeping the two
     legacy source rows visible underneath created two independent geometries. */
}

/* ========================================================================
   v312 FINAL: lesson card vertical zones used by equalize_lessons.js
   ======================================================================== */
/* A subject-only cell may be centred in an ordinary one-lesson day. In a day
   containing a double lesson it is explicitly the upper-zone lesson. */

/* v313: the ordinary phone header uses the same one-row height as the
   transformed/sticky header. Keep the historical high-specificity selector so
   no older :not(.is-mobile-table-stuck) rule can restore the former 92px tier. */

/* v312 mobile smart-strip visibility + normal menu position. The legacy morph
   stylesheet intentionally hid the compact strip before sticky state; v312
   uses this same strip as the normal phone table header as well. */

/* v312 mobile pair/time typography is identical before and after sticky state. */

/* ========================================================================
   v313 FINAL: phone table header is one compact horizontal strip
   ======================================================================== */
@media (max-width: 767.98px) {
  /* Week badge/entity, pair chips and the menu share one vertical track in both
     the normal and transformed/sticky states. This deliberately replaces the
     old two-tier phone header, which doubled its height. */

  /* Frozen first track: same width as the weekday column. */

  /* A teacher surname may use two short lines inside the same 48px strip, but
     it never creates a second header tier. */

  /* Pair cells occupy the very same vertical track and retain exact horizontal
     synchronization with the scrollable timetable. Reserve only the menu area
     at the viewport's right edge. */

  /* Normal and transformed menu use identical geometry. */
}

/* ========================================================================
   v313: true three-zone lesson layout inside every equalized table card
   ======================================================================== */

/* Multi-group room text is centred inside a taller pill. Its box must therefore
   sit ~5px above the first group line so the visible text baselines coincide. */

/* v313.1 specificity seal: legacy density/sticky selectors are intentionally
   very specific, so pin the one-row phone geometry above every older branch. */


/* ========================================================================
   v314 final geometry hardening
   - transformed pair tracks start at the exact table boundary (no half-pixel)
   - mobile normal/sticky headers are one stable 48px row at every density
   - week/title/range/menu use non-overlapping grid tracks
   - table grid remains visible and lesson content remains centered
   ======================================================================== */

/* Collapsed table borders are the visual grid. Keep them explicit so dense
   mobile rendering cannot wash them out against the page background. */

/* Every lesson owns the full content width and centres all three zones. */

/* Exact compact header origin. The old +.5px correction is wrong with the
   current collapsed-border table and creates the visible cumulative drift. */

/* Normal desktop header: four independent visual areas. This also applies at
   20% density, so the title cannot slide under the week badge and the range
   cannot paint under the menu button. */

/* Phone table header: normal and transformed states deliberately share the
   same one-row geometry. The first track is the real day column; pair chips
   begin at that exact boundary; the action control is vertically centred. */

/* v314 density guard: beat historical high-specificity mobile header rules. */

/* v314 compact desktop teacher names: keep full surname inside the frozen track. */

/* ========================================================================
   v315 mobile table polish
   - make body grid unambiguously visible on phones
   - give compact teacher names breathing room at the frozen-column edge
   - keep the week badge rounded-square, consistent with other timetable modes
   ======================================================================== */
@media (max-width: 767.98px) {

  /* At the minimum density older teacher-title rules kept the surname at a
     fixed 10.24px even after the parent title had been fitted smaller. Make
     the tokens inherit the fitted size so the final letters never cross the
     frozen day-column boundary. */
}

/* ========================================================================
   v316 final geometry hardening
   ======================================================================== */
:root {
  --schedule-grid-v316: #bfd0e2;
}
html[data-theme="dark"] {
  --schedule-grid-v316: #435a74;
}

/* Paint the table grid in a dedicated overlay above lesson descendants. A
   normal td border/box-shadow can be covered by full-size lesson wrappers,
   which is why isolated right/bottom edges disappeared in v315. */

/* Compact header cells get the same explicit separators. The teacher/group
   metadata track has its own right edge; each pair contributes one right edge. */

/* Exact JS geometry owns the compact strip origin. Never reintroduce the old
   +0.5px compensation in CSS. */

/* v315 had a redundant inset grid under the content. The overlay above is the
   single visible grid now, avoiding uneven/double-strength lines. */

/* The range was optically ~1px high at the minimum desktop density. */

/* v316.1 visible-grid hard stop. Historical pseudo-elements on empty/date
   cells used `content:none !important`; beat them explicitly so every single
   timetable cell has a visible edge. Native collapsed borders remain in the
   layout but are transparent; the overlay is the one visual grid everywhere. */

/* Header separators are painted with the same inside-edge convention as the
   body overlay, so the lines themselves (not just element centres) coincide. */


/* ========================================================================
   v317 production QA hardening
   ======================================================================== */
:root { --schedule-grid-v317: #bfd0e2; }
html[data-theme="dark"] { --schedule-grid-v317: #435a74; }

/* One real grid model. v316 drew separators with inset pseudo-elements, which
   made empty-cell edges appear *inside* the cells. Use native separated cell
   borders instead; the header geometry script reads these exact rectangles. */

/* Frozen day column in every table viewport. This is deliberately independent
   of phone/desktop and of the scale percentage, so horizontal scrolling never
   carries Monday/Tuesday off screen at 140% or any other density. */

/* Compact-header separators use the same physical right edge as their source
   cells. No inset line and no half-pixel compensation. */

/* Stop the week badge jitter in the transformed desktop header. Its containing
   track is static, so transition/translate effects have no useful role there. */

/* Compact desktop metadata: the menu lives at the far right of the viewport,
   so do not reserve its width inside the frozen first column. This fixes the
   20% "10403-13" collision and gives large-scale titles the full day track. */

/* List view: translator should have the same teacher-to-audience gap as an
   ordinary teacher. The third symmetric dummy track was the extra 16px gap. */

/* Subject-only rows are real lessons too: centre them vertically in the
   available list-row body instead of pinning the text to the top edge. */

/* Max-size phone list header: allocate space by content rather than giving the
   range a fixed, clipped third track. The menu remains outside the grid. */

/* The nearest/current marker in a subject-only table lesson must stay inside
   its host even at the 20% density. The old `50%-24px` placed it above the
   clipped host and only a crescent remained visible. */

/* Phone scrolling hot path: no decorative overflow layer, no smooth-scroll
   interpolation, compositor-friendly native pan. */

/* v317.1 small follow-up from rendered QA. */

/* v317.2 beat the legacy high-specificity subject-only marker rule. */

/* v317.3 rendered QA: the 140% phone list header still inherited an older
   85px right padding. Override that exact high-specificity branch so the full
   range "31 августа — 5 сентября" remains visible next to the menu. */

/* v317.4 optical centre of the desktop range beside the menu control. */

/* ========================================================================
   v331 visual QA: restore soft timetable chrome and compact-header stability.
   ======================================================================== */
:root {
  --schedule-grid-v316: var(--sv91-line, #d8e3ee);
  --schedule-grid-v317: var(--sv91-line, #d8e3ee);
  --schedule-mobile-grid: var(--sv91-line, #d8e3ee);
}
html[data-theme="dark"] {
  --schedule-grid-v316: var(--sv91-line, #2d4358);
  --schedule-grid-v317: var(--sv91-line, #2d4358);
  --schedule-mobile-grid: var(--sv91-line, #2d4358);
}

/* v293-like quiet grid: the first two orientation rows and the frozen day
   column are visually separated from lesson cells, without a heavy outline. */

/* Pair and time rows are orientation chrome, not lesson rows. Keep them at the
   compact height used by the earlier production table. */

/* Let the scroll viewport itself clip the lower table corners. This preserves
   horizontal scrolling while restoring the soft outer silhouette. */

/* Desktop compact teacher title: use the complete remainder of the frozen day
   track after the week badge. The JS variable already fits the longest token to
   that exact space; do not cap it again at the old .52rem value. */

/* ========================================================================
   v331.1 mobile normal-state restore.
   The compact smart strip exists only while the week is actually transformed.
   After scrolling back above the source header, the ordinary week header and
   the real Pair/Time rows must be visible again.
   ======================================================================== */

/* v331.2 mobile sticky geometry: source Pair/Time rows never leave layout.
   Compact mode merely overlays them after they have scrolled past; removing
   them changed the table's document height and made the sticky exit threshold
   depend on the state it was trying to compute. */


/* ========================================================================
   v331.7 final frame/sticky override.  This file is emitted after the shared
   schedule bundle, so it owns the final mobile normal-header positioning and
   the outer silhouette used by production pages.
   ======================================================================== */


/* ========================================================================
   v331.8 exact v293 frame + mobile overflow indicator + symmetric header inset.
   The card itself owns the outer border.  Cells draw only the internal grid,
   exactly like v293, so the first/last row can no longer double the frame.
   ======================================================================== */

/* ========================================================================
   v331.9 / release 325: final transformed-header one-pixel grid.
   This product layer is appended after the shared schedule bundle, so keep the
   final ownership here as well: one surface, one border per separator, exact
   alignment to JS-measured table-cell boundaries.
   ======================================================================== */


/* ========================================================================
   v331.15 release 326: compact-row + transformed-header hardening.
   ======================================================================== */

/* ========================================================================
   v331.16 release 326: desktop normal-state header restore.
   Sticky geometry must never leak back into the ordinary week header after
   the transformed header is released.
   ======================================================================== */



/* ========================================================================
   v385 mobile site-header restore.
   Return to the proven v377 two-line wordmark geometry. College/year plaques
   retain their normal SVG dimensions; only on genuinely tiny viewports is the
   complete wordmark group scaled as one unit, preserving visual symmetry.
   ======================================================================== */
@media (max-width:575.98px){
  html body:has(.header-badges .college_title)>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner#site-header-inner .header-badges{
    transform:none!important;scale:none!important;margin-left:0!important
  }
  html body:has(.header-badges .college_title)>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner#site-header-inner .header-badges .college_title,
  html body:has(.header-badges .college_title)>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner#site-header-inner .header-badges .study_year,
  html body:has(.header-badges .college_title)>.container>header.row.code1>#site-header-inner#site-header-inner#site-header-inner#site-header-inner .header-badges .header-badge-svg{
    transform:none!important;scale:none!important
  }
}
/* === /v385 mobile site-header restore === */

/* v388: current/nearest day cells use normal flow. Legacy .date centering leaves
   translateY(-50%) behind when JS switches .date from absolute to relative;
   that moved the whole date/status group into the previous row. Reset every
   positioning component for status-bearing day cells. */

/* v394 College badge optical spacing. SVG plaques contain ~2px more combined
   edge whitespace between plaques than the wordmark-to-first-plaque boundary,
   so the inner gap is reduced by 2px to make the visible gaps equal. */
html body:has(.header-badges .college_title) .site-title-brandline{
  gap:7px!important;
}
html body:has(.header-badges .college_title) .header-badges{
  gap:5px!important;
  column-gap:5px!important;
}


/* === v397 document metadata alignment ===
   File type is part of the document-icon group (type · size), while the
   clock remains a separate metadata item. Every glyph/text pair shares the
   same 14px line box so SVG baselines cannot drift vertically. */
html body.page-telemost .telemost-guide-download__meta {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:4px 10px!important;
  min-width:0!important;
  line-height:14px!important;
}
html body.page-telemost .telemost-guide-download__meta-item {
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  min-height:14px!important;
  line-height:14px!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}
html body.page-telemost .telemost-guide-download__meta-item > span {
  display:inline-flex!important;
  align-items:center!important;
  min-height:14px!important;
  line-height:14px!important;
}
html body.page-telemost .telemost-guide-download__meta-icon {
  display:block!important;
  align-self:center!important;
  width:12px!important;
  height:12px!important;
  flex:0 0 12px!important;
  margin:0!important;
  transform:none!important;
  translate:none!important;
  vertical-align:middle!important;
}
html body.page-telemost .telemost-guide-download__file {
  gap:4px!important;
}
html body.page-telemost .telemost-guide-download__type {
  min-height:14px!important;
  padding:0!important;
  font-size:inherit!important;
  line-height:14px!important;
}
html body.page-telemost .telemost-guide-download__type::after {
  content:"·"!important;
  display:inline!important;
  margin-left:4px!important;
  font-weight:700!important;
  opacity:.65!important;
}
html body.page-telemost .telemost-guide-download__size-value {
  min-height:14px!important;
  line-height:14px!important;
}

.pdf-section .pdf-link-meta {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:4px 10px!important;
  min-width:0!important;
  line-height:14px!important;
}
.pdf-section .pdf-meta-item {
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  min-height:14px!important;
  line-height:14px!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}
.pdf-section .pdf-meta-item > span {
  display:inline-flex!important;
  align-items:center!important;
  min-height:14px!important;
  line-height:14px!important;
}
.pdf-section .pdf-meta-icon {
  display:block!important;
  align-self:center!important;
  width:12px!important;
  height:12px!important;
  flex:0 0 12px!important;
  margin:0!important;
  transform:none!important;
  translate:none!important;
  vertical-align:middle!important;
}
.pdf-section .pdf-meta-file {
  gap:4px!important;
}
.pdf-section .pdf-meta-type {
  min-height:14px!important;
  padding:0!important;
  font-size:inherit!important;
  line-height:14px!important;
}
.pdf-section .pdf-meta-type::after {
  content:"·"!important;
  display:inline!important;
  margin-left:4px!important;
  font-weight:700!important;
  opacity:.65!important;
}
.pdf-section .pdf-meta-size-value {
  min-height:14px!important;
  line-height:14px!important;
}
/* The metadata now owns the file type; keep the right edge as the same
   bare animated download glyph used by Telemost rather than a stale capsule. */
.pdf-section .pdf-download-info {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 28px!important;
  width:28px!important;
  min-width:28px!important;
  height:30px!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.pdf-section .pdf-download-link:hover .pdf-download-info,
.pdf-section .pdf-download-link:focus .pdf-download-info,
.pdf-section .pdf-download-link:focus-visible .pdf-download-info {
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
@media (max-width:575.98px) {
  html body.page-telemost .telemost-guide-download__meta,
  .pdf-section .pdf-link-meta {
    line-height:13px!important;
  }
  html body.page-telemost .telemost-guide-download__meta-item,
  html body.page-telemost .telemost-guide-download__meta-item > span,
  html body.page-telemost .telemost-guide-download__type,
  html body.page-telemost .telemost-guide-download__size-value,
  .pdf-section .pdf-meta-item,
  .pdf-section .pdf-meta-item > span,
  .pdf-section .pdf-meta-type,
  .pdf-section .pdf-meta-size-value {
    min-height:13px!important;
    line-height:13px!important;
  }
  html body.page-telemost .telemost-guide-download__meta-icon,
  .pdf-section .pdf-meta-icon {
    width:11px!important;
    height:11px!important;
    flex-basis:11px!important;
  }
}
/* === /v397 document metadata alignment === */


/* ========================================================================
   v398 document metadata optical alignment.
   The file icon, PDF token, separator and size read as one compact document
   unit.  SVG viewBox whitespace is compensated optically so PDF sits next to
   the visible document glyph rather than next to its invisible box edge.
   ======================================================================== */
html body.page-telemost .telemost-guide-download__meta,
.pdf-section .pdf-link-meta{
  gap:3px 9px!important;
  line-height:13px!important;
}
html body.page-telemost .telemost-guide-download__meta-item,
.pdf-section .pdf-meta-item{
  min-height:13px!important;
  height:13px!important;
  line-height:13px!important;
  align-items:center!important;
}
html body.page-telemost .telemost-guide-download__meta-item > span,
.pdf-section .pdf-meta-item > span{
  min-height:13px!important;
  height:13px!important;
  line-height:13px!important;
  align-items:center!important;
}
html body.page-telemost .telemost-guide-download__file,
.pdf-section .pdf-meta-file{
  gap:1px!important;
}
html body.page-telemost .telemost-guide-download__file > .telemost-guide-download__meta-icon,
.pdf-section .pdf-meta-file > .pdf-meta-icon{
  width:12px!important;
  height:12px!important;
  flex-basis:12px!important;
  margin-right:-2px!important;
}
html body.page-telemost .telemost-guide-download__type,
.pdf-section .pdf-meta-type,
html body.page-telemost .telemost-guide-download__size-value,
.pdf-section .pdf-meta-size-value{
  min-height:13px!important;
  height:13px!important;
  line-height:13px!important;
  display:inline-flex!important;
  align-items:center!important;
}
html body.page-telemost .telemost-guide-download__type::after,
.pdf-section .pdf-meta-type::after{
  margin-left:3px!important;
  margin-right:1px!important;
}
@media (max-width:575.98px){
  html body.page-telemost .telemost-guide-download__meta,
  .pdf-section .pdf-link-meta,
  html body.page-telemost .telemost-guide-download__meta-item,
  html body.page-telemost .telemost-guide-download__meta-item > span,
  .pdf-section .pdf-meta-item,
  .pdf-section .pdf-meta-item > span,
  html body.page-telemost .telemost-guide-download__type,
  html body.page-telemost .telemost-guide-download__size-value,
  .pdf-section .pdf-meta-type,
  .pdf-section .pdf-meta-size-value{
    line-height:12.5px!important;
    min-height:12.5px!important;
    height:12.5px!important;
  }
  html body.page-telemost .telemost-guide-download__file > .telemost-guide-download__meta-icon,
  .pdf-section .pdf-meta-file > .pdf-meta-icon{
    width:11px!important;
    height:11px!important;
    flex-basis:11px!important;
    margin-right:-2px!important;
  }
}
/* === /v398 document metadata optical alignment === */


/* ========================================================================
   v399 document-meta rhythm.
   The document icon -> PDF gap now uses the same 4px optical rhythm as the
   clock icon -> date pair. Keep a common 13px text box and 12px glyph box so
   every metadata token shares one visual centre without crowding the icon.
   ======================================================================== */
html body.page-telemost .telemost-guide-download__file,
.pdf-section .pdf-meta-file{
  gap:4px!important;
}
html body.page-telemost .telemost-guide-download__file > .telemost-guide-download__meta-icon,
.pdf-section .pdf-meta-file > .pdf-meta-icon{
  width:12px!important;
  height:12px!important;
  flex:0 0 12px!important;
  margin:0!important;
  transform:none!important;
}
html body.page-telemost .telemost-guide-download__type,
.pdf-section .pdf-meta-type,
html body.page-telemost .telemost-guide-download__size-value,
.pdf-section .pdf-meta-size-value{
  min-height:13px!important;
  height:13px!important;
  line-height:13px!important;
  align-items:center!important;
}
html body.page-telemost .telemost-guide-download__type::after,
.pdf-section .pdf-meta-type::after{
  margin-left:3px!important;
  margin-right:0!important;
}
@media (max-width:575.98px){
  html body.page-telemost .telemost-guide-download__file > .telemost-guide-download__meta-icon,
  .pdf-section .pdf-meta-file > .pdf-meta-icon{
    width:11px!important;
    height:11px!important;
    flex-basis:11px!important;
    margin:0!important;
  }
}
/* === /v399 document-meta rhythm === */
