/* Global styles */
:root {
    --breadcrumb-letter-spacing:2px;
}

body {
    padding-top: 133px;
    @media (max-width: 992px) {
        padding-top: 94px;
    }
}


.entry-content {
    > div {
        isolation: isolate;
        /* margin-block-start: 0 !important; */
    }

    &:not(.wp-block-post-content) {
        > * {
            margin: 0;
        }
    }
}

footer.wp-block-template-part{
    margin: 0;
}

iframe:not(.edit-site-visual-editor__editor-canvas){
    border-radius: 16px;
}

.hide-overflow{
    overflow: hidden;
}

/* Heading backgrounds */
.wp-block-heading {
    strong {
        background-color:var(--wp--preset--color--primary);
        color:var(--wp--preset--color--white);
        border-radius: 40px;
        padding:0 30px;
        font-weight:unset;
        /*white-space: nowrap;
        word-break: keep-all;*/
        display:inline-block;
    }
    &.highlight-bold strong {
        background-color:var(--wp--preset--color--secondary);
        color:var(--wp--preset--color--white);
    }
}

.has-white-color .wp-block-heading {
    strong {
        background-color:var(--wp--preset--color--white);
        color:var(--wp--preset--color--primary);
        border-radius: 40px;
        padding:0 30px;
        font-weight:unset;
    }
    &.highlight-bold strong {
        background-color:var(--wp--preset--color--secondary);
        color:var(--wp--preset--color--white);
    }
}

/* Randoms */
.wp-block-heading.has-p-font-size + .has-custom-1-font-size {
    margin-top:var(--wp--preset--spacing--small-primary);
}
.increased-ls {
    letter-spacing: var(--breadcrumb-letter-spacing);
}
/* Can't add border radius inside media and text block */
.wp-block-columns {
    gap:var(--wp--preset--spacing--medium-tertiary)!important;
}
.wp-block-media-text__media img, .wp-block-columns img {
    border-radius: 16px;
    width:100%;
    height:auto;
}

.wp-container-core-group-is-layout-10 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 1100px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Breadcrumbs */
.gspb-breadcrumbs {
    margin-block-start:0px!important;
    top:var(--wp--preset--spacing--medium-primary);
    left:0;
    text-transform: uppercase;
    font-size:14px;
    font-weight:bold;
    position: absolute;
    letter-spacing: var(--breadcrumb-letter-spacing);
    flex-wrap:wrap!important;
}
.block-editor-iframe__body .gspb-breadcrumbs {
    display:block;
}
.gspb-breadcrumbs a:first-of-type {
    font-size:0;
}
.gspb-breadcrumbs a:first-of-type::before {
    display:block;
    width:22px;
    height:22px;
    content:url("../images/house.svg");
}
.wp-block-cover .gspb-breadcrumbs {
    top:var(--wp--preset--spacing--medium-primary);
    left:var(--wp--preset--spacing--medium-primary);
}
/* Breadcrumbs on white */
.isolated-breadcrumbs {
    top:var(--wp--preset--spacing--medium-primary);
    left:0;
    text-transform: uppercase;
    font-size:14px;
    gap:5px!important;
    letter-spacing: var(--breadcrumb-letter-spacing);
    flex-wrap:wrap!important;
}
.isolated-breadcrumbs p:first-of-type a {
    display:block;
    width:22px;
    height:22px;
    content:url("../images/house-blue.svg");
}
.isolated-breadcrumbs .wp-block-post-title {
    font-weight:600;
}


/* Leaf graphic */
.leaf-bg {
    background-image: url("../images/leaf-graphic.webp");
    background-repeat:no-repeat;
    background-position:bottom right;
    background-size:50vh;
    &.leaf-small {
        background-size:20vh
    }
}
.leaf-bg-video {
    &::after {
        z-index:0;
        content: url("");
        background-image: url("../images/leaf-graphic-solid.webp");
        background-repeat:no-repeat;
        background-size:100%;
        background-position:bottom right;
        height: 50vh;
        width: 26vw;
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
        opacity:0.3;
        @media only screen and (max-width: 800px) {
            width:50vw; 
        }
    }
    &.smaller-leaf::after {
        height:40vh;
        width:20vw;
        @media only screen and (max-width: 800px) {
            height:50vh;
            width:50vw; 
        }
    }
}
    

