/* ==========================================================================
   WordPress glue.
   The design lives in style.css, which is the static site's stylesheet
   verbatim. This file only styles markup that WordPress or its plugins
   generate and the static site never had.
   ========================================================================== */

[hidden]{display:none !important}

/* ---------- Links typed into editor copy ---------- */
.info-block .body a:not(.btn),
.bullets a,
.empty-state a,
.prose a{color:var(--brand);font-weight:600}

/* ---------- Free-form copy (Text block section, posts, policy pages) ---------- */
.prose{color:var(--ink-2);font-size:1.03rem}
.prose > * + *{margin-top:18px}
.prose h2,.prose h3,.prose h4{color:var(--ink)}
.prose h2{font-size:clamp(1.5rem,2.4vw,2.1rem);margin-top:44px}
.prose h3{font-size:clamp(1.25rem,1.7vw,1.6rem);margin-top:34px}
.prose ul,.prose ol{padding-left:1.3em;list-style:revert}
.prose li + li{margin-top:8px}
.prose img{height:auto;border-radius:var(--radius-lg)}
.prose blockquote{margin-inline:0;padding-left:20px;border-left:2px solid var(--sage)}
.prose .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.prose .page-numbers{padding:10px 16px;border:1.5px solid var(--line-2);border-radius:var(--radius-sm);
  font-size:.9rem;color:var(--ink-2)}
.prose .page-numbers.current{background:var(--sage);border-color:var(--sage);color:var(--ink)}

/* ---------- Contact Form 7: contact form ---------- */
/* CF7 wraps each control in a span and prints its own error tip inside it;
   the tip takes the place of the static site's .msg line. */
.field .wpcf7-form-control-wrap,
.field .wpcf7-form-control{display:block}
.field .wpcf7-not-valid{border-color:var(--error)}
.field .wpcf7-not-valid-tip{margin-top:9px;font-size:.8rem;font-weight:400;color:var(--error)}
.field:has(.wpcf7-not-valid-tip) .msg{display:none}

/* CF7's response line, dressed as .form-status */
.wpcf7 form.wpcf7-form .wpcf7-response-output{
  margin:20px 0 0;padding:16px 20px;border-radius:var(--radius);
  border:1.5px solid var(--sage-deep);background:var(--sage-tint);color:var(--ink);
  font-size:.93rem;font-weight:600
}
.wpcf7 form.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7 form.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7 form.wpcf7-form.failed .wpcf7-response-output,
.wpcf7 form.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7 form.wpcf7-form.spam .wpcf7-response-output{
  border-color:var(--error);background:var(--white);color:var(--error)
}

/* ---------- Contact Form 7: footer newsletter ---------- */
.nl-form .wpcf7-form-control-wrap{flex:1;min-width:250px}
.nl-form .wpcf7-form-control-wrap input{width:100%;min-width:0}
.nl-form .wpcf7-not-valid-tip{display:none}   /* the border carries it, as on the static site */
.footer-newsletter .nl-form input.wpcf7-not-valid{border-color:#E8837C}
.footer-newsletter .wpcf7 form.wpcf7-form .wpcf7-response-output{
  flex-basis:100%;margin-top:4px;
  background:rgba(255,255,255,.07);border-color:var(--sage);color:#fff
}
@media(max-width:720px){
  .footer-newsletter .nl-form .wpcf7-form-control-wrap{display:block;min-width:0}
}

/* ---------- Logged-in toolbar: sticky bars sit below it ---------- */
.admin-bar .site-header{top:32px}
.admin-bar .doc-toolbar,
.admin-bar .res-nav{top:calc(var(--header-h) + 32px)}
.admin-bar .res-side{top:calc(var(--header-h) + 132px)}
@media screen and (max-width:782px){
  .admin-bar .site-header{top:46px}
  .admin-bar .doc-toolbar,
  .admin-bar .res-nav{top:calc(var(--header-h) + 46px)}
}
@media screen and (max-width:600px){
  .admin-bar .site-header{top:0}
  .admin-bar .doc-toolbar,
  .admin-bar .res-nav{top:var(--header-h)}
}
