/* =========================================================
   WordPress content: blog posts, pages made in the editor, archives, search, comments.
   Loaded only there, after css/wp.min.css (the site styles those templates use).
   The site's own pages (pages/*.php) never load this file.
   ========================================================= */

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

/* ---- Post body ---- */
.wp-prose { max-width: 760px; }
.wp-prose > * + * { margin-top: 1.1em; }
.wp-prose h2 { margin-top: 1.8em; }
.wp-prose h3 { margin-top: 1.5em; }
.wp-prose h4, .wp-prose h5, .wp-prose h6 { margin-top: 1.4em; font-weight: 600; color: var(--fg); }
.wp-prose img, .wp-prose video, .wp-prose iframe { max-width: 100%; height: auto; border-radius: var(--radius-md); }
.wp-prose iframe { width: 100%; aspect-ratio: 16 / 9; }
.wp-prose__media img { width: 100%; }
.wp-prose figure { margin-inline: 0; }
.wp-prose figcaption, .wp-caption-text { margin-top: 8px; font-size: .875rem; color: var(--fg-3); text-align: center; }
.wp-prose blockquote {
  padding-left: 1.25em;
  border-left: 3px solid var(--accent);
  font-family: var(--font-display);
  font-size: 1.375rem; line-height: 1.45;
  color: var(--fg);
}
.wp-prose blockquote cite { display: block; margin-top: .6em; font-family: var(--font-sans); font-size: .875rem; font-style: normal; color: var(--fg-3); }
.wp-prose code {
  padding: .12em .4em;
  border-radius: 6px;
  background: var(--surface-ink-2);
  font-family: var(--font-mono); font-size: .875em;
}
.wp-prose pre {
  overflow-x: auto;
  padding: 18px 20px;
  border-radius: var(--radius-md);
  background: var(--dark); color: var(--light);
  font-family: var(--font-mono); font-size: .875rem; line-height: 1.6;
}
.wp-prose pre code { padding: 0; background: none; font-size: inherit; color: inherit; }
.wp-prose table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.wp-prose th, .wp-prose td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.wp-prose th { font-weight: 600; color: var(--fg); }
.wp-prose hr { border: 0; border-top: 1px solid var(--line); margin-block: 2em; }
.wp-prose .alignleft { float: left; margin: .3em 1.5em 1em 0; max-width: 50%; }
.wp-prose .alignright { float: right; margin: .3em 0 1em 1.5em; max-width: 50%; }
.wp-prose .aligncenter { margin-inline: auto; text-align: center; }
.wp-prose .alignwide, .wp-prose .alignfull { max-width: none; }
.wp-prose::after { content: ""; display: table; clear: both; }
.wp-prose .wp-block-button__link {
  display: inline-flex; align-items: center;
  height: 48px; padding: 0 26px;
  border-radius: var(--radius-pill);
  background: var(--accent); color: var(--accent-ink);
  font-weight: 600; text-decoration: none;
}
.wp-prose .wp-block-button__link:hover { background: var(--accent-hover); }
.wp-pages { display: flex; flex-wrap: wrap; gap: 8px; font-weight: 600; }
.wp-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.wp-tags a { padding: 4px 12px; border: 1px solid var(--line); border-radius: var(--radius-pill); font-size: .875rem; text-decoration: none; }

