/* Shared structural defaults. Typography and spacing presets live in theme.json. */
html { font-size: 100%; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
:where(h1, h2, h3, h4, h5, h6, p, figure, blockquote) { margin: 0; }
:where(img, video, svg) { max-width: 100%; }
:where(img, video) { height: auto; }
:where(button, input, select, textarea) { font: inherit; }
:where(h1, h2, h3, h4, h5, h6, p, a) { overflow-wrap: break-word; }
:where(button, a, input, select, textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; width: auto; height: auto; clip-path: none; padding: 12px; z-index: 100000; background: white; color: black; }

/* Non-full-width core blocks use the same content bounds as native containers. */
.apa-block-foundation #site-content > :where(:not(.alignfull):not(.uagb-is-root-container):not(.n2-section-smartslider)) {
    max-width: var(--wp--style--global--content-size, 1200px);
    margin-inline: auto;
}
.apa-block-foundation #site-content > :where(p, h1, h2, h3, h4, ul, ol, figure) {
    width: calc(100% - 40px);
    margin-block: 24px;
}

/* Legacy theme footer markup has no dependency on Bootstrap on block pages. */
.apa-block-foundation #site-footer:not(.apa-native-footer) { background: #000; color: #fff; padding: 48px 20px 24px; }
.apa-block-foundation #site-footer:not(.apa-native-footer) > div > .container { max-width: 1200px; margin-inline: auto; }
.apa-block-foundation #site-footer:not(.apa-native-footer) .row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
.apa-block-foundation #site-footer:not(.apa-native-footer) .d-block.d-md-none { display: none; }
.apa-block-foundation #site-footer:not(.apa-native-footer) .row > .col-12:last-child { grid-column: 1 / -1; }
.apa-block-foundation #site-footer:not(.apa-native-footer) ul { list-style: none; padding: 0; margin: 0; }
.apa-block-foundation #site-footer:not(.apa-native-footer) ul.sub-menu { display: none; }
.apa-block-foundation #site-footer:not(.apa-native-footer) li { list-style: none; margin: 0 0 8px; }
.apa-block-foundation #site-footer:not(.apa-native-footer) a { color: #e5e5e5; font-size: 16px; }
.apa-block-foundation #site-footer:not(.apa-native-footer) .custom-logo { max-width: 260px; }
.apa-block-foundation #site-footer:not(.apa-native-footer) .footer-copyright { font-size: 14px; text-align: center; }
@media (max-width: 767px) {
    .apa-block-foundation #site-footer:not(.apa-native-footer) .row { grid-template-columns: 1fr; gap: 24px; }
}
