/*!
Theme Name: Brick Beam
Theme URI: https://fireflythemes.com/themes/brick-beam
Author: ffthemes
Author URI: https://fireflythemes.com/
Description: Brick & Beam is a modern construction-based WordPress theme built for construction companies, contractors, builders, architectural firms, engineering businesses, and other professional business websites. It features a clean and responsive design with useful sections such as Hero, Services, Featured Grid, Testimonials, and Contact. With Full Site Editing support and flexible customization options, Brick & Beam makes it easy to create a professional website that looks great on all devices.
Version: 1.0.4
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: brick-beam
Tags: portfolio, full-site-editing,custom-logo, custom-menu, featured-images, translation-ready, rtl-language-support, grid-layout, one-column, two-columns, right-sidebar, full-width-template, footer-widgets, theme-options, wide-blocks

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Brick & Beam WordPress Theme, Copyright 2026 FireflyThemes.com
Brick & Beam is distributed under the terms of the GNU GPL.
*/
body {
    overflow-wrap: break-word;
    box-sizing: border-box;
    word-break: break-word;

}

.wp-block-navigation {
    &:not(.has-background) {
        .wp-block-navigation__submenu-container {
            border: none;
        }
    }

    ul {
        li {
            ul {
                border: none !important;
                box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.0509803922);

                li {
                    border-bottom: 1px solid rgba(146, 146, 146, 0.231372549);

                    &:last-child {
                        border: none;
                    }
                }
            }

            &.open-on-click {
                ul {
                    top: 50px;
                }
            }

            &.open-on-hover-click {
                ul {
                    opacity: 0;
                    visibility: hidden;
                    border: none !important;
                    box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.0509803922);
                    transform: translateY(20px);
                    pointer-events: none;
                    z-index: 999;
                    transition: transform 0.4s ease;
                }

                &:hover>ul,
                &:focus>ul,
                &:active>ul {
                    opacity: 1;
                    visibility: visible;
                    transform: translateY(10px);
                    pointer-events: auto;
                }
            }
        }
    }

    &__responsive-container-open {
        padding: 0.5rem;
        background-color: var(--wp--preset--color--background-secondary, #a2a1a14f);
    }


}

/* Mobile (max-width: 600px) */
@media screen and (max-width: 600px) {
    .wp-block-navigation {
        .wp-block-navigation__responsive-container-close {
            right: 2rem;
        }

        .wp-block-navigation__responsive-container-content {
            ul.wp-block-navigation__container {
                width: 100%;
                gap: 0 !important;
                border: 1px solid rgba(0, 0, 0, 0.0509803922);
                border-bottom: none;

                li.wp-block-navigation-item {
                    width: 100%;
                    border-bottom: none;

                    a {
                        width: 100%;
                        border-bottom: 1px solid rgba(0, 0, 0, 0.0509803922);
                        padding: 7px 50px 7px 20px;
                    }

                    ul {
                        padding-bottom: 10px;

                        li {
                            a {
                                padding: 5px !important;
                            }
                        }
                    }

                    .wp-block-navigation__submenu-icon {
                        display: block !important;
                        position: absolute;
                        right: 0;
                        top: 0;
                        height: 42px;
                        width: 42px;
                        z-index: 99;

                        svg {
                            width: 15px;
                            height: 15px;
                        }
                    }

                    ul.wp-block-navigation__submenu-container {
                        display: none;
                        width: 100%;
                        box-shadow: none;
                        position: inherit !important;
                        padding-top: 0;
                        margin-bottom: 10px;
                        margin-top: 0;
                    }

                    .wp-block-navigation-submenu__toggle[aria-expanded="true"]+ul {
                        display: block;
                    }
                }
            }
        }

        &.is-responsive {
            .wp-block-navigation__responsive-container {
                height: 100vh;
            }
        }
    }
}

/* Desktop */
@media screen and (min-width: 600px) {
    .wp-block-navigation {
        ul {
            li {
                ul {
                    width: 230px !important;

                    &::after {
                        content: "";
                        position: absolute;
                        width: 100%;
                        height: 45px;
                        top: -25px;
                    }
                }

                &.open-on-hover-click {
                    ul {
                        width: 320px;
                        max-height: none;
                    }
                }
            }
        }
    }
}

/* Utility classes */
.list-style-none {
    list-style: none;
    padding: 0;
    margin: 0;
}

