/* ChiefNet overrides on top of the template CSS. */

/* chiefsoft.net only publishes a full-colour logo — render it white on dark backgrounds. */
img.logo-on-dark {
  filter: brightness(0) invert(1);
}

/* The ChiefSoft logo (502x160, badge + two-line wordmark) reads too small at
   the template's 35px logo cap — give it more height in header and footer. */
.desktoplogo img,
.smllogo img {
  max-height: 52px !important;
}

img.footer-logo {
  max-height: 56px;
}

/* Blog feed images come in mixed sizes — crop them to one shape like the
   template's sample images. */
.blog-post-img img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

/* ---- Article body (blog post HTML from WordPress) -------------------------
   The template only styles its own article markup; these cover the plain
   tags the Chiefsoft blog posts use. */
.single-post-txt {
  padding-bottom: 60px;
  margin-bottom: 50px;
  border-bottom: 1px solid var(--silver);
}
.post-body {
  overflow-wrap: break-word;
}
.post-body h2,
.post-body h3,
.post-body h4 {
  color: var(--header-color);
  font-family: var(--main-font);
  margin: 40px 0 18px;
}
.post-body h2 { font-size: 1.85rem; }
.post-body h3 { font-size: 1.45rem; }
.post-body h4 { font-size: 1.2rem; }
.post-body ul,
.post-body ol {
  padding-left: 1.5rem;
  margin: 0 0 25px;
}
.post-body ul { list-style: disc; }
.post-body ol { list-style: decimal; }
.post-body li {
  margin-bottom: 8px;
}
.post-body li p {
  margin-bottom: 0;
}
.post-body a {
  color: var(--purple);
  text-decoration: underline;
}
.post-body strong {
  color: var(--header-color);
}
.post-body hr {
  margin: 40px 0;
  border-color: var(--silver);
  opacity: 1;
}
.post-body figure {
  margin: 35px 0;
  text-align: center;
}
.post-body img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}
.post-body figcaption {
  font-size: 0.9rem;
  margin-top: 10px;
}
.post-body iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 12px;
}
.post-body blockquote {
  border-left: 4px solid var(--purple);
  padding: 4px 0 4px 22px;
  margin: 30px 0;
  font-style: italic;
}
.post-body pre {
  background: #f5f5f9;
  border-radius: 10px;
  padding: 18px 20px;
  margin: 0 0 25px;
  overflow-x: auto;
  font-size: 0.9rem;
  white-space: pre;
}
.post-body table {
  width: 100%;
  margin: 0 0 30px;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.post-body th,
.post-body td {
  border: 1px solid var(--silver);
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
}
.post-body th {
  background: #f5f5f9;
  color: var(--header-color);
}
.post-nav-links {
  margin-top: 0;
}

/* ---- Newsletter form ------------------------------------------------------ */
/* The template colours every notification red; successes get green. */
.newsletter-section .form-notification.success {
  color: var(--green);
}
/* Honeypot field (components/Newsletter.tsx) — off-screen, not display:none,
   so naive bots still see and fill it. */
.newsletter-form .hp-field {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ---- Client login (/projects) ---------------------------------------------- */
.register-page-logo img {
  max-height: 52px;
}
.client-login-message {
  margin: 4px 0 18px;
  padding: 12px 16px;
  border-radius: 8px;
  background: rgba(252, 47, 75, 0.08);
  color: #c81e3a;
  font-size: 0.95rem;
  line-height: 1.5;
}
.client-login-message.is-ok {
  background: rgba(15, 188, 73, 0.1);
  color: #0c8a37;
}
.login-2 .reset-password-link p {
  line-height: 1.5;
}
.client-login-home {
  margin-top: 28px;
  text-align: center;
}
.client-login-home a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--header-color);
  font-weight: 600;
}
.client-login-home a:hover {
  color: var(--purple);
}
.client-login-home [class*="flaticon-"]:before {
  font-size: 0.85rem;
}
