/* White page shell adapted directly from wegreened-web-2026/assets/css/layout.css.
   width:auto clears the previous explicit width; all source container values are preserved. */
.site-frame {
  width: auto;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #fff;
  max-width: 90%;
  margin: 15px auto 20px auto;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 3px 3px 5px 0 rgba(119, 119, 119, 1);
}
@media screen and (max-width: 920px) {
  .site-frame { max-width: 94%; }
}
@media screen and (max-width: 768px) {
  .site-frame {
    max-width: 100%;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

/* Match layouts/default.vue main-content horizontal gutters.
   Apply to section wrappers so existing full-width section backgrounds remain intact.
   Scope to main to preserve the source header and the existing footer. */
.site-frame main .wrap {
  width: calc(100% - 104px);
  max-width: none;
  margin-inline: auto;
}
@media screen and (max-width: 920px) {
  .site-frame main .wrap { width: 94%; }
}

/* Keep link arrows beside their label, including when the label wraps. */
.site-frame main .text-link:has(> .link-arrow) { display: inline-flex; flex-wrap: nowrap; max-width: 100%; gap: 12px; }
.site-frame main .text-link > .link-label { min-width: 0; }
.site-frame main .text-link > .link-arrow { flex: 0 0 auto; white-space: nowrap; }
