/* ─────────────────────────────────────────────────────────────────
   Bricks & Blooms — Footer "Top Products" dynamic menu + footer layout
  Single source of truth: child theme asset.
   ───────────────────────────────────────────────────────────────── */

/* Zero the ul's default padding-left so items aren't indented.
   Targets the container div WordPress generates from the menu name. */
.menu-top-products-container .menu {
  padding-left: 0 !important;
  margin-left: 0 !important;
  list-style: none;
}

/* Modern browsers: any ul.menu whose direct children are our items */
ul.menu:has(> .bb-dynamic-top-products) {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Flush ALL items in the Top Products list (dynamic + any static seed item) */
.upper-footer .footer_widget ul.menu:has(> li.bb-dynamic-top-products) > li,
.upper-footer .footer_widget ul.menu:has(> li.bb-dynamic-top-products) > li > a,
footer .upper-footer .footer_widget ul.menu:has(> li.bb-dynamic-top-products) > li > a {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}

/* Item and link resets */
.bb-dynamic-top-products {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.bb-dynamic-top-products a {
  margin-left: 0 !important;
  padding-left: 0 !important;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.bb-dynamic-top-products + .bb-dynamic-top-products {
  margin-top: 4px;
}

/* Stronger footer overrides against theme .navbar-footer indentation rules */
.upper-footer .navbar-footer li.bb-dynamic-top-products,
.upper-footer .navbar-footer li.bb-dynamic-top-products > a,
.footer-widget-area .navbar-footer li.bb-dynamic-top-products,
.footer-widget-area .navbar-footer li.bb-dynamic-top-products > a {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Ensure the Top Products list is perfectly flush with its column heading */
.upper-footer .footer_widget [class*="menu-top-products"] ul,
.upper-footer .footer_widget [class*="menu-top-products"] .menu,
.upper-footer .footer_widget .menu li.bb-dynamic-top-products,
.upper-footer .footer_widget .menu li.bb-dynamic-top-products > a,
footer.underline-effect .upper-footer .footer_widget .menu li.bb-dynamic-top-products > a,
footer.underline-effect .upper-footer .navbar-footer li.bb-dynamic-top-products > a {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}

/* Slightly smaller footer typography (all upper-footer elements) */
.upper-footer .widget-title {
  font-size: 17px !important;
}

.upper-footer .footer_widget .menu li a,
.upper-footer .footer_widget ul a,
.upper-footer .textwidget,
.upper-footer .textwidget p,
.upper-footer p,
.upper-footer .navbar-footer li a {
  font-size: 15px !important;
}

/* Ellipsis overflow on all footer menu links */
.upper-footer .footer_widget .menu li a,
.upper-footer .navbar-footer li a {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Tighter vertical rhythm across all footer menus */
.upper-footer .footer_widget .menu li,
.upper-footer .navbar-footer li {
  padding: 6px 0 !important;
}

/* Reduce whitespace above footer menu blocks */
.upper-footer .footer_widget {
  margin-top: 42px !important;
  margin-bottom: 38px !important;
}

.upper-footer .footer_widget .menu {
  margin-top: 8px !important;
  padding-bottom: 14px !important;
}

/* Final hard reset: remove left offset from all upper-footer menu structures */
.upper-footer .footer_widget ul,
.upper-footer .footer_widget ul.menu,
.upper-footer .footer_widget ul.navbar-footer,
.upper-footer .footer_widget ul li,
.upper-footer .footer_widget ul li a,
.upper-footer .navbar-footer,
.upper-footer .navbar-footer li,
.upper-footer .navbar-footer li a {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}

/* Ensure icons do not create visual left offset */
.upper-footer .footer_widget ul li a i,
.upper-footer .navbar-footer li a i,
.upper-footer .bb-dynamic-top-products a i {
  margin-left: 0 !important;
  padding-left: 0 !important;
  width: 16px;
  display: inline-block;
  text-align: left;
}

/* ─────────────────────────────────────────────────────────────────
   Featured Services manual menu controls
   Usage in Appearance > Menus > Featured Services item CSS Classes:
   - bb-icon-floral
   - bb-icon-landscaping
   - bb-menu-hidden
   ───────────────────────────────────────────────────────────────── */

/* Hide menu items without deleting them (front-end only). */
.upper-footer .footer_widget li.bb-menu-hidden,
.upper-footer .navbar-footer li.bb-menu-hidden {
  display: none !important;
}

/* Manual icon prefixes for service items. */
.upper-footer .menu-featured-services-container li.bb-icon-floral > a::before,
.upper-footer .footer_widget ul.menu li.bb-icon-floral > a::before {
  content: '\f4d8'; /* fa-seedling */
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: #64BD45;
  margin-right: 5px;
  width: 16px;
  display: inline-block;
  text-align: left;
}

.upper-footer .menu-featured-services-container li.bb-icon-landscaping > a::before,
.upper-footer .footer_widget ul.menu li.bb-icon-landscaping > a::before {
  content: '\f557'; /* fa-archway */
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: #82372E;
  margin-right: 5px;
  width: 16px;
  display: inline-block;
  text-align: left;
}

/* Remove parent-theme border above copyright bar */
.lower-footer .container {
  border-top: none !important;
}

@media (max-width: 767px) {
  /* Hide first footer widget column on mobile only. */
  .upper-footer .footer-widget-area .first-widget-area {
    display: none !important;
  }

  /* Keep upper footer in brand pink on mobile for stronger contrast. */
  #footer .upper-footer {
    background-color: #E9477A !important;
  }

  /* Make footer menu area compact and easier to scan. */
  .upper-footer .footer_widget {
    margin-top: 18px !important;
    margin-bottom: 14px !important;
  }

  .upper-footer .widget-title {
    font-size: 15px !important;
    margin-bottom: 6px !important;
  }

  .upper-footer .footer_widget .menu li,
  .upper-footer .navbar-footer li {
    padding: 3px 0 !important;
  }

  .upper-footer .footer_widget .menu li a,
  .upper-footer .footer_widget ul a,
  .upper-footer .navbar-footer li a,
  .upper-footer .textwidget,
  .upper-footer .textwidget p,
  .upper-footer p {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}
