/* Simbionous minimal pattern styles + utilities */
:root{
  --simbionous-callout-bg:#f3f1eb;
  --simbionous-callout-border:#c9c3b4;
}

/* Utilities */
.mt-xl{ margin-top:2.75rem !important; }
.mb-xl{ margin-bottom:2.75rem !important; }
.mt-lg{ margin-top:1.8rem !important; }
.mb-lg{ margin-bottom:1.8rem !important; }
.text-small{ font-size:0.95rem; }
.text-smaller{ font-size:0.9rem; }
.muted{ opacity:0.8; }

/* Lead paragraph */
.is-lead{
  font-size: clamp(1.1rem, 1.85vw, 1.35rem);
  line-height: 1.65;
  opacity: 0.92;
}

/* Callout */
.wp-block-group.s-callout{
  background: var(--simbionous-callout-bg);
  border-left: 3px solid var(--simbionous-callout-border);
  padding: 1.2rem 1rem;
  border-radius: 10px;
}
.wp-block-group.s-callout h3,
.wp-block-group.s-callout h4{ margin-top:0; }
.wp-block-group.s-callout p:last-child{ margin-bottom:0; }

/* Pull quote */
.wp-block-pullquote.s-pull blockquote{
  font-size: clamp(1.15rem, 2.1vw, 1.6rem);
  line-height: 1.5;
}
.wp-block-pullquote.s-pull cite{
  font-size: 0.9em;
  opacity: 0.75;
}

/* Section break */
.s-section-break{ margin: 3rem 0; }
.s-section-break hr{
  border:0;
  height:1px;
  background: rgba(0,0,0,.09);
}

/* Wide image helper (for themes that don't support alignwide) */
figure.s-wide{ width: min(1200px, 100%); margin-left:auto; margin-right:auto; }
