/* Bazar Visual Refinement 2.0
   Layout-only refinement. Intentionally does not declare footer colors,
   backgrounds, borders, font families, or text colors. The active theme palette
   and branding accents remain the source of truth. */

.bazar-vr2-footer,
.bazar-vr2-footer * {
  box-sizing: border-box;
}

/* Reduce the large vertical breathing spaces inherited from the footer template. */
.bazar-vr2-footer {
  padding-top: clamp(18px, 2vw, 28px) !important;
  padding-bottom: 12px !important;
}

.bazar-vr2-footer .bazar-vr2-tight-shell {
  padding-top: 18px !important;
  padding-bottom: 14px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Desktop: four deliberate columns, ordered by reading priority from right to left. */
.bazar-vr2-footer .bazar-vr2-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, .82fr) minmax(0, 1.16fr) minmax(0, 1.08fr) !important;
  grid-template-areas: "resources quick contact brand" !important;
  column-gap: clamp(22px, 2.5vw, 42px) !important;
  row-gap: 12px !important;
  align-items: start !important;
  justify-items: stretch !important;
  width: min(1440px, calc(100% - 56px)) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  padding: 0 !important;
  direction: ltr !important;
}

.bazar-vr2-footer .bazar-vr2-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  flex: initial !important;
  direction: rtl !important;
  text-align: right !important;
  gap: 6px !important;
  align-self: start !important;
}

.bazar-vr2-footer .bazar-vr2-col--brand { grid-area: brand !important; }
.bazar-vr2-footer .bazar-vr2-col--contact { grid-area: contact !important; }
.bazar-vr2-footer .bazar-vr2-col--quick { grid-area: quick !important; }
.bazar-vr2-footer .bazar-vr2-col--resources { grid-area: resources !important; }

/* Preserve theme typography; only regularize the vertical rhythm. */
.bazar-vr2-footer .bazar-vr2-col h1,
.bazar-vr2-footer .bazar-vr2-col h2,
.bazar-vr2-footer .bazar-vr2-col h3,
.bazar-vr2-footer .bazar-vr2-col h4,
.bazar-vr2-footer .bazar-vr2-col h5,
.bazar-vr2-footer .bazar-vr2-col h6,
.bazar-vr2-footer .bazar-vr2-col .widget-title,
.bazar-vr2-footer .bazar-vr2-col .elementor-heading-title,
.bazar-vr2-footer .bazar-vr2-col .wp-block-heading {
  margin: 0 0 5px !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

.bazar-vr2-footer .bazar-vr2-col > .elementor-widget-wrap,
.bazar-vr2-footer .bazar-vr2-col > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  padding: 0 !important;
}

.bazar-vr2-footer .bazar-vr2-col .elementor-widget,
.bazar-vr2-footer .bazar-vr2-col > .elementor-element,
.bazar-vr2-footer .bazar-vr2-col > .wp-block-group,
.bazar-vr2-footer .bazar-vr2-col > .widget,
.bazar-vr2-footer .bazar-vr2-col > .elementor-widget {
  margin-block: 0 5px !important;
}

.bazar-vr2-footer .bazar-vr2-col p,
.bazar-vr2-footer .bazar-vr2-col li,
.bazar-vr2-footer .bazar-vr2-col address,
.bazar-vr2-footer .bazar-vr2-col .textwidget,
.bazar-vr2-footer .bazar-vr2-col .elementor-widget-text-editor,
.bazar-vr2-footer .bazar-vr2-col .elementor-icon-list-text {
  line-height: 1.72 !important;
  text-align: right !important;
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}

.bazar-vr2-footer .bazar-vr2-col ul,
.bazar-vr2-footer .bazar-vr2-col ol {
  margin-block: 0 !important;
  padding-inline: 0 !important;
}

.bazar-vr2-footer .bazar-vr2-col li {
  padding: 0 !important;
}

.bazar-vr2-footer .bazar-vr2-col--brand img,
.bazar-vr2-footer .bazar-vr2-col--brand picture,
.bazar-vr2-footer .bazar-vr2-col--brand .custom-logo {
  display: block !important;
  width: auto !important;
  max-width: min(158px, 100%) !important;
  max-height: 46px !important;
  margin: 0 0 4px auto !important;
  object-fit: contain !important;
  object-position: right center !important;
}

