* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scrollbar-color: var(--wp--preset--color--secondary) var(--wp--preset--color--accent);
    scrollbar-width: thin;
}

strong {
    font-weight: 600;
}

ul {
    padding-inline-start: 1em;
}

ul ul {
    padding-inline-start: 1.5em !important;
}

ol {
    padding-inline-start: 1.75em;
}

.screen-reader-text {
    width: 1px !important;
}

.full-width-image {
    display: block;
    margin-left: calc(-50vw + 50%);
    max-width: 100vw;
    width: 100vw;
}

/* Blocks */

.wp-block-read-more:focus,
.wp-block-search__button:focus {
    outline-offset: 0.25em;
}

.wp-block-buttons.is-style-tab-buttons {
    gap: var(--wp--preset--spacing--50);
}
.wp-block-buttons.is-style-tab-buttons .wp-block-button__link {
    position: relative;
    background-color: transparent;
    color: currentColor;
    display: inline-block;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: var(--wp--preset--spacing--40);
    &::after {
        content: "";
        width: 100%;
        display: block;
        height: 5px;
        border-radius: 10px;
        background-color: var(--wp--preset--color--green-dark);
        bottom: 0;
        position: absolute;
        transition: background-color 0.25s ease;
        left: 0;
        pointer-events: none;
    }
    &[aria-expanded=true], &:hover {
        background-color: transparent !important;
        color: currentColor !important;
    }
    &[aria-expanded=true]::after, &:hover::after {
        background-color: var(--wp--preset--color--green);
    }
}

.wp-block-post-featured-image {
    max-width: 100%;
}

.wp-block-categories {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--30);
}
.wp-block-categories .cat-item {
    display: block;
    & > a {
        text-decoration: none;
        padding: 0.5rem 1rem;
        display: block;
        border: 1px solid transparent;
        transition: border-color 0.3s ease;
    }
    & > a:hover, & > a:focus {
        border-color: currentColor;
    }
    &.current-cat > a {
        border-color: currentColor;
    }
}

.wp-block-read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    &::after {
        content: "";
        display:block;
        width: 1.5em;
        height: 1.5em;
        mask-image: url(../icons/chevron-right.svg);
        background-color: currentColor;
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
        transform: translateX(0px);
        transition: transform 0.25s ease;
    }
    &:hover::after {
        transform: translateX(5px);
    }
}
.case-study-info {
    columns: 2;
    column-gap: var(--wp--preset--spacing--40);
}
.case-study-info-item {
    break-inside: avoid;
    & p:first-child {
        margin-top: 0;
    }
}

.footer-additional-logo {
    max-width: 100px;
    margin-right: 0;
    margin-left: auto;
}
.footer-additional-logo img {
    max-width: 100%;
    height: auto;
}
@media screen and (max-width: 599px) {
    .wp-block-group.is-layout-grid.is-style-grid-stack-mobile {
        grid-template-columns: 1fr !important;
    }
}

.wp-block-categories-dropdown select {
    appearance: none;
    background-color: transparent;
    border: 1px solid currentColor;
    color: currentColor;
    border-radius: 4px;
    font-size: var(--wp--preset--font-size--regular);
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50) var(--wp--preset--spacing--20) var(--wp--preset--spacing--20);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8' fill='none'%3E%3Cpath d='M1.5 1L6.5 6L11.5 1' stroke='currentColor' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-position: calc(100% - 10px) center;
    background-size: 12px;
    background-repeat: no-repeat;
}
.wp-block-categories-dropdown select:focus {
    outline: 1px solid var(--wp--preset--color--secondary);
    border-color: var(--wp--preset--color--primary);
}
/* Details block */

.wp-block-details {
    width: 100%;
}

.wp-block-details > summary::after {
    background-color: currentcolor;
    content: '';
    display: block;
    flex-shrink: 0;
    mask-image: url(../icons/chevron-right.svg);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    width: 1.25em;
    height: 1.25em;
    margin-left: 1rem;
    transform: rotate(90deg);
    transition: transform 0.3s ease;
}

.wp-block-details[open] > summary::after {
    transform: rotate(270deg);
}

.wp-block-details > summary::-webkit-details-marker,
.wp-block-details > summary::marker {
    display: none !important;
}

.wp-block-details[open] > *:not(summary) {
    animation: 0.3s ease details-open 1 forwards;
    margin-left: 1rem;
    margin-right: 1rem;
}

.wp-block-details[open] > *:not(summary):last-child {
    padding-bottom: 1rem;
}

@keyframes details-open {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Overflow styles */
.is-style-overflow-right,
.is-style-overflow-left {
    --calc-offset: calc(((var(--data-fullwidth, 100vw) - var(--wp--style--global--content-size))) / 2);
    --calc-offset-wide: calc(((var(--data-fullwidth, 100vw) - var(--wp--style--global--wide-size))) / 2);
}

.alignwide .is-style-overflow-right,
.alignwide .is-style-overflow-left {
    width: calc(100% + var(--calc-offset-wide)) !important;
}

.alignwide .is-style-overflow-left {
    margin-left: calc(((var(--data-fullwidth, 100vw) * -1) + var(--wp--style--global--wide-size)) / 2);
}

.alignwide .is-style-overflow-left > .wp-block-group.is-layout-constrained {
    margin-left: calc(((var(--data-fullwidth, 100vw)) - var(--wp--style--global--wide-size)) / 2) !important;
}

.alignwide .is-style-overflow-right > .wp-block-group.is-layout-constrained {
    margin-right: calc(((var(--data-fullwidth, 100vw)) - var(--wp--style--global--wide-size)) / 2) !important;
}

@media screen and (max-width: 95rem) {
    .is-style-overflow-left {
        margin-left: calc(var(--wp--style--root--padding-left) * -1);

        & > .wp-block-group.is-layout-constrained {
            padding-left: var(--wp--style--root--padding-left);
        }
    }

    .is-style-overflow-right > .wp-block-group.is-layout-constrained {
        padding-right: var(--wp--style--root--padding-right);
    }

    .is-style-overflow-right,
    .is-style-overflow-left {
        width: calc(100% + var(--wp--style--root--padding-left)) !important;

        & > .wp-block-group.is-layout-constrained {
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
    }
}

@media screen and (max-width: 781px) {
    .is-style-overflow-left {
        margin-left: unset;
    }

    .is-style-overflow-right,
    .is-style-overflow-left,
    .alignwide .is-style-overflow-right,
    .alignwide .is-style-overflow-left {
        margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;
        margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
        width: calc(100% + var(--wp--style--root--padding-left) * 2) !important;
    }
}

.wp-block-post-link .wp-block-cover + .wp-block-post-link__link {
    z-index: 1;
}