/* ==========================================================================
   WordPress-only additions. Nothing here changes the approved design:
   every rule targets a state that does not exist on the static site
   (admin bar, optional settings that are off by default, hidden form fields).
   ========================================================================== */

/* Fixed header below the WordPress admin bar (logged-in users only) */
.admin-bar { --cm-adminbar: 32px; }
@media screen and (max-width: 782px) { .admin-bar { --cm-adminbar: 46px; } }
.admin-bar .site-header,
.has-announcement .site-header { top: calc(var(--cm-adminbar, 0px) + var(--cm-announce, 0px)); }
.admin-bar .mobile-menu { top: var(--cm-adminbar, 0px); }

/* Header "sticky" setting switched off: header scrolls away with the page */
.site-header.site-header--static { position: absolute; }

/* Optional announcement bar (Theme Settings → Header) */
.has-announcement { --cm-announce: 40px; }
.has-announcement body { padding-top: var(--cm-announce); }
.cm-announcement {
  position: fixed;
  top: var(--cm-adminbar, 0px);
  left: 0;
  right: 0;
  z-index: calc(var(--z-header, 50) + 1);
  height: var(--cm-announce, 40px);
  display: flex;
  align-items: center;
  background: var(--c-ink, #0b191b);
  color: #fff;
  font-size: 0.875rem;
  text-align: center;
}
.cm-announcement .container { width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Optional social profile links (Theme Settings → Social Media) */
.footer-social { list-style: none; margin: 1.25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; font-size: 0.9rem; }

/* Optional client photo inside the testimonial avatar */
.avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; display: block; }

/* Contact form: honeypot is off-screen and out of the grid flow */
.cm-hp { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px; height: 1px; overflow: hidden; }

/* Contact form: sending state */
.contact-form[aria-busy="true"] button[type="submit"] { opacity: 0.7; cursor: progress; }

/* Captcha widget (only when enabled) */
.contact-form .cf-turnstile { min-height: 65px; }

/* Content written in the classic editor (legal and default pages) */
.legal-article img { max-width: 100%; height: auto; }
.legal-article .alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.legal-article .alignright { float: right; margin: 0 0 1rem 1.5rem; }
.legal-article .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.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; }