.image-zoom-hover {
    overflow: hidden;
    position: relative;

    &::before,
    &::after {
        content: "";
        position: absolute;
        inset: 0;
        background-color: rgba(255, 255, 255, 0.1490196078);
        opacity: 0;
        visibility: hidden;
        transition: all 0.5s ease;
    }

    img {
        width: 100%;
        transition: transform 1s ease;
    }

    &:hover {

        &::before,
        &::after {
            width: 0;
            opacity: 1;
            visibility: visible;
        }

        img {
            transform: scale(1.1);
        }
    }
}

/* WooCommerce */
.wc-block-grid__product {
    .wc-block-grid__product-image {
        overflow: hidden;

        img {
            transition: transform 1s ease;
        }
    }

    &:hover img {
        transform: scale(1.1);
    }
}

/* Tag cloud */
.wp-block-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;

    a {
        display: flex;
        align-items: center;
        border: 1px solid #ddd;
        padding: 4px 15px;
    }
}

footer {
    ul.wp-block-list {
        list-style: none;
        padding: 0;
    }
}

.wp-block-post-excerpt__more-text {
    margin-bottom: 0;
    margin-top: 10px;
    font-weight: 500;
}

main ul {
    list-style: none;
    padding: 0;
}

.wp-block-latest-posts {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.wp-block-search__button {
    border: none;
}

.wp-block-search__input {
    padding-left: 1rem;
}

.wp-site-blocks>*,
.is-root-container>* {
    margin: 0;
}

.wp-block-post-author {
    .wp-block-post-author__avatar {
        margin-right: 10px;
    }

    img {
        vertical-align: middle;
        border-radius: 100px;
    }
}

.wp-block-post-author {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

/* Misc */
.wp-block-image img {
    vertical-align: middle;
}

footer.wp-block-template-part,
header.wp-block-template-part {
    margin: 0 !important;
}

/* Responsive helpers */
@media (max-width: 767px) {
    body {

        .hide-on-mobile,
        .mobile-hide {
            display: none !important;
        }

        .mobile-alignleft {
            text-align: left;
        }

        .mobile-alignright {
            text-align: right;
        }

        .mobile-aligncenter {
            display: flex;
            justify-content: center !important;
            width: 100%;
        }

        .mobile-media-alignjustify {
            display: flex;
            justify-content: space-between;
            width: 100%;

        }
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body .hide-on-tablet {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    body .hide-on-desktop {
        display: none !important;
    }
}

/* Forms */
input,
textarea {

    &[type="text"],
    &[type="email"],
    &[type="url"],
    &[type="password"],
    &[type="number"],
    &[type="tel"],
    &[type="range"],
    &[type="date"],
    &[type="month"],
    &[type="week"],
    &[type="time"],
    &[type="datetime"],
    &[type="datetime-local"],
    &[type="color"] {
        padding: 0.6rem 1rem;
        background: transparent;
        border: 1px solid var(--wp--preset--color--border-color);
        width: 100%;
        box-sizing: border-box;

        &:focus {
            border-color: var(--wp--preset--color--primary);
            outline: none;
        }
    }
}

input[type="submit"] {
    border: none;
    padding: 0.8rem 2rem;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 400;
}

@media (max-width: 991px) {
    .mobile-horizontal-scroll {
        display: flex !important;
        padding: 0;
        overflow: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;

        >* {
            list-style: none;
            max-width: inherit;
            min-width: 320px;
        }
    }

    .alignwide {
        &.mobile-scroll {
            &::-webkit-scrollbar {
                display: none;
            }
        }
    }
}

@media (max-width: 480px) {
    .mobile-horizontal-scroll {
        >* {
            min-width: 250px;
        }
    }
}

*:where(a) {
    text-decoration: none;
}

/* Post content */
.entry-content a,
.wp-block-post-content a,
.page-content a {
    text-decoration: underline;
}

/* Excerpts */
.wp-block-post-excerpt a,
.entry-summary a {
    text-decoration: underline;
}

/* Comments */
.comment-content a {
    text-decoration: underline;
}

/* Widgets */
.widget a,
.wp-block-latest-posts a,
.wp-block-navigation a {
    text-decoration: underline;
}

.wp-block-navigation a,
.site-header a,
.site-footer a {
    text-decoration: none;
}