/* Explore link */
.explore-arrow {
    letter-spacing:2px;
    width:100%;
    max-width:100%!important;
    position: absolute;
    bottom:var(--wp--preset--spacing--small-tertiary);
    left:0!important;
    right:0!important;
    margin-top:var(--wp--preset--spacing--medium-primary);
    ::after {
        content: url("../images/arrow-down.svg");
        display:block;
        width:20px;
        height:20px;
        margin:auto;
    }
    @media only screen and (max-width: 800px) {
        z-index:99;
    }
}

/* Making button works on home page */
@media only screen and (max-width: 800px) {
.wp-block-cover:has(.wp-block-cover__inner-container .explore-arrow) {
    min-height:78vh!important;
}
.wp-block-cover:has(.wp-block-group) {
    .wp-block-button {
        z-index:99;
    }
}
}

/* Character widths */
.max-char-16 {
    max-width:16ch!important;
}
.max-char-20 {
    max-width:20ch!important;
}
.max-char-26 {
    max-width:26ch!important;
}
.max-char-36 {
    max-width:36ch!important;
}
.max-char-46 {
    max-width:46ch!important;
}
.max-char-56 {
    max-width:56ch!important;
}

/* Testimonials */
.testimonials-wrapper {
    gap:var(--wp--preset--spacing--small-tertiary)!important;
    .wp-block-group {
        background-color:var(--wp--preset--color--primary);
        color:var(--wp--preset--color--white);
        p:first-of-type::before {
            display:block;
            margin-bottom:var(--wp--preset--spacing--medium-primary);
            content: url("../images/quotemark.svg");
        }
    }
}

/* Product page */
.product-title {
    gap:0!important;
}
.single_variation_wrap, .wp-block-woocommerce-add-to-cart-form {
    display:flex;
    justify-content: space-between;
    gap:var(--wp--preset--spacing--small-primary);
    width:100%;
    .woocommerce-variation {
        display:flex;
        justify-content: flex-start;
        gap:var(--wp--preset--spacing--small-primary);
        margin-bottom:0!important;
    }
    .woocommerce-variation-description {
        display:none;
    }
}
.woocommerce-variation-price, .woocommerce-variation-availability, .price-wrapper {
    background-color:var(--wp--preset--color--light-grey);
    display:flex;
    justify-content: center;
    align-items:center;
    font-weight:600;
    padding:6px 22px;
    border-radius:20px;
    p, span {
        margin:0;
        
    }
    
}
/* adding excluding VAT suffix */
.woocommerce-variation-price, .price-wrapper, .wp-block-woocommerce-product-price {
    position:relative;
    &:after {
        position:absolute;
        top:24px;
        display:block;
        content:'exc. VAT';
        font-size:10px;
        font-weight:normal;
        right:14px;
        margin:auto;
        }
}
.stock:not(.woocommerce-variation-availability>.stock) {
    background-color:var(--wp--preset--color--light-grey);
    display:flex;
    justify-content: center;
    align-items:center;
    font-weight:600;
    padding:6px 22px;
    border-radius:20px;
    p, span {
        margin:0;
    }
}
.woocommerce-variation-availability:empty {
    display:none;
}
.woocommerce .product .stock, .woocommerce .product .sku-wrapper {
    font-size:initial;
    margin:0!important;
}

.wp-block-woocommerce-add-to-cart-form .variations_button>:not(.quantity),.wp-block-woocommerce-add-to-cart-form form.cart>:not(.quantity) {
    grid-column: 1/4;
}

.wp-block-woocommerce-add-to-cart-form {
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap:var(--wp--preset--spacing--small-primary);
    p, span {
        margin:0;
    }
    .sku-wrapper {
        justify-self: flex-end;
    }
}

@media only screen and (max-width: 1000px) {
.wp-block-woocommerce-add-to-cart-form, .single_variation_wrap {
        flex-direction: column;
        align-items: flex-start;
        gap:10px;
        .woocommerce-variation {
            flex-direction: column;
            align-items: flex-start;
            gap:10px;
            form {
                display:none;
            }
        }
    }
}

.woocommerce div.product form.cart, .woocommerce div.product p.stock {
    margin-bottom:0;
}

.woocommerce div.product form.cart .variations select {
    border:0;
    color:var(--wp--preset--color--primary);
    background-color:var(--wp--preset--color--light-grey);
    padding:var(--wp--preset--spacing--tiny-primary) var(--wp--preset--spacing--medium-primary) var(--wp--preset--spacing--tiny-primary) var(--wp--preset--spacing--small-tertiary);
    border-radius:20px;
}

