/* NOMIBIT - site-wide refinements */

/* Logo sizing: keep consistent across pages */
.elementor .elementor-widget-image a img[src*="assets/images/logo.svg"],
.elementor .elementor-widget-image img[src*="assets/images/logo.svg"] {
  width: 112px !important;
  height: auto !important;
  max-height: 48px !important; /* keep header compact */
  margin: 0 !important;
}

/* ----------------------------
   Page-specific fixes (Invest)
   ---------------------------- */
/* Display investment plan columns in a clean, responsive grid: 3 per row on desktop, 2 on tablet, 1 on mobile */
body.elementor-page-6040 .elementor-element-b53955f > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
/* Remove stray icon-list widgets that Elementor exported at container level */
body.elementor-page-6040 .elementor-element-b53955f > .elementor-container > .elementor-widget.elementor-widget-icon-list {
  display: none !important;
}
/* Allow columns to auto size inside grid instead of Elementor's fixed widths */
body.elementor-page-6040 .elementor-element-b53955f .elementor-top-column {
  width: auto !important;
  margin: 0 !important;
}
@media (max-width: 1024px) {
  body.elementor-page-6040 .elementor-element-b53955f > .elementor-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}
@media (max-width: 767px) {
  body.elementor-page-6040 .elementor-element-b53955f > .elementor-container {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ----------------------------
   Page-specific logo sizing
   ---------------------------- */
/* Services page */
body.elementor-page-6024 header .elementor-widget-image a img[src*="assets/images/logo.svg"],
body.elementor-page-6024 header .elementor-widget-image img[src*="assets/images/logo.svg"] {
  width: 112px !important;
  max-height: 48px !important;
  height: auto !important;
}
/* Strengthen rule to catch any header image widget on Services */
body.elementor-page-6024 header .elementor-widget-image img {
  width: 112px !important;
  max-height: 48px !important;
  height: auto !important;
}
/* Real Estate page */
body.elementor-page-6030 header .elementor-widget-image a img[src*="assets/images/logo.svg"],
body.elementor-page-6030 header .elementor-widget-image img[src*="assets/images/logo.svg"] {
  width: 112px !important;
  max-height: 48px !important;
  height: auto !important;
}
/* Strengthen rule to catch any header image widget on Real Estate */
body.elementor-page-6030 header .elementor-widget-image img {
  width: 112px !important;
  max-height: 48px !important;
  height: auto !important;
}

/* Header: ensure site logo aligns to the left (Elementor defaults center) */
header .elementor-widget-image { text-align: left !important; display: flex !important; align-items: center !important; }

/* Legacy PNG logo fallback sizing (still present in some footers/mobile blocks) */
.elementor img[src*="Screenshot_2023-08-27_083920-removebg-preview"] {
  width: 112px !important;
  height: auto !important;
  max-height: 48px !important;
}

/* ----------------------------
   Home page top bar flags (GTranslate)
   ---------------------------- */
/* Make the popup switcher show as a compact flag icon on the orange top bar */
/* Make flags visible on the orange top bar across the site */
.elementor-element-209995b .gtranslate_wrapper { 
  display: inline-flex !important; 
  align-items: center; 
}
.elementor-element-209995b .gtranslate_wrapper a.glink { 
  color: #fff !important; 
  display: inline-flex; 
  align-items: center; 
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 6px 0 0 !important;
  border-radius: 0 !important;
}
/* Show flag icon small; hide language text label for a clean header */
.elementor-element-209995b .gtranslate_wrapper a.glink img { 
  height: 18px !important; 
  width: 18px !important; 
}
.elementor-element-209995b .gtranslate_wrapper a.glink img:not([src]) { display: none !important; }
.elementor-element-209995b .gtranslate_wrapper a.glink span { 
  display: inline-block !important; 
  color: #fff !important; 
  font-size: 12px; 
  margin-left: 6px; 
}
/* Fallback: when plugin outputs auto.svg (no flag), hide the img and show label */
.elementor-element-209995b .gtranslate_wrapper a.glink img[src*="/auto."] { display: none !important; }
.elementor-element-209995b .gtranslate_wrapper a.glink img[src*="/auto."] + span { display: inline !important; color: #fff !important; font-size: 12px; }

/* Mobile top bar (orange) also shows flags compactly */
.elementor-element-d49d253 .gtranslate_wrapper {
  display: inline-flex !important;
  align-items: center;
}
.elementor-element-d49d253 .gtranslate_wrapper a.glink {
  color: inherit !important;
  display: inline-flex;
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 6px 0 0 !important;
  border-radius: 0 !important;
}
.elementor-element-d49d253 .gtranslate_wrapper a.glink img {
  height: 18px !important;
  width: 18px !important;
}
.elementor-element-d49d253 .gtranslate_wrapper a.glink img:not([src]) { display: none !important; }
.elementor-element-d49d253 .gtranslate_wrapper a.glink span { 
  display: inline-block !important; 
  font-size: 12px; 
  margin-left: 6px; 
}
/* Mobile fallback for auto.svg */
.elementor-element-d49d253 .gtranslate_wrapper a.glink img[src*="/auto."] { display: none !important; }
.elementor-element-d49d253 .gtranslate_wrapper a.glink img[src*="/auto."] + span { display: inline !important; }
@media (max-width: 767px) {
  .elementor img[src*="Screenshot_2023-08-27_083920-removebg-preview"] {
    width: 88px !important;
    max-height: 36px !important;
  }
}

/* Page-specific fix: Invest page has a duplicated desktop header section from Elementor */
body.elementor-page-6040 header .elementor-top-section.elementor-element-ba30254.elementor-hidden-mobile + .elementor-top-section.elementor-element-ba30254.elementor-hidden-mobile {
  display: none !important;
}

/* Also hide the older colored header section explicitly by its Elementor ID (209995b) */
body.elementor-page-6040 .elementor-element-209995b { display: none !important; }

/* Slight header compaction on small screens */
@media (max-width: 767px) {
  header .elementor-section.elementor-section-height-default {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* Mobile adjustments */
  .elementor .elementor-widget-image a img[src*="assets/images/logo.svg"],
  .elementor .elementor-widget-image img[src*="assets/images/logo.svg"] {
    width: 88px !important;
    max-height: 36px !important;
  }

  /* Tighten header vertical spacing on phones */
  header, .site-header, .elementor-section.elementor-section-height-default {
    --mobile-header-padding: 10px;
  }
}

/* Buttons polish – consistent radius and elevation (lightweight) */
.elementor .elementor-button,
.ast-button,
button[type="submit"],
.wpforms-submit {
  border-radius: 10px;
  box-shadow: 0 6px 14px rgba(232,62,140,0.16);
}
.elementor .elementor-button:hover,
.ast-button:hover,
button[type="submit"]:hover,
.wpforms-submit:hover {
  box-shadow: 0 10px 20px rgba(232,62,140,0.22);
}

/* Images are fluid */
.elementor img { max-width: 100%; height: auto; }

/* Layout safety: avoid horizontal scroll and oversized boxed sections */
html, body {
  width: 100%;
  overflow-x: hidden;
}

/* Keep boxed containers within viewport with gentle gutters */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: min(1200px, 100%) !important;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .elementor-section.elementor-section-boxed > .elementor-container {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* ----------------------------
   Page-specific fixes (Home)
   ---------------------------- */

/* 1) Large blank space below pricing: hide the inactive calculator widget section.
   On this static build, the Cost Calculator Builder markup reserves a large height
   even when its scripts aren't active. Hiding the section removes the gap. */
.elementor-section.elementor-element-d9b5196 {
  display: none !important;
}

/* 2) Ensure the hero boardroom image shows on mobile and scales properly */
@media (max-width: 767px) {
  /* Widget ID that renders the boardroom image */
  .elementor-element-acb0ab3,
  .elementor-element-acb0ab3 .elementor-widget-container,
  .elementor-element-acb0ab3 img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .elementor-element-acb0ab3 img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
}

/* Enforce Elementor visibility on desktop: hide mobile-only blocks */
@media (min-width: 1025px) {
  .elementor-hidden-desktop { display: none !important; }
}

/* ----------------------------
   Page-specific fixes (About)
   ---------------------------- */
/* The About page header markup differs slightly (missing left column wrapper).
   Normalize it to a single-row, three-column layout like Home. */
body.elementor-page-6022 .elementor-element-ba30254 > .elementor-container {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
}
/* Treat the orphan widget-wrap (first child) like a column */
body.elementor-page-6022 .elementor-element-ba30254 > .elementor-container > .elementor-widget-wrap {
  display: contents !important;
}
/* Alignment: logo left, menu center, CTA right */
/* Explicit placement: logo widget, menu column, CTA column */
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-3d8122f { grid-column: 1; justify-self: start; }
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-0635e58 { grid-column: 2; justify-self: center; }
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-323c19d { grid-column: 3; justify-self: end; }

/* Stronger About header alignment using flex (overrides grid if present) */
body.elementor-page-6022 .elementor-element-ba30254 > .elementor-container {
  display: flex !important;
  align-items: center;
  gap: 16px;
}
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-3d8122f { order: 1; flex: 0 0 auto; }
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-0635e58 { order: 2; flex: 1 1 auto; display: flex; justify-content: center; }
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-323c19d { order: 3; flex: 0 0 auto; margin-left: auto; }

/* Prevent CTA from overlapping click area of the menu */
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-de1f0dc { position: relative; z-index: 2; }
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-323c19d { position: relative; z-index: 1; }

/* Refine spacing so CTA sits vertically centered and not too close to edge */
body.elementor-page-6022 .elementor-element-57f8eb7 .elementor-button { margin: 0 !important; }
body.elementor-page-6022 .elementor-element-ba30254 { padding-top: 8px; padding-bottom: 8px; }
body.elementor-page-6022 .elementor-element-ba30254 > .elementor-container { padding-left: 16px; padding-right: 16px; }

/* On mobile/tablet, use the dedicated mobile header */
@media (max-width: 1024px) {
  body.elementor-page-6022 .elementor-element-ba30254 { display: none !important; }
  /* Ensure mobile hamburger and flyout are on top and clickable */
  body.elementor-page-6022 .hfe-nav-menu__toggle { position: relative; z-index: 1002; }
  body.elementor-page-6022 .hfe-flyout-wrapper,
  body.elementor-page-6022 .hfe-flyout-container,
  body.elementor-page-6022 .hfe-flyout-overlay { z-index: 1001 !important; }
}

/* Final alignment polish: remove stray margins/padding so baseline is flat */
body.elementor-page-6022 .elementor-element-ba30254 .elementor-column,
body.elementor-page-6022 .elementor-element-ba30254 .elementor-widget-wrap,
body.elementor-page-6022 .elementor-element-ba30254 .elementor-widget,
body.elementor-page-6022 .elementor-element-ba30254 .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
body.elementor-page-6022 .elementor-element-ba30254 .eael-simple-menu-container { margin: 0 !important; }
body.elementor-page-6022 .elementor-element-ba30254 { min-height: 72px; display: block; }
body.elementor-page-6022 .elementor-element-ba30254 .elementor-widget-image img { display: block !important; }
body.elementor-page-6022 .elementor-element-ba30254 .elementor-widget-wrap { display: flex !important; align-items: center !important; }
body.elementor-page-6022 .elementor-element-ba30254 .elementor-column { display: flex !important; align-items: center !important; }

/* Kill inline-gap under images and vertically center logo container */
header .elementor-widget-image { line-height: 0 !important; }
body.elementor-page-6022 .elementor-element-3d8122f,
body.elementor-page-6022 .elementor-element-3d8122f .elementor-widget-container,
body.elementor-page-6022 .elementor-element-3d8122f a {
  display: flex !important;
  align-items: center !important;
}

/* Ensure menu container itself is vertically centered */
body.elementor-page-6022 .eael-simple-menu-container { display: flex !important; align-items: center !important; }
body.elementor-page-6022 ul.eael-simple-menu { margin: 0 !important; }
body.elementor-page-6022 ul.eael-simple-menu { padding: 0 !important; display: flex !important; align-items: center !important; height: 40px !important; }
body.elementor-page-6022 ul.eael-simple-menu > li { display: flex !important; align-items: center !important; }
body.elementor-page-6022 .elementor-element-0635e58 .elementor-widget-wrap,
body.elementor-page-6022 .elementor-element-323c19d .elementor-widget-wrap { display: flex !important; align-items: center !important; }

/* Ensure all three header blocks share the same vertical center */
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-3d8122f,
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-0635e58,
body.elementor-page-6022 .elementor-element-ba30254 .elementor-element-323c19d { align-self: center !important; }

/* Normalize control heights so baseline is flat */
body.elementor-page-6022 .eael-simple-menu-container .menu-link { padding-top: 0 !important; padding-bottom: 0 !important; line-height: 40px !important; display: flex; align-items: center; }
body.elementor-page-6022 .eael-simple-menu-container { min-height: 40px; }
body.elementor-page-6022 .elementor-element-57f8eb7 .elementor-button { display: inline-flex; align-items: center; height: 40px; padding: 6px 14px !important; }
body.elementor-page-6022 .elementor-element-3d8122f img { height: 40px !important; width: auto !important; }
body.elementor-page-6022 .elementor-element-57f8eb7 .elementor-widget-container,
body.elementor-page-6022 .elementor-element-57f8eb7 .elementor-button-wrapper { display: flex !important; align-items: center !important; height: 40px !important; }
body.elementor-page-6022 .elementor-element-3d8122f .elementor-widget-container { height: 40px !important; }

/* Fix header row height explicitly to eliminate residual vertical space */
/* Prefer min-height only; let content define exact height */
body.elementor-page-6022 .elementor-element-ba30254,
body.elementor-page-6022 .elementor-element-ba30254 > .elementor-container { min-height: 56px !important; height: auto !important; }

/* Reduce vertical padding so there is no extra space under the logo */
body.elementor-page-6022 .elementor-element-ba30254 { padding-top: 4px !important; padding-bottom: 4px !important; }

/* -----------------------------------------
   SAlert popup styles (moved from head)
   ----------------------------------------- */
#salertWrapper .popup_position { width: 198px; }
#salertWrapper .popup_position .salert-content-wrap { color: #ffffff; font-size: 13px; text-transform: capitalize; }
#salertWrapper .popup_position img { float: none; }
#salertWrapper .popup-item { padding: 8px; }
@media (max-width: 767px) { #salertWrapper { display: block !important; } }
#salertWrapper .popup_template { -webkit-box-shadow: 3px 5px 10px 1px rgba(0,0,0,0.38); box-shadow: 3px 5px 10px 1px rgba(0,0,0,0.38); }

/* -----------------------------------------
   Mobile-only visibility adjustments
   ----------------------------------------- */
/* Hide the boardroom image shown alongside "Explore Lucrative Ventures" on phones */
@media (max-width: 767px) {
  /* This widget renders the image column in the Explore section */
  /* Hide the entire left column too, so layout collapses naturally */
  .elementor-section .elementor-element-f2a2355,
  .elementor-section .elementor-element-acb0ab3,
  .elementor-section .elementor-element-acb0ab3 .elementor-widget-container,
  .elementor-section .elementor-element-acb0ab3 img {
    display: none !important;
    visibility: hidden !important;
  }

  /* Remove Google GTranslate UI on mobile */
  .gtranslate_wrapper,
  .gt_switcher_wrapper {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}

/* ----------------------------
   Page-specific fixes (Support/Contact page id=6049)
   ---------------------------- */
/* Improve mobile header/menu stacking and hero spacing */
@media (max-width: 1024px) {
  /* Ensure the mobile hamburger is clickable and on top */
  body.elementor-page-6049 .hfe-nav-menu__toggle { position: relative; z-index: 1002; }
  body.elementor-page-6049 .hfe-flyout-wrapper,
  body.elementor-page-6049 .hfe-flyout-container,
  body.elementor-page-6049 .hfe-flyout-overlay { z-index: 1001 !important; }
}

/* Hide duplicate desktop header only on mobile/tablet, keep it on desktop */
@media (max-width: 1024px) {
  body.elementor-page-6049 .elementor-element-ba30254 { display: none !important; }
}
@media (min-width: 1025px) {
  body.elementor-page-6049 .elementor-element-ba30254 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #ffffff !important;
    position: sticky; /* honor Elementor sticky intent */
    top: 0;
    z-index: 1000;
  }
  body.elementor-page-6049 .elementor-element-ba30254 > .elementor-container {
    align-items: center !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

/* Tidy the hero (Contact Us heading) so it doesn't create huge blank space */
body.elementor-page-6049 .elementor-element-f6be750 { min-height: auto !important; }
body.elementor-page-6049 .elementor-element-f6be750 > .elementor-container { padding-top: 24px !important; padding-bottom: 24px !important; }
/* Ensure background behaves nicely if an image is applied */
body.elementor-page-6049 .elementor-element-f6be750 {
  background-position: center center !important;
  background-size: cover !important;
}
/* Add a subtle dark overlay to increase text contrast */
body.elementor-page-6049 .elementor-element-f6be750 > .elementor-background-overlay {
  background-color: #000 !important;
  opacity: 0.25 !important;
}

/* Make the three contact info cards stack nicely on mobile with spacing */
@media (max-width: 767px) {
  body.elementor-page-6049 .elementor-element-bf98a42 > .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body.elementor-page-6049 .elementor-element-bf98a42 .elementor-inner-column,
  body.elementor-page-6049 .elementor-element-bf98a42 .elementor-widget-wrap,
  body.elementor-page-6049 .elementor-element-bf98a42 .elementor-widget {
    width: 100% !important;
    margin: 0 !important;
  }
  /* Slightly reduce icon box padding for compact look */
  body.elementor-page-6049 .elementor-widget-icon-box .elementor-widget-container { padding: 12px !important; }
  /* Normalize icon sizes and type across tiles */
  body.elementor-page-6049 .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon {
    font-size: 22px !important;
    line-height: 1 !important;
  }
  body.elementor-page-6049 .elementor-widget-icon-box .elementor-icon-box-title { font-size: 16px !important; font-weight: 700 !important; }
  body.elementor-page-6049 .elementor-widget-icon-box .elementor-icon-box-description { font-size: 14px !important; }
}

/* Reduce header padding on this page for smaller devices */
@media (max-width: 767px) {
  /* Mobile header section on this page */
  body.elementor-page-6049 .elementor-element-d49d253 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: auto !important;
  }
  /* Ensure header container is tight and centered */
  body.elementor-page-6049 .elementor-element-d49d253 > .elementor-container {
    align-items: center !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  /* Normalize column/widget alignment to reduce height */
  body.elementor-page-6049 .elementor-element-d49d253 .elementor-top-column,
  body.elementor-page-6049 .elementor-element-d49d253 .elementor-widget-wrap,
  body.elementor-page-6049 .elementor-element-d49d253 .elementor-widget {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* Shrink CTA button */
  body.elementor-page-6049 .elementor-element-d49d253 .elementor-button {
    line-height: 1.2 !important;
    padding: 5px 8px !important;
    font-size: 11px !important;
    border-radius: 8px !important;
  }
  /* Cap logo size within this header */
  body.elementor-page-6049 .elementor-element-d49d253 img { max-height: 30px !important; width: auto !important; }
  /* Remove stray margins on icon list/phone row */
  body.elementor-page-6049 .elementor-element-d49d253 .elementor-widget-icon-list { margin: 0 !important; }
  /* Hide the orange top bar section entirely on phones to reduce header stack */
  body.elementor-page-6049 .elementor-element-209995b { display: none !important; }
  /* Also tighten any default header sections that may render */
  body.elementor-page-6049 header .elementor-section.elementor-section-height-default { padding-top: 8px !important; padding-bottom: 8px !important; }
}
