/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Bewonder*
 * Author URI: https://bewonder.co.uk/
 * Template: blocksy
 * Text Domain: blocksy
 */
@media screen and (min-width: 1700px) {
    body {
        max-width: 1600px;
        margin: auto !important;
        box-shadow: 0 0 0 9999px color-mix(in srgb, var(--theme-palette-color-4) 5%, rgba(0, 0, 0, 0));
    }
}

div.ct-entry-content-block:has(> .stretch-column-v) {
    flex: 1;
    display: flex;
}
[class^="wp-block-bewonder-form-"] {
    margin-bottom: 24px;
}
article.entry-card.type-unit.availability-available {
    position: relative;
}
article.entry-card.type-unit:after {
    position: absolute;
    top: 10px;
    left: 10px;
    border-radius: 3px;
    font-size: 12px;
    text-transform: uppercase;
    padding: 3px 9px;
    font-weight: bold;
}
article.entry-card.type-unit.availability-available:after {
    content: "Available";
    background: var(--theme-palette-color-1);
    color: var(--theme-palette-color-8);
}

a:is([data-label=left],[data-label=right]) {
    column-gap: 1em;
}
div.ct-shortcuts-bar[data-type=type-2] .ct-shortcuts-bar-items {
    margin: initial;
}

[data-footer*="type-1"] .ct-footer {
    padding-bottom: 90px;
}
@media screen and (max-width: 999px) {
    [data-footer*="type-1"] .ct-footer {
        padding-bottom: 85px;
    } 
}
@media screen and (max-width: 689px) {
    [data-footer*="type-1"] .ct-footer {
        padding-bottom: 52px;
    }     
}


.ct-widget li.menu-item.menu-item-has-children {
    position: relative;
}
.ct-widget li.menu-item.menu-item-has-children:after {
    content: "+";
    height: 23px;
    width: 40px;
    position: absolute;
    inset: 0 0 auto auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: 0.3s;
    cursor: pointer;
    z-index: 1;
    transform: rotate(0deg);
}
.ct-widget li.menu-item.menu-item-has-children.open:after {
    transform: rotate(-45deg);
}
.ct-widget li.menu-item.menu-item-has-children ul {
    max-height: 0px;
    overflow: hidden;
    transition: 0.3s;
}


.facility-terms-list {
    display: grid;
    justify-content: center;
    justify-items: center;
    grid-template-columns: repeat(var(--facility-terms-columns-desktop), minmax(0, 90px));
}
.facility-term {
    padding: 0.5em 0.75em;
    height: 90px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.3em;
    aspect-ratio: 1;
    text-align: center;
    width: 100%;
    border-right: 1px solid;
    margin-bottom: 1em;
    position: relative;
}
.facility-term:last-child {
    border-right: 0;
}
@media screen and (min-width: 1001px) {
    .facility-term-last-desktop {
        border-right: 0;
    }
    .facility-term-last-desktop ~ * {
        left: calc(50% * (var(--facility-terms-columns-desktop) - (var(--facility-terms-count) - (var(--facility-terms-columns-desktop) * 1))));
    }
}
@media screen and (max-width: 1000px) {
    .facility-terms-list {
        grid-template-columns: repeat(var(--facility-terms-columns-tablet), minmax(0, 90px));
    }
}
@media screen and (max-width: 1000px) and (min-width: 691px) {
    .facility-term-last-tablet {
        border-right: 0;
    }
    .facility-term-last-tablet ~ .facility-term-last-tablet ~ * {
        left: calc(50% * (var(--facility-terms-columns-tablet) - (var(--facility-terms-count) - (var(--facility-terms-columns-tablet) * 2))));
    }
}
@media screen and (max-width: 690px) {
    .facility-terms-list {
        grid-template-columns: repeat(var(--facility-terms-columns-mobile), minmax(0, 90px));
    }
    .facility-term-last-mobile {
        border-right: 0;
    }
    .facility-term-last-mobile ~ .facility-term-last-mobile ~ .facility-term-last-mobile ~ * {
        left: calc(50% * (var(--facility-terms-columns-mobile) - (var(--facility-terms-count) - (var(--facility-terms-columns-mobile) * 3))));
    }
}
.facility-term-icon {
    height: 35px;
    aspect-ratio: 1;
    margin-top: 0.5em;
    filter: invert(1);
}
.facility-term-name {
    line-height: 1;
    height: 35px;
    display: flex;
    align-items: center;
    font-size: 0.9em;
}

@media screen and (min-width: 1000px) {
    div.soften-overflow {
        position: relative;
    }
    div.stk-block:not(.stk--has-background-overlay).soften-overflow:after,
    div.stk-block:not(.stk--has-background-overlay).soften-overflow:before {
        content: "" !important;
        position: absolute;
        inset: 0 auto 0 0;
        width: 70px;
        pointer-events: none;
        background: linear-gradient(to right, white, rgba(255, 255, 255, 0));
        z-index: 10;
    }
    div.stk-block:not(.stk--has-background-overlay).soften-overflow:before {
        inset: 0 0 0 auto;
        rotate: 180deg;
    }
}

h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
}