/*!
Theme Name: Brick Beam
Theme URI: https://fireflythemes.com/themes/brick-beam
Author: ffthemes
Author URI: https://fireflythemes.com/
Description: Brick & Beam is a construction-oriented theme for WordPress, designed with Full Site Editing support. Suitable for construction firms, builders, and architectural services, it includes block patterns for Hero, Services, Featured Grid, Testimonials, and Contact sections. The theme is responsive and allows for customization via the WordPress Site Editor.
Version: 1.0.2
Requires at least: 6.1
Tested up to: 6.7
Requires PHP: 5.6
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.
*/
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
  border: none;
}
.wp-block-navigation ul li ul {
  border: none !important;
  box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.0509803922);
}
.wp-block-navigation ul li ul li {
  border-bottom: 1px solid rgba(146, 146, 146, 0.231372549);
}
.wp-block-navigation ul li ul li:last-child {
  border: none;
}
.wp-block-navigation ul li.open-on-click ul {
  top: 50px;
}
.wp-block-navigation ul li.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;
}
.wp-block-navigation ul li.open-on-hover-click:hover > ul, .wp-block-navigation ul li.open-on-hover-click:focus > ul, .wp-block-navigation ul li.open-on-hover-click:active > ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(10px);
  pointer-events: auto;
}
.wp-block-navigation__responsive-container-open {
  padding: 0.5rem;
  background-color: var(--wp--preset--color--background-secondary, rgba(162, 161, 161, 0.3098039216));
}

/* Mobile (max-width: 600px) */
@media screen and (max-width: 600px) {
  .wp-block-navigation .wp-block-navigation__responsive-container-close {
    right: 2rem;
  }
  .wp-block-navigation .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;
  }
  .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
    width: 100%;
    border-bottom: none;
  }
  .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.0509803922);
    padding: 7px 50px 7px 20px;
  }
  .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul {
    padding-bottom: 10px;
  }
  .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul li a {
    padding: 5px !important;
  }
  .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
    display: block !important;
    position: absolute;
    right: 0;
    top: 0;
    height: 42px;
    width: 42px;
    z-index: 99;
  }
  .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
    width: 15px;
    height: 15px;
  }
  .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item 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 .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + ul {
    display: block;
  }
  .wp-block-navigation.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;
  }
  .wp-block-navigation ul li ul::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 45px;
    top: -25px;
  }
  .wp-block-navigation ul li.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;
}
.image-zoom-hover::before, .image-zoom-hover::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.1490196078);
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease;
}
.image-zoom-hover img {
  width: 100%;
  transition: transform 1s ease;
}
.image-zoom-hover:hover::before, .image-zoom-hover:hover::after {
  width: 0;
  opacity: 1;
  visibility: visible;
}
.image-zoom-hover:hover img {
  transform: scale(1.1);
}

/* WooCommerce */
.wc-block-grid__product .wc-block-grid__product-image {
  overflow: hidden;
}
.wc-block-grid__product .wc-block-grid__product-image img {
  transition: transform 1s ease;
}
.wc-block-grid__product:hover img {
  transform: scale(1.1);
}

/* Tag cloud */
.wp-block-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.wp-block-tag-cloud 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;
}
.wp-block-post-author 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,
  body .mobile-hide {
    display: none !important;
  }
  body .mobile-alignleft {
    text-align: left;
  }
  body .mobile-alignright {
    text-align: right;
  }
  body .mobile-aligncenter {
    display: flex;
    justify-content: center !important;
    width: 100%;
  }
  body .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[type=text], input[type=email], input[type=url], input[type=password], input[type=number], input[type=tel], input[type=range], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime], input[type=datetime-local], input[type=color],
textarea[type=text],
textarea[type=email],
textarea[type=url],
textarea[type=password],
textarea[type=number],
textarea[type=tel],
textarea[type=range],
textarea[type=date],
textarea[type=month],
textarea[type=week],
textarea[type=time],
textarea[type=datetime],
textarea[type=datetime-local],
textarea[type=color] {
  padding: 0.6rem 1rem;
  background: transparent;
  border: 1px solid var(--wp--preset--color--border-color);
  width: 100%;
  box-sizing: border-box;
}
input[type=text]:focus, input[type=email]:focus, input[type=url]:focus, input[type=password]:focus, input[type=number]:focus, input[type=tel]:focus, input[type=range]:focus, input[type=date]:focus, input[type=month]:focus, input[type=week]:focus, input[type=time]:focus, input[type=datetime]:focus, input[type=datetime-local]:focus, input[type=color]:focus,
textarea[type=text]:focus,
textarea[type=email]:focus,
textarea[type=url]:focus,
textarea[type=password]:focus,
textarea[type=number]:focus,
textarea[type=tel]:focus,
textarea[type=range]:focus,
textarea[type=date]:focus,
textarea[type=month]:focus,
textarea[type=week]:focus,
textarea[type=time]:focus,
textarea[type=datetime]:focus,
textarea[type=datetime-local]:focus,
textarea[type=color]: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;
  }
  .mobile-horizontal-scroll > * {
    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;
  }
}