html {
    scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
}

/* Empty blocks */

.wp-block-list > li:empty,
.wp-block-heading:empty,
.wp-block-paragraph:empty {
    display: none;
}

/* Header component */

.header--fixed {
    position: fixed;
    top: calc(0px + var(--wp-admin--admin-bar--height, 0px));
    width: 100%;
    z-index: 10;
}

.header--fixed .custom-logo,
.header--sticky .custom-logo {
    filter: brightness(100);
}

/* Menu block */

.wp-block-menu {
    --menu-gap: var(--wp--preset--spacing--50);
}

.wp-block-menu .menu-item a {
    text-decoration: none;
    text-underline-offset: 0.25em;
    font-weight: 500;
}

.wp-block-menu .menu-item a:hover {
    text-decoration: underline;
}

.wp-block-menu-dialog--modeless {
    background-color: var(--wp--preset--color--base);
    top: 100%;
    border-radius: 2rem;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.wp-block-menu-dialog--modeless[open] {
    position: absolute;
}

.wp-block-menu-dialog--modeless .wp-block-menu-close {
    right: var(--wp--style--root--padding-right);
}

.wp-block-menu.footer-column-menu {
    --menu-gap: var(--wp--preset--spacing--40);
}

.wp-block-menu.footer-column-menu .menu-item a {
    font-weight: 400;
}

/* Buttons */

.wp-block-button__link {
    transition: all 0.3s ease-out;
    transition-property: color, background-color, border-color;
}

.wp-block-button__link.has-neutral-background-color {
    --button-background-hover: var(--wp--preset--color--accent);
    --button-color-hover: var(--wp--preset--color--contrast);
    --button-border-hover: var(--wp--preset--color--accent);
}

/* Button: Arrow style */

.wp-block-button.is-style-arrow > .wp-block-button__link {
    display: flex;
    gap: 0.5em;
}

.wp-block-button.is-style-arrow > .wp-block-button__link::after {
    background-color: var(--wp--preset--color--contrast);
    background-image: url(../icons/thread-button-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    border-radius: 50%;
    box-sizing: border-box;
    content: '';
    height: 1.5em;
    margin-inline-start: auto;
    padding: 0.75em;
    transition: transform 0.25s ease-out;
    width: 1.5em;
}

.wp-block-button.is-style-arrow > .wp-block-button__link:hover::after {
    transform: rotate(-45deg);
}

/* Miscellaneous styles */

.extend-right {
    margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
}

@media screen and (min-width: 78rem ) {
    .extend-right {
        width: calc(100% + ((100vw - var(--wp--style--global--content-size)) / 2) );
    }

    .alignfull:has(.extend-right) {
        overflow: hidden;
    }
}

@media screen and (max-width: 781px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile) .extend-right {
        margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;
    }
}
