/* ==========================================================
   FINE STAFF Blog — styles for WordPress output
   (article body, sidebar, pagination). Tailwind's preflight
   resets headings/lists, so the article typography lives here.
   ========================================================== */

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

/* Logged-in admin bar: push the fixed header/menu down */
.admin-bar .fs-header,
.admin-bar .fs-hamburger,
.admin-bar .fs-drawer { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .fs-header,
  .admin-bar .fs-hamburger,
  .admin-bar .fs-drawer { top: 46px; }
}
.admin-bar .fs-page-header { margin-top: 0; }

/* ---------- Article body ---------- */
.fs-entry { font-size: 16px; line-height: 1.85; color: #333; overflow-wrap: anywhere; }
.fs-entry > * + * { margin-top: 1.5em; }
.fs-entry p { margin-bottom: 0; }
.fs-entry h2 {
  margin: 2.75em 0 1.25em;
  padding: .7em .9em;
  font-size: 1.375rem; font-weight: 700; line-height: 1.5;
  background: #f2fafe;
  border-top: 2px solid #00a0e9;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.fs-entry h3 {
  margin: 2em 0 .9em;
  padding: 0 0 .5em .75em;
  font-size: 1.15rem; font-weight: 700; line-height: 1.5;
  border-left: 4px solid #00a0e9;
  border-bottom: 1px solid rgba(0, 0, 0, .12);
}
.fs-entry h4 { margin: 1.75em 0 .75em; font-size: 1.05rem; font-weight: 700; color: #0081cc; }
.fs-entry h5, .fs-entry h6 { margin: 1.5em 0 .5em; font-weight: 700; }
@media (min-width: 768px) {
  .fs-entry h2 { font-size: 1.45rem; }
  .fs-entry h3 { font-size: 1.15rem; }
}
.fs-entry a { color: #0081cc; text-decoration: underline; text-underline-offset: 2px; }
.fs-entry a:hover { color: #00a0e9; }
.fs-entry strong, .fs-entry b { font-weight: 700; }
.fs-entry em { font-style: italic; }
.fs-entry ul, .fs-entry ol { padding-left: 1.5em; }
.fs-entry ul { list-style: disc; }
.fs-entry ol { list-style: decimal; }
.fs-entry li { margin: .4em 0; }
.fs-entry li > ul, .fs-entry li > ol { margin-top: .4em; }
.fs-entry img { max-width: 100%; height: auto; }
.fs-entry figure { margin: 2em 0; }
.fs-entry figcaption, .fs-entry .wp-element-caption { margin-top: .5em; font-size: .85em; color: #777; text-align: center; }
.fs-entry blockquote {
  margin: 2em 0; padding: 1em 1.25em;
  background: #f7f7f7; border-left: 4px solid #ccc; color: #555;
}
.fs-entry hr { margin: 2.5em 0; border: 0; border-top: 1px solid #ddd; }
.fs-entry code { padding: .1em .35em; background: #f3f3f3; border-radius: 3px; font-size: .9em; }
.fs-entry pre { padding: 1em; background: #f3f3f3; overflow-x: auto; font-size: .9em; }

/* tables (scroll sideways on phones) */
.fs-entry .wp-block-table { overflow-x: auto; }
.fs-entry table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.7; }
.fs-entry th, .fs-entry td { padding: 10px; border: 1px solid #dcdcdc; vertical-align: top; }
.fs-entry th { background: #f2fafe; font-weight: 700; text-align: left; }
.fs-entry thead th { background: #00a0e9; color: #fff; }
/* every table is wrapped in .fs-table-scroll by functions.php → scrolls sideways on phones */
.fs-table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fs-entry div, .fs-entry section, .fs-entry article { max-width: 100%; }

/* core blocks */
.fs-entry .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.fs-entry .alignleft { float: left; margin: .3em 1.5em 1em 0; }
.fs-entry .alignright { float: right; margin: .3em 0 1em 1.5em; }
.fs-entry::after { content: ""; display: table; clear: both; }
.fs-entry .wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75em; }
.fs-entry .wp-block-button__link {
  display: inline-block; padding: .7em 1.8em; border-radius: 999px;
  background: #00a0e9; color: #fff; text-decoration: none; font-weight: 700;
}
.fs-entry .wp-block-button__link:hover { color: #fff; opacity: .85; }
.fs-entry .wp-block-columns { display: flex; flex-wrap: wrap; gap: 2em; }
.fs-entry .wp-block-column { flex: 1 1 240px; min-width: 0; }
.fs-entry .wp-block-embed iframe, .fs-entry iframe { max-width: 100%; }
.fs-entry .has-text-align-center { text-align: center; }
.fs-entry .has-text-align-right { text-align: right; }

/* ---------- Sidebar ---------- */
.fs-widget__title { margin-bottom: .75em; padding-bottom: .4em; font-size: 15px; font-weight: 700; border-bottom: 2px solid #00a0e9; }
.fs-cat-list li, .fs-widget ul li { list-style: none; }
.fs-cat-list a, .fs-widget ul a {
  display: block;
  padding: 9.8px 0 9.8px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
  font-size: 14px; color: #666;
  transition: color .2s, background-color .2s;
}
.fs-cat-list a:hover, .fs-widget ul a:hover { color: #00a0e9; background: #f7fcff; }
.fs-cat-list .current-cat > a { color: #00a0e9; font-weight: 700; }
.fs-cat-list .children { padding-left: 1em; }

/* ---------- Pagination ---------- */
.fs-pagination { margin-top: 40px; }
.fs-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.fs-pagination .page-numbers {
  display: inline-grid; place-items: center;
  min-width: 40px; height: 40px; padding: 0 .5em;
  border: 1px solid #00a0e9; border-radius: 999px;
  color: #00a0e9; font-weight: 700; font-size: 14px;
  transition: all .2s;
}
.fs-pagination a.page-numbers:hover,
.fs-pagination .page-numbers.current { background: #00a0e9; color: #fff; }
.fs-pagination .page-numbers.dots { border-color: transparent; }

/* ---------- Cards ---------- */
.fs-card__img:hover img { transform: scale(1.04); }
