/* Global */

html {
    scroll-padding-top: calc( var(--header-height, 100px) + var(--wp-admin--admin-bar--height, 0px));
}

.wp-block-pullquote:has(> blockquote > p:empty):not(:has(> blockquote > cite)),
.wp-block-buttons:empty,
.wp-block-social-links:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty,
li:empty,
blockquote:empty,
p:empty {
    display: none;
}

mark {
    background-color: transparent;
}

a:where(:not(.wp-element-button)) {
    transition: color 0.25s ease-out;
}

.smooth-scroll {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    .smooth-scroll {
        scroll-behavior: auto;
    }
}

/* Buttons */

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

.wp-block-button:has(.has-background,.has-text-color) .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--neutral-light) !important;
    color: var(--wp--preset--color--contrast) !important;
}

.wp-block-button .wp-block-button__link.has-base-background-color:hover {
    background-color: var(--wp--preset--color--contrast) !important;
    color: var(--wp--preset--color--base) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--contrast) !important;
    color: var(--wp--preset--color--neutral-light) !important;
    border-color: var(--wp--preset--color--contrast) !important;
}

/* Buttons - Equal widths style */

.wp-block-buttons.is-style-full-width-mobile > .wp-block-button:not(.has-custom-width) {
    width: 100%;
}

@media screen and (min-width: 600px) {
    .wp-block-buttons.is-style-full-width-mobile > .wp-block-button:not(.has-custom-width) {
        width: auto;
    }
}

/* Accordions */

.wp-block-accordion-item {
    transition: all 0.25s ease-out;
    transition-property: background-color, color, grid-template-rows;
    display: grid;
    grid-template-rows: max-content 0fr;
}

.wp-block-accordion-item.is-open {
    grid-template-rows: max-content 1fr;
}

.wp-block-accordion-panel {
    overflow: hidden;
    transition: all 0.25s ease-out;
    transition-property: padding;
}

.wp-block-accordion-panel[aria-hidden=true],
.wp-block-accordion-panel[inert] {
    display: block;
    padding: 0;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none;
}

.wp-block-accordion-item:not(.is-open):has(.wp-block-accordion-heading__toggle:hover),
.wp-block-accordion-item:has(.wp-block-accordion-heading__toggle:active) {
    background-color: var(--wp--preset--color--contrast);
    color: var(--wp--preset--color--neutral-light);
}

/* Accordions - Block styles */

.wp-block-accordion.is-style-light .wp-block-accordion-item,
.wp-block-accordion.is-style-dark .wp-block-accordion-item {
    transition: all 0.25s ease-out;
    transition-property: background-color, color;
}

/* Accordions - Light style */

.wp-block-accordion.is-style-light .wp-block-accordion-item.is-open {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
}

/* Accordions - Dark style */

.wp-block-accordion.is-style-dark .wp-block-accordion-item.is-open {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
}

/* Media & Text block */

.wp-block-media-text__media {
    border-radius: inherit;
    overflow: hidden;
}

/* Splide carousel block */

.wp-block-splide-carousel {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--30);
    margin: 0;
}

.wp-block-splide-carousel .splide__track {
    width: 100%;
    order: 1;
}

.wp-block-splide-carousel .splide__arrows {
    order: 3;
    flex-basis: 50%;
    display: flex;
    justify-content: flex-end;
    gap: var(--wp--preset--spacing--20);
}

.wp-block-splide-carousel .splide__arrows .splide__arrow {
    left: unset;
    right: unset;
    position: unset;
    transform: unset;
    width: 48px;
    height: 48px;
    background-color: transparent;
    color: currentColor;
    border: 1px solid currentColor;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow:not(:disabled):hover {
    background-color: var(--wp--preset--color--neutral-light);
}

.wp-block-splide-carousel .splide__arrows .splide__arrow svg {
    display: none;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow::after {
    content:"";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background-color: currentColor;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow--prev::after {
    mask-image: url(../icons/arrow-left.svg);
}

.wp-block-splide-carousel .splide__arrows .splide__arrow--next::after {
    mask-image: url(../icons/arrow-right.svg);
}

.wp-block-splide-carousel .splide__pagination {
    order: 2;
    flex-grow:1;
    position: unset;
    justify-content: flex-start;
    padding: 0;
    gap: 2px;
}

.wp-block-splide-carousel .splide__pagination__page {
    background-color: currentColor;
    opacity: 0.25;
    height: 10px;
    width: 10px;
}
.wp-block-splide-carousel .splide__pagination__page.is-active {
    background-color: currentColor;
    opacity: 0.7;
}

.wp-block-splide-carousel .splide__pagination__page:hover {
    opacity: 1;
}

.wp-block-splide-carousel .stretch-slide-content {
    height: 100%;
}

/* external link */

.entry-content a:not(.wp-element-button,:has(img))[target="_blank"]::after {
    content: '';
    width: 1em;
    height: 1em;
    background-color: currentColor;
    mask-image: url(../icons/external-link.svg);
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    display: inline-block;
    margin-left: 0.25em;
    transform: translateX(-0.25em);
    transition: all 0.25s ease-out;
    transition-property: transform, opacity;
    opacity: 0;
    vertical-align: text-bottom;
}

.entry-content a:not(.wp-element-button,:has(img))[target="_blank"]:hover::after {
    transform: translateX(0);
    opacity: 1;
}

/* default cover block color */

:where(.wp-block-cover-image.is-light:not(.has-text-color)), :where(.wp-block-cover.is-light:not(.has-text-color)) {
    color: var(--wp--preset--color--contrast);
}

/* Footer */

@media screen and (max-width: 900px) {
    footer.wp-block-template-part .footer-contents {
        gap: var(--wp--preset--spacing--50);
    }

    footer.wp-block-template-part .footer-logo {
        flex-basis: 100%;
    }

    footer.wp-block-template-part .footer-locations{
        flex-basis: calc( 50% - (var(--wp--preset--spacing--50) / 2 ));
    }

    footer.wp-block-template-part .footer-menu {
        flex-basis: calc( 30% - (var(--wp--preset--spacing--50) / 2 ));
    }

    footer.wp-block-template-part .footer-locations,
    footer.wp-block-template-part .footer-menu {
        flex-shrink: 1;
        flex-grow: 1;
    }
}