/* AUM Research — WordPress additions
   site.css is the approved design and is left untouched. This file adds only
   what WordPress brings: the Contact Form 7 form, the admin bar, and pages
   written in the editor (Privacy Policy etc.). */

/* ---------- Contact Form 7: match the design's form ---------- */

.wpcf7 .hidden-fields-container { display: none; }

/* Each control sits in a wrapper span: stack control and error message. */
.field .wpcf7-form-control-wrap { display: grid; gap: 8px; }

/* Field error (CF7 adds it under the invalid field) = .field-error */
.wpcf7 .field .wpcf7-not-valid-tip {
  font-family: var(--f-display); font-size: 0.8125rem; font-weight: 400; color: #B3261E;
}

/* The button is a real <button>, so the design's hover sweep still works. */
.wpcf7 .form .wpcf7-submit:disabled { opacity: .7; cursor: progress; }
.wpcf7 .form .wpcf7-spinner { margin: 0; background-color: var(--navy); }

/* Result message under the form = .form-status */
.wpcf7 .form .wpcf7-response-output {
  grid-column: 1 / -1;
  margin: 0; padding: 0; border: 0;
  font-family: var(--f-display); font-size: 0.9375rem; line-height: 1.5; color: var(--teal);
}
.wpcf7 .form.invalid .wpcf7-response-output,
.wpcf7 .form.unaccepted .wpcf7-response-output,
.wpcf7 .form.failed .wpcf7-response-output,
.wpcf7 .form.aborted .wpcf7-response-output,
.wpcf7 .form.spam .wpcf7-response-output { color: #B3261E; }

/* Shown to admins only, while no form is connected. */
.aum-admin-note {
  margin-bottom: 20px; padding: 12px 16px;
  font-family: var(--f-display); font-size: 0.875rem; color: var(--ink);
  background: #FFF6E0; border-left: 3px solid var(--ochre); border-radius: var(--radius);
}

/* ---------- Admin bar (logged-in users only) ---------- */

@media (min-width: 783px) {
  .admin-bar .site-header { top: 32px; }
}
@media (min-width: 601px) and (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}
@media (min-width: 783px) and (max-width: 1020px) {
  .admin-bar .nav { top: calc(var(--header-h) + 32px); }
}
@media (min-width: 601px) and (max-width: 782px) {
  .admin-bar .nav { top: calc(var(--header-h) + 46px); }
}

/* ---------- Pages written in the editor ---------- */

.prose { max-width: calc(760px + var(--gutter) * 2); }
.prose > * + * { margin-top: 1.1em; }
.prose h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); margin-top: 1.8em; }
.prose h3 { margin-top: 1.6em; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li + li { margin-top: .4em; }
.prose img { border-radius: var(--radius); }
.prose table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
.prose th, .prose td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }
.prose blockquote { margin-left: 0; padding-left: 20px; border-left: 3px solid var(--ochre); font-style: italic; }
.prose article + article { padding-top: 1.5em; border-top: 1px solid var(--line); }
.prose .nav-links { display: flex; gap: 16px; font-family: var(--f-display); }

.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;
}
