/*
Theme Name: Tazilla
Theme URI: 
Author: Neotrendy
Author URI: https://neotrendy.com/
Description: Tazilla block theme
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tazilla
Domain Path: /languages
Tags: 
*/

html {
    scroll-behavior: smooth;
}

:where(.wp-site-blocks) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

.margin-top-auto {
    margin-top: auto !important;
}

/* Opacity */
.opacity-50 {
    opacity: 0.5;
}

/* Sticky header */
.wp-site-blocks > header:has(> .is-position-sticky) {
    position: sticky;
    top: 0;
    z-index: 100;
}

/* Header and footer */
.navigation-container {
    transition: padding 0.2s ease-in-out;
}

.wp-block-site-logo {
    transform-origin: center left;
    transition: transform 0.2s ease-in-out;
}

body.scrolled .navigation-container {
    padding-top: var(--wp--preset--spacing--xs, 0.5rem) !important;
    padding-bottom: var(--wp--preset--spacing--xs, 0.5rem) !important;

    .wp-block-site-logo {
        transform: scale(0.8);
    }
}

@media (max-width: 991px) {
    html:not(.has-modal-open) {
        header .wp-block-navigation {
            position: absolute;
            right: var(--wp--style--root--padding-right, 0.75rem);
        }
    }

    header {
        .wp-block-navigation {
            .wp-block-navigation__responsive-container-open svg {
                transform: scaleX(1.5);
            }

            .wp-block-navigation__responsive-container-close {
                top: 0.375rem;
            }

            svg path {
                fill: var(--wp--preset--color--brand-light, #80C241);
            }
        }

        nav.wp-block-navigation + .wp-block-buttons,
        .wp-block-polylang-language-switcher + .wp-block-buttons {
            margin-right: 1.5rem;
        }
    }
}

@media (max-width: 767px) {
    .header-login-btn .wp-element-button {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }

    footer.wp-block-template-part {
        > .wp-block-group .is-content-justification-space-between {
            justify-content: center;

            .is-vertical {
                flex-basis: 100%;
                align-items: center;
            }

            p,
            .has-text-align-left {
                text-align: center;
            }
        }
    }
}

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

.footer-copy {
    @media (min-width: 992px) {
        flex-wrap: nowrap;

        .eu-funding {
            figure {
                transform: scale(1.2);
                transform-origin: left;
                margin: 0.25rem 1rem 0.25rem 0;
            }
        }
    }

    .wp-block-group:last-child {
        flex-grow: 1;
        white-space: nowrap;
    }
}

/* Language switcher */
.wp-block-polylang-language-switcher {
    border-radius: var(--wp--custom--radius--sm, 0.25rem);
    transition: background-color 0.2s ease-in-out;
    overflow: hidden;

    &:hover {
        background-color: var(--wp--preset--color--neutral-1-40, #01060366);
    }
}

.pll-switcher-select {
    cursor: pointer;
    background-color: transparent;
    border: 0;
    border-right: 4px solid transparent;
    color: var(--wp--preset--color--white, #FFFFFF);
    font-family: var(--wp--preset--font-family--unbounded), sans-serif;
    padding: var(--wp--preset--spacing--xs, 0.5rem) 0 var(--wp--preset--spacing--xs, 0.5rem) var(--wp--preset--spacing--xs, 0.5rem);
    font-size: 0.625rem;
    letter-spacing: 2.56px;
    line-height: 1;
    text-transform: uppercase;

    option {
        color: var(--wp--preset--color--neutral-2, #676A68);
        font-family: var(--wp--preset--font-family--plus-jakarta-sans), sans-serif;
    }
}

/* Navigation */
header .wp-block-navigation {
    .wp-block-navigation-item {
        border-radius: var(--wp--custom--radius--sm, 0.25rem);
        transition: background-color 0.2s ease-in-out;
        border: 1px solid transparent;

        &.current-menu-item,
        &:hover {
            background-color: var(--wp--preset--color--neutral-1-40, #01060366);
        }

        .wp-block-navigation-item__content {
            padding: var(--wp--preset--spacing--sm, 0.75rem) var(--wp--preset--spacing--md, 1rem);
            font-size: 0.625rem;
            letter-spacing: 2.56px;
            line-height: 1;
        }
    }
}

@media (max-width: 991px) {
    header .wp-block-navigation {
        gap: var(--wp--preset--spacing--2-xl, 2.5rem);
    }
}

/* Mobile navigation override default WP breakpoints */
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}

@media (min-width: 992px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        background-color: inherit;
        display: block;
        position: relative;
        width: 100%;
        z-index: auto
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
        display: none
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
        left: 0
    }
}

/* Features navigation */
.tazilla-features-navigation-wrapper {
    width: 100vw;
    top: 0;
    z-index: 90;
}

/* Buttons - hover state */
.wp-block-button {
    &.is-style-outline .wp-block-button__link:hover {
        background-color: var(--wp--preset--color--brand-100, #E6F3D9);
        border-color: var(--wp--preset--color--brand-dark, #0E3C20);
        color: var(--wp--preset--color--brand-dark, #0E3C20);
    }

    &.is-style-fill-secondary .wp-block-button__link:hover {
        background-color: var(--wp--preset--color--brand-100, #E6F3D9);
        border-color: var(--wp--preset--color--brand-100, #E6F3D9);
        color: var(--wp--preset--color--brand-dark, #0E3C20);
    }

    &.is-style-link .wp-block-button__link:hover {
        text-decoration: none;
    }

    &.back-button {
        a::before {
            content: "";
            display: inline-block;
            width: 0.75rem;
            height: 0.75rem;
            margin-right: 0.5rem;
            vertical-align: middle;
            mask-image: url(assets/images/arrow-left.svg);
            mask-repeat: no-repeat;
            background-color: var(--wp--preset--color--brand-light, #80C241);
        }

        &:hover a::before {
            background-color: var(--wp--preset--color--brand-dark, #0E3C20);
        }
    }
}

.wp-element-button,
.wp-block-button a::before {
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

/* HomePage */
.wp-block-latest-posts {
    .wp-block-latest-posts__featured-image {
        margin-bottom: var(--wp--preset--spacing--xl, 1.5rem);

        img {
            border-radius: var(--wp--custom--radius--md, 0.5rem);
        }
    }

    .wp-block-latest-posts__post-title {
        color: var(--wp--preset--color--brand-dark, #0E3C20);
        font-family: var(--wp--preset--font-family--unbounded), sans-serif;
        font-size: var(--wp--preset--font-size--lg, 1.125rem);
        font-style: normal;
        font-weight: 700;
        line-height: var(--wp--custom--line-height--heading, 1.33);
        letter-spacing: -0.03rem;
        text-transform: uppercase;
        text-decoration: none;
    }
}

.homepage-section-features {
    .wp-block-cover {
        min-height: 200px;

        .wp-block-heading {
            padding: var(--wp--preset--spacing--sm, 0.75rem) var(--wp--preset--spacing--lg, 1.25rem);

            a {
                display: block;
                text-decoration: none;
            }
        }

        .wp-block-image {
            position: absolute;
            right: var(--wp--preset--spacing--lg, 1.25rem);
            pointer-events: none;
        }
    }
}

@media (min-width: 992px) {
    .homepage-section-features {
        .wp-block-cover {
            min-height: 400px;
        }
    }
}

@media (max-width: 767px) {
    #homepage-hero-section {
        padding-bottom: 1.25rem !important;
    }

    .homepage-section-benefits {
        .is-layout-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    .homepage-section-vision {
        .wp-block-column:first-child {
            order: 2;
            text-align: center;
        }
    }
}

.grid-boxes .wp-block-group {
    box-shadow: 0 6px 12px -6px rgba(24, 39, 75, 0.12), 0 8px 24px -4px rgba(24, 39, 75, 0.08);
}

/* Contact */
.wp-block-social-links .wp-social-link {
    span.wp-block-social-link-label {
        color: var(--wp--preset--color--brand-dark, #0E3C20);
        font-family: var(--wp--preset--font-family--unbounded), sans-serif;
        text-transform: uppercase;
        font-size: var(--wp--preset--font-size--sm, 0.625rem);
    }
}

/* Contact form */
.wpcf7 {
    .wpcf7-form-control-wrap {
        display: flex;
        flex-wrap: wrap;
    }

    .wpcf7-text,
    .wpcf7-email,
    .wpcf7-textarea {
        width: 100%;
        flex-basis: 100%;
        padding: 0.75rem 0.75rem 0.75rem 1rem;
        border-radius: var(--wp--custom--radius--sm, 0.25rem);
        border: 1px solid var(--wp--preset--color--neutral-5, #E6E6E6);
        background: var(--wp--preset--color--neutral-6, #F2F3F2);
        font-family: var(--wp--preset--font-family--plus-jakarta-sans) sans-serif;
        font-size: var(--wp--preset--font-size--md, 1rem);
    }

    .wpcf7-textarea {
        height: 7rem;
    }

    .wpcf7-not-valid-tip {
        font-size: 0.875rem;
    }

    .wpcf7-submit {
        background-color: var(--wp--preset--color--brand-dark, #0E3C20);
        border-radius: var(--wp--custom--radius--sm, 0.25rem);
        border-color: var(--wp--preset--color--brand-dark, #0E3C20);
        border-width: 1px;
        border-style: solid;
        color: var(--wp--preset--color--white, #FFFFFF);
        font-family: var(--wp--preset--font-family--unbounded) sans-serif;
        font-size: var(--wp--preset--font-size--sm, 0.625rem);
        font-weight: 700;
        letter-spacing: 2.56px;
        line-height: 1;
        padding: var(--wp--preset--spacing--sm, 0.75rem) var(--wp--preset--spacing--lg, 1.25rem);
        text-decoration: none;
        text-transform: uppercase;
        cursor: pointer;
        transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out;

        &:hover {
            background-color: var(--wp--preset--color--neutral-7, #F3F5F4);
            color: var(--wp--preset--color--brand-dark, #0E3C20);
        }
    }

    .wpcf7-spinner {
        top: 0.5rem;
    }

    form .wpcf7-response-output {
        margin: 1rem 0 0 0;
    }

    p {
        margin: var(--wp--preset--spacing--lg, 1.25rem) 0;

        &:last-of-type {
            margin-bottom: 0;
        }
    }
}

/* Light Modal Block */
.wpcf7-form {
    .popup-form {
        max-height: 1000px;
        overflow: hidden;
        transition: max-height 0.3s ease-in-out;
    }

    &.sent .popup-form {
        max-height: 0;
    }
}

/* Blog */
.block-query-blog {
    .wp-block-post + .wp-block-post,
    .wp-block-query-pagination {
        margin-block-start: var(--wp--preset--spacing--2-xl, 2.5rem);
    }

    .wp-block-post {
        position: relative;

        .wp-block-post-featured-image img {
            height: 20rem;
        }

        > .wp-block-group {
            position: absolute;
            inset: var(--wp--preset--spacing--lg, 1.25rem);
            z-index: 1;
            pointer-events: none;
        }

        h2 {
            margin-top: var(--wp--preset--spacing--xs, 0.5rem);
        }
    }

    .wp-block-query-pagination-previous,
    .wp-block-query-pagination-next,
    .page-numbers {
        border-radius: var(--wp--custom--radius--sm, 0.25rem);
        border-width: 1px;
        border-style: solid;
        font-family: var(--wp--preset--font-family--unbounded) sans-serif;
        font-size: var(--wp--preset--font-size--sm, 0.625rem);
        font-weight: 700;
        letter-spacing: 2.56px;
        line-height: 1;
        padding: var(--wp--preset--spacing--sm, 0.75rem) var(--wp--preset--spacing--lg, 1.25rem);
        text-decoration: none;
        text-transform: uppercase;
        transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out;
    }

    .wp-block-query-pagination-previous,
    .wp-block-query-pagination-next {
        background-color: var(--wp--preset--color--brand-dark, #0E3C20);
        border-color: var(--wp--preset--color--brand-dark, #0E3C20);
        color: var(--wp--preset--color--white, #FFFFFF);
        cursor: pointer;
        text-align: center;

        &:hover {
            background-color: var(--wp--preset--color--neutral-7, #F3F5F4);
            color: var(--wp--preset--color--brand-dark, #0E3C20);
        }
    }

    .page-numbers {
        display: inline-block;
    }

    a.page-numbers:hover {
        background-color: var(--wp--preset--color--brand-100, #E6F3D9);
        border-color: var(--wp--preset--color--brand-dark, #0E3C20);
        color: var(--wp--preset--color--brand-dark, #0E3C20);
    }
}

@media (max-width: 767px) {
    .block-query-blog {
        .wp-block-query-pagination-previous,
        .wp-block-query-pagination-next {
            width: 100%;
        }
    }
}

@media (min-width: 992px) {
    .block-query-blog .wp-block-post {
        > .wp-block-group {
            width: 50%
        }
    }
}

.taxonomy-category {
    display: flex;
    flex-wrap: wrap;
    gap: 0.125rem;

    > a {
        display: inline-block;
        padding: 0.1875rem var(--wp--preset--spacing--xs, 0.5rem);
        border-radius: 22rem;
        background-color: var(--wp--preset--color--neutral-8, #F9FCF5);
        color: var(--wp--preset--brand-light, #80C241);
        font-family: var(--wp--preset--font-family--unbounded), sans-serif;
        font-size: 0.625rem;
        text-decoration: none;
        text-transform: uppercase;
    }

    .wp-block-post-terms__separator {
        display: none;
    }
}

.wp-block-post-excerpt__more-text,
.wp-block-latest-posts__more-text {
    margin-top: var(--wp--preset--spacing--md, 1rem);
}

.wp-block-post-excerpt__more-link,
.wp-block-latest-posts__more-link {
    font-family: var(--wp--preset--font-family--unbounded), sans-serif;
    font-size: var(--wp--preset--font-size--sm, 0.625rem);
    text-transform: uppercase;
}

.wp-block-query .wp-block-post:hover .wp-block-post-excerpt__more-link,
.wp-block-latest-posts__more-link:hover {
    text-decoration: none;
}

.wp-block-post-featured-image.alignwide {
    max-width: 976px;
}

/* Cookie Consent */
#cc-main {
    --cc-font-family: var(--wp--preset--font-family--plus-jakarta-sans) sans-serif;
    --cc-btn-primary-bg: var(--wp--preset--color--brand-dark, #0E3C20);
    --cc-btn-primary-color: var(--wp--preset--color--white, #FFFFFF);
    --cc-btn-primary-border-color: var(--wp--preset--color--brand-dark, #0E3C20);
    --cc-btn-primary-hover-bg: var(--wp--preset--color--neutral-7, #F3F5F4);
    --cc-btn-primary-hover-color: var(--wp--preset--color--brand-dark, #0E3C20);
    --cc-btn-primary-hover-border-color: var(--wp--preset--color--brand-dark, #0E3C20);
    --cc-btn-secondary-bg: var(--wp--preset--color--brand-light, #80C241);
    --cc-btn-secondary-color: var(--wp--preset--color--white, #FFFFFF);
    --cc-btn-secondary-border-color: var(--wp--preset--color--brand-light, #80C241);
    --cc-btn-secondary-hover-bg: var(--wp--preset--color--brand-100, #E6F3D9);
    --cc-btn-secondary-hover-color: var(--wp--preset--color--brand-dark, #0E3C20);
    --cc-btn-secondary-hover-border-color: var(--wp--preset--color--brand-100, #E6F3D9);
    --cc-toggle-on-bg: var(--cc-btn-primary-bg);
    --cc-btn-border-radius: var(--wp--custom--radius--sm, 0.25rem);
    --cc-modal-border-radius: var(--wp--custom--radius--md, 0.5rem);
    --cc-link-color: var(--wp--preset--color--brand-light, #80C241);

    button.cm__btn,
    button.pm__btn {
        font-family: var(--wp--preset--font-family--unbounded), sans-serif;
        text-transform: uppercase;
        font-size: 0.625rem;
        font-weight: 700;
        letter-spacing: 2.56px;
        line-height: 1;
        padding: var(--wp--preset--spacing--sm, 0.75rem) var(--wp--preset--spacing--md, 1rem);
        min-height: auto;
        white-space: nowrap;
    }

    .pm__section-desc a,
    #cm__desc button {
        color: var(--cc-link-color);
        text-decoration: underline;
        font-weight: normal;
        background: none;
        transition: none;

        &:hover {
            text-decoration: none;
            color: var(--cc-link-color);
        }
    }

    .cm {
        max-width: 30rem;
    }
}

/* Latest posts - slider on mobile */
@media (max-width: 767px) {
    .slider-posts,
    .slider-posts.wp-block-latest-posts.is-grid {
        display: flex;
        flex-wrap: nowrap;
        gap: 0.75rem;
        padding-bottom: var(--wp--preset--spacing--md, 1rem) !important;
        margin-bottom: var(--wp--preset--spacing--xs, 0.5rem) !important;
        scroll-behavior: smooth;
        touch-action: pan-x;
        -webkit-overflow-scrolling: touch;
        overflow-x: scroll;
        scroll-snap-type: x mandatory;

        /* Show one full slide + ~5% of the next slide */

        li {
            width: calc(85vw - var(--wp--style--root--padding-right, 0.75rem) - var(--wp--style--root--padding-left, 0.75rem));
            flex-shrink: 0;
            scroll-snap-align: start;
            margin: 0;
        }
    }
}

/* A/B testing */
.ab-test-hidden {
    display: none !important;
}
