/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Bricks 2.x mobile nav regression fix (2026-04-16)
   После обновления Bricks 1.12.5 → 2.3.2 cascade layers поломали правило,
   которое схлопывало закрытые мобильные dropdown-submenu (Services, Process)
   в кастомном мобильном меню Rivo Agency (.dropdown-submenu-mobile).
   Без фикса Services-submenu оставался visibility:hidden, но занимал ~450px
   в потоке → огромные пустые промежутки между пунктами. */
@media (max-width: 991px) {
  li.brxe-dropdown:not(.open) > .mobile-submenu,
  li.brxe-dropdown:not(.open) > .brx-dropdown-content {
    display: none !important;
  }
}

/* Rivo Menu (ACF-driven) — стили после потери original Bricks settings (2026-04-17).
   После замены fhjblt (ul в nav-nested) на кастомный rivo-menu пропали:
   - typography (цвет/размер) родительского ul
   - position/shadow/radius у mega-menu card (задавались в Element settings).
   Восстанавливаем через child-theme. */

/* --- DESKTOP: top-level ul --- */
.brxe-rivo-menu ul.rivo-menu--desktop {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--ra-text-white) !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.brxe-rivo-menu ul.rivo-menu--desktop > li {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
}
.brxe-rivo-menu ul.rivo-menu--desktop a {
  color: var(--ra-text-white) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}
.brxe-rivo-menu ul.rivo-menu--desktop a:hover {
  color: var(--ra-header-hover, #b4d943) !important;
}

/* --- DESKTOP: dropdown toggle (Services/Process) --- */
.brxe-rivo-menu ul.rivo-menu--desktop .brx-submenu-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  color: var(--ra-text-white);
}
.brxe-rivo-menu ul.rivo-menu--desktop .brx-submenu-toggle > span {
  color: var(--ra-text-white);
}
.brxe-rivo-menu ul.rivo-menu--desktop .brx-submenu-toggle button {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: inherit;
  display: inline-flex;
}
.brxe-rivo-menu ul.rivo-menu--desktop .brx-submenu-toggle svg {
  width: 12px;
  height: 12px;
}

/* --- DESKTOP: mega-menu dropdown card (overlay) --- */
.brxe-rivo-menu .mega-menu--item--wrapper {
  position: absolute !important;
  top: calc(100% + 20px) !important;
  left: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  min-width: unset !important;
  width: auto !important;
  max-width: 860px !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12) !important;
  z-index: 1500 !important;
  overflow: hidden !important;
}
.brxe-rivo-menu li.brxe-dropdown {
  position: relative;
}
/* Services dropdown — левая колонка шире (8 items в 2 колонки) */
.brxe-rivo-menu .services-mega-menu .top-nav-menu--mm-section.left {
  min-width: 420px;
}
.brxe-rivo-menu .services-mega-menu .top-nav-menu--mm-section.left .dropdown-submenu-items-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.5rem !important;
}
/* Остальные секции — просто column */
.brxe-rivo-menu .top-nav-menu--mm-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  min-width: 200px;
}
.brxe-rivo-menu .top-nav-menu--mm-section.left {
  padding-right: 1.5rem;
}
.brxe-rivo-menu .top-nav-menu--mm-section.right {
  padding-left: 1.5rem;
  border-left: 1px solid rgba(0, 0, 0, 0.06);
  background: rgba(0, 0, 0, 0.02);
  margin: -2rem -2rem -2rem 0;
  padding: 2rem;
  border-radius: 0 20px 20px 0;
}
.brxe-rivo-menu .top-nav-menu--mm-section--title {
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: #222 !important;
  margin: 0 0 0.25rem !important;
}
.brxe-rivo-menu .dropdown-submenu-items-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem;
}
/* Item links внутри mega-menu (более специфичный селектор, чем ul.rivo-menu--desktop a) */
.brxe-rivo-menu ul.rivo-menu--desktop .mega-menu--item--wrapper a.mega-menu--item--link {
  display: block !important;
  padding: 0.3rem 0 !important;
  text-decoration: none !important;
  color: #333 !important;
  font-size: 0.95rem !important;
  line-height: 1.3 !important;
  transition: color 0.15s ease;
}
.brxe-rivo-menu ul.rivo-menu--desktop .mega-menu--item--wrapper a.mega-menu--item--link:hover {
  color: var(--primary, #2a7c3f) !important;
}
.brxe-rivo-menu ul.rivo-menu--desktop a.megamenu-view-all-btn {
  margin-top: auto;
  align-self: flex-start;
  padding: 0.7rem 1.2rem !important;
  border: 1.5px solid var(--primary, #2a7c3f);
  border-radius: 8px;
  color: var(--primary, #2a7c3f) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
  background: transparent !important;
}
.brxe-rivo-menu ul.rivo-menu--desktop a.megamenu-view-all-btn:hover {
  background: var(--primary, #2a7c3f) !important;
  color: #fff !important;
}

/* --- MOBILE: offcanvas menu --- */
.brxe-rivo-menu ul.rivo-menu--mobile {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
}
.brxe-rivo-menu ul.rivo-menu--mobile > li {
  list-style: none !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.brxe-rivo-menu ul.rivo-menu--mobile a {
  display: block;
  padding: 1rem 1.25rem;
  color: #222;
  text-decoration: none;
  text-align: right;
  font-size: 1rem;
}
.brxe-rivo-menu ul.rivo-menu--mobile .brx-submenu-toggle {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
}
.brxe-rivo-menu ul.rivo-menu--mobile .brx-submenu-toggle button {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.brxe-rivo-menu ul.rivo-menu--mobile .mobile-submenu {
  list-style: none !important;
  padding: 0 0 1rem !important;
  margin: 0 !important;
  background: rgba(0, 0, 0, 0.02);
}
.brxe-rivo-menu ul.rivo-menu--mobile .mobile-submenu li {
  border: 0;
}
.brxe-rivo-menu ul.rivo-menu--mobile .mobile-submenu a {
  padding: 0.6rem 1.5rem;
  font-size: 0.95rem;
  color: #555;
}