/* Force override Swiper's default pagination positioning */
.swiper-pagination,
.swiper-pagination-bullets,
.swiper-pagination.swiper-pagination-horizontal,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    position: relative !important;     /* or absolute if it's inside */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    transform: none !important;
    bottom: auto !important;           /* reset any bottom positioning if needed */
}




/* ================================================
   JM CONCRETE — UPDATED HEADER CSS
   Mapped to live client HTML classes
   Old widget: cf53104 → New: 5a9da982
   Old row:    7b730d8 → New: 7214a05a
   Old logo:   2b002be → New: 806ba4c
   Old section:8242500 → New: 3b671755
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&display=swap');

html, body { overflow-x: hidden !important; }

/* ================================================
   STICKY HEADER
   ================================================ */
.elementor-element-3b671755 {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  transition: box-shadow 0.4s ease !important;
  background: #000000 !important;
}
.elementor-element-3b671755.scrolled {
  box-shadow: 0 2px 30px rgba(0,0,0,0.7) !important;
}

/* ================================================
   INNER ROW — logo + nav + button
   ================================================ */
.elementor-element-7214a05a {
  min-height: 82px !important;
  padding: 0 48px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
}

/* ================================================
   LOGO
   ================================================ */
.elementor-element-806ba4c img {
  height: 50px !important;
  width: auto !important;
  max-width: 170px !important;
  object-fit: contain !important;
  transition: opacity 0.3s !important;
}
.elementor-element-806ba4c img:hover { opacity: 0.8 !important; }

/* ================================================
   DESKTOP NAV — 5a9da982
   ================================================ */

/* Main nav container */
.elementor-element-5a9da982 .elementor-nav-menu--main {
  background: transparent !important;
}

/* Nav items */
.elementor-element-5a9da982 .elementor-nav-menu--main .elementor-item {
  font-family: 'Roboto', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  line-height: 26px !important;
  text-transform: normal !important;
  color: rgb(255,255,255) !important;
  padding: 10px 14px !important;
  position: relative !important;
  transition: color 0.3s ease !important;
  white-space: nowrap !important;
}

/* Gold underline animation */
.elementor-element-5a9da982 .elementor-nav-menu--main .elementor-item::before {
  content: '' !important;
  position: absolute !important;
  bottom: 4px !important;
  left: 14px !important;
  right: 100% !important;
  height: 1px !important;
  background: #8D7237 !important;
  transition: right 0.5s cubic-bezier(0.76,0,0.24,1) !important;
}
.elementor-element-5a9da982 .elementor-nav-menu--main .elementor-item:hover::before,
.elementor-element-5a9da982 .elementor-nav-menu--main .elementor-item-active::before {
  right: 14px !important;
}
.elementor-element-5a9da982 .elementor-nav-menu--main .elementor-item:hover {
  color: #ffffff !important;
}

/* Elementor default pointer off */
.elementor-element-5a9da982.e--pointer-none .elementor-item::after { display: none !important; }

/* Desktop dropdown */
.elementor-element-5a9da982 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown {
  background: #111111 !important;
  border-top: 2px solid #8D7237 !important;
  border-radius: 0 !important;
  box-shadow: 0 15px 40px rgba(0,0,0,0.5) !important;
  min-width: 210px !important;
  padding: 8px 0 !important;
}
.elementor-element-5a9da982 .elementor-nav-menu--main .sub-menu .elementor-sub-item {
  font-family: 'Roboto', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  color: rgb(255,255,255) !important;
  padding: 9px 18px !important;
  transition: color 0.25s, padding-left 0.25s, background 0.25s !important;
}
.elementor-element-5a9da982 .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover {
  color: #8D7237 !important;
  padding-left: 26px !important;
  background: rgba(141,114,55,0.07) !important;
}

/* ================================================
   HAMBURGER BUTTON
   ================================================ */
.elementor-element-5a9da982 .elementor-menu-toggle {
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.3) !important;
  border-radius: 3px !important;
  width: 40px !important;
  height: 36px !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: border-color 0.3s !important;
  flex-shrink: 0 !important;
}
.elementor-element-5a9da982 .elementor-menu-toggle:hover {
  border-color: #8D7237 !important;
}
.elementor-element-5a9da982 .elementor-menu-toggle svg {
  width: 18px !important;
  height: 18px !important;
  fill: #ffffff !important;
}



