/*
 * Global page and content layout.
 * Gutenberg content stays unwrapped so full-width Samasti blocks retain their
 * own outer section and inner container.
 */

.container,
.container--content,
.container--narrow {
  box-sizing: border-box;
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--divenire-gutter);
}

.container {
  max-width: var(--divenire-layout-wide);
}

.container--content {
  max-width: var(--divenire-layout-content);
}

.container--narrow {
  max-width: var(--divenire-layout-narrow);
}

.samasti-layout__container {
  box-sizing: border-box;
}

.samasti-layout__container.container > .wp-block-group > .samasti-layout__container.container,
.samasti-layout__container.container--content > .wp-block-group > .samasti-layout__container.container--content,
.samasti-layout__container.container--narrow > .wp-block-group > .samasti-layout__container.container--narrow {
  max-width: none;
  padding-inline: 0;
}

.container.samasti-coming-soon__inner {
  max-width: var(--divenire-layout-narrow);
}

.page-section {
  padding-block: var(--divenire-section-space);
}

.page-section--tint {
  background: var(--samasti-beige);
}

.page-section--tint-dark {
  background: var(--samasti-dark);
  color: var(--divenire-color-light);
}

.site-main {
  min-height: 80vh;
  padding: 128px 0 64px;
  background: var(--samasti-surface);
}

.main-no-top .site-main {
  padding-top: 0;
}

.main-no-bottom .site-main {
  padding-bottom: 0;
}

.entry-content {
  min-width: 0;
  overflow-wrap: break-word;
}

.entry-content > :where(
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  ul,
  ol,
  dl,
  blockquote,
  pre,
  table,
  .wp-block-table,
  .wp-block-image:not(.alignfull):not(.alignwide),
  .wp-block-buttons,
  .wp-block-shortcode,
  .wp-block-separator
) {
  width: calc(100% - var(--divenire-gutter) - var(--divenire-gutter));
  margin-inline: auto;
}

.entry-content > :where(
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  ul,
  ol,
  dl,
  blockquote,
  pre,
  table,
  .wp-block-table,
  .wp-block-image:not(.alignfull):not(.alignwide),
  .wp-block-buttons,
  .wp-block-shortcode,
  .wp-block-separator
):first-child {
  margin-top: var(--divenire-section-space-compact);
}

.entry-content > :where(
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  ul,
  ol,
  dl,
  blockquote,
  pre,
  table,
  .wp-block-table,
  .wp-block-image:not(.alignfull):not(.alignwide),
  .wp-block-buttons,
  .wp-block-shortcode,
  .wp-block-separator
):last-child {
  margin-bottom: var(--divenire-section-space);
}

@media (max-width: 991px) {
  .site-main {
    padding-top: 116px;
  }
}

@media (max-width: 767px) {
  .site-main {
    padding-top: 102px;
    padding-bottom: 40px;
  }
}
