/* WordPress additions. Not part of the original design boards: accessibility helpers, admin bar, real reviews, native block output. */

/* Screen-reader text and skip link */
.screen-reader-text {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip-link {
  position:absolute;
  left:-9999px;
  top:0;
}
.skip-link:focus {
  left:var(--space-4);
  top:var(--space-4);
  z-index:100000;
  padding:14px 20px;
  border-radius:var(--radius-lg);
  background:var(--color-white);
  color:var(--color-primary);
  font-weight:700;
  text-decoration:none;
  box-shadow:var(--shadow-lift);
  clip:auto;
  width:auto;
  height:auto;
  margin:0;
}

/* Keyboard focus: a clear ring wherever focus lands (mouse clicks are unaffected) */
.mcr-site :focus-visible {
  outline:3px solid var(--color-accent);
  outline-offset:2px;
}
.mcr-site .inp:focus-visible,
.mcr-gf :focus-visible {
  outline-offset:0;
}

/* Logged-in visitors: keep the sticky header below the WordPress admin bar */
body.admin-bar .hdr {
  top:32px;
}
@media (max-width:782px) {
  body.admin-bar .hdr {
    top:46px;
  }
}

/* Reviews (real testimonials, from inc/config.php) share the card language of the placeholders */
.review {
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  padding:22px var(--space-5);
  background:var(--color-white);
}
.review blockquote {
  font-family:var(--font-heading);
  font-size:var(--fs-21);
  line-height:1.3;
  color:var(--color-text-mid);
}
.review figcaption {
  font-size:var(--fs-14_5);
  color:var(--color-muted);
  margin-top:var(--space-3);
}

/* Editor-only placeholder for a missing team photo */
.mcr-gf-notice {
  padding:var(--space-4);
  border:1.5px dashed var(--color-line-strong);
  border-radius:var(--radius-lg);
  background:var(--color-surface-warm);
  font-size:var(--font-size-sm);
  color:var(--color-text-soft);
}

/* Core alignment and caption classes, for content edited in the block editor */
.alignleft {
  float:left;
  margin:0 var(--space-5) var(--space-4) 0;
}
.alignright {
  float:right;
  margin:0 0 var(--space-4) var(--space-5);
}
.aligncenter {
  display:block;
  margin-inline:auto;
}
.wp-caption,
.wp-block-image {
  max-width:100%;
}
.wp-caption-text,
.wp-element-caption {
  font-size:var(--fs-14);
  color:var(--color-muted-soft);
  margin-top:var(--space-2);
}

/* Native block output inside article text */
.prose img {
  max-width:100%;
  height:auto;
  border-radius:var(--radius-lg);
}
.prose figure {
  margin:var(--space-6) 0;
}
.prose blockquote {
  max-width:var(--measure);
  margin:var(--space-6) 0;
  padding:var(--space-1) 0 var(--space-1) var(--space-5);
  border-left:3px solid var(--color-accent);
  font-family:var(--font-heading);
  font-size:var(--fs-21);
  line-height:1.35;
  color:var(--color-text);
}
.prose hr {
  border:0;
  border-top:1px solid var(--color-border);
  margin:var(--space-8) 0;
}
.prose pre,
.prose code {
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.92em;
}
.prose pre {
  max-width:var(--measure);
  overflow:auto;
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:var(--color-surface-alt);
}
.prose :is(.is-style-callout-tip, .is-style-callout-warn) p:first-child > strong:only-child {
  display:block;
  font-size:var(--fs-12_5);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-warn-text);
  margin-bottom:6px;
}
.prose .is-style-callout-tip p:first-child > strong:only-child {
  color:var(--color-secondary-dark);
}
.prose .is-style-callout-tip p,
.prose .is-style-callout-warn p {
  font-size:inherit;
  line-height:inherit;
  color:inherit;
}
.prose .wp-block-buttons {
  max-width:var(--measure);
  margin:var(--space-6) 0;
}
.prose .wp-block-button__link {
  background:var(--color-accent);
  color:var(--color-white);
  border-radius:var(--radius-lg);
  padding:16px 26px;
  font-weight:600;
  text-decoration:none;
}
.prose .wp-block-button__link:hover {
  background:var(--color-accent-hover);
  color:var(--color-white);
}

/* Optional page content (anything typed in the page editor), shown as plain reading text */
.page-content .prose,
.entry-content.prose {
  max-width:var(--measure-wide);
}

@media print {
  .hdr,
  .sticky,
  .final,
  .strip,
  .foot,
  .skip-link {
    display:none !important;
  }
  .mcr-site {
    background:#fff;
  }
}

/* Plain WordPress pages (page.php) */
.entry-wrap {
  padding-top:var(--space-10);
  padding-bottom:var(--space-16);
}
.entry-fig {
  margin:0 0 var(--space-8);
}
.entry-content > :first-child {
  margin-top:0;
}
.page-links {
  margin-top:var(--space-6);
  font-size:var(--font-size-sm);
}