.woocommerce .sku-wrapper {
    align-self:flex-start;
    display:flex;
    justify-content: center;
    align-items:center;
    padding:var(--wp--preset--spacing--tiny-primary) 0;
    p {
        margin:0;
    }
}

.woocommerce div.product form.variations_form {
    margin-bottom: 0;
    width:100%;
}

@media only screen and (max-width: 1000px) {
.woocommerce .variations {
    th, td {
        display:block;
        padding-bottom:0!important;
    }
}
}
@media only screen and (max-width: 1000px) {
.product-features {
    grid-template-columns: repeat(1, minmax(0, 1fr))!important;
}
}

/* Product page images */
/* .woocommerce-product-gallery__image, .woocommerce div.product div.images img {
    border-radius: 20px;
}

.woocommerce .wp-block-woocommerce-product-image-gallery {
    max-width:unset;
}
.flex-control-thumbs li img {
    border-radius: 20px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(20px);
    z-index:9;
    border-radius:4px;
    padding:8px;
    width:24px;
    height:24px;
    content:url("../images/expand.svg");
    &::before, &::after {
        display:none;
    }
}
.woocommerce div.product div.images .flex-control-thumbs li {
    margin:0!important;
}
.flex-control-nav.flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: var(--wp--preset--spacing--small-primary);
    grid-row-gap: var(--wp--preset--spacing--small-primary);
    margin-top: var(--wp--preset--spacing--small-primary)!important;
    li {
        width:100%!important;
        float:unset!important;
        margin:0!important;
        
    }
} */

/* Product page gallery */
.wc-block-product-gallery-large-image-next-previous-container {
    justify-content:flex-end;
}
img.wc-block-woocommerce-product-gallery-large-image__image--hoverZoom {
    cursor: url("../images/expand-bg.png"), auto!important;
}




/* Tabs */
.woocommerce-tabs {
    .wc-tabs {
        li {
            opacity:1!important;
            border:unset!important;
            a {
                font-weight:400!important;
                background-color:var(--wp--preset--color--light-grey);
                color:var(--wp--preset--color--primary);
                border-top-left-radius: var(--wp--preset--spacing--small-tertiary)!important;
                border-top-right-radius: var(--wp--preset--spacing--small-tertiary)!important;
                padding-inline:var(--wp--preset--spacing--medium-primary)!important;
                &:hover {
                    background-color:var(--wp--preset--color--secondary)!important;
                }
            }    
        }
        li.active {       
            a {
                color:var(--wp--preset--color--white)!important;
                background-color:var(--wp--preset--color--primary)!important;
                border-top-left-radius: var(--wp--preset--spacing--small-tertiary)!important;
                border-top-right-radius: var(--wp--preset--spacing--small-tertiary)!important;
            }
        }
        @media only screen and (max-width: 770px) {
            li, li.active {
                margin-bottom:var(--wp--preset--spacing--small-primary)!important;
                a {
                    border-radius:var(--wp--preset--spacing--small-tertiary)!important;
                }
            }
        }
    }
    .entry-content {
        margin-top:var(--wp--preset--spacing--small-tertiary)!important;
    }
    h2 {
        font-size:22px;
        margin:var(--wp--preset--spacing--small-tertiary) 0!important;
    }
    .wp-block-heading, p, ul {
        margin-bottom:var(--wp--preset--spacing--small-tertiary)!important;
        max-width:80ch;
    }
}

/* Product image */
.size-woocommerce_thumbnail {
    aspect-ratio: 1/1;
}

/* Social icons */
.wp-block-social-links {
    .wp-block-social-link-anchor svg {
        width:30px;
        height:30px;
    }
}

/* Product listings */

.wc-block-product-template__responsive, .wp-container-core-post-template-is-layout-1 {
    grid-template-columns: repeat(3, 1fr)!important;
    column-gap: var(--wp--preset--spacing--small-tertiary)!important;
    row-gap: var(--wp--preset--spacing--70)!important;
    align-items:flex-start;
    @media only screen and (max-width: 1000px) {
        grid-template-columns: repeat(2, 1fr)!important;
        grid-column-gap: 30px!important;
        grid-row-gap: 40px!important;
        /* .is-layout-flex {
            align-items: flex-start;
        } */
    }
    @media only screen and (max-width: 600px) {
        grid-template-columns: repeat(1, 1fr)!important;
    }
}

