/*
 * Concierge panels for About, Properties and Blog.
 *
 * One visual language is intentionally shared across all three menu groups:
 * a quiet warm-white panel, stable icon column, direct-link rows and no
 * transform-based hover movement. The markup remains generated from the
 * existing WordPress menus, preserving translated canonical destinations.
 */

:root {
  --artbin-concierge-ink: #10233a;
  --artbin-concierge-gold: #f7b718;
  --artbin-concierge-paper: #fffefd;
  --artbin-concierge-line: rgba(16, 35, 58, .12);
  --artbin-concierge-shadow: 0 18px 42px rgba(3, 23, 45, .22);
}

/* Last-resort alignment rail -------------------------------------------------
 *
 * Some Elementor/Houzez menu skins keep their list at intrinsic width. In that
 * case a grid's flexible middle track can still resolve to the label width.
 * Anchoring the affordance to its row keeps one visual rail on the right for
 * every language, while the label remains free to wrap in the middle column.
 */
html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__item,
    .artbin-blog-menu .artbin-blog-mega__item,
    .artbin-properties-menu .artbin-properties-mega__item,
    .artbin-properties-menu .artbin-properties-mega__nested-item) {
  position: relative !important;
  padding-inline-end: 44px !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__arrow,
    .artbin-blog-menu .artbin-blog-mega__arrow,
    .artbin-properties-menu .artbin-properties-mega__arrow) {
  position: absolute !important;
  inset-inline-end: 10px !important;
  inset-inline-start: auto !important;
  top: 0 !important;
  bottom: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

html body :is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body :is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  :is(.artbin-about-mega-wrapper, .artbin-blog-mega-wrapper, .artbin-properties-mega-wrapper) {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body :is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  :is(.artbin-about-mega, .artbin-blog-mega, .artbin-properties-mega) {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  color: var(--artbin-concierge-ink) !important;
  background: var(--artbin-concierge-paper) !important;
  border: 1px solid rgba(247, 183, 24, .72) !important;
  border-radius: 12px !important;
  box-shadow: var(--artbin-concierge-shadow) !important;
}

html body :is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  :is(.artbin-about-mega, .artbin-blog-mega, .artbin-properties-mega)::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  width: 15px;
  height: 15px;
  background: var(--artbin-concierge-paper);
  border-top: 1px solid rgba(247, 183, 24, .72);
  border-left: 1px solid rgba(247, 183, 24, .72);
  transform: translateX(-50%) rotate(45deg);
  z-index: -1;
}

html body :is(.artbin-about-menu .artbin-about-mega__list,
  .artbin-blog-menu .artbin-blog-mega__list,
  .artbin-properties-menu .artbin-properties-mega__list) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body :is(.artbin-about-menu .artbin-about-mega__item,
  .artbin-blog-menu .artbin-blog-mega__item,
  .artbin-properties-menu .artbin-properties-mega__item) {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 18px !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 12px 10px !important;
  box-sizing: border-box !important;
  color: var(--artbin-concierge-ink) !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  border-bottom: 1px solid var(--artbin-concierge-line) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .16s ease, color .16s ease, box-shadow .16s ease !important;
}

html body :is(.artbin-about-menu .artbin-about-mega__item,
  .artbin-blog-menu .artbin-blog-mega__item,
  .artbin-properties-menu .artbin-properties-mega__item):last-child {
  border-bottom-color: transparent !important;
}

html body :is(.artbin-about-menu .artbin-about-mega__label,
  .artbin-blog-menu .artbin-blog-mega__label,
  .artbin-properties-menu .artbin-properties-mega__label) {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--artbin-concierge-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html body :is(.artbin-about-menu .artbin-about-mega__icon,
  .artbin-blog-menu .artbin-blog-mega__icon,
  .artbin-properties-menu .artbin-properties-mega__icon),
html body :is(.artbin-about-menu .artbin-about-mega__arrow,
  .artbin-blog-menu .artbin-blog-mega__arrow,
  .artbin-properties-menu .artbin-properties-mega__arrow) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  color: var(--artbin-concierge-ink) !important;
  font-size: 25px !important;
  line-height: 1 !important;
  background: transparent !important;
  transform: none !important;
}

html body :is(.artbin-about-menu .artbin-about-mega__arrow,
  .artbin-blog-menu .artbin-blog-mega__arrow,
  .artbin-properties-menu .artbin-properties-mega__arrow) {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  color: #d99e08 !important;
  font-size: 17px !important;
}

html body :is(.artbin-about-menu .artbin-about-mega__item,
  .artbin-blog-menu .artbin-blog-mega__item,
  .artbin-properties-menu .artbin-properties-mega__item):is(:hover, :focus-visible) {
  color: var(--artbin-concierge-ink) !important;
  background: #fff9e9 !important;
  box-shadow: inset 0 0 0 1px rgba(247, 183, 24, .92) !important;
  outline: 0 !important;
  transform: none !important;
}

html body :is(.artbin-about-menu .artbin-about-mega__item,
  .artbin-blog-menu .artbin-blog-mega__item,
  .artbin-properties-menu .artbin-properties-mega__item):is(:hover, :focus-visible)
  :is(.artbin-about-mega__label, .artbin-blog-mega__label, .artbin-properties-mega__label,
      .artbin-about-mega__icon, .artbin-blog-mega__icon, .artbin-properties-mega__icon,
      .artbin-about-mega__arrow, .artbin-blog-mega__arrow, .artbin-properties-mega__arrow) {
  color: var(--artbin-concierge-ink) !important;
  transform: none !important;
}

html body .artbin-properties-menu .artbin-properties-mega__all {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: 8px 0 0 !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  color: #bd8600 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: 1px solid rgba(247, 183, 24, .85) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .16s ease, color .16s ease !important;
}

html body .artbin-properties-menu .artbin-properties-mega__all:is(:hover, :focus-visible) {
  color: var(--artbin-concierge-ink) !important;
  background: #ffd34f !important;
  outline: 0 !important;
  transform: none !important;
}

html body .artbin-properties-menu .artbin-properties-mega__all .artbin-properties-mega__arrow {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
  font-size: 17px !important;
}

@media (min-width: 1400px) {
  html body :is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
    > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    position: absolute !important;
    top: calc(100% + 14px) !important;
    right: auto !important;
    left: 50% !important;
    z-index: 100050 !important;
    display: none !important;
    width: min(360px, calc(100vw - 32px)) !important;
    min-width: min(360px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
  }

  html body :is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu).artbin-submenu-open
    > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    display: block !important;
  }
}

