/* passion-don.org — responsive and accessibility layer.
   Desktop rendering is unchanged; rules below only add navigation cues and
   adapt the fixed 800–1050px table layouts on narrow screens. */

/* Section headings on the home page: show open/closed state (menu.js sets aria-expanded) */
.razdel[aria-expanded]::after { content: " \25BE"; font-size: 85%; color: #888; }
.razdel[aria-expanded="true"]::after { content: " \25B4"; }
.razdel:focus-visible { outline: 2px solid #666; outline-offset: 2px; }

/* Citation line and site footer added by scripts/build-pages.mjs */
.site-cite { font-family: "Times New Roman", Times, serif; font-size: 9pt; color: #666; text-align: left; text-indent: 0; margin: 24px 20px 8px; line-height: 130%; }
.site-cite a { color: #666; }

/* Search page / search box */
.site-search { font-family: Arial, Helvetica, sans-serif; font-size: 9pt; }
.site-search input[type="search"] { font: inherit; padding: 3px 6px; border: 1px solid #999; width: 160px; max-width: 100%; }
.site-search button { font: inherit; padding: 3px 8px; border: 1px solid #999; background: #f4f4f4; cursor: pointer; }

img { max-width: 100%; }

@media (max-width: 760px) {
  html { -webkit-text-size-adjust: 100%; }
  body { margin: 0; padding: 0 12px; }
  img { height: auto; }
  /* Fixed-width table layouts collapse to the viewport */
  table[width], td[width], th[width] { width: auto !important; }
  table { max-width: 100% !important; }
  td, th { display: block; width: auto !important; }
  tr { display: block; }
  td[class$="-line"], td[style*="lline"], td[style*="rline"] { display: none; }
  /* Home page columns (inline styles) */
  div[style*="width: 1050px"], div[style*="width: 300px"], div[style*="width: 700px"] { width: auto !important; height: auto !important; float: none !important; padding-left: 0 !important; padding-right: 0 !important; }
  div[style*="float: left"] { float: none !important; }
  div[style*="float: right"] { float: none !important; }
  .book, .content, .oldstile { width: auto !important; }
  .limit { margin: 0 4px !important; }
  h1 { margin-left: 0 !important; margin-right: 0 !important; font-size: 18pt !important; letter-spacing: 1pt !important; }
  p { text-align: left; text-indent: 1em; }
  pre { white-space: pre-wrap; }
  iframe, video, object { max-width: 100%; }
  .site-search input[type="search"] { width: 100%; box-sizing: border-box; margin-bottom: 6px; }
}

@media (max-width: 480px) {
  h1 { font-size: 14pt !important; letter-spacing: 0 !important; }
}