.wc-block-product, .wp-block-post {
    display:flex;
    flex-direction: column;
    border-radius: 20px;
    padding-bottom:var(--wp--preset--spacing--small-tertiary)!important;
    .wc-block-components-product-image, .wp-block-cover {
        margin-bottom:var(--wp--preset--spacing--small-quinary)!important;
        overflow:hidden;
        img {
            transition: transform .2s;
        }
        &:hover img {
            transition: transform .2s;
            transform: scale(1.1);
        }
    }
    .product-card-details {
        flex:1;
        display:flex;
        flex-direction: column;
        justify-content: space-between;
        .wp-block-group:first-child {
            width:100%;
        }
        .product-card-pricing {
            width:100%;
            flex-wrap:wrap;
            margin-top:0;
            .wp-block-read-more {
                max-height:40px;
            }
        }
        .wc-block-components-product-summary {
            margin:0!important;
            padding:0!important;
        }
        .wp-block-woocommerce-product-summary {
            flex:1;
            p {
                margin:0;
            }
        }
        /**/
        .wp-block-group + .product-card-pricing {
            margin-top:var(--wp--preset--spacing--small-tertiary);
        }
    }
    p {
        margin:var(--wp--preset--spacing--small-primary) 0 var(--wp--preset--spacing--small-primary) 0;
        
    }
    :where(.is-layout-flex) {
        gap:var(--wp--preset--spacing--small-tertiary)!important;
    }

    &:hover {
        background-color:var(--wp--preset--color--light-grey-back);
    }
}

/* Styling list of products */
.is-product-collection-layout-list {
    .wc-block-product, .wp-block-post {
        padding:10px;
        h3 + .wp-block-group {
            margin-top:10px;
        }
        .wc-block-components-product-image, .wp-block-cover {
            margin-bottom:0!important;
        }
    }
}

.wc-block-product {
    height:100%;
}
:where(.wc-block-product-template .wc-block-product)>:not(:last-child) {
    margin-bottom:0!important;
}

.archive .wc-block-product-template__responsive {
    margin-bottom:var(--wp--preset--spacing--medium-tertiary)!important;
}

/* Post page */
.single-post .wp-block-post-featured-image {
    max-width:40vw;
    @media only screen and (max-width: 782px) {
        max-width:unset;
    }
}

/* Insights panel for mobile */
@media only screen and (max-width: 784px) {
.insights-panel {
    .gspbgrid_item {
        .wp-block-columns {
            gap:var(--wp--preset--spacing--small-primary)!important;
            .wp-block-column {
                width:unset!important;
                flex-basis:0!important;
            }
        }
    }
}
}

/* Dev site fix*/
.wp-block-cover.home-hero .wp-block-cover__inner-container, .wp-block-cover-image .wp-block-cover__inner-container, .wp-block-cover.hero-cover .wp-block-cover__inner-container, .wp-block-cover-image .wp-block-cover__inner-container {
    position:initial!important;
}

/* Stop titles breaking */
.wp-block-post-title {
    word-break: normal;
}

/* About us page */
.team-profiles {
    gap:var(--wp--preset--spacing--small-tertiary)!important;
}

/* Pagination */
.wp-block-query-pagination {
    padding-bottom:var(--wp--preset--spacing--medium-primary);
    .page-numbers {
        padding:var(--wp--preset--spacing--small-primary);
        background-color:var(--wp--preset--color--light-grey);
        border-radius: 20px;
        display:inline-block;
        width:20px;
        height:20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        &.current {
            background-color:var(--wp--preset--color--primary);
            color:var(--wp--preset--color--white);
        }
    }
    .wp-block-query-pagination-next {
        content:url(../images/arrow-blue.svg);
        width:30px;
        height:20px;
        &:hover {
            content:url(../images/arrow-yellow.svg);
        }
    }
    .wp-block-query-pagination-previous {
        content:url(../images/arrow-blue-back.svg);
        width:30px;
        height:20px;
        &:hover {
            content:url(../images/arrow-yellow-back.svg);
        }
    }
}