/* Fixed arrow rail ---------------------------------------------------------
 *
 * Every generated submenu row must occupy the width of its shared list.
 * A legacy desktop cascade changed each row to `max-content`, which made the
 * arrow position depend on the label length (especially visible in Spanish
 * Blog). Keep the language-specific label flexible and reserve the last grid
 * column exclusively for the arrow in About Us, Properties and Blog.
 */
html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__list,
    .artbin-blog-menu .artbin-blog-mega__list,
    .artbin-properties-menu .artbin-properties-mega__list) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__item,
    .artbin-blog-menu .artbin-blog-mega__item,
    .artbin-properties-menu .artbin-properties-mega__item,
    .artbin-properties-menu .artbin-properties-mega__nested-item) {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 20px !important;
  grid-template-rows: minmax(0, auto) !important;
  align-items: center !important;
  column-gap: 12px !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__label,
    .artbin-blog-menu .artbin-blog-mega__label,
    .artbin-properties-menu .artbin-properties-mega__label) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__arrow,
    .artbin-blog-menu .artbin-blog-mega__arrow,
    .artbin-properties-menu .artbin-properties-mega__arrow) {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  width: 20px !important;
  min-width: 20px !important;
  margin: 0 !important;
}

@media (max-width: 1399.98px) {
  html body .elementor-widget-nav-menu > .elementor-nav-menu--dropdown.elementor-nav-menu__container
    > .elementor-nav-menu > li:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu).artbin-mobile-submenu-open
    > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body .elementor-widget-nav-menu > .elementor-nav-menu--dropdown.elementor-nav-menu__container
    > .elementor-nav-menu > li:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu).artbin-mobile-submenu-open
    :is(.artbin-about-mega, .artbin-blog-mega, .artbin-properties-mega) {
    margin: 4px 0 8px !important;
    border-radius: 10px !important;
  }

  html body .elementor-widget-nav-menu > .elementor-nav-menu--dropdown.elementor-nav-menu__container
    > .elementor-nav-menu > li:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu).artbin-mobile-submenu-open
    :is(.artbin-about-mega__item, .artbin-blog-mega__item, .artbin-properties-mega__item) {
    min-height: 58px !important;
    padding: 10px 9px !important;
  }

  html body .elementor-widget-nav-menu > .elementor-nav-menu--dropdown.elementor-nav-menu__container
    > .elementor-nav-menu > li:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu).artbin-mobile-submenu-open
    :is(.artbin-about-mega__label, .artbin-blog-mega__label, .artbin-properties-mega__label) {
    color: var(--artbin-concierge-ink) !important;
    font-size: 13px !important;
  }
}