/* ================================================
   TABLET & MOBILE — max 1024px
   FULLSCREEN OVERLAY MENU
   ================================================ */
@media (max-width: 1024px) {

  /* Row padding */
  .elementor-element-7214a05a {
    padding: 0 28px !important;
    min-height: 70px !important;
  }

  /* Hamburger show */
  .elementor-element-5a9da982 .elementor-menu-toggle {
    display: flex !important;
  }

  /* MOBILE MENU FULLSCREEN OVERLAY */
  .elementor-element-5a9da982 .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    height: 100vh !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    background: #0a0a0a !important;
    z-index: 99998 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 90px 36px 60px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-shadow: none !important;
    border-top: none !important;
    margin: 0 !important;
    clip-path: inset(0 0 100% 0) !important;
    transition: clip-path 0.65s cubic-bezier(0.76,0,0.24,1) !important;
    pointer-events: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* OPEN state */
  .elementor-element-5a9da982 .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] {
    clip-path: inset(0 0 0% 0) !important;
    pointer-events: all !important;
  }

  /* Body scroll lock */
  body.jmc-menu-open {
    overflow: hidden !important;
    height: 100% !important;
  }

  /* Close button fixed position */
  .elementor-element-5a9da982 .elementor-menu-toggle[aria-expanded="true"] {
    position: fixed !important;
    top: 17px !important;
    right: 28px !important;
    z-index: 99999 !important;
    border-color: rgba(255,255,255,0.15) !important;
  }

  /* Mobile nav list */
  .elementor-element-5a9da982 .elementor-nav-menu--dropdown .elementor-nav-menu {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  /* Remove gold border top on mobile dropdown */
  .elementor-element-5a9da982 .elementor-nav-menu--dropdown {
    border-top: 0px solid #8D7237 !important;
  }

  .elementor-element-5a9da982 .elementor-nav-menu--dropdown .menu-item {
    border-bottom: 0px solid rgba(255,255,255,0.07) !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .elementor-element-5a9da982 .elementor-nav-menu--dropdown .elementor-item {
    font-family: 'Roboto', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0.2em !important;
    line-height: 36px !important;
    text-transform: normal !important;
    color: rgb(255,255,255) !important;
    padding: 17px 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    background: transparent !important;
    transition: color 0.3s !important;
  }

  .elementor-element-5a9da982 .elementor-nav-menu--dropdown .elementor-item:hover {
    color: #8D7237 !important;
    background: transparent !important;
    padding-left: 0 !important;
  }

  /* Mobile submenu */
  .elementor-element-5a9da982 .elementor-nav-menu--dropdown .sub-menu {
    position: static !important;
    background: transparent !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 4px 0 8px 16px !important;
    margin: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
    min-width: unset !important;
  }

  .elementor-element-5a9da982 .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: rgb(255,255,255) !important;
    padding: 9px 8px !important;
    transition: color 0.25s, padding-left 0.25s !important;
  }
  .elementor-element-5a9da982 .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item:hover {
    color: #8D7237 !important;
    padding-left: 16px !important;
    background: transparent !important;
  }
	
.elementor-686 .elementor-element.elementor-element-7214a05a .elementor-nav-menu--dropdown {
    border-top: 0px solid #8D7237 !important;
}
}


/* ── MOBILE 767px ── */
@media (max-width: 767px) {
  .elementor-element-7214a05a {
    padding: 0 20px !important;
    min-height: 64px !important;
  }
  .elementor-element-806ba4c img {
    height: 40px !important;
  }
  .elementor-element-5a9da982 .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    padding: 80px 24px 50px !important;
  }
  .elementor-element-5a9da982 .elementor-menu-toggle[aria-expanded="true"] {
    right: 20px !important;
    top: 14px !important;
  }
	
.elementor-686 .elementor-element.elementor-element-7214a05a .elementor-nav-menu--dropdown {
    border-top: 0px solid #8D7237 !important;
}
}

body .glass-hover:hover::after {
  background: #1f212475 !important;
}
div#jp-relatedposts {
    display: none !important;
}
div.sharedaddy, #content div.sharedaddy, #main div.sharedaddy {
    clear: both;
    display: none;
}