/* .wc-block-product-gallery-large-image .wc-block-product-gallery-large-image__container {
    outline:2px solid red;
}

.wp-block-greenshift-blocks-swiper {
    margin-bottom:0;
    
    div {
        margin-bottom:10px!important;
    }

.swiper-button-next, .swiper-button-prev {
    top:unset!important;
    bottom:0!important;
    padding:0!important;
    width:50px!important;
    height:50px!important;
    
    &:after {
        background-color: rgba(0, 0, 0, 0.4);
        backdrop-filter: blur(20px);
        z-index:9;
        border-radius:4px;
        padding:8px;
        width:24px;
        height:24px;
        text-align:center;
        color:var(--wp--preset--color--white);
        content:''!important;
        background-repeat:no-repeat;
        background-position: center center;
        transition: all .1s ease-out;
    }
    &:hover {
            &:after {
                background-color: rgba(0, 0, 0, 0.2);
                ackdrop-filter: blur(40px);
            }
        }
        &:active {
            &:after {
                background-color: rgba(0, 0, 0, 0);
                backdrop-filter: blur(60px);
            }
        }
}
.swiper-button-next {
    right:10px!important;
    &:after {
        background-image: url("../images/gallery-arrow-next.svg");
    }
}
.swiper-button-prev {
    left:unset!important;
    right:60px!important;
    &:after {
        background-image: url("../images/gallery-arrow-prev.svg");
    }
}   
}

.wp-block-greenshift-blocks-swiper:first-of-type {
    a {
        cursor: url('../images/expand-bg.png'), auto;	
    }
    .gspb_gallery_grid  {
        border-radius:20px;
    }
} */

.wc-block-product-categories.is-dropdown, .woocommerce-ordering {
    .wc-block-product-categories__dropdown select, .orderby {
    padding:10px 40px 10px 20px;
    border:0;
    font-size: var(--wp--preset--font-size--p) !important;
    color:var(--wp--preset--color--primary);
    border-radius: 20px!important;
    background-color: var(--wp--preset--color--light-grey);
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    background-image: url('../images/select-arrow-down.svg');
    background-repeat:no-repeat;
    background-position: center right 12px;
    background-size:10px;
    &:hover {
        background-color:var(--wp--preset--color--secondary);
    }
}
.wc-block-product-categories__button {
    content:'';
    white-space: nowrap;
    transition-property: background-color, border-color, color;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
    border-radius: 20px!important;
    border:0;
    background-color: var(--wp--preset--color--primary);
    padding-left:10px;
    padding-right:20px;
    cursor: pointer;
    svg {
        display:none;
    }
    &::after{
        background-image: url("../images/arrow-yellow.svg");
        background-size: contain;
        content: '';
        display: inline-block;
        height: 11px;
        margin-left: 8px;
        width: 18px;
    }
    &:hover{
            background-color: var(--wp--preset--color--secondary);
            border-color: var(--wp--preset--color--secondary);
            color: var(--wp--preset--color--white);
            &::after{
                background-image: url("../images/arrow-white.svg");
            }
        }
}
}

/* Styling basic gallery */
.woocommerce-product-gallery__wrapper {
    position: relative;
    height:100%;
}
.flex-direction-nav {
    position: absolute;
    top:20px;
    right:80px;
    z-index:9;
    list-style:none;
    padding:0;
    margin:0;
    width:100px;
    height:40px;
    display:flex;
    justify-content: space-between;
    a.flex-prev, a.flex-next {
        display: inline-block;
        height:36px;;
        width:36px;;
        overflow: hidden;
        text-indent: -9999px;
        background-repeat:no-repeat;
        background-position:center center;
        border-radius: 100%;
        cursor: pointer;
        background-color: #fff;
        background-repeat:no-repeat;

        &:hover {
        background-color: var(--wp--preset--color--light-grey);
        }
        &:active {
            background-color: var(--wp--preset--color--secondary);
        }
    }
    a.flex-prev {
        background-image: url("../images/gallery-arrow-prev-black.svg");
    }
    .flex-next {
        background-image: url("../images/gallery-arrow-next-black.svg");
    }
}

.woocommerce-product-gallery__trigger {
    top:20px!important;
    &:hover {
        background-color: var(--wp--preset--color--light-grey);
        }
        &:active {
            background-color: var(--wp--preset--color--secondary);
        }
}

.flex-control-thumbs {
    margin-top:10px!important;
    display: grid;
grid-template-columns: repeat(4, 1fr);
grid-column-gap: 10px;
grid-row-gap: 10px;
}
.flex-control-thumbs li {
    width:100%!important;
    float:unset!important;
}

.woocommerce .wp-block-woocommerce-product-image-gallery {
    max-width:unset!important;
}