/* Final cascade: these rules intentionally sit after every legacy menu skin.
 * A content-sized panel follows the longest localized label and the two-pixel
 * bridge keeps the trigger and panel in one continuous interaction zone. */
@media (min-width: 1400px) {
  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  nav.elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    position: absolute !important;
    top: calc(100% + 2px) !important;
    left: 50% !important;
    right: auto !important;
    z-index: 100250 !important;
    display: none !important;
    inline-size: max-content !important;
    width: max-content !important;
    min-inline-size: max-content !important;
    min-width: max-content !important;
    max-inline-size: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-50%) !important;
    transition: none !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  nav.elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu).artbin-submenu-open
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  nav.elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) > li:is(.artbin-about-mega-wrapper, .artbin-blog-mega-wrapper, .artbin-properties-mega-wrapper),
  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega, .artbin-blog-menu .artbin-blog-mega, .artbin-properties-menu .artbin-properties-mega) {
    inline-size: max-content !important;
    width: max-content !important;
    min-inline-size: max-content !important;
    min-width: 0 !important;
    max-inline-size: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow: visible !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__item, .artbin-blog-menu .artbin-blog-mega__item, .artbin-properties-menu .artbin-properties-mega__item) {
    grid-template-columns: 34px minmax(0, 1fr) 20px !important;
    inline-size: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    white-space: normal !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__label, .artbin-blog-menu .artbin-blog-mega__label, .artbin-properties-menu .artbin-properties-mega__label) {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
}

/* Final right-arrow rail. This intentionally follows the desktop
 * content-sized sizing rules above: each row fills its shared menu list,
 * while the arrow always occupies grid column 3. */
html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__list,
    .artbin-blog-menu .artbin-blog-mega__list,
    .artbin-properties-menu .artbin-properties-mega__list) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__item,
    .artbin-blog-menu .artbin-blog-mega__item,
    .artbin-properties-menu .artbin-properties-mega__item,
    .artbin-properties-menu .artbin-properties-mega__nested-item) {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 20px !important;
  grid-template-rows: minmax(0, auto) !important;
  align-items: center !important;
  column-gap: 12px !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__label,
    .artbin-blog-menu .artbin-blog-mega__label,
    .artbin-properties-menu .artbin-properties-mega__label) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
:is(.artbin-about-menu .artbin-about-mega__arrow,
    .artbin-blog-menu .artbin-blog-mega__arrow,
    .artbin-properties-menu .artbin-properties-mega__arrow) {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  width: 20px !important;
  min-width: 20px !important;
  margin: 0 !important;
}

/* Stable, content-sized desktop flyouts -------------------------------------------------
 *
 * The legacy About, Properties and Blog skins each supplied a different
 * absolute position, width and top margin.  At some viewport widths that
 * produced a physical gap between the trigger and the panel, so leaving the
 * first-level row could make the second level disappear before it was
 * reachable.  Keep one geometry for all three cards instead:
 * - a two-pixel bridge between trigger and card;
 * - width defined by the longest menu label, never a fixed 336/632px box;
 * - no clipping or hover-only visibility state.
 */
