/*
 * Minimal core block library styles for the static theme demo.
 *
 * WordPress normally loads wp-block-library plus the global styles generated
 * from theme.json. These templates rely on a handful of layout rules from that
 * bundle (flex containers, image defaults, alignment classes), so the ones this
 * theme actually needs are reproduced here instead of shipping the whole
 * library. Everything visual comes from the theme's own assets/css/theme.css.
 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

.wp-block-image {
  margin: 0;
}

.wp-block-image img {
  display: block;
}

.wp-block-image figcaption {
  margin-top: 0.5em;
  font-size: 0.8em;
  text-align: center;
}

.wp-block-group {
  display: flow-root;
}

.wp-block-navigation {
  display: flex;
  align-items: center;
}

.wp-block-navigation__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--style--block-gap, 2em);
  margin: 0;
  padding: 0;
  list-style: none;
}

.wp-block-navigation-item {
  display: flex;
  align-items: center;
}

.wp-block-navigation-item__content {
  display: inline-block;
  text-decoration: none;
}

.wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.wp-block-button {
  margin: 0;
}

.wp-block-button__link {
  display: inline-block;
  border: none;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  align-items: initial;
  gap: var(--wp--style--block-gap, 2em);
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.wp-block-spacer {
  clear: both;
}

.wp-block-site-logo {
  line-height: 0;
}

.wp-block-site-logo img {
  display: block;
  height: auto;
  max-width: 100%;
}

.wp-block-separator {
  margin-inline: auto;
  border: 0;
  border-top: 1px solid currentColor;
}

.alignfull {
  width: 100%;
  max-width: 100%;
}

.alignwide {
  max-width: var(--wp--style--global--wide-size, 1380px);
  margin-inline: auto;
}

.has-text-align-center {
  text-align: center;
}

@media (max-width: 781px) {
  .wp-block-columns {
    flex-wrap: wrap;
  }

  .wp-block-columns .wp-block-column {
    flex-basis: 100%;
  }
}

/* Layout support classes WordPress adds at render time. */
.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--style--block-gap, 0.5em);
}

.is-layout-flex.is-nowrap {
  flex-wrap: nowrap;
}

.is-layout-flex.is-content-justification-space-between {
  justify-content: space-between;
}

.is-layout-flex.is-content-justification-center {
  justify-content: center;
}

.is-layout-flex.is-content-justification-right {
  justify-content: flex-end;
}

.is-layout-flex.are-vertically-aligned-center {
  align-items: center;
}

.is-layout-constrained > * {
  max-width: var(--wp--style--global--content-size, 620px);
  margin-inline: auto;
}

.is-layout-constrained > .alignwide {
  max-width: var(--wp--style--global--wide-size, 1380px);
}

.is-layout-constrained > .alignfull {
  max-width: none;
}

.is-layout-grid {
  display: grid;
  gap: var(--wp--style--block-gap, 1.5em);
}

/* The theme pins its header to the viewport top; the demo bar occupies that
   space, so the header and the first section shift down by the bar's height. */
body > .sn-header {
  top: calc(1rem + var(--sn-demo-bar-height, 2.4rem));
}