/* ---- Post lists ---- */
.wp-list { display: grid; gap: var(--gap-grid); grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.wp-card {
  display: flex; flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  transition: border-color var(--dur-fast), transform var(--dur-base) var(--ease-out);
}
.wp-card:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.wp-card__media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.wp-card__body { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 26px; }
.wp-card__meta { font-size: .8125rem; font-weight: 500; color: var(--fg-3); }
.wp-card__title { font-family: var(--font-display); font-size: 1.5rem; line-height: 1.15; letter-spacing: -.015em; }
.wp-card__title a { color: var(--fg); }
.wp-card__title a::after { content: ""; position: absolute; inset: 0; }
.wp-card { position: relative; }
.wp-card__excerpt { font-size: .9375rem; line-height: 1.6; color: var(--fg-2); }

.pagination { margin-top: clamp(2rem, 4vw, 3rem); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px; padding: 0 14px;
  border: 1px solid var(--line); border-radius: var(--radius-pill);
  background: #fff; font-size: .9375rem; font-weight: 600; color: var(--fg-2);
}
.pagination .page-numbers.current { background: var(--dark); border-color: var(--dark); color: var(--light); }
.pagination a.page-numbers:hover { border-color: var(--fg); color: var(--fg); }
.wp-empty { max-width: 640px; }

/* ---- Search form ---- */
.wp-search { margin-top: 24px; max-width: 560px; }
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.search-field, .wp-comments input[type="text"], .wp-comments input[type="email"], .wp-comments input[type="url"], .wp-comments textarea {
  width: 100%;
  padding: 0 18px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-md);
  background: #fff;
  font: inherit; font-size: 1rem; color: var(--fg);
}
.search-field { height: 48px; border-radius: var(--radius-pill); }
.search-field:focus, .wp-comments input:focus, .wp-comments textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.search-submit {
  height: 48px; padding: 0 24px;
  border: 0; border-radius: var(--radius-pill);
  background: var(--dark); color: var(--light);
  font: inherit; font-weight: 600; cursor: pointer;
}

/* ---- Comments ---- */
.wp-comments { max-width: 760px; margin-top: clamp(3rem, 6vw, 4.5rem); padding-top: 2rem; border-top: 1px solid var(--line); }
.wp-comments .wp-comments__list { display: grid; gap: 1.75em; list-style: none; padding: 0; }
.wp-comments .children { display: grid; gap: 1.5em; margin-top: 1.5em; padding-left: 1.5em; border-left: 1px solid var(--line); list-style: none; }
.wp-comments .wp-comments__list li, .wp-comments .children li { padding-left: 0; }
.wp-comments .wp-comments__list li::marker { content: none; }
.wp-comments .comment-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; font-size: .875rem; color: var(--fg-3); }
.wp-comments .comment-author { display: flex; align-items: center; gap: 10px; font-size: .9375rem; font-weight: 600; color: var(--fg); }
.wp-comments .comment-author .says { display: none; }
.wp-comments .comment-metadata a { color: var(--fg-3); text-decoration: none; }
.wp-comments .avatar { border-radius: 50%; }
.wp-comments .comment-content { margin-top: .5em; }
.wp-comments .reply { margin-top: .4em; font-size: .875rem; }
.wp-comments textarea { padding-block: 12px; min-height: 140px; }
.wp-comments input[type="text"], .wp-comments input[type="email"], .wp-comments input[type="url"] { height: 46px; }
.wp-comments label { display: block; margin-bottom: 6px; font-size: .875rem; font-weight: 600; color: var(--fg); }
.wp-comments .comment-form > p + p { margin-top: 1em; }
.wp-comments .comment-form-cookies-consent { display: flex; gap: 8px; align-items: baseline; }
.wp-comments .comment-form-cookies-consent label { display: inline; font-weight: 400; }
.wp-comments .form-submit .btn { border: 0; cursor: pointer; }
.wp-comments ul li { padding-left: 0; }
.wp-comments ul li::before, .wp-comments__list li::before { content: none; }

/* ---- WordPress's own classes ---- */
.sticky .wp-card__meta::before { content: "Featured · "; color: var(--accent-text); font-weight: 600; }
.bypostauthor > .comment-body .comment-author .fn::after { content: " · Author"; font-weight: 500; color: var(--accent-text); }
.wp-caption { max-width: 100%; }
.gallery-caption { margin-top: 6px; font-size: .8125rem; color: var(--fg-3); }

/* ---- Pages built with Elementor: the builder owns the layout ---- */
.wp-builder { display: block; }