@media (min-width: 1400px) {
  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  nav.elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    position: absolute !important;
    top: calc(100% + 2px) !important;
    right: auto !important;
    left: 50% !important;
    z-index: 100250 !important;
    display: none !important;
    inline-size: max-content !important;
    min-inline-size: max-content !important;
    max-inline-size: calc(100vw - 32px) !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-50%) !important;
    transition: none !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  nav.elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu).artbin-submenu-open
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  nav.elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) > li:is(.artbin-about-mega-wrapper, .artbin-blog-mega-wrapper, .artbin-properties-mega-wrapper) {
    display: block !important;
    inline-size: max-content !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega, .artbin-blog-menu .artbin-blog-mega, .artbin-properties-menu .artbin-properties-mega) {
    inline-size: max-content !important;
    min-inline-size: max-content !important;
    max-inline-size: calc(100vw - 32px) !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 32px) !important;
    overflow: visible !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__item, .artbin-blog-menu .artbin-blog-mega__item, .artbin-properties-menu .artbin-properties-mega__item) {
    grid-template-columns: 34px minmax(0, 1fr) 20px !important;
    width: 100% !important;
    min-width: 100% !important;
    white-space: normal !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__label, .artbin-blog-menu .artbin-blog-mega__label, .artbin-properties-menu .artbin-properties-mega__label) {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  /* Keep the Blog hover language for the whole family: a gold icon tile,
   * readable dark text and a subtle rightward arrow, without moving the row. */
  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__item, .artbin-blog-menu .artbin-blog-mega__item, .artbin-properties-menu .artbin-properties-mega__item):is(:hover, :focus-visible) {
    background: #fffaf0 !important;
    border-color: #f4b51b !important;
    box-shadow: inset 0 0 0 1px rgba(244, 181, 27, .24), 0 7px 15px rgba(199, 145, 12, .11) !important;
    transform: none !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__item, .artbin-blog-menu .artbin-blog-mega__item, .artbin-properties-menu .artbin-properties-mega__item):is(:hover, :focus-visible)
  :is(.artbin-about-mega__icon, .artbin-blog-mega__icon, .artbin-properties-mega__icon) {
    border-radius: 9px !important;
    background: #f4b51b !important;
    color: #10233a !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__item, .artbin-blog-menu .artbin-blog-mega__item, .artbin-properties-menu .artbin-properties-mega__item):is(:hover, :focus-visible)
  :is(.artbin-about-mega__arrow, .artbin-blog-mega__arrow, .artbin-properties-mega__arrow) {
    transform: translateX(3px) !important;
  }
}

/* Properties had an older, deliberately dark mega-menu skin with selectors
 * rooted at the Elementor header. Keep this final override equally scoped so
 * the same light concierge component wins at every breakpoint. */
