/* ============================================
   ORVOI Blog — additions layered on top of /css/style.css
   Kept separate so the main stylesheet stays untouched.
   ============================================ */

.post-list { display: flex; flex-direction: column; gap: 32px; }

.post-card { border-bottom: 1px solid var(--border); padding-bottom: 32px; }
.post-card:last-child { border-bottom: none; }

.post-card h2 { font-size: 1.5rem; margin-bottom: 6px; }
.post-card h2 a { text-decoration: none; color: var(--ink); }
.post-card h2 a:hover { color: var(--magenta); }

.post-meta {
  font-family: var(--font-display);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray);
  margin-bottom: 10px;
}

.post-excerpt { color: var(--gray); margin-bottom: 0; }

.post-content { font-size: 1.08rem; line-height: 1.75; }
.post-content h2, .post-content h3 { margin-top: 1.4em; }
.post-content img { border-radius: var(--radius); margin: 1.5em 0; }
.post-content a { color: var(--cyan); }
.post-content blockquote {
  margin: 1.5em 0;
  padding-left: 18px;
  border-left: 3px solid var(--amber);
  color: var(--gray);
}

.back-link {
  display: inline-block;
  margin-bottom: 24px;
  font-family: var(--font-display);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--cyan);
  text-decoration: none;
}
.back-link:hover { color: var(--amber); }

.empty-state { color: var(--gray); font-style: italic; }

/* ---------- admin ---------- */
.admin-shell { max-width: 820px; margin: 0 auto; padding: 48px 24px 80px; }

.admin-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  flex-wrap: wrap;
  gap: 12px;
}
.admin-bar h1 { font-size: 1.5rem; margin: 0; }

.admin-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
.admin-table th, .admin-table td {
  text-align: left;
  padding: 12px 8px;
  border-bottom: 1px solid var(--border);
  font-size: 0.92rem;
  vertical-align: top;
}
.admin-table th {
  font-family: var(--font-display);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gray);
}

.badge-draft, .badge-live {
  font-family: var(--font-display);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 7px;
  border-radius: var(--radius);
  white-space: nowrap;
}
.badge-draft { color: var(--magenta); border: 1px solid rgba(217, 38, 143, 0.4); }
.badge-live { color: var(--cyan); border: 1px solid rgba(14, 155, 184, 0.4); }

.admin-actions a { margin-right: 14px; font-size: 0.85rem; }
.admin-actions form { display: inline; }
.admin-actions button.linklike {
  background: none; border: none; padding: 0; cursor: pointer;
  font: inherit; color: var(--magenta); text-decoration: underline;
}

.login-shell { max-width: 380px; margin: 90px auto; padding: 0 24px; }

.flash-error {
  color: var(--magenta);
  font-family: var(--font-display);
  font-size: 0.85rem;
  margin-bottom: 18px;
}
.flash-success {
  color: var(--cyan);
  font-family: var(--font-display);
  font-size: 0.85rem;
  margin-bottom: 18px;
}

.checkbox-row { display: flex; align-items: center; gap: 10px; margin: -4px 0 20px; }
.checkbox-row input { width: auto; }
.checkbox-row label { margin-bottom: 0; }

.field-hint { font-size: 0.82rem; color: var(--gray); margin: -12px 0 18px; }

.admin-shell .btn { margin-right: 10px; }
