/* WordPress shell adjustments */

body.admin-bar .site-header {
  top: 32px;
}

.site-main {
  min-height: 40vh;
}

.st-entry-header {
  padding: 64px 0 8px;
}

.st-entry-header h1 {
  margin-bottom: 12px;
}

.st-page-content {
  padding-bottom: 72px;
}

.st-page-content > * {
  max-width: 820px;
  margin-inline: auto;
}

.st-page-content > .elementor {
  max-width: none;
}

.st-blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  padding-block: 40px 88px;
}

.st-blog-card {
  padding: 28px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
}

.st-blog-card h2 {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.st-blog-card h2 a {
  text-decoration: none;
}

.st-blog-card h2 a:hover {
  color: var(--teal);
}

.st-blog-meta {
  font-size: .8rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--clay);
  font-weight: 700;
  margin-bottom: 8px;
}

.st-blog-actions {
  margin-top: 18px;
}

.st-404 {
  padding: 108px 0 120px;
  text-align: center;
}

.st-404 h1 {
  font-size: clamp(4rem, 12vw, 8rem);
  color: var(--teal);
  margin-bottom: 12px;
}

.st-404 p {
  max-width: 46ch;
  margin: 0 auto 28px;
  color: var(--muted);
}

.st-404-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.alignwide {
  max-width: 1180px;
}

.alignfull {
  max-width: none;
}

.wp-caption,
.wp-caption-text,
.gallery-caption {
  font-size: .88rem;
  color: var(--muted);
}

.sticky {
  position: relative;
}

.bypostauthor {
  position: relative;
}

@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px;
  }
}

@media (max-width: 720px) {
  .st-blog-grid {
    grid-template-columns: 1fr;
  }
}

/* Honeypot anti-spam field: must never be visible */
.seva-hp,
p.seva-hp {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Donation card on the dark teal section: readable labels, compact form */
.donate-card .form { gap: 14px; margin-top: 18px; }
.donate-card .field label { color: #DCE9E5; font-weight: 600; }
.donate-card .field label span[aria-hidden="true"] { color: var(--gold); }
.donate-card .amount-impact { margin: 16px 0 4px; }
.donate-card .seva-donation-custom { margin-top: 6px; }
.donate-card .btn-full { width: 100%; justify-content: center; margin-top: 4px; }
.donate-card .form-status { color: #DCE9E5; min-height: 0; }
.donate-card .form-status.is-error { color: #FFB4A2; }
.donate-card .form-status.is-ok { color: #9FE3C2; }
.donate-card .donate-fine { margin-top: 6px; }
.donate-card .seva-admin-hint a { color: var(--gold); }
.donate-grid { align-items: start; }
.donate-copy { padding-top: 8px; }
@media (min-width: 981px) {
  .donate-copy { position: sticky; top: 120px; }
}