html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
.artbin-properties-menu .artbin-properties-mega {
  padding: 10px !important;
  border: 1px solid rgba(247, 183, 24, .72) !important;
  border-radius: 12px !important;
  background: var(--artbin-concierge-paper) !important;
  color: var(--artbin-concierge-ink) !important;
  box-shadow: var(--artbin-concierge-shadow) !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
.artbin-properties-menu .artbin-properties-mega__item {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 18px !important;
  align-items: center !important;
  column-gap: 12px !important;
  min-height: 64px !important;
  padding: 12px 10px !important;
  color: var(--artbin-concierge-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--artbin-concierge-line) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transform: none !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
.artbin-properties-menu .artbin-properties-mega__item:last-child {
  border-bottom-color: transparent !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
.artbin-properties-menu .artbin-properties-mega__item .artbin-properties-mega__label {
  color: var(--artbin-concierge-ink) !important;
  -webkit-text-fill-color: var(--artbin-concierge-ink) !important;
  font-family: "Wix Madefor Display", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
.artbin-properties-menu .artbin-properties-mega__item .artbin-properties-mega__icon {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  color: var(--artbin-concierge-ink) !important;
  font-size: 25px !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
.artbin-properties-menu .artbin-properties-mega__item .artbin-properties-mega__arrow {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  color: #d99e08 !important;
  font-size: 17px !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
.artbin-properties-menu .artbin-properties-mega .artbin-properties-mega__item:is(:hover, :focus-visible) {
  color: var(--artbin-concierge-ink) !important;
  background: #fff9e9 !important;
  border-color: rgba(247, 183, 24, .92) !important;
  box-shadow: inset 0 0 0 1px rgba(247, 183, 24, .92) !important;
  transform: none !important;
}

html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
.artbin-properties-menu .artbin-properties-mega__all {
  min-height: 50px !important;
  margin: 8px 0 0 !important;
  padding: 10px 12px !important;
  color: #bd8600 !important;
  background: transparent !important;
  border: 1px solid rgba(247, 183, 24, .85) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 1399.98px) {
  html body:not(#artbin-mobile-header-v1-lock)
  :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  .elementor-widget-nav-menu > .elementor-nav-menu--dropdown.elementor-nav-menu__container > .elementor-nav-menu > li.artbin-properties-menu.artbin-mobile-submenu-open
  .artbin-properties-mega {
    background: var(--artbin-concierge-paper) !important;
    color: var(--artbin-concierge-ink) !important;
  }

  html body:not(#artbin-mobile-header-v1-lock)
  :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  .elementor-widget-nav-menu > .elementor-nav-menu--dropdown.elementor-nav-menu__container > .elementor-nav-menu > li.artbin-properties-menu.artbin-mobile-submenu-open
  .artbin-properties-mega .artbin-properties-mega__all {
    color: #bd8600 !important;
    -webkit-text-fill-color: #bd8600 !important;
    background: transparent !important;
    border: 1px solid rgba(247, 183, 24, .85) !important;
  }
}

/* Final cascade: these rules intentionally sit after every legacy menu skin.
 * A content-sized panel follows the longest localized label and the two-pixel
 * bridge keeps the trigger and panel in one continuous interaction zone. */
@media (min-width: 1400px) {
  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  .elementor-nav-menu--main .elementor-nav-menu > li:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    position: absolute !important;
    top: calc(100% + 2px) !important;
    left: 50% !important;
    right: auto !important;
    z-index: 100250 !important;
    display: none !important;
    inline-size: max-content !important;
    width: max-content !important;
    min-inline-size: max-content !important;
    min-width: max-content !important;
    max-inline-size: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-50%) !important;
    transition: none !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  .elementor-nav-menu--main .elementor-nav-menu > li:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu).artbin-submenu-open
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  .elementor-nav-menu--main .elementor-nav-menu > li:is(.artbin-about-menu, .artbin-blog-menu, .artbin-properties-menu)
  > :is(ul.sub-menu, .elementor-nav-menu--dropdown) > li:is(.artbin-about-mega-wrapper, .artbin-blog-mega-wrapper, .artbin-properties-mega-wrapper),
  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega, .artbin-blog-menu .artbin-blog-mega, .artbin-properties-menu .artbin-properties-mega) {
    inline-size: max-content !important;
    width: max-content !important;
    min-inline-size: max-content !important;
    min-width: 0 !important;
    max-inline-size: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow: visible !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__item, .artbin-blog-menu .artbin-blog-mega__item, .artbin-properties-menu .artbin-properties-mega__item) {
    grid-template-columns: 34px minmax(0, 1fr) 20px !important;
    inline-size: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    white-space: normal !important;
  }

  html body :is(#header-hz-elementor, .elementor-location-header, header[data-elementor-type="header"], header[data-elementor-type="wp-post"])
  :is(.artbin-about-menu .artbin-about-mega__label, .artbin-blog-menu .artbin-blog-mega__label, .artbin-properties-menu .artbin-properties-mega__label) {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
}