/* Compact legal / copyright line without changing its inherited styling. */
.bazar-vr2-footer .bazar-vr2-legal-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 18px !important;
  direction: rtl !important;
  width: min(1440px, calc(100% - 56px)) !important;
  max-width: 1440px !important;
  margin: 14px auto 0 !important;
  padding: 10px 0 0 !important;
}

.bazar-vr2-footer .bazar-vr2-legal-row > * {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.55 !important;
  text-align: start !important;
}

.bazar-vr2-footer .bazar-vr2-legal-row > *:last-child {
  text-align: end !important;
}

.bazar-vr2-footer .bazar-vr2-legal-copy {
  margin: 0 !important;
  line-height: 1.55 !important;
}

@media (max-width: 1024px) {
  .bazar-vr2-footer .bazar-vr2-grid {
    width: calc(100% - 40px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "brand brand"
      "contact contact"
      "resources quick" !important;
    column-gap: 28px !important;
    row-gap: 13px !important;
  }

  .bazar-vr2-footer .bazar-vr2-col {
    gap: 4px !important;
  }

  .bazar-vr2-footer .bazar-vr2-legal-row {
    width: calc(100% - 40px) !important;
    margin-top: 12px !important;
  }
}

@media (max-width: 600px) {
  .bazar-vr2-footer {
    padding-top: 16px !important;
    padding-bottom: 10px !important;
  }

  .bazar-vr2-footer .bazar-vr2-grid {
    width: calc(100% - 32px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 16px !important;
    row-gap: 10px !important;
  }

  .bazar-vr2-footer .bazar-vr2-col--brand img,
  .bazar-vr2-footer .bazar-vr2-col--brand picture,
  .bazar-vr2-footer .bazar-vr2-col--brand .custom-logo {
    max-width: 142px !important;
    max-height: 40px !important;
  }

  .bazar-vr2-footer .bazar-vr2-col h1,
  .bazar-vr2-footer .bazar-vr2-col h2,
  .bazar-vr2-footer .bazar-vr2-col h3,
  .bazar-vr2-footer .bazar-vr2-col h4,
  .bazar-vr2-footer .bazar-vr2-col h5,
  .bazar-vr2-footer .bazar-vr2-col h6,
  .bazar-vr2-footer .bazar-vr2-col .widget-title,
  .bazar-vr2-footer .bazar-vr2-col .elementor-heading-title,
  .bazar-vr2-footer .bazar-vr2-col .wp-block-heading {
    margin-bottom: 4px !important;
    line-height: 1.45 !important;
  }

  .bazar-vr2-footer .bazar-vr2-col p,
  .bazar-vr2-footer .bazar-vr2-col li,
  .bazar-vr2-footer .bazar-vr2-col address,
  .bazar-vr2-footer .bazar-vr2-col .textwidget,
  .bazar-vr2-footer .bazar-vr2-col .elementor-widget-text-editor,
  .bazar-vr2-footer .bazar-vr2-col .elementor-icon-list-text {
    line-height: 1.65 !important;
    margin-bottom: 3px !important;
  }

  .bazar-vr2-footer .bazar-vr2-legal-row {
    width: calc(100% - 32px) !important;
    grid-template-columns: 1fr !important;
    row-gap: 6px !important;
    margin-top: 10px !important;
    padding-top: 8px !important;
  }
}

/* Keep the previously requested mobile menu legible; this is scoped to the menu only. */
@media (max-width: 1024px) {
  .mobile-menu,
  .mobile-menu-wrapper,
  .mobile-nav,
  .mobile-navigation,
  #mobile-menu,
  #mobile-nav,
  .offcanvas-menu,
  .menu-drawer,
  .nav-drawer,
  .elementor-nav-menu--dropdown,
  .elementor-location-header .elementor-nav-menu__container,
  .wp-block-navigation__responsive-container.is-menu-open,
  .elementor-popup-modal .dialog-widget-content {
    opacity: 1 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .elementor-location-header .elementor-nav-menu--dropdown a,
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
  .mobile-menu a,
  .mobile-menu-wrapper a,
  .mobile-nav a,
  .mobile-navigation a,
  #mobile-menu a,
  #mobile-nav a,
  .offcanvas-menu a,
  .menu-drawer a,
  .nav-drawer a,
  .wp-block-navigation__responsive-container.is-menu-open a,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    font-weight: 600 !important;
    line-height: 1.9 !important;
    text-decoration: none !important;
  }
}
