/* ==========================================================================
   Utilities — small, single purpose, last in the cascade
   ========================================================================== */

.cryo-u-center      { text-align: center; }
.cryo-u-measure     { max-width: var(--cryo-content); margin-inline: auto; }
.cryo-u-muted       { color: var(--cryo-text-muted); }
.cryo-u-small       { font-size: var(--cryo-fs-sm); }
.cryo-u-caps        { text-transform: uppercase; letter-spacing: var(--cryo-track-wide); font-size: var(--cryo-fs-xs); font-weight: 600; }
.cryo-u-mt0         { margin-top: 0; }
.cryo-u-mb0         { margin-bottom: 0; }
.cryo-u-stack > * + * { margin-top: var(--cryo-s2); }
.cryo-u-hidden      { display: none !important; }

/* Block style variations registered in inc/blocks.php */
.is-style-cryo-panel {
  padding: var(--cryo-s3);
  background: var(--cryo-white);
  border: 1px solid var(--cryo-line);
  border-radius: var(--cryo-radius-lg);
  box-shadow: var(--cryo-shadow-sm);
}
.is-style-cryo-panel-dark {
  padding: var(--cryo-s3);
  background: var(--cryo-navy);
  color: var(--cryo-white);
  border-radius: var(--cryo-radius-lg);
}
.is-style-cryo-panel-dark :is(h1,h2,h3,h4) { color: var(--cryo-white); }
.is-style-cryo-rule {
  border: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cryo-teal-light), transparent);
}
.wp-block-button.is-style-cryo-outline .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--cryo-slate);
  color: var(--cryo-navy);
}

/* Print: drop the furniture, keep the content and the URLs. */
@media print {
  header.cryo-header, .cryo-footer, .cryo-consent, .cryo-navtoggle,
  .cryo-cta, .cryo-postnav, .pagination, .cryo-search { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .cryo-section { padding-block: 0; }
  .cryo-prose a::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